文本相似度在多项任务中扮演重要角色,包含文本检索、分类、文档聚类、主题检测与跟踪、机器翻译和文本摘要等。衡量文本相似性的核心在于评估词与词、句子、段落和文档间彼此相似的水平。词的相似性,既包括词汇上的相似(通过相似字符序列实现)、也包括语义上的相似(当其表示相同概念时)。
文本相似度研究可以分为三种主要方法:基于字符串、基于语料库和基于知识的相似性。
基于字符串的相似度
这种方法通过衡量文本字符串之间距离来估计相似性,包括但不限于编辑距离、Jaro距离、Jaro-Winkler距离、Needleman-Wunsch和Smith-Waterman算法以及N-Gram匹配。它们各有优劣,如重视局部相似度的Jaro距离、强调前缀匹配重要性的Jaro-Winkler距离以及全局比对的Needleman-Wunsch和局部匹配的Smith-Waterman。
基于词汇的相似度量
这种方法利用大型语料库确定词汇间的语义相似度,通过构建语料库对文档进行分析,将其转换为向量形式,进而比较各类文档之间的相似性。其中包括归一化谷歌距离(NGD)度量,其根据关键词在Google搜索结果中的频次衡量词汇间的语义联系。
基于知识的相似度
这基于从语义网络提取的信息,如WordNet中,将名词、动词等分组进行认知相似度评估,以此量化词汇间的联系。
除此之外,还有一种混合相似性度量,结合多个相似度度量方法的长处,如使用基于语料库和基于知识的方法,针对相同语法角色的单词计算得分,并将这些得分整合到机器学习模型中,以获得评估句子间相似性的最终分数。此类方法结合了知识的深度与大量语料库的信息,为计算句子间语义相似度提供了一种高效的途径,具有显著提升。