JP7220005B2 - 暗黙的ルーティングを使用したモジュール式会話の作成 - Google Patents

暗黙的ルーティングを使用したモジュール式会話の作成 Download PDF

Info

Publication number
JP7220005B2
JP7220005B2 JP2020522666A JP2020522666A JP7220005B2 JP 7220005 B2 JP7220005 B2 JP 7220005B2 JP 2020522666 A JP2020522666 A JP 2020522666A JP 2020522666 A JP2020522666 A JP 2020522666A JP 7220005 B2 JP7220005 B2 JP 7220005B2
Authority
JP
Japan
Prior art keywords
linguistic
input
content
handlers
handler
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.)
Active
Application number
JP2020522666A
Other languages
English (en)
Other versions
JP2021501356A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021501356A publication Critical patent/JP2021501356A/ja
Application granted granted Critical
Publication of JP7220005B2 publication Critical patent/JP7220005B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/685Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using automatically derived transcript of audio data, e.g. lyrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Description

本発明は、ユーザから受信された言語入力を言語内容ハンドラに自動的にルーティングすることに関連しており、より詳細には、言語入力の内容および任意選択的にコンテキストに基づいて、暗黙的ルーティングを使用して言語入力を言語内容ハンドラに自動的にルーティングすることに関連しているが、これに限定されない。
近年、自動化されたシステム、プラットフォーム、またはサービス、あるいはその組み合わせの開発、展開、および使用が、急速かつ大幅に進歩した。ヒューマン・マシン・インタラクション(HMI:human-machine interaction)は、例えば、モバイル・アプリケーション(例えば、モバイル・デバイス)、ライフスタイル・アプリケーション(例えば、人工パーソナル・アシスタントまたは仮想パーソナル・アシスタントあるいはその両方)、商業アプリケーション、輸送(例えば、自律車両)アプリケーションなどの、多くのそのような自動化された環境アプリケーションにおける重要な要素であることがある。
コンピュータ技術、ハードウェア(例えば、計算リソースの増大)に加えて、コンピュータ・サイエンスおよびソフトウェア(例えば、アルゴリズム的処理、機械学習など)における大幅な進歩が、従来のHMIからより自然なHMIに移行するための道を開いた。従来のHMI実装は、ユーザが中間のデバイス、ツール、またはインターフェイス(例えば、キーボード、ポインティング・デバイス(例えば、マウス、タッチパッドなど)、タッチスクリーンなど)、あるいはその組み合わせを使用することを必要とすることがある。一方、自然なHMI(例えば、音声、発話、ジェスチャーなど)は、ユーザが仲介を使用する必要性からユーザを解放し、マシン(すなわち、コンピュータ、モバイル・デバイス、自律車両など)と直接通信することができる。
自然なHMIの中でも特に、発話および会話は、話し言葉および会話技術が、ほとんどの人によって若年齢で獲得され、人々の間の交流の最も一般的で効率的な方法であるため、大きな魅力を有する。したがって、会話的なインタラクションをHMI実装に採用することが、非常に望ましいことがある。そのような発話および会話のHMI実装は、例えば、音声認識、音声テキスト(STT:speech to text)変換、音声合成、自然言語処理(NLP:natural language processing)、会話構築などの、複数のツール、手法、または方法、あるいはその組み合わせのうちの1つまたは複数を適用することがある。
本発明の第1の態様によれば、コードを実行するように適応された1つまたは複数のプロセッサを使用することを含んでいる、言語入力を複数のハンドラのうちの1つにルーティングするコンピュータ実装方法があり、このコードは、次のことを実行するように適応されている。
- 言語入力をユーザから受信すること。
- 複数の言語内容識別器(verbal content identifiers)を言語入力に適用することであって、複数の言語内容識別器の各々が、言語入力から抽出された1つまたは複数の特徴に対して一致信頼値を計算することによって、複数のハンドラのうちの各1つとの言語入力の関連性を評価するように適応されている、適用すること。1つまたは複数の特徴は、ユーザによって表されたインテントおよびユーザによって示されたエンティティのうちの1つまたは複数を含む。
- 複数の言語内容識別器によって計算された一致信頼値に基づいて、複数のハンドラのうちの選択された1つに言語入力をルーティングすることであって、選択されたハンドラが、言語入力に応答して1つまたは複数のアクションを開始するように適応されている、ルーティングすること。
複数の(言語内容)ハンドラを使用し、言語入力をこれらのハンドラに効率的にルーティングすることによって、単一の作業空間内の対話フローを解析することと比較して、言語入力およびしたがってユーザとの対話フローの解析の複雑さを、大幅に低減することができる。この複雑さの低減によって、さらに、ユーザのインテントの推定の精度を上げること、言語入力に埋め込まれた曖昧さを減らすか、または除去するか、あるいはその両方を行うこと、言語入力を解析するための計算リソースを減らすこと、受信された言語入力に応答する際の待ち時間を減らすことなどを、行うことができる。さらに、ユーザが意図されるハンドラを明示的に述べる必要なく、言語入力を好ましいハンドラに暗黙的にルーティングすることは、どのインテントまたはアクションあるいはその両方に対してどのハンドラが指定されているかについて絶えず注意をし、覚えておくことから、ユーザを解放することができる。
本発明の第2の態様によれば、コードを実行するように適応された1つまたは複数のプロセッサを備えている、言語入力を複数のハンドラのうちの1つにルーティングするためのシステムがあり、このコードは次を含んでいる。
- 言語入力をユーザから受信するためのコード命令。
- 複数の言語内容識別器を言語入力に適用するためのコード命令であって、複数の言語内容識別器の各々が、言語入力から抽出された1つまたは複数の特徴に対して一致信頼値を計算することによって、複数のハンドラのうちの各1つとの言語入力の関連性を評価するように適応されている、コード命令。1つまたは複数の特徴は、ユーザによって表されたインテントおよびユーザによって示されたエンティティのうちの1つまたは複数を含む。
- 複数の言語内容識別器によって計算された一致信頼値に基づいて、複数のハンドラのうちの選択された1つに言語入力をルーティングするためのコード命令であって、選択されたハンドラが、言語入力に応答して1つまたは複数のアクションを開始するように適応されている、コード命令。
本発明の第3の態様によれば、言語入力を複数のハンドラのうちの1つにルーティングするためのコンピュータ・プログラム製品があり、このコンピュータ・プログラム製品は次を備えている。
- 非一過性コンピュータ可読記憶媒体。
- 言語入力をユーザから受信するための第1のコード命令。
- 複数の言語内容識別器を言語入力に適用するための第2のコード命令であって、複数の言語内容識別器の各々が、言語入力から抽出された1つまたは複数の特徴に対して一致信頼値を計算することによって、複数のハンドラのうちの各1つとの言語入力の関連性を評価するように適応されている、第2のコード命令。1つまたは複数の特徴は、ユーザによって表されたインテントおよびユーザによって示されたエンティティのうちの1つまたは複数を含む。
- 複数の言語内容識別器によって計算された一致信頼値に基づいて、複数のハンドラのうちの選択された1つに言語入力をルーティングするための第3のコード命令であって、選択されたハンドラが、言語入力に応答して1つまたは複数のアクションを開始するように適応されている、第3のコード命令。
第1、第2、および第3のコード命令は、1つまたは複数のプロセッサによって非一過性コンピュータ可読記憶媒体から実行される。
第1、第2、または第3、あるいはその組み合わせの態様のさらに別の実装形態では、言語入力が、テキストの言語入力および発話の言語入力から成る群の1つまたは複数の要素を含む。これによって、テキストまたは発話あるいはその両方のインタラクション形態を介してユーザと対話するように指示された複数のアプリケーションへの暗黙的ルーティングを適用できるようにしてよい。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、言語入力が複数のセグメントにセグメント化され、各セグメントに対して複数の言語内容識別器によって計算された一致信頼値に従って、複数のセグメントの各々を複数のハンドラのうちの1つにルーティングする。ユーザとの対話セッションが、複数のハンドラによって処理され得る複数の意図されたアクションを埋め込んでいる可能性のある複雑な言語入力を含むことがあるため、言語入力のセグメント化によって、ハンドラとの関連性の解析、評価およびしたがって選択されたハンドラへのルーティングを大幅に簡略化することができる。
第1、第2、または第3、あるいはその組み合わせの態様のさらに別の実装形態では、各ハンドラに対して定義された1つまたは複数の定義済みの特徴に従って関連性を評価するように各言語内容識別器を適応させることによって、複数の言語内容識別器の各々が複数のハンドラのうちの各1つに関連付けられる。各言語内容識別器が各ハンドラに関連付けられるため、各言語内容識別器は、その各ハンドラの特性または特徴あるいはその両方に従って、特に適応されるか、構成されるか、またはトレーニングされるか、あるいはその組み合わせが行われてよく、したがって、各ハンドラとの関連性の評価の精度を改善する。
第1、第2、または第3、あるいはその組み合わせの態様のさらに別の実装形態では、一致信頼値は、1つまたは複数の特徴が各定義済みの特徴に一致する確率を示す。したがって、各言語内容識別器によって計算された一致信頼値は、各ハンドラとの抽出された特徴の関連性レベルを測定するための指標としての役割を果たすことができる。
第1、第2、または第3、あるいはその組み合わせの態様のさらに別の実装形態では、1つまたは複数の言語解析ツールを使用して言語入力からインテントが抽出され、このインテントは、意思、目的、対象、および目標から成る群の要素ある。インテントは、ユーザによって意図され、言語入力で表されたアクションを理解すること、または分類すること、あるいはその両方において重要な要素になることがある。したがって、インテントを正確に抽出し、ハンドラのうちの1つまたは複数に関連付けることは、重要であることがある。
第1、第2、または第3、あるいはその組み合わせの態様のさらに別の実装形態では、1つまたは複数の言語解析ツールを使用して言語入力からエンティティが抽出される。エンティティ(例えば、物体、項目、要素、対象のデバイス、対象のアプリケーションなど)は、ユーザによって意図され、言語入力で表されたアクションを理解すること、または分類すること、あるいはその両方において重要な要素になることがある。したがって、エンティティを正確に抽出し、ハンドラのうちの1つまたは複数に関連付けることが重要であることがある。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、選択されるハンドラは、複数の言語内容識別器のうちの1つまたは複数によって提供された1つまたは複数のコンテキスト属性に基づいて選択される。1つまたは複数のコンテキスト属性は、次のうちの1つまたは複数を含む。
- 1つまたは複数の音声解析ツールを使用して抽出されたユーザの感情。
- 1つまたは複数の音声解析ツールを使用して抽出されたユーザの情緒。
- 1つまたは複数の位置検出ツールから取得されたユーザの地理的位置。
- 1つまたは複数の以前の言語入力から抽出された1つまたは複数の以前の特徴。
言語入力のコンテキスト、ユーザのコンテキストなどがユーザの実際のインテントを大いに表すことがあるため、コンテキスト属性を使用することによって、選択されるハンドラの選択の精度を大幅に上げることができる。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、選択されるハンドラは、複数の言語内容識別器のうちの1つまたは複数によって抽出された1つまたは複数の強制のエンティティの検出に基づいて選択され、1つまたは複数の強制のエンティティは、インテントと共に言語入力に現れるように事前に定義される。エンティティが言語入力内に存在しない場合に、そのようなエンティティを強制的に含むように事前に定義された1つまたは複数のハンドラを、言語入力を処理することに適していないとして除外できるため、選択が強制の定義済みのエンティティに基づくことによって、選択されるハンドラの選択の精度を大幅に上げることができる。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、選択されるハンドラは、複数の言語内容識別器のうちの1つまたは複数によって提供された1つまたは複数の操作上の属性に基づいて選択され、1つまたは複数の操作上の属性は、次のうちの1つまたは複数を含む。
- しきい値。
- 言語入力を処理するための各ハンドラの能力。
- 特徴のうちの1つまたは複数を抽出するために複数の言語内容識別器のうちの1つまたは複数によって適用される解析の説明。
- 1つまたは複数の以前の言語入力に関連するルーティング情報。
- 複数のハンドラのうちの少なくとも別の1つから取得された情報。
特に、以前の言語入力またはユーザとの対話セッションの対話フローあるいはその両方に関して、ハンドラの操作上のコンテキストがユーザのインテントを大いに表すことがあるため、操作上の属性を使用することによって、選択されるハンドラの選択の精度を大幅に上げることができる。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、選択されるハンドラは、複数の言語内容識別器のうちの少なくとも一部に割り当てられた優先度に従って選択される。特に言語内容識別器に関連付けられたハンドラに従って言語内容識別器に優先順位を付けることによって、特定のハンドラが言語入力にあまり関連していないと推定された場合でも別のハンドラに優先することができるように、各ハンドラの重要度または緊急度あるいはその両方を他のハンドラより上げること、または下げること、あるいはその両方を、可能にすることができる。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、ハンドラに関連付けられた言語内容識別器が、定義済みのしきい値を超えることができない信頼値を提示する場合に、複数のハンドラのうちの1つまたは複数がフィルタで除去される。これによって、ハンドラに関連付けられた言語内容識別器が、定義済みのしきい値より低い一致信頼値を計算した場合に、そのハンドラが選択され得ない(すなわち、フィルタで除去される)ように、特定のハンドラと言語入力の間の最小の関連性レベルを設定することができてよい。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、それらの複数のハンドラのうちの1つまたは複数は、言語入力を処理できないとして、ハンドラに関連付けられた言語内容識別器のうちの1つまたは複数によって示された場合に、フィルタで除去される。これによって、現在、言語入力を処理することに利用できないか、または言語入力を処理することができないか、あるいはその両方であるハンドラの選択を、回避することができ、したがって、ルーティング・プロセスの複雑さまたは待ち時間あるいはその両方を低減する。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、複数の言語内容識別器のうちの複数の言語内容識別器によって類似する信頼値が計算された場合に、言語入力が複数のハンドラのうちの最近のハンドラにルーティングされ、この最近のハンドラは、複数の言語内容識別器に関連付けられたハンドラのグループ内の、以前の言語入力のルーティング先だった直近のハンドラである。以前の(過去の)対話フローは、言語入力の現在のルーティングを有意に示唆することがあり、したがって、選択されるハンドラの選択における精度を大幅に改善することができる。
第1、第2、または第3、あるいはその組み合わせの態様の任意選択的な実装形態では、複数の言語内容識別器によって計算された信頼値が定義済みのしきい値を超えることができない場合に、言語入力が複数のハンドラのうちのデフォルトのハンドラにルーティングされる。選択されるハンドラの選択において明確な解決を行うことができない場合、言語入力は、ユーザが意図をより良く述べるか、実現するか、または達成するか、あるいはその組み合わせを行うことができるようにすることがある、デフォルトのハンドラにルーティングされてよい。
特に定義されない限り、本明細書において使用される技術用語または科学用語あるいはその両方は、本発明が関係する当業者によって一般的に理解されている意味と同じ意味を有する。本明細書に記載された方法および材料に類似または相当する方法および材料が、本発明の実施形態の実践または試験において使用され得るが、以下では、例示的な方法または材料あるいはその両方が説明される。定義を含めて矛盾が生じた場合、本特許明細書が統制する。加えて、材料、方法、および例は、単なる例示であり、必ずしも限定するよう意図されていない。
本発明の実施形態の方法またはシステムあるいはその両方の実装は、選択された作業を手動で、自動で、またはこれらの組み合わせで実行または完了することを含むことができる。さらに、本発明の方法またはシステムあるいはその両方の実施形態の実際の実装および機器に従って、複数の選択された作業が、ハードウェアによって、ソフトウェアによって、またはファームウェアによって、あるいはオペレーティング・システムを使用して、これらの組み合わせによって、実装され得る。
例えば、本発明の実施形態に従って選択された作業を実行するためのハードウェアは、チップまたは回路として実装され得る。ソフトウェアとしての、本発明の実施形態に従う選択された作業は、適切なオペレーティング・システムを使用してコンピュータによって実行される複数のソフトウェア命令として、実装され得る。本発明の実施形態例では、本明細書において説明されている方法またはシステムあるいはその両方の実施形態例に従う1つまたは複数の作業が、複数の命令を実行するためのコンピューティング・プラットフォームなどの、データ・プロセッサによって実行される。任意選択的に、このデータ・プロセッサは、命令またはデータあるいはその両方を格納するための揮発性メモリ、あるいは命令またはデータあるいはその両方を格納するための不揮発性ストレージ(例えば、磁気ハード・ディスクまたは取り外し可能な媒体あるいはその両方)、あるいはその組み合わせを含む。任意選択的に、ネットワーク接続も提供される。キーボードまたはマウスなどのディスプレイまたはユーザ入力デバイスあるいはその両方も、任意選択的に提供される。
本明細書では、添付の図面を単に例として参照し、本発明の一部の実施形態が説明される。ここで、図面を詳細に参照するが、これらの詳細が例として示されており、本発明の実施形態の例示的な説明を目的としているということが強調される。これに関して、図面を使用して行う説明によって、本発明の実施形態を実践する方法を、当業者に対して明らかにする。
本発明の一部の実施形態に従って、言語入力の内容および任意選択的にコンテキストに基づいて、暗黙的ルーティングを使用して言語入力を言語内容ハンドラに自動的にルーティングする例示的なプロセスのフローチャートである。 本発明の一部の実施形態に従って、言語入力の内容および任意選択的にコンテキストに基づいて、暗黙的ルーティングを使用して言語入力を言語内容ハンドラに自動的にルーティングするための例示的なシステムの概略図である。
本発明は、その一部の実施形態において、ユーザから受信された言語入力を言語内容ハンドラに自動的にルーティングすることに関連しており、より詳細には、言語入力の内容および任意選択的にコンテキストに基づいて、暗黙的ルーティングを使用して言語入力を言語内容ハンドラに自動的にルーティングすることに関連しているが、これに限定されない。
本発明の一部の実施形態によれば、1人または複数のユーザから受信された1つまたは複数の言語入力(例えば、テキスト入力、音声入力など)を、ユーザによって表された1つまたは複数の定義済みの言語内容の特徴を処理する(扱う)ようにそれぞれ適応された1つまたは複数の言語内容ハンドラにルーティングするための方法、システム、およびコンピュータ・プログラム製品が提供されている。
自動化されたサービス(例えば、人工パーソナル・アシスタントまたは仮想パーソナル・アシスタントあるいはその両方、自律車両、モバイル・デバイス、ボット、インターネット・ボットなど)が絶えず進化するにつれて、自動化されたシステムおよびアプリケーションと人間のユーザとの間のインタラクション、および対話フローの構築、特に音声の会話が、極めて重要な要素になっている。しかし、そのようなシステムまたはアプリケーションあるいはその両方で双方向の対話フロー(特に、音声の会話)を開発すること、またはサポートすること、あるいはその両方を行うことは、大きな課題をもたらすことがある。考えられる言語入力(テキスト入力または音声入力あるいはその両方)を、特徴のセット、例えば、内容、ユーザのインテント(意思、目的、対象、目標など)、ユーザによって示されたエンティティ(物体、項目、要素、対象のデバイス、対象のアプリケーションなど)、現在の対話セッションの対話フローなどに分けること、分割すること、または分解すること、あるいはその組み合わせを行うことが、必要になることがある。
さらに、双方向の対話アプリケーションが、追加機能を提供するように強化され続けるにつれて、双方向の対話フローが、さらに著しく複雑になる可能性があり、ユーザから捕捉された言語入力に正確に応答するために、対話を処理することおよび扱うことにおいて、さらなる課題をもたらす。特に、単一の作業空間内の言語入力を処理することは、対話の複雑さのために、非効率的、不適切であり、場合によっては非現実的であると分かることがある。この制限を克服するために、複数の言語内容ハンドラが、ユーザから受信された異なる言語入力を正確に処理するように設計され、適応され、展開されてよい。言語内容ハンドラの各々は、ユーザから受信された特定の定義済みの言語入力またはその一部あるいはその両方に応答して、1つまたは複数のアクションを開始するように適応された処理モジュール(例えば、ソフトウェア・エージェント、アプリケーションなど)であってよい。言語内容ハンドラによって開始されるアクションは、ユーザによって示され、自動化されたサービス、システム、またはアプリケーション、あるいはその組み合わせによってサポートされている、複数の機能、特徴、または動作、あるいはその組み合わせのうちの1つまたは複数を含むことができる。各言語入力を指定された言語内容ハンドラにルーティングできるため、双方向の対話(特に、音声の会話)を処理することを大幅に改善し、より効率的にすることができる。
本発明の一部の実施形態によれば、言語入力を、それらの指定された言語内容ハンドラにルーティングすることは、受信された言語入力において表されたユーザのインテント(意思、目標、または対象、あるいはその組み合わせ)を推定すること、または予測すること、あるいはその両方を行うことによって、暗黙的に実行される。これは、1つまたは複数の言語入力を解析して、ユーザから受信された言語入力から1つまたは複数の特徴を抽出し、ユーザのインテントを評価することと、言語入力を、ユーザのインテントに最も良く役立つと推定された好ましい言語内容ハンドラにルーティングすることとによって、実行することができる。言語内容ハンドラごとに事前に定義された特徴に関して、抽出された特徴の対応(一致)が評価され、したがって、言語内容ハンドラの各々との言語入力の関連性が評価される。これによって、言語入力において具現化された特徴を決定することにおける曖昧さを大幅に減らし、場合によっては除去し、推定されたインテントに最も良く役立つと推定される適切な(好ましい)言語内容ハンドラを効率的に自動選択することができる。
言語入力の解析および特徴の抽出は、言語内容ハンドラのうちの各1つにそれぞれ関連付けられた複数の言語内容識別器によって、実行されてよい。言語内容識別器の各々は、言語入力において、各言語内容ハンドラに関連付けられた1つまたは複数の定義済みの特徴を識別するように、特に適応されて(すなわち、設計、構成、トレーニングなどを実行されて)得る。言語内容識別器の各々は、特徴を抽出するために、1つまたは複数の言語解析ツール(例えば、テキスト解析、音声認識、自然言語処理(NLP)、音声解析など)を適用することができる。抽出された特徴ごとに、言語内容識別器は、抽出された特徴が各言語内容ハンドラに関連付けられた各定義済みの特徴に一致する確率を示す一致信頼値を計算することができる。
複数の言語内容識別器から受信された計算済みの一致信頼値を伴う抽出された特徴は、受信された言語入力を最も良く処理する(扱う、役立つなど)と推定される好ましい言語内容ハンドラを選択するために評価されてよく、すなわち、言語入力は、選択された言語内容ハンドラに最も良く関連すると推測される。その後、言語入力は、受信された言語入力に応答して1つまたは複数のアクションを実行できる選択された言語内容ハンドラにルーティングされる。言語内容ハンドラによって開始されるアクションは、ユーザとインタラクションする自動化されたサービス、システム、またはアプリケーション、あるいはその組み合わせによってサポートされている、複数の機能、特徴、または動作、あるいはその組み合わせのうちの1つまたは複数を含んでよい。
任意選択的に、言語入力は複数のセグメントにセグメント化され、各セグメントは、別々に解析され、特徴を抽出して一致信頼値を計算することができる言語内容識別器に提供される。その後、セグメントごとに、好ましい言語内容ハンドラが複数の言語内容ハンドラから選択されてよい。
任意選択的に、ルーティングは、言語内容識別器のうちの1つまたは複数によって提供されるか、またはグローバルに格納もしくは維持されるか、あるいはその組み合わせが行われる、1つまたは複数のコンテキスト属性または操作上の属性あるいはその両方に基づく。言語内容識別器のうちの1つまたは複数は、言語入力(例えば、以前の言語入力から抽出された特徴)、ユーザ(例えば、感情、情緒、地理的位置など)などに関連する1つまたは複数のコンテキスト属性を抽出してよい。言語内容識別器のうちの1つまたは複数は、例えばそれらの各言語内容ハンドラに関連する1つまたは複数の操作上の属性、それらの各言語内容ハンドラの以前のルーティング・イベント、1つまたは複数の他の言語内容ハンドラの操作上の属性などを、報告してもよい。コンテキスト属性または操作上の属性あるいはその両方のうちの1つまたは複数が、好ましい言語内容ハンドラの選択に使用されてよい。
言語入力を好ましい言語内容ハンドラに暗黙的にルーティングすることによって、双方向の対話フローを処理するための現在の既存の方法と比較して、大きな利点をもたらすことができる。
第1に、複数の言語内容ハンドラを使用し、言語入力をそれらの言語内容ハンドラに効率的にルーティングすることは、既存の方法(例えば、Watson Conversation Service(WCS)、API.AI、wit.aiなど)の一部よって実行されているような単一の作業空間内で対話フローを解析することと比較して、言語入力およびしたがって対話フローの解析の複雑さを大幅に低減することができる。この複雑さの低減は、例えば、ユーザのインテントのより正確な推定(言語入力における特徴の曖昧さを減らすか、または除去するか、あるいはその両方を行う)、言語入力を解析するための計算リソースの削減、受信された言語入力に応答することにおける待ち時間の低減などの、言語入力または対話フローあるいはその両方を処理することにおける複数の改善につながることがある。
さらに、言語入力を好ましい言語内容ハンドラに暗黙的にルーティングすることによって、既存の方法(例えば、Amazon(R)によるAlexa(R)パーソナル・アシスタントなど)の一部によって実行されているように、現在の言語入力を処理するために使用されるべき言語内容ハンドラを明示的に述べることから、ユーザを解放することができる。自動化された双方向の対話の複雑さが増大するにつれて、言語内容ハンドラの数が極めて多くなり、選択された言語内容ハンドラに適切に話しかける(述べる)ために、どのインテントまたはアクションあるいはその両方に対してどの言語内容ハンドラが指定されるかについて絶えず注意をし、覚えておくことを、ユーザに強いることになる可能性がある。言語内容ハンドラがスキルと呼ばれているAlexa仮想パーソナル・アシスタントでは、スキルの数が急速に増大しており、ユーザは、自分の意思またはアクションあるいはその両方の各々を、スキルのうちの各1つに一意に関連付けし、述べることが必要になる可能性がある。したがって、使用される言語内容ハンドラを明示的に述べることからユーザを解放することは、大きな利点をもたらし得る。
さらに、コンテキスト属性または操作上の属性あるいはその両方を使用して言語入力を好ましい言語内容ハンドラに暗黙的にルーティングすることによって、言語入力における特徴の曖昧さを大幅に減らすか、または除去するか、あるいはその両方を行い、したがって、好ましい言語内容ハンドラを選択することにおける精度を上げることができる。これは、言語入力に関連する文脈的側面およびユーザに関連する文脈的側面が、ユーザのインテントを大いに表すことがあり、したがって、受信された言語入力においてユーザによって表されるインテントの推定を改善するために使用できるという事実による。加えて、言語内容ハンドラの操作上の属性は、特に現在の対話セッションの間に、以前の言語入力の以前のルーティングまたは処理あるいはその両方のイベントの識別に非常に役立つことがあり、したがって、現在の言語入力を処理するための好ましい言語内容ハンドラのより正確な選択を可能にする。
本発明の少なくとも1つの実施形態を詳細に説明する前に、本発明が、その適用において、以下の説明において示されたか、または図面もしくは実施例またはその両方において示されたか、あるいはその両方において示されたコンポーネントまたは方法あるいはその両方の構造および構成の詳細に必ずしも限定されないということが、理解されるべきである。本発明は、他の実施形態であることができ、またはさまざまな方法で実践もしくは実行することができる。
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいる1つまたは複数のコンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読記憶媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波路またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードのいずれかであってよい。
コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
ここで図面を参照すると、図1は、本発明の一部の実施形態に従って、言語入力の内容および任意選択的にコンテキストに基づいて、暗黙的ルーティングを使用して言語入力を言語内容ハンドラに自動的にルーティングする例示的なプロセスのフローチャートである。プロセス100は、1人または複数のユーザから受信された1つまたは複数の言語入力(例えば、テキスト入力、音声入力など)を、ユーザによって表された1つまたは複数の定義済みの言語内容の特徴を処理する(扱う)ようにそれぞれ適応された1つまたは複数の言語内容ハンドラにルーティングするために実行されてよい。このルーティングは、言語入力を解析すること、および例えば、言語入力において識別された内容、インテント(意思、目的、対象、目標など)、エンティティ(物体、項目、要素、対象のデバイス、対象のアプリケーションなど)、対話フローなどの、1つまたは複数の特徴を抽出することに基づく。この解析および抽出は、複数の言語内容識別器によって実行されてよく、この複数の言語内容識別器は、言語内容ハンドラのうちの各1つにそれぞれ関連付けられ、言語入力において各言語内容ハンドラに関連付けられた定義済みの特徴のうちの1つまたは複数を識別するように適応されている。言語内容識別器の各々は、特徴を抽出するために、1つまたは複数の言語解析ツール(例えば、テキスト解析、音声認識、自然言語処理(NLP)、音声解析など)を適用することができる。抽出された特徴ごとに、言語内容識別器は、抽出された特徴が各言語内容ハンドラに関連付けられた各定義済みの特徴に一致する確率を示す一致信頼値を計算することができる。
複数の言語内容識別器から受信された計算済みの一致信頼値を伴う抽出された特徴は、受信された言語入力を最も良く処理すると推定される好ましい言語内容ハンドラを選択するために評価され、すなわち、言語入力は、選択された言語内容ハンドラに最も良く関連すると推測される。その後、言語入力は、言語入力に応答して1つまたは複数のアクションを実行できる選択された言語内容ハンドラにルーティングされる。
任意選択的に、言語入力は複数のセグメントにセグメント化され、各セグメントは、特徴を抽出して一致信頼値を計算するために、別々に解析される。その後、セグメントごとに、複数の言語内容ハンドラから好ましい言語内容ハンドラが選択されてよい。
任意選択的に、ルーティングは、言語内容識別器のうちの1つまたは複数によって提供される1つまたは複数のコンテキスト属性または操作上の属性あるいはその両方に基づく。言語内容識別器のうちの1つまたは複数は、言語入力に関連する(例えば、以前の言語入力から抽出された特徴)、ユーザに関連する(例えば、感情、情緒、地理的位置など)など1つまたは複数のコンテキスト属性を抽出してよい。言語内容識別器のうちの1つまたは複数は、例えば、それらの各言語内容ハンドラ、以前のルーティング・イベント、1つまたは複数の他の言語内容ハンドラなどに関連する1つまたは複数の操作上の属性を報告してもよい。コンテキスト属性または操作上の属性あるいはその両方のうちの1つまたは複数が、好ましい言語内容ハンドラの選択に使用されてよい。
図2も参照すると、図2は、本発明の一部の実施形態に従って、言語入力の内容および任意選択的にコンテキストに基づいて、暗黙的ルーティングを使用して言語入力を言語内容ハンドラに自動的にルーティングするための例示的なシステムの概略図である。1人または複数のユーザ250からの言語入力を分類するための例示的なシステム200は、コンピューティング・デバイス201(例えば、処理ノード、コンピュータ、ラップトップ、サーバ、モバイル・デバイス(例えば、タブレット、セル方式のデバイス、スマートフォンなど)、処理デバイスを内蔵する家庭用電気製品、自律車両の処理デバイス、または1つまたは複数のプロセッサを含む任意の処理デバイス、あるいはその組み合わせ)を含んでいる。コンピューティング・デバイス201は、入出力(I/O:Input/Output)インターフェイス202、プロセッサ204、およびストレージ206を含んでいる。
I/Oインターフェイス202は、ユーザ250とインタラクションするための1つまたは複数のインターフェイス、特に、ユーザ250から言語入力を捕捉するための特定のインターフェイスを含んでよい。言語入力は、例えば、テキスト入力、音声入力などを含んでよい。したがって、I/Oインターフェイス202は、1つまたは複数の音声インターフェイス(例えば、ユーザ250によって話された(声に出された)音声を捕捉するためのマイクロホン)を含んでよい。I/Oインターフェイス202は、ユーザ250によって挿入されたテキストを捕捉するために、1つまたは複数のテキスト・インターフェイス(例えば、キーボード、タッチスクリーン、デジタル・ペンなど)を含んでもよい。I/Oインターフェイス202は、1つまたは複数のネットワーク(例えば、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN:Metropolitan Area Network)、セルラー・ネットワーク、またはインターネット、あるいはその組み合わせ)を接続して、1つまたは複数の遠隔の位置またはリソースあるいはその両方との通信を容易にするために、1つまたは複数の有線ネットワーク・インターフェイスまたは無線ネットワーク・インターフェイスあるいはその両方をさらに含んでよい。
プロセッサ204(同種または異種)は、クラスタまたは1つまたは複数のマルチコア・プロセッサあるいはその両方として並列処理用に配置された1つまたは複数のプロセッサを含んでよい。ストレージ206は、1つまたは複数の非一過性の永続的ストレージ・デバイス(例えば、ハード・ドライブ、フラッシュ・アレイなど)を含んでよい。ストレージ206は、1つまたは複数のネットワーク・ストレージ・デバイス(例えば、ストレージ・サーバ、ネットワークアクセス可能なストレージ(NAS:network accessible storage)、ネットワーク・ドライブなど)をさらに含んでよい。ストレージ206は、1つまたは複数の揮発性デバイス(例えば、ランダム・アクセス・メモリ(RAM)コンポーネントなど)を含んでもよい。
ストレージ206は、プロセッサ204によってストレージ206から実行され得る複数のプログラム命令をそれぞれ含んでいる1つまたは複数のソフトウェア・モジュール(例えば、OS、アプリケーション、ツール、エージェント、サービス、スクリプトなど)を格納してよい。例えば、プロセッサ204は、ユーザ250から捕捉された言語入力を、言語入力に応答して1つまたは複数のアクションを開始するように適応された1つまたは複数の言語内容ハンドラ212ソフトウェア・モジュールにルーティングするために、言語内容ルータ210ソフトウェア・モジュールを実行することができる。言語内容ハンドラ212によって開始されるアクションは、コンピューティング・デバイス201によってサポートされている、複数の機能、特徴、または動作、あるいはその組み合わせのうちの1つまたは複数を含むことができる。言語内容ハンドラ212の各々は、1つまたは複数の言語入力を処理し(扱い)、各言語内容ハンドラ212に関連付けられた1つまたは複数の定義済みの言語入力の検出に応答して、1つまたは複数のアクションを開始するように、適応されてよい。定義済みの言語入力は、受信された言語入力から抽出されることがある1つまたは複数の特徴(例えば、内容、インテント(意思、目的、対象、目標など)、エンティティ(物体、項目、要素、対象のデバイス、対象のアプリケーションなど)、対話フローなど)によって識別されるか、または特徴付けられるか、あるいはその両方が行われてよい。
必要に応じて、言語内容ルータ210、または言語内容ハンドラ212のうちの1つまたは複数、あるいはその両方は、1つまたは複数のリモート・プラットフォーム(例えば、リモート・サーバ)、クラウド・コンピューティング・プラットフォーム(例えば、Amazon Web Service(AWS)、Google Cloud、Microsoft Azureなど)などによって実行される。追加または代替あるいはその両方として、言語内容ルータ210、または言語内容ハンドラ212のうちの1つまたは複数、あるいはその両方は、1つまたは複数のリモート・サービス、リモート・サービス、クラウド・サービス、SaaS(Software as a Service)、PaaS(Platform as a Service)などとして実装されてよい。そのような実装では、コンピューティング・デバイス201は、リモートで実行されている言語内容ルータ210または言語内容ハンドラ222あるいはその両方とネットワークを経由して通信できるローカル・エージェントを実行してよい。このようにして、ローカル・エージェントは、捕捉された言語音声入力(例えば、テキスト入力または音声入力あるいはその両方)を、リモートで実行されている言語内容ルータ210または音声処理モジュール222あるいはその両方に、処理するために中継してよい。
任意選択的に、言語内容ルータ210、および言語内容ハンドラ212のうちの1つまたは複数は、ユーザ250によって使用されるコンピューティング・デバイス201などの1つまたは複数のコンピューティング・デバイスとネットワークを経由して通信して、ユーザ250から捕捉された言語入力を受信する、自動化されたソフトウェア・エージェント・プラットフォーム、システム、またはアプリケーション(例えば、ボット、インターネット・ボットなど)、あるいはその組み合わせによって実行される。
102に示されているように、プロセス100は、言語内容ルータ210が、I/Oインターフェイス202を介して、ユーザ250から捕捉された言語入力を受信することから開始する。この言語入力は、テキストの内容、音声の内容などを含んでよく、それに応じて、言語入力の各タイプに適したI/Oインターフェイス202のインターフェイスを介して捕捉される。プロセス100の実行を介してテキストの内容の形態での言語入力がシステム200によってサポートされているときに、音声の内容の形態での言語入力が特に重要になることがある。
任意選択的に、言語内容ルータ210は、その言語入力を複数のセグメントにセグメント化し、各セグメントは、プロセス100を介して独立して処理される。
104に示されているように、言語内容ルータ210は、受信された言語入力に複数の言語内容識別器を適用することができ、例えば内容ルータ210は、言語入力を複数の言語内容識別器に提供することができる。言語内容識別器の各々は、言語内容ハンドラ212のうちの各1つに関連付けられる。そのため、各言語内容ハンドラ212は、それに関連付けられた言語内容識別器のセット(1つまたは複数)を言語内容ルータ210に登録し、登録された言語内容識別器を言語入力に適用することを言語内容ルータ210に示してよい。
言語内容ハンドラ212の各々が、1つまたは複数の定義済みの言語入力に応答してアクションを実行するように適応されているため、各言語内容識別器は、その各言語内容ハンドラ212との言語入力との関連性を評価するように適応されてよい。定義済みの言語入力は、1つまたは複数の定義済みの特徴(例えば、内容、インテント(意思、目的、対象、目標など)、エンティティ(物体、項目、要素、対象のデバイス、対象のアプリケーションなど)、対話フローなど)によって識別されるか、または特徴付けられるか、あるいはその両方が行われてよい。したがって、各言語内容識別器は、言語入力において特徴を識別し、その各言語内容ハンドラ212に関連付けられた各定義済みの特徴との、それらの特徴の一致を評価するように、適応されてよい。そのため、言語内容識別器の各々は、その各言語内容ハンドラ212の特定の特性に従って、特に効率的に適応されて(例えば、設計、構成、トレーニングなどを実行されて)よい。具体的には、言語内容識別器の各々は、言語入力においてその各言語内容ハンドラ212の定義済みの特徴を識別することに重点を置くように、特に適応されて(例えば、設計、構成、トレーニングなどを実行されて)よい。例えば、言語内容識別器のうちの1つまたは複数は、その各言語内容ハンドラ212に関連付けられた特定の定義済みの特徴を識別するようにトレーニング・サンプル・データセットを使用してトレーニングされた、1つまたは複数の分類器(分類機能)を採用してよい。
各言語内容識別器は、1つまたは複数の言語解析ツール(例えば、テキスト解析、自然言語処理(NLP)、音声認識、音声テキスト(STT)変換、音声合成、会話構築など)を使用して、言語入力から1つまたは複数の特徴を抽出してよい。言語内容識別器は、従来技術において知られているそのような言語解析ツール(例えば、Watson Conversation Service(WCS)、Watson Natural Language Understanding(NLU)、regexp、API.AI、wit.aiなど)を、さらに採用してよい。
106に示されているように、言語内容識別器の各々は、言語入力から抽出した特徴ごとに、抽出された特徴についての一致信頼値を計算してよい。計算された一致信頼値は、抽出された特徴が、各言語内容ハンドラ212に対して定義された(関連付けられた)各定義済みの特徴に実際に一致する確率(一致レベル)を示すことができる。一致信頼値は、通常、0が一致の最低の確率、1が最高の確率であるとして、[0,1]の範囲にマッピングされた正規化された値として表されてよい。しかし、一致信頼値の他の実装が使用されてよく、提示された実施形態は、限定と解釈されるべきではない。言語内容識別器は、抽出された特徴ごとに一致信頼値を計算することによって、言語内容識別器に関連付けられた言語内容ハンドラ212との、一般的には言語入力の関連性、および具体的には抽出された特徴の関連性を、評価してよい。
例えば、1つまたは複数の家庭用電気製品(例えば、照明、空調装置、シャッターなど)の動作を制御するように適応された家庭用電気製品制御言語内容ハンドラ212を想定する。そのような家庭用電気製品制御言語内容ハンドラ212は、1つまたは複数の定義済みの特徴(例えば、照明、空調、シャッター、オンにする、オフにする、開く、閉じるなど)に関連付けられてよい。定義済みの特徴は、位置(例えば、台所、居間、寝室など)をさらに含んでよい。したがって、家庭用電気製品制御言語内容ハンドラ212に関連付けられた言語内容識別器は、1つまたは複数の特徴を言語入力から抽出し、定義済みの特徴のうちの各1つに関して、抽出された特徴ごとに一致信頼値を計算することによって、抽出された特徴と、家庭用電気製品制御言語内容ハンドラ212に関連付けられた定義済みの特徴との間の一致を評価するように、適応されてよい。
別の例では、ユーザ250から受信された指示に従って車両(例えば、自動車)をルーティングするためのナビゲーション・システムを制御するように適応された、ナビゲーション制御言語内容ハンドラ212を想定する。そのようなナビゲーション言語内容ハンドラ212は、1つまたは複数の定義済みの特徴(例えば、運転、旅行、道路、住所、ルートなど)に関連付けられてよい。定義済みの特徴は、地理的位置(例えば、都市名、道路名、ランドマーク名など)をさらに含んでよい。したがって、ナビゲーション言語内容ハンドラ212に関連付けられた言語内容識別器は、1つまたは複数の特徴を言語入力から抽出し、定義済みの特徴のうちの各1つに関して、抽出された特徴ごとに一致信頼値を計算することによって、抽出された特徴と、ナビゲーション言語内容ハンドラ212に関連付けられた定義済みの特徴との間の一致を評価するように、適応されてよい。
任意選択的に、言語内容識別器のうちの1つまたは複数は、言語入力、ユーザ250などに関連する1つまたは複数のコンテキスト属性を抽出する。言語内容識別器は、各言語内容ハンドラ212に関連付けられた1つまたは複数の定義済みのコンテキスト属性との一致の確率を示すことができる一致信頼値を、抽出されたコンテキスト属性ごとにさらに計算してよい。
コンテキスト属性は、例えば、ユーザ250の感情または情緒あるいはその両方(例えば、ストレス、怒り、心配、喜び、くつろぎなど)を含んでよい。これは、当然ながら、ユーザ250によって話される(声に出される)音声入力の形態での言語入力にとって、非常に重要になることがある。言語内容識別器は、ユーザ250が言語入力を声に出しているときに経験することのある1つまたは複数の感情または情緒あるいはその両方を抽出する(すなわち、評価または推定あるいはその両方を行う)ために、1つまたは複数の解析ツール(例えば、音声解析ツールなど)を適用してよい。言語内容識別器は、言語内容識別器に関連付けられた各言語内容ハンドラ212に対して事前に定義され得る1つまたは複数の感情または情緒あるいはその両方との抽出された感情または情緒あるいはその両方の一致の確率を示すことができる一致信頼値を、抽出された感情または情緒あるいはその両方ごとに計算してよい。例えば、救急センターへの緊急呼び出しを開始するように適応された緊急時向け言語内容ハンドラ212は、1つまたは複数の定義済みの感情または情緒あるいはその両方(例えば、ストレス、心配など)に関連付けられてよい。緊急時向け言語内容ハンドラ212に関連付けられた言語内容識別器は、ユーザ250の感情または情緒あるいはその両方を言語入力から抽出し、抽出された感情または情緒あるいはその両方ごとに一致信頼値を計算し、緊急時向け言語内容ハンドラ212に関連付けられた定義済みの感情または情緒あるいはその両方のうちの各1つとの抽出された感情または情緒あるいはその両方の一致を評価するように適応されてよい。
コンテキスト属性は、例えば、ユーザ250の地理的位置(例えば、特定の地理的位置、屋内、屋外など)を含んでもよい。言語内容識別器は、そのような地理的位置情報を、コンピューティング・デバイス201で使用可能な1つまたは複数の位置検出ツール(例えば、インターネット・プロトコル(IP:Internet Protocol)アドレス、ナビゲーション・アプリケーション(例えば、全地球測位システム(GPS:Global Positioning System)ベースのアプリケーション)、三角測量システム、施設存在アプリケーション(例えば、現在の位置を識別するために施設(例えば、住宅、事務所、工場など)内に展開された送信器と通信するアプリケーション)、現在行われているイベントの位置を示すことができるカレンダー・アプリケーションなど)から取得してよい。言語内容識別器は、地理的位置を、コンピューティング・デバイス201で使用可能な1つまたは複数のセンサ(例えば、屋内または屋外あるいはその両方の照明を示すことができる光センサ、GPSセンサなど)からさらに取得してよい。言語内容識別器は、言語内容識別器に関連付けられた各言語内容ハンドラ212に対して事前に定義され得る1つまたは複数の地理的位置との一致の確率を示すことができる一致信頼値を、地理的位置に対して計算することができる。例えば、ユーザ250から受信された指示に従って車両をルーティングするためのナビゲーション・システムを制御するように適応されたナビゲーション言語内容ハンドラ212は、ユーザ250が現在車両を運転していることを示す(提案する)ことができる屋外の地理的位置(具体的には、道路、幹線道路など)に関連付けられてよい。したがって、ナビゲーション言語内容ハンドラ212に関連付けられた言語内容識別器は、屋外の地理的位置(具体的には、道路、幹線道路など)に対しては高い一致信頼値を計算し、一方、屋内の地理的位置に対しては低い一致信頼値を計算するように、適応されてよい。
加えて、コンテキスト属性は、1つまたは複数の以前の言語入力から抽出された1つまたは複数の以前の特徴(例えば、インテント、エンティティ、対話フローなど)を含んでよい。さらに、言語内容識別器のうちの1つまたは複数は、以前の特徴のうちの1つまたは複数に対して一致信頼値を計算してよい。
任意選択的に、言語内容識別器のうちの1つまたは複数は、言語内容識別器が関連付けられた各言語内容ハンドラ212に対して事前に定義され得る、言語入力における強制のエンティティの特徴の存在を評価する。強制のエンティティは、各言語内容ハンドラ212に関連付けられた特定の1つまたは複数のインテントの特徴を含んでいる言語入力に現れるように、事前に定義されてよい。したがって、そのような制御言語内容ハンドラ212に関連付けられた言語内容識別器は、言語入力において強制のエンティティを識別し、それに応じて、制御言語内容ハンドラ212に関連付けられた強制のエンティティに対して一致信頼値を計算するように、適応されてよい。例えば、1つまたは複数の家庭用電気製品(例えば、照明、空調装置、シャッターなど)の動作を制御するように適応された家庭用電気製品制御言語内容ハンドラ212を想定する。1つまたは複数の強制のエンティティは、そのような家庭用電気製品制御言語内容ハンドラ212に対して事前に定義されてよく(例えば、照明、空調、シャッターなど)、具体的には、強制のエンティティは、1つまたは複数のインテントの特徴(例えば、オンにする、開くなど)に関して事前に定義されてよい。したがって、家庭用電気製品制御言語内容ハンドラ212に関連付けられた言語内容識別器は、言語入力において強制のエンティティを識別し、強制のエンティティに対して一致信頼値を計算するように、適応されてよい。例えば、関連付けられた言語内容識別器のうちの1つが、特定の一致信頼値で、オンにするインテントの特徴を識別した場合、関連付けられた言語内容識別器は、1つまたは複数の定義済みの強制のエンティティ(例えば、照明、空調など)をさらに検索し、それに応じて、それらの一致信頼値を計算してよい。
任意選択的に、言語内容識別器のうちの1つまたは複数は、それらの各言語内容ハンドラ212に関連する1つまたは複数の操作上の属性を報告するか、または提供するか、あるいはその両方を行う。
操作上の属性は、例えば、言語入力を処理する(扱う)ための、それらの各言語内容ハンドラ212の能力(状態)を含んでよい。例えば、特定の言語内容識別器が、言語入力から抽出された特定の特徴を評価し、各言語内容ハンドラ212に関連付けられた特定の定義済みの特徴を照合することを想定する。ただし、特定の定義済みの特徴が、通常、各言語内容ハンドラ212とのユーザ250の最初の対話中には使用されず、対話フローにおいて後で使用されるということを想定する。さらに、各言語内容ハンドラ212がまだ開始されていない(すなわち、現在のセッションの以前の言語入力が各言語内容ハンドラ212にルーティングされていない)ということを想定する。そのような場合、特定の言語内容識別器は、各言語内容ハンドラ212が、(現在の)言語入力を処理するための状態にない(初期化されていない)ため、(現在の)言語入力を処理できないということを示してよい。例えば、特定の言語内容識別器が、高い一致信頼値を伴う「はい」のエンティティの特徴を抽出したと想定する。しかし、通常は1つまたは複数の対話フローに沿って「はい」のエンティティの特徴を処理できる各言語内容ハンドラ212は、現在、初期化されていない状態にあり、この状態では、各言語内容ハンドラ212が「はい」のエンティティの特徴を処理できない。
操作上の属性は、言語入力から特徴を抽出するために言語内容識別器のうちの1つまたは複数によって使用される言語解析ツールの説明を含んでもよい。例えば、NLPのタイプ/バージョン、音声認識ツールのタイプ/バージョンなど。
操作上の属性は、各言語内容ハンドラ212に関連する以前のルーティング情報をさらに含んでよい。例えば、特定の言語内容識別器は、以前の言語入力を処理するために各言語内容ハンドラ212が選択された、定義済みの数の以前のルーティング・イベントを報告してよい。操作上の属性は、各言語内容ハンドラ212に関する以前の対話フロー情報をさらに含んでよい。以前の各対話フローは、ユーザ250との現在のセッション中に各言語内容ハンドラ212によって受信された1つまたは複数の言語入力を含んでいるか、または示すか、あるいはその両方であってよい。
各言語内容ハンドラ212に関連付けられた言語内容識別器のうちの1つまたは複数は、1つまたは複数の他の言語内容ハンドラ212に関連する1つまたは複数の操作上の属性をさらに報告するか、または提供するか、あるいはその両方を行ってよい。例えば、特定の言語内容ハンドラ212に関連付けられた特定の言語内容識別器は、1つまたは複数の他の言語内容ハンドラ212に関連する以前のルーティング情報を取得してよい。特定の言語内容識別器は、例えば、他の言語内容ハンドラ212に関連付けられた1つまたは複数の言語内容識別器から、そのようなルーティング情報を取得してよい。
本発明の一部の実施形態では、言語内容ルータ210は、コンテキスト情報または操作上の情報あるいはその両方を、言語内容識別器のうちの1つまたは複数に提供してよく、具体的には、コンテキスト情報または操作上の情報あるいはその両方が、各言語入力と共に提供されてよい。言語内容ルータ210は、例えば、1つまたは複数のコンテキスト属性または1つまたは複数の操作上の属性あるいはその両方を、言語内容識別器のうちの1つまたは複数に提供してよい。言語内容ルータ210によって特定の言語内容識別器に提供されたコンテキスト属性または1つまたは複数の操作上の属性あるいはその両方は、特定の言語内容識別器に関連付けられた言語内容ハンドラ212または1つまたは複数の他の言語内容ハンドラ212あるいはその両方に関連する属性を含んでよい。さらに、言語内容識別器のうちの1つまたは複数は、言語内容ルータ210から受信された1つまたは複数のコンテキスト属性または操作上の属性あるいはその両方に対して、一致信頼値を計算してよい。例えば、言語内容ルータ210は、特定の言語内容識別器に関連付けられた言語内容ハンドラ212または他の言語内容ハンドラ212あるいはその両方に関連する、以前のルーティング情報または以前の対話フローあるいはその両方を、特定の言語内容識別器に提供してよい。言語内容ルータ210によってコンテキスト情報または操作上の情報あるいはその両方が格納されるか、処理されるか、または提供されるか、あるいはその組み合わせが行われてよいため、言語内容ハンドラ212のうちの少なくとも一部が、互いに独立しているか、または場合によっては、互いに気付かないでいるか、あるいはその両方であってよく、それと同時に、他の言語内容ハンドラ212に関連するコンテキスト情報または操作上の情報あるいはその両方を利用することもできる。
言語内容識別器は、抽出された特徴に対する計算結果を含んでいる記録(例えば、ファイル、構造、リストなど)を作成してよい。言語内容識別器は、強制のエンティティに関するコンテキスト属性に対する計算結果を、任意選択的に提供してよい。言語内容識別器は、操作上の属性をさらに提供してよい。例示的なそのような記録が、下の疑似コードの抜粋1に提示されている。
Figure 0007220005000001
108に示されているように、言語内容ルータ210は、言語入力から抽出された特徴ごとに複数の言語内容識別器によって提供された計算結果を収集し、計算された一致信頼値に基づいて、複数の言語内容ハンドラ212のうちの好ましい1つを選択する。例えば、言語内容ルータ210は、特定の言語内容識別器が特定の1つまたは複数の抽出された特徴に対して最高の一致信頼値を計算したということを識別してよく、したがって、好ましい言語内容ハンドラ212になるように、特定の言語内容識別器に関連付けられた言語内容ハンドラ212を選択してよい。別の例では、言語内容ルータ210は、言語内容識別器のうちの1つまたは複数によって抽出された複数の特徴に対して計算された一致信頼値を集計し、各言語内容識別器に関して、集計された一致信頼値を計算してよい。言語内容ルータ210は、最高の集計された一致信頼値を提示する言語内容識別器に関連付けられた言語内容ハンドラ212になるように、好ましい言語内容ハンドラ212を選択してよい。
任意選択的に、言語内容ルータ210は、コンテキスト属性のうちの1つまたは複数に関して言語内容識別器のうちの1つまたは複数によって提供された計算結果を収集し、コンテキスト属性に対して計算された一致信頼値を使用して、好ましい言語内容ハンドラ212を選択する。具体的には、言語内容ルータ210は、抽出された特徴に対して同じ言語内容識別器によって計算された一致信頼値と共に、コンテキスト属性の一致信頼値を集計してよい。これによって、言語入力のコンテキスト、ユーザ250のコンテキストなどがユーザ250の実際の意思を表すことがあるため、好ましい言語内容ハンドラ212の選択の精度を大幅に上げることができる。
例えば、第1の言語内容ハンドラ212に関連付けられた第1の言語内容識別器および第2の言語内容ハンドラ212に関連付けられた第2の言語内容識別器が、1つまたは複数の抽出された特徴に対して類似する一致信頼値を提示するということを想定する。「類似する」という用語の範囲は、複数の言語内容識別器によって計算された一致信頼値が定義済みの差分値以内である場合に、それらの一致信頼値が類似していると見なされるように、特定の差分値として事前に定義されてよい。さらに、第1の言語内容ハンドラ212が1つまたは複数の特定の感情または情緒あるいはその両方(例えば、ストレスまたは心配あるいはその両方)に関連付けられており、第2の言語内容ハンドラ212が1つまたは複数の他の感情または情緒あるいはその両方(例えば、喜び)に関連付けられていることを想定する。そのような場合、第1および第2の言語内容識別器は、言語入力から抽出されたユーザ250の感情または情緒あるいはその両方に応じて、感情または情緒あるいはその両方のコンテキスト属性に対して、著しく異なる一致信頼値を計算し得る。例えば、ユーザ250が現在ストレスを経験していることを想定すると、第1の言語内容識別器が、感情のコンテキスト属性に対して非常に高い一致信頼値を計算することがあり、一方、第2の言語内容識別器が、感情のコンテキスト属性に対して非常に低い一致信頼値を計算することがある。そのような場合、言語内容ルータ210は、好ましい言語内容ハンドラ212として第1の言語内容ハンドラ212を選択してよい。
別の例では、第1の言語内容ハンドラ212に関連付けられた第1の言語内容識別器および第2の言語内容ハンドラ212に関連付けられた第2の言語内容識別器が、1つまたは複数の抽出された特徴に対して類似する一致信頼値を提示するということを想定する。さらに、第1の言語内容ハンドラ212が屋内のコンテキストに関連付けられており、一方、第2の言語内容ハンドラ212が屋外のコンテキストに関連付けられているということを想定する。そのような場合、第1および第2の言語内容識別器は、ユーザ250の地理的位置に応じて、地理的位置のコンテキスト属性に対して、著しく異なる一致信頼値を計算し得る。例えば、ユーザ250が現在屋外にいると想定すると、第1の言語内容識別器が、感情のコンテキスト属性に対して非常に低い一致信頼値を計算することがあり、一方、第2の言語内容識別器が、感情のコンテキスト属性に対して非常に高い一致信頼値を計算することがある。そのような場合、言語内容ルータ210は、好ましい言語内容ハンドラ212として第2の言語内容ハンドラ212を選択してよい。
別の例では、言語内容ルータ210は、言語内容識別器のうちの1つまたは複数によって提供された以前の特徴のうちの1つまたは複数に基づいて、好ましい言語内容ハンドラ212を選択してよい。例えば、1つまたは複数の以前の言語入力またはその一部あるいはその両方に対して、特定の言語内容ハンドラ212が好ましい言語内容ハンドラ212として選択されたことを想定すると、言語内容ルータ210は、(現在の)言語入力のルーティング先になる好ましい言語内容ハンドラ212を選択するために、任意選択的に以前の特徴に割り当てられた計算済みの一致信頼値を伴う以前のルーティングを評価してよい。
任意選択的に、言語内容ルータ210は、言語内容識別器のうちの1つまたは複数によって提供された操作上の属性を収集し、操作上の属性を使用して、好ましい言語内容ハンドラ212を選択する。これによって、言語内容ハンドラ212の操作上の状態がユーザ250との以前のインタラクションを表すことがあるため、好ましい言語内容ハンドラ212の選択の精度をさらに上げることができる。本発明の一部の実施形態では、言語内容ルータ210は、操作上の属性のうちの1つまたは複数をグローバルに格納する。例えば、言語内容ルータ210は、特に現在の対話セッション中に、言語内容ハンドラ212への以前の言語入力のルーティングを反映する以前の(過去の)ルーティング情報または対話フローあるいはその両方を、格納してよい。言語内容識別器によって提供された操作上の属性を使用するのと同様に、言語内容ルータ210は、(現在の)言語入力のルーティング先とする好ましい言語内容ハンドラ212を選択するために、格納された操作上の情報を使用してよい。操作上の属性を言語内容識別器に格納すること、処理すること、または提供すること、あるいはその組み合わせを実行することによって、言語内容ハンドラ212のうちの少なくとも一部が、他の言語内容ハンドラ212に関連するコンテキスト情報または操作上の情報あるいはその両方を利用し得ながら、互いに独立していることが可能になってよい。
例えば、言語内容ルータ210は、特定のしきい値を超えることができない一致信頼値を生成した言語内容識別器に関連付けられた1つまたは複数の言語内容ハンドラ212をフィルタで除去してよい(すなわち、選択しなくてよい)。言語内容ハンドラ212は、グローバルに事前に定義されたしきい値を、言語内容ハンドラ212のうちの1つまたは複数をフィルタで除去するための基準として使用してよい。しかし、言語内容ハンドラ212は、言語内容識別器のうちの1つまたは複数によって提供された1つまたは複数の定義済みのしきい値を操作上の属性の一部として使用してよい。そのような場合、定義済みのしきい値は、異なる言語内容識別器ごとに異なっていてよい。任意選択的に、1つまたは複数の定義済みのしきい値の値は、異なる抽出された特徴、異なるコンテキスト属性、または異なる強制のエンティティ、あるいはその組み合わせに適していてよい。
別の例では、言語内容ルータ210は、関連付けられた言語内容識別器によって示された1つまたは複数の言語内容ハンドラ212を、言語入力を処理できない(すなわち、処理する状態にない)として、フィルタで除去して(選択しないで)よい。
別の例では、言語内容ルータ210は、1つまたは複数の強制のエンティティが言語入力に存在しないか、または定義済みのしきい値を超えることができない一致信頼値が強制のエンティティに割り当て得られているか、あるいはその両方であるということを、関連付けられた言語内容識別器が示した1つまたは複数の言語内容ハンドラ212を、フィルタで除去して(選択しないで)よい。
別の例では、言語内容ルータ210は、言語内容識別器のうちの1つまたは複数によって提供された以前のルーティング情報または以前の対話フロー情報あるいはその両方を使用して、好ましい言語内容ハンドラ212を選択してよい。例えば、複数の言語内容識別器が、言語入力から抽出された特徴に対して著しく類似する一致信頼値を提示するということを想定する。そのような場合、言語内容ルータ210は、以前の言語入力を最近処理した言語内容ハンドラ212になるように、好ましい言語内容ハンドラ212を選択してよい。例えば、第1の言語内容ハンドラ212に関連付けられた第1の言語内容識別器および第2の言語内容ハンドラ212に関連付けられた第2の言語内容識別器が、類似する一致信頼値を提示するということを想定する。さらに、第1の言語内容ハンドラ212にルーティングが行われたときより最近に、以前の言語入力が第2の言語内容ハンドラ212にルーティングされたということを想定する。そのような場合、時間局所性に基づいて、現在の言語入力が第2の言語内容ハンドラ212に向けられる確率が、現在の言語入力が第1の言語内容ハンドラ212に向けられる確率より高い可能性があるため、言語内容ルータ210は、第2の言語内容ハンドラ212を好ましい言語内容ハンドラ212として選択してよい。
別の例では、言語内容ルータ210は、操作上の属性は、言語入力から特徴を抽出するために言語内容識別器のうちの1つまたは複数によって使用される言語解析ツールの説明を使用して、好ましい言語内容ハンドラ212を選択してよい。例えば、複数の言語内容識別器が、言語入力から抽出された特徴に対して著しく類似する一致信頼値を提示するということを想定する。そのような場合、言語内容ルータ210は、言語内容識別器のうちの1つまたは複数によってどの言語解析ツールが適用されたかを評価し、例えば、最も高度な言語解析ツールを適用した言語内容識別器に関連付けられた言語内容ハンドラ212になるように、好ましい言語内容ハンドラ212を選択してよい。
任意選択的に、言語内容ルータ210は、言語内容ハンドラ212に優先順位を付ける、事前定義された、または動的に設定された、あるいはその両方である、優先順位付けメカニズムを使用する。優先度は、個別の言語内容ハンドラ212または言語内容ハンドラ212のグループあるいはその両方に適用されてよい。例えば、言語内容ハンドラ212の第2のグループと比較して高い優先度が言語内容ハンドラ212の第1のグループに割り当てられるということを想定する。言語内容ルータ210は、好ましい言語内容ハンドラ212を選択するときに、第1のグループを優先してよい。そのような場合、言語内容ルータ210は、第2のグループの言語内容ハンドラ212に関連付けられた言語内容識別器がより高い一致信頼値を提示する場合でも、第1のグループから好ましい言語内容ハンドラ212を選択してよい。しかし、第1のグループの言語内容ハンドラ212に関連付けられた言語内容識別器がいずれもしきい値を超える一致信頼値を提示しない場合、言語内容ルータ210は、第2のグループから好ましい言語内容ハンドラ212を選択してよい。
任意選択的に、言語内容ルータ210は、好ましい言語内容ハンドラ212としてデフォルトの言語内容ハンドラ212を選択する。例えば、言語内容ルータ210は、言語内容識別器がいずれも定義済みのしきい値を超える一致信頼値を生成しない場合に、デフォルトの言語内容ハンドラ212を選択する。これは、抽出された特徴、コンテキスト属性、または強制のエンティティ、あるいはその組み合わせに対して計算された一致信頼値に適用されてよい。言語内容ルータ210は、例えば、ブラウザ・タイプの言語内容ハンドラ212を好ましい言語内容ハンドラ212として選択し、そのブラウザに対して、特定のWebサイトにアクセスするように指示してよく、ユーザ250は、この特定のWebサイトにおいてブラウズして自分の意思を達成することができる。言語内容ルータ210は、コンテキスト属性のうちの1つまたは複数に従って、デフォルトの言語内容ハンドラ212を任意選択的に選択してよい。例えば、言語内容ハンドラ212が、言語内容識別器のうちの1つまたは複数によって提供されたコンテキスト属性に基づいて、ユーザ250が特定の地理的位置(例えば、映画館の複合施設)にいることを識別するということを想定する。そのような場合、言語内容ハンドラ212は、例えば、駐車発見言語内容ハンドラ212を好ましい言語内容ハンドラ212として選択し、ユーザ250が駐車場または駐車場所あるいはその両方の位置を特定するための助言を求めることができるようにしてよい。
110に示されているように、言語内容ルータ210は、選択された言語内容ハンドラ212に言語入力をルーティングする。当然ながら、言語入力がセグメント化された場合、プロセス100のステップ104~110を介してセグメントの各々が処理され、各セグメントに対して選択された、言語内容ハンドラ212のうちの1つにルーティングされる。
選択された言語内容ハンドラ212は、言語入力を介してユーザ250によって示された1つまたは複数のアクション(例えば、機能の呼び出し、特徴の適用、動作の開始など)を開始してよい。当然ながら、選択された言語内容ハンドラ212によって開始されるアクションは、コンピューティング・デバイス201によってサポートされる。例えば、コンピューティング・デバイス201がスマートフォンであることを想定すると、選択された言語内容ハンドラ212によって開始されるアクションは、例えば、モバイル・アプリケーションを開始すること(例えば、選択された連絡先への電話呼び出しを開始する、テキスト・メッセージまたは電子メール・メッセージあるいはその両方を選択された連絡先に送信する、特定のWebサイトへとブラウズする、写真を撮る、音声入力の記録を開始する、媒体の内容を再生する、コンピューティング・デバイスをオン/オフにする、音量を設定するなど)を含んでよい。別の例では、コンピューティング・デバイス201が自律車両の制御システムであることを想定すると、選択された言語内容ハンドラ212によって開始されるアクションは、例えば、車両を始動/停止すること、運転プロファイルを設定すること、照明をオン/オフにすること、特定の地理的位置にナビゲートすること、車両のインフォテインメント・システムで媒体の内容を再生することなどを含んでよい。別の例では、コンピューティング・デバイス201が1つまたは複数の家庭用電気製品の制御システム(例えば、仮想パーソナル・アシスタント)であることを想定すると、選択された言語内容ハンドラ212によって開始されるアクションは、例えば、家庭用電気製品をオン/オフにすること、家庭用電気製品でアプリケーションを開始すること、家庭用電気製品の状態をチェックすることなどを含んでよい。
本出願から成熟する特許権の存続期間の間に、多くの関連するシステム、方法、およびコンピュータ・プログラムが開発されることが期待されており、言語解析ツールという用語の範囲は、そのような新しい技術をすべて先験的に含むよう意図されている。
本明細書において使用されるとき、「約」という用語は、±10%を指す。
「備える」、「備えている」、「含む」、「含んでいる」、「有している」、およびこれらの活用形は、「~を含んでいるが、これに限定されない」ということを意味する。この用語は、「~から成る」および「基本的に~から成る」という用語を包含する。
「基本的に~から成る」という語句は、組成または方法が追加の原料またはステップあるいはその両方を含んでよいということを意味するが、ただしそれは、追加の原料またはステップあるいはその両方が、請求された組成または方法の基本的な新しい特性を著しく変更しない場合に限る。
本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈において特に明確に示されない限り、複数の参照を含む。例えば、「化合物」または「少なくとも1つの化合物」という用語は、化合物の混合を含む、複数の化合物を含んでよい。
本説明全体を通じて、本発明のさまざまな実施形態が、範囲の形式で提示されることがある。範囲の形式における説明が、単に便宜および簡潔さのためであり、本発明の範囲に対する柔軟性のない制限であると解釈されるべきではないということが、理解されるべきである。したがって、範囲の説明は、その範囲内の個別の数値に加えて、すべての可能な部分範囲を特に開示していると見なされるべきである。例えば、1~6などの範囲の説明は、その範囲内の個別の数値(例えば、1、2、3、4、5、および6)に加えて、1~3、1~4、1~5、2~4、2~6、3~6などの部分範囲を特に開示していると見なされるべきである。このことは、範囲の幅に関わらず当てはまる。
本明細書において数値範囲が示される場合は常に、示された範囲内で引用されたすべての数値(分数または整数)を含むことが意図されている。1番目に示された数字と2番目に示された数字「の間の範囲にわたる」、および1番目に示された数字「から」2番目に示された数字「までの範囲にわたる」という語句は、本明細書では交換可能なように使用されており、1番目に示された数字および2番目に示された数字、ならびにそれらの間のすべての分数および整数を含むよう意図されている。
「例示的」という単語は、本明細書では「例、事例、または実例としての役割を果たす」ことを意味するために使用される。「例示的な」と説明されたすべての実施形態は、必ずしも、他の実施形態より好ましいとも、有利であるとも解釈されるべきでなく、または他の実施形態の特徴の組み込みを除外すると解釈されるべきでなく、あるいはその両方として解釈されるべきでない。
「任意選択的」という単語は、本明細書では「一部の実施形態では提供され、他の実施形態では提供されない」ことを意味するために使用される。本発明のすべての特定の実施形態は、複数の「任意選択的」特徴を、そのような特徴が矛盾しない限り含んでよい。
明確にするために別々の実施形態の文脈において説明された本発明の特定の特徴が、単一の実施形態において組み合わさって提供されてもよいということが、理解される。反対に、簡潔にするために単一の実施形態の文脈において説明された本発明のさまざまな特徴は、別々に、または任意の適切な部分的組み合わせで、あるいは本発明の任意のその他の説明された実施形態において適切であるように、提供されてもよい。さまざまな実施形態の文脈において説明された特定の特徴は、そのような要素なしでは実施形態が動作不能になるのでない限り、それらの実施形態の不可欠な特徴と見なされるべきではない。
本発明は、その特定の実施形態と併せて説明されたが、多くの代替、変更、および変形が当業者にとって明らかであるということは明白である。したがって、添付の特許請求の範囲内に含まれるすべてのそのような代替、変更、および変形を包含することが、意図されている。
本明細書において言及されたすべての公開文献、特許、および特許出願は、本明細書では、個々の公開文献、特許、または特許出願が具体的かつ個別に参照によって本明細書に組み込まれていると示された場合と同じ程度まで、全体的に参照によって本明細書に組み込まれる。加えて、本出願におけるすべての参照の引用または識別は、そのような参照が従来技術として本発明に使用可能であることの承認であると解釈されてはならない。セクションの見出しが使用されている範囲内で、それらの参照が必ずしも制限であると解釈されるべきではない。

Claims (17)

  1. 言語入力を複数のハンドラのうちの1つにルーティングする方法であって、
    プロセッサが、
    言語入力をユーザから受信することと、
    複数の言語内容識別器を前記言語入力に適用することであって、前記複数の言語内容識別器の各々が、前記言語入力から抽出された少なくとも1つの特徴に対して一致信頼値を計算することによって、複数のハンドラのうちの各1つとの前記言語入力の関連性を評価するように適応されており、前記少なくとも1つの特徴が、前記ユーザによって表されたインテントおよび前記ユーザによって示されたエンティティのうちの少なくとも1つを含んでいる、前記適用することと、
    前記複数の言語内容識別器によって計算された一致信頼値に基づいて、前記複数のハンドラのうちの選択された1つに前記言語入力をルーティングすることであって、前記ルーティングで用いる前記一致信頼値は、ハンドラに対し定義された少なくとも1つの定義済みの特徴の異なるものについて計算された複数の一致信頼値を集計することによって計算された、集計された一致信頼値であり、前記選択されたハンドラが、前記言語入力に応答して少なくとも1つのアクションを開始するように適応されている、前記ルーティングすることと
    を含み、前記少なくとも1つの定義済みの特徴に従って前記関連性を評価するように前記各言語内容識別器を適応させることによって、前記複数の言語内容識別器の各々が前記複数のハンドラのうちの各1つに関連付けられ、前記少なくとも1つの特徴に対する前記一致信頼値が、前記少なくとも1つの特徴が各前記定義済みの特徴に一致する確率を示す、方法。
  2. 前記言語入力が、テキストの言語入力および発話の言語入力から成る群の少なくとも1つの要素を含んでいる、請求項に記載の方法。
  3. 前記言語入力を複数のセグメントにセグメント化することと、前記各セグメントに対して前記複数の言語内容識別器によって計算された前記一致信頼値に従って、前記複数のセグメントの各々を前記複数のハンドラのうちの1つにルーティングすることとをさらに含む、請求項1または2に記載の方法。
  4. 少なくとも1つの言語解析ツールを使用して前記言語入力から前記インテントが抽出され、前記インテントが、意思、目的、対象、および目標から成る群の要素である、請求項1~のいずれか1項に記載の方法。
  5. 少なくとも1つの言語解析ツールを使用して前記エンティティが前記言語入力から抽出される、請求項1~のいずれか1項に記載の方法。
  6. 前記複数の言語内容識別器のうちの少なくとも1つによって提供された少なくとも1つのコンテキスト属性に基づいて前記選択されるハンドラを選択することをさらに含んでいる、請求項1~のいずれか1項に記載の方法。
  7. 前記少なくとも1つのコンテキスト属性が、
    少なくとも1つの音声解析ツールを使用して抽出された前記ユーザの感情と、
    少なくとも1つの音声解析ツールを使用して抽出された前記ユーザの情緒と、
    少なくとも1つの位置検出ツールから取得された前記ユーザの地理的位置と、
    少なくとも1つの以前の言語入力から抽出された少なくとも1つの以前の特徴と
    のうちの少なくとも1つを含んでいる、請求項に記載の方法。
  8. 前記複数の言語内容識別器のうちの少なくとも1つによって抽出された少なくとも1つの強制のエンティティの検出に基づいて、前記選択されるハンドラを選択することをさらに含み、前記少なくとも1つの強制のエンティティが、前記インテントと共に前記言語入力に現れるように事前に定義される、請求項に記載の方法。
  9. 前記複数の言語内容識別器のうちの少なくとも1つによって提供された少なくとも1つの操作上の属性に基づいて前記選択されるハンドラを選択することをさらに含んでいる、請求項1~のいずれか1項に記載の方法。
  10. 前記少なくとも1つの操作上の属性が、
    しきい値と、
    前記言語入力を処理するための前記各ハンドラの能力と、
    前記少なくとも1つの特徴を抽出するために前記複数の言語内容識別器のうちの少なくとも1つによって適用される解析の説明と、
    少なくとも1つの以前の言語入力に関連するルーティング情報と、
    前記複数のハンドラのうちの少なくとも別の1つから取得された情報と
    のうちの少なくとも1つを含んでいる、請求項に記載の方法。
  11. 前記複数の言語内容識別器のうちの少なくとも一部に割り当てられた優先度に従って前記選択されるハンドラを選択することをさらに含んでいる、請求項1~10のいずれか1項に記載の方法。
  12. 定義済みのしきい値を超えることができない前記信頼値を提示する、前記複数の言語内容識別器のうちの1つに関連付けられた前記複数のハンドラのうちの少なくとも1つをフィルタで除去することをさらに含んでいる、請求項1~11のいずれか1項に記載の方法。
  13. 前記言語入力を処理できないとして、前記複数の言語内容識別器のうちの関連付けられた1つによって示された、前記複数のハンドラのうちの少なくとも1つをフィルタで除去することをさらに含んでいる、請求項1~12のいずれか1項に記載の方法。
  14. 前記複数の言語内容識別器のうちの複数の言語内容識別器によって類似する前記信頼値が計算された場合に、前記複数のハンドラのうちの最近のハンドラに前記言語入力をルーティングすることをさらに含んでおり、前記最近のハンドラが、前記複数の言語内容識別器に関連付けられたハンドラのグループ内の、以前の言語入力のルーティング先だった直近のハンドラである、請求項1~13のいずれか1項に記載の方法。
  15. 前記複数の言語内容識別器によって計算された前記信頼値が定義済みのしきい値を超えることができない場合に、前記複数のハンドラのうちのデフォルトのハンドラに前記言語入力をルーティングすることをさらに含んでいる、請求項1~14のいずれか1項に記載の方法。
  16. 言語入力を複数のハンドラのうちの1つにルーティングするためのシステムであって、
    コンピュータ・プログラムを実行するように適応された少なくとも1つのプロセッサを備えており、前記コンピュータ・プログラムは、前記プロセッサに、請求項1~請求項15のいずれか1項に記載の方法の各ステップを実行させる、システム。
  17. 言語入力を複数のハンドラのうちの1つにルーティングするためのコンピュータ・プログラムであって、プロセッサに、請求項1~請求項15のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
JP2020522666A 2017-10-29 2018-10-12 暗黙的ルーティングを使用したモジュール式会話の作成 Active JP7220005B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/796,804 2017-10-29
US15/796,804 US10546584B2 (en) 2017-10-29 2017-10-29 Creating modular conversations using implicit routing
PCT/IB2018/057925 WO2019082017A1 (en) 2017-10-29 2018-10-12 CREATING MODULAR CONVERSATIONS USING IMPLIED ROUTING

Publications (2)

Publication Number Publication Date
JP2021501356A JP2021501356A (ja) 2021-01-14
JP7220005B2 true JP7220005B2 (ja) 2023-02-09

Family

ID=66244202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020522666A Active JP7220005B2 (ja) 2017-10-29 2018-10-12 暗黙的ルーティングを使用したモジュール式会話の作成

Country Status (5)

Country Link
US (3) US10546584B2 (ja)
JP (1) JP7220005B2 (ja)
CN (1) CN111279296B (ja)
GB (1) GB2581660B (ja)
WO (1) WO2019082017A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10666583B2 (en) * 2017-11-27 2020-05-26 Baidu Usa Llc System and method for visually understanding and programming conversational agents of electronic devices
US10754885B2 (en) * 2017-11-27 2020-08-25 Baidu Usa Llc System and method for visually searching and debugging conversational agents of electronic devices
US11348576B1 (en) * 2017-12-06 2022-05-31 Amazon Technologies, Inc. Universal and user-specific command processing
US11447127B2 (en) * 2019-06-10 2022-09-20 Honda Motor Co., Ltd. Methods and apparatuses for operating a self-driving vehicle
US10812656B1 (en) 2019-06-13 2020-10-20 Salesboost, Llc System, device, and method of performing data analytics for advising a sales representative during a voice call
US20210064984A1 (en) * 2019-08-29 2021-03-04 Sap Se Engagement prediction using machine learning in digital workplace
US11494166B2 (en) 2020-03-30 2022-11-08 Nuance Communications, Inc. Omni-channel conversational application development system and method
US11790181B2 (en) 2020-08-19 2023-10-17 International Business Machines Corporation Extractive structured prediction in interactive systems
US11556716B2 (en) * 2020-08-24 2023-01-17 Intuit Inc. Intent prediction by machine learning with word and sentence features for routing user requests
CN114036277B (zh) * 2021-11-15 2024-08-23 深圳壹账通智能科技有限公司 一种对话机器人路由跳转方法、装置、电子设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170068423A1 (en) 2015-09-08 2017-03-09 Apple Inc. Intelligent automated assistant in a media environment
US20170301350A1 (en) 2012-05-23 2017-10-19 Google Inc. Customized voice action system
US20170300831A1 (en) 2016-04-18 2017-10-19 Google Inc. Automated assistant invocation of appropriate agent

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738377B2 (en) 2010-06-07 2014-05-27 Google Inc. Predicting and learning carrier phrases for speech input
US9552422B2 (en) * 2010-06-11 2017-01-24 Doat Media Ltd. System and method for detecting a search intent
US9858342B2 (en) * 2011-03-28 2018-01-02 Doat Media Ltd. Method and system for searching for applications respective of a connectivity mode of a user device
US9734839B1 (en) * 2012-06-20 2017-08-15 Amazon Technologies, Inc. Routing natural language commands to the appropriate applications
US9691379B1 (en) 2014-06-26 2017-06-27 Amazon Technologies, Inc. Selecting from multiple content sources
JP6594646B2 (ja) * 2015-04-10 2019-10-23 ヴイストン株式会社 ロボット及びロボット制御方法並びにロボットシステム
CN105068661B (zh) 2015-09-07 2018-09-07 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法和系统
US10055390B2 (en) * 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US20180113606A1 (en) * 2016-10-25 2018-04-26 Evan Crawford Application stitching, content generation using vehicle and predictive analytics
US20180137401A1 (en) * 2016-11-16 2018-05-17 Microsoft Technology Licensing, Llc Security systems and methods using an automated bot with a natural language interface for improving response times for security alert response and mediation
US11189273B2 (en) * 2017-06-29 2021-11-30 Amazon Technologies, Inc. Hands free always on near field wakeword solution
US10552204B2 (en) * 2017-07-07 2020-02-04 Google Llc Invoking an automated assistant to perform multiple tasks through an individual command

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170301350A1 (en) 2012-05-23 2017-10-19 Google Inc. Customized voice action system
US20170068423A1 (en) 2015-09-08 2017-03-09 Apple Inc. Intelligent automated assistant in a media environment
US20170300831A1 (en) 2016-04-18 2017-10-19 Google Inc. Automated assistant invocation of appropriate agent

Also Published As

Publication number Publication date
US10546584B2 (en) 2020-01-28
US20190130905A1 (en) 2019-05-02
WO2019082017A1 (en) 2019-05-02
JP2021501356A (ja) 2021-01-14
US10957324B2 (en) 2021-03-23
US20200111492A1 (en) 2020-04-09
CN111279296B (zh) 2024-01-26
CN111279296A (zh) 2020-06-12
US20200075009A1 (en) 2020-03-05
GB2581660B (en) 2021-10-06
GB2581660A (en) 2020-08-26
US10665242B2 (en) 2020-05-26
GB202005857D0 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
JP7220005B2 (ja) 暗黙的ルーティングを使用したモジュール式会話の作成
EP3389044B1 (en) Management layer for multiple intelligent personal assistant services
US10691735B2 (en) Topic shift detector
US11361676B2 (en) Augmented reality techniques for simultaneously learning multiple languages
US10255917B2 (en) Coordinating the execution of a voice command across multiple connected devices
CN110415679B (zh) 语音纠错方法、装置、设备和存储介质
EP3622510A1 (en) Intercom-style communication using multiple computing devices
US20140361973A1 (en) System and method for multimodal human-vehicle interaction and belief tracking
US9454964B2 (en) Interfacing device and method for supporting speech dialogue service
US10204292B2 (en) User terminal device and method of recognizing object thereof
US20190189116A1 (en) Pronunciation analysis and correction feedback
US20180218728A1 (en) Domain-Specific Speech Recognizers in a Digital Medium Environment
US20220068272A1 (en) Context-based dynamic tolerance of virtual assistant
CN109923515A (zh) 使用网络可寻址设备创建电影化的讲故事体验
KR20150077580A (ko) 음성 인식 기반 서비스 제공 방법 및 그 장치
US20180165275A1 (en) Identification and Translation of Idioms
US11677832B2 (en) Voice activated device enabling
EP3401795A1 (en) Classifying conversational services
US20220180865A1 (en) Runtime topic change analyses in spoken dialog contexts
EP3816774A1 (en) Information processing device for executing plurality of processes in parallel
JP6612674B2 (ja) タスク生成方法、タスク生成装置およびそのプログラム
US20230276196A1 (en) Contextual enhancement of user service inquiries
WO2020166183A1 (ja) 情報処理装置及び情報処理方法
US20220020371A1 (en) Information processing apparatus, information processing system, information processing method, and program
CN116631396A (zh) 控件的显示方法、装置、电子设备及介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200501

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200507

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200501

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221110

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221110

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221128

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230117

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20230118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230126

R150 Certificate of patent or registration of utility model

Ref document number: 7220005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150