JP2015511746A - 会話式情報検索システムおよび方法 - Google Patents

会話式情報検索システムおよび方法 Download PDF

Info

Publication number
JP2015511746A
JP2015511746A JP2014561241A JP2014561241A JP2015511746A JP 2015511746 A JP2015511746 A JP 2015511746A JP 2014561241 A JP2014561241 A JP 2014561241A JP 2014561241 A JP2014561241 A JP 2014561241A JP 2015511746 A JP2015511746 A JP 2015511746A
Authority
JP
Japan
Prior art keywords
input
context
user
results
criteria
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.)
Pending
Application number
JP2014561241A
Other languages
English (en)
Other versions
JP2015511746A5 (ja
Inventor
ファーマナー,ギャリー
ディカールアントニオ,ロン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JP2015511746A publication Critical patent/JP2015511746A/ja
Publication of JP2015511746A5 publication Critical patent/JP2015511746A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

コンテキスト上のコマンドに基づいて動作を実施するためのシステムおよび方法。この動作は、情報を対話型で検索することをさらに含み、コンテキスト内の入力を受け取り、入力値に関して、削減、緩和、および場所の取り扱いのうちの少なくとも1つによって、受け取ったコンテキストに関して結果を戻し、入力判定基準のコンテキストに基づいて動作を実施する。削減は、そのコンテキスト上の関連性によって結果の総数を絞り込むことを含み、その絞り込みは、動的に生成した実時間相互関係に含まれる。緩和はさらに、正確な結果がみつからない場合、入力した検索判定基準を自動的に拡大し、適切な場合、結果を獲得する。場所の取り扱いは、入力履歴に基づいてコンフリクトが存在する住所及び場所の曖昧性除去を行うことと、入力履歴に基づいて住所内での関係を成立させることとを含む。【選択図】図1

Description

本出願は、2012年3月14日に出願した米国特許出願第61/610,606号に対する優先権を主張するものであり、これを参照することにより本明細書に組み込む。
以下は、一般に、コンピュータ化された検索に関し、特にコンテキスト検索に関する。
今日では、情報を検索するための2つの共通の形態、すなわちキーワードドリブン型検索およびコールフロードリブン型検索が存在する。
キーワード駆動型検索の場合、ユーザは、キーワードのリストとして、またはある場合には、自然言語文として検索語句を入力し、可能性の高い関連情報のリストを得ることによって大量のデータを検索出来る。多くの場合、ユーザは、自分が欲している情報を取得するために必要な、より完璧な検索語句を選ばなければならない。通常は、検索結果として非常にたくさんの情報リストが戻ってくるので、ユーザは、自分が興味ある結果に絞り込むために、検索方法をどのように調整したらいいかを自分で決めなければならない。通常は、このリストを必要な情報に絞り込むためのアシストはほとんどなく、あったとしても、例えば、「もしかしてジャガー?」のような、よくある、そのようなものしかない。
コールフロー駆動型検索の場合、ユーザは、あらかじめ定義されたオプションリストを介して情報を検索することが出来る。この例として自動音声案内が挙げられる。この場合、ユーザに、選択肢のオプションのリストが提示され、ユーザは、その中から適切なオプションを選択しないと先へ進めない。他の例としては、ユーザがあらかじめ定義された特定のカテゴリを選択することによって、検索結果を絞り込むようになっているウェブサイト、などが挙げられる。この方法は、情報を見つけるための対話型の方法であり、使い易いが、通常は、一度に一部の情報しか提供されず、ユーザのニーズに関係なくあらかじめ定義された特定の質問フローに従うように制限がかけられる。ユーザにとって使い易く、検索するのに十分なデータを網羅する有効なコールフローを開発して維持するには、多大な時間が必要となるであろう。
データ自体は、ユーザの場所やニーズ、検索されるデータベースによって変化するので、あらかじめ定義されたコールフローは通常、ユーザが望んでいる結果にたどり着くための効率的な方法(最小限のステップによる)を提供しない。さらに、コールフロー駆動型検索は、ユーザが関連情報を得るためには、フローの指示に従わなければならないため、ユーザの視点からみると、受動的である。
前述のようなことに取り組むために、ある対話型インテリジェントチャットシステムが開発されているが、これらは通常、それぞれのコンテンツのタイプ(またはドメイン)やコンテキストに合わせた質問やシナリオを書くことによって、“作成”されている。これは一般に、かなりの開発時間、努力および経費を必要とした。
以下の目的は、上記のような、不便な事象のうちの少なくとも1つを排除するか、または軽減することである。
一態様では、自動化されたコンピュータシステムが提供され、このシステムは、コマンドをコンテキスト上で解釈し、そこで命令が符号化される処理装置とメモリ素子とを備えており、これによって前記システムが:コンテキスト内にある、動作を実施するための命令に対応するユーザ入力コマンドを受け取り;前記入力コマンドの曖昧性を除去し;前記曖昧性除去がなされた入力コマンドに基づいて動作を実施し;前記曖昧性除去がなされた入力コマンドに応答して、ゼロまたはそれ以上の結果を戻すようにされる。
他の態様では、コマンドをコンテキスト上で解釈するように自動化されたコンピュータシステムにおいて、そこで命令が符号化される処理装置とメモリ素子とを備えており、方法が提供され、この方法が:コンテキスト内にある、動作を実施するための命令に対応するユーザ入力コマンドを受け取るステップと;前記入力コマンドを曖昧性除去するステップと;前記曖昧性除去がなされた入力コマンドに基づいて動作を実施するステップと;前記曖昧性除去がなされた入力コマンドに応答して、ゼロまたはそれ以上の結果を戻すステップと;を含む。
さらに他の態様では、システムが提供され、このシステムは、処理装置とメモリを持ち、エンコードされた指令を持った上で、その指令によって前記システムが:コンテキスト内の入力を受け取り;前記入力値に関して、絞り込み、拡大、および場所の取り扱いのうちの少なくとも1つによって、前記受け取ったコンテキストに関して結果を戻し;入力されたクライテリア(条件)のコンテキストに基づいて動作が実施され;前記絞り込みが、前記入力に応答して戻された現在の結果に基づいて1つ以上の関連の項目を戻し、可能な判定基準値を備えることをさらに含み;前記拡大が、正確な結果が見つからない場合に前記入力判定基準を自動的に拡大し、適当な場合に結果を取得することをさらに含み;前記場所の取り扱いが、入力履歴に基づくコンフリクトが存在する住所および場所の曖昧性除去を行い、入力履歴に基づいて住所内での関係を成立させることをさらに含む。
さらに他の態様では、動的自己進化コンピュータ自動化システムが提供され、前記システムは、処理装置とメモリ素子とを備え、そこで命令が符号化され、その命令によって前記システムが:各ユーザ対話に対するシナリオを人が創作することなく対話能力の進化を開発し、前記進化は、前記コンテキストおよびコンテンツに基づいてユーザ対話を決定することをさらに含み、自動化機能性を向上させるルールを自動的に定義し;自然言語処理を実現し、前記自然言語処理はユーザ入力を意味にマッピングし、前記マッピングはジャンルタグ付けをさらに含み;グループ化を含む組と、変化する行為を含む組とを区別し;1つまたは複数の一般的祖先および1つまたは複数の子孫のうちの少なくとも1つに入力をマッチングすることを許容するための階層構造を作成する;ようにされる。
さらに他の態様では、処理装置とメモリ素子とを備え、そこで命令が符号化されるコンピュータ自動化システムにおいて、前記コンピュータ自動化システムの動的自己進化のための方法が提供され、前記方法が:各ユーザ対話に対するシナリオを人が創作することなく対話能力の進化を開発するステップを含み、前記進化は、前記コンテキストおよびコンテンツに基づいてユーザ対話を決定することをさらに含み、自動化機能性を向上させるためのルールを自動的に定義するステップと;自然言語処理を実現するステップとを含み、前記自然言語処理はユーザ入力を意味にマッピングすることをさらに含み、前記マッピングはジャンルタグ付けすることをさらに含み;さらに、グループ化を含む組と、変化する行為を含む組とを区別するステップと;1つまたは複数の一般的祖先または1つまたは複数の子孫のうちの少なくとも1つにマッチングすることを許容するための階層構造を作成するステップと;を含む。
本発明の特徴を、添付図面を参照する以下の詳細な説明により、より明確にする。
会話型のやり取りを介して、コンテンツや情報を検索することができるシステムの、一実施形態におけるプロセスフローを示す。 削減方法の一実施形態におけるプロセスフローを示す。 緩和方法の一実施形態におけるプロセスフローを示す。 一実施形態におけるシステムの構成要素を示す。
図面を参照して以下で実施形態について述べる。適切であると考えられる例示を簡単にしかも明瞭にするために、参照符号を図面において繰り返し、対応するか、または類似のエレメントを示すことが出来ることを認識するであろう。さらに、ここで述べる実施形態を完全に理解するために、多くの特定の細部について説明する。しかし、ここで述べる実施形態がこれらの特定の細部が存在しなくとも実施可能であることを当業者は理解するであろう。他の例では、ここで述べる実施形態を曖昧にしないように、周知の方法、手順および構成要素についての詳細は述べない。また、説明はここで述べる実施形態の範囲を制限するものであるとは考えられない。
本明細書における“一実施形態”または“実施形態”は、その実施形態に関連して述べる特定の特徴、構造または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な箇所での語句“一実施形態において”の出現は、必ずしもすべて同じ実施形態を参照するものではなく、他の実施形態を相互に排除した別の実施形態でもない。さらに、いくつかの実施形態で示すことは可能であるが、他の実施形態では示すことが出来ない様々な特徴について述べる。同様に、いくつかの実施形態では必要条件となり得るが、他の実施形態ではなり得ない様々な必要条件について述べる。
ここで例示した命令を実行するいかなるモジュール、ユニット、構成要素、サーバ、コンピュータ、端子または装置は、コンピュータ可読媒体、例えば記憶媒体、コンピュータ記憶媒体、またはデータ記憶装置(取り外し可能且つ取り外し不可能、またはそのいずれか)、例えば磁気ディスク、光ディスクまたはテープを含むことも可能であり、またそうでない場合は、それらにアクセスすることも可能である。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報の記憶方法または技術において実現される揮発性且つ不揮発性、取り外し可能且つ取り外し不可能な媒体を含むことも可能である。コンピュータ記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、または望ましい情報を記憶するために使用可能であり、アプリケーション、モジュールまたはその両方がアクセス可能である他の媒体を含む。このようなコンピュータ記憶媒体は、装置の一部であるか、それにアクセス可能または接続可能であってもよい。ここで述べるいずれかのアプリケーションまたはモジュールは、このようなコンピュータ可読媒体に記憶可能であるか、またそうでない場合には保持可能であるコンピュータ可読/実行可能命令を用いて実現することも可能である。
本明細書は、以下の用語を参照して理解するのが最良であり、これらは以下の非限定的な例を用いて説明される。
自然言語−人間の言語、コンピュータプログラミング言語等の形式(すなわち、具体的に設計された)言語とは対照的である。現代のオンラインの世界では、自然言語は、綴り、文法、口語表現、スラング、略語、エモーティコン、ののしり、専門用語、頭字語等の問題によって影響を受ける。
自然言語処理(NLP)−自然言語の文字列をデータ構造または形式言語に変換し、それによって文字列についての情報を提供する。これは、作業トークン化、形態素解析(例えば音声の一部)、対話作用(文の型式)、入力された一般的な会話を計算操作にとってより公的な形式への変換、を含む。
自然言語理解(NLU)−入力発生が意図されるという効果を反映する1組のシステム状態変化に自然言語での入力をマッピングするために使用する1組のアルゴリズム。
エージェント−有益な目的のためにインテリジェントな方法で自然言語を用いたやりとりが可能なシステム。
会話型のやりとり−ユーザとエージェントとの間の入力と出力のセット。
スモールトーク−経験をより楽しいものにし、エージェントに個性を提供するためのユーザ入力に対する簡単な返答。
クエリ−現在の検索条件を変更しない現在の検索候補の組に関する情報要求(例えば“このお店はどのくらい離れてますか?”)
ドメイン−エージェントが対話の準備をしている1つ以上のテーマ。
ロケール−ユーザの現在の場所に関する属性の組。これは、位置/場所、デフォルト言語、測定ユニット、日時フォーマット等を含むことが可能である。
同義語−動作のドメインにおいて共通の意味を有するワードまたはフレーズ。
標準−1組の同義語を表す正規名。
ファミリ−関連の標準の形式的収集。
ジャンル−関連のワードの階層ファミリを表すプレースホルダ。一実施形態では、ファミリと標準の組み合わせから成る。
ジャンルタグ付けまたは入力ジャンル−付属ワードまたはサブセンテンスを有するジャンルによる入力のワードまたはサブセンテンスの表現。
ジャンル化−文字列のジャンルタグ付けを行うプロセス。
ジャンル化またはジャンルタグ付け−ジャンル化が適用されたこと。
ジャンル条件−いずれかの順でマッチング可能なワードおよびジャンルのリスト。
ジャンル文法条件−ワード、ジャンルおよび特殊な意味の文法トークンから成り、さらにNLUの性能に対するジャンル化入力とマッチングするセンテンスまたはサブセンテンス。
マッチングジャンル−ジャンル条件またはジャンル文法条件におけるいずれかの特定のジャンル。
ジャンル条件マッチング−ジャンル条件またはジャンル文法条件を有するユーザ入力のジャンル化形式のマッチング。
キージャンル−システムが使用してNLUのターゲットに対する値を抽出するジャンル条件のそれらのジャンル。
関連のジャンル−もし存在すれば、ジャンル条件マッチングの一部でもあると考えられ得るジャンル。
判定基準−名前の組を介して表現された形式的に定義された条件の組。そのサブセットは、検索および制御またそのいずれかのプロセスフローの目的のために1つ以上の値が適用可能である。書き込み易くするために、判定基準は単数または複数で良い。
判定基準値−特定の判定基準に対する1つの値であり、これは形式化され得る(値の正規組)かまたは“自由入力”が可能である。ここでは、ユーザ入力されるか、または検索されたコンテンツ(例えば店名)からの値を引き受ける。
折り畳み可能またはドリルダウン判定基準−判定基準値がツリーとして定義される判定基準。この値が特定になればなるほど、出現する値のツリーがより深くなる。折り畳み可能判定基準は、所与のツリー深度で平坦化されたリストとして提示され、子が提示(ドリルダウン)されてその値をさらに限定し得る。
領域判定基準−場所(1つのGPS点、例えばランドマーク)または制限された領域(近隣、都市等)に特に関連する意味を有する値を保持する判定基準。
先祖値−折り畳み可能判定基準において、先祖値は所与の値の直接先祖パス内にある(すなわち親、祖父母等)。
子孫値−折り畳み可能判定基準において、子孫値は所与の値の直接子孫パス内にある(すなわち子、孫等)。
判定基準条件−現在の判定基準の状態でのブール式。ここでは、値あり、値なし、特定の値あり、祖先および子孫の値ありが表現できる。
コンテキスト−システムの識別可能な状態。検索のドメイン、判定基準、データフィールド、GUI状態、エージェントモード、ユーザのロケール、ユーザのプロファイル、およびユーザが言ったこととエージェントが返答したこととを含むユーザ/クライアントアプリケーションとシステム/エージェントとの対話(会話コンテキスト)。
アクティブコンテキスト−現在のシステムコンテキスト。実施形態では、最近のアクティブコンテキストと、今なおアクティブだと考えられる1つ以上の事前のアクティブコンテキストとを備える複数のアクティブコンテキストがあってもよい。
コンテキストリスト−最近のアクティブコンテキストが最高の優先度であると考えられる現在の、および事前のアクティブコンテキストの表現。リストは、コンテキスト履歴を構成し、ここでは事前のコンテキストは期日経過可能であり(あまり関連性がない)、任意には消滅可能である(リストから削除するので関連性がなくなる)。
会話コンテキスト−ユーザまたはエージェントが言ったことに関する状態について言及する特定の型式のコンテキスト。会話コンテキストに対する履歴を暗示する(過去が未来に影響を及ぼす)。
関連のコンテキスト−現在のアクティブコンテキストに適する(関連する)マッチングコンテキスト条件。
結果として生じるコンテキスト−いくつかの入力の処理のためにシステムが変わるか、または残存するコンテキスト。
削減−アクティブな検索候補の数を削減するプロセス。これは、検索空間を限定する新たな条件、または現在の条件のより限定的な値を取得することを含むことが可能である。
緩和−現在の条件を緩和して、よりアクティブな検索候補を許容するプロセス。これは、1つ以上の条件を削除するか、または1つ以上と、あまり限定的ではない値を置換することを含むことが可能である。
システムプロセスコマンド−現在のシステムの状態を変える1組の形式的行為。
ジャンルマッピング−ジャンルタグ付けユーザ入力(またはシミュレートしたユーザ入力)をシステムプロセスコマンドにマッピングするNLU技術。
曖昧性除去−例えばシステムがいくつかの曖昧な選択肢の中から適当なものを決定することが出来ない(例えば都市“リッチモンド”が意図されている)か、またはシステムがコンテキスト等のさらなる情報を用いて最良の解釈を自動的に選択する場合に、ユーザに特定の解釈を選択するように要求する等、ユーザ入力における2つまたはそれ以上の解釈における曖昧さを解決する行為。曖昧性除去の意図は、削減行為にも及ぶ(アクティブな検索候補は、曖昧であると考えられる)。
以下は、インテリジェントコンテキストアウェアネスを与えるシステムおよび方法を提供し、ここでは、コンテキストアウェアネスはユーザ入力型式に基づいて自動的であり、動作の性能は決定したコンテキストアウェアネスに基づく。さらに、このシステムおよび方法は、関連情報の有効で正確な検索のためにユーザ入力をコンテキスト上で理解するために提供される。さらに、システムおよび方法は、自動的で事前のコンテキストアウェアネスのために提供され、ここでは、コンテキストにおけるユーザ入力がシステムを起動して応答し、さらに、一般的クエリを関連の結果を得ることになる特定のものにインテリジェントに絞り込むようにユーザに逆に問い合わせをする。
開示する実施形態はコンテキストコマンドに基づいて1つ以上の動作を実施するためのシステムおよび方法について述べており、この動作は、情報に対する対話型検索をさらに含み、システムは、出来るだけ少ないステップで望ましい結果をユーザにもたらすように重要な質問を尋ねる。このシステムは、第1の計算装置を備えている(パーソナルコンピュータ、サーバ、携帯無線装置、携帯電話、スマートフォン、PDA、ビデオゲームシステム、タブレット、スマートテレビ、インターネットテレビ、および計算能力を備えた他のいずれかの特殊化装置を含むが、これらに限定されない)。これによって引き続きの質問および回答を通じてユーザが尋ねられることを絞り込む。ここでは、検索クエリは、選択肢の対話式リストに変換され、その結果、適切な結果の短いリストを生成する。実施形態は、音声認識を備え、この場合も、システムは、人の会話を刺激して、音声コマンドを受け取り、コンテキスト内で相互作用し、適切な質問に積極的に答えてユーザの元の要求の曖昧性除去を行い、ユーザ特定の要求を取得して適切な結果を見つける。他の実施形態は、テキスト入力を受け取りテキスト上で応答し、テキスト入力を受け取り、音声ベース出力で応答し、さらに音声入力を受け取り、テキスト上で応答することが可能なシステムを含む。
実施形態は、情報を対話型で検索するためのコンピュータ自動化システムを備え、このシステムは、処理装置とメモリ素子とを含み、そこで命令が符号化され、その命令によって、システムが、コンテキスト内で実施可能な検索に対応する音声入力コマンドを受け取り;コンテキスト内の音声入力コマンドに応答して、検索結果と関連の選択肢の対話型リストとのうちの少なくとも1つを戻し;関連の選択肢の対話型リストが戻される場合、戻された選択肢のうちの少なくとも1つの音声入力選択を受け取るようにされ;ここでは関連の選択肢が入力音声コマンドに基づいて動的に生成された実時間相互関係に含まれる。
実施形態は、情報を対話型で検索するための方法を備え、この方法は、コンテキスト内で実施可能な検索に対応する音声入力コマンドを受け取るステップと;コンテキスト内の音声入力コマンドに応答して、検索結果と関連の選択肢の対話型リストとのうちの少なくとも1つを戻すステップと;関連の選択肢の対話型リストが戻される場合、戻された選択肢のうちの少なくとも1つの音声入力選択を受け取るステップと;を含み、ここでは関連の選択肢が入力音声コマンドに基づいて動的に生成された実時間相互関係に含まれる。
実施形態は、会話入力をテキスト上で、音声で、またはその両方の組み合わせで可能にするための様々なシステムおよび方法の設計および処理を可能にする技術を含む。実施形態は、コンテキストアウェア対話型検索および向上したユーザ経験を含み、ユーザ入力に応答して積極的に提示することにより、ユーザを望ましい結果に案内することによる有用性の改良、ユーザ入力クエリからあまりに多くの結果/応答が戻された場合のコンテキスト上の関連性のある質問を含む。コンテキスト上で関連性のある質問は、それらに対してより適切なコンテンツを見つける(すなわち結果リストを削減する)ために、どの種類の情報を提供可能であるかを知るためにユーザを案内する。実施形態は、最良の質問を決定して結果の組を削減するように要求し、最終的に、質問―回答ステップの数を短い結果リストにまで削減するプログラムを含む。実施形態では、システムおよび方法がユーザ入力のコンテキストに基づいてユーザに尋ねる質問を含む、ユーザに提供する情報に対するプロンプトを決定するように設計されるので、開発時間を短縮出来る。事前に作成されるよりもむしろ、尋ねる質問を含む、プロンプトで指示を与えるものに対する適切な情報が、現在のコンテンツドメイン、コンテキストおよび利用可能な検索結果に基づいて、動的に、しかもプログラムで計算される/決定される。
実施形態のシステムを示す図4をまず参照する。クライアント405はアプリケーション(アプリ、webアプリ、インストールされたアプリケーション等)を備えており、このアプリケーションは、ユーザが入力してシステムからの出力を得ることが可能なインタフェースを提供する。クライアントは、(キーボード、音声認識、ボタン、選択ボックス、ジェスチャ等から得られた)テキスト、音声または表示入力をサーバ410に送信し、出力(テキスト、テキストリスト、HTML等)を受信して、(例えば、モニタまたは他の表示装置により)ユーザに表示するように動作可能である。メモリエレメントと接続され、そこで命令が符号化される処理装置を備えるサーバ410は、自然言語理解(NLU)装置415と、会話処理装置435と、コマンド処理装置440と、判定基準マネージャ420と、検索エンジン425と、削減装置430と、緩和装置450と、応答生成装置445とを備える複数の処理装置をさらに含む。コンテキスト記憶装置480は、コンテキストおよび他の情報の共有が可能であるサーバのすべての装置に利用できる記憶装置としてさらに設けることも可能である。これらの装置は、互いに通信し、協働して以下を実現する。
NLU装置415は、ユーザ入力を獲得して、NLP技術によってそれを処理し、セグメント化、音声のステミング部およびジャンル化によって入力の意味形式を生成する。これによって意味形式をシステムの現在のコンテキストに基づく意図にマッピングし、コマンド処理装置(システムコマンド)、会話処理装置(情報を取得するための単一および多重ステップ対話)を介して要求を処理するべきかどうかを判断するか、または判定基準マネージャにより判定基準を直接更新する。NLU装置415は、人が入力した自然言語テキストまたは(GUIからの)コマンドの符号化表現を受け取り、NLP技術を用いて入力を処理し、入力がシステムプロセスコマンド(例えば、やり直し、戻る)、会話、または単一/複合要求であるかどうかを判断して、現在の判定基準(検索状態)を変更するように動作可能である。会話処理装置435は、1つ(スモールトーク)またはそれ以上の(会話)入力/プロンプトシーケンスを管理するように動作可能であり、これによって、システムが、簡単な回答または複雑な会話型相互関係を提供して、質問に答えるか、または複雑な条件に基づいて判定基準の変更を決定することが可能になる。コマンド処理装置440は、検索状態(履歴を振り返る、やり直し)を変更可能なプロセスコマンド(戻る、やり直し)に対する要求を受け取り、現在の結果(詳細、マップ)の解釈を生成するか、またはクライアントの要求(異なるドメインへ行け、より多くの結果が欲しい)に情報提供するように動作可能である。判定基準マネージャ420は、変更履歴だけでなくシステムの現在の検索状態を維持するように動作可能である。判定基準マネージャ420は、検索エンジン425に対して要求を発行し、現在の判定基準を用いてシステムをその設定した目標に向けて移動させる。
検索エンジン425は、システムの現在の状態に基づいて、外部検索CGI上で要求を生成するように動作可能である。これは、現在の判定基準から構文を生成して外部検索CGIに送り、応答生成装置445を介して、クライアント205に、発生する検索の性質を知らせ、検索CGIへの要求を実行し、応答生成装置に検索結果を出力するように求める。削減装置430は、検索エンジン425からの結果総数が設定した目標を超える場合に動作するが、コンテンツ定義自動機構を適用し、ユーザがより特定的な判定基準を入力して検索を絞り込み、インテリジェントな関連性のある結果を生成するように促す。緩和装置450は検索エンジン425によって結果が全く(ほとんど)見出せない場合に動作し、コンテンツ定義自動機構が結果を見出そうとして検索判定基準を調節することを可能にする(例えば検索範囲を拡大する)。応答生成装置445は、検索結果を組み合わせる。それによって、他の装置から情報を獲得し、その情報をクライアント405への出力形式に変換する。出力フォーマッタ475を適用して、クライアント非依存情報をクライアント依存および言語依存リクエストに変換することが可能である。出力は、結果、入力に対するプロンプト、可能なさらなる入力リスト、検索ステータス情報、前記のいずれかの音声合成形式およびクライアントに必要なGUI状態への更新を含むことも可能である。
検索CGI455は、一貫して標準的な方法で1つ以上の外部検索API460の仮想化をサーバに提供する。単一の外部データソースは、特定のアプリケーションプログラムインタフェース(API)を用いて問い合わせすることが可能である。出力フォーマッタは、結果、リスト等の標準化形式を取得して、特定のドメイン、言語およびクライアントに対する出力を発生する。
より具体的な実施形態では、システムは、メモリ素子と接続され、そこで命令が符号化される処理装置を備えており、その命令は、言語依存性が最小限の状態で書き込まれる。僅かな言語依存性が、自己内蔵型モジュール(DLL)に分離される。使用する発見的教授法は、入力もしく出力言語、またはロケールに拘わらず作業するようにすべて設計されてある。このように、新たな言語およびテリトリへの支持は、当業者に明らかであるように、比較的簡単に拡大される。
さらに他の実施形態では、NLU装置415は、スモールトーク(簡単なクエリ/応答)、会話応答(会話コンテキストに基づく)、制御コマンド(ユーザは、特にアプリまたはシステムの状態を変更するよう要求する)、コンテンツコマンド(例えば、検索ドメインを変更する、マップを示す、関連のEメール/ツイートを送る、等を要求する)、リスト選択(リスト項目を識別するテキスト/言葉入力)間のユーザ入力を区別するように動作可能である。さらに、実施形態においては、NLUは、検索状態を変更するための複合リクエストを受け取ることが可能であり、ここでは、コンテンツは、簡単な変更リクエストを管理するように設計可能あり、その後、複合命令文として入力可能である。例えば、ユーザが入力した“私は空港近くで安いイタリアンを食べたい”は“安い”(費用)、“イタリアン”(料理)および“空港”(検索領域)の基づく個別の要求として、システムによって処理される。
このシステムは、ユーザ入力のコンテキストを決定して、次のプロンプトを決定するように動作可能である。本例では、コンテキストは、システムの現在の状態(例えばモード)、何が分かっているか(例えば判定基準)および何を言ったか(会話コンテキスト)について言及することも可能である。一実施形態では、このシステムは、スモールトークまたは会話によって一時的に迂回し、さらにメインフローを継続するために戻るように動作可能である。例えば、削減装置430は出力を通知可能であり、および/または、応答生成装置445が出力を生成可能である。例えば、ユーザのスモールトークが最も新しいアクティブコンテキストとマッチングしない場合、応答生成装置445は、応答がスモールトークにマッチングする次の最も新しいアクティブコンテキストに基づいて応答するように構成することが可能である。スモールトークの間中、マッチングしているアクティブコンテキストが最も新しいアクティブコンテキストになり得るが、以前の最も新しいアクティブコンテキストは今なおアクティブであるが、新しいものではない。ユーザがメインフローに戻ると、今なおアクティブであるが、新しいものではないアクティブコンテキストは、最も新しいアクティブコンテキストとして戻ることも可能である。一例では:

i.エージェント:どんな料理を食べたいですか?
ii.ユーザ:何時ですか?
iii.エージェント:現在午後2時30分です。
iv.(オプション)エージェント:どんな料理を食べたいですか?
v.ユーザ:どんな料理を選べますか?
vi.エージェント:現在入手可能であるものはリストに示してあります。リストから選べますし、口頭でも構いません。
vii.ユーザ:了解です。イタリアンにします。
他の実施形態では、判定基準マネージャ420は、結合または共通部分として特定の判定基準のための多数の値を検索するように動作可能である。例えば、ユーザがピザを提供するレストランを検索しているが、(例えば)バッファローウィングを思い付いた場合、ユーザは“ピザまたは手羽”等の要求を入力することが可能であり、戻って来た結果はユーザにとっては有用なものとなる(ピザと手羽に対する結果の結合)。あるいは、またさらに、たとえばユーザがハンバーガーとステーキを提供するレストランを探している場合、“ハンバーガーとステーキ”等の要求が、ハンバーガーとステーキの両方を提供するレストランのみの結果を戻す(ハンバーガーとステーキに対する結果の共通部分)。これらの例では、検索されている判定基準は、多数の値が結合(例えば“or”命令文の存在または推論によって)または共通部分(例えば“and”命令文の存在または推論によって)を表すかどうかに対してタグ付けすることが可能である。
他の実施形態では、このシステムは、排除された判定基準に基づいてユーザ入力や検索を認識するように動作可能である。例えば、NLU装置415と、会話処理装置425と、判定基準マネージャ420との動作によって認識が実現可能であるが、一方で、例えば検索CGI455と協働して動作する検索エンジン425によって検索が実現可能である。例えば、ユーザが日本食を提供するレストランを探しているが、特に寿司には興味がないとしよう。“寿司ではない日本食”等の要求によって、寿司を提供しない日本レストランのみの結果を出す。このような要求に対して、検索されている判定基準は用語“not”を含み、判定基準マネージャは、これを“NOT”演算子であるとして認識することが可能である。
さらに、大きい結果が設定されると、削減装置430は、代替の検索判定基準を選択するためにユーザに“スマートなプロンプト”を与えることによって、削減処理を提供することが可能である。一実施形態におけるコンテンツ案内方法は、現在の判定基準および他のコンテキストに基づいてシステムを案内するドメインコンテンツデベロッパを含むことも可能である。自動化システムにおいて、削減装置430は、残りのすべての判定基準における結果の分布に基づいて収集するべきその後の最良の判定基準を決定することが可能である。例として、現在のコンテキスト(判定基準等)を考えた場合にアクティブな項目、例えば、ウォーターフロントにおける一流のイタリアンレストランに対する利用可能な物価水準を単に包含するリストをユーザに提示することが可能である。このような場合、削減装置430は、収集する(現在未価値の判定基準を得る)だけでなく、制限を掛け(判定基準値を置換する)ることも可能である。いくつかの判定基準は、結果に対して少なめにまたは多めに制限を加える自然的秩序を有する(例えば、検索範囲、最低限の格付けおよび物価水準)。削減装置430は、システムに信号を送り、これらの判定基準の1つに対して指示を与えて、提示したリストを、検索候補が削減する結果になる値に自動的に制限することが可能である。
さらに、緩和装置450は、削減処理の正反対のものとして理解され得る緩和処理を提供することが可能である。これは、ユーザが検索結果を持たないコンテキストを提供する場合に、特に有益となる。このような例では、緩和装置450は、重要な検索判定基準を排除することなく検索結果を拡大するために、判定基準を緩和することが可能である。一実施形態では、緩和は自動的に発生し、緩和装置450はどの判定基準が緩和し、コンテキスト上で関連性のある結果を今まで通り取得するか判断する。代わりに、緩和は、コンテンツ案内、自動的またはユーザ支援のいずれかであってもよく、ユーザは関連の結果を得るためにその要求のコンテンツを変更するよう求められる。コンテンツ案内法によって、ドメインコンテンツデベロッパが、現在の判定基準および他のコンテキストに基づいてシステムを案内することが可能であり;自動化方法では、このシステムが残りのすべての判定基準における結果の分布に基づいて、収集するべき、その後の最良の判定基準を決定するように動作可能であり;ユーザ支援法は、ユーザクエリを分析し、クエリされた値に基づいて、現在のコンテキスト(判定基準等)を考えた場合にアクティブな項目を含むのみであるリストをユーザに戻す。
実施形態では、検索スキーマ(判定基準およびその値)が、言語から独立した各ドメインおよび基礎となるいずれかの検索エンジンに対して定義され、標準化されたスキーマを提供する。外部検索CGIは、1つ以上の(マッシュアップ)外部検索エンジンへのアクセスを支援し、結果スキーマ(演算結果フィールドおよびその値)をシステムに戻す。
実施形態では、応答生成装置445がテンプレートおよび外部出力フォーマッタを提供し、ここでは外部に定義されたCGIは、特定のクライアント目標に対して候補リストのようなものの適当なレイアウトを生成するように動作可能である。これらのフォーマッタの出力だけでなく判定基準の自然人テキスト形式または演算結果フィールド値も、クライアントGUIの多重ゾーンを目標することが可能な、定義された1組の標準出力テンプレートで使用することが可能である。例えば、
i.エージェントが言う−何が提示されているか、または要求されているかのプロンプトおよび記述
ii.ステータス−現在の検索状態
iii.情報−候補、詳細、マップ等のリスト
さらに他の実施形態では、応答生成装置445は、コンテキストアウェア検索を行ってユーザ入力に応答し、削減、緩和および場所の取り扱いによって結果を戻すように動作可能である。好ましくは、実施形態は、コンテキストアウェアネスを可能にして許容し、ここでは特定のコンテキストにおいてユーザ選択すると、動作がさらに実施されるようにすることができる。理想的な実施形態では、自動コンテキストアウェアネスを可能にし、そのコンテキストアウェアネスに基づいて動作を行う。さらに、実施形態は、コンテキスト上当てはまらない目的ならびに関連の情報を有効に、しかも正確に検索するためのユーザ入力のコンテキストおよび多重コンテキストの理解を特徴とすることが可能である。好ましい実施形態は、最良の判定基準を動的にしかも自動的に選択して、可能な応答(判定基準値)のリストを提示してユーザ応答を援助する際に、現在の検索結果に基づいてユーザに尋ねる削減方法を含む。好ましくは、実施形態は、的確な応答/結果が見つからない場合、おおよその結果を得るために、判定基準を自動的に緩和することが可能である。好ましくは、実施形態は、住所および場所の曖昧性の除去を行うことを含み、ここでは、住所内にコンフリクトやインテリジェントな理解関係が存在する。
サーバ410はコンテキストアウェア対話型検索(CAIS)を提供するように動作可能であり:第1のコンテキストにおいてユーザからデータ項目の入力を受け取り、そのデータ項目をNLU装置415に送るクライアント405と;受け取った入力のコンテキストにおいて動作を行う会話処理装置435、コマンド処理装置440および判定基準をマネージャ420と協働するNLU装置415と;プログラムで決定することによって得られる1組の結果を削減する削減装置430と協働し、応答生成装置445によってコンテキスト関連の質問を戻すか、または会話処理装置435および応答生成装置445と協働するNLU装置415によって、ユーザ入力(ユーザが言ったこと)の曖昧性除去を行い、特定のユーザ入力(要求)に対する最も適切な短い結果リストを見つける検索エンジン425とを備える。一実施形態では、コンテキストは、a.判定基準、b.エージェントまたはシステム状態およびc.会話コンテキストを含む。判定基準は、自由入力およびユーザとシステムとの対話を通して、ユーザからシステムによって決定された検索判定基準に対する正規化した値をさらに含む。これは、コマンド処理装置440および判定基準マネージャ420と協働して会話処理装置435によって提供可能である。エージェント(システム)状態は、ユーザ入力に応答して、システムによって戻された結果のコンテキストの関連性を含む(リスト、詳細、マップ、ルート等)。会話コンテキストは、ユーザとエージェント(システム)との間で既に生じている対話に関するコンテキストを含む。このシステムは、メモリ素子と接続され、命令がそこで符号化される処理装置を備え、ここでは、命令によってさらに、システムが、その関連性によってコンテキストを認識し、ごく最近の使用によって関連性をさらに計算することが可能になる。一実施形態では、システムによって、ごく最近使用したオーダでアクティブコンテキストがリスト化され、命令によって、システムが第1のリスト化コンテキストを最も関連するものとして考慮する。このような実施形態では、会話コンテキストの関連性がしばしば変化し、経時的に、より関連性が低くなる可能性がある(すなわち古くなって消滅する)。
実施形態は、その関連性によって一般的コンテキストを認識する。例えば、1組の曖昧なマッチングを戻すユーザ入力に関して、最も関連性の高いコンテキストは、入力がごく最近使用されたコンテキストである。このように、ごく最近使用したコンテキストは、結果を戻す際に適用される。そのため、1組の曖昧なマッチングに対して、ごく最近のコンテキストに関連するものがうまくいく。コンテキストには、ユーザの好み、ユーザの場所、およびユーザの言語等の設定も含める。さらに、会話コンテキストもまた、ユーザ対話で認識され、会話が進むにつれて認識も発展する。一実施形態では、コンテキスト関連性の決定は、各々がコンテキストへの訪問の抽象時間の属性を有する、会話コンテキストの優先度リスト(優先度の降順)(会話コンテキストリストまたはCCリスト)を維持し、ポップトゥフロント方法論を適用することを含む。例えば、抽象時間は、実時間または対話数でもある。会話コンテキストは、Cn(t)として定義され、nはコンテキスト数を表し、tはその時間属性を表す。例えば、3つの会話コンテキストC1、C2およびC3が存在する。会話コンテキストC1、C2およびC3は、次々と順に訪問され、会話数は“時間属性”である。従って以下のようになる。
CCList1:C1(1)
CCList2:C2(2)、C1(1)
CCList3:C3(3)、C2(2)、C1(1)
上記のように、C3はC2よりも関連性があり、C2は、順にC1よりも関連性がある。しかし、時間t=4でコンテキストC1が再度訪問される場合、C1は最も高い関連性を取り戻し、フロントにポップバックする。このように、CCList4:C1(4)、C3(3)、C2(2)を有する。
コンテキスト関連性決定は、コンテキスト終了をさらに含むことも可能である。コンテキスト終了は、キューの最後に到達した場合のコンテキストの終了として定義することが可能である。サーバ410は、固定した(事前設定した)長さのキューを実現することが可能であるか、または例えばコンテンツデベロッパによって定義するように使用および他の変数に基づいてキューを動的に定義するように構成することも可能である。固定したキューの長さ、および/または、明示的エージングおよびコンテキスト生存期間を用いて、例えば固定長さが3である場合にC4が訪問される。このように、CCList5:C4(5)、C1(4)、C3(3)を有し、これによってC2は、キューおよび終了の最後から離れる。本質的には、この例においては、システムが、予めプログラムされ、3つの対話に対してのみコンテキストをアライブに維持することも可能である。そのため、C1、次にC4が再度訪問されると、キューは以下を備える。
CCList6:C1(6)、C4(5)、C3(3)
CCList7:C4(7)、C1(6)
例示する目的のみの上記例においては、現在の時間7からC3の時間3を引くと3よりも大きいので、C3は消滅する。実際に、リストの長さは3よりもずっと長いように思われ、コンテキストの生存期間はコンテキストの性質によって変化可能である。当業者に明らかであるように、さらなる変更が可能である。
さらなる実施形態では、このシステムは、対話能力を動的に、しかも連続して発展させるように構成するように動作可能である。このシステムは、処理装置とメモリ素子とを含み、命令がそこで符号化されるハイブリッド自動化ルールベースエージェントを備え、この命令により、システムは、各ユーザ対話のためのシナリオを作成する必要なく、対話エージェント(システム)能力の進化を開発する(すなわち、デベロッパがコンテキストおよびコンテンツに基づいて対話を決定するインテリジェント自動化対話システムを作成することが可能である)。命令によって、さらに、システムはNLU装置415に適用されるルールを定義し、NLU装置415は自動化の機能性を向上させ、NLPを実現化し、NLPはユーザ入力の意味へのマッピングを含む。NLPは、ジャンルタグ付けをさらに含むことも可能であり、このジャンルタグ付けはユーザ入力のワードおよびフレーズをコンテンツと比較するための正規化意味論的形式へのマッピングを含む。ジャンルマッピングは、曖昧なジャンルタグ付けをアドレス指定するために、形態素解析装置からの音声の適用(解析)部をさらに備えることも可能である。例えば、システムは名詞の“set”と動詞の“set”とを区別するように動作可能であってもよい。さらに、符号化された命令によってシステムが、ますます一般的な先祖へのマッチングを許容するための階層構造を作成することが可能である。さらに、または代わりに、NLPは自然言語での文字列の意味(意味論)を決定するための基本を提供する構造化された形式への自動変換を含むこともさらに可能である。代表的技術は、以下を含むことも可能である:例えばワードの空間分離のない中国語および日本語等の言語に対して実現されるワードトークン化;音声の決定部、すなわち動詞、名詞、副詞等を必要とする形態素解析;全体としての文の性質の表示器である対話行為(場所についての質問、欲求の命令文等)。一実施形態では、NLPは、コンテキストに基づく処理およびジャンルタグ付けを備えるように、これらの技術を拡大する。
このシステムはさらに、コンテンツへのマッチングを容易にするための簡単な文字列表現を生成するように動作可能である。ジャンルは、3つの部分から成る意味論的概念の表現である:(a)標準、これは(恐らくは多言語において)潜在的に大きい組の同義語/フレーズ/文の断片のカノニカル(正規化)表現である。(b)ファミリ、これは関連の標準のグループである。そして、(c)ジャンルに関連するユーザ入力からの未加工のワードまたはフレーズ。ジャンルは、データ構造または文字列によって表現可能である。簡単にするために、形式標準_ファミリ_未加工の文字列としてジャンルを表現することも可能である。コンテンツは、特定の標準_ファミリの意味論的概念を表すべき1組のワードおよびフレーズを定義することが可能である。例えば:
イタリア_料理=イタリア料理、イタリアンフード、イタリアからの食品、イタリアン
5つ星_格付け=5つ星、5つ星、最高
除去_動作=削除、除去、排除、控除
その後、システムはユーザ入力をジャンルを含む形式と置換することが可能であり、これは“ジャンルタグ付け”または単に“タグ付け”とも呼ばれる。例えば以下のようになる。
ユーザ入力:ザ ベスト イタリアン フード
タグ付け:5つ星_格付け_ザ%20ベスト
イタリア_料理_イタリアン%20フード
未加工のユーザ入力は、このように関連のジャンルでタグ付けされる。より読みやすくするために、未加工のユーザ入力部分は、以下のように省かれ得る。
タグ付け:イタリア_料理 5つ星_格付け
極めて有用なファミリが、例えば数、時間、日付等のように、コンテンツ内での定義を実現可能とするにはあまりにも大きすぎる1組の可能な標準を有する例では、システムは動的な正規化を適用することが可能である。例えば、以下の方法で時間を処理するのが有用になり得る:ユーザが時間を入力する場合、その時間は開始時刻と題する判定基準に配置することが出来る。これは、動的に正規化されたジャンルのファミリを使用するジャンルマッピングルールを定義することにより達成することが可能となる:_時刻→標準に関連する値に開始時刻判定基準を設定する。動的正規化は、ジャンルに対する標準を動的に(ランタイムに)作成する能力を参照する。
例えば、
ユーザ入力:1:32pm
タグ付け形式:T1332_時刻
T1332は、動的に作成された標準である。これは、ユーザ入力をマッチングし、その入力における情報を取り込み、その後、特定の変換ルーチン(潜在的には定義されたコンテンツ)にその情報を渡して、取り込んだデータから標準を作成することによって達成され得る。その後、コンテンツデベロッパがいつでもかわらない入力に対応するためのジャンルマッピングルールを定義することが可能である:
マッチング条件:_時刻
動作:_時刻の標準に関連する値に開始時刻判定基準を設定。例えば、T1332→開始時刻=13:32
ジャンルマッピングは、ユーザ入力(意味論)を扱うためのルールへのその入力(構文)のジャンルタグ付け形式をマッピングするNLU方法である。システムは、ジャンルマッチングルールに対してユーザ入力をマッチングし、ルールが適用される際にタグ付け入力の関連部分を消費する。1つのジャンルマッピングルール定義は以下を含むことも可能である:
・マッチング条件、動作を適用するためのキーマッチングジャンルの任意のリストがこれに関連する、マッチングジャンルのブール式、またはキーマッチングジャンルが情報を抽出するために使用するマッチングジャンル式のジャンル、具体的には標準であるマッチング文法のいずれかであってもよい;
・任意の関連するコンテキスト、例えば、現在定義されている判定基準、エージェント/システム状態(例えばマップを示す、詳細を示す等)、会話コンテキスト、ユーザの好み、ロケール、言語等のブール式;
・実施するべき1つ以上の動作、例えば、判定基準の設定、判定基準に追加、値の削除、判定基準の値のリストを提示、Eメールの送信、マップの表示、メッセージの出力等;
・関連のジャンル、これは存在するならば、同じ意味論を表し、ジャンルマッピングの処理で消費されるべき他のジャンルである。
マッチングジャンル形式は、入力のジャンルタグ付け表現へのマッチングの目的のためのジャンルの表現である。これらは、(a)任意の標準、(b)ファミリ、または(c)未加工のキーワード表現を含むことも可能である。例えば、これらは、標準_ファミリまたは_ファミリ(ファミリのいずれかの標準)および未加工(特定のキーワードマッチング)として表現可能である。
標準_ファミリ_未加工は、標準_ファミリにマッチングする
標準_ファミリ_未加工は、_ファミリにマッチングする
標準_ファミリ_未加工は、未加工にマッチングする
これは、マッチングジャンルのブール式であり、ユーザ入力に対する複雑なマッチングを許容する。マッチングジャンルA,BおよびCを仮定した場合、以下のようなブール式が定義づけられる:
・残りのユーザ入力内のどこかでAが生じる場合、Aがマッチングする
・残りのユーザ入力がAならびにBまたは/およびCにマッチングする場合、またその場合のみ、Aおよび(BまたはC)がマッチングする
・残りのユーザ入力がAにマッチングするが、Bにマッチングしない場合、またその場合のみ、Aはマッチングするが、Bはマッチングしない。
ユーザ入力とマッチング条件定義の対比においてジャンルが出現するオ−ダは、他のジャンルまたはキーワードを介在して存在するものとして、無視することも可能である。従って、これらのユーザ入力の両方を扱うために、1つのルールを書き込むことが可能である。例えば、
入力:“除去 イタリアン”
タグ付け:除去_動作 イタリア_料理
入力:“イタリアン,除去 プリーズ”
タグ付け:イタリア_料理 除去_動作(“プリーズ”は重要ではないワードとして除去される)
オーダが重要な場合、マッチング文法をマッチング条件の代わりに使用することが可能である。
代わりに、現在定義されている判定基準のブール式も適用可能である。これは、現在定義されている判定基準におけるブール式である関連のコンテキスト表現である。これによって、ある一定の判定基準が定義されているか、または定義されていない場合にマッチングするのみであるジャンルマッピングをコンテンツが定義することが可能である。例えば、判定基準X,YおよびZに対して:
・Xは値を有し(Yは値を有するかまたはZは値を有する)
・Xは特定の値を有し、Yは特定の値を有さない。
エージェント/システムは、エージェントの特定のドメインにおいてユーザ入力を扱うための多くのジャンルマッピングルールを定義することも可能である。コンテンツを使用してジャンルマッピングルールを定義することも可能であり、その場合、(例えば)特定の料理を提供するレストランに対するユーザ入力に応答して、要求される/検索されるユーザ入力料理に対して食物の種類の検索判定基準を設定するルールを実行することも可能である。または(例えば)ユーザが特定の種類の地元企業を探している場合、それに応じて検索判定基準が設定され得る。例えば、ユーザによってイタリア_料理が入力されると、検索判定基準Food Typeにイタリアンを設定するルールを実行することも可能である。以下は、ユーザ入力の例に対する例示のシステム応答を示す:
マッチング条件:イタリア_料理
動作:食物の種類判定基準に食物の種類値 イタリアンを設定する。
ジャンルマッピングがファミリ 料理のマッチングを要求し得るという点で、よりいっそう有力な抽象化が可能となり、その後、標準に関連する食物の種類値を割り当てる。その場合、以下のようになる:
マッチング条件:_料理
動作:ユーザ入力の_料理タグ付けの標準に関連する食物の種類値を食物の種類判定基準に設定する。
さらに、ジャンルマッピングがルールにマッチングしてそれらを処理する際、マッチングされたタグ付けを除去し、他のルールが適用されたかどうかを確認し続ける。
初期のタグ付け:イタリア_料理 5つ星_格付け
マッチング条件:_料理
動作:ユーザ入力の_料理タグ付けの標準に関連する食物の種類値を食物の種類判定基準に設定する
結果:料理=イタリアン
残りのタグ付け:5つ星_格付け
マッチング条件:_格付け
動作:ジャンルマッチング_格付けの標準に関連する格付けレベル値を格付けレベル判定基準に設定する
結果:格付けレベル=5
残りのタグ付け:無し
また、ユーザが同じジャンルの多数の場合を入力する場合、これらもまた以下のように自動的に処理することが可能である。
入力:“イタリアンまたはピザ”
初期のタグ付け:イタリア_料理 または_関連 ピザ_料理
マッチング条件:_料理
動作:ユーザ入力の_料理タグ付けの標準に関連する食物の種類値を食物の種類判定基準に設定する
結果:食物の種類=イタリアンまたはピザ
マッチング条件の他の可能な形式は文法であり、これは、現在残っているユーザ入力に対してマッチングされるマッチングジャンル形式を用いる文または文断片であり、順番に完全にマッチングしなければならない。例えば以下の通りである:
タグ付け:除去_動作 イタリア_料理 追加_動作 フランス_料理
簡単なマッチング条件は、誤った行動に至ることに注目されたい。
初期のタグ付け:除去_動作 イタリア_料理 追加_動作 フランス_料理
マッチング条件:追加_動作_料理
動作:ユーザ入力の_料理タグ付けの標準に関連する食物の種類値を食物の種類判定基準に設定する
結果:食物の種類=イタリアンまたはフレンチ
しかし、システムは以下のように文法を定義することが可能である。
初期のコンテキスト:食物の種類=イタリア
マッチング文法:“除去_動作_料理”
動作:食物から_料理の標準に関連する食物の種類値を除去する
結果:食物の種類=<無し>
マッチング文法:“追加_動作_料理”
動作:ユーザ入力の_料理タグ付けの標準に関連する食物の種類値を食物の種類判定基準に設定する
結果:食物の種類=フレンチ
上記の自動化ルールベースエージェント/システムの一実施形態は、NPCQL(ネットピープルコンテンツクエリ言語(NetPeople Content Query Language))とも呼ばれるプロトコルを備え、これは、クエリを行って、コンテキストアウェア対話式検索に対して最適化されたコンテンツプロバイダから結果を獲得する方法を定義する。これによって、マッシュアップへのコンテンツアクセスを簡素化する固定データスキーマへのアクセスが可能となる。好ましくは、NPCQLは、開示した実施形態で述べるように、いずれかのAPIまたはコンテンツプロバイダへの依存性がないように設けられ、特定の要求および戻って来た結果から特定のコンテンツプロバイダAPIのコールを分離する手段を備える。NPCQLによって、エージェント/システムがコンテンツプロバイダ自体に依存することなくサードパーティコンテンツにアクセスすることが可能である。このように、コンテンツプロバイダはエージェント/システムに要求される変更を行うことなく変化および追加(“マッシュアップ”)が可能である。あるいは、サードパーティは、NPCQLプロトコルを単に支援するだけでシステムと一体化可能である。さらに、NPCQLは、各コンテンツドメインに対して定義されたデータスキーマを備える。例えば、レストラン検索は、例えば食物の種類(Food Type)、サービスの種類(Service Types)、予算(Budget)等のレストラン検索に対する判定基準および結果データ標準に対するスキーマを有する。このスキーマは、既存の実現に影響を与えることなく、容易に追加可能である。特定のドメインで使用するスキーマは、時間や予算等の一般的データを食物の種類(Food Type)等の特定のデータと合体させる。
サーバ410は、学習によって自動曖昧性除去を提供することが可能である。一実施形態では、NLU装置435は、曖昧性除去が必要であることを決定し、曖昧性除去を実施するか、または会話処理装置425にユーザ支援を得るように指示する。これによって、応答生成装置445を介してユーザにプロンプトを出力する。好ましい実施形態は、符号化された命令を含み、それによって、システムが自動化方法で学習出来る。例えば、曖昧な事柄は、ユーザ選択により、実際には曖昧ではないとして学習することが出来る。例えば、ユーザ入力が“トロント”であるとしよう。システムは、ユーザがオンタリオ州のトロントかオハイオ州のトロントのいずれを意味しているかを判断しなければならない。例えば、99.9%の人々がオンタリオ州のトロントを選択する場合、システムは、“トロント” がオンタリオ州のトロントの適切な意味論を考慮するようにプログラミングが可能である。またユーザがオハイオ州のトロントの入力を意図する場合、その後、自分達が特定である必要があることを当然のことながら知ることになるであろう(すなわち、単にトロントと入力するだけでオンタリオ州のトロントを意味すると大半の人々が解釈していることを学習によって熟知しているために、オハイオ州トロントと入力する必要がある)。あるいは、システムは、識別されたユーザによる入力に基づいてユーザパターンを認識することが可能であり、オハイオ州トロントを意味するために(例えば)“トロント”を入力すると理解することが出来る。さらに、またあるいは、システムは、ドメイン(対話の主題)、ロケール/場所(ユーザのいる場所)、性別、言語等に基づいて自動曖昧性除去を実施することが可能である。自己曖昧性除去は、当業者に明らかであるように、他の多くのパラメータや上記パラメータの変化を基準にすることも可能である。
好ましい実施形態は、互いに相互接続された複数のサブシステムを備えており、その各々は特定のドメインで特殊化している。このように、専門知識のドメインを有する多くのエージェント/システムは、1つのユーザ入力によってクエリを行い、個々のエージェントの入力を扱う能力に対する信頼水準を戻すことが可能である。その後、処理全体を最良のハンドラに渡すことも可能である。
システムの好ましい実施形態は、データ変換器(例えば出力フォーマッタ475)を備え、ユーザのための情報をターゲットクライアント405にとって最良のディスプレイ(またはオーディオ)フォーマットに変換する。データ変換器は、異なるクライアント(例えばスマートフォン、タブレット、TV等)、異なるドメイン(レストラン、地元企業、食料品店等)、異なる国等に対して、データ変換器を使用することが可能である。データ変換器の存在によって、エージェントが処理中の装置やコンテンツに対して一般的なものになることが認められ、さらにユーザにとって可能な最良のディスプレイを既に提供する。特定の実施例では、データ変換器は、NetPeopleからの要求を受け取って、対話の特定されたコンテキストにおける特定の装置に対してフォーマットされていないコンテンツデータをフォーマット化することも可能である。要求は、許可された言語、領域、文字数等、フォーマット化を支援する情報を含むことも可能である。例えば、レストランのリストが要求されている場合、未加工のNPCQLデータが(他の関連性のある情報において)装置の形式とコンテキストと共に変換器に送られ、その変換器は、直接送信可能なレストラン項目のフォーマット化されたリストをディスプレイのためにターゲットにされたクライアントに戻す。
様々な例示の方法を提供する。
図1を参照すると、会話型相互関係を通じてコンテンツおよび情報を検索可能なシステムの一実施形態におけるプロセスフローが示されている。実施形態は、音声ベースおよびテキスト会話型相互関係を容易に出来るが、NetPeopleの好ましい実施形態が音声ベースの会話型相互関係を許容する。ステップ110では、ユーザが、クライアント405を用いて、テキストまたは音声でコマンドを入力する。ステップ115は、NLU装置415によって入力コマンドの自然言語解析を実施することを含む。ステップ120は、判定基準マネージャ420によって判定基準を決定する。ステップ125は、検索エンジン425による、決定された判定基準に基づくコンテンツの検索を必要とする。その後、ステップ130において、システムは、結果数をチェックし、それによって、削減装置430による削減または緩和装置450による緩和が望ましいかまたは必要であるかを判断する。削減ステップ135は、あまりに多くの結果が戻って来て、ユーザがより特定的な判定基準を入力するように求められた場合に実現される。緩和ステップ140は、結果が戻らず、その後に、ユーザの入力よりも広範囲に亘る、より一般的な判定基準に基づいて検索を行う場合に実施される。このように、削減もしくは緩和またはその両方に基づいて、自動検索が行われ、最も正確な結果が145にてユーザに提示される。
削減装置430は、検索の特定ドメインに対して設定可能な値を提供可能であり、あまりに多くの検索結果(設定可能な値よりも多い)が存在する場合、サーバ410は、ユーザに、より多くの情報をインテリジェントに求めて、彼らが実際に何を欲しているかを決定する。それによって、絞り込みを行って、その結果を短いリストに削減することが可能である。削減装置430は、最良の判定基準を動的に、しかも自動的に選択して、現在の検索結果に基づいてユーザに尋ね、応答生成装置445に、可能な回答(判定基準値)のリストを提示させてユーザの回答を支援することが可能である。例えば、ユーザが特定の領域でレストランを探しているとする。サーバ410は、(例えば)“どんな料理をお探しですか? イタリア料理、中華料理、ベトナム料理、日本料理...”等と尋ねることによって応答することが出来る。システムは、結果が出ない選択をユーザが行わないように、どんな選択肢(判定基準値)が存在するか判断する。システムが、結果の中にイタリアンレストランがない場合に自動的にイタリア料理を求めない方が好ましい。
さらに、削減装置430は、階層判定基準値を支援し、選択肢のリストが常に合理的であることを確実にすることが可能である。あまりに多くの選択肢が存在する場合、削減装置430は親を探して、絞り込まれた合理的なサイズの選択肢リストを作成することも可能である。一実施形態では、ユーザが仕事を探しているとする。ユーザは、システムに“私の所在地で仕事を探している”と尋ねる音声コマンドを入力する。削減装置430は、削減を実施し、応答発生装置445に“どのビジネスカテゴリがご希望ですか? 銀行、官庁...”等を尋ねることによって応答させる。ユーザは、“銀行”と答える。削減装置430は削減を再度行って、特定の判定基準で作業し、応答生成装置445に“地方銀行、信託銀行...”等と尋ねさせる。このように、サーバ410は、絞り込みによって削減する、ターゲットにされた関連性のある検索を実施し、それによって、ある場合には、不必要な関連性のない項目の検索を排除する。しかし、コンテンツデベロッパが判定基準の質問を制御したい場合もある。サーバ410によって、コンテンツルールが定義され、自動化システムルールよりもそれを優先することが可能である。このように、ログ解析に基づいて、コンテンツルールおよび判定基準は、最も自然なユーザ経験を提供するように調整される。当業者に明らかであるように、上記変化および修正が可能である。
図2を参照すると、削減の例が示されている。ユーザが検索判定基準を入力した後、トップの結果がステップ205で提示可能となる。210では、提示されたすべての結果の判定基準が決定される。ステップ215では、最良の(最も関連性のある)判定基準が計算され、決定され、選択される。この場合、好ましい実施形態における最良の判定基準の計算によって最も多くの結果を排除することになる。残りの(選択された)判定基準値選択肢のうち、ユーザがステップ220において最良の判定基準を選ぶように求められる。その後、ステップ225において、システムは削減した選択に基づいて、トップの結果が戻される。
一方で、全く(またはほとんど)検索結果が見出されない場合、緩和装置450が、適切な場合は自動的に判定基準を緩和するかまたは拡大することも可能である。判定基準を緩和した後、検索を行うことが可能であり、またサーバ410は新たな検索結果をクライアント405に戻すことも可能である。例えば、ユーザが現在の場所から半径1キロメートルの範囲内にお店を探しており、検索では見つからないとする。緩和装置450は、判定基準を緩和(拡大)することも可能であり、サーバ410が半径2キロメートル以内(例えば)で検索を実施して、以下の結果を戻すことも可能である:“私は1kmの範囲内でお店を見つけられなかったので、2kmまでに拡大したら5店舗見つかりました。ほら、見て!”。緩和ルールは、適当な場合に、コンテンツ内で定義することも可能である。以下は緩和ルールの例を示す。
レストラン
ユーザが“サービス”判定基準を設定する場合、システムがそれを除外して、再検索を行おうとする。
近隣が使用される場合、システムはその近隣を拡大しようとする。
地元企業
ユーザが特別な店舗/場所の名称および商売の形式を定義する場合、システムはその商売の形式を除外して再検索を行おうとする。
図3を参照すると、緩和の例が示されている。ユーザ入力判定基準に基づく検索が結果を生まない時、緩和装置450は、ステップ350において、どのユーザ入力判定基準を拡大する(緩める)かを決定する。この検索は、その後、ステップ310において、拡大する(緩める)ための、決定した最良の判定基準値を用いて再度実施される。その後、ステップ315において、拡大された(緩められた)判定基準値を用いて実施された検索の結果は、ユーザに戻され提示される。
NLU装置415は、住所情報、場所、ランドマークおよび駅名を認識させる命令をさらに含み得る。サーバ410が、コンフリクトが存在する場合、住所および場所の曖昧性を除去するための手段をさらに備えることが好ましい。例えば、ユーザが検索のために“オークランド”を入力した場合、サーバ410は“カリフォルニアのオークランドですか?それともミシガンのオークランド郡ですか?”と応答可能である。好ましい実施形態では、サーバ410は、住所内の親子関係(都市、州、郡の近隣)を理解することが可能であり、曖昧性除去に役立つ共通祖先(親、祖父母等)エンティティを使用し、その結果、例えばユーザが“オークランド”と言い、ユーザが(そのGPS座標の逆ジオコードから決定されるように)サンフランシスコにいる場合、サーバ410は、特定のオークランドとカリフォルニアとの関係およびカリフォルニアにいるユーザのコンテキストによって、米国カリフォルニア州オークランドであると理解する。そのため、ユーザの最も明らかな意図は、“オークランド”の局所的意味である。他の例は、様々な場所に多くのインカーネーションを有する近隣の“チャイナタウン”であるが、(例えば同じ都市の)ユーザに共通の住所によって曖昧性除去され得る。このように、上記の通り、好ましい実施形態のサーバ410は、住所内の関係を“理解”することが可能であり、その結果、ユーザが“サンフランシスコ”と言えば、システムは、GPS座標の逆ジオコードや他のいずれかの関連する判定基準から決定されるように米国カリフォルニア州サンフランシスコとして理解する。さらに、ルールは、ユーザログ解析に基づいて調整し、追加されてユーザ経験を改良する。
好ましくは、サーバ410は、絶対的と言うよりも仮に1つ以上の判定基準を設定/追加し、その後、検索が結果を戻さない場合に設定を自動的に外すことが可能な命令を含む。例えば:
絶対的判定基準設定:
値を設定 アンビエンス=ファン
検索
結果を示す(可能なものがない)
仮の判定基準設定:
仮に値を設定 アンビエンス=ファン
検索
ケース1:ゼロ検索結果−アンビエンスからファンを除去および再度検索
ケース2:1つ以上の検索結果−仮の設定は絶対的設定になる
両方のケースに対して結果を示す。
他のコンテキストが仮の設定と共に変化した可能性もあるため、これは、最後の組の変化を取り消すことと必ずしも同じではないことに注目されたい。むしろ、仮のものであるとマーキングした組のみを取り消す。
ある例示の実施形態を述べ、添付図面で示したが、このような実施形態が単に例示のものであり、広範囲に亘る発明について制限的ではなく、本発明が図示され記載された特定の構造および配置に制限されないことが理解されるべきである。なぜなら、本開示を研究することによって、当業者が様々な他の変更を行うことも可能だからである。このような技術の領域では、成長が速く、さらなる進歩が容易には予見されない場合、開示した実施形態は、本開示の主要部または添付の請求の範囲を逸脱することなく技術的進歩を可能にすることにより促進されるように、配置および詳細が容易に変更可能であってもよい。

Claims (40)

  1. コマンドをコンテキスト上で解釈するようにされたコンピュータ自動化システムにおいて、そこで命令が符号化される処理装置とメモリ素子とを備えており、それによって前記システムが:
    コンテキスト内で動作を実施するための命令に対応するユーザ入力コマンドを受け取り;
    前記入力コマンドの曖昧性除去を行い;
    前記曖昧性除去がなされた入力コマンドに基づいて動作を実施し;
    前記曖昧性除去がなされた入力コマンドに応答して、ゼロまたはそれ以上の結果を戻すようにされることを特徴とする、コンピュータ自動化システム。
  2. 前記命令によって前記システムがさらに:
    結果が得られない場合、ユーザ入力判定基準を拡大し、更新されたコンテキスト内の1つ以上の交互の結果を前記システムが戻すようにされ;
    1つ以上の結果が得られた場合、前記入力コンテキスト内の前記1つ以上の結果を戻すようにされ;
    前記1つ以上の結果が、前記曖昧性除去された入力コンテキストまたは更新されたコンテキストに基づいて動的に生成された実時間相互関係にそれぞれ含まれることを特徴とする、請求項1に記載のシステム。
  3. 前記システムに前記入力コマンドの曖昧性除去を行わせる命令がさらに、前記システムにユーザ入力の意図およびユーザ入力の意味のうちの少なくとも1つの曖昧性除去を行わせることを特徴とする、請求項1に記載のシステム。
  4. ユーザ入力の意図の曖昧性除去が削減をさらに含み、複数の得られた結果において、前記システムがそのコンテキスト上の関連性によって結果の総数を絞り込むようにされ:
    前記絞り込みが、前記動的に生成された実時間相互関係に含まれ、それによって前記組の結果およびステップ数を低減するように、前記入力コマンドに対する自動的に計算した応答をさらに備えることを特徴とする、請求項3に記載のシステム。
  5. ユーザ入力の意味を曖昧性除去する際に、前記符号化された命令によって前記システムがさらに:
    ユーザ入力に応答して、曖昧な入力のユーザの明確化のための1つまたは複数のシステム解釈を戻すようにされることを特徴とする、請求項3に記載のシステム。
  6. コンテキストが:
    コンテンツドメイン、判定基準、データフィールド、GUI状態、システム状態、ユーザのロケール、ユーザのプロファイル、ならびにユーザ入力および戻されたシステム応答を含むユーザアプリケーションとシステムとの間の相互作用のうちの少なくとも1つを含み、
    前記判定基準が、自由入力および前記システムとの相互作用から決定したユーザ意図判定基準のための正規化値を含み;
    前記システム状態が、ユーザ入力に戻された応答のコンテキスト上の関連性を含み;
    変換コンテキストが、前記システムとの実時間相互作用の間に置換されたコンテンツを含むことを特徴とする、請求項1に記載のシステム。
  7. 前記システムが前記動作を実施するようにされる命令をさらに含み、結合および共通部分のうちの少なくとも1つとして特定の判定基準に対して多数の値を検索することをさらに含むことを特徴とする、請求項6に記載のシステム。
  8. 前記システムが、前記入力に応答して、前記入力内で除外した判定基準に基づいて前記動作を実施するようにされる命令をさらに含み、前記除外した判定基準が探さないものの入力を含むことを特徴とする、請求項6に記載のシステム。
  9. 前記システムが:
    曖昧性除去した入力コンテキストに関して、前記結果の分布に基づいて収集するために最も関連性のある判定基準を決定し;
    ユーザ選択のために1つの、または複数の決定した収集済み判定基準を戻し;
    前記戻された結果をコンテキスト上の関連性によって絞り込み、前記絞り込みは、前記実時間相互作用において得られた結果を分析し、前記入力した判定基準の前記現在のコンテキストを考える場合にアクティブな項目を備える1つ以上の結果を戻すようにされる命令をさらに含むことを特徴とする、請求項6に記載のシステム。
  10. 前記システムが:
    第1のコンテキストにおけるユーザ入力から戻された結果に応答して、関連性のないコンテキストにおける入力を受け取り、前記関連性のないコンテキストに応答して、前記第1のコンテキストから一時的に迂回し;
    前記関連性のないコンテキストに関して結果を戻し;
    前記第1のコンテキストへ戻るようにされる命令をさらに含み、
    前記コンテキストは、前記システムの前記現在の状態を含むことを特徴とする、請求項1に記載のシステム。
  11. 前記命令によって前記システムがコンテキスト上で関連性のある結果をさらに得るようにされ、前記命令は:
    結果が得られない場合、入力判定基準を自動的に拡大し;
    拡大した入力判定基準に基づいて得られた前記結果を分析することにより、収集するべき最も関連性のある結果を決定し、この決定がアクティブな拡大判定基準における前記結果の分布に基づき;さらに
    1つ以上の決定した関連性のある結果を戻すことを含むことを特徴とする、請求項1に記載のシステム。
  12. 前記分析が、前記入力コマンドのワードおよびフレーズを前記コンテンツと比較するための正規化意味論形式にマッチングすることを含む意味にユーザ入力をマッピングし;
    前記入力コマンドの、一般的祖先および子孫のうちの少なくとも1つへのマッチングを許容するための階層構造を作成し;
    自然言語における文字列を、意味論を決定するための構造化されたフォーマットに変換する;
    ことをさらに含むことを特徴とする、請求項11に記載のシステム。
  13. 前記入力コンテンツが属するジャンルに対する標準を作成する命令をさらに含み、前記標準の作成が:
    前記入力コマンドをマッチングするマッチング文法を定義し;
    その入力内の情報を取り込み;
    前記取り込んだ情報を特定の変換ルーチンに渡して前記取り込んだデータから前記標準を作成することを含み、
    前記変換ルーチンがコンテンツ定義されることを特徴とする、請求項1に記載のシステム。
  14. 前記システムが:
    ジャンルマッピングルールに対してユーザ入力をマッチングすることを含むジャンルマッピングを実現するようにされる命令をさらに含み、前記ルールが適用されると、いずれかのタグ付け入力が消費されることを特徴とする、請求項13に記載のシステム。
  15. 前記システムが、前記入力コマンドに応答して、クエリを行い、コンテキストアウェア対話型検索に対して最適化されたコンテンツプロバイダから結果を得るようにされる命令をさらに含むことを特徴とする、請求項1に記載のシステム。
  16. 前記システムが、前記入力コマンドに応答して、コンテキストアウェア対話から得られる判定基準に基づいて動作を行うように外部システムに要求するようにされる命令をさらに含むことを特徴とする、請求項1に記載のシステム。
  17. コマンドをコンテキスト上で解釈するようにされるコンピュータ自動化システムにおいて、そこで命令が符号化される処理装置とメモリ素子とを備えており、方法が:
    コンテキスト内で動作を実施するための命令に対応するユーザ入力コマンドを受け取るステップと;
    前記入力コマンドの曖昧性除去を行うステップと;
    前記曖昧性除去がなされた入力コマンドに基づいて動作を実施するステップと;
    前記曖昧性除去がなされた入力コマンドに応答して、ゼロまたはそれ以上の結果を戻すステップと;
    を含むことを特徴とする方法。
  18. 結果が得られない場合、前記ユーザ入力判定基準を拡大し、前記システムが更新したコンテキスト内の1つまたは複数の交互の結果を戻すようにされるステップと;
    1つ以上の結果が得られた場合、前記入力コンテキスト内の前記1つ以上の結果を戻すステップと;をさらに含み、
    前記1つ以上の結果が、前記曖昧性除去された入力コンテキストまたは更新されたコンテキストにそれぞれ基づいて、動的に生成された実時間相互関係に含まれることを特徴とする、請求項17に記載の方法。
  19. 前記入力コマンドの曖昧性除去を行うステップが、システムがユーザ入力の意図およびユーザ入力の意味のうちの少なくとも1つの前記曖昧性除去を行うようにされるステップを含むことを特徴とする、請求項17に記載の方法。
  20. ユーザ入力の意図の曖昧性除去を行うステップが、削減ステップをさらに含み、複数の得られた結果において、そのコンテキスト上の関連性によって結果の総数を絞り込み、
    前記絞り込みは動的に生成された実時間相互関係に含まれ、これは、前記結果の組およびステップの数を低減するための入力コマンドに対する自動的に計算する応答をさらに含むことを特徴とする、請求項19に記載の方法。
  21. ユーザ入力の意味の曖昧性除去を行うステップが、ユーザ入力に応答して、曖昧な入力のユーザの明確化のための1つまたは複数のシステム解釈を戻すステップを含むことを特徴とする、請求項19に記載の方法。
  22. 実時間ユーザ入力から値が決定される入力判定基準に対して正規化値を含むコンテキストを決定するステップと;
    ユーザ入力に応答して戻される結果に基づいてシステム状態を決定するステップと;
    実時間ユーザ相互作用の間に置換されるコンテンツに基づいて会話コンテキストを決定するステップと;をさらに含み、
    前記コンテキストが、コンテンツドメイン、判定基準、データフィールド、GUI状態、システム状態、ユーザのロケール、ユーザのプロファイル、ならびにユーザ入力および戻されたシステム応答を含むユーザアプリケーションとシステムとの間の相互作用のうちの少なくとも1つを含むことを特徴とする、請求項17に記載の方法。
  23. 結合および共通部分のうちの少なくとも1つとして特定の判定基準に対する多値を検索することを含む動作を実施するステップをさらに含むことを特徴とする、請求項22に記載の方法。
  24. 前記入力に応答して、前記システムが、入力除外した判定基準に基づいて動作を実施することを許容するステップをさらに含むことを特徴とする、請求項22に記載の方法。
  25. 曖昧性除去された入力コンテキストに応答して、前記結果の分布に基づいて収集するべき最も関連性のある判定基準を決定するステップと;
    ユーザ選択のために、1つまたは複数の収集した決定済み判定基準を戻すステップと;
    コンテキスト上の関連性によって戻された結果を絞り込むステップと;をさらに含み、前記絞り込みステップが、実時間相互関係において得られた結果を分析するステップと、前記入力判定基準の現在のコンテキストを考える場合にアクティブな項目を含む1つ以上の結果を戻すステップとを含むことを特徴とする、請求項22に記載の方法。
  26. ユーザ入力のコンテキストおよびコンテンツを分析するステップをさらに含み、前記分析ステップが:
    前記コンテンツと比較するために、ユーザ入力を、正規化意味論形式に前記入力コマンドのワードおよびフレーズをマッチングすることを含む意味にマッピングするステップと;
    1つまたは複数の一般的祖先および1つまたは複数の子孫のうちの少なくとも1つに前記入力コマンドをマッチングさせることを許容するための階層構造を作成するステップと;
    自然言語における文字列を意味論を決定するための構造化されたフォーマットに変換するステップと;
    を含むことを特徴とする、請求項17に記載の方法。
  27. 前記入力コンテンツが属するジャンルに対する標準を作成するステップをさらに含み、前記標準を作成するステップが:
    前記入力コマンドをマッチングするマッチング文法を定義するステップと;
    その入力内の情報を取り込むステップと;
    前記取り込んだ情報を特定の変換ルーチンに渡して前記取り込んだデータから前記標準を作成するステップと;をさらに含み、
    前記変換ルーチンがコンテンツ定義されることを特徴とする、請求項17に記載の方法。
  28. 前記システムが:
    ジャンルマッピングルールに対してユーザ入力をマッチングすることを含むジャンルマッピングを実現するようにされる命令をさらに含み、前記ルールが適用されると、いずれかのタグ付け入力が消費されることを特徴とする、請求項24に記載の方法。
  29. 前記入力に応答して、コンテンツプロバイダから得られたコンテンツを最適化するステップをさらに含み、その最適化がユーザ入力コンテキストおよびコンテンツ関連性に基づくことを特徴とする、請求項17に記載の方法。
  30. 前記入力コンテンツのコンテキスト、ユーザの場所、性別および入力言語のうちの少なくとも1つに基づく前記入力の意味の曖昧性除去を行うステップをさらに含むことを特徴とする、請求項21に記載の方法。
  31. 第1のコンテキストにおけるユーザ入力から戻された結果に応答して、関連性のないテキストにおける入力を受け取り、前記関連性のないコンテキストに応答して、前記第1のコンテキストから一時的に迂回するステップと;
    前記関連性のないコンテキストに関して結果を戻すステップと;
    前記第1のコンテキストへ戻るステップと;
    をさらに含み、
    コンテキストは、前記システムの前記現在の状態を含むことを特徴とする、請求項17に記載の方法。
  32. 結果を戻さない入力に応答して、コンテキスト上で関連する結果を得るために前記入力からの判定基準を自動的に緩和するステップと;
    前記入力判定基準の前記現在のコンテキストを考える場合のアクティブな項目を戻す入力値に基づいて、前記入力を分析するステップと;
    をさらに含むことを特徴とする、請求項17に記載の方法。
  33. 処理装置とメモリ素子とを備え、そこで命令が符号化されるシステムにおいて、命令によって前記システムが:
    コンテキスト内の入力を受け取り;
    前記入力値に関して、絞り込み、拡大、および場所の取り扱いのうちの少なくとも1つによって、前記受け取ったコンテキストに関して結果を戻し;
    入力判定基準の前記コンテキストに基づいて動作が実施され;
    前記絞り込みが、前記入力に応答して戻された現在の結果に基づいて1つ以上の関連の項目を戻し、可能な判定基準値を備えることをさらに含み;
    前記拡大が、正確な結果が見つからない場合に前記入力判定基準を自動的に拡大し、適当な場合に結果を取得することをさらに含み;
    前記場所の取り扱いが、入力履歴に基づくコンフリクトが存在する住所および場所の曖昧性除去を行い、入力履歴に基づいて住所内での関係を成立させることをさらに含む、
    ことを特徴とする、システム。
  34. 処理装置とメモリ素子とを備え、そこで命令が符号化される動的自己進化コンピュータ自動化システムにおいて、前記命令によって前記システムが:
    各ユーザ対話に対するシナリオを人が創作することなく対話能力の進化を開発し、前記進化は、前記コンテキストおよびコンテンツに基づいてユーザ対話を決定することをさらに含み、
    自動化機能性を向上させるルールを自動的に定義し;
    自然言語処理を実現し、前記自然言語処理はユーザ入力を意味にマッピングし、前記マッピングはジャンルタグ付けをさらに含み;
    グループ化を含む組と、変化する行為を含む組とを区別し;
    1つまたは複数の一般的祖先および1つまたは複数の子孫のうちの少なくとも1つに入力をマッチングすることを許容するための階層構造を作成する;
    ようにされることを特徴とする、動的自己進化コンピュータ自動化システム。
  35. 前記自然言語処理が、自然言語における文字列を、意味を決定するための基本を提供する構造化された機械可読フォーマットに自動的に変換することをさらに含むことを特徴とする、請求項34に記載のシステム。
  36. 前記ジャンルタグ付けが:
    ユーザ入力のワードおよびフレーズを、コンテンツと比較するための正規化意味論形式にマッチングさせること;および、
    音声の一部を分析して、曖昧な入力の曖昧性除去をおこなうこと;
    をさらに含むことを特徴とする、請求項34に記載のシステム。
  37. 処理装置とメモリ素子とを備え、そこで命令が符号化されるコンピュータ自動化システムにおいて、前記コンピュータ自動化システムの動的自己進化のための方法であって:
    各ユーザ対話に対するシナリオを人が創作することなく対話能力の進化を開発するステップを含み、前記進化は、前記コンテキストおよびコンテンツに基づいてユーザ対話を決定することをさらに含み、
    自動化機能性を向上させるためのルールを自動的に定義するステップと;
    自然言語処理を実現するステップとを含み、前記自然言語処理はユーザ入力を意味にマッピングすることをさらに含み、前記マッピングはジャンルタグ付けすることをさらに含み;
    グループ化を含む組と、変化する行為を含む組とを区別するステップと;
    1つまたは複数の一般的祖先および1つまたは複数の子孫のうちの少なくとも1つにマッチングすることを許容するための階層構造を作成するステップと;
    を含むことを特徴とする、方法。
  38. 前記自然言語処理が、自然言語における文字列を、意味を決定するための基本を提供する構造化された機械可読フォーマットに自動的に変換することをさらに含むことを特徴とする、請求項37に記載の方法。
  39. 前記ジャンルタグ付けが:
    ユーザ入力のワードおよびフレーズを、コンテンツと比較するための正規化意味論形式にマッチングすることと;
    音声の一部を分析して、曖昧な入力の曖昧性除去を行うことと;
    をさらに含むことを特徴とする、請求項37に記載の方法。
  40. 前記コマンドが、前記入力コンテキストにおける検索または動作を実施するための命令をさらに含むことを特徴とする、請求項1に記載のシステム。
JP2014561241A 2012-03-14 2013-03-12 会話式情報検索システムおよび方法 Pending JP2015511746A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261610606P 2012-03-14 2012-03-14
US61/610,606 2012-03-14
PCT/CA2013/050181 WO2013134871A1 (en) 2012-03-14 2013-03-12 System and method for conversation-based information search

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017225765A Division JP2018077858A (ja) 2012-03-14 2017-11-24 会話式情報検索システムおよび方法

Publications (2)

Publication Number Publication Date
JP2015511746A true JP2015511746A (ja) 2015-04-20
JP2015511746A5 JP2015511746A5 (ja) 2016-05-19

Family

ID=49158640

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014561241A Pending JP2015511746A (ja) 2012-03-14 2013-03-12 会話式情報検索システムおよび方法
JP2017225765A Pending JP2018077858A (ja) 2012-03-14 2017-11-24 会話式情報検索システムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017225765A Pending JP2018077858A (ja) 2012-03-14 2017-11-24 会話式情報検索システムおよび方法

Country Status (3)

Country Link
US (1) US20130246392A1 (ja)
JP (2) JP2015511746A (ja)
WO (1) WO2013134871A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113012691A (zh) * 2019-12-18 2021-06-22 丰田自动车株式会社 代理装置、代理系统以及计算机可读存储介质
JP2022024614A (ja) * 2020-07-28 2022-02-09 トヨタ自動車株式会社 情報出力システムおよび情報出力方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830634B2 (en) * 2006-02-23 2017-11-28 International Business Machines Corporation Performing secure financial transactions in an instant messaging environment
US9203445B2 (en) * 2007-08-31 2015-12-01 Iheartmedia Management Services, Inc. Mitigating media station interruptions
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US20140019462A1 (en) * 2012-07-15 2014-01-16 Microsoft Corporation Contextual query adjustments using natural action input
US9588988B2 (en) * 2013-03-15 2017-03-07 Google Inc. Visual indicators for temporal context on maps
US11893603B1 (en) * 2013-06-24 2024-02-06 Amazon Technologies, Inc. Interactive, personalized advertising
KR102190813B1 (ko) * 2014-03-25 2020-12-14 한국전자통신연구원 코드 추천 및 공유 시스템 및 방법
KR101644822B1 (ko) * 2014-07-16 2016-08-03 네이버 주식회사 설문 제공 장치 및 방법, 컴퓨터 판독 가능한 기록 매체
US9514124B2 (en) * 2015-02-05 2016-12-06 International Business Machines Corporation Extracting and recommending business processes from evidence in natural language systems
US10762112B2 (en) 2015-04-28 2020-09-01 Microsoft Technology Licensing, Llc Establishing search radius based on token frequency
US9870196B2 (en) * 2015-05-27 2018-01-16 Google Llc Selective aborting of online processing of voice inputs in a voice-enabled electronic device
US10083697B2 (en) 2015-05-27 2018-09-25 Google Llc Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device
US9966073B2 (en) * 2015-05-27 2018-05-08 Google Llc Context-sensitive dynamic update of voice to text model in a voice-enabled electronic device
US10664515B2 (en) 2015-05-29 2020-05-26 Microsoft Technology Licensing, Llc Task-focused search by image
US10990618B2 (en) * 2017-05-31 2021-04-27 Panasonic Intellectual Property Coproration Of America Computer-implemented method for question answering system
US11494395B2 (en) 2017-07-31 2022-11-08 Splunk Inc. Creating dashboards for viewing data in a data storage system based on natural language requests
US11036725B2 (en) 2017-08-14 2021-06-15 Science Applications International Corporation System and method for computerized data processing, analysis and display
US11841867B2 (en) * 2019-08-09 2023-12-12 International Business Machines Corporation Query relaxation using external domain knowledge for query answering
US20220043973A1 (en) * 2020-08-04 2022-02-10 Capricorn Holding Pte Ltd. Conversational graph structures
US11922141B2 (en) * 2021-01-29 2024-03-05 Walmart Apollo, Llc Voice and chatbot conversation builder

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274538A (ja) * 1993-03-22 1994-09-30 Nec Corp 情報検索装置
JPH06309362A (ja) * 1993-04-27 1994-11-04 Fujitsu Ltd 情報検索方法
JPH09218881A (ja) * 1996-02-09 1997-08-19 Nippon Telegr & Teleph Corp <Ntt> 追加検索語候補提示方法、文書検索方法およびそれらの装置
JPH11195041A (ja) * 1998-01-06 1999-07-21 Nec Corp 文書検索装置、方法及び記録媒体
JP2001013995A (ja) * 1999-05-21 2001-01-19 Inf Storage Devices Inc 標準の音声ユーザ・インタフェースの方法と装置および音声制御式デバイス
JP2002123550A (ja) * 2000-10-13 2002-04-26 Canon Inc 情報検索装置、方法、及び記憶媒体
JP2002163171A (ja) * 2000-11-28 2002-06-07 Sanyo Electric Co Ltd ユーザ支援装置およびシステム
JP2004295837A (ja) * 2003-03-28 2004-10-21 Nippon Telegr & Teleph Corp <Ntt> 音声制御方法、音声制御装置、音声制御プログラム
JP2010145262A (ja) * 2008-12-19 2010-07-01 Pioneer Electronic Corp ナビゲーション装置
WO2011088053A2 (en) * 2010-01-18 2011-07-21 Apple Inc. Intelligent automated assistant

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US20010039493A1 (en) * 2000-04-13 2001-11-08 Pustejovsky James D. Answering verbal questions using a natural language system
JP2001356797A (ja) * 2000-06-14 2001-12-26 Nippon Telegr & Teleph Corp <Ntt> 対話制御方法及びシステム及び対話制御プログラムを格納した記憶媒体
US6970863B2 (en) * 2001-09-18 2005-11-29 International Business Machines Corporation Front-end weight factor search criteria
US7343372B2 (en) * 2002-02-22 2008-03-11 International Business Machines Corporation Direct navigation for information retrieval
US20070038603A1 (en) * 2005-08-10 2007-02-15 Guha Ramanathan V Sharing context data across programmable search engines
US20030220917A1 (en) * 2002-04-03 2003-11-27 Max Copperman Contextual search
JP2004023345A (ja) * 2002-06-14 2004-01-22 Sony Corp 情報検索方法、情報検索システム、受信装置、情報処理装置
US20070136251A1 (en) * 2003-08-21 2007-06-14 Idilia Inc. System and Method for Processing a Query
US20050071328A1 (en) * 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
US20050131677A1 (en) * 2003-12-12 2005-06-16 Assadollahi Ramin O. Dialog driven personal information manager
US7158966B2 (en) * 2004-03-09 2007-01-02 Microsoft Corporation User intent discovery
JP4075067B2 (ja) * 2004-04-14 2008-04-16 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
JP4479366B2 (ja) * 2004-06-14 2010-06-09 ソニー株式会社 番組情報処理システム,番組情報管理サーバ,番組情報利用端末およびコンピュータプログラム。
US7266548B2 (en) * 2004-06-30 2007-09-04 Microsoft Corporation Automated taxonomy generation
US7702318B2 (en) * 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
JP2007148476A (ja) * 2005-11-24 2007-06-14 Nec Corp 情報検索支援システム、情報検索支援方法、検索支援モジュールプログラムおよび情報検索支援プログラム
US20070130129A1 (en) * 2005-12-06 2007-06-07 Wagle Sunil S System and Method for Image-Based Searching
US8380721B2 (en) * 2006-01-18 2013-02-19 Netseer, Inc. System and method for context-based knowledge search, tagging, collaboration, management, and advertisement
US7693902B2 (en) * 2007-05-02 2010-04-06 Yahoo! Inc. Enabling clustered search processing via text messaging
US7856429B2 (en) * 2007-05-03 2010-12-21 Magix Ag System and method for a digital representation of personal events enhanced with related global content
US7890516B2 (en) * 2008-05-30 2011-02-15 Microsoft Corporation Recommending queries when searching against keywords
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US20110022610A1 (en) * 2009-07-25 2011-01-27 Robert John Simon Systems and Methods for Augmenting Data in a Personal Productivity Application
US20120268485A1 (en) * 2011-04-22 2012-10-25 Panasonic Corporation Visualization of Query Results in Relation to a Map
US8768765B1 (en) * 2011-08-22 2014-07-01 Google Inc. Advertisement conversion logging
US8484208B1 (en) * 2012-02-16 2013-07-09 Oracle International Corporation Displaying results of keyword search over enterprise data

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274538A (ja) * 1993-03-22 1994-09-30 Nec Corp 情報検索装置
JPH06309362A (ja) * 1993-04-27 1994-11-04 Fujitsu Ltd 情報検索方法
JPH09218881A (ja) * 1996-02-09 1997-08-19 Nippon Telegr & Teleph Corp <Ntt> 追加検索語候補提示方法、文書検索方法およびそれらの装置
JPH11195041A (ja) * 1998-01-06 1999-07-21 Nec Corp 文書検索装置、方法及び記録媒体
JP2001013995A (ja) * 1999-05-21 2001-01-19 Inf Storage Devices Inc 標準の音声ユーザ・インタフェースの方法と装置および音声制御式デバイス
JP2002123550A (ja) * 2000-10-13 2002-04-26 Canon Inc 情報検索装置、方法、及び記憶媒体
JP2002163171A (ja) * 2000-11-28 2002-06-07 Sanyo Electric Co Ltd ユーザ支援装置およびシステム
JP2004295837A (ja) * 2003-03-28 2004-10-21 Nippon Telegr & Teleph Corp <Ntt> 音声制御方法、音声制御装置、音声制御プログラム
JP2010145262A (ja) * 2008-12-19 2010-07-01 Pioneer Electronic Corp ナビゲーション装置
WO2011088053A2 (en) * 2010-01-18 2011-07-21 Apple Inc. Intelligent automated assistant

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113012691A (zh) * 2019-12-18 2021-06-22 丰田自动车株式会社 代理装置、代理系统以及计算机可读存储介质
JP2021096710A (ja) * 2019-12-18 2021-06-24 トヨタ自動車株式会社 エージェント装置、エージェントシステム、及びエージェントプログラム
US11869488B2 (en) 2019-12-18 2024-01-09 Toyota Jidosha Kabushiki Kaisha Agent device, agent system, and computer-readable storage medium
JP2022024614A (ja) * 2020-07-28 2022-02-09 トヨタ自動車株式会社 情報出力システムおよび情報出力方法
JP7322830B2 (ja) 2020-07-28 2023-08-08 トヨタ自動車株式会社 情報出力システムおよび情報出力方法

Also Published As

Publication number Publication date
WO2013134871A1 (en) 2013-09-19
JP2018077858A (ja) 2018-05-17
US20130246392A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
JP2018077858A (ja) 会話式情報検索システムおよび方法
JP2015511746A5 (ja)
Setlur et al. Eviza: A natural language interface for visual analysis
US20230401259A1 (en) Providing command bundle suggestions for an automated assistant
US10515086B2 (en) Intelligent agent and interface to provide enhanced search
RU2541219C2 (ru) Персонализированный словарь для цифрового помощника
KR102369784B1 (ko) 지능형 자동 어시스턴트
EP3513324B1 (en) Computerized natural language query intent dispatching
US20170242886A1 (en) User intent and context based search results
CN108369580B (zh) 针对屏幕上项目选择的基于语言和域独立模型的方法
US11762848B2 (en) Combining parameters of multiple search queries that share a line of inquiry
JP2020520485A (ja) 視覚的分析との相互作用のため語用論の原理を適用するシステムおよび方法
US10783877B2 (en) Word clustering and categorization
WO2017143339A1 (en) Interactive search engine
KR20160067202A (ko) 맥락적 통찰 및 탐구 기법
JP2020071865A (ja) インテリジェントクロスドメイン検索を行うためのシステムおよび方法
CN111143659A (zh) 用于执行智能跨域搜索的系统和方法
Sinha et al. Transforming interactions: mouse-based to voice-based interfaces
KR101727821B1 (ko) 컨텐츠 내 단어에 대한 정답성 검색 결과를 제공하는 방법 및 시스템
KR20240002420A (ko) 키워드 기반의 여행 정보 검색 결과를 단문 컨텐츠로 제공하는 방법, 장치 및 컴퓨터-판독 가능 기록 매체
Yoshino Spoken Dialogue System for Information Navigation based on Statistical Learning of Semantic and Dialogue Structure

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20160311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160311

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20160324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171214

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180209