【发布时间】:2016-11-02 16:15:41
【问题描述】:
我有一组连接的单词,我想将它们拆分成数组
例如:
split_word("acquirecustomerdata")
=> ['acquire', 'customer', 'data']
我找到了pyenchant,但它不适用于 64 位 Windows。
然后我尝试将每个字符串拆分为子字符串,然后将它们与 wordnet 进行比较以找到等效的单词。 例如:
from nltk import wordnet as wn
def split_word(self, word):
result = list()
while(len(word) > 2):
i = 1
found = True
while(found):
i = i + 1
synsets = wn.synsets(word[:i])
for s in synsets:
if edit_distance(s.name().split('.')[0], word[:i]) == 0:
found = False
break;
result.append(word[:i])
word = word[i:]
print(result)
但是这个解决方案不确定而且太长了。 所以我正在寻求你的帮助。
谢谢
【问题讨论】:
-
如果您进行单词检测,那么
tome可能会出现。我会说修复给你连接单词的数据源 -
正如@cricket_007 所建议的那样,单词检测可能非常困难(通常需要机器学习和人工智能算法)并且会引入大量的自然语言歧义,因此您的数据源应该是固定的。
-
他们俩说的。你为什么不解释一下你是如何得到需要拆分的粘在一起的单词的。可能有一种更简单的方法可以到达您要去的地方。
-
其实我只是想清理我的数据。但如果不容易实现,我会手动完成。谢谢大家
标签: python nltk spell-checking wordnet