【文献】
Adrian Horzyk et al.,"An Intelligent Internet Shop-Assistant Recognizing a Customer Personality for Improving Man-Machine Interactions",Recent Advances in Intelligent Information Systems [online],2009年 1月,pp.13-26,URL,https://www.researchgate.net/publication/253719592_An_Intelligent_Internet_Shop-Assistant_Recognizing_a_Customer_Personality_for_Improving_Man-Machine_Interactions
(58)【調査した分野】(Int.Cl.,DB名)
各未加工応答と関連付けられた気分値を前記一式の応答ファイルに記憶するステップであって、前記気分値は、前記関連未加工応答を伴うものである感情のタイプを示す、ステップと、
前記気分値によって定義される前記感情のタイプを反映するように、前記未加工応答を修正するステップと
をさらに含む、請求項1に記載の方法。
各未加工応答の前記気分値と関連付けられた加重値を前記一式の応答ファイルに記憶するステップであって、前記加重値は、前記関連未加工応答を伴うものである適切な気分の強度を示す、ステップと、
前記加重値によって定義される前記適切な気分の強度を反映するように、前記未加工応答を修正するステップと
をさらに含む、請求項6に記載の方法。
前記通信エンティティの前記識別を検証するステップはさらに、関連オブジェクトファイルに含有される前記関連情報、および前記標的人格と前記通信エンティティとの間の過去の会話に含有される詳細のうちの少なくとも1つに基づく、少なくとも1つの検証質問を用いて前記通信エンティティを促すステップを含む、請求項10に記載の方法。
一意の暗号化キーを使用して、前記少なくとも1つの通信エンティティと関連付けられた少なくとも1つのオブジェクトファイルに含有される前記関連情報を暗号化するステップと、
前記通信エンティティの前記識別を検証すると、前記通信エンティティが対応する復号キーを保有しているかどうかを判定するステップと、
前記通信エンティティと相互作用しながら、適宜、関連オブジェクトファイルに含有される前記関連情報を利用するために、その情報を復号するように前記復号キーを使用するステップと
をさらに含む、請求項10に記載の方法。
【背景技術】
【0003】
背景として、コンピュータの開発以来、人間は、思考し、学習し、人間との知的会話を続けることが可能であるコンピュータ、換言すると、「人工知能」を構築しようとしてきた。そのような人工知的コンピュータのある開発は、会話することが可能であるコンピュータを開発することに焦点を当ててきた。したがって、人工知的コンピュータの開発の主要な分野は、コンピュータが人間から受信される入力を処理すること、および適切かつ効果的な出力で応答することを可能にする、言語の開発となっている。1つのそのような言語は、人工知能マークアップ言語(「AIML」)として知られている。
【0004】
AIMLは、人工言語インターネットコンピュータエンティティ(「ALICE」)等のAIMLインタープリタによって解釈および処理される。AIMLインタープリタは、ユーザから入力を受信し、AIMLで符号化され、AIML知識ベースに記憶された知識を使用して、正しい応答を判定するように設計されている。特定の入力に対する応答に到達すると、AIMLインタープリタは、AIML知識ベース内のカテゴリのリストを検索する。各カテゴリは、単一の応答テンプレートにリンクされるパターンを含有する。AIMLインタープリタは、AIML知識ベース内の利用可能なパターンに対してユーザ入力を照合する。パターンの合致を見出した後、パターンの対応する応答テンプレートが起動され、一連のアクションがAIMLインタープリタによって実行される。
【0005】
そのようなコンピュータ人格を作成するための既知の従来技術の方法は、概して、その知識ベースおよび関連応答テンプレート(多くの場合、「質問・応答ペア」または「QRペア」)を手動で作成および編集することから成る。したがって、比較的高いレベルの人工知能を有するコンピュータ人格を作成するプロセスは、非常に労働集約的であり得、信頼できる人格を形成するために、数千または数万時間さえも要し得る。さらに、所与のコンピュータ人格が利用される特定の状況に応じて(すなわち、医療分野、工学分野、一般消費者分野等で)、各離散コンピュータ人格は、一意の一式のQRペアを必要とし得る。したがって、所望の状況に合わせられる人工知的コンピュータ人格を作成するプロセスを自動化するためのシステムおよび方法の必要性がある。
【0006】
従来技術で公知である、多くのタイプの人工ニューラルネットワークがある。順方向にパスするニューラルネットワークは、XOR論理問題を取り扱うことができないという問題に直面した。後に、逆方向伝搬ネットワークが開発された。近年、これらの発明の全てに関する問題が、盲点の形態で出現している。
【0007】
加えて、多くの従来技術のシステムで見出される欠点の中でも、文章内の要素を認識するために、文法および句読点への依存性がある。これは、テキストよりもむしろ音声認識が入力デバイスである環境に、これらのシステムを適応させようとするときに、克服できない欠点を提示する。現在の技術を代表するシステムに存在する他の問題は、融通性の不足を含む。これらのシステムは、標準として発行されるため、特定のバージョンが動作可能である期間は、柔軟性に欠ける。これは、それらが遭遇する際に変化する技術的環境に適応させられることを非常に困難にする。アップグレードを実装することは、バージョニング問題を生じ、非常に多くの場合、より新しいバージョンに適応させられている間に、システム全体が強制的にオフラインになることを余儀なくさせる、新しいバージョンを発行することを伴う。他の問題として、オブジェクト表現と、人工知的エージェントまたはシステムによって遭遇され得る、既知または未知である任意のオブジェクトを表す単純な方法の必要性とが挙げられる。
【0008】
標準化オブジェクト表現形式を作成する多くの試行が、従来技術で公知である。これらのうちのより顕著なものの1つが、OWLである。それらの全ては、人工知能の分野でより厳密な討論のうちの1つ、すなわち、人工知的エージェントまたはシステムが本当に知的であるか、あるいはその知能がプログラマーの知能の拡張にすぎないかという討論を引き起こす問題を有する。ある程度、それらは、オブジェクトを識別し、事前判定された分類セットに従って、それらを記憶しようとする。これは、必然的に、分類を作成したプログラマーの眼を通して見られるような世界観であるオントロジーを使用する、任意の人工知的エージェントまたはシステムをもたらし、さらに、オントロジーを使用する任意の人工知的エージェントまたはシステムは、同一の見解を有するであろう。
【0009】
さらに、スマートフォンおよび他のモバイルデバイス等の個人使用のために設計されている人工知的システムとの関連で、そのような従来技術のシステムは、典型的には、個人データが人工知能をホストする企業によってどのように使用されるかというユーザによる制御可能性の知覚された不足を含むであろう、個人データの限定された保護または保護がないことを含む、種々の欠点に悩まされている。個人エージェントとして機能する人工知的エージェントまたはシステムによって獲得され、記憶され、後にアクセスされる、個人データを確保する多数の試行が行われてきた。現在まで、これらの全ては、ある程度失敗している。別の顕著な問題は、複数のユーザが、移動性または別様である単一のデバイスにアクセスするときに、単一の人格を提示されることである。なおも別の顕著な問題は、単一の個人によって所有される各デバイスが、各自の人工知能を有し、換言すると、個人情報等のある要素が複製され、デバイス間で転送可能ではないという事実である。人工知的個人エージェントを開発することの多くの試行が、従来技術で公知である。最も周知であるもののうちのいくつかは、SIRIおよびCortanaを含む。これらは、いくつかの問題に悩まされている。1つのそのような問題は、デバイス間の共通情報ベースを共有しないことである。加えて、音声等の人間の相互作用に使用される人工一般知能(「AGI」)のある側面は、デバイス間で一貫するべきである。換言すると、所与の個人助手が、デバイス毎に同一の音声を有するべきであり、データへのアクセスを有し、ユーザが異なるデバイスからエージェントにアクセスするときに、特定のデバイス上でデータを生成させるべきである。これは、「ローミング人格」と称されることが最良であり得る。なおもの他の問題は、個人データアクセスのための認証方法を中心とする。
【0010】
本発明の側面は、以下で詳細に議論されるような人工知的コンピュータ人格を作成および実装するためのシステムおよび方法を提供することによって、これらの問題の全てを解決することを対象とする。
【0011】
出願人は、参照することにより、本願で引用または参照されるありとあらゆる特許および公開特許出願を本明細書に組み込む。
【発明を実施するための形態】
【0017】
上記の図面は、以下の説明で詳細にさらに定義される、その例示的実施形態のうちの少なくとも1つで、本発明の側面を図示する。異なる図で同一の数字によって参照される本発明の特徴、要素、および側面は、1つまたはそれを上回る実施形態による、同一、同等、または類似の特徴、要素、または側面を表す。
【0018】
ここで
図1を参照すると、少なくとも1つの実施形態による、人工知的エージェントまたはシステムを作成するための例示的なシステム20のアーキテクチャ図が示されている。システム20は、例示的実施形態では、それぞれ、少なくとも1つのコンピュータデバイス32上のメモリ30内に常駐する、標的人格22と、少なくとも1つの会話人格24と、教師人格26と、データサーバ28とを備える。「メモリ」という用語は、ローカルハードドライブ、RAM、フラッシュメモリ、外部記憶デバイス、ネットワーク、またはクラウド記憶デバイス等の、現在公知であるか、または後に開発される任意のタイプの電子記憶媒体(または記憶媒体の組み合わせ)を含むことを目的としていることに留意されたい。さらに、システム20の種々の構成要素は、単一のコンピュータデバイス32上のメモリ30内に常駐してもよく、あるいは相互と通信している2つまたはそれを上回るコンピュータデバイス32上に別々に常駐してもよい。「コンピュータデバイス」という用語は、デスクトップコンピュータ、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ等の、現在公知であるか、または後に開発される任意のタイプのコンピュータデバイスを含むことを目的としている。加えて、システム20の種々の構成要素間の通信を可能にするための手段は、単一のコンピュータデバイス32上に常駐していないとき、現在公知であるか、または後に開発される任意の有線または無線ベースの通信プロトコル(またはプロトコルの組み合わせ)であってもよい。「人格」という用語が全体を通して使用されるが、システムおよび関連方法が利用される状況に部分的に応じて、「エージェント」および「システム」という用語のそれぞれは、「人格」という用語と同義的に使用され得、その逆も同様であることにも留意されたい。
【0019】
図1を続けて参照すると、各会話人格24は、本システム20によって、あるいは現在公知であるか、または後に開発される他の手段を通してのいずれかにおいて、以前に作成されたコンピュータ人格である。以下でさらに議論されるように、少なくとも1つの会話人格24は、標的人格22に適切な知識および関連応答を提供するために、必要に応じて標的人格22と会話をするように構成される。システム20が使用される状況に応じて、所与の会話人格24は、(一般的な会話のための)一般知識ベースおよび関連応答を保有してもよく、または標的あるいは特異的知識ベースおよび関連応答を保有してもよい。例えば、標的人格22が医師の助手として機能する状況で使用される場合、少なくとも1つの会話人格24は、好ましくは、医療知識ベースおよび関連応答を保有するであろう。別の実施例では、標的人格22が、病院管理者として機能する状況で使用される場合、少なくとも1つの会話人格24が、好ましくは、医療知識ベースおよび関連応答を保有するであろう一方で、別の会話人格24は、好ましくは、事業および/または経営知識ベースおよび関連応答を保有するであろう。少なくとも1つのそのような実施形態では、適切な場合、標的人格22および/または少なくとも1つの会話人格24は、標的人格22および/または会話人格24の知識ベースを選択的に増加させるために、医学事典、インターネット検索エンジン、百科事典等の1つまたはそれを上回る補足データソース(図示せず)へのアクセスを提供される。好ましくは、任意のそのような補足データソースから取得される情報の精度は、利用される前にシステム20によって独立して検証されるであろう。
【0020】
教師人格26は、本システム20によって、あるいは現在公知であるか、または後に開発される他の手段を通してのいずれかにおいて、さらに別の以前に作成されたコンピュータ人格である。以下でさらに議論されるように、教師人格26は、作成される特定のタイプの標的人格22に向けられた種々のステートメントおよび/または質問から成る、一式の会話入力34で事前にプログラムされる。したがって、教師人格26は、標的人格22が、少なくとも1つの会話人格24からの適切な応答と相互作用し、それらを受信することを通して、会話入力34に適切に応答する方法を学習し得るように、標的人格22と会話する(すなわち、会話入力34を標的人格22に伝送する)ように構成される。
【0021】
したがって、
図2のフロー図で図示されるように、人工知的コンピュータ人格を作成するための例示的な方法は、作成される新しい標的人格22のための所望の人格タイプを選択するステップ(200)と、所望の人格タイプに基づいて、1つまたはそれを上回る適切な会話人格24を選択するステップ(202)と、適切な教師人格26を選択するステップ(204)と、教師人格26と会話し、少なくとも1つの会話人格24から適切な応答を選択的に得ることを可能にすることによって、標的人格22を教示するステップ(206)とから成る。少なくとも1つの実施形態による、教師人格26、標的人格22、および会話人格24のそれぞれの間の本相互運用性の概略図が、
図3に示されている。
図4の概略図で図示されるように、いったん適切に教示されると、または教示プロセス中でさえも、ユーザ36が、標的人格22との一般相互作用のために教師人格26に代替されてもよい。したがって、一般的に言えば、少なくとも1つの実施形態では、システム20は、少なくとも1つの通信エンティティ、すなわち、ユーザ36、教師人格26等が、そのような通信エンティティから会話入力34を受信することによって、標的人格22と選択的に相互作用することを可能にする。
【0022】
ここで
図5のアーキテクチャ図を参照すると、例示的実施形態では、標的人格22は、プリプロセッサ38、論理プロセッサ40、およびポストプロセッサ42を備えることによって、最適化されたクラスタリングニューラルネットを利用する。以下でさらに議論されるように、プリプロセッサ38は、ユーザ36(または教師人格26)から受信される会話入力34を処理するように構成され、論理プロセッサ40は、各会話入力34への適切な未加工応答44(すなわち、ユーザ36または教師人格26への伝送のためにまだフォーマットされていない応答)を判定し、特定の入力によってトリガされる任意のハンドオフタスクを行うように構成され、ポストプロセッサ42は、各会話入力34のためのユーザ36(または教師人格26)への応答46を適切にフォーマットして伝送するように構成される。少なくとも1つの実施形態では、各会話人格24は、これらの同一の構成要素を備えることに留意されたい。さらに、少なくとも1つの実施形態では、以下でさらに議論されるように、プリプロセッサ38、論理プロセッサ40、およびポストプロセッサ42のそれぞれは、1つまたはそれを上回る特定目的ニューロン(「SPN」)、またはモジュールから成り、各SPNは、特定の事前判定されたタスクを行うように設計されている。
【0023】
上記のように、プリプロセッサ38は、ユーザ36(または教師人格26)から受信される会話入力34を処理するように構成される。換言すると、プリプロセッサ38は、適切な応答を判定するために核心的意味48を論理プロセッサに渡すために、各会話入力34をその核心的意味48に削減する。したがって、プリプロセッサ38は、この特定の実施形態では言語要素についてテキストを解析しないが、むしろ、それぞれの核心的意味48を判定するために、会話入力34を分解する。例えば、「元気ですか(How are you)」、「気分はどうですか(How are you feeling)」、「気分はどうですか、Vincent(How are you feeling, Vincent)」、および「調子はどうですか(How are you doing)」という会話入力34は、「元気ですか(how are you)」という単一の核心的意味48にマップする、全ての質問である。もう少し詳細には、
図6のフロー図で図示されるように、例示的実施形態では、会話入力34の受信時に(600)、プリプロセッサ38は、最初に、会話入力34からありとあらゆる句読点を除去する(602)。これは、発話をテキストに変換するときと正確に同一の様式で標的人格22が応答することを可能にし、また、標的人格22が抑揚を検出し、それに応答できることを可能にする。次に、プリプロセッサ38は、任意の取るに足りない言語(すなわち、核心的意味48と実際に関係がないと判定される会話入力34内の言語)を除去する(604)。例えば、「こんにちは、Vince、気分はどうですか(Hey, Vince, how are you feeing)」という会話入力34は、「元気ですか(how are you)」という核心的意味48と実際に関係がないものとして取るに足りないと見なすことができる、「こんにちは、Vince(Hey, Vince)」という言語を含有する。少なくとも1つの実施形態では、プリプロセッサ38はまた、会話入力34内の特定の核心的意味48の変動を認識し、これらの変動を適切な核心的意味48にマップする(すなわち、これらの変動を置換する)ためにも構成される(606)。例えば、「あなたの名前は何(What’s your name)」という会話入力34は、「あなたの名前は何ですか(what is your name)」という核心的意味48にマップされる(すなわち、置換される)であろう。別の実施例では、「元気かい(howya doin)」という会話入力34は、「元気ですか(how are you)」という核心的意味48にマップされるであろう。文字列をマップすることに加えて、少なくとも1つの実施形態では、プリプロセッサ38は、数字もマップする、すなわち、文字ベースの数字(すなわち、「two」)をそれらの数値的表現(例えば、「2」)にマップするように構成され、または逆も同様である。
【0024】
少なくとも1つのそのような実施形態では、プリプロセッサ38は、XML文書内に機能の関係リストを維持し、各機能は、一意の会話入力34がマップされるべきである核心的意味48とともに、その会話入力34を含有する。したがって、そのような実施形態での所与の会話入力34について、プリプロセッサ38は、単純に、合致する会話入力34が見出されるまで、機能のリストを通して反復し、その時点で、関連機能が、対応する核心的意味48を返信する。したがって、この形態のファジー文字列置換は、プリプロセッサ38が、広範囲の会話入力34をそれらの適切な核心的意味48にマップすることを可能にする。さらなるそのような実施形態では、ファジー文字列置換アルゴリズムは、プリプロセッサ38が、静的な核心的意味48のみよりもむしろ、動的に作成された核心的意味48を論理プロセッサ40に渡すことを可能にする、変数を受け取り返信することが可能である。例えば、会話入力34が「車が1時間に60マイル移動している場合、2時間でどれだけの距離を移動するでしょうか」である場合、プリプロセッサ38は、最初に、会話入力34の合致する静的部分が見出されるまで、機能のリストを通して反復し、その時点で、関連機能が、会話入力34の可変部分を含有する適切な核心的意味48を返信するであろう。したがって、上記の実施例では、核心的意味48は、「x=60*2を解く」であろう。さらなる実施形態では、参照テーブルまたはデータベース等の、現在公知であるか、または後に開発される、この特定の機能性を達成するための他の方法が置換されてもよい。
【0025】
なおもさらなる実施形態では、プリプロセッサ38は、特定の会話入力34の言葉遣いにより最初に逸失し得る、核心的意味48を捕捉するように構成される自己組織化モジュールを含有する。例えば、会話入力34が「何時ですか、君(What time is it buddy)」である場合、プリプロセッサ38は、最初に、文の最後の「君(buddy)」という言葉の包含により、「何時ですか(what time is it)」という核心的意味48を逸失し得る。そのようなシナリオでは、プリプロセッサ38は、ユーザ36(または教師人格26)に会話入力34を言い換えるように求めることによって、標的人格22に最初に応答させるであろう。例えば、標的人格22は、「すみません、分かりませんでした」または「それを言い換えて下さいませんか」で応答し得る。言い換えられた会話入力34を受信すると、プリプロセッサ38がその会話入力34から適切な核心的意味48を導出することができると仮定して、次いで、プリプロセッサ38は、将来、再度逸失しないよう、最初に逸失した新しい会話入力34を適切な核心的意味48にマップする、新しい機能を作成することができる。例示的実施形態では、プリプロセッサ38は、稼働した機能のために会話入力34を取り込み、最初に失敗した会話入力34に対する示差照合を行うことによって、これを達成する。次いで、プリプロセッサ38は、合致しなかった会話入力34の部分を取り込み、正規表現要素のプールから、その部分を後続の会話入力34に合致したパターンに追加する。さらなる実施形態では、現在公知であるか、または後に開発される、この特定の機能性を達成するための他の方法が置換されてもよい。
【0026】
再度、いったん核心的意味48が導出されると、プリプロセッサ38は、核心的意味48を論理プロセッサ40に渡す(608)。
【0027】
上記のように、論理プロセッサ40は、各会話入力34の核心的意味48への適切な応答を判定するように構成される。例示的実施形態では、
図7のフロー図で図示されるように、プリプロセッサ38が会話入力34を受信し(700)、そこから少なくとも1つの核心的意味48を抽出した(702)後、論理プロセッサ40は、以下でさらに議論されるように、少なくとも1つの核心的意味48のうちの第1が任意のオブジェクトを含有するかどうかを判定し(704)、もしそうであれば、同様に以下でさらに議論されるように、オブジェクトが処理される(1200)。次いで、論理プロセッサは、少なくとも1つの核心的意味48のうちの第1のものが新しいかどうか、または以前にその特定の核心的意味48に遭遇したかどうかを判定する(706)。
【0028】
もう少し詳細には、論理プロセッサ40は、全てをオブジェクトとして扱うように構成される。これは、発話にも適用される。例えば、「こんにちは」という用語は、「Vincent」という用語と同様にオブジェクトと見なされるであろう。論理プロセッサ40は、オブジェクトを組み合わせることができ、したがって、以下でさらに議論されるように、以前に遭遇したことがないか、または取り扱うようにプログラムされている核心的意味48に応答することができる。したがって、上記の実施例では、「こんにちは、Vincent」という語句は、さらなるオブジェクトと見なされるであろう。
【0029】
例示的実施形態では、論理プロセッサ40は、それが処理する特定の核心的意味48、および/またはそれが処理する特定の核心的意味48に関連し得る他の環境変数(すなわち、時刻、ユーザ36の地理的場所等)に応じて、動的にロードおよび配列される種々のモジュールから成る。したがって、各モジュールは、好ましくは、動的リンクライブラリとして作成され、ある基本機能を表す。例示的実施形態では、モジュールリストが、XML文書として記憶され、各モジュールの機能の記述とともに、各モジュールの動的リンクライブラリの場所を含有する。モジュールの順序は、それらが論理プロセッサ40によって呼び出される順序を表す。リストはまた、好ましくは、自己構成可能であり、所与の核心的意味48に存在するある条件が、論理プロセッサ40に機能のリストを順序付けさせ、並べ換えさせ、または修正させるか、あるいは論理プロセッサ40がそうすることを可能にできることを意味する。例えば、核心的意味48に存在する緊急条件は、論理プロセッサ40にリストから情動応答モジュールを除去させ、それによって、論理プロセッサ40を純粋に分析的に機能させることができる。別の実施例では、核心的意味48に存在する侵入検出が、論理プロセッサ40にリストからアプリケーションおよびシステム機能モジュールを除去させ、それによって、無認可ユーザ36がアプリケーションおよびシステム機能にアクセスすることを防止することができる。少なくとも1つの実施形態では、所与の核心的意味48を処理し、それに応答するために必要とされるモジュールのみが、論理プロセッサ40にロードされ、それによって、全体的な処理時間を短縮するように、プリプロセッサ38は、その核心的意味48の内容に基づいて、モジュールリストを動的に構成するように構成される。
【0030】
少なくとも1つの実施形態では、論理プロセッサ40は、少なくとも1つの変則発話パターン検出モジュールを提供する。1つのそのような実施形態では、変則発話パターン検出モジュールは、核心的意味48が「こんにちは」等の挨拶を含有するかどうかを論理プロセッサ40が検出することを可能にする。これにより、論理プロセッサ40は、「みなさんこんにちは」という核心的意味48も挨拶であることを自動的に推定することができ、したがって、その核心的意味48を認識された挨拶のリストに追加するであろう。別のそのような実施形態では、変則発話パターン検出モジュールは、核心的意味48がユーザ36によって繰り返されたかどうか(すなわち、たとえ毎回異なって言い表されたとしても、ユーザ36が1回以上同一の質問をしたか、または同一のステートメントを入力したかどうか)を論理プロセッサ40が検出することを可能にする。
【0031】
例示的実施形態では、論理プロセッサ40はまた、所与の核心的意味48への適切な未加工応答44を判定するように構成される、応答モジュールも提供する。もう少し詳細には、
図7を続けて参照すると、論理プロセッサ40の応答モジュールは、再度、核心的意味48に以前に遭遇したかどうかを判定する(706)。
図8の例示的説明図に示されるような、少なくとも1つのそのような実施形態では、各核心的意味48は、対応する未加工応答44とともに別個の応答ファイル50に記憶される。応答ファイル50は、データサーバ28内、またはメモリ30の中の他の場所に記憶された別のデータベースの中のいずれかにおいて、システム20に記憶される。純粋に例証目的で、例示的な応答ファイル50がXMLファイルとして示されているが、システム20の潜在的実装の範囲は、そのように限定されるものとして読み取られるべきではないことに留意されたい。
図8を続けて参照すると、少なくとも1つの実施形態では、各応答ファイル50は、気分値52、加重値54、作成日56、作成者名58、編集日60、および編集者名62を含むが、それらに限定されない、関連核心的意味48および未加工応答44に関係付けられる、さらなる詳細を含有する。
【0032】
気分値52は、所与の応答ファイル50の核心的意味48への未加工応答44を伴うものである、感情のタイプを示す。例えば、例示的実施形態では、「0」という値は、「正常」を示すことを目的としており、「1」という値は、「嬉しい」を示すことを目的としており、「2」という値は、「怒り」を示すことを目的としており、「3」という値は、「注意散漫」を示すことを目的としており、「4」という値は、「悲しい」を示すことを目的としている。確かに、さらなるそのような実施形態では、特定のタイプの感情(または気分)および関連気分値52は、変動し得る。関連して、加重値54は、所与の応答ファイル50の核心的意味48と関連付けられた未加工応答44を伴うものである、適切な気分の量または強度を示す。例えば、例示的実施形態では、「0」という値が、関連気分の軽度の形態を示すことを目的としている一方で、「10」という値は、関連気分の非常に強い形態を示すことを目的としている。気分値52および加重値54の使用が、以下でさらに議論される。
【0033】
作成者名58は、最初に所与の応答ファイル50をシステム20に追加したエンティティを示す。これは、ユーザ36による手動追加、会話人格24による自動追加、または標的人格22による自動追加を含むことができる。関連して、作成日56は、所与の応答ファイル50がシステム20に追加された日付を示す。作成者名58と同様に、編集者名62が、所与の応答ファイル50をごく最近編集したエンティティを示す一方で、関連編集日60は、そのような最近の変更が行われた日付を示す。
【0034】
少なくとも1つの実施形態では、ユーザ36に関係付けられる情報を含有する別個のデータベースが維持され、ランクが各ユーザ36に割り当てられる。したがって、複数の未加工応答44(すなわち、複数の応答ファイル50)が、同一の核心的意味48を含有して見出される場合、最高ランクを有する未加工応答44(すなわち、最高ランキングを有するユーザ36によって作成または編集された未加工応答44)が選択される。これは、標的人格22が、比較的低いランクを伴うエンティティによって作成または編集される、任意の応答ファイル50を常にオーバーライドすることを可能にする。加えて、システム20は、好ましくは、特定のエンティティが、より高いランキングを伴うユーザ36によって、その元の応答ファイル50を編集させた回数を追跡する。このようにして、入力の信頼性を確立することができる。次いで、本質的に、より良いソースの応答ファイル50コンテンツが、他のソースより信頼性があるものとして認識され始め、有利に扱われることができる。これはまた、例えば、補正される必要がない合成または学習した応答の数が、補正される合成応答の数を超えるときに、「親」の割り当てられた値を標的人格22の割り当てられた値以下にリセットするアルゴリズムを構築することによって等、「テイクオーバーポイント」を作成することによって、標的人格22が「成熟」することも可能にする。
【0035】
再度、
図7を参照すると、例示的実施形態では、論理プロセッサ40の応答モジュールは、特定の核心的意味48を試行して見出すように、(好ましくは、核心的意味48別にアルファベット順等の論理的様式で記憶される)応答ファイル50のそれぞれを通して反復することによって、核心的意味48に以前に遭遇したかどうかを判定する(706)。核心的意味48が応答ファイル50のうちの1つまたはそれを上回るもので見出される場合、以下でさらに議論されるように、最良の関連未加工応答44がアクセスされ(708)、フォーマットし(710)、ユーザ36(または教師人格26)に伝送する(712)ために、ポストプロセッサ42に渡される。核心的意味48が応答ファイル50のうちのいずれかで見出されない場合には、それに以前に遭遇しておらず、次いで、論理プロセッサ40が、そこから適切な未加工応答44を得るために、核心的意味48を会話人格24のうちの1つまたはそれを上回るものに伝送する(714)。会話人格24からの1つまたはそれを上回る潜在的未加工応答44の受信時に(716)、論理プロセッサ40は、上記で説明される方法のうちの1つまたはそれを上回るものを使用して、どの潜在的未加工応答44が最良であるかを判定する(718)。加えて、または代替案では、論理プロセッサ40は、各潜在的未加工応答44をデータセットにロードし、次いで、各潜在的未加工応答44の部分を試行し、他の応答ファイル50にすでに記憶されている未加工応答44に合致させるよう、それらを通して反復することによって、最良の潜在的未加工応答44を判定してもよい。新しい応答ファイル50が、関連核心的意味48とともに、最良の未加工応答44のために作成され、応答ファイル50は、システム20に追加される(720)。次いで、論理プロセッサ40は、以下でさらに議論されるように、未加工応答44が任意のオブジェクトを含有するかどうかを判定し(722)、もしそうであれば、同様に以下でさらに議論されるように、オブジェクトが処理される(1200)。次いで、未加工応答44は、以下でさらに議論されるように、フォーマットし(710)、ユーザ36(または教師人格26)に伝送する(712)ために、ポストプロセッサに渡される。
【0036】
図7を続けて参照すると、付加的な核心的意味48が会話入力34に存在する場合(724)、例えば、会話入力34が「こんにちは、あなたの名前は何ですか、あなたはどこにいますか」である場合、論理プロセッサ40は、各核心的意味48への未加工応答44を得るよう、各核心的意味48(すなわち、「こんにちは」、「あなたの名前は何ですか」、「あなたはどこにいますか」)に上記のステップを行う。さらに、これらのステップは、標的人格22との会話が終了するまで、ユーザ36(または教師人格26)によって伝送される各会話入力34について繰り返される(726)。このようにして、システム20内に最小数の事前にロードされた応答ファイル50があっても、常に標的人格22の応答ファイル50の数(したがって、人工知能)を動的に増加させながら、たとえ未知の未加工応答44が1つまたはそれを上回る会話人格24からリアルタイムでロードされていたとしても、標的人格22に直接由来したと考えられるであろう標的人格22によって、会話を続けることができる。
【0037】
上記のように、例示的実施形態では、論理プロセッサ40は、全てをオブジェクトとして扱うように構成される。これは、所与の会話入力34または応答46が完全には静的ではないが、むしろ1つまたはそれを上回る変数を含有する場合に、最も有用となる。もう少し詳細には、論理プロセッサ40は、2つのオブジェクト性質、すなわち、分類64および属性66を使用して、任意のオブジェクトおよび/またはそのようなオブジェクトの任意の変形例を表すように構成される。さらに、少なくとも1つの実施形態では、論理プロセッサ40は、オブジェクトを、2つのカテゴリ、すなわち、エンティティおよびイベントに分割する。少なくとも1つのさらなる実施形態では、論理プロセッサ40は、3つのオブジェクト性質、すなわち、分類64、属性66、およびイベントを使用して、任意のオブジェクトおよび/またはそのようなオブジェクトの任意の変形例を表すように構成される。いずれにしても、この構造は、普遍的であり、付加的なデータタイプを用いて論理プロセッサ40を再プログラムすることが決して必要ではないように、現在公知であるか、または後に開発あるいは発見される、任意のオブジェクトに適用される。加えて、本方法は、特定のオブジェクトの任意の分類64の構成要素を、別のオブジェクトの属性66として分類することもできることを考慮して、データに遭遇するとそれを再分類する必要がないため、論理プロセッサ40が自然言語処理によって学習することを可能にする。
図10の例示的説明図に示されるように、各オブジェクトは、好ましくは、データサーバ28内、またはメモリ30の中の他の場所に記憶された別のデータベースの中のいずれかにおいて、システム20内のオブジェクトファイル68に記憶される。純粋に例証目的で、例示的な応答ファイル68がXMLファイルとして示されているが、システム20の潜在的実装の範囲は、そのように限定されるものとして読み取られるべきではないことに留意されたい。
【0038】
図10を続けて参照すると、分類64および属性66に加えて、各オブジェクトファイル68は、一意のオブジェクト名70を有する。例えば、
図10に示される例示的なオブジェクトファイル68のインスタンスは、「dog」というオブジェクト名70を有する。加えて、オブジェクトファイル68の分類64は、「dog」オブジェクトがイヌ科の生きている動物であるという事実を論理プロセッサ40に知らせる詳細を含有する一方で、オブジェクトファイルの属性66は、「dog」オブジェクトが4本の脚を有し、翼がなく、2つの眼を有するという事実を論理プロセッサ40に知らせる詳細を含有する。論理プロセッサ40は、「dog」オブジェクトに関係付けられるさらなる詳細を受信すると、これらのさらなる詳細を関連オブジェクトファイル68の分類64および属性66に動的に追加する。例えば、論理プロセッサ40が「犬は歯を有する」という核心的意味48を受信した場合、論理プロセッサ40は、関連オブジェクトファイル68にアクセスし、「teeth=true」を属性66に追加するであろう。
図12のフロー図に示されるように、論理プロセッサ40が新しいオブジェクトに関係付けられる詳細を受信する、すなわち、核心的意味48、あるいは会話人格24のうちの1つまたはそれを上回るものから受信される未加工応答44のいずれかを通して、システム20内に常駐するオブジェクトファイル68のうちのいずれにも存在しない(1204)オブジェクト名70を受信する(1202)場合において、論理プロセッサ40は、新しいオブジェクト名70のための新しいオブジェクトファイル68を作成し(1206)、核心的意味48または未加工応答44に含有される任意の関連情報を用いて、分類64および/または属性66にデータ投入し(1208)、そうでなければ、再度、オブジェクトがすでに存在する場合、論理プロセッサ40は、単純に、任意の新しい詳細を関連オブジェクトファイル68の分類64および属性66に動的に追加する(1210)。加えて、新しいオブジェクト名70が以前から存在するオブジェクトのサブセットであることが判定される場合、論理プロセッサ40は、関連する以前から存在するオブジェクトファイル68の全ての関連分類64および属性66を用いて、新しいオブジェクトファイル68の分類64および/または属性66にデータ投入する。例えば、
図11の例示的説明図に示されるように、論理プロセッサ40が「私はFidoと名付けられた犬を飼っている」という核心的意味48を受信し、いずれのオブジェクトファイル68も「fido」というオブジェクト名70を現在含有していないことを判定すると、論理プロセッサ40は、そのオブジェクト名70を含有する新しいオブジェクトファイル68を作成する。加えて、核心的意味48が、Fidoが犬であることを述べる場合、論理プロセッサ40は、「dog」オブジェクトファイル68の分類64および属性66を用いて、新しい「fido」オブジェクトファイル68の分類64および属性66に自動的にデータ投入する。したがって、オブジェクト名70「fido」を検索し、「fido」が犬であることを発見し、次いで、それが生物であるかどうかを判定するようにオブジェクト名70「dog」を参照する必要がなく、代わりに、論理プロセッサ40が単純にオブジェクト名70「fido」を参照するため、「Fidoは生きていますか」等の核心的意味48を処理するために必要とされるサイクルの数が大きく削減される。
【0039】
核心的意味48および/または未加工応答44で述べられる全てのエンティティおよびイベントをオブジェクトとして扱うことに加えて、論理プロセッサ40はまた、少なくとも1つの実施形態では、ユーザ36もオブジェクトとして扱う。もう少し詳細には、ユーザ36(または教師人格26)が標的人格22と会話を開始すると、論理プロセッサ40は、(ポストプロセッサ42を介して)名前についてユーザ36を促し、後に、そのオブジェクト名70を含有するオブジェクトファイル68をチェックする(オブジェクトがまだ存在していないと判定される場合、すなわち、ユーザ36が新しい場合は、新しいオブジェクトファイル68を作成する)。新しいユーザ36については、論理プロセッサ40はまた、関連オブジェクトファイル68の分類64および/または属性66にデータ投入するために、住所、年齢、性別、好き嫌い等の付加的な情報についてユーザ36を促すように構成されてもよい。代替として、オブジェクトファイル68がユーザ36のためにすでに存在していることを論理プロセッサ40が判定する場合、論理プロセッサ40は、ユーザ36の識別を検証するために、ユーザ36のオブジェクトファイル70に含有される分類64および/または属性66に関係付けられる質問への正しい回答を提供するようユーザ36を促すように(少なくとも1つの実施形態では)構成されてもよい。さらなるそのような実施形態では、論理プロセッサ40は、ユーザ36の識別を検証するために、標的人格22との過去の会話についての詳細を提供するようにユーザ36を促すように構成されてもよい。
【0040】
図13のフロー図で図示されるような少なくとも1つのそのような実施形態では、ユーザ36の識別を検証するための本手段は、ユーザ36と関連付けられたオブジェクトファイル68に安全に記憶された情報にアクセスすることによって、標的人格22とユーザ36との間の通信を動的に個人化するために利用され、したがって、多少「ローミング」人工知能を作成する。もう少し詳細には、論理プロセッサ40が(上記で議論されるように)ユーザ36に関係付けられる新しい情報を受信すると、その情報は、一意の暗号化/復号キーを使用して暗号化される。これは、音声またはテキストデータが傍受され、システム20にアクセスするために使用される、システム20に対する「介入者」または「リプレイ」攻撃の防止にとって重要である。後に、同一のユーザ36が標的人格22と新しい会話を開始すると、論理プロセッサ40は、ユーザの名前またはある他の識別情報についてユーザ36を促すことにより、ユーザ36の識別を検証し(1300)、次いで、システム20内のその特定のユーザ36と関連付けられた暗号化/復号キーの存在をチェックする(1302)。見出された場合、次いで、ユーザ36と通信しながら(1306)その情報を適宜利用するために、キーは、暗号化された個人情報を復号するように使用される(1304)。いかなるキーも見出されない場合、論理プロセッサ40がユーザ36へのアクセスを否定し(1308)、個人情報が復号されない。代替として、ユーザ36が、テキストベースの会話入力34よりもむしろ、音声ベースの会話入力34を介して標的人格22と通信している場合(1310)、論理プロセッサ40は、さらなる検証ステップとして声紋分析を行う(1312)。なおもさらなる実施形態では、顔認識分析、および現在の場所に対してユーザ36(またはユーザ36が保有しているコンピュータデバイス)の最新の既知のGPSベースの場所をチェックすることを含むが、それらに限定されない、付加的なチェックが、ユーザ36の識別を検証するように行われる。これらのチェックのうちのいずれかが失敗した場合、論理プロセッサ40は、質問/回答チャレンジ・レスポンスシーケンスを開始する。これは、上記で議論されるように、ユーザ36のみが把握するであろう情報を含有する、ユーザ36が無作為に生成した質問をし(1314)、次いで、ユーザ36の応答が正しいかどうかを判定すること(1316)を伴う。このプロセスは、ユーザ36の識別が確認されるか、または否定されるかのいずれかまで、続いてもよい。いったんこのマルチパート認証プロセスの交渉が成功すると、個人情報およびユーザ36と関連付けられた他の機密情報等のデータが、大域的にユーザ36に利用可能になる(1304)。
【0041】
少なくとも1つの実施形態では、システム20は、種々の証明書が不正である確率を表すオフセット値を維持する。このオフセットは、次いで、ベイズ確率関数に供給される、ユーザ挙動および世界観統計に関係付けられる種々の知能を収集することによって生成される。これらのパラメータは、ユーザのコンピュータデバイス上にインストールされたソフトウェアパッケージのタイプおよび製造業者、欠陥がこれらのソフトウェアパッケージで暴露された回数、現在進行中のリスクを示す検証されたニュースアイテム、ユーザがインターネットに費やす時間量等を含むが、それらに限定されないであろう。このオフセットは、種々の「合格/失敗」要素の全てが損なわれた最終確率をもたらす、確率関数内のLおよびM変数(次いで、次回はMおよびLである)として再帰的に呼び出される。別の実施形態は、単純に、失敗時にログオフを強制するであろう。天然確率要素は、閾値合格以外の能力がない、確率に基づく要素であり、それらは、「合格/失敗」関数で使用され得る。これらは、場所追跡、顔認識、音声認識等を含み得るが、それらに限定されないであろう。少なくとも1つのそのような実施形態では、これらのスコアは、合計され、結果は、システム20によって生成されて維持されるオフセットに反比例して関係するであろう。
【0042】
ユーザ36(またはユーザ36が保有しているコンピュータデバイス)のGPSベースの場所の使用は、個人助手(すなわち、ローミング人工知能)として機能するように設計されているシステム20のインスタンスを含む、認証以外の他の状況で有益であり得る。例えば、車を運転しているユーザ36が、自動車にインストールされたコンピュータデバイスを介して、システム20の標的人格22と通信することによって、買い物リストを作成し得る。次いで、このデータは、周期的更新プロセスによって、または直接コマンドによってのいずれかにおいて、システム20に記憶される。ユーザ36が車から降りて店に入るとき、買い物リストへのアクセスを伴う同一の標的人格22が、ユーザのスマートフォンまたは他のモバイルコンピュータデバイス上で自動的に利用可能になる。同様に、ユーザ36によって行われる購入からのデータをスキャンし、あるいは別様にスマートフォンまたは他のモバイルコンピュータデバイスに入力し、ユーザ36の家庭にインストールされた(システム20と通信している)コンピュータデバイスに利用可能にすることができる。
【0043】
知的エージェントとして使用されるとき、少なくとも1つの実施形態では、システム20は、クライアントサーバモデルで配列される「分割水平」アーキテクチャを利用する。標的人格22が、そのような実施形態では、クライアントならびにサーバ上に存在するため、クライアント側で果たされる機能に特異的なモジュールを作成してインストールすることができる。サーバとのコンタクトが断たれた場合、機能性の程度が低下されるが、クライアントが依然として機能するように、ある基本論理および通信機能も、クライアント側に存在することができる。(少なくとも1つの実施形態では)システム20によって採用される最適化されたクラスタリングニューラルネットワークは、複数の線形連鎖が並行して実行されることを可能にするため、モバイルデバイスからのGPSデータ等の情報を更新し、それをサーバにプッシュ配信する、第2の連鎖を実行することができる。音声および他のデータをサーバ側で生成し、クライアントに返信することができる。これは、標的人格22がデバイスからデバイスへローミングするときに、一貫した音声合成を可能にする。これは、記録された発話に依拠する、従来技術での技術と異なり、一貫した音声コンテンツを伴う真のAGIを可能にする。別の実施形態では、システム20のホストサーバは、商業用音声サーバ技術と連動させられ得る。
【0044】
上記のように、ポストプロセッサ42は、各会話入力34のためのユーザ36(または教師人格26)への応答46を適正にフォーマットして伝送するように構成される。
図9のフロー図で図示されるように、例示的実施形態では、未加工応答44の受信時に(900)、ポストプロセッサ42は、(関連応答ファイル50に含有されるデータにより、未加工応答44にまだ含まれていない場合)最初に適正な大文字化および句読点を追加することによって、未加工応答44を適正にフォーマットされた応答46に変換する(902)。1つのそのような実施形態では、データが、一般的な名、姓、国および州名、および従来的に大文字で書かれる他の言葉に関して、システム20で維持される。ポストプロセッサ42は、未加工応答44を個々の言葉に解析し、これらの言葉を通して反復し、既知の名前または他の一般的に大文字で書かれる言葉に遭遇した場合、最初の文字が大文字で書かれる。さらなる実施形態では、現在公知であるか、または後に開発される、この特定の機能性を確立するための他の方法が置換されてもよい。
【0045】
また、上記のように、少なくとも1つの実施形態では、各応答ファイル50は、関連核心的意味48および未加工応答44に関係付けられる、気分値52および加重値54を含有する。したがって、そのような詳細が提供される場合、ポストプロセッサ42は、フォーマッティングプロセス中にそれらを考慮に入れ、それに従って未加工応答44を修正する(904)。これは、会話入力34(したがって、核心的意味48)が、核心的意味48の主題についての標的人格22の意見、または核心的意味48の主題への情動反応(すなわち、標的人格22が好むか嫌うかどうか)を得ようとしている場合に、最も一般的に使用される。例示的実施形態では、これは、フォーマットされた応答46に組み込む最終情動反応に到達するよう、未加工応答44と関連付けられた少なくとも1つの気分値52のそれぞれの加重値54を総計すること、または微分することのいずれかによって達成される。
【0046】
上記のように、少なくとも1つの実施形態では、標的人格22は、標的人格22の知識ベースを選択的に増加させるために、医学事典、インターネット検索エンジン、百科事典等の1つまたはそれを上回る補足データソースへのアクセスを提供される。そのような補足データソースはまた、断定的な核心的意味48の精度または正確性を確認するために、あるいは探求的な核心的意味48への回答を求めるために、論理プロセッサ40によって利用されてもよい。そのような検索が時間を要し得るため、例示的実施形態では、論理プロセッサ40は、標的人格22とユーザ36(または教師人格26)との間の会話を遅延させないよう、マルチスレッド処理を利用する。もう少し詳細には、論理プロセッサ40が、調査を必要とするそのような核心的意味48を受信すると、論理プロセッサは、最初に、(「それについて返事をさせてください」等の)曖昧な応答をポストプロセッサ42に伝送し、会話が継続することを可能にする。それと同時に、論理プロセッサ40は、必要な検索を行うために第2のスレッドを同時に開始する。検索を完結させると、論理プロセッサ40は、会話を中断し、ユーザ36に伝達するために、調査された応答をポストプロセッサ42に伝送する。
【0047】
標的人格22が、カメラまたはマイクロホン等の1つまたはそれを上回る感覚入力デバイスへのアクセスを有する、ある実施形態では、ポストプロセッサ42は、フォーマッティングプロセス中にこれらの詳細を考慮に入れ、それに従って未加工応答44をさらに修正してもよい(906)。
【0048】
いったん未加工応答44が適正にフォーマットされた応答46に変換されると、フォーマットされた応答46は、ユーザ36(または教師人格26)に伝送される(908)。
【0049】
再度、
図4を参照すると、システム20の実際の使用中に(すなわち、ユーザ36と標的人格22との間の会話中に)、少なくとも1つの実施形態では、データサーバ28は、ユーザ36に関係付けられる情報を事前にロードされ、関連個人詳細が、ある未加工応答44に変数として含まれることを可能にする。例えば、「Richard Nixonは誰でしたか」という会話入力34の受信時に、未加工応答44は、「Richard Milhaus Nixonは、合衆国第37代大統領であり、あなたが生まれる前の1969年から1974年までほぼ14年間任務に就きました」であり得る。そのような情報を用いてデータサーバ28にデータ投入することは、最初に標的人格22と相互作用することに先立って、ユーザ36にアンケートに記入させること、標的人格22との最初の会話の開始時に、ユーザ36に自分について簡潔に話をさせる(タイプさせる)こと、ユーザ36に関係付けられる個人履歴文書をスキャンすること等を含むが、それらに限定されない、任意の数の方法で達成することができる。
【0050】
少なくとも1つの実施形態では、データサーバ28内には、システム20によって維持され、会話入力34を介してユーザ36(または教師人格26)によって提示された各話題の自然言語表現を含有する、別個のデータセットも記憶される。このようにして、標的人格22は、以前の会話入力34を思い出すことができる。このデータセットは、手動で編集することができ、または標的人格22は、既存の自然言語話題応答を既存の未加工応答44と比較するために、正規表現を使用し、変数を置換することによって、応答を合成することができる。話題として問い合わせされたとき、標的人格22は、応答ファイル50の中の合致する核心的意味48を探し、話題未加工応答44を返信する。
【0051】
少なくとも1つの代替実施形態では、プリプロセッサ38が標的人格22から省略され得、したがって、最初に所与の会話入力34から核心的意味48を抽出するよりもむしろ、論理プロセッサ40は、単純に、(すなわち、各一意の核心的意味48のための別個の応答ファイル50を作成して記憶するだけよりもむしろ)遭遇した各一意の会話入力34のための別個の応答ファイル50を作成して記憶するであろうことに留意されたい。同様に、少なくとも1つのさらなる代替実施形態では、ポストプロセッサ42は、標的人格22から省略されてもよく、したがって、関連応答ファイル50によって提供されるような各未加工応答44をフォーマットするよりもむしろ、応答ファイル50自体が、適正にフォーマットされた応答46を含有するであろう。
【0052】
本明細書の側面はまた、以下のように説明され得る。
【0053】
1.少なくとも1つのコンピュータデバイス上のメモリ内に常駐し、少なくとも1つの会話入力に応答して適切な措置を講じるように構成される、人工知的エージェントを作成および実装するための方法であって、少なくとも1つのコンピュータデバイス上のメモリ内にエージェントの標的人格を実装するステップと、少なくとも1つのコンピュータデバイス上のメモリ内に少なくとも1つの人工知的会話人格を実装するステップであって、各会話人格は、標的人格に適切な知識および関連応答を提供するために、必要に応じて標的人格と会話をするように構成される、ステップと、通信エンティティから少なくとも1つの会話入力を受信することによって、少なくとも1つの通信エンティティが標的人格と相互作用することを可能にするステップと、標的人格によって受信される各会話入力について、それと関連付けられた少なくとも1つの核心的意味を導出するように、会話入力を処理するステップと、少なくとも1つの核心的意味のための適切な未加工応答を判定するステップと、未加工応答をフォーマットするステップと、フォーマットされた応答を通信エンティティに伝送するステップとを含み、それによって、エージェントの標的人格は、常に標的人格の人工知能を動的に増加させながら、標的人格によって提供される、1つまたはそれを上回る応答が、少なくとも1つの会話人格からリアルタイムで得られる場合でさえも、会話を続けることが可能である、方法。
【0054】
2.標的人格のための所望の人格タイプを選択するステップと、標的人格のための所望の人格タイプに基づいて、標的人格が通信するべきである、1つまたはそれを上回る適切な会話人格を選択するステップとをさらに含む、実施形態1に記載の方法。
【0055】
3.少なくとも1つの通信エンティティが標的人格と相互作用することを可能にするステップはさらに、少なくとも1つのコンピュータデバイス上のメモリ内に少なくとも1つの教師人格を実装するステップであって、各教師人格は、標的人格が、少なくとも1つの会話人格からの適切な応答と相互作用し、それらを受信することを通して、会話入力に適切に応答する方法を学習し得るように、一式の事前定義された会話入力を標的人格に伝送するように構成される、ステップと、標的人格のための所望の人格タイプに基づいて、標的人格が通信するべきである適切な教師人格を選択するステップとを含む、実施形態1〜2に記載の方法。
【0056】
4.少なくとも1つの通信エンティティが標的人格と相互作用することを可能にするステップはさらに、少なくとも1人の人間ユーザが少なくとも1つの会話入力を標的人格に選択的に伝送することを可能にするステップを含む、実施形態1〜3に記載の方法。
【0057】
5.会話入力を処理するステップはさらに、それぞれのそのような会話入力と関連付けられた核心的意味とともに、標的人格によって遭遇される全ての会話入力の関係リストを維持するステップと、会話入力から任意の句読点を除去するステップと、核心的意味と関係がないと判定される任意の言語を会話入力から除去するステップと、会話入力を、関係リストに記憶された関連核心的意味にマップするステップとを含む、実施形態1〜4に記載の方法。
【0058】
6.適切な未加工応答を判定するステップはさらに、会話入力と関連付けられた各核心的意味について、核心的意味が少なくとも1つのオブジェクトを含有することを判定すると、少なくとも1つのオブジェクトを処理するステップと、それぞれのそのような核心的意味と関連付けられた未加工応答とともに、標的人格によって遭遇される全ての核心的意味を含有する、一式の応答ファイルを維持するステップと、核心的意味が新しいかどうか、または核心的意味が標的人格によって以前に遭遇されたかどうかを判定するステップと、核心的意味に以前に遭遇したことを判定すると、核心的意味を、応答ファイルに記憶された少なくとも1つの関連未加工応答にマップするステップと、少なくとも1つの関連未加工応答のうちのどれが最も適切であるかを判定するステップと、核心的意味が新しいことを判定すると、核心的意味を少なくとも1つの会話人格に伝送するステップと、会話人格から少なくとも1つの未加工応答を受信するステップと、少なくとも1つの未加工応答のうちのどれが最も適切であるかを判定するステップと、最も適切と見なされる核心的意味および関連未加工応答を応答ファイルに追加するステップと、未加工応答が少なくとも1つのオブジェクトを含有することを判定すると、該少なくとも1つのオブジェクトを処理するステップとを含む、実施形態1〜5に記載の方法。
【0059】
7.各未加工応答と関連付けられた気分値を一式の応答ファイルに記憶するステップであって、該気分値は、関連未加工応答を伴うものである感情のタイプを示す、ステップと、気分値によって定義される感情のタイプを反映するように、未加工応答を修正するステップとをさらに含む、実施形態1〜6に記載の方法。
【0060】
8.各未加工応答の気分値と関連付けられた加重値を一式の応答ファイルに記憶するステップであって、該加重値は、関連未加工応答を伴うものである適切な気分の強度を示す、ステップと、加重値によって定義される適切な気分の強度を反映するように、未加工応答を修正するステップとをさらに含む、実施形態1〜7に記載の方法。
【0061】
9.少なくとも1つの未加工応答のうちのどれが最も適切であるかを判定するステップはさらに、ランクを各通信エンティティおよび会話人格に割り当てるステップと、該応答ファイルに含有される未加工応答を作成または最終編集する責任がある通信エンティティまたは会話人格に関係付けられる情報を各応答ファイルに記憶するステップであって、該情報は、ランクを含む、ステップと、所与の核心的意味と関連付けられた複数の未加工応答を発見すると、該未加工応答のうちのどれがそれと関連付けられた最高ランクを有するかを判定する、ステップとを含む、実施形態1〜8に記載の方法。
【0062】
10.少なくとも1つのオブジェクトを処理するステップはさらに、標的人格によって遭遇される全てのオブジェクトと関連付けられた情報を含有する、一式のオブジェクトファイルを維持するステップであって、各オブジェクトファイルは、オブジェクト名、オブジェクト分類、およびオブジェクト属性のうちの少なくとも1つを含有する、ステップと、核心的意味および未加工応答のうちの少なくとも1つに含有される、各オブジェクトについて、オブジェクトが新しいかどうか、またはオブジェクトが標的人格によって以前に遭遇されたかどうかを判定するステップと、オブジェクトに以前に遭遇したことを判定すると、核心的意味および未加工応答のうちの少なくとも1つに含有される任意の関連情報を用いて、必要に応じてオブジェクトと関連付けられたオブジェクトファイルを更新するステップと、オブジェクトが新しいことを判定すると、オブジェクトのための新しいオブジェクトファイルを作成するステップと、核心的意味および未加工応答のうちの少なくとも1つに含有される任意の関連情報を用いて、新しいオブジェクトファイルにデータ投入するステップと、オブジェクトが以前から存在するオブジェクトのサブセットであることを判定すると、以前から存在するオブジェクトと関連付けられた全ての関連情報を用いて、新しいオブジェクトファイルのオブジェクト分類およびオブジェクト属性のうちの少なくとも1つにデータ投入するステップとを含む、実施形態1〜9に記載の方法。
【0063】
11.少なくとも1つの通信エンティティのそれぞれのためのオブジェクトファイルを作成して維持するステップと、標的人格が少なくとも1つの通信エンティティのうちの1つから初期会話入力を受信すると、通信エンティティが標的人格によって以前に遭遇されたかどうかを判定するステップと、通信エンティティが新しいことを判定すると、通信エンティティのための新しいオブジェクトファイルを作成するステップと、通信エンティティに関係付けられる関連情報について該エンティティを促すステップと、通信エンティティから取得される任意の関連情報を用いて、新しいオブジェクトファイルにデータ投入するステップと、通信エンティティに以前に遭遇したことを判定すると、通信エンティティと関連付けられたオブジェクトファイルにアクセスするステップと、通信エンティティの識別を検証するステップと、少なくとも1つの会話入力に含有される任意の関連情報を用いて、必要に応じて通信エンティティと関連付けられたオブジェクトファイルを更新するステップとをさらに含む、実施形態1〜10に記載の方法。
【0064】
12.通信エンティティの識別を検証するステップはさらに、関連オブジェクトファイルに含有される関連情報、および標的人格と通信エンティティとの間の過去の会話に含有される詳細のうちの少なくとも1つに基づく、少なくとも1つの検証質問を用いて通信エンティティを促すステップをさらに含む、実施形態1〜11に記載の方法。
【0065】
13.一意の暗号化キーを使用して、少なくとも1つの通信エンティティと関連付けられた少なくとも1つのオブジェクトファイルに含有される関連情報を暗号化するステップと、通信エンティティの識別を検証すると、通信エンティティが対応する復号キーを保有しているかどうかを判定するステップと、通信エンティティと相互作用しながら、適宜、関連オブジェクトファイルに含有される関連情報を利用するために、その情報を復号するように復号キーを使用するステップとをさらに含む、実施形態1〜12に記載の方法。
【0066】
14.該人格の知識ベースを選択的に増加させるための1つまたはそれを上回る補足データソースへのアクセスを標的人格および会話人格のうちの少なくとも1つに提供するステップをさらに含む、実施形態1〜13に記載の方法。
【0067】
15.標的人格が、調査を必要とする応答を有する会話入力を受信すると、曖昧な応答を通信エンティティに伝送し、それとの会話を継続するステップと、補足データソースを介して必要な調査を行うための第2のスレッドを開始するステップと、調査を完結させると、会話を中断し、調査された応答を通信エンティティに伝送するステップとをさらに含む、実施形態1〜14に記載の方法。
【0068】
16.少なくとも1つのコンピュータデバイス上のメモリ内に常駐し、少なくとも1つの会話入力に応答して適切な措置を講じるように構成される、人工知的エージェントを作成および実装するための方法であって、少なくとも1つのコンピュータデバイス上のメモリ内にエージェントの標的人格を実装するステップと、少なくとも1つのコンピュータデバイス上のメモリ内に少なくとも1つの人工知的会話人格を実装するステップであって、各会話人格は、標的人格に適切な知識および関連応答を提供するために、必要に応じて標的人格と会話をするように構成される、ステップと、少なくとも1つのコンピュータデバイス上のメモリ内に少なくとも1つの教師人格を実装するステップであって、各教師人格は、標的人格が、少なくとも1つの会話人格からの適切な応答と相互作用し、それらを受信することを通して、会話入力に適切に応答する方法を学習し得るように、一式の事前定義された会話入力を標的人格に伝送することによって、通信エンティティとして機能するように構成される、ステップと、通信エンティティから少なくとも1つの会話入力を受信することによって、少なくとも1つの通信エンティティが標的人格と相互作用することを可能にするステップと、標的人格によって受信される各会話入力について、それと関連付けられた少なくとも1つの核心的意味を導出するように、会話入力を処理するステップと、少なくとも1つの核心的意味のための適切な未加工応答を判定するステップと、未加工応答をフォーマットするステップと、フォーマットされた応答を通信エンティティに伝送するステップとを含み、それによって、エージェントの標的人格は、常に標的人格の人工知能を動的に増加させながら、標的人格によって提供される、1つまたはそれを上回る応答が、少なくとも1つの会話人格からリアルタイムで得られる場合でさえも、会話を続けることが可能である、方法。
【0069】
17.少なくとも1つのコンピュータデバイス上のメモリ内に常駐する、人工知的エージェントを作成および実装するためのシステムであって、少なくとも1つのコンピュータデバイス上のメモリ内に常駐し、プリプロセッサ、論理プロセッサ、およびポストプロセッサを備える、標的人格であって、そこから受信される少なくとも1つの会話入力に応答することを通して、少なくとも1つの通信エンティティと相互作用するように構成される、標的人格と、それと関連付けられた少なくとも1つの核心的意味を導出するように各会話入力を処理するように構成される、プリプロセッサと、少なくとも1つの核心的意味に対する適切な未加工応答を判定するように構成される、論理プロセッサと、未加工応答をフォーマットするように構成される、ポストプロセッサと、少なくとも1つのコンピュータデバイス上のメモリ内に常駐する、少なくとも1つの人工知的会話人格であって、各会話人格は、標的人格に適切な知識および関連応答を提供するために、必要に応じて標的人格と会話をするように構成される、人工知的会話人格と、少なくとも1つのコンピュータデバイス上のメモリ内に常駐する、少なくとも1つの教師人格であって、各教師人格は、標的人格が、少なくとも1つの会話人格からの適切な応答と相互作用し、それらを受信することを通して、会話入力に適切に応答する方法を学習し得るように、一式の事前定義された会話入力を標的人格に伝送するように構成される、教師人格とを備え、標的人格が該少なくとも1つの会話入力を受信すると、標的人格は、標的人格によって受信される各会話入力について、それと関連付けられた少なくとも1つの核心的意味を導出するように、会話入力を処理し、少なくとも1つの核心的意味に対する適切な未加工応答を判定し、未加工応答をフォーマットし、フォーマットされた応答を通信エンティティに伝送するように構成され、それによって、標的人格は、常に標的人格の人工知能を動的に増加させながら、標的人格によって提供される、1つまたはそれを上回る応答が、少なくとも1つの会話人格からリアルタイムで得られる場合でさえも、会話を続けることが可能である、システム。
【0070】
18.システムはさらに、標的人格のための所望の人格タイプを選択し、標的人格のための所望の人格タイプに基づいて、標的人格が通信するべきである、1つまたはそれを上回る適切な会話人格を選択するように構成される、実施形態17に記載のシステム。
【0071】
19.システムはさらに、標的人格のための所望の人格タイプに基づいて、標的人格が通信するべきである、適切な教師人格を選択するように構成される、実施形態17〜18に記載のシステム。
【0072】
20.少なくとも1つの通信エンティティは、人間ユーザである、実施形態17〜19に記載のシステム。
【0073】
21.システムはさらに、それぞれのそのような会話入力と関連付けられた核心的意味とともに、標的人格によって遭遇される全ての会話入力の関係リストを維持し、会話入力から任意の句読点を除去し、核心的意味と関係がないと判定される任意の言語を会話入力から除去し、会話入力を、関係リストに記憶された関連核心的意味にマップするように構成される、実施形態17〜20に記載のシステム。
【0074】
22.システムはさらに、会話入力と関連付けられた各核心的意味について、核心的意味が少なくとも1つのオブジェクトを含有することを判定すると、該少なくとも1つのオブジェクトを処理し、それぞれのそのような核心的意味と関連付けられた未加工応答とともに、標的人格によって遭遇される全ての核心的意味を含有する、一式の応答ファイルを維持し、核心的意味が新しいかどうか、または核心的意味が標的人格によって以前に遭遇されたかどうかを判定し、核心的意味に以前に遭遇したことを判定すると、核心的意味を、応答ファイルに記憶された少なくとも1つの関連未加工応答にマップし、少なくとも1つの関連未加工応答のうちのどれが最も適切であるかを判定し、核心的意味が新しいことを判定すると、核心的意味を少なくとも1つの会話人格に伝送し、会話人格から少なくとも1つの未加工応答を受信し、少なくとも1つの未加工応答のうちのどれが最も適切であるかを判定し、最も適切と見なされる核心的意味および関連未加工応答を応答ファイルに追加し、未加工応答が少なくとも1つのオブジェクトを含有することを判定すると、該少なくとも1つのオブジェクトを処理するように構成される、実施形態17〜21に記載のシステム。
【0075】
23.システムはさらに、各未加工応答と関連付けられた気分値であって、関連未加工応答を伴うものである感情のタイプを示す、該気分値を、一式の応答ファイルに記憶し、気分値によって定義される感情のタイプを反映するように、未加工応答を修正するように構成される、実施形態17〜22に記載のシステム。
【0076】
24.システムはさらに、各未加工応答の気分値と関連付けられた加重値であって、関連未加工応答を伴うものである適切な気分の強度を示す該加重値を、一式の応答ファイルに記憶し、加重値によって定義される適切な気分の強度を反映するように、未加工応答を修正するように構成される、実施形態17〜23に記載のシステム。
【0077】
25.システムはさらに、ランクを各通信エンティティおよび会話人格に割り当て、該応答ファイルに含有される未加工応答を作成または最終編集する責任がある通信エンティティまたは会話人格に関係付けられる情報であって、ランクを含む、該情報を各応答ファイルに記憶し、所与の核心的意味と関連付けられた複数の未加工応答を発見すると、該未加工応答のうちのどれがそれと関連付けられた最高ランクを有するかを判定するように構成される、実施形態17〜24に記載のシステム。
【0078】
26.システムはさらに、各オブジェクトファイルが、オブジェクト名、オブジェクト分類、およびオブジェクト属性のうちの少なくとも1つを含有する、標的人格によって遭遇される全てのオブジェクトと関連付けられた情報を含有する、一式のオブジェクトファイルを維持し、核心的意味および未加工応答のうちの少なくとも1つに含有される、各オブジェクトについて、オブジェクトが新しいかどうか、またはオブジェクトが標的人格によって以前に遭遇されたかどうかを判定し、オブジェクトに以前に遭遇したことを判定すると、核心的意味および未加工応答のうちの少なくとも1つに含有される任意の関連情報を用いて、必要に応じてオブジェクトと関連付けられたオブジェクトファイルを更新し、オブジェクトが新しいことを判定すると、オブジェクトのための新しいオブジェクトファイルを作成し、核心的意味および未加工応答のうちの少なくとも1つに含有される任意の関連情報を用いて、オブジェクトファイルにデータ投入し、オブジェクトが以前から存在するオブジェクトのサブセットであることを判定すると、以前から存在するオブジェクトと関連付けられた全ての関連情報を用いて、新しいオブジェクトのオブジェクト分類およびオブジェクト属性のうちの少なくとも1つにデータ投入するように構成される、実施形態17〜25に記載のシステム。
【0079】
27.システムはさらに、少なくとも1つの通信エンティティのそれぞれのためのオブジェクトファイルを作成して維持し、標的人格が少なくとも1つの通信エンティティのうちの1つから初期会話入力を受信すると、通信エンティティが標的人格によって以前に遭遇されたかどうかを判定し、通信エンティティが新しいことを判定すると、通信エンティティのための新しいオブジェクトファイルを作成し、通信エンティティに関係付けられる関連情報について該エンティティを促し、通信エンティティから取得される任意の関連情報を用いて、新しいオブジェクトファイルにデータ投入し、通信エンティティに以前に遭遇したことを判定すると、通信エンティティと関連付けられたオブジェクトファイルにアクセスし、通信エンティティの識別を検証し、少なくとも1つの会話入力に含有される任意の関連情報を用いて、必要に応じて通信エンティティと関連付けられたオブジェクトファイルを更新するように構成される、実施形態17〜26に記載のシステム。
【0080】
28.システムはさらに、関連オブジェクトファイルに含有される関連情報、および標的人格と通信エンティティとの間の過去の会話に含有される詳細のうちの少なくとも1つに基づく、少なくとも1つの検証質問を用いて通信エンティティを促すように構成される、実施形態17〜27に記載のシステム。
【0081】
29.システムはさらに、一意の暗号化キーを使用して、少なくとも1つの通信エンティティと関連付けられた少なくとも1つのオブジェクトファイルに含有される関連情報を暗号化し、通信エンティティの識別を検証すると、通信エンティティが対応する復号キーを保有しているかどうかを判定し、通信エンティティと相互作用しながら、適宜、関連オブジェクトファイルに含有される関連情報を利用するために、その情報を復号するように復号キーを使用するように構成される、実施形態17〜28に記載のシステム。
【0082】
30.システムはさらに、該人格の知識ベースを選択的に増加させるための1つまたはそれを上回る補足データソースへのアクセスを標的人格および会話人格のうちの少なくとも1つに提供するように構成される、実施形態17〜29に記載のシステム。
【0083】
31.システムはさらに、標的人格が、調査を必要とする応答を有する会話入力を受信すると、曖昧な応答を通信エンティティに伝送し、それとの会話を継続し、補足データソースを介して必要な調査を行うための第2のスレッドを開始し、調査を完結させると、会話を中断し、調査された応答を通信エンティティに伝送するように構成される、実施形態17〜30に記載のシステム。
【0084】
締めくくりとして、本明細書で図示および説明されるような本発明の例示的実施形態に関して、人工知的エージェントまたはシステムを作成および実装するためのシステムおよび方法が開示されることが理解されるであろう。本発明の原理が、図示および説明されるものを超えるいくつかの構成で実装され得るため、本発明は、例示的実施形態によっていかようにも限定されないが、概して、人工知的エージェントまたはシステムを作成および実装するためのシステムおよび方法を対象とし、本発明の精神および範囲から逸脱することなく、そうするように多数の形態を成すことができると理解されたい。さらに、上記の実施形態のそれぞれの種々の特徴は、任意の論理的様式で組み合わせられてもよく、本発明の範囲内に含まれることを目的としている。
【0085】
本発明の代替実施形態、要素、またはステップのグループ化は、制限として解釈されるものではない。各グループ構成要素は、個別に、または本明細書で開示される他のグループ構成要素との任意の組み合わせで、参照され、請求されてもよい。グループの1つまたはそれを上回る構成要素は、便宜および/または特許性の理由により、グループに含まれ、またはグループから削除されてもよいことが予測される。任意のそのような包含または削除が起こるとき、本明細書は、修正されるようなグループを含有すると見なされ、したがって、添付の請求項で使用される全てのマーカッシュグループの明細書記載を満たす。
【0086】
別様に示されない限り、本明細書および請求項で使用される特性、項目、数量、パラメータ、性質、用語等を表す全ての数字は、全ての場合において「約」という用語によって修正されると理解されるものである。本明細書で使用されるように、「約」という用語は、そのように修飾される特性、項目、数量、パラメータ、性質、または用語が、記述された特性、項目、数量、パラメータ、性質、または用語の値のプラスまたはマイナス10パーセント以上および以下の範囲を包含することを意味する。したがって、それとは反対に示されない限り、本明細書および添付の請求項に記載される数値パラメータは、変動し得る近似値である。少なくとも、均等論の適用を請求項の範囲に限定する試行としてではなく、各数値指標は、少なくとも、報告された有効桁数に照らして、通常の四捨五入技法を適用することによって解釈されるべきである。本発明の広い範囲を記載する数値範囲および値が近似値であるにもかかわらず、具体的実施例で記載される数値範囲および値は、可能な限り正確に報告される。しかしながら、任意の数値範囲または値は、本質的に、それぞれの試験測定で見出される標準偏差に必然的に起因する、ある誤差を含有する。本明細書の値の数値範囲の記載は、範囲内に入る各別個の数値を個別に指す簡潔な方法としての機能を果たすことを目的とするにすぎない。本明細書で別様に示されない限り、数値範囲の各個別値は、本明細書で個別に記載された場合のように本明細書に組み込まれる。
【0087】
本発明の説明との関連で(特に、以下の請求項との関連で)使用される、「ある(「a」、「an」)、「該(the)」」という用語、および類似指示対象は、本明細書で別様に示されない、または文脈によって明確に否定されない限り、単数形および複数形の両方を対象とすると解釈されるものである。本明細書で説明される全ての方法は、本明細書で別様に示されない、または別様に文脈によって明確に否定されない限り、任意の好適な順序で行うことができる。本明細書で提供される、ありとあらゆる実施例または例示的な言語(例えば、「等」)の使用は、本発明をより良く明らかにすることのみを目的としており、別様に請求される本発明の範囲に制限を課さない。本明細書内のいかなる言語も、本発明の実践に不可欠な任意の請求されていない要素を示すものとして解釈されるべきではない。
【0088】
本明細書で開示される具体的実施例はさらに、「〜から成る」または「本質的に〜から成る」という言語を使用して、請求項で限定されてもよい。出願される際であろうと、または訂正により追加される際であろうと、請求項で使用されるとき、「〜から成る」という移行用語は、請求項で特定されていないあらゆる要素、ステップ、または原料を除外する。「本質的に〜から成る」という移行用語は、請求項の範囲を、特定された材料またはステップ、および基本または新規特性に物質的に影響を及ぼさないものに限定する。そのように請求される本発明の実施形態は、本明細書で本質的または明白に説明されて有効にされる。
【0089】
論理コード、プログラム、モジュール、プロセス、方法、および各方法のそれぞれの要素が行われる順序は、純粋に例示的であることを理解されたい。実装に応じて、本開示で別様に示されない限り、それらは任意の順序で、または並行して行われてもよい。さらに、論理コードは、いかなる特定のプログラミング言語にも関係付けられず、または限定されず、分散型、非分散型、または多重処理環境において1つまたはそれを上回るプロセッサ上で実行される、1つまたはそれを上回るモジュールを備えてもよい。
【0090】
上記で説明されるような方法は、集積回路チップの加工で使用されてもよい。結果として生じる集積回路チップは、未加工ウエハ形態で(つまり、複数の非パッケージ化チップを有する単一のウエハとして)、裸金型として、またはパッケージ化形態で、加工業者によって流通させることができる。後者の場合、チップは、単一のチップパッケージ(マザーボードまたは他の高次キャリアに添着されるリード線を伴うプラスチックキャリア等)に、またはマルチチップパッケージ(表面相互接続または埋込相互接続のいずれか一方または両方を有する、セラミックキャリア等)に搭載される。いずれの場合も、次いで、チップは、(a)マザーボード等の中間製品、または(b)最終製品のいずれかの一部として、他のチップ、離散回路要素、および/または他の信号処理デバイスと統合される。最終製品は、玩具および他の低性能用途から、ディスプレイ、キーボードまたは他の入力デバイス、および中央処理装置を有する先進コンピュータ製品にまで及ぶ、集積回路チップを含む任意の製品であり得る。
【0091】
本発明の側面が、少なくとも1つの例示的実施形態を参照して説明されているが、本発明はそれに限定されないことが当業者によって明確に理解される。むしろ、本発明の範囲は、添付の請求項と併せてのみ解釈されるものであり、本発明者は請求された主題が本発明であると考えることが、ここで明確にされる。