我正在构建一个Python文本分类应用程序。在这个应用程序中,用户提供一个小句子(或一个单词),我们对他的句子进行分类。我面临的问题是如何检查他的字符串是否构成一个单词或一组单词。
用户输入的示例:
1) “asdfasdfa”
2) “This is adsfgafdga”
示例1不是一个单词,所以我想抛出一个错误,示例2也包含一个非单词字符串,所以我也要抛出一个错误。
正确的示例:
1) “Hello”
2) “This is good”
有没有办法做到这一点而不需要单词列表,或者有人知道一个可以做到这一点的API吗?
回答:
一种广泛的方法是创建一个列表并将词典单词存储在其中。首先对用户输入进行分割,使用phrase.split()
从短语中单独提取每个单词。
words = phrase.split() // words : ['This', 'is', 'good'] len(words) // 单词数量 : 3
根据短语中的单词数量运行循环,如果结果大于1。然后,只需检查单词是否在列表中即可,使用以下方法:
if "word" in dictionary_words: print "单词可用"
你可以使用一个词典单词的XML版本代替列表,这是一个很好的选择。
对于更复杂的解决方案,你可以尝试整合像PyEnchant这样的API,它提供了一个拼写检查库。关于这方面的更多细节,你可以查看并执行pip install pyenchant
并导入它。
>>> import enchant>>> help(enchant)