首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Levenshtein成本设置

Levenshtein成本设置
EN

Stack Overflow用户
提问于 2014-02-12 11:46:42
回答 1查看 228关注 0票数 0

当部分预期数据丢失时,我被要求猜测用户的意图。例如,如果我希望获得very wellnot very well,但只获得not,则应该将其标记为not very well

notvery well的Levenshtein距离为9notnot very well的距离为10。我想我实际上是想用扳手来驱动螺丝钉,但是我们已经在我们的团队中同意在这个案子中使用Levenshtein。

正如您在上面看到的,如果我能通过更改插入、替换和删除成本来理解问题,是否有什么意义呢?

我不是在找这个特别的例子的黑客。我想要的东西,一般的工作,如预期和输出一个更好的结果,在这些情况下也。

EN

回答 1

Stack Overflow用户

发布于 2014-04-27 03:22:28

、not well的Levenshtein距离实际上是12。

代码语言:javascript
复制
------not
very well

因此有6个插入,总成本为6(每次插入成本为1),以及总成本为6(每次替换成本为2)的3个替换。总费用是12英镑。

、notnot well的Levenshtein距离为10。对齐方式为:

代码语言:javascript
复制
not----------
not very well

这仅包括10次插入。所以你可以选择不是很好的作为最好的匹配。

对于python,可以用htql计算成本和对齐:

代码语言:javascript
复制
import htql
a=htql.Align()
a.align('not', 'very well')
# (12.0, ['------not', 'very well'])
a.align('not', 'not very well')
# (10.0, ['not----------', 'not very well'])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21727074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档