1. 程式人生 > >自然語言處理工具 nltk 安裝使用

自然語言處理工具 nltk 安裝使用

github 地址:https://github.com/nltk/nltk/

官方地址:http://www.nltk.org/

中文文件:http://download.csdn.net/detail/u013378306/9756747

安裝及測試

  1. Install NLTK: run sudo pip install -U nltk
  2. Install Numpy (optional): run sudo pip install -U numpy
  3. Test installation: run python then type import nltk

Python NLTK庫中包含著大量的語料庫,但是大部分都是英文,不過有一個Sinica(中央研究院)提供的繁體中文語料庫,值得我們注意。

在使用這個語料庫之前,我們首先要檢查一下是否已經安裝了這個語料庫。

下載資料檔案

>>>import nltk
>>>nltk.download()


 

總的資料有300M左右,下載很慢,

提供下載地址:https://pan.baidu.com/s/1nvfR485

nltk 資料檔案結構

nltk_data
├── chunkers
│   └── maxent_ne_chunker.zip
├── corpora
│   ├── abc.zip
│   ├── alpino.zip
│   ├── biocreative_ppi.zip
│   ├── brown_tei.zip
│   ├── brown.zip
│   ├── cess_cat.zip
│   ├── cess_esp.zip
│   ├── chat80.zip
│   ├── city_database.zip
│   ├── cmudict.zip
│   ├── comtrans.zip
│   ├── conll2000.zip
│   ├── conll2002.zip
│   ├── conll2007.zip
│   ├── dependency_treebank.zip
│   ├── europarl_raw.zip
│   ├── floresta.zip
│   ├── gazetteers.zip
│   ├── genesis.zip
│   ├── gutenberg.zip
│   ├── ieer.zip
│   ├── inaugural.zip
│   ├── indian.zip
│   ├── jeita.zip
│   ├── kimmo.zip
│   ├── knbc.zip
│   ├── langid.zip
│   ├── lin_thesaurus.zip
│   ├── machado.zip
│   ├── mac_morpho.zip
│   ├── movie_reviews.zip
│   ├── names.zip
│   ├── nombank.1.0.zip
│   ├── nps_chat.zip
│   ├── oanc_masc.zip
│   ├── paradigms.zip
│   ├── pil.zip
│   ├── pl196x.zip
│   ├── ppattach.zip
│   ├── problem_reports.zip
│   ├── propbank.zip
│   ├── ptb.zip
│   ├── qc.zip
│   ├── reuters.zip
│   ├── rte.zip
│   ├── semcor.zip
│   ├── senseval.zip
│   ├── shakespeare.zip
│   ├── sinica_treebank.zip
│   ├── smultron.zip
│   ├── state_union.zip
│   ├── stopwords.zip
│   ├── swadesh.zip
│   ├── switchboard.zip
│   ├── timit.zip
│   ├── toolbox.zip
│   ├── treebank.zip
│   ├── udhr2.zip
│   ├── udhr.zip
│   ├── unicode_samples.zip
│   ├── verbnet.zip
│   ├── webtext.zip
│   ├── wordnet_ic.zip
│   ├── wordnet.zip
│   ├── words.zip
│   └── ycoe.zip
├── grammars
│   ├── basque_grammars.zip
│   ├── book_grammars.zip
│   ├── large_grammars.zip
│   ├── sample_grammars.zip
│   └── spanish_grammars.zip
├── help
│   └── tagsets.zip
├── stemmers
│   └── rslp.zip
├── taggers
│   ├── averaged_perceptron_tagger.zip
│   ├── hmm_treebank_pos_tagger.zip
│   └── maxent_treebank_pos_tagger.zip
└── tokenizers
    └── punkt.zip

資料檔案存放地址(linux下的搜尋路徑)
 - '/var/www/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'

主要功能



使用

import nltk
from nltk.corpus import sinica_treebank
 
print(sinica_treebank.words())


 結果:['一', '友情', '嘉珍', '和', '我', '住在', '同一條', '巷子', '我們', ...]

(1)來看一下NLTK中文語法樹。

>>>sinica_treebank.parsed_sents()[33].draw()

 Python 萬歲!!!

(2)搜尋中文文字

1 2 3 4 5 import nltk from nltk.corpus import sinica_treebank sinica_text=nltk.Text(sinica_treebank.words()) print(sinica_text.concordance('我'))

 結果:

 我 住在 同一條 巷子 我們 是 鄰居 也 是 同班 同學 我們 常常 一起 上
居 也 是 同班 同學 我們 常常 一起 上學 一起 回家 有一天 上學 時 我 到 她 家 等候 按 了 門鈴 卻 沒有 任何 動靜 正當 我 想 離開 時
天 上學 時 我 到 她 家 等候 按 了 門鈴 卻 沒有 任何 動靜 正當 我 想 離開 時 門 內 突然 傳來 急促 的 腳步聲 嘉珍 開啟 了 門 大聲
 突然 傳來 急促 的 腳步聲 嘉珍 開啟 了 門 大聲 的 叫 著 快 點 我 媽媽 暈倒 了 嘉珍 抓起 我 的 手 急忙 往 屋 裡 跑 進入 房間 看
嘉珍 開啟 了 門 大聲 的 叫 著 快 點 我 媽媽 暈倒 了 嘉珍 抓起 我 的 手 急忙 往 屋 裡 跑 進入 房間 看到 她 的 媽媽 趴 在 地 上
 她 的 媽媽 趴 在 地 上 臉色 蒼白 得 像 紙 一樣 這種 情景 把 我 嚇壞 了 怎麼辦 嘉珍 不停 的 哭泣 聲音 有些 顫抖 我 的 腦海 中 
這種 情景 把 我 嚇壞 了 怎麼辦 嘉珍 不停 的 哭泣 聲音 有些 顫抖 我 的 腦海 中 頓時 一片 空白 不 曉得 怎麼辦 才 好 過 了 一會兒 我
我 的 腦海 中 頓時 一片 空白 不 曉得 怎麼辦 才 好 過 了 一會兒 我 才 問 她 你 爸爸 呢 他 出差 了 嘉珍 擦 著 眼淚 我 握住 她 的
 了 一會兒 我 才 問 她 你 爸爸 呢 他 出差 了 嘉珍 擦 著 眼淚 我 握住 她 的 雙手 她 的 手 又 冰 又 冷 這時 有個 念頭 突然 閃過
握住 她 的 雙手 她 的 手 又 冰 又 冷 這時 有個 念頭 突然 閃過 我 的 眼前 我 幫 她 撥 了 一一九 請 救護車 來 而且 拍拍 她 的 背
雙手 她 的 手 又 冰 又 冷 這時 有個 念頭 突然 閃過 我 的 眼前 我 幫 她 撥 了 一一九 請 救護車 來 而且 拍拍 她 的 背 安慰 她 不
撥 了 一一九 請 救護車 來 而且 拍拍 她 的 背 安慰 她 不要 著急 我 會 陪 你 的 不久 救護車 停 在 她 家 門口 醫護 人員 很 快 的 
 醫護 人員 很 快 的 將 她 的 媽媽 擡上 救護車 嘉珍 上車 前 對 我 說 謝謝 你 的 幫忙 我 握 著 她 的 手 說 不用 謝 我 因為 我們
 她 的 媽媽 擡上 救護車 嘉珍 上車 前 對 我 說 謝謝 你 的 幫忙 我 握 著 她 的 手 說 不用 謝 我 因為 我們 是 好朋友 二 無私 的 
車 前 對 我 說 謝謝 你 的 幫忙 我 握 著 她 的 手 說 不用 謝 我 因為 我們 是 好朋友 二 無私 的 愛 愛 像 火紅 的 太陽 散發 光 
正 為了 缺乏 旅費 而 發愁 的 時候 員外 來 找 他 並且 對 他 說 我 看 你 悶悶不樂 是不是 進京 趕考 的 旅費 不 夠 這裡 有 一些 銀子
物 和 銀子 向 員外 道謝 時 員外 握 著 他 的 手 說 你 不用 還 我 了 我 只是 盡 一份 心力 而已 以後 有 機會 希望 你 也 能夠 幫助
銀子 向 員外 道謝 時 員外 握 著 他 的 手 說 你 不用 還 我 了 我 只是 盡 一份 心力 而已 以後 有 機會 希望 你 也 能夠 幫助 別人 
身 趕考 吧 書生 用 顫抖 的 手 接過 銀子 含 著 眼淚 說 謝謝 您 我 不 知道 要 怎麼 來 報答 您 江 巡撫 說 你 不必 謝 我 也 不必 
 謝謝 您 我 不 知道 要 怎麼 來 報答 您 江 巡撫 說 你 不必 謝 我 也 不必 回報 我 四 快樂 的 閱讀課 上 國語課 的 時候 老師 叫 我
知道 要 怎麼 來 報答 您 江 巡撫 說 你 不必 謝 我 也 不必 回報 我 四 快樂 的 閱讀課 上 國語課 的 時候 老師 叫 我們 這一組 做 讀書
 閱讀課 上 國語課 的 時候 老師 叫 我們 這一組 做 讀書 心得 報告 我 第一個 站起來 發言 我們 閱讀 的 好 書 是 小 王子 這 是 法國人 
 小 王子 告訴 他 在 星球 旅行 的 經過 兩 人 成為 知心 的 朋友 我 說完 之後 組長 站起來 補充 說 小 王子 是 一個 可愛 的 人 他 在
星 上 每天 照顧 會 說話 的 玫瑰花 、 清理 火山灰 而且 欣賞 落日 我 喜歡 這種 自由自在 的 生活 明珠 說 這本 書 最 精采 的 部分 遇到
 的 商人 等 小 王子 不 喜歡 自大 的 人 也 不 喜歡 虛偽 的 人 我 覺得 小 王子 很 正直 最後 阿平 說 這本 書 中 有 許多 值得 思考