JP2004334264A - Natural language analysis device, method, and program - Google Patents

Natural language analysis device, method, and program Download PDF

Info

Publication number
JP2004334264A
JP2004334264A JP2003124844A JP2003124844A JP2004334264A JP 2004334264 A JP2004334264 A JP 2004334264A JP 2003124844 A JP2003124844 A JP 2003124844A JP 2003124844 A JP2003124844 A JP 2003124844A JP 2004334264 A JP2004334264 A JP 2004334264A
Authority
JP
Japan
Prior art keywords
attribute
semantic expression
sentence
semantic
answer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003124844A
Other languages
Japanese (ja)
Inventor
Akira Takagi
朗 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CSK Corp
Original Assignee
CSK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CSK Corp filed Critical CSK Corp
Priority to JP2003124844A priority Critical patent/JP2004334264A/en
Publication of JP2004334264A publication Critical patent/JP2004334264A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To properly answer to a query described in various expressions. <P>SOLUTION: In a context buffer 22 and a query solving DB 25, an input sentence and a knowledge necessary for solving queries are stored as "a semantic representation, which is constructed by combining attributes together and linked between the attributes matching mutually". In a problem solving part 32, a semantic representation corresponding to that of the input sentence is searched from the input sentence stored in a semantic representation format and the knowledge necessary for solving queries, and an answer to the query is obtained by referring to an attribute value included in the searched semantic representation. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、自然言語による入力文で問われている問題に対して回答を探索する自然言語解析装置、自然言語解析方法および自然言語解析プログラムに関し、特に、多様な言い回しで問われる問題に対応して的確な回答を取得することが可能な自然言語解析装置、自然言語解析方法および自然言語解析プログラムに関する。
【0002】
【従来の技術】
従来より、自然言語による入力文で問われている問題(例えば、教育現場における学生の質問など)に対して回答を探索するものとして、以下の非特許文献に示すように、類似質問を回答DB(データベース)から検索するなどして回答する対話システムが検討されている。
【0003】
【非特許文献1】
香川修見、神谷泰宏、今井裕之、上林彌彦:“遠隔教育システムにおける効率的な質問回答の支援(教育とグループウェア、および一般)”、情報処理学会研究報告、96−GW−17−9、1996
【非特許文献2】
堤豊、牛島和男:“電子メールを用いた日本語文による質問応答システムにおける類似質問の抽出について”、情報処理学会研究報告、97−NL−117−22、1997
【非特許文献3】
上原三八、山本里枝子、小川知也:“LISP−PAL:プログラミング支援のための自然言語による質問応答システム”、情報処理学会論文誌、Vol.30、No.11、1989
【0004】
【発明が解決しようとする課題】
しかしながら、上記の研究を含む従来技術では、対話が1往復しか許されなかったり、教師などが検索結果から適切な回答を選択しなければならないなどの問題があり、多様な言い回しで入力される質問に対して人手を介することなく的確に回答することができなかった。
【0005】
すなわち、例を挙げて説明すると、例えば、「オークラの所在地はどこか。」および「オークラに泊まりたいんだが、どこにあるか。」という各入力文に対しては、同一内容の質問であることを汲み取って同一の回答を行う必要がある。一方、「ホテルコンコルドに泊まりたいんだが、料金はいくらくらいか。」および「ホテルコンコルドで食事をしたいんだが、料金はいくらくらいか。」という各入力文に対しては、前者で問題にされている「料金」が「ホテルコンコルド」の「宿泊料金」であり、後者で問題にされている「料金」が「ホテルコンコルド」の「食事料金」であることを汲み取って別々の回答を行う必要がある。
【0006】
そして、かかる回答を的確に行うためには、多様な言い回しの入力文で表現されている内容を汲み取った上で、疑問文や先行する入力文の内容に即して、回答に必要な情報を然るべきところで探索する必要があるが、類似質問を回答DBから検索するという上記の従来技術の手法では、多様な言い回しを受容していないため、的確に回答することもできなかった。
【0007】
そこで、この発明は、上述した従来技術による問題点を解消するためになされたものであり、多様な言い回しで問われる問題に対応して的確な回答を行うことが可能な自然言語解析装置、自然言語解析方法および自然言語解析プログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、自然言語による入力文で問われている問題に対して回答を探索する自然言語解析装置であって、前記入力文および前記回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として記憶する意味表現記憶手段と、前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して前記問題に対する回答を取得する回答探索手段と、を備えたことを特徴とする。
【0009】
この発明によれば、入力文および回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として記憶する。そして、記憶された意味表現のなかから入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して問題に対する回答を取得する。したがって、多様な表層表現に対して多様性や不定形性を排除した意味表現を利用することによって、多様な言い回しの入力文で表現されている内容を汲み取った上で、然るべきところを探索して回答を取得することができるので、多様な言い回しで問われる問題に対応して的確な回答を行うことが可能になる。
【0010】
また、請求項2に係る発明は、上記の発明において、前記入力文の意味表現に応じて、前記入力文によって問われている問題の種別を判定する問題種別判定手段をさらに備え、前記回答探索手段は、前記問題種別判定手段によって判定された問題の種別を踏まえて前記問題に対する回答を探索することを特徴とする。
【0011】
この発明によれば、入力文の意味表現に応じて、入力文によって問われている問題の種別を判定し、判定された問題の種別を踏まえて問題に対する回答を探索する。したがって、例えば、YesNo疑問文、WH疑問文、要求文、願望文といった多様な入力文を通じて問われる問題の種別を的確に汲み取った上で、各問題の種別に応じた的確な回答探索を行うことが可能になる。
【0012】
また、請求項3に係る発明は、上記の発明において、前記問題種別判定手段は、前記入力文の意味表現に疑問マーカが付与され、かつ、当該意味表現に問題対象属性が含まれていない場合には、前記入力文の真偽が問われていると判定し、前記回答探索手段は、前記問題種別判定手段によって前記入力文の真偽が問われていると判定された場合には、前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値と一致するか否かを判定して前記回答を取得することを特徴とする。
【0013】
この発明によれば、入力文の意味表現に疑問マーカが付与され、かつ、当該意味表現に問題対象属性が含まれていない場合には、入力文の真偽が問われていると判定する。そして、入力文の真偽が問われていると判定された場合には、記憶された意味表現のなかから入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値と一致するか否かを判定して回答を取得する。したがって、いわゆるYesNo疑問文で問われている問題に対して的確な回答を取得することが可能になる。
【0014】
また、請求項4に係る発明は、上記の発明において、前記問題種別判定手段は、前記入力文の意味表現に疑問マーカが付与され、かつ、当該意味表現に問題対象属性が含まれている場合には、当該所定の属性値の内容が問われていると判定し、前記回答探索手段は、前記問題種別判定手段によって前記所定の属性値の内容が問われていると判定された場合には、前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる問題対象属性に対応する属性値を抽出して前記回答を取得することを特徴とする。
【0015】
この発明によれば、入力文の意味表現に疑問マーカが付与され、かつ、当該意味表現に問題対象属性が含まれている場合には、当該所定の属性値の内容が問われていると判定する。そして、所定の属性値の内容が問われていると判定された場合には、記憶された意味表現のなかから入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる問題対象属性に対応する属性値を抽出して回答を取得する。したがって、いわゆるWH疑問文や要求文、願望文で問われている問題に対して的確な回答を取得することが可能になる。
【0016】
また、請求項5に係る発明は、上記の発明において、前記回答探索手段は、前記入力文の構造および/または位置に応じて、前記意味表現記憶手段によって記憶された意味表現のなかで範囲を限定して検索を行うことを特徴とする。
【0017】
この発明によれば、入力文の構造および/または位置に応じて、記憶された意味表現のなかで範囲を限定して検索を行う。したがって、入力文の意味表現に対して真に相互関係がある意味表現のみを探索対象として的確な回答を取得するとともに、処理効率の向上を図ることが可能になる。
【0018】
また、請求項6に係る発明は、上記の発明において、前記回答探索手段は、複数の範囲に限定して前記回答を探索する場合には、所定の順序で各範囲を探索することを特徴とする。
【0019】
この発明によれば、複数の範囲に限定して回答を探索する場合には、所定の順序で各範囲を探索する。したがって、入力文と直接的な相互関係を有する可能性が高い範囲を優先的に探索して、的確な回答を迅速に取得することが可能になる。
【0020】
また、請求項7に係る発明は、上記の発明において、前記回答探索手段は、前記入力文に先行する入力文に限定して前記回答を探索する場合には、所定の語が見つかるまで遡って探索することを特徴とする。
【0021】
この発明によれば、入力文に先行する入力文に限定して回答を探索する場合には、所定の語が見つかるまで遡って探索する。したがって、例えば、話題の切替を示すような所定の語を探索範囲の限界として設定して、際限なく無意味な検索が行われる事態を回避することが可能になる。
【0022】
また、請求項8に係る発明は、自然言語による入力文で問われている問題に対して回答を探索する自然言語解析方法であって、前記入力文および前記回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として記憶する意味表現記憶工程と、前記意味表現記憶工程によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して前記問題に対する回答を取得する回答探索工程と、を含んだことを特徴とする。
【0023】
この発明によれば、入力文および回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として記憶する。そして、記憶された意味表現のなかから入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して問題に対する回答を取得する。したがって、多様な表層表現に対して多様性や不定形性を排除した意味表現を利用することによって、多様な言い回しの入力文で表現されている内容を汲み取った上で、然るべきところを探索して回答を取得することができるので、多様な言い回しで問われる問題に対応して的確な回答を行うことが可能になる。
【0024】
また、請求項9に係る発明は、自然言語による入力文で問われている問題に対して回答を探索する方法をコンピュータに実行させる自然言語解析プログラムであって、前記入力文および前記回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として意味表現記憶手段に格納する意味表現格納手順と、前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して前記問題に対する回答を取得する回答探索手順と、をコンピュータに実行させることを特徴とする。
【0025】
この発明によれば、入力文および回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として意味表現記憶手段に格納する。そして、記憶された意味表現のなかから入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して問題に対する回答を取得する。したがって、多様な表層表現に対して多様性や不定形性を排除した意味表現を利用することによって、多様な言い回しの入力文で表現されている内容を汲み取った上で、然るべきところを探索して回答を取得することができるので、多様な言い回しで問われる問題に対応して的確な回答を行うことが可能になる。
【0026】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る自然言語解析装置、自然言語解析方法および自然言語解析プログラムの好適な実施の形態を詳細に説明する。なお、以下においては、本実施の形態で用いる主要な用語の意味([0:用語の説明]に対応)、本発明を着想する基礎となった研究の内容([1:研究1の内容]、[2:研究2の内容]に対応)、本実施の形態に係る自然言語解析装置([3:本実施の形態に係る自然言語解析装置]に対応)を順に説明し、最後に種々の変形例([4:他の実施の形態]に対応)を説明する。
【0027】
[0:用語の説明]
まず最初に、本実施の形態で用いる主要な用語である「意味表現」の意味を説明するが、ここでは、以下に示すように、[0−1:課題]、[0−2:依存関係の排除]、[0−3:枝解析「連用修飾成分=助詞句」の場合]、[0−4:枝解析「連用修飾成分=副詞」の場合]、[0−5:枝解析「連用修飾成分=接続助詞句」の場合]、[0−6:意味内容の参照容易化]、[0−7:意味表現間の依存関係の安定表現]、[0−8:具体的構造]に区分けして説明する。
【0028】
[0−1:課題]
従来の自然言語解析システムにおいては、句や節の意味を表現する際、表層の依存関係を未解析のまま利用して意味表現を記述せざるを得ず、例えば、従来の述語形式による意味表現においては、文や節の意味を、「述語(主格名詞、対象格名詞、等)」といった形式で表現していた。
【0029】
これを具体的に説明すると、「私は東京から高速で日光に行く。」という文S1を「Go(私、東京、日光、高速)」という意味表現M1で表現し(ここで、「Go」は述語「行く」の意味を表し、「私」「東京」「日光」「高速」は、名詞「私」「東京」「日光」「高速」に対応する定数記号、もしくは意味表現へのポインタを表す)、また、文S1と実質的に同じ意味を持つ「私は日光に行く。出発地は東京だ。高速を使う。」という文S2は、「Go(私、nil、日光、nil) ∧ Eq(出発地、東京) ∧ Use(nil、高速)」という意味表現M2で表現していた(ここで、「Eq」は「だ」、「Use」は「使う」の意味を表し、「nil」は空白、「∧」は連言を表す)。
【0030】
しかしながら、上述の文S1、S2を依存構造で表現してみれば分かるように、意味表現M1は、元の文S1の依存構造に対応した依存構造を持ち、意味表現M2は、元の文S2の依存構造に対応した依存構造を持つ。すなわち、意味表現M1と意味表現M2は、同じ意味を持つ文の意味を表す意味表現でありながら、元の文S1、S2に対応した異なる依存構造を持つ。
【0031】
このように、文S1、S2が同じ意味を持つ文でありながら、意味表現M1、M2の形態は、文S1、S2の依存構造と連動して変動してしまう。したがって、M1、M2を相互に比較しても、両者が同じ意味を表現していることを機械的に判断することができない。このような問題は、述語形式以外の従来の意味表現においても同様である。
【0032】
このような従来の問題を解消するため、すなわち、上記のような困難性を回避して、的確な文章の識別や文間の意味関係の識別を可能とするためには、少なくとも、単語の場合と同様に、句や節の意味の全体集合を定義し、その中に、個々の句や節の意味を位置付けることを可能にしなければならない。
【0033】
ここで、依存関係を解析する技術が存在しない現時点において、句や節の意味を位置付けるための1つの方法は、見かけ上、依存関係の表現をできる限り排除し、排除できない部分に関しては、表現しようとする意味によって変動しない共通の依存関係のみを残し、結果として、依存関係の解析が不要になるような意味表現を構築することである。このようなことから、本実施の形態では、入力された文の意味を、先行文の意味や関連する知識の上に位置付け、文意の比較や照合を安定的に行うことを可能にする「意味表現」を採用して自然言語解析を行っている。
【0034】
[0−2:依存関係の排除]
本解析では、上記したように、「見かけ上、依存関係の表現をできる限り排除し、排除できない部分に関しては、表現しようとする意味によって変動しない共通の依存関係のみを残す」という課題を達成する。このため、以下の2つの処理を行う。
【0035】
(1)まず、各節を「述語+各連用修飾成分」という「枝」の集合に分解し、各枝の意味を、それぞれ他の枝とは独立して解析する。ここで、連用修飾成分としては、格助詞句、副詞句、接続助詞句等がある。
(2)その後、同一文内の他の節、他の文、または、知識中の同種の意味を表す枝同士の相互参照を容易にするために、各枝の解析結果の一部(後述する「属性」)に、意味的に対応する他の枝の意味内容を参照するための「リンク」を付加する。
【0036】
[0−3:枝解析「連用修飾成分=助詞句」の場合]
最初に、「枝」の解析において、連用修飾成分が格助詞句である場合について説明する。「述語+格助詞句」、すなわち、「述語+格助詞+格につく名詞」という枝の解析においては、これを「(述語+格助詞+格につく名詞の上位概念)=格につく名詞」と同義変換する。例えば、「小金井市に住んでいる」という枝を、「住んでいるところ=小金井市」に同義変換する。そして、この中の「述語+格助詞+格につく名詞の上位概念」を、名詞1語に変換する(以下、名詞化)。例えば、「住んでいるところ」を「住所」という名詞に変換する。そして、枝の意味を「名詞=格につく名詞」と表現する。これにより、上記の枝「小金井市に住んでいる」の意味を、「住所=小金井市」と表現する。
【0037】
ここで、名詞化の際に用いる名詞としては、解析対象である枝が属する節の表す現象によって一意に定まり、述語に依存しない名詞を選択する。このような名詞は、例えば、「述語+格助詞+格につく名詞の意味分類」と「名詞」との対応関係を予め定義する意味情報テーブルを述語意味表現に付随して持たせておき、この意味情報テーブルを必要に応じて参照することで、容易に選択できる。
【0038】
なお、以下では、「述語+格助詞+格につく名詞の上位概念」から変換される「名詞」を「現象属性」と称すると共に、この格につく「名詞」を「属性値」と称する。また、「名詞=格につく名詞」を「現象属性 属性値」と略記する。ここで、「現象属性」とは、現象概念を構成する基本的な性質をいう。これに対して、「色」「形」「大きさ」等、実体概念を構成する基本的な性質を「実体属性」と称することにする。なお、実体概念は実体属性に加えて「現象属性」を含む場合がある。
【0039】
例えば、「りんご」の属性「産地」や、「駐車場」の属性「収容台数」等は、それぞれ「産する」、「収容する」に対応する現象を規定する属性であるとみなすことができる。なお、これら「現象属性」と「実体属性」とを一括して言及する際には、単に「属性」と略記する。このように、各枝を解析する際、各枝の意味をこのような形式で表現することにより、各枝の「述語−格助詞−名詞」という依存関係をそれぞれ対応する現象属性の中に繰り込み、「=」が作る一様な依存関係に変換できる。なお、「=」は、意味表現中では省略する。
【0040】
[0−4:枝解析「連用修飾成分=副詞」の場合]
次に、連用修飾成分が副詞の場合について説明する。副詞は、格成分と異なり、例えば、「ゆっくり進む」=「平均以下の速度で進む」=「進行する速度=平均以下」=「進行速度=平均以下」等のように表現できることからも分かるように、1語の意味の中にそれが限定する「現象属性(上記の例で「進行速度」)」と「値(上記の例で「平均以下」)」の両方の情報を含む。
【0041】
したがって、予め、副詞が、どのような現象属性をどのような値であると限定するのかを、「現象属性 属性値」の形式で、概念辞書として記憶しておくことにより、格成分と同様に扱うことができる。なお、副詞には「とても」等の「程度副詞」が付いて副詞句をなすが、程度副詞の働きは、主として属性値を強調することにあり、したがって、程度副詞を含めた副詞句の意味も、やはり「現象属性 属性値」の形式で表現される。
【0042】
[0−5:枝解析「連用修飾成分=接続助詞句」の場合]
次に、連用修飾成分が接続助詞句の場合について説明する。「名詞+(準)動詞+接続助詞」の形の連用修飾成分についても、それが修飾する述語または助動詞の意味と、名詞と(準)動詞および接続助詞の組み合わせにより、どのような現象属性の値を限定するのかが定まる。
【0043】
例えば、「電車を使って行く」という表現は、「行く際に使用する交通機関=電車」に同義変形され、また「宇都宮を経由して行く」という表現は、「行く際に経由する場所=宇都宮」に同義変形されるが、まず、「使用」現象、「経由」現象に着目すると、「使用する交通機関=電車」=「移動手段=電車」、「経由する場所=宇都宮」=「経由地=宇都宮」というように、上記述語を修飾する格助詞句の場合と同様に、現象属性(「移動手段」「経由地」)を定義して、依存関係をその中に繰り込んで、「現象属性 属性値」という形式で意味を表現することができる。
【0044】
また、「行く際に使用する交通機関は電車である」、「行く際に経由する場所は宇都宮である」という表現は、まず「移動」という現象が前提としてあって、その中で「使用する交通機関」や「経由する場所」を限定する、という形の意味を表す。したがって、「出発」「進行」「到着」が「移動」現象の部分現象であるのと同じように、「移動媒体利用」現象、「場所経由」現象もまた、「移動」現象に含まれる部分現象であると見なすことができる。
【0045】
そこで、部分現象の属性は全体現象の属性でもある、と考えると、全ての部分現象の属性を含めて全体現象の属性群を定義することにより、「電車を使って」、「宇都宮を経由して」という表現が表す意味を全体現象の属性に対応付けて、全体の「移動」現象を規定する情報として解釈することができる。
【0046】
一方、「に+おける+て」「に+つく+て」「に+関する+て」「に+対する+て」など、「格助詞+準動詞+接続助詞」の形式を持つ接続助詞句の場合は、準動詞が現象を指し示す力を持たず、「東京において開催する」=「東京で開催する」=「開催場所=東京」、「検索エンジンの性能について検討する」=「検索エンジンの性能に関して検討する」=「検索エンジンの性能を検討する」=「検討内容=検索エンジンの性能」、「ホテルに対して苦情を言う」=「ホテルに苦情を言う」=「表明先=ホテル」(&「表明内容=苦情」)、のように、格助詞句と同等もしくはそれに近い働きで、それが修飾する現象の属性の値を直接限定する。
【0047】
したがって、予め助動詞または述語意味表現に付随して「述語または助動詞+接続助詞句−現象属性」対応テーブルを定義しておくことにより、やはり同一形式の意味表現を得ることができる。これにより、任意の述語が作る多様な節の意味表現を、全て唯一通りの「述語(「=」)」と「依存関係」とから構成して、表現構造を均質化できる。この結果、意味表現が表す意味内容の同定、意味表現間の比較照合処理、もしくは、意味表現−知識表現間の比較照合処理において、依存関係の解析が不要になる。
【0048】
例えば、節「東京を出発する」、節「東京から行く」、および、節「出発地は東京だ」は、いずれも「出発地(現象属性) 東京(属性値)」と表現する。なお、この表現形態は、一見すると従来の処理によるフレーム表現の如き表現形態と類似しているが、「述語概念−格概念−格名詞の上位概念を表す名詞の意味が現象属性の意味の中に繰り込まれていることにより、現象属性のみによって、表現されている現象を特定し、リスト構造のマッチングを行うことなしに他の意味表現中の関連する情報を参照することが可能になる」という点において、全く異なる。
【0049】
本方法においては、このような依存関係の圧縮および均質化を行った各枝の解析結果を、同一の文の他の枝の解析結果、同型式で記述された先行文の各枝の解析結果、および、知識表現を構成する各「現象属性 属性値」表現に対して、順次照合または重ね書きすることにより、節、文、あるいは、文脈単位での解析結果を得る。
【0050】
ここで、各枝を単に「現象属性 属性値」の形式で表現した場合だけでは、解決できない問題がある。すなわち、節全体の意味を他の節中で参照することが必要になる場合があるという問題が生ずる。この問題点を解決するため、節を構成する各枝に対応する「現象属性 属性値」表現を「フレーム」として束ね、節全体の参照を容易化する。なお、この「フレーム」には現象に対応した概念名を付与する。これらの点は、助動詞とそれを修飾する連用修飾成分に関しても同様である。
【0051】
[0−6:意味内容の参照容易化]
そして、このように「フレーム」として束ねた複数の「現象属性 属性値」表現の相互参照を容易にするため、各フレームの対応する現象属性間にリンクを張る。これによって、各現象属性を相互に関連付ける。
【0052】
[0−7:意味表現間の依存関係の安定表現]
さて、これまで説明した基本方針(1)および(2)によって、節中の各枝の意味表現(知識表現)を特定できる。しかしながら、この表現だけでは、未だ解決できない問題がある。すなわち、文全体や節全体の意味を特定するためには、各々の枝の意味を特定することに加えて、各意味表現間の依存関係についても安定的に表現しておく必要がある。すなわち、格成分、接続助詞、副詞の係り先が、助動詞、時制、または、相の有無で変動しないようにする必要がある。
【0053】
このため、本方法においては、概念的に、これら助動詞、時制、または、相の有無に関わらず、一定の構造を持つ意味表現の枠組(以下、「現象配列」)を定義する。具体的に、実装レベルにおいては、「節」を解析する毎に、意味表現を保持する「現象配列」を生成する。そして、「節」の解析の過程で得られる述語、助動詞もしくは相当表現、接続助詞句、終助詞等についての、意味表現へのポインタやマーカ類を、この「現象配列」の特定の配列要素に順次代入する。このことにより、各意味表現間の依存関係を安定的に表現し、文全体や節全体の意味を安定的に特定する。
【0054】
[0−8:具体的構造]
次に、これまでに説明したような基本方針に基づいて決定した「意味表現」および「現象配列」の具体的構造について説明する。なお、ここでは、構造のみを説明するが、この意味表現および現象配列を生成するための具体的な装置構成および具体的な処理内容については「特願2001−309128」の明細書および図面において詳述の通りである。
【0055】
この構造は、図1に概念的に示すように、各節の各枝から生成される意味表現をフレーム形式で束ねた1以上の意味表現(図1では複数の意味表現m〜p)と、各節毎に生成される現象配列1,2とから構成される。以降、このフレーム形式で束ねられた意味表現を「意味表現」と称し、さらに、現象配列で束ねられた意味表現も「意味表現」と称することにする。
【0056】
また、これら複数の意味表現は、その現象属性(図では単に「属性」と表記。以下、特記する場合を除いて同様)間にリンクを張ることによって相互に関連付ける(以下、各図面において、属性間のリンクを線で結んで示す)。この関連付けは、概念的には、各表現間をリンクで「貫き通す(結ぶ)」イメージで行う。さらに、また、現象配列には、各意味表現へのポインタ等を格納し、各意味表現間の依存関係を安定的に表現する(以下、各図面において、ポインタを矢印にて示す)。
【0057】
[1:研究1の内容]
次に、図2〜図8を用いて、本発明を着想する基礎となった一つの研究(研究タイトル「文脈への意味の位置づけに基づくホテル予約対話システムの構築」、以下では「研究1」と呼称する。)の内容を説明するが、ここでは、以下に示すように、[1−1:はじめに]、[1−2:システム概要]、[1−3:意味表現]、[1−4:制御部]、[1−5:入力文解釈部]、[1−6:応答文生成部]、[1−7:問題解決部]、[1−8:動作例]、[1−9:まとめ]に区分けして説明する。
【0058】
[1−1:はじめに]
自然言語によるタスク指向の対話システムでは、対話の中で得た情報をシステム自身の問題解決プロセス中に位置付けて、適切な問題解決行動を実現しなければならない。しかしながら、ユーザからの情報は、同一の内容であったとしても、多様な言い回しでもって入力される。また、ある事柄を述べるのに、複数の文に分けて発話される場合もある。さらに、ユーザ主導型のシステムでは、ユーザからの情報は、システムがその情報の入力を促したときだけ入力が許されるのではなく、対話中の様々な状況で発話可能である。
【0059】
したがって、ユーザからの自由な表現を受容するタスク指向の対話システムを実現するには、「自由な文体で入力された文の意味を正しく解釈できること」および「解釈した情報を自らの問題解決行動に正しく反映できること」が必要となる。後者を実現するためには、解釈した情報が自分の問題解決プラン中のどの部分に関して、どのような制約を与えているかを判定する必要がある。そのために、入力文の解釈結果も、問題解決プランも共にある種の意味を表現したものと捉えると、意味表現同士の比較・位置付けを自由に行えることがポイントとなる。
【0060】
以下の本稿では、別稿で紹介されている意味表現方式(高木朗, 中島秀之, 伊東幸宏, 近藤真, 今仁生美, 三宅芳雄 : ”文脈への意味の位置づけを重視した対話意味表現,” 人工知能学会研究会資料 SIG−SLUD−A202−09, 2002.)をベースに開発を進めているホテル検索予約対話システムの概要について述べる。
【0061】
[1−2:システム概要]
システムの構成を図2に示す。入出力インタフェースを通して入力文が入れられると、入力バッファに保持される。システムの制御部は入力文解釈、問題解決、応答文生成の動作を制御する。システムは入力文バッファに入れられた入力文を解釈して文脈に意味表現を蓄積する。次いで、文脈とシステムの内部状態に応じて必要な問題解決が起動され、応答文の意味表現を生成して出力文バッファに積む。応答文生成部は、出力文の意味表現から日本語文を生成して出力する。なお、システムはSWI−prologで実装されている。
【0062】
本システムは、多様な表層表現に対し、多様性や不定形性を排除し、対話の意味内容の比較が可能な意味表現に変換し、文脈情報として蓄積することが可能である。なお、現在実装されているシステムの対話はキーボードによる入力とディスプレイへの出力で行われる。将来的には音声対話を取り扱いたいと考えているが、音声対話では、実時間性や環境とのインタラクション、非定型文や言い淀みなど、書き言葉とは桁違いの処理の柔軟性が要求される。我々は、現在のところ言い回しの柔軟性を許容し、適切な問題解決を行うことを目的としているため、音声対話への移行は今後徐々に進めていく予定である。
【0063】
[1−3:意味表現]
本システムでは、別稿で提案した意味表現を用いて意味解析を行う。この意味表現方式は、「現象属性/実体属性=値」を基本単位として文の意味や知識の内容を表す。しかし、一般に現象や実体の属性の値が付帯条件なしで定まる場合には、この形式で表現することができるが、ホテル対話の中で頻繁に言及される距離や料金や所要時間等の情報は、複数の条件設定をしないと属性値が決まらない。このタイプの情報は、単純に「属性=値」だけでは記述できない。例えば、宿泊料金は、客室タイプや食事などのサービスのタイプによって値が変動してしまう。距離は、計測基点によって、その値が変動する。このような情報は、通常、テーブルを用いて表現されている。テーブルで表される情報は、見方によって異なる依存関係を抽出しうる複合的な依存関係を含む。そのため、このタイプの情報を言及する文章は極めて多様になってしまう。
【0064】
例えば、宿泊料金を部屋タイプとサービスのタイプを指定して、言及する表現は以下のようなものがある。
「Aホテルの2食付きのシングルの料金は1万円です」
「Aホテルの料金は、2食付きの場合、シングルだと1万円です」
「Aホテルの2食付きの料金は、シングルだと1万円です」
【0065】
このような文の意味表現は単純な「属性=値」の形式では表現できない。また、文の依存構造の多様性を吸収することもできない。そこで、テーブルで表されるべき情報を意味表現としてうまく表現する方法を検討する必要がある。前述のように、付帯条件によって値が変化しうる属性値は、図3の左図に示すようなテーブルで表現される。ここで、主属性とは、入力文の中で着目している属性(宿泊料金、距離等)のことを指し、副属性とは付帯条件を現す属性(客室タイプ、食事タイプ、基点)のことを指している。図3の左図に示すテーブルは、1組の副属性の値を指定したときに主属性が特定の値をとるから、図3のテーブルの情報を行方向に切り出して各々を1つのまとまりとして表現すると図3の右側のように表すことができる。
【0066】
これは、「現象属性/実体属性 = 値」を単位とした表現にほかならない。したがって、本稿で採用している意味表現形式でそのまま表現することができる。一方、付帯条件を表す情報は、文中では、属性名詞に対する連体修飾の形で表現されるものと、提題の「〜は」や「〜である(の)場合」や「〜だと」など連用修飾の形で表現されるものに大別できる。しかし、それらの表現は、1つの原型となる意味表現から派生しているものと考えることができる(高木朗, 伊東幸宏, 自然言語の処理, 丸善, 1987.)。「宿泊料金」の値を7千円、「客室タイプ」の値をシングルとした場合、「シングル(の客室タイプ)の料金は7千円である」が基本形となる。「シングル(の客室タイプ)の」部は、「客室タイプがシングルであるところの(料金)という意味と等価である。
【0067】
ここで、「客室タイプが」が省略されたり、「シングルであるところの料金」を「シングルの料金」と表現したりというようなバリエーションが発生する。一方、下線部「シングルの客室タイプの」の部分を切り離して「客室タイプがシングルである場合」とか「客室タイプがシングルだと」等とした表現が上記の分類の連用修飾の文である。ここでも、「客室タイプが」が省略されて「シングルだと」や「シングルの場合」と表現されたり、「シングルは」というように提題化されたりするなどのバリエーションが発生する(図4参照)。いずれも、上記の「シングル(の客室タイプ)の」部の表現を原型とするものであり、属性名詞が省略されている場合も、それを補完することにより、「属性 = 値」と表現することができる。よって、図3の「副属性 = 値」部分に上記の連体修飾もしくは連用修飾の意味表現を位置づけることができる。
【0068】
[1−4:制御部]
制御部は、基本的に以下に示す「入力文解釈、応答文生成、問題解決」の一連の動作を繰り返す。問題解決のフェーズでは、以下のような動作を行う。システムはホテル検索対話を遂行するために必要となる問題解決知識をもっている。システムは、システムの内部状態とルールの条件部を比較してヒットしたルールの実行部の動作を行う。システムの発話行為もこの中から呼び出されるので、対話の制御もルールベースで行われることになる。
【0069】
システムの内部状態は、それを表すフラグで定義されている。これはルールの適用によって書き換えられる。(基本単位の繰り返しの度に内部状態をモニタリングして更新される)。ホテル検索問題に固有のルールとフラグは、個別の問題解決に対する問題解決種別決定知識の中に記述されている。なお、制御において、1ループにおける問題解決フェーズで1回に発火させて、実行させるルールは1つに限定している。すなわち、1つのルールの実行部が規定するアクションをとると、入力文解釈、応答文生成が順次起動される。これによって、各々のアクションの切れ目で入力文の処理ができることになり、見かけ上随時割り込み入力が可能なようになっている。
【0070】
[1−5:入力文解釈部]
入力文解釈部の形態素・構文解析部における構文解析部では、(株)CSKで開発された日本語パーザを利用して、ユーザの入力文から格情報などを含んだ依存構造木を得る。
【0071】
一方、意味表現生成部では、構文解析結果の情報を元に、概念辞書を参照して、自立語について再帰的に意味表現生成を行う。終助詞、助動詞などの付属語については、その意味的な情報を自立語のフレームの中に繰り込む。生成の大まかな手順は、まず構文解析木のトップの語に着目し、その語に係る句・節が存在するか否かを調べる。句・節が存在する場合には、その枝に着目し、品詞に応じた意味表現生成処理を起動する。その中で、その語を修飾する枝が存在する場合には、その枝に着目し、同様に品詞に応じた意味表現生成処理を起動する。このようにして、構文木の末端まで処理が到達したら、意味表現を生成する。係る枝の意味表現を生成したら、その枝のトップの語の概念クラスと付属語の情報から、どの属性に格納されるべきかを決定する。
【0072】
全ての品詞に対する意味表現生成処理を用意してあるため、複雑な係りによって構成される文であっても正しく意味表現を生成することができる。構文解析木に忠実に意味表現を生成した後に、[1−3:意味表現]で述べたようなテーブル形式の意味表現へ変換を行う。
【0073】
[1−6:応答文生成部]
応答文生成部では、出力文バッファに出力文の意味表現が存在すれば応答文生成部にその意味表現を渡し、出力文の作成を指示し、ユーザに対して応答文を出力する。同時に、出力文バッファから出力した文の情報は消去し、出力した文は文脈情報として蓄積する。
【0074】
[1−7:問題解決部]
続いて、問題解決部について説明するが、ここでは、[1−7(1):問題解決部の概要]、[1−7(2):文脈との照応]、[1−7(3):文脈照応の順序と範囲に関する仮説の検証]に区分けして説明する。
【0075】
[1−7(1):問題解決部の概要]
問題解決部では、現在の文脈に対して適切な問題解決知識群の選択と、その知識に基づく問題解決を行う。適切な問題解決知識群の選択、すなわち問題解決種別の決定は、問題解決の起動要求と判定可能な現象属性あるいは実体属性に関する記述が出現することを監視することによって実行する。どのような記述が見つかった場合に、どの問題解決知識を選択すればよいかについても、知識として整理しておく。これを問題解決種別決定知識とよぶ。
【0076】
本システムが保持している問題解決知識としては、問題解決種別決定知識、ホテル検索問題解決知識、観光名所検索問題解決知識、質問応答問題解決知識、汎用問題解決知識がある。なお、問題解決知識は、if−then型 のプロダクションルールで記述している。
【0077】
システムが起動されると、最初、汎用問題解決知識と問題解決種別決定知識のみが利用可能な状態となっており、システムは待ち状態となっている。ユーザが文を入力すると、「入力バッファに情報があれば、それを解析して意味表現を文脈に積む」という汎用問題解決知識が発火して、入力文の意味表現を文脈に蓄積する。文脈には、[「検索対象 = ホテル」(依頼)]、[「存在主体 = ホテル」(疑問)]などの表現が蓄積されているので、それを条件部とする問題解決種別決定知識が発火して、ホテル検索問題解決知識を利用可能にする。
【0078】
ホテル検索問題解決知識の中には、「ホテルの検索条件中の場所条件が決まっていたら、ホテルを検索する」「ホテル検索結果が10件以上であれば、条件を追加する旨を発話する」「ホテルの検索条件中の場所条件が決まっていなければ、それを尋ねる発話をする」などの知識があり、システムは「現象属性 = 値」の形式で蓄積されている文脈情報とシステムの内部状態を表すフラグ([1−4:制御部]参照)を参照して、ルールの条件部を判定し、発火するルールに応じた振る舞いをする。
【0079】
ユーザから特定のホテルに関する質問が入力されると、質問応答問題解決知識が利用可能となる。その機能によって、入力がWH疑問文の場合は、疑問文の解釈結果と重なり合う意味表現を検索して回答する。また、YES/NO疑問文の場合は、入力文と重なり合う意味表現を文脈あるいは知識中で探し、見つかった場合にYES、見つからなかった場合にはNOを応答する。
【0080】
以上のシステムの動作で実行されることは、以下の4つの処理に集約される。
(1)ルールの条件部のフラグのチェック
(2)ルールの条件部の「属性 = 値」単位の記述の文脈との照応
(3)ルールの帰結部を実行するためのデータの収集
(4)ルールの帰結部の実行
(4−1)システムの内部状態の更新
(4−2)応答文の生成
【0081】
このうち、(1)と(4−1)はフラグの操作であり、チェックや更新の手続きを個別に用意することが可能である。一方、(2)、(3)、(4−1)は文脈に対する操作となる。文脈に対する操作は、文脈の参照と、文脈への書き込みに大別される。文脈への書き込みは(4−2)で応答文を生成する際に行われる。文脈の参照は、さらに、以下の2つのタイプに分けることができる。
(a)「現象属性/実体属性 = 値」を受け取り、文脈上に該当する記述があるか否かをチェックする。
(b)「現象属性/実体属性 = ?」(?は不明値)を受け取り、該当する属性値を文脈から抽出する。
【0082】
このうち、(a)のタイプの参照は、(2)やYES/NO疑問文への回答作成データを収集する際に行われる。また、(b)のタイプの参照は、(3)で実行される。WH疑問文への回答作成データの収集は(b)タイプの参照を必要とする典型的な処理である。
【0083】
ところで、(a)、(b)の違いは、値の部分が確定値であるか不明値であるかだけであり、基本的な文脈参照方法については何ら変わりない。そこで、次節では(b)タイプの参照を例に、文脈への照応処理について述べる。
【0084】
[1−7(2):文脈との照応]
文脈は、入力文およびその中の語の関連知識と、応答文の意味表現が対話の進行順に積まれているという形式で蓄積されている。この記述は「現象属性/実体属性 = 値」を基本単位としている。したがって、文脈上で(b)タイプの参照を行う場合、一致する現象属性あるいは実体属性に関する記述を文脈上でサーチすればよい。現象属性および実体属性に関しては、それらの間の概念階層を定義することが可能であり、マッチングに際してはその概念階層を利用して行う。現象属性/実体属性の記述は、属性単独の記述ではなく、現象や実体のタイプと属性のタイプおよびそれらの間の依存構造を一つにくくりだした概念である(別稿参照)。したがって、単なるノード同士のマッチングであるにもかかわらず、くくり出された依存構造をもつ構造体同士のマッチングと同一の精度で文脈中の該当する記述を特定することが可能である。
【0085】
しかしながら、対話が継続して文脈が蓄積されてくると、同一の現象属性/実体属性が異なった意味で出現することも起こりうる。したがって、文脈上で該当する現象属性/実体属性を探索すべき範囲をある程度規定しておく必要がある。このことは、探索空間を狭い範囲に制限することであり、処理効率の向上にもつながる。
【0086】
上記の(b)タイプの参照のうち、ルール中に参照すべき現象属性/実体属性が指定されている場合は、そのルール中に探すべき範囲も規定されている。例えば、「ホテルの検索条件中の場所条件が決まっていなければ、それを尋ねる発話をする」というルールでは、ホテルの検索条件を整理するために用意されている領域中で場所属性を探索して、その値をみればよい。
【0087】
一方、WH疑問文で問われたことの回答を探索する場合のように、探索すべき属性がユーザ発話の中で指定される場合は、ユーザ発話の文構造や文脈上での位置に基づいて探索範囲を制限する必要がある。そこで、まず、WH疑問文で問われている属性を探索する範囲について検討する。
【0088】
例えば、オークラの存在場所属性を問う場合を考えてみる。「オークラ」という実体はある性質を持っているから、特定の性質を持つ現象(例えば存在現象)に参画し、寄与する事ができる。全く「場所」の概念を持たない実体に対して、「どこにあるか」と問うことはできない。ある実体を指定してある現象属性の値を問う場合、必ずその実体の意味表現の中に求める属性−値表現がある。
【0089】
実体を指定する格は現象毎に定まっている。例えば(a) 「オークラはどこにあるか。」と存在現象の存在場所属性を問われた場合、主格の「オークラ」の意味表現中で存在場所属性を探索すればよい(図5参照)。また、「オークラにいくらで泊まれるか。」のように宿泊行為の宿泊料金属性を尋ねられた場合には、「泊まる」に場所格で係る格補語(宿泊行為の宿泊場所属性の値、すなわち「オークラ」)の中で宿泊料金が規定されている(図6参照)。現象属性と実体意味表現中の属性は、微妙に異なり、両者の関係は、厳密には推論によって判断されるものである。
【0090】
例えば宿泊料金の場合、図6に示すように、「オークラ」の中で宿泊料金は「宿泊に際して客に請求する料金」と規定され、一方で、宿泊現象の宿泊料金属性は「宿泊に際して宿泊施設に支払う料金」と規定されているかもしれない。その場合、両者の同値性を判定するためには推論が必要である。しかし、そのような推論を行わなくても、共に概念階層上で「料金」の下位にあるということを利用して、両者が、少なくとも同種の情報であることを判定し、互いに位置づけることができる。また、両者に同一の「宿泊料金」というシンボルを与えてしまえば、両者の同一性は直ちに判定可能となる。
【0091】
以上の考察から、「オークラはどこにあるか。」という疑問文に対しては、不明値を表す“?”を値とする現象属性「存在・場所」の隣の属性「存在・主体」の中を探索すればよいと考えられる。
【0092】
一方、オークラの存在場所を問う疑問文には、以下のようなバリエーションが存在する。
(b)「オークラの所在地はどこか。」
(c)「オークラは、所在地はどこか。」
(d)「所在地はどこか。」
(e)「オークラに泊まりたいんだけど、どこにあるか。」
「オークラに泊まりたいんだ。どこにあるか。」
【0093】
このうち、上記の(b)の文は、連体助詞によって「オークラの」が直接係っているので、若干事情は異なるが、「の」は関係節と等価な意味を持つから、結局は(a)と同じ位置関係にある属性の値を取得することになる。この場合、不明値“?”を値とする現象属性自体を表す意味表現中の内包主体属性の値となっている実体の意味表現中を探索することにより回答を得ることができる(図7参照)。
【0094】
また、上記の(c)の文は、連体修飾句「オークラの」が切り離されて提題化したものである。したがって、原型は連体修飾句である。さらにその原型は関係節を構成する現象表現である。よって、最終的には(a)と同型の位置に該当する属性値があると見なすことができる。すなわち、提題格で指定される実体の意味表現も探索範囲に加えておく必要がある。
【0095】
上記の(d)の文は、(c)の提題表現が省略された表現であるから、(a)と同型の位置に該当する属性値が存在すると考えてよい。ただし、省略されている提題化されるべき実体概念を文脈中から補完する必要があり、先行文脈も探索範囲として考慮する必要がある。
【0096】
上記の(e)の文は、省略成分や問われている情報が自分の現象/実体意味表現の中に存在しない場合である。上の例では存在現象の存在場所属性が問われているが、答えは前提節で指定されている「宿泊現象」の宿泊場所属性の値である「オークラ」の意味表現の中にある。このような場合、省略成分や問われている情報は、先行節や文脈中にあるはずである。特に、ある現象が前提として与えられ、その上である現象属性の値が問われる、という場合を考えると、その値を限定するために必要だから、その前提が提示されたはずである。したがって、その枠の中で問われた属性の値を求めればよいということである。ということは、もし、枠を与える現象属性の中に、問われている属性と一致するものがあるなら、その属性の値が問われているものであると判定してよいということになる。
【0097】
なお、先行節や文脈中にある現象が記述されている場合、その表現における現象属性と実体属性との関係は、(a)におけるそれと同型である。すなわち、次のような推論によって「宿泊現象」の「宿泊場所属性」と、その値である「オークラ」の「存在場所属性」が同種の情報であり、互いに位置づけることが可能な形になっている。
【0098】
すなわち、ある「ホテル」に泊まるということは、その「ホテル」の領域内に居続けるということである。そして、その「ホテル」が「浜松駅前」に存在することが、「ホテル」意味表現内に記述されている。ということは、「宿泊主体」が「浜松駅前」の領域内に居続けるということに他ならない。
【0099】
以上を整理すると、以下の範囲を現象属性または実体属性をキーとして探索すれば解答を得ることができると考えられる。
α:不明値を表す“?”を値とする現象属性の隣の属性の値の意味表現の中
β:不明値“?”を値とする現象属性自体を表す意味表現中の内包主体属性の値となっている実体の意味表現の中
γ:提題格で指定される実体の意味表現の中
δ:前提を表す従属文の中
ε:先行文脈中の前提となる現象の意味表現の中
ζ:先行文脈中の、提題化されている実体の意味表現の中
そこで、本システムでは、「直接的な係りをもつ場所を優先する」という方針に基づいて、「β⇒γ⇒α⇒δ⇒ε・ζ」の順に探索を行うこととする。
【0100】
このうち、εとζについては、先行文脈を探索範囲とするため、このままでは探索範囲を限定したことにはならず、当初の問題の解決にはならない。そこで、先行文脈を探索する範囲を別途定めておく必要がある。
【0101】
一般に質問発話に応答するために必要な情報、ないしはその情報へたどり着くための基点は、文脈上で話題となっている事物、およびそれに関連した知識の中に存在すると考えられる。本研究では、提題格で取り立てて言及されている語が話題の切り替えを示す指標として重要な役割を果たしていると考え、それを基に知識の検索範囲を以下のように仮定した。すなわち、先行文脈を遡って提題格で言い立てられた語、または、主格の「は」で言い立てられた語が見つかるまでの範囲である。
【0102】
システムは、この範囲内の文脈情報に限定して検索をおこなう。また、この範囲で必要とする情報が得られなかった場合には、「最初に見つかった「言い立てられた語」(A)と1つ前に「言い立てられた語」(B)の間に、「(A)が(B)の部分である」もしくは、「(A)が(B)の属性である」という関係が存在する」という条件が成り立つ時に限って、さらに1つ前に提題格あるいは、主格の「は」で言い立てられた語が見つかるまでの範囲で検索をおこなう。
【0103】
[1−7(3):文脈照応の順序と範囲に関する仮説の検証]
前項で述べた探索の順序と探索範囲が一般的に有効なものであるかを確かめるため、ホテル検索/予約タスクの対話を中心に103の対話例を分析した。対話は実験者がシステムの役割を果たし、被験者にユーザ役をやってもらう形で、人間同士の対話を音声で行ってもらい、それを書き起こした。各対話の平均ターン数は18.7であり、ユーザの総発話数は1999発話である。この中から質問発話を取り出すと、ホテル検索をおこなう質問発話が89発話、メタ質問の発話が4発話、文脈上の単語の知識に問い合わせをする必要のある発話が448発話であった。ここで、メタ発話とは、システムの能力に関する質問発話であり、ここでの分析の対象から外した。また、ホテル検索を行う質問発話に対する回答は、対話文脈ではなくホテルデータベースの中を検索することになるため、ここでは最後の種類の質問発話(448発話)のみを対象として分析した。その結果、443/448 (98%)の発話において、提案する探索範囲と探索順序でもって現象属性あるいは実体属性をキーとする単純な探索を行うことによって必要な情報を探し出せることが確認できた。
【0104】
[1−8:動作例]
以下では、図8に示す動作例について、処理の詳細を述べる。まず、(2)および(3)の入力を受けたシステムは、これらの入力文の意味表現を文脈に積む。本稿では詳細を略すが、(2)の文のように現象を示す文については、その現象をより粒度の低い現象に分割した現象群(本研究ではこれを部分現象と呼ぶ)も同時に文脈に積まれる。例えば(2)の「浜松にスキーに行く」という現象に対しては、「浜松に移動する(「移動終点 = 浜松」)」「浜松に宿泊する(「宿泊場所 = 浜松」)」「浜松でスキーをする」・・・といった部分現象が文脈に積まれる。
【0105】
次いで、上記の[1−7(1):問題解決部の概要]で述べた問題解決種別決定知識によって、ホテル検索問題解決知識が利用可能になる。ホテル検索問題解決知識は、文脈上からホテル検索条件を取得する。すると、上述の部分現象中の[宿泊場所=浜松]がマッチし、探したいホテルの場所が浜松であることが得られる。このようにして「浜松にあり、かつ浜名湖が見える」という条件を持つホテルの検索を行い(応答(4))、結果を出力する(応答(5))。
【0106】
次いで、(6)の入力を受けて、システムはその意味表現から(6)が疑問文であることを判別し、質問応答問題解決を起動する。入力(6)では、範囲について省略して発話されているため、まず始めに、文脈上から適当な比較範囲(ここでは、「ホテルコンコルド浜松とフィットネスホテル浜松」)を抽出する必要がある。現行システムでは、この処理に、「先行文脈を遡り、料金属性を内包する実体概念を抽出する」という単純なアルゴリズムを用いている。この入力のような比較級表現を扱うためには、比較演算処理が必要であるため、本システムでは比較演算ルーチンを別途用意している。比較演算ルーチンは、範囲や基準、程度などの情報を基に比較演算を行い、その結果を返す。システムは、その結果を根拠に(7)の応答を生成する。
【0107】
次いで、(8)の入力を受けて、システムは、その意味表現から(8)が疑問文であることを判別し、質問応答問題解決を起動する。質問応答問題解決では、「付属・施設=駐車場」(駐車場はありますか?)の部分に関して、その意味表現を位置付けることが可能な知識を検索する。上記の[1−7:問題解決部]で述べたアルゴリズムに従い、提題の「フィットネスホテル浜松」に対して比較を試みる。ここでは、フィットネスホテル浜松の知識上の「付属・施設=駐車場」とマッチし、これを根拠として、(9)の応答を生成している。
【0108】
次いで(10)の入力を受けて、システムは、その意味表現から(10)が疑問文であることを判別し、質問応答問題解決を起動する。システムは、前提節「大型車で行きたい」の部分を知識に位置付け、比較することで応答の根拠を得ようとする。システムは、「大型車で行きたい」より、その部分現象である「大型車で出発する」「大型車で移動する」「大型車で到着する」「大型車で侵入する」「大型車を駐車する」などの一連の行為列を導き出し、これらの全てについて比較を試みる。本対話では、「フィットネスホテル浜松」の知識として、「大型車を駐車できない」旨の情報があり、それとの比較を根拠に、(11)の応答を生成する。
【0109】
次いで(15)の入力を受けて、システムは、その意味表現から(15)が疑問文であることを判別し、質問応答問題解決を起動する。既に述べた入力(8)に対する場合と同等の処理をおこなうが、この場合、主属性「所要時間=何分」とその制約情報である副属性「移動媒体=車」「移動起点=浜松駅」はテーブルで表現されている。システム側の持つ知識も同様の形式で記述してあるので、「現象属性/実体属性=値」の単位で位置付けることにより、副属性の制約に適合した情報のみを抽出することが可能である。この場合、提題の「コンコルド浜松」の知識上に位置付けることで(16)の応答を生成している。
【0110】
[1−9:まとめ]
現在試作を進めているホテル検索対話システムの枠組みについて述べた。多様な入力文の意味を正しく解釈し、解釈した情報を自らの問題解決に正しく反映するという機能がある程度実現できたものと考えている。しかし現在のところ、システムの能力について問う入力や、検索や提示の方法についての依頼、命令などを解釈することができない。今後、このような質問にも応答できるようにシステムを拡張する必要がある。また、本システムは構文解析で正しい構文木が得られることを前提としている。今後音声対話を取り扱うように拡張するためには、構文的に完全でない文も処理対象としてゆく必要がある。これについても今後検討を進めて行く予定である。
【0111】
[2:研究2の内容]
続いて、図9〜図13を用いて、本発明を着想する基礎となったもう一つの研究(研究タイトル「ネットワーク実験における自然言語Q&Aシステムの開発」、以下では「研究2」と呼称する。)の内容を説明するが、ここでは、以下に示すように、[2−0:あらまし]、[2−1:まえがき]、[2−2:ネットワーク実験]、[2−3:キーワード検索システム]、[2−4:対話システムの構成]、[2−5:対話制御]、[2−6:形態素・構文解析]、[2−7:意味解析]、[2−8:問題解決]、[2−9:出力文生成]、[2−10:むすび]に区分けして説明する。
【0112】
[2−0:あらまし]
学生対象のネットワーク実験において、教育効果を高めるためには学生の質問にきめ細かく対応するティーチングスタッフの存在が重要となる。計算機プログラミングや回路設計など定型的な技術の習得を目指す学習においては学習に困難をきたす箇所がほぼ決まっており定型的な質問が数多くなされることとなる。本稿では、TCP/IPネットワーキングにおける基礎事項からRIPルーティングプロトコルまでを学習する学生実験を例にとり、自然言語でなされる質問に対して、その意味を解釈し定型的な質問に対して自動的に自然言語で対応するシステムを提案する。提案システムの実現により、教師は高度な質問の対応に集中することが可能となり教育効果を高めることが期待される。
【0113】
[2−1:まえがき]
本稿では、学生のネットワーク実験における実験支援システムの概要について報告する。このシステムは法政大学工学部第3学年が履修する電子情報工学実験の一環として実施されている情報ネットワーク実験を支援するものである。実験ではTCP/IPネットワーキングにおける基礎事項からRIPルーティングプロトコルまでを学習し、実際に小規模なネットワークの構築を行う。
【0114】
学生が実験開始時に持っている基礎知識には非常に大きな開きがあり、これが実験に対する取り組み方や達成度に直接的な影響を与えている。基礎知識を有している学生にとっては、実際にネットワークを構築してみることでより理解が深まり興味も増し、自宅でLANを構築してみたいとの希望も聞かれる。一方、基礎知識をほとんど持たない学生にとっては、機器の名前や動作がわからないまま盲目的にTAの指示にしたがって、ルータの設定や接続を行なうこととなり、自分が行っていることの意味を全く理解できない状況に陥る。しかも、そうした学生ほど教師やTAに気軽に質問することができない。したがって、分からない事柄をその場で手軽に調べるための手段があれば、基礎知識が不足した学生の意欲を高め、教育効果を改善することができると考えられる。こうした観点から、我々は、ネットワーク構築のための基礎知識獲得を支援するキーワード検索システムと日本語対話システムの開発を進めている。
【0115】
これまでにも、自然言語処理を利用した学習/教育支援システムとして、学生の質問に回答したり、類似質問を回答DBから検索するシステム等が検討されているが、対話が1往復しか許されなかったり、教師が検索結果から適切な回答を選択する必要がある、等の問題がある。本研究では、教師を介さずに直接学生の日本語による質問に回答するシステムの構築を目指しており、有効な学習支援のためには、複数ターンからなる対話を実現することが必要であると考えている。そのためには、対話文脈をシステム上に表現する意味表現と、入力文の意味を文脈に位置づけ能力が不可欠である。なお、本稿では、特に日本語対話システムの入力文解釈機能に重点を置き、システムの概要を述べる。
【0116】
[2−2:ネットワーク実験]
ネットワーク実験の目的は「小規模なネットワークを実際に構築し、ネットワーク相互接続の仕組みを理解する」ことである。実験では、TCP/IPネットワーキングにおける基礎事項からRIPルーティングプロトコルまでを学習し、6つのルータを用いて、シリアルまたはイーサネット(R)ケーブルにより相互接続された小規模なネットワークを構築する。あらかじめ作成されたネットワークトポロジーのパターンからランダムに選択されたパターンが学生に渡される。
【0117】
各ネットワークパターンは冗長性を含み、RIPによる障害時の動的な経路の学習ができるようになっている。図9にネットワーク構成の一例を示す。「R」はルータ、「実線」はシリアルケーブル、「破線」はイーサネット(R)ケーブルを示す。各ルータ間はシリアルケーブルまたはイーサネット(R)ケーブルで接続され、必要に応じてHUBを用いる。また、各ルータには設定用のPCがイーサネット(R)ケーブルで接続され、通信ソフトウェアを使用してルータ設定を行い、下記の項目について実験を行う。
【0118】
シリアルケーブル、イーサネット(R)ケーブル、HUBを用いてルータ間の接続を行い、図9のようなネットワークを構築する。ルータの各ポートにIPアドレスとサブネットマスクの設定とルーティングプロトコルの設定を行う。接続テスト用PCから、pingコマンドにより接続を確認し、tracerouteコマンドにより接続経路を調べる。冗長な接続の一部をはずし同様の接続試験を行い、RIPプロトコルによる経路情報データベース更新の図を作成する。
【0119】
[2−3:キーワード検索システム]
キーワード検索は、後述する対話システムの限界を補うためのサブシステムとして作成しているものである。フリーの検索ソフトNamazuと形態素・構文解析モジュールおよびテキストデータベースから構成される。テキストはCiscoの教材を対象にしている。入力データは、キーワードもしくは文である。文が入力された場合、これに形態素・構文解析を施し、名詞概念を抽出する。これを予め用意したネットワーク関連語リストと比較して、ネットワークに関係する名詞を取り出す。その名詞と直接係りを持つ述語を、構文解析結果として得られる依存構造木から求め、名詞と組にして検索を行うことを考えている。これは、名詞キーワードだけでは無関係な内容が検索されてしまう可能性があり、できるだけユーザが意図する現象を検索するためである。
【0120】
[2−4:対話システムの構成]
対話システムの構成を図10に示す。システムは、対話制御、形態素・構文解析、意味解析、問題解決、文生成の各モジュールと、単語辞書DB、概念辞書DBとから構成されている。単語辞書は、形態素・構文解析および文生成に必要な単語データを格納する。概念辞書は、意味解析、問題解決に必要な単語の意味表現を格納する。対話制御モジュールはRubyで、また、形態素・構文解析モジュールは、Cで記述されている。その他のモジュールはprologを用いて開発されている。以下で、各モジュールの概要について述べる。
【0121】
[2−5:対話制御]
対話制御モジュールは、入力文の有無、形態素・構文解析結果の有無、現在実行中の問題解決の有無、出力文意味表現の有無等の状態を示すフラグを巡回的に監視し、適宜、形態素・構文解析、意味解析、問題解決、文生成の各モジュールを起動する。
【0122】
フラグ一覧としては、入力文存在フラグ、入力文形態素・構文解析完了フラグ、入力文意味解析完了フラグ、入力文タイプフラグ、問題種別フラグ、特定問題解決実行中フラグ、初期条件フレーム充足フラグ、問題解決完了フラグ、出力文意味表現存在フラグ、文出力済みフラグがある。
【0123】
[2−6:形態素・構文解析]
形態素・構文解析モジュールは、(株)CSKで開発された日本語解析システムを用いている。これにより、入力文の依存構造木が得られる。
【0124】
[2−7:意味解析]
意味解析モジュールは、形態素・構文解析で得られた入力文の依存構造木から意味表現を生成し、文脈に蓄積する。以下に、かかる意味解析モジュールについて、[2−7(1):意味解析の困難]、[2−7(2):意味表現]、[2−7(3):意味表現の生成]に区分けして説明する。
【0125】
[2−7(1):意味解析の困難]
文の意味解釈の基本は、文の意味の位置付け、すなわち「文が、先行文や知識のこのことをこのように述べている」ということをシステムが識別することにある。これを可能にするには、入力文の意味表現を文脈、知識上に位置付けることが必要になる。しかし、一般に、意味表現は木構造等の構造を持ち、これを他の同様な構造に対応付けることは極めて難しい。
【0126】
このような意味表現の構造は、現在の技術では文を構成する単語間の依存関係を解釈することができないためにもたらされるものである。すなわち、2つの語を依存関係で結合して句、節を作った時、その句、節の意味を元の単語の意味から計算することができない。このため、表層の依存関係表現が未解釈のまま意味表現中に持ち込まれ、意味表現が表層と同型の構造を持つことになる。
【0127】
例えば、(1−i)「私は東京から高速で日光に行く。」と(1−ii)「私は日光に行く。出発地は東京だ。高速を使う。」という2つの表現は同一の意味を表すが、述語形式による意味表現は、(2−i)Go(私、東京、日光、高速)と、(2−ii)Go(私、nil、日光、nil)∧Eq(出発地、東京)∧Use(nil、高速)といった具合に別の表現で表わされる。
【0128】
ここで、Go、Eq、Useは、それぞれ「行く」「(で)ある」「使う」の意味を表す述語記号である。論理式を用いると、あたかも意味が表されたように見えるが、実際には、“Go”と「私」「東京」「日光」「高速」との間には依存構造が存在し、それは、(1−i)が持つ依存構造と同型である。したがって、表層文が3文に分かれれば意味表現も3つに分かれることになる。フレーム、意味ネットワークにおいても同様である。
【0129】
このように、表層の依存関係表現が未解釈のまま意味表現中に持ち込まれることによって、意味表現の構造が意味毎に一定せず、同じ意味内容を表す場合でも、形態が表層文と同じように多様に変化することになる。このため、意味表現を文脈表現や知識表現等他の意味表現と対応付けることが困難になり、また、予め意味表現パタンを想定して解釈処理を用意しておくことも難しくなる。
【0130】
さらに、単語に関しては、意味体系を定義して、その上に単語の意味を位置付けることにより、語と語との間で、同義関係、上位−下位関係、全体−部分関係、全体、部分−属性−値関係、格関係、等の意味関係を識別することができるのに対し、句、節に関しては、依存関係を解釈して句、節の意味を評価することができないために、句、節によって作られうる意味の全範囲を定義し、それらの意味を分類して体系化することができない。その結果、入力文の意味表現をその体系上に位置付け、意味表現が表す意味の同定や意味表現同士の意味の比較を行うことができない。
【0131】
このような困難を回避して、語の意味の認識と同様に、句、節の意味の識別を実現するために、我々は、「見かけ上依存関係の表現をできる限り排除し、排除できない部分に関しては、意味によって変動しない共通の概念と共通の依存関係のみが残るようにし、結果として、依存関係の解釈を不要にする」意味表現の検討を進めている(池ヶ谷有希、野口靖浩、鈴木夕紀子、伊藤敏彦、小西達裕、近藤真、高木朗、中島秀之、伊東幸宏 : ”文脈への意味の位置付けに基づくホテル予約対話システムの構築” 人工知能学会研究会資料 SIG−SLUD−A202−11、2002/高木朗、中島秀之、伊東幸宏、近藤真、今仁生美、三宅芳雄 : ”文脈への意味の位置付けを重視した対話意味表現、”人工知能学会研究会資料 SIG−SLUD−A202−10、2002)。
【0132】
[2−7(2):意味表現]
一般に、任意の述語とその任意の連用修飾成分は、「断定」の述語を用いた表現に変換することができる。
(2−i)「小金井に住んでいる。」
(2−ii)「住んでいる場所は、小金井である。」
(2−iii)「住所は、小金井である。」
(3−i)「車を200台収容できる。」
(3−ii)「収容できる数は、200台である。」
(3−iii)「収容台数は、200台である。」
【0133】
このうち、(2−ii)の表現は、(2−i)の表現の場所格に付く名詞の意味クラスを表す名詞および「=」の意味を表す「(で)ある」を挿入し、意味を保存しつつ「(で)ある」を主動詞とする表現に変形した表現である。さらに、「住んでいる場所」部分を1つの名詞「住所」に圧縮した表現が(2−iii)である。この表現では、述語「住む」と場所格成分が作る依存構造が名詞「住所」の中に繰り込まれ、依存関係の解釈を名詞の意味の識別で代行することが可能になっている。「住所」は、「住む」という現象を規定する属性(以下、現象属性)の1つである。(3−ii)(3−iii)についても同様なことが言える。(2−iii)(3−iii)共に「断定」の述語が作る共通の依存関係のみから構成されている。
【0134】
副詞成分の場合は、副詞の意味の中に、それが修飾する現象属性と値の情報が含まれるため、その副詞がどのような意味の述語と用いられた場合に、どのような属性をどのような値に限定するか、ということを予め辞書に記憶しておくことにより、やはり格成分と同様に変形することができる。そこで、このような同義変形の性質を利用して、「1つの連用修飾成分+述語」の意味を、「現象属性
属性値」という形式で意味表現することにする。
【0135】
一方、名詞句の場合も、同様な形で依存関係表現を圧縮することができる。(部分)実体の性質を言及する文が、(4−i)「あの家は、緑色の屋根を持っている。」、(4−ii)「あの家の屋根は、緑色をしている。」、(4−iii)「あの家の屋根の色は、緑色である。」のように「断定」の述語「ある」を用いた(4−iii)の形に同義形できること、および、任意の連体修飾成分が、「属性が属性値であるところの(部分)実体」という連体修飾節の形に同義変形できることから(高木朗、伊東幸宏:「自然言語の処理」、丸善、1987)、「1つの連体修飾成分+(部分)実体名詞」の意味を、「(部分)実体$実体属性または現象属性 属性値 」という形式で表現する。「$」は内包の「の」の意味を表す。「実体属性」は、「色」「形」等実体が内包する属性を表す。(部分)実体は「実体属性」「現象属性」を共に性質として持ちうる。
【0136】
助動詞類(時制、相、否定を含む)の意味は、簡略にマーカを定義して表現する。また、終助詞類、平叙、疑問、命令の文タイプもトップレベルマーカとして表現する。現象および(部分)実体の意味は、「現象属性」、「(部分)実体$実体属性または現象属性」表現の中に含まれるため、意味的には冗長であるが、上位の意味表現から参照される場合等にポインタをセットする場所が必要になること等から、フレーム形式と同様、「属性 値」表現の組を束ねる形式の表現を採用し、ヘッドに現象概念名、(部分)実体概念名を表記する。
【0137】
以上の検討から、意味表現の基本形を図11に示すような形式で表す。なお、本意味表現では、全ての述語を「断定」に変換し、しかも、これを陽に表現しないため、「断定」を述語とする入力文が与えられた場合には、同図の最下部に示すような形式で文の意味を表現する。ここで、ポインタ1、ポインタ2は、それぞれ「断定」の「ある」につく主格名詞句と「で」格名詞句の意味表現へのポインタを表す。
【0138】
また、本意味表現方式では、上述のように、冗長ではあるが「属性値」表現を束ねて全体に概念名を付与した形式を持つ。このため、属性概念意味表現においては、「属性 値」表現における「属性」と、表現全体に付与される概念名とが重複する。そこで「属性 値」表現の「属性」の位置に“#”を置き、重複を避けている。
【0139】
以上の形式で意味表現を構成することにより、任意の述語から構成される文および任意の連体修飾成分からなる名詞句の意味を、「現象属性」もしくは「(部分)実体$実体属性または現象属性」を単位として、他の意味表現、知識表現と比較し、位置付けることが可能となる。そこで、文脈に積まれた先行文および同一文内文頭側成分から生成されたフレーム中の同一もしくは上位下位関係にある属性との間にリンクを設定して意味表現同士の位置付けを行う。このような意味表現例を図12に示す。
【0140】
[2−7(3):意味表現の生成]
入力文に対する形態素・構文解析により依存構造木が得られると、意味解析モジュールが起動されて、そこから上記意味表現の生成を行う。まず、前処理として、依存構造木中の終助詞、助動詞類をマーカに変換し、これを依存構造木中直下にある述語に付与し、終助詞、助動詞類を依存構造木から削除する。併せて、平叙、命令の文タイプマーカも述語に付与する。次いで、文頭側の連用修飾節から主節に至る各節に対して連用節意味表現生成処理を起動する。連用節意味表現生成処理では、節依存構造木のトップにある述語に着目し、述語処理を起動する。述語処理では、まず述語意味表現を概念辞書から検索する。
【0141】
次いで、述語に係る各枝の意味表現を生成するために、枝のトップの語の品詞に応じて、格助詞句処理、接続助詞句処理、副詞句処理等を起動する。格助詞句処理では、格助詞の下にある名詞句の意味表現を生成するために名詞句処理を起動する。名詞句処理は、連体修飾成分の意味表現を生成するために、形容詞句処理、連体助詞句処理、連体修飾節処理等を起動する。このように、依存構造の各枝を構成する語の品詞に応じた処理が再帰的に起動され、処理が末端に至ると、順次生成された意味表現を文脈バッファに積みながら、その意味表現へのポインタを返却値として上位の処理に戻る。意味表現を文脈バッファに積む際、文脈バッファ内の意味表現中に、現在の意味表現中の属性と同一もしくは上位下位関係にある属性が存在する場合には、それらの属性間にリンクを張り、意味の位置付けを行う。
【0142】
[2−8:問題解決]
問題解決モジュールは、文脈バッファを監視し、解くべき問題の決定と、決定された問題の解決を行う。以下に、かかる問題解決モジュールについて、[2−8(1):問題種別の決定]、[2−8(2):個別問題解決]、[2−8(3):回答情報の探索]、[2−8(4):出力文意味表現の生成]に区分けして説明する。
【0143】
[2−8(1):問題種別の決定]
システムに入力される文の内容は、「LAN構築実験」の範囲内でも多岐にわたる。例えば、実験の実施方法を問う場合もあれば、値の算出を要求する場合もある。さらには、システムから出された情報要求に対する回答であることもある。そうした様々な文の意味に応じて、システムは異なる問題解決処理を行わなければならない。
【0144】
したがって、入力文の意味表現が文脈バッファに積まれる毎に、問題解決モジュールはそれを監視し、解くべき問題解決の種別を判定する。そのために、まず、以下のいずれであるか、入力文のタイプを調べる。
(1)疑問文
(1−1)Yes/No疑問文
(1−2)WH疑問文
(2)要求文・願望文
(3)システムの問い合わせ後に入力された文
【0145】
このうち、(1)の場合、文脈バッファに積まれた入力文意味表現のヘッドに疑問マーカが付与されているか否かで判定される。さらに、意味表現中に「現象属性 ?」の表現を含むか否かで(1−1)(1−2)の別を判定する。(2)の場合、入力文意味表現のヘッドに命令マーカ、願望マーカが付与されているか否かで判定される。(1−2)(2)において値の回答を求められる属性を問題対象属性と呼ぶ。(3)は、システム問い合わせ文意味表現が文脈バッファのトップに積まれている状況で文が入力された場合に分類される。
【0146】
次いで、これらの判断に基づいて問題の種別を判定する。問題種別は、以下のように分かれる。
(A)疑問文意味表現にマッチする意味表現が文脈に存在するかどうかをチェックするタイプ:上記の(1−1)に対応。
(B)問題対象属性の値を取得するタイプ:上記の(1−2)および(2)に対応。
(C)入力文がシステムの問い合わせに対する回答になっているか否かを判定し、回答になっていれば、問い合わせた事柄に対応する回答情報をそこから取得するタイプ(回答になっていなければ割り込みと判断し、新規に問題解決を行う):上記の(3)に対応。
【0147】
このうち、(B)は、さらに、値が条件によって変化し値の取得に条件の指定が必要なタイプと、そうでないタイプとに分かれる。すなわち、一つは、(B−1)初期条件指定が必要なタイプである。例えば、「サブネット分割」問題における「セグメント分割数」、「ネットワークアドレス」であり、初期条件は、「属性 値」のリストからなる初期条件フレームとして表現される。もう一つは、(B−2)初期条件指定が不要なタイプである。
【0148】
[2−8(2):個別問題解決]
上記の(A)(B)(C)の問題種別が特定されると、それぞれの問題解決モジュールが起動され、個別問題解解決処理を行う。なお、(B−1)タイプの各問題に関しては、初期条件の取り込み、適用等に個別の対応が必要なため、それぞれに問題種別を割り当て、問題解決モジュールを用意している。
【0149】
(A)タイプの場合、疑問文意味表現に対応する意味表現を文脈中に探し、値が一致するかどうかを見る。これにより、YesまたはNoの結果を得る。
【0150】
(B−1)タイプの場合、まず初期条件フレームが文脈に展開される。既に蓄積されている文脈意味表現との間に属性毎のリンクを設定し、それに基づいて初期条件フレーム中の各属性の中で値を埋められるものを埋める。次いで、埋められない属性に関して、ユーザに問い合わせるために問い合わせ文意味表現を生成し、問い合わせ文を出力する。回答文が入力されると、(C)タイプの問題解決を経て求める情報を取得し、初期条件フレームに代入する。初期条件が全て埋まるまでこの処理を繰り返す。初期条件が全て埋まると、問題対象属性に対応する属性(上位下位概念を含む)を文脈中に探す。値を持つか、一定の演算処理を経て値を求めることができる当該属性が存在したら、与えられた初期条件に合致する値を算出または取得する。
【0151】
(B−2)タイプの場合、問題対象属性に対応する属性を文脈中に探す。値を持つ当該属性が存在したら、その値を取得する。
【0152】
(C)タイプの場合、入力文意味表現を、文脈バッファにおいて直下に積まれているシステム問い合わせ文意味表現に位置付け、入力文がシステムの問い合わせに対する回答になっているか否かを判定する。回答になっていれば、問い合わせた事柄に対応する回答情報をそこから取得する。回答になっていなければ、割り込みと判断する。割り込みに関しては現在検討中である。
【0153】
[2−8(3):回答情報の探索]
本システムで採用している意味表現では、上述のように、現象/実体概念の意味を繰り込み、依存関係を圧縮した属性概念を単位として、他の意味表現内の対応する属性との間にリンクを設定するため、問題対象属性に対応する「属性 値」表現を容易に探索することができる。しかし、問題対象属性の抽象度が高い場合(例えば「ネットワークアドレス」等が単に「アドレス」と言及される場合)等には、文脈中に対応する属性が複数発見されることがある。
【0154】
一般に、リンクの役割は、同種の意味を持つ属性を互いに位置付けることにあり、入力文の意味とは無関係であるから、リンクだけを手がかりにして、入力文が指定する問題解決情報を探索することはできない。したがって、対応する属性表現の探索範囲を、文の意味に即して限定する必要があるが、そのためには、個々の単語概念の意味が依存関係で結合されて、如何にして文の意味に対応する現象の記述になるか、言い換えれば、述語を修飾する連用修飾節成分の意味、すなわち格名詞、副詞等に含まれる「属性 値」表現が、文によって指定される依存関係にしたがって、述語の意味を構成する特定の現象属性の値に接続されることによって、各属性間にどのような値の相互関係がもたらされ、1つの纏まった現象の意味の記述になるか、ということを検討しなければならない。
【0155】
一般に、実体は、ある性質を持っているからこそ、特定の性質を持つ現象に参画し、寄与することができる。例えば、全く場所の概念を持たない実体に対して、「それがどこにあるか」を問うことはできない。その実体が「存在場所」属性を持つ場合に限り、そのような問いが有効であり、その場合、その「存在場所」属性は、「ある」によって表される「存在」現象の「存在場所」属性と直接的な相互関係(単純には同等関係、厳密には推論によって対応付けられる関係)を持つ。このように、ある実体を指定して、ある現象属性の値を問う場合、求める「属性 値」表現は、必ずその実体の意味表現、またはそのreferent意味表現の中にある。また、その実体を指定する格は述語毎に定まっており、対応する現象属性も一定である。したがって、問題対象属性とリンクによって結ばれた属性群の中で、こうした相互関係にある属性のみを対象として、問われている値を探索する必要がある。
【0156】
以下に、(a)「100Base−TXのLANは、どれ位の速さでデータを伝送するか。」という例を考える。この例では、「伝送」意味表現中に「伝送速度 ?」&「伝送対象 データ」が表現される。これらの属性は、「伝送主体」属性の値実体中の対応する属性と直接的な相互関係を持つ。「伝送主体」の値である「LAN」意味表現中には「LAN$伝送速度 NIL」&「LAN$伝送対象 データ」が含まれる。「100Base−TXのLAN」は「100Base−TX」が値概念であることから「(クラスが)100Base−TXであるところの」と解釈され、「LAN」意味表現中の「LAN$クラス」属性の値に「100Base−TX」が代入される。生成された「LAN」名詞句意味表現からreferentが検索され、「LAN」の下位概念である「100Base−TXクラスLAN」の意味表現が取得されて元の名詞句意味表現と置き換えられる。ここには、「100Base−TXクラスLAN$伝送速度 100Mbps」と記載されている。これにより、「伝送速度 ?」の「?」に対応する値が取得される。
【0157】
ところで、上記の(a)には、以下のような同義表現が存在する。これらのバリエーションは、他の表現にも一般的に見られる基本的な変形である。
(b)「100Base−TXのLANの伝送速度はどれ位か。」
(c)「100Base−TXのLAN(の場合)は、伝送速度はどれ位か。」
(d)「100Base−TXの場合(だと)、LANの伝送速度はどれ位か。」
(e)「100Base−TXのLANを張りたいんだが、伝送速度はどれ位か。」
(f)「LANを張りたいんだが、100Base−TXの場合(だと)、伝送速度はどれ位か。」
(g)「100Base−TXのLANを張りたい。伝送速度はどれ位か。」
(h)・・・・・
【0158】
このうち、(b)は、「LANの」によって限定された「伝送速度」の値が直接問われる表現である。名詞句「LANの伝送速度」のreferentは「LAN」意味表現中の「LAN$伝送速度」属性であり、これは「LANが伝送する速度」という連体修飾節と等価な意味を表す。したがって、(b)も(a)と同型の解釈に帰着される。そこで、まず「100Base−TXのLAN」のreferent意味表現を求めた後、その中で、(a)と同様「LAN$伝送速度」属性を参照し、値を取得する。
【0159】
(c)は、連体助詞句「100Base−TXのLANの」が切り離されて提題化された表現である。したがって、原型は連体助詞句であり、さらに、その原型は連体修飾節である。よって、やはり最終的には(a)と同型の解釈に帰着される。そこで、提題格名詞意味表現中で「LAN$伝送速度」を探し、値を取得する。
【0160】
(d)は、値概念が作る連体助詞句が切り離されて「状況限定」表現に転化された表現である。したがって、原型は名詞句「100Base−TXのLAN」である。値概念はreferentを取らないので、原型名詞句を復元して「LAN」意味表現中の「LAN$クラス」属性の値に「100Base−TX」を代入した後、「LAN」意味表現のreferentを取得して、(b)と同様な処理を行う。原型名詞句を復元せず、「(クラス)が100Base−TXである場合(だと)」という連用修飾成分として解釈し、そこに含まれる「(クラス) 100Base−TX」という性質が状況限定作用を及ぼし得る実体(ここでは「LAN」)を文意味表現中で探し、対応する属性の値を「100Base−TX」に限定した後、その実体概念のreferentを取得する、という処理を行っても良い。本意味表現では、同種属性間にリンクが張られているため、このような処理を簡便に行うことができる。
【0161】
(e)は、問題対象属性の値を含む表現が、問題対象属性が存在する節の中に存在しない場合である。このような場合、問題対象属性に関連する情報は先行節や文脈の中にある。特に、ある現象表現が前提や根拠の形で与えられ、その上で問題対象属性の値が問われる場合には、その値を限定するために必要であるからこそ、主節の解釈の枠を与えるために、そのような前提や根拠が提示されたと考えることができる。したがって、もし枠を与える節意味表現の中に問われている属性と一致するものがあり、値を持つなら、その値が取得すべき情報であると見なすことができる。この例の場合、前提節内の「LAN」のreferent中に問題対象属性「伝送速度」に対応する属性が存在して値を持つ。よってこれを取得する。
【0162】
(f)は、(d)(e)の組み合わせとして処理することができる。また、(g)は、文脈中に求める情報が存在する場合である。文脈バッファのトップから順に意味表現を探索し、問題対象属性に対応する属性の値を取得する。
【0163】
[2−8(4):出力文意味表現の生成]
ここでは、不足している初期条件に関する問い合わせ文を出力するための問い合わせ文意味表現の生成と、前節で得られた問題対象属性の値を基にした回答文意味表現の生成を行う。生成された意味表現は、文生成モジュールに渡されると共に、文脈バッファに積まれる。なお、問い合わせ文の場合、初期条件毎に文体が固定しているため、予め意味表現テンプレートが用意されている。また、実体の定義や一般的性質等に関する質問に固定的な情報を回答する場合には、文体が詳細かつ多様になることもあって、各属性値に予め解説文をテキスト等の形で格納しておき、これを回答するようにしている。
【0164】
[2−9:出力文生成]
文生成モジュールは、初期条件問い合わせ文の生成と回答文の生成を行う。概念辞書を検索し、与えられた意味表現を全て覆う単語意味表現の組が求められ、単語間依存構造木が抽出される。これに依存構造−句構造対応規則を適用し回答文を生成する。
【0165】
[2−10:むすび]
図13に、上記してきた研究2におけるシステムの対話例を示す。以上のように、学生のネットワーク構築実験を支援する日本語Q&Aシステムについて述べた。本稿では、特に対話機能に重点を置いて質問文解釈手法の検討を行った。システムは開発途中にあるが、プロトタイプ完成後、学生の利用に供し、実験支援としての効果を評価していく。学生からの質問事項等を評価し、学生毎の理解度の推定、理解しにくい基本概念の抽出と教示方法へのフィードバック等についても検討を進める。また、インターネットを経由した自宅からのシステムの利用も実現していきたい。
【0166】
[3:本実施の形態に係る自然言語解析装置]
次に、図14〜図22を用いて、本実施の形態に係る自然言語解析装置を説明するが、ここでは、以下に示すように、[3−1:自然言語解析装置の概要]、[3−2:自然言語解析装置の概略構成]、[3−3:自然言語解析装置の概略処理]、[3−4:自然言語解析装置の特徴]に区分けして説明する。
【0167】
[3−1:自然言語解析装置の概要]
本実施の形態に係る自然言語解析装置は、入力文(疑問文)で問われている情報の探索を主たる特徴とするものであり、より詳細には、質問文が入力された場合、質問文の意味や、それまでに蓄積された文脈のあり方に即して、問われている連用修飾成分の情報を探索することを特徴とする。
【0168】
従来より、キーワード(単語)や、構文解析木または意味表現のテンプレートを用いて問われている情報を表し、それにマッチする情報を文脈や知識の中で探すという方法が採られている。しかしながら、キーワードでは、疑問文のそれ以外の部分で表現されている内容を表現することができないので、疑問文で真に問われている内容とは食い違った情報を探索してしまう可能性が極めて高い。また、テンプレートでは、極めて多様に変動する文の依存構造、その結果生じる意味表現の表現構造の多様性、さらに、それによってもたらされる文脈に蓄積される意味表現群の多様性、等々に追随することは不可能であるので、テンプレートを無数に用意することになってしまう。
【0169】
このように、キーワードやテンプレートに頼らざるを得ないのは、従来の技術では、意味表現を構成する概念間の依存関係を解釈することができないからである。つまり、質問文によって何らかの情報を問われた場合、質問文の意味表現が得られたとしても、問われている情報を読み取ることができないし、問われている情報をどこに探しに行けば良いかも分からない。
【0170】
そこで、次善の策として、(1)「疑問詞に対応する語をキーワードとして、意味表現の他の部分を無視して、キーワードだけで、問われている情報を探索する」、または、(2)「頻出する意味表現のパタンを抽出し、それぞれのパタンに、その意味内容に即した処理を結びつけて、パタンがヒットしたらその処理を起動するという方法で、依存関係の解釈を回避しつつ入力文の意味に対応した処理を行う」というどちらかの方法で、疑問文に対する回答情報の探索が広く行われている。しかしながら、こうした方法は、あくまで便法に過ぎず、多様に変動する意味表現の構造や対話の流れに対応できる手段ではない。
【0171】
そこで、このような「依存関係を解釈することができない」という困難に対処するために、意味表現中の依存関係表現を圧縮して属性概念の中に繰り込むことによって、依存関係の解釈を不要にし、属性名詞を単位として、同一文中の他の意味表現、あるいは、文脈中の先行文の意味表現との間で、意味の照合、位置づけを行うことができる意味表現形式を提案している(特願2001−309128号)。これによって、(1)連体、連用修飾表現の、被修飾表現上への位置づけと解釈、(2)複数に分割された文の意味の統合、(3)要求されている情報の、文脈意味表現への位置づけに基づく参照、取得等の処理を一貫したアルゴリズムで実行する事が可能になった。
【0172】
このように、我々が提案する意味表現手法は、意味の位置づけという点では強力であり、単文の範囲では十分な回答情報の取得能力を提供することができる。しかしながら、依存関係の記述を完全に消し去ることは、もとよりできることではないので(そうすると、命題論理と等価になってしまう)、特に、「従属節や先行文によって回答すべき情報に制限が加えられるような文において、それらの意味表現から意味内容を読み取って回答情報の探索を制御する」という問題は、依然として解決されずに残っている。
【0173】
一般に、属性を単位として依存関係の存在を無視して、単純に文脈中に同種属性を探して位置づけるだけでは、以下の例に見られるように、文の意味内容に即した情報の探索と取得を正確に行うことはできない。つまり、(A)「ホテルコンコルドに泊まりたいんだが、料金はいくらくらいか。」と、(B)「ホテルコンコルドで食事をしたいんだが、料金はいくらくらいか。」という文では、共に、主節で「料金」の値が問われている。しかし、回答すべき「料金」は同一ではなく、(A)では「宿泊料金」を回答しなければならず、(B)では「食事料金」を回答しなければならない。
【0174】
我々の意味表現では、(A)の場合、「泊まる」が持つ「宿泊料金」属性、「ホテルコンコルド」が持つ「宿泊料金」「食事料金」「駐車料金」その他の属性、さらには、この文より先に入力された文の意味表現に含まれる種々の「料金」属性と対応づけられることになる。したがって、質問の対象となっている属性だけを手がかりに回答情報を検索する場合、これら「宿泊料金」「食事料金」「駐車料金」その他の属性の中から、何らかの基準を設けて(最初に行き当たったものを取得する、等)値を持つ属性を1つに絞り、その値を取得することになる。
【0175】
しかし、このように、質問文の他の部分の意味を無視して、単に問われている属性「料金」の値を探しに行くのでは、(A)(B)いずれの文においても同じ方法で「料金」属性を探すことになり、2つの文の意味の違いが反映されない。上の例では、値を持つ「料金」属性は、「ホテルコンコルド」意味表現内の「宿泊料金」「食事料金」「駐車料金」等である。したがって、前提節の述語如何に拘わらず、どちらの文においても、値を持つ「料金」関連属性が「ホテルコンコルド」から同じ順番で検索され、仮に最初にマッチした該当属性を取得するとした場合には、「宿泊料金」(意味表現上最もトップに近い位置に記述されている)が取得されて回答されることになる。
【0176】
このような問題が生じるのは、問題となっている属性以外の部分の文の意味を考慮せず、単に「料金」属性だけを手がかりに情報を探しに行くためである。そして、(A)で問題にされている「料金」が「宿泊料金」であり、しかも「ホテルコンコルド」の「宿泊料金」であること、(B)で問題にされている「料金」が「食事料金」であり、しかも「ホテルコンコルド」の「食事料金」であること、が分からなければ正しい回答情報を取得することはできない。なお、このような問題は、他の意味表現を採用する場合や、あるいは、意味表現を採用せずに、入力文の構文解析木、さらには形態素解析結果等を利用して回答を探索する場合においても、同様に生じる問題である。
【0177】
このような困難を回避するには、文で表現されている内容を汲み取って、疑問文や、その前に入力された文の内容に即して、必要な情報を然るべきところに探しに行かなければならない。そして、「意味表現で表現されている内容を汲み取る」ということは、「句や節を構成する概念の意味が依存関係によって結合されて、互いにどのような相互作用を与えあって句や節の意味の記述になるかということを認識する」ということである。
【0178】
これを、我々が提案した意味表現手法に即して言い換えると、ある概念Aを修飾する修飾節成分の意味(すなわち、格助詞や連体助詞を介してその概念を修飾する名詞概念や、直接その概念を修飾する副詞、形容詞等に含まれる「属性 値」表現)が、依存関係にしたがってAの意味を構成する特定の属性の値に接続されることによって、概念Aの各「属性 値」表現との間にどのような値の相互作用がもたらされ、1つの纏まった句や節の意味の記述になるか、ということを認識するということである。
【0179】
一般に、実体は、ある性質を持っているからこそ、特定の性質を持つ現象に参画し、寄与することができる。例えば、全く場所の概念を持たない実体に対して、「それがどこにあるか」を問うことはできない。その実体が「存在場所(「所在地」等)」属性を持つ場合に限り、そのような問いが有効であり、その場合、その「存在場所」属性は、「ある」によって表される「存在」現象の「存在場所」属性と直接的な対応関係(単純には同等関係、厳密には推論によって対応付けられる関係)を持つ。
【0180】
なお、「ホテルコンコルド」中の「存在場所」(所在地)属性の値には、「静岡県浜松市元城町109−18」などと書かれるが、文では、「ホテルコンコルドは浜松にある。」等と大まかに言及されることがあり、その場合、「ある」の「場所格」に対応する「存在」現象の「存在場所」属性の値は「浜松」である。したがって、2つの「存在場所」属性の値は、常に全く同一である訳ではなく、一方の値がNILであったり、一方の値が他方を包含する場合等がある。
【0181】
すなわち、「AはBにある」という時、「ある」の主語となる実体が「その実体が存在する場所」(「存在場所」)という属性を持つことが必要であり、その時、その属性はBと直接的な対応関係を持つ。したがって、Bが疑問詞の場合(すなわち、「存在」現象の「存在場所」属性の値が問われている場合)には、「ある」の主語A、すなわち、「存在」現象の「存在主体」属性の値実体(この例では、「ホテルコンコルド」)が持つ「存在場所(「所在地」等)」属性の値を調べ、回答すれば良いことになる(図14参照)。言い換えれば、「ホテルコンコルドはどこにあるか。」と問うことは、「ホテルコンコルドの所在地(「存在場所」属性)はどこか。」と問うことに等しい、と見ることもできる。
【0182】
別の例として、「ホテルコンコルドは、いつからそこにあるか。」を挙げる。図15に示すように、この例では、「ある」の「時間起点格」(すなわち、「存在」現象の「存在時間起点」属性)が、「ある」の主語(すなわち、「存在」現象の「存在主体」属性の値である「ホテルコンコルド」)の「創業時期」や「竣工時期」等と直接的な対応関係にある。したがって、そうした対応関係を「存在」現象意味表現と連合して記憶しておけば、「存在」現象の属性の値が問われた時に、どこに回答情報を探しに行けば良いかを直ちに知ることができる。
【0183】
さらに別の例として、「私は、ホテルコンコルドに8千円で泊まった。」を挙げる。図16に示すように、この例では、「宿泊」現象の「宿泊料金」属性が、「宿泊場所」属性の値である「ホテルコンコルド」の「宿泊料金」属性と直接的な対応関係にある。この場合、「ホテルコンコルド」の「宿泊料金」属性は、「ホテルコンコルド」における「宿泊料金」の分布や、一覧表を表すのに対し、「宿泊」現象中の「宿泊料金」属性は、文で言及されたある特定の「宿泊」現象における「宿泊料金」の実現値を表す。
【0184】
したがって、これまでの例とは異なり、2つの属性の値は、単純な同等関係ではなく、「ホテルコンコルド」の「宿泊料金」属性の値が、「宿泊」現象の「宿泊料金」属性の値の範囲を規定する、という関係にある。「ホテルコンコルドにいくらで泊まったか。」等「宿泊」現象の「宿泊料金」属性の値が問われている場合には、「ホテルコンコルド」の「宿泊料金」は、標準的に考えられる「宿泊料金」の範囲を示唆するに留まる。よって、この場合、この問いに回答するためには、「ホテルコンコルド」意味表現中にデータを検索しても直接回答を得ることはできず、実際にいくらで「ホテルコンコルド」に「泊まった」のかを示す現象意味表現を、別途文脈中から検索する必要がある。
【0185】
続いて、図17を用いて、「今仁さんは、トヨタの車を持っている。」という例について検討する。同図において、「所有1」は、「持っている(所有している)」の意味に対応する現象意味表現である。また、「所有者」属性は「持っている」に係る主格成分を、「所有物」属性は対象格成分を表す。そして、「所有者」属性の値は「今仁さん」であり、「今仁さん」意味表現中には、「所有物」属性が定義されていて、「今仁さん」が実際に持っている「車2」「家1」等の値が記述されている。さらに、「車2」意味表現には、「今仁さん」が所有している車の性質が表現されている。一方、「所有1」意味表現の「所有物」属性の値は「車1」であり、「車1」意味表現中には、「製造メーカ」属性が定義されていて、名詞句「車」の解釈結果として、その値に「トヨタ(登録商標)」が代入されている。
【0186】
このように、「ある実体Aが何らかの実体Bを持っている」、すなわち、「所有者 A」&「所有物 B」と主張できるためには、まず、A意味表現中に「A$所有物」という属性を持つ必要がある。「所有するもの」を全く持たない実体に対して、その実体が何かを持っていると主張することは無意味であるからである。A意味表現中に「A$所有物」という属性が存在する場合、それは、「所有」現象意味表現の「所有物」属性と直接的な対応関係を持つ。同様に、B意味表現は「B$所有者」という属性を持つ必要がある。そして、「B$所有者」属性は、「所有現象」意味表現の「所有者」属性と直接的な対応関係を持つ。すなわち、この例に見られるように、対応関係が複数の実体の属性との間にまたがって存在する場合もある。
【0187】
この例では、「所有」という現象が例に挙げられているが、「所有対象」の値には、「所有主体」の値実体が所有している任意の(部分)実体を指定することができる。その結果、「今仁さん$所有物」属性には、多様な(部分)実体が値として含まれ、「持っている」の対象格に対応する「所有物」属性の値に対応する(部分)実体以外の(部分)実体も含まれることになる。このように、互いに対応関係を持つ属性が、任意の(部分)実体を値として持ちうる場合には、属性同士ではなく、それらの値の中で、同一もしくは下位カテゴリに属する(部分)実体を探し、対応づける必要がある。
【0188】
任意の(部分)実体概念を値に取らない属性同士が対応関係にある場合には、2つの属性が値に取る概念は同一カテゴリに属する。その場合でも、「場所」概念等において、領域の包含関係等のカテゴリ関係にある値同士を対応づける必要があることがある。
【0189】
なお、先の「今仁さんは車を持っている。」という例文においては、対象格名詞句「車」は一般概念を表し、固有のインスタンスを表さない。このため、「車1$所有者」の値はNILであり、ここから有用な情報を取得することはできない。しかし、「今仁さんはこの車を持っている。」における「この車」等、対象格に特定のインスタンスを指定する表現が与えられる場合もある。仮に「この車」に関する情報が十分与えられているとすると、「この車$所有者」属性には値として「今仁さん」等が存在しており、文の意味を確認したり、あるいは、「誰がこの車を持っているか。」というようなWH疑問文に回答することができる。また、「今仁さん」意味表現の「今仁さん$所有物」の値と照合して、「この車」の車種が「ソアラ(登録商標)」である等、詳細な確認を行うこともできる。
【0190】
上述してきたようなことから分かるように、本実施の形態に係る自然言語解析装置によれば、述語概念の属性と、述語を修飾する格名詞概念の属性との間に存在する対応関係に基づいて、Yes/No疑問文に対する真偽の判定や、WH疑問文に対する回答の探索を行うことができる。すなわち、「今仁さんは、どこに住んでいるか。」、「今仁さんは、どんな車を持っているか。」、「今仁さんは、何色のランドクルーザーを持っているか。」、「誰がこの車を持っているか。」等の多様な言い回しで問われる問題に対応して的確な回答を行うことができる。
【0191】
なお、上記で検討した例は、名詞が格助詞を介して述語を修飾するタイプの依存関係によってもたらされる属性間関係であったが、名詞句の場合など(すなわち、ヘッドの名詞概念を構成する属性とヘッドの名詞を修飾する連体修飾成分が含む属性との対応関係など)についても同様に考えることができる。
【0192】
[3−2:自然言語解析装置の概略構成]
続いて、図18を用いて、本実施の形態に係る自然言語解析装置の概略構成を説明する。図18は、本実施の形態に係る自然言語解析装置10の構成を示すブロック図である。同図に示すように、この自然言語解析装置10は、入力部11と、出力部12と、入出力制御IF部13と、記憶部20と、制御部30とから構成され、自然言語による入力文で問われている問題に対して回答を解析するものである。
【0193】
このうち、入力部11は、各種の情報の入力を受付ける入力手段であり、キーボード、マウス、マイクロフォン等を備えて構成され、例えば、後述する疑問文や質問文などの入力文をユーザから受け付けて入力する。また、出力部12は、各種の情報を出力する出力手段であり、モニタやスピーカを備えて構成され、例えば、疑問文や質問文に対する応答文などを出力する。そして、入出力制御IF部13は、これら入力部11および出力部12によるデータの入出力を制御する手段である。
【0194】
記憶部20は、制御部30による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとして、入力文バッファ21と、文脈バッファ22と、出力文バッファ23と、入力文解釈用DB24と、問題解決用DB25と、応答文生成用DB26とを備える。
【0195】
このうち、入力文バッファ21、文脈バッファ22および出力文バッファ23は、後述する入力文解釈部31、問題解決部32および応答文生成部33による各処理段階で対象となるデータを記憶する手段であり、例えば、入力文バッファ21は、入力部11を介して入力された入力文を記憶し、文脈バッファ22は、入力文解釈部31によって生成された入力文の意味表現、および、問題解決部32によって生成された出力文の意味表現を記憶し、出力文バッファ23は、問題解決部32によって生成された出力文(応答文)を記憶する。
【0196】
入力文解釈用DB24、問題解決用DB25および応答文生成用DB26は、入力文解釈部31、問題解決部32および応答文生成部33による各処理段階で必要とされる知識やプログラムを記憶する手段であり、例えば、入力文解釈用DB24は、形態素解析や構文解析に必要な単語データ(単語辞書)、意味解析に必要な単語の意味表現(概念辞書)を記憶し、問題解決用DB25は、問題解決に必要な知識の意味表現(問題解決知識など)を記憶し、応答文生成用DB26は、応答文生成に必要な文法規則(依存構造−句構造対応規則など)を記憶する。
【0197】
制御部30は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとして、入力文解釈部31と、問題解決部32(問題種別判定部32aおよび回答探索部32b)と、応答文生成部33とを備える。
【0198】
このうち、入力文解釈部31は、入力文を解釈して意味表現を生成する処理部であり、具体的には、入力文バッファ21に蓄積される入力文に対して形態素解析および構文解析を行って入力文の依存構造木を抽出し、この依存構造木から意味表現(図14および図15など参照)を生成して文脈バッファ22に蓄積する。なお、この入力文解釈部31による処理内容は、上記の[1−5:入力文解釈部]および[2−7:意味解析]で説明した内容に対応する。
【0199】
ここで、かかる入力文解釈部31による処理を簡単に説明すると、まずは、入力文前処理として、構文解析木中の終助詞、時制、相、否定表現をマーカ類に変換した後、それらの表現を表す語句の下方における最も上位のモダルその他助動詞または述語に付与して、構文解析木を整形する。そして、入力文解析処理として、構文解析木に含まれる各節の意味を、順次、同一文内の先行節および先行文の意味および知識に位置付ける。具体的には、各節に対応する現象配列を生成し、各節の意味表現を順次生成し、現象配列、意味表現の格納場所である文脈バッファ22に蓄積するとともに、この意味表現の属性間や、意味表現と現象配列相互間の関連付け(リンクおよびポインタ)の設定を行う。このような節毎に得られた意味表現の蓄積、関連付けを、先行文脈および現在の対象文の各節に対して行い、これら各節の意味表現を、順次照合または重ね書きすることにより、節、文、あるいは、文脈単位での意味表現を得る。
【0200】
問題解決部32(問題種別判定部32aおよび回答探索部32b)は、入力文で問われている問題に対して回答を解析する処理部であり、具体的には、文脈バッファ22を監視して回答すべき問題を決定し、その問題に対する回答を探索してから(図14および図15など参照)、応答文の意味表現を生成して出力文バッファ23に蓄積する。なお、この問題解決部32による処理内容は、上記の[1−7:問題解決部]および[2−8:問題解決]で説明した内容に対応する。
【0201】
応答文生成部33は、入力文に対する応答文(問題文に対する回答文)を生成して出力部12を介して出力する処理部であり、具体的には、出力文バッファ23に蓄積されている意味表現から出力文(応答文)を生成して出力する(図8および図13参照)。なお、この応答文生成部33による処理内容は、上記の[1−6:応答文生成部]および[2−9:出力文生成]で説明した内容に対応する。
【0202】
なお、上述してきたような構成を備える自然言語解析装置10は、既知のパーソナル・コンピュータ、ワークステーション、PHS端末、携帯端末、移動体通信端末またはPDAなどの情報処理装置に、上記した記憶部20および制御部30の各機能を搭載することによって実現することができる。
【0203】
[3−3:自然言語解析装置の概略処理]
次に、図19を用いて、上記した自然言語解析装置10の概略処理を説明する。図19は、自然言語解析装置10による処理の流れを示すフローチャートである。同図に示すように、自然言語解析装置10が起動すると、入力文解釈部31、問題解決部32および応答文生成部33の各処理部がそれぞれ処理待ち状態になる。なお、入力文解釈部31、問題解決部32および応答文生成部33はそれぞれ並列的に動作する(入力文解釈処理、問題解決処理、応答文生成処理が並列的に実行される)ことを想定しているが、順次に動作するものとしてもよい。
【0204】
入力文解釈処理としては、かかる状態において、入力部11を介してユーザから入力文(疑問文や要求文など)が入力されると(ステップS1901肯定)、これが入力文バッファ21に格納される(ステップS1902)。そして、入力文解釈部31は、入力文バッファ21に格納された入力文を解釈して意味表現を生成し(ステップS1903)、生成した意味表現を文脈バッファ22に格納する(ステップS1904)。
【0205】
これを具体的に説明すると、図14に示すように、「ホテルコンコルドは、どこにあるか。」という入力文が入力文バッファ21に格納されると、入力文解釈部31は、同図の左側に示すような意味表現を生成し(なお、この意味表現は同図の右側に示す「ホテルコンコルド」の意味表現との間でリンクが設定される。)、かかる意味表現を文脈バッファ22に格納する。
【0206】
一方、問題解決処理としては、問題解決部32では、上記の入力文解釈部31による処理に並行して、文脈バッファ22に格納される意味表現を監視し、問題解決の必要がある意味表現(疑問文や要求文の意味表現)が格納されると(ステップS1905肯定)、その意味表現で問われている問題に対する回答を文脈バッファ22や問題解決用DB25から探索し(ステップS1906)、探索した回答を含んだ応答文の意味表現を生成して出力文バッファ23に格納する(ステップS1907)。
【0207】
これを具体的に説明すると、図14の左側に示した「ホテルコンコルドは、どこにあるか。」という入力文の意味表現が文脈バッファ22に格納されると、問題解決部32では、かかる意味表現で問われている問題に対する回答を、同図の右側に示した「ホテルコンコルド」の意味表現から探索し、「浜松」という回答を含んだ意味表現を出力文バッファ23に格納する。
【0208】
さらに、応答文生成処理としては、応答文生成部33では、上記の入力文解釈部31および問題解決部32による処理に並行して、出力文バッファ23を監視し、応答文(回答文)の意味表現が格納されると(ステップS1908肯定)、かかる意味表現から実際の応答文を生成して出力部12から出力する(ステップS1909およびS1910)。つまり、上記の例で言えば、「ホテルコンコルドは、浜松にあります。」といった応答文を生成してユーザに対して出力する。
【0209】
このようにして、自然言語解析装置10では、入力文解釈部31、問題解決部32および応答文生成部33が、それぞれの条件下でそれぞれの処理を繰り返して実行する。その結果、図8や図13に示したような動作例が得られる。
【0210】
[3−4:自然言語解析装置の特徴]
続いて、図20〜図22を用いて、上記した自然言語解析装置10の特徴を説明するが、ここでは、以下に示すように、[3−4(1):回答探索]、[3−4(2):問題種別]、[3−4(3):探索の範囲および順序]に区分けして説明する。
【0211】
[3−4(1):回答探索]
上述してきたように、自然言語解析装置10では、入力文や問題解決に必要な知識を、「属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現」として文脈バッファ22に記憶することで、多様な表層表現に対して多様性や不定形性を排除している。
【0212】
すなわち、例を挙げて説明すると、図14に示したように、「ホテルコンコルドはどこにあるか。」という入力文については、「存在」現象の「属性 属性値」として「存在主体 ホテルコンコルド」および「存在場所 ?」から構成される意味表現、および、「存在主体」属性の値である「ホテルコンコルド」実体の「属性 属性値」として「存在場所 浜松」、「創業時期 1988年」および「竣工時期 1988年」などから構成される意味表現が記憶されている。
【0213】
さらに、「存在」現象の「存在主体」属性の値である「ホテルコンコルド」実体意味表現中の「ホテルコンコルド$存在場所(所在地)」属性と、「存在」現象の「存在場所」属性とは、直接的な対応関係を持つものであることから、そうした対応関係を示すリンクが(同種属性間に設定され、各意味表現同士の意味の位置づけを行うための各属性間のリンクと併せて)設定される。
【0214】
このように、自然言語解析装置10では、入力文や問題解決に必要な知識を上記したような意味表現として記憶するが、本実施の形態では、かかる意味表現を利用することによって、多様な言い回しの入力文で問われる問題に対応して的確な回答を行うことができるようにしている点に主たる特徴がある。すなわち、自然言語解析装置10の問題解決部32では、意味表現の形式で記憶された入力文や問題解決に必要な知識のなかから入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して問題に対する回答を取得する。
【0215】
より詳細には、上記の例で言えば、図14に示すように、入力文によって「存在」現象の「存在場所」属性の属性値が問われているので、「存在」現象の「存在主体」属性の値実体である「ホテルコンコルド」実体が持つ「存在場所(「所在地」等)」属性の属性値を探索することによって、「浜松」という回答を取得する。さらに、「ホテルコンコルドの所在地(「存在場所」属性)はどこか。」と問われた場合でも、本実施の形態に係る自然言語解析装置10では、多様な表層表現に対して多様性や不定形性を排除した意味表現を利用しているので、上記と同様の意味表現が作成される結果、「浜松」という回答を同様に取得する。
【0216】
したがって、自然言語解析装置10によれば、多様な表層表現に対して多様性や不定形性を排除した意味表現を利用することによって、多様な言い回しの入力文で表現されている内容を汲み取った上で、然るべきところを探索して回答を取得することができるので、上記の主たる特徴の如く、多様な言い回しで問われる問題に対応して的確な回答を行うことが可能になる。
【0217】
[3−4(2):問題種別]
自然言語解析装置10に対して入力される入力文のタイプとしては、図20に示すように、「Yes/No疑問文」、「WH疑問文」、「要求文・願望文」、「システムの問い合わせ後に入力された文」という問題種別に分けられる。そして、これら問題種別は、問題解決手法の観点からは、同図に示すように、「Yes/No疑問文」にはタイプA(疑問文の意味表現にマッチする意味表現が文脈に存在するかどうかをチェックするタイプ)の手法が対応し、「WH疑問文」および「要求文・願望文」にはタイプB(問題対象属性の値を取得するタイプ)の手法が対応し、「問い合わせ後の入力文」にはタイプC(入力文がシステムの問い合わせに対する回答になっているか否かを判定し、回答になっていれば、問い合わせた事柄に対応する回答情報をそこから取得するタイプ)の手法が対応する。
【0218】
さらに、上記のタイプBについては、値が条件によって変化して値の取得に条件の指定が必要なタイプと、そうでないタイプとに分かれる。すなわち、例えば、「サブネット分割」問題における「セグメント分割数」、「ネットワークアドレス」であり、初期条件は、「属性 値」のリストからなる初期条件フレームとして表現される「初期条件指定が必要なタイプ」(タイプB1)と、「初期条件指定が不要なタイプ」(タイプB2)である。
【0219】
このように、自然言語解析装置10では、種々のタイプの入力文が入力されるが、本実施の形態では、例えば、YesNo疑問文、WH疑問文、要求文、願望文といった多様な入力文を通じて問われる問題の種別を的確に汲み取った上で、各問題の種別に応じた的確な回答探索を行うことができるようにしている点にも特徴がある。すなわち、自然言語解析装置10の問題種別判定部32aでは、入力文の意味表現に応じて、入力文によって問われている問題の種別を判定し、回答探索部32bでは、こうして判定された問題の種別を踏まえて問題に対する回答を探索する。
【0220】
より詳細には、問題種別判定部32aは、「Yes/No疑問文」および「WH疑問文」については、文脈バッファ22に格納された入力文の意味表現のヘッドに疑問マーカが付与されているか否かで判定し、さらに、意味表現中に「現象属性 ?」の表現を含むか否かで「Yes/No疑問文(タイプA)」または「WH疑問文(タイプB)」の別を判定する。また、問題種別判定部32aは、「要求文・願望文(タイプB)」の場合は、入力文の意味表現のヘッドに命令マーカや願望マーカが付与されているか否かで判定し、「問い合わせ後の入力文(タイプC)」については、システム問い合わせ文の意味表現が文脈バッファ22のトップに積まれている状況で文が入力されたか否かで判定する。なお、タイプB1またはタイプB2の別については、初期条件指定が必要であるか否かで判定する。そして、回答探索部32bは、図21に示すように、上記判定で得られた判定結果のタイプにしたがって問題に対する回答を探索して問題を解決する。
【0221】
したがって、自然言語解析装置10によれば、上記した特徴の如く、YesNo疑問文、WH疑問文、要求文、願望文といった多様な入力文を通じて問われる問題の種別を的確に汲み取った上で、各問題の種別に応じた的確な回答探索を行うことができ、各問題に対して的確な回答を取得することが可能になる。
【0222】
[3−4(3):探索の範囲および順序]
自然言語解析装置10が利用する意味表現は、現象/実体概念の意味を繰り込み、依存関係を圧縮した属性概念を単位として、他の意味表現内の対応する属性との間にリンクを設定するため、問題対象属性に対応する「属性 値」表現を容易に探索することができる。しかし、問題対象属性の抽象度が高い場合(例えば「ネットワークアドレス」等が単に「アドレス」と言及される場合)等には、文脈中に対応する属性が複数発見されることがある。
【0223】
一般に、上記の同種属性間のリンクの役割は、同種の意味を持つ属性を互いに位置付けることにあり、入力文の意味とは無関係であるから、この同種属性間のリンクだけを手がかりにして、入力文が指定する問題解決情報を探索することはできないので、対応する属性表現の探索範囲を文の意味に即して限定する必要がある。このようなことから、本実施の形態では、入力文の意味表現に対して真に相互関係がある意味表現のみを探索対象として的確な回答を取得するとともに、処理効率の向上を図ることができるようにしており、この点にも特徴がある。
【0224】
これを具体的に説明すると、回答探索部32bは、入力文の構造や位置に応じて、文脈バッファ22や問題解決用DB25に記憶された意味表現のなかで範囲を限定して検索を行う。つまり、現象属性または実体属性をキーとして回答を探索する範囲は、図22に示すように限定される。
【0225】
さらに、回答探索部32bでは、図22に示すように、所定の順序で各範囲を探索する。すなわち、本実施の形態では、入力文と直接的な相互関係を有する可能性が高い範囲を優先的に探索して、的確な回答を迅速に取得することができるようにしており、この点にも特徴がある。
【0226】
また、回答探索部32bでは、図22に示すεとζを探索範囲とする場合には、「提題格で言い立てられた語」または「主格の「は」で言い立てられた語」が見つかるまでの範囲を限界として先行文脈を遡る。すなわち、本実施の形態では、話題の切替を示すような「所定の語」を探索範囲の限界として設定して、際限なく無意味な検索が行われる事態を回避することができるようにしており、この点にも特徴がある。
【0227】
なお、かかる範囲で必要とする情報が得られなかった場合には、図22に示すように、「最初に見つかった「言い立てられた語」(A)と1つ前に「言い立てられた語」(B)の間に、「(A)が(B)の部分である」もしくは、「(A)が(B)の属性である」という関係が存在する」という条件が成り立つ時に限って、さらに1つ前に提題格あるいは、主格の「は」で言い立てられた語が見つかるまでの範囲で検索を行う。
【0228】
[4:他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてもよいものである。
【0229】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0230】
また、図示した各装置(例えば、図18に示した自然言語解析装置10)の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0231】
なお、本実施の形態で説明した自然言語解析方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【0232】
【発明の効果】
以上説明したように、請求項1、8および9の発明によれば、多様な表層表現に対して多様性や不定形性を排除した意味表現を利用することによって、多様な言い回しの入力文で表現されている内容を汲み取った上で、然るべきところを探索して回答を取得することができるので、多様な言い回しで問われる問題に対応して的確な回答を行うことが可能になる。
【0233】
また、請求項2の発明によれば、例えば、YesNo疑問文、WH疑問文、要求文、願望文といった多様な入力文を通じて問われる問題の種別を的確に汲み取った上で、各問題の種別に応じた的確な回答探索を行うことが可能になる。
【0234】
また、請求項3の発明によれば、いわゆるYesNo疑問文で問われている問題に対して的確な回答を取得することが可能になる。
【0235】
また、請求項4の発明によれば、いわゆるWH疑問文や要求文、願望文で問われている問題に対して的確な回答を取得することが可能になる。
【0236】
また、請求項5の発明によれば、入力文の意味表現に対して真に相互関係がある意味表現のみを探索対象として的確な回答を取得するとともに、処理効率の向上を図ることが可能になる。
【0237】
また、請求項6の発明によれば、入力文と直接的な相互関係を有する可能性が高い範囲を優先的に探索して、的確な回答を迅速に取得することが可能になる。
【0238】
また、請求項7の発明によれば、例えば、話題の切替を示すような所定の語を探索範囲の限界として設定して、際限なく無意味な検索が行われる事態を回避することが可能になる。
【図面の簡単な説明】
【図1】意味表現を説明するための図である。
【図2】研究1におけるシステムの構成を示す図である。
【図3】テーブルの形式で表された情報とその意味表現を示す図である。
【図4】付帯条件が連体修飾/連用修飾する例文を示す図である。
【図5】「オークラはどこにあるか。」の意味表現を示す図である。
【図6】「オークラにいくらで泊まれますか。」の意味表現を示す図である。
【図7】「オークラの所在地はどこか。」の意味表現を示す図である。
【図8】研究1におけるシステムの対話例を示す図である。
【図9】研究2が題材とするネットワークの構築例を示す図である。
【図10】研究2における対話システムの構成を示す図である。
【図11】意味表現の基本形を示す図である。
【図12】意味表現の例を示す図である。
【図13】研究2におけるシステムの対話例を示す図である。
【図14】意味表現の例を示す図である。
【図15】意味表現の例を示す図である。
【図16】意味表現の例を示す図である。
【図17】意味表現の例を示す図である。
【図18】本実施の形態に係る自然言語解析装置の構成を示すブロック図である。
【図19】自然言語解析装置による処理の流れを示すフローチャートである。
【図20】問題種別を説明するための図である。
【図21】問題解決の手法を説明するための図である。
【図22】回答探索の手法を説明するための図
【符号の説明】
10 自然言語解析装置
11 入力部
12 出力部
13 入出力制御IF部
20 記憶部
21 入力文バッファ
22 文脈バッファ
23 出力文バッファ
24 入力文解釈用DB
25 問題解決用DB
26 応答文生成用DB
30 制御部
31 入力文解釈部
32 問題解決部
32a 問題種別判定部
32b 回答探索部
33 応答文生成部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a natural language analysis device, a natural language analysis method, and a natural language analysis program for searching for an answer to a question asked in a natural language input sentence. The present invention relates to a natural language analysis device, a natural language analysis method, and a natural language analysis program capable of obtaining accurate and accurate answers.
[0002]
[Prior art]
Conventionally, as a search for an answer to a question (for example, a student's question in an educational setting, etc.) that is asked by an input sentence in a natural language, a similar question is set in an answer DB as shown in the following non-patent document. A dialogue system for searching and answering (database) is being studied.
[0003]
[Non-patent document 1]
Shumi Kagawa, Yasuhiro Kamiya, Hiroyuki Imai, Yahiko Kamibayashi: "Efficient Question Answering Support in Distance Education System (Education and Groupware, etc.)", Information Processing Society of Japan Research Report, 96-GW-17- 9, 1996
[Non-patent document 2]
Tsutsumi Yutaka, Ushijima Kazuo: "Similar Question Extraction in Question Answering System Using E-mail in Japanese Sentence", Information Processing Society of Japan Research Report, 97-NL-117-22, 1997.
[Non-Patent Document 3]
Sanpachi Uehara, Rieko Yamamoto, Tomoya Ogawa: "LISP-PAL: Natural Language Question Answering System for Programming Support", Transactions of Information Processing Society of Japan, Vol. 30, no. 11, 1989
[0004]
[Problems to be solved by the invention]
However, in the conventional techniques including the above research, there are problems such as that only one round-trip is allowed in the dialogue and teachers have to select an appropriate answer from the search results. Could not be answered accurately without human intervention.
[0005]
In other words, for example, if the input sentences "Where is the location of Okura?" And "I want to stay at Okura, where are they?" And give the same answer. On the other hand, the input sentences "I want to stay at Hotel Concorde, how much is it?" And "I want to eat at Hotel Concorde, how much is it?" It is necessary to make a separate answer by recognizing that the “fee” is the “room charge” of “Hotel Concorde” and the “fee” in question in the latter case is the “meal fee” of “Hotel Concorde” There is.
[0006]
Then, in order to make such an answer properly, after extracting the contents expressed in the input sentence in various phrases, the information necessary for the answer should be prepared according to the contents of the question sentence and the preceding input sentence. Although it is necessary to search for an appropriate place, the above-mentioned conventional technique of searching for a similar question from the answer DB cannot accept a correct answer because it does not accept various expressions.
[0007]
Therefore, the present invention has been made to solve the above-described problems of the conventional technology, and a natural language analysis device capable of giving an accurate answer in response to a question asked in various terms, A language analysis method and a natural language analysis program are provided.
[0008]
[Means for Solving the Problems]
In order to solve the above-mentioned problems and achieve the object, an invention according to claim 1 is a natural language analysis device that searches for an answer to a question asked by a natural language input sentence, And semantic expression storage means for storing predetermined knowledge information used for the answer as a semantic expression configured by combining an attribute and an attribute value and setting a link between mutually corresponding attributes; Answer search means for searching a semantic expression corresponding to the semantic expression of the input sentence from the semantic expressions stored by the storage means and referring to an attribute value included in the searched semantic expression to obtain an answer to the problem And characterized in that:
[0009]
According to the present invention, predetermined knowledge information used for an input sentence and an answer is stored as a semantic expression which is configured by combining an attribute and an attribute value and a link is set between mutually corresponding attributes. Then, a semantic expression corresponding to the semantic expression of the input sentence is searched from the stored semantic expressions, and an answer to the problem is acquired by referring to the attribute value included in the searched semantic expression. Therefore, by using semantic expressions that exclude diversity and indefiniteness for various surface expressions, we can extract the contents expressed in various sentence input sentences and search for the appropriate places. Since an answer can be obtained, an accurate answer can be made in response to a question that is asked in various phrases.
[0010]
The invention according to claim 2 is the invention according to the above invention, further comprising question type determination means for determining a type of a question asked by the input sentence according to the semantic expression of the input sentence. The means searches for an answer to the problem based on the type of the problem determined by the problem type determination means.
[0011]
According to the present invention, the type of the question asked by the input sentence is determined according to the semantic expression of the input sentence, and the answer to the question is searched based on the determined type of the problem. Therefore, for example, after accurately extracting the types of questions to be asked through various input sentences such as a YesNo question sentence, a WH question sentence, a request sentence, and a wish sentence, it is necessary to perform an accurate answer search according to the type of each problem. Becomes possible.
[0012]
Further, in the invention according to claim 3, in the above-mentioned invention, the question type determination unit may be configured such that a question marker is added to the semantic expression of the input sentence and the questionable attribute is not included in the semantic expression. Determines that the authenticity of the input sentence is questioned, and the answer search unit determines that the authenticity of the input sentence is questioned by the problem type determination unit. The semantic expression stored in the semantic expression storage means is searched for a semantic expression corresponding to the semantic expression of the input sentence, and it is determined whether or not the semantic expression matches the attribute value included in the searched semantic expression. Is obtained.
[0013]
According to the present invention, when a question marker is added to the semantic expression of the input sentence and the questionable attribute is not included in the semantic expression, it is determined that the authenticity of the input sentence is questioned. Then, when it is determined that the authenticity of the input sentence is questioned, the stored semantic expression is searched for a semantic expression corresponding to the semantic expression of the input sentence, and is included in the searched semantic expression. Determine whether it matches the attribute value and get the answer. Therefore, it is possible to obtain an accurate answer to the question asked in the so-called YesNo question sentence.
[0014]
According to a fourth aspect of the present invention, in the above-mentioned invention, the question type determination unit is configured to assign a question marker to the semantic expression of the input sentence and include the question target attribute in the semantic expression. In the case where it is determined that the content of the predetermined attribute value is questioned, and the answer search means determines that the content of the predetermined attribute value is questioned by the question type determination means. Searching for a semantic expression corresponding to the semantic expression of the input sentence from the semantic expressions stored by the semantic expression storing means, and extracting an attribute value corresponding to a problem attribute included in the searched semantic expression. The answer is obtained.
[0015]
According to the present invention, when a question marker is added to the semantic expression of the input sentence and the questionable attribute is included in the semantic expression, it is determined that the content of the predetermined attribute value is questioned. I do. Then, when it is determined that the content of the predetermined attribute value is questioned, a semantic expression corresponding to the semantic expression of the input sentence is searched from the stored semantic expressions and included in the searched semantic expression. An attribute value corresponding to the question target attribute to be extracted is extracted to obtain a response. Therefore, it is possible to obtain an accurate answer to the question asked in the so-called WH question sentence, request sentence, and wish sentence.
[0016]
According to a fifth aspect of the present invention, in the above-mentioned invention, the answer search means sets a range in the semantic expressions stored by the semantic expression storage means according to a structure and / or a position of the input sentence. It is characterized in that search is limited.
[0017]
According to the present invention, a search is performed with a limited range in the stored semantic expressions according to the structure and / or position of the input sentence. Therefore, it is possible to obtain an accurate answer with only the semantic expression having a true correlation with the semantic expression of the input sentence as a search target, and to improve the processing efficiency.
[0018]
The invention according to claim 6 is characterized in that, in the above invention, when searching for the answer limited to a plurality of ranges, the answer search means searches each range in a predetermined order. I do.
[0019]
According to the present invention, when searching for an answer limited to a plurality of ranges, each range is searched in a predetermined order. Therefore, it is possible to preferentially search for a range that has a high possibility of having a direct correlation with the input sentence and quickly obtain an accurate answer.
[0020]
According to a seventh aspect of the present invention, in the above-mentioned invention, when the answer search means searches the answer only for the input sentence preceding the input sentence, the answer search means goes back until a predetermined word is found. It is characterized by searching.
[0021]
According to the present invention, when searching for an answer limited to the input sentence preceding the input sentence, the search is performed retrospectively until a predetermined word is found. Therefore, for example, it is possible to set a predetermined word indicating a change of topic as the limit of the search range, and to avoid a situation where an infinitely meaningless search is performed.
[0022]
The invention according to claim 8 is a natural language analysis method for searching for an answer to a question questioned in a natural language input sentence, wherein the predetermined knowledge information used for the input sentence and the answer is provided. Is stored as a semantic expression that is configured by combining an attribute and an attribute value and a link is set between mutually corresponding attributes, and a semantic expression stored in the semantic expression storing step. An answer search step of searching for a semantic expression corresponding to the semantic expression of the input sentence and acquiring an answer to the question by referring to an attribute value included in the searched semantic expression.
[0023]
According to the present invention, predetermined knowledge information used for an input sentence and an answer is stored as a semantic expression which is configured by combining an attribute and an attribute value and a link is set between mutually corresponding attributes. Then, a semantic expression corresponding to the semantic expression of the input sentence is searched from the stored semantic expressions, and an answer to the problem is acquired by referring to the attribute value included in the searched semantic expression. Therefore, by using semantic expressions excluding diversity and indefiniteness for various surface expressions, we can extract the contents expressed in various sentence input sentences and search for the appropriate places Since an answer can be obtained, an accurate answer can be made in response to a question that is asked in various phrases.
[0024]
The invention according to claim 9 is a natural language analysis program for causing a computer to execute a method of searching for an answer to a question asked by an input sentence in natural language, the program being used for the input sentence and the answer. A semantic expression storing step of storing predetermined knowledge information to be stored in a semantic expression storage means as a semantic expression configured by combining an attribute and an attribute value and setting a link between mutually corresponding attributes; An answer search step of searching a semantic expression corresponding to the semantic expression of the input sentence from the semantic expressions stored by the storage means, and acquiring an answer to the problem by referring to an attribute value included in the searched semantic expression Are executed by a computer.
[0025]
According to the present invention, predetermined knowledge information used for an input sentence and an answer is stored as a semantic expression storage means as a semantic expression configured by combining an attribute and an attribute value and setting a link between mutually corresponding attributes. To be stored. Then, a semantic expression corresponding to the semantic expression of the input sentence is searched from the stored semantic expressions, and an answer to the problem is acquired by referring to the attribute value included in the searched semantic expression. Therefore, by using semantic expressions that exclude diversity and indefiniteness for various surface expressions, we can extract the contents expressed in various sentence input sentences and search for the appropriate places. Since an answer can be obtained, an accurate answer can be made in response to a question that is asked in various phrases.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of a natural language analysis device, a natural language analysis method, and a natural language analysis program according to the present invention will be described in detail below with reference to the accompanying drawings. In the following, the meanings of the main terms used in the present embodiment (corresponding to [0: Explanation of terms]) and the contents of the research that became the basis for inventing the present invention ([1: Contents of study 1]) , [2: Content of Research 2]), the natural language analysis device according to the present embodiment (corresponding to [3: Natural language analysis device according to the present embodiment]), and finally various A modified example (corresponding to [4: Another embodiment]) will be described.
[0027]
[0: Explanation of terms]
First, the meaning of “semantic expression”, which is a main term used in the present embodiment, will be described. Here, as shown below, [0-1: task], [0-2: dependency Exclusion], [0-3: branch analysis "continuous modification component = particle phrase"], [0-4: branch analysis "continuous modification component = adverb"], [0-5: branch analysis "continuous modification" Modification component = connective particle phrase], [0-6: Simplified reference of semantic content], [0-7: Stable expression of dependency relationship between semantic expressions], [0-8: Concrete structure] It will be described separately.
[0028]
[0-1: Issues]
In a conventional natural language analysis system, when expressing the meaning of a phrase or clause, the semantic expression must be described using the surface dependency unanalyzed. In, the meaning of sentences and clauses was expressed in the form of "predicate (main noun, target noun, etc.)".
[0029]
More specifically, the sentence S1 "I go to Nikko at high speed from Tokyo" is expressed by a semantic expression M1 of "Go (I, Tokyo, Nikko, high speed)" (here, "Go"). Represents the meaning of the predicate "go", and "I", "Tokyo", "Nikko", and "Fast" are constant symbols corresponding to the nouns "I", "Tokyo", "Nikko", and "Fast", or pointers to semantic expressions. The sentence S2, which has substantially the same meaning as the sentence S1 and “I go to Nikko. The departure point is Tokyo. Use high speed.”, Is sentence Go2 (Go, I, nil, Nikko, nil) ∧ Eq (departure city, Tokyo) U Use (nil, high speed) ”(where“ Eq ”means“ da ”,“ Use ”means“ use ”, and“ nil ” ”Is blank, and“ ∧ ”is collocation).
[0030]
However, as can be seen by expressing the above-mentioned sentences S1 and S2 with a dependency structure, the semantic expression M1 has a dependency structure corresponding to the dependency structure of the original sentence S1, and the semantic expression M2 is the original sentence S2. Has a dependency structure corresponding to the dependency structure of. That is, the semantic expression M1 and the semantic expression M2 have different dependency structures corresponding to the original sentences S1 and S2, while being semantic expressions representing the meanings of sentences having the same meaning.
[0031]
As described above, although the sentences S1 and S2 have the same meaning, the forms of the semantic expressions M1 and M2 change in conjunction with the dependency structure of the sentences S1 and S2. Therefore, even if M1 and M2 are compared with each other, it cannot be mechanically determined that both express the same meaning. Such a problem is the same in a conventional semantic expression other than the predicate form.
[0032]
In order to solve such a conventional problem, that is, to avoid the above-described difficulties and to enable accurate identification of sentences and identification of the semantic relationship between sentences, at least the case of words As with, it must define the entire set of meanings of phrases and clauses, within which the meaning of individual phrases and clauses can be located.
[0033]
Here, at the present time when there is no technology for analyzing dependency relations, one method for positioning the meaning of a phrase or clause is to remove the expression of the dependency as much as possible, and to express the parts that cannot be excluded. It is to construct a semantic expression that leaves only common dependencies that do not change depending on the meaning, and consequently does not require dependency analysis. For this reason, in the present embodiment, the meaning of the input sentence is positioned on the meaning of the preceding sentence and the related knowledge, and it is possible to stably compare and match the meaning of the sentence. Natural language analysis is performed using "semantic expressions".
[0034]
[0-2: Elimination of Dependency]
In this analysis, as described above, the task of "appearingly removing the expression of the dependency as much as possible and leaving only the common dependency that does not change depending on the meaning to be expressed is left for the part that cannot be excluded" is achieved. . Therefore, the following two processes are performed.
[0035]
(1) First, each clause is decomposed into a set of “branches” of “predicate + each successive modification component”, and the meaning of each branch is analyzed independently of the other branches. Here, the continuous modifier component includes a case particle phrase, an adverb phrase, a connecting particle phrase, and the like.
(2) Then, in order to facilitate cross-reference between other clauses in the same sentence, other sentences, or branches representing the same kind of meaning in the knowledge, a part of the analysis result of each branch (described later) An “attribute” is added with a “link” for referring to the semantic content of another branch that corresponds semantically.
[0036]
[0-3: In the case of branch analysis "continuous modification component = particle phrase"]
First, in the analysis of the “branch”, a case where the continuous modification component is a case particle phrase will be described. In the analysis of the branch of "predicate + case particle + case noun + case noun", this is expressed as "(predicate + case particle + case noun superordinate concept) = case noun. Is synonymous with. For example, the branch "living in Koganei City" is synonymously converted into "living place = Koganei City". Then, the "predicate + case particle + superordinate concept of noun attached to case" in this is converted into one noun word (hereinafter, nounization). For example, "where you live" is converted to a noun "address". Then, the meaning of the branch is expressed as “noun = noun attached to the case”. Thus, the meaning of the branch “living in Koganei City” is expressed as “address = Koganei City”.
[0037]
Here, as the noun used in the nounization, a noun that is uniquely determined by a phenomenon represented by the clause to which the branch to be analyzed belongs and does not depend on the predicate is selected. For such a noun, for example, a semantic information table that defines in advance a correspondence relationship between “predicate + case particle + semantic classification of noun attached to case” and “noun” is provided in association with the predicate meaning expression, This semantic information table can be easily selected by referring to the table as needed.
[0038]
In the following, "noun" converted from "predicate + case particle + superordinate concept of noun attached to case" is referred to as "phenomenon attribute", and "noun" attached to this case is referred to as "attribute value". Also, “noun = noun attached to the case” is abbreviated as “phenomenon attribute attribute value”. Here, the “phenomenon attribute” refers to a basic property constituting the concept of a phenomenon. On the other hand, basic properties such as “color”, “shape”, and “size” that constitute an entity concept are referred to as “entity attributes”. The entity concept may include a “phenomenon attribute” in addition to the entity attribute.
[0039]
For example, the attribute "production area" of "apple", the attribute "number of vehicles" of "parking lot", and the like can be regarded as attributes that define a phenomenon corresponding to "produce" and "accommodate", respectively. . When referring to these “phenomenon attribute” and “entity attribute” collectively, they are simply abbreviated as “attribute”. In this way, when analyzing each branch, by expressing the meaning of each branch in such a format, the dependency relationship of each branch “predicate-case particle-noun” is renormalized into the corresponding phenomenon attribute. , “=” Can be converted into uniform dependencies. Note that “=” is omitted in the meaning expression.
[0040]
[0-4: Branch analysis "continuous modification component = adverb"]
Next, a case in which the consecutive modification component is an adverb will be described. The adverb is different from the case component, as can be seen from the fact that it can be expressed as, for example, “slowly proceed” = “progress at a speed lower than the average” = “progressive speed = lower than the average” = “progressive speed = lower than the average” The information includes both information of “phenomenon attribute (“ progression speed ”in the above example)” and “value (“ below average ”in the above example)” which are limited to the meaning of one word.
[0041]
Therefore, by storing in advance the adverb what kind of phenomenon attribute and what value it is in the form of a “phenomenon attribute attribute value” in the form of a concept dictionary, it can be stored in the same way as the case component. Can handle. Adverbs form adverb phrases with "degree adverbs" such as "very", but the function of degree adverbs is mainly to emphasize attribute values, and therefore the meaning of adverb phrases including degree adverbs Is also expressed in the form of “phenomenon attribute attribute value”.
[0042]
[0-5: In the case of branch analysis "continuous modification component = connecting particle phrase"]
Next, the case where the continuous modification component is a connecting particle phrase will be described. Regarding the continuous modifier component in the form of “noun + (quasi) verb + connecting particle”, what kind of phenomenon attribute depends on the meaning of the predicate or auxiliary verb it modifies and the combination of the noun, (quasi) verb and connecting particle It is decided whether to limit the value.
[0043]
For example, the expression "going by train" is synonymous with "transportation used when going = train", and the expression "going through Utsunomiya" is " Although it is synonymous with "Utsunomiya", first focusing on the "use" phenomenon and the "via" phenomenon, "transportation used = train" = "transportation = train", "place to go = Utsunomiya" = "via As in the case of the case particle phrase that modifies the above descriptive words, such as "ground = Utsunomiya", the phenomenon attributes ("transportation means" and "transit points") are defined, and the dependencies are incorporated into it. The meaning can be expressed in the form of "phenomenon attribute attribute value".
[0044]
Also, the expressions "the transportation used when going is a train" and "the place where you go when traveling is Utsunomiya" are premised on the phenomenon of "moving". It represents the meaning of limiting the form of "transportation" or "places to go through". Therefore, just as “departure”, “progress”, and “arrival” are partial phenomena of the “movement” phenomenon, the “moving medium use” phenomenon and the “via location” phenomenon are also included in the “movement” phenomenon. It can be considered a phenomenon.
[0045]
Therefore, considering that the attribute of the partial phenomenon is also the attribute of the whole phenomenon, by defining the attribute group of the whole phenomenon including the attributes of all the partial phenomena, "using train", "through Utsunomiya The meaning of the expression "te" can be interpreted as information defining the whole "movement" phenomenon by associating it with the attribute of the whole phenomenon.
[0046]
On the other hand, connective particle phrases with the form "case particle + quasi-verb + connective particle" such as "ni + ok + te", "ni + tsu + te", "ni + seki + te", "ni + against + te" In the case, the quasi-verb does not have the power to point to the phenomenon, and "hold in Tokyo" = "hold in Tokyo" = "location = Tokyo", "examine search engine performance" = "search engine performance""Consider about search engine" = "Examine search engine performance" = "Study content = Search engine performance", "Complain to hotel" = "Complain to hotel" = "Expression = Hotel" ( &"Expression content = complaint"), the value of the attribute of the phenomenon that it modifies is directly limited by the action equivalent to or close to the case particle phrase.
[0047]
Therefore, by defining a "predicate or auxiliary verb + connection particle phrase-phenomenon attribute" correspondence table in advance in association with the auxiliary verb or predicate semantic expression, the same type of semantic expression can be obtained. As a result, the semantic expressions of various clauses created by an arbitrary predicate can be configured from only one “predicate (“ = ”)” and “dependency”, and the expression structure can be homogenized. As a result, it is not necessary to analyze the dependency in the identification of the semantic content represented by the semantic expression, the comparison and collation processing between the semantic expressions, or the comparison and collation processing between the semantic expression and the knowledge expression.
[0048]
For example, the sections “Leave Tokyo”, “Go Tokyo”, and “Departure is Tokyo” are all expressed as “Departure place (phenomenon attribute) Tokyo (attribute value)”. At first glance, this expression form is similar to an expression form such as a frame expression by conventional processing. However, the meaning of the noun representing the predicate concept-case concept-the superordinate concept of the case noun is included in the meaning of the phenomenon attribute. By using the phenomenon attribute alone, it is possible to identify the phenomenon being expressed and refer to related information in other semantic expressions without performing list structure matching. " In that respect, they are completely different.
[0049]
In this method, the analysis result of each branch that has undergone such compression and homogenization of the dependency is analyzed by the analysis result of the other branch of the same sentence, and the analysis result of each branch of the preceding sentence described in the same type. , And each "phenomenon attribute attribute value" expression constituting the knowledge expression is sequentially collated or overwritten to obtain an analysis result for each clause, sentence, or context.
[0050]
Here, there is a problem that cannot be solved by simply expressing each branch in the form of “phenomenon attribute attribute value”. That is, there is a problem that the meaning of the entire section may need to be referred to in another section. In order to solve this problem, “phenomenon attribute attribute value” expressions corresponding to the respective branches constituting the clause are bundled as “frames” to facilitate reference to the entire clause. Note that a concept name corresponding to the phenomenon is given to this “frame”. These points are the same for the auxiliary verb and the combined modifier that modifies the auxiliary verb.
[0051]
[0-6: Easier reference of semantic contents]
Then, in order to facilitate cross-reference of a plurality of “phenomenon attribute attribute value” expressions bundled as “frames”, a link is established between corresponding phenomenon attributes of each frame. Thereby, each phenomenon attribute is associated with each other.
[0052]
[0-7: Stable expression of dependency between semantic expressions]
By the basic policies (1) and (2) described above, the semantic expression (knowledge expression) of each branch in the node can be specified. However, there is a problem that cannot be solved by this expression alone. That is, in order to specify the meaning of the entire sentence or the entire clause, it is necessary to stably express the dependency between each semantic expression in addition to specifying the meaning of each branch. In other words, it is necessary that the destinations of the case component, the connecting particle, and the adverb do not change depending on the presence or absence of the auxiliary verb, tense, or phase.
[0053]
Therefore, in the present method, a framework of a semantic expression having a certain structure (hereinafter, “phenomenon sequence”) is conceptually defined regardless of the presence or absence of these auxiliary verbs, tense, or phase. Specifically, at the implementation level, every time a “section” is analyzed, a “phenomenon sequence” that holds a semantic expression is generated. Then, pointers and markers to the semantic expressions of the predicates, auxiliary verbs or equivalent expressions, connective particle phrases, final particles, etc. obtained in the process of analyzing the "section" are used as specific array elements of this "phenomenon array". Assign sequentially. As a result, the dependencies between the semantic expressions are stably expressed, and the meaning of the entire sentence or the entire clause is stably specified.
[0054]
[0-8: Specific structure]
Next, a specific structure of the “semantic expression” and the “phenomenon sequence” determined based on the basic policy as described above will be described. Here, only the structure will be described, but a specific device configuration and a specific processing content for generating the semantic expression and the phenomenon array are described in detail in the specification and drawings of Japanese Patent Application No. 2001-309128. As described above.
[0055]
As shown conceptually in FIG. 1, this structure includes one or more semantic expressions (a plurality of semantic expressions m to p in FIG. 1) obtained by bundling semantic expressions generated from each branch of each section in a frame format. Phenomenon arrays 1 and 2 generated for each node. Hereinafter, the semantic expressions bundled in this frame format are referred to as “semantic expressions”, and the semantic expressions bundled in the phenomenon sequence are also referred to as “semantic expressions”.
[0056]
In addition, these plural semantic expressions are associated with each other by linking their phenomenon attributes (hereinafter simply referred to as “attributes” in the figures, and the same applies hereinafter unless otherwise specified) (hereinafter, in each drawing, the attributes are referred to as “attributes”). Links between them are indicated by lines). Conceptually, this association is performed by an image of “penetrating (connecting)” between the expressions with a link. Furthermore, a pointer to each semantic expression and the like are stored in the phenomenon array, and the dependency between the semantic expressions is stably expressed (hereinafter, the pointers are indicated by arrows in each drawing).
[0057]
[1: Contents of Study 1]
Next, referring to FIGS. 2 to 8, one of the researches (the research title “Construction of a hotel reservation dialogue system based on the positioning of meaning in the context”) that became the basis for inventing the present invention, hereinafter referred to as “Research 1” Here, [1-1: Introduction], [1-2: System Overview], [1-3: Semantic Expression], and [1--1] are described below. 4: control unit], [1-5: input sentence interpretation unit], [1-6: response sentence generation unit], [1-7: problem solving unit], [1-8: operation example], [1- 9: Summary].
[0058]
[1-1: Introduction]
In a task-oriented dialogue system using natural language, the information obtained during the dialogue must be positioned in the system's own problem-solving process to implement appropriate problem-solving behavior. However, information from the user is input in various terms, even if the content is the same. Further, there are cases where a statement is made in a plurality of sentences in order to state a certain matter. Furthermore, in a user-driven system, information from a user can be spoken in various situations during a dialogue, rather than being allowed only when the system prompts for the information.
[0059]
Therefore, in order to realize a task-oriented dialogue system that accepts free expressions from users, it is necessary to “correctly interpret the meaning of sentences entered in free styles” and “use the interpreted information in their own problem solving actions. What can be reflected correctly "is required. In order to realize the latter, it is necessary to determine what part of the interpreted information imposes on what part of the problem solving plan and what kind of restrictions are imposed. Therefore, when both the interpretation result of the input sentence and the problem solving plan are regarded as expressing a certain meaning, the point is that the semantic expressions can be freely compared and positioned.
[0060]
In the following article, the semantic representation method introduced in another article (Akira Takagi, Hideyuki Nakajima, Yukihiro Ito, Makoto Kondo, Ikumi Imani, Yoshio Miyake: "Dialogue semantic expression emphasizing the positioning of meaning in context, An overview of a hotel search and reservation dialogue system that is being developed based on the SIG-SLUD-A202-09, 2002.
[0061]
[1-2: System Overview]
FIG. 2 shows the configuration of the system. When an input sentence is entered through the input / output interface, it is held in the input buffer. The control unit of the system controls the operations of input sentence interpretation, problem solving, and response sentence generation. The system interprets the input sentence stored in the input sentence buffer and stores the semantic expression in the context. Next, the necessary problem solving is started according to the context and the internal state of the system, and the semantic expression of the response sentence is generated and stored in the output sentence buffer. The response sentence generation unit generates and outputs a Japanese sentence from the semantic expression of the output sentence. Note that the system is implemented by SWI-prolog.
[0062]
This system eliminates the variety and indefiniteness of various surface expressions, converts them into semantic expressions that can compare the semantic contents of dialogues, and stores them as context information. The currently implemented system interacts with the keyboard by inputting and outputting to the display. We want to handle spoken dialogue in the future, but spoken dialogue requires real-time processing, interaction with the environment, and flexibility in processing orders of magnitude more than written words, such as atypical sentences and stagnant words. . We are currently aiming to allow for the flexibility of wording and to solve problems appropriately, so we will gradually move to spoken dialogue in the future.
[0063]
[1-3: Meaning expression]
In this system, semantic analysis is performed using the semantic expressions proposed in another paper. This semantic expression method expresses the meaning of a sentence and the contents of knowledge using “phenomenon attribute / entity attribute = value” as a basic unit. However, in general, when the value of a phenomenon or entity attribute is determined without incidental conditions, it can be expressed in this format, but information such as distance, fee, required time, etc. that is frequently referred to in hotel dialogue is not The attribute value cannot be determined unless a plurality of conditions are set. This type of information cannot be described simply by simply “attribute = value”. For example, the value of the accommodation fee varies depending on the type of service such as a guest room type and a meal. The value of the distance varies depending on the measurement reference point. Such information is usually represented using a table. The information represented by the table includes complex dependencies from which different dependencies can be extracted depending on the viewpoint. As a result, sentences that refer to this type of information are extremely diverse.
[0064]
For example, the following expressions are used to specify the room charge and the type of service, and to refer to the room charge.
"The price of a half-board single at Hotel A is 10,000 yen."
"The price of A Hotel is 10,000 yen for a single meal for half board."
"The price for half board at A Hotel is 10,000 yen for a single."
[0065]
A semantic expression of such a sentence cannot be expressed in a simple “attribute = value” format. Nor can it absorb the diversity of sentence dependencies. Therefore, it is necessary to consider a method for expressing information to be represented in a table as a semantic expression. As described above, the attribute values whose values can change depending on the incidental conditions are represented by a table as shown in the left diagram of FIG. Here, the main attribute refers to an attribute (an accommodation fee, a distance, etc.) focused on in the input sentence, and the sub-attribute refers to an attribute (room type, meal type, base point) representing an incidental condition. Pointing to. In the table shown in the left diagram of FIG. 3, since the main attribute takes a specific value when the value of a set of sub-attributes is specified, the information in the table of FIG. 3 is cut out in the row direction, and each is formed into one unit. This can be expressed as shown on the right side of FIG.
[0066]
This is nothing more than an expression in units of "phenomenon attribute / entity attribute = value". Therefore, it can be expressed as it is in the semantic expression format adopted in this paper. On the other hand, in the sentence, the information indicating the incidental condition is expressed in the form of a noun modification to the attribute noun, and the information such as "~ ha", "if it is (no)", and "to da" It can be broadly divided into those expressed in the form of continuous modification. However, those expressions can be considered to be derived from one archetypal semantic expression (Akira Takagi, Yukihiro Ito, Natural Language Processing, Maruzen, 1987.). If the value of the "room charge" is 7,000 yen and the value of the "room type" is single, the basic form is "the price of a single (room type) is 7,000 yen". The “single (of guest room type)” portion is equivalent to “(fee) where the guest room type is single”.
[0067]
Here, variations such as omitting “guest type” and expressing “single fee” as “single fee” occur. On the other hand, the underlined portion of "single guest room type" is separated, and expressions such as "when the guest room type is single" or "when the guest room type is single" are the sentence of the continuous modification of the above classification. In this case as well, variations such as omitting the “guest room type” and expressing “if it is a single” or “in the case of a single”, or a theme such as “single is” occur (FIG. 4). reference). In each case, the expression of the above “single (of the guest room type)” part is used as a prototype. Even if the attribute noun is omitted, it is expressed as “attribute = value” by complementing it. be able to. Therefore, the meaning expression of the above-described continuous modification or continuous modification can be positioned in the “sub-attribute = value” portion of FIG.
[0068]
[1-4: Control unit]
The control unit basically repeats a series of operations of “input sentence interpretation, response sentence generation, problem solving” described below. In the problem solving phase, the following operation is performed. The system has the necessary problem-solving knowledge to perform the hotel search dialogue. The system compares the internal state of the system with the condition part of the rule and performs the operation of the rule execution part that has hit. Since the utterance act of the system is also called from this, the control of the dialogue is also performed on a rule basis.
[0069]
The internal state of the system is defined by a flag representing the internal state. This can be overwritten by applying rules. (Every time the basic unit is repeated, the internal state is monitored and updated.) The rules and flags specific to the hotel search problem are described in the problem solving type determination knowledge for individual problem solving. In the control, the number of rules to be fired and executed once in the problem solving phase in one loop is limited to one. That is, when an action defined by the execution unit of one rule is taken, input sentence interpretation and response sentence generation are sequentially activated. As a result, the input sentence can be processed at the break of each action, and an interrupt input can be apparently made at any time.
[0070]
[1-5: Input sentence interpretation unit]
The parsing unit in the morphological / syntax analyzing unit of the input sentence interpreting unit obtains a dependency structure tree including case information and the like from the input sentence of the user using a Japanese parser developed by CSK Corporation.
[0071]
On the other hand, the semantic expression generation unit recursively generates the semantic expression for the independent word by referring to the concept dictionary based on the information of the syntax analysis result. For adjuncts such as final particles and auxiliary verbs, the semantic information is incorporated into the independent word frame. The general procedure of generation focuses on the top word of the parse tree, and checks whether or not a phrase / clause relating to the word exists. If there is a phrase / clause, attention is paid to the branch, and a semantic expression generation process according to the part of speech is started. If there is a branch that modifies the word, the branch is focused on and a semantic expression generation process corresponding to the part of speech is started. In this way, when the processing reaches the end of the syntax tree, a semantic expression is generated. When the semantic expression of the branch is generated, it is determined which attribute should be stored from the concept class of the top word of the branch and the information of the adjunct.
[0072]
Since a semantic expression generation process for all parts of speech is prepared, a semantic expression can be correctly generated even for a sentence composed of complicated relationships. After generating a semantic expression faithfully in the parse tree, the semantic expression is converted into a table-type semantic expression as described in [1-3: Semantic expression].
[0073]
[1-6: Response sentence generation unit]
The response sentence generation unit passes the semantic expression of the output sentence to the response sentence generation unit if the semantic expression of the output sentence exists in the output sentence buffer, instructs creation of the output sentence, and outputs the response sentence to the user. At the same time, the sentence information output from the output sentence buffer is deleted, and the output sentence is stored as context information.
[0074]
[1-7: Problem solving section]
Next, the problem solving unit will be described. Here, [1-7 (1): Overview of problem solving unit], [1-7 (2): Adaptation to context], [1-7 (3) : Verification of Hypothesis Regarding Contextual Order and Range].
[0075]
[1-7 (1): Overview of problem solving section]
The problem solving unit selects an appropriate problem solving knowledge group for the current context and solves the problem based on that knowledge. The selection of an appropriate problem-solving knowledge group, that is, the determination of the problem-solving type, is executed by monitoring the appearance of a description of a phenomenon attribute or entity attribute that can be determined as a problem-solving activation request. What kind of problem solving knowledge should be selected when a description is found is also organized as knowledge. This is called problem solving type determination knowledge.
[0076]
The problem-solving knowledge held by this system includes problem-solving type determination knowledge, hotel search problem-solving knowledge, tourist attraction search problem-solving knowledge, question-and-answer problem solving knowledge, and general-purpose problem solving knowledge. The problem-solving knowledge is described by if-then type production rules.
[0077]
When the system is started, initially, only the general-purpose problem solving knowledge and the problem solving type determination knowledge are available, and the system is in a waiting state. When the user inputs a sentence, the general-purpose problem-solving knowledge of "analyze the information in the input buffer and accumulate the semantic expression in the context" fires, and accumulates the semantic expression of the input sentence in the context. Expressions such as ["search target = hotel" (request)] and ["existent entity = hotel" (question)] are accumulated in the context, and the problem-solving type decision knowledge that uses them as the condition part is fired. And make the hotel search problem solving knowledge available.
[0078]
In the hotel search problem solving knowledge, "If the location condition in the hotel search condition is determined, search the hotel""If there are 10 or more hotel search results, speak to the effect that the condition will be added" If there is knowledge such as "If the location conditions in the hotel search conditions are not determined, utterances asking them will be asked" etc., the system uses the context information stored in the form of "phenomenon attribute = value" and the internal state of the system With reference to the flag (see [1-4: Control Unit]), the condition part of the rule is determined, and the behavior in accordance with the firing rule is performed.
[0079]
When a user inputs a question about a specific hotel, question answering problem solving knowledge becomes available. With this function, if the input is a WH question sentence, a semantic expression overlapping the interpretation result of the question sentence is searched and answered. In the case of a YES / NO question sentence, a semantic expression that overlaps with the input sentence is searched for in the context or knowledge. If found, YES is returned, and if not found, NO is returned.
[0080]
What is executed by the operation of the system described above can be summarized into the following four processes.
(1) Check the flag in the condition part of the rule
(2) Correspondence with the context of the description of "attribute = value" unit in the condition part of the rule
(3) Data collection for executing the consequent part of the rule
(4) Execution of the consequent part of the rule
(4-1) Updating the internal state of the system
(4-2) Generation of response sentence
[0081]
Among them, (1) and (4-1) are flag operations, and it is possible to individually prepare check and update procedures. On the other hand, (2), (3), and (4-1) are operations on the context. Operations on contexts are broadly divided into context references and writing to contexts. Writing to the context is performed when generating a response sentence in (4-2). Context references can be further divided into two types:
(A) Receive “phenomenon attribute / entity attribute = value” and check whether there is a corresponding description in context.
(B) Receive “phenomenon attribute / entity attribute =?” (? Is an unknown value) and extract the corresponding attribute value from the context.
[0082]
Of these, the type (a) is referred to when collecting answer creation data for (2) and the YES / NO question sentence. The reference of the type (b) is executed in (3). Gathering answer creation data for a WH question is a typical process that requires type (b) reference.
[0083]
The difference between (a) and (b) is that only the value part is a definite value or an unknown value, and the basic context reference method is not changed at all. Therefore, in the next section, the context adaptation process will be described with reference to the type (b) as an example.
[0084]
[1-7 (2): Adaptation to context]
The context is stored in a form in which the related knowledge of the input sentence and the words in the input sentence and the semantic expression of the response sentence are stacked in the order of progress of the dialogue. This description uses "phenomenon attribute / entity attribute = value" as a basic unit. Therefore, when referring to the type (b) on the context, it is sufficient to search the description on the matching phenomenon attribute or entity attribute on the context. For the phenomenon attribute and the entity attribute, a concept hierarchy between them can be defined, and matching is performed using the concept hierarchy. The description of the phenomenon attribute / entity attribute is not a description of the attribute alone, but a concept that makes the type of the phenomenon or the entity, the type of the attribute, and the dependency structure between them difficult (see another article). Therefore, it is possible to specify the corresponding description in the context with the same precision as the matching between the structures having the extracted dependency structure, even though the matching is merely between the nodes.
[0085]
However, if the dialogue continues and the context is accumulated, the same phenomenon attribute / entity attribute may appear with different meanings. Therefore, it is necessary to prescribe a certain range for searching for a phenomenon attribute / substance attribute corresponding to the context. This limits the search space to a narrow range, which leads to an improvement in processing efficiency.
[0086]
When the phenomenon attribute / substance attribute to be referred to is specified in the rule in the reference of the type (b), the range to be searched is also specified in the rule. For example, the rule "If a location condition in a hotel search condition is not determined, make an utterance that asks for it" is to search for a location attribute in an area prepared for organizing a hotel search condition. , Just look at its value.
[0087]
On the other hand, when the attribute to be searched is specified in the user utterance, such as when searching for an answer to the question asked in the WH question sentence, the search is performed based on the sentence structure of the user utterance and the position in the context. It is necessary to limit the search range. Therefore, first, the range in which to search for the attribute questioned in the WH question sentence will be examined.
[0088]
For example, consider the case where the location attribute of Okura is asked. Since the entity “okura” has certain properties, it can participate in and contribute to phenomena with specific properties (eg, existence phenomena). It is not possible to ask "where" for an entity that has no concept of "place" at all. When inquiring about the value of a phenomenon attribute specifying a certain entity, there is always an attribute-value expression required in the semantic expression of the entity.
[0089]
The case that specifies the entity is determined for each phenomenon. For example, (a) When asking "Where is Okura?" For the presence location attribute of the existence phenomenon, the presence location attribute may be searched for in the semantic expression of the nominative "Okura" (see FIG. 5). In addition, when asked about the accommodation fee attribute of the accommodation act such as “How much can you stay in Okura?”, A case complement (“the value of the accommodation place attribute of the accommodation act, ie,“ Okura ”) defines the accommodation fee (see FIG. 6). The phenomenon attribute and the attribute in the entity meaning expression are slightly different, and the relationship between the two is strictly determined by inference.
[0090]
For example, in the case of an accommodation fee, as shown in FIG. 6, the accommodation fee is defined as “the fee charged to the customer at the time of accommodation” in “Okura”, while the accommodation fee attribute of the accommodation phenomenon is “accommodation at the time of accommodation”. To pay ". In that case, inference is necessary to determine the equivalence of the two. However, without making such inferences, both can be determined to be at least the same type of information, and can be positioned relative to each other, by utilizing the fact that they are both below the "fee" on the concept hierarchy. . In addition, if the same “room charge” symbol is given to both, the identity of both can be immediately determined.
[0091]
Based on the above considerations, for the question “Where is Okura?”, The attribute “Existence / Subject” next to the phenomenon attribute “Existence / Location” with the value “?” Representing an unknown value It may be sufficient to search for.
[0092]
On the other hand, the following variations exist in the question text asking the location of Okura.
(B) "Where is Okura located?"
(C) "Where is Okura located?"
(D) "Where is your location?"
(E) "I want to stay in Okura, where is it?"
"I want to stay in Okura. Where is it?"
[0093]
Of these, the sentence (b) above is slightly different in context because "Okura no" is directly related to the adjunct particle, but since "no" has a meaning equivalent to a relative clause, it ends up with ( The value of the attribute having the same positional relationship as in a) is obtained. In this case, an answer can be obtained by searching in the semantic expression of the entity having the value of the inclusive subject attribute in the semantic expression representing the phenomenon attribute itself having the unknown value “?” (See FIG. 7). ).
[0094]
In the sentence (c), the union modifier phrase “Okura no” is separated and made a subject. Thus, the prototype is the adnominal modifier. Furthermore, the prototype is a phenomenon expression that constitutes a relative clause. Therefore, it can be finally determined that there is an attribute value corresponding to the position of the same type as (a). That is, it is necessary to add the semantic expression of the entity specified by the subject case to the search range.
[0095]
Since the sentence (d) above is an expression in which the proposed expression of (c) is omitted, it may be considered that there is an attribute value corresponding to the same type of position as (a). However, it is necessary to supplement the omitted substantive concept to be proposed from the context, and also to consider the preceding context as a search range.
[0096]
The sentence (e) above is a case where the omitted component or the requested information does not exist in its own phenomenon / entity meaning expression. In the above example, the existence location attribute of the existence phenomenon is asked, but the answer is in the semantic expression of "Okura" which is the value of the accommodation place attribute of "accommodation phenomenon" specified in the premise section. In such a case, the omitted component or the information sought should be in the preceding section or context. In particular, in the case where a certain phenomenon is given as a premise and a value of a certain phenomenon attribute is asked on it, it is necessary to limit the value, so the premise should have been presented. Therefore, the value of the attribute asked in that frame may be obtained. This means that if any of the phenomenon attributes that provide a frame matches the attribute in question, it may be determined that the value of the attribute is in question.
[0097]
When a phenomenon in the preceding clause or context is described, the relationship between the phenomenon attribute and the entity attribute in the expression is the same as that in FIG. That is, by the following inference, the "accommodation place attribute" of the "accommodation phenomenon" and the "occupied place attribute" of the value "okura" are the same type of information, and can be positioned with respect to each other. I have.
[0098]
That is, staying at a certain "hotel" means staying within the area of the "hotel". The fact that the “hotel” exists in “Hamamatsu station square” is described in the “hotel” meaning expression. This means that the "mainly staying in the hotel" remains in the area of "Hamamatsu station square".
[0099]
Summarizing the above, it is considered that an answer can be obtained by searching the following range using the phenomenon attribute or the entity attribute as a key.
α: In the semantic expression of the value of the attribute next to the phenomenon attribute whose value is “?” representing an unknown value
β: In the semantic expression of the entity that is the value of the inclusive subject attribute in the semantic expression representing the phenomenon attribute itself with an unknown value “?” as the value
γ: In the semantic expression of the entity specified by the subject case
δ: In a subordinate sentence that represents a premise
ε: In the semantic expression of the prerequisite phenomenon in the preceding context
ζ: In the semantic expression of the proposed entity in the preceding context
Therefore, in the present system, the search is performed in the order of “β → γ → α⇒δ⇒ε · ζ” based on the policy of “priority is given to places having a direct relationship”.
[0100]
Of these, for ε and と す る, since the preceding context is the search range, the search range is not limited as it is and does not solve the initial problem. Therefore, it is necessary to separately define a range in which the preceding context is searched.
[0101]
Generally, information necessary for responding to a question utterance, or a starting point for arriving at the information, is considered to be present in a matter of topic in context and knowledge related thereto. In this study, we assumed that the words mentioned in the title play an important role as an indicator of topic switching, and based on that, we assumed the search range of knowledge as follows. In other words, it is the range up to finding a word that is made up of the subject case back in the preceding context or a word that is made up of the nominative case “ha”.
[0102]
The system searches only for contextual information within this range. If the required information is not obtained within this range, the "between the first found word" (A) and the immediately preceding "made word" (B) Only when the condition that “(A) is a part of (B)” or “the relationship that (A) is an attribute of (B) exists” is satisfied, The search is performed in the range until the word that is stated in the title or the nominative "ha" is found.
[0103]
[1-7 (3): Verification of hypothesis regarding order and range of contextual anaphor]
In order to confirm whether the search order and search range described in the previous section are generally effective, 103 dialogue examples were analyzed with a focus on the hotel search / reservation task dialogue. In the dialogue, the experimenter played the role of the system, in which the subject played the role of a user, asked the human to perform a dialogue with the voice, and transcribed it. The average number of turns in each conversation is 18.7, and the total number of utterances of the user is 1999. When question utterances were taken out of these, 89 utterances for searching for hotels, 4 utterances for meta-question, and 448 utterances for which it was necessary to make inquiries about knowledge of contextual words were obtained. Here, the meta utterance is a question utterance regarding the capability of the system, and is excluded from the analysis target here. In addition, since the answer to the question utterance for the hotel search is to be searched not in the conversation context but in the hotel database, only the last type of question utterance (448 utterances) is analyzed here. As a result, in 443/448 (98%) utterances, it was confirmed that necessary information could be found by performing a simple search using the phenomenon attribute or the entity attribute as a key in the proposed search range and search order.
[0104]
[1-8: Operation example]
Hereinafter, the details of the processing will be described for the operation example shown in FIG. First, the system receiving the inputs (2) and (3) accumulates the semantic expressions of these input sentences in the context. In this paper, the details are omitted, but for sentences that show phenomena like the sentence in (2), the phenomena group that divides the phenomena into phenomena with lower granularity (this phenomenon is called partial phenomena in this study) is also included in context Piled up. For example, for the phenomenon of “going to Hamamatsu for skiing” in (2), “Go to Hamamatsu (“ end point of travel = Hamamatsu ”)”, “Stay at Hamamatsu (“ Lodging place = Hamamatsu ”)”, “Hamamatsu” Partial phenomena such as "skiing" are accumulated in the context.
[0105]
Next, the hotel search problem solving knowledge can be used by the problem solving type determination knowledge described in [1-7 (1): Outline of the problem solving unit]. The hotel search problem solving knowledge acquires a hotel search condition from the context. Then, [accommodation location = Hamamatsu] in the above partial phenomena matches, and it can be obtained that the location of the hotel to be searched for is Hamamatsu. In this way, a search is made for a hotel having the condition of “locating in Hamamatsu and seeing Lake Hamana” (response (4)) and outputting the result (response (5)).
[0106]
Next, upon receiving the input of (6), the system determines from the semantic expression that (6) is a question sentence and activates question answering problem solving. In the input (6), since the range is omitted and uttered, it is necessary to first extract an appropriate comparison range (here, “Hotel Concorde Hamamatsu and Fitness Hotel Hamamatsu”) from the context. In the current system, a simple algorithm is used for this processing, which goes back to the preceding context and extracts a substantive concept including the charge attribute. In order to handle a comparative class expression such as this input, a comparison operation process is necessary. Therefore, a comparison operation routine is separately prepared in this system. The comparison operation routine performs a comparison operation based on information such as a range, a reference, and a degree, and returns the result. The system generates a response (7) based on the result.
[0107]
Next, upon receiving the input of (8), the system determines from the semantic expression that (8) is a question sentence and activates question answering problem solving. In solving the question-and-answer problem, for the part of "attachment / facility = parking lot" (is there a parking lot?), We search for knowledge that can position its semantic expression. According to the algorithm described in [1-7: Problem Solving Unit], a comparison is made with respect to the proposed “fitness hotel Hamamatsu”. Here, it matches with “attachment / facility = parking lot” on the knowledge of the fitness hotel Hamamatsu, and the response of (9) is generated based on this.
[0108]
Next, upon receiving the input of (10), the system determines from the semantic expression that (10) is a question sentence and activates question answering problem solving. The system attempts to gain grounds for the response by positioning and comparing the premise section “I want to go with a large car” to knowledge. The system is based on the partial phenomena of "departing with a large car", "moving with a large car", "arriving with a large car", "invading with a large car", and "parking a large car". It derives a sequence of actions such as "do" and tries to compare all of them. In this dialogue, the knowledge of "fitness hotel Hamamatsu" includes information indicating that "large vehicles cannot be parked", and a response (11) is generated based on comparison with the information.
[0109]
Next, upon receiving the input of (15), the system determines from the semantic expression that (15) is a question sentence and activates question answering problem solving. The same processing as that for the input (8) described above is performed. In this case, the main attribute “required time = minutes” and the sub-attributes “moving medium = car” and “move starting point = Hamamatsu Station” which are the constraint information are performed. Is represented by a table. Since the knowledge possessed by the system is described in a similar format, it is possible to extract only the information that conforms to the constraint of the sub-attribute by positioning it in the unit of “phenomenon attribute / entity attribute = value”. In this case, the response of (16) is generated by positioning it on the knowledge of the proposed "Concorde Hamamatsu".
[0110]
[1-9: Summary]
The framework of the hotel search dialogue system currently under development is described. We believe that the function of correctly interpreting the meaning of various input sentences and correctly reflecting the interpreted information in solving own problems has been realized to some extent. At present, however, it is not possible to interpret inputs that ask about the capabilities of the system, requests and instructions for search and presentation methods, and the like. In the future, it is necessary to extend the system to respond to such questions. This system is based on the premise that a correct syntax tree can be obtained by parsing. In order to expand to handle spoken dialogue in the future, it is necessary to process sentences that are not syntactically complete. This will be considered in the future.
[0111]
[2: Contents of Study 2]
Next, another study (research title “Development of a natural language Q & A system in a network experiment”) that became the basis for conceiving the present invention will be referred to as “study 2” with reference to FIGS. ) Will be described. Here, as shown below, [2-0: overview], [2-1: preface], [2-2: network experiment], and [2-3: keyword search system] ], [2-4: Configuration of Dialog System], [2-5: Dialog Control], [2-6: Morphological / Syntax Analysis], [2-7: Semantic Analysis], [2-8: Problem Solving] , [2-9: output sentence generation], and [2-10: conclusion].
[0112]
[2-0: Summary]
In network experiments for students, it is important to have teaching staff who can respond to students' questions in detail in order to enhance educational effects. In learning aiming to acquire standard techniques such as computer programming and circuit design, the places where learning is difficult are almost fixed, and many standard questions are asked. In this paper, we take the example of a student experiment to learn from basics in TCP / IP networking to RIP routing protocol. We propose a system corresponding to the language. By implementing the proposal system, teachers will be able to concentrate on responding to advanced questions, which is expected to enhance educational effects.
[0113]
[2-1: Preface]
In this paper, we report the outline of the experiment support system in the network experiment of students. This system supports information network experiments that are being conducted as part of electronic and information engineering experiments that are undertaken by the third grade of the Faculty of Engineering, Hosei University. In the experiment, we learn from basics in TCP / IP networking to RIP routing protocol, and actually construct a small network.
[0114]
There is a huge gap in the basic knowledge students have at the start of the experiment, which has a direct effect on how they approach and achieve the experiment. For students with basic knowledge, actually constructing a network will deepen their understanding and increase their interest, and there are also requests to build a LAN at home. On the other hand, students with little basic knowledge will blindly set up and connect routers according to the TA's instructions without knowing the names and operations of the devices, completely understanding the meaning of what they are doing. Fall into a situation that cannot be done. Moreover, such students cannot ask questions to teachers and TAs more easily. Therefore, it is thought that if there is a means for easily examining what is not understood on the spot, students who lack basic knowledge can be motivated and the educational effect can be improved. From this point of view, we are developing a keyword search system and a Japanese dialogue system that support basic knowledge acquisition for network construction.
[0115]
As a learning / education support system using natural language processing, a system for answering a student's question or retrieving a similar question from an answer DB has been considered, but only one round trip is allowed. There is a problem that there is no such thing, or that the teacher needs to select an appropriate answer from the search results. In this research, we aim to build a system that answers students' questions in Japanese directly without the intervention of a teacher, and it is necessary to realize a multi-turn dialogue for effective learning support. thinking. For that purpose, a semantic expression that expresses the dialogue context on the system and the ability to position the meaning of the input sentence in the context are indispensable. In this paper, we give an overview of the Japanese dialogue system, focusing on the input sentence interpretation function.
[0116]
[2-2: Network Experiment]
The purpose of the network experiment is to "construct a small-scale network and understand the mechanism of network interconnection". In the experiment, we will learn from basics in TCP / IP networking to RIP routing protocol, and build a small network interconnected by serial or Ethernet cables using six routers. The student is given a randomly selected pattern from the network topology patterns created in advance.
[0117]
Each network pattern includes redundancy so that a dynamic route can be learned at the time of failure by RIP. FIG. 9 shows an example of the network configuration. "R" indicates a router, "solid line" indicates a serial cable, and "dashed line" indicates an Ethernet (R) cable. Each router is connected by a serial cable or an Ethernet (R) cable, and HUB is used as needed. A setting PC is connected to each router via an Ethernet (R) cable, and the router is set using communication software, and experiments are performed on the following items.
[0118]
A connection between routers is made by using a serial cable, an Ethernet (R) cable, and a HUB to construct a network as shown in FIG. An IP address, a subnet mask, and a routing protocol are set for each port of the router. From the connection test PC, the connection is confirmed by the ping command, and the connection route is examined by the traceroute command. A part of the redundant connection is removed, a similar connection test is performed, and a diagram of updating the routing information database by the RIP protocol is created.
[0119]
[2-3: Keyword search system]
The keyword search is created as a subsystem for compensating for the limitations of the interactive system described later. It consists of free search software Namaz, morphological / syntax analysis module and text database. The text is for Cisco teaching materials. The input data is a keyword or a sentence. When a sentence is input, the sentence is subjected to morphological and syntactic analysis to extract a noun concept. This is compared with a network related word list prepared in advance to extract a noun related to the network. We consider a predicate that has a direct relationship with the noun from the dependency structure tree obtained as a result of parsing, and perform a search with the noun as a set. This is because there is a possibility that irrelevant contents may be searched using only the noun keyword, and the phenomena intended by the user are searched as much as possible.
[0120]
[2-4: Configuration of Dialog System]
FIG. 10 shows the configuration of the dialogue system. The system includes modules for dialogue control, morphological / syntactic analysis, semantic analysis, problem solving, and sentence generation, and a word dictionary DB and a concept dictionary DB. The word dictionary stores word data necessary for morpheme / syntax analysis and sentence generation. The concept dictionary stores semantic expressions of words necessary for semantic analysis and problem solving. The dialogue control module is written in Ruby, and the morpheme / syntax analysis module is written in C. Other modules are being developed using prolog. The outline of each module is described below.
[0121]
[2-5: Dialogue control]
The dialogue control module cyclically monitors flags indicating states such as presence / absence of an input sentence, presence / absence of a morpheme / syntax analysis result, presence / absence of a problem currently being solved, presence / absence of a semantic expression of an output sentence, and the like. Invokes the syntax analysis, semantic analysis, problem solving, and sentence generation modules.
[0122]
Flag list includes input sentence existence flag, input sentence morpheme / syntax analysis completed flag, input sentence semantic analysis completed flag, input sentence type flag, problem type flag, specific problem solving in progress flag, initial condition frame satisfaction flag, problem solving There are a completion flag, an output sentence semantic expression existence flag, and a sentence output completed flag.
[0123]
[2-6: Morphological / Syntactic Analysis]
The morpheme / syntax analysis module uses a Japanese language analysis system developed by CSK Corporation. As a result, a dependency structure tree of the input sentence is obtained.
[0124]
[2-7: Semantic analysis]
The semantic analysis module generates a semantic expression from the dependency structure tree of the input sentence obtained by the morphological / syntactic analysis, and accumulates the semantic expression in the context. Hereinafter, such semantic analysis modules are classified into [2-7 (1): difficult semantic analysis], [2-7 (2): semantic expression], and [2-7 (3): semantic expression generation]. Will be explained.
[0125]
[2-7 (1): difficulty of semantic analysis]
The basis of semantic interpretation of a sentence is that the system identifies the meaning of the sentence, that is, "the sentence states this of the preceding sentence or knowledge in this way". To make this possible, it is necessary to position the semantic expression of the input sentence in context and knowledge. However, in general, a semantic expression has a structure such as a tree structure, and it is extremely difficult to associate this with another similar structure.
[0126]
Such a structure of the semantic expression is caused by the inability of current technology to interpret the dependencies between the words constituting the sentence. That is, when two words are combined by a dependency to form a phrase or clause, the meaning of the phrase or clause cannot be calculated from the meaning of the original word. For this reason, the dependency expression of the surface layer is introduced into the semantic expression without being interpreted, and the semantic expression has the same structure as the surface layer.
[0127]
For example, the two expressions (1-i) "I go to Nikko at high speed from Tokyo" and (1-ii) "I go to Nikko. Departure from Tokyo. Use high speed" are the same. The meaning is expressed by the predicate form: (2-i) Go (I, Tokyo, Nikko, high speed) and (2-ii) Go (I, nil, Nikko, nil) ∧Eq (departure point, Tokyo) @Use (nil, high speed), etc.
[0128]
Here, Go, Eq, and Use are predicate symbols representing the meanings of “go”, “(is)”, and “use”, respectively. Using logical expressions, it seems as if the meaning was expressed, but in fact, there is a dependency structure between “Go” and “I”, “Tokyo”, “Nikko” and “Fast”, It has the same type as the dependency structure of (1-i). Therefore, if the surface sentence is divided into three sentences, the semantic expression is also divided into three. The same applies to frames and semantic networks.
[0129]
In this way, when the surface dependency expression is introduced into the semantic expression without being interpreted, the structure of the semantic expression is not constant for each meaning, and even when the same semantic content is expressed, the form is the same as the surface sentence. Will change in various ways. For this reason, it becomes difficult to associate a semantic expression with another semantic expression such as a context expression or a knowledge expression, and it is also difficult to prepare an interpretation process assuming a semantic expression pattern in advance.
[0130]
Furthermore, regarding words, a semantic system is defined, and the meaning of the words is positioned thereon, so that synonymous relations, higher-lower relations, whole-part relations, whole, part-attributes can be established between words. -While it is possible to identify semantic relationships such as value relationships, case relationships, etc., phrases and clauses cannot be interpreted as dependencies to evaluate the meaning of the phrases and clauses. It cannot define the full range of meanings that can be made, and cannot classify and organize those meanings. As a result, the semantic expression of the input sentence is positioned on the system, and it is not possible to identify the meaning represented by the semantic expression or to compare the meanings of the semantic expressions.
[0131]
In order to avoid such difficulties and realize the recognition of the meaning of phrases and clauses, as well as the recognition of the meaning of words, we have stated that "expressions of dependency relationships must be excluded as much as possible, As for, only common concepts and common dependencies that do not fluctuate according to meaning remain, and as a result, interpretation of dependency is not necessary. ”(Yuki Ikegaya, Yasuhiro Noguchi, Yukiko Suzuki) , Toshihiko Ito, Tatsuhiro Konishi, Makoto Kondo, Akira Takagi, Hideyuki Nakajima, Yukihiro Ito: "Construction of a Hotel Reservation Dialogue System Based on Meaning in Context" SIG-SLUD-A202-11, 2002 / Akira Takagi, Hideyuki Nakajima, Yukihiro Ito, Makoto Kondo, Ibumi Ima, Yoshio Miyake: "Dialogue semantic expression emphasizing the significance of context," SIG-SLU DA 202-10, 2002).
[0132]
[2-7 (2): semantic expression]
In general, any predicate and any of its combined modifiers can be converted to an expression using an "assertion" predicate.
(2-i) "I live in Koganei."
(2-ii) "The place where I live is Koganei."
(2-iii) "The address is Koganei."
(3-i) "200 cars can be accommodated."
(3-ii) "The number that can be accommodated is 200."
(3-iii) "The number of units accommodated is 200."
[0133]
Among them, the expression of (2-ii) inserts a noun indicating a semantic class of a noun attached to the locative of the expression of (2-i) and "(is)" indicating the meaning of "=", and Is transformed into an expression with "()" being the main verb while preserving. Further, (2-iii) is an expression obtained by compressing the “place where you live” part into one noun “address”. In this expression, the dependency structure formed by the predicate "living" and the place-case component is incorporated into the noun "address", and the interpretation of the dependency can be substituted by identification of the meaning of the noun. “Address” is one of the attributes that define the phenomenon of “living” (hereinafter, phenomenon attribute). The same applies to (3-ii) and (3-iii). Both (2-iii) and (3-iii) consist of only the common dependencies created by the predicate of "assertion".
[0134]
In the case of an adverb component, the meaning of the adverb includes the information of the phenomenon attribute and the value that it modifies, so when the adverb is used as a predicate of what meaning, By preliminarily storing in the dictionary whether the value is limited to such a value, it can be transformed similarly to the case component. Therefore, utilizing the property of such synonymous transformation, the meaning of “one continuous modification component + predicate” is changed to “phenomenological attribute”.
It will be expressed in the form of "attribute value".
[0135]
On the other hand, in the case of a noun phrase, the dependency expression can be compressed in a similar manner. (Part) The sentence referring to the nature of the entity is (4-i) "The house has a green roof.", (4-ii) "The roof of that house is green. , (4-iii) that the roof color of that house is green, and that it can be synonymous with the form of (4-iii) using the predicate "a" of "assertion", and Can be synonymously deformed into the form of the adjunct modifier clause "(part) entity where the attribute is the attribute value" (Akira Takagi, Yukihiro Ito: "Processing of Natural Language", Maruzen, 1987) The meaning of “one continuous modification component + (part) entity noun” is expressed in the form of “(part) entity $ entity attribute or phenomenon attribute attribute value”. “$” represents the meaning of “no” in the inclusive. The “entity attribute” represents an attribute included in the entity such as “color” and “shape”. A (part) entity can have both “entity attribute” and “phenomenon attribute” as properties.
[0136]
The meaning of auxiliary verbs (including tense, phase, and negation) is expressed simply by defining a marker. Sentence types such as final particles, declaratives, questions, and instructions are also represented as top-level markers. The meanings of phenomena and (partial) entities are included in the “phenomenon attribute” and “(partial) entity $ entity attribute or phenomenon attribute” expressions, so they are semantically redundant, but are referenced from higher-level semantic expressions. In this case, it is necessary to provide a place to set a pointer in the event that the attribute is used. Write the first name.
[0137]
From the above examination, the basic form of the semantic expression is represented in a format as shown in FIG. In this semantic expression, all predicates are converted to "assertions" and are not explicitly expressed. Therefore, when an input sentence with "assertions" as a predicate is given, the lowermost part of FIG. The meaning of the sentence is expressed in the format shown in. Here, the pointer 1 and the pointer 2 represent pointers to the semantic expressions of the main noun phrase and “de” case noun phrase, respectively, which are attached to “a” of “assertion”.
[0138]
Further, as described above, the present semantic expression method has a format in which a concept name is assigned to the whole by bundling “attribute value” expressions, though redundant. Therefore, in the attribute concept semantic expression, the “attribute” in the “attribute value” expression and the concept name assigned to the entire expression overlap. Therefore, "#" is placed at the position of "attribute" in the expression of "attribute value" to avoid duplication.
[0139]
By constructing a semantic expression in the above format, the meaning of a noun phrase consisting of a sentence composed of an arbitrary predicate and an arbitrary adnominal modification component can be changed to “phenomenon attribute” or “(partial) entity $ entity attribute or phenomenon attribute. ] As a unit, it can be positioned by comparing it with other semantic expressions and knowledge expressions. Therefore, a link is set between the preceding sentence stacked in the context and the attribute having the same or upper / lower relationship in the frame generated from the sentence head component in the same sentence, and the semantic expressions are positioned. FIG. 12 shows an example of such a semantic expression.
[0140]
[2-7 (3): Generation of semantic expression]
When a morpheme / syntax analysis is performed on the input sentence to obtain a dependency structure tree, a semantic analysis module is activated, and the semantic expression is generated therefrom. First, as preprocessing, the final particles and auxiliary verbs in the dependency structure tree are converted into markers, which are added to the predicates immediately below the dependency structure tree, and the final particles and auxiliary verbs are deleted from the dependency structure tree. At the same time, sentence type markers of declarative and instruction are also added to the predicate. Next, a repeated clause meaning expression generation process is started for each clause from the repeated modifier clause at the beginning of the sentence to the main clause. In the continuous clause semantic expression generation processing, the predicate processing is activated by focusing on the predicate at the top of the clause-dependent structure tree. In the predicate processing, first, a predicate semantic expression is searched from the concept dictionary.
[0141]
Next, in order to generate a semantic expression of each branch related to the predicate, case particle phrase processing, connection particle phrase processing, adverb phrase processing, and the like are activated according to the part of speech of the top word of the branch. In the case particle phrase processing, the noun phrase processing is started to generate a semantic expression of the noun phrase below the case particle. The noun phrase processing activates adjective phrase processing, adjunct particle / phrase processing, adjunct modifier processing, etc., in order to generate a semantic expression of the adnominal modification component. In this way, the processing according to the part of speech of the word constituting each branch of the dependency structure is recursively started, and when the processing reaches the end, while sequentially generating the generated semantic expression in the context buffer, the semantic expression is converted to the semantic expression. And returns to the higher-level process using the pointer of the return value as a return value. When loading a semantic expression into the context buffer, if there are attributes in the semantic expression in the context buffer that are the same as the attributes in the current semantic expression or have a higher / lower level relationship, create a link between those attributes, Position meaning.
[0142]
[2-8: Problem solving]
The problem solving module monitors the context buffer, determines a problem to be solved, and solves the determined problem. Hereinafter, regarding such problem solving modules, [2-8 (1): determination of problem type], [2-8 (2): individual problem solving], [2-8 (3): search for answer information], [2-8 (4): Generation of output sentence semantic expression] will be described separately.
[0143]
[2-8 (1): Determination of problem type]
The contents of the sentence input to the system are various even within the scope of “LAN construction experiment”. For example, there are cases where the method of conducting the experiment is asked, and cases where the calculation of the value is requested. Further, it may be a response to an information request issued from the system. Depending on the meaning of these various sentences, the system must perform different problem solving processes.
[0144]
Therefore, each time the semantic expression of the input sentence is loaded in the context buffer, the problem solving module monitors it and determines the type of problem solving to be solved. For that purpose, first, the type of the input sentence is checked to see which of the following.
(1) Question sentence
(1-1) Yes / No question sentence
(1-2) WH interrogative sentence
(2) Request statement / Wish statement
(3) Sentence input after system inquiry
[0145]
Among them, in the case of (1), the determination is made based on whether or not the question marker is added to the head of the input sentence meaning expression stacked in the context buffer. Further, it is determined whether (1-1) or (1-2) is included in the semantic expression based on whether or not the expression “phenomenon attribute?” Is included. In the case of (2), the determination is made based on whether or not an instruction marker and a desire marker are added to the head of the input sentence meaning expression. (1-2) The attribute for which a value answer is required in (2) is called a problem attribute. (3) is classified when a sentence is input in a situation where the system query sentence semantic expression is loaded at the top of the context buffer.
[0146]
Next, the type of the problem is determined based on these determinations. The problem types are divided as follows.
(A) Type for checking whether a semantic expression that matches a question sentence semantic expression exists in the context: corresponds to (1-1) above.
(B) Type for acquiring the value of the problem target attribute: Corresponding to (1-2) and (2) above.
(C) It is determined whether or not the input sentence is an answer to the system inquiry. If the answer is an answer, a type of acquiring answer information corresponding to the inquired matter therefrom (interrupt if not answered) And newly solves the problem): Corresponds to (3) above.
[0147]
Of these, (B) is further divided into a type in which the value changes depending on the condition and the condition must be specified for acquiring the value, and a type in which the condition is not required. That is, one type is (B-1) a type that requires initial condition specification. For example, “segment division number” and “network address” in the “subnet division” problem, and the initial condition is expressed as an initial condition frame including a list of “attribute values”. The other is (B-2) a type that does not require initial condition designation.
[0148]
[2-8 (2): Individual problem solving]
When the problem types (A), (B), and (C) are specified, the respective problem solving modules are activated and individual problem solving processes are performed. For each type of (B-1) type problem, it is necessary to individually deal with the loading and application of initial conditions, so a problem type is assigned to each type and a problem solving module is prepared.
[0149]
In the case of the type (A), a semantic expression corresponding to the question sentence semantic expression is searched in the context, and it is checked whether the values match. Thereby, a result of Yes or No is obtained.
[0150]
In the case of the (B-1) type, first, an initial condition frame is expanded into a context. A link for each attribute is set between the context semantic expression that has already been stored, and based on the link, a value that can be filled in each attribute in the initial condition frame is filled. Next, a query sentence semantic expression is generated to inquire the user about the unfilled attribute, and the query sentence is output. When the answer sentence is input, information required through the (C) type problem solving is acquired and substituted into the initial condition frame. This process is repeated until all the initial conditions are satisfied. When all of the initial conditions are filled, an attribute (including the upper and lower concepts) corresponding to the problem target attribute is searched for in the context. If there is an attribute that has a value or whose value can be obtained through a certain arithmetic processing, a value that matches a given initial condition is calculated or obtained.
[0151]
In the case of the (B-2) type, an attribute corresponding to the problem target attribute is searched for in the context. If the attribute has a value, get the value.
[0152]
In the case of the (C) type, the input sentence semantic expression is positioned as the system query sentence semantic expression stacked immediately below in the context buffer, and it is determined whether the input sentence is an answer to the system inquiry. If the answer has been answered, the answer information corresponding to the inquired matter is obtained therefrom. If no answer is given, it is determined to be an interrupt. Interrupts are currently under consideration.
[0153]
[2-8 (3): Search for answer information]
In the semantic expression used in this system, as described above, the meaning of the phenomenon / entity concept is renormalized, and the attribute concept in which the dependency is compressed is linked as a unit to the corresponding attribute in another semantic expression. , It is possible to easily search for an “attribute value” expression corresponding to the attribute in question. However, when the degree of abstraction of the problem target attribute is high (for example, when “network address” or the like is simply referred to as “address”), a plurality of corresponding attributes may be found in the context.
[0154]
In general, the role of a link is to position attributes with similar meanings relative to each other and has nothing to do with the meaning of the input sentence.Therefore, using only the link as a clue to search for problem-solving information specified by the input sentence Can not. Therefore, it is necessary to limit the search range of the corresponding attribute expression in accordance with the meaning of the sentence. For this purpose, the meanings of the individual word concepts are connected by a dependency, and how the meaning of the sentence is determined. The description of the corresponding phenomenon, in other words, the meaning of the compound modifier component that modifies the predicate, that is, the “attribute value” expression included in the case noun, adverb, etc., is changed according to the dependency specified by the sentence. Is connected to the values of the specific phenomenon attributes that make up the meaning of the phenomena. What is the relationship of the values between the attributes and how the meaning of a single phenomenon is described? Must be considered.
[0155]
In general, an entity can participate in and contribute to a phenomenon having a specific property because it has a certain property. For example, an entity that has no concept of a place cannot be asked "where is it?" Such a question is valid only if the entity has a "location" attribute, in which case the "location" attribute is the "location" of the "presence" phenomenon represented by "a" It has a direct mutual relationship with the attribute (simple relationship, strictly speaking, a relationship associated by inference). In this way, when a certain entity is designated and the value of a certain phenomenon attribute is queried, the "attribute value" expression to be found is always in the semantic expression of the entity or the referent semantic expression. In addition, the case that specifies the entity is determined for each predicate, and the corresponding phenomenon attribute is also constant. Therefore, it is necessary to search for the value in question in the attribute group linked by the link with the attribute in question, targeting only those attributes that have such a mutual relationship.
[0156]
In the following, an example of (a) “How fast is a 100Base-TX LAN transmitting data?” Is considered. In this example, "transmission speed?"&"Transmission target data" are expressed in the "transmission" meaning expression. These attributes have a direct correlation with the corresponding attributes in the value entity of the "transmitter" attribute. The meaning of “LAN”, which is the value of “transmission entity”, includes “LAN @ transmission speed NIL” & “LAN @ transmission target data”. Since “100Base-TX” is a value concept, “100Base-TX LAN” is interpreted as “where the (class) is 100Base-TX”, and the “LAN @ class” attribute in the “LAN” meaning expression. Is substituted for “100Base-TX”. Referent is searched from the generated “LAN” noun phrase semantic expression, and a semantic expression of “100Base-TX class LAN”, which is a subordinate concept of “LAN”, is obtained and replaced with the original noun phrase semantic expression. Here, “100Base-TX class LAN $ transmission speed 100 Mbps” is described. As a result, a value corresponding to “?” Of “transmission speed?” Is obtained.
[0157]
By the way, the above (a) has the following synonymous expressions. These variations are basic variants commonly found in other expressions.
(B) "What is the transmission rate of a 100Base-TX LAN?"
(C) "What is the transmission speed of (in the case of) a 100Base-TX LAN?"
(D) "In the case of (100Base-TX), what is the LAN transmission speed?"
(E) "I want to set up a 100Base-TX LAN. What is the transmission speed?"
(F) "I want to set up a LAN. In the case of 100Base-TX (if any), what is the transmission speed?"
(G) “I want to set up a 100Base-TX LAN. What is the transmission speed?”
(H) ...
[0158]
Of these, (b) is an expression that directly asks for the value of “transmission speed” limited by “of LAN”. The referent of the noun phrase “LAN transmission speed” is an attribute “LAN @ transmission speed” in the meaning expression “LAN”, which has a meaning equivalent to the union modifier clause “LAN transmission speed”. Therefore, (b) also results in the same type of interpretation as (a). Therefore, first, a reference semantic expression of “100Base-TX LAN” is obtained, and the value is acquired by referring to the “LAN @ transmission speed” attribute as in (a).
[0159]
(C) is an expression in which the adjunct particle phrase “100Base-TX LAN” is separated and proposed. Thus, the archetype is an adnominal particle phrase, and its archetype is an adnominal modifier. Therefore, the result is also ultimately interpreted as the same type as (a). Therefore, "LAN @ transmission speed" is searched for in the proposed case noun meaning expression, and the value is obtained.
[0160]
(D) is an expression in which the adnominal particle phrase created by the value concept is separated and converted into a “situation limited” expression. Therefore, the prototype is the noun phrase “LAN of 100Base-TX”. Since the value concept does not take a referent, the prototype noun phrase is restored, and “100Base-TX” is substituted for the value of the “LAN @ class” attribute in the “LAN” semantic expression. Acquired and the same processing as (b) is performed. The original noun phrase is not restored, and is interpreted as a continuous modification component of “if (class) is 100Base-TX (if it is)”, and the property of “(class) 100Base-TX” contained therein is a situation limiting effect. (In this case, "LAN") in the sentence-semantic expression, and limiting the value of the corresponding attribute to "100Base-TX", and then acquiring the referent of the entity concept. good. In the present semantic expression, such processing can be easily performed because a link is provided between attributes of the same kind.
[0161]
(E) is a case where the expression including the value of the problem attribute does not exist in the clause where the problem attribute exists. In such a case, the information related to the problem attribute is in the preceding clause or context. In particular, when a certain phenomenon expression is given in the form of a premise or basis, and the value of the questionable attribute is asked on that basis, it is necessary to limit the value. In order to give it, it can be considered that such a premise or basis has been presented. Therefore, if there is an attribute in the clause meaning expression giving the frame that matches the attribute in question and has a value, the value can be regarded as information to be acquired. In the case of this example, an attribute corresponding to the problem attribute “transmission speed” exists in the “LAN” referent in the premise and has a value. Therefore, this is obtained.
[0162]
(F) can be processed as a combination of (d) and (e). (G) is the case where the information to be sought exists in the context. The semantic expressions are searched in order from the top of the context buffer, and the value of the attribute corresponding to the problem attribute is obtained.
[0163]
[2-8 (4): Generation of output sentence semantic expression]
Here, a query sentence semantic expression for outputting a query sentence relating to the missing initial condition is generated, and an answer sentence semantic expression based on the value of the problem target attribute obtained in the previous section is generated. The generated semantic expression is passed to the sentence generation module and is stacked in the context buffer. In the case of an inquiry sentence, since the style is fixed for each initial condition, a semantic expression template is prepared in advance. When fixed information is answered to a question about the definition or general properties of an entity, the style may be detailed and diverse, and a commentary is stored in advance in each attribute value in the form of text or the like. I have to answer this.
[0164]
[2-9: Output sentence generation]
The sentence generation module generates an initial condition inquiry sentence and an answer sentence. The concept dictionary is searched, a set of word meaning expressions covering all the given meaning expressions is obtained, and an inter-word dependent structure tree is extracted. An answer sentence is generated by applying the dependency structure-phrase structure correspondence rule to this.
[0165]
[2-10: Conclusion]
FIG. 13 shows an example of a system dialogue in Study 2 described above. As described above, the Japanese Q & A system that supports students' network construction experiments has been described. In this paper, we investigated a question interpretation method with particular emphasis on the dialogue function. The system is in the process of being developed, but after the prototype is completed, it will be used by students and its effectiveness as experimental support will be evaluated. We will evaluate the questions from students, etc., and study the estimation of the degree of understanding for each student, extraction of basic concepts that are difficult to understand, and feedback to the teaching method. We also want to realize the use of the system from home via the Internet.
[0166]
[3: Natural language analyzer according to the present embodiment]
Next, the natural language analysis device according to the present embodiment will be described with reference to FIGS. 14 to 22. Here, as described below, [3-1: Overview of natural language analysis device], [ 3-2: Schematic Configuration of Natural Language Analysis Device], [3-3: Schematic Processing of Natural Language Analysis Device], and [3-4: Features of Natural Language Analysis Device].
[0167]
[3-1: Overview of natural language analyzer]
The natural language analysis device according to the present embodiment has a main feature of searching for information asked in an input sentence (question sentence). More specifically, when a question sentence is input, a question sentence is It is characterized by searching for the information of the continuous modification component in question according to the meaning of and the context that has been accumulated so far.
[0168]
2. Description of the Related Art Conventionally, a method has been adopted in which a question (information) is expressed using a keyword (word), a syntax analysis tree or a template of a semantic expression, and information matching the information is searched for in context or knowledge. However, keywords cannot express the content expressed in other parts of the question sentence, so it is extremely possible to search for information that differs from the content that is truly asked in the question sentence. high. In addition, the template should follow the dependency structure of a sentence that fluctuates extremely diversely, the diversity of the expression structure of the resulting semantic expression, and the variety of the semantic expression group that is accumulated in the context caused by it. Is impossible, so that a lot of templates are prepared.
[0169]
As described above, it is necessary to rely on a keyword or a template because the conventional technology cannot interpret a dependency relationship between concepts constituting a semantic expression. In other words, if some information is asked by a question sentence, even if the semantic expression of the question sentence is obtained, the questioned information cannot be read, and where should I look for the information being asked? I do not understand.
[0170]
Therefore, as a next best measure, (1) “search for the information in question using only the keyword while ignoring other parts of the semantic expression using the word corresponding to the question word as a keyword” or ( 2) Extracting patterns of frequently occurring semantic expressions, associating each pattern with a process that matches the semantic content, and launching the process when the pattern hits, avoiding the interpretation of dependencies. Performing processing corresponding to the meaning of the input sentence "is widely used to search for answer information to the question sentence. However, such a method is merely a convenience, and is not a means that can cope with a structure of a semantic expression that fluctuates and a flow of dialogue.
[0171]
Therefore, in order to cope with such a difficulty that "the dependency cannot be interpreted", it is unnecessary to interpret the dependency by compressing the dependency expression in the semantic expression and incorporating it into the attribute concept. In addition, we propose a semantic expression format that can compare and position the meaning with other semantic expressions in the same sentence or the semantic expression of the preceding sentence in the context in units of attribute nouns ( Japanese Patent Application No. 2001-309128). As a result, (1) positioning and interpretation of union and continuous modified expressions on the modified expression, (2) integration of the meaning of the sentence divided into a plurality of sentences, and (3) contextual semantic expression of required information It is now possible to execute processes such as referencing and obtaining based on the position of, with a consistent algorithm.
[0172]
In this way, the semantic expression method we propose is powerful in terms of the meaning of the meaning, and can provide sufficient ability to acquire answer information in the range of a single sentence. However, it is not possible to completely eliminate the description of dependency relations (which would be equivalent to propositional logic), and in particular, "Limitations on information to be answered by subordinate clauses and precedent sentences are added. In such a sentence, the semantic content is read from those semantic expressions to control the search for answer information, "the problem remains unsolved.
[0173]
In general, ignoring the existence of dependencies in units of attributes, and simply searching for and positioning similar attributes in context, searching and obtaining information that matches the meaning of the sentence as shown in the following example Cannot be done exactly. In other words, (A) "I want to stay at Hotel Concorde, how much is the price?" And (B) "I want to eat at Hotel Concorde, how much is the price?" In the section, the value of "charge" is asked. However, the “charges” to be answered are not the same, and in (A), “room charges” must be answered, and in (B), “meal charges” must be answered.
[0174]
In our semantic expression, in the case of (A), the “room charge” attribute of “stay”, the “hotel charge”, “meal fee”, “parking fee” and other attributes of “hotel concorde”, and furthermore, this sentence It is associated with various “fee” attributes included in the semantic expression of the sentence input earlier. Therefore, when retrieving answer information based on only the attribute of the question as a clue, some standard is set from among these “accommodation fee”, “meal fee”, “parking fee” and other attributes (first The attribute that has a value is narrowed down to one, and the value is acquired.
[0175]
However, ignoring the meaning of the other parts of the question sentence and simply searching for the value of the attribute "charge" being asked, the same method can be used in any of the sentences (A) and (B). , So that the difference in meaning between the two sentences is not reflected. In the above example, the “fee” attribute having a value is “accommodation fee”, “meal fee”, “parking fee” or the like in the “hotel concorde” meaning expression. Therefore, irrespective of the predicate in the premise clause, in both cases, if the "fee" related attribute with a value is searched in the same order from "hotel concord", and if the attribute that matches first is obtained, In this case, "Accommodation fee" (described at the position closest to the top in the semantic expression) is obtained and answered.
[0176]
Such a problem occurs because information is searched for based solely on the "fee" attribute without considering the meaning of the sentence other than the attribute in question. Then, the "charge" in question (A) is the "room charge" and the "room charge" of "Hotel Concorde", and the "charge" in question (B) is " If the user does not know the “meal fee” and the “meal fee” of the “Hotel Concorde”, correct answer information cannot be obtained. Note that such a problem is caused when adopting another semantic expression, or when searching for an answer using a parse tree of an input sentence and further using a morphological analysis result without adopting a semantic expression. Is a problem that arises similarly.
[0177]
In order to avoid such difficulties, extract the contents of the sentence and search for the necessary information in accordance with the contents of the question or the previous sentence. Must. And, "pumping out the contents expressed by semantic expressions" means "the meanings of the concepts that compose phrases and clauses are connected by dependencies, and how they interact with each other, Recognize whether it will be a description of meaning. "
[0178]
In other words, in accordance with the semantic representation method proposed by us, the meaning of a modifier component that modifies a certain concept A (that is, a noun concept that modifies the concept through case particles or adnominal particles, The “attribute value” expression included in the adverb, adjective, etc. that modifies the concept is connected to the value of the specific attribute that constitutes the meaning of A according to the dependency, so that each “attribute value” expression of concept A is To recognize what kind of value interaction occurs between them and the description of the meaning of a single phrase or clause.
[0179]
In general, an entity can participate in and contribute to a phenomenon having a specific property because it has a certain property. For example, an entity that has no concept of a place cannot be asked "where is it?" Such a question is valid only if the entity has a “location (such as“ location ”)” attribute, in which case the “location” attribute is a “presence” represented by “a” It has a direct correspondence with the “location” attribute of the phenomenon (simple relation, simply, relation strictly by inference).
[0180]
The value of the “location” (location) attribute in “hotel concord” is written as “109-18 Motojo-cho, Hamamatsu-shi, Shizuoka”, but in the sentence, “hotel concord is in Hamamatsu”. In such a case, the value of the “location” attribute of the “existence” phenomenon corresponding to the “location” of “a” is “Hamamatsu”. Therefore, the values of the two “location” attributes are not always exactly the same, and one value may be NIL or one value may encompass the other.
[0181]
That is, when "A is in B", it is necessary that the entity that is the subject of "a" has an attribute "location where the entity exists"("location"). He has a direct correspondence with B. Therefore, when B is an interrogative word (ie, when the value of the “location” attribute of the “existence” phenomenon is queried), the subject A of “a”, that is, the “existent subject” of the “existence” phenomenon The value of the “substance” (“location”, etc.) attribute of the “value entity” (“hotel concorde” in this example) of the “” attribute may be checked and answered (see FIG. 14). In other words, asking "Where is the Hotel Concorde?" Asks, "Where is the location of the Hotel Concorde (the" location "attribute)? "Is equivalent to asking.
[0182]
Another example is "When has Hotel Concord been there?" As shown in FIG. 15, in this example, the “time origin case” of “a” (that is, the “existence time origin” attribute of the “existence” phenomenon) changes the subject of “a” (that is, the “existence” phenomenon). There is a direct correspondence with the “founding time” and “completion time” of “hotel concorde”, which is the value of the “subject entity” attribute. Therefore, if such correspondences are stored in association with the "presence" phenomenon semantic expression, when the value of the attribute of the "presence" phenomenon is asked, it is immediately known where to go to find the answer information. Can be.
[0183]
As another example, "I stayed at Hotel Concorde for 8,000 yen." As shown in FIG. 16, in this example, the “accommodation fee” attribute of the “accommodation” phenomenon has a direct correspondence with the “accommodation fee” attribute of “hotel concorde” which is the value of the “accommodation place” attribute. . In this case, the “room charge” attribute of “hotel concorde” represents the distribution and list of “room charge” in “hotel concorde”, whereas the “room charge” attribute in the “hotel” phenomenon is a sentence. Represents the realized value of the “room charge” in the particular “room” phenomenon mentioned in the above.
[0184]
Therefore, unlike the previous examples, the values of the two attributes are not a simple equivalent relationship, and the value of the “room charge” attribute of “hotel concorde” is the value of the “room charge” attribute of the “hotel” phenomenon. Stipulate the range. If the value of the “room charge” attribute of the “room stay” phenomenon such as “how much did you stay at the hotel Concorde” is asked, the “room charge” of “hotel concorde” can be considered as a standard It only suggests a range of "fees". Therefore, in this case, in order to answer this question, it is not possible to obtain a direct answer even if data is searched in the meaning of "hotel concorde", and how much "stay at hotel concorde" actually It is necessary to separately search the phenomenon semantic expression that indicates whether or not this is from the context.
[0185]
Next, an example of “Imajin has a Toyota car” will be discussed with reference to FIG. In the figure, “own 1” is a phenomenon meaning expression corresponding to the meaning of “have (own)”. The “owner” attribute indicates a nominative component related to “have”, and the “owned” attribute indicates a target case component. And the value of the "owner" attribute is "Imajin-san", and in the meaning expression of "Imajin-san", the "property" attribute is defined and "Imajin-san" actually has The values such as “car 2” and “house 1” are described. Further, the meaning of “car 2” expresses the nature of the car owned by “Imajin-san”. On the other hand, the value of the “property” attribute of the “ownership 1” meaning expression is “car 1”, and the “manufacturer” attribute is defined in the “car 1” meaning expression, and the noun phrase “car” is defined. As a result of the interpretation, "Toyota (registered trademark)" is substituted for the value.
[0186]
Thus, in order to be able to claim that "an entity A has some entity B", that is, "owner A"&"propertyB", first, "A $ property" in A semantic expression ”Attribute. It is meaningless for an entity that has no "ownership" to claim that the entity has something. If the attribute “A $ property” exists in the A semantic expression, it has a direct correspondence with the “property” attribute of the “owner” phenomenon semantic expression. Similarly, the B semantic expression needs to have an attribute of “B @ owner”. The “B @ owner” attribute has a direct correspondence with the “owner” attribute of the “owner phenomenon” meaning expression. That is, as shown in this example, the correspondence may exist between the attributes of a plurality of entities.
[0187]
In this example, the phenomenon of “owned” is mentioned as an example, but the value of “owned object” can be any (partial) entity owned by the value entity of “owner”. it can. As a result, the “Imajin Sanpo property” attribute includes various (part) entities as values, and corresponds to the value of the “property” attribute corresponding to the subject of “has” (part ) (Partial) entities other than entities will also be included. As described above, when attributes having a correspondence relationship with each other can have an arbitrary (part) entity as a value, a (part) entity belonging to the same or lower category is not included in the attributes but in those values. We need to find and associate.
[0188]
If there is a correspondence between attributes that do not take any (partial) entity concept as a value, the concepts that two attributes take as a value belong to the same category. Even in such a case, it may be necessary to associate values having a categorical relationship such as a region inclusion relationship in the concept of “place”.
[0189]
In the above example sentence "Imajin has a car.", The target noun phrase "car" represents a general concept and does not represent a unique instance. For this reason, the value of "car 1 @ owner" is NIL, and it is not possible to obtain useful information therefrom. However, there are cases where an expression specifying a specific instance is given to the target case, such as "this car" in "Imajin has this car." Assuming that enough information about "this car" is given, the "this car @ owner" attribute has a value such as "Imajin-san", so you can check the meaning of the sentence, WH questions such as "Who owns this car?" It is also possible to check against the value of "Imajin Sanpo property" in the meaning expression of "Imajin-san" to check in detail that the model of this car is "Soara (registered trademark)". it can.
[0190]
As can be seen from the above description, according to the natural language analysis device of the present embodiment, based on the correspondence existing between the attribute of the predicate concept and the attribute of the noun concept modifying the predicate. Thus, it is possible to judge whether the Yes / No question is true or false and to search for an answer to the WH question. "Where do you live?", "What kind of car does he have?", "What color of the land cruiser does he have?" Do you have a car? "And respond appropriately to various questions.
[0191]
In the example discussed above, the inter-attribute relationship is provided by a type of dependency in which a noun modifies a predicate via a case particle. However, in the case of a noun phrase (that is, the noun phrase forms the noun concept of the head). The relationship between an attribute and an attribute included in a continuous modifier component that modifies the head noun can be considered in the same manner.
[0192]
[3-2: Schematic configuration of natural language analyzer]
Subsequently, a schematic configuration of the natural language analysis device according to the present embodiment will be described with reference to FIG. FIG. 18 is a block diagram illustrating a configuration of the natural language analysis device 10 according to the present embodiment. As shown in FIG. 1, the natural language analyzer 10 includes an input unit 11, an output unit 12, an input / output control IF unit 13, a storage unit 20, and a control unit 30. It analyzes the answers to the questions asked in the sentence.
[0193]
The input unit 11 is an input unit that receives input of various types of information and includes a keyboard, a mouse, a microphone, and the like. For example, the input unit 11 receives an input sentence such as a question sentence or a question sentence described below from a user. input. The output unit 12 is an output unit that outputs various types of information, and includes a monitor and a speaker, and outputs, for example, a question sentence and a response sentence to the question sentence. The input / output control IF unit 13 is a unit that controls input and output of data by the input unit 11 and the output unit 12.
[0194]
The storage unit 20 is a storage unit (storage unit) for storing data and programs necessary for various processes performed by the control unit 30. In particular, the storage unit 20 includes an input sentence buffer 21, a context buffer 22, , An output sentence buffer 23, an input sentence interpretation DB 24, a problem solving DB 25, and a response sentence generation DB 26.
[0195]
Among these, the input sentence buffer 21, the context buffer 22, and the output sentence buffer 23 are means for storing data to be processed in each processing stage by an input sentence interpreting unit 31, a problem solving unit 32, and a response sentence generating unit 33, which will be described later. For example, the input sentence buffer 21 stores an input sentence input via the input unit 11, and the context buffer 22 stores a semantic expression of the input sentence generated by the input sentence interpreting unit 31 and a problem solving unit. The output sentence buffer 23 stores the semantic expression of the output sentence generated by the problem solving unit 32, and the output sentence (response sentence) generated by the problem solving unit 32.
[0196]
The input sentence interpreting DB 24, the problem solving DB 25, and the response sentence generating DB 26 are means for storing knowledge and programs required at each processing stage by the input sentence interpreting unit 31, the problem solving unit 32, and the response sentence generating unit 33. For example, the input sentence interpretation DB 24 stores word data (word dictionary) necessary for morphological analysis and syntax analysis, and a semantic expression (concept dictionary) of words required for semantic analysis. The semantic representation of knowledge necessary for problem solving (such as problem solving knowledge) is stored, and the response sentence generation DB 26 stores grammatical rules (such as dependency structure-phrase structure correspondence rules) necessary for generating response sentences.
[0197]
The control unit 30 has a control program such as an OS (Operating System), a program defining various processing procedures and the like, and an internal memory for storing necessary data, and executes various processes by using these. Particularly, as those closely related to the present invention, an input sentence interpreting unit 31, a problem solving unit 32 (a problem type determining unit 32a and an answer searching unit 32b), and a response sentence generating unit 33 are provided.
[0198]
The input sentence interpretation unit 31 is a processing unit that interprets the input sentence and generates a semantic expression. Specifically, the input sentence interpretation unit 31 performs morphological analysis and syntax analysis on the input sentence stored in the input sentence buffer 21. Then, a dependency structure tree of the input sentence is extracted, and a semantic expression (see FIGS. 14 and 15) is generated from the dependency structure tree and stored in the context buffer 22. The processing contents of the input sentence interpretation unit 31 correspond to the contents described in [1-5: Input sentence interpretation unit] and [2-7: Semantic analysis].
[0199]
Here, the processing by the input sentence interpretation unit 31 will be briefly described. First, as input sentence preprocessing, final particles, tense, phase, and negative expressions in a parse tree are converted into markers, and then their expressions are converted. Is attached to the uppermost modal or other auxiliary verb or predicate below the phrase representing, to shape the parse tree. Then, as the input sentence analysis processing, the meaning of each clause included in the parse tree is sequentially positioned as the meaning and knowledge of the preceding clause and the preceding sentence in the same sentence. Specifically, a phenomenon array corresponding to each clause is generated, a semantic expression of each clause is sequentially generated, and stored in the context buffer 22, which is a storage location of the phenomenon array and the semantic expression. Also, the association (link and pointer) between the semantic expression and the phenomenon sequence is set. By accumulating and associating the semantic expressions obtained for each clause with respect to the preceding context and each clause of the current target sentence, the semantic expressions of these clauses are sequentially collated or overwritten. , Sentence, or contextual unit.
[0200]
The problem solving unit 32 (the problem type determining unit 32a and the answer searching unit 32b) is a processing unit that analyzes an answer to the question asked in the input sentence, and specifically monitors the context buffer 22 After determining the question to be answered and searching for an answer to the question (see FIGS. 14 and 15), a semantic expression of the response sentence is generated and stored in the output sentence buffer 23. The processing performed by the problem solving unit 32 corresponds to the contents described in [1-7: Problem solving] and [2-8: Problem solving] described above.
[0201]
The response sentence generation unit 33 is a processing unit that generates a response sentence (an answer sentence to a question sentence) for the input sentence and outputs the response sentence via the output unit 12. Specifically, the response sentence generation unit 33 is stored in the output sentence buffer 23. An output sentence (response sentence) is generated from the semantic expression and output (see FIGS. 8 and 13). The processing contents of the response sentence generation unit 33 correspond to the contents described in [1-6: Response sentence generation unit] and [2-9: Output sentence generation].
[0202]
The natural language analysis device 10 having the above-described configuration can be stored in an information processing device such as a known personal computer, workstation, PHS terminal, mobile terminal, mobile communication terminal, or PDA. And the functions of the control unit 30 can be implemented.
[0203]
[3-3: Schematic processing of natural language analyzer]
Next, a schematic process of the natural language analysis device 10 will be described with reference to FIG. FIG. 19 is a flowchart showing the flow of processing by the natural language analysis device 10. As shown in the figure, when the natural language analysis device 10 is activated, each processing unit of the input sentence interpreting unit 31, the problem solving unit 32, and the response sentence generating unit 33 is in a processing waiting state. It is assumed that the input sentence interpreting unit 31, the problem solving unit 32, and the response sentence generating unit 33 operate in parallel (the input sentence interpreting process, the problem solving process, and the response sentence generating process are executed in parallel). However, they may be operated sequentially.
[0204]
In the input sentence interpretation process, in this state, when an input sentence (a question sentence, a request sentence, or the like) is input from the user via the input unit 11 (Yes in step S1901), this is stored in the input sentence buffer 21 (step S1901). Step S1902). Then, the input sentence interpretation unit 31 interprets the input sentence stored in the input sentence buffer 21 to generate a semantic expression (step S1903), and stores the generated semantic expression in the context buffer 22 (step S1904).
[0205]
More specifically, as shown in FIG. 14, when the input sentence "Where is the hotel concord?" Is stored in the input sentence buffer 21, the input sentence interpreting unit 31 proceeds to the left side of FIG. (A link is set between this semantic expression and the semantic expression of “hotel concord” shown on the right side of the figure), and the semantic expression is stored in the context buffer 22. I do.
[0206]
On the other hand, in the problem solving process, the problem solving unit 32 monitors the semantic expressions stored in the context buffer 22 in parallel with the processing by the input sentence interpreting unit 31, and the semantic expressions ( When the semantic expression of the question sentence or the request sentence) is stored (Yes at Step S1905), the answer to the question asked by the semantic expression is searched from the context buffer 22 and the problem solving DB 25 (Step S1906). A semantic expression of the response sentence including the answer is generated and stored in the output sentence buffer 23 (step S1907).
[0207]
More specifically, when the semantic expression of the input sentence “Where is the hotel concord?” Shown on the left side of FIG. 14 is stored in the context buffer 22, the problem solving unit 32 executes the semantic expression. The search for the answer to the question asked in the above is made from the semantic expression of “hotel concord” shown on the right side of FIG. 9 and stores the semantic expression including the answer of “Hamamatsu” in the output sentence buffer 23.
[0208]
Further, in response sentence generation processing, the response sentence generation unit 33 monitors the output sentence buffer 23 in parallel with the above-described processing by the input sentence interpretation unit 31 and the problem solving unit 32, and generates a response sentence (answer sentence). When the semantic expression is stored (Yes at Step S1908), an actual response sentence is generated from the semantic expression and output from the output unit 12 (Steps S1909 and S1910). That is, in the above example, a response sentence such as “Hotel Concord is in Hamamatsu” is generated and output to the user.
[0209]
In this way, in the natural language analysis device 10, the input sentence interpreting unit 31, the problem solving unit 32, and the response sentence generating unit 33 repeatedly execute each process under each condition. As a result, an operation example as shown in FIGS. 8 and 13 is obtained.
[0210]
[3-4: Features of natural language analyzer]
Next, the features of the natural language analysis device 10 described above will be described with reference to FIGS. 20 to 22. Here, as described below, [3-4 (1): answer search], [3--4 4 (2): problem type] and [3-4 (3): search range and order].
[0211]
[3-4 (1): Answer search]
As described above, in the natural language analysis device 10, the input sentence and the knowledge necessary for solving the problem are described as “a semantic expression that is configured by combining attributes and attribute values and a link is set between corresponding attributes. Is stored in the context buffer 22, thereby eliminating the variety and irregularity of various surface expressions.
[0212]
That is to say, as an example, as shown in FIG. 14, as for the input sentence “Where is the hotel concord?”, “Existing subject hotel concord” and “existing subject hotel concord” as “attribute attribute value” of the “existence” phenomenon "Semantic location"? "And" Attribute attribute value "of" Hotel Concorde "entity, which is the value of" Subject entity "attribute," Location Hamamatsu "," Foundation 1988 "and" Completion " A semantic expression composed of “time 1988” is stored.
[0213]
In addition, the “hotel concord $ existing place (location)” attribute in the “hotel concord” entity meaning expression, which is the value of the “existing subject” attribute of the “existence” phenomenon, and the “existing place” attribute of the “existence” phenomenon , Since there is a direct correspondence, a link indicating such a correspondence is set (along with a link between each attribute for setting the meaning of each semantic expression between the same kind of attributes). Is set.
[0214]
As described above, the natural language analysis device 10 stores the input sentence and the knowledge necessary for solving the problem as the semantic expressions as described above, but in the present embodiment, by using such semantic expressions, various expressions are used. The main feature is that an accurate answer can be made in response to the question asked in the input sentence of (1). That is, the problem solving unit 32 of the natural language analysis device 10 searches the input sentence stored in the form of the semantic expression and the knowledge necessary for problem solving for a semantic expression corresponding to the semantic expression of the input sentence, and performs the search. The answer to the question is obtained by referring to the attribute value included in the specified semantic expression.
[0215]
More specifically, in the above example, as shown in FIG. 14, the attribute value of the “existence location” attribute of the “existence” phenomenon is queried as shown in FIG. The response “Hamamatsu” is acquired by searching for the attribute value of the “location (eg,“ location ”) attribute of the“ hotel concorde ”entity that is the value entity of the“ attribute ”. Furthermore, "Where is the location of the Hotel Concorde (" Location "attribute)? Is used, the natural language analysis device 10 according to the present embodiment uses semantic expressions excluding diversity and indefiniteness for various surface expressions. As a result of the creation of the semantic expression, the answer “Hamamatsu” is similarly obtained.
[0216]
Therefore, according to the natural language analysis device 10, by using the semantic expression excluding the variety and the indefinite form for the various surface expressions, the contents expressed by the input sentences in various expressions are sampled. Since an appropriate place can be searched for and an answer can be obtained, an accurate answer can be made in response to a question that is questioned in various ways, such as the main features described above.
[0219]
[3-4 (2): Problem type]
As shown in FIG. 20, the types of input sentences input to the natural language analyzer 10 are “Yes / No question sentence”, “WH question sentence”, “request sentence / desired sentence”, and “ Sentence input after inquiry ". From the viewpoint of the problem solving method, as shown in the figure, “Yes / No question sentence” has a type A (whether there is a semantic expression matching the semantic expression of the question sentence in the context). "WH question sentence" and "request sentence / desired sentence" are supported by type B (a type for acquiring the value of the question target attribute), and "WH question sentence" and "request sentence / request sentence" are supported. The input sentence is a method of type C (a type that determines whether the input sentence is an answer to a system inquiry, and if it is an answer, obtains answer information corresponding to the inquired matter therefrom) Corresponds.
[0218]
Further, the type B is divided into a type in which a value changes depending on a condition and a condition must be designated to obtain a value, and a type in which a condition is not required. That is, for example, the “segment division number” and “network address” in the “subnet division” problem, and the initial condition is a “type requiring an initial condition specification” expressed as an initial condition frame including a list of “attribute values”. (Type B1) and "type that does not require initial condition specification" (type B2).
[0219]
As described above, in the natural language analyzer 10, various types of input sentences are input. In the present embodiment, for example, through various input sentences such as a YesNo question sentence, a WH question sentence, a request sentence, and a desire sentence. Another feature is that it is possible to accurately retrieve the type of question to be asked and then perform an accurate answer search according to the type of each question. That is, the question type determination unit 32a of the natural language analysis device 10 determines the type of the question asked by the input sentence according to the semantic expression of the input sentence, and the answer search unit 32b determines the type of the question thus determined. Search for answers to questions based on type.
[0220]
More specifically, the question type determination unit 32a determines whether a question marker is attached to the head of the semantic expression of the input sentence stored in the context buffer 22 for “Yes / No question sentence” and “WH question sentence”. No, and furthermore, it is determined whether "Yes / No question sentence (type A)" or "WH question sentence (type B)" depending on whether the expression of "phenomenon attribute?" Is included in the semantic expression. I do. Further, in the case of “request sentence / desired sentence (type B)”, the problem type determination unit 32a determines whether an instruction marker or a desire marker is attached to the head of the semantic expression of the input sentence, The later input sentence (type C) is determined based on whether or not the sentence is input in a situation where the semantic expression of the system inquiry sentence is stacked at the top of the context buffer 22. It should be noted that whether the type B1 or the type B2 is different is determined by whether or not initial condition designation is required. Then, as shown in FIG. 21, the answer search unit 32b searches for an answer to the problem according to the type of the determination result obtained in the above determination and solves the problem.
[0221]
Therefore, according to the natural language analysis device 10, as described above, after accurately extracting the types of questions to be asked through various input sentences such as YesNo question sentences, WH question sentences, request sentences, and wish sentences, An accurate answer search according to the type of the problem can be performed, and an accurate answer can be obtained for each problem.
[0222]
[3-4 (3): Search range and order]
The semantic expression used by the natural language analysis device 10 is to set a link between a corresponding attribute in another semantic expression in units of an attribute concept in which the meaning of the phenomenon / entity concept is reconciled and the dependency is compressed. In addition, it is possible to easily search for an “attribute value” expression corresponding to the question target attribute. However, when the degree of abstraction of the problem target attribute is high (for example, when “network address” or the like is simply referred to as “address”), a plurality of corresponding attributes may be found in the context.
[0223]
In general, the role of the link between the attributes of the same kind is to position attributes having the same kind of meaning to each other, and it is irrelevant to the meaning of the input sentence. Since the problem solving information specified by the sentence cannot be searched, the search range of the corresponding attribute expression needs to be limited according to the meaning of the sentence. For this reason, in the present embodiment, it is possible to obtain an accurate answer only for the semantic expressions having a true correlation with the semantic expression of the input sentence and to improve the processing efficiency. As such, there is a characteristic in this point.
[0224]
More specifically, the answer search unit 32b performs a search with a limited range in the semantic expressions stored in the context buffer 22 and the problem solving DB 25 according to the structure and position of the input sentence. That is, the range of searching for an answer using the phenomenon attribute or the entity attribute as a key is limited as shown in FIG.
[0225]
Further, the answer search unit 32b searches each range in a predetermined order as shown in FIG. That is, in the present embodiment, a range in which there is a high possibility of having a direct correlation with the input sentence is preferentially searched, and an accurate answer can be quickly obtained. There is also a feature.
[0226]
In addition, in the answer search unit 32b, when ε and 示 す shown in FIG. 22 are set as the search range, the “word asserted in the subject case” or the “word asserted in the nominative case” is It goes back to the preceding context with the range until it is found. That is, in the present embodiment, a "predetermined word" that indicates a topic change is set as the limit of the search range, so that an endless and meaningless search can be avoided. There is also a feature in this respect.
[0227]
If the required information is not obtained within this range, as shown in FIG. 22, "the first found" word "(A) and the previous" word " Only when the condition that "(A) is a part of (B)" or "(A) is an attribute of (B)" exists between the words "(B)" Then, the search is performed in the range up to the time when the word that was stated in the subject case or the nominative case "ha" was found one more time ago.
[0228]
[4: Other Embodiments]
Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, but may be implemented in various different embodiments within the scope of the technical idea described in the claims. It may be implemented.
[0229]
Further, among the processes described in the present embodiment, all or a part of the processes described as being performed automatically can be manually performed, or the processes described as being performed manually can be performed. Can be automatically or completely performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above document and drawings can be arbitrarily changed unless otherwise specified.
[0230]
In addition, each component of each device illustrated (for example, the natural language analysis device 10 illustrated in FIG. 18) is a functional concept and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to the illustrated one, and all or a part thereof may be functionally or physically distributed / arbitrarily divided into arbitrary units according to various loads and usage conditions. Can be integrated and configured. Furthermore, all or any part of each processing function performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
[0231]
The natural language analysis method described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. This program can be distributed via a network such as the Internet. Further, the program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD, and can be executed by being read from the recording medium by the computer.
[0232]
【The invention's effect】
As described above, according to the first, eighth, and ninth aspects of the present invention, by using a semantic expression excluding a variety and an indefinite form for a variety of surface expressions, an input sentence having various expressions can be used. Since it is possible to search for an appropriate place and obtain an answer after extracting the expressed contents, it is possible to give an accurate answer in response to a question asked in various expressions.
[0233]
According to the invention of claim 2, for example, after accurately extracting the types of questions to be asked through various input sentences such as a YesNo question sentence, a WH question sentence, a request sentence, and a desire sentence, It is possible to perform an appropriate and accurate answer search.
[0234]
Further, according to the invention of claim 3, it is possible to obtain an accurate answer to the question asked in the so-called YesNo question sentence.
[0235]
Further, according to the invention of claim 4, it is possible to obtain an accurate answer to a question asked in a so-called WH question sentence, request sentence, or desire sentence.
[0236]
Further, according to the invention of claim 5, it is possible to obtain an accurate answer with only the semantic expression having a true correlation with the semantic expression of the input sentence as a search target, and to improve the processing efficiency. Become.
[0237]
Further, according to the invention of claim 6, it is possible to preferentially search a range having a high possibility of having a direct correlation with the input sentence, and to quickly obtain an accurate answer.
[0238]
According to the invention of claim 7, for example, it is possible to set a predetermined word indicating a change of topic as a limit of a search range, and to avoid a situation where an infinitely meaningless search is performed. Become.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a semantic expression.
FIG. 2 is a diagram showing a configuration of a system in Study 1.
FIG. 3 is a diagram showing information represented in a table format and its semantic expressions.
FIG. 4 is a diagram showing an example sentence in which the incidental condition modifies the continuous association / continuous modification.
FIG. 5 is a diagram showing a semantic expression of “Where is Okura?”.
FIG. 6 is a diagram showing a semantic expression of "how much can you stay in Okura?"
FIG. 7 is a diagram showing a meaning expression of “Where is the location of Okura?”.
FIG. 8 is a diagram showing an example of a system dialogue in Study 1.
FIG. 9 is a diagram showing an example of constructing a network which is the subject of Study 2.
FIG. 10 is a diagram showing a configuration of a dialogue system in Study 2.
FIG. 11 is a diagram showing a basic form of a semantic expression.
FIG. 12 is a diagram illustrating an example of a semantic expression.
FIG. 13 is a diagram showing an example of a system dialogue in Study 2.
FIG. 14 is a diagram illustrating an example of a semantic expression.
FIG. 15 is a diagram illustrating an example of a semantic expression.
FIG. 16 is a diagram illustrating an example of a semantic expression.
FIG. 17 is a diagram illustrating an example of a semantic expression.
FIG. 18 is a block diagram illustrating a configuration of a natural language analysis device according to the present embodiment.
FIG. 19 is a flowchart showing the flow of processing by the natural language analysis device.
FIG. 20 is a diagram for explaining problem types.
FIG. 21 is a diagram for explaining a problem solving method.
FIG. 22 is a diagram for explaining an answer search method.
[Explanation of symbols]
10. Natural language analyzer
11 Input section
12 Output unit
13 I / O control IF section
20 storage unit
21 Input sentence buffer
22 Context buffer
23 Output statement buffer
24 Input sentence interpretation DB
25 Problem Solving DB
26 Response sentence generation DB
30 control unit
31 Input sentence interpreter
32 Problem Solving Department
32a Problem type determination unit
32b Answer search section
33 Response sentence generator

Claims (9)

自然言語による入力文で問われている問題に対して回答を探索する自然言語解析装置であって、
前記入力文および前記回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として記憶する意味表現記憶手段と、
前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して前記問題に対する回答を取得する回答探索手段と、
を備えたことを特徴とする自然言語解析装置。
A natural language analysis device that searches for an answer to a question being asked in a natural language input sentence,
A predetermined knowledge information used for the input sentence and the answer, a semantic expression storage unit configured as a combination of an attribute and an attribute value and stored as a semantic expression in which a link is set between mutually corresponding attributes;
A semantic expression corresponding to the semantic expression of the input sentence is searched from the semantic expressions stored by the semantic expression storage unit, and an answer to the problem is obtained by referring to an attribute value included in the searched semantic expression. Answer search means;
A natural language analysis device comprising:
前記入力文の意味表現に応じて、前記入力文によって問われている問題の種別を判定する問題種別判定手段をさらに備え、
前記回答探索手段は、前記問題種別判定手段によって判定された問題の種別を踏まえて前記問題に対する回答を探索することを特徴とする請求項1に記載の自然言語解析装置。
In accordance with the semantic expression of the input sentence, further comprising a problem type determining means for determining the type of the question asked by the input sentence,
2. The natural language analysis device according to claim 1, wherein the answer search unit searches for an answer to the problem based on the type of the problem determined by the problem type determination unit.
前記問題種別判定手段は、前記入力文の意味表現に疑問マーカが付与され、かつ、当該意味表現に問題対象属性が含まれていない場合には、前記入力文の真偽が問われていると判定し、
前記回答探索手段は、前記問題種別判定手段によって前記入力文の真偽が問われていると判定された場合には、前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値と一致するか否かを判定して前記回答を取得することを特徴とする請求項2に記載の自然言語解析装置。
The question type determination means, if a question marker is added to the semantic expression of the input sentence, and if the semantic expression does not include a questionable attribute, the truth of the input sentence is determined. Judge,
The answer search unit, when the question type determination unit determines that the input sentence is questionable, determines the meaning of the input sentence from the semantic expressions stored by the semantic expression storage unit. The natural language analysis device according to claim 2, wherein a semantic expression corresponding to the expression is searched, and it is determined whether or not the semantic expression matches an attribute value included in the searched semantic expression to obtain the answer. .
前記問題種別判定手段は、前記入力文の意味表現に疑問マーカが付与され、かつ、当該意味表現に問題対象属性が含まれている場合には、当該所定の属性値の内容が問われていると判定し、
前記回答探索手段は、前記問題種別判定手段によって前記所定の属性値の内容が問われていると判定された場合には、前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる問題対象属性に対応する属性値を抽出して前記回答を取得することを特徴とする請求項2に記載の自然言語解析装置。
The question type determination means asks the content of the predetermined attribute value when a question marker is added to the semantic expression of the input sentence and the semantic expression includes a question target attribute. Is determined,
The answer search means, when it is determined by the question type determination means that the content of the predetermined attribute value is questioned, from among the semantic expressions stored by the semantic expression storage means, The natural language analysis according to claim 2, wherein a semantic expression corresponding to the semantic expression is searched, and an attribute value corresponding to a problem target attribute included in the searched semantic expression is extracted to obtain the answer. apparatus.
前記回答探索手段は、前記入力文の構造および/または位置に応じて、前記意味表現記憶手段によって記憶された意味表現のなかで範囲を限定して検索を行うことを特徴とする請求項1〜4のいずれか一つに記載の自然言語解析装置。The said answer search means performs a search by limiting a range in the semantic expressions stored by the semantic expression storage means according to the structure and / or position of the input sentence. 4. The natural language analyzer according to any one of 4. 前記回答探索手段は、複数の範囲に限定して前記回答を探索する場合には、所定の順序で各範囲を探索することを特徴とする請求項5に記載の自然言語解析装置。The natural language analysis device according to claim 5, wherein, when searching for the answer limited to a plurality of ranges, the answer search means searches each range in a predetermined order. 前記回答探索手段は、前記入力文に先行する入力文に限定して前記回答を探索する場合には、所定の語が見つかるまで遡って探索することを特徴とする請求項5または6に記載の自然言語解析装置。7. The method according to claim 5, wherein, when searching for the answer limited to the input sentence preceding the input sentence, the answer search means searches backward until a predetermined word is found. Natural language analyzer. 自然言語による入力文で問われている問題に対して回答を探索する自然言語解析方法であって、
前記入力文および前記回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として記憶する意味表現記憶工程と、
前記意味表現記憶工程によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して前記問題に対する回答を取得する回答探索工程と、
を含んだことを特徴とする自然言語解析方法。
A natural language analysis method for searching for an answer to a question being asked in a natural language input sentence,
A predetermined knowledge information used for the input sentence and the answer, a semantic expression storing step of storing as a semantic expression configured by combining an attribute and an attribute value and a link is set between mutually corresponding attributes;
A semantic expression corresponding to the semantic expression of the input sentence is searched from the semantic expressions stored in the semantic expression storing step, and an answer to the problem is obtained by referring to an attribute value included in the searched semantic expression. Answer search process,
A natural language analysis method comprising:
自然言語による入力文で問われている問題に対して回答を探索する方法をコンピュータに実行させる自然言語解析プログラムであって、
前記入力文および前記回答に利用される所定の知識情報を、属性と属性値とを組み合わせて構成されて相互に対応する属性間にリンクが設定される意味表現として意味表現記憶手段に格納する意味表現格納手順と、
前記意味表現記憶手段によって記憶された意味表現のなかから前記入力文の意味表現に対応する意味表現を探索し、当該探索した意味表現に含まれる属性値を参照して前記問題に対する回答を取得する回答探索手順と、
をコンピュータに実行させることを特徴とする自然言語解析プログラム。
A natural language analysis program that causes a computer to execute a method of searching for an answer to a question being asked in a natural language input sentence,
Meaning that the predetermined knowledge information used for the input sentence and the answer is stored in a semantic expression storage unit as a semantic expression configured by combining an attribute and an attribute value and a link is set between mutually corresponding attributes. Expression storage procedure,
A semantic expression corresponding to the semantic expression of the input sentence is searched from the semantic expressions stored by the semantic expression storage unit, and an answer to the problem is obtained by referring to an attribute value included in the searched semantic expression. Answer search procedure,
A natural language analysis program characterized by causing a computer to execute the program.
JP2003124844A 2003-04-30 2003-04-30 Natural language analysis device, method, and program Pending JP2004334264A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003124844A JP2004334264A (en) 2003-04-30 2003-04-30 Natural language analysis device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003124844A JP2004334264A (en) 2003-04-30 2003-04-30 Natural language analysis device, method, and program

Publications (1)

Publication Number Publication Date
JP2004334264A true JP2004334264A (en) 2004-11-25

Family

ID=33502271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003124844A Pending JP2004334264A (en) 2003-04-30 2003-04-30 Natural language analysis device, method, and program

Country Status (1)

Country Link
JP (1) JP2004334264A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013047972A (en) * 2012-10-19 2013-03-07 A Visel Thomas Method for inclusion of psychological temperament in electronic emulation of human brain
JP2013105226A (en) * 2011-11-11 2013-05-30 Fujitsu Ltd Received mail sorting device, received mail sorting program, and received mail sorting method
JP2013206130A (en) * 2012-03-28 2013-10-07 Fujitsu Ltd Search device, search method and program
JP2017016580A (en) * 2015-07-06 2017-01-19 エヌ・ティ・ティ・コミュニケーションズ株式会社 Candidate selection device, candidate selection method, computer program, and communication system
JP6070809B1 (en) * 2015-12-03 2017-02-01 国立大学法人静岡大学 Natural language processing apparatus and natural language processing method
WO2019172205A1 (en) * 2018-03-08 2019-09-12 日本電信電話株式会社 Dialog device, dialog method, data structure, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013105226A (en) * 2011-11-11 2013-05-30 Fujitsu Ltd Received mail sorting device, received mail sorting program, and received mail sorting method
JP2013206130A (en) * 2012-03-28 2013-10-07 Fujitsu Ltd Search device, search method and program
JP2013047972A (en) * 2012-10-19 2013-03-07 A Visel Thomas Method for inclusion of psychological temperament in electronic emulation of human brain
JP2017016580A (en) * 2015-07-06 2017-01-19 エヌ・ティ・ティ・コミュニケーションズ株式会社 Candidate selection device, candidate selection method, computer program, and communication system
JP6070809B1 (en) * 2015-12-03 2017-02-01 国立大学法人静岡大学 Natural language processing apparatus and natural language processing method
JP2017102771A (en) * 2015-12-03 2017-06-08 国立大学法人静岡大学 Natural language processor and natural language processing method
WO2019172205A1 (en) * 2018-03-08 2019-09-12 日本電信電話株式会社 Dialog device, dialog method, data structure, and program
JP2019159489A (en) * 2018-03-08 2019-09-19 日本電信電話株式会社 Interactive device, interactive method, data structure and program

Similar Documents

Publication Publication Date Title
US20220138430A1 (en) System and Method for Use of Semantic Understanding in Storage, Searching and Providing of Data or Other Content Information
US11475319B2 (en) Extracting facts from unstructured information
JP7089330B2 (en) Adaptive processing components
Chen et al. Improving automated documentation to code traceability by combining retrieval techniques
Zouaq et al. Building domain ontologies from text for educational purposes
CN103221952B (en) The method and system of morphology answer type reliability estimating and application
EP2157570B1 (en) Automatic conversation system and conversation scenario editing device
US20170337261A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
US20070203869A1 (en) Adaptive semantic platform architecture
KR20160026892A (en) Non-factoid question-and-answer system and method
US20150286943A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
US20020087310A1 (en) Computer-implemented intelligent dialogue control method and system
Estival et al. Towards ontology-based natural language processing
WO2013088287A1 (en) Generation of natural language processing model for information domain
CN109947952A (en) Search method, device, equipment and storage medium based on english knowledge map
CN112818092B (en) Knowledge graph query statement generation method, device, equipment and storage medium
Valerio et al. Using automatically generated concept maps for document understanding: A human subjects experiment
JP2004334264A (en) Natural language analysis device, method, and program
Tovar et al. A metric for the evaluation of restricted domain ontologies
Repp et al. Towards to an automatic semantic annotation for multimedia learning objects
Nargis et al. Generating an emotion ontology for roman urdu text
Margitus et al. RDF versus attributed graphs: The war for the best graph representation
Hassanzadeh et al. T2r: System for converting textual documents into rdf triples
Dai et al. Semantic network language generation based on a semantic networks serialization grammar
Taghiyareh et al. A Semantic Rule‑based Framework for Efficient Retrieval of Educational Materials

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050511