自然語言工具包?

NLTK是一個領先的平臺,用于構建用于處理人類語言數據的Python程序。它為 over 50 corpora and lexical resources 例如WordNet,以及一套用于分類、標記化技術、詞干、標記、解析和語義推理的文本處理庫,工業級NLP庫的包裝器,以及 discussion forum .

由于有一個介紹編程基礎知識的實踐指南以及計算語言學的主題,加上全面的API文檔,NLTK適合語言學家、工程師、學生、教育工作者、研究人員和行業用戶。NLTK可用于Windows、Mac OS X和Linux。最重要的是,NLTK是一個免費的、開源的、社區驅動的項目。

NLTK被稱為“使用Python進行計算語言學教學和工作的極好工具”,以及“使用自然語言的令人驚嘆的庫”。

Natural Language Processing with Python 提供了語言處理編程的實用介紹。它由NLTK的創建者編寫,指導讀者完成編寫python程序、使用語料庫、對文本進行分類、分析語言結構等的基礎知識。這本書的在線版本已經針對python 3和nltk 3進行了更新。(原始的python 2版本仍然可以在 http://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()
_images/tree.gif

鈮。如果您發布使用NLTK的作品,請引用以下NLTK書籍:

Bird、Steven、Edward Loper和Ewan Klein(2009年), 用python進行自然語言處理 . O'Reilly媒體公司

目錄?