gpt4 book ai didi

compare - 语言特定怪癖的 Damerau-Levenshtein 距离

转载 作者:行者123 更新时间:2023-12-04 06:38:21 25 4
gpt4 key购买 nike

对于讲荷兰语的人来说,两个字符“ij”被认为是一个很容易与“y”交换的字母。

对于我正在从事的项目,我想要一个 Damerau–Levenshtein distance 的变体将“ij”和“y”之间的距离计算为 1 而不是当前值 2。

我自己一直在尝试这个,但失败了。我的问题是我不知道如何处理两个文本长度不同的事实。
有没有人有关于如何解决这个问题的建议/代码片段?

谢谢。

最佳答案

维基百科文章的术语相当松散。 “自然语言”中没有“字符串”之类的东西。自然语言中存在可以用书写字符和字符组合表示的音素。

一些字符组合是延续到现代的历史惯例的遗迹,如现代英语中的“rough”,其中“gh”听起来像 -f- 或根本没有声音。在我看来,在关注原始“字符串”时,算法必须不知道语言和正字法约定的历史关系,这会导致任何时候字符组合与单个音素相关时的任意度量。它如何衡量“粗糙”到“ruf”?还是“通过”到“通过”?
或者德语 o-umlaut 到“oe”?

在您的情况下,-y- 可以在语音和拼写上与 -ij- 交换。那么,根据算法,两次删除后插入一次,或一次删除 -j- 或 -i- 后将剩余字符转置为 -y- 是什么?或者 -ij- 被合并并且合并之后是转置?

我建议您在应用算法之前为 -ij- 使用另一个未使用的组合字符,可能是 U00EC,带有重音符的拉丁小写字母 i。

算法如何处理多码点字符?

关于compare - 语言特定怪癖的 Damerau-Levenshtein 距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4593930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com