1.はじめに 今やほとんどの文書はワープロなどで作られ電子文書として存在している。また, このような電子文書は簡単にインターネットで公開できる形に変更できるため,多く の文書がインターネットで公開されている。今や,インターネットを使えばほとんど の情報は取得できるといっても過言ではないだろう。しかし公開されている文章の量 は膨大であるため,現実には自分が欲しい情報にどうやってたどり着くかが問題とな る。多くの場合,Google1)や Yahoo2)といった検索サイトを利用するのが一般的であ るが,これらは基本的にはキーワード検索であるため,結果はキーワードを含むペー ジが表示される。しかしそれが本当に自分の求める情報なのかは,結局そのページの 文書を読んでみるしかないわけである。非常に短い文書ならばよいが,分量が多い場 合は全部読むというのは大変である。 印刷媒体の論文雑誌などでは,冒頭にキーワード以外にアブストラクトが付いてい ることが多い。そのためアブストラクトを読めば,全文を読まなくても,述べられて いる内容が自分の欲しい内容かどうか,ある程度推測できる。そこでアブストラクト が付いていない文書でも,コンピュータによって自動的にアブストラクトが付けられ れば大変に便利である。残念ながら現在自動的にアブストラクトを完全な形で作りだ すシステムは完成していない3)。しかし,人間がある程度勘を働かせれば,長い文章 の要旨を推測できるというようなシステムなら構築できる可能性がある。 そこで,今回,長文の要旨を知るためのシステムの開発を行った。このシステムは まだ開発途上であるが,これまでの開発経過と,今後の予定を述べていきたい。
形態素解析と自動要約の可能性
Morpheme Analysis and Possibility of Automatic Summarization
鈴 木 肇 Hajime SUZUKI
2.形態素解析 形態素解析(Morpheme Analysis)とは,コンピュータ等の計算機を用いた自然言 語処理の基礎技術のひとつで,自然言語で書かれた文を言語で意味を持つ最小単位で ある形態素に分割し,品詞を見分ける作業である。英語などのヨーロッパ系言語では 単語がスペースで区切られているため,文章を単語ごとに区切るのは比較的易しい。 一方日本語では単語や助詞が連結しているため,文章を単語ごとに区切るのが容易で はない。これはキーワード検索などでも問題となる。例えばキーワード検索で「どう とく」という単語を含むファイルを探す場合を考える。この場合「小学校のどうとく の授業」という文にはヒットして欲しいが,「ぶどうとくりのおいしい季節です」とい う文にはヒットして欲しくないわけである。これを単純に grep などによるパターンマ ッチングで解析すると,どちらもヒットしてしまう。そこで,まずこの文章を「小学 校 の どうとく の 授業」,「ぶどう と くり の おいしい 季節」というよ うに,形態素ごとに区切った上でパターンマッチングを行わなければならない。これ ならば,二番目の文はパターンにマッチしなくなる。そこで一般に日本語の優れた検 索システムは形態素解析と合わせて動作するのが普通である。日本語の形態素解析で は Chasen(茶筅)4)や KAKASI(kanji kana simple inverter)5)などが有名であり, やはりよく普及している検索システム NAMAZU6)は,これらの一方と連携しながら 使われることが多い。 これらの形態素解析システムでは,日本語の辞書を持っており,基本はこの辞書を 参照しながら与えられた文を形態素に分解していく。但し,それだけでは間違いを犯 す確率が高いため,文法的な観点による条件判断を含めている。例えば「動詞のあと に助詞がくることはない」といった具合である。そのため,これらの形態素解析シス テムでは,単に文を形態素に分解するだけでなく,その形態素がどのような品詞なの かまで決定することが出来る。 一方英語などのヨーロッパ系言語では,単語の分解こそ必要ないが,やはりその単 語の品詞が何なのか,あるいは過去形や進行形になっている場合に,もとの単語は何 なのかというような情報が欲しい。そこで英語などでもそのような形態素解析システ ムが開発されている。 このような形態素解析システムはいろいろなものがあるが,今回は無料で配布され ている日本語形態素解析システム Chasen(茶筅)と英語形態素解析システム Brill Tagger7)を使った。
3.システム概要 システムはインターネットを通じて誰でも出来ることを考慮し,CGIを利用して 開発した。システムをサーバに置くことで,ブラウザーを使って誰でも使うことが出 来る。開発言語は,テキストデータ処理のための多くの機能を持つ Perl を使った。 もっとも重要な形態素解析の部分を以下に解説する。 3−1 日本語システム Chasen には Perl から呼び出すためのモジュールが用意されている8)。これを使える 状態にしたあとは,最初に use Text::ChaSen; とすれば Perl から Chasen の機能を使うことが出来るようになる。この後,日本語の 文章全体を $data1 に代入し $res=Text::ChaSen::getopt_argv('chasen-perl', '-j','-F','%m¥t%y¥t%M¥t%U(%P-)¥t%T ¥t%F ¥n'); $str=Text::ChaSen::sparse_tostr($data1); を実行する。最初のコマンドは解析のためのオプションを指定し,二つ目のコマンド で結果を $str に書き出している。$str には「文中の形」「読み」「活用がある場合は原 型」「品詞」「活用形態」「どの活用形態が出てきているか」の六つが出力されているの で,さらにその中から必要なものだけを取り出せばよい。 3−2.英語システム 英語の形態素解析ソフト Brill Tagger は,英文を入力すると各単語の辞書を参照し ながら品詞を調べ,タグをつけて出力するソフトウェアである。これは基本的には UNIX(あるいは Linux)のコマンドとして使うように作られているが,Perl から UNIX のコマンドを呼び出すことが出来るので,下の文書を $infile にセットして
system("./tagger LEXICON $infile BIGRAMS LEXICALRULEFILE CONTEXTU-ALRULEFILE > $outfile");
とすることで,結果が書かれた $outfile というファイルが作成される。このあとは Perl で再び $outfile を読み込み,いろいろな処理を行うことで形態素解析が出来る。 4.実行結果 日本語の場合,例えば 「政府は,北方領土問題を含む政治的対話をロシアと深めるため,外交当局トップ 同士の協議を始める方針を決めた。」 という文章を入力したとする(図1)。これを形態素解析した結果が図2である。 このように,元の文章が分解されて解析される。 図1.入力画面 図2. 出力画面 同様に,例えば
「China has successfully used a missile to destroy an orbiting satellite, U.S. gov-ernment officials told CNN on Thursday.」
という文を形態素解析すると,図3のような結果が出力される。 このシステムを応用すると,例えば長文から名詞と動詞だけを抽出するシステムを 作ることが出来る。例えば,図3で用いた例文は1文だけだが,全文を解析して,名 詞と動詞だけを抽出したものが図4である。当然文法的にはおかしくなるが,名詞と 動詞だけを拾い読みするだけでも要旨がかなりわかる。 このシステムでは,「名詞・動詞」,「名詞・動詞・形容詞」,「名詞・動詞・形容
詞・副詞」といったさまざま な レ ベ ル で 出力が 出来る の で,名詞と動詞だけでは要旨 がよくわからない場合は出力 形式を変えればよい。これを ざっと呼んで,内容が自分の 希望す る も の で あ る よ う な ら,あらためて全文を読めば よいし,どうも自分の希望す る情報ではないと思えば,別 の文書を探せばよい。このよ うにして情報探索の時間を節 約できる。 4.この後の課題 形態素解析は単に品詞を決 定するだけなので,主語述語 の関係などはわからない。し かし,そのようなより高度な 言語的解析9 )を 加え て い け ば,さらによい要旨の作成が 出来ると期待できる。 また要旨だけでなくキーワ ードの抽出というのもあれば便利である。比較的簡単なものでは,文章中に登場する 単語の出現回数からキーワードを推定するというものである。しかしこの場合は指示 代名詞が使われていると必ずしも正しいキーワードが選び出されるとは限らないので, キーワード抽出についても,さらに高度な解析が必要になるであろうと考えられるが, これらは今後の課題としたい。 図3. 英文の形態素解析結果 図4. 名詞と動詞だけを抽出した結果
注 1) http://www.google.co.jp あるいは http://www.google.com 2) http://www.yahoo.co.jp あるいは http://www.yahoo.com 3) コンピュータによる自動要約の解説は,例えば『知の科学 テキスト自動要約』(奥村 学・難波英嗣著 オーム社),あるいは『自動要約』(Inderjeet Mani 著,奥村他 訳,共立 出版)がある。また『Excel で学ぶテキストマイニング入門』(林 俊克 著,オーム社)も 参考になる。 4) Chasen(茶筅)は奈良先端科学技術大学院大学情報科学研究科自然言語処理学講座(松本 研究室)によって開発された日本語の形態素解析を行うフリーソフトである。詳細について は例えば http://chasen.naist.jp/hiki/ChaSen/ を参照。
5) KAKASI(kana kanji simple inverter)に関する情報の詳細は http://kakasi.namazu.org/ を参照。
6) NAMAZU は Namazu project の有志が開発を進めているフリーの日本語全文検索システム である。詳細については例えば http://www.namazu.org/ を参照
7) Brill Tagger は Eric Brill によって作られたフリーの英語の形態素解析ソフトウェアである。
http://www.cs.jhu.edu/~brill/ からダウンロードできる。日本語による解説ページもいくつ
かある。
8) Chasen を Perl 上 か ら 使 う Perl モ ジ ュ ー ル Text::ChaSen は http://www.daionet.gr.jp/
~knok/chasen/から配布されている。
9) より高度な言語解析では,例えば『オントロジー入門』(溝口理一郎 編 オーム社)など