説明

推論方法、推論システム、及びそのためのコンピュータプログラム

【課題】自然言語テキストを利用してPROLOG同様の推論を行う。
【解決手段】変数付自然言語文(VLANK文)について、シンボル同士の相対的位置関係の存在の類似性や位置関係の存在の結束性等、パターンとしての類似性により文間の論理的類似性を計算機により評価してPROLOG同様の推論ないし手続き的解釈を行う。ファクトの集合(知識源)、ルール、および、問い合わせ(実行命令)において、述語ないし関数とパラメータ(引数)とが区別されず、いずれもがユニフィケーション等において変数に代入されうる。VLANK文間のユニフィケーション(代入組)候補が複数存在する場合、各ユニフィケーション候補の有望度を、ユニフィケーションによりできる(PROLOGでは右辺の)VALNK文(ないしはVLANK文集合)と知識源内の1以上の文(離散的であってもよく情報源が別であってもよい)とのパターンとしての類似性により計算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特にインターネットの自然言語テキストや自然言語で記述されたルールを知識源として推論を行うため方法に関する。
【背景技術】
【0002】
自然言語等で非定型に記憶されたネット上の知識や情報等などを損失なく推論や検索に生かすべく、人間が問題を入力しやすくかつコンピュータ側でも問題の焦点を把握しやすい「ネット穴埋め問題」として問題を定式化し、その問題の解法や問題表現能力の改善を目指し、特開平10−307724、特開平11−250062、特開2003−256426などの研究成果を得てきた。
【0003】
しかし、特に特開2003−256426におけるような、複数の異なる変数を複数の文や型定義に振り分ける問題表現のしかたは、複雑な問題を入力するユーザーに多大な負荷をかけることになってしまう。
【0004】
また、問題表現文内の語順を知識源(例えば、下記非特許文献1)内の語順に一致しやすいように用いてくれるとは限らず、変数の型制約(ユーザー側からの制約)に相当する文(特に、問い合わせ文集合のデリミタで区切られた要素文(下記特許文献3を参照))においても必ずしも知識源(やはり、例えば、下記非特許文献1)内の型定義の用語に一致しやすい用語をもちいてくれるとは限らない。
【0005】
【特許文献1】特開10−307724号公報
【特許文献2】特開11−250062号公報
【特許文献3】特開2003−256426号公報
【非特許文献1】ホームページ「VLANK」http://www.vlank.com/
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明の目的は、以上の問題を解決して、インターネット上の非定型の自然言語テキストを用いたPROLOGレベルの高度な推論や検索、ひいては登録などのトランザクションを実用的に行うため、問い合わせを簡易に省力化するとともに、問い合わせやファクト(記事)に多少の表記ゆれがあったとしてもロバストに推論できる処理方法、システムないしコンピュータプログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明は、以上の課題を解決するため、PROLOG等に存在する述語、定数(アトム、リスト、構造体も含みうる)、変数、関数、パラメータその他のリテラルに相当するものの種類、関係ないし構造が、コンマや大中小括弧のネストといった所定の予約されたデリミタや形式的配置により明示されることを要しない、自然言語等の文であって0種類以上の各0回以上出現する変数とそれ以外のシンボルとは区別できる文(以降、VLANK文と呼ぶ)について、VLANK文内の、シンボル同士の相対的位置関係の存在の類似性や該位置関係の存在の結束性等、パターンとしての類似性によりVLANK文間の論理的類似性を電子計算機により評価して、後向き推論、前向き推論および手続き的解釈、又はこれらのいずれかを行う処理方法を提供する。
これにより、問い合わせ文、ルール(ホーン節など)、ファクトについて、使用できる述語の表現方法や変数の個数などをあまり気にせずに、とりあえず入力して記憶することができ、PROLOGのような高度な自動推論(一階述語論理レベル)を一般の人が手軽に使える(さらにルールやファクトの登録もできる)ようになり、社会的な推論に利用できる知識の量が増大し、ひいては知識獲得のボトルネックが解消する。
たとえば、文間の論理的類似性の評価は、上記特許文献1、2ないし3に記載された方法を用いることができ、ファクトの登録は上記非特許文献1のような方法を用いることで、ファクトの検索を効率化することもできる。なお、PROLOG処理系の実装および類似性評価アルゴリズムの実装については、公知の文献や上記特許文献を参照することにより、当業者が容易に行うことができ、ここでは詳述しない。
【0008】
本発明の処理方法では、シンボル間の、定義された意味的類似性もしくは所定のアルゴリズムより計算される意味的類似性により、シンボル選択による表記のゆらぎ等を吸収して前記VLANK文間の論理的類似性の計算をより頑強にすることができる。
これにより、ちょっとした用語選択の表記ゆれによる知識適用の失敗を更に精度よく回避することができる。
たとえば、各用語について類義語とその類似度の組からなるリストへのポインタを記憶した辞書をメモリに格納することにより実現することができる。詳細な例、計算方法などは、上記特許文献1、3を参照されたい。
【0009】
本発明の処理方法では、前記VLANK文を対象に、PROLOGと同様の記法(ホーン節、カットオペレータ、not等)および処理(知識解釈)手順を適用して、PROLOGにおけると同様の後向き推論、((確信度つきまたは付加要件付)assert等の)前向き推論、および(ユーザー問い合わせ、経過・結果の出力、他言語処理系(perl等)の起動等)手続き的解釈、又はこれらのいずれかを行うことができる。
これにより、完全性、健全性、停止性等のすでに証明された有利な枠組みを援用することが可能になり、さらには、他のアプリケーションとのトランザクションによるリンクなどが可能となる。しかも、非定型のVLANK文という気軽なインターフェイスによって行えるようになるため、PROLOGで実現可能であった推論のクラス(一階述語論理の一部)およびこれと連動したアプリケーションサービスなどの利用を多くの人が手軽に行えるようになる。
たとえば、前記文間の論理的類似性をPROLOGにおける述語の一致とおきかえることにより、健全性の一部は失われるが、一定の信頼性をもって可能となる。ただし、多段階に定義(算出)した文間の論理的類似度を、再帰的に継承することにより、ユーザーに提示した結果(TRUEやFALSE、変数X、Yの値の組の集合等)の信頼性の度合いを提示することが可能となり、健全性をある程度補償することができる。
【0010】
本発明の処理方法では、ファクトの集合(インターネット上の複数のサイトに分散格納された知識源等)、ルール(ホーン節等)、および、問い合わせ(実行命令等)において、述語ないし関数とパラメータ(引数)とが区別されず、いずれもがユニフィケーション等において変数に代入することができる。
これにより、問い合わせやルールにおける述語や格要素の全体的・部分的な欠如を自動で補完することができ、さらに使い勝手がよくなり、推論系としての完全性ないし検索系の網羅性(再現率)が向上する。
たとえば、ある文aの変数Xに、その文aとユニフィケーションしようとする別の文bの一部を代入してできる候補をピックアップする場合には、その変数Xに代入できる候補を公知の正規表現ライブラリなどにより容易に抽出することができる。ただし、後述するように文bに変数Y等が含まれる場合でも変数Y(ないしその前後の定数シンボル)ごと変数Xに代入してもよく、ついで再帰的に(ただし、特に変数Yが埋められてない候補と同水準の有望度競合候補として)変数Yを埋める候補を同様に抽出することもできる。なお、変数Yに代入するべき値が明らかな場合等は、同一の処理文脈(枝狩りが介在しない単一フェーズ)内で、文aと文bとで双方向に繰り返しマッチングをとることにより探索を効率化することができる。また、埋める(代入)の候補が複数残る場合には、いずれも記憶して、後述する有望度の計算、枝刈、および再帰的なホーン節の適用ないしユニフィケーションの対象とすることができる。なお、かかる有望度の計算および枝刈の手法については、上記特許文献1を参考にされたい。
【0011】
本発明の処理方法では、VLANK文間(例えば、(1)ホーン節左辺の文「Xはカレーライスが好き。」と問い合わせ文「太郎はYが好き。」との文間、(2)ホーン節左辺の文「XはYが好き。」と問い合わせ文「太郎はカレーライスが、次郎はラーメンが好き。」との文間)のユニフィケーション(代入組)候補が複数(すなわち代入組候補の集合が)存在する場合(例えば上記(2)では、ユニフィケーション候補α(X=「太郎」,Y=「カレーライスが、次郎はラーメン」)と、ユニフィケーション候補β(X=「太郎はカレーライスが、次郎」,Y=「ラーメン」)と、がある)、
各ユニフィケーション候補の有望度を、ユニフィケーションによりできる(ホーン節では右辺の)VALNK文(ないしはVLANK文集合)(例えば、(2)のホーン節右辺が「XとYはいつも一緒。」,「Yは食べ物である。」のとき、ユニフィケーション候補αでは「太郎とカレーライスが、次郎はラーメンはいつも一緒。」,「カレーライスが、次郎はラーメンは食べ物である。」となる一方、ユニフィケーション候補βでは「太郎はカレーライスが、次郎とラーメンはいつも一緒。」,「ラーメンは食べ物である。」となる)と、知識源内の1以上の文(離散的(例えば別の段落)であってもよく情報源が別(サイトAとサイトB)であってもよい)(例えば「ラーメンこそ食べ物である。」)との、文内シンボル(字や形態素、自立語等)同士の相対的位置関係の存在の類似性や該位置関係の存在の結束性(同一の格構造内、文内、段落内、情報源内)等、パターンとしての類似性により(総合的に)計算することができる。
これにより、知識源、情報源内の情報を損失なく頑強にいかしながら、より適した解(ユニフィケーション候補)を優先的に探索することができる。
たとえば、評価しようとする文と情報源のファクトとなる文とのパターンとしての類似度の、各文にわたる最小値や平均値や積等を、文集合(後述する解モデル候補)としての総合的な有望度とすることができる。
【0012】
また、前記有望度をユーザーに示すことができる。
これにより、先に説明したとおり、健全性の欠如をある程度補完して、ユーザーが有望な解から順番に自分で検証したりするのを補助することができる。
ユーザーへの有望度の表示は、推論の途中でもよく、ユーザーが手動で枝狩りを制御したりするのを助けることもできる。また、抽出したユニフィケーションをもとにシェルコマンドなどを起動して外部のアプリケーションにリンクする場合にも、有望度を添付することができ、また、起動に際して有望度をユーザーに表示して起動するかどうかを確認することもできる。
【0013】
また、前記有望度により枝刈を行い、一部のユニフィケーション候補(例えば前記ユニフィケーション候補α)については、再帰的なユニフィケーション(ユニフィケーション候補によりできるVLANK文(集合の要素文)への別のホーン節(ルール)の適用ないしはできるVLANK文内に残った変数へのシンボル(列)の全体的又は部分的代入)を行わないようにすることができる。
これにより、解の探索を効率化することができ、また、本発明によるロバストシステムへの一定の停止性の導入(例えば、探索経路の記憶と再帰的ユニフィケーション(ないしホーン節の適用)への敷居値の設定による)を可能にする。
【0014】
すなわち、また、本発明の処理方法では、いわゆるバックトラック(ホーン節右辺の最左の文からの深さ優先探索のユニフィケーション等)を行わない一方、(文間・変数間においては平等な(すなわち、どの文ないし変数から始めたものも同一の処理文脈で(下で定義する)解モデル候補となる))
(再帰的)ユニフィケーション(すなわち変数への全体的又は部分的代入((中央への)部分的代入により変数の識別子を増やすように構成した場合(X(元の変数識別子)=>X1(新しい変数識別子);w(定数);X2(別の新しい変数識別子)等)も含む))
ないし
(再帰的な)ホーン節の適用
によって各処理文脈でホーン節右辺により生成ないし追加されるVLANK文集合を、一体となった解モデル候補として記憶し、有望度の高い文集合から構成される(総合的に)有望な解モデル候補を、
(当該親の解モデル候補(ないし、最初のルート解モデル候補(すなわち(単数又は複数のVLANK文からなる)ユーザー問い合わせ自体))と併せて、(親子の関係を問わず)一括して有望度の比較および枝刈の対象とする等)幅優先探索する、ことができる。
これにより、停止性が保証されない場合でも一定の完全性を与えることができ、有望な解の集合をある程度網羅的にユーザーに提供することができる。
たとえば、幅優先探索は、解モデル候補とその総合的有望度と展開したかどうかを示すフラグとからなる3つ組を文字列の形式で記憶し、ユーザー問い合わせからはじまる各展開(ユニフィケーションないしホーン節の適用)によってできるすべての解モデル候補を一展開ごとに連続した順序で再帰的に展開されるよう(FIFOキューなどの形式で)記憶することにより実現できる。なお、上述したように、展開の前に解モデル候補の有望度の評価を行い再帰的展開をやめる(枝狩りする)ことなども明らかに可能である。
【0015】
また、(再帰的)ユニフィケーションないし(再帰的な)ホーン節の適用の結果、既に親の解モデル候補に存在するVLANK文と同じVLANK文(特に変数の識別子も同じもの)が解モデル候補の要素文(一要件)として追加されそうになったときは、これを追加しないようにすることができる。
これにより、無用な有望度の評価をさけ、応答時間を短縮するとともに、停止性の保証が容易になる。
【0016】
また、前記解モデル候補内の(複数の文において複数回登場する同一の)変数の全体又は部分を、(特にインターネットに存在する)(非定型の)知識源中の同一のシンボル(ただし以降定数と識別されるもの)により(同時に)埋めて生成しうる解モデル候補も、前記探索の対象とすることができる。
これにより、用語が後ろ向き推論におけるサブゴールの用語と直接マッチしない等の場合でも、前述したロバスト性確保の仕組みにより、インターネット中の知識(シンボルの並びの存在)を推論に生かすことができる。
なお、インターネット中のすべてのシンボルがわかっている場合には、すべてのシンボルを1シンボルづつ、変数の全体ないしは部分として代入し有望な解モデル候補のみを残すようにしてもよい。
【0017】
また、前にもふれたとおり、前記(再帰的)ユニフィケーションにおいて、変数(として識別されるシンボル)を含むシンボル列を、別の変数へ代入してできる、文ないし解モデル候補をも探索の対象とすることができる。
これにより、本発明によるパターンとしてのユニフィケーションのアルゴリズムが容易になる。
【0018】
また、本発明による処理方法では、ホーン節等のルール自体もインターネット上等オープンな知識源から検索して適用し、生成される解モデル候補を一括して幅優先探索の対象とすることができる。
これにより、多くの知識提供者の知識を一括して推論に用いて競争力のある解を捻出することができ、周囲や社会のために問題を発見した人が報われやすくなる。
たとえば、インターネット上にちらばったテキスト形式のホーン節をHTTPなどで必要に応じて集めてキャッシュし現在の処理文脈に適用することができる。
【0019】
また、本発明は、前記処理方法の一部又は全部をコンピュータに実行させるためのコンピュータプログラムを提供する。
【発明の効果】
【0020】
インターネット上にちらばった非定型の自然言語文など知識・情報源として用いてロバストな推論を行うことを可能にする。また、その問い合わせのためのユーザーの入力が省力化される。網羅的に解を探索するための必要な問題の展開(ブレークダウン)や置き換えが自動的に行われる。
【発明を実施するための最良の形態】
【0021】
最良の実施形態では、クライアントサーバー形式のインターネット推論サービスとして実現する。
また、上記特許文献3で示したように、互いに疎な(ユニフィケーションされることのない変数を含む)解モデル候補を部分問題として、複数のサーバーに下請けさせて分散処理するように構成されている。
各サーバーはインターネット上のテキストを周期的に大量にあつめてキーワードによってインデックスをつけて管理している。
【0022】
また、どこのサイトのどのドキュメントのどの段落からあつめたかを更新日付と併せて記憶しており、一定の信頼度しかないことを別途定義したサイトや古いドキュメントからあつめたファクトやルールについては、それを根拠とした解モデル候補の有望度が信頼度の低さに応じて低くなるようにプログラミングされている。
また、同一の段落から集めた複数の文を根拠とする解モデル候補のほうが、異なる段落、異なるドキュメント、異なるサイトから集めた複数の文を根拠とする解モデル候補よりも有望度が高くなるようにプログラミングされている。
また、そもそも、ユーザー問い合わせ自体や環境変数により、知識源のロケーション指定を行うことができ、推論に使用するネットワーク知識源(メモリ、インターネット)を指定ないし限定することもできるようになっている。
また、結束要求子を、ホーン節における右辺の文の連結の前に記載することができ、ファクトやルールを参照する際のそれらの結束性を要求することができる。この結合子で結合される文を中括弧「{}」などでネストさせて、結束性の要求を階層的に定義することも可能にしている。たとえば、ホーン節の右辺が、D{文a,文b,S{文c,文d}}である場合、右辺が成立するためには、文a、b、c、dが同一ドキュメントに結束して存在していなければならず、しかもcとdは同一段落中に結束して存在してなければならない。
【0023】
また、assert文に信頼度が定義できるようになっており、一定のファクトから一定の上記信頼度を有する別のファクトが、ホーン節の手続き的解釈による前向き推論により自動生成されるようになっている。この場合、assert文に定義された信頼度のほか、ヘッドと単一化されたファクト自体の信頼度もかけあわされて前向き推論によって生成されるファクトの信頼度が計算される。
また、問い合わせを、小前提(重文でもよい)と、質問とに分けて入力することができ、小前提とこの小前提から前記assert文により生成されたファクトも知識源として問いに答えるようにプログラミングされている。
なお、問い合わせは、真偽を問う定数であってもよく、解の存在を問う変数入りのものであってもよい。いずれの問いあわせにも、ファクトのほか、「変数入り」のVLANK文がヘッド部となったホーン節が適用され、ユニフィケーション(単一化)される。
【0024】
表記ゆれを吸収するための、簡便な記法として「;」(セミコロン)がORをあらわすように定義されていおり、同意語の言葉の集合を一つの言葉に標準化するような基礎ルールが存在する。
また、文中の格要素等の順序のゆれを吸収するため、上記特許文献3で示したと同様の「()」のネスト表記がおこなわれ、自動展開してユニフィケーションが行われる。
また、上記特許文献1で示した反意語の影響によって解モデル候補の有望度を下げる仕組みが導入されている。
【0025】
また、ホーン節右辺の各文につき、ファクトのマッチング(ユニフィケーション)だけでなく、他のホーン節のヘッドとのマッチング(ユニフィケーション)が不完全(変数が残るだけでなく、ユニフィケーションしえないもの)であっても、その不完全な度合いを計算して、その度合いと当該別のホーン節の右辺とを関連づけて、新しい右辺とするようにプログラミングされており、その度合いが解モデル候補としての有望度に反映されるようになっている。たとえば、問い合わせ「?a」、ホーン節「a:−b,c.」、ホーン節「c’:−d,e.」があり、cとc’が単一化しえないときでも、その一致度(例えば80%)に応じて「b,d(80%),e(80%)」という解モデル候補が生成され得、この80%がこの解モデル候補の有望度の計算に反映される。
【実施例1】
【0026】
図1は、本発明の処理方法の一実施形態を示した説明図である。自然言語による一つの問いと、VLANK文によって構成された5つのホーン節と、異なるサイト(インターネット情報源)に異なる著者によって記載された3つの自然言語知識とを略記している。
【0027】
従来の方法(上記特許文献1、2等)では、この問いの内容は、3つのネット情報源の自然言語文と比較されて、似たパターンが存在しない場合、「偽」という答えないしは0.000033といった「偽」の意味に近い有望度が、推論(検索)システムによって返された。また、上記特許文献3では、規則1の右辺をユーザーが手入力しなければならなかった。
しかし、本発明による処理方法では、ネット情報源1、2、3とのパターンマッチの結果が所定の敷居値以下であるため失敗した後、規則1のホーン節のヘッド部と単一化(ユニフィケーション)されて、ボディ部のXとYにそれぞれ「晃生」と「圭介」が代入され、
------
解モデル候補1:100%「晃生はZの子である。,Zと圭介は兄弟又は姉妹である。,晃生は男性である。.」
------
という解モデル候補が生成される。さらにこれは、再帰的な規則適用の対象となり、
------
解モデル候補2:100%「{晃生はYの息子である。;晃生はYの娘である。},Zと圭介は兄弟又は姉妹である。,晃生は男性である。.」
解モデル候補3:100%「晃生はZの子である。,{Zと圭介は兄弟である。;圭介とZは兄弟である;Zと圭介は姉妹である。;圭介とZは姉妹である。},晃生は男性である。.」
解モデル候補4:100%「晃生はZの子である。,Zと圭介は兄弟又は姉妹である。,{晃生は男の子である。;晃生はYの息子である。;晃生はおじいちゃんである。}.」(なお、ホーン節の適用において、変数名(識別)がかさなるときは公知技術により別名にエスケープされる)
・・・
------
等が同時に生成されて、幅優先探索の対象となり有望度が計算され枝刈(OR「;」の縮約も含む)が行われる。
この場合、結局、解モデル候補2に、ネット情報源1、ネット情報源3、規則4(+ネット情報源3)が適用されて、最も有望な解モデル候補N「晃生は栄美子の息子である。,栄美子と圭介は兄弟である。」が探索され、システムは問いに対して「真」を返す。
【0028】
図2は、本発明の処理方法の一実施形態を示した説明図である。この例では、問いについて表記ゆれ(下線)が生じている。また、規則は、格要素の語順のゆれを吸収するためネストした括弧による記法を採用している。
【0029】
この場合、解モデル候補の集合は図1と異なり、表記ゆれによるパターンのマッチ度の不十分さが反映された、以下のような解モデル候補が生成される。
------
解モデル候補1:80%「晃生はZの子である。,Zと圭介は兄弟又は姉妹である。,晃生は男性である。.」
解モデル候補2:80%「{晃生はYの息子である。;晃生はYの娘である。},Zと圭介は兄弟又は姉妹である。,晃生は男性である。.」
解モデル候補3:80%「晃生はZの子である。,{Zと圭介は兄弟である。;圭介とZは兄弟である;Zと圭介は姉妹である。;圭介とZは姉妹である。},晃生は男性である。.」
解モデル候補4:80%「晃生はZの子である。,Zと圭介は兄弟又は姉妹である。,{晃生は男の子である。;晃生はYの息子である。;晃生はおじいちゃんである。}.」(なお、ホーン節の適用において、変数名(識別)がかさなるときは公知技術により別名にエスケープされる)
...
------
すなわち、今後の再帰的なユニフィケーション等によっても有望度は80%に抑えられるが、完全にマッチした場合と同様に再帰的な推論が可能であり、完全にマッチしてできた解モデル候補と同一の土俵で有望度評価および枝刈がなされ、ロバストな推論が可能となる。
この場合、図1の場合と同様の規則およびネット情報源が適用されて、80%という有望度が返される。なお、推論の経路をトレースしておいて結果(有望度)と同時に示すことも当然可能であり、この場合、ユーザーはこの経路の情報から、問いの答えを「真」と判断することができる。
【0030】
図3は、本発明の処理方法の一実施形態を示した説明図である。この例では、問い自体が最初から変数(X)を含んだVLANK文である。この場合は、PROLOGにおけると同様に、Xに代入できる適切な値があれば、そのすべての値をユーザーに示すことがこの推論システムの処理内容となる。なお、表示方法自体については、上記特許文献1を参照さたい。
【0031】
この場合、図1、2の場合と同様に規則1が適用されるが、規則1の右辺のXには「晃生」が、Yには変数「X」が代入されることになる。この場合はXが「晃生」による全体代入によりすでに消えているため、Yに代入される「X」は「X1」などとエスケープされることはない。ただし、Xに「晃X」などと部分代入(上記特許文献1を参照)される場合には、「X1」「X2」などとエスケープされる必要がある。
【0032】
生成される解モデル候補の集合は、図2の場合とほとんど同じであるが、システムは、ユニフィケーションにあたって、どの変数にどの値を代入したかを、再帰的に記憶しており、最も有望な解モデル候補N:80%「晃生は栄美子の息子である。,栄美子と圭介は兄弟である。」の生成にあたり、Xに「圭介」が代入されたことをメモリに記憶しており、この記憶から、80%「X=圭介」という解を、ユーザーに返すことができる。
【産業上の利用可能性】
【0033】
本発明はインターネット中の知識を対象とした一般ユーザーによる推論、検索に利用することができる。
【図面の簡単な説明】
【0034】
【図1】本発明の処理方法の一実施形態を示した説明図である。
【図2】本発明の処理方法の一実施形態を示した説明図である。
【図3】本発明の処理方法の一実施形態を示した説明図である。
【符号の説明】
【0035】
問い ユーザーの入力内容
規則1、規則2、規則3、規則4、規則5 本発明の一実施例によるホーン節
ネット情報源1、ネット情報源2、ネット情報源3 インターネット上の複数のサイトに分散された知識

【特許請求の範囲】
【請求項1】
PROLOG等に存在する述語、定数(アトム、リスト、構造体も含みうる)、変数、関数、パラメータその他のリテラルに相当するものの種類、関係ないし構造が、コンマや大中小括弧のネストといった所定の予約されたデリミタや形式的配置により明示されることを要しない、自然言語等の文であって0種類以上の各0回以上出現する変数とそれ以外のシンボルとは区別できる文(以降、VLANK文と呼ぶ)について、VLANK文内の、シンボル同士の相対的位置関係の存在の類似性や該位置関係の存在の結束性等、パターンとしての類似性によりVLANK文間の論理的類似性を電子計算機により評価して、後向き推論、前向き推論および手続き的解釈、又はこれらのいずれかを行うことを特徴とする処理方法。
【請求項2】
シンボル間の、定義された意味的類似性もしくは所定のアルゴリズムより計算される意味的類似性により、シンボル選択による表記のゆらぎ等を吸収して前記VLANK文間の論理的類似性の計算をより頑強にした請求項1に記載の処理方法。
【請求項3】
前記VLANK文を対象に、PROLOGと同様の記法(ホーン節、カットオペレータ、not等)および処理(知識解釈)手順を適用して、PROLOGにおけると同様の後向き推論、((確信度つきまたは付加要件付)assert等の)前向き推論、および(ユーザー問い合わせ、経過・結果の出力、他言語処理系(perl等)の起動等)手続き的解釈、又はこれらのいずれかを行う、請求項1又は2に記載の処理方法。
【請求項4】
ファクトの集合(インターネット上の複数のサイトに分散格納された知識源等)、ルール(ホーン節等)、および、問い合わせ(実行命令等)において、述語ないし関数とパラメータ(引数)とが区別されず、いずれもがユニフィケーション等において変数に代入されうる、請求項1から3のいずれか一項に記載の処理方法。
【請求項5】
VLANK文間(例えば、(1)ホーン節左辺の文「Xはカレーライスが好き。」と問い合わせ文「太郎はYが好き。」との文間、(2)ホーン節左辺の文「XはYが好き。」と問い合わせ文「太郎はカレーライスが、次郎はラーメンが好き。」との文間)のユニフィケーション(代入組)候補が複数(すなわち代入組候補の集合が)存在する場合(例えば上記(2)では、ユニフィケーション候補α(X=「太郎」,Y=「カレーライスが、次郎はラーメン」)と、ユニフィケーション候補β(X=「太郎はカレーライスが、次郎」,Y=「ラーメン」)と、がある)、
各ユニフィケーション候補の有望度を、ユニフィケーションによりできる(ホーン節では右辺の)VALNK文(ないしはVLANK文集合)(例えば、(2)のホーン節右辺が「XとYはいつも一緒。」,「Yは食べ物である。」のとき、ユニフィケーション候補αでは「太郎とカレーライスが、次郎はラーメンはいつも一緒。」,「カレーライスが、次郎はラーメンは食べ物である。」となる一方、ユニフィケーション候補βでは「太郎はカレーライスが、次郎とラーメンはいつも一緒。」,「ラーメンは食べ物である。」となる)と、知識源内の1以上の文(離散的であってもよく情報源が別であってもよい)(例えば「ラーメンこそ食べ物である。」)との、文内シンボル同士の相対的位置関係の存在の類似性や該位置関係の存在の結束性等、パターンとしての類似性により(総合的に)計算することを特徴とする、請求項1から4のいずれか一項に記載の処理方法。
【請求項6】
前記有望度をユーザーに示すことを特徴とする、請求項5に記載の処理方法。
【請求項7】
前記有望度により枝刈を行い、一部のユニフィケーション候補(例えば前記ユニフィケーション候補α)については、
再帰的なユニフィケーション(ユニフィケーション候補によりできるVLANK文(集合の要素文)への別のホーン節(ルール)の適用ないしはできるVLANK文内に残った変数へのシンボル(列)の全体的又は部分的代入)を行わないことことを特徴とする、請求項5に記載の処理方法。
【請求項8】
いわゆるバックトラック(ホーン節右辺の最左の文からの深さ優先探索のユニフィケーション等)を行わない一方、
(文間・変数間においては平等な(すなわち、どの文ないし変数から始めたものも同一の処理文脈で(下で定義する)解モデル候補となる))
(再帰的)ユニフィケーション(すなわち変数への全体的又は部分的代入((中央への)部分的代入により変数の識別子を増やすように構成した場合(X(元の変数識別子)=>X1(新しい変数識別子);w(定数);X2(別の新しい変数識別子)等)も含む))
ないし
(再帰的な)ホーン節の適用
によって各処理文脈でホーン節右辺により生成ないし追加されるVLANK文集合を、一体となった解モデル候補として記憶し、
有望度の高い文集合から構成される(総合的に)有望な解モデル候補を、
(当該親の解モデル候補(ないし、最初のルート解モデル候補(すなわち(単数又は複数のVLANK文からなる)ユーザー問い合わせ自体))と併せて、(親子の関係を問わず)一括して有望度の比較および枝刈の対象とする等)幅優先探索する、
ことを特徴とする、請求項5に記載の処理方法。
【請求項9】
(再帰的)ユニフィケーションないし(再帰的な)ホーン節の適用の結果、既に親の解モデル候補に存在するVLANK文と同じVLANK文(特に変数の識別子も同じもの)が解モデル候補の要素文(一要件)として追加されそうになったときは、これを追加しないことを特徴とする、請求項1から8のいずれか一項に記載の処理方法。
【請求項10】
前記解モデル候補内の(複数の文において複数回登場する同一の)変数の全体又は部分を、(特にインターネットに存在する)(非定型の)知識源中の同一のシンボル(ただし以降定数と識別されるもの)により(同時に)埋めて生成しうる解モデル候補も、前記探索の対象とすることを特徴とする、請求項8に記載の処理方法。
【請求項11】
前記(再帰的)ユニフィケーションにおいて、変数(として識別されるシンボル)を含むシンボル列を、別の変数へ代入してできる、文ないし解モデル候補をも探索の対象とすることを特徴とする、請求項5から10のいずれか一項に記載の処理方法。
【請求項12】
ホーン節等のルール自体もインターネット上等オープンな知識源から検索して適用し、生成される解モデル候補を一括して幅優先探索の対象とする、請求項8から11のいずれか一項に記載の処理方法。
【請求項13】
前記処理方法の一部又は全部をコンピュータに実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2006−24045(P2006−24045A)
【公開日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2004−202503(P2004−202503)
【出願日】平成16年7月8日(2004.7.8)
【出願人】(301062798)ナレルシステム有限会社 (9)