vid*_*dhi 68 algorithm nlp spell-checking
可能重复:
你如何实现"你的意思"?
我正在编写一个应用程序,我需要类似于Google的功能"你的意思是什么?" 搜索引擎使用的功能:
是否有可用于此类事情的源代码,或者我在哪里可以找到有助于我构建自己的文章?
Sma*_*ery 28
一年半前,我参加了一位谷歌工程师的研讨会,在那里他们讨论了他们的方法.主持人说他们的算法(至少部分)根本没有智能; 而是利用他们可以访问的大量数据.他们确定,如果有人搜索"Brittany Speares",点击什么,然后再搜索"Britney Spears",并点击某些内容,我们可以对他们搜索的内容进行公平猜测,并可以建议未来.
免责声明:这可能只是他们算法的一部分
Esc*_*alo 16
Python有一个名为的模块difflib
.它提供了一个称为的功能get_close_matches
.从Python文档:
get_close_matches(word, possibilities[, n][, cutoff])
返回最佳"足够好"的比赛列表. word是需要密切匹配的序列(通常是字符串),并且 可能性是与字匹配的序列列表 (通常是字符串列表).
可选参数n(默认值
3
)是要返回的最大匹配数; n必须大于0
.可选参数cutoff(默认值
0.6
)是[0,1]范围内的浮点数.不会得到至少与单词类似的得分的可能性被忽略.可能性中的最佳(不超过n)匹配在列表中返回,按相似性得分排序,最相似.
>>> get_close_matches('appel', ['ape', 'apple', 'peach', 'puppy'])
['apple', 'ape']
>>> import keyword
>>> get_close_matches('wheel', keyword.kwlist)
['while']
>>> get_close_matches('apple', keyword.kwlist)
[]
>>> get_close_matches('accept', keyword.kwlist)
['except']
Run Code Online (Sandbox Code Playgroud)
这个图书馆可以帮到你吗?
归档时间: |
|
查看次数: |
18163 次 |
最近记录: |