我正在寻找一种在python中创建函数的方法,在python中传递一个字符串并返回它的拼写是否正确。我不想查字典。相反,我希望它检查谷歌的拼写建议。这样,名人的名字和其他各种专有名词将被视为拼写正确。
这就是我目前的处境。它大部分时间都很管用,但会搞乱一些名人的名字。例如,像“cee lo green”或“posner”这样的东西被标记为不正确。
import httplib
import xml.dom.minidom
data = """
<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">
<text> %s </text>
</spellrequest>
"""
def spellCheck(word_to_spell):
con = httplib.HTTPSConnection("www.google.com")
con.request("POST", "/tbproxy/spell?lang=en", data % word_to_spell)
response = con.getresponse()
dom = xml.dom.minidom.parseString(response.read())
dom_data = dom.getElementsByTagName('spellresult')[0]
if dom_data.childNodes:
for child_node in dom_data.childNodes:
result = child_node.firstChild.data.split()
for word in result:
if word_to_spell.upper() == word.upper():
return True;
return False;
else:
return True;
Peter Norvig告诉您如何实现spell checker in Python.
与其坚持谷歌,不如试试其他大人物。
如果您真的想坚持使用计算页面请求的搜索引擎,Yahoo和Bing提供了一些优秀的特性。雅虎正在使用YQL表直接提供拼写检查服务(免费:每天5000个请求和非商业)。
你有很多Python API,它们能够做很多类似的魔术,包括你提到的名词(有时可能会掉头——毕竟是基于概率的某处)
所以,在第二种情况下,你有一个很好的列表(完全免费)
我希望他们能让你清楚地知道事情是如何运作的。
实际上拼写检查涉及机器学习、人工智能、自然语言处理等领域非常复杂的机制。。等等更多。因此,像Google/Yahoo这样的公司并没有真正提供完全免费的API。
相关问题 更多 >
编程相关推荐