|
世界中には100万を超えるインターネットのホームページがあるといわれています。 四六時中休まずに世界中のホームページを探して記事を取り込むサーチロボットができて、この大量の記事を取り込むことは不可能ではなくなりました。
また、高速の全文検索システムでこの膨大な記事から指定したキーワードを持つ記事をすべて瞬時に検索することもできます。 しかし、この中から興味のある記事だけを探すのは大変な作業です。なぜなら100万件の記事から検索すると、思い付くキーワードをいろいろ使って絞り込んでも、数百件の記事を検索結果として出してしまうことが珍しくありません。当然利用者は記事数が多すぎて読みきれないので検索に失敗したとして投げ出してしまいます。そのようなことにならないためには、何かうまい絞り込み手段が必要です。
絞り込みの手段として
絞り込みの手段として、まず思い付くのは権威のある出典の記事だけが重要であるとして、それ以外の出典の記事を削除する方法です。 特定の機関の情報だけを注視していたい場合には有効な手段です。 しかし、インターネットの記事を扱うには出典の数だけでも膨大な数にのぼります。それをすべて評価し、評価基準を更新していくとなると大変な作業です。注意深く評価しないと取り出す記事が偏ってしまう恐れもあります。 次に思い付くのは、統計的な手法により記事中のキーワードの数と、そのキーワードを持っている記事の数とを元にしたTF・IDFという方式法やそれを発展させた方式ががあります。
ここで述べるのは、記事を文法的に解析して、各記事のなかでの重要度(score)を評価しながらキーワードを抽出する方法です。大きな辞書を持った形態素解析(文章を単語に分解する)が必要になります。全文検索の一つの方式として記事のなかから名詞を自動的に抽出して、すべてをインデックスとする方式がありましたが、これを発展させた方式です。自然言語を解析する処理なので解析の失敗を完全になくすことはできませんが、利用者が辞書に追加していけば精度は上げられます。重要度を評価する方式はいろいろ提案されています。すべてのスタイルの文章に有効な決定的な方法は今のところありませんが、調査したい記事の種類や目的によって手法を使い分ければそれなりの成果は得られるようです。
重要度を評価する方法
|
1 |
表題文は重要でその文に現れた言葉は重要である。 |
印刷物の上では文字の大きさが違うので表題の終わりを見つけるのは簡単ですが、電子化された記事では表題と本文の境目を探すのがなかなか大変です。 表題をきちんと書いてある論文などでは有効な方法です。 |
|
2 |
記事の前の方に書かれていた文に現れた言葉は重要である。 |
文章を書くときの重要なことから書きなさいという注意書きがよくあります。これを言葉どおりに捕らえて、前の方文の中にある言葉が後ろの方の文の言葉より重要であるとする方法です。 新聞の記事などではこの注意書きが守られているので有効です。しかし論文などでは、表題のあとに抄録があり、その後に前書きとしてこれまでの方法などが書かれています。普通5分の1ぐらい進んでからやっと本題に入るのが普通であまり有効ではありません。 |
|
3 |
定義文のなかに出てきた言葉は重要である。 |
例えば「AとはBである。」のような定義文に特有の文型に注目して、そのA内容、B定義語を取り出す方式です。「は」「とは」「には」「と言う」のような特定の助詞の前の言葉を取り出します。 「CとDとは・・・」 の文ではCにあたる部分も重要語にする必要があります。 |
|
4 |
主題になる文のなかに出てきた言葉は重要である。 |
主題になる文に特有の言い回しに注目して主題文を取り出してそのなかの言葉を取り出します。
例えば「本論文では」「本契約では」などの特定の言葉で始まる文は一般に主題文のことが多く、そこに含まれている言葉は重要であるとします。 論文や契約書のようにある程度書き方が決まっている文章を扱うときには有効です。学術的に価値のある記事だけを取り出すといったような場合に使えます。 インターネット上で飛びかっている普通の記事を扱うときにはそれぞれの分野で主題文を見つけるための手段を工夫する必要があります。 |
|
5 |
複合名詞の部分として複数回現れた言葉は重要である。 |
例えば複合名詞を調べてみたら次のような言葉が使われていたとしましょう。
|
ページ印刷 |
|
印刷用紙 |
|
帳票印刷 |
|
印刷紙面 |
|
日付印刷 |
|
印刷結果 |
|
印刷上 |
例えばこの記事では「印刷」は複合語を生成するのに多く使われているので重要な言葉であるとする方法です。 筆者らの経験では技術的な記事を評価するときにはなかなか良い方法でした。 |
|
6 |
利用者が指定した言葉を含んでいる文に含まれていた言葉は重要である。 |
前もって登録してある言葉を持つ文のなかにある言葉を重要な言葉として評価する方法です。 例えば競争相手の会社の商品名などを登録しておくことが考えられます。 しかしこの方法では登録する言葉の数が少ないうちは何とかなりますが数が多くなると管理に手間がかかります。 |
|
7 |
出現回数の多かった言葉は重要な言葉である。 |
ある言葉が記事のなかで何回現れたかを数えて回数の多かった言葉を取り出す手法です。 この方法は比較的簡単に実現できるのでよく使われています。 |
不要な言葉は取り出さない
システムの能率をよくするだけでなく、不要な記事を取り出すのを防ぐために、余分なキーワードを取り出さないようにします。ここでもまた調査したい記事の種類や、目的によって、どのような言葉を削除するかが決まります。
|
1 |
連体修飾格のなかの言葉は取り出さない。 |
「大型の自動車が」という言葉のときには、前半の「大型の」の部分は「自動車」を修飾しているだけで、大事なのは「自動車」です。
この例では「大型」とい言葉をを取り出さないようにします。 |
|
2 |
漢語だけを取り出して大和言葉は取り出さない。 |
漢語は結合して新たな言葉を作る能力が大きく、複雑な概念を表すときによく使われます。逆に大和言葉は漢語の説明などに使われることが多いので、漢語だけを取り出せばほとんどの場合満足できます。 |
|
3 |
時、場所、役職名などは取り出さない。 |
誰が、いつ、どこで研究したかよりも、その研究の内容に興味があるのが普通です。
時、場所などは必要な記事を見つけた後で調べれば十分で、検索のキーワードとしてはあまり重要ではありません。さらに役職名などは、年月とともに変わってしまうのでキーにしてもあまり意味がありません。しかしニュース記事などでは重要な場合があります。 |
|
4 |
副詞や固有名詞は取り出さない。 |
研究の内容だけが知りたいときには副詞や固有名詞も不要です。 |
|
5 |
1文字の言葉は取り出さない。 |
例えば「事故をおこす事は」という文を検索するときは、「事故」だけで検索すればほぼ間違いなく必要な記事を検索できます。「事」をキーにするとかえって不必要な記事を取り出してしまいます。 |
|
6 |
利用者が取り出さないように指定した言葉は取り出さない |
研究している分野でのあまりにも基本的な言葉は使われることが少なく、かえって不要な記事を検索してしまうことがあります。そのような言葉を登録しておいて、取り出さないようにする機能です。 例えば、この記事はコンピューターの上で動くデータベースのためのある手法を書いたものですが「データベース」「コンピューター」などといったふれる必要のない基本的な言葉は出てきません。 |
|
7 |
複合語のなかで |
接頭辞で終わる組み合わせや、接尾辞から始まる組み合わせを取り除きます。利用者が複合語のどこの部分を検索するが分からないので、すべての組み合わせをキーワードとして抽出します。このためキーワードの数が膨大になります。なるべく無意味なキーワードを減らすために接頭辞で終わる組み合わせや、接尾辞から始まる組み合わせを取り除きます。
例えば「前近代的システム論」という複合名詞からは次の10種類の名詞を抽出します。
|
前近代 |
|
前近代的 |
|
前近代的システム |
|
前近代的システム論 |
|
近代 |
|
近代的 |
|
近代的システム |
|
近代的システム論 |
|
システム |
|
システム論 |
(注意)「前」、「的」、「論」だけおよび「的」で始まる言葉は抽出しません。 |
この方式は、前にも述べたように記事中に未知語があったときにキーワードを取り出しそこなう弱点がありますが、構文解析やシソーラスと組み合わせてより高度の情報検索システムを作るための最有力の技術です。将来利用者が本当に必要な記事だけを検索できるシステムを実現するという夢に向かって努力していきます。 |