[[TopPage]]

+NLTK
--pythonの対話シェルモード
	python
--対話シェルモードで次のコマンドを入力する
	import nltk
	nltk.download()
---NLTK Downloader
	    d) Download      l) List      c) Config      h) Help      q) Quit
	---------------------------------------------------

---  d) Download      l) List      c) Config      h) Help      q) Quit
	Downloader> d
---Download which package (l=list; x=cancel)?
	Identifier> book

+NLTK Japanese Corpora - NLTKで使える日本語コーパス
--http://lilyx.net/pages/nltkjapanesecorpus.html
	wget http://nlp.kuee.kyoto-u.ac.jp/~hasimoto/KNBC_v1.0_090925.tar.bz2
	tar xjvf KNBC_v1.0_090925.tar.bz2
	mv KNBC_v1.0_090925 knbc
	mv knbc nltk_data/corpora
	cd nltk_data/corpora/ <--- ディレクトリ移動
	ls <-- このディレクトリ knbc
***NLTKのドキュメントで関係ありそうな箇所(筆跡:Ashihara) [#v6d7fa08]
--SyntaxCorpusReader:http://nltk.googlecode.com/svn/trunk/doc/api/nltk.corpus.reader.api.SyntaxCorpusReader-class.html
---SyntaxCorpusReaderを継承してKNPCorpusReaderは構築されている。
--CorpusReader:http://nltk.googlecode.com/svn/trunk/doc/api/nltk.corpus.reader.api.CorpusReader-class.html
---SyntaxCorpusReaderの継承元(スーパークラス)です。サブクラスの中で使えるものがあるかもしれません。
---上記のサブクラス一覧:対象コーパスごとに継承して使っているようです。
        * SyntaxCorpusReader
        * , xmldocs.XMLCorpusReader
        * , cmudict.CMUDictCorpusReader
        * , plaintext.PlaintextCorpusReader
        * , tagged.TaggedCorpusReader
        * , chunked.ChunkedCorpusReader
        * , conll.ConllCorpusReader
        * , ieer.IEERCorpusReader
        * , ipipan.IPIPANCorpusReader
        * , indian.IndianCorpusReader
        * , nombank.NombankCorpusReader
        * , ppattach.PPAttachmentCorpusReader
        * , propbank.PropbankCorpusReader
        * , senseval.SensevalCorpusReader
        * , string_category.StringCategoryCorpusReader
        * , wordlist.WordListCorpusReader
        * , switchboard.SwitchboardCorpusReader
        * , timit.TimitCorpusReader
        * , toolbox.ToolboxCorpusReader
        * , wordnet.WordNetCorpusReader
        * , wordnet.WordNetICCorpusReader
        * , ycoe.YCOECorpusReader
--NLTK Japaneseの動作について
---KNBC_v1.0_090925をknbcという名前に変更(コマンド:mv KNBC_v1.0_090925 knbc)
---nltk_dataの下ではなく、nltk_data/corporaの下に置く。(コマンド:mv knbc nltk_data/corpora)
--NLTK Japaneseでnltk.Text.generate()を使う。
---knbcorpus.pyのdemo関数の下にでも追加してみて下さい。
---knbc = LazyCorpusLoader('knbc/corpus1', KNBCorpusReader, sorted(fileids, key=_knbc_fileids_sort), encoding='euc-jp') の下です。
    sents = knbc.words()
    sentList = []
    for sent in sents:
        for word in sent:
            sentList.append(word.encode('utf-8'))#wordはunicode型なので文字型に変換する。
    text = nltk.Text(sentList)
    text.generate()
    >>>>>>出力例
    [ 携帯 電話 会社 識別 番号 を 知ら ない が 、 年
    ごと に 自動 で フォルダ 分け さ れて る みんな も
    お 勧め です 。 このような 居酒屋 は 不可欠です
    ね 。 [ スポーツ ] 運動 は 好きな 方 な のです
    が 、 携帯 電話 機種 の キー が 隣接 して おり 、
    それ は ひるがえせば 携帯 が 鎮座 して いて 充電
    の 持ち が 悪く なって きた 。 彼女 は ぼく が 彼
    ら の サービス を 実施 中 です 。 よく ドンくさい
    って 言わ れる 始末 。 ■ の 「 お 遊び 」 的な
    ツール から 緊急
---unicode型について:http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html