文章目录
NLP: Natural Language Processing 自然语言处理
马蜂窝评论造假:
是怎么发现数据造假的呢?
使用NLP中的文本相似度分析!
文本相似度
文本相似度分析:从海量数据(文章,评论)中,把相似的数据挑选出来
步骤:
把评论翻译成机器看的懂的语言
使用机器看的懂得算法轮询去比较每一条和所有评论的相似程度
把相似的评论挑出来
把评论翻译成机器看的懂的语言
1.分词
2.制作词袋模型(bag-of-word)
3.用词袋模型制作语料库(corpus)
4.把评论变成词向量(可选)
下面我们来看看把评论翻译成具体语言的过程:
分词: 就是把一句话拆分为多个词
制作词袋模型: 把上面分好的词无序编号,按字典形式存放
用词袋模型制作语料库: 一个句子通过词袋模型,转化为语料库(就是句子里的词用字典里的编号表示,一个词用一个元组标示,第一位代表它是哪个词,也就是这个词的编号;第二位代表在这句话中这个词出现的次数)
把评论变成词向量(可选): 把语料库元组中的第一位省略,因为第一个就是0,第二个就是1,第三个就是2,所以可以省略。不过在比较相似度时,词向量长度要和词袋模型的长度一致,如果这句话里没有词袋模型里的词,就拿0表示没有。不然在拿词向量比较相似度的时候就无法判断这个向量是哪个词出现的次数。
使用机器看的懂得算法轮询去比较每一条和所有评论的相似程度(TF-IDF)
如何用TF-IDF寻找关键词
不考虑停用词(就是没什么意义的词),找出一句话中出现次数最多的单词,来代表这句话,这个就叫做词频(TF – Term Frequency)
,相应的权重值就会增高。
如果一个词在所有句子中都出现过,那么这个词就不能代表某句话,这个就叫做逆文本频率(IDF – Inverse Document Frequency)
相应的权重值就会降低
TF-IDF = TF * IDF
好消息:
我们现在讲的理论有时候似乎很难,但这些难的步骤在真正写代码时直接调包,别人已经把这些都封装好了,但是如果你不知道这些理论的话,给你包你也不会灵活的用,所以还是得理解。