FC2ブログ

誰もがやさしく微笑みあえる、その日まで

東日本大震災で被災された方々、心を痛めた方々に送ります。

Python(パイソン) ~その40:自然言語処理ライブラリNLTK~


 今回は、「Python(パイソン) ~その40:自然言語処理ライブラリNLTK~」です。

  Python (パイソン) はプログラミング言語です。
 オランダ人のグイド・ヴァンロッサムさんが開発しました。
 名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』です。
 Pythonには次のような特徴があります。
  ・とても読みやすい文法
  ・直感的なオブジェクト指向
  ・広範囲に及ぶ標準ライブラリ
 詳細は、以下のリンクをご参照ください。
  http://www.python.jp/about/
  https://ja.wikipedia.org/wiki/Python

 ※注1
「オブジェクト」は、「データと処理の集まり」です。
「オブジェクト指向」は、「オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方」です。
 以下のリンクをご参照ください。
  http://tdak.hateblo.jp/entry/20140406/1396773476

 ※注2
 「ライブラリ」は、一種の「道具箱」です。
 様々なライブラリがPythonで記述されており、テキスト処理、画像処理、音声処理、WEBから情報収集、機械学習など様々な機能を持ったライブラリ(道具箱)を利用することができます。
 →SB Creativeから出版された『Python「超」入門』p158を参照しました。
  本にご興味がある方は下記のリンクをご覧ください。
  http://www.sbcr.jp/products/4797384406.html



 私は人工知能を理解するために、Pythonを学びます。
 Pythonには、人工知能に関連したライブラリが豊富にあります。
 以下の順番で学ぶ予定です。
  ①Pythonの文法を理解し、プログラムを書けるようになること
  ②Pythonの各種ライブラリを理解し、使いこなすこと
  ③人工知能に関連したライブラリを理解し、使いこなすこと
  ④現実の問題を人工知能を使って解くこと



 今回は、NLTKについて紹介します。
 NLTKは、"Natural Language ToolKit"の略です。
 NLTKは、英語や日本語などの言語データを扱うPythonプログラムを構築するための、Pythonのライブラリです。
 分類、トークン化、ステミング、タグ付け、解析、意味論的推論などの一連のテキスト処理を実行できたり、WordNetのような50以上のコーパスを使えたりします。
 
 詳細は、下記の本やリンクをご参照下さい。
 ・『入門 自然言語処理』 O'Reilly Japan, 2010
 ・http://www.nltk.org/
 ・http://www.nltk.org/book/



 順次、NLTKでできることを紹介します。

・チャンキングについて
 チャンキングとは、自然言語処理では、「言語データをより小さな構成要素に分割したり、より大きな構成要素にまとめたりする処理」のことです。
 下記のリンクをご参照ください。
 https://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A3%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0

 以下で、"The little yellow dog barked at the cat."という文の名詞句(NP)チャンキングを行います。
 (NPはNoun Phraseの略)
 名詞句チャンキングを行う際には、品詞タグとチャンク文法を使います。

 品詞タグは以下のとおりです。
 ("the", "DT(限定詞)"), ("little", "JJ(形容詞)"), ("yellow", "JJ(形容詞)"), ("dog", "NN(名詞)"), ("barked", "VBD(動詞)"), ("at", "IN(前置詞)"), ("the", "DT(限定詞)"), ("cat", "NN(名詞)")

 チャンク文法は以下のとおりです。
 "NP: {<DT>?<JJ>*<NN>}"
 この意味は、「名詞句(NP)チャンクは、限定詞(DT)の次に、任意の数の形容詞(JJ)が現れ、最後に名詞(NN)が来る」です。
 これらの品詞タグとチャンク文法を使うと、文の構造を解析して図示することができます。

 




 小学校や中学校の頃に習って以来、久しぶりに文法と向き合いました。
 国語も英語も、文法は苦手だったので、ほろ苦い思い出がよみがえってきました。
 自然言語処理をする上で、文法は避けて通れないので、これからは真正面から向き合うことにします。





 以上、「Python(パイソン) ~その40:自然言語処理ライブラリNLTK~」でした。




スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ

Python(パイソン) ~その39:自然言語処理ライブラリNLTK~


 今回は、「Python(パイソン) ~その39:自然言語処理ライブラリNLTK~」です。

 Python (パイソン) はプログラミング言語です。
 オランダ人のグイド・ヴァンロッサムさんが開発しました。
 名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』です。
 Pythonには次のような特徴があります。
  ・とても読みやすい文法
  ・直感的なオブジェクト指向
  ・広範囲に及ぶ標準ライブラリ
 詳細は、以下のリンクをご参照ください。
  http://www.python.jp/about/
  https://ja.wikipedia.org/wiki/Python

 ※注1
「オブジェクト」は、「データと処理の集まり」です。
「オブジェクト指向」は、「オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方」です。
 以下のリンクをご参照ください。
  http://tdak.hateblo.jp/entry/20140406/1396773476

 ※注2
 「ライブラリ」は、一種の「道具箱」です。
 様々なライブラリがPythonで記述されており、テキスト処理、画像処理、音声処理、WEBから情報収集、機械学習など様々な機能を持ったライブラリ(道具箱)を利用することができます。
 →SB Creativeから出版された『Python「超」入門』p158を参照しました。
  本にご興味がある方は下記のリンクをご覧ください。
  http://www.sbcr.jp/products/4797384406.html



 私は人工知能を理解するために、Pythonを学びます。
 Pythonには、人工知能に関連したライブラリが豊富にあります。
 以下の順番で学ぶ予定です。
  ①Pythonの文法を理解し、プログラムを書けるようになること
  ②Pythonの各種ライブラリを理解し、使いこなすこと
  ③人工知能に関連したライブラリを理解し、使いこなすこと
  ④現実の問題を人工知能を使って解くこと



 今回は、NLTKについて紹介します。
 NLTKは、"Natural Language ToolKit"の略です。
 NLTKは、英語や日本語などの言語データを扱うPythonプログラムを構築するための、Pythonのライブラリです。
 分類、トークン化、ステミング、タグ付け、解析、意味論的推論などの一連のテキスト処理を実行できたり、WordNetのような50以上のコーパスを使えたりします。
 
 詳細は、下記の本やリンクをご参照下さい。
 ・『入門 自然言語処理』 O'Reilly Japan, 2010
 ・http://www.nltk.org/
 ・http://www.nltk.org/book/


 順次、NLTKでできることを紹介します。

・名前の男女分類の学習
 名前の最後の二文字に着目する。
 名前コーパスを読み込んで、順番をシャッフルする。
 学習用の訓練データと、評価用のテストデータに分ける。
 NaiveBayes分類器で機械学習したあとで、精度を評価する。

・名前の男女分類の学習結果
 "John"は、男性の名前と判定
 "Mary"は、女性の名前と判定
 正答率0.784で、そこそこ高い。
 女性の名前と相関が高い最後の二文字は、"na"、"la"、"ia"、"sa"、"ta"
  →例:Ana、Angela、Aliccia、Clarissa、Anita
 男性の名前と相関が高い最後の二文字は、"us"、"rd"、"ld"、"do"
  →例:Angus、Bernard、Arnold、Alfredo




 以上、「Python(パイソン) ~その39:自然言語処理ライブラリNLTK~」でした。




テーマ:プログラミング - ジャンル:コンピュータ

Python(パイソン) ~その38:自然言語処理ライブラリNLTK~


 今回は、「Python(パイソン) ~その38:自然言語処理ライブラリNLTK~」です。

 Python (パイソン) はプログラミング言語です。
 オランダ人のグイド・ヴァンロッサムさんが開発しました。
 名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』です。
 Pythonには次のような特徴があります。
  ・とても読みやすい文法
  ・直感的なオブジェクト指向
  ・広範囲に及ぶ標準ライブラリ
 詳細は、以下のリンクをご参照ください。
  http://www.python.jp/about/
  https://ja.wikipedia.org/wiki/Python

 ※注1
「オブジェクト」は、「データと処理の集まり」です。
「オブジェクト指向」は、「オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方」です。
 以下のリンクをご参照ください。
  http://tdak.hateblo.jp/entry/20140406/1396773476

 ※注2
 「ライブラリ」は、一種の「道具箱」です。
 様々なライブラリがPythonで記述されており、テキスト処理、画像処理、音声処理、WEBから情報収集、機械学習など様々な機能を持ったライブラリ(道具箱)を利用することができます。
 →SB Creativeから出版された『Python「超」入門』p158を参照しました。
  本にご興味がある方は下記のリンクをご覧ください。
  http://www.sbcr.jp/products/4797384406.html



 私は人工知能を理解するために、Pythonを学びます。
 Pythonには、人工知能に関連したライブラリが豊富にあります。
 以下の順番で学ぶ予定です。
  ①Pythonの文法を理解し、プログラムを書けるようになること
  ②Pythonの各種ライブラリを理解し、使いこなすこと
  ③人工知能に関連したライブラリを理解し、使いこなすこと
  ④現実の問題を人工知能を使って解くこと



 今回は、NLTKについて紹介します。
 NLTKは、"Natural Language ToolKit"の略です。
 NLTKは、英語や日本語などの言語データを扱うPythonプログラムを構築するための、Pythonのライブラリです。
 分類、トークン化、ステミング、タグ付け、解析、意味論的推論などの一連のテキスト処理を実行できたり、WordNetのような50以上のコーパスを使えたりします。
 
 詳細は、下記の本やリンクをご参照下さい。
 ・『入門 自然言語処理』 O'Reilly Japan, 2010
 ・http://www.nltk.org/
 ・http://www.nltk.org/book/


 順次、NLTKでできることを紹介します。

・文書分類の学習
 肯定的または否定的評価付きの映画論評コーパスの文書分類を行う。
 まずは、コーパスを読み込んで、順番をシャッフルする。
 コーパスに頻出する上位2000単語について、文書内の有無を確認する。
 学習用の訓練データと、評価用のテストデータに分ける。
 NaiveBayes分類器で機械学習したあとで、正答率を評価する。

・文書分類の学習結果
 正答率0.63で、あまり高くない。
 肯定的文章と相関が高い単語は、"lore"と"symbol"
 否定的文章と相関が高い単語は、"stupidity"、"unbearable"と"marginal"





 以上、「Python(パイソン) ~その38:自然言語処理ライブラリNLTK~」でした。




テーマ:プログラミング - ジャンル:コンピュータ

Python(パイソン) ~その37:自然言語処理ライブラリNLTK~


 今回は、「Python(パイソン) ~その37:自然言語処理ライブラリNLTK~」です。

 Python (パイソン) はプログラミング言語です。
 オランダ人のグイド・ヴァンロッサムさんが開発しました。
 名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』です。
 Pythonには次のような特徴があります。
  ・とても読みやすい文法
  ・直感的なオブジェクト指向
  ・広範囲に及ぶ標準ライブラリ
 詳細は、以下のリンクをご参照ください。
  http://www.python.jp/about/
  https://ja.wikipedia.org/wiki/Python

 ※注1
「オブジェクト」は、「データと処理の集まり」です。
「オブジェクト指向」は、「オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方」です。
 以下のリンクをご参照ください。
  http://tdak.hateblo.jp/entry/20140406/1396773476

 ※注2
 「ライブラリ」は、一種の「道具箱」です。
 様々なライブラリがPythonで記述されており、テキスト処理、画像処理、音声処理、WEBから情報収集、機械学習など様々な機能を持ったライブラリ(道具箱)を利用することができます。
 →SB Creativeから出版された『Python「超」入門』p158を参照しました。
  本にご興味がある方は下記のリンクをご覧ください。
  http://www.sbcr.jp/products/4797384406.html



 私は人工知能を理解するために、Pythonを学びます。
 Pythonには、人工知能に関連したライブラリが豊富にあります。
 以下の順番で学ぶ予定です。
  ①Pythonの文法を理解し、プログラムを書けるようになること
  ②Pythonの各種ライブラリを理解し、使いこなすこと
  ③人工知能に関連したライブラリを理解し、使いこなすこと
  ④現実の問題を人工知能を使って解くこと



 今回は、NLTKについて紹介します。
 NLTKは、"Natural Language ToolKit"の略です。
 NLTKは、英語や日本語などの言語データを扱うPythonプログラムを構築するための、Pythonのライブラリです。
 分類、トークン化、ステミング、タグ付け、解析、意味論的推論などの一連のテキスト処理を実行できたり、WordNetのような50以上のコーパスを使えたりします。
 
 詳細は、下記の本やリンクをご参照下さい。
 ・『入門 自然言語処理』 O'Reilly Japan, 2010
 ・http://www.nltk.org/
 ・http://www.nltk.org/book/


 順次、NLTKでできることを紹介します。

・品詞タグ付け(POS tagging)について
 NLTKには、文章内の単語に品詞を割り当てる機能があります。

・品詞タグ付けの精度
 トライグラム(3つの連続する単語のつながり)で品詞タグ付けした場合の精度は、約95%です。
 20個中、1個は品詞があいまいになります。







 以上、「Python(パイソン) ~その37:自然言語処理ライブラリNLTK~」でした。




テーマ:プログラミング - ジャンル:コンピュータ

Python(パイソン) ~その36:自然言語処理ライブラリNLTK~


 今回は、「Python(パイソン) ~その36:自然言語処理ライブラリNLTK~」です。

 Python (パイソン) はプログラミング言語です。
 オランダ人のグイド・ヴァンロッサムさんが開発しました。
 名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』です。
 Pythonには次のような特徴があります。
  ・とても読みやすい文法
  ・直感的なオブジェクト指向
  ・広範囲に及ぶ標準ライブラリ
 詳細は、以下のリンクをご参照ください。
  http://www.python.jp/about/
  https://ja.wikipedia.org/wiki/Python

 ※注1
「オブジェクト」は、「データと処理の集まり」です。
「オブジェクト指向」は、「オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方」です。
 以下のリンクをご参照ください。
  http://tdak.hateblo.jp/entry/20140406/1396773476

 ※注2
 「ライブラリ」は、一種の「道具箱」です。
 様々なライブラリがPythonで記述されており、テキスト処理、画像処理、音声処理、WEBから情報収集、機械学習など様々な機能を持ったライブラリ(道具箱)を利用することができます。
 →SB Creativeから出版された『Python「超」入門』p158を参照しました。
  本にご興味がある方は下記のリンクをご覧ください。
  http://www.sbcr.jp/products/4797384406.html



 私は人工知能を理解するために、Pythonを学びます。
 Pythonには、人工知能に関連したライブラリが豊富にあります。
 以下の順番で学ぶ予定です。
  ①Pythonの文法を理解し、プログラムを書けるようになること
  ②Pythonの各種ライブラリを理解し、使いこなすこと
  ③人工知能に関連したライブラリを理解し、使いこなすこと
  ④現実の問題を人工知能を使って解くこと



 今回は、NLTKについて紹介します。
 NLTKは、"Natural Language ToolKit"の略です。
 NLTKは、英語や日本語などの言語データを扱うPythonプログラムを構築するための、Pythonのライブラリです。
 分類、トークン化、ステミング、タグ付け、解析、意味論的推論などの一連のテキスト処理を実行できたり、WordNetのような50以上のコーパスを使えたりします。
 
 詳細は、下記の本やリンクをご参照下さい。
 ・『入門 自然言語処理』 O'Reilly Japan, 2010
 ・http://www.nltk.org/
 ・http://www.nltk.org/book/


 順次、NLTKでできることを紹介します。

・バイグラム(bigram)について
 N-gramは、検索対象を単語単位ではなく文字単位で分解し、後続の N-1 文字を含めた状態で出現頻度を求める方法です。Nの値が1なら「ユニグラム(英: uni-gram)」、2なら「バイグラム(英: bi-gram)」、3なら「トライグラム(英: tri-gram)」と呼ばれます。たとえば「全文検索技術」のバイグラムは、「全文」「文検」「検索」「索技」「技術」です。
https://ja.wikipedia.org/wiki/%E5%85%A8%E6%96%87%E6%A4%9C%E7%B4%A2

・バイグラムを用いた解析例
 解析例1:ブラウンコーパスの"learned"カテゴリ内で、'often'の次に現れる単語群
 解析例2:ブラウンコーパスの"learned"カテゴリ内で、'often'の次に現れる品詞群
 →動詞(VERB)が多い

・トライグラムを用いた解析例
 解析例3:ブラウンコーパスから、「動詞+固有名詞+現在分詞」となるトライグラムを抽出








 以上、「Python(パイソン) ~その36:自然言語処理ライブラリNLTK~」でした。




テーマ:プログラミング - ジャンル:コンピュータ

次のページ