人工の神経ネットワーク推測方法、及びゲーム
【課題】推測するゲームにおいて人工の神経ネットワーク学習技術を使用する有益な方法を提供する。
【解決手段】コンピュータゲームにおいて、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測する方法であって、方法が、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークが、質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモードにおいて、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、方法が、第1のモードにおいて神経ネットワークを利用することによって対象物を順位付けるステップと、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるステップと、対象物の順位付けに従って推測を与えるステップとを有する。
【解決手段】コンピュータゲームにおいて、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測する方法であって、方法が、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークが、質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモードにおいて、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、方法が、第1のモードにおいて神経ネットワークを利用することによって対象物を順位付けるステップと、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるステップと、対象物の順位付けに従って推測を与えるステップとを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して人工知能ゲーム、及び、特に“推測する”ゲームにおいて人工の神経ネットワーク学習技術を使用する、新しくかつ有益な方法に関するものである。
【背景技術】
【0002】
人工神経ネットワーク(ANNs)は、当該技術において良く知られていると共に、概して1990年3月27日に“Wood”に対して発行された米国特許第4,912,654号明細書(Neural Networks Learning Method)、及び1993年6月22日に“Nishimura”に対して発行された米国特許第5,222,194号明細書(Neural Network with Modification of Neuron Weights and Reaction Coefficient)において説明される。
【0003】
広く使用された神経ネットワーク(多層の認識)の1つは、層内に配置された神経ユニットと呼ばれる複数の演算処理装置を有する。相互接続は、連続する層のユニットの間で行われる。ネットワークは、入力層、出力層、及びその間に1つ以上の“隠された”層を有している。隠された層は、非線形の問題の解決を可能にするために必要である。各ユニットは、それが受信する入力信号の重み付けされた和、及びそのユニットに特有のしきい値によって決定される出力信号を生成することが可能である。ユニットは、(ネットワークの外側、もしくは他のユニットのいずれかから)入力が与えられると共に、これらを、線形の出力、もしくは非線形の出力を計算するために使用する。ユニットの出力は、次の層における他のユニット、或いはネットワークの外側のいずれかに到達する。各ユニットに対する入力信号は、学習過程において得られた係数によって、肯定的、或いは否定的のいずれかに重み付けされている。
【0004】
重み、及びしきい値係数が正しいレベルに設定されたとき、入力層における複合的な励振パターン(stimulus pattern)は、出力パターンになるように、隠された層の間で連続して増殖する。ネットワークは、入力パターン、及び対応して予想される出力パターンの連続をそれに与えることによって教えられ、ネットワークは、−各出力ユニットにおける−予想される出力パターンとまさに生成されたパターンとの差を測定することによって学習する。
【0005】
これを実行することにより、内部の重み、及びしきい値は、入力パターンのスペクトルにおけるエラーを最小限にする一方、予想される出力パターンに更に厳密に近づいた出力パターンを提供する学習アルゴリズムによって修正される。神経ネットワーク学習は、多重レッスンを包含する反復処理である。
【発明の開示】
【発明が解決しようとする課題】
【0006】
概して、神経ネットワークは、制御アプリケーションにおいて、(1)パターン認識、診断学、センサ融合(sensor fusion)、動的システムの同定(dynamic system identification)等のために使用されるサブシステムとして、(2)専門家がすることをコピーすることによって、人間の、または、人工の専門家を模倣することを学ぶクローンとして、(3)前もって選ばれた参照モデルに密着する外部環境を作ろうとする動作の戦略を学ぶ“追跡”システムとして、そして、(4)時間をかけて測定する性能を最大限にするか、もしくは最小限にするためのシステムとして使用された。
【0007】
ここで説明されると共に、請求される発明は、多くの質問を利用者(プレーヤ)に尋ねた後で、利用者(プレーヤ)が何について考えているかを“推測する”ゲームに使用される神経ネットワークシステムを有する。そのようなゲーム−推測ゲーム−の概念は新しくないが、しかしながら、従来の推測ゲームは、事実及び規則のセットが、新しい入力がないときには同じ質問に対しては同じ回答を示す実行装置に入力される“エキスパートシステム”のような人工知能(Artificial Intelligence:AI)に対して、他のアプローチを使用する。これらのシステムは、所望の出力を生成するために、決定規則のツリー構造を使用する。これらの決定規則、及び規則のセットが構成するツリー構造は、特別なアプリケーションのために考案されなければならない。そのようなAI主体は、“非学習AI主体”と言われる。
【0008】
非学習AI主体は、知識ベース(knowledge bases)、及びマルチエージェント処理スキーム(multi-agent processing schemes)を有し、知識ベースは、推論を行うと共に、照会に答えるための規則によって、情報の収集物の周辺に組織化され、一方、マルチエージェントスキームは、固定したアルゴリズムを処理する多数の主体を結合する。これらの集合は、多くの場合、人々がそれらの動きを制御するアルゴリズム、推論規則、及び他の方法を更新するための便利な方法を有する。しかしながら、“学習”は、集合そのものではなく、それらを実行する人間において実際に起こっている。
【0009】
同様に、そのようなシステムにおいて容易に明白となる別の重大な問題は、それらが不正確な、もしくは紛らわしい情報を扱うことができないことであり、もし、プレーヤが1つの質問に不正確に答える場合、これは、システムを誤った回答(或いは、推測)に導く意志決定のツリー構造の誤った“ブランチ”をシステムがたどる原因となる。
【0010】
これらの弱点は、そのようなゲームにおけるエキスパートシステムの使用を、更に高いレベルの人工知能を所有するような神経ネットワークの使用に交換する必要性を必要とする。本発明は、この必要性を満たす。
【課題を解決するための手段】
【0011】
上述の従来技術の弱点を克服するために、及び本仕様を読むことと理解することとに基づいて明白になる他の弱点を克服するために、本発明は、従って、コンピュータゲームにおいて、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測する方法を提供する。方法は、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークは、尋ねられた質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモードにおいて、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、方法は、第1のモードにおいて神経ネットワークを利用することによって、及び少なくとも1つの回答を重みに対応付けることによって対象物を順位付けるステップ、すなわち回答の重みを、順位付けられるその質問及び対象物に対応する神経ネットワークにおけるセルの重みと比較すると共に、一致性に従って対応するセルの重みを一時的に変更し、そして、変更されたセルの重みに従って対象物を順位付けるステップと、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるステップと、対象物の順位付けに従って推測を与えるステップと、対応付けられた回答の重みと調整前のセルの重みとの間の一致性に従って、推測された物体に対応するセルの重みを調整するステップとを有する。
【0012】
本発明の1つの特徴によれば、質問を順位付けるステップは、より高い方に順位付けられた対象物に関して、質問に対する予測可能な回答を、肯定的な重み、及び否定的な重みに対応付けること、各質問に関する一致の重み(agreeable weights)、及び不一致の重み(disagreeable weights)を足し合わせると共に、各々の質問に関する2つの合計の間のマージンを計算すること、そして、マージンに従って質問を順位付けることによって提供される。
【0013】
本発明の別の特徴によれば、質問を順位付けるステップは、各質問に関して、最上位に順位付けられた対象物及びその質問に対応するセルの重みと、他の上位に順位付けられた対象物及びその質問に対応する重みとの間のマージンを計算すること、そして、各質問のマージンを他の質問のマージンと比較することによって質問を順位付けることによって提供される。
【0014】
本発明の更に別の特徴によれば、行列の各セルが入出力接続の重みを定義する、“X”対“Y”の行列フォーマットに構造化されると共に、X−軸の要素が入力ノードであり、Y−軸の要素が出力ノードである第1のモード、及びY−軸の要素が入力ノードであり、X−軸の要素が出力ノードである第2のモードにおいて利用され得る神経ネットワークが提供される。
【0015】
本発明のその上更なる特徴によれば、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するゲームが提供される。ゲームは、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークは、尋ねられた質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモード、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、ゲームは、第1のモードにおいて神経ネットワークを利用することによって対象物を順位付けるための手段と、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるための手段と、対象物の順位付けに従って推測を与えるための手段とを備えている。
【0016】
本発明の更なる特徴によれば、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するための方法をコンピュータ、または携帯端末に実行させる命令、及びデータの表現を生成するコンピュータ読み取り可能な媒体が提供される。方法は、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークは、尋ねられた質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモードにおいて、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、方法は、第1のモードにおいて神経ネットワークを利用することによって対象物を順位付けるステップと、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるステップと、対象物の順位付けに従って推測を与えるステップとを有する。
【0017】
本発明は、自主的であるか否かに拘らず、システムが経験及びプレーヤからの入力の結果として動作を変えることを可能にする利点を提供する。
【0018】
本発明は、同様に、不正確な、もしくは紛らわしい情報を扱う利点を提供する。
【0019】
添付図面と併せて説明された以下の詳細な記述の参照によって、本発明、その構成、構造、及び動作は、最もよく理解されることになる。
【発明を実施するための最良の形態】
【0020】
以下の記述は、あらゆる当業者が発明を利用することを可能にするために提示されると共に、特別なアプリケーション、及びその要求に照らして行われる。開示された実施例への様々な変形が、容易に当業者にとって明白になると共に、ここに定義された一般原則は、本発明の精神、及び範囲からはずれることなく、他の実施例、及びアプリケーションに適用されることができる。従って、本発明は、示された実施例に制限されることを意図していないが、しかし、ここに開示された原理、及び特徴に沿って最も広い範囲を与えられるべきである。
【0021】
以下に使用される用語“間違っている”、“不正確な”、“紛らわしい”、そして“一致しない”は交換可能であることが、一般的に理解されることになる。同様に、この文書に使用される“教育する”、“教える”、“学ぶ”、“知る”、そして“レッスン”のような用語が、神経ネットワークの観念において使用されることが、一般的に理解されることになる。更に、以下に使用される用語“順位付ける”、及び“優先順位を付ける”が交換可能であるということが、一般的に理解されることになる。
【0022】
“ANN”は、ニューロン(或いは、単にノード)、及びノードの間の接続から成る計算モデルである。各接続の強さは、修正され得る“重み”と呼ばれる数値によって表される。あるノードの起動は、そのノードに向けられた接続を有するノードの起動、及びそれらの接続上の重みに基づいている。一般的に、神経ネットワークは、それらの起動外部セット(activation external set)によって“入力ノード”と呼ばれるいくつかの特別なノードを内蔵すると共に、一方他のノードは“出力ノード”として分類される。
【0023】
本発明において、神経ネットワークは、X軸が入力ノード、Y軸が出力ノードとして、またはその逆で使用され得る、セルが重みを定義する行列フォーマット(“X”対“Y”)に構造化される。具体的に、本発明の神経ネットワークは、“対象物”対“質問/回答”の行列である。行列のセルは、質問/回答と対象物との間の関係を定義すると共に、行列は、質問/回答を入力ノードとして、及び対象物を出力ノードとして、またはその逆で使用されることができる。
【0024】
本記述、及び請求項において、“交換(swap)”は“入力ノードが出力ノードになると共に出力ノードが入力ノードになること”を意味する。
【0025】
本発明における“ANN”は、多くの質問をプレーヤにすると共に、その後、そのプレーヤが何について考えていたかを推測するゲームのために使用されるので、上述の行列フォーマットは、時々ある目標物を活性化する回答を有し、他の時にある回答の獲得を活性化する目標物を有すること、言い換えれば尋ねられるべき質問を活性化する利点を提示する。もし入力ノードが質問に対する回答である場合、出力ノードは、最上位の物体(top objects)(すなわち、有望な物体)であり、もし入力ノードが最上位の物体である場合、出力ノードは、尋ねられるべき最も良い質問である。これは、一例として最もよく説明されることになる。
【0026】
最初の質問は、通常そのプレーヤが考えているものが動物、野菜、鉱物等であるかどうかを決定することである。(明らかに、まだ活性化された対象物がないので、最初の質問は活性化されない。)例えば、もしそのプレーヤが動物と答える場合、これは、この分類の中に含まれる対象物を、高い優先順位をそれらに与えて、活性化することになると共に、一方、この分類に当てはまらない対象物は低い優先順位を与えられる。これは、図1Aに説明される。
【0027】
一度、動物分類の中に含まれる対象物が活性化される場合、それらは、次に、“それはサラダバーで発見されるか?”という質問を活性化するよりも、“それは農場で発見されるか?”という質問を活性化する可能性が高い。一方、もしそのプレーヤが動物の代わりに野菜と答えた場合、その場合に、次の質問は、“それは農場で発見されるか?”という質問より、“それはサラダバーで発見されるか?”という質問である可能性が高い。これは、図1Bに説明される。
【0028】
農場で発見される動物についてそのプレーヤが考えていたと共に、それに応じて最初の2つの質問(“それは、動物、野菜、鉱物、その他のもの、もしくは知られていないものであるか?”、及び“それは農場で発見されるか?”)に答えたと仮定すると、2番目の質問に対する回答は、“ライオン”、“鷲”、及び“鯨”のような動物より、“豚”、“鶏”、及び“犬”のような動物を支持する。そして、それは、次に、尋ねられるべき他の質問(例えば、“それは絶滅寸前か?”)より、ある質問(例えば、“あなたはそれを食べることができるか?”)を支持することになると共に、一方、尋ねられる質問の更に別のセット−すなわち、今獲得された情報に関連しない質問のセット(例えば、“それは毛で覆われているか?”)の可能性に影響を及ぼさない。3番目の質問の活性化は、図1Cで説明される。
【0029】
もし“あなたはそれを食べることができるか?”という質問に対する回答が“はい”である場合、これは“犬”などその他いろいろより“鶏”を支持することになる。
【0030】
ここまでで、上述の方法で入力ノード、及び出力ノードが交換され得る行列フォーマットに連結された“ANN”を有することの利点は、明瞭にされたはずである。そして、まだ入出力接続の重みについては論じられなかったが、それは、この処理の間に対象物がフィルタ処理されるのではなく優先順位を付けられると断言する点で非常に重要であり、言い換えると、対象物は、異なる重みを質問−対象物の接続(question-target object connections)に与えることによって優先順位を付けられると共に、これらの重みは、再度の優先度付けの間に変更され得る。これは、他の推測するゲームと本発明とを区別する非常に重要な特徴であり、それは、紛らわしい情報を扱う能力をゲームに与える。
【0031】
このゲームをプレイしているときに、紛らわしく質問に答えることは珍しくなく、異なる人々は、異なる認識を有する。別の人は気づかないが、ある人はウサギが齧歯類動物であると気づくであろう。明らかに、これらの2人の人は、“それは、齧歯類動物であるか?”という質問に、異なって答えることになる。ある宗教的信条を有する人は、“豚”について考えるとき、異なる宗教の異なる人が“はい”と答えるであろう“あなたはそれを食べることができるか?”という質問に“いいえ”と答えるであろう。もし“ANN”が“豚”は食べることができると教えられる場合、ある人が彼/彼女が考えているものは食べることができないことを示すとき、それは低い優先順位を“豚”に与えると共に、ゲームの後の方で対象物に再び優先順位を付ける時に、もしある人が“それは渦巻いたしっぽを持っているか”という質問に“はい”と答える場合、高い優先順位を“豚”に与える。
【0032】
同様に、“ANN”システムが全ての質問の後で対象物に必ずしも優先順位を付けるとは限らないということが言及されるべきである。通常ゲームによってプレーヤは、“はい”、“いいえ”、“知らない(Unknown)”、“見当違いである(Irrelevant)”、“時々(Sometimes)”、“おそらく(Maybe)”、“たぶん(Probably)”、“疑わしい(Doubtful)”、“いつもは(Usually)”、“状況次第では(Depends)”、“まれに(Rarely)、または“一部分は(Partly)”という言葉によって回答をすることが可能となる。明らかに、“見当違いである”及び“状況次第では”というような回答は、あまり役に立たないと共に、システムが既に知っている情報にあまり情報を加えない。従って、“ANN”システムがあらゆる対象物に優先順位を付ける前に、多くの質問がされる。
【0033】
先に述べたように、ノードの間の接続の強さは、修正され得る重みと呼ばれる数値によって表現される。“ANN”行列における各セルは、回答−対象物の接続、または対象物−質問の接続の関係の強さ、すなわち重みを表す。最適化のために、各重みは、つながりの強さを示す7ビットと、つながりの種類−“肯定的”または“否定的”を示す1ビットを有する1バイトであるが、しかしながら、更に多くの精度が使用され得るか、または逆にデータは2、3ビットに圧縮され得る。
【0034】
神経ネットワークの役割は、出力ノードに入力ノードを結び付ける機能を実行することである。以下の段落においては、どのように“ANN”が対象物を順位付けるか(ここでは、それらの回答は明らかに入力ノードであり、その対象物は出力ノードである)、及びどのようにそれが質問を順位付けるか(ここでは、対象物は入力ノードであり、質問は出力ノードである)について論じられることになる。
【0035】
対象物を順位付ける際、0個からN個の回答が与えられて、使用されたアルゴリズムは、回答を神経ネットワークと比較し、それに応じて対象物を順位付ける。
【0036】
利用可能な回答のセットは、2つのサブセットである、肯定的な回答、及び否定的な回答に分割されると共に、各回答はそれに関連付けられたある重みを有してる。(どのプレーヤが質問に同意するか反対するかの程度である)回答の重みと、(入力ノード−出力ノードの接続の強さである)セルの重みとを区別するように注意されなければならない。
【0037】
図2は、各回答と関連付けられた回答及び重みの現在のセットを示す。“知らない”という回答は、回答とみなされないと共に、これらの計算に使用されない。他の対応付けスキーム(mapping schemes)は、“はい”から“いいえ”までスライドする等級(sliding scale)を含むことが可能であるか、またはプレーヤの回答の重みは、音声認識システムが提供する読み取られた音声の抑揚に基づくことさえも可能である。(いくつかの以下の例において、各々、肯定的な(+)、及び否定的な(−)の含意は、肯定的なもの、及び否定的なものを区別するために、重みと共に使用される。)
【0038】
各対象物に関して、アルゴリズムは、それぞれ回答された質問を神経ネットワークにおける対応するセルと比較する。回答の重みは、取り決めに応じて、セルの事前調整された重みに加算されるか、もしくはセルの事前調整された重みから減算されるかのいずれかを実行される。ここで使用される“事前調整された”は、前の実施から調整されることを意味する。(セルの重みの調整については以下で論じられる。)提供された回答、及びセルの事前調整された重みが、どちらも肯定的、または、どちらも“否定的”のいずれかであるときの“取り決め”がある。
【0039】
図3Aから図3Dは、対象物順位付け方法を説明する行列に似たテーブルである。説明の目的にかなうために、それに応じて選択されたこれらの数字には、仮定の数字を使用する。それは、プレーヤが“犬”について考えていると与えられる共に、簡単化のために、アルゴリズムは、ここでは最上位の対象物を“犬”、“猫、及び“ライオン”の3つに限定したと仮定される。図3Aは、3つの最上位対象物301に関しての“それはかみつくことができるか?”という質問に対応するセルの事前調整された重みを示す。“それはかみつくことができるか?”と質問されてプレーヤが“はい”と答えることを仮定すると、アルゴリズムは、肯定的な回答の重み、−すなわち“4(図2参照)”を、その質問に関する陽極性を有するセル302に一時的に加算することになると共に、その回答の重みを、その質問に関する負極性を有するセル303から減算することになる。図3Bは、加算/減算のステップ304を説明する。
【0040】
その場合に、アルゴリズムは、最上位物体リストから、他の最上位物体より著しく低い値を有する対象物を除去することによって、最上位物体を限定することになる。この例においては、“猫”が取り除かれる。
【0041】
図3C、及び図3Dは、異なる質問−“それは農場で発見されるか?”−及び残りの2つの最上位物体−“犬”と“ライオン”−に関して、どのようにそのアルゴリズムが更に最上位物体を1つに限定するかを説明するために、上述の対象物順位付け方法を繰り返す。回答の重みがセルの重み305に加算された後で、“ライオン”は、プレーヤが考えていたものである“犬”を残すように最上位物体リストから削除される。一度、対象物が推測されれば、その対象物に関するセルの重みは調整される。質問順位付け手続きの記述に続いて、セルの重みの調整については以下で論じられる。
【0042】
簡単化のために、質問順位付け手続き(及び関連する図面、図4)は、実際は“はい”及び“いいえ”の要素が、異なる質問の重みを伴う肯定的要素及び否定的要素であり(図2参照)、回答の重みが当然ながら考慮されると共に関連する計算に影響を及ぼす“はい”及び“いいえ”の要素406に関して論じられることになる。
【0043】
質問を順位付ける際、アルゴリズムは、各質問を調査すると共に、最上位物体の内のどのくらいが“はい”と回答されるか、及び、どのくらいが“いいえ”と回答されるかを決定する。アルゴリズムは、最上位対象物に対して各質問を調査すると共に、各質問に関して、それは、“はい”及び“いいえ”の要素を合計する。2つの合計のより低い方は、2つの合計のより高い方から減算されると共に、最も低い合計の差を有する質問は、次に質問されるべき最も良い質問として、すなわち最も役に立つ/有効である、もしくは知られていない質問として選択される。これは、それが“はい”及び“いいえ”の回答の間の完璧なバランスを表すので、質問が選択されることができることを意味する。50−50分割(50-50 split)が、理想的であろう。
【0044】
図4は、一例としてその手続きを説明する行列に似たテーブルである。簡単化のために、6個の最上位対象物404があると共に、全体で10個の質問405があると仮定されている。アルゴリズムは、6個の最上位対象物404に対する10の質問405の各々を調査すると共に、“はい”の要素401と“いいえ”の要素402の合計を求め、2つ合計のより高い方から2つの合計のより低い方を減算する(403)。そして、より低いマージン(合計の差)を有する質問を、より高いマージンを有する質問より優れて、尋ねられるべき、より良い質問として順位付ける。
【0045】
テーブルから容易に分かるように、最も有効な質問は、合計の差が“0”である2番目及び5番目の質問であると共に、最も有効でない質問は、合計の差が“6”である4番目、6番目、及び8番目の質問である。4番目、6番目、及び8番目の質問は動物と関係がないので、これは驚くべきものではない。
【0046】
上述のように、実際には“はい”及び“いいえ”の要素は、異なる重みを有する肯定的な回答、及び否定的な回答である。実際上、アルゴリズムは、一致の重み(agreeable weights)と不一致の重み(disagreeable weights)を合計すると共に、2つのより高い方から2つのより低い方を減算し、そして、より小さなマージンを有する質問が更に高く評価される。
【0047】
質問を選択する際の別の定期的に使用される方法は、それの回答が、最上位−最高物体(top-most object)−−−他の最上位物体の間で最高位に順位付けられた最上位物体−−−が正しいか否かを立証することになる質問を抜き取ることである。各質問に関して、最上位−最高物体に対応するセルの重みは、他の最上位物体に対応するセルの重みと比較される。2個のセルのより高い方から2個のセルのより低い方を減算することによってマージンが算出され、最も大きいマージンを有する質問が選択される。
【0048】
図3Aから図3Dと同様に、図5は、実例の目的にかなうために、それに応じて選択された仮定の数字を使用する。“レタス”、“ニンジン”、及び“トマト”が最上位物体であると共に、“ニンジン”が最上位−最高物体である。簡単化のために、我々は、これのみに制限すると見なされるべきでない3つの質問を考察する。“ニンジン”が最上位−最高物体であるので、アルゴリズムは、3つの質問の各々と対応する“ニンジン”の対応するセルの重み501を、“レタス”の対応するセルの重み502、及び“トマト”の対応するセルの重み503と対照して調査することになる。最初の質問に関して、“ニンジン”−“レタス”のマージンは、1500(3500−2000)であると共に、“ニンジン”−“トマト”のマージンは、2100である。2番目の質問に関して、それらのマージンは、各々11500{9000−(−2500)}、及び13000である。3番目の質問に関して、それらのマージンは、各々4000、及び5500である。アルゴリズムは、最も大きなマージンを与えるので、2番目の質問を選択する。容易に分かるように、この質問をすることは、確かに“ニンジン”が正しい最上位−最高物体であることを裏付ける。
【0049】
神経ネットワークにおける学習は、一般的にセルの重みを調整することによって達成される。一度、対象物が確認‐正しく推測−されたならば、その対象物に関するセルの重みだけが修正され、すなわち対象物を与えられて、アルゴリズムが各回答を調査すると共に、もしその回答が一致のもの(agreeable one)である場合、セルの重みは(通常プレーヤの回答の重み、この場合1から4までの値を加算することによって)増加する。もし回答が不一致のもの(disagreeable one)である場合、セルの重みは減少する。もしセルに(前の実施から重みを事前調整した)値がない場合、新しいセルの重みは、プレーヤの回答に従って設定される。
【0050】
図3Aから図3Dの例において、一度“犬”が推測されれば、アルゴリズムは、“それはかみつくことができるか?”という質問と、“それは農場で発見されるか?”という質問に対応するセルの重みを、それぞれ5004と7004に調整する。このステップは、それらの重みが一時的に合計される前述のステップと混同されるべきでない。一度、セルの重みがこの方法で調整されたならば、今度、そのゲームがプレイされる時、新しいセルの重みは、“事前調整された”値であると考えられる。
【0051】
アルゴリズムは、神経ネットワークを教える一方、人口統計的な要素を考慮する。例えば、プレーヤは、彼の年齢、性別、及び地理的位置について尋ねられると共に、この情報は、教育処理(teaching process)において考察され、そして、同じ人口統計的グループの人がゲームをプレイする次の時に使用される。これは、同じ人口統計的グループの人々が同様の認識を有する傾向があるので、上述の異なる認識によって引き起こされた紛らわしい回答の数を減少させるのに有益である。
【0052】
この場合、セルは、それぞれの重みがある人口統計と関係付けられた異なるセルの重みを有している。図6Aにおいて、“あなたはそれを食べることができるか?”という質問に対応するセルは、“豚”に対して肯定的な重み601を有していると共に、一方図6Bにおいて、それは、否定的な重み602を有している。もし“豚“は食べることができると認識する人口統計的グループに属する人がゲームをプレイしている場合、アルゴリズムは、その質問に関する重みである“肯定的な重み”601を使用する。また、もし“豚“は食べることができないと認識する人口統計的グループに属する人がゲームをプレイしている場合、アルゴリズムは、その質問に関する重みである“否定的な重み”602を使用する。
【0053】
利用者を異なる人口統計的グループに分類する別の方法は、それらがどちらのグループに属するかを推測することによるものである。この場合、アルゴリズムは、“人口統計的グループ”対“質問”行列フォーマットに構造化された神経ネットワークを利用すると共に、上述された同様の方法で、−対象物の代わりに−、グループを推測する。
【0054】
一般的に、本発明の方法は、多目的の計算装置、または携帯端末を用いて実行される。計算装置/携帯端末、及び関連するコンピュータ読み取り可能な媒体は、ここで説明されたコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶装置を提供する。コンピュータ読み取り可能な媒体は、本発明の方法をコンピュータ、または装置に実行させるために使用される命令、及びデータの表現を有する。
【0055】
本発明の様々な好ましい実施例がここに詳細に説明されたが、発明の精神、または付加されたクレームの範囲からはずれずに変形が実施され得ることは、当業者にとって当然のことである。
【図面の簡単な説明】
【0056】
【図1A】どのように最初の活性化されない質問が対象物を活性化するかを説明する行列に似た視覚による実例を示すテーブルである。
【図1B】対象物が質問を活性化する例を説明する行列に似た視覚による実例を示すテーブルである。
【図1C】対象物が質問を活性化する例を説明する行列に似た視覚による実例を示すテーブルである。
【図2】重みに対する回答の対応付けの例を示す図である。
【図3A】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図3B】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図3C】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図3D】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図4】質問の順位付け手続きを説明する行列に似たテーブルである。
【図5】別の質問の順位付け手続きを説明する行列に似たテーブルである。
【図6A】どのように異なるセルの重みが異なる人口統計的な対象のために使用されるかを示す行列に似たテーブルである。
【図6B】どのように異なるセルの重みが異なる人口統計的な対象のために使用されるかを示す行列に似たテーブルである。
【符号の説明】
【0057】
301 最上位対象物
302 陽極性を有するセル
303 負極性を有するセル
304 加算/減算のステップ
305 セルの重み
401 “はい”の要素
402 “いいえ”の要素
501 “ニンジン”の対応するセルの重み
502 “レタス”の対応するセルの重み
503 “トマト”の対応するセルの重み
601 肯定的な重み
602 否定的な重み
【技術分野】
【0001】
本発明は、概して人工知能ゲーム、及び、特に“推測する”ゲームにおいて人工の神経ネットワーク学習技術を使用する、新しくかつ有益な方法に関するものである。
【背景技術】
【0002】
人工神経ネットワーク(ANNs)は、当該技術において良く知られていると共に、概して1990年3月27日に“Wood”に対して発行された米国特許第4,912,654号明細書(Neural Networks Learning Method)、及び1993年6月22日に“Nishimura”に対して発行された米国特許第5,222,194号明細書(Neural Network with Modification of Neuron Weights and Reaction Coefficient)において説明される。
【0003】
広く使用された神経ネットワーク(多層の認識)の1つは、層内に配置された神経ユニットと呼ばれる複数の演算処理装置を有する。相互接続は、連続する層のユニットの間で行われる。ネットワークは、入力層、出力層、及びその間に1つ以上の“隠された”層を有している。隠された層は、非線形の問題の解決を可能にするために必要である。各ユニットは、それが受信する入力信号の重み付けされた和、及びそのユニットに特有のしきい値によって決定される出力信号を生成することが可能である。ユニットは、(ネットワークの外側、もしくは他のユニットのいずれかから)入力が与えられると共に、これらを、線形の出力、もしくは非線形の出力を計算するために使用する。ユニットの出力は、次の層における他のユニット、或いはネットワークの外側のいずれかに到達する。各ユニットに対する入力信号は、学習過程において得られた係数によって、肯定的、或いは否定的のいずれかに重み付けされている。
【0004】
重み、及びしきい値係数が正しいレベルに設定されたとき、入力層における複合的な励振パターン(stimulus pattern)は、出力パターンになるように、隠された層の間で連続して増殖する。ネットワークは、入力パターン、及び対応して予想される出力パターンの連続をそれに与えることによって教えられ、ネットワークは、−各出力ユニットにおける−予想される出力パターンとまさに生成されたパターンとの差を測定することによって学習する。
【0005】
これを実行することにより、内部の重み、及びしきい値は、入力パターンのスペクトルにおけるエラーを最小限にする一方、予想される出力パターンに更に厳密に近づいた出力パターンを提供する学習アルゴリズムによって修正される。神経ネットワーク学習は、多重レッスンを包含する反復処理である。
【発明の開示】
【発明が解決しようとする課題】
【0006】
概して、神経ネットワークは、制御アプリケーションにおいて、(1)パターン認識、診断学、センサ融合(sensor fusion)、動的システムの同定(dynamic system identification)等のために使用されるサブシステムとして、(2)専門家がすることをコピーすることによって、人間の、または、人工の専門家を模倣することを学ぶクローンとして、(3)前もって選ばれた参照モデルに密着する外部環境を作ろうとする動作の戦略を学ぶ“追跡”システムとして、そして、(4)時間をかけて測定する性能を最大限にするか、もしくは最小限にするためのシステムとして使用された。
【0007】
ここで説明されると共に、請求される発明は、多くの質問を利用者(プレーヤ)に尋ねた後で、利用者(プレーヤ)が何について考えているかを“推測する”ゲームに使用される神経ネットワークシステムを有する。そのようなゲーム−推測ゲーム−の概念は新しくないが、しかしながら、従来の推測ゲームは、事実及び規則のセットが、新しい入力がないときには同じ質問に対しては同じ回答を示す実行装置に入力される“エキスパートシステム”のような人工知能(Artificial Intelligence:AI)に対して、他のアプローチを使用する。これらのシステムは、所望の出力を生成するために、決定規則のツリー構造を使用する。これらの決定規則、及び規則のセットが構成するツリー構造は、特別なアプリケーションのために考案されなければならない。そのようなAI主体は、“非学習AI主体”と言われる。
【0008】
非学習AI主体は、知識ベース(knowledge bases)、及びマルチエージェント処理スキーム(multi-agent processing schemes)を有し、知識ベースは、推論を行うと共に、照会に答えるための規則によって、情報の収集物の周辺に組織化され、一方、マルチエージェントスキームは、固定したアルゴリズムを処理する多数の主体を結合する。これらの集合は、多くの場合、人々がそれらの動きを制御するアルゴリズム、推論規則、及び他の方法を更新するための便利な方法を有する。しかしながら、“学習”は、集合そのものではなく、それらを実行する人間において実際に起こっている。
【0009】
同様に、そのようなシステムにおいて容易に明白となる別の重大な問題は、それらが不正確な、もしくは紛らわしい情報を扱うことができないことであり、もし、プレーヤが1つの質問に不正確に答える場合、これは、システムを誤った回答(或いは、推測)に導く意志決定のツリー構造の誤った“ブランチ”をシステムがたどる原因となる。
【0010】
これらの弱点は、そのようなゲームにおけるエキスパートシステムの使用を、更に高いレベルの人工知能を所有するような神経ネットワークの使用に交換する必要性を必要とする。本発明は、この必要性を満たす。
【課題を解決するための手段】
【0011】
上述の従来技術の弱点を克服するために、及び本仕様を読むことと理解することとに基づいて明白になる他の弱点を克服するために、本発明は、従って、コンピュータゲームにおいて、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測する方法を提供する。方法は、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークは、尋ねられた質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモードにおいて、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、方法は、第1のモードにおいて神経ネットワークを利用することによって、及び少なくとも1つの回答を重みに対応付けることによって対象物を順位付けるステップ、すなわち回答の重みを、順位付けられるその質問及び対象物に対応する神経ネットワークにおけるセルの重みと比較すると共に、一致性に従って対応するセルの重みを一時的に変更し、そして、変更されたセルの重みに従って対象物を順位付けるステップと、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるステップと、対象物の順位付けに従って推測を与えるステップと、対応付けられた回答の重みと調整前のセルの重みとの間の一致性に従って、推測された物体に対応するセルの重みを調整するステップとを有する。
【0012】
本発明の1つの特徴によれば、質問を順位付けるステップは、より高い方に順位付けられた対象物に関して、質問に対する予測可能な回答を、肯定的な重み、及び否定的な重みに対応付けること、各質問に関する一致の重み(agreeable weights)、及び不一致の重み(disagreeable weights)を足し合わせると共に、各々の質問に関する2つの合計の間のマージンを計算すること、そして、マージンに従って質問を順位付けることによって提供される。
【0013】
本発明の別の特徴によれば、質問を順位付けるステップは、各質問に関して、最上位に順位付けられた対象物及びその質問に対応するセルの重みと、他の上位に順位付けられた対象物及びその質問に対応する重みとの間のマージンを計算すること、そして、各質問のマージンを他の質問のマージンと比較することによって質問を順位付けることによって提供される。
【0014】
本発明の更に別の特徴によれば、行列の各セルが入出力接続の重みを定義する、“X”対“Y”の行列フォーマットに構造化されると共に、X−軸の要素が入力ノードであり、Y−軸の要素が出力ノードである第1のモード、及びY−軸の要素が入力ノードであり、X−軸の要素が出力ノードである第2のモードにおいて利用され得る神経ネットワークが提供される。
【0015】
本発明のその上更なる特徴によれば、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するゲームが提供される。ゲームは、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークは、尋ねられた質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモード、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、ゲームは、第1のモードにおいて神経ネットワークを利用することによって対象物を順位付けるための手段と、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるための手段と、対象物の順位付けに従って推測を与えるための手段とを備えている。
【0016】
本発明の更なる特徴によれば、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するための方法をコンピュータ、または携帯端末に実行させる命令、及びデータの表現を生成するコンピュータ読み取り可能な媒体が提供される。方法は、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、神経ネットワークは、尋ねられた質問に対する回答が入力ノードであり、対象物が出力ノードである第1のモードにおいて、及び対象物が入力ノードであり、質問が出力ノードである第2のモードにおいて利用され得ると共に、方法は、第1のモードにおいて神経ネットワークを利用することによって対象物を順位付けるステップと、第2のモードにおいて神経ネットワークを利用することによって質問を順位付けるステップと、対象物の順位付けに従って推測を与えるステップとを有する。
【0017】
本発明は、自主的であるか否かに拘らず、システムが経験及びプレーヤからの入力の結果として動作を変えることを可能にする利点を提供する。
【0018】
本発明は、同様に、不正確な、もしくは紛らわしい情報を扱う利点を提供する。
【0019】
添付図面と併せて説明された以下の詳細な記述の参照によって、本発明、その構成、構造、及び動作は、最もよく理解されることになる。
【発明を実施するための最良の形態】
【0020】
以下の記述は、あらゆる当業者が発明を利用することを可能にするために提示されると共に、特別なアプリケーション、及びその要求に照らして行われる。開示された実施例への様々な変形が、容易に当業者にとって明白になると共に、ここに定義された一般原則は、本発明の精神、及び範囲からはずれることなく、他の実施例、及びアプリケーションに適用されることができる。従って、本発明は、示された実施例に制限されることを意図していないが、しかし、ここに開示された原理、及び特徴に沿って最も広い範囲を与えられるべきである。
【0021】
以下に使用される用語“間違っている”、“不正確な”、“紛らわしい”、そして“一致しない”は交換可能であることが、一般的に理解されることになる。同様に、この文書に使用される“教育する”、“教える”、“学ぶ”、“知る”、そして“レッスン”のような用語が、神経ネットワークの観念において使用されることが、一般的に理解されることになる。更に、以下に使用される用語“順位付ける”、及び“優先順位を付ける”が交換可能であるということが、一般的に理解されることになる。
【0022】
“ANN”は、ニューロン(或いは、単にノード)、及びノードの間の接続から成る計算モデルである。各接続の強さは、修正され得る“重み”と呼ばれる数値によって表される。あるノードの起動は、そのノードに向けられた接続を有するノードの起動、及びそれらの接続上の重みに基づいている。一般的に、神経ネットワークは、それらの起動外部セット(activation external set)によって“入力ノード”と呼ばれるいくつかの特別なノードを内蔵すると共に、一方他のノードは“出力ノード”として分類される。
【0023】
本発明において、神経ネットワークは、X軸が入力ノード、Y軸が出力ノードとして、またはその逆で使用され得る、セルが重みを定義する行列フォーマット(“X”対“Y”)に構造化される。具体的に、本発明の神経ネットワークは、“対象物”対“質問/回答”の行列である。行列のセルは、質問/回答と対象物との間の関係を定義すると共に、行列は、質問/回答を入力ノードとして、及び対象物を出力ノードとして、またはその逆で使用されることができる。
【0024】
本記述、及び請求項において、“交換(swap)”は“入力ノードが出力ノードになると共に出力ノードが入力ノードになること”を意味する。
【0025】
本発明における“ANN”は、多くの質問をプレーヤにすると共に、その後、そのプレーヤが何について考えていたかを推測するゲームのために使用されるので、上述の行列フォーマットは、時々ある目標物を活性化する回答を有し、他の時にある回答の獲得を活性化する目標物を有すること、言い換えれば尋ねられるべき質問を活性化する利点を提示する。もし入力ノードが質問に対する回答である場合、出力ノードは、最上位の物体(top objects)(すなわち、有望な物体)であり、もし入力ノードが最上位の物体である場合、出力ノードは、尋ねられるべき最も良い質問である。これは、一例として最もよく説明されることになる。
【0026】
最初の質問は、通常そのプレーヤが考えているものが動物、野菜、鉱物等であるかどうかを決定することである。(明らかに、まだ活性化された対象物がないので、最初の質問は活性化されない。)例えば、もしそのプレーヤが動物と答える場合、これは、この分類の中に含まれる対象物を、高い優先順位をそれらに与えて、活性化することになると共に、一方、この分類に当てはまらない対象物は低い優先順位を与えられる。これは、図1Aに説明される。
【0027】
一度、動物分類の中に含まれる対象物が活性化される場合、それらは、次に、“それはサラダバーで発見されるか?”という質問を活性化するよりも、“それは農場で発見されるか?”という質問を活性化する可能性が高い。一方、もしそのプレーヤが動物の代わりに野菜と答えた場合、その場合に、次の質問は、“それは農場で発見されるか?”という質問より、“それはサラダバーで発見されるか?”という質問である可能性が高い。これは、図1Bに説明される。
【0028】
農場で発見される動物についてそのプレーヤが考えていたと共に、それに応じて最初の2つの質問(“それは、動物、野菜、鉱物、その他のもの、もしくは知られていないものであるか?”、及び“それは農場で発見されるか?”)に答えたと仮定すると、2番目の質問に対する回答は、“ライオン”、“鷲”、及び“鯨”のような動物より、“豚”、“鶏”、及び“犬”のような動物を支持する。そして、それは、次に、尋ねられるべき他の質問(例えば、“それは絶滅寸前か?”)より、ある質問(例えば、“あなたはそれを食べることができるか?”)を支持することになると共に、一方、尋ねられる質問の更に別のセット−すなわち、今獲得された情報に関連しない質問のセット(例えば、“それは毛で覆われているか?”)の可能性に影響を及ぼさない。3番目の質問の活性化は、図1Cで説明される。
【0029】
もし“あなたはそれを食べることができるか?”という質問に対する回答が“はい”である場合、これは“犬”などその他いろいろより“鶏”を支持することになる。
【0030】
ここまでで、上述の方法で入力ノード、及び出力ノードが交換され得る行列フォーマットに連結された“ANN”を有することの利点は、明瞭にされたはずである。そして、まだ入出力接続の重みについては論じられなかったが、それは、この処理の間に対象物がフィルタ処理されるのではなく優先順位を付けられると断言する点で非常に重要であり、言い換えると、対象物は、異なる重みを質問−対象物の接続(question-target object connections)に与えることによって優先順位を付けられると共に、これらの重みは、再度の優先度付けの間に変更され得る。これは、他の推測するゲームと本発明とを区別する非常に重要な特徴であり、それは、紛らわしい情報を扱う能力をゲームに与える。
【0031】
このゲームをプレイしているときに、紛らわしく質問に答えることは珍しくなく、異なる人々は、異なる認識を有する。別の人は気づかないが、ある人はウサギが齧歯類動物であると気づくであろう。明らかに、これらの2人の人は、“それは、齧歯類動物であるか?”という質問に、異なって答えることになる。ある宗教的信条を有する人は、“豚”について考えるとき、異なる宗教の異なる人が“はい”と答えるであろう“あなたはそれを食べることができるか?”という質問に“いいえ”と答えるであろう。もし“ANN”が“豚”は食べることができると教えられる場合、ある人が彼/彼女が考えているものは食べることができないことを示すとき、それは低い優先順位を“豚”に与えると共に、ゲームの後の方で対象物に再び優先順位を付ける時に、もしある人が“それは渦巻いたしっぽを持っているか”という質問に“はい”と答える場合、高い優先順位を“豚”に与える。
【0032】
同様に、“ANN”システムが全ての質問の後で対象物に必ずしも優先順位を付けるとは限らないということが言及されるべきである。通常ゲームによってプレーヤは、“はい”、“いいえ”、“知らない(Unknown)”、“見当違いである(Irrelevant)”、“時々(Sometimes)”、“おそらく(Maybe)”、“たぶん(Probably)”、“疑わしい(Doubtful)”、“いつもは(Usually)”、“状況次第では(Depends)”、“まれに(Rarely)、または“一部分は(Partly)”という言葉によって回答をすることが可能となる。明らかに、“見当違いである”及び“状況次第では”というような回答は、あまり役に立たないと共に、システムが既に知っている情報にあまり情報を加えない。従って、“ANN”システムがあらゆる対象物に優先順位を付ける前に、多くの質問がされる。
【0033】
先に述べたように、ノードの間の接続の強さは、修正され得る重みと呼ばれる数値によって表現される。“ANN”行列における各セルは、回答−対象物の接続、または対象物−質問の接続の関係の強さ、すなわち重みを表す。最適化のために、各重みは、つながりの強さを示す7ビットと、つながりの種類−“肯定的”または“否定的”を示す1ビットを有する1バイトであるが、しかしながら、更に多くの精度が使用され得るか、または逆にデータは2、3ビットに圧縮され得る。
【0034】
神経ネットワークの役割は、出力ノードに入力ノードを結び付ける機能を実行することである。以下の段落においては、どのように“ANN”が対象物を順位付けるか(ここでは、それらの回答は明らかに入力ノードであり、その対象物は出力ノードである)、及びどのようにそれが質問を順位付けるか(ここでは、対象物は入力ノードであり、質問は出力ノードである)について論じられることになる。
【0035】
対象物を順位付ける際、0個からN個の回答が与えられて、使用されたアルゴリズムは、回答を神経ネットワークと比較し、それに応じて対象物を順位付ける。
【0036】
利用可能な回答のセットは、2つのサブセットである、肯定的な回答、及び否定的な回答に分割されると共に、各回答はそれに関連付けられたある重みを有してる。(どのプレーヤが質問に同意するか反対するかの程度である)回答の重みと、(入力ノード−出力ノードの接続の強さである)セルの重みとを区別するように注意されなければならない。
【0037】
図2は、各回答と関連付けられた回答及び重みの現在のセットを示す。“知らない”という回答は、回答とみなされないと共に、これらの計算に使用されない。他の対応付けスキーム(mapping schemes)は、“はい”から“いいえ”までスライドする等級(sliding scale)を含むことが可能であるか、またはプレーヤの回答の重みは、音声認識システムが提供する読み取られた音声の抑揚に基づくことさえも可能である。(いくつかの以下の例において、各々、肯定的な(+)、及び否定的な(−)の含意は、肯定的なもの、及び否定的なものを区別するために、重みと共に使用される。)
【0038】
各対象物に関して、アルゴリズムは、それぞれ回答された質問を神経ネットワークにおける対応するセルと比較する。回答の重みは、取り決めに応じて、セルの事前調整された重みに加算されるか、もしくはセルの事前調整された重みから減算されるかのいずれかを実行される。ここで使用される“事前調整された”は、前の実施から調整されることを意味する。(セルの重みの調整については以下で論じられる。)提供された回答、及びセルの事前調整された重みが、どちらも肯定的、または、どちらも“否定的”のいずれかであるときの“取り決め”がある。
【0039】
図3Aから図3Dは、対象物順位付け方法を説明する行列に似たテーブルである。説明の目的にかなうために、それに応じて選択されたこれらの数字には、仮定の数字を使用する。それは、プレーヤが“犬”について考えていると与えられる共に、簡単化のために、アルゴリズムは、ここでは最上位の対象物を“犬”、“猫、及び“ライオン”の3つに限定したと仮定される。図3Aは、3つの最上位対象物301に関しての“それはかみつくことができるか?”という質問に対応するセルの事前調整された重みを示す。“それはかみつくことができるか?”と質問されてプレーヤが“はい”と答えることを仮定すると、アルゴリズムは、肯定的な回答の重み、−すなわち“4(図2参照)”を、その質問に関する陽極性を有するセル302に一時的に加算することになると共に、その回答の重みを、その質問に関する負極性を有するセル303から減算することになる。図3Bは、加算/減算のステップ304を説明する。
【0040】
その場合に、アルゴリズムは、最上位物体リストから、他の最上位物体より著しく低い値を有する対象物を除去することによって、最上位物体を限定することになる。この例においては、“猫”が取り除かれる。
【0041】
図3C、及び図3Dは、異なる質問−“それは農場で発見されるか?”−及び残りの2つの最上位物体−“犬”と“ライオン”−に関して、どのようにそのアルゴリズムが更に最上位物体を1つに限定するかを説明するために、上述の対象物順位付け方法を繰り返す。回答の重みがセルの重み305に加算された後で、“ライオン”は、プレーヤが考えていたものである“犬”を残すように最上位物体リストから削除される。一度、対象物が推測されれば、その対象物に関するセルの重みは調整される。質問順位付け手続きの記述に続いて、セルの重みの調整については以下で論じられる。
【0042】
簡単化のために、質問順位付け手続き(及び関連する図面、図4)は、実際は“はい”及び“いいえ”の要素が、異なる質問の重みを伴う肯定的要素及び否定的要素であり(図2参照)、回答の重みが当然ながら考慮されると共に関連する計算に影響を及ぼす“はい”及び“いいえ”の要素406に関して論じられることになる。
【0043】
質問を順位付ける際、アルゴリズムは、各質問を調査すると共に、最上位物体の内のどのくらいが“はい”と回答されるか、及び、どのくらいが“いいえ”と回答されるかを決定する。アルゴリズムは、最上位対象物に対して各質問を調査すると共に、各質問に関して、それは、“はい”及び“いいえ”の要素を合計する。2つの合計のより低い方は、2つの合計のより高い方から減算されると共に、最も低い合計の差を有する質問は、次に質問されるべき最も良い質問として、すなわち最も役に立つ/有効である、もしくは知られていない質問として選択される。これは、それが“はい”及び“いいえ”の回答の間の完璧なバランスを表すので、質問が選択されることができることを意味する。50−50分割(50-50 split)が、理想的であろう。
【0044】
図4は、一例としてその手続きを説明する行列に似たテーブルである。簡単化のために、6個の最上位対象物404があると共に、全体で10個の質問405があると仮定されている。アルゴリズムは、6個の最上位対象物404に対する10の質問405の各々を調査すると共に、“はい”の要素401と“いいえ”の要素402の合計を求め、2つ合計のより高い方から2つの合計のより低い方を減算する(403)。そして、より低いマージン(合計の差)を有する質問を、より高いマージンを有する質問より優れて、尋ねられるべき、より良い質問として順位付ける。
【0045】
テーブルから容易に分かるように、最も有効な質問は、合計の差が“0”である2番目及び5番目の質問であると共に、最も有効でない質問は、合計の差が“6”である4番目、6番目、及び8番目の質問である。4番目、6番目、及び8番目の質問は動物と関係がないので、これは驚くべきものではない。
【0046】
上述のように、実際には“はい”及び“いいえ”の要素は、異なる重みを有する肯定的な回答、及び否定的な回答である。実際上、アルゴリズムは、一致の重み(agreeable weights)と不一致の重み(disagreeable weights)を合計すると共に、2つのより高い方から2つのより低い方を減算し、そして、より小さなマージンを有する質問が更に高く評価される。
【0047】
質問を選択する際の別の定期的に使用される方法は、それの回答が、最上位−最高物体(top-most object)−−−他の最上位物体の間で最高位に順位付けられた最上位物体−−−が正しいか否かを立証することになる質問を抜き取ることである。各質問に関して、最上位−最高物体に対応するセルの重みは、他の最上位物体に対応するセルの重みと比較される。2個のセルのより高い方から2個のセルのより低い方を減算することによってマージンが算出され、最も大きいマージンを有する質問が選択される。
【0048】
図3Aから図3Dと同様に、図5は、実例の目的にかなうために、それに応じて選択された仮定の数字を使用する。“レタス”、“ニンジン”、及び“トマト”が最上位物体であると共に、“ニンジン”が最上位−最高物体である。簡単化のために、我々は、これのみに制限すると見なされるべきでない3つの質問を考察する。“ニンジン”が最上位−最高物体であるので、アルゴリズムは、3つの質問の各々と対応する“ニンジン”の対応するセルの重み501を、“レタス”の対応するセルの重み502、及び“トマト”の対応するセルの重み503と対照して調査することになる。最初の質問に関して、“ニンジン”−“レタス”のマージンは、1500(3500−2000)であると共に、“ニンジン”−“トマト”のマージンは、2100である。2番目の質問に関して、それらのマージンは、各々11500{9000−(−2500)}、及び13000である。3番目の質問に関して、それらのマージンは、各々4000、及び5500である。アルゴリズムは、最も大きなマージンを与えるので、2番目の質問を選択する。容易に分かるように、この質問をすることは、確かに“ニンジン”が正しい最上位−最高物体であることを裏付ける。
【0049】
神経ネットワークにおける学習は、一般的にセルの重みを調整することによって達成される。一度、対象物が確認‐正しく推測−されたならば、その対象物に関するセルの重みだけが修正され、すなわち対象物を与えられて、アルゴリズムが各回答を調査すると共に、もしその回答が一致のもの(agreeable one)である場合、セルの重みは(通常プレーヤの回答の重み、この場合1から4までの値を加算することによって)増加する。もし回答が不一致のもの(disagreeable one)である場合、セルの重みは減少する。もしセルに(前の実施から重みを事前調整した)値がない場合、新しいセルの重みは、プレーヤの回答に従って設定される。
【0050】
図3Aから図3Dの例において、一度“犬”が推測されれば、アルゴリズムは、“それはかみつくことができるか?”という質問と、“それは農場で発見されるか?”という質問に対応するセルの重みを、それぞれ5004と7004に調整する。このステップは、それらの重みが一時的に合計される前述のステップと混同されるべきでない。一度、セルの重みがこの方法で調整されたならば、今度、そのゲームがプレイされる時、新しいセルの重みは、“事前調整された”値であると考えられる。
【0051】
アルゴリズムは、神経ネットワークを教える一方、人口統計的な要素を考慮する。例えば、プレーヤは、彼の年齢、性別、及び地理的位置について尋ねられると共に、この情報は、教育処理(teaching process)において考察され、そして、同じ人口統計的グループの人がゲームをプレイする次の時に使用される。これは、同じ人口統計的グループの人々が同様の認識を有する傾向があるので、上述の異なる認識によって引き起こされた紛らわしい回答の数を減少させるのに有益である。
【0052】
この場合、セルは、それぞれの重みがある人口統計と関係付けられた異なるセルの重みを有している。図6Aにおいて、“あなたはそれを食べることができるか?”という質問に対応するセルは、“豚”に対して肯定的な重み601を有していると共に、一方図6Bにおいて、それは、否定的な重み602を有している。もし“豚“は食べることができると認識する人口統計的グループに属する人がゲームをプレイしている場合、アルゴリズムは、その質問に関する重みである“肯定的な重み”601を使用する。また、もし“豚“は食べることができないと認識する人口統計的グループに属する人がゲームをプレイしている場合、アルゴリズムは、その質問に関する重みである“否定的な重み”602を使用する。
【0053】
利用者を異なる人口統計的グループに分類する別の方法は、それらがどちらのグループに属するかを推測することによるものである。この場合、アルゴリズムは、“人口統計的グループ”対“質問”行列フォーマットに構造化された神経ネットワークを利用すると共に、上述された同様の方法で、−対象物の代わりに−、グループを推測する。
【0054】
一般的に、本発明の方法は、多目的の計算装置、または携帯端末を用いて実行される。計算装置/携帯端末、及び関連するコンピュータ読み取り可能な媒体は、ここで説明されたコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶装置を提供する。コンピュータ読み取り可能な媒体は、本発明の方法をコンピュータ、または装置に実行させるために使用される命令、及びデータの表現を有する。
【0055】
本発明の様々な好ましい実施例がここに詳細に説明されたが、発明の精神、または付加されたクレームの範囲からはずれずに変形が実施され得ることは、当業者にとって当然のことである。
【図面の簡単な説明】
【0056】
【図1A】どのように最初の活性化されない質問が対象物を活性化するかを説明する行列に似た視覚による実例を示すテーブルである。
【図1B】対象物が質問を活性化する例を説明する行列に似た視覚による実例を示すテーブルである。
【図1C】対象物が質問を活性化する例を説明する行列に似た視覚による実例を示すテーブルである。
【図2】重みに対する回答の対応付けの例を示す図である。
【図3A】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図3B】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図3C】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図3D】対象物の順位付け手続き、及びセルの重みの調整を説明する行列に似たテーブルである。
【図4】質問の順位付け手続きを説明する行列に似たテーブルである。
【図5】別の質問の順位付け手続きを説明する行列に似たテーブルである。
【図6A】どのように異なるセルの重みが異なる人口統計的な対象のために使用されるかを示す行列に似たテーブルである。
【図6B】どのように異なるセルの重みが異なる人口統計的な対象のために使用されるかを示す行列に似たテーブルである。
【符号の説明】
【0057】
301 最上位対象物
302 陽極性を有するセル
303 負極性を有するセル
304 加算/減算のステップ
305 セルの重み
401 “はい”の要素
402 “いいえ”の要素
501 “ニンジン”の対応するセルの重み
502 “レタス”の対応するセルの重み
503 “トマト”の対応するセルの重み
601 肯定的な重み
602 否定的な重み
【特許請求の範囲】
【請求項1】
コンピュータゲームにおいて、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測する方法であって、
前記方法が、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、
前記神経ネットワークが、尋ねられた前記質問に対する回答が入力ノードであり、前記対象物が出力ノードである第1のモードにおいて、及び前記対象物が入力ノードであり、前記質問が出力ノードである第2のモードにおいて利用され得ると共に、
前記方法が、
前記第1のモードにおいて前記神経ネットワークを利用することによって前記対象物を順位付けるステップと、
前記第2のモードにおいて前記神経ネットワークを利用することによって前記質問を順位付けるステップと、
前記対象物の順位付けに従って推測を与えるステップとを有する
ことを特徴とする方法。
【請求項2】
前記質問を順位付けるステップが、
少なくとも1つの回答を重みに対応付けるステップと、
回答の重みを、順位付けられるその質問及び対象物に対応する前記神経ネットワークにおけるセルの重みと比較するステップと、
一致性に従って対応するセルの重みを一時的に変更するステップと、
変更されたセルの重みに従って前記対象物を順位付けるステップと
を有することを特徴とする請求項1に記載の方法。
【請求項3】
前記質問を順位付けるステップが、
より高い方に順位付けられた前記対象物に関して、前記質問に対する予測可能な回答を、肯定的な重み、及び否定的な重みに対応付けるステップと、
各質問に関する一致の重み、及び不一致の重みを足し合わせると共に、各々の質問に関する2つの合計の間のマージンを計算するステップと、
前記マージンに従って前記質問を順位付けるステップと
を有することを特徴とする請求項1に記載の方法。
【請求項4】
前記質問を順位付けるステップが、
各質問に関して、最上位に順位付けられた対象物及びその質問に対応するセルの重みと、他の上位に順位付けられた対象物及びその質問に対応する重みとの間のマージンを計算するステップと、
各質問のマージンを他の質問のマージンと比較することによって前記質問を順位付けるステップと
を有することを特徴とする請求項1に記載の方法。
【請求項5】
対応付けられた回答の重みと調整前のセルの重みとの間の一致性に従って、推測された物体に対応するセルの重みを調整するステップを更に有する
ことを特徴とする請求項1に記載の方法。
【請求項6】
利用者特有の情報に従って前記利用者を分類するステップと、
調整された重みを前記利用者の分類と関連付けられたデータベースに記憶するステップと、
前記利用者の分類に属する異なる利用者と関連付けられた前記データベースを利用するステップと
を更に有することを特徴とする請求項5に記載の方法。
【請求項7】
前記利用者特有の情報が、前記利用者から獲得される
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記利用者特有の情報が、前記少なくとも1つの質問に対する少なくとも1つの回答から推測される
ことを特徴とする請求項6に記載の方法。
【請求項9】
行列の各セルが入出力接続の重みを定義する、“X”対“Y”の行列フォーマットに構造化された神経ネットワークであって、
X−軸の要素が入力ノードであり、Y−軸の要素が出力ノードである第1のモード、及びY−軸の要素が入力ノードであり、X−軸の要素が出力ノードである第2のモードにおいて利用され得る
ことを特徴とする神経ネットワーク。
【請求項10】
少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するゲームであって、
前記ゲームが、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、
前記神経ネットワークが、尋ねられた前記質問に対する回答が入力ノードであり、前記対象物が出力ノードである第1のモード、及び前記対象物が入力ノードであり、前記質問が出力ノードである第2のモードにおいて利用され得ると共に、
前記ゲームが、
前記第1のモードにおいて前記神経ネットワークを利用することによって前記対象物を順位付けるための手段と、
前記第2のモードにおいて前記神経ネットワークを利用することによって前記質問を順位付けるための手段と、
前記対象物の順位付けに従って推測を与えるための手段とを有する
ことを特徴とするゲーム。
【請求項11】
少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するための方法をコンピュータ、または携帯端末に実行させる命令、及びデータの表現を生成するコンピュータ読み取り可能な媒体であって、
前記方法が、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、
前記神経ネットワークが、尋ねられた前記質問に対する回答が入力ノードであり、前記対象物が出力ノードである第1のモードにおいて、及び前記対象物が入力ノードであり、前記質問が出力ノードである第2のモードにおいて利用され得ると共に、
前記方法が、
前記第1のモードにおいて前記神経ネットワークを利用することによって前記対象物を順位付けるステップと、
前記第2のモードにおいて前記神経ネットワークを利用することによって前記質問を順位付けるステップと、
前記対象物の順位付けに従って推測を与えるステップとを有する
ことを特徴とするコンピュータ読み取り可能な媒体。
【請求項1】
コンピュータゲームにおいて、少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測する方法であって、
前記方法が、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、
前記神経ネットワークが、尋ねられた前記質問に対する回答が入力ノードであり、前記対象物が出力ノードである第1のモードにおいて、及び前記対象物が入力ノードであり、前記質問が出力ノードである第2のモードにおいて利用され得ると共に、
前記方法が、
前記第1のモードにおいて前記神経ネットワークを利用することによって前記対象物を順位付けるステップと、
前記第2のモードにおいて前記神経ネットワークを利用することによって前記質問を順位付けるステップと、
前記対象物の順位付けに従って推測を与えるステップとを有する
ことを特徴とする方法。
【請求項2】
前記質問を順位付けるステップが、
少なくとも1つの回答を重みに対応付けるステップと、
回答の重みを、順位付けられるその質問及び対象物に対応する前記神経ネットワークにおけるセルの重みと比較するステップと、
一致性に従って対応するセルの重みを一時的に変更するステップと、
変更されたセルの重みに従って前記対象物を順位付けるステップと
を有することを特徴とする請求項1に記載の方法。
【請求項3】
前記質問を順位付けるステップが、
より高い方に順位付けられた前記対象物に関して、前記質問に対する予測可能な回答を、肯定的な重み、及び否定的な重みに対応付けるステップと、
各質問に関する一致の重み、及び不一致の重みを足し合わせると共に、各々の質問に関する2つの合計の間のマージンを計算するステップと、
前記マージンに従って前記質問を順位付けるステップと
を有することを特徴とする請求項1に記載の方法。
【請求項4】
前記質問を順位付けるステップが、
各質問に関して、最上位に順位付けられた対象物及びその質問に対応するセルの重みと、他の上位に順位付けられた対象物及びその質問に対応する重みとの間のマージンを計算するステップと、
各質問のマージンを他の質問のマージンと比較することによって前記質問を順位付けるステップと
を有することを特徴とする請求項1に記載の方法。
【請求項5】
対応付けられた回答の重みと調整前のセルの重みとの間の一致性に従って、推測された物体に対応するセルの重みを調整するステップを更に有する
ことを特徴とする請求項1に記載の方法。
【請求項6】
利用者特有の情報に従って前記利用者を分類するステップと、
調整された重みを前記利用者の分類と関連付けられたデータベースに記憶するステップと、
前記利用者の分類に属する異なる利用者と関連付けられた前記データベースを利用するステップと
を更に有することを特徴とする請求項5に記載の方法。
【請求項7】
前記利用者特有の情報が、前記利用者から獲得される
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記利用者特有の情報が、前記少なくとも1つの質問に対する少なくとも1つの回答から推測される
ことを特徴とする請求項6に記載の方法。
【請求項9】
行列の各セルが入出力接続の重みを定義する、“X”対“Y”の行列フォーマットに構造化された神経ネットワークであって、
X−軸の要素が入力ノードであり、Y−軸の要素が出力ノードである第1のモード、及びY−軸の要素が入力ノードであり、X−軸の要素が出力ノードである第2のモードにおいて利用され得る
ことを特徴とする神経ネットワーク。
【請求項10】
少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するゲームであって、
前記ゲームが、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、
前記神経ネットワークが、尋ねられた前記質問に対する回答が入力ノードであり、前記対象物が出力ノードである第1のモード、及び前記対象物が入力ノードであり、前記質問が出力ノードである第2のモードにおいて利用され得ると共に、
前記ゲームが、
前記第1のモードにおいて前記神経ネットワークを利用することによって前記対象物を順位付けるための手段と、
前記第2のモードにおいて前記神経ネットワークを利用することによって前記質問を順位付けるための手段と、
前記対象物の順位付けに従って推測を与えるための手段とを有する
ことを特徴とするゲーム。
【請求項11】
少なくとも1つの質問を利用者に尋ねた後で、対象物のセットから利用者が考えている物体を推測するための方法をコンピュータ、または携帯端末に実行させる命令、及びデータの表現を生成するコンピュータ読み取り可能な媒体であって、
前記方法が、行列の各セルが入出力接続の重みを定義する、“対象物”対“質問”の行列フォーマットに構造化された神経ネットワークを利用し、
前記神経ネットワークが、尋ねられた前記質問に対する回答が入力ノードであり、前記対象物が出力ノードである第1のモードにおいて、及び前記対象物が入力ノードであり、前記質問が出力ノードである第2のモードにおいて利用され得ると共に、
前記方法が、
前記第1のモードにおいて前記神経ネットワークを利用することによって前記対象物を順位付けるステップと、
前記第2のモードにおいて前記神経ネットワークを利用することによって前記質問を順位付けるステップと、
前記対象物の順位付けに従って推測を与えるステップとを有する
ことを特徴とするコンピュータ読み取り可能な媒体。
【図1A】
【図1B】
【図1C】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4】
【図5】
【図6A】
【図6B】
【図1B】
【図1C】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4】
【図5】
【図6A】
【図6B】
【公開番号】特開2006−293973(P2006−293973A)
【公開日】平成18年10月26日(2006.10.26)
【国際特許分類】
【出願番号】特願2005−248444(P2005−248444)
【出願日】平成17年8月29日(2005.8.29)
【出願人】(505325051)トゥエンティー・キュー・ドット・ネット・インク (1)
【Fターム(参考)】
【公開日】平成18年10月26日(2006.10.26)
【国際特許分類】
【出願日】平成17年8月29日(2005.8.29)
【出願人】(505325051)トゥエンティー・キュー・ドット・ネット・インク (1)
【Fターム(参考)】
[ Back to top ]