情報処理への応用研究もさかんに

図7●ファジイ理論を応用したデータ・マイニング手法
統計データの項目のうち「年齢」や「身長」など数値によって分類する項目をメンバーシップ関数で表現する。また,割合や程度もメンバーシップ関数(ファジィ量限定子)で表す。このようにして数値化した結果に基づいてデータを分析する。その結果もメンバーシップ関数に照らし合わせて自然言語で表現する。大阪府立大学の馬野研究室の資料を基に本誌が再構成。
図8●日常言語コンピューティングの環境モデル
人間が扱う日常言語で情報処理を実現するには,言語を理解するモデルと,言語で操作可能なアプリケーションが必要である。例えばコンピュータに入力した文章から,その構造や意味を推測して操作したり返事を生成して応答する。

 ファジィ技術が持つ,「言葉となじみやすい性質」を生かす研究も続いている。以前から研究されているものにファジィ・データベースがある。ファジィ・データベースはあいまいな質問に対して,答えと質問を満たす度合いをセットにして出力する。あいまいな質問とは,「若くて背が高い人は何人いるか」のように,「若い」「高い」などの定義がはっきりしない言葉を含んだ問いかけである。

 ファジィ・データベースへのアプローチは2通りある。一つが,あらかじめユーザーがメンバーシップ関数を定義して検索時にファジィ技術を使うというもの。もう一つが,データ自体がファジィに分類されているというものである。前者の場合は一般的なデータベースを利用できるが,ユーザーがメンバーシップ関数を入力する手間が生じる。一方,後者の場合は,あいまいさの基準が個々人によって違うため,データベースを共用できない。いずれにしても実現は容易でない。

数値を自然言語に変換

 そこで,考えられたのがデータマイニングにファジィ技術を取り入れる試みである。大阪府立大学総合科学部数理・情報科学科の馬野元秀教授の研究室は,大量のデータからファジィな概念を使ってルールを抽出し,結果を自然言語で説明する方法を考えている。「ファジィに表現することで精度は犠牲になるが,抽出した規則性を言葉で表現すれば,一見してどのような傾向があるかが説明できる」(馬野教授)。

 まず,データ項目のなかで数値情報をもつものをメンバーシップ関数で表現して正規化し,データの出現率などを分析する。次に,出力の傾向を表現する「ファジィ量限定子」を作成する。ファジィ量限定子は,「ほとんど」や「大半」など割合を表す言葉に対応する。これらのメンバーシップ関数を作成し,数値で表した分析結果を自然言語で表現する。

 図7[拡大表示]は,身長,体重,髪の色などの項目がある統計データの例である。例えばその統計データが「背が高い人のうち髪が黒い人の割合」というルールをどれほど満たすかを計算する場合。「背が高い」度合いを表現したメンバーシップ関数を参照して,全体から背が高い人の割合を計算する。そしてその中から髪が黒い人の割合(出現率)を計算し,求める。こうして求めた割合を,ファジィ量限定子に置き換える。出力は,自然言語での説明に加えてデータの出現率と,「全データ中の髪が黒い人」の数における「背が高い人の中で髪が黒い人」の割合(カバー率)を数値で補足する。

対話型コンピュータを目指す

 ファジィ理論は「言葉」の状態を定式化して理解する考え方であり,ファジィな情報処理が目指すのは,人間の言葉を理解できるコンピュータである。1980年代にファジィ理論の提唱者であるZadeh氏が発表した言葉(単語)に基づく情報処理手法「Computing with words」はその延長線上にある。

 理化学研究所脳科学総合研究センター言語知能システム研究チームの菅野道夫チーム・リーダーは,Zadeh氏のコンセプトを拡張して,コンピュータが日常言語を使って情報を処理する「日常言語コンピューティング」を研究している(図8[拡大表示])。

 日常言語コンピューティングの実現は,文章の意味を解析できるかどうかにかかっている。当初はここにファジィ技術を使えるのではと考えていたが,やがて限界に気付いたという。「文章の意味の表現にはファジィ技術は適用できなかった。単語の意味や状態は,それが話される状況に応じて変わってしまう。そこで意味解析に適する言語体系を持つ言語学を探したところ,状況によって意味が変わることを考慮した『選択体系機能言語学』に出会った」(菅野氏)。

 選択体系機能言語学を使った文章解析では,文章の概念を見出すために四つのデータベースを用意する。コンテクスト・ベース(状況や話のジャンル,話者の役割関係など),意味ベース,語彙文法ベース,表現ベースである。これらのデータベースを参照して,次のように文章を解析していく。

 まず入力された文章について,音韻や文字を解析する。次に,形態素解析や係り受け解析をして,結果を基に汎用辞書を検索する。辞書から単語情報を取得して,状況,語彙文法,意味を解析する。これらの解析結果を基に概念構造を明らかにする。概念構造とは文章に出てくる物体や動作などの関係を,状況も考慮して示したものである。

膨大なデータベースが必要

 日常言語コンピューティングでは,ユーザーが音声で質問やリクエストを入力すると,秘書エージェントが応答する。秘書エージェントは,データベースを参照して意味を理解し,アプリケーションに処理を指示したり,ユーザーに答えるための文章を生成する。秘書エージェントがデータベース,アプリケーションとやりとりするときはすべて自然言語を使う。アプリケーションはLAPI(Language Application Program Interface)によって,日常言語による指示でアプリケーションが持つ機能を呼び出せる。

 現在,試作したアプリケーションは三つ。ワープロソフトとヘルプシステム,プログラミング環境である。ワープロソフトの場合,今のところクリスマス・カードの作成など2種類の文書を作れるようにしている。送付相手が同僚なのか友人なのかなど,コンピュータは状況に応じて異なる応答をする。

 例えばクリスマス・カードを作成する場合。「クリスマス・カードを作りたい」とユーザーがリクエストすると,秘書エージェントは言語モデルに意味を問い合わせて,「ワープロを使った文書を作成するタスクである」と認識する。LAPIを通じてワープロを起動して,ユーザーに「タイトルは何にしますか」と応答する。タイトルを設定したあと,「文字をもう少し大きく」と言えば,秘書エージェントはワープロソフトに指示を出す。ここでワープロソフトは「文字を大きく」する操作が何を意味しているかを理解しなければならない。これはワープロソフトの機能を呼び出すLAPIが必要に応じて言語モデルを参照し,ワープロの操作に変換する。「実際に人を集めて,コンピュータに対してどのような言い方で指示を出すかを調べた。これらをデータベース化したところ音声認識の精度はかなり上がった」(菅野氏)。

 ただし,実際に使えるようになるまでにはかなりの時間がかかりそうだ。さまざまな場面やユーザーに対応するには,膨大なデータベースが必要なためである。場面ごとに典型的な言い回しを整理したり,数多くの利用者を集めなければならない。「人生は有限だから,一生のうちに遭遇する場面は数えられる。組み合わせから考えて,10億件くらいのデータが必要」(菅野氏)。今のところ語彙文法データが1150件,意味データが1500件程度集まっているという。

(堀内 かほり)