0

我想从 NLTK 获得非空白字符串的形态分析结果。

例如:

字符串是"societynamebank".

我想得到['society', 'name', 'bank']

如何在 NLTK 上获得该结果?

4

1 回答 1

3

这是一个简单的代码,可以帮助你。它使用 pyEnchant 字典进行形态分析:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> tokens=[]
>>> def tokenize(st):
...    if not st:return
...    for i in xrange(len(st),-1,-1):
...       if d.check(st[0:i]):
...          tokens.append(st[0:i])
...          st=st[i:]
...          tokenize(st)
...          break
... 
>>> tokenize("societynamebank")
>>> tokens
['society', 'name', 'bank']
>>> tokens=[]
>>> tokenize("HelloSirthereissomethingwrongwiththistext")
>>> tokens
['Hello', 'Sir', 'there', 'is', 'something', 'wrong', 'with', 'this', 'text']
于 2014-11-07T13:41:48.923 回答