(57)【特許請求の範囲】
【請求項１】
言語表現を入力する入力手段と、この入力手段により入力された言語表現中に含まれる記号表現や数量表現等の記号列を抽出する記号列抽出手段と、上記入力手段により入力された言語表現からの用語抽出に必要な辞書データを検索・管理する用語辞書管理手段と、上記記号列抽出手段から記号列と言語表現を受け取り、受け取った言語表現からこの用語辞書管理手段を用いて事例検索のキーとなる用語を抽出する用語抽出手段と、予め蓄積された言語表現とその関連情報との対からなる事例データを検索・管理する事例ベース管理手段と、上記用語抽出手段により抽出された用語をキーとしてこの事例ベース管理手段によって管理された事例ベースから処理対象となる事例の候補を取り出す事例候補検索手段と、この事例候補検索手段により取り出された事例候補の中から入力された言語表現に類似した事例を絞りこむための事例絞り込み手段と、この事例絞り込み手段により絞り込まれた事例の事例データに含まれ、数量表現の定義を示す数量表現定義と、入力された言語表現に含まれる数量表現とを照合して、入力された言語表現に含まれる数量表現の数量表現定義と数値を求め、当該求めた結果と上記絞り込まれた事例の関連情報に応じて、推論結果として関連する言語情報を生成する関連情報推論手段と、少なくとも事例候補検索手段または上記事例絞り込み手段によって取り出された事例とこの関連情報推論手段の推論結果を表示する解析内容表示手段とを備えたことを特徴とする自然言語事例検索装置。
【請求項２】
箇条書き等の論理構造を持つ言語表現の入力を補助する構造入力補助手段と、上記論理構造を持つ事例に対して事例候補の絞り込みが可能である構造化事例絞り込み補助手段を備えたことを特徴とする請求項１記載の自然言語事例検索装置。
【請求項３】
事例候補検索手段または事例絞り込み手段で入力の言語表現に対する所望の事例が得られないとき、事例を新規に登録する登録手段を備えたことを特徴とする請求項１記載の自然言語事例検索装置。
【請求項４】
入力文中に含まれる参照表現によって外部のデータベースに含まれる情報を参照する機能を有する付加情報参照手段を備えたことを特徴とする請求項１記載の自然言語事例検索装置。
【請求項５】
言語表現を入力手段から入力する入力ステップと、このステップで入力された言語表現中に含まれる記号表現や数量表現等の記号列を抽出する記号列抽出ステップと、この記号列抽出ステップで処理後の言語表現を受け取り、入力された言語表現からの用語抽出に必要な事例検索のキーとなる用語を収録した用語辞書を用いて受け取った言語表現から事例検索のキーとなる用語を抽出する用語抽出ステップと、この用語抽出ステップにより抽出された用語をキーとして予め蓄積された言語表現とその関連情報との対からなる事例データから処理対象となる事例の候補を取り出す事例候補検索ステップと、この事例候補検索ステップにより取り出された事例候補の中から入力された言語表現に類似した事例を絞りこむための事例絞り込みステップと、この事例絞り込みステップにより絞り込まれた事例の事例データに含まれ、数量表現の定義を示す数量表現定義と、入力された言語表現に含まれる数量表現とを照合して、入力された言語表現に含まれる数量表現の数量表現定義と数値を求め、当該求めた結果と上記絞り込まれた事例の関連情報に応じて、推論結果として関連する言語情報を生成する関連情報推論ステップと、少なくとも事例候補検索ステップまたは上記事例絞り込みステップによって取り出された事例とこの関連情報推論ステップの推論結果を表示する解析内容表示ステップとを備えたことを特徴とする自然言語事例検索方法。
【請求項６】
上記入力ステップは、箇条書き等の論理構造を持つ言語表現の入力を補助する構造入力補助ステップを備え、上記事例絞り込みステップは、上記論理構造を持つ事例に対して事例候補の絞り込みをする構造化事例絞り込み補助ステップを備えたことを特徴とする請求項５記載の自然言語事例検索方法。
【請求項７】
上記事例候補検索ステップまたは上記事例絞り込みステップで入力の言語表現に対する所望の事例が得られないとき、入力された言語表現と関連情報の対を新たな事例として新規に登録する登録ステップを備えたことを特徴とする請求項５記載の自然言語事例検索方法。
【請求項８】
入力文中に含まれる参照表現によって外部のデータベースに含まれる情報を参照する機能を有する付加情報参照ステップを上記解析内容表示ステップの前または後に備えたことを特徴とする請求項５記載の自然言語事例検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、過去の課題と対策を自然言語形式の事例として登録・蓄積しておき、それを検索・参照および推論処理して、新規課題の処理や、設計支援等に用いられる自然言語事例検索装置及び自然言語事例検索方法に関するものである。
【０００２】
ここで、「自然言語」の「事例」（以下、自然言語事例）とは、処理の対象として蓄積されるデータの検索のキーとなる部分に日本語や英語等の人間が日常使用する言葉の表現（文章）である自然言語を含むものをいう。もちろん、検索のキーに関連づけられた情報も自然言語から構成されていても良い。自然言語事例は、通常の言語表現という人間にとって極めて自然な記述形式を用いるので、入力が容易であり、また文字コードの並びという蓄積効率の高いデータであり、データの再利用も簡単に行なうことができる。
【０００３】
【従来の技術】
図２８は、例えば文献（黒川高光：”ＣＢＲ機能を組み込んだ「ＡＲＴ−ＩＭ」とドメイン・シェル「ＣＢＲ  Ｅｘｐｒｅｓｓ」，日経ＡＩ別冊１９９１春号, ｐｐ．１３０−１３９，日経ＢＰ（１９９１年））や文献（中條将典：「ヘルプデスク専用ソフト増える／過去の事例を文章で素早く検索」，日経コンピュータ，ｐｐ．１０３−１０５，１９９５年９月５日号）に示された従来の自然言語事例検索装置の構成である。ただし、比較しやすくするために，名称等をここでの表現に統一している。
【０００４】
図において、１は問合せの入力手段であり、検索したい内容を言語表現として入力する。４は用語抽出手段であり、用語の抽出や同義語展開を行なう。３は用語抽出を行なうための用語データを管理する用語辞書管理手段、５は自然言語の事例データとその検索のための索引等を管理する事例ベース管理手段、６は入力と類似する事例を取り出すための事例候補検索手段であり、入力に対して類似した事例を検索して取り出す。８は選択した事例に関連付けられた事例を取り出す関連情報推論手段、９は一連の解析内容を表示するための解析内容表示手段である。
【０００５】
次に従来の技術の例における動作について説明する。図２８において、例えば、入力手段１での入力「印刷できない」に対して、用語抽出手段４は、用語辞書管理手段３の用語データを参照して、「印刷で」、「刷でき」、「できな」、... といった３文字単位の文字列を取り出す。次に事例候補検索手段６でこれら３文字単位の文字列を索引として、事例ベース管理手段５による事例の索引中にこれらの文字列をもっとも多く含むものを事例の候補として取り出す。
【０００６】
次に、得られた候補の中から利用者が選択した事例に対して、関連情報推論手段８においてその事例に関係付けられているＹｅｓ／Ｎｏの質問に答えることによって、関連情報を取り出す。これらの過程において必要な情報は解析内容表示手段９において随時表示される。
【０００７】
図２９は、前記文献（黒川高光：”ＣＢＲ機能を組み込んだ「ＡＲＴ−ＩＭ」とドメイン・シェル「ＣＢＲ  Ｅｘｐｒｅｓｓ」，日経ＡＩ別冊１９９１春号,ｐｐ．１３０−１３９，日経ＢＰ（１９９１年））に示された、各事例に付随するべき質問を登録し、質問に対して期待する回答のタイプを指定するウィンドウ画面の例である。図において、２９０１は、質問の言語表現を示す欄、２９０２は付随する関連情報を示す欄、２９０３はテキストによる検索を指定する欄、２９０４は数値による検索を指定する欄である。
【０００８】
この従来の装置では、テキストによる検索の指定２９０３と数値による検索の指定２９０４を別個に指定して扱わなければならないため、テキスト中に含まれている数値そのものを取り出して、その情報を別の箇所で利用するという機能は備えていない。また、数値以外の記号列に対して特別な処理を行なうことはできないため、入力文の照合には必要ない記号列部分に対しても前記３文字単位の索引が無駄に生成されてしまう。
【０００９】
また、図３０は特開平７−２００５８３における従来の数量／時間表現処理方式の例である。この従来技術は、自然言語文を解析して意味構造を出力する構文／意味解析手段３００１と、この構文／意味解析手段３００１からの意味構造に基づいて文脈を利用した入力文の意味処理を行なう文脈処理手段３００２と、文脈処理手段３００２の結果を意味履歴として保持する文脈情報保持手段３００３と、入力文中の数量／時間表現を対象として基準や範囲に関する情報を抽出する数量／時間表現解析手段３００４と、上記文脈情報保持手段３００３による解析結果と文脈情報とを利用して入力文の数量／時間に関する情報を補完する数量／時間情報文脈補完手段３００５と、意味補完内容を一定の基準で評価して誤りの可能性ありと判断した内容について利用者への確認問い合わせを行なう補完内容確認手段３００６とを有している。
【００１０】
次に、この従来技術の動作を説明する。まず、自然言語で記述した文を構文・意味解析手段３００１で解析して意味構造を出力し、更に文脈処理手段３００２で意味構造に基づいて文脈を利用した入力文の意味処理を行ない、文脈情報保持手段３００３に文脈処理の結果を意味履歴として保持しておく。
【００１１】
一方、数量／時間表現解析手段３００４では、入力文中の数量／時間表現を対象として基準や範囲に関する、例えば、「１９９３年」や「翌年」といった情報を抽出する。このとき、数量／時間情報文脈内容補完手段３００５によって、文脈情報保持手段３００３に保持された文脈情報を利用して、数量／時間表現解析手段３００４によって抽出された入力文中の数量／時間表現を対象として、例えば「翌年」を「１９９４年」であるとするような補完を行なう。この補完処理は、高度な解析技術を要する文脈情報を使用するために誤る可能性があるので、補完内容確認手段３００６において意味補完内容を一定の基準で評価して誤りの可能性ありと判断した内容については、利用者への確認問い合わせを行なう。
【００１２】
また、図３１は特開平６−１９５３７１における従来の未登録語獲得方式の例である。この従来技術は、登録されている単語を入力文字列から検索する辞書記憶手段３１０３と、未登録語を含む入力文から未登録語を抽出する未登録語抽出手段３１０１と、共起事例データを格納する共起事例データ記憶手段３１０２と、単語と単語の間の関係を抽出する解析手段３１０４と、解析手段３１０４により抽出された単語と単語の関係をキーにして共起事例データ記憶手段３１０２を検索して得られた共起単語の中から辞書記憶手段３１０３に含まれる単語だけを残して同義語候補にする同義語候補抽出手段３１０５と、同義語候補を利用者に提示し選択する同義語選択手段３１０６と、選択された同義語を辞書記憶手段３１０３に登録する辞書登録手段３１０７と、一般的な語彙に対して十分な同義語を保持している同義語データ記憶手段３１０８とを有しており、辞書内の未登録語に対して共起事例データあるいは同義語データを用いて、未登録語を登録するものである。
【００１３】
次に、この従来技術の動作を説明する。まず、入力した自然言語の文から、辞書記憶手段３１０３によって記憶している辞書情報を用いて未登録語抽出手段３１０１によって未登録語を抽出する。解析手段３１０４は、未登録語の有無にかかわらず、入力文を解析して概念構造を作成する。同義語候補抽出手段３１０５は、概念構造から意味要素間の関係である格関係（動詞と名詞の間の関係など）の組みに分割する。
【００１４】
格関係の組みが未登録語を含んでいる場合、意味要素と格関係をキーとして、共起事例データ記憶手段３１０２を検索して、マッチングするもの、あるいは未登録語の表層の一部がマッチングする共起事例データが存在すれば第一次同義語候補にする。同時に、同義語候補抽出手段３１０５は、入力文に含まれていた未登録語をキーとして、同義語データ記憶手段３１０８を検索し、未登録語の全体や一部が同義語データのエントリとして存在すれば、第二次同義語候補にする。
【００１５】
このとき、同義語データ記憶手段３１０８は、辞書記憶手段３１０３に関係なく、一般的な語彙に対して十分な同義語を保持しているものとする。同義語選択手段３１０６は、第一次同義語候補と第二次同義語候補をユーザに提示し、ユーザによって選択された結果を、入力文中の未登録語の辞書情報として、辞書登録手段３１０７により辞書記憶手段３１０３に登録する。
【００１６】
【発明が解決しようとする課題】
上記従来の自然言語事例検索装置は以上のように構成されており、自然言語データである事例文および入力文の照合を検索目的のみに用いるので、文の中に含まれる記号表現や数量表現の記号列を有効に利用できないばかりか、文中にこれらの表現が含まれると、同様な事例も別個の事例として扱われるため、これらの記号列に対して事例や索引などが無駄に生成されるという問題もあった。特に、技術文章等に対して事例検索を行なう場合には、記号・数量表現や論理構造を持つ言語データが重要な役割を持つためこれらは大きな問題であった。
【００１７】
また、文単位に入力と事例との照合を行なうのみであったので、箇条書き等の論理構造を持つ言語データを扱うことができなかった。
【００１８】
さらに、構文／意味解析手段の処理の後で数量／時間表現の抽出を行ない、文脈処理の結果で情報を補完するような処理を行なっていたが、文脈処理が必ずしも正確に行われるとは限らないため、利用者への確認問い合わせが必要であり、自動的な処理では利用しにくいという問題があった。
【００１９】
さらにまた、共起事例データや同義語データを用いて未登録語の辞書への登録の効率を向上させていたが、同義語データが一般的な語彙に対して十分な同義語を保持していることを前提にしていたため、予めこのような同義語データを備えておくことが困難であり、さらに、単語ではなく文以上の単位をもつ言語データの登録にはこの方法を用いることができないという問題があった。
【００２０】
本発明は上記のような問題を解消するためになされたもので、記号列表現を抽出する手段を設けることにより、入力文や事例中に含まれる記号や数量などに関して無駄な索引を生成することがなく、それらの表現を抽出して事例検索の結果に関連する情報を推論する際、有効に活用する事を目的とする。
【００２１】
また、本発明は、論理構造を持つ言語データを容易に入力する手段と、構造データを段階的に類似照合して適切な事例を絞り込むことができるようにすることにより、複雑な自然言語事例をも取り扱うことができる検索方式を得ることを目的とする。
【００２２】
さらに、本発明は、事例候補検索手段や事例絞り込み手段で入力に対する所望の事例が得られないとき、単語より大きな単位である文や文章であっても、新たな言語表現の事例として登録したり、その表現を次に検索する際に必要な用語の登録を容易にすることを目的とする。
【００２３】
またさらに、本発明は、入力の言語表現中に図面参照等の参照表現が含まれていた場合に、外部のデータベースの参照を容易にすることを目的とする。
【００２４】
【課題を解決するための手段】
この発明に関わる請求項１に記載の自然言語事例検索装置は、言語表現を入力する入力手段と、この入力手段により入力された言語表現中に含まれる記号表現や数量表現等の記号列を抽出する記号列抽出手段と、上記入力手段により入力された言語表現からの用語抽出に必要な辞書データを検索・管理する用語辞書管理手段と、上記記号列抽出手段から記号列と言語表現を受け取り、受け取った言語表現からこの用語辞書管理手段を用いて事例検索のキーとなる用語を抽出する用語抽出手段と、予め蓄積された言語表現とその関連情報との対からなる事例データを検索・管理する事例ベース管理手段と、上記用語抽出手段により抽出された用語をキーとしてこの事例ベース管理手段によって管理された事例ベースから処理対象となる事例の候補を取り出す事例候補検索手段と、この事例候補検索手段により取り出された事例候補の中から入力された言語表現に類似した事例を絞りこむための事例絞り込み手段と、この事例絞り込み手段により絞り込まれた事例のなかから入力された言語表現の内容に応じて関連する情報を推論する関連情報推論手段と、少なくとも事例候補検索手段または上記事例絞り込み手段によって取り出された事例とこの関連情報推論手段の推論結果を表示する解析内容表示手段とを備えたものである。
【００２５】
請求項２に記載の自然言語事例検索装置は、箇条書き等の論理構造を持つ言語表現の入力を補助する構造入力補助手段と、論理構造を持つ事例に対して事例候補の絞り込みが可能である構造化事例絞り込み補助手段を備えたものである。
【００２６】
請求項３に記載の自然言語事例検索装置は、事例候補検索手段や事例絞り込み手段で入力に対する所望の事例が得られないとき、新たな事例や用語の登録を容易にするために新規事例登録手段を備えたものである。
【００２７】
請求項４に記載の自然言語事例検索装置は、入力の言語表現中に含まれる図面参照等の参照表現から、外部のデータベースの参照を容易にする付加情報参照手段を備えたものである。
【００２８】
この発明に係わる請求項５に記載の自然言語事例検索方法は、言語表現を入力手段から入力する入力ステップと、このステップで入力された言語表現中に含まれる記号表現や数量表現等の記号列を抽出する記号列抽出ステップと、この記号列抽出ステップで処理後の言語表現を受け取り、入力された言語表現からの用語抽出に必要な事例検索のキーとなる用語を収録した用語辞書を用いて受け取った言語表現から事例検索のキーとなる用語を抽出する用語抽出ステップと、この用語抽出ステップにより抽出された用語をキーとして予め蓄積された言語表現とその関連情報との対からなる事例データから処理対象となる事例の候補を取り出す事例候補検索ステップと、この事例候補検索ステップにより取り出された事例候補の中から入力された言語表現に類似した事例を絞りこむための事例絞り込みステップと、この事例絞り込みステップにより絞り込まれた事例のなかから入力された言語表現の内容に応じて関連する情報を推論する関連情報推論ステップと、少なくとも事例候補検索ステップまたは上記事例絞り込みステップによって取り出された事例とこの関連情報推論ステップの推論結果を表示する解析内容表示ステップとを備えたものである。
【００２９】
請求項６に記載の自然言語事例検索方法は、上記入力ステップは、箇条書き等の論理構造を持つ言語表現の入力を補助する構造入力補助ステップを備え、上記事例絞り込みステップは、上記論理構造を持つ事例に対して事例候補の絞り込みをする構造化事例絞り込み補助ステップを備えたものである。
【００３０】
請求項７に記載の自然言語事例検索方法は、上記事例候補検索ステップまたは上記事例絞り込みステップで入力の言語表現に対する所望の事例が得られないとき、入力された言語表現と関連情報の対を新たな事例として新規に登録する登録ステップを備えたものである。
【００３１】
請求項８に記載の自然言語事例検索方法は、入力文中に含まれる参照表現によって外部のデータベースに含まれる情報を参照する機能を有する付加情報参照ステップを上記解析内容表示ステップの前または後に備えたものである。
【００３２】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１を図について説明する。図１は本発明の自然言語事例検索装置の実施の形態１の構成図であり、図において、１はキーボード等の入力装置または他のプログラムからデータを受け取ることによる入力手段、２は入力手段１で入力したデータの入力言語表現から記号表現や数量表現等の記号列を抽出するための記号列抽出手段、３はこの装置による検索方式で用いる用語辞書データを索引等によって検索したり、新たな用語辞書データを格納したりするための用語辞書管理手段であり、公知の方法で実現するものとする。４はこの用語辞書管理手段３を利用して言語表現から用語を抽出するための用語抽出手段であり、公知の方法で実現するものとする。５は言語表現とそれに関連付けた情報を管理するための事例ベース管理手段であり、公知の方法で実現するものとする。６は多くの事例の中から現在の入力に対して処理を適用できそうな事例の候補を、入力から抽出した索引と同じ索引を含むかどうかによって事例ベースから取り出す事例候補検索手段である。
【００３３】
７はこの事例候補検索手段６で得た事例候補のなかから入力に類似したものを選びだすための事例絞り込み手段、８は検索して得た事例とその事例に関係付けられた情報から、入力に関連する情報を取り出すための関連情報推論手段、９は一連の処理内容を随時表示するための解析内容表示手段である。
【００３４】
上記のように構成された自然言語事例検索装置の動作を説明する。図１の構成において、入力手段１で、検索する条件となる言語表現を受け取ると、記号列抽出手段２に入力を受け渡す。本発明の特徴の一つである記号列抽出手段２の構成は例えば図２のように構成することができる。
【００３５】
図２において、入力文字列２０１は入力手段１から受け取った文字列、パタン定義２０２はこれから抽出しようとする文字列に対してあらかじめ定義したパタン、表現抽出プログラム２０３は、入力文字列２０１にパタン定義２０２に従うパタンが含まれているか否かを解析するプログラムであり、その結果として抽出した表現パタン２０４と残りの文字列２０５が、記号列抽出手段２の出力として、次の用語抽出手段４に渡される。この種のプログラムは、例えば文献（Ｗｉｒｔｈ，Ｎ著、片山卓也訳「アルゴリズム＋データ構造＝プログラム」，日本コンピュータ協会発行，１９７９年）に示されたような方法で作成することができ、以下、図３〜図９を用いて説明する。
【００３６】
図３は、図２のパタン定義２０２の一実現例の一般形を示すものである。図３（ａ）は、パタン定義の方法を示すものであり、記号「：：＝」の左辺の記号を右辺のパタンで定義するとみなす。左辺には非終端記号と呼ばれる、唯一つの記号を記述することができるものとする。右辺には非終端記号（各パタン定義に付ける記号の名札）または終端記号（具体的な文字に対応するパタン）とを記述するものとする。このとき、右辺の記述方法には、図３（ｂ）、図３（ｃ）、図３（ｄ）に示す３通りの形式があるものとする。
【００３７】
図３（ｂ）は、記号「Ｓ」が記号「｛」と記号「｝」とに囲まれている場合であり、この形式は記号「Ｓ」が０回以上繰り返し出現すると解釈する。
図３（ｃ）は、 記号「Ｓ1」、「Ｓ2」、... 、「Ｓｎ」が記号「｜」に よって区切られている場合であり、この形式は記号「Ｓ1」、「Ｓ2」、... 、「Ｓｎ」 の何れかが出現する（ＯＲ）と解釈する。図３（ｄ）は、 記号「Ｓ1」、「Ｓ2」、... 、「Ｓｎ」が連続して記述されてい る場合であり、この形式は記号「Ｓ1」、「Ｓ2」、... 、 「Ｓｎ」が順番に出現する（連接）と解釈する。
【００３８】
図３のように形式的に定義されたパタンは、あらかじめ図４に示す構文グラフの形に置き換えておくものとする。構文グラフの一つのノードは図４（ａ）に示す形で実現することができる。なお図４において斜線が引いてある欄は、その欄が空（ＮＵＬＬ）であることを意味する。
【００３９】
図４（ａ）においてｓｙｍ欄４０１は、ノードが非終端記号に対応する場合にはその文字を格納し、非終端記号に対応する場合にはその非終端記号を定義する構文グラフの部分へのポインタを格納する。ａｌｔ欄４０２は図４（ｃ）に示すように図３（ｃ）に対応するＯＲとなるパタンの構文グラフの部分へのポインタを格納する。ｓｕｃ欄４０３は図４（ｄ）に示すように連接するパタンの構文グラフの部分へのポインタを格納するものとする。
【００４０】
図４（ｂ）は図３（ｂ）の繰り返しを表現するパタン定義に対応する構文グラフである。繰り返すパタンの先頭の記号を含むノードのａｌｔ欄から、ｓｙｍ欄に記号ｅｍｐｔｙを含むノードを指すように構成する。記号ｅｍｐｔｙを含むノードのａｌｔ欄は空（ＮＵＬＬ）であり、ｓｕｃ欄は繰り返すパタンの２つ目以降の記号に対応する構文グラフの部分を指すものとする。
【００４１】
図５は、「（１）」、「（２）」や「３個」、「１．５Ｖ」といったパタンを定義したパタン定義の記述の例である。ここで、非終端記号は記号「＜」と記号「＞」とで挟んで示している。また、＜数字＞や＜小数点＞の定義は省略している。
【００４２】
図６は、図５に対応する構文グラフであり、図３と図４によって説明した、パタン定義と構文グラフの対応の方法によってグラフ表現したものである。図２の表現抽出プログラム２０３は、図５で定義されたパタンの抽出を行なうために、図６の構文グラフに添って動作することになる。
【００４３】
上記のように構成された記号列抽出手段２の動作を図６の構文グラフと図７と図８のフローチャートに沿って詳しく説明する。図７のフローチャートは記号列抽出手段２の主プログラムの流れを示すものであり、この主プログラムは局所変数ｐＨと大域変数ｉＳｙｍとを使用する。局所変数ｐＨは図６の構文グラフのノードを指すポインタを格納するための変数であり、大域変数ｉＳｙｍは現在注目している入力文字列中の文字を格納するための変数である。
【００４４】
記号列抽出手段２の主プログラムは、最初に図７の（ｓｔｅｐ１）で構文グラフのゴール（最終的に到達すべき非終端記号）となる非終端記号のノード（図６では６０１）を主プログラムの局所変数ｐＨに設定し、（ｓｔｅｐ２）で処理対象の入力文字列の先頭の文字を大域変数ｉＳｙｍに設定して、（ｓｔｅｐ３）で図８に示す関数Ｐａｒｓｅを呼び出す。この時、（ｓｔｅｐ３）において関数Ｐａｒｓｅの引数として局所変数ｐＨの値を渡す。
【００４５】
図８は関数Ｐａｒｓｅの処理の流れを示すフローチャートである。関数ＰａｒｓｅはパラメータｐＧを持ち、大域変数ｉＳｙｍと局所変数ｐＳ、ｂＭａｔｃｈを用いる。関数Ｐａｒｓｅが呼び出されると、呼び出し時に与えられた引数の値を（ｓｔｅｐ４）でパラメータｐＧに受け取る。
【００４６】
ついで、（ｓｔｅｐ５）で局所変数ｐＳにパラメータｐＧが指す構文グラフ中の位置を設定し、（ｓｔｅｐ６）で局所変数ｐＳの指すノードの持つ記号欄が終端記号であるかどうかを判定する。（ｓｔｅｐ６）において局所変数が終端記号を指す場合には、（ｓｔｅｐ７）で局所変数ｐＳの指す値が大域変数ｉＳｙｍの値と一致するかを判定する。（ｓｔｅｐ７）において局所変数ｐＳの指すノードのｓｙｍ欄が大域変数ｉＳｙｍと同じ文字を持っている場合には、（ｓｔｅｐ８）に進み、局所変数ｂＭａｔｃｈに値ＴＲＵＥを設定し、（ｓｔｅｐ９）で大域変数ｉＳｙｍに入力文字列中の次の文字を読み込む。
【００４７】
（ｓｔｅｐ７）において局所変数ｐＳの指すノードの文字が大域変数ｉＳｙｍの文字と異なる場合には、（ｓｔｅｐ１０）で局所変数ｐＳの指すノードのｓｙｍ欄がｅｍｐｔｙであるかを判定し、もしｅｍｐｔｙであれば（ｓｔｅｐ１１）で局所変数ｂＭａｔｃｈに値ＴＲＵＥを設定し、さもなければ（ｓｔｅｐ１２）で局所変数ｂＭａｔｃｈに値ＦＡＬＳＥを設定する。
【００４８】
（ｓｔｅｐ６）において局所変数ｐＳの指すノードが終端記号でない場合には、（ｓｔｅｐ１３）に進み、局所変数ｐＳの指す非終端記号を引数として関数Ｐａｒｓｅを再帰的に呼び出す。呼び出した結果の関数Ｐａｒｓｅのリターン値は局所変数ｂＭａｔｃｈに設定する。
【００４９】
（ｓｔｅｐ９）、（ｓｔｅｐ１１）、（ｓｔｅｐ１２）、（ｓｔｅｐ１３）のそれぞれの処理が終了したら、（ｓｔｅｐ１４）で局所変数ｂＭａｔｃｈの値がＴＲＵＥであるかを判定する。ｂＭａｔｃｈがＴＲＵＥの時には、（ｓｔｅｐ１５）で局所変数ｐＳの指すノードのｓｕｃ欄をたどり、ｓｕｃ欄の指すノードを局所変数ｐＳが指すように設定する。（ｓｔｅｐ１４）で局所変数ｂＭａｔｃｈの値がＦＡＬＳＥの時は、これまでのパタンの照合が失敗しているので、局所変数ｐＳのａｌｔ欄の指すノードを改めて局所変数ｐＳに設定し直す。
【００５０】
（ｓｔｅｐ１５）または（ｓｔｅｐ１６）で構文グラフの次のノードをたどる準備ができたら、（ｓｔｅｐ１７）で局所変数ｐＳが指す処理対象のノードが空（ＮＵＬＬ）かどうかを判定し、空でなければ（ｓｔｅｐ６）に戻って構文グラフに添ったパタン抽出処理を続ける。もし、（ｓｔｅｐ１７）で局所変数ｐＳが空を指していれば、（ｓｔｅｐ１８）で局所変数ｂＭａｔｃｈの値をリターン値として関数Ｐａｒｓｅから復帰する。
【００５１】
上記のような構成によれば、記号列抽出手段２は図５に示す形式で定義された仕様に従って作成された図６に示す形の構文グラフに基づいてパタン照合・抽出処理を行なうので、図５で与えた仕様を変更することで所望のパタンを抽出することができる。図５のようなパタンの仕様定義を複数個与えて、パタン抽出処理を複数回実行してもよく、ここで述べた方法は、ある特定のパタンを持った表現を扱う場合に有効である。
【００５２】
図９は、前述の方法による記号列抽出手段２の処理の具体例を示した図であり、入力文字列９０１「（１）箱の中の３個の１．５Ｖの電池を確認する。」に対して図６に対応する構文グラフをパタン定義９０２として表現抽出プログラム９０３が動作した場合、抽出パタン９０４として「（１）」、「３個」、「１．５Ｖ」を取り出し、残りの文字列９０５として「箱の中の電池を確認する。」を取り出したことを示している。
【００５３】
このとき、図６に示す付加プログラム６０２、６０３、６０４は、抽出したパタン９０４の「（１）」、「３個」、「１．５Ｖ」の取り出しや、取り出した情報のバッファへの格納、あるいは、抽出した表現に後続する助詞「の」の削除などの動作を行なう。
【００５４】
記号列抽出手段２の処理が終了すると、次に用語抽出手段４において記号列抽出手段２から受け取った、残りの文字列２０５である言語表現中に用語辞書管理手段３が保持している用語を抽出する。このとき用語の抽出方法は公知のキーワード抽出などの方法による。
【００５５】
事例候補検索手段６では、用語抽出手段４によって求めた用語の組みと同じものを含む事例データを事例ベース管理手段５で管理されている事例データ中から事例の候補として取り出す。このとき、用語を含む事例データの検索は公知のテキストデータ管理の方法による。
【００５６】
次に、事例絞り込み手段７では、事例候補検索手段６によって求めた事例候補の言語データと入力の言語表現との類似度を求める。このとき、類似度を求める方法としては、図１０に示すように入力の文字列と事例候補の文字列とのもっとも長く一致している共通の部分文字列（最長共通部分列）を求め、文字列全体の長さにおける最長共通部分列の割合を類似度として求めるものとする。
【００５７】
ここで、最長共通部分列（ＬＣＳ; Longest Common Subsequence）とは、与えられた２つの文字列の両方の文字列に対する部分文字列となっているもののうち、最長の部分文字列のことであり、その長さは、以下のようにして求めることができる。いま、文字列 Ａ = ａ1ａ2...ａm と文字列 Ｂ = ｂ1ｂ2...ｂn の最長共通部分列を求めることとする。まず文字列 ａ1ａ2...ａi と文字列 ｂ1ｂ2...ｂj の「ＬＣＳ長さ」を ｐ(i,j)とおく。このとき、以下の漸化式が成立する。
【００５８】
【数１】
0003780556.tif 000002
【００５９】
図１１の流れ図に従って、最長共通部分列の長さを求める方法を具体的に説明する。いま、文字列Ａの長さｍを変数ｉＭに、文字列Ｂの長さを変数ｉＮに設定してあるものとする。ここで、配列ｐ（ｉ，ｊ），ｉ＝０，．．，ｉＭ，ｊ＝０，．．，ｉＮを「ＬＣＳ長さ表」と呼ぶ。
まず、（ｓｔｅｐ１１０１）でＬＣＳ長さ表の第１行を０クリアし、（ｓｔｅｐ１１０２）でＬＣＳ長さ表の第１列を０クリアしておく。
【００６０】
次に、（ｓｔｅｐ１１０３）で文字バッファｃＡに文字列Ａの先頭の文字を設定する。（ｓｔｅｐ１１０４）でループ・カウンタ変数ｉに１を設定し、（ｓｔｅｐ１１０５）でループ・カウンタ変数ｉが文字列Ａの長さｉＭと等しいか小さい時には（ｓｔｅｐ１１０６）へ処理を移す。
【００６１】
（ｓｔｅｐ１１０６）では、文字バッファｃＢに文字列Ｂの先頭の文字を設定し、（ｓｔｅｐ１１０７）でループ・カウンタ変数ｊに１を設定する。（ｓｔｅｐ１１０８）でループ・カウンタ変数ｊが文字列Ｂの長さｉＮと等しいか小さい時には（ｓｔｅｐ１１０９）へ処理を移す。
【００６２】
続いて、（ｓｔｅｐ１１０９）で文字ｃＡと文字ｃＢとが等しいかどうかを判定し、等しい場合には（ｓｔｅｐ１１１０）でｐ(i,j) に ｐ(i-1,j-1)+1 を設定する。（ｓｔｅｐ１１０９）で文字ｃＡと文字ｃＢとが等しくない場合は、（ｓｔｅｐ１１１１）でｐ(i,j) にはｐ(i,j-1)とｐ(i-1,j)との大きい方の値を設定する。
【００６３】
（ｓｔｅｐ１１１０）あるいは（ｓｔｅｐ１１１１）でＬＣＳ長さ表の現在位置の値ｐ(i,j)の設定が終わると、（ｓｔｅｐ１１１２）で文字バッファｃＢに文字列Ｂの次の文字を設定する。（ｓｔｅｐ１１１３）では、ループ・カウンタ変数ｊを１増やし、（ｓｔｅｐ１１０８）に戻る。
【００６４】
（ｓｔｅｐ１１０８）でループ・カウンタ変数ｊが文字列Ｂの長さｉＮより大きくなった時には（ｓｔｅｐ１１１４）へ処理を移す。（ｓｔｅｐ１１１４）で文字バッファｃＡに文字列Ａの次の文字を設定し、（ｓｔｅｐ１１１５）でループ・カウンタ変数ｉを１増やして、（ｓｔｅｐ１１０８）に戻る。
【００６５】
（ｓｔｅｐ１１０５）でループ・カウンタ変数ｉが文字列Ａの長さｉＭより大きくなった時には（ｓｔｅｐ１１１６）へ処理を移す。（ｓｔｅｐ１１１６）では、ＬＣＳ長さ表のｐ（ｉＮ，ｉＭ）の位置に求まった値を文字列Ａと文字列Ｂとの最長共通部分列の長さとして変数ｉＬＣＳに設定する。こうして求めた最長共通部分列の長さをもとの文字列Ａまたは文字列Ｂの長さで割り算して類似度として用いることとする。
【００６６】
関連情報推論手段８では、事例絞り込み手段７で最も入力に類似していると判定された事例を選択事例として、その事例について関連情報を求める。図１２に事例データの一構成例を示す。この事例データは設計情報を事例として事例ベース管理手段５に蓄積した場合の事例の構成例であり、各項目は事例番号１２０１と事例文１２０２と関連部品情報１２０３と機械処理コード１２０４と参照図面情報１２０５の欄から構成されているものとする。
【００６７】
今、例えば、入力手段１に「ケース寸法（特殊寸法５０ｍｍ）」という入力があったとき、前述の事例候補絞り込み手段７までの処理で、図１２の事例番号０１００を持つ事例が選択されると、関連情報推論手段８では、事例文中に含まれる記号「＠１」に入力文中にある表現「５０」が対応するものと判断し、機械処理コードとして「ＣＯＤＥ＝００００５０」を生成する。
【００６８】
なお、上記の実施の形態では、パタン定義２０２に図３に示す方法を用い、これを図４に示す構文グラフに置き換えたものに対して、パタン抽出プログラム２０３が動作する方法を例示しているが、パタン定義方法は別の表現手段によっても良い。
【００６９】
解析内容表示手段９は、上述の一連の処理において、事例の候補や推論された結果等を利用者に表示し、利用者が必要と判断した時には、処理に介入できる役割を果たす。
【００７０】
図１３は、この発明の実施の形態１にかかるデータの流れを請求項１を構成する各手段に関連付けて示したものである。図１３において、１３０１は入力文の例、１３０２は記号列抽出手段２によって記号列が抽出された後の残りの文字列、１３１１は用語辞書管理手段３が管理する用語辞書、１３０３は記号列抽出手段２によって抽出された記号列、１３０４は用語抽出手段４によって抽出された用語索引である。
【００７１】
１３１２は事例ベース管理手段６によって管理されている事例ベースであり、図１２に例示したような内容を含む。１３０５は事例候補検出手段５によって事例ベース１３１２から取り出された、用語索引１３０４を含む事例候補、１３０６は事例絞り込み手段７によって入力にもっとも類似しているとして選択された事例である。
【００７２】
１３０７は関連情報推論手段８によって解析内容表示手段９に表示すべきとされた文、１００８は記号列抽出手段２によって抽出された記号列と事例に付加された情報とから関連情報推論手段８で推定された内容の例、１３０９は関連情報推論手段８で生成されたコード情報の例である。また、１３１０は解析内容表示手段９の表示の例である。
【００７３】
図１３では、まず、入力として文１３０１「本体（寸法５０ｍｍ）の中に３個の１．５Ｖの電池を取り付けよ。」が入力手段１で入力されると、入力手段１はその文字列を記号列抽出手段２に送る。記号列抽出手段２は、図５に例示したパタンが定義してあるとき、入力文１３０１から記号列１３０３を抽出し、その抽出した記号列１３０３と残りの文字列１３０２とを用語抽出手段４に受け渡す。用語抽出手段４では、用語辞書管理手段３を通じて用語辞書１３１１を検索し、文字列１３０２「本体（寸法５０ｍｍ）の中に電池を取り付けよ。」から、事例の用語索引１３０４となる「本体」、「電池」という文字列を取り出し、この用語索引１３０４と文字列１３０２および記号列１３０３を事例候補検索手段６へ受け渡す。
【００７４】
次に、事例候補検索手段６では、事例ベース管理手段５を通じて事例ベース１３１２から、用語索引１３０４「本体」、「電池」を含む事例を事例候補１３０５として取り出し、事例絞り込み手段７へ文字列１３０２および記号列１３０３と事例候補１３０５を受け渡す。
【００７５】
事例絞り込み手段７では、図１０および図１１の流れ図を用いて説明した方法によって、文字列１３０２に最も類似した事例１３０６を事例候補１３０５の中から選択する。図１３の例では、事例番号０００９を持つ事例が選択されたことを示している。事例絞り込み手段７からは、文字列１３０２および記号列１３０３と選択事例１３０６が関連情報推論手段８へ受け渡される。
【００７６】
関連情報推論手段８では、文字列１３０２および記号列１３０３と選択事例１３０６に付加された情報とで、例えば記号列１３０３の「３個」、「１．５Ｖ」と選択事例１３０６の関連情報「個数[個]，電圧[Ｖ]」とから、解析情報１３０８「個数：３個」、「電圧：１．５Ｖ」という情報を導き、事例文「本体（寸法＠ｍｍ）に電池を取付けよ」とその関連情報「ＣＯＤＥ＝Ａ０＠」、関連情報「部品１」と文字列１３０２「本体（寸法＠ｍｍ）に電池を取り付けよ」から解析情報１３０９「部品１  ＣＯＤＥ＝Ａ０５０」や、括弧内の文字列を取り除いた文字列１３０７「本体に電池を取り付けよ。」を生成する。関連情報推論手段８は、ここで求めた文字列１３０７や解析情報１３０８、１３０９を解析内容表示手段９に受け渡す。解析内容表示手段９では、例えば１３１０に示すように解析情報を表示する。
【００７７】
実施の形態２
図１４は実施の形態２を示す構成図であり、図に実施の形態１と同様又は相当する部分については同一符合を付しその説明を省略する。
【００７８】
図１４において、１０は箇条書き等の論理構造を持つ言語表現の入力を補助する構造入力補助手段であり、１１は箇条書き等の論理構造を持つ事例に対して事例候補の絞り込みを可能にする構造化事例絞り込み補助手段である。
【００７９】
上記のように構成された自然言語事例検索装置の動作を図１５と図１６、図１７の流れ図によって説明する。実施の形態２は、図１５において、入力手段１で箇条書きを入力する必要があった場合に、図１４の構造入力補助手段１０に対応するものとして、図１５のキーボード１５００にある機能キー１５０１や機能キー１５０２を使用する。
【００８０】
機能キー１５０１や機能キー１５０２の押し下げによってインデント１５２２が入力画面上でガイド表示され、そのガイド表示に従って箇条書きのリード部分や箇条書き項目を入力していくことができる。
【００８１】
図１６の流れ図でキー入力があり、まず（ｓｔｅｐ１６０１）で機能キー１５０１の押し下げと判断されると、（ｓｔｅｐ１６０２）でインデントが深くなっていくものとし、さもなければ（ｓｔｅｐ１６０３）で機能キー１５０２の押し下げであると判断されると、(ｓｔｅｐ１６０４)でインデントが浅くなっていくものとする。その他のキー入力の場合には（ｓｔｅｐ１６０５）で通常の文字の入力であるとみなして処理を行なう。
【００８２】
図１６の手順で入力された文字列の入力画面上に表示１５２１されている文字列は、対応する内部データの形式１５３０に変換される。ここで記号「＜」と記号「＞」とで囲まれたものを「タグ」と呼ぶ。図１５において、タグ１５３１とタグ１５３４とは、箇条書きであることを表わし、タグ１５３２は箇条書きのリード部分であることを表わし、また、タグ１５３３は箇条書きの箇条項目であることを表わしており、残りの部分が入力内容の文字列に対応する。
【００８３】
図１４の事例ベース管理手段５においても、図１５の内部構造１５３０と同様な形式で事例データが格納されているものとする。このとき、図１４の構造化事例絞り込み手段１１では、まず、図１７の（ｓｔｅｐ１７０１）でタグ１５３１「＜ＵＬ＞」とタグ１５３４「＜／ＵＬ＞」とによって箇条書きの範囲を識別する。
【００８４】
次に、（ｓｔｅｐ１７０２）において、タグ１５３２「＜ＬＨ＞」を調べることにより、箇条書きのリード部が存在するかどうかを判定する。（ｓｔｅｐ１７０２）で、箇条書きのリード部１５１１があるときには、（ｓｔｅｐ１７０３）で、実施の形態１において図１０および流れ図１１に示したと同様な方法で入力と事例の箇条書きのリード部同士の類似度を求め、（ｓｔｅｐ１７０４）の処理を行なう。
【００８５】
一方、（ｓｔｅｐ１７０２）で箇条書きのリード部が無いときには、すぐに（ｓｔｅｐ１７０４）の処理を行なう。（ｓｔｅｐ１７０４）では、最初の箇条項目を注目項目として設定する。
【００８６】
次に（ｓｔｅｐ１７０６）で注目箇条項目１５１２によって同様に実施の形態１で図１０および流れ図１１に示した方法で類似度を求め、（ｓｔｅｐ１７０７）で類似度を累積（例えば加算）していく。さらに（ｓｔｅｐ１７０８）で次の箇条項目を注目項目に設定し、（ｓｔｅｐ１７０５）からの処理を繰り返し、後続の箇条項目の類似度を求める。（ｓｔｅｐ１７０５）で後続の箇条項目がなくなったら、箇条書き項目を持つ一つの事例に関する類似度を求める計算が終了する。
【００８７】
なお、上記の実施の形態では、タグの表現方法があたかも固定的であるかのように図１５に例示したが、例えば文献（ＪＩＳ規格  文書記述言語ＳＧＭＬ  ＪＩＳ  Ｘ  ４１５１、１９９２年、日本規格協会）に示されるように文書構造として定義し直しが可能なタグであっても良い。
【００８８】
上記のような構成によれば、構造入力補助手段１０によって箇条書き等の構造を持つ複雑な言語表現の入力が容易になり、構造化事例絞り込み手段１１によって構造を持った事例データの絞り込みが可能になるため、技術文章のように複雑な内容を持つ事例の検索を行なう場合に有効である。
【００８９】
図１８は、この発明の実施の形態２にかかるデータの流れを、構成する手段に関連付けて示したものである。図１８において、１５３０は入力である構造を持つ文の例、１３１１は用語辞書管理手段が管理する用語辞書である。１８０１は用語抽出手段３によって抽出された用語索引である。
【００９０】
１３１２は事例ベース管理手段６によって管理されている事例ベースであり、図１２に例示したような内容を含む。１８０２は事例候補検出手段５によって事例ベース１３１２から取り出された、用語索引１８０１を含む事例候補、１８０３は事例絞り込み手段７によって入力にもっとも類似しているとして選択された事例である。また、１８０４は関連情報推論手段８によって解析内容表示手段９に表示すべきとした内容の例である。
【００９１】
図１８では、まず、入力として構造を持つ文１５３０が構造入力補助手段１０で入力されると、構造入力補助手段１０は入力手段１にその文字列を渡し、入力手段１はその文字列を記号列抽出手段２に送る。記号列抽出手段２は、予め設定されたパタンが定義に従って、入力の文字列１５３０から記号列を抽出するが、この例では特に抽出された記号列はなかったとして以下説明を行なう。このとき、文字列１５３０はそのまま用語抽出手段３に受け渡される。
【００９２】
用語抽出手段３では、用語辞書管理手段４を通じて用語辞書１３１１を使用し、文字列１５３０から、事例の用語索引１８０１となる文字列を取り出す。ここで、用語辞書１３１１に用語の表記の置き換えが定義してあれば、例えば「パソコン」を「ＰＣ」と置き換える処理も行われる。この用語索引１８０１と文字列１５３０を事例候補検索手段５へ受け渡す。
【００９３】
次に、事例候補検索手段６では、事例ベース管理手段５を通じて事例ベース１３１２から、用語索引１８０１を含む事例を事例候補１８０２として取り出し、事例絞り込み手段７へ文字列１５３０および事例候補１８０２を受け渡す。
【００９４】
事例絞り込み手段７では、上記図１５および図１７の流れ図を用いて説明した方法によって、文字列１５３０に最も類似した事例１８０３を事例候補１８０２の中から選択する。ここでは、事例候補１８０２の詳細な例示は省略したが、事例候補１８０２の各事例は選択事例１８０３と同様な事例から構成されている。事例絞り込み手段７からは、文字列１５３０と選択事例１８０３が関連情報推論手段８へ受け渡される。
【００９５】
関連情報推論手段８では、選択事例１８０３に関連情報１８０４「マニュアルｐ．３８」、「関連図面Ｆ４８」を付加して、解析内容表示手段９に受け渡し、解析内容表示手段９では、この関連情報を表示する。
【００９６】
実施の形態３
図１９は実施の形態３を示す構成図であり、図に実施の形態１と同様又は相当する部分については同一符合を付しその説明を省略する。図１９において、１２は新規事例登録手段である。
また、図２０は事例候補検索手段６の処理の流れ図の例、図２１は事例候補絞り込み手段７の処理の流れ図の例、図２２は新規事例登録手段１２の処理の流れ図の例である。更に、図２３と図２４は実施の形態３におけるデータの流れを示す図である。
【００９７】
上記のように構成された自然言語事例ベース検索装置の動作を図１９の構成図および図２０、図２１、図２２の流れ図に沿って説明する。実施の形態３は、図１９の構成図において、実施の形態１と同様に、入力手段１で検索する条件となる言語表現を受け取ると、記号列抽出手段２に入力を受け渡す。次に、記号列抽出手段２は、入力手段１から受け取った文字列からあらかじめ定義したパタンに沿って表現抽出プログラムを動作させて、抽出した記号表現パタンと残りの文字列を用語抽出手段４に渡す。
【００９８】
次に、用語抽出手段４において記号列抽出手段２から受け取った言語表現中に用語辞書管理手段３が保持している用語を抽出し、その用語を前記抽出記号表現パタンと前記残り文字列とともに事例候補検索手段６へ渡す。
【００９９】
事例候補検索手段６では、図２０の（ｓｔｅｐ２００１）において、用語抽出手段４によって求めた用語の組みと同じ用語を含む事例データを、事例ベース管理手段５で管理されている事例データ中から事例の候補として取り出す。このとき、（ｓｔｅｐ２００２）で用語抽出手段４によって入力から抽出した用語を含む事例データが事例候補として存在しなかった場合には、（ｓｔｅｐ２００４）で用語抽出新規事例登録手段１２に処理を移す。また、（ｓｔｅｐ２００２）で事例候補が得られている場合には、（ｓｔｅｐ２００３）に進み、事例絞り込み手段７へと処理を移す。
【０１００】
図２１によって、事例絞り込み手段７の動作を説明する。まず、事例候補検索手段６で幾つかの事例候補が見つかった場合には、事例絞り込み手段７の（ｓｔｅｐ２１０１）で、その事例候補の言語データと入力の言語表現との類似度を求める。このとき、（ｓｔｅｐ２１０２）で、すべての事例候補の類似度が予め設定しておいた境界値より低く、適用する事例としてはふさわしくない場合には、（ｓｔｅｐ２１０４）で新規事例登録手段１２に処理を移す。
【０１０１】
図２１の（ｓｔｅｐ２１０２）で境界値を越える事例を得た場合には、（ｓｔｅｐ２１０３）において最も類似度の高い事例を選択し、関連情報推論手段８へ処理を進める。
【０１０２】
図２２によって、新規事例登録手段１２の動作を説明する。新規事例登録手段１２では、まず、（ｓｔｅｐ２２０１）で、どの手段から呼ばれたかを判断し、事例候補検索手段６から呼ばれた場合には、（ｓｔｅｐ２２０２）で、用語抽出手段４が入力文から抽出した用語が索引として十分であるかユーザに確認させる。用語が十分でないとユーザが判断した場合には、（ｓｔｅｐ２２０４）で用語辞書管理手段３にユーザが現在の入力の言語表現のために必要な用語を追加する。
【０１０３】
（ｓｔｅｐ２２０３）で、用語抽出手段４が抽出した用語が十分である場合や（ｓｔｅｐ２２０４）の用語登録が終了すると（ｓｔｅｐ２２０５）へ処理を進める。
【０１０４】
一方、（ｓｔｅｐ２２０１）で、新規事例登録手段１２が事例絞り込み手段７から呼ばれたと判断された場合には、すぐに（ｓｔｅｐ２２０５）へ進む。（ｓｔｅｐ２２０５）では、ユーザが入力の言語表現に対して関連する情報を設定し、事例ベース管理手段５に図１２に示したような形式で入力と関連情報の組みを登録する。事例ベースへの登録は通常の公知の技術を用いて行なうものとする。なお、関連情報推論手段８と解析内容表示手段９の動作は実施の形態１と同様とする。
【０１０５】
上記のような構成によれば、事例候補検索手段６と事例候補絞り込み手段７の両方で、事例の候補が得られなかったり、検索した事例の候補が不適切と判断された場合に、入力の言語表現を新規の事例として容易に登録することができる。
【０１０６】
図２３は、この発明の実施の形態３において事例候補検索手段６から新規事例登録手段１２の処理を行なう場合のデータの流れを、請求項３を構成する各手段に関連付けて示したものである。図２３において２３０１は入力文の例、２３０３は記号列抽出手段２によって抽出された記号列、２３０２は記号列抽出手段２によって記号列が抽出された後の残りの文字列、２３０４は用語抽出手段３によって抽出された用語索引、１３１１は用語辞書管理手段３が管理する用語辞書である。
【０１０７】
１３１２は事例ベース管理手段５によって管理されている事例ベースであり、図１２に例示したような内容を含む。また、２３０５は利用者が新規事例登録に際して事例データに付加した関連情報の例、２３０６は利用者が新たに追加した用語の例である。
【０１０８】
図２３では、まず、入力として文２３０１「制御盤に群管理装置ＶＺ−１を取付ける。」が入力されると、入力手段１はその文２３０１の文字列を記号列抽出手段２に送る。記号列抽出手段２は、予め設定されたパタン定義に従って、入力の文字列２３０１から記号列２３０３を抽出し、その抽出した記号列２３０３と残りの文字列２３０２とを用語抽出手段４に受け渡す。
【０１０９】
用語抽出手段４では、用語辞書管理手段３を通じて用語辞書１３１１を検索し、文字列２３０２「制御盤に群管理装置を取り付ける。」から、事例の用語索引２３０４となる「制御盤」という文字列を取り出し、この用語索引２３０４と文字列２３０２および記号列２３０３を事例候補検索手段６へ受け渡す。
【０１１０】
次に、事例候補検索手段６では、図２０の（ｓｔｅｐ２００１）に示したように、事例ベース管理手段６を通じて事例ベース１３１２から、用語索引２３０４「制御盤」を含む事例を事例候補として取り出そうと試みる。しかし、用語索引２３０４「制御盤」を含む事例が得られなかったと図２０の（ｓｔｅｐ２００２）で判断された時には、（ｓｔｅｐ２００３）に示すように、（ｓｔｅｐ２００４）の新規事例登録手段１２へ処理を移し、図２３に示すように文字列２３０２と用語索引２３０４とおよび記号列２３０３を新規事例登録手段１２へ受け渡す。
【０１１１】
新規事例登録手段１２では、前記図２２の流れ図を用いて説明したように、まず図２２の（ｓｔｅｐ２２０１）で事例候補検索手段６から処理が移ってきた場合には、（ｓｔｅｐ２２０２）で用語抽出手段４で抽出した用語が十分であるか、否かをユーザに確認を促し、（ｓｔｅｐ２２０３）でユーザが十分ではないとした場合には、（ｓｔｅｐ２２０４）で、この例の場合には、新たな用語２３０６として「群管理装置」という文字列を用語辞書管理手段３に追加する。続いて、（ｓｔｅｐ２２０５）で、文字列２３０２を新たな事例文として、その文字列に関連した情報を事例ベース１３１２に追加するが、このとき、ユーザは記号列抽出手段２で抽出した記号列２３０３である「ＶＺ−１」を参照して、関連情報として「ＶＺ−＠」という一般的な情報を追加することができる。これは、本発明の請求項３の構成において、記号列抽出手段２と新規事例登録手段１２とを同時に備えていることの利点の一つである。
【０１１２】
図２４は、この発明の実施の形態３において事例絞り込み手段７から新規事例登録手段１２の処理を行なう場合のデータの流れを、請求項３を構成する各手段に関連付けて示したものである。図２４において、２４０１は入力文の例、１３１１は用語辞書管理手段３が管理する用語辞書、２４０２は記号列抽出手段２によって記号列が抽出された後の残りの文字列、２４０３は記号列抽出手段２によって抽出された記号列、２４０４は用語抽出手段３によって抽出された用語索引である。
【０１１３】
１３１２は事例ベース管理手段５によって管理されている事例ベースであり、図１２に例示したような内容を含む。また、２４０５は事例ベース１３１２から事例候補として検索された事例の例、２４０６は利用者が新規事例登録１２に際して事例データに付加する関連情報の例である。
【０１１４】
図２４では、まず、入力として文２４０１「制御盤に群管理装置ＶＺ−１を取付ける。」が入力されると、入力手段１は上記入力文２４０１の文字列を記号列抽出手段２に送る。記号列抽出手段２は、予め設定されたパタン定義に従って、入力の文字列２４０１から記号列２４０３を抽出し、その抽出した記号列２４０３「ＶＺ−１」と残りの文字列２４０２「制御盤に群管理装置を取付ける。」とを用語抽出手段４に受け渡す。用語抽出手段４では、用語辞書管理手段３を通じて用語辞書１３１１を検索し、文字列２４０２「制御盤に群管理装置を取り付ける。」から、事例の用語索引２４０４となる「制御盤」、「群制御装置」という文字列を取り出し、この用語索引２４０４と文字列２４０２および記号列２４０３を事例候補検索手段６へ受け渡す。
【０１１５】
次に、事例候補検索手段６では、事例ベース管理手段５を通じて事例ベース１３１２から、用語索引２４０３「制御盤」、「群制御装置」を含む事例を事例候補２４０５として取り出す。
【０１１６】
続いて、事例絞り込み手段７では、図２１の流れ図で説明したように、（ｓｔｅｐ２１０１）で入力の言語表現、ここでは文字列２４０２と事例候補２４０５の各事例との類似度を求める。このとき、事例候補２４０５の各事例と文字列２４０２とが大きく異なる場合には、（ｓｔｅｐ２１０２）で類似度が予め設定しておいた境界値を越えず、（ｓｔｅｐ２１０４）で新規事例登録手段１２へ処理を移すことになる。
【０１１７】
新規事例登録手段１２では、上記図２２の流れ図を用いて説明したように、まず図２２（ｓｔｅｐ２２０１）で事例絞り込み手段７から処理が移ってきた場合には、（ｓｔｅｐ２２０５）で、文字列２４０２を新たな事例文として、その文字列に関連した情報を事例ベース１３１２に追加するが、このとき、ユーザは記号列抽出手段２で抽出した記号列２４０３である「ＶＺ−１」を参照して、関連情報として「ＶＺ−＠」という一般的な情報を追加することができる。
これは、本発明の請求項３の構成において、記号列抽出手段２と新規事例登録手段１２とを同時に備えていることの利点の一つである。
【０１１８】
実施の形態４．
図２５は実施の形態４を示す構成図であり、図に実施の形態１と同様又は相当する部分については同一符合を付しその説明を省略する。図２５において、２は記号列抽出手段、９は解析内容表示手段、１３は付加情報参照手段である。また、図２６は付加情報参照手段の動作を示す流れ図であり、図２７は実施の形態４におけるデータの流れを示す例図である。
【０１１９】
以下、図２５と図２６の流れ図によってこの実施の形態の動作を説明する。
まず、図２５の記号列抽出手段２では、あらかじめ入力文中に含まれる参照表現（「図ＸＸＸ参照」等）をパタンとして定義しておき、これらの参照表現が入力の言語表現中に含まれる場合に抽出する。その他の動作は実施の形態１で述べたものと同様とし、ここで抽出した情報を付加情報参照手段１３まで受け渡す。
【０１２０】
付加情報参照手段１３では、図２６の（ｓｔｅｐ２６０１）で入力文から抽出した記号列があるかどうかを判定し、何もなければ処理を終了する。（ｓｔｅｐ２６０１）で入力文から抽出した記号列がある場合には、（ｓｔｅｐ２６０２）で入力文中に図面等の参照表現、例えば「図Ａ−１２８参照」という表現が含まれているかを判定する。（ｓｔｅｐ２６０２）で、もし入力文中から抽出した記号列に参照表現が含まれていなければ処理を終了する。（ｓｔｅｐ２６０２）で入力文中から抽出した記号列に参照表現が含まれていれば、（ｓｔｅｐ２６０３）で、図面のデータベースを参照して、このデータベースから前記「図Ａ−１２８」に対応する図面を取り出す。図面のデータベースから「図Ａ−１２８」に対応する図面を取り出したら、解析内容表示手段９にその図面を表示する。
【０１２１】
例えば、図１２に示した事例ベースの例の場合には、「筐体設計図面（図Ａ−１２８）を送付せよ」という入力に対して、参照図面１２０５として「図Ａ−１２８」という番号が取り出され、「筐体設計図面」を格納したデータベースから「図Ａ−１２８」に対応する図面が自動的に取り出され、解析内容表示手段９にその図面が表示されることになる。
【０１２２】
上記のような構成によれば、記号列抽出手段２と付加情報参照手段１３を同時に備えているために、特別に外部的な情報の関連付け手段を持たなくても、「図ＸＸＸ参照」等の入力文中に含まれる参照表現によって他のデータベース等に含まれる情報を参照する機能が提供されるので、入力の言語表現中に含まれる情報を有効に活用することができる。
【０１２３】
図２７は、本発明の実施の形態４にかかるデータの流れを請求項４を構成する各手段に関連付けて示したものである。図２７において、２７０１は入力文の例、２７０３は記号列抽出手段２によって抽出された記号列、２７０２は記号列抽出手段２によって記号列が抽出された後の残りの文字列、１３１１は用語辞書管理手段３が管理する用語辞書、２７０４は用語抽出手段３によって抽出された用語索引である。
【０１２４】
１３１２は事例ベース管理手段５によって管理されている事例ベースであり、図１２に例示したような内容を含む。２７０５は事例候補検出手段５によって事例ベース１３１２から取り出された、用語索引２７０４を含む事例候補であり、２７０６は事例絞り込み手段７によって入力にもっとも類似しているとして事例候補２７０５から選択された事例である。
【０１２５】
２７０７は図面情報を格納した外部データベース、２７０８は記号列抽出手段２によって抽出された記号列２７０３と事例に付加された情報とから関連情報推論手段８で推定された内容の例、２７０９は付加情報参照手段９で外部の図面データベース２７０７から取り出された図面の実体を示している。
【０１２６】
図２７では、まず、入力として文２７０１「筐体設計図面（図Ａ−１２８）を送付せよ。」が入力手段１で入力されると、入力手段１はその文字列２７０１を記号列抽出手段２に送る。記号列抽出手段２は、予め設定したパタン定義に従って入力文２７０１から記号列２７０３「図面Ａ−１２８」を抽出し、その抽出した記号列２７０３と残りの文字列２７０２「筐体設計図面□を送付せよ。」とを用語抽出手段４に受け渡す。ここで、記号「□」は、抽出した記号列２７０３があった位置を示す記号である。用語抽出手段４では、用語辞書管理手段３を通じて用語辞書１３１１を検索し、文字列２７０２「筐体設計図面□を送付せよ。」から、事例の用語索引２７０４となる「筐体」、「設計」という文字列を取り出し、この用語索引２７０４と文字列２７０２および記号列２７０３を事例候補検索手段６へ受け渡す。
【０１２７】
次に、事例候補検索手段６では、事例ベース管理手段５を通じて事例ベース１３１２から、用語索引２７０４「筐体」、「設計」を含む事例を事例候補２７０５として取り出し、事例絞り込み手段７へ文字列２７０２および記号列２７０３と事例候補２７０５を受け渡す。
【０１２８】
事例絞り込み手段７では、図１０および図１１の流れ図を用いて説明した方法によって、文字列２７０２に最も類似した事例２７０６を事例候補２７０５の中から選択する。図２７の例では、事例番号０００６を持つ事例が選択されたことを示している。事例絞り込み手段７からは、文字列２７０２および記号列２７０３と選択事例２７０６が関連情報推論手段８へ受け渡される。
【０１２９】
関連情報推論手段８では、文字列２７０２および記号列２７０３と選択事例２７０６に付加された情報とで、関連情報２７０８「部品１，部品２」を得る。この関連情報２７０８や記号列２７０３は解析内容表示手段９に表示されるが、同時に記号列２７０３が図面参照情報として、付加情報参照手段１３に受け渡され、付加情報参照手段１３は外部データベース２７０７から記号列２７０３の図面番号「図Ａ−１２８」を持つ図面の実体２７０９を取り出して、情報解析内容表示手段９に自動的に表示する。これは、記号列抽出手段２で抽出した記号列２７０３が、選択事例２７０６の関連情報と関係付けられて付加情報参照手段１３で利用されたことを例示している。
【０１３０】
【発明の効果】
本発明は、以上に説明したように構成されているので、以下に記載されるような効果が得られる。
【０１３１】
請求項１及び請求項５に記載の発明によれば、入力の言語表現中に記号表現や数量表現等を含む場合にも適切な事例を検索できるため、その結果として、自然言語を対象とする情報検索装置や方法において、技術文章のように複雑な表現を含む過去の言語事例の再利用性が増したり、これらを設計支援用途に活用したりすることで自動処理の可能性が向上するという効果が得られる。
【０１３２】
請求項２及び請求項６に記載の発明によれば、箇条書き等の論理構造を持つ言語表現の入力補助を可能とし、かつ、箇条書き等の論理構造を持つ事例に対して事例候補の絞り込みが可能であるから複雑な構造を持つ言語表現の事例や入力に対しても事例検索を可能とするという効果がある。
【０１３３】
請求項３及び請求項７に記載の発明によれば、新規事例の登録を可能とすることにより、事例候補検索手段や事例絞り込み手段で入力に対する所望の事例が得られないとき、効率良く新たな事例や用語の登録ができるという効果がある。
【０１３４】
請求項４及び請求項８に記載の発明によれば、付加情報を参照可能とすることにより、入力の言語表現中に含まれる図面参照等の参照表現によって他のデータベース等の参照が容易になるという効果がある。
【図面の簡単な説明】
【図１】  本発明の実施の形態１の自然言語事例検索装置の構成を示す図である。
【図２】  本発明の実施の形態１の記号列抽出手段の構成を示す図である。
【図３】  本発明の実施の形態１の記号列抽出手段のパタン定義の方法を示す図である。
【図４】  本発明の実施の形態１の記号列抽出手段のパタン定義の内部構造を示す図である。
【図５】  本発明の実施の形態１の記号列抽出手段のパタン定義の具体的な一例を示す図である。
【図６】  本発明の実施の形態１の記号列抽出手段のパタン定義の例である図５に対応する内部構造の例を示す図である。
【図７】  本発明の実施の形態１における記号列抽出手段の主プログラムの動作を示す流れ図である。
【図８】  本発明の実施の形態１における記号列抽出手段で用いる関数Ｐａｒｓｅの動作を示す流れ図である。
【図９】  本発明の実施の形態１における記号列抽出手段の処理の一例を示す図である。
【図１０】  本発明の実施の形態１における絞り込み手段において類似度を求める方法の例を示す図である。
【図１１】  本発明の実施の形態１における２つの文字列の間の最長共通部分列を求めるための動作を示す流れ図である。
【図１２】  本発明の実施の形態１における事例ベース管理手段において管理される事例ベースの構成の例を示す図である。
【図１３】  本発明の実施の形態１におけるデータの流れの例を示す図である。
【図１４】  本発明の実施の形態２の自然言語事例検索装置の構成を示す図である。
【図１５】  本発明の実施の形態２の構造を持つ言語データの入力方法およびその内部構造の例を示す図である。
【図１６】  本発明の実施の形態２の構造入力補助手段の動作を示す流れ図である。
【図１７】  本発明の実施の形態２の構造化事例絞り込み補助手段の動作を示す流れ図である。
【図１８】  本発明の実施の形態２のデータの流れを示す例図である。
【図１９】  本発明の実施の形態３の構成例を示す図である。
【図２０】  本発明の実施の形態３の事例絞り込み手段を示す図である。
【図２１】  本発明の実施の形態３の事例絞り込み手段の動作流れを示す図である。
【図２２】  本発明の実施の形態３の新規事例登録手段の動作流れを示す図である。
【図２３】  本発明の実施の形態３のデータの流れを示す例図である。
【図２４】  本発明の実施の形態３のデータの流れを示す例図である。
【図２５】  本発明の実施の形態４の付加情報参照手段の構成を示す図である。
【図２６】  本発明の実施の形態４の付加情報参照手段の動作を示す流れ図である。
【図２７】  本発明の実施の形態４のデータの流れを示す例図である。
【図２８】  従来の自然言語事例検索方式の構成例を示す図である。
【図２９】  従来の自然言語事例検索方式のウィンドウ画面の例を示す図である。
【図３０】  従来の数量／時間表現解析方式の構成例を示す図である。
【図３１】  従来の未登録語獲得方式の構成例を示す図である。
【符号の説明】
１：入力手段                              ２：記号列抽出手段
３：用語辞書管理手段                      ４：用語抽出手段
５：事例ベース管理手段                    ６：事例候補検索手段
７：事例絞り込み手段                      ８：関連情報推論手段
９：解析内容表示手段                    １０：構造入力補助手段
１１：構造化事例絞り込み補助手段        １２：新規事例登録手段
１３：付加情報参照手段
902   数量・記号パタン定義            903   表現抽出プログラム
1202   事例文                         1430   構造化事例の内部形式
【図１】
0003780556.tif 000003
【図２】
0003780556.tif 000004
【図３】
0003780556.tif 000005
【図４】
0003780556.tif 000006
【図５】
0003780556.tif 000007
【図６】
0003780556.tif 000008
【図７】
0003780556.tif 000009
【図８】
0003780556.tif 000010
【図９】
0003780556.tif 000011
【図１０】
0003780556.tif 000012
【図１１】
0003780556.tif 000013
【図１２】
0003780556.tif 000014
【図１３】
0003780556.tif 000015
【図１４】
0003780556.tif 000016
【図１５】
0003780556.tif 000017
【図１６】
0003780556.tif 000018
【図１７】
0003780556.tif 000019
【図１８】
0003780556.tif 000020
【図１９】
0003780556.tif 000021
【図２０】
0003780556.tif 000022
【図２１】
0003780556.tif 000023
【図２２】
0003780556.tif 000024
【図２３】
0003780556.tif 000025
【図２４】
0003780556.tif 000026
【図２５】
0003780556.tif 000027
【図２６】
0003780556.tif 000028
【図２７】
0003780556.tif 000029
【図２８】
0003780556.tif 000030
【図２９】
0003780556.tif 000031
【図３０】
0003780556.tif 000032
【図３１】
0003780556.tif 000033