スポンサーサイト
--年--月--日(--) --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告 | ↑top
[AI開発ノート] 形態素解析 part1
2006年01月09日(月) 12:13
トップ >> AI開発ノート >> 形態素解析 part1
形態素解析 part1

まずは、形態素解析器を作ってみたいと思います。
「形態素」とはそれ自体で意味を持つ最小単位のことです。「形態素解析器」は文章をこの形態素に分解するプログラムです。
例えば、
こんにちは、僕ドラえもんです。
→ /こんにちは/、/僕/ドラえもん/です/。/
のように分解します。実際は分解と同時に品詞や単語の意味などの決定も行います。
日本語は英語と違って空白で単語を区切らないので、このようなプログラムが必要なわけです。普段なにげなく使っているかな漢字変換もこのプログラムのおかげで出来るのですね。

フリーソフトウェアの日本語形態素解析器には以下のような物があります。
Chasen
有名なフリーの形態素解析システム。
MeCab
Chasenより3~4倍高速に動作する形態素解析システム
KAKASI
漢字→かな(ローマ字)変換プログラム。
というわけで、早速これらをインストールして使ってみました。
冒頭の文章を分解してみると結果は次の様になりました。品詞情報は省略してあります。
Chasen/こんにちは/、/僕/ドラえもん/で/す/。/
Mecab/こんにちは/、/僕/ドラ/え/もんで/す/。/
KAKASI/こんにちは/、/僕/ドラ/えもんです/。/
Chasen凄く惜しいです。「ドラえもん」をちゃんと抽出したのに「です」で失敗しました。
MecabとKAKASIは「ドラえもん」を抽出できませんでした。おそらく楽器の「ドラ」と間違えたのでしょう。国民的なキャラクターなんですからちゃんと辞書にいれてほしいです。

さて、形態素解析がかなり難しい問題だということは分かってもらえたと思います。形態素解析器の多くは「最長一致法」とか「分割数最小法」とか「接続コスト最小法」とか「隠れマルコフモデル」などといった難しい手法を使います。(ここでその紹介はしません。)
重要なのがこれらが人手による辞書を使うことと左から順に切っていくことです。*1

まず、人手による辞書を使うということは辞書に載っていない単語は絶対に抽出できません。顔文字「┗(;´Д‘)┛」とかギャル語「/ヽ〃ヵレニUナょレヽτ〃!」などの使われた文章だったら終りです。とりあえず、これらを実際にChasenにかけてみたらどちらも一文字づつに分解されました。

次に、左から順に切っていくということも問題です。冒頭の例ではMecabとKAKASIが「ドラえもん」の「ドラ」を単語として抽出してしまったため、その後がめちゃくちゃになっています。単語を切るのに品詞情報などを使っているため、一度のミスがあとに伝播してしまうわけです。すなわち辞書が詳しければ良いというわけではないのです。例えばMecabとkakasiは「キューティーハニー」を未知語として切らずに抽出してくれますが、Chasenは「/キュー/ティー/ハニー/」とご丁寧に3つの名詞に切ってくれます。

この様に難しい形態素解析ですが、これを何とか辞書なしで実現したいわけです。 これについてはある程度方法は考えていますが、少し調べ物をしたいのでまた次の記事で書きたいと思います。

この記事の内容がためになりましたらランキングへの投票をいただけるとうれしいです。→ランキングへ投票
・参考サイト
Chasen
MeCab
KAKASI

・参考リンク
形態素解析(Wikipedia)

・書籍
林 俊克「Excelで学ぶテキストマイニング入門」オーム社- 今回紹介したChasenとExcelを使ったテキストマイニングの入門書です。文章から有益な情報を抽出する手法を紹介しています。入門とありますが、実務レベルでもかなり使えそうです。
1. 他にも「品詞判別の問題」などもありますが、ここでは単語を抽出することに目的を絞ります。
スポンサーサイト
別窓 | AI開発ノート | コメント:3 | トラックバック:1 | ↑top
<<[愛すべきAI/Robot達] 第2回 SHRDLU | AI開発ノート | [愛すべきAI/Robot達] 第1回 20Q>>
この記事へのコメント
もちろん見に来ます☆
その時(プログラムを公開する時)は
ぜひ僕のブログにまで宣伝しに来て下さいね~♪
2006年01月15日(日) 12:41 | URL | あき #-[ 内容変更]

コメントありがとうございます。
次回から実際にプログラムを公開したいと思っています。
是非、また見に来て下さい。
2006年01月15日(日) 02:55 | URL | mad #NJmEojww[ 内容変更]

サイト一通りはいけんさしてもらいました。
とてもおもしろいですね!!
それに勉強になる☆
僕も今Cを少しかじる程度やけど勉強してるんですよ~!
人工知能ですか~。
僕のプログラムのレベルではまだ遠い話かも...
日々勉強ですね♪笑
2006年01月14日(土) 21:45 | URL | あき #-[ 内容変更]

↑top | under↓
コメントの投稿














管理者だけに閲覧

この記事のトラックバック
トラックバックURL

list FC2ブログユーザー専用トラックバックURLはこちら
オームオーム (ohm) は、国際単位系|SIの電気抵抗・インピーダンス・リアクタンスの単位である。その名は電気抵抗に関するオームの法則を発見したドイツの物理学者、ゲオルク・オーム|ゲオルク・ジーモン・オームにちなむ。記号はギリシャ文字のオメガ (Ω|&#x2126;) を用い
2007年09月30日(日) 07:52 単位がないと不便

↑top | under↓
| AI開発ノート |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。