Machine learning NLP/机器学习文本比较
我目前正在开发一个程序,能够将一个小文本(比如250个字符)与一组类似文本(大约1000-2000个文本)进行比较 目的是评估文本A是否与集合中的一个或多个文本相似,如果相似,则必须通过ID检索集合中的文本。每个文本将具有唯一的ID 我希望输出有两种方式: 选项1: 文本A匹配的文本B具有90%的相似性,文本C具有70%的相似性,依此类推 选项2: 文本A以最高相似度匹配文本D 我在学校里读过一些机器学习,但我不确定哪一个算法适合这个问题最好,或者我应该考虑使用NLP(不熟悉这个主题)。Machine learning NLP/机器学习文本比较,machine-learning,nlp,Machine Learning,Nlp,我目前正在开发一个程序,能够将一个小文本(比如250个字符)与一组类似文本(大约1000-2000个文本)进行比较 目的是评估文本A是否与集合中的一个或多个文本相似,如果相似,则必须通过ID检索集合中的文本。每个文本将具有唯一的ID 我希望输出有两种方式: 选项1: 文本A匹配的文本B具有90%的相似性,文本C具有70%的相似性,依此类推 选项2: 文本A以最高相似度匹配文本D 我在学校里读过一些机器学习,但我不确定哪一个算法适合这个问题最好,或者我应该考虑使用NLP(不熟悉这个主题)。 有没有
有没有人建议使用什么算法,或者我在哪里可以找到nessecary文献来解决我的问题?这似乎不是一个机器学习问题,你只是在寻找一些文本相似性度量。一旦您选择了一个,您只需根据获得的“分数”对数据进行排序 根据您的文本,您可以使用以下指标之一()或定义自己的指标:
- 汉明距离
- Levenshtein距离和Damerau–Levenshtein距离
- Needleman–Wunsch距离或Sellers算法
- 史密斯-沃特曼距离
- Gotoh距离或Smith Waterman Gotoh距离
- Monge-Elkan距离
- 街区距离或L1距离或城市街区距离
- Jaro–Winkler距离
- Soundex距离度量
- 简单匹配系数(SMC)
- 骰子系数
- Jaccard相似性或Jaccard系数或Tanimoto系数
- 特沃斯基指数
- 重叠系数
- 欧几里德距离还是L2距离
- 余弦相似性
- 变距离
- Hellinger距离或Bhattacharyya距离
- 信息半径(詹森-香农散度)
- 斜发散
- 混淆概率
- Tau度量,Kullback–Leibler散度的近似值
- 费勒吉和森特公制(SFS)
- 最大匹配
- 背风距离
- 余弦角分离
- 汉明距离
- 潜在语义分析(LSA)或潜在语义索引(LSI)
我还听说一些公司使用了一种叫做“总结文档”的工具来相互比较 Tf idf是一种术语加权方案,FASTA和BLAST是计算生物学软件包-1为不受批评的复制粘贴从维基。感谢你的下注,即使这些方面是很难考虑的原因,答案是“错误”或“坏”。此外,余弦相似性,L1和L2距离,可能还有一堆其他没有定义在字符串上,但在特征空间(如字袋)。称这些字符串度量值很牵强。将调和平均数列为字符串度量是非常荒谬的;两个字符串的调和平均值是什么?我称之为“文本相似性度量”,这似乎与向量化格式的流行度量并不矛盾。我敢说,余弦相似性是在简单应用程序中测量文本相似性最常用的方法之一。