可爱的 Python: 自然语言工具包入门
2007-03-29 12:38:25 来源:WEB开发网核心提示: 清单 6. 使用断词工具中灵巧的启发式方法来进行词干提取>>> article = TS().text_splitter(open('cp-b17.txt').read())>>> stems = FreqDist()>>&g
清单 6. 使用断词工具中灵巧的启发式方法来进行词干提取
>>> article = TS().text_splitter(open('cp-b17.txt').read())
>>> stems = FreqDist()
>>> for word in article:
... stems.inc(stemmer.stem_word(word.lower()))
...
>>> word_stems = stems.samples()
>>> word_stems.sort()
>>> word_stems[60:80]
['bool', 'both', 'boundari', 'brain', 'bring', 'built', 'but', 'byte',
'call', 'can', 'cannot', 'capabl', 'capit', 'carri', 'case', 'cast',
'certain', 'certainli', 'chang', 'charm']
在这里,您可以看到有一些单词有多个可能的扩展,而且所有单词看起来都像是单词或者词素。断词方法对随机文本集合来说至关重要;公平地讲,NLTK 捆绑的全集已经通过 WSTokenizer() 打包为易用且准确的断词工具。要获得健壮的实际可用的索引器,需要使用健壮的断词工具。
添加标签(tagging)、分块(chunking)和解析(parsing)
NLTK 的最大部分由复杂程度各不相同的各种解析器构成。在很大程度上,本篇介绍将不会解释它们的细节,不过,我愿意大概介绍一下它们要达成什么目的。
不要忘记标志是特殊的字典这一背景 —— 具体说是那些可以包含一个 TAG 键以指明单词的语法角色的标志。NLTK 全集文档通常有部分专门语言已经预先添加了标签,不过,您当然可以将您自己的标签添加到没有加标签的文档。
更多精彩
赞助商链接