JP3811902B2 - コンピュータにおける自然言語処理法 - Google Patents

コンピュータにおける自然言語処理法 Download PDF

Info

Publication number
JP3811902B2
JP3811902B2 JP31029291A JP31029291A JP3811902B2 JP 3811902 B2 JP3811902 B2 JP 3811902B2 JP 31029291 A JP31029291 A JP 31029291A JP 31029291 A JP31029291 A JP 31029291A JP 3811902 B2 JP3811902 B2 JP 3811902B2
Authority
JP
Japan
Prior art keywords
case
sentence
word
imi
particle
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.)
Expired - Fee Related
Application number
JP31029291A
Other languages
English (en)
Other versions
JPH06119375A (ja
Inventor
司文 安藤
Original Assignee
司文 安藤
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 司文 安藤 filed Critical 司文 安藤
Priority to JP31029291A priority Critical patent/JP3811902B2/ja
Priority to US07/943,401 priority patent/US6126306A/en
Priority to EP92308276A priority patent/EP0532338B1/en
Publication of JPH06119375A publication Critical patent/JPH06119375A/ja
Application granted granted Critical
Publication of JP3811902B2 publication Critical patent/JP3811902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

(発明の対象)
人間は自然言語を用いて思索を深め,自然言語を用いて相手に情報を伝達している.従って自然言語の中にこそ思考のメカニズムや相互の意志,情報伝達のメカニズムが内包されていると思われる.自然言語がもっているこのような思考のメカニズムや情報伝達能力をコンピュータ上で実現し,有効に利用して,推論,質問応答,知識獲得,翻訳,物語理解などの人間の知的能力の向上に寄与させようとするものである.
コンピュータはある限られた機能しかもっていないので,コンピュータ上で自然言語をそのまま用いて上述の知的処理を行うことはできない.そのためには自然言語をコンピュータに適したデータ構造に変換しなければならない.
本特許は,自然言語からこのデータ構造への変換方法,これらのデータの追加,補填,削除,変更などの方法およびこのデータ構造を用いた質問応答,さらに指定された国の言語の自然文を生成する方法に関するものである.
(発明の目的)
本特許で提案している自然言語処理法は自然文をそのまま用いるのではなく,一旦国別の言語に関係しない普遍的で,しかも意味を正確に表現するデータ構造に変換して,そのデータ構造を用いて,上述のようないろいろな知的の処理を行い,その後,その結果を人間が理解し易いように,自然言語に再変換しようというものである.
(発明の要点)
自然文では,同じ一つの意味でも多様に表現することがでること,話し相手が容易に理解できると思われる単語はその表現を省略しなければならないことなどの基本的な特性を持っている.人間には明らかであるため自然文で単語の表現が省略されていると,それをあとで述べるデータ文に変換したときにその単語は省略されるが,質問応答,推論,翻訳,知識獲得をコンピュータで行うときにはこの省略された単語がどうしても必要になるときがある.
コンピュータ上で質問応答や推論を行うときには,主にパターンマチングによって行うが,一つの意味に対して多様な表現が可能であれば,ある内容について質問応答や推論するときには,表現可能なあらゆる自然文を作って,それによって,パターンマッチンを行なければならない.従って,少し複雑な自然文について質問応答や推論を行おうとすると,膨大な自然文を生成して,それについて,パターンマッチンを行なわければならなくなり,実際上不可能になる.これをさけるなめには,多様な表現であっても,同じ意味であれば,単一のデータ構造になっていることが必要であり,表現が省略されている単語は容易に補完できるメカニズムがそのデータ構造に内蔵されていなければならない.
自然文からデータ構造に変換するとき,後述のように構文解析や意味解析を行うが,最終的に意味が未確定であっても,とりあえず一時的な処理をしたり,また後で間違って意味を取り違えたということが判明することがあったり,ある言語特有の言い回しがあるために,翻訳のときにデータ構造を一部変更しなければならなくなることなどがしばしばある.また質問応答のときにテキスト文や質問文から回答文を作成するときなどにデータ構造の変更,削除,移動,コピーなどが必要になる.
前述のように本特許では多様な表現でも意味が一つの場合には,同一データ構造に,しかも国別の言語に無関係な普遍的なデータ構造に変換しているが,逆に,このデータ構造から自然文を生成するときには同一な意味の多様な自然文が生成されなければならない.
また,前述のように,自然文で表現されていない単語をあとで補完しているが,自然文を生成するときに,この単語を表現禁止にしなければならなくなることあがある.また自然文を生成するときに意味を強調するために,語順を変更したり,命令口調を丁寧な表現にすることなどが必要になることがあるので,これが容易に行えることがこのデータ構造には必要である.
自然言語の言語構造を分かり易く図形的に説明するために,後で述べるように多層格−論理構造の形式で示すが,実際に自然文の文字列をコンピュータ上に格納するためには,コンピュータ用データ構造が必要である.図式的に示した言語構造とコンピュータ用のデータ構造とが一対一に対応して,分かり易くするために,コンピュータ用データ構造をMWとPSに分けた.MWは要素.WDと.CNCとからなる単語情報IMF−M−WDと,要素.jr,.jh,.jt,.jpu,.jxp,.jls,.jlg,.jgb,.jcs..jos,.jinxからなる助詞情報IMF−M−JOと,要素.B,.N,.L,.MW,.F,.H,.mw,.RPとからなる結合情報IMF−COと,要素.MK,.BK,.LOG,.KYなどからなる言語情報IMF−M−MKから構成され,PSは,主格(A格),時間格(T格),空間格(S格),対象格(O格),述語格(P格),補助格(X格)などの各種の格を格納する要素−A,−T,−S,−O,−P,−Xからなる格情報IMF−P−CAと,要素−jntn,−jn,−jm,−jostからなる助詞情報IMF−P−JOと,要素−MK,−NTN,−KYからなる言語情報IMF−P−MKから構成されている.実際にコンピュータ上で自然言語処理を行うとき,このようにデータ構造をPSとMWの二種類に分けると,後述するようにプログラムが簡単になり,処理スピードが上がり,さらに極めて微妙で複雑な処理を行うことができるが,コンピュータ処理上どうしてもPSとMWにデータ構造を分けなければならないということはない.PSとMWのデータ構造を合成して一つにまとめたのがPSMWデータ構造である.これについては最後のほうであらためて詳しく説明することにして,ここでは,自然言語の構造およびそれに対応したコンピュータでのデータ構造との関係が極めて分かり易くなるので,これからPSとMWの二種類のデータを用いて説明する.
MWとPSのデータ構造についてあらためて詳しく説明すると次のようになる.MWは第1図に示すように多くの変数(要素)をもっている.要素の.B(.ドットBと読む),.L,.N,.MW,.F,.Hにはそれに隣接するMWの番号MW−NOを格納する.→の矢印でそれが結合先を持っていることと,結合相手の存在する方向を示すことにする.MWは第3図に示すように,6個の結合する手をもつことになる..B(eforeの略)にはMWの左隣にあるMWの番号を格納して,左隣のMWとの結合関係を形成する. N(extの略)は右側にあるMWの番号を,MWは上に隣接するMWの番号を,Fは副詞句を接続するためのPSまたはMWの番号を,Hは本音あるいは比喩で表現するときに用いる相手のMWあるいはPSの番号を格納して結合関係を形成する.先の→の矢印では要素が結合先を持っていることを示したが,ここで,MW間あるいはPS間の結合関係を図式的に分かり易く示すために→の矢印を用いることにする.後でも詳しくのべるが横方向の結合関係,即ち→は論理結合関係を,縦方向の結合関係,即ち↓は格結合関係を示す.MW1とMW2とMW3が第4図で示す結合関係があるとき,この結合関係は第5図で示すように,要素.L,要素.N,要素.B,要素.MWに矢印→で示す結合相手のMW番号を格納することによって形成される.コンピュータ上では第6図で示すようにそれぞれの要素に結合相手のMWの番号を格納する.要素.B,.N,.L,.MWにはMWの番号を格納している..MWと.Lに結合する相手はMWかPSで,それを区別する必要がある..BKに格納されるデータは16進数の4桁であるが,1桁目が”1”の場合はLの結合相手がMW,”e”の場合がPS,2桁目が”1”の場合がMWの結合相手がMW,”e”の場合がPSとする.従って,第4図で示した結合関係はコンピュータ上で第6図のように表現される.
MWには,上述の要素の他に,言語構造上の位置,語順の指定,取り出し格の種類などの情報を格納する要素.MK,表現の可否,埋め込み条件の設定,F,MW,Lなどに結合する相手の種類の区別を示す.BKなどを格納する要素.BK,論理関係の種類を格納する要素.LOG,活用情報を格納する要素.KY,後で述べるように同じ意味枠である意味フレームIMI−FRM内で同じ単語が埋め込まれるMWの番号を格納する要素.RP,”あの太郎”,”このボール”の”あの”,”この”という冠詞で規定される単語がすでに格納されている先行のMWの番号を格納する要素.mw,単語を格納する要素.WD,埋め込む単語の概念規定する要素.CNCなどの単語情報IMF−M−WDと冠詞を格納する要素.jr,接頭語を格納する要素.jh,接尾語を格納する要素.jt,”達”などの複数を表現する複数助詞を格納する要素.jpu,”以外”,”だけ”,”のみ”などの論理関係を表現する論理助詞を格納する要素.jxp,”と”,”や”などのAND,ORなどの論理関係を表現する論理助詞を格納する要素.jls,”〜ば”,”〜ので”などの含意関係を表す論理助詞を格納する要素.jlg,”こそ”などの意味を強調する強調助詞を格納する要素.jos,動詞などで変化する語尾を示す活用語尾助詞を格納する要素.jgb,格助詞を格納する要素,jcs,格助詞を格助詞テーブルJO−TBLで指定するときの,そのテーブルでの座標(jindx−x,jindx−y)を格納する要素.jinxなどの助詞情報IMF−M−JOなどで構成されている.
PSは第2図に示すようなデータ構造になっている.後で述べるように,格結合の種類として主格(A格,gent caseの略),時間格(T格,ime case の略), 空間格(S格,pace caseの略),対象格(O格,bject caseの略),述語格(P格,redicate caseの略),補助格(X格,etra case の略).応答格(Y格,es−no caseの略),全体格(Z格,entai caseの略)を考えているので,それぞれの格結合する相手のMWの番号を格納するために,要素−A(バーAと読む),−T,−S,−O,−P,−X,−Y,−Zを持っている.その他MWの場合のように,左に隣接するMWあるいはPSの番号を格納する要素−B,右に隣接するMWあるいはPSの番号を格納する要素−N,下に隣接するPSあるいはMWの番号を格納する要素−Lをもっている.前に述べたように↓の矢印で結合の手を示すと,PSは第8図のように11本の結合の手をもっている.PSの要素−Nと要素−Bは 本特許では,説明を簡単にするために使用していない.つまり横の関係である論理関係はMW同志だけが結合し,PSとMW,PSとPSが論理結合することはないとしている.データのMW1がPS1のA格と,MW2がT格と,MW3がS格と,MW4がO格と,MW5がP格と,MW6がX格と,PS1がMW7と,第9図に示すように,縦に結合しているとする.このとき,PSおよびMWは↓の矢印で示すように,該当する要素に相手の番号を格納する.MW1〜MW6の要素.Lに結合相手のPS1とその格の種類を格納する.PS1の要素−Aから要素−Xまでは結合する相手のMWの番号,MW1〜MW6,を格納し,PS1が下のMW7と縦に結合していることを示すために,PS1の要素−LにMW7を,そしてMW7は上のPS1と縦に結合していることを示すために,要素.MWにPS1を格納する.前述のように,↓の矢印で結合関係を示すと,第10図のようになる.ここでPSのA格〜X格はMW1〜MW6と縦の結合すなわち格結合する.そしてMW1〜MW6はPSに格結合され,MW7はPS1と格結合し,PS1はMW7に格結合されると読むことにする.このような言語構造をコンピュータ上でのデータ構造で示すと第11図のようになる.同図ではPSは一個しかないが,通常は多くあるので,このPSデータ集合をPSモジュール,MWの集合をMWモジュールと呼ぶことにする.ここではPSの格はMWとしか格結合しないことにしているので,PSの要素−L〜要素−Xに格納されている番号はMWの番号である.PS1は下にMW7を格結合するので要素−Lに”7”を書き込む.結合している格の種類は要素.MKの16進数の4桁の第1桁目で次のように示している.A格が”1”,T格が”2”,S格が”3”,O格が”4”,P格が”5”,X格が”6”,Y格が”7”,Z格が”e”を示すことにする.したがって,MW1ではMK/0001(/の左側に要素を,右側にそのデータを示している),BK/000e,L/1をなっているが,これからMW1はPS1のA格と格結合関係にあることが分かる.MW7は上にあるPS1と結合しているので,要素−MWに”1”が格納されている.この”1”がPSの”1”であることを示すために,要素−BKの16進数の第2桁目を”e”としている.これが”1”の場合はMWであることを
Figure 0003811902
築するために書き込まれたデータの部分である.逆に第11図によって第10図に示した言語構造が表現できることになる.
本特許の詳細を説明するまえに,本特許において自然言語を取扱うときの基本的な考えについて説明する.単語はある概念を表す.例えば”太郎”,”今日”,”グランド”,”ボール”,”投げ”などの文字列KNJはそれぞれの概念に対して割当てられた記号あるいはラベルと考える.従って,単語はそれぞれの概念を代表していることになる.この単語はデータ構造MWの要素.WDに格納されるが,このMWは前述の基本文PS(rimitive entenceの略)と呼んでいるデータ構造PSの格,即ち,A格,T格,S格,O格,P格,X格,Y格,Z格などと結合することによって新しい意味を構成すると考える.例えば,{あの太郎が今日グランドでこのボールを投げた}という文章では”太郎”がMW1の要素.WDに格納され,そのMW1がPS1のA格と結合している.”今日”,”グランド”,”ボール”,”投げ”はそれぞれMW2,MW3,MW4,MW5の要素.WDに格納され,それらがPS1のT格,S格,O格,P格に格結合されている.これを図式的に示したのが第12図である.この図によって,今ここで説明した上述の自然文の言語構造が分かる.実際にはコンピュータ上では,第13図に示すようなデータ構造で格納される.自然文では単語を”太郎”というようにある文字綴りで示しているが,コンピュータ内で単語を文字綴りで示すと,多くのメモリーを必要とするので,その単語を代表するコード番号を用いている.第12図,第13図で示すように,分かり易くするために,”太郎”,”今日”,”ボール”,”投げ”など文字列そのまま書き込んでいるが,前述のように,実際にはコード番号で格納している.あとで述べる助詞についても同じである.第12図では(太郎)で,単語”太郎”が要素.WDに埋め込まれたMWであることを示した.”が”,”で”,”を”などの格助詞は要素.jcsに,”た”などの活用語尾助詞は要素.jgbに書き込まれるが,第12図ではこれらの助詞は()の右下端に小文字で,”あの”,”この”などの冠詞は( )の左上端に小文字で表すことにする.この冠詞は第13図では要素.jrに書き込まれている.
第12図は自然文の言語構造を示すものであるため,これを構造文と呼び,第13図は自然文を前述のデータ構造で表現したものであるため,これをデータ文DT−Sと呼ぶことにする.
文章が複雑な意味を担うためには,文章から一つだけ単語を取り出して,それを次の文章に埋め込むという操作を行うが,本特許ではこの操作は次のような操作であると考える.例えば,
{太郎が今日グランドでボールを投げた}という文章から”太郎”,”今日”,”グランド”,”ボール”などの単語を取り出すと,次のような文章になる.
{今日グランドでボールを投げた太郎
{太郎がグランドでボールを投げた今日
{太郎が今日ボールを投げたグランド
{太郎が今日グランドで投げたボール
これは第14図で示すように,PS1の下にMW6を結合させ,取り出した単語を,そのMWの要素.WDに埋め込ませてできた文章であると考える.この図において,ATSOPの格の順にMWに書き込まれている単語と助詞の字綴りを並べる.すなわち,この構造文から自然文に翻訳すると,次のようになる.
太郎が今日グランドでボールを投げた太郎
{太郎が今日グランドでボールを投げた今日
{太郎が今日グランドでボールを投げたグランド
{太郎が今日グランドでボールを投げたボール
”太郎”,”今日”,”グランド”,”ボール”などの単語が同じ文章に二回出てきて,煩わしい文になる.
そこで,前にある単語の表現を禁止すると
{今日グランドでボールを投げた太郎
{太郎がグランドでボールを投げた今日
{太郎が今日ボールを投げたグランド
{太郎が今日グランドで投げたボール
となる.このように自然な文章になるので,上述のようなプロセスで文章が構成されていると考えることにする.第14図において,表現禁止を*印で示した.ここで,”太郎”,”今日”,”グランド”,は前の位置から後ろの位置に移動したのではなくて,構造文から自然文を生成するときに,前の単語の表現が禁止されたと考えることにする.単語が書き込まれていないのではなくて,書き込まれているが,表現が禁止されているとみなすことにする.このことは本特許では極めて大切なことである.あとで詳しく述べるように,質問応答,翻訳,推論,知識獲得などの知的処理を行うときにはパターンマッチンを主な手法としているが,このパターンマッチンは単語を基本的なターゲットとして,これをキーワードとして行っているので,MWの要素.WDにこれらの単語が埋め込まれていないと,正確なパターンマッチンができない.自然文はあとでも述べるように,必要最小限の単語しか表現されていない.そして,話し相手が当然理解できると考えたり,また特に表現する必要がないと考えた場合には,表現されない.しかし,パターンマッチンを行うときにこれらの単語を頼りにして,探索を行うので,単語がなければ正確なパターンマッチングを行うことができない.そのために省略された単語を正確に補完しなければならない.しかし,また逆に構造文から自然文を生成するときには,パターンマッチンのために補完した単語をそのまま表現すると,同じ単語が何回も表現されて,煩わしい文になるので,そのうちどの単語を表現するかを決めて,他を表現禁止にしなければならない.
上述では,単語を取り出して次の文章に埋め込む場合について述べたが,文章全体を一つの単語として取り扱うことがある.
{太郎が今日グランドでボールを投げたこと}がその文章である.これをZ格(全体格)の取り出しと名付けた.”太郎”,”今日”,”グランド”,”ボール”の取りだしを,A格,T格,S格,O格の取りだしを呼んだので,これをZ格(全体格)の取りだしと呼ぶことにした.これを構造文で示すと,第14図(f)のようになる.この場合はPS1の下に結合したMW6の要素.WDには基本的には何も書き込まない.そして”こと”を全体格を示す助詞としてPSの要素−jmに”こと”を埋め込む.しかし,”こと”を助詞として扱わないで,単語の”こと”,あるいは”事”としてZ格にあるいは下に接続したMW6の要素.WDに書き込んでもよいことにする.
{太郎の今日のグランドでのボールの投げ}という文章は述語格が取り出された場合であると考える.これを構造文で示すと第14図(e)のようになる.述語は文章の中核をなすものであるから,他の格の取り出しとは様子が異なり,格助詞が””,や”での”に変化すると考える.意味としては文章全体の単語化として説明した全体格の取り出しと似ているが,全体格の取り出しは過去形,否定形,丁寧な表現は可能であるが,述語格の取り出しの場合は,時制,否定,丁寧な表現ができない.第14図(e)ではMW6の要素−WDには単語”投げ”を埋め込ませていないが,MW6にこの単語を埋め込ませて,MW5を表現禁止にしても良い.第15図に{今日グランドでボールを投げた太郎}のデータ文DT−Sを示す.データ文で表現禁止は要素.BKにおいて第4桁目を”e”すなわちe###(#はどんな数字でもよいことを示す)にして,これを表現することにする.従って”太郎”があるMW1を表現禁止にするために,.BK/e###とした.
{太郎が投げた}
とう文章では”いつ”,”どこ”で”なに”を投げたかということが記述されていない.つまりT格とS格とO格に結合されるMWの要素.WDには単語が埋め込まれていない.しかし
{太郎が投げたとき}
{太郎がなげたところ}
{太郎が投げたもの}
というように,”とき”,”ところ”,”もの”を取り出すことができる.これらは意味からみてT格,S格,O格に埋め込まれていた単語であるから,これらの単語は潜在的にもともと埋め込まれていたが,表現されなかったと考えることにする.これを構造文で表すと図16ようになる.
Figure 0003811902
これを表現すると,
Figure 0003811902
となる.
ここで,上の文章で用いた単語は格取り出しのときに用いられる単語であるから,これを”ひと”を”誰か”に,”とき”を”いつか”に,”ところ”を”何処か”に,”もの”を何か”に言い換えると,次のようになる.
Figure 0003811902
となる.
つまり,{投げた}という文章にはA格,T格,S格,O格に結合するMWに埋め込まれた単語はなく,何も表現されていないと思われるが,実は上述の意味が潜在的に規定されていると考えることにする.”太郎”,”今日”,”ボール”などが自然言語として表現されると,”誰か”は”太郎”であり,”いつか”は”今日”であり,”何か”は”ボール”であるというように,明確に規定されると考える.これらの格に結合されているMWの要素−WDになにも書き込まれていないときはNULL,つまり”0”であるが,これは上述の意味”誰か”,”いつか”,”どこか”がデフォルト値として定義されていると考えることにする.ところで,今後説明のためにA,T,S,O,P格に結合されるMWの要素−WDに埋め込まれる単語をA1,T1,S1,O1,P1のように格を表す記号に数字を付けて,表現することにする.
{元気な太郎は今日グランドで白いボールを投げた}
という文章は
{太郎は元気である} (ps−1)
{太郎は今日グランドでボールを投げた}
(ps−2)
{ボールは白い} (ps−3)
という三つの文章が組合わせられて,できたと考えることにする.つまり,第17図の(ps−1)で示すように,{太郎は元気である}から”太郎”が取り出されて,
{元気な太郎}になる,この場合P格の助詞”で”が””に変化し,”ある”は表現は省略される.(ps−2)で示すように,{ボールは白い}から,”ボール”が取り出されて{白いボール}になる.”です”は通常省略される.
これが{太郎は今日グランドでボールを投げた}の”太郎”,”ボール”に置きかえられて{元気な太郎が今日グランドで白いボールを投げた}という文章になる.それを構造文で示すと第18図になる.
{元気な太郎が今日グランドで投げたボールは白い}は第19図で示すように,{太郎は元気である}から”太郎”が取り出されて{元気な太郎}になり,それが{太郎が今日グランドでボールを投げた}の”太郎”に埋め込まれて,{元気な太郎が今日グランドでボールを投げた}になる.さらにその文章から”ボール”が取り出されて,{元気な太郎が今日グランドで投げたボール}になる.これが{ボールは白い}に埋め込まれて{元気な太郎が今日グランドで投げたボールは白い}となる.このように構造文に埋め込まれた単語はたった一つではあるが自由に取り出すことができ,しかも次の文のどこえでも埋め込むことができる.自然文はこのようにして構成されていて.この構造文は国境を越えた言語構造である.この構造文を日本語だけでなく,英語,中国語などにも適用できる世界共通の言語構造であるから,この言語構造をコンピュータのなかで構築し,これを用いて翻訳,質問応答,知識獲得,推論などを行おうとするもでのである.
言語構造を分かりやすくするために,”投げる”,”元気”,”白い”,を一つの単語として取り扱ったが,実はこれらの動詞,形容詞,形容動詞を表す単語はそれに固有の意味構造を持っている.次にこれらの単語がどのような意味構造を持っているかについて説明する.
自然文はこれまで説明したようなプロセスで構築されていくが,自然文はあくまで意味を規定するものである.自然文において意味がどのように構築されていくかについてこれから説明する.
意味には基本的な意味単位IMIがあり,それが組み合わされてより複雑で精緻な意味が構築されていく.まず基本的意味単位IMIについて説明する.基本的な意味単位として次の三つの基本文PS−E.PS−I,PS−Dで表現されるものを考える.PS−Eは{〜がある}という存在を表す自然文に相当する.これを構造文で示すと,第20図(a)になる.
PS−Iは{〜は〜である}というものの状態を示す文である.構造文は同図(b)のようになる.PS−Dは{〜が〜をする}という,あるものがあるものに何かの影響,効果を及ぼすこと,を示す文である.これを構造文で示すと,同図(c)のようになる.MWの要素.WDに何も書き込まれていないときは,デフォルト値として,”ひと”,”もの”,”とき”,”ところ”,”誰か”,”何か”,”いつか”,”が規定されていると前に述べたが,これらの内容の代わりに,記号として,A1.T1,S1,O1,P1を用いることにするとはすでに述べたが,これをもちると,PS−Eは次の自然文に相当することになる.
{A1が時間T1に空間S1である}
この文章PS−Eは習慣として,次のように語順を代えて表現するので,
{時間 T1に空間S1でA1がある}になる.これを別な表現にすると,
{いつかどこかに何かがある}
になる.
”いつか”を”いま”,”どこか”を”ここ”,”何か”を”本”とすると,
{いまここに本がる}となる.これを構造文で示したのが,第21図(a)である.
PS−Iは第20図(b)で示すように,{A1は時間T1空間S1でO1という状態である}になる. A1”を花子”,O1”を”美人”という状態であるとすると,PS−Iは
{花子は今ここで美人である}
となる.これを構造文で示すと第21図(b)のようになる.
PS−Dは{A1が時間T1空間S1でO1をする}になる. A1を”太郎”,O1を”それ”にすると,
{太郎がいまここでそれをする}
になる.
この三つの基本文PS−E,PS−I,PS−Dが組み合わされて,いろいろな意味が構築されるが,意味が複雑になると,言語構造も複雑になり,そのぶんだけ構造が分かりにくくなる,そこで次のような場合は簡略法を採用して,言語構造をできるだけ分かり易くした.
{太郎と次郎がボールを投げた}とう文章は
{太郎がボールを投げた}そして{次郎もボールを投げた}と言う意味であると考える.これを構造文で示すと.第22図(a)のようになる.”そして”は論理関係のAND関係である.{太郎がボールを投げた}というPS1と{次郎がボールを投げた}というPS2がANDという論理関係にあるからPS1の下にMW11を,PS2の下にMW12を設けて,これらをAND関係で結合した.これが上の文の言語構造である.論理関係を→の矢印で示し,→の上に論理関係の種類,この場合はAND,を示し,→の下にはこの論理助詞”そして”を示した .PS1とPS2を比較すると,A格に結合しているMWの要素.WDに書き込まれている単語が異なるだけて,他は全て同じであるから,省略形で次のように構造文を書くことにする.MW11に”太郎”を,MW12に”次郎”を埋め込み,それをA格のMW1の上に結合したような形にした.(第22図(b)).このようにすると,(a)と比較して分かるように,言語構造を簡潔に書くことができる.あとで述べる方法でこの構造文から自然文を生成すると
{太郎と次郎がボールを投げた}
となり,この構造文から通常我々が日常用いている文が生成できる.
AND,OR,THANなどにはこの略記法を用いることにする.
{A1がSfのところにある},そして{A1がShのところにある},そして{A1がStのところにある}と言うのはA1が最初Sfにあったのが,次にShに存在し,最終的にはStに存在するこになったことを示している.つまりA1がSfからShを通って Stに移動したことを表現している.これを構造文で書くと,第23図(a)のようになる.これはS格に結合されているMW以外は全て同じであるために,同図(b)に示すように書くと,言語構造が簡単になり,分かり易くなる.”そして”は時間的な事象の変化関係を示すので,これを論理関係の含意の一種と見なしている.この論理関係の種類をTHENとして,助詞を→の下に記入した.これをPS−SSとする.
存在していたものが存在しなくなる,あるいは存在しなかったのが存在するようになるという意味概念は自然言語のなかでしばしばでてくる.これを構造文で示すと,第24図(a)のようになる.(存在)の否定を(〜否定)で示した.これも(b)のような略記法をとることにする.これをPS−EEと呼ぶことにする.
PS−IのO格が変わると,状態の変化を表現することができる.
{A1がO1である}それから{A1がO2である}を構造文で示すと.第25図(a)のようになる.それを同図(b)に示すような簡単な構造で表現することにする.これをPS−OOとする.
上で示した構造文と基本文PS−E.PS−I,PS−Dを組み合わせると,いろいろな意味構造を構築することができる.
PS−EをPS−DのO格に埋め込むと,第26図のような構造になる.これをそのままの順序でMWを並べると,
[(A2)(T2)(S2)([(A1)(T1)(S1)−(あ)]状態)(す))]
これを自然文に直すと,次のようになる.
{A2が時間T2空間S2で{A1が時間T1空間S1にある}状態にする}
となる.”A2”を”太郎”,時間T2”を”いま”,”空間S2”を”ここ”,”A1”を”本”,”空間S1”を”机”とすると,上の文章は{太郎がいまここで{本が机にある}状態にする}となる.この構造文は(b)のようになる.
”〜にある状態にする”を”置く”という単語に置き替え,”本”の””を””に代えると上に示した自然文は次のようになる.
{太郎はいまここで本机に置く
これを(b)の構造文において,P格の単語を”する”から”置く”に代え,A格の助詞を””から””に代え,P格の(あ)と”状態”は”置く”という表現の中に含まれているのでを表現禁止にすれば(c)の構造文になり,これからも上に示した自然文が生成できる.
空間格に埋め込まれる単語は物理的な空間でなくても,概念的な空間でもよいことにして,”太郎”をS1格に埋め込むと,”太郎”という意味概念,つまり”太郎のところ”ということになる.”のところ”を助詞としてS格に書き込むと,構造文は第27図のようになる.上位のPS1を下位のPS2のO格に埋め込んで,↓印を取り除いて,MWをそのまま並べると
Figure 0003811902
となる.これから[]や()を取り除いて,PSの範囲を{}でくくると,
{太郎がいまここで{本が太郎のところにある}状態にする
になる.同じ太郎が二回ででくるので”太郎のところ”の”太郎”の表現を禁止し,”〜のところにある状態にする}を”持つ”という単語に置き代え,”本”の””を””に代えると,(b)のような構造文になる.P格の(あ)も表現禁止にする.この構造文から自然文を生成すると,{太郎がいまここで本を持つ}になる.
(b)の構造文で単語を記号に代えると,(c)で示す構造文になる.これから自然文を生成すると,{A2が時間T2空間S2でA1を持つ}になるが,これは{A2が{A1をA2自身のところにある}ようにする}ということと同じことになる.この文に同じA2が二回ででくるから,S1格の表現を禁止したのが,(c)である.表現禁止を*印で示した.つまり,{A2が〜をA2自身のところに存在するようにする}というのが{A2が〜を持つ}という意味概念を表すと考えることにする.
A1がものでなく,考えや概念であってもよいことにする.この場合,考え,概念は特殊な内容であるため,単語として埋め込むのが,考えまたは概念であることを明示,あるいは規定する必要がある,そこでこのことを規定するために,MWに要素.CNCを設け,このCNCに考え,概念の記号を書き込んでおく.これをCNC/”考え,概念”の記号で表わす.この指定があるMWの要素.WDに単語を埋め込むときには,その単語がそのCNCの内容に一致するかを評価して,その評価に合格すれば,埋め込むという操作を行う.
{A2が{A1という考えをA2自身に存在する}という状態にする
という文につて考えて見る.
{A2が〜をA2自身に存在するという状態にする}
というのが,{A2が〜を持つ}ということであることを先に示した.従って,これは{〜という考えを持つ}ことになる.これを,”思う”に置き代えると,{A2が〜を思う}になる.これを構造文で示したのが,第28図である.この構造文から分かるように,つまり,{〜を思う}は{〜という考えがあるようにする}であり,{〜という考えを持つ}ということになり,このような意味構造を持つことになる.
{太郎は今ここでそれと思った}の構造文は(b)のようになる.”思った”という単語から”それ”は概念であることが分かる.通常は”それ”は,例えば,{花子が美人である}などの概念を表す内容が埋め込まれて,{太郎は今ここで花子が美人であると思った}になる.”思う”はA格に埋め込まれた単語が考え,概念,つまりCNC/考え,概念であったが,CNC/感情になると(c)で示すように”感じる”になる.”思う”と”感じる”ではCNC以外では全く同じである.つまり
{A2が{A2自身の中にA1という感情が存在する}という状態にする}
というのが
{A2がA1を感じる}
になる.”する”か”なる”かを厳密に規定し,”する”はA2の意志によって,そのような状態を招来させることを,”なる”をそのような意志がなくても,A2以外の力によって,そのような状態が引き起こされたと考えると,”上の例では”なる”としてもよいことになる.(Sf)から(Sh)を通して(St)にものが移動する状態を表現する基本文としてPS−SSを説明したが,これとPS−Dを組合わせると,つぎのような意味を規定することができる.第29図にその構造文を示す.
これまではPSを埋め込んだときのMWの順序即ち自然文にしたときの語順を一目瞭然で分かるように下位のPSにおいて上から埋め込まれるPSのスペースを空けて示した.この件につては,これまでの説明で大体分かったと思うので,今後は第29図のように,PSを縦方向に並べて示すことにする.自然文に翻訳したときにMWに単語が埋め込まれていないときでも,格にMWがなにも結合されていないときでもともに自然文に単語は表現されない,しかしMWに単語が埋め込まれていない場合と,格にMWがなにも結合させていな場合とでは,意味が全然異なる.格にMWが結合されていて,そのMWの要素.WDに単語が埋め込まれていない場合は,”ひと”,”もの”,”とき”,”ところ”などの抽象的な内容がデフォルト値として規定されていることを前に述べた.格にMWがなにも結合されていない場合は,構造文が構築する意味のなかに,その格が規定する内容がないことを示している.
第29図のPS1のT格にはMWがないが,それはPS1に時間に関する内容を盛り込まないためである.
同図に示した構造文の構造に従ってMWを並べると次のようになる.
Figure 0003811902
この文から()と[]を取り除き,PSを{}で示すと,次のようになる.
{A2が時間T2空間S2で{A1がSfかららSを通してStにある}状態にする}
PS1はA1が始めSfにあったがそれがShを経過して,最終的には,Stに存在している状態であることを示している.そして,そのような状態にA2が時間T2空間S2にしたことを示している.P格のMWの要素.WDに”運ぶ”を書き込む.これは(a)で示した意味構造に”運ぶ”という文字列KNJで表現される記号あるいはラベルを割り当てたことになる.A格のA1がA2である場合,即ち運ぶものA1が運ぶA2そのものである場合で,しかも出発点Sfが近いところの”こちら”で,目標点Stが”あちら”の場合,即ち近いところから遠いところに自分自身が移動する場合を”行く”と定義すると,この構造文は(b)のようになる.Sfを”こちら”,Stを”あちら”と規定するためには,構造文においてはCNC/こちら,CNC/あちら,とした.SfでCNC/あちらとし,StでCNC/こちらであれば,即ち,遠いところから,近いところに移動することになるので,”来る”になる.これを構造文で示すと(c)のようになる.Aと格A格のMWには同じ単語が埋め込まれるので,どちらかを表現禁止にしなければならない.基本的には上位にある方が意味として軽いので,上位ののMWを表現禁止にすることにしている.そのためにA格のMWを表現禁止にした.これを構造文では*印で示す.A格のMWに単語が埋め込まれたときに同じ単語をA格のMWにも埋め込まなければならないので,MW7の単語を埋め込むために,A格のMW1に相手先のMW番号を格納する要素.RPを設け,それに,この場合MW7という相手のMW番号を書き込む(同図(b)).このようにしておけば,A格のMW7に単語が埋め込まれると,MW7の単語を取り出して,その単語をMW1にコピーして,MW1にもMW7と同じ単語を格納することができる.例えば,
{太郎が今日東京で新宿から府中に行った}
とい文は構造文で示すと,第30図のようになるこの構造文の意味は次のようになる.新宿から府中に移動したのは太郎であり,それをさせたのも太郎自身である.そして,それをおこなった時間は”今日”であり,場所は”東京”であるということになる.新宿は太郎にとって近くであり,府中は遠いところであるということになる.
第30図においてMW1の要素.WDに埋め込まれている単語の”太郎”は後でのべる意味解析ででは埋め込まれない.しかし,要素.RPによって,MW7に埋め込まれた単語をコピーするように指示されているので,この指示によって埋め込まれたものでる.
出発点Sfから目標点Stへ移動するときこの経過点が空中である場合は,構造文は第31図のようになる.経過点が空中であることを示すために,CNC/空中とした,P格のMW11の要素.WDに”飛ぶ”という単語を書き込んでいるが,これはこの構造文が示す意味構造にラベルとして”飛ぶ”という単語を割り当てるたことになる.
”与える”の意味構造を第32図に示すように定義する.{太郎が今日学校で花子に本を与える}という文を意味解析すると,後で述べるように第33図で示すような構造文になる.この構造文を用いて”与える”の意味構造を説明する.まず最上位のPS1は”本”が最初”太郎”のところにあったがSfという通過点を通って,最終的には”花子”のところに移動したことを示している.ここでは通過点SHは何の役割ももっていないが,本特許の全体構想から決めたものである.その下のPS2は”花子”は”今日”,”学校”でそのような状態にあること,つまり,”本”が移動したこの時点で花子のところにあるとう状態に今日学校で花子があるということを示している.これは第27図で示した”持つ”を定義した構造文と似ている.但し第27図の”持つ”は”本”が(太郎)→(通過点)→(花子)とうように移動した経路は記述されていず,ここの”持つ”と若干意味は異なっているが,花子のところに本があるという本質的なところは表現されているので,これを”持っている”(保持)としてP格に書き込んでもよいことにする.最下位のPS3は{花子がそのような状態であるように太郎が時間T3(今日)空間S3(学校)でしたことを定義している.P格のMWの要素.WDに”与える”を書き込んで,この構造文全体が表す意味構造に”与える”とう単語を割り当てたことにする.
第32図の構造文が示す構造にしたがってMWを並べると,次のようになる.
Figure 0003811902
となる.ここでT3=T2,S3=S2として,後で述べる理由でT2とS2の表現を禁止する.
”与える”という単語の中に”〜(あ)]) (持ってい)]”という内容が含まれているので,この表現を禁止する.そしてA3に”太郎”,T3に”今日”,S3に”学校”,A2に”花子”,A1に”本”を代入すると,上の構造文から次の文が得られる.
Figure 0003811902
()や[]を取り払うとつぎのようになる.
Figure 0003811902
”太郎”,”花子”,”今日”,”学校”は二回でてくるので,上位のMWであるMW3,MW5,MW8,MW9を表現禁止にすると
{太郎今日学校花子与え
となる.これを構造文で示したのが,第33図である.第34図のように”太郎”が埋め込まれているMW12を表現禁止にし,その代わりMW3を表現可とし,”学校”が埋め込まれているMW14を表現禁止にし,その代わりMW9を表現可にすると第34図のようになる.これから上述の方法で自然文を生成すると,
{今日花子学校太郎から与え
以上の結果からわかるように,”今日”,”太郎”などは単語の位置が変わったのでなく,表現可のMWを代えたためであり,また”太郎が”が”太郎から”になったのも表現可のMWが代わったためである.
同じ単語が埋め込まれたMWはどれか一つを表現可にし,他のMWを全て表現禁止にする.基本的には,最下層のMWを表現可にし,他を表現禁止にするが,上述のように表現可のMWを適当に代えても良いことがある.表現禁止のMWには,一般的に,意味解析のときに単語を直接埋め込むことができない.表現可のMWの要素.WDに埋め込まれた単語をコピーすることによって,表現禁止のMWに単語を埋め込む.どのMWの単語をコピーするかは,前にすでに述べたように要素.RPで示されている.第32図,第33図にRPを示している.
第33図のMW3の要素.WD/”太郎”,MW5の要素.WD/”花子”,MW8の”今日”,MW9の”学校”は意味解析のときには表現禁止になっているので,埋め込むことはできない.これらの単語は要素.RPで指示されたMWの要素.WDからコピーされたものである.
時間格のT2とT3,空間格のS2とS3はここでは同じ単語を埋め込んでいるが,別に同じでなければならないことはない.”持っている”(保持)という状態になるのが,時間T2空間S2であり,その状態にするのが時間T3空間S3であるからT2とT3およびS2とS3が当然異なってもよい,しかし,”持っている”という単語に人々はそれほど厳密に時間関係,空間関係を規定して用いているとは思えないので,ここでは前述のように同じ単語を埋め込んだ.以上のように,構造文には意味構造を明確に規定するために,同じ単語を何回も用いることがあるが,自然言語に表現するときは,一つの単語は一回しか用いられないので,他を表現禁止にする必要がある.前述のように表現するMWを代えると,見かけ上語順が変わったように見えるが,このことは英語についてもいえる.構造文から自然文を生成するためのPS内での格の順番は日本語の場合はATSOPであるが,英語ではAPOST,中国語ではATSPOとなる.第32図を英語の語順APOSTに直すと,第35図のようになる.ただし,ここでは助詞の”から”の代わりに””from”を,”を通して”の代わりに”through”を,”へ”の代わりにto”を”,”で”の代わりに”at”を用いた.英語の場合は助詞(前置詞)は単語の前に着くので,同図では( )の前に置いた.同図の構造文で示された順にMWを並べると,次のようになる.
Figure 0003811902
このMWの要素.WDに”与える”に対して”give”を,”太郎”に対して”Taro”を,”花子”に対して”Hanako”を,”本”に対して”book”を,”今日”に対して”today”を,”学校”に対して”school”を,”〜である”に対して”is”を,”持っている”に対して”have”を割り当てると,次のようになる.
Figure 0003811902
尚ここで,bookをbooks,giveを givesとした.これから()や[]を取り除くと,つぎのようになる.
Figure 0003811902
”is”,”have”を日本語の”与える”のときに説明したときと同様に giveの概念の中に haveとisが含まれていると考えて,省略する. Shも省略する.また,”school”,”today”は同じ単語が二回でてくるので,上位のMWであるS2とT2の方を省略すると,つぎのようになる.
Figure 0003811902
”Taro”,Hanano”も2回出てくるので,上位のMW4とMW6を表現禁止にすると,,次のようになる.
Figure 0003811902
日本語の場合にもおこなったが,MW7を表現禁止にし,MW6を表現可にすると,次のようになる.
Figure 0003811902
”Taro”について,同じようなことを行うと,次のよになる.
gives books from Taro to Hanako at school today
となる.英語の場合は格がどの格であるを識別するのが,語順で行われているので,主格(A格)を省略するこはできない.上のような文章は成立しない.どうしても,行いたい場合は”from Taro”をIF−THENのIFの部分として取扱,つぎのようにする.
From Taro,he gives Hanako books at school today
”school”,に関してMW15を表現禁止にして, MW10を表現可にすると,次のように”school”と”today”の語順が表面的には入れ変わったようにみえる.
Taro gives Hanako books today at school
これも先ほど日本語で説明したように,語順が入れ変わったのでなく,表現するMWを替えただけである.本特許では英語の前置詞,複数の語尾,動詞の変化もある種の助詞として取り扱っている.英語の場合は前置詞は同図で示したよに()の前に置き,動詞の活用,複数の語尾は()の後ろに示して,英語の語順に合わせた.
第32図で示した”与える”という意味構造において,移動させるものA1が概念で,しかもA3のところにあったものが,最終的にA2のところに存在すると規定し,これに”教える”という単語を割り当てたのが,第36図の構造文である.{太郎が花子に英語を教えた}という自然文をこの構造文に埋め込むと第37図にようになる.”英語”を広く解釈すると,英語も概念の範疇に入れることができる.従って,これは”英語”は始め”太郎”のところにあったが,これを”花子”のところに存在するような状態に”花子”がなっている状態に”太郎”がしたという意味構造になる.第36図の構造文についてMW埋め込み状況に従ってならべると
Figure 0003811902
のようになる.単語が埋め込まれていない()や,(Sh),(あ)る,(持ってい)るなどを表現禁止にすると,
Figure 0003811902
となる.上位の”太郎”,”花子”を表現禁止にすると
Figure 0003811902
となる.これは前述の”与える”と全く同じ意味構造である.これから,”与える”ものを概念であると規定したものが”教える”であることになる.従来の英文法では”花子”が直接目的,”英語”が間接目的となっているが,この文法では,最下位のPS(これを今後ルートPS ROOTPSという)のA格A3が主格で,これは従来の文法と同じであるが,直接目的と呼ばれているものは,ここではその上のPSのA格A2であり,間接目的と呼ばれているものは,さらにその上のPSのA格A1であることになる.
PS−EEとPS−Dを組み合わせると,第38図のようになる.この図において,PS1は始め存在したものが,存在しなくなったというその変化のプロセスを示す.PS2でA2がそのような変化を時間T2,空間S2で生じさせたと考えることにする.その存在したものが”もの”である場合,即ちCNC/ものとすると,この意味構造は”作る”,であり,生命であるとすると”生む”,CNC/概念とすると”考えるとなる.逆に存在していたものが存在しなくなった場合でCNC/ものでは”無くす”,生命では”死ぬ”になり,CNC/概念の場合は”忘れる”となる.第38図では”生む”を示した.このようにMWとMWとの関係,MWが結合する格の種類,MWに埋め込ませるMWの内容,即ちCNCの内容などを明確に規定することによって,単語,特に動詞の意味構造をかなり明確に規定することができる.
このようにして規定された単語といろいろなPSと組み合わせることによって,さらにいろいろな意味構造を構築することができる.このようにして構築された意味に新たな単語を割り付けるとまた新しい単語を定義することができる.たとえば,”浮かぶ”は第39図に示す意味構造をもっているとする.これは{A2が気体又は液体の中あるいは上に存在するという状態に時間T2,空間S2でA2自身がある}という意味である.これはいわゆる自動詞と呼ばれているものである.
{花が水に浮かぶ}とう文章は
{花は{花が水の上にある}という状態である}
ということになる.
{〜に〜をさせる}という使役の表現は,対象としている文章の構造文の下に{〜をする}というPS−Dを置き,この対象とする文章全体をこのPS−DのO格に埋め込むことによって,実現させる.
”浮かぶ”に”〜させる”のPS3を結合した構造文を第40図に示す.対象としている
{花がいまここで水に浮かぶ}
をいう文の下に{〜させる}というPS3を結合している.これによりこのような状態にA3が時間T3,空間S3で行うという意味になる.PS3のP格のMWの要素.WDに埋め込まれるWDを”せ”とした.このとき”浮かぶ”のA格の助詞を””にかえ,P格の動詞の活用語尾助詞を””に変える.そして使役の”せる”PS−Dを結合したときは,T2=T3,S2=S3とすることにした.A3を”太郎”,T3を”いま”,S3を”ここ”とすると,第40図の自然文は次のようになる.
{太郎はいまここで花を水に浮かばせる}
になる.さきほど T2=T3,S2=S3としたが,厳密にいえば,必ずしも同じにはならなくてもよい,しかし,実際には使役の表現がそのように厳密に時間,空間を表現していないと思われること,またそのようにしないと意味解析のときに埋め込み可能の格がそれだけ多くなるので,あとで述べるように,意味解析があいまいになる.ここではそのようにしたが,同じ単語が二回出てくるので,意味として重要なのは最下位のMWであると考えてT3とS3を表現可とし,T2とS2を表現禁止とした.
”浮かばす”は”浮かばせる”と意味は同じであると考え,同じ意味構造にした.この構造文を第41図に示した.つまり”浮かばす”は”浮かばせる”がなまってできた言葉と考えることにする.
”浮かばせる”のように”浮かぶ”と”〜せる”とが合成して,文章を作っても,また”浮かばす”とう単独の単語をもちいて作成した文章でも,意味が同じであれば,同じ意味構造を保障しようというのが,この特許の特徴である.
{死ぬ}を使役にすると{死なせる}となるが,その構造文は{死ぬ}の下に{〜せる}という使役のPS−Dを結合して生成される.これを第42図に示す.”殺す”と”死なせる”は厳密にいえばニュアンスは違うが,意味構造としては,同じであると考えて,第42図で示す構造にした.”死なせる”の意味構造にラベルとして単語の”殺す”を割り当てると,第43図のようになる.”殺す”の中に”死ぬ”の意味が含まれているのでA2の”死ぬ”を表現禁止にした.
受け身形は対象となる文章の構造文の最下位のPS,即ちルートPSの下にさらに,受け身の{〜れる}を表現するPS−Iを設けて,そのO格にその文章全体を埋め込むことによって,作ることにする.{〜れる}のPS−Iの構造文を第44図に示す.受け身の場合も,使役の場合と同じように対象となる文章のルートPSの時間格のTと空間格のSとこの受け身のPSの時間格のTP空間格のSP同じにする.そのために,お互いのMWの要素.RPにあいてのMWのアドレスを書き込み,優先順位が高いほうのPS,つまり最下位のPSの時間格と空間格を表現可とし,対象となった文章のルートPSの時間格,空間格の表現を禁止にする.
{太郎が今日学校で花子に本を与えた}
という文章(第34図)を受け身にすると,構造文は第45図のようになる.ただし,A3の格助詞は”によって”に変わる.前述の理由でT2=T3=T4,S2=S3=S4となるので,受け身のPSではA格以外は確定するが,問題はA格に埋め込む単語である.受け身の場合は,このA格に埋め込める単語は,対象とする文章の構造文に埋め込めまれた単語が取り出されて,この受け身のA格に埋め込まれたものであると考えることにする.第45図で分かるように,”与える”という構造文に埋め込まれた単語は”太郎”,”今日”,”学校”,”花子”,”本”の五個である,この五個の単語は全て受け身のA格(A4)に埋め込むことができる.しかし次に説明するように元のMWの格の種類によって意味が全く異なってくる.A格の”花子”をA格に埋め込んだ場合を第45図に,A格の”太郎”をA格に埋め込んだ場合の構造文を第46図に示した.第45図は
{花子は今日学校で太郎によって本を与えられた}
となり,正確に受け身形を表現しているが,第46図では
{太郎は今日学校で花子に本を与えられた}
とな,これは,尊敬の意になる.この場合A3の(太郎)によっての方を表現禁止にした.
A1の”本”を取り出すと,第47図のようになる.即ち
{本は今日学校で太郎によって花子に与えられた}
となる.これは{本は〜に与えられた}という受け身にもとれるが,
{本は〜与えることができた}
というように可能とも受け取ることができる.T4の”今日”を取り出すと,第48図のようになる.即ち
{今日は学校で太郎によって花子に本を与えられた}
となる.これは{今日は〜与えることができた}という可能の意味にとることができる.ここで”今日”が二回でてくるので,どちらかの”今日”を表現禁止にしなければならないが,優先順位をPSの階層が低いほう,そして,同じ階層の場合なら決められた格の順位,この場合,仮にATSOPとすると,この順の左側,即ちMW17,を優先的に表現可とした.そして,それ以外をを表現禁止にした.表現可とするMWと表現禁止のMW相互の関係を明確にするために,要素.RPにお互いに相手のMWのアドレスを書き込んでおく必要がある.
構文解析によって,入力された自然文は単語,助詞,記号などに分けられるが,最終的には言語構造情報IMF−LSに変換される.意味解析はこの言語構造情報に基ずいて,意味フレームIMI−FRMを作り,単語,助詞,記号を埋め込む作業である.受け身の場合はルートPSのA格(A4)に埋め込まれた単語WDはその構造文のどこかのMWに埋め込まれるべきものであるから,それがどれであるかをしらべなければならない.調べる方法は幾つもある,たとえば,格を探索するときに優先順序をつけ,その順序で空いている格を捜し,見つかった順に埋め込み,その後そのMWに埋め込まれるべき単語の概念CNCをチェックしたり,単語の意味概念を調べて,その合理性を調べるなどして,できるだけ正確に元の格をさがすが,そのまえに埋め込み可能な格をできるだけ少なくしておかなければならない.S格,T格に関してT4,S4以外は埋め込み禁止にしたのはそのためである.
{〜与えるらしい}という文章は{〜与える}という文章の構造文と{〜らしい}という文章の構造文が次のように合成されたと考える.
{〜らしい}という文は第49図で示すような意味構造を持っているとする.MWの要素.BKには4桁の16進数のデータを書き込むが,4桁目が”a”であるMWに対象となる文章全体を埋め込むことによって,合成している.マーク”a”がなくても,{〜らしい}をいう文章の構造文では埋め込み可能な格のうち空いている格はこの格以外にないから,特にこのマークを付ける必要はないが,他にもこのマークを用いているので,これを用いた.
{〜らしい}という文の意味構造は次のようになる.最上位のPS1は{A2(対象となる文章)には不確かさがる}という意味である.その下のPS2は{A2(対象となる文章)には不確かさがあるという状態である},つまり{A2(その対象となる文章)は不確かである}となる.PS3になると,{A4(私)にはA3(そのような考え)があるという状態である},つまり{その対象となる文章は不確かであるという考えが私にあるという状態である}ということになる.PS4は{そのとき,そのところで上述のような状態である}となる.PS3とPS4は第28図で説明したように{〜の考えを持つ}あるいは{〜と思う}と同じ構造文である.そして,A4は”話し手”つまり”私”であるから,このPS3とPS4は{私は〜の考えを持つ}あるいは{私は〜と思う}になる.従って,{〜らしい}というのは{私は〜が不確かであるという考えを持つ}あるいは{私は〜は不確かであると思う}と同じ意味になる.{〜らしい}という単語に”私が”という意味が含まれていると考えて,”私”を表現禁止にしている.
{太郎が今日学校で花子に本を与えたらしい}
という文章は
{太郎が今日学校で花子に本を与えた}
という文章を{〜らしい}という文章の”a”というマークがあるMWに埋め込んで結合してできた文章で,構造文は第50図のようになる.この場合の二つの文章の結合は”a”があるMW20の要素.MWにPS3の番号を書き込むことで実現できる.実際のデータは”PS”と”3”を分けて,書き込んでいる.PSであることは,要素.BKの2桁目を”e”にして,”3”は要素.MWに書き込んでいる.この構造文のMWを埋め込み順序に従って並べかえると,次のようになる
Figure 0003811902
Figure 0003811902
*の印のついている表現禁止のMWを省略するとつぎのようになる.
Figure 0003811902
()や[]を取り除くと,次のようになる.
Figure 0003811902
これをスペースを詰めると,次のようになる.
{太郎今日学校花子与えらし
{与えるらしい}は次のようになる.
Figure 0003811902
このことから分かるように,構造文のかなりの部分が表現されていないことがわかる.表現されていない部分をスペースで示したが,自然文になると,そのスペースが詰められるから,自然文をみたときに,必要な内容が正確に表現されていないと思われがちでるが,実際には第50図で示したように,意味は極めて正確に規定されていることが分かる.自然文では必要最小限のことしか表現されておらず,冗長な部分,必要のないものは徹底的に省略されていると考えられる.自然文上で
Figure 0003811902
造として明確に規定されていて,表現する必要のないものである.表現禁止と埋めみ不可は厳密には異なるが,大抵の場合は同じであるので,表現禁止になっているのがこれに相当する.埋め込み
Figure 0003811902
のは表現を省略することができる.すでに話し相手が{太郎が今日学校で花子に本を与える}ということを予想している場合では,”誰”いつ”,”どこ”,”誰”,”何”は話し相手が容易に理解できるから省略できる.状況をよく知っているもの同志では,上で述べたような会話で{誰か何
Figure 0003811902
具体的に内容を規定せず,”誰か”,”何か”,”いつか”,”その時”,”そこで”などのように抽象的に表現する場合は前にも述べたように,デフォルト値としてMWには何も記入しない.問
Figure 0003811902
かである.これを正確に判定する方法はないので
Figure 0003811902
とした.
第50図において,PS1〜PS4までを自然文に翻訳すると,
{太郎が今日学校で花子に本を与えるということには不確かさがある}
となる.PS1〜PS5までを自然文に翻訳すると
{太郎が今日学校で花子に本を与えるということは不確かである}
となる.PS1〜PS6までを翻訳すると,
{太郎が今日学校で花子に本を与えるという不確かな考えが私にある}
になる.PS1〜PS7までを自然文に直すと,
{私はこのときこのところで太郎が今日学校で花子に本を与えるという不確かな考えが私自身にあるという状態である}
前にも述べたように,本特許では表現が異なっていても意味が同じであれば,同じ構造文になることを常に保証しようというのが基本的な考え方である.またこれは,日本語だけでなく,他の言語,例えば,英語についても,同様なことを保証しようとしている.これ迄日本語のなかで,表現がことなっていても,意味が同じであれば,同じ意味構造になるようなデータ構造を構築してきたが,英語のように言語体系が日本語と全く異なっていても,意味が同じなら,同じ意味構造が構築されなければならないという考えである.
{太郎は今日学校で花子に本を与えることができる}
という文章は{〜与える}という文章の構造文と{〜できる}という文章の構造文を第51図で示すように,結合して合成されたと考える.この場合も{〜できる}という文章に一ケ所結合ケ所を示すマーク’a’を持つMWがあり,そのMWに対象となる文章を埋め込む.
{〜できる}という文章は第52図に示すような意味構造を持っている.結合対象となる文章はA格のMWに埋め込まれる.S格はそのA2が埋め込まれるので,PS1は{A2(埋め込まれる文章)には可能性がある}ことを表す.PS1〜PS2は{A2は可能である}ことを表す.PS3のA格(MW7)の要素.WDには埋め込まれる文章のルートPSのA格のMWの要素.WDに埋め込まれている単語を埋め込み,時間格T3と空間格S3も同様に,埋め込まれる文章のルートPSのT格,S格を埋め込むことにする.すると,同じ内容を持つMWが複数できるので,どちらかのMWを表現可とし,他を表現禁止にしなければならない.埋め込まれる文章である{〜を与える}のルートPS(上位のPS)のMWを表現禁止にし,埋め込む文章である{〜できる}のルートPS(下位のPS)のMWを表現禁止する場合には要素.BKの16進数の4桁目を”6”とし,逆に上位のルートPSのMWを表現可とし,下位のルートPSのMWを表現禁止にする場合には”9”を書き込んで,指示を与えている.第52図に示した{〜できる}のルートPSの場合は’6’であるから,埋め込まれる文章のルートPSのA,T,S格は表現禁止である.PS3は{A3が時間T3空間S3で,埋め込まれた文章の内容が可能であるという状態である}ことを表している.{太郎が今日学校で花子に本を与えることができる}
という文章の構造文は第51図のようになる.即ち{太郎が今日学校で花子に本を与える}という文章(PS1〜PS3)をMW20に埋め込む.埋め込む文章のルートPSの主格A,時間格T,空間格Sの要素.WDの単語を{〜できる}のルートPSのそれぞれ主格A.時間格T,空間格Sの要素.WDに埋め込み,要素.BKの指示に従って,上を表現禁止,下を表現可にすると,上述のような自然文が生成できる.この構造文からいろいろな自然文が生成できる.例えば,第51図で示すPS1〜PS5までの構造文では,その自然文は次のようになる.{太郎が今日学校で花子に本を与えることは可能である}
となる.PS6がないので,(太郎),(花子),(学校)は一回しか出てこないので,*のマークを外して,MW12,MW13,MW14は表現可とする.この自然文を英語に翻訳するには,日本語の文字列KNJの単語を英語の文字列の単語に,日本語の助詞を英語のそれに相当する助詞に代え,語順を英語の標準語順APOSTに変えて,出力すればよい.
第53図は第51図をそのように変えた,英語用の構造文である.これを埋め込んだ順にMWを並べると,つぎのようになる.
Figure 0003811902
これから表現禁止の単語を取り除くとつぎのようになる.
Figure 0003811902
Figure 0003811902
これから()と[]を取り除くとつぎのようになる.
Figure 0003811902
となる.このスペースを取り除いたのがいわゆる自然文である.
{Taro can give Hanako books at school today}
この様子は全く日本語の場合と同じである.
第53図のルートPSのP格は(can),O格は( )となっているが,これを日本語の場合と同じ理由でPを(is)(あ),Oを(able)(可能)とすることができる.第54図はそのように変えたものである.これから自然文を生成すると,次のようになる.
Figure 0003811902
Figure 0003811902
これから表現禁止の単語と()と[]を取り除くと,次のようになる.
Figure 0003811902
ここで,PS3以上を全体格として埋め込む場合にP3の前に”to を付けて,to(give)とするが,”can”が前にくる場合には ”to”を省略したこの文からスペースを取り除いたのが,自然文である.
{Taro is able to give Hanako books at school today}
となる.PS1〜PS5までを自然文にすると,次のようになる.第56図にその構造文を示す.PS6がなくなったので,PS3の(Taro),(school),(today)を表現可にしなければならない.英語の場合はルートPSの主格A格に文章の全体を持って来ることができないという性質があるので,A格には形式的な(it)を置き,文章はX格に埋め込んでいる.英語で全体格を取り出すときには,第55図で示すように,全体助詞jmのthatを用いる場合と,第56図で示すfor(A)to(P)の場合があるので,その両方を示した.これを自然文に直すと次のようになる.
itを用いずにA格に対象とする文章全体埋め込むと次の二つの文章になり,
Figure 0003811902
itをもちいると,次の二つの文章が得られる.
Figure 0003811902
Figure 0003811902
これから,表現禁止,(),[]を取り除くとつぎのようになる.
Figure 0003811902
Figure 0003811902
形容詞と呼ばれている単語にもそれぞれ異なった意味構造をもっている.主なものについて,二,三紹介する.
{花子は美しい}という文章を構造文で示すと第57図のようになる.この意味構造は二階層のPSで構成されている.PS1は{花子のところには美しさがある}という意味を表している.PS2は{花子はそのような状態である},つまり{花子は{花子のところに美しさがる}という状態である}ことを表している.”花子”がAとSに埋め込まれているので,優先順位に従って,Sの”花子”を表現禁止にすると,{花子は{美しさがある}という状態である}になる.”美しさがあるという状態”に”美しい”という単語を割り当てると,{花子は美しいである}となる.形容詞そのものはもともと状態を表現しているので,”である”というのは冗長である.日本語では通常省略される.これを表現禁止にすると,{花子は美しい}となる.
”あつい”には”熱い”と”暑い”がある.”熱い”はものの温度が高い”ことを表現し,”暑い”は”大気の温度が高い”ことを表現している.その意味構造を第58図と,第59図で示す.AとS格には同じものが埋め込まれるが,これが,”熱い”場合が物体で,”暑い”場合が大気であるので,CNC/物体,CNC/気体として,その単語の内容を規定している.PS1は{A2には温度があり,その温度が高い状態である}ことを示しており,PS2は{A2はそのような状態である}ことをあらわしている.
{鍋は熱い}の構造文は第59図のようになる.{今日は暑い}の構造文は第58図のようになる.正確には{大気は今日は暑い}であるが,{今日は暑い}は日常使い慣れた表現であるから,”大気”が省略されたと考える.英語では”it”であるが,英語では主格は省略できないので,省略語”it”が埋め込まれいる.第59図において,PS1を自然言語に翻訳すると,{鍋では温度が高い}となる,PS1〜PS2を”熱い”という単語を用いなければ,{鍋は温度が高い}となる.
第27図で{A2が{A2自身に〜がある}状態にする}というのを{A2が〜を持つ}ことと同じ意味構造であることをすでに説明したが,”する”の代わりに”ある”にすると,”持っている”になるが,これを適用すると,上の文は{鍋は高い温度を持っている}になる.
以上のことから,{鍋は熱い}という表現の中に,{鍋では温度が高い},{鍋は温度が高い},{鍋は高い温度を持っている}という表現を内蔵していることになる.これらのうちどの表現をもちいても,同じ意味構造になるから,後でも述べるように,質問応答でテキストに{鍋は熱い}という文があったときに,{鍋では温度は高いでするか?}という質問に{はい,鍋は温度が高いです}と答えることができる.
{長崎の太郎}とか{太郎の弟}という表現は自然文ではしばしば現れるが,これを第60図で示すような意味構造を持っていると考える.(a)は{長崎には太郎がいる}が,その太郎である,(b)は{太郎には弟がいる}が,その弟であるということを表している.つまり{〜がいる}という存在を表すPS−EからA格を取りだしたのが,上に示した文である.ところが{弟の太郎}は{太郎は弟である}とう文章から(太郎)が取り出されたものであると考えられる.これを構造文で示すと,(c)のようになる.つまり{〜は〜である}という状態を表すPS−IからA格が取り出されたとものと考えることにする.{AのB}という文章はPS−EからかPS−IからかA格のBが取り出されたのかこれだけの文では分からない.Aが(弟)のように属性を表す単語であれば,PS−Iから取り出されたと分かるが,自然文では微妙な表現が多いので,どちらとも判断できない場合がおおい.しかし,もともと{〜の〜}という表現はかなり大ざっぱな表現にもちいられるので,判断がつかないときは,PS−Eを用いて一先ず解析し,あとで推論,合理性チェックなどで信頼性を高めるという方法をとっている.
{いまここに本が存在する}という自然文からP格(述語格)を取り出すと,{いまここでの本の存在}となることは,すでに説明した.これを構造文で示すと
Figure 0003811902
となる”いま”,”ここ”という単語を取り除くと,
Figure 0003811902
となる.つまり{本の存在}となる.さらに”本”を取り除くと,
Figure 0003811902
Figure 0003811902
となり,{存在}だけになる.{本の存在}は具体的な表現であるが,{存在}は抽象的な表現であると考えることにする.P格に埋め込まれた単語(文字列)はこの意味フレームを代表するラベルとなることが多い,このことから,P格以外に一つでも単語が埋め込まれたMWがあると具体的な表現であり,P格だけしか単語が埋め込まれていな場合は抽象的な表現であると考えることにする.
{与える}の意味構造は第32図で示したが,これには単語が何も埋め込まれていないので,抽象的な意味を表現していると考える.この抽象的な意味は次のようになる.始め{何か(A1)が何か(A3)のところに存在した}が,この時点では{何か(A1)は何か(A2)のところに存在する}という状態に{何か(A2)がする}つまり{何か(A2)が何か(A1)を持っている}という状態に{何か(A3)がいつか,どこかでする}つまり{何か(A3)がいつかどこかで何か(A2)に何か(A1)を与える}という意味を表現していることになる.ここで”存在”とか”持っている”という単語は自然文では表現されない単語である.(単語が埋め込まれていないMWの助詞,記号は通常表現されない.)
前述のように,意味の基本単位IMIである基本文PSを種々組み合わせていろいろな意味構造(概念)を構築し,それにラベルとしての単語(文字列)を割り当てる.このようにして構築された意味構造(意味概念)を意味フレームIMI−FRMを呼ぶ.そして,単語がまだ埋め込まれていない状態,即ち抽象的な意味概念を表現している意味フレームを集めて意味フレーム辞書DIC−IMIを作る.
意味フレームのデータ構造PSはDPSデータ領域に,データ構造MWはDMWデータ領域に格納されていて,各単語に対応する意味フレームのある場所は第61図に示すPTNテーブルPTN−TBLで示されている.同テーブルで,DPSはdps−stからdps−edまでに,DMWはdmw−stからdmw−edまでに格納されていることが分かる.各意味フレームにはptn−noがつけられていて,そのptn−noは単語WDの要素PTNに書き込まれている.従って,単語の意味フレームは単語WDの要素PTNからptn−noを取り出し,PTN−TBLから意味フレームを読み出すことができる.第62図と第63図は意味フレームをデータ文DT−Sで示したものである.このように自然文では表現されない単語,助詞,記号などを用いて抽象的な意味構造(概念)を規定した意味フレームをあらかじめ意味フレーム辞書DIC−IMIに登録しておき,あとで述べる意味解析のときに,入力自然文の構文解析の結果得られる言語構造情報IMF−LSに従って,この意味フレームを読み出したり,それを組み合わせたりして,入力自然文が持っている抽象的な意味構造を構築し,それに入力自然文の単語,助詞,記号を埋め込むことによって,具体的に意味を特定する.このようにすれば,コンピュータ上で入力自然文の意味を正確に表現することができる.本特許ではこれが基本的な課題になっている.
自然文がコンピュータに入力されると,自然文を一つの文字列KNJと考え,文字列の先頭からそれらの文字列が単語辞書DIC−WD(第65図)および形態辞書DIC−KT(第66図)に登録されているかどうかを一つ一つ調べて,構文解析を行う.それは次のような方法で行う.
まず,単語辞書DIC−WD(第65図)の文字列だけを集めた文字列辞書DIC−ST(第64図)を用いて,入力文字列の先頭から文字列辞書DIC−STに登録されている文字列があるかどうかを調べる.もしあればその登録されている文字列のLS,PTN,NTN,LOなどの言語構造情報IMF−LSを単語辞書DIC−WD(第65図)から読み取って,WSテーブルに書き込む.そして,入力文字列からその検索された文字列を取り除いた残りの入力文字列について,形態辞書DIC−KT(第66図)を用いて,その検索された文字列と接続する文字列を調べる.形態辞書DIC−KTはある文字列とそれに接続できる文字列を記述した辞書である.動詞,形容詞,形容動詞の活用形によって,また名詞,助動詞などの品詞によって分類されている.単語辞書DIC−WDの検索後,形態辞書DIC−KTによって,検索を行うが,単語辞書DIC−WDの要素.KYに形態辞書DIC−KTを用いて検索するときの分類名が格納されているので,その分類名を読み取って,その分類名で指示された範囲で検索を開始する.形態辞書DIC−KTに登録されている文字列が見つかり,検索が成功すると,その文字列がもっている言語構造情報IMF−LSを読み取って,WSテーブルに書き込む.但し形態辞書DIC−KTにはこの言語構造情報IMF−LSは記載されておらず,形態処理テーブルKT−PROCに記載されている.形態辞書DIC−KTの要素kt−stと,要素kt−edには検索された文字列KNJに対応する言語構造情報IMF−LSが格納さている範囲が書き込まれているので,言語構造情報を読み取ることができる.その文字列に接続することができる次の文字列は形態辞書の要素ndivに示されている分類名のところに記載されているので,その範囲で検索を行う.検索が成功すれば,そこで検索された文字列が示す要素ndivの分類名に従って,再び前述の方法で検索を続ける.ndivがendになるまで,検索を続けるが,ndivがendになると,それに継続する文字列はないので,残りの文字列にについては,始めに示したように文字列辞書DIC−STによる検索に戻って,残りの入力文字列について前述のような方法で検索を続行する.そして入力文字列が無くなったところで,構文解析が終了する.このようにして自然文は次の意味解析のために,言語構造情報IMF−LSなどで構成されたWSテーブルに変換される.
以上説明した構文解析を次の例文でもう少し詳しく説明する.
{太郎と次郎は花子達にバラだけをプレゼントしました}
という文章が入力されると,まず自然文の先端からの文字列KNJが文字列辞書DIC−ST(第64図)にあるがどうかを調べる.第64図にここで説明するためだけの必要最小限の文字列辞書DIC−STを示した.以上の自然文の先頭からの文字列で文字列辞書DIC−STにあるのは,”太郎”であるから,上の自然文から”太郎”を取り除くと,次のようになる.
{と次郎は花子達にバラだけをプレゼントしました}
文字列辞書DIC−STにおいて”太郎”という文字列KNJを持っている単語はWD−NO/1である.単語辞書DIC−WD(第65図)には,WD−NO/1の”太郎”に関する情報が記載されている.これから言語構造情報IMF−LSとあとで述べる意味フレームが存在する場所を示すPTNを取り出して,WSテーブルに書き込む.WSテーブルを第68図に示す.ここではDIC−WDの言語構造記号LSをLS1,LS3,LS4の三つに分けて示している.16進数4桁のLSの上2桁をLS1に,2桁目をLS3に,1桁目をLS4に分けている.単語辞書DIC−WDには要素KYに形態辞書DIC−KTで検索するときの,検索開始分類名が示してある.”太郎”の場合はKT/ff20(下2桁がdivになる)であるから,上に示した自然文{と次郎は−−−}の文字列が,divが20である範囲で示した文字列にあるかどうかを調べる.”と”は第66図に示すようにこの範囲にあるので”と”が検索できる.この”と”のDIC−KTでのkt−stとkt−edはともに179であるので,この”と”の言語構造情報IMF−LSは形態処理テーブルKT−PROC(第67図)のktproc−no/179から取り出すことができる.それをWSテーブル(第66図)に書き込む.WSテーブルに書き込むのはLS1,LS3,LS4,PTN,LOG,NTNLOG,KNJなどの言語構造情報IMF−LSである.LS1,LS3,LS4は前述のようにLSを三つに分けたものである.形態辞書DIC−KTの”と”においてはndiv/endであるから,この段階で形態辞書による検索をうちきり,残りの文字列
{次郎は花子達にバラだけをプレゼントしました}
について,始めに戻って,第64図の文字列辞書DIC−STを用いた検索を行う.”次郎”はこの文字列辞書DIC−STにあり,”次郎”はWD−NO/2である.この言語構造情報IMF−LSを単語辞書DIC−WDから取り出して,WSテーブルに書き込む.WD2はKT/ff20であるから,形態辞書ではdiv/20から検索を始める.”は”が検索できるので,”は”の言語構造情報IMF−LSを形態処理テーブルKT−PROCのktproc−no/249から読み出して,WSテーブルに書き込む.”は”はndiv/endであるから,形態辞書での検索を切り上げ,残りの入力文字列{花子達にバラだけをプレゼントしました}について,再び文字列辞書DIC−STを用いて検索と行う.この文字列辞書に”花子”があるので,”花子”の言語構造情報IMF−LSをWSテーブルに書き込んで,div/20で形態辞書の検索を行う.ここで”達”が検索できる.この言語構造情報を形態処理テーブルKT−PROCのktproc−no/165から読み取って,WSテーブルに書き込む.”達”はndiv/20であるから,もう一度div/20で残りの文字列{にバラだけをプレゼントしました}について,形態辞書で検索を行うと,”に”が検索できる.”に”の言語構造情報IMF−LSを形態処理テーブルKT−PROCのktproc−no/254から読み取り,WSテーブルに書き込む.”に”のndivはendであるから,ここで形態辞書での検索を切り上げ,また残りの文字列{バラだけをプレゼントしました}について,文字列辞書DIC−STで検索する.”バラ”が検索できて,その言語構造情報IMF−LSをWSテーブルに書き込む.形態辞書でdiv/20において,”だけ”を検索し,その言語構造情報IMF−LSをWSテーブルに書き込む.ndiv/20であるから,また残りの文字列{をプレゼントしました}について検索を開始する.”を”が検索できて,その言語構造情報をWSテーブルに書き込む.”を”はdiv/endであるから,形態辞書を用いた検索を終え,残りの文字列
{プレゼントしました}
について,文字列辞書による検索を行う.”プレゼント”が検索できて,その言語構造情報をWSテーブルに書き込む.”プレゼント”のKTはcであるから,残りの文字列
{しました}
について形態辞書のdiv/cで検索を開始する.そこで”し”が検索でき,そのときの言語構造情報を形態処理テーブルから読み取り,WSテーブルに書き込む.”し”はndiv/5aであるから,残りの文字列
{ました}
をdiv/5aで検索を行う.”ま”が検索できて,その言語構造情報IMF−LSテーブルに書き加える.”ま”のndivは14であるから,残りの文字列{した}
について,div/14で検索をする.ここで”した”が検索できて,その言語構造情報をWSテーブルに書き込む.”した”のndivはendであるから,もう一度文字列辞書による検索を行うが,ここで入力文字列がないので,構文解析が終了する.文字列辞書及び形態辞書による検索において,検索が失敗すれば,辞書に登録されてない文字列が入力自然文にあるということであるから,その時点で構文解析を中断して,構文解析不能とする.
先に示した文字列辞書,単語辞書,形態辞書,形態処理テーブルなどは,ここで説明に必要な最低限のものしか示していないが,実際にはかなり膨大で複雑な構造になっているあ.同様な方法で次に示す自然文を構文解析し,言語構造情報や辞書情報に変換したWSテーブルを第69〜73図に示す.
{次郎は太郎が花子にバラを与えなかったとは思わなかったらしいよ}
{バラは次郎によって太郎に対して花子に与えさせられなかった}
{次郎は太郎が花子にお金をあげたので花子が東京へ行ったと思った}
{元気な太郎が今日学校で白いボールを投げました}
{太郎の花子へのバラのプレゼントはありませんでした}
前述のように構文解析は入力自然文の文字列を単語辞書DIC−WDおよび形態辞書DIC−KTを用いて言語構造情報列IMF−LSLに変換するが,これを用いて,次に述べるような方法で,意味解析を行う.意味解析の結果はデータ文DT−SとしてPSデータ構造およびMWデータ構造で表現される.次に説明する場合は,言語構造情報列IMF−LSLを格納したWSテーブルから意味解析の途中経過を格納するMKテーブルMK−TBLを作成して,このMKテーブルを用いて意味解析を行う例である.これを具体的に示すと次のようになる.
第68図は{太郎と次郎は花子達に今日学校でバラだけをプレゼントしました}を構文解析して,これらの文字列を言語構造記号列LSLに変換したWSテーブルである.このWSテーブルの要素LS1,LS3,LS4をMKテーブルの要素LS1,LS3,LS4にコピーする(第74図).そしてMKテーブルの要素WSNOにWSテーブルのナンバーWS−NOを書き込む.従ってこのWSNOからWSテーブルの要素WDを求めそれから単語に関する情報を容易に取り出すことができる.MKテーブルにはその他に,要素MKK,PSMWK,NOがあり,要素MKKには最後のデータであることを示すendマークやその他意味解析を行う上で必要な各種のマークが格納される.このようにして作成したのが第74図に示すMKテーブルMK−TBLである.ここで例として紹介する意味解析はあとで詳しく述べるように,文章の先頭から逐次解析するのではなく,各種の意味解析文法IMI−GRMを言語構造情報列IMF−LSLに適用し,適用できるルールがあれば,部分的にでも意味解析を行う.このようにできるところからどんどん解析を進めるという方法をとっている.従って部分的には意味が確定しても,まだ全体の文脈との整合性がとれていない場合が生ずる.そこでそれを中間結果としてMKテーブルに書き残しておき,それも含めて他の言語構造記号列LSLと一緒に意味解析を行って行く.
第75図は
意味解析()のプログラムをC言語の様式に従って書いたものである.今後説明する文章の中では文字列の後に()を付け,文字列の下に を引くことによって,それが各種の言語処理を行う関数あるいはプログラムであることを示す.これが意味解析文法IMI−GRMの詳細な内容になる.
このプログラムは,
(1) 単語相互に論理関係のANDかまたはORがあるかどうかを調べるAND−OR関係()
(2) 名詞が複数かどうかを調べる複数関係()
(3) 論理関係のうち”のみ”,”だけ”,”しか”,”さえ”などの論理関係を調べるのみしか関係()XP関係()
(4) 動詞 相当の単語を検出し,その単語から意味フレームを読みだしたり,またいくつかの意味(IMI)フレームを結合してさらに大きい意味(IMI)フレームを構築し,その意味フレームにそれに関係する単語を埋め込む関数,即ち動詞関係()
(5) もともと意味フレームから取り出されたと考えられる単語を捜し,その単語をもとの意味フレームに埋め込む処理を行う関数,取りだし単語の埋め込み関係()
(6) 形容動詞が見つかった場合に処理を行う形容動詞関係()
(7) 形容詞が見つかった場合に処理を行う形容詞関係()
(8)基本文のPSとPSとが含意関係にある場合の処理を行うpimpp関係()
などから成り立っていて,while(1){}の{}内に書き込まれている.そのあと,
(9)MKテーブルの整理を行うMKテーブルの整理()
がある.
意味解析()が実行されると,このwhile(1){}の{ }の中に書き込まれている各関数が上から順に実行される.これらの関数の処理が成功すると”1”が返ってくるので関数は >0となり,breakにより,このwhile(1){}の{ }から抜け出す.抜け出すとMKテーブルの整理()というプログラムを実行する.
このプログラムはMKテーブルで不要になったデータを取り除く.不要になったデータは要素MKKが”0”になっているので,MK/0であるデータを見つけ,それを取り除いて,データを詰め,上から順に番号を付け直す.
その後,再びこのwhile(1){ }の{ }の中に入り,上述の各関数を上から順に実行する.各関数は後で述べるように,各関数のif(式)の式の部分に文法ルールが書き込まれているので,この文法ルールが成立すれば,if(式){}の{ }の中にある関数を実行し,うまく成功すれば,前述のように”1”を返すことにする.意味解析()のプログラムのwhile(1){}の中の全ての関数の処理が成功しないとき,即ちMKテーブルにつて全ての文法ルールを適用し尽くして,もうこれ以上適用できないときには,これで意味解析は終了するので,return(1)で”1”を返して,このプログラムを終了する.
第75図で示した意味解析()のプログラムは
(1)AND−OR関係(),
(2)複数関係()
−−−の順に並べているが,とくにこの順に並べる必要はない,むしろ各関数をこのような順番で行うかが正確な意味解析を行なう上で重要になる.ここにいろいろ工夫がこらされるのが普通である.
上述の意味解析()を実行すると,前述の入力自然文のMKテーブル(第74図)の場合では,まず最初に
AND−RO関係()
の中に書き込まれている文法ルールが成立し,
AND−OR結合()
を実行する.AND−OR関係()のプログラムの内容をC言語の様式で示すと第76図のようになる.このプログラムに書き込まれた文法ルールは同プログラムのwhile(1){ }の{ }の中にあるif(式)に次のような文法ルールが書き込まれている.これを簡単に説明すると次のようになる,i番目のMKの要素LS1が0x11(16進数の”11”で名詞を表す)C言語の様式で書くと,MK[i].LS1==0x11)で,次のi+1のMKの要素LS1が論理助詞(C言語の様式で書くとMK[i+1].LS1==0x51 *注0x51は論理助詞)で,さらにその次のi+2のMKの要素LS1が名詞(C言語の様式で書くとMK[i+2].LS1==0x11)である場合,つまりMKテーブルの要素LS1において,名詞+論理助詞+名詞と並ぶかどうかを調べるのがこの文法ルールである.この条件式が成立するかどうかを,i=0から,mk−maxまで,一つ一つ調べる.第74図の場合,i=0でこの条件式,即ちこの文法ルールが成立するのでif(式){}の{}にあるプログラム,即ち,AND−OR結合()を実行する.第77図にこの入力自然文について意味解析を終了したときの構造文を第78図にデータ文DT−Sを示す.
AND−OR結合()
は次のような処理を行う.即ち,第78図(b)で示すようなTMWデータ領域において,TMW1とTMW2の二個を確保して,TMW1の要素.WDに”太郎”,TMW2の要素.WDに”次郎”を書き込む.そして,TMW1とTMW2とが論理関係のANDで結合されていることを示すために,TMW1の要素.NにTMW2の”2”を,TMW2の要素.BにTMW1の”1”を,TMW1の要素.LOGに16進数4桁の”10
Figure 0003811902
る.(第77図)
Figure 0003811902
定したが,入力自然文での文脈の中で,まだ意味は確定していない.それを示すために,その代表として,左側のTMW1を代表として残し,その他をMKテーブルから取り除くことにする.そのために,0番目のMKの要素PSMWKに残すものがMWであることを示すために”MW”を,要素NOにその番号tmw−no/1を書き込む.これを実行するためには,C言語では第76図で示すように,
MK[i].PSMWK=MW;
MK[i].NO=tmw−no;
(ただしこの場合 tmw−noは”1”である)
と書けばよい.1番目と2番目のMKを取り除くにはMKの要素MKKに”0”を書き込む.これをC言語で書けば,
MK[i+1].MKK=0;MK[i+2].MKK=0;となる.このようにMKの要素MKKを”0”にしておくと,前にも述べたように,意味解析()のプログラムのの中にあるMKテーブルの整理()のプログラムを実行すると,MKK/0となっているMKのデータをMKテーブルから取り除いて,データを詰めて,番号を付け直す.これを実行したときのMKテーブルが第79図である.
AND−OR結合()を実行した後,”1”を返して,このプログラムを終了する.(C言語ではreturn(1);)と書く)
そして,意味解析( )に入り,さらに整理したMKテーブルについて,while(1){ }の{ }の中にある関数を始めから実行する.このMKテーブルでは
AND−OR関係()
の文法ルールは成立しないので,次の
複数関係()
を実行する.複数関係()は図示していないが,名詞(0x11)+複数助詞(0x43)の言語構造記号の並びが存在するかどうかという文法ルールを持っている.第79図で分かるようにi=2 で”花子達”すなわち名詞+複数助詞となるので,複数処理()を実行する.これは(”花子”とそれに”相当”するものがいて,それらがADN関係と同類のPU関係(複数関係)にあると
Figure 0003811902
関係を第77図,第78図(b)に示すように,構築する.即ち,MW3の要素.WDに”花子”を,要素.jpuに”等”を,要素.LOGに”10 (4桁の16進数の”10”で,複数という論理関係を表すことにする)を,要素.Nに相手のMWの番号”4”を書き込む,そして,MW4の要素.WDに”相当”を格納し,表現禁止にするために,要素.BKに”e###”を,要素.Bに相手のMW3の番号”3”を書き込む.これでこの部分の関係は記述できたが,入力自然文の中で意味がまだ確定していないので,”花子”が書き込まれているTMW3を代表として残し,他を全てMKテーブルから取り除く,そのために,,前に説明したように,MKの要素PSMWKに”MW”を,要素NOに”3”を書き込む.そして,他のMWの要素MKKに”0”を書き込む.
AND−OR関係()
)で”1”を返して,この関数の処理は終了する.MKテーブルの整理()を行って,MKテーブルを整理して,意味解析()のwhile(1){}の{ }の中の関数を実行する.
AND−OR関係()
複数関係()
にある文法ルールに該当するものがないが,
XP関係()
の文法ルールを適用する,第79図から分かるように名詞(0x11)+XP論理助詞(だけ,のみ,さえ,すら,しかなどの論理助詞0x43)が成立して,次のような処理を行う.第77図と第78図(b)に示すようにTMW5とTMW6
Figure 0003811902
法で書き込む.これは”バラ”と”以外”が”だけ”という論理理関係(XPの関係)にあることを示している.前と同じように,”バラ”たけを残して,他をMKテーブルから取り除くと,MKテーブルは第80図のようになる.このMKテーブルで示される言語構造記号は{MW1(太郎)は今日学校でMW3(花子)にMW5(バラ)をプレゼントしました}という自然文に相当する.このMKテーブルについてまた意味解析()を行うと,
AND−OR関係()
複数関係()
XP関係()
のifの条件式で示される文法ルールに該当するものがないのでパスするが,動詞相当として取り扱われる”プレゼント”という単語があるので,
動詞関係()
が実行される.動詞関係()のプログラムの内容をC言語で示すと,第81図のようになる.この関数の文法ルールはif(式){ }の条件式に書き込まれている.これはi=0 から,i>mk−max まで動詞(0x12)あるいは動詞相当の品詞(0x13)が存在するかどうかを調べるもので,第80図に示すように,i=6 で動詞相当(0x13)が発見されるので,if(式){ }の{ }にあるプログラムを実行する.動詞相当の次にあるLS1には0x73がないので,次の
IMIフレームの読み出し()
を実行する.これはWSNO/10から第68図のWSテーブルに飛び,WSテーブルから,PTN/14を読み取り,第61図から意味フレーム辞書でのこの意味フレームの存在場所を知り,第62図と第63図の意味フレーム辞書から意味フレームを読み取る.第63図に示す意味フレームのDPSモジュールと第62図のDMWモジュールをコピーしたのが第78図に示すPSデータとMWデータである.DPSの22〜24までとDMWの101〜116までが”プレゼント”の意味フレームである.PSの1〜3までと,MWの7〜23までが,読み出した”プレゼント”の意味フレームである.この意味フレームのルートPSのP格のMWの要素.WDに”プレゼント”を書き込む.次に
PS関係の助詞の埋め込み()
を実行する.これは動詞相当の”プレゼント”の後にある動詞の語尾助詞jgb(この場合は”し”),丁寧,否定,時制などを表現する時制否定助詞jntn(この場合は”ま”),時制否定語尾助詞jn(この場合は”した”),全体助詞jmなどをPSデータ,MWデータの該当する個所に書き込み,書き込んだ助詞をMKテーブルから取り除くために,MKテーブルの要素MKを”0”にするプログラムである.MKテーブルにおいては,動詞の活用の語尾助詞jgbは要素LS1において,”71”,時制否定助詞jntnは”91”,時制否定語尾助詞jnは”92”全体助詞jmは”81”で示されているので,これらの助詞があれば容易に分かる.このプログラムによって,第78図(b)のMW22の要素.jgbに”し”,TPS3の要素−jntnに”ま”,−jnに ”した”を書き込んだ.
この動詞の後に助動詞や助動詞に相当する品詞が続く場合があると,これらの助動詞の処理を行うために /*B*/のマークで示したwhile(1){ }を実行する.この{}の中にある
if(式){}の条件式は
MK[k].LS1==0x16||MK[k].LS1==0x12)
である,これはMKテーブルの要素LS1のk番目が0x16(助動詞)または動詞(0x12)であることをC言語で表現したものである.このプログラムについてはあとで,詳しく説明するが,この場合は助動詞はないのでbreakして,このwhile(){}の{}から抜け出て,次の
IMIフレームへの単語の埋め込み()
を実行する.IMIフレームへの単語の埋め込み()のプログラムを第82図に示す.動詞が存在するMKテーブルの番号を第80図に示すようにをkpbotに保管して,それを基点として,MKテーブルにおいて,−方向(逆方向)に解析を始める.同図で示すようにまず
if(MK[k].LS1==0x11||
MK[k].LS1==0x73||
MK[K].LS1==0x72)
が示すように,名詞N(0x11)か格助詞jcs(0x73)か強調助詞jost(0x72)であればそのif(){ }の{}の中にある文を実行する(C言語で||は論理関係のORを示す).
if(MK[k].LS1==0x72)
kpjost=k−−;
は,C言語で,もしそれが語強調助詞jos(0x72)であるならば,これが存在する番号kをkpjostに保管し,kを −1 することを示している.これを行った後,名詞(0x11)があればパスする.これはC言語では次のように表現する.
if(MK[k].LS1==0x11)
k−−;
となる.そして
if(MK[k].LS1==0x73&&
MK[k−1].LS1==0x11)
の場合,すなわち名詞+格助詞となれば,その格助詞jcsがある番号kをkpb1に,名詞Nのある番号k−1をkpb2に一時保管する.格助詞はあらかじめ MK[kpb1].WA に保管されているので,これをWAKに取り出し,
WAKで指示した格助詞がIMIフレームに一つだけ存在するか();というプログラムで,その格助詞が先ほど読み出した”プレゼント”という意味フレームにあるかどうか調べる.そして,意味フレームにあることが確認された格助詞とその組合わせ相手である名詞(名詞+格助詞)を格納するテーブルKWDJOを作成する.この場合語強調助詞josも格納する.意味(IMI)フレームには同じ単語は二回埋め込めないので,初めに存在することを確認した格助詞WAKを持つものだけを受け付ける.
この例文の場合最初に調べた格助詞は”バラ+”の””である.もし格助詞””が意味フレームにあれば,このときの名詞,格助詞,語強調助詞は意味解析済みとして,MKテーブルから取り除くために,
MK[kpb1].MKK=0;
MK[kpm].MKK=0;
MK[kpjost].MKK=0;
とする.そして,
k −=2;
として,MKテーブルにおいて2個分逆方向に移動して,もう一度While(1)の{ }のプログラムを実行する.これを繰り返すが,意味(IMI)フレームに埋め込む格助詞がなくなれば,このときのMKテーブルの番号kをkptopに格納して,意味フレームに埋め込む単語が存在する範囲の上限(kptop)とする.第80図にkptoPの位置を示した.この例文ではKWDJOテーブルは第83図のようになる.そして,この上限kptopから正方向,つまりkが増加する方向に移動して,基点kpbotまでの範囲内で,すでに解析済み(要素MKが”0”のもの)でないもので,名詞だけを拾い上げて,KWDテーブルに書き込む.これは格助詞を持たない名詞だけのものである.KWDテーブルを第84図に示す.この例文では格助詞が付かない名詞だけの単語は”今日”だけである.このようにして意味フレームに埋め込める名詞+格助詞(KWDJOテーブル)と,名詞だけ(KWDテーブル)が明確になった.次にこれらの名詞および格助詞を具体的に意味フレームのどこに埋め込むが問題になる.これを行うなうのが次のプログラムである.名詞+格助詞に関しては
単語−格助詞テーブルの単語.格助詞の埋め込み()
のプログラムを用いて,単語だけの場合は
単語テーブルの単語埋め込み()
のプログラムを用いる.
KWDJOテーブルやKWDテーブルをわざわざ作ったのは単語を埋め込むときの優先順位を任意に選ぶためである.単語+格助詞の場合はKWDJOテーブルにおいて,下から取り出して埋め込み,単語単独の場合は上から取り出して埋め込みを行う.ある言語構造の中で規定されている格はこの格の役割や地位によってそれを表現するために固有の格助詞をもっている.しかし格助詞は一つでなく複数である場合が多い.またさらに他の言語構造と合成されるなどして,その言語構造が変化すると,全体の言語構造における従来の言語構造での格の地位や役割が相対的に変化するので,それを表現するためにも,その格助詞が変化する場合がある.
このようにある固有の格はいくつかの格助詞を持ち,格の言語構造における地位や役割によって,明確に規定されているので,格の地位や役割を指示すれば,格助詞を特定することができる.本特許ではこの原理を用いて意味(IMI)フレームIMI−FRMへのの単語の埋め込みを行っている.意味(IMI)フレームではすでにMWの要素.jinxに16進数4桁の形で,jindx−x,およびjindx−yが書き込まれて,その格助詞が規定されている.16進数の4桁の3桁目と4桁目でjindx−yを,1桁目と2桁目でndx−xを示している.
第85図に格助詞テーブルJO−TBLを示す,この場合,JOテーブルの(jindx−x,jindx−y),(jindx−x+1,jindx−y)の二ケ所で,二個の格助詞を指定している.単語+格助詞の組合わせを意味フレームに埋め込むには,次のような方法で行っている.即ち,入力自然文から変換した構造文において,探索経路SR−PTを設定し,その経路に沿ってMWを辿り,単語を埋め込むことが許可されているMWで,WAKと同じ格助詞をもち,しかもまだ単語が埋め込まれていないMWを捜しだし,見つかれば,そのMWの要素.WDに単語を埋め込む.この作業をKWDJOテーブルの全ての単語について行う.
”プレゼント”という意味フレームに設定した探索経路SR−PTを第86図で矢印をつけた線で示した.格助詞をもつMWについては,( )( )で二つの格助詞を示した.前者の( )は(jindx−x,jindx−y)を,後者の( )は(jindx−x+1,jindx−y)の格助詞を示している.起点としてルートPS(PS3)を与え,そして基本文PSでの格の選択順位を決める.ここでは,格の順位をATSOPをした,同図では分かり易くするために,この順序で並べて示した.起点PS3からスタートすると,まずA格を選び,そのMW18に移る.その格助詞()WAKの格助詞( )と一致するかどうかをみる.一致しなければT格のMW19に移動して,同じことを行う.O格のように上にPSが結合されている場合は,隣のP格に移動する前に,上のPS2に移動する.このような方法で同図で示した探索経路が設定できる.この経路を辿り,MWがWAKを同じ格助詞を持ち,しかもまだ単語が埋め込まれていないものをさがす.最初は(jindx−x,jindx−y)の格助詞について調べその経路になければ,もう一回同じ経路を辿りながら,(jindx−x+1,jindx−y)について調べる.もし前述の埋め込み条件を満たしていると,そのMWの要素.WDに単語とそのときの格助詞WAKを要素.jcsに埋め込む.これらのデータはすでに埋め込み可能であることを
WAKで指示した助詞詞がIMIフレームに一つだけ存在するか()
というプログラムで確認してあるので,KWDJOテーブルの名詞,格助詞はすべて埋め込めるはずである.
これらの処理を行う
単語,格助詞テーブルの単語,格助詞の埋め込み()
というプログラムをC言語の様式で書けば第87図ようになる.同図でms=jindx−x+1としたのは,(jindx−x,jindx−y)について,格助詞の探索()
を実行しても,成功しない場合はもう一度(jindx−x+1,jindx−y)で格助詞の探索()を行うためである.まず
do{ }while(jindx−x<=ms)の{ }の中にある格助詞の探索()を実行するが,同図で示すように意味(IMI)フレームIMI−FRMの起点をx=MK[kpnv].NOで指定して,探索経路の設定()プログラムを実行する.探索経路の設定()ではまず基本文のPSにおいて格の優先順位を指定する.この場合,APOSTの順で格を辿り,その格助詞を捜す.A格に結合しているMWは
nn=TPS[x].Aで指定されているので,PSからこのMWに移って,ここでWAKで示されている格助詞があるかどうかをMWでの探索()というプログラムで調べる.MWでの探索()はまずそのMWの要素.jindxからjindxを読み取る.jinxにはjindx−xとjindx−yが書き込まれているが,そのうちjindx−yを取り出す.そして,wa=JO[jindx−y][jindx−x]によってJOテーブルから意味(IMI)フレームに書き込まれている格助詞waを取りだし,もしwaが存在すれば(waが0でなければ),そのMWが単語埋め込み許可でしかも単語がまだ埋め込まれていなければ,waとwakが一致するがどうかを調べ一致していれば,探索を終了してKWDJOテーブルの次の単語+格助詞の探索を行う.
もしJOテーブルに格助詞がなかったり,単語埋め込み許可でなかったり,またすでに単語が埋め込まれていれば,要素.MWで示されるMWに移って探索を継続する.MWに接続されるものはMWかPSであるが,MWかPSかによって,探索経路の設定の仕方がことなるので,分岐がPSがMWかの判定()のプログラムを実行する.もしMWに何も接続されていなければ(mw!=0),右隣のMW,即ちnt=MW[nn].Nで示されるMWに移って,そこから探索を行う.分岐がPSがWMかの判定()プログラムを実行して,分岐がPSであれば(分岐がPSである()>0),再びこのMWに戻ったときに,このMWから探索を続行するようにxx=x;nnn=nn;として,この時点でのPS及びこのMWのナンバーをxxおよびnnn待避させて置く.探索経路は必ずこの点に戻ってくるが,xx=x;nnn=nnとして,元のPS及びMWを取りだして,その点から再び探索を始める.分岐点がMWであれば(分岐がMWである()>0),このMWから上に接続されているMWをnn=MW[nn].MWによって,読み取り,そのMWに移って,ここから探索を行う.この場合も探索経路は必ずこのMWに戻ってくるので,この点から探索を継続できるように,このMWとこのPSを一次保管する.以上のような方法で探索経路を設定し,その経路上を移動しながら,その経路にあるMWで,KWDJOテーブルに格納されている格助詞の文字列と同じものがあり,しかもそのMWに単語埋め込みが許可されており,また単語がまだ埋め込まれていないものを捜して,それに単語と格助詞を埋め込む,この処理によって単語および格助詞が埋め込まれた結果を構造文では第77図に,データ文では第78図に示す.
MWの要素MKに”c000”が記載されている場合は要素.RPで指示されるMWと同じ内容の単語を格納することになっているので,両方に同じ単語を埋め込むことになるが,最初に埋め込まれた方を表現可とし,他を表現禁止とする.KWDテーブルの単語だけの埋め込みは単語テーブルの単語埋め込み()のプログラムによって行うが,これは名詞+格助詞の処理を行ったあと,同じ探索経路を辿って,単語埋め込み可でまだ単語が埋め込まれていないMWを捜して,見つかったところから,順に埋め込んでいく.
前にまず探索経路にそって(jindx−x,jindx−y) ついて調べ,もしなければ,同じ探索経路で,(jindx−x+1,jindx−y)についてもう一度調べる方法について述べたが,一回の探索で(jindx−x,jindx−y)と(jindx−x+1,jindx−y)の二個の格助詞について調べても良い.TPSでの格の順位はここではATSOPとしたが,英語の標準語順のAPOST,中国語の標準語順ATSPOなど入力自然文の言語構造に応じて,選択すると正確な意味解析ができる.
{元気な太郎が今日学校で白いボールを投げました}という文は前にも説明したように{太郎は元気である}と{ボールは白い}と{太郎は今日学校でボールを投げました}という三つの文が合成されてできた文である.次にこのように合成された文の意味解析について説明する.
この入力自然文を単語辞書DIC−WDと形態辞書D1C−KTを用いて構文解析を行うと第73図に示すWSテーブルのようになることはすでに述べた.このWSテーブルからMKテーブルを作成したのが第88図である.このMKテーブルに第75図の
意味解析()
のプログラムを実行すると,
AND−OR関係()
複数関係()
XP関係()
の中で示す文法ルールに該当する言語構造記号はないので,いずれのプログラムも実行されないが,第91図で示される
形容動詞関係()
のプログラムはi=0でif(式)の条件式が該当する.その条件式をC言語の形式で書くと次のようになる.
if(MK[0].LS1==0x18&&
MK[1].LS1==0x71
MK[2].LS1==0x12)
つまり,形容動詞(0x18)+語尾助詞(0x71)+動詞(0x12)という文法ルールがi=0で成立するので,if(式){ }の{ }のなかのプログラムを実行する.まず
IMIフレームの読み出し()
を実行する.これは前にすでに説明したように第88図のMKテーブルのi=1からWSテーブルの番号WS−NO/1を読み取り,第73図のWSテーブルから,IMIフレームの番号であるPTN/22を読み取る.それによって形容動詞のIMIフレームを第92図に示すようにPSデータ領域およびMWデータ領域に読み出す.PS1からPS2までと,MW1からMW8までが読み出した意味フレームである.
次に形容動詞,語尾助詞の埋め込み()
のプログラムによって,形容動詞の”元気”をO格に,形容動詞の語尾助詞”な”を第92図のようにMW7の要素.jgbに埋め込む.そして”元気”と”な”と””の処理が終わったとして,MKテーブルからこれらを取り除くために,MK[i+1].MKK=0;MK[i+2].MKK=0;とする.この”元気な”はこの段階までの意味解析は終了したが,まだ入力文全体において意味が確定していないので,この部分がまだ未確定であることを明示するために,この意味フレームの最下層PSの番号即ちルートPSであるtps−ed/2をMK[i+2].NO=2と書き込み,これがPSであることを示すために,MK[i+2].PSMWK=PS
とした,
MK[i+2].LS1=0x22
として,要素.LS1の内容をPS(0x22)に書き直して置く.そしてreturn(1);で”1”を返すので,
意味解析()
のwhile(1){ }の{ }から抜け出して,MKテーブルを整理した後,再びこの{}に入り,始めからプログラムを実行する.このときのMKテーブルを第89図に示す.次に実行されるのは,第94図に示す
形容詞関係()
である.第89図のMKテーブルにおいて,i=6;でif(式)の条件式が該当するので,if(式)の{ }のプログラム文が実行される.まず
形容詞フレームの読み出し()
のプログラムで,形容詞のIMIフレームをPSデータ領域およびMWデータ領域に読み出す.第92図のPS3からPS4までと,MW9からMW17までが読み出したモジュールである.さらに
形容詞,語尾助詞の埋め込み()
によって,形容詞の”白”をO格のMW16の要素.WDに,形容詞の語尾助詞”い”を第92図に示すようにMW16の要素.jgbに埋め込む.そして”い”を解析済みとするために
MK[i+1].MKK=0;
とする.”白い”は上述のように意味解析されるが,しかしまだ入力文全体からみて,意味解析は終わっていないから,この部分がまだ残っていることを示すために,
MK[i].PSMWK=PS;
MK[i].NO=tps−ed;
として,さらに
MK[i].LS1=0x22;
として,要素LS1にPS(0x22)を,MKテーブルの要素PSMWKに”PS”を,要素NOにtps−ed/4を書き込んでおく.tps−edは形容詞のIMIフレームのルートPSである.この場合はPS4である.そしてreturn(1)でwhile(1){}から抜け出て,再びこのプログラムに入って,同じように始めからプログラムを実行する.すでに解析済みとしてMK[].MKK=0;とされたものは,MKテーブルから取り除かれるから,MKテーブルは第90図のようになる.このMKテーブルに
意味解析()
を実行すると,第90図のMKテーブルにおいてi=0;でPS(0x22)+名詞(0x11)となっているので,
取りだし単語の埋め込み関係()
のプログラムの文法ルールが該当する.このプログラムを第95図に示す.
言語構造記号の並びがps(0x22)+名詞(0x11)となっているとき,その名詞はそのPSが代表するIMIフレームから取り出されたものであると考える.{元気な太郎}{白いボール}は{?は元気である}太郎,{?は白い}ボールにおいて,”太郎”,”ボール”は?のところから,取り出されたものと考えることにしたことは既に説明した.したがってここではルートPS(PS2)が代表する意味フレームにこの名詞を埋め込ませる処理を行う必要がある.このプログラムが取りだし単語の埋め込み関係()
である.このif(式){ }の{ }のプログラムを実行する,単語を埋め込もうとする意味フレームのルートPSの番号はMKテーブルの要素NOに格納されているので,
x=MK[i],NO;
(x=2 即ちPS2)でxに取り出すことができる.これが意味フレームの探索起点になるので,これから任意の優先順位を指定した探索経路を設定して,前述のような方法で,その探索経路上のMWを辿り,単語が埋め込めるMWを探す.第96図に{元気である}という意味フレームの構造文にこの探索経路を実線で図示する.この経路上のMWで,単語が埋め込み可能でまだ単語が埋め込まれていないMWを探すと,MW4が最初に見つかった.このMW4の要素.WDに単語の”太郎”を埋め込む.このMWの.WDの単語”太郎”は自然文に変換したときに,表現しないようにするために,これを第92図に示すように要素.BKに”e###”を書き込んでおく.(#はどんな値でもよいことを示す,つまり16進数の4桁だけを”e”にすることを示す).
通常意味フレームにはすでに単語や,助詞や記号が前述のような方法で埋め込まれているので,まだ埋め込まれていないところを探して埋め込むことになる.埋め込み先はこのように最初に見つけたMWであるから,探索経路の設定によって埋め込むMWが左右される.従ってどのようにして探索経路を設定するかが問題である.ここではPSでの格順序をATSOPとして探索経路を設定したが,しかしこれだけの情報では,正確な場所に埋め込めないので,色々な優先順位を付けた探索経路を設定して,埋め込み可能なMWに優先順位を付けるとか,時間格,空間格などのように特別な性格のMWでは,それにふさわしい単語を選別するとか,埋め込まれる単語の内容がCNCで規定されている場合には,埋め込む単語の辞書情報によて,埋め込むときに評価して選別するとか,あるいは前後の文脈から合理的な判断を行って,埋め込みの可否を判断するなどを行っている.MK[i].MKK=0として,PS2は処理済みとして除去する.そしてreturn(1);とするので,
意味解析()
のwhile(){}から抜け出して,
MKテーブルの整理()
を実行すると,第97−1図のようになる.再び{}のに入る.そしてまた
取りだし単語の埋め込み関係()
プログラムのif(式)の式で示す文法ルールがi=5で該当するので(第97図),前述と同じの方法で,”白い”の意味フレームに”ボール”を埋め込む.埋め込んだ後,前と同じように”白い”に対応したPS4を取り除いて,return(1);でこのプログラムから抜けだし,
MKテーブルの整理()
のプログラムを実行する.MKテーブルは第97−2図のようになる.この段階でMKテーブルは
Figure 0003811902
と同じ内容になる.これからの意味解析は前述の通りになる.結局,入力文の意味解析結果はデータ文で示すと,第92図,構造文で示すと第93図のようになる.
以上の意味解析で埋め込まれていない単語であるMW10の”ボール”,MW2の”太郎”は各々MW13,MW4から要素.RPの指示によってコピーされたものである.
{次郎は太郎が花子にバラを与えなかったとは思わなかっかたらしいよ}という入力文は”与える”の意味フレームと,”思う”の意味フレームと,”らしい”の意味フレームが合成されてできた”与えると思うらしい”という意味フレームに”次郎は”,”太郎が”,”花子に”,”バラを”という単語と格助詞が埋め込まれてできた文であると考える.上述の入力文を構文解析すると,第69図のようなWSテーブルが得られる.これからMKテーブルを作ると第98図のようになる.これに
意味解析()
プログラムを実行すると,MKテーブルのi=8に動詞(0x12)があるので,
動詞関係()(第81図)
のプログラムに移り,
動詞関係()
のif(式){}の{}の中のプログラムを実行する.まず
IMIフレームの読み出し();
によって”与え”の意味(IMI)フレームが,呼び出され,PSデータ領域とMWデータ領域に書き込まれる.第100図に示すように,PS1からPS3までおよびMW1からMW16までが”与え”の意味(IMI)フレームのPSおよびMWのモジュールである.そして
PS関係の助詞の埋め込み();
プログラムによって,時制否定助詞”な”,時制否定語尾助詞”かった”,全体助詞”と”,語強調助詞”は”などのPSに関係する助詞を各々要素.jgb,.jntn,.jn,.jm,.jostに埋め込む(第100図(a)).この段階でこれらの単語および助詞は解析済みとする.
そして次の/*B*/で示すwhile(1){}の中のプログラムの実行に移る(第81図).kはPSに関係する助詞が存在しなくなるMKテーブルの番号である(k=13 第98図).この場合
MK[k].LS1==0x16&&
MK[K].LS1==0x12
(16進数の16,つまり0x16は助動詞,0X12は動詞)を示す)が成立するので,
IMIフレームの読み出し();
を実行し,”思”のIMIフレームをPTN/8(第61図)から,取り出し,第100図に示すようにPSデータ領域とMWデータ領域の後に続けて書き込む.”思う”の意味フレームのPSモジュールはPS4からPS5まで,MWモジュールはMW17からMW24までである.そして”与える”の意味フレームを”思う”の意味フレームに,
IMIフレームの結合()
によって埋め込む.このプログラムは”思う”の意味フレーム内に探索経路を設定して,MWを辿りながら,意味Iフレームが埋め込めるMWを探す.MWの要素.BKに”a### ”(#は任意の16進数,これは4桁目がaで,他はどんな数字でもよいことを示す)が書き込まれている場合はそのMWの要素.MWに優先的に埋め込むが,このマークがあるMWがない場合は通常の取りだし単語の埋め込みと同じ方法で,探索経路上で埋め込み可能なMWを探し,最初に見つかったMWに埋め込む.”思う”の意味フレームでは要素.BKに”a###”を持つMW17があるので,そこに”与える”の意味フレームを埋め込む.意味フレームの結合はそのMW17の要素.MWに”与える”の意味フレームのルートPSの番号PS3を書き込み,それがPSであることを示すために,要素.BKに##e#(16進数の2桁目を”e”とする)を書き込む.”思う”の意味フレームに”与え”の意味フレームを結合すると,両方のルートPS,PS3とPS5,に時間格(MW13,MW21)と空間格(MW14,MW22)があるので,同じ内容が埋め込まれるT格とS格が二箇所できることになる.どちらかを表現禁止あるいは埋め込み禁止にする必要がある.ここでは基本的に下位のルートPSを表現可にして,上位のルートPSを表現禁止としているので,上位のルートPSのT格のMW13とS格のMW14の要素.BKに表現禁止のマーク”e###”を書き込み,下位のルートPSのT格のMW21とS格のMW22に単語が埋め込まれたら,それをこのMWにも埋め込めるように,このMW13の要素.RPにそのMWのナンバーMW21,MW14にMW22を書き込んで置く.次に示すように指示されていないときには,以上のような処理を行うが,通常はどのような処理を行うかは,下位のルートPSのA格,T格,S格のMWの要素.BKに処理の内容を指示するデータを書き込んで置く.例えば,”6###”の場合は,上位の格を表現禁止にし,下位の格を表現可とし,”9###”の場合は,上位の格を表現可,下位の格を表現禁止とするなどど指示を与えている.一方を表現禁止にすると,表現可とされたMWに単語が埋め込まれた場合,その単語を表現禁止のMWにも埋め込めるように,表現可のMWの要素.RPに表現禁止のMWのナンバーを書き込むか,あるいは表現禁止のMWの要素.RPに表現可のMWの番号を書き込む.以上の処理は
IMIフレームの結合()
のプログラムで行ったが,その後,”思”のPSに関係する助詞,即ち 語尾助詞の”わ”,時制否定助詞の”な”,時制否定語尾助詞の”かった”を取り出して,意味フレームのルートPSの要素.jgb,.jntn,.jn,.に埋め込むが,これは
PS関係の助詞の埋め込み();
のプログラムで行う.その結果は第100図に示す.このプログラムを実行した後,もう一度もとに戻って,第81図で示すwhile(1){ }の{}(/*B*/のマークで示す)の中のプログラムを実行する.ここで再び
MK[k].LS1==0x16││
MK[k].LS1==0x12;
が成立するので,
IMIフレームの読み出し();
プログラムを実行し,”らしい”の意味フレームを取り出し,第100図に示すようにPSデータ領域とMWデータ領域に”与えると思う”という合成意味フレームのあとに続けて書き込む.PS6からPS9までと,MW25からMW38までが”らしい”の意味フレームのPSモジュールとMWモジュールである.”らしい”の意味フレームには要素.BKに”a###”のデータをもったMW28があるので,このMW28の要素.MWに”与えると思う”という合成意味フレームのルートPS,PS5を埋め込むことによって,両方の意味フレームを結合する.これは
IMIフレームの結合()
プログラムによって実現できる.続いて,形容詞の語尾助詞の”い”と語強調助詞jos/”よ”を,第100図で示すように,
PS関係の助詞の埋め込み()
プログラムで埋め込む.この処理の後は,
MK[k].LS1==0x16││
MK[k].LS1==0x12
は成立しないので,break;によって,このwhile(1){}から抜け出して,次に
IMIフレームへの単語の埋め込み()
プログラムによって,”次郎は”,”太郎が”,”花子に”,”バラを”を上述の方法で合成された”与えると思うらしい”という意味フレームに埋め込まれる.合成された意味フレームを分かり易くするために,構造文で示すと第99図のようになる.第101図で格助詞と実線で探索経路を示した.また同時にすでに示した方法で得られた
Figure 0003811902
ムへの単語の埋め込み()についてはすでに説明した.名詞+格助詞のKWDJOテーブル(第102図)と名詞のKWDテーブルを作成し,これに基ずいて,この探索経路に沿って,単語が埋め込めるMWを探す.この場合,格助詞が付かない単語はないのでKWDテーブルにはなにもない(図示せず).単語の埋め込みはKWDJOテーブルの下のほうから行う.まず”次郎は”の”は”があるMWをこの経路にそって探すと,MW20が見つかり,そこに”次郎は”を埋め込む.”太郎が”,””花子に””バラを”も同様な方法で容易に見つけることができる.その結果を構造文で示したのが第99図のようになり,データ文では第100図のようになる.
{バラは次郎によって太郎に対して花子に与えさせられなかった}という文は{太郎は花子にバラを与える}という文と{次郎はそれをさせる}という使役の文と{バラはそのような状態である}という受け身の文が合成されてできた文であると考えることにしたことはすでに述べた.ここではこのようにしてできた合成文の意味解析について述べる.
この入力文に構文解析を行うと第70図のようなWSテーブルが得られる.このWSテーブルからMKテーブルを作ると第103図のようになる.このMKテーブルに
意味解析()
のプログラム(第75図)を行うと次のようになる.i=8;でMK[8].LS1==0x12(動詞)になるので,
動詞関係();
のプログラム(第75図)が実行される.
動詞関係()
では
IMIフレームの読みだし()
のプログラムによって,”与える”の意味フレームが意味フレーム辞書DIC−IMIから読み出されて,PSデータ領域とMWデータ領域に書き込まれる.PS1からPS3までとMW1からMW16までがこの意味フレームのPSモジュールとMWモジュールである.(第104図)
PS関係の助詞の埋め込み()
のプログラムによって,”さ”という語尾助詞jgbを埋め込む.そしてwhile(1){ }(/*B*/の印で示す)の{ }のなかのプログラムに移る.この助詞の次が助動詞(0x16)であるから,
IMIフレームの読みだし();
で使役の意味フレーム”せる”を意味フレーム辞書から読み出して,PSデータ領域とMWデータ領域に書き込む.第104図に示すようにPS4とMW17からMW21までがこの意味フレームのPSモジュールとMWモジュールである.次に
IMIフレームの結合();
によって,”与え”の意味フレームを使役の意味フレーム”せる”に結合させて”与えさせる”という合成意味フレームを作る.以上はこれまで説明した内容と全く同じであるが,日本語では,使役,受け身を結合する場合は,結合される意味フレームのルートPSの,特に,A格の格助詞が次のように変化する.例えば,{太郎が花子にバラを与えた}を使役形にすると{次郎が太郎に対して花子にバラを与えさせた}や{次郎が太郎に花子にバラを与えさせた}となるように,”太郎”を”太郎に対して”あるいは”太郎”のように格助詞が変化する.従って,使役形にするときには,この格助詞を変更しなければならない.意味フレームには,そのフレームが単独で用いられるときの格助詞が要素.jinxであらかじめ指示されているが,他の意味フレームが結合されたときに,変化するのであれば,結合したときに,変えておかなければならない.IMIフレームへの単語の埋め込みど( )では意味フレームの格助詞を頼りに単語を埋め込むので,正しい日本語になるような格助詞を設定し直しておかなければならない.この意味フレームの格助詞を変更する方法はいろいろあるが,この場合では次のように行っている.即ち第85図に示すように使役用の格助詞は格助詞が格納されているJOテーブルJO−TBLおいて,その格助詞が格納されている位置よりjindx−y+1の位置に格納しておく.”与える”の意味フレームのルートPSのA格の格助詞はMWの要素.jinx(0701)によってJOテーブルの(jindx−x/1,jindx−y/7)と(jindx−x+1/2,jindx−y/7)で”は”と”が”が指定されている.これが使役形になったときの格助詞はjindx−yを+1したJOテーブルに格納されている.つまり(jindx−x/1,jindx−y+1/8)と(jindx−x+1/2,jindx−y+1/8)に使役形になったときの格助詞が格納されているので,A格のMWの要素.jinxのjindx−y成分を+1すればよいことになる.すでに説明したように要素.jinxには16進数の4桁のデータが書き込まれているが,4桁と3桁でjindx−y,2桁と1桁でjindx−xを表している.このjindx−yを+1すればよいので(0701)を(0801)にすれば良い.これによって,””と””は””と”に対して”になる.使役と受け身の結合と,あとで述べる名詞化では格助詞を変更しなければならないが,これはIMIフレームの格助詞の変更()というプログラムで行う.そのほか”与える”の意味フレームのルートPSのT格(MW13)とS格(MW14)の表現を禁止することや,使役”せる”の意味フレームのルートPSのT格(MW18),S格(MW19)のMWに埋め込まれた単語をコピーするためにT格,S格のMW13,MW14の要素.RPにT格,S格のMWの番号MW18,MW19を格納するなどの処理を行う .そして,使役の”せる”に関する助詞を
PS関係の助詞の埋め込み()
によって実行し,動詞の語尾助詞jgbの”ら”をMW21の要素,jgbに埋め込む.この処理のあと再び/*B*/で示すwhile(1){}の{ }のなかのプログラムに戻るが,
MK[k].LS1==0x16||
MK[k].LS1==0x12
となるのでもう一度if(式){ }の{ }ののプログラムを実行する(0x16は助動詞).そして,受け身の”れる”の意味フレームを読み取り,PSデータ領域とMWデータ領域に書き込む.第104図に示すように,PS5とMW22からMW26までがこの意味フレームのモジュールである.そして,”与えさせる”というこれまでの合成された意味フレームを受け身”れる”という意味フレームに埋め込む.このとき前述のように”与えさせる”の意味フレームのルートPS,PS4(これは”れる”の意味フレームのルートPSと同じである)の時間格,空間格を表現禁止にし,主格(A格)の格助詞を受け身用に変更する.使役の場合はjindx−y+1としたが,受け身の格助詞はJOテーブルにおいてjindx−y+2の位置に格納されている.即ち(jindx−x/1,jindx−y+2/9)と(jindx−x+1/2,jindx−y+2/9)に””と”によって”が格納されている.(第85図),そのために埋め込む意味フレームのルートPSのA格のMW17の要素.jindx(0701)のjindx−y成分を+2とする(第104図(b)).
IMIフレームの格助詞の変更();
プログラム(図示せず)でこのような処理を行ったあと,
PS関係の助詞の埋め込み();
プログラムを実行して,時制否定助詞の”な”および時制否定語尾助詞の”かった”を前述のような方法でPS5要素−jntnと−jnに埋め込む(第104図).このあとbreakでwhile(1){ }がら抜け出して,
IMIフレームの単語の埋め込み()
を行う.このようにして合成された意味フレームは”与えさせられる”という文の意味構造を構築したことになる.これをわかりわすくするために構造文で書くと,第105図のようになる.この図では単語埋め込みの説明に必要なものだけ,即
Figure 0003811902
て示した.このプログラムによって第106図のKWDJOテーブルが作成される.この場合はKWDテーブルには何も単語はない(図示せず).
このKWDJOの格助詞が存在するMWを指定された探索経路にそって探す,この方法につてはすでに述べたので,省略するが,第105図から分かるように”バラは”はMW1に埋め込まれる.
同様にように”次郎によって”はMW17に”太郎に対して”はMW12に,”花子に”はMW7が埋め込まれるが,受け身の”れ”の意味フレームのA格に埋め込まれた単語だけは,”与えさせ”という意味フレームのどこかの格から取り出された単語であるので,その出身地を見つけなければならない.すでにMW17,MW12,MW7は埋め込まれているので,のこっているのはMW1だけである.そこで,ここに”バラ”を埋め込む.このように”バラ”はMW1にあったものが取り出されて,”与えさせられる”という意味フレームのルートPSのA格に埋め込まれると考えるが,同じ単語が存在する場合には下位を表現とし,上位のものを表現禁止という基本的な考えでMW1表現禁止にしている.
{次郎は太郎が花子にお金をあげたので花子が東京へ行ったと思った}という文は{太郎が花子にお金をあげた}という文と{花子が東京へ行った}という文が〜のでという含意関係で結合されていて,この結合された文が{次郎が〜と思った}という文に埋め込まれてできた文であると考えることはすでに述べたが,ここではこのような文の意味解析について説明する.この入力文に構文解析を行うと第71図に示すようなWSテーブルが得られる.これからMKテーブルを作ると,第107図のようになる.このMKテーブルに第75図の
意味解析()
プログラムを実行すると,i=8;MK[i].LS1==0x12(動詞)となるので,まず第81図の
動詞関係()
のプログラムが実行される.そして
IMIフレームの読みだし()
で”あげる”のIMIフレーム(PTN/14)をIMIフレーム辞書から取り出し,第108図のようにPSデータ領域とMWデータ領域にPSモジュール(PS1からPS3まで)とMWモジュール(MW1からMW16まで)を書き込む.次に
PS関係の助詞の埋め込み();
で語尾助詞jgb”た”をMW16の要素.jgbに時制否定助詞jntn””(””は文字列なし)をPS3の要素−jntnに,埋め込む.なお,時制助詞jntnの文字列は何もないが,後でPS3の要素.NTNに”過去”を示すデータ”2”(2進数では”0010”)を入れるために,WSテーブル(第71図)にi=10で示すような欄を設け,このデータを書き込んでおく.
このMKテーブル(第107図)やWSテーブル(第71図)では文字列を処理するるためだけでなく,意味解析を行うのに必要な記号や情報を記載するためにこのような操作を行っている.
この次には助動詞類(0x16)がないので,つぎのwhile(1){ }(/*B*/で示す)の{ }の中のプログラムは実行せず,
IMIフレームへの単語の埋め込み()
のプログラム(第82図)を実行する.このプログラムについてはこれまで何回か説明してきたので,ここではあまり説明しないが,次の点だけ説明を補足しておく.このプログラムは動詞(0x12)があるi=8;以前において,単語+格助詞の組合わせのもので,その格助詞と同じ格助詞がIMIフレームにあるかどうかを,指定した探索経路を辿りながら探し,あっても一個しか埋め込めないとして,それに該当するものをKWDJOテーブルに登録しておく.”あげる”のIMIフレームを構造文で示すと第110図のようになる.同図に探索経路を実線で,格助詞をMWの()の右端に,また同時にあとでも述べる意味解析結果も示した.この図から分かるように,”お金”の””,花子”の””,”太郎”の””は同図から分かるよようにIMIフレームにあり,埋め込み可能であるので,KWDJOテーブル(第112図)に登録する.しかし第107図のWSテーブルのi=0にある”次郎”の””は,意味フレームムにあるが,すでに”太郎が”そのMW12に埋め込む予定となっているので,このMW12には埋め込むことができない.従って,”あげる”の意味フレームには”次郎は”は埋め込むことができないので,このIMIフレームへの埋め込み範囲はi=8からi=2まである.従って,KWDJOは第112図に示すものになる.詳細な説明は省略するが,この意味解析結果は第109図のようになる.これで{太郎が花子にお金をあげた}という文の意味解析は終了したが,入力文全体での意味解析はまだできていないので,ここまで意味解析ができて,これを次の意味解析で処理することを示すために,次のようなプログラムを組んで
MK[i].PSMWK=ps;
MK[i].NO=tps−ed;
とする.ここでtps−edは3である.このIMIフレームのルートPS(PS3)をMKテーブルのこの動詞の位置,即ちi=8のとところに書き込む.そして,return(1):でこの動詞関係();のプログラムから抜け出す.”1”を返すので,意味解析()のwhile(1){ }から抜け出す.そして,処理が終了したものを
MKテーブルの整理();
プログラムで除去する.MKテーブルは第114図のようになる.これに
意味解析()
プログラム(第75図)を実行すると,i=8でMK[8].LS1==0x12(動詞)となり,第81図の
動詞関係()
プログラムを実行する.
IMIフレームの読み出し();
で”行く”のIMIフレームをIMIフレーム辞書から読み出して,第108図に示す用にPSデータ領域アとMWデータ領域にそのPSモジュール(PS4からPS5まで)とMWモジュール(MW17からMW27まで)を書き込み,
PS関係の助詞の埋め込み()
プログラムでjgb”った”とjntn””およびNTNに”2”を埋め込む.以上のプログラムで処理済みのものについては,MK[].MKK=0;として後で,MKテーブルから取り除くが,{花子が東京へ行った}という文は入力文全体での意味解析が完全に終わっていないので,この文のルートPS(PS5)をMKテーブルに登録する.そのために,
MK[i].PSMWK=ps;
MK[i].NO=tps−no;
とする.tps−edはこの場合5になる.
MKテーブルの整理()
プログラムによって処理済みのものを取り除くと,MKテーブルは第115図のようになる.これに
意味解析()
プログラム(第75図)を実行すると,i=2でPS(0x22)+jimp(0x53)+PS(0x22)となるので,
PimpP()
プログラム(図示せず)を実行する.(0x22,即ち16進数の22は品詞としてのPSを,0x53は含意の論理助詞を表す)このプログラムは二つの文章を含意関係で結合させるもので,構造文で示すと,
Figure 0003811902
のような結合関係を構築することになる(第109図)).これは{太郎が花子にお金をげた}という文と{花子が東京へ行った}という文が原因,理由を示す含意関係で結合されていると考える.この原因,理由を表す論理助詞を”ので”とすると,{太郎が花子にお金を与えた}ので{花子が東京へ行った}となる.このような関係を構築するためにMWデータ領域にMW29とMW30の二個を新たに設け,それに第108図で示すように相手のMWの番号を要素.Bと要素.Nに書き込む,即ちMW29の.Bに”28”を,MW28の.Nに”29”を書き込む.そしてMW28の要素.LOGに”AS”(コード番号0x8000),MW28の要素.jlgに”ので”と書き込んで,これらのMWが論理関係ASで結合されていることを明示する.これによって,以上の意味関係が決まるが,まだ入力文全体での意味が確定していないので,この文の代表として,論理関係の場合は一番左のMW28だけを残し,他を意味処理済みとして,MKテーブルから除去する.代表としたMW28はMKテーブルでのPS3があった,i=2のところに書き込む.この処理を終えると.MKテーブルは第116図のようになる.これに
意味解析()
プログラム(第75図)を実行すると,MK[4].LS1=0x12(動詞)となるので,
動詞関係()
プログラム(第81図)を実行する.まず
IMIフレームの読み出し()
によって,”思う”のIMIフレームを取り出しで,第108図のように,PWデータ領域(PS6からPS7まで)とMWデータ領域(MW30からTMW37まで)に書き込む.
PS関係の助詞の埋め込み()
プログラムによって,動詞の語尾助詞jgb”った”を埋め込む.このあとは,データがないので,
IMIフレームへの単語の埋め込み()
に移る.このプログラムで作成するKWDJOテーブルは第113図のようになる.第111図に”思う”というIMIフレームの構造文を示した(すでに意味解析によって単語を埋め込んだ状態で示した),それに格助詞と探索経路を実線で示した.格助詞の””は”思う”のIMIフレームにあるので,MW28は第111図,あるいは第109図に示すようにそこに埋め込まれる.”次郎”は”思う”のルートPSのA格に埋め込まれる.これでMKテーブルのデータがなくなるので,入力文の意味解析が完全に終了したことになる.その結果の構造文は第109図に示す.{太郎の春子へのバラのプレゼントはありませんでした}という文は{太郎は花子にバラをプレゼントしました}という文全体を一つの単語として取り扱うために{太郎の花子へのプレゼント}として,それを{〜はありませんでした}という文に埋め込まれたと考えることにした.このことについてはすでにのべたが,このような文の意味解析について説明する.この文の構文解析を行うと第72図のようになる.このWSテーブルからMKテーブルを作ると第117図のようになる.これに第75図の
意味解析()
プログラムを実行すると,i=6でMK[6].LS1==0x13(する動詞)であるから,第81図の
動詞関係()
のwhile(1){ }の{ }の内のプログラムが実行される.0x13(16進数の13)で示される品詞は”競争する”,”プレゼントする”などのように名詞や動詞になりうる単語で,これに”する動詞”となずけている.
IMIフレームの読み出し()
でまず,”プレゼント”というIMIフレーム(PTN/14)をIMIフレーム辞書から読み出し,第120図に示すようにPS−タ領域とMWデータ領域に読み出す(PS1からPS3までとMW1からMW16まで).次はする動詞の次に格助詞が来る.即ち,する動詞(0x13)+格助詞(0x73)となるので,
if(MK[i+1].LS1==0x73){}の{ }のなかにあるプログラム,即ち
名詞化への格助詞の変更()
を実行する.これは,”プレゼント”のIMIフレーム全体を一つの名詞(単語)とするために格助詞を””は””に,””は”への”に,””は””にというように変える.この格助詞は格助詞テーブルのJOテーブルJO−TBL(第85図)の格助詞のあるjindx−x/7(jindx−xは変数で,”7”はその値)に書き込まれているので,IMIフレームの全ての格助詞のjindx−xを”7”にする(第120図)ことによって,名詞化したときの格助詞を指定することができる.第121図に”プレゼント”のIMIフレームを表す構造文と変更した格助詞および後で述べる探索経路を実線で示した.
この処理を行うのが
名詞化への格助詞の変更()
プログラム(図示せず)である,
このMKテーブルでは助動詞(0x16)がないので,次の
IMIフレームへの単語の埋め込み()
プログラムを実行する.ここで作成されるKWDJOテーブルは第122図のようになり,格助詞が””である場合が二回あって,IMIフレームでも””のあるMW(MW1とMW12)の二個ある.従って,どちらをどれにいれるか明確でない.ここでは,KWDJOテーブルにおいて探索する単語の優先順位を設定し,さらに優先順位を指定した探索経路を設定し,その経路にそって,探索している格助詞が存在するMWを捜しだし,見つかった順番に埋め込むという方法を取っている.この場合,KWDJOテーブルの下から探索単語を指定している.まず”太郎”の””を探すと,その経路の最初にあるのがMW12で,それに”太郎”を要素.WDに,””を要素.jgbに埋め込む(第120図).つぎに”春子への”では”への”という格助詞は一つしかないので,MW7への埋め込みは一義的に確定する.その次の”バラ”の””の場合は,二ケ所あるが,MW12の場合はすでに”太郎”が埋め込まれているので,もう一つのMW1に入れる以外ない.このように同じ格助詞が二ケ所以上あると,KWDJOテーブルでの順位と探索経路での順位で決定することになる.これまでの処理を自然文でしめすと{太郎が春子にバラをプレゼントした}という文を一つの単語として取り扱うために{太郎の春子ヘのバラのプレゼント}としたことになる.もし入力文が{バラの春子への太郎のプレゼント}であれば,この方法で意味解析を行うと{バラが春子に太郎をプレゼントした}ということになる.もしこの文からでも{太郎が春子にバラをプレゼントした}という意味を確保するためには,”太郎”が人間で,動作主でありうること,”バラ”はもので,動作,行為の対象でありうることを,調べて,この結果を用いると,このようなあいまいな文での意味解析の精度を上げることができる.
”太郎の”,”花子への”,”バラの”,”プレゼント”は処理済みとして,MKテーブルから除去する処理を行うが,この文全体は単語をして次の文に埋め込むために,i=6;で
MK[i].PSMW=PS;
MK[i].NO=tps−ed;
というプログラムを書いて置く.tps−edは”プレゼント”というIMIフレームのルートPSの番号で,この場合”3”である.このようにしておくと,この文がまだ入力文全体としては意味解析されておらず,代表としてPS3がMKテーブルに残されていることを示している.このMKテーブルは第118図に示すが,これは{PS3はありませんでした}という意味になる.このMKテーブルに再び第75図の
意味解析()
を実行すると,第81図の
動詞関係()
が引っ掛かって,このプログラムを実行する.i=2には文字列はないが,PTN/1で示される”がある”というIMIフレームが読み出せるようにWSテーブル(第72図)にPTNの番号が書き込まれているので,このPTN/1からIMIフレームの読み出し()
によって,第120図に示すようにPSデータ領域にPS4をMWデータ領域にMW17からMW20までを書き込む.そして
PS関係の助詞の埋め込み()
プログラムで,MW20の要素.jgbに”あり”,PS4の要素−jntnに”ま”を,−jnに”せんでした”を書き込む.その後
IMIフレームへの単語の埋め込み();
によって,第119図と第120図に示すように,”PS3”はIMIフレームで””があるMW17に埋め込む.これでMKテーブルの全てのデータがなくなったので,意味解析は終了し,入力自然文は全てデータ文に変換されたことになる.このデータ文DT−Sを用いて,質問応答,知識獲得,翻訳などを行う.
前述のようにコンピュータ内で自然言語処理を行うためには,自然文をデータ文DT−Sに変換しなければならない.このデータ文を用いると,次に説明するように,コンピュータ内で質問応答を容易に行うことができる.
簡単なテキスト文と簡単な質問文の場合は後で述べるように,本特許では極めて容易に質問応答を行うことができるので,まず人間でもどのように答えてよいか分からないように難しい例文から説明する.例えば,
{次郎は太郎が花子にバラを与えなかったとは思わなかったらしいよ}
という文を含むテキスト文があったとき,このテキストに対して
{太郎か三郎が花子と秋子にバラを与えましたか?}
という文で質問したときに,解答文をどのようにして作成されるかについて説明する.テキスト文としては,上にあげた文だけでなく,他にも多くの文の集合があるのが普通であるが,ここでは説明を簡単にするために,テキストにはこの文だけであるとする.この文のデータ文DT−Sはすでに意味解析の手法を説明するために第100図示した.その構造文は第99図に示す.また上の質問文の構造文を第123図,データ文を第124図に示す.基本的には質問文をテンプレートとして,テキスト文についてパターンマチングを行い,テキストのうち最もよく一致した文を中心にして,解答文を作成する.テキスト文と質問文とのパターンマッチングは厳密にいえば三つの段階に分けられる.1)予備評価(予備調査),2)ラフパターンマッチング,3)詳細なパターンマッチングである.詳細なパターンマッチングはラフパターンマッチングの合致条件を厳密にするのが主な相違点であるため,ここでは特に説明しない.予備評価は次のようにして行う.まず質問文において探索単語を決め,その単語がテキスト文にあるのか,あればどこにあるかを調べる.そして,さらに,その単語が存在するMWが結合されている格が質問文のそれと同じであるがどうかを調ベる.(今後テキスト文にあるPS,MWをTPS,TMW,質問文のPS,MWをQPS,QMW,回答文のPS,MWをAPS,AMWとする.この予備評価に合格してはじめてラフパターンマッチングを行う.予備評価はまず質問文において,優先順位をつけて探索経路を設定して,その探索経路に沿って,QMWを辿り,単語が埋め込まれているQMWを探し出し,見つかった単語を順に並べて,探索単語テーブルSRWD−TBLを作成する.探索経路の設定には色々な方法があるが,ここでは第125図の実線で示す探索経路のようにPS内での格を辿る順番をAPOSTとして,上−右ルールでルートPSから探索を開始している.上−右ルールというのは上に接続されているものがある場合,即ち要素.MWにデータが書き込まれている場合はまず上のPSかMWに移動し,もし上に接続されていない場合は右に接続されているMWすなわち要素.Nに書き込まれているMWに移動するというルールである.このような探索経路で検索された質問文のSRWD−TBLは[太郎,三郎,与え,花子,秋子,バラ]となる.初めのほうにある単語のほうが重要性が高い単語であるとして,このテーブルの始めのほうの単語からその単語がテキスト文に存在するか,あればどこにあるかを調べる.テキスト文に埋め込まれている単語はテキスト文のTMWデータ領域(第100図)において,要素.WDの始め(TMW1)から,順に調べていけばよい.第100図の要素。WDには分かりやすくするために,日本語が記入されているが,実際にはコンピユータ内では,例えば”太郎”については16進数でコード化された”0xe451”が書き込まれている.第100図において,TMW3で”太郎”が検出される.同じ単語”太郎”がテキスト文にあるだけでなく,その単語が存在するTMWが結合しているTPSの格と,質問文において,その単語が結合しているQPSの格とが一致しているかどうかという予備評価を行う.その単語が結合している格が異なっていると意味が基本的に異なっていると考える.格が異なっている場合はパタマッチング処理を行なわない.”太郎”が最初に見つかったTMW3の格は第99図から分かる用に,S格で,探索単語である”太郎”がある質問文のQMW1の格は第123図から分かるように,A格である.この場合”太郎”という単語は一致しても,格が異なるのでTMW3の”太郎”については予備評価には合格しない.次に”太郎”が発見されるTMW12では,第99図から分かるように,ともにA格で予備評価に合格する.単語とその格が一致することを確認して,初めてパターンマッチンを開始する.パターンマッチングは質問文のベースPS(意味フレームのルートPSをベースPSと呼ぶ)とその単語が存在するテキスト文のベースPS(BASE−PS)を取り出して,それを起点として質問文とテキスト文とのパターンマッチンを行う.自然文は意味解析()のところで述べたように,例えば,{与えたと思ったらしい}という文章は”与えた”というIMIフレームと,”思った”というIMIフレームと”らしい”というIMIフレームをIMIフレーム辞書から読み出し,合成されものである.IMIフレーム辞書から読み出された各IMIフレームの範囲はTPSの要素.MKで16進数の最上位桁に”1”(0x1###)で上限を,”e”(0xe###)で下限を指示している.第100図において,TPS1の要素.MKの”100e”の4桁目の”1”が”与える”のIMIフレームの上限,TPS3の要素.MKの”e00e”の4桁の”e”が下限を示している(ベースPSはTPS3).これで”与える”のIMIフレームのPSモジュール,MWモジュールの範囲が分かる.要素.MKの4桁目の”1”および”e”をみれば,”思う”のIMIフレームのTPSモジュールはTPS4〜TPS5(ベースPSはTPS5),”らしい”のIMIフレームのTPSモジュールはTPS6〜TPS9(ベースPSはTPS9)であることが分かる.構造文ではベースPSは一目で分かる.パターンマッチングは,IMIフレーム辞書に登録されているIMIフレームを基本単位として行う.そのために,その単語が存在するIMIフレームのベースPSを求める.この質問文のベースPS.即ち,”太郎”が存在するIMIフレームのルートPSは第123図から分かるように,QPS3であり,テキストにおけるテキスト文のベースPSは第99図から分かるように,TPS3になる.従って,質問文は
{太郎か次郎が花子と秋子にバラを与えましたか?}
という文であるが,これに対応するテキスト文のベースPSはTPS3であるから,テキスト文からベースPSのTPS3以上の文を切り取った文つまり
{太郎が花子にバラを与えなかった}
という文とのパターンマッチンを行うことになる.これを構造文で示すと,第126図の(a)にテキスト文,(b)に質問文を示す.同時に探索経路を示したが,あとで述べるようにこの探索経路をある短い区間で区切り,それに番号を付けて示した.まず質問文において,優先順位を指定した探索経路を設定するが,同時にテキスト文においても,全く同じ探索経路を設定し,質問文における探索経路上での進行に合わせて,テキスト文においても,探索を進行させて,質問文中に存在する単語がテキスト文のそれにも存在するがどうか調べ,もしあれば,その単語が存在するTMWの位置,即ち,TPS番号や格の種類に応じて,評価点を設定し,その評価点の合計によって,二つの文のパターンマッチンの一致度を評価する.
なお,パターンマッチンを行うときに,同期をとるために,探索経路をいくつかに区切っての探索区間を設定する.PSの格を探索区間のスタート点として,例えば{元気な太郎}のように,探索経路にPSがあれば,それを区切りとして,PSとPSの間を一つの探索区間とする.このように,まず質問文及びテキスト文のIMIフレームのベースPSで切り取り,IMIフレーム同志でパターンマッチンを行うが,それは,そのPSでの同じ格で探索区間を設定して,その探索区間で質問文に存在する単語が,テキスト文にも存在するがどうかをみることによって行う.例えば,質問文において最初の探索区間は,第126図(b)に示すように,
Figure 0003811902
QPS3のA格をスタート点とするものである.これに対応するテキスト文での探索区間は次のようにTPS3のA格をスタート点とするつぎのものである(第126図(a)にも示す),区間番号は▲1▼である.
Figure 0003811902
質問文にある探索単語の”太郎”は,テキスト文にもある.このときの評価点を,例えば5点とすると,質問文にある”三郎”はテキスト文にないので評価点の加算はゼロである.探索経路における次の探索区間はQPS3のP格を起点とする区間▲2▼である.この探索区間は
Figure 0003811902
であるが,これに対応するテキスト文の探索区間はTPS3のP格を起点とする次のような区間▲2▼である.
Figure 0003811902
”与え”はテキスト文にもあるので,評価点を”4”とすると,これで,一致度の評価点は合計9になる.つぎの経路はO格を起点とする探索区間▲3▼である.
Figure 0003811902
これらの区間には単語はないので,評価を行わず,次の探索経路をたどる,次の探索区間は上のQPS2のA格,TPS2のA格を起点とする次のような区間▲4▼になる. 質問文では
Figure 0003811902
Figure 0003811902
となる.質問文の”花子”はテキスト文にもあるので,このときの評価点と5をすると,一致度の評価点の合計は14になる.このように探索経路の全ての探索区間について,評価すると,この二つの文のパターンマッチン度を示す一致度評価点がえられる.このようなパターンマッチンを全ての探索単語について,全てのテキスト文について行うと,最も一致度評価点が高いテキスト文が得られる.このテキスト文を中心に回答文を作成する.
以上の処理で
{太郎か次郎が花子と秋子にバラを与えましたか?}
という質問文と
{太郎が花子にバラを与えなかった}
というテキスト文とのパターンマッチンを行ったことになる.全てのテキストについて,この質問文とのパターンマッチンを行い,評価点を参照して,回答文を作成するが,一般的には,まず評価点の最も高いテキスト文から回答文を作成する.ここでは仮にこのテキスト文が最も評価点が高かったとして,この文を用いて回答文を作成する.
上に示したテキスト文は
{次郎は太郎が花子にバラを与えなかったとは思わなかったらしい}
という文から切り出された文である.テキスト文として記述されているのは{〜与えなかった}というのではなくて,{〜与えなかったとは思わなかったらしい}という内容であるため,回答するためには,この全文でなければならない.この全文で回答するためには,その文の最下層のPSを求めなければならない.それには左−下ルールによってに行えばよい.左−下ルールというのは,PS,MWにおいて,まず左側にPSあるいはMWがあるかどうかをみる.もしあれば,要素.Bに指定された左側にあるそのPS,MWに移り,左側になければ,要素.Lで指定される下に隣接するPS,MWの移るというルールで,このルールで設定された探索経路に沿って,TPSおよびTMWの要素.L及び要素.Bを辿り,下に隣接するPSがないPSを求めればよい.回答文作成用として指定させたテキスト文のベースPSはTPS3であるが,TPS3に要素.Bはなく,第100図に示すように,要素.LはTMW17で,であるため,TMW17に移る.TMW17の要素.Bは”0”で要素.LはTPS4であるため,TPS4に移る.TPS4には要素.Bはなく,要素.LはTMW23であるため,TMW23に移る.TMW23の要素.Bは”0”で,要素.LはTPS5であるため,TPS5に移る.,TPS5の要素.Bは”0”で要素.LはTMW28であるから,TMW28に移る.TMW28の要素.Bは”0”であり,要素.LはTPS7であるから,TPS7に移る.TPS7の要素.Bは”0”で要素.LはTMW31であるからTMW31に移る.,TMW31の要素,Bは”0”であり,要素..LはTPS8であるから,TPS8に移る.さらに,TPS8からTMW37に移り,TPS9に移る.TPS9の前にも下にも何もPSあるいはMWも接続されていないので,これがルートPSになる.このルートPSをベースにして回答文を作成することになる.このデータ文を一旦回答文エリアにコピーする.TP1〜TPS9までのTPSモジュールとTMW1−TW38までのTMWモジュールをそれぞれコピーし,これをAPS1〜APS9と,AMW1〜AMW38とする(第128図).このデータ文を自然文に変換すると,{次郎は太郎が花子にバラを与えなかったとは思わなかったらしい}(第127図)
になる.つまり,”太郎か三郎”でなく,”太郎”であり,”花子と秋子”でなく,”花子”であり,{〜与えたか?}という文に対して{次郎は〜与えなかったとは思わなかったらしい}と答えることになる.
テキスト文が正しい内容であるとすると,このように回答することが正しい.
回答文を作成するためには,この回答文用データ文に次に示すようないろいろな処理を行なわなければならにことがあるので,このように,特別に回答文エリアを設けている.
例えば,話し手と聞き手の間で,”バラ”を与えたことがすでにわっかていて,話題にしていない場合に,
{太郎か三郎が花子と秋子に与えましたか?}というように,何を与えたかが表現しないとがある.この場合も
{次郎は太郎が花子にバラを与えなかったとは思わなかったらしい}
と答えることもできるが,話題にしていないのであるから,回答文においても,”バラ”を表現しないほうがよいこともあると思われる.このような場合は,次のようにして,”バラ”の表現を禁止することができる.即ち,質問文と回答文とはパターンマッチングのときに示したように,単語同志は一対一で対応がとれているので,質問文の単語の位置に対応する回答文の単語の位置は容易に分かる.質問文の要素.WDに単語が埋め込まれていない場合,即ち,.WD/0の場合,それに対応する回答文のAMWは容易に求めることができる.そのAMWを表現禁止,即ち,要素.BKの最上桁(4桁目)を”e”(0xe###)とすればその単語を自然文から取り除くことができる.このようにすれば,上述の自然文は
{次郎は太郎が花子に与えなっかたとは思わなかったらしい}
となり,簡単に”バラ”省略することができる.
つぎに簡単なテキスト文と簡単な質問文による質問応答について説明する.
もし,テキストに
{太郎が花子にバラを与えました}
という文があるとき,
{太郎が花子にバラを与えませんでしたか?}
という質問をしたときに回答文は
{いいえ,太郎は花子にばらを与えました}
となるが,このときテキストにない”いいえ”,”はい”などの単語を追加しなければならない.これは,回答文のルートPSのY格にAMWを設け,その要素.WDに”はい”,”いいえ”などを書き込めば,このような回答文を作成することとができる.
第129図(a)に示す
{太郎が花子にバラを与えました}
というテキスト文に
{誰が花子にバラを与えましたか?}
という文で質問をしたときに,質問文とテキスト文についてパターンマッチンを行い,疑問詞”誰”という単語が埋め込まれているQMW12に対応するTMW12をテキスト文で見つけて,そのTMW12の要素.WDにある単語”太郎”を回答文(第130図)のそれに対応するAMW12の要素.WDに”太郎”を埋め込めば,
{太郎が花子にバラを与えました}
という回答文がえられる.このような回答文の他に,例えば,この”誰”といのを強調するために
{花子にバラを与えたのは太郎である}
と回答することもあるが,このような回答文は次のようにして,容易に作成することができる.即ち,第131図(b)のように,{太郎が花子にバラを与えた}という文のAPS3の下にさらに{〜は〜である}というPS−I(APS4)を結合して,上の文をこのA格のAMW17に結合し,O格のAMW20の要素.WDに”太郎”を埋め込む.このままでは”太郎”は二回でて来るので,上の文の”太郎”(AMW12)を表現禁止にする.このようにして,データ文を作成すれば,上に示した回答文が得られる.
AMW12の単語の”太郎”をA格の(AMW17)の要素.WDに埋め込み,上の文をO格のAMW20の要素.MWに埋め込むと第131図(a)図で示すような構造文になり,
{太郎は花子にバラを与えたのです}
となる,この場合も”太郎”が二回ででくるので,上位のAMW12の”太郎”を表現禁止にしている.このように,回答文はテキスト文にない色々な単語を追加したり,削除したり,また,構造を変更する必要が生じる.そのために,わざわざ回答文エリアをもうけている.
多くの国の言語を取り扱うためには,任意の語順で自然文を生成できることや,また意味を任意に合成したときにはその意味にふさわしい自然文を生成するために,特に日本語の場合,適切な活用の語尾助詞を選択できることが必要がある.ここではこれらの手法について説明する.まず,任意の語順で自然文を生成する方法について説明する.
自然文生成の起点として,PSあるいはMWを指定しなければならない.その起点から自然文生成経路PR−PTを設定する.この生成経路の設定は探索経路の設定と同じ方法で行うが,前述の質問応答でのパターンマッチングでは,基本文PSでの格の優先順位をAPOSTとして経路を設定したが,自然文生成経路においては,日本語,英語,中国語で語順が異なるので,それらの国別の言語に応じた自然文が生成できるような経路を設定しなければならない.基本文のPSでの格の順番は日本語の場合,標準語順はATSOP,英語の場合はAPOST,中国語の場合はATSPOである.
自然文生成ではPSの他にMWの語順についても規定しなければならない.PSおよびMWの語順の指定の仕方にはいろいろあるが,ここでは,PSについては,語順テーブルを用いた方法,MWについてはプログラムで指定する方法を説明する.PSには上に述べた格ATSOPの他にX,Y,Zがあり,この格の他に,各種の助詞jntn,jn,jm,jostや,記号j1,j2があるが,これらを含めて,日本語の場合の語順を第132図(自然文生成語順表SQ−TBL)に示す.ここで*Jはjntn,jn,jm,jostの順で出力することを示す.この表に登録することによって,特殊な語順も容易に指示することができる.例えば,{あなた,太郎が花子にバラを与えましたよ}を{太郎が花子にバラを与えましたよ,あなた}というように,Y格のMWに埋め込まれる”あなた”の語順を変えて,意味を強調することがある.その他表現に色々な語順が必要な時があるが,この表に登録しておけば,どのような語順にも対応できる.同表の横軸の変数sqxは格の取り出し順を示し,この順に自然文が生成される.縦軸のsqyは語順指定番号で,この番号で語順を指定する.この番号はPSの要素.MKの16進数の3桁目に格納されている.ここでは,このデータが”0”の場合,即ちデフォルト値の場合は標準語順で,特殊な語順を指定する場合に,この表の語順指定番号を書き込むことにしている.自然文生成を行うときには,PSの要素.MKから語順指定番号を読み取り,それをsqyとして,出力語順を決定して,sqx/1から最後まで,次々に単語を取り出して,文字列に変換する.英語,中国語の場合はそれに対応する自然文生成語順表SQ−TBL−E,SQ−TBL−Cを持つことになる.MWでの語順は,日本語,英語,中国語で異なっているが,国別の各言語で変わることは少ない.MWの語順もPSの場合と同じように表で指定することもできるが,ここでは次のように,プログラムで指定している.日本語の場合は,例えば,まず冠詞jr,接頭語jh,MW,F,単語WD,接尾語jt,複数助詞jpu,論理助詞3jxp,論理助詞2jls,語強調助詞jos,論理助詞1jlg,格助詞jcs,語尾助詞jgb,文強調助詞jostの順に出力する.要素.MWと要素.F,Hは経路を生成するためのもので,生成経路はこのMWとF,Hを通るが,再びこの点に戻るので,戻った後,これに続いて,上述の単語WD,接尾語jtl−−−などを出力する.これまでデータ文や構造文で分かり易くするために,単語,助詞,記号は日本語,英語などの文字列を用いてきたが,実際にはコンピュータ内ではすべてコード番号が用いられている.そのためコード番号を文字列に変換する必要がある.日本語の場合,単語は日本語用単語辞書DIC−WDを用いて,コード番号からそれに対応する日本文字列に,英語の場合,英語用単語辞書EDIC−WDをもちいて,英語文字列に変換する.助詞及び記号がこれらの単語辞書に記載されている場合には,この辞書を用いればよいが,助詞,記号が助詞用辞書に記載されている場合には,これらの辞書,日本語用助詞辞書DIC−WA,英語用助詞辞書EDIC−WAを用いて,文字列に変換することになる.
{次郎は太郎が花子にバラを与えたと思った}
という自然文の生成経路を第133図に示す.英語の場合は第134図のようになる.日本語と英語では基本語順が異なるので,日本語の場合は,ATSOP,英語の場合はAPOSTの順でこれを図示している.ルートPS(PS5)をを起点として,生成経路を設定し,この経路に沿って,自然文を生成するが,最初に文字列に変換するのはPS5のA格に結合されているMW20の要素.WDに記載されている”0xe431”で,日本語用単語辞書DIC−WDにおいて,このコード番号がある単語を見つけ,その要素.knjを読み取れば,”次郎”となる.さらにこのMW20の要素.jcsは”1”となっているが,助詞辞書DIC−WAにおいて,この要素.knjを見ると,”は”となっている.(図示せず)
これで”次郎は”となるが,このような処理を自然文生成経路を辿りながら行うと次のような自然文が生成できる.{次郎は太郎が花子にバラを与えたと思った}
英文では第134図から,次の文が得られる.
{Jiro thought that Taro gave Hanako roses}
次に文の意味を変更したときにそれに対応した自然文の生成法,特に活用の語尾助詞の選択法について説明する.
{与える }という文があったときに,これを過去にすると{与えた}となり,過去否定すると{与えなかった}になり,過去否定丁寧にすると{与えませんでした}になり,命令にすると{与えろ}になる.このような自然文は次に述べるような方法で生成することができる.
第135図に活用語尾表GOBI−TBLを示した.この図では,ここので説明に必要なものだけ記載している.これは各種の活用形kyについて,その活用形kyがとりうる活用の語尾助詞jgbや時制否定語尾助詞jnを縦方向に並べたものである.活用形kyと活用番号kxを指定すると,(kx,ky)から活用語尾助詞jgbあるいはjnが得られる.第136図は時制否定助詞jntnと時制否定語尾助詞jnの表NTN−TBLを示す.時制の現在か過去か,否定か肯定か,普通の表現か丁寧な表現かの状態をNTNにおいて2進数の4桁で示し,それに対応した時制否定助詞jntn,時制否定語尾助詞jnを示した.詳しくは同表の備考欄に示しているが,現在は”0000”,現在否定は”0001”,過去は”0010”,過去否定は”0011”,丁寧現在否定は””0100”で表現している.これから分かるように,2進数4桁の第1桁が”1”であれば,否定,”0”であれば肯定,第2桁が”1”であれば過去,”0”であれば現在,第3桁が”1”であれば,丁寧な表現,”0”であれば,普通の表現,第4桁が”1”であれば命令形,”0”であれば,命令でない普通のの表現となっている.これを10進数に変換したのが,ntn−noである.従ってNTNかntn−noから上のうちでどのような表現が指示されているを知ることができる.これらの指示に対応した自然文として,jntnとjnが示されているので,同表からjntn,jnを得れば,それに相応しい表現ができる.同表には活用KYも示している.KYには16進数4桁のデータが書き込まれているが,上2桁が活用番号kx,下2桁が活用形kyである.
{与える}の構造文を第137図の左側,右側に{行く}の構造文を示す.これらのデータ文を第138図に示す.( )で活用変化しない文字列を示し,< >で活用変化する文字列を示す.この構造文から自然文を生成するために必要な文字列を示すと,次のようになる.
(与え)<jgb>(jntn)<jn>
分かり易くするために,( )< >の中に要素名を記入した.
活用変化する語尾助詞はその前と後ろにある単語あるいは助詞が持っている活用情報KYやそれらの情報の組み合わせによって構成される情報によて決まる.通常動詞などの単語の後には時制,否定などを表す時制否定助詞jntn,時制否定語尾助詞jnが来るが,jntn,jnはNTN−TBL示されているので,そのまま取り出せばよいが,(WD)と(jntn)との間にある語尾助詞<jgb>は前にある”与え”の活用情報KY/ff0bからky/0bを取り出し,NTNの活用情報からkxを取り出し,その両方の値(kx,ky)から決まる.このKYはNTNの内容によって,NTN−TBLに示したように変わるので,次のようになる.
NTNを”0001”(否定現在)をすると,JO−TBLから,jntn/”な”,jn/”い”となり,このjntnとjnは決まる.しかし,jgbは”与え”とNTN/0001の両方の活用情報によって決まる.NTN/0001のKYは”0513”で,”与え”のKYは”ff0b”であるから,”与え”からky/0b,NTNからkx/05を取ると,JO−TBLの(kx/05,ky/0b)(ky/0bは,変数kyの値が”0b”であるあことを示す)から,jgb/””が得られる.従って
(与え)<””>(な)<い>
即ち
{与えない}
となる.””は文字列無しを示す.
肯定過去のNTN/0010では,KYは”0400”となる.”与え”からky/0b,NTNからkx/04となるので,,JO−TBLの(kx/04,ky/0b)から,jgb/”た”となる.したがって,
(与え)<た>(””)<””>
{与えた}
となる.丁寧否定過去(NTN/0111)の場合は,KYは”0200”となるので,JO−TBLの(kx/02,ky/0b)から,jgb/””となり,jntn,jnはJO−TBLから”ま”,”せんでした”となるので,
(与え)<””>(ま)<せんでした>
つまり
{与えませんでした}
となる.命令否定現在(NTN/1001)の場合は,KY/0100となる.JO−TBLの(kx/01,ky/0b)から,jgb/”る”となるので
(与え)<る>(な)<””>,
つまり
{与えるな}
となる.{与えたので行った}とか{与えなければ行く}という文は{与える}という文と{行く}という文が,各々時制の現在過去,肯定否定,普通の表現か丁寧な表現などの意味を加え,それが論理結合してできた文である.このような場合語尾助詞はどのようにして選択されるかについて説明する.
第137図に{与える}という文と{行く}という文が論理結合されたときの構造文を示した.これから自然文に変換するときに関係する文字列だけを示すと次のようになる.
(与え)<jgb>(jntn)<jn>(jlg)(行く)<jgb>(jntn)<jn>動詞,名詞の活用情報KYは”ff##”となっている.このkx/ffは,動詞,名詞がその前にある語尾助詞に影響を与えないので,そのような指示を与えるためのものでる.(行く)はその前にある<>に影響を与えないので,これ以下を省略すると,
(与え)<jgb>(jntn)<jn>(jlg)
となる.これについて考えれば良いことになる.<jgb>はその動詞”与え”とNTNによって決まることはすでに説明した.論理助詞jlgは固有の活用情報KYをもっているので,<jn>はこの論理助詞固有のKYからのkxとNTNのKYからのkyによて次のようにして決まる.
否定過去(NTN/0011)で,論理関係が原因,理由を表すASで,その論理助詞jlgが”ので”の場合は次のようにある.
(与え)<””>(な)<jn>(ので)
<jn>は前にある助詞jntnのNTN/0011のKY/0500からのky/00と,後ろにあるjlg/”ので”のKY/0400のkx/04によって決まる.これらから(kx/04,ky/00)となるが,kxかkyのどちらかが”0”の場合は,これによって決めずに,前のまま,つまりNTN/0011のjn/”かった”のままで,文字列はいっさい変更しないことにしておく.結局
(与え)<””>(な)<かった>(ので)つまり,
{与えなかったので}
となる.ところで,肯定現在(NTN/01ff)で,論理関係を仮定のifで論理助詞jlgが”.ば”の場合は,”ば”のKYが”0800”であるから,前に説明した方法では,(kx/08,ky/ff)から,jn/””となり,(与え)<る>(”−”)<”−”>(ば)
{与えるば}
となるが,このような表現はないので,NTNの”01ff”の”ff”は,NTNのjntnとjnを無効として,jlgが直接<jgb>に働きかけて,これを前に述べた方法で選択することを指示するものであると解釈する.つまり(与え)のKY/ff0bと論理助詞の(ば)のKY/0800から(kx/0b,ky/08)を求め,JO−TBLからjgb<れ>を得て.結局(与え)<れ>(””)<””>(ば)
{与えれば}
とする.
語尾助詞jgbあるいはjnは前にある単語や助詞の活用情報を求め,KYからkyを,後ろの単語や助詞の活用情報KYからkxをもとめ,この情報を組み合わせた(kx,ky)によって,JO−TBLから語尾助詞jgb,あるいはjnを決定している.KY/##ffの場合は,その前の単語あるいは助詞の活用情報を無効として,その前の前の単語の活用情報KYと組み合わせて,語尾助詞を変えること,KY/ee##の場合(kx/ee)は,自然文では使用しない表現を示し,(kx,ky)のうち,どちらかが”0”であれば,文字列を変更しないなどの語尾助詞の決定に必要な指示を活用情報KYの中に書き込み,これに従って語尾助詞jgbあるいはjnを選択して,自然な日本語を生成している.
データ構造をPSとMWに分けない場合について説明する.PSとMWを一体化したデータ構造PSMWはPSとMWの両方の要素を持つことになる.即ちPSMWは単語情報IMF−P−WDの要素として,〜WD,〜CNC,助詞情報IMF−P−JOの要素として,〜jr,〜jh,〜jt,〜jpu,〜jxp,〜jls,〜jlg,〜jgb,〜jcs,〜jos,〜jinx,〜jntn,〜jn,〜jm,〜jost,結合情報IMF−P−COの要素として,〜B,〜N,〜L,〜MW,〜F,〜H,−mw,〜RP,言語情報IMF−P−MKの要素として〜MK,〜BK,〜LOG,〜KY,〜NTN,格情報IMF−P−CAとして,〜CASEなどを持っている.この〜CASEに主格(A格),時間格(T格),空間格(S格),対象格(O格),述語格(P格),補助格(X格),応答格(O格),全体格(Z格)などの格の種類が書き込まれる.
第33図は{太郎が今日学校で花子に本を与える}という自然文をMWとPSとの複合データ構造で示した構造文であるが,これをPSMWだけのデータ構造で示すと,第7図のようになる.この場合,基本文PSでのPSMW間での格の順序をATSOPとしたので,この順番で図示したが,これを明確に図示するために,→印で示した.( )の下に,格の種類を示した,この→印で示す関係は要素〜Nと要素〜Bに相手のPSMWの番号を記入することで,規定される.
このようにPSMWだけのデータ構造でデータ文DT−Sを表現すれば,データ構造は簡単になるが,PSMWの要素の数が増えるのでメモリーは多く必要になる.また,日本語から英語に翻訳する場合,基本文での格の出力順序を日本語のATSOPから英語のAPOSTに変更しなければならないが.この格の順序はPSMWのデータ構造では要素〜Nと要素〜Bに書き込まれたデータによって,規定されているので,格の出力順序を変更するためには,このデータを書き直さなければならない.その手間と暇が必要になる.この点に関して,データ構造をPSとMWに分けて置くと,格の順番は,すでに述べたようにプログラムで簡単に行うことができる.探索経路の設定にも格の順序の指定をおこなわなければならないので,複合データ構造のほうが処理が簡単になる.この自然言語処理では,すでに説明したように,格の順序の変更をしばしば行う.格の順序を変更するたびに〜MW,〜L,〜B,〜Nなどの結合情報IMF−P−COに関するデータを変更しなければならず,データの書き間違えなどのトラブルが多発する可能性がある.したがって,複合データ構造のほうがはるかに有利である.
(発明の効果)
{太郎が今日学校で花子に本を与えました}というテキスト文があったとき,{誰が花子に本を与えましたか?}と質問すると,{太郎が今日学校で与えました}{花子に本を与えたのは太郎です}というように簡単な自然文では正確な質問応答ができることや,{次郎は太郎が花子にバラを与えなかったとは思わなかったらしいよ}というテキスト文に対して{太郎か三郎が花子と秋子にバラを与えましたか?}という質問をしたとき{次郎は太郎が花子に与えなかったとは思わなかったらしよ}というように,人間でもなかなか答えられないような微妙な質問にもかなり正確に答えられることをすでに述べた.
本特許においては,自然文には表現されない単語なども用いて意味をあらかじめ構築してある意味フレームを意味フレーム辞書DIC−IMIから取り出して,それを組み合わせて,データ構造上に入力自然文が表現する意味構造を構築し,これに自然文の単語,助詞,記号などを格納することによって,コンピュータ上で入力自然文の意味を正確に表現している.そのため.その入力自然文で表現されていない単語を用いた質問文にも次のように正確に応答することができる.
{与える}の意味構造は第32図に示すように始めは{A1はA3のところにあった}がこの時点で{A1はA2のところにある}{A2はA1を持っている}という意味が含まれている.従って,{太郎が今日学校で花子に本を与えた}というテキスト文があったとき,{本は太郎のところにありましたか?}{本は花子のところにありますか?}{花子は本を持っていますか?}という質問に{はい,太郎のところにありました}{はい,花子のところにあります}{はい,花子は持っています}と正確に答えることができる.{〜が〜を与えた}という入力自然文には{〜がある}{〜が〜を持っている}という単語(文字列)はなくても,コンピュータ上のデータ文ではこれらの単語(文字列)が書き込まれているので,このように正確に答えることができるのである.
{〜ができる}という自然文はコンピュータのなかでは第52図,第51図で示すように,{〜が可能である}{〜には可能性がある}という内容が書き込まれている.{太郎は今日学校で花子に本を与えることができる}という自然文は第51図に示すような構造文でコンピュータの中に格納されているので,{太郎が今日学校で花子に本を与えることは可能ですか?}{太郎が今日学校で花子に本を与えることには可能性がありますか?}という質問に{はい,太郎が今日学校で花子に本を与えることは可能です}{はい,太郎が今日学校で花子に本を与えることには可能性があります}と正確に答えることができる.上述の日本語の自然文を英語で表現したのが第53図であるが,前にも述べたように,データ文に書き込まれている単語は実コード番号で,コード番号は日本語,英語,中国語その他いろいろと国が異なっても同じコード番号になっている.従って,第51図と第53図,あるいはこの構造文が表すデータ文ははほぼ同じものであると考えてもよい,日本文から英文に変換するときは基本的には,コード番号から英語の文字列を取り出すだけで翻訳できるので,第51図をもちいればよい.しかし,実際には,日本語の助詞と,英語の前置詞が一対一に対応していないこと,活用情報KYが日本語と英語では若干異なっていることなどから,英語用のデータ文に変更している.しかし,パターンマッチングを行うのに必要なデータに関しては基本的には同じデータ文になっているので日本語用のデータ文と英語用のデータ文を同じものとして取り扱うことができる.従って日本語でテキスト文を書いておいても,英語で質問して,英語で回答する,あるいは日本語で回答することが容易にできる.
{Taro can give Hanako books at school today}
という英語のテキスト文に対して,日本語で{太郎が今日学校で花子に本をあげることは可能ですか?}と質問して{Yes,it is possible for Taro to give books to Hanako at school today}と英語で答えることができることは,これまでの説明から容易に理解できる.さらに前述のように,英語の場合も{Taro can 〜 }というテキスト文に対して,{Is it possible that Taro〜}と質問することができるし,{Taro〜is able to〜}と回答することができる.
人間は知識を獲得するとき,まず帰納によって,仮説をたて,それが事実であるかを現実の世界に照らしあわせて調べ,それが真実であれば,それを知識として獲得している.従ってそのためには仮説を立てることが必要である.本特許では次のようにして自然文の言語構造を一部変更して仮説を生成することができる.第18図あるいは第92図(データ文),第93図(構造文)で示す{元気な太郎が今日学校で白いボールを投げる}について説明する.
この文は{太郎は元気である}という文から”太郎”が取り出されて,{太郎が今日学校で白いボールを投げる}という文の”太郎”に格結合されたものであると説明したが,{太郎は元気である}という文と{太郎が今日学校で白いボールを投げる}という文を含意関係で結合してみる.この関係をデータ文で生成するためには,第139図に示すようにMW34をMW35を新たに設け,両者を論理結合し,MW34には{太郎は元気である}のルートPS(PS2)を埋め込み,MW35には{太郎が今日学校で白いボールを投げる}のルートPS(PS7)を埋め込めば良い,この場合,{太郎は元気である}と{太郎が今日学校で白いボールを投げる}の格結合関係を解消するために,PS2の要素−Lを”0”にしておく.含意関係を仮定のif,論理助詞jlgを”ば”とすると,文の結合関係は次のように表せる.
Figure 0003811902
この構造文から自然文を生成すると,
{太郎が元気であれば,太郎は今日学校で白いボールを投げる}となる.”太郎”を一般の人という意味で”X”とおくと,{Xが元気であれば,Xは今日学校で白いボールを投げる}となる.もっと抽象的な表現にするために”今日”,”学校”を取り除く,即ちデフォルト値として”いつか””どこか”にすると,
{Xが元気であれば,Xは白いボールを投げる}
となる.
もし,この文を書いたときの現実の世界でこのことが実際に行われていたとしたら,これは知識になるし,実際に行われていなければ,この仮説は廃棄される.含意関係を原因,理由を表すasとし,論理助詞jlgを”ので”とすると,
{Xが元気であるので,Xは白いボールを投げる}
含意関係を目的のforとし,論理助詞を”ために”をすると,
{Xが元気であるために,Xは白いボールを投げる}
{太郎は元気である}と{太郎は今日学校で白いボールを投げる}とい
う文を入れ替えて,含意関係を仮定のif,論理助詞jlgを”ば”とすれば,構造文は次のようになる.
Figure 0003811902
これから自然文を生成すれば,
{太郎が今日学校で白いボールを投げれば,太郎は元気である}
になる.{太郎が元気である}とう文と{ボールは白い}という文を論理関係のANDで結合し,論理助詞を”そして”とし,それと{太郎は今日学校でボールを投げる}という文を含意関係の仮定ifで結合し,論理助詞を”ば”とすれば,構造文は次のようになる.
Figure 0003811902
この構造文から自然文を生成すると,
{太郎が元気でありそしてボールが白いならば,太郎は今日学校でボールを投げる}
”太郎”を”X”に代え,”今日”,”学校”を取り除くと,
{Xが元気でありボールが白いならば,Xはボールを投げる}
となる.
{猫のミケが死んだ}という文は{ミケは猫である}という文と{ミケが死んだ}という文から構成された文であることは,これまでの説明で容易に分かる.この二つの文を含意関係の仮定のifを結合し,診理助詞jlgを”ならば”とすると{ミケが猫であるならば,ミケは死んだ}
となる,{死んだ}を現在形に変更すると,
{ミケが猫であるならば,ミケは死ぬ}
となる.”ミケ”を”X”に代えると
{Xが猫であるならば,Xは死ぬ}
となる.構造文で示すと,第140図のようになる.
”猫”を上位の概念である”動物”に置き代えると,
{Xが動物であるならば,Xは死ぬ}
となる,この仮説は現実の世界で今までのところ常に真実であるから,これを正しい知識,あるいはルールをして認めることができる.”猫”を上位概念の”動物”に代えることは,コート番号の変更で対処しているので,この変更は本特許では極めて簡単に行える.
このように本特許では,知識獲得の基本的な操作である仮説の生成が結合関係を代えることによて簡単に行うことができる.
【図面の簡単な説明】
第1図はデータ構造MWの要素,第2図はデータ構造PSの要素を示す.第3図はデータ構造MWの結合手,第4図はMW1がMW2と論埋結合し,MW1がMW3と格結合していることを図式的に示したもの,第5図はそれを結合手で示したもの,第6図は第4図で示した結合関係をデータ文で示したもの,第7図は構造文で, 第8図はデータ構造PSの結合手を示し,第9図はMW1〜MW7とPS1との結合関係を結合手で示し,第10図は第9図の結合関係を図式的に示したものである.第11図は第10図の結合関係をデータ文で示したものである.第12図は{あの太郎が今日グランドでこのボールを投げた}という自然文を図式的な構造文で示したもの,第13図はこれをデータ文で示したもの,第14図はこの自然文から,太郎,今日,グランド,ボール,投げ,投げたことなどを取り出したときの構造文を示す.第15図は{今日グランドでボールを投げた太郎}という自然文をデータ文で示したもの,第16図〜第60図は自然文を構造文で示した.第61図は単語の意味フレームが格納されている場所を示すPTN−TBL,第62図は意味フレーム辞書のPSモジュール,第63図は意味フレームのMWモジュールを示す.第64図は文字綴り辞書DIC−ST,第65図は単語辞書DIC−WD,第66図は形態辞書DIC−KT,第67図は形態処理辞書DIC−KTPROC,第68図〜第73図はWSテーブル,第74図はMKテーブル,第75図は意味解析()のプログラムを,第76図はAND−OR関係()のプログラムをC言語形式で書いたもの,第77図は自然文を構造文で示したもの,第78図はそれをデータ文で示した.第79図,第80図はMKテーブル,第81図,第82図はプログラムの内容をC言語形式で書いたもの,第83図は探索単語,格助詞テーブルKWDJO−TBL,第84図は探索単語テーブルKWD−TBL,第85図は格助詞テーブルJO−TBL,第86図は構造文とそれに示した探索経路SR−PT,第87図はC言語形式で示したプログラム,第88図〜第90図はMKテーブル,第91図はC言語形式のプログラム,第92図は{元気な太郎が今日学校で白いボールを投げました}という自然文をデータ文で示したもの,第93図はその構造文,第94図,第95図はC言語形式のプログラム,第96図は構造文上に記入された探索経路,第97図〜第98図はMKテーブル,第99図は{次郎は太郎か花子にバラを与えなかったとは思わなかったらしいよ}という自然文を構造文で示したもの,第100図はそのデータ文である.第101図は構造文上に書き込まれた探索経路,第102図はKWDJO−TBL,第103図はMKテーブル,第104図は{バラは次郎によって太郎に対して花子に与えさせられなかった}という自然文のデータ文,第105図はその構造文,第106図はKWDJO−TBL,第107図はMKテーブル,第108図は{次郎は太郎が花子にお金をあげたので花子が東京へ行ったと思った}という自然文のデータ文,第109図はその構造文,第110図,第111図は構造文上に書き込まれた探索経路,第112図,第113図はKWDJO−TBL,第114図〜第118図はMKテーブル,第119図は{太郎の春子へのバラのプレゼントはありませんでした}という自然文の構造文,第120図はそのデータ文,第121図はその構造文上に書き込まれた探索経路,第122図はKWDJO−TBL,第123図は{太郎か三郎が花子と秋子にバラを与えましたか?}という自然文を構造文で示したもの,第124図はそのデータ文,第125図は構造文上に書き込まれた探索経路,第126図は短い探索区間に分割された探索経路,第127図は{次郎は太郎が花子にバラを与えなかったとは思わなかったらしいよ}という自然文の構造文である.第128図はそのデータ文である.第129図〜第131図は構造文,第132図は各種の語順を格納した語順テーブルSQ−TBL,第133図,第134図は構造文上に書き込まれた出力経路,第135図は活用形に対応した活用変化する語尾助詞jgbを格納したGOBI−TBL,第136図は時制否定助詞などを格納したNTN−TBL,第137図は構造文,第138図はそのデータ文,第139図は{太郎が元気であれば太郎は今日学校で白いボールを投げる}という自然文の構造文,第140図は{Xが猫であればXは死ぬ}という自然文の構造文,第7図は{太郎が今日学校で花子に本を与える}という自然文をPSMWデータ構造で示した構造文である.
−A・・・主格として接続するMWの番号を格納するPSの要素
−JO...助詞を格納するPSの要素
−KI...記号を格納するPSの要素
−KY・・・活用形を格納するPSの要素
−L・・・下に接続するPSかMWを格納するPSの要素
−MK...IMIフレームの上下限,語順,文の種類,格の種類などを格納するPSの要素
−NTN・・・肯定否定,現在過去,丁寧な表現などを格納するPSの要素
−0・・・対象格として接続するMWの番号を格納するPSの要素
−P・・・述語格として接続するMWの番号を格納するPSの要素
−S・・・空間格として接続するMWの番号を格納するPSの要素
−SC・・・文章の章節句の番号を格納するPSの要素
−T・・・時間格として接続するMWの番号を格納するPSの要素
−X・・・補助格として接続するMWの番号を格納するPSの要素
−Y・・・応答格として接続するMWの番号を格納するPSの要素
−Z・・・全体格として接続するMWの番号を格納するPSの要素
−j1・・・記号1を格納するPSの要素
−j2・・・記号2を格納するPSの要素
−jm・・・全体詞を格納するPSの要素
−jn・・・時制否定語尾助詞を格納するPSの要素
−jntn・・・時制否定助詞を格納するPSの要素
−jost・・・PSの要素 文強調助詞を格納するPSの要素
.B・・・左に接続するMWまたはPSの番号を格納するMWの要素
.BK...表現の有無,接続相手の表現の有無の指示,上下に接続するPS,MWの区別などを格納するMWの要素
.CNC・・・WDに埋め込む単語の内容の指示を格納するMWの要素
.F・・・副詞として接続されるMW,PSの番号を格納するMWの要素
.H・・・本音として表現さるMW,PSの番号を格納するMWの要素
.JO...助詞を格納するMWの要素
.KI...記号を格納するMWの要素
.KY・・・活用形の指示を格納するMWの要素
.L・・・下に接続されるPS,MWの番号を格納するMWの要素
.LOG・・・論理関係の種類を格納するMWの要素
.MK・・・意味フレームの上下限,語順,文の種類,格の種類などを格納するMWの要素
.MW・・・上に接続されるPS,MWの番号を格納するMWの要素
.N・・・右に接続されるPS,MWの番号を格納するMWの要素
.RP・・・IMIフレーム内で同じ単語を埋め込む相手のMWの番号を格納するMWの要素
.WD・・・単語の格納を格納するMWの要素.
jcs・・・格助詞を格納するMWの要素
.jgb・・・語尾助詞を格納するMWの要素
.jh・・・接頭語を格納するMWの要素
.jinx・・・格助詞を指示するインデックスを格納するMWの要素
.jlg・・・論理助詞1を格納するMWの要素
.jls・・・論理助詞2を格納するMWの要素
.jos・・・語強調助詞を格納するMWの要素
.jpu・・・複数助詞を格納するMWの要素
.jr・・・冠詞を格納するMWの要素
.jt・・・接尾語を格納するMWの要素
.jxp・・・論埋助詞を格納するMWの要素
.mw・・・以前の文でその単語が埋め込まれているMWの番号を格納するMWの要素
AMW・・・回答文用のデータ構造MW
BASE−PS・・・意味フレームのルートPS
APS・・・回答文用のデータ構造PS
DIC−KT・・・形態辞書
DIC−KTPROC・・・形態処理辞書
DIC−WA・・・助詞辞書
DIC−WD・・・単語辞書
DMW・・・辞書用のデータ構造MW
DPS・・・辞書用のデータ構造PS
DT−S...データ文
GOBI−TBL...語尾助詞テーブル
IMF−CON・・・結合情報
IMF−GG・・・言語情報
IMF−JO・・・助詞,記号情報
IMF−LS・・・言語構造情報
IMF−LSL...言語構造情報列
IMF−M−WD...MWの単語情報
IMF−M−JO...MWの助詞情報
IMF−M−CO...MWの結合情報
IMF−M−MK...MWの言語情報
IMF−P−CA...PSの格情報
IMF−P−JO...PSの助詞情報
IMF−P−MK...PSの言語情報
IMI...最小意味単位
IMI−FRM...意味フレームまたはIMIフレーム
IMI−GRM...意味解析文法
IMF−WD・・・単語情報
JO...助詞
JO−TBL・・・格助詞テーブル
KI...記号
KNJ...文字列
KWD−TBL・・・探索単語テーブル
KWDJO−TBL・・・探索単語,格助詞テーブル
KY・・・活用を格納する単語WDの要素
LO・・・論理関係の種類を格納する単語WDの要素
LS・・・言語構造記号
LS1・・言語構造記号1
LS3・・言語構造記号3
LS4・・言語構造記号4
LSL...言語構造記号列
MK−TBL・・・ MKテーブル
MKK・・ 処理の指示を格納するMKの要素
MW・・・ データ構造
NO・・・PSかMWの番号を格納する単語WDの要素
NTN・・・肯定否定,現在過去,丁寧な表現
NTN−TBL・・・時制否定助詞などのテーブル
PR−PR...出力経路
PS・・・基本文あるいは基本文のデータ構造
PSMW・・・データ構造PSMW
PSMWK・・・PSかMWかの区別を格納するPSMWの要素
PTN・・・ptn−noを格納するWDの要素
PTN−TBL・・・意味(IMI)フレーム辞書用のインデックス
QDT−S...質問文としての入力された自然文のデータ文
QMW・・・質問文用のデータ構造MW
QPS・・・質問文用のデータ構造PS
SRWD...探索単語
SRWD−TBL...探索単語テーブル
SR−PT...探索経路
SQ−TBL・・・語順テーブル
SWD...被探索単語
TDT−S...テキスト文として入力されたデータ文,
TMW・・・テキスト用のデータ構造MW
TPS・・・テキスト用のデータ構造PS
TPSMW...テキストに用いられたデータ構造PSMW
WD...単語
WD−NO・・・単語辞書の番号
WS−TBL・・・WSテーブル
div・・・形態辞書の要素,検索開始範囲
dmw−ed・・・意味フレーム辞書のMWモジュールの最後のMW番号
dmw−st・・・意味フレーム辞書のMWモジュールの最初のMW番号
dps−ed・・・意味フレーム辞書のPSモジュールの最後のPS番号
dps−st・・・意味フレーム辞書のPSモジュールの最初のPS番号
jindx−x・・・格助詞テーブルのX座標
jindx−y・・・格助詞テーブルのY座標
jn・・・時制否定語尾助詞
jntn・・・時制否定助詞
knj・・・文字列
kp1・・・探索単語,格助詞テーブル辞書の要素,格助詞
kp2・・・探索単語,格助詞テーブル辞書の要素,単語
kpbot・・・MKテーブルにおける探索単語,格助詞存在範囲の下限
kpjost・・・探索単語,格助詞テーブルの要素,語強調助詞
kptop・・・MKテーブルにおける探索単語,格助詞存在範囲の上限
kt−ed・・・形態処理辞書における言語構造情報が存在する範囲の下限
kt−st・・・形態処理辞書における言語構造情報が存在する範囲の上限
ktproc−no・・・形態処理辞書の番号
kx・・・語尾テーブルGOBI−TBLのX座標
ky・・・語尾テーブルGOBI−TBLのY座標
ndix・・・形態辞書の要素,文字列の探索を行う次の範囲
ntn−no・・・時制否定テーブルの番号
ptn−no・・・PTN−TBLの番号
qps−s...質問データ文での探索開始基点となるQPSMW,
sc−s...探索区間始点
sc−e...探索区間終点
sqx・・・語順テーブルSQ−TBLのX座標
sqy・・・語順テーブルSQ−TBLのY座標
st−no・・・文字列辞書の番号
stkp−wd・・・探索単語テーブルの番号
stkp−wdjo・・・探索単語,格辞書テーブルの番号
tps−s...テキストデータ文での探索開始点となるTPSMW,
ws−no・・・WSテーブルの番号
〜B・・・PSMWの要素,左に接続するPSMWの番号
〜BK・・・PSMWの要素,表現の有無,接続相手の表現の有無の指示など
〜CASE...格の種類,
〜CNC・・・PSMWの要素,WDに埋め込む単語の内容の指示
〜F・・・PSMWの要素,副詞として接続されるPSMWの番号
〜H・・・PSMWの要素,本音として表現されるPSMWの番号
〜JO...助詞群を
〜KAK・・・PSMWの要素,格の種類
〜KI...記号
〜KY・・・PSMWの要素,活用
〜L・・・PSMWの要素,下に接続されるPSMWの番号
〜LOG・・・PSMWの要素,論理関係の種類
〜MK・・・PSMWの要素,IMIフレームの上下限,語順,文の種類など
〜MW・・・PSMWの要素,上に接続されるPSMWの番号
〜N・・・PSMWの要素,右に接続されるPSMWの番号
〜NTN・・・PSMWの要素,否定肯定,現在過去,丁寧な表現など
〜RP・・・PSMWの要素,IMIフレーム内で同じ単語を埋め込む相手のPSMWの番号
〜SC・・・PSMWの要素,文節句の番号
〜WD・・・PSMWの要素 単語
〜j1・・・PSMWの要素 記号1
〜j2・・・PSMWの要素,記号2
〜jcs・・・PSMWの要素,格助詞
〜jgb・・・PSMWの要素,語尾助詞
〜jh・・・PSMWの要素,接頭語
〜jinx・・・PSMWの要素,格助詞を指示するインデックス
〜jlg・・・PSMWの要素,論理助詞1
〜jls・・・PSMWの要素,論理助詞2
〜jm・・・PSMWの要素,全体助詞
〜jn・・・PSMWの要素,時制否定語尾助詞
〜jntn・・・PSMWの要素,時制否定語尾助詞
〜jos・・・語強調助詞,
〜jost・・・PSMWの要素,文強調助詞
〜jpu・・・PSMWの要素,複数助詞
〜jr・・・PSMWの要素,冠詞
〜jt・・・PSMWの要素,接尾語
〜jxp・・・PSMWの要素,論理助詞3
〜mw・・・PSMWの要素,以前の文で同じ単語が埋め込まれているPSMWの番号

Claims (8)

  1. コンピュータによる自然言語処理を容易にするコンピュータにおける自然言語データ格納法であって,コンピュータの記憶装置に,
    単語WD,助詞JO及び記号KIを表す文字列KNJの自然言語上の個々の働きを規定している言語構造情報IMF−LSを備えた単語辞書DIC−WDと
    単語WD,助詞JO及び記号KIを表す文字列KNJの自然言語上の相互関係を規定している言語構造情報IMF−LSを備えた形態辞書DIC−KTと
    少なくとも単語WDを格納する要素〜WD,助詞JOを格納する要素〜JO,記号KIを格納する要素〜KI,格納されている単語WDを自然文として出力することを禁止することを指示するデータを格納する要素〜BK,同じ単語が埋め込まれるべき相手のデータ構造PSMWの番号PSMW−NOを格納する要素〜RP,格納される単語WDの内容を規定するデータを格納する要素〜CNC,挌結合する相手のデータ構造PSMWの番号PSMW−NOを格納する要素〜MW,格結合の種類を格納する要素〜MK,論理結合する相手のデータ構造PSMWの番号PSMW−NOを格納する要素〜N, 論理結合の種類を格納する要素〜LOG,データ構造PSMW自身の番号PSMW−NOより構成されたデータ構造PSMWによってそれぞれ規定された主格(A格),時間格(T格),空間格(S格),対象格(O格),述語格(P格)及び補助格(X格)の少なくとも六つの格によって最小意味単位IMIが構成され,複数の前記最小意味単位IMIが格結合されさらに場合により論理結合されることによって構成され意味を表現する意味フレームIMI−FRMを備えた意味フレーム辞書DIC−IMIと,
    言語構造情報IMF−LSの組み合わせに対応して意味フレームIMI−FRM間の相互の格結合関係及び又は論理結合関係を指示し,さらに意味フレームIMI−FRMの中へ単語WD,助詞JO,記号KIの埋め込みを指示する意味解析文法IMI−GRMとを記憶しており,
    コンピュータの演算装置が,
    記憶装置に記憶されている単語辞書DIC−WD及び形態辞書DIC−KTを使って,入力装置を介して入力された自然文について,構文解析を実行して,入力された自然文の複数の文字列KNJを言語構造情報列IMF−LSLに変換し,
    言語構造情報列IMF−LSLの形に変換された,入力された自然文について,記憶装置に記憶されている意味解析文法IMI−GRMの指示にしたがって,意味解析を実行し,記憶装置に記憶されている意味フレーム辞書DIC−IMIから意味フレームIMI−FRMを読み出し,
    複数の意味フレームIMI−FRMが読み出されたときには,それら意味フレームIMI−FRMを,記憶装置に記憶されている意味解析文法IMI−GRMを使って,格結合及び又は論理結合して,新たな意味フレームIMI−FRMを合成し,
    読み出された意味フレームIMI−FRMあるいは合成された意味フレームIMI−FRMの中に,記憶装置に記憶されている意味解析文法IMI−GRMの指示にしたがって,入力自然文の構文解析によって得られた言語構造情報IMF−LS中の単語WD,助詞JOおよび記号KIを埋め込むことによって,コンピュータ上で,入力された自然文の意味を正しく表現しているデータ文DT−Sを確定して生成し,
    かくして,言語構造情報列IMF−LSLをデータ構造PSMWの多層構造を持つ形のデータ文DT−Sに変換し,変換されたデータ文DT−Sを記憶装置に記憶することを特徴とするコンピュータにおける自然言語データ格納法.
  2. データ構造PSMWは,格結合されている相手のデータ構造PSMWの番号PSMW−NOを格納するための要素〜Lと,同様に,論理結合されている相手のPSMWの番号PSMW−NOを格納する要素〜Bをさらに備えていることを特徴とする請求項1に記載する自然言語データ格納法.
  3. 前記データ構造PSMWが,互いに異なるデータ構造MW及びデータ構造PSより構成されて,前記データ構造MWは,少なくとも単語WDを格納する要素.WD,助詞JOを格納する要素.JO,記号KIを格納する要素.KI,格納されている単語WDを自然文として出力することを禁止することを指示するデータを格納する要素.BK,同じ単語WDが埋め込まれるべき相手のデータMWの番号MW−NOを格納する要素.RP,格納されている単語WDの内容を規定するデータを格納する要素.CNC,格結合する相手のデータ構造MWの番号MW−NO又はデータ構造PSの番号PS−NOを格納する要素.MW,格結合の種類及びデータ構造PSかデータ構造MWの種類を格納する要素.MK,論理結合する相手のデータ構造MWの番号MW−NOを格納する要素.N,論理結合の種類を格納する要素.LOG,データ構造MW自身の番号MW−NOより構成され,
    前記データ構造PSは,助詞JOを格納する要素−JO,記号KIを格納する要素−KI,主格(A格)として結合するデータMWの番号MW−NOを格納する要素−A,時間格(T格)として結合するデータMWの番号MW−NOを格納する要素−T,空間格(S格)として結合するデータMWの番号MW−NOを格納する要素−S,対象格(O格)として結合するデータMWの番号MW−NOを格納する要素−O,述語格(P格)として結合するデータMWの番号MW−NOを格納する要素−P,補助挌格(X格)として結合するデータMWの番号MW−NOを格納する要素−X,データ構造PS自身の番号PS−NOより構成されることを特徴とした請求項1に記載する自然言語データ格納法.
  4. 意味フレーム辞書DIC−IMIから読み出した前記意味フレームIMI−FRMあるいは合成した前記意味フレームIMI−FRMに単語WDを埋め込むとき,言語構造情報列IMF−LSLにおいて,言語構造情報IMF−LSの並びが単語WDと助詞JOであるとき,前記意味フレームIMI−FRM上に,指定された優先順位に従って設定された探索経路SR−PTを辿って,前記助詞JOと同じ助詞JOが設定されているデータ構造PSMWを探し出し,前記データ構造PSMWの要素〜WDに前記単語WDを埋め込むことを特徴とする請求項1に記載する自然言語データ格納法.
  5. 請求項4に記載する自然言語データ格納法における単語WDの埋め込みにおいて,意味フレーム辞書DIC−IMIから呼び出した意味フレームIMI−FRMあるいは合成した意味フレームIMI−FRMの格助詞を格助詞の変化規則に従って変更することを特徴とする自然言語データ格納法.
  6. 意味フレーム辞書DIC−IMIから読み出した前記意味フレームIMI−FRMあるいは合成した前記意味フレームIMI−FRMに単語WDを埋め込むとき,前記意味フレームIMI−FRM上に,指定された優先順位に従って設定された探索経路SR−PTを辿って,要素〜WDにまだ単語WDが埋め込まれていないデータ構造PSMWを探し,そのデータ構造PSMWの要素〜WDに前記単語WDを埋め込むことを特徴とする請求項4に記載する自然言語データ格納法.
  7. 請求項4に記載する自然言語データ格納法における単語WDの埋め込みにおいて,データ構造PSMWに要素〜jindxを設け,意味フレームIMI−FRM上で指定される格助詞を,格助詞群を格納する格助詞テーブルJO−TBLの対応する格助詞の格納位置の座標を意味フレームIMI−FRMのデータ構造PSMWの要素〜jindxに格納することによって,複数指定することを特徴とする自然言語データ格納法.
  8. 請求項1に記載する自然言語データ格納法により記憶装置に記憶されたデータ文DT−Sから自然文を生成するために,データ構造PSMWでの格の選択順序とデータ構造PSMWにおいて結合するデータ構造PSMWの選択順序を指示することにより設定された出力経路PR−PTに沿って,
    データ構造PSMWを辿りながら,自然言語の文字列KNJを出力するとき,データ構造PSMWの単語WD,助詞JO,記号KIなどの文字列KNJの出力順序を指定することにより,任意の語順の自然文を生成することを特徴とする自然文生成法.
JP31029291A 1991-09-11 1991-09-11 コンピュータにおける自然言語処理法 Expired - Fee Related JP3811902B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP31029291A JP3811902B2 (ja) 1991-09-11 1991-09-11 コンピュータにおける自然言語処理法
US07/943,401 US6126306A (en) 1991-09-11 1992-09-10 Natural language processing method for converting a first natural language into a second natural language using data structures
EP92308276A EP0532338B1 (en) 1991-09-11 1992-09-11 Natural language processing method on computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31029291A JP3811902B2 (ja) 1991-09-11 1991-09-11 コンピュータにおける自然言語処理法

Publications (2)

Publication Number Publication Date
JPH06119375A JPH06119375A (ja) 1994-04-28
JP3811902B2 true JP3811902B2 (ja) 2006-08-23

Family

ID=18003466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31029291A Expired - Fee Related JP3811902B2 (ja) 1991-09-11 1991-09-11 コンピュータにおける自然言語処理法

Country Status (3)

Country Link
US (1) US6126306A (ja)
EP (1) EP0532338B1 (ja)
JP (1) JP3811902B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822720A (en) 1994-02-16 1998-10-13 Sentius Corporation System amd method for linking streams of multimedia data for reference material for display
US5624456A (en) * 1996-02-07 1997-04-29 Hellenkamp; Johann F. Automatic surgical device for cutting a cornea
US6782510B1 (en) * 1998-01-27 2004-08-24 John N. Gross Word checking tool for controlling the language content in documents using dictionaries with modifyable status fields
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7770102B1 (en) 2000-06-06 2010-08-03 Microsoft Corporation Method and system for semantically labeling strings and providing actions based on semantically labeled strings
US7421645B2 (en) * 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7788602B2 (en) 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
US7032174B2 (en) * 2001-03-27 2006-04-18 Microsoft Corporation Automatically adding proper names to a database
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
EP1265172A3 (en) * 2001-05-18 2004-05-12 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Terminal device, information viewing method, information viewing method of information server system, and recording medium
US7130861B2 (en) 2001-08-16 2006-10-31 Sentius International Corporation Automated creation and delivery of database content
US7209876B2 (en) * 2001-11-13 2007-04-24 Groove Unlimited, Llc System and method for automated answering of natural language questions and queries
US20050108195A1 (en) * 2002-05-07 2005-05-19 Microsoft Corporation Method, system, and apparatus for processing information based on the discovery of semantically labeled strings
US7325194B2 (en) * 2002-05-07 2008-01-29 Microsoft Corporation Method, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7742048B1 (en) * 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7281245B2 (en) 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7356537B2 (en) 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US7003522B1 (en) 2002-06-24 2006-02-21 Microsoft Corporation System and method for incorporating smart tags in online content
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7392479B2 (en) 2002-06-27 2008-06-24 Microsoft Corporation System and method for providing namespace related information
US7209915B1 (en) 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US7783614B2 (en) 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US20040193557A1 (en) * 2003-03-25 2004-09-30 Olsen Jesse Dale Systems and methods for reducing ambiguity of communications
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7434157B2 (en) 2003-12-09 2008-10-07 Microsoft Corporation Programmable object model for namespace or schema library support in a software application
US7487515B1 (en) 2003-12-09 2009-02-03 Microsoft Corporation Programmable object model for extensible markup language schema validation
US7404195B1 (en) 2003-12-09 2008-07-22 Microsoft Corporation Programmable object model for extensible markup language markup in an application
US7178102B1 (en) 2003-12-09 2007-02-13 Microsoft Corporation Representing latent data in an extensible markup language document
US7509573B1 (en) 2004-02-17 2009-03-24 Microsoft Corporation Anti-virus security information in an extensible markup language document
JP4452541B2 (ja) * 2004-04-01 2010-04-21 本田技研工業株式会社 シミュレーション装置
US7930169B2 (en) * 2005-01-14 2011-04-19 Classified Ventures, Llc Methods and systems for generating natural language descriptions from data
US20060195313A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Method and system for selecting and conjugating a verb
JP4635659B2 (ja) * 2005-03-14 2011-02-23 富士ゼロックス株式会社 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US8706477B1 (en) 2008-04-25 2014-04-22 Softwin Srl Romania Systems and methods for lexical correspondence linguistic knowledge base creation comprising dependency trees with procedural nodes denoting execute code
US8762131B1 (en) 2009-06-17 2014-06-24 Softwin Srl Romania Systems and methods for managing a complex lexicon comprising multiword expressions and multiword inflection templates
US8762130B1 (en) 2009-06-17 2014-06-24 Softwin Srl Romania Systems and methods for natural language processing including morphological analysis, lemmatizing, spell checking and grammar checking
GB2531720A (en) * 2014-10-27 2016-05-04 Ibm Automatic question generation from natural text
US10210317B2 (en) 2016-08-15 2019-02-19 International Business Machines Corporation Multiple-point cognitive identity challenge system
US10255271B2 (en) * 2017-02-06 2019-04-09 International Business Machines Corporation Disambiguation of the meaning of terms based on context pattern detection
US11568153B2 (en) 2020-03-05 2023-01-31 Bank Of America Corporation Narrative evaluator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914590A (en) * 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system

Also Published As

Publication number Publication date
EP0532338A3 (en) 1993-10-27
JPH06119375A (ja) 1994-04-28
EP0532338A2 (en) 1993-03-17
US6126306A (en) 2000-10-03
EP0532338B1 (en) 2002-08-14

Similar Documents

Publication Publication Date Title
JP3811902B2 (ja) コンピュータにおける自然言語処理法
Steedman et al. Combinatory categorial grammar
Haegeman et al. Verb projection raising, scope, and the typology of rules affecting verbs
Silberztein Formalizing natural languages: The NooJ approach
Hodges Classical Logic I: First‐Order Logic
Sikkel Parsing schemata: a framework for specification and analysis of parsing algorithms
VanLehn Determining the scope of English quantifiers
Van Gelderen Clause structure
JP3189186B2 (ja) パターンに基づく翻訳装置
Altinok Mastering spaCy: An end-to-end practical guide to implementing NLP applications using the Python ecosystem
JPH0218513B2 (ja)
Brown Wittgensteinian linguistics
Carbonell et al. Natural language parsing systems
Sowa Lexical structures and conceptual structures
Richter Formal background
Chang et al. A methodology and interactive environment for iconic language design
Sauerland Flat binding: Binding without sequences
Steedman Categorial grammar
Goertzel Lojban++: an interlingua for communication between humans and AGIs
Sowa Graphics and languages for the Flexible Modular Framework
Forbes et al. The Andersen-Forbes computational analysis of biblical Hebrew grammar
Silk Semantics with assignment variables
Kovář Automatic syntactic analysis for real-world applications
Xin et al. Revisiting the prepositional-phrase attachment problem using explicit commonsense knowledge
Steedman The Combinatory Manifesto (Draft, November 1, 2000)

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060519

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110609

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees