可爱的 Python: 自然语言工具包入门
2007-03-29 12:38:25 来源:WEB开发网核心提示: 清单 3. 条件频率分布:对应每个首字母的单词长度>>> cf = ConditionalFreqDist()>>> for word in article['SUBTOKENS']:... cf[word['TEXT']
清单 3. 条件频率分布:对应每个首字母的单词长度
>>> cf = ConditionalFreqDist()
>>> for word in article['SUBTOKENS']:
... cf[word['TEXT'][0]].inc(len(word['TEXT']))
...
>>> init_letters = cf.conditions()
>>> init_letters.sort()
>>> for c in init_letters[44:50]:
... print "Init %s:" % c,
... for length in range(1,6):
... print "len %d/%.2f," % (length,cf[c].freq(n)),
... print
...
Init a: len 1/0.03, len 2/0.03, len 3/0.03, len 4/0.03, len 5/0.03,
Init b: len 1/0.12, len 2/0.12, len 3/0.12, len 4/0.12, len 5/0.12,
Init c: len 1/0.06, len 2/0.06, len 3/0.06, len 4/0.06, len 5/0.06,
Init d: len 1/0.06, len 2/0.06, len 3/0.06, len 4/0.06, len 5/0.06,
Init e: len 1/0.18, len 2/0.18, len 3/0.18, len 4/0.18, len 5/0.18,
Init f: len 1/0.25, len 2/0.25, len 3/0.25, len 4/0.25, len 5/0.25,
条件频率分布在语言方面的一个极好应用是分析全集中的语段分布 —— 例如,给出一个特定的词,接下来最可能出现哪个词。当然,语法会带来一些限制;不过,对句法选项的选择的研究属于语义学、语用论和术语范畴。
词干提取(Stemming)
nltk.stemmer.porter.PorterStemmer 类是一个用于从英文单词中获得符合语法的(前缀)词干的极其便利的工具。这一能力尤其让我心动,因为我以前曾经用 Python 创建了一个公用的、全文本索引的搜索工具/库(见 Developing a full-text indexer in Python 中的描述,它已经用于相当多的其他项目中)。
更多精彩
赞助商链接