形態素解析によるキーワード抽出と自動要約€¦ ·...

6
1.はじめに インターネットでは,膨大な量の文書が公開されている。そのような文書を利用し て作業をする場合,まず初めに自分が欲しい情報にたどり着く方法が問題となる。一 般的には,Google 1) Yahoo 2) といった検索サイトを利用するのが普通であるが,こ れらは基本的にはキーワード検索であるため,結果はキーワードを含むページが表示 されることになる。しかしそれが本当に自分の求める情報なのかは,結局そのページ の文書を読んでみるしかないということがしばしばある。印刷媒体の論文雑誌などで は,冒頭にキーワードやアブストラクトが付いていることが多い。そのためアブスト ラクトを読めば,全文を読まなくても,述べられている内容が自分の欲しい内容かど うか,ある程度推測できる。コンピュータによって自動的にアブストラクトがつけら れれば大変に便利である。 また,インターネットで公開されている文書を使って,リンク集を作ることで,独 自のデータベースを構築し,内容を絞り込むことで本当に必要な情報にアクセスしや すくする方法がある。筆者は,中部大学の人間の安全保障研究センターのデータベー ス構築に協力したが,そのデータベースに登録する文章には,アブストラクトやキー ワードが付いていないものが多数存在した。それを全部手作業で処理するにはかなり の労力を要する。そこで,このような独自のデータベースを構築する場合にも,アブ ストラクト作成やキーワード抽出を自動的に作成できるシステムが望まれている。 残念ながら自動的にアブストラクトを完全な形で作りだすシステムは現在のところ 完成していない 3) 。しかし,人間が多少の勘を働かせれば,長い文章の要旨を推測で きるというようなシステムなら構築できる可能性がある。 そのような動機で,長文の要旨を知るためのシステムの開発を行ってきた。昨年の 紀要では,形態素解析を用いたキーワード抽出について述べた。キーワード抽出を行 論  61 産業経済研究所紀要 第19号 2009年3月 形態素解析によるキーワード抽出と自動要約 Keywords Selection and Automatic Summarization using Morphological Analysis System Hajime SUZUKI

Transcript of 形態素解析によるキーワード抽出と自動要約€¦ ·...

Page 1: 形態素解析によるキーワード抽出と自動要約€¦ · ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使 えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

1.はじめに

インターネットでは,膨大な量の文書が公開されている。そのような文書を利用し

て作業をする場合,まず初めに自分が欲しい情報にたどり着く方法が問題となる。一

般的には,Google1)やYahoo2)といった検索サイトを利用するのが普通であるが,こ

れらは基本的にはキーワード検索であるため,結果はキーワードを含むページが表示

されることになる。しかしそれが本当に自分の求める情報なのかは,結局そのページ

の文書を読んでみるしかないということがしばしばある。印刷媒体の論文雑誌などで

は,冒頭にキーワードやアブストラクトが付いていることが多い。そのためアブスト

ラクトを読めば,全文を読まなくても,述べられている内容が自分の欲しい内容かど

うか,ある程度推測できる。コンピュータによって自動的にアブストラクトがつけら

れれば大変に便利である。

また,インターネットで公開されている文書を使って,リンク集を作ることで,独

自のデータベースを構築し,内容を絞り込むことで本当に必要な情報にアクセスしや

すくする方法がある。筆者は,中部大学の人間の安全保障研究センターのデータベー

ス構築に協力したが,そのデータベースに登録する文章には,アブストラクトやキー

ワードが付いていないものが多数存在した。それを全部手作業で処理するにはかなり

の労力を要する。そこで,このような独自のデータベースを構築する場合にも,アブ

ストラクト作成やキーワード抽出を自動的に作成できるシステムが望まれている。

残念ながら自動的にアブストラクトを完全な形で作りだすシステムは現在のところ

完成していない3)。しかし,人間が多少の勘を働かせれば,長い文章の要旨を推測で

きるというようなシステムなら構築できる可能性がある。

そのような動機で,長文の要旨を知るためのシステムの開発を行ってきた。昨年の

紀要では,形態素解析を用いたキーワード抽出について述べた。キーワード抽出を行

論  文

― 61 ―

産業経済研究所紀要 第19号 2009年3月

形態素解析によるキーワード抽出と自動要約

Keywords Selection and Automatic Summarization

using Morphological Analysis System

鈴 木   肇

Hajime SUZUKI

Page 2: 形態素解析によるキーワード抽出と自動要約€¦ · ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使 えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

い,それを並べて見るだけでも,多少の人的推理が必要であるものの,ある程度の要

旨を把握することが可能である。しかし,例えばある文章からキーワード抽出で「環

境,二酸化炭素,原子力」といった単語が抽出された場合,その文章が,何か環境問

題を扱っていて,原子力に言及していることはわかるが,作者が「原子力に頼る」と

言っているのか「原子力を使う必要はない」と言っているのかまでは把握できない。

そこで,今回,キーワード抽出技術をさらに発展させて,自動要約システムのプロト

タイプを作成した。これは,いわばキーワードではなく,キーになる文を抽出するシ

ステムである。そのシステムについて述べる。

2.形態素解析

形態素解析(Morphological Analysis)とは,コンピュータ等の計算機を用いた自然

言語処理の基礎技術のひとつで,自然言語で書かれた文を言語で意味を持つ最小単位

である形態素に分割し,品詞を見分ける作業である。単語がスペースで区切られてい

る英語などのヨーロッパ系言語では文章を単語ごとに区切るのは比較的易しいが,日

本語では単語や助詞が連結しているため,文章を単語ごとに区切るのが容易ではない。

そのため日本語の形態素解析システムでは,日本語の辞書を持っており,この辞書を

参照しながら与えられた文を形態素に分解していくことになる。

このような形態素解析システムはいろいろなものがあるが,今回開発中のシステム

では無料で配布されている日本語形態素解析システムChasen(茶筅)4)を使用している。

このソフトウェアは,単に文を形態素に分解するだけでなく,その形態素の品詞まで

決定することが出来る。さらに,たとえば名詞の場合なら,一般名詞,固有名詞,代

名詞などを分類することも可能である。また,動詞や形容詞のように,活用する単語

については,原型に戻すこともできる。

3.システム概要

システムはCGIを利用して開発した。システムをサーバに置くことで,インターネッ

トを通じて誰でもブラウザー上で使うことが出来る。開発言語は,テキストデータ処

理のための多くの機能を持つ Perlを使った。昨年開発したキーワード抽出システムは,

「出現頻度が多い単語は,その文章にとって重要な単語であり,そのような単語を見れ

ば,文章の大意がつかめるだろう」という考え方に則り,日本語文章中の単語の出現

頻度を解析するシステムであった。それを発展させた今回のシステムは,「キーワード

― 62 ―

鈴 木   肇

Page 3: 形態素解析によるキーワード抽出と自動要約€¦ · ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使 えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

を一文中に多く含む文は,重要な文であろう」という考え方に基づき開発された。シ

ステムの基本的な部分を以下に解説する。

3-1 単語抽出

ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使

えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

それをChasenに引き渡せば,Chasenが,形態素解析を行った結果を返してくる。

Chasenが返してくる第一段階のデータは「文中の形」「読み」「活用がある場合は原型」

「品詞」「活用形態」「どの活用形態が出てきているか」などのデータが連結されている

ので,これをsplit関数などで分割して,変数に再代入することで,取り扱いやすくす

る。

3-2 出現頻度解析

解析された単語から,名詞,動詞,形容詞を抜き出す。但し代名詞は実質的な意味

を成さないので,これは除く。また「する」「なる」という動詞はほとんどの文書で高

い頻度で登場するが,これも単独では実質的な意味を成さないので,これも除くこと

にした。動詞や形容詞など活用するものは原型に戻し,リストを作成する。その後,

重複しているものを解析して,文章中に出現する名詞,動詞,形容詞の出現回数を調

査する。ある基準値を指定し,それを超える回数出現する単語をキーワードとする。

個人名などは出現頻度が少なくても,重要であるが,二回目以降は人称代名詞にな

ってしまって,現れなくなってしまう可能性がある。また,辞書に入っていないもの

は,「未知語」という扱いになるが,これらは,新語である場合があり,これも文章全

体では重要な単語である可能性がある。そこで,このシステムでは固有名詞と未知語

は別扱いにして,出現頻度が少なくても,例外的に重要単語として扱えるようにして

ある。このようにして,キーワードが抽出される。

3-3 重要文抽出

再び入力された文章全文に戻り,句点を利用して,文ごとに分割して,それぞれを

変数に代入する。一文中にいくつキーワードが含まれるかという問題は,Perlのマッ

チング処理で,簡単に求めることができる。このようにして,一文中に含まれるキー

ワード数がわかり,その数が指定値よりも多いものを画面に出力する。また,最初の

一文と最後の一文は,含まれるキーワード数に関係なく重要であると思われるので,

これも出力することにした。こうして要旨が完成する。

― 63 ―

形態素解析によるキーワード抽出と自動要約

Page 4: 形態素解析によるキーワード抽出と自動要約€¦ · ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使 えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

3-4 オプション

すでに述べたように,(1)文章中に何回以上登場する単語をキーワードとするか。

(2)固有名詞,未知語を無条件にキーワードとして採用するか。(3)キーワードを何

個以上含む文を重要文として表示するかは,使用者が指定する。このシステムは自然

言語を理解しながら要約しているわけではないので,使用者が望む結果が得られない

ことがある。その場合,これらの指定を調整することで,結果をより望ましいことに

近づけることができる。

4.結果

システムをブラウザーで

開くと入力画面があるの

で,そこに解析したい文章

をコピー&貼り付けで入力

する。

図1は,平成 21年3月

9日の朝日新聞の社説を入

力したものである。文章を

入力後,オプションを指定

する。登場回数の指定と,

未知語,固有名詞を特別に

表示するかどうかを指定で

きる。この例では「5回以

上登場した単語をキーワー

ドとする」「未知語,固有

名詞は無条件でキーワード

にはしない」「キーワード

を3個以上含む文を重要文

とする」という指定にして

ある。

図2に解析結果を示す。

キーワードは上部に表示さ

れている。原文が27文あっ

たものが,11文にまで減ら

― 64 ―

鈴 木   肇

図1

図2

Page 5: 形態素解析によるキーワード抽出と自動要約€¦ · ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使 えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

されているが,原文の言わんとしていることが正しく伝わる要約文になっている。い

くつかの社説などの論説文で試したところ,「3回以上登場した単語をキーワードとす

る」「未知語,固有名詞は無条件でキーワードにはしない」「キーワードを3個以上含

む文を重要文とする」という指定で,内容を損なわないで,文が半分以下になること

がわかった。

ただし,論説文以外のサンプルでは,必ずしも正しい要約文が出ない場合があった。

特に文学作品の場合,意味がわかるようにオプションの指定値を調整すると,あまり,

短くまとめられないことが多く見受けられた。

5.問題点と今後の予定

文学作品の要約ができないことは,当初からある程度予想されたことである。また,

そもそもこのシステムの開発意図は,膨大な文書データの中から,必要な文書データ

を探し出すというものである。そういう意味では,文学作品を要約したり,キーワー

ドを抽出したりするという必要はあまりないと思われる。論説分の要約ができれば,

開発の趣旨に合うと考えられる。

しかし,論説分の要旨作成においても,いくつか問題が見つかった。今回のシステ

ムは,よい要約文を作成するには,キーワード抽出のための基準値と,重要文を抽出

するための基準値の二つを指定する必要がある。新聞の社説の多くは,「5回登場する

単語をキーワードとする」「キーワードを3個以上含む文を重要文とする」という基準

で要旨が作成できた。しかし二つのパラメータを指定するというのは,煩雑である。

このあたりの指定方法は,もう少し簡便でよい方法があるかもしれないので考えてい

きたい。また今回のシステムは原文からキーワードに基づいて,重要な文を抜き出す

というものであるが,その抜き出された文に指示代名詞があり,指示代名詞が差す具

体的な単語を含む文が選び出されないということがある。この場合,指示代名詞が何

を指すのかが,要約文だけではわからなくなってしまう。そこで指示代名詞が示す単

語が含まれる文が選び出されるまでオプションの数値を調整すると,圧縮率が悪くな

ってしまうということがあった。したがって,この場合の理想的な処理は,選び出さ

れた文の指示代名詞が何を示すのかを調べて,選び出された文の指示代名詞を置き換

えるということである。しかし,指示代名詞が何を示しているのかを探す処理は高度

な自然言語処理を必要とし,簡単ではないと思われる。これについては,今後の長期

的な課題としたい。

― 65 ―

形態素解析によるキーワード抽出と自動要約

Page 6: 形態素解析によるキーワード抽出と自動要約€¦ · ChasenにはPerlから呼び出すためのモジュールが用意されているので5),これを使 えるようにしたPerlスクリプトを作成した6)。日本語の文章全体をある変数に代入し,

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) chasenをPerl上から使うPerlモジュールText::ChaSenは http://www.daionet.gr.jp/~knok/

chasen/ から配布されている。

6) chasenとPerlスクリプトによる具体的なキーワード抽出方法については,産業経済研究所紀

要18号(2008)の鈴木 肇の記事「形態素解析とキーワード抽出及び,自動要約の可能性」

も参考にされたい。

― 66 ―

鈴 木   肇