非ホワイトスペース文字列の NLTK から形態素解析結果を取得したいと考えています。
例えば:
文字列は"societynamebank"
.
私は手に入れたい['society', 'name', 'bank']
NLTK でその結果を取得するにはどうすればよいですか?
非ホワイトスペース文字列の NLTK から形態素解析結果を取得したいと考えています。
例えば:
文字列は"societynamebank"
.
私は手に入れたい['society', 'name', 'bank']
NLTK でその結果を取得するにはどうすればよいですか?
これはあなたを助けるかもしれない簡単なコードです。形態素解析に 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']