数据分析与NLP

2019-06-27  本文已影响0人  柳清檀

1. 判断句子的相似度:
独热编码可以将单词向量化,而如果能够做到句子的向量化,就可以通过判断两个向量的余弦,来评估相似度:余弦越接近1,越相近,相反接近0则相背离
很容易想到,可以将独热编码后的每个单词的向量做为一个元素,去组成句子从而完成句子的向量化,但是问题在于,繁复的编码会造成存储空间的要求大,在一定程度上会影响性能。
我们考虑将独热编码改为数字编码,如此一来,我们可以成功地将语句进行一个不太耗费存储空间的编码和映射。但对于不同的语句,显然可以看出,他们的转换标准不统一,需要将他们映射到同一维度上才可以比较。
我们认为,当一个单词在一句话中反复出现多次时,对于这个句子,这个词可能比较重要。那么,当两个句子的关键词,也就是重复次数多的词都比较一致时,就可以大致判定两个句子语义近似。

image.png 2. TF-IDF算法
如果一个字或者单词在某个语句或者文章中出现的频率高,而在其他文章中很少出现,就可以认为这个字或者单词对该语句或者文章很重要,也可以说这个字或者单词具有很好的区分能力,反之则无关紧要。
TF:(词频)一个词在一句话中出现的频率

TF=某词出现次数/总词汇数

IDF:逆向文件频率,衡量词语在整个语料库中普遍程度的指标
如果在整个语料库中包含某个单词的文章越少,就说明该单词在整个语料库中具有很好的区分能力,这个单词的IDF指标就越大。

IDF=Log(语料库中的文章总数/1+出现该单词的文章数)

最终,TF-IDF的值就是TF*IDF
我们可以利用TF-IDF算法与余弦相似度相结合计算出文本相似度,帮助优化算法。
语义理解

参考资料

[1][NLP自然语言处理]谷歌BERT模型深度解析
[2]机器学习中,有哪些特征选择的工程方法?

上一篇 下一篇

猜你喜欢

热点阅读