短文本相似度(关键词、词向量、句向量、编辑距离、余弦相似度、jaccard、matchzoo、bert)

首先当然是高大上的BERT啦,github项目地址在:

        https://github.com/yongzhuo/nlp_xiaojiang/tree/master/FeatureProject/bert

主要还是各种距离等,github项目地址:

        https://github.com/yongzhuo/nlp_xiaojiang/blob/master/FeatureProject/distance_text_or_vec.py

文本相似度等,包括句向量的、tf-idf的、pinyin的、以及一些简单的,github项目地址:

         https://github.com/yongzhuo/nlp_xiaojiang/blob/master/FeatureProject/sentence_sim_feature.py

1.提取关键词(TD-IDF(这个似乎最重要了),TextRank,Gensim,glove)

2.余弦相似度(jieba分词+word2vec+pooling+cosine)

3.编辑距离(fuzzywuzzy超级好用)

4.simHash和海明距离(原理:http://www.cnblogs.com/maybe2030/p/5203186.html)

5.TS-SS(三角-扇面相似度实现:https://github.com/taki0112/Vector_Similarity)

6.jaccard相似度(介绍:https://blog.csdn.net/u012836354/article/details/79103099),实践中这个比较有用有区分度

7.wmd,欧式距离、余弦相似度、最长字串匹配、曼哈顿距离等,要得到一个词向量平均,

8.深度学习方案 DSSM,ConvNet,ESIM,BiMPM,你可以看:https://github.com/terrifyzhao/text_matching

9.ELMO、GPT、BERT等构建句向量再比较

10.matchzoo你值得拥有  github地址:https://github.com/NTMC-Community/MatchZoo

你可能感兴趣的:(自然语言处理)