一、说明
NLTK是个啥?它是个复杂的应用库,可以实现基本预料库操作,比如,、将文章分词成独立token,等操作。从词统计、标记化、词干提取、词性标记,停用词收集,包括语义索引和依赖关系解析等。
二、NLTK是个啥?
NLTK是构建Python程序以处理人类语言数据的领先平台。 它为50多个语料库和词汇提供了易于使用的界面 资源,如WordNet, 以及一套用于分类、标记化、词干提取、标记、解析和语义推理的文本处理库, 用于工业级 NLP 库的包装器, 以及一个活跃的讨论论坛。
得益于介绍编程基础知识以及计算语言学主题的实践指南,以及全面的 API 文档, NLTK 适用于语言学家、工程师、学生、教育工作者、研究人员和行业用户。 NLTK可用于Windows,Mac OS X和Linux。最重要的是,NLTK是一个免费的,开源的,社区驱动的项目。
NLTK被称为“使用Python进行计算语言学教学和工作的绝佳工具”。 和“一个使用自然语言的惊人图书馆”。
使用Python进行自然语言处理提供了实用的 语言处理编程简介。 由NLTK的创建者撰写,它指导读者了解基础知识 编写Python程序,使用语料库,对文本进行分类,分析语言结构, 等等。 本书的在线版本已针对Python 3和NLTK 3进行了更新。 (原始的Python 2版本仍然在 https://www.nltk.org/book_1ed 提供。
三、您可以使用NLTK执行的一些简单操作
标记和标记一些文本:
>>> import nltk
>>> sentence = """At eight o'clock on Thursday morning
... Arthur didn't feel very good."""
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning',
'Arthur', 'did', "n't", 'feel', 'very', 'good', '.']
>>> tagged = nltk.pos_tag(tokens)
>>> tagged[0:6]
[('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'),
('Thursday', 'NNP'), ('morning', 'NN')]
标识命名实体:
>>> entities = nltk.chunk.ne_chunk(tagged)
>>> entities
Tree('S', [('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'),
('on', 'IN'), ('Thursday', 'NNP'), ('morning', 'NN'),
Tree('PERSON', [('Arthur', 'NNP')]),
('did', 'VBD'), ("n't", 'RB'), ('feel', 'VB'),
('very', 'RB'), ('good', 'JJ'), ('.', '.')])
显示解析树:
>>> from nltk.corpus import treebank
>>> t = treebank.parsed_sents('wsj_0001.mrg')[0]
>>> t.draw()
如果您发表使用NLTK的作品,请引用NLTK书籍 遵循:Bird,Steven,Edward Loper和Ewan Klein(2009),使用Python进行自然语言处理。奥莱利媒体公司
参考文章:
NLTK :: Natural Language Toolkit