简单的中文情绪分析

snownlp是一个针对简体中文的包 https://github.com/isnowfy/snownlp

安装
pip install snownlp

可以考虑用它作中文情绪分析,实时检测论坛中的辱骂内容,自动折叠,甚至封禁。
(引用辱骂言论要格外小心)
每个分句情绪打分0-1,0表示极端负面,1表示极端正面情绪。

python代码
from snownlp import SnowNLP

textraw = u' 你连你妈这种弱智都比不上。u r simply brainless. '

text = SnowNLP(textraw)
sent = text.sentences
for sen in sent:
    s = SnowNLP(sen)
    print(s.sentiments)


测试1 辱骂 citadelguy1 https://pincong.rocks/article/2546,两句辱骂得分都接近0,检测成功
0.05758979804724318, 你连你妈这种弱智都比不上
0.09440545332796668, u r simply brainless.


测试2 Clickbait类标题 https://pincong.rocks/question/5458
检测比较成功

0.19999999999999996, “姨妈来了
0.15779537709692548, 多喝水”“滚
0.4737672181921908, ”(Papi酱)



测试3 粗鲁语言 https://pincong.rocks/article/2546 有一句检测出来,其余很多都误判

0.927197827472927, 这些大大小小论坛里头挺共的人啥鸡巴都不懂
0.41790744248665135, 整天除了复读几句官煤的话就是刷屏洗版
0.7803827019416919, 要让他们说点共产党制定政策和行事的逻辑
0.3907974539713116, 他们还不如我们这些反贼了解的清楚
0.9208456978650069, 要派人来踢馆就要派点懂理论有本事有耐性有纪律的精英来
0.10583924187953386, 那种挨不起两句骂就控制不住情绪对骂的垃圾我们不欢迎
0.43385383436126157, 派这种垃圾来就是看不起我们嘛
0.8530966709059733, 他们敢派这样的傻逼去见政治局常委吗
0.5707993346418163, 我们的态度也是对等的
0.547300555529161, 自干五也要参考五毛的标准
0.2027434232344748, 不然怎么对的起「五」字


测试 4 粗鲁语言

0.9411086812424297, 以中共这种全党腐败、离心离德、高层互杀的尿性
0.7979461276055869, 到时候不知高层会有多少刘连昆呢
0.7834302728770437, 刘不过是校官不是上层
0.6478398242842971, 但是大鼹鼠平时不动
0.8527849730778211, 关键时刻一下子就撼动中共国祚
0.29327006512214027, 土共知道这点
0.2217291501820553, 所以它不敢打
0.673944186023879, 一打台湾台军必然视死若归捍卫民国
0.7749290041983888, 拖48小时美军航母、日本自卫队一来
0.09305168967864463, 中共那2口铁棺材(据说一口在建)就不灵了


测试 5 一般评论 https://pincong.rocks/article/2600

0.046322328780759925, 開槍打死監戰員
0.5640844766694931, 就算死也要帶走一個




snownlp是基于词库进行判断,可见通用的语言模型放到品葱误判率较高。
测试4、5中,涉及「死」「棺材」字眼评分很负面,但实际上并不负面。
测试3粗鲁语言较多,但因为有「中共」「政治局」「挺」等字眼却将粗鲁语言评分非常正面。
测试1、2 那种一般性骂人语言检测率很高。

其他例子,五毛喜欢用的短句辱骂检测率很高,长句较差。

0.07565353203396996, 弱智你来送妈了

0.01495877994086492, 为什么汉奸狗和台巴子都觉得我们是翻墙的
0.6496504748650795, 我不能在美国

0.607471099845429, 汉奸狗精神分离症患者
0.8321239771987957, 你开心就好
0.8684210526315791, 哈哈哈
0.08378756987007996, 轮子狗死死死死死死死
0.22428735224290963, 共产党剁掉你全家的脑袋
0.1771040735759627, 锁住你全家的鬼混
0.5618564189277186, 让你全家永世不得超生
0.5262327818078083, 嘎哈哈啊哈




建议:品葱应收集辱骂和人身攻击性捣乱者的语言进行搜集,提取常用词汇,方便自动检测极端负面情绪和辱骂。不过snownlp的好处是速度快。
14
分享 2019-07-27

16 个评论

admin 公共账号
希望有人能够整合进折叠功能,会python的能做一下后端
这个提议有相关rfc吗, 提议是不是应该先放在rfc里公开讨论, 然后通过的大家再在这里讨论实现.
还有我一直没搞清楚, rfc的通过与否, 到底是怎么判定的, 大家点赞的数量? 底下发言支持的留言数量和反对数量对比? 好像没看到有具体规则.

再说说这个提议.
这个包本身是做sentiment analysis的,我做过英文的情感分析,这种主要用于分析买东西,看电影评价的好坏,比如你说' 这个电影太无聊, 难看, 讨厌了', 应该就会很negative.'太好看,有趣,高兴', 就会很positive. 这种无法用作谩骂言论的参考.
对辱骂和人身攻击当然应该严厉, 因为他们很大可能就是五毛来捣乱的策略之一.
但是对自动的言语检测, 自动折叠, 自动封禁要千万谨慎, 因为这种功能误伤一个, 都是破坏了自由讨论的环境. 可以参考reddit等论坛, 似乎也没有因为检测出敏感词所以发不出去, 自动删除的功能.

我个人的想法是如果要检测谩骂, 自动折叠等, 一定要谨慎和保守, 就别上什么机器学习, 模型训练了, 能有个最基础的辱骂关键词列表, 匹配到列表上的关键词能自动折叠, 扣分等就可以了. 而且这个关键词列表一定要公开, 一定要尽量少和必要. 其实如果论坛没有五毛来捣乱,这样的关键词列表本身就是负担, 因为有些词到底加不加入进去, 又成了众说纷纭讨论的对象.
所以我整体不是太赞成这个提议, 看大家的意见.

如果要实现这个功能, 肯定没有合适的面对中文能用的包, 甚至我连公开的中文谩骂语料库都没找到, 如果有人能找到, 可以在这里分享.

https://www.163yun.com/product/text-detection 这是网易搞的文本分析, 可以看出除了谩骂, 还加入了色情, 广告, 敏感, 涉政, 宗教, 等等, 还搞用户画像...这种功能一旦强大, 就很可能走向品葱建立初衷的反面.

对典型的五毛话术, 诸如'这样对你自己有什么好处呢, 中国要完了大家都得完蛋', 要做到自动检测等有点太困难, 可以建立一个版块来集中典型五毛言论和相应的优秀回复, 参考https://program-think.blogspot.com/2011/03/logical-fallacies.html, 应该是个前途光明同时需要大家齐心协力完成的项目. 大可不必自动检测和封禁这种, 反倒可以直接甩出链接, 避免陷入与五毛的口水战浪费时间, 因为五毛的目的就是浪费人们的精力和时间, 自己也知道没可能忽悠这里的用户.
最关键的是要首先搜集一些辱骂的言论,否则准确率太差,按照RFC-068的思路搜集辱骂型网评员数据是很不错的,构建一个词汇表很快就能将网评员的辱骂词汇搜集齐全。

在搜集样品基础上,这个方法能比较准确的检测短句辱骂,可以用于自动折叠,自动折叠的内容可以通过几个人点赞解除折叠。
这里一般不删除言论吧,只有被封禁之后7天才自动删除,自动折叠短句辱骂我觉得问题不大,本来就是为了促进深入讨论。总的来说人工+自动是比较好的方式。
我觉得RFC068应该是要收集完整五毛留言, 我也支持. 甚至可以收集推特facebook等上面五毛的典型言论, 建立五毛语料库, 前途无量.
但说到自动折叠,我觉得目前可行的就是找到中文谩骂词库, 触发其中的谩骂词汇就折叠.
如果实在没有这样的词库, 就先手动录入一些 诸如' 傻逼' '死全家' 之类的, 同时公开词库, 只要有这些词就折叠, 没有误判的可能性.
这种自动过滤程序并不是中国才有,许多美国互联网公司都自动过滤色情,暴力等言论。何况只是折叠,目的还是搜集数据。

尤其是手动标注/折叠功能开发之后,被折叠言论就可以放到样本数据库里。
品葱现在7天就删除了,不然你开个新project,记录五毛折叠言论的,每7天更新一次,根据品葱database update的时间更新,publish结果到github.io一个站怎么样?
可以
训练模型需要的并不只是五毛发言,「正常」的发言数量甚至更为重要。并且要达到足够准确度的数据量也是多多益善。
现在删号after 7 days没有了,就是为了五毛样本的purpose,你来做吧?
范松忠 黑名单
还是不要随便封啊,我张口闭口离不开习杂种、王培尔,任土匪的,要这样的话不是把我也封了。
哈哈,时代在进步啊。以后我东南枝反共匪也得好好学习一个,不能再满口粗话了。
不建议折叠回答。可采用减小字体的方式减少辨识度。因为作为一个强迫症喜欢点开所有折叠部分。。。
可是我媽媽的姐妹真的來了……

話説,按照關鍵詞來分類的話
那「啥鷄巴都不懂」怎麽一個也沒中?!
陰陽怪氣可以分析得出來嗎,哈哈哈
還有emoji也順便了
范松忠 黑名单
这不好吧,我有时候喜欢反讽,因此也加骂人的词汇。

要发言请先登录注册

要发言请先登录注册