snownlp情感分析,如何计算获得文本相似度?
发布于 作者:苏南大叔 来源:程序如此灵动~

苏南大叔在这里讲述:snownlp
的最后一个功能“文本相似度”的测试结果。计算上还算简单,就是具体数值的由来,目前还未知。本文描述snownlp
的文本相似度的获取方式,方法很简单,就是结果理解上稍稍有点困难。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。snownlp
的文本相似度算法是BM25
,具体来说,方法是.sim()
。测试环境:win10
,python@3.6.8
,snownlp@0.12.3
。
传入数组,以词为单位
传入的是个二维数组,可以这么理解:

n1 | n2 | n3 | n4 | n5 | n6 | n7 |
---|---|---|---|---|---|---|
苏南大叔 | 今天 | 很 | 不 | 高兴 | 高兴 | 高兴 |
――― | ――― | ――― | ――― | 高兴 | 高兴 | 高兴 |
传入文本,以字为单位
这个例子里面,传入的是一句话。那么,.sim()
的时候,数组也都是没有效果的了。
分析
目前来看的话,传入的是数组的时候,和数组对比才有结果。传入的是文字的话,和单个文字对比才有结果。具体的数值是怎么计算来的,未知,待议。
相关链接
- https://newsn.net/say/snownlp-cut.html
- https://newsn.net/say/snownlp-keywords.html
- https://newsn.net/say/snownlp-tf.html
- https://newsn.net/say/snownlp-pinyin.html
总结
不想总结啥,snownlp
的各个功能都实验了一通,觉得都挺鸡肋的。后续的snownlp
文章,可能会从源码角度对snownlp
进行分析了。如果您想看相关经验文章,请点击:


