文中の語義の説明を行う対話的文書読み上げシステム

PDF
細野 祥代
名古屋大学 工学部 電気電子・情報工学科
長尾 確
名古屋大学 情報メディア教育センター

1 はじめに

対話とは、人間にとって最も自然で慣れ親しんだコミュニケーション手段と言える。人は対話によって自分の意図を相手に伝えたり、相手と共同で問題の解決を図る。そこで、人とシステムの間でも対話によって問題の解決を図れないかと考えるのは自然である。本研究では、文書の理解を問題として設定し、対話システムを作成した。

文書を理解する上で、まず必要となるのは単語の意味を知ることである。文中に意味のわからない単語が出てきた場合、辞書を引く必要が出てくる。現在、辞書引きは単語単位で行われており、その後、複数の語義の候補の中からユーザが適切だと思うものを選択している。しかし、文書に含まれる単語の意味が知りたい場合、語義の選択等で内容の理解が妨げられるのは適切ではない。そこで、本研究では語義の検索と絞り込みをユーザとの対話や意味的に構造化された辞書を利用しながら自動的に行う対話システムの実現をめざした。また、複合語は頻繁に使用されるが辞書には記載されていないことが多い。そこで複合語の意味をユーザから質問された場合には、要素となる単語の語義の説明文から適切な説明を生成して答えることで、より自然な対話を可能にした。

2 対話的文書読み上げシステム

システムは参考文献,,を参考にしながら構成した。対話的文書読み上げシステムは、Web上のニュースなどの文書を読み上げながら、途中ユーザからの質問があった場合には読み上げを中断し、語義の説明を行うシステムである。語の意味の質問だけでなく、「最初から文書を読み直す」といった、読み上げに関する操作も発話によって行うことができる。システムは文書の読み上げ中にユーザからの呼びかけがあった場合、読み上げを一時停止してユーザからの要求を待つ。ユーザからの入力があると、システムは発話意図データベースにアクセスして、これとユーザからの入力を照らしあわせることで、ユーザが何を要求しているのかを判断する。またシステムは意味的に構造化された国語辞書データベースを持っており、ユーザから語義の説明を求められた場合には、このデータベースを検索し、適切な語義の定義文を返す。

システムの構成図

図1: システムの構成図

2.1 語義の絞込み

語の中には複数の語義を持つものも少なくはない。辞書に記載されている複数の語義をそのまま全てユーザに伝えるのでは、ユーザにとって負担である。そこで、読み上げ中の文書、辞書や対話を利用して語義の絞り込みを行う。語義の絞込みは以下のような段階で行われる。

  1. 接頭語や接尾語などといった文法による語義の絞込み。例えば、「現実的」という言葉を形態素解析にかけると「的」は接尾であると帰ってくる。そこで「的」の語義の上に「接尾語」というタグを持つ語義のみに絞ることができる。

  2. 前後の単語の語義からキーワード(上位語、関連語等)を取り出し、それを利用して語義を絞り込む。「選手代表」というは「選手」の語義「(競技に出るために)選ばれた人」の中からキーワードとして「競技」「人」が抽出される。「選手代表」の語義の中で、「競技」または「人」という語を含む語義を検索探すと「団体や?表すこと。また、その人。」という語義が見つかるので、これを語義として採用する。

  3. 以上の操作を行っても語義を特定できない場合は、ユーザとの対話によって語義を絞り込む。具体的には、語義ごとにキーワードを抽出してユーザに提示することで語義を選択してもらう。「いぬ」という語を国語辞書で調べると「戌」と「犬」の2語、あわせて4個の語義がある。そこで、システムはまず「戌」の語義「十二支の第十一。方角では…」から「十二支」「方角」などをキーワードとして取り出す。ついでユーザに質問してきた単語が十二支、方角に関係しているかどうかをたずね、YESならば「戌」の語義を返す。NOであれば「犬」の一番目の語義で同様の操作を繰り返す。以下、語義が特定されるまでこれを繰り返す。

キーワード(上位語、関連語等)はシソーラスは利用せずに、国語辞書の語義の説明文から取り出している。取り出し方としては、「日本語では重要な語は文の後のほうに出てくること多い」といったヒューリスティックな規則を使用して動的に生成している。シソーラスを用いない理由は、シソーラスは発想を広げるには役立つが厳密に絞っていくことは難しいと考えたためである。

対話による絞込みの段階では、システム側からのキーワードの提示だけではなく、ユーザからもキーワードを提示することが可能である。また、システム側から提示されたキーワードの語義をさらに質問することもできる。システム側から提示されるキーワードは語義の説明文中の単語であり、属性としてその文に適した語義のIDを持っている。そのため、キーワードの語義を質問されても語義の絞込みの必要はない。

2.2 複合語の語義の生成

複合語の意味を質問された場合、まず要素である単語ごとの語義を決定する。要素となる単語の語義が複数ある場合には上記の手順でその語義を絞り込む。全ての要素の語義が決定すると、その語義の説明文から適切な一文を生成し、ユーザに応答する。要素である単語ごとに語義を説明するのではなく、複合語全体でひとつの説明文を返すのは、その方が対話として自然だと考えたためである。説明文の生成の方法としては、語義の主語部分と直前の単語の語義を置き換えるなどである。例えば、「保存運動」という語の場合、「保存」「運動」の2語の語義から説明文を生成する。それぞれの語義は「そのままの状態を保つようにして、とっておくこと」、「目的達成のために、いろいろな方面に働きかけて努力すること」である。「目標達成」を「保存」の語義と置き換えて、「そのままの?とっておくことのために、?努力すること」を説明文とする。

しかし、複数の単語の語義からひとつの説明文を自動で生成することができないこともある。単語どうしの関係がわからないために単語の語義は決定していても複数の意味に解釈できてしまうためである。

2.3 履歴情報の利用

履歴情報には、ユーザがどんな単語の辞書引きをしたのか、また辞書引きした単語の語義が記録されている。これを利用して複合語中の単語で以前説明した単語の部分の語義の説明を繰りかえさないようにしている。例えば、ユーザが「不起訴処分」という単語の意味を質問した後で、今度は「不起訴釈放」という単語の意味を質問してきた場合、「不起訴」の語義は同じであるので「不起訴」はそのままで「釈放」の語義と結合してユーザに返す。

また、システムは行動履歴を見て適当なところで文書の読み上げに戻るようにユーザを促す。

3 おわりに

本研究では、文中の語義の説明を行う対話的システムを試作した。発話意図データベースにあるテンプレートと一致する発話でないと認識できないことや、システムは人間のように常識や柔軟な推論能力を持っていないため、曖昧さが解消されない場合、すぐユーザに質問してくるなど、まだまだ改良点は多い。しかし、必要に応じて情報の追加をしながら問題の解決を目指すことができるという対話の利点を生かしたシステムを作成することができたと思われる。