【0030】
図26〜
図64は本発明にもとづいて製作したプログラムの動作例について示したものである。本プログラムは情報の処理の内、多種多様な処理に対応する部分は自然言語で設定し、思考の仕方および情報間の関係を選択する機能に関する部分をプログラムで製作している。記録ユニットおよびパターン照射器の機能はプログラム言語の配列を使用して実現した。(記録ユニットの接続関係記録部は3次元配列を使用し、ユニット毎に各ステップにおける接続先との接続関係を記録している。各ユニットにおけるパターン、パターン間の接続関係および接続関係のあるパターンとの関係性は2次元配列を使用することにより機能を実現した。またパターン照射器における励起履歴の記録も2次元配列を(記録容量の増大を回避するため)巡回的に使用することにより実現した。)
語列を入力すると該当する語に対応する記録ユニットが逐次、励起していく。単語に対応する記録ユニットの接続関係記録部には単語の語列に対応するパターンが記録されており、該当する語列がパターン照射器から照射されると、対応する単語の記録ユニットが励起する。単語に対応する記録ユニットが励起すると単語の意味、品詞に対応する記録ユニットも逐次励起していく。つまり語列に対応する記録ユニットが逐次、励起していくと、単語、単語の意味、単語の品詞に対応する記録ユニットも逐次、励起していくことになる。単語、単語の意味、単語の品詞に対応する記録ユニットが逐次、励起していくと、文要素(主語、主語の修飾、述語、述語の修飾)を検出し、構文分析が実施される。構文分析により新規に入力された文は主語、主語の修飾、述語、述語の修飾が識別され整理した形で記録ユニットに記録されていく。
図26〜
図30は例文を入力し、語列から単語、単語の意味、品詞が識別され、さらに文要素(主語、述語、修飾語)が識別される動作について示している。構文分析を実施し文要素が識別されると翻訳が容易となるため各単語または文要素に対応する英単語に対応する記録ユニットの情報も併記している。日本語の文要素に対応する英語の文要素も同時に生成することができる。構文分析により、主部、述部、主語、主語の修飾、述語、述語の修飾、修飾の関係が明確となっているので、英単語に変換した文要素を英語の英文法に従って適切な配列に変換することで基本的な翻訳を実施することができる。日本語では一般的に述語が最後の方に位置し、修飾は前から逐次、次の文要素にかけて施す場合が多い。英語においては主語の後に述語が位置し、その後に述語を修飾する修飾語、さらにその修飾語の説明という順になり、修飾の方向は日本語と逆の順序になっている。機械翻訳にあたっては、どの語がどの語を修飾するのかを識別するのが難しいが、本発明ではこれらの文要素間の修飾関係は処理の中で識別されるので、英語の語順への変換は容易である。
図23では本変換はA2のパターンを作用することにより、E1のパターンから最終形であるE2へのパターン変換を実施している。
図22はこれらのパターン間の遷移について構成図を使って表現したものである。
図24は問題を検出して自律的に解決する方法の機能構成例について示したものである。状態から問題を検出し、検出した問題に対応する解決策を適用していくことにより段階的に問題を解決していく。
図25は本動作についてパターンの遷移例について示している。
問題の中には与えられた文の要約または詳細化を行うというものもある。このような問題に対しては情報と情報の間に構成している関係性を使って情報の圧縮または拡張を実施することができる。関係性の中には(原因と結果、事象と理由、説明と結論、概略と詳細、類似内容、反対の意見等)が設定されているので、これらの関係性を適宜設定することにより情報の圧縮または拡張が可能である。
次に本人工知能装置の動作例について数々の文例を入力して説明する。
入力した例文を以下に示す。(「ひらがな」の語列を本機械に入力)
図26 例文1:みせaのおすすめはわいんです。
=(店Aのおすすめはワインです。)
図26 例文2:みせbのおすすめはわいんです。
=(店Bのおすすめはワインです。)
図26 例文3:みせcのおすすめはにほんしゅです。
=(店Cのおすすめは日本酒です。)
図26 例文4:みせdのおすすめはわいんです。
=(店Dのおすすめはワインです。)
図27 例文5:みせeのおすすめはにほんしゅです。
=(店Eのおすすめは日本酒です。)
図27 例文6:みせaのきょりは0.5kmです。
=(店Aの距離は0.5kmです。)
図27 例文7:みせbのきょりは1.2kmです。
=(店Bの距離は1.2kmです。)
図28 例文8:みせcのきょりは0.8kmです。
=(店Cの距離は0.8kmです。)
図28 例文9:みせdのきょりは1.5kmです。
=(店Dの距離は1.5kmです。)
図28 例文10:みせeのきょりは0.3kmです。
=(店Eの距離は0.3kmです。)
図29 例文11:みせaのよさんは4000えんです。
=(店aの予算は4000円です。)
図29 例文12:みせbのよさんは6000えんです。
=(店bの予算は6000円です。)
図29 例文13:みせcのよさんは8000えんです。
=(店cの予算は8000円です。)
図30 例文14:みせdのよさんは10000えんです。
=(店dの予算は10000円です。)
図30 例文15:みせeのよさんは5000えんです。
=(店eの予算は5000円です。)
図31は情報が入力されると既に記録している情報との文要素毎の比較を実施し新規性について分析する動作例について示している。図における記号の意味を下記に示す。
cmpsts1の行:主語に対応する文要素どうしの照合結果
cmpsto1の行:目的語(何を)に対応する文要素どうしの照合結果
cmpsth1の行:修飾語(何時)に対応する文要素どうしの照合結果
cmpsth2の行:修飾語(何処で)に対応する文要素どうしの照合結果
cmpsth3の行:修飾語(何故)に対応する文要素どうしの照合結果
cmpsth4の行:修飾語(どのように)に対応する文要素どうしの照合結果
cmpstvtの行:述語(どうした)に対応する文要素どうしの照合結果
cmpstvvの行:述語(どうである)に対応する文要素どうしの照合結果
cmpstvqの行:述語(どうしたか)に対応する文要素どうしの照合結果
totalの行:検索する文に含まれる文要素の内、検索条件として指定した文要素どう しの照合結果の積(AND条件)
recnomax:文の記録領域に割り当てた識別番号
図32、
図33は入力した情報をパターンに変換し(本例では各単語、品詞に対応するパターンとして単語識別番号(数字)、品詞識別番号(数字)をアサインしている。)図における記号の意味を下記に示す。
m1の行:主語を修飾する単語の単語番号(1)
m2の行:主語を修飾する単語の単語番号(2)
s1の行:主語の単語番号(1)
s2の行:主語の単語番号(2)
o1の行:目的語(何を)の単語番号(1)
o2の行:目的語(何を)の単語番号(2)
h11の行:修飾語(何時)の単語番号(1)
h12の行:修飾語(何時)の単語番号(2)
h21の行:修飾語(何処で)の単語番号(1)
h22の行:修飾語(何処で)の単語番号(2)
h31の行:修飾語(何故)の単語番号(1)
h32の行:修飾語(何故)の単語番号(2)
h41の行:修飾語(どのように)の単語番号(1)
h42の行:修飾語(どのように)の単語番号(2)
v1の行:述語の単語番号(1)
v2の行:述語の単語番号(2)
数in1:入力文に含まれている数値(1)
数in2:入力文に含まれている数値(2)
数out:出力文(回答)に含まれている数値(1)
数out2:出力文(回答)に含まれている数値(2)複数の数値を配列に記録
修飾型:修飾の仕方の識別
rm1の行:回答文の主語を修飾する単語の単語番号(1)
rm2の行:回答文の主語を修飾する単語の単語番号(2)
rs1の行:回答文の主語の単語番号(1)
rs2の行:回答文の主語の単語番号(2)
rh41の行:回答文の修飾語(どのように)の単語番号(1)
rh42の行:回答文の修飾語(どのように)の単語番号(2)
rv1の行:回答文の述語の単語番号(1)
rv2の行:回答文の述語の単語番号(2)
(注)ro1,ro2,rh11,rh12,rh21,rh22,rh31,rh32は表示上の都合によりここでは省略。
図34〜
図41は本人工知能装置に情報を入力することにより、入力した情報に関する数々の質問に回答することができる動作例について示している。
図34のI1〜I15では先の例文を入力し意味の解釈(入力した語列から単語を識別、構文分析)が正しく実施されていることを示している。例文により本人工知能装置に情報が記録されたので、次にQ1〜Q18に示す数々の質問を入力することとする。人工知能装置が出力した回答をA1〜A18に示す。
Q1〜Q5は質問として各「店の予算」について確認する質問である。各質問文から回答を抽出するための検索キーを自律的に生成して回答に対応する単語および数値を抽出し、回答文を正しく生成している。各店の予算と質問の数値を比較し、質問の内容と整合するか否かの判断を自律的に実施している。
Q6〜Q10は質問として各「店の距離」について確認する質問である。各質問文から回答を抽出するための検索キーを自律的に生成して回答に対応する単語および数値を抽出し、回答文を正しく生成している。各店の距離と質問の数値を比較し、質問の内容と整合するか否かの判断を自律的に実施している。
Q11,Q12は店の距離が一番短いものと長いものを抽出する質問である。
各店の距離のデータを抽出し、抽出した距離のデータから一番短いものと一番長いものをそれぞれ正しく選択して回答している。
Q13,Q14は店の予算が一番高いものと低いものを抽出する質問である。
各店の予算のデータを抽出し、抽出した予算のデータから一番高いものと一番低いものをそれぞれ正しく選択して回答している。
Q15,Q16は質問の条件を満足するものを全て抽出する質問である。
Q15では距離の条件を満足する全ての店が正しく抽出されている。
Q16では予算の条件を満足する全ての店が正しく抽出されている。
Q17,Q18では条件を満足する候補から更に追加の条件を満足するものを抽出していく質問である。
Q17ではQ16で予算を満足する候補から更に距離の条件を満足する候補を正しく抽出している。
Q18ではQ17で絞り込んだ候補に対して更に「おすすめ」が「日本酒」である店を正しく抽出している。
図36、
図37はQ11,Q12の質問に対して回答を生成するプロセスについて示したもの
関連するデータ(本問題では距離のデータ)を検索している。さらに検索したデータから一番「短い」または「長い」条件を満足するものを識別するプログラムが起動し正しく回答を生成している。
図38、
図39、
図40はQ16,Q17,Q18に対応して条件を満足する候補を段階的に絞っていくプロセスについて示したものである。
図38では予算(予算は8000円以下)を満足する候補を抽出する問題である。本質問で
系から問題に関連するデータ(本問題では予算のデータ)を検索している。検索したデータと質問の条件とを比較し条件を満足する候補を正しく抽出している。抽出した候補は処理用のデータを記録するパターン記録器の「汎用記録器」の記録領域に格納されている。
図39は
図38で生成した候補から更に追加の条件(距離が1km以下)を満足する候補を抽出している。
図38において予算を満足する候補が4つに絞られている。
図39では4つの候補に対して距離の条件を満足する候補を絞り込む問題である。問題の種類を検出し4つの候補についての距離のデータを検索している。検索後、検索したデータと質問の条件とを比較し条件を満足する候補を正しく抽出している。抽出した候補は処理用のデータ記録器「汎用記録器」に格納されている。
図40は
図39で生成した候補から更に追加の条件(おすすめはワインである店)を満足する候補を抽出している。
図39において3つに絞られた候補の「おすすめ」を検索し、「おすすめ」が「ワイン」であるか否かの判断を実施し、条件を満足するものが2つ「店C」と「店E」であることを正しく識別している。
図41は蓄積した知識体系を使って質問に回答する動作例について示している。
知識としては「りんご3個の値段は300円です」が記録されている。質問として「りんご5個の値段は何ですか」を入力したとする。この時、本人工知能装置は下記のような動作を実施し、質問に正しく回答することができる。
ステップ1:質問に対応するデータ(「りんご」「5個の」「値段」)が知識として存在 するか検索する。(知識として存在していれば記録されているデータを使用 して回答を生成する。)
ステップ2:知識として存在していなければ関連情報を検索(「りんご」の「値段」)が 関連情報として存在するか検索する。(関連情報として「りんご」「3個の 」「値段」が「300円」であることを検出する。)
ステップ3:ステップ2で検出した関連情報を使って質問への回答を生成する。
(りんごの単価を計算し質問における個数「5個」の値段を算出し回答する 。)
各処理で生成した情報はパターン記録器の「汎用記録器」の記録領域に格納し、後で実施する他の処理においても情報の利用が可能である。
図42は物理の問題(質点の運動)の解法例について示したものである。
ボールを初速:Vm/s、迎角:tdegで投げた場合の飛距離について求める問題である。
人工知能装置への知識としては▲1▼ボールの初速はVです。▲2▼ボールの迎角はtです。▲3▼Vは10m/sです。▲4▼tは45degです。が入力されている。次に人工知能装置への質問としてQ:ボールの飛距離は何ですか?という質問を入力した。この時、人工知能装置の処理状況を
図43に示す。人工知能装置はボールの飛距離に関するデータが既に存在する否かの確認を第1ステップとして実施している。飛距離に関するデータが存在していない事を確認すると、飛距離を導出するプログラムを起動し、ボールの初速および迎角に関するデータの検索を行っている。ボールの初速はV(記号)で数値は10m/sであること、ボールの迎角はt(記号)で数値は45degであることを知識から検索している。次のステッ
正しく出力している。
図44は本問題における知識の蓄積および回答の生成について単語識別番号で出力したものを示している。
図45〜
図47は数学の問題の解法例について示したものである。
図45は演算が複数ある式の解を求める問題である。式の内容を分析し演算の優先度を考慮して正しく処理ステップを進めている。
図46は式に関数が含まれる場合の処理例である。関数の識別を実施し正しく処理ステップを進めている。
図47は2次方程式の解を求める問題である。入力した情報が2次方程式であることを識別し2次項、1事項、0事項の係数を抽出し正しく解(x1=‐1,x2=‐0.5)を導出している。
図48、
図49は微分方程式の解を求める問題である。
図48は入力文として次の3つの文を入力している。
・入力文1:x0は4です。
・入力文2:x1は5です。
・入力文3:2 d2x/dtdt +3 dx/dt +1 =0
本人工知能装置は上記の入力により次の処理を逐次行っている。
・初期情報x0,x1を記録
・入力文3において入力された式が微分方程式であることを検出し解を求めるプログラム を起動
・入力文および記録した情報から微分方程式を解くために必要な情報(初期値x0,x1 および微分方程式の係数(2次、1次、0次)の検索および識別を実施
・微分方程式の解(解の形および特性根)の導出
処理を実施し特性根(p1=‐1.0,p2=‐0.5)および初期条件から解の係数(A=‐14,B=v18)が正しく導出されている。
図50、
図51は2つの関数の交点を求める問題である。
図50は入力文として次の3つの文を入力している。
・入力文2:g=2x
・入力文3:fとgの交点は何ですか。
本人工知能装置は上記の入力により次の処理を逐次行っている。
・関数fの特性抽出(2次係数、1次係数、0次係数)
・関数gの特性抽出(2次係数、1次係数、0次係数)
・関数h=g−fの係数算出(2次係数、1次係数、0次係数)
・h=0から交点x1,x2の導出
処理を実施し交点であるx1=‐2,x2=2が正しく導出されている。
図51は本処理において生成した新規情報が知識として記録する動作例について示している。
図51の文番号1の列において解析1に「1」、解析2に「2」、解析3に「‐4」の数字が記録されている。
これは入力文1において関数fを分析し、2次関数であることを識別した上で2次係数が「1」、1次係数が「2」、0次係数が「‐4」であること識別し記録したものである。
同様に入力文2において2次係数が「0」、1次係数が「2」、0次係数が「0」であること識別し記録している。入力文3において交点を求める問題であることを検出しh=g−f=0から交点x1,x2を導出し、結果を文番号3の数out「‐2」、数out2「2」として記録している。
図52、
図53は2つの関数が囲む面積を求める問題である。
図52は入力文として次の3つの文を入力している。
・入力文2:g=2x
・入力文3:fとgの囲む面積は何ですか。
本人工知能装置は上記の入力により関数が囲む面積を求める問題であることを検出し次の処理を逐次行っている。
・関数fの特性抽出(2次係数、1次係数、0次係数)
・関数gの特性抽出(2次係数、1次係数、0次係数)
・関数h=g−fの係数算出(2次係数、1次係数、0次係数)
・h=0から交点x1,x2の導出
・関数h=g−fの積分を実施し積分[関数h=g−f]の係数を導出
・積分範囲[x1−x2]における積分値を導出
(2つの関数の囲む面積の処理には前出の2つの関数の交点を求める処理プログラムを一 部活用している)
図53は積分値「10.666」が正しく求められ、文番号の数outの欄に記録されている。
図54〜
図64は物理の問題の解法例について示している。与えられた物理に関する知識(情報)から運動方程式を自律的に生成する動作例について示している。
図54は問題の定義を示したものである。バネと減衰器を介した質量mの運動方程式を求める問題である。本問題の解は下記となる。
運動方程式(解) d2x/dt2+(D/M)dx/dt+(K/M)x=g
本問題の回答を生成するために、
図55の知識(情報)および質問を人工知能装置に入力している。入力した知識(情報)および質問がパターン記録器の記録ユニットに格納されている様子を
図56および
図57に示す。
本人工知能装置に
図55に示した知識(情報)を入力し、
図58および
図59に示した質問を入力した時の動作について説明する。
図58は「何が物体に働きますか」という質問を入力している。この時、人工知能装置は
抽出している。本質問の関連情報は記録ユニットの番号3,4,5から検出されている。抽出された情報としては項の型、項の内容([3].[2],[1])である。
項の型の定義は
図59の下段に示している。型番号3は(±記号・x)の型であることを示している。同様に型番号4は(±記号・dx/dt)の型であること、型番号5は(±記号・記号)の型であることを示している。
図58において抽出した関連情報としては下記であることを示している。
記録ユニット3: −kx
記録ユニット4: −d dx/dt
記録ユニット5: +mg
図59は「運動方程式は何ですか」という質問を入力した時の動作例について示したものである。この時、本人工知能装置は下記のような動作を実施し、質問に正しく回答することができる。
ステップ0:質問に対応するデータ(運動方程式)が知識として存在するか検索する。
(知識として存在していれば記録されているデータを使用して回答を生成す る。)
ステップ1:知識として存在していなければ関連情報(物体に働く力:記録ユニット3, 4,5の情報)から運動方程式を生成する。(
図60参照)
ステップ2:式の整理(移項処理)(
図61、
図62参照)
ステップ3:式の整理(正規化処理)(
図63参照)
ステップ4:運動方程式の表示(
図64参照)
図60〜
図63では処理の過程が分かるように各処理過程における項(左辺の項、右辺の項)の各要素を記号番号および記号で表示している。ステップ1においては以下の関係を使用して運動方程式が生成されている。
m d2/dt2= 物体に働く力(−kx−d dx/dt+mg)
ステップ2およびステップ3ではステップ1で生成した方程式を整理(移項および正規化)し、最終的な運動方程式(
図64)を正しく導出している。
また求められた運動方程式に初期条件(x0,x1)を追加し
図48で説明した微分方程式の解を求める処理プログラムを起動することにより運動方程式の挙動を容易に求めることができる。
以上では本人工知能装置が問題を解く実行例について示したが、ここで示した実行例以外の様々な問題に対しても解決できる能力を有している。
一般的に次の条件を有し、人間が解ける問題に関しては本人工知能装置も解くことが可能である。
条件1:問題を解くために必要な情報およびパラメータが問題の中または過去に記録した 情報に含まれている。
条件2:問題を解くための情報およびパラメータの処理の仕方を定義することができる。
人間が問題を解く場合には、問題を解くうえで必要な情報を識別、検索し、検索した情報を知識として記録している問題を解くための情報の処理の仕方に沿って情報を処理し、解を導出する。本人工知能装置も全く同じ方法で解を導出することができる。