我有阵列,S&amp; T,含有词(小写,修剪,没有变音符号)。单词数可以不同。 (大多数数据是一种专有名称,而非短(<5))
我需要找到一个好的指标(及其实现,甚至是研究论文),它可以计算出那些数组的相似程度
到目前为止我有一些想法:
还有其他想法吗?
答案 0 :(得分:1)
对我来说,它看起来像使用 词袋 模型来建模文档 http://en.wikipedia.org/wiki/Bag-of-words_model
根据您的应用程序,您可以使用不同的标准来比较两个 词袋 特征向量,就像您在应用程序中所说的那样。此外,有些模型基于学习不同单词/句子之间的静态关系,例如主题模型http://en.wikipedia.org/wiki/Topic_model
答案 1 :(得分:0)
如果数组相当短,那么你可以找到给出一些单词相似度的单词的最佳配对。然后在顶部放置一些得分,以确定弦线必须旋转/扭曲多远才能使最佳配对成对。这可能是某种倍增器或某些其他系统。
我们最近在自然语言处理中学到的一个单词相似度量是Levenshtein Distance。还有其他更复杂的变体,例如Smith-Waterman算法(在wiki页面上链接)。这些算法旨在测量正交相似性,因此它们用于形态分析,以便了解相似的单词是如何基于外观的。 Smith-Waterman算法说如果一个词包含在另一个词中,那么无论后缀/前缀有多长,它们都非常相似。
答案 2 :(得分:0)
如果字符串是西方名字,Soundex可能是一个起点。