文本相似度计算作为NLP的热点研究方向之一,在搜索推荐、智能客服、闲聊等领域得到的广泛的应用。在不同的应用领域,也存在着一定的差异,例如在搜索领域大多是计算query与document的相似度;而在智能客服、聊天领域更注重的是query与query之间的匹配,即短文本之间的相似度计算。
不同的文本长度,相似度的计算方案也存在差异,长文本匹配更多注重文本的关键词或者主题的匹配,业界使用的较多的算法如:TF-IDF、LSA、LDA;而短文本匹配更多的是句子整体的语义一致性,业界较为主流的算法有:word2vec、esim、abcnn、bert等深度模型。
相比于长文本的相似度计算,短文本的相似度计算存在更大的挑战。其一,短文本可以利用的上下文信息有限,语义刻画不够全面;其二,短文本通常情况下,口语化程度更高,存在缺省的可能性更大;第三,短文本更注重文本整体语义的匹配,对文本的语序、句式等更为敏感。
query1 |
query2 |
我要打给你 |
我要打你 |
你叫什么 |
你叫我什么 |
我叫小布 |
我不叫小布 |
你有男票吗 |
你是单身狗吗 |
你真搞笑 |
你是个逗比啊 |
我喜欢看动漫 |
你不知道我喜欢看动漫吗 |
不同文本相似度算法的得分分布不一致,无法通过评分来对算法进行评估。因此对于