java - 文本相似度算法

标签 java text nlp levenshtein-distance similarity

我有两个字幕文件。 我需要一个函数来判断它们是代表相同的文本,还是相似的文本

有时只有一个文件中会出现诸如“风在吹...音乐在播放”之类的评论。 但 80% 的内容将是相同的。该函数必须返回 TRUE(文件代表相同的文本)。 有时会出现拼写错误,例如 1 而不是 l(one - L),如下所示: 她把行李丢了。 当然,这意味着函数必须返回 TRUE。

我的评论:
该函数应返回文本相似度的百分比 - 同意

“all the people were happy”和“all the people were not happy”- 在这里会被视为拼写错误,因此会被视为相同的文本。确切地说,函数返回的百分比会较低,但足以说明短语相似

一定要考虑是要对整个文件应用 Levenshtein 还是只对搜索字符串应用 Levenshtein - 不确定 Levenshtein,但算法必须作为一个整体应用于文件。不过,这将是一个很长的字符串。

最佳答案

编辑算法:http://en.wikipedia.org/wiki/Levenshtein_distance

除零以外的任何结果都表示文本不“相同”。 “相似”是衡量它们有多远/多近的量度。结果是一个整数。

关于java - 文本相似度算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2325588/

相关文章:

java - 我为本地 sqlite 数据库创建了应​​用程序,但它没有运行。请告诉我解决方案

java - LWJGL - 帮助移动纹理立方体

java - 使用文本更改同步将一组间隔映射到 2D 文本缓冲区

python - CNN 模型上的文本分类

python - Spacy (Python 3.10) token.lefts 方法错误地返回空列表

python - 在文本文件中创建带有句点(句点)的新行

java - 用一个点制定一个正则表达式

java - 从 Eclipse 运行 Tomcat 6 时出现 ClassCircularityError

java - JFileChooser提示然后文本文件的字母频率计数

python - 填充文本未对齐