很多同学对自然语言处理很感兴趣,却又不知从何下手。Python实用书曾经写过一篇文章(《短文本分类识别自杀倾向》),教你从搭建数据集到训练数据,再到测试数据,整个过程真的需要有耐心的人才能顺利走完。但是现在有了paddlehub,我们可以省去构建数据集和训练数据这两个步骤,直接使用模型进行分类。一旦简单版本的分类成功,您将有动力继续前进并继续学习如何训练自己的模型。今天我们利用paddlehub中比较简单的情感分析模型senta_lstm,对文本进行简单的正负分类。一、准备为了实现这个实验,Python是必不可少的。如果你还没有安装Python,推荐阅读我们的文章:超级详细的Python安装指南。然后,我们需要安装百度的paddlepaddle。进入他们的官网有详细的说明:https://www.paddlepaddle.org.cn/install/quick根据自己的情况选择这些选项。最后一个CUDA版本,由于这个实验不需要训练数据,也不需要大量的计算,所以直接选择CPU版本就可以了。选择完成后,下方会出现安装指南。不得不说,Paddlepaddle在这些方面还是挺用心的(只是名字不好听)。不过虽然里面写了这么多,但大多数人都是一句话安装,打开CMD(Win+R)或者Terminal(Command+空格搜索)输入如下命令安装:pipinstallpaddlepaddle-ihttps://mirror.baidu.com/pypi...你还需要安装paddlehub,别忘了这个:pipinstall-ihttps://mirror.baidu.com/pypi...paddlehub2。整个写代码的步骤分为三步:**1.加载模型2.指定要分类的文本3.情感分类**importpaddlehubashub#loadmodelsenta=hub.Module(name="senta_lstm")#待分类的文本test_text=["Youlooksogood","《黑色四叶草》isagoodseries"]#情感分类结果=senta.sentiment_classify(data={"text":test_text})#得到result的结果在results:print(result)将这段代码保存为code.py,(如果懒得再敲一遍,可以在后台回复?识别文字情感获取代码)进入文件夹中CMD或者Terminal,运行如下命令执行脚本:pythoncode.py,结果如下:_{'text':'Youlooksogood-looking','sentiment_label':1,'sentiment_key':'positive','positive_probs':0.9866,'negative_probs':0.0134}{'text':'《黑色四叶草》是个好粉丝','sentiment_label':1,'sentiment_key':'positive','positive_probs':0.9401,'negative_probs':0.0599}_where:1._sentiment_key_代表分类结果,positive为正,negative为负。2._sentiment_label_为分类结果标签,1代表正,0代表负。positive_probs是正分类的置信度,0.9866表示模型判断98.66%的概率为正。Negative_probs与positive_probs相反,是负分类的置信度。3.结果分析这样看,你会发现,面对明显的正负词,这个模型的分类效果还是不错的。特例前的效果如何?我们去微博随便挑一个试试,比如殷教授的笑话:分类结果:{'text':'都在网上工作学习,你什么时候网上约我?','sentiment_label':0,'sentiment_key':'negative','positive_probs':0.0507,'negative_probs':0.9493}出乎意料的正确。.虽然是玩笑话,但对方显然是抱着不和自己网恋的消极态度。再试一句有潜在意义的句子:{'text':'我什么都不想说了,我们听首歌吧。','sentiment_label':0,'sentiment_key':'negative','positive_probs':0.0321,'negative_probs':0.9679}{'text':'我忘了世界上还有另一种人,火星人,你是从酒吧来的吗?','sentiment_label':1,'sentiment_key':'positive','positive_probs':0.7261,'negative_probs':0.2739}这里第一句是对的,第二句不对。确实,第二句太隐晦了,机器不一定能分辨出来。但是,置信度不高。如果你真的需要应用这个模型,你可以通过置信度过滤掉一些分类。总的来说,这个模型的效果还是不错的。网上那么多开源的情感分类模型,百度的模型应该能打80分左右。此外,它支持你自己做一些微调,即你可以使用自定义训练集来调整模型到你需要的,详情见github:https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/sentiment_classification这是我们文章的结尾。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请在下方点赞/观看。有什么问题可以在下方留言区留言,我们会耐心解答!Python实战宝典(pythondict.com)不仅仅是一个集合。欢迎关注公众号:Python实战宝典原文来自Python实战宝典:Python识别文字情绪就是这么简单
