JP2024521024A - コンテキストに応じた音声テキスト変換 - Google Patents
コンテキストに応じた音声テキスト変換 Download PDFInfo
- Publication number
- JP2024521024A JP2024521024A JP2023568134A JP2023568134A JP2024521024A JP 2024521024 A JP2024521024 A JP 2024521024A JP 2023568134 A JP2023568134 A JP 2023568134A JP 2023568134 A JP2023568134 A JP 2023568134A JP 2024521024 A JP2024521024 A JP 2024521024A
- Authority
- JP
- Japan
- Prior art keywords
- data
- returned
- text strings
- user
- prompt
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 133
- 230000004044 response Effects 0.000 claims abstract description 76
- 230000003190 augmentative effect Effects 0.000 claims abstract description 37
- 230000002452 interceptive effect Effects 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims abstract description 10
- 238000013518 transcription Methods 0.000 claims description 37
- 230000035897 transcription Effects 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 32
- 238000003058 natural language processing Methods 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 22
- 230000002787 reinforcement Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 19
- 238000012360 testing method Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000012549 training Methods 0.000 description 94
- 230000008569 process Effects 0.000 description 74
- 238000003066 decision tree Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 20
- 230000003416 augmentation Effects 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000007689 inspection Methods 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 230000008451 emotion Effects 0.000 description 5
- 230000002996 emotional effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 241001074085 Scophthalmus aquosus Species 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
- H04M3/4936—Speech interaction details
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5166—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/40—Electronic components, circuits, software, systems or apparatus used in telephone systems using speech recognition
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
方法、コンピュータプログラム製品、およびシステムが提示される。方法、コンピュータプログラム製品、およびシステムは例えば、対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、プロンプトデータをユーザに提示することと、プロンプトデータに応答して、ユーザから返された音声文字列データを受信することと、ユーザの返された音声文字列に関連する複数の候補テキスト文字列を生成することと、プロンプトデータを定義するテキストベースのデータを検査することと、検査の結果に応じて複数の候補テキスト文字列を補強し、返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、返された音声文字列データに関連する複数の補強後候補テキスト文字列のそれぞれを評価することと、補強後候補テキスト文字列のうちの1つを、返された音声文字列データに関連する、返された書き起こしとして選択することと、を含む。
Description
本明細書に記載の実施形態は、一般に音声テキスト変換(speech to text conversion)に関し、より具体的には、コンテキストに応じた音声テキスト変換に関する。
コンピュータシステムの運用を改善するために、データ構造(data structure)が採用されてきた。データ構造とは、コンピュータシステム運用を改善するための、コンピュータ環境におけるデータの構成(organization)を指す。データ構造の種類には、コンテナ、リスト、スタック、キュー、テーブル、グラフなどがある。データ構造は、例えば、アルゴリズム効率、メモリ使用効率、保守性、および信頼性の観点から、コンピュータシステム運用を改善するために採用されてきた。
人工知能(AI)とは、機械が示す知能を指す。人工知能(AI)の研究には、検索および数理最適化、ニューラルネットワーク、確率などが含まれる。人工知能(AI)ソリューションには、コンピュータサイエンス、数学、心理学、言語学、統計学、神経科学にわたる、多種多様な科学技術分野における研究から導出された機能が含まれる。機械学習は、明示的にプログラムすることなく、コンピュータに学習能力を与える研究分野であると説明されている。
一態様において、方法を提供することにより、従来技術の欠点が克服されるとともに、さらなる利点が提供される。方法は、例えば、対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、当該プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、前記プロンプトデータを前記ユーザに提示することと、前記プロンプトデータに応答して、前記ユーザから返された音声文字列データを受信することと、前記ユーザの前記返された音声文字列に関連する複数の候補テキスト文字列を生成することと、前記プロンプトデータを定義する前記テキストベースのデータを検査することと、前記検査の結果に応じて前記複数の候補テキスト文字列を補強し、前記返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを評価することと、前記補強後候補テキスト文字列のうちの1つを、前記返された音声文字列データに関連する、返された書き起こしとして選択することと、を含むことができる。
別の態様において、コンピュータプログラム製品を提供することができる。コンピュータプログラム製品は、1つ以上の処理回路によって読み取り可能であり、方法を実行するために1つ以上のプロセッサによって実行される命令を記憶するコンピュータ可読記憶媒体を含むことができる。方法は、例えば、対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、当該プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、前記プロンプトデータを前記ユーザに提示することと、前記プロンプトデータに応答して、前記ユーザから返された音声文字列データを受信することと、前記ユーザの前記返された音声文字列に関連する複数の候補テキスト文字列を生成することと、前記プロンプトデータを定義する前記テキストベースのデータを検査することと、前記検査の結果に応じて前記複数の候補テキスト文字列を補強し、前記返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを評価することと、前記補強後候補テキスト文字列のうちの1つを、前記返された音声文字列データに関連する、返された書き起こしとして選択することと、を含むことができる。
さらなる態様において、システムを提供することができる。システムは、例えば、メモリを備えることができる。さらに、システムは、前記メモリと通信する1つ以上のプロセッサを備えることができる。さらに、システムは、方法を実行するために前記メモリを介して1つ以上のプロセッサによって実行可能なプログラム命令を備えることができる。方法は、例えば、対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、当該プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、前記プロンプトデータを前記ユーザに提示することと、前記プロンプトデータに応答して、前記ユーザから返された音声文字列データを受信することと、前記ユーザの前記返された音声文字列に関連する複数の候補テキスト文字列を生成することと、前記プロンプトデータを定義する前記テキストベースのデータを検査することと、前記検査の結果に応じて前記複数の候補テキスト文字列を補強し、前記返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを評価することと、前記補強後候補テキスト文字列のうちの1つを、前記返された音声文字列データに関連する、返された書き起こしとして選択することと、を含むことができる。
さらなる特徴が、本明細書に記載する技術によって実現される。方法、コンピュータプログラム製品、およびシステムを含む(ただし、これらに限定されない)他の実施形態および態様が、本明細書において詳細に説明されるとともに、特許請求される発明の一部とみなされる。
本発明の1つ以上の態様が、本明細書の末尾の特許請求の範囲において例として具体的に指摘され、明確に請求される。上述の内容、ならびに本発明の他の目的、特徴、および利点は、添付の図面と併せて行われる以下の詳細な説明から明らかになる。
図1に、ユーザ音声データの変換を行うためのシステム100を示す。システム100は、関連するデータリポジトリを有するエンタープライズシステム110と、ユーザ機器(UE)デバイス120A~120Zとを含むことができる。システム100は、多数のデバイスを含むことができる。これらのデバイスは、ネットワーク190によって接続された、コンピューティングノードベースのデバイスであってもよい。ネットワーク190は、物理ネットワークもしくは仮想ネットワークまたはその両方とすることができる。物理ネットワークは、例えば、コンピュータサーバやコンピュータクライアントなどの多数のコンピューティングノードまたはシステムを接続する物理的な電気通信ネットワークとすることができる。仮想ネットワークは、例えば、多数の物理ネットワークまたはその一部を論理仮想ネットワークへと結合することができる。別の例では、単一の物理ネットワーク上に多数の仮想ネットワークを定義することができる。
一実施形態によれば、エンタープライズシステム110は、UEデバイス120A~120Zの外部に存在することができる。一実施形態によれば、エンタープライズシステム110は、UEデバイス120A~120Zのうちの1つ以上のUEデバイスと同じ場所に配置(co-locate)することができる。
異なるUEデバイス120A~120Zの各々は、異なるユーザに関連付けることができる。UEデバイス120A~120Zに関して、一実施形態において、1つ以上のUEデバイス120A~120Zのコンピュータデバイスは、クライアントコンピュータによって提供されるコンピューティングノードデバイスとすることができる。例えば、1つ以上のプログラム(例えば、ウェブページを開いて表示するためのウェブブラウザを含む)を実行する、モバイルデバイス(例えば、スマートフォンやタブレット)、ラップトップ、スマートウォッチ、またはPCである。
本明細書に記載の実施形態は、音声テキスト変換が行われる音声の正確な認識には、依然として課題が存在することを認識するものである。また、本明細書に記載の実施形態は、音声テキスト変換に不正確さが確認される状況における1つのアプローチは、ある状況に特有の訓練データで訓練された、特別訓練予測モデル(specifically trained predictive model)を追加的に展開することであることを認識するものである。一例において、本明細書に記載の実施形態は、対話型音声応答(IVR:interactive voice response)システムは、各々がダイアログツリー(dialog tree)における特定のノードに対応するN個の会話ステージ(conversation stage)によって特徴付けることができることを認識するものである。IVRシステムの精度を向上させるための1つのアプローチは、各々がIVRシステムの特定の会話ステージに対応するN個の特定の会話ステージ予測モデルを提供し、N個の会話ステージ予測モデルの各々を、それぞれの過去の訓練データで訓練することである。本明細書に記載の実施形態は、このようなアプローチは、音声テキスト変換の精度を向上させることができ、本明細書で説明する実施形態の補強に有用であり続けることができるものの、システムのコンピューティングリソース要件だけでなく管理タスクも大幅に増加する可能性があることを認識するものである。追加のプロセスとしては、N個の異なる会話ステージ用の訓練データを別個に記録すること、N個の異なる会話ステージ特有予測モデル(conversation stage specific predictive model)を別個に訓練および維持すること、実行時にN個の異なる会話ステージ特有予測モデルのそれぞれに別個に照会することが含まれる。
データリポジトリ108は、様々なデータを格納することができる。データリポジトリ108は、モデル領域2121に、エンタープライズシステム110によって照会される予測モデルを格納することができる。モデル領域2121に格納される予測モデルは、1つ以上の言語モデルを表す予測音響モデル(predictive acoustic model)9002を含むことができる。予測音響モデル9002は、入力音声データに関連する候補テキスト文字列(candidate text string)を返すために、音声データによって提供されるクエリデータに応答することができる。図2に示すように、予測音響モデル9002は、音素セット(phoneme set)にマッピングされた音声クリップからなる訓練データセットを使用して訓練することができる。
モデル領域2121の予測モデルは、1つ以上の言語モデルを表す予測言語モデル9004も含むことができる。1つ以上の言語モデルは、1つ以上のテキストベースの言語モデルを含むことができる。図3に示すように、予測言語モデル9004は、全体的な言語を定義するテキスト文字列からなる訓練データによって訓練することができる。いくつかの使用例では、異なるトピックドメインに対して異なる言語モデルを提供することができる。テキスト文字列からなる訓練データで訓練された予測言語モデル9004は、互いに関連して共通して現れる用語など、言語内に存在するパターンを学習することができる。
予測言語モデル9004は、汎用言語モデル(general language model)または会話ステージ特有言語モデルによって提供することができる。一実施形態において、モデル領域2121のデータリポジトリは、対話型音声応答(IVR)アプリケーション111における会話ステージのそれぞれに関連する予測言語モデルの状態および属性を指定する制御レジストリを格納することができる。
決定データ構造(decision data structure)領域2122のデータリポジトリ108は、例えば、エンタープライズシステム110によるアクション決定を返すためのダイアログ決定ツリー(dialog decision tree)および決定テーブルを格納することができる。1つの使用例において、エンタープライズシステム110は、対話型音声応答(IVR)アプリケーション111を実行して、ユーザに音声プロンプトを提示可能なIVRセッションを実行することができる。1つの使用例において、音声テキスト化プロセス(speech to text process)113を、対話型音声応答アプリケーション(IVR)内に採用することができる。仮想エージェント(VA)によって提供されるIVRアプリケーションのプロンプトデータは、ダイアログツリーによって提供される決定データ構造によってガイドすることができる。ダイアログ決定ツリーは、ユーザとVAとの間の会話フローに対するガイドを提供することができる。
ロギング領域2123において、データリポジトリ108は、過去のIVRセッションの会話ロギングデータ(conversation logging data)を格納することができる。会話ロギングデータは、仮想エージェント(VA)のテキストベースのプロンプトデータと、テキスト音声変換を使用して変換されたプロンプトデータに対するユーザ入力のテキストベースの応答データとを含むことができる。ログされたIVRセッションについて、会話データは、各区分した会話セグメントに関する会話ステージおよび対応するダイアログツリーノードを指定するタグを含むことができる。会話ロギングデータは、ユーザIDタグ、開始タグ、終了タグなども含むことができる。
一実施形態において、エンタープライズシステム110は、IVRアプリケーション111を実行することができる。エンタープライズシステム110は、様々なプロセスを実行することができる。エンタープライズシステム110がIVRアプリケーション111を実行することは、エンタープライズシステム110が、プロンプトプロセス112および音声テキスト化プロセス113を実行することを含むことができる。音声テキスト化プロセス113は、生成プロセス114、検査プロセス115、補強プロセス116、およびアクション決定プロセス117などの様々なプロセスを含むことができる。
エンタープライズシステム110がプロンプトプロセス112を実行することは、エンタープライズシステム110が、UEデバイス上でユーザにプロンプトデータを提示することを含むことができる。エンタープライズシステム110がプロンプトプロセス112を実行することは、エンタープライズシステム110が、仮想エージェントとユーザとの間の会話をガイドするダイアログ決定ツリーを使用することを含むことができる。カスタマーサポートのステージに応じて、異なるプロンプトを提示することができる。特定のVAプロンプトを決定するために、様々な入力を提供することができる。VAが提示するプロンプトデータを決定するために使用可能な入力としては、IVRセッションのステージを示すパラメータ値、ユーザの過去の応答データ、ユーザの現在の感情などを例示することができる。IVRアプリケーション111のプロンプトプロセス112を実行することによってVAからプロンプトデータが提示されると、ユーザは応答データを返すことができる。応答データは、ユーザの音声データによって提供することができ、ユーザのUEデバイスの音声入力デバイスによって取得することができる。
ユーザから音声データを受信した場合、エンタープライズシステム110は、音声テキスト化プロセス113を実行することによって音声データを処理し、受信することができる。エンタープライズシステム110が音声テキスト化プロセス113を実行することは、エンタープライズシステム110が、生成プロセス114、検査プロセス115、補強プロセス116、およびアクション決定プロセス117を実行することを含むことができる。
エンタープライズシステム110が生成プロセス114を実行することは、エンタープライズシステム110が、音声データ入力から候補テキスト文字列(candidate text string)を生成することを含むことができる。エンタープライズシステム110が生成プロセス114を実行することは、エンタープライズシステム110が、候補テキスト文字列を返すために予測音響モデル9002に照会することを含むことができる。予測音響モデル9002は、音声データの訓練データを使用して訓練することができ、音声データに応答するように最適化することができる。一実施形態において、予測音響モデル9002は、音声クリップの分割(voice clip segmentation)、音素分類(phoneme classification)、および話者識別(speaker identification)などの様々なサブプロセスを実行することができる。
エンタープライズシステム110が検査プロセス115を実行することは、エンタープライズシステム110が、ユーザから受信した音声データのコンテキストを検査することを含むことができる。受信した音声データのコンテキストは、ユーザから受信した音声データに先行してユーザに提示されたプロンプトデータを含むことができる。本明細書における各実施形態は、受信した音声データに先行するプロンプトデータを検査することが、受信した音声データの音声テキスト変換を向上させる上で有用であることを認識するものである。エンタープライズシステム110が検査プロセス115を実行することは、エンタープライズシステム110が、ユーザから受信した音声データに先行してユーザに提示されたプロンプトデータを検査することを含むことができる。エンタープライズシステム110が検査プロセス115を実行することは、エンタープライズシステム110が、プロンプトデータを検査して、当該先行プロンプトデータの文属性(sentence attribute)を識別することを含むことができる。
エンタープライズシステム110が補強プロセス116を実行することは、エンタープライズシステム110が、検査プロセス115の1つ以上の結果を使用して、生成プロセス114によって提供された候補テキスト文字列を補強(augment)することを含むことができる。エンタープライズシステム110が補強プロセス116を実行することは、エンタープライズシステム110が、検査プロセスの1つ以上の結果に応じて、生成プロセス114によって生成された候補テキスト文字列にテキストデータを追加することを含むことができる。エンタープライズシステム110が補強プロセス116を実行することは、エンタープライズシステム110が、検査プロセス115の実行によって決定されたプロンプトデータの属性に応じて、生成プロセス114によって生成された第1~第Nの候補テキスト文字列にテキストデータを追加して、第1~第Nの候補テキスト文字列を提供することを含むことができる。
エンタープライズシステム110がアクション決定プロセス117を実行することは、エンタープライズシステム110が、補強プロセス116の実行によって返された補強後のテキスト文字列を使用して提供された第1~第Nの候補テキスト文字列の間で選択される、アクション決定を実行すること含むことができる。エンタープライズシステム110がアクション決定プロセス117を実行することは、エンタープライズシステム110が、それぞれの補強後候補テキスト文字列を使用して、言語モデルとして構成可能な予測言語モデル9004に対して照会を行うことを含むことができる。予測言語モデル9004は、補強後の候補テキスト文字列によって定義されたクエリデータに応答して、補強後の候補テキスト文字列のそれぞれに関連する信頼スコア(confidence score)を返すように構成することができる。ここで、信頼スコアは、補強後の候補テキスト文字列がユーザの発話意図を正確に表しているかに関して決定された尤度を示す。エンタープライズシステム110がアクション決定プロセス117を実行することは、ユーザの発話を書き起こしたもの(transcribed utterance)として、信頼スコアが最も高い補強後候補テキスト文字列を選択することを含むことができる。
UEデバイス120Aと協働するエンタープライズシステム110の動作方法を、図4のフローチャートを参照して説明する。ブロック1201にて、UEデバイス120Aは、エンタープライズシステム110を受信先として、ユーザ定義登録データを送信することができる。登録データは、図5に示すユーザインタフェース300などのユーザインタフェースを使用して定義されるユーザ定義登録データとすることができる。ユーザインタフェース300は、UEデバイス120Aのディスプレイ上に表示されるユーザインタフェースとすることができ、ユーザによるテキストベースのデータ入力のための領域302と、テキストベースのデータもしくはグラフィカルデータまたはその両方をユーザに提示するための領域304とを含むことができる。登録データは、例えば、ユーザの連絡先データや、エンタープライズシステム110が本明細書に規定する音声データを含むユーザの様々なデータを使用することを許可するユーザの許可データを含むことができる。登録データを受信したことに応じて、エンタープライズシステム110は、ブロック1101に進むことができる。ブロック1101にて、エンタープライズシステム110は、ユーザから受信した登録データを送信し、データリポジトリ108に格納させることができる。登録データは、ブロック1081にて、データリポジトリ108によって格納することができる。
ブロック1102にて、エンタープライズシステム110は、UEデバイス120Aによる受信およびインストール用に、インストールパッケージを送信することができる。UEデバイス120Aは、ブロック1202にて、インストールパッケージを受信しインストールすることができる。インストールパッケージデータは、UEデバイス120Aにインストールされるインストールパッケージを含むことができる。インストールパッケージは、例えば、システム100内で動作するためにUEデバイス120Aの性能を補強可能な実行可能コードのライブラリを含むことができる。いくつかの実施形態において、UEデバイス120Aがエンタープライズシステム110から受信する準備データ(provisioning data)は最小限であってもよく、UEデバイス120Aはシンクライアント(thin client)として動作することができる。他の実施形態において、図4のフローチャートに示す方法はブロック1102を有していなくてもよく、UEデバイス120Aは、通信セッションの開始時にUEデバイス120Aに送信されるウェブページデータを使用して、システム100内で最適動作を行うように準備することができる。例えば、いくつかの実施形態において、本明細書に記載するIVR機能は、ウェブブラウジングセッション中に実行することができる。ウェブブラウジングセッションにおいては、システム100内でUEデバイス120Aが最適動作を行えるようにする準備データが、ブラウジングセッション中にエンタープライズシステム110から返されて受信されるウェブページと共に受信される。他の実施形態において、図4のフローチャートに示す方法は、ブロック1102を有していなくてもよく、UEデバイス120Aは、エンタープライズシステム110に音声データを送信するように最小限の準備を行うことができる。ブロック1201、1101、および1081に示す登録プロセスは、例えば、エンタープライズシステム110がユーザをゲストユーザとして登録する場合など、非公式(informal)なものとすることができる。
UEデバイス120Aのユーザがシステム100に登録され、エンタープライズシステム110に許可が提示されると、UEデバイス120Aは、ブロック1203に進むことができる。ブロック1203にて、UEデバイス120Aは、エンタープライズシステム110を受信先として、チャット開始データ(chat initiating data)を送信することができる。ブロック1203にて、チャット開始データは、UEデバイス120Aのユーザが適切な制御を開始すること(例えば、音声通話を開始すること、もしくは表示されたユーザインタフェース300上の音声チャットボタンをクリックすること、またはその両方を行うこと)によって、UEデバイス120Aが送信することができる。
チャット開始データを受信したことに応じて、エンタープライズシステム110は、ブロック1103に進むことができる。ブロック1103にて、エンタープライズシステム110は、プロンプトプロセス112を実行して、プロンプトデータをユーザに提示することができる。ユーザに提示されるプロンプトデータは、UEデバイス120Aの音声出力デバイス上に出力される音声プロンプトデータの形態であってもよいし、もしくは、UEデバイス120Aのユーザインタフェース300上の領域302(図5)に表示されるテキストプロンプトデータを含んでもよいし、その両方であってもよい。ブロック1103の初回パス(initial pass)において、プロンプトデータは、例えば、所定の基本挨拶データ(baseline greeting data)を含むことができる。ブロック1103にてプロンプトデータを決定したことに応じて、エンタープライズシステム110は、ブロック1104に進むことができる。
一実施形態において、エンタープライズシステム110は、ブロック1103にて決定されるユーザに提示するためのVAプロンプトデータを決定するために、図6に規定するようなダイアログ決定ツリー3002を使用することができる。ブロック1103にて、エンタープライズシステム110は、人工知能(AI)による応答決定を返すことができる。すなわち、エンタープライズシステム110が定めたVAによってユーザに提示するための応答として、ユーザから直近に受信された音声データに基づいてインテリジェントに生成された応答を決定することができる。あるいは、応答は、IVRセッションが開始されたばかりの場合には、ルートノードの内容によって制御することができる。一態様において、エンタープライズシステム110は、図6に示すようなダイアログ決定ツリー3002を参照して、AIによる応答決定を返すことができる。
最初の挨拶後に有効化するダイアログ決定ツリーのセグメントを、ダイアログ決定ツリー3002のノード3011によって示す。図6のダイアログ決定ツリー3002は、カスタマーサービスシナリオにおけるVAとユーザとの間の会話フローを制御することができ、それぞれのノードは、IVRセッションのそれぞれの会話ステージを定義することができる。図6のダイアログ決定ツリーを参照すると、ノードは、VAによる質問を決定するための検査の対象となる内容をエンコードすることができる。ノード間のエッジは、VAの質問に対するユーザの応答を書き起こしたものを検査することによって決定することができる、IVRセッションのインテント(intent)を定義することができる。ユーザの応答データの所与のセットに対して、エンタープライズシステム110は意味解析(semantic analysis)を使用して、応答データを、候補インテントのセットから選択されたインテントに分類することができる。本明細書の各実施形態は、適切な決定状態を決定することは、ユーザの音声の正確な書き起こし(transcription)が得られるか否かに依存する場合があることを認識するものである。エンタープライズシステム110は、現在のIVRセッションに参加しているユーザに提示すべき次のVA質問に関するアクション決定を返すために、ダイアログ決定ツリー3002を参照するように構成することができる。「製品」と題されたエッジによって示されるインテントに対して、「どのような問題が起きていますか(What problem are you having?)」という所定のVA応答を指定するノード3011に示すように、VA音声応答を事前に決定することができる。「ソフトウェア」および「ハードウェア」と題されたエッジによって参照されるインテントによって示されるような他のシナリオにおいて、VAの応答は、候補質問セットのメニュー、例えば、ノード3021の質問セットAまたはノード3022の質問セットBから選択することができる。エンタープライズシステム110は、様々なパラメータ値(例えば、ダイアログ決定ツリー3002の現在アクティブなノードによって示されるIVRセッションのステージを示すパラメータ値)、ユーザの過去の応答データ、およびユーザの現在の感情に基づいて、ユーザに提示するIVRプロンプトデータを決定するように構成することができる。いくつかのシナリオにおいて、ユーザの過去の応答データもしくは現在の感情またはその両方を使用して、ダイアログツリーノードによって定義される会話ステージ用にエンコードされた質問候補から選択することができる。いくつかのシナリオにおいて、ユーザの過去の応答データもしくは現在の感情またはその両方を使用して、ある会話ステージノードに関連する基準プロンプトデータを修正することができる。なお、いくつかの実施形態において、ユーザから受信した特定の音声データに応じて、多種多様なダイアログ決定ツリーがエンタープライズシステム110によって起動される可能性がある。IVRセッションの途中で、エンタープライズシステム110は、第1のダイアログ決定ツリーを無効化し、第2のダイアログ決定ツリーを有効化することができる。ダイアログ決定ツリー3002は、IVRセッションのそれぞれの会話ステージを定義するノード3011、3021~3022、3031~3035、および3041~3050を含むことができる。
IVRアプリケーション111を実行しているエンタープライズシステム110は、VAからのプロンプトデータと同様に、受信したユーザ音声データからもNLP出力パラメータ値を抽出するための自然言語処理(NLP)を実行することができる。エンタープライズシステム110は、メッセージのトピックを決定し、1つ以上のトピックNLP出力パラメータ値を出力するトピック分類プロセス、メッセージの感情パラメータ値(例えば、極性感情(polar sentiment)NLP出力パラメータ「否定的」、「肯定的」、もしくは、非極性感情(non-polar)NLP出力パラメータ(例えば、「怒り(anger)」、「嫌悪(disgust)」、「恐怖(fear)」、「喜び(joy)」、および/もしくは「悲しみ(sadness)」)、またはその両方)を決定する感情分析プロセス、および、1つ以上の他のNLP出力パラメータ値(例えば、1つ以上の「社会的傾向(social tendency)」NLP出力パラメータ、1つ以上の「文体(writing style)」NLP出力パラメータ、もしくは1つ以上の品詞(part of speech)NLP出力パラメータ値、またはその組み合わせ)を出力するための他の分類プロセスのうちの1つ以上を実行することができる。品詞タグ付け方法には、例えば、制約文法(Constraint Grammar)、Brillタガー(Brill tagger)、Baum-Welchアルゴリズム(前向き-後ろ向きアルゴリズム(forward-backward algorithm))、および、隠れマルコフモデルの使用を採用できるViterbiアルゴリズムの使用を含むことができる。隠れマルコフモデルは、Viterbiアルゴリズムを使用して実装することができる。Brillタガーは、ルールパターンのセットを学習することができ、統計的な量を最適化するのではなく、これらのパターンを適用することができる。自然言語処理を適用することは、文分割(sentence segmentation)を実行することも含むことができる。文分割は、例えば、省略形を示すピリオドを考慮しながらピリオドを検索するなど、文の終わりを特定することを含むことができる。
エンタープライズシステム110が自然言語処理を実行することは、エンタープライズシステム110が(a)受信メッセージに対するトピック分類および1つ以上のトピックNLP出力パラメータの出力、(b)受信メッセージに対する感情分類(sentiment classification)および1つ以上のセンチメントNLP出力パラメータ値の出力、または(c)受信メッセージに対する他のNLP分類および1つ以上の他のNLP出力パラメータの出力を実行することを含むことができる。トピック分類およびNLP出力パラメータ値の出力のためのトピック分析は、あるメッセージ内の複数のトピックを識別するためのトピック分割(topic segmentation)を含むことができる。トピック分析は、様々な技術(例えば、隠れマルコフモデル(HMM)、人工連鎖(artificial chains)、単語の共起を利用したパッセージ類似度(passage similarities)、トピックモデリング、クラスタリング)の1つ以上を適用することができる。感情分類および1つ以上の感情NLPパラメータの出力のための感情分析は、何らかのトピック、またはある文書の全体的な文脈極性(contextual polarity)に関する話者または書き手の態度(attitude)を決定することができる。態度は、著者の判断もしくは評価、感情状態(執筆時の著者の感情状態)、または、意図された感情的コミュニケーション(著者が読者に与えたい感情的な効果)であってもよい。一実施形態において、感情分析は、表現された意見が肯定的、否定的、または中立的であるかどうかについて、所与のテキストの極性を分類することができる。高度な感情分類では、所与のテキストの極性を超えて分類することができる。高度な感情分類では、感情状態を感情分類として分類することができる。感情分類には、「怒り」、「嫌悪」、「恐怖」、「喜び」、「悲しみ」の分類が含まれる。
ブロック1104にて、エンタープライズシステム110は、UEデバイス120Aを介してユーザに提示するためのプロンプトデータをUEデバイス120Aに送信することができる。ブロック1104にて送信されるプロンプトデータは、ブロック1103にて決定されたプロンプトデータとすることができる。一実施形態において、ブロック1103にて決定されたプロンプトデータは、テキストベースのプロンプトデータとすることができ、ブロック1104にて送信されるデータは、テキストベースのプロンプトデータから合成された合成音声ベースのデータとすることができる。エンタープライズシステム110は、テキスト音声変換プロセスを使用して、テキストベースのデータから合成音声ベースのデータを生成することができる。
プロンプトデータを受信したことに応じて、UEデバイス120Aのユーザは、ブロック1204にて、UEデバイス120Aの音声入力デバイスを使用してユーザによって定義された返信音声データを送信することができる。音声データを受信したことに応じて、エンタープライズシステム110は、ブロック1105、1106、1107、および1108を実行して、受信した音声データを処理することができる。
生成ブロック1105にて、エンタープライズシステム110は、生成プロセス114を実行して、ブロック1204にて送信されエンタープライズシステム110が受信した音声文字列データに関連する1つ以上の候補テキスト文字列を生成することができる。エンタープライズシステム110が生成ブロック1105を実行することは、エンタープライズシステム110が生成プロセス114を実行して、モデル領域2121の予測音響モデル9002に照会することを含むことができる。予測音響モデル9002は、音声文字列によって定義された受信音声データに対応する候補テキスト文字列を出力するように構成することができる。
予測音響モデル9002は、例えば、音素分割、音素分類、もしくは話者識別またはその組み合わせを含む様々な処理を実行することができる。一実施形態において、予測音響モデル9002は隠れマルコフモデルを採用することができる。隠れマルコフモデルは、それぞれの音素がそれぞれ異なる出力分布を有することができるように採用することができる。音素のシーケンスに対する隠れマルコフモデルは、別々の音素に対して個別に訓練された各隠れマルコフモデルを連結することによって作成することができる。予測音響モデル9002は、これに加えて、またはこれに代えて、動的時間伸縮法(DTW:dynamic time warping)もしくはニューラルネットワークまたはその両方を採用することができる。予測音響モデル9002は、ある言語内の音素のセットを定義する過去の音声クリップで構成される訓練データを使用して訓練することができる。過去の音声クリップは、システム100の非ユーザのものであってもよいし、システム100のユーザのものであってもよい。
予測音響モデル9002は、ユーザを識別することなく、入力音声文字列に対応する候補テキスト文字列を返すことができる。ただし、いくつかの実施形態において、予測音響モデル9002の性能を最適化するために、入力音声文字列に関連するユーザを決定することができる。検出された現在のユーザに関して予測音響モデル9002の性能を最適化する場合、予測音響モデル9002は、当該現在のユーザに特有の訓練データを使用して訓練することができる。
予測音響モデル9002は、ユーザを識別することなく、入力音声文字列に対応する候補テキスト文字列を返すことができる。ただし、いくつかの実施形態において、予測音響モデル9002の性能を最適化するために、入力音声文字列に関連するユーザを決定することができる。検出された現在のユーザに関して予測音響モデル9002の性能を最適化する場合、予測音響モデル9002は、当該現在のユーザに特有の訓練データを使用して訓練することができる。
ブロック1105が完了すると、エンタープライズシステム110は、ブロック1204にてユーザから送信された音声文字列データに関連する複数の候補テキスト文字列を生成できている。生成ブロック1105の完了に応じて、エンタープライズシステム110は、検査ブロック1106に進むことができる。検査ブロック1106にて、エンタープライズシステム110は、検査プロセス115を実行して、ブロック1105にて生成された1つ以上の候補テキスト文字列およびブロック1204にて送信された音声データ文字列に関連する先行プロンプトデータを検査することができる。
先行プロンプトデータを検査することは、先行プロンプトデータに対して自然言語処理を用いたテキスト構文解析を行うことを含むことができる。これには、例えば、文分割(sentence segmentation)、トピック分割、および品詞タグ付けを含む文法構文解析が含まれる。文分割は、例えば、省略形を示すピリオドを考慮しながらピリオドを検索するなど、文の終わりを特定することを含むことができる。トピック分割は、ある文中の連続する単語のセットにトピックを割り当てることを含むことができる。ある識別された文中の異なる単語グループにそれぞれ関連するトピックを識別することで、1つの文を分割することができる。品詞タグ付けは、ある文中の単語を特定の品詞に属するものとしてタグ付けすることを含むことができ、例えば、文中の名詞、動詞、形容詞、副詞、および代名詞にタグ付けすることができる。エンタープライズシステム110は、ブロック1107にて補強後の候補テキスト文字列を生成するために、テキスト分割パラメータ値(例えば、文分割、トピック詳細、および品詞タグ付けを指定)を使用することができる。テキスト構文解析は、様々な自然言語処理ツールを用いて実行することができる。自然言語処理ツールは、例えば、International Business Machines Corporation製のWATSON DISCOVERY(TM)、WATSON NATURAL LANGUAGE UNDERSTANDING(TM)、およびWATSON ASSISTANT(TM)である。
一実施形態によれば、ブロック1106にて、エンタープライズシステム110は、特定のデータを破棄(discard)することができる。エンタープライズシステム110は、ルールベースの基準を適用して、例えば、複数の文を含むと判定されたプロンプトデータから、プロンプトデータによって定義された最後の文以外のすべての文を破棄することができる。エンタープライズシステム110は、ルールベースの基準を適用して、例えば、複数のトピックを有すると判定された識別された最後の文から、最後のトピックを定義する単語のセットを除くすべての単語を破棄することができる。ブロック1106が完了すると、エンタープライズシステム110は、補強ブロック1107に進むことができる。
補強ブロック1107にて、エンタープライズシステム110は、補強プロセス116を実行して、ブロック1105にて生成された候補テキスト文字列を補強することができる。候補テキスト文字列を補強するために、エンタープライズシステム110は様々なルールを適用して、ブロック1204にて受信されたユーザの応答データに関連する候補テキスト文字列に先頭付加データ(prepended data)として追加するために、プロンプトデータを変換後データ(transformed data)に変換することができる。
補強ブロック1107における変換ルールには例えば次のものが含まれる。(a)プロンプトデータの三人称代名詞を一人称代名詞に置き換える(例えば、「your(あなたの)」→「my(私の)」、「you(あなた)」→「I(私)」など)。(b)質問を定義するプロンプトデータのテキストを声明文(statement)に変更する(例えば、「What state are you traveling to(どの州に旅行予定ですか)」→「I am traveling to the state(私はその州に旅行予定です)」)など。(c)プロンプトデータのユーザ指示文を一人称の宣言文に言い換える(例えば、「Please state your destination(目的地を言ってください)」→「My destination is(私の目的地は)」など)。(d)変換を実行できない場合、そのコンテキストのセグメントはそのまま次のステージに渡されるか、またはまったく使用されない。エンタープライズシステム110は、プロンプトデータテキスト内のテキスト文字列のうちテンプレートテキスト文字列に一致するものを識別し、変換テキストをテンプレートテキスト文字列にマッピングするマッピング決定データ構造(mapping decision data structure)を使用して、(b)および(c)の変換を実行することができる。変換(b)を実行するためのマッピング決定データ構造は、表1に示すように、データリポジトリ108の決定データ構造領域2122に格納されたマッピングデータ構造を含むことができる。
三人称代名詞を有するテキスト文字列について、表1を用いたテンプレート一致が特定された場合、変換ルール(a)よりも変換ルール(b)を優先することができる。
三人称代名詞を有する文字列について、表2を用いたテンプレート一致が特定された場合、プロンプトデータの三人称代名詞を一人称代名詞に置き換える変換ルール(a)よりも、プロンプトデータの指示文を一人称宣言文に言い換える変換ルール(c)を優先することができる。これにより、変換テキスト文字列が大幅に削減され、マッピング決定データ構造がさらに単純化されるため、予測と保守が容易になる。表1および表2を参照すると、エンタープライズシステム110が変換(b)および(c)を実行することは、エンタープライズシステム110が、(i)プロンプトデータテキスト文字列を自然言語処理の品詞タグ付けに供して、当該テキスト文字列の単語に品詞タグを適用することと、(ii)プロンプトデータテキスト文字列のテキスト文字列と、データリポジトリ108に格納されているテンプレートテキスト文字列であって、その文字列中の1つ以上の単語が品詞としてワイルドカード形式で表現されているテンプレートテキスト文字列との間の一致を特定することと、を含むことができる。
変換プロセス(a)~(d)に関連して説明したように、プロンプトデータを定義するテキストがブロック1107で変換されると、エンタープライズシステム110はブロック1107にてさらに、変換後のテキストを使用して、ブロック1105で生成された候補テキスト文字列を補強することができる。エンタープライズシステム110が、変換後のテキストを使用して候補テキスト文字列を補強することは、エンタープライズシステム110が、変換プロセス(a)~(d)から得られた変換後のテキストを、ブロック1105にて生成された候補テキスト文字列の先頭に付加することを含むことができる。エンタープライズシステム110がブロック1107にて候補テキスト文字列を補強することは、候補テキスト文字列を長くすること、すなわち、候補テキスト文字列の先頭の前にテキストを追加することを含むことができる。エンタープライズシステム110がブロック1107にて候補テキスト文字列を補強することは、補強後の候補テキスト文字列を提供すること、例えば、候補テキスト文字列が、変換プロセス(a)~(d)によってプロンプトデータを変換して得られた先頭付加テキストを有することを含むことができる。
補強ブロック1107が完了すると、エンタープライズシステム110は、決定ブロック1108に進むことができる。決定ブロック1108にて、エンタープライズシステム110は、ブロック1107の補強プロセスを使用して提供された補強後の候補テキスト文字列から選択を行うことができる。ブロック1108を実行するために、エンタープライズシステム110は、アクション決定プロセス117を実行して、受信音声データから得られた書き起こしとして、候補テキスト文字列のセットから特定の補強後の候補テキスト文字列を選択することができる。エンタープライズシステム110がブロック1108を実行することは、エンタープライズシステム110が、ブロック1107にて提供された補強後の候補テキスト文字列を使用して、予測言語モデル9004に照会することを含むことができる。
予測言語モデル9004は、未補強のテキスト文字列および補強後のテキスト文字列を含む、それぞれの候補テキスト文字列に関連する信頼度パラメータ値を返すように構成することができる。信頼度パラメータ値は、1つ以上の分類を有することができる。
予測言語モデル9004は、候補テキスト文字列を含むクエリデータに応答して、1つ以上の信頼度パラメータ値を返すように構成された言語モデルとすることができる。信頼度パラメータ値は、候補テキスト文字列が、ユーザからの受信音声データが意図する内容を表す尤度を示すことができる。
予測言語モデル9004は、候補テキスト文字列を含むクエリデータに応答して、1つ以上の信頼度パラメータ値を返すように構成された言語モデルとすることができる。信頼度パラメータ値は、候補テキスト文字列が、ユーザからの受信音声データが意図する内容を表す尤度を示すことができる。
言語モデルとして構成された予測言語モデル9004は、単語シーケンスに対する確率分布を提供することができる。長さmの単語シーケンスが与えられると、予測言語モデル9004は、当該シーケンス全体に確率を割り当てることができる。予測言語モデル9004は、言語関数を近似するためのニューラルネットワークにおける重みの非線形組み合わせとして、単語を分散的に表現するためにニューラルネットワークを採用することができる。採用するニューラルネットワークアーキテクチャは、例えば、フィードフォワードニューラルネットワークまたはリカレントニューラルネットワークとすることができる。予測言語モデル9004を定義するニューラルネットワークは、例えば、逆伝播を伴う確率的勾配降下法(stochastic radiant descent)などのニューラルネットワーク訓練アルゴリズムを使用して、語彙にわたる確率分布を予測するように訓練することができる。予測言語モデル9004を訓練するための訓練データセットは、一の言語を定義するテキスト文字列を含むことができる。
本明細書における予測言語モデル9004は、汎用言語モデル、または会話ステージ特有言語モデルとして訓練することができる。汎用言語モデルは、一般的なトピック領域(例えば、現在のIVRアプリケーション、現在のIVRアプリケーションの企業、もしくは、現在のIVRアプリケーションおよび企業の業界、またはその組み合わせの一般的なトピック領域)の訓練データを使用して訓練することができる。本明細書における汎用言語モデルは、市販の(COTS:commercial off the shelf)言語モデル、すなわち、主要な言語(例えば、英語)で一般的に学習された、すぐに使用可能な(out of box)言語モデルによって提供することもできる。COTSの汎用言語モデルによって提供される汎用言語モデルを訓練するための訓練データは、例えば、指定された言語で一般的な数千から数百万のテキスト文字列で構成することができる。
汎用言語モデルとして訓練された予測言語モデル9004は、訓練済みモデルとして利用可能であり、これを使用することにより、予測言語モデルのカスタム訓練に付随するタスクを軽減することができる。
予測言語モデル9004を汎用言語モデルとして提供することは、IVRアプリケーション111に一般的に関連する訓練データを使用して予測言語モデル9004を訓練することを含むことができる。このような訓練データは、例えば、特定の会話ステージおよびダイアログツリーノードへの関連付けのために会話データを構文解析および追跡する必要のない、IVRセッションの一般的な会話ログを含むことができる。予測言語モデル9004を汎用言語モデルとして提供することは、IVRアプリケーション111に関連する企業に一般的に関係する訓練データを使用して予測言語モデル9004を訓練することを含むことができる。このような訓練データは、例えば、サービス製品、訓練文書、手順書などを含む、当該企業によって提供される製品の製品仕様からのテキスト文字列で構成することができる。予測言語モデル9004を汎用言語モデルとして提供することは、IVRアプリケーション111に関連する業界に一般的に関係する訓練データを使用して予測言語モデル9004を訓練することを含むことができる。このような訓練データは、例えば、トピックドメインが情報技術である場合には情報技術の教科書からのテキスト文字列、あるいはトピックドメインが医学である場合には医学の教科書からのテキスト文字列を含むことができる。予測言語モデル9004を汎用言語モデルとして提供することは、訓練済みのCOTS汎用言語モデルを使用することも含むことができる。IVRアプリケーション111、その関連する企業、もしくは関連する業界またはその組み合わせに一般的に関連する訓練データを適用することによって、予測言語モデル9004を汎用言語モデルとして提供することは、(a)訓練済みのCOTS汎用言語モデルに追加訓練データを適用すること、または(b)訓練済みではない汎用言語モデルに訓練データを適用することを含むことができる。(a)の使用例では、COTS汎用言語モデルを出発点として使用することができ、IVRアプリケーション、企業、もしくは業界またはその組み合わせに特有のテキスト訓練データを使用してCOTS汎用言語モデルをさらに訓練することにより、当該汎用言語モデルをIVRアプリケーション、企業、もしくは業界またはその組み合わせに対応した汎用言語モデルとして適合させることができる。
一実施形態において、予測言語モデル9004は、会話ステージ特有言語モデルとして構成することができる。予測言語モデル9004は、IVRセッションにおける特定の会話ステージのトピック領域、例えば、IVRセッションにおけるあるダイアログステージに関連する会話専用の、会話ステージ特有トピックドメイン言語モデルとして提供することができる。このダイアログステージは、図6に示すように、ダイアログ決定ツリー3002における一のノードに関連付けることができる。特定の会話ステージに関する会話ステージ特有言語モデルを訓練するための訓練データは、当該特定の会話ステージに関連する利用データ履歴を含むことができる。会話ステージ特有言語モデルは、例えば、IVRセッションにおける特定の会話ステージ(例えば、IVRセッションの動作を制御するダイアログツリーにおける特定のダイアログツリーノードによって定義される)の訓練データを使用して選択的に訓練することができる。
本明細書の実施形態は、会話ステージ特有言語モデルを展開することは有益となり得るが、その使用にあたっては、例えば、訓練データの収集および適用の点で、追加のプログラムがより複雑になること、およびコンピューティングリソースが追加で消費されることを認識するものである。
本明細書の実施形態は、会話ステージ特有言語モデルを展開することは有益となり得るが、その使用にあたっては、例えば、訓練データの収集および適用の点で、追加のプログラムがより複雑になること、およびコンピューティングリソースが追加で消費されることを認識するものである。
本明細書におけるいくつかの使用例では、会話ステージ特有言語モデルの使用を回避することができる。本明細書におけるいくつかの使用例では、会話ステージ特有言語モデルの使用は、当該使用に関連する複雑さおよびコンピューティングリソースコストを考慮して管理することができる。
本明細書の実施形態は、会話ステージ特有言語モデルの使用に関連する複雑さおよびコンピューティングリソース消費を認識するものである。会話ステージ特有言語モデルを訓練するための訓練データは、その性質上限りがあるため、会話ステージ特有言語モデルを展開するには、多数のモデルを展開し、記憶し、照会するだけでなく、訓練データとして適用するための利用データ履歴を反復的に収集し、維持するとともに、モデル(複数の会話ステージ特有言語モデルが展開される場合、複数のモデル)の最適化のためにこのような訓練データを適用することを必要とする場合がある。本明細書の実施形態は、本明細書に記載する汎用言語モデルを使用することによって、複雑さおよびコンピューティングリソース節約の点で利益が得られることを認識するものである。汎用言語モデルを使用することにより、会話ステージ特有言語モデル(例えば、図6のダイアログ決定ツリー3002の各ノードに対応する、IVRセッションにおけるそれぞれの会話ステージに関連する会話ステージ特有言語モデル)の展開、記憶、照会、または訓練に関連する複雑さおよびコンピューティングリソース利用を低減することができる。
ブロック1108にて、エンタープライズシステム110は、ブロック1204にてユーザから入力された入力音声文字列データに関連する複数の候補テキスト文字列を用いて、予測言語モデル9004に照会することができる。
本明細書の実施形態は、汎用言語モデルとして構成された予測言語モデル9004の使用を促進することができる。汎用言語モデルの使用により、システム100のコンピューティングリソース要件を低減することができる。本明細書の実施形態は、ブロック1107にてテキスト文字列を補強することによって、ブロック1108における汎用言語モデルの使用を促進することができ、ブロック1108における会話ステージ特有言語モデルへの依存を低減することができることを認識するものである。本明細書の実施形態は、追加の単語を有する補強後のテキスト文字列を適用することによって、汎用言語モデルが、信頼できる結果を返す可能性が高くなることを認識するものである。例えば、より多くの単語を有するより長い入力テキスト文字列は、より短いテキスト文字列よりも、言語モデルを訓練するための訓練データとして使用された過去のテキスト文字列と一致する可能性が高い。会話ステージ特有言語モデルではなく汎用言語モデルを使用することで、複数の会話ステージ特有言語モデルの展開、訓練、および訓練の更新に関連するコンピューティングリソースの利用を低減することができる。ブロック1107およびブロック1108にて照会を行う予測言語モデルを決定するために、エンタープライズシステム110は、モデル領域2121の制御レジストリを調べることができる。制御レジストリの一例は、表4に示されている。一実施形態において、エンタープライズシステム110は、汎用言語予測モデルがアクティブである場合、もしくは現在の会話ステージに関する性能監視の対象となっている場合、またはその両方の場合に、補強ブロック1107を選択的に実行するように構成することができる。
本明細書の実施形態は、汎用言語モデルとして構成された予測言語モデル9004の使用を促進することができる。汎用言語モデルの使用により、システム100のコンピューティングリソース要件を低減することができる。本明細書の実施形態は、ブロック1107にてテキスト文字列を補強することによって、ブロック1108における汎用言語モデルの使用を促進することができ、ブロック1108における会話ステージ特有言語モデルへの依存を低減することができることを認識するものである。本明細書の実施形態は、追加の単語を有する補強後のテキスト文字列を適用することによって、汎用言語モデルが、信頼できる結果を返す可能性が高くなることを認識するものである。例えば、より多くの単語を有するより長い入力テキスト文字列は、より短いテキスト文字列よりも、言語モデルを訓練するための訓練データとして使用された過去のテキスト文字列と一致する可能性が高い。会話ステージ特有言語モデルではなく汎用言語モデルを使用することで、複数の会話ステージ特有言語モデルの展開、訓練、および訓練の更新に関連するコンピューティングリソースの利用を低減することができる。ブロック1107およびブロック1108にて照会を行う予測言語モデルを決定するために、エンタープライズシステム110は、モデル領域2121の制御レジストリを調べることができる。制御レジストリの一例は、表4に示されている。一実施形態において、エンタープライズシステム110は、汎用言語予測モデルがアクティブである場合、もしくは現在の会話ステージに関する性能監視の対象となっている場合、またはその両方の場合に、補強ブロック1107を選択的に実行するように構成することができる。
ブロック1108にて予測言語モデル9004に入力される複数の候補テキスト文字列は、入力音声文字列データに応じてブロック1105にて予測音響モデル9002によって生成される各候補テキスト文字列、およびブロック1109にてエンタープライズシステム110によって返される各補強後の候補テキスト文字列を含むことができる。予測言語モデル9004に入力された各入力候補テキスト文字列に対して、予測言語モデル9004は、1つ以上の信頼度パラメータ値を返すことができる。1つ以上の信頼度パラメータ値は、例えば、コンテキスト信頼度パラメータ値、書き起こし信頼度パラメータ値、およびドメイン信頼度パラメータ値を含むことができる。予測言語モデル9004は、複数の連続する単語で構成される入力テキスト文字列が、予測モデルを訓練するための訓練データとして使用された過去のテキスト文字列と強く一致する場合、基準よりも高いコンテキスト信頼度パラメータ値を返すことができる。予測言語モデル9004は、入力テキスト文字列を定義する個々の単語が、予測言語モデル9004を訓練するための訓練データとして使用された過去のテキスト文字列の個々の単語と強く一致する場合、基準よりも高い書き起こし信頼度パラメータ値を返すことができる。予測言語モデル9004は、入力テキスト文字列を定義する1つ以上の単語が、現在のIVRセッションに関連する現在のトピックドメイン(例えば、業界トピックドメイン、企業トピックドメイン、もしくは会話トピックドメインまたはその組み合わせ)を特徴付ける個々の1つ以上の単語と強く一致する場合、基準よりも高いトピックドメイン信頼度パラメータ値を返すことができる。
エンタープライズシステム110は、ブロック1108にて、返された信頼度パラメータ値を受信すると、それぞれの候補入力テキスト文字列に対する信頼度パラメータ値を集計することができる。そして、ブロック1108にて、ブロック1204にて送信された入力音声データ文字列に対して返される書き起こしとして、最も高い集計信頼度スコアを有する候補入力テキスト文字列を選択するアクション決定を返すことができる。
信頼度パラメータ値を集計することは、例えば、値の平均値を提供すること、値の加重平均値を提供すること、値の幾何平均を提供することなどを含むことができる。
信頼度パラメータ値を集計することは、例えば、値の平均値を提供すること、値の加重平均値を提供すること、値の幾何平均を提供することなどを含むことができる。
エンタープライズシステム110は、ブロック1108にて、返されたテキストベースの書き起こしを送信し、ブロック1083にてデータリポジトリ108に格納させることができる。そして、データリポジトリ108は、ブロック1083にて、返された書き起こしを、データリポジトリ108のロギング領域2123に格納することができる。ブロック1108にて返されたテキストを送信する際に、エンタープライズシステム110は、返された書き起こしのメタデータとして、現在の会話ステージの識別子をタグ付けすることができる。この会話ステージの会話は、図6に示したダイアログ決定ツリー3002を参照して説明したように、現在のIVRセッションのダイアログ決定ツリーのノード識別子にマッピングすることができる。次に、IVRアプリケーション111を実行するエンタープライズシステム110は、この返された書き起こしを使用して、例えば、意味解析によって、ユーザのインテントを導出することができる。インテントが導出されると、IVRアプリケーション111を実行するエンタープライズシステム110は、例えば、図6に示すダイアログ決定ツリー3002を使用して、IVRセッションを適切な次の会話ステージに進めることができる。インテントを導出するための一例として、IVRアプリケーション111を実行するエンタープライズシステム110は、図6のダイアログ決定ツリー3002のエッジに関連付けられる候補インテントなど、複数の候補インテントに関連して、返された書き起こしの対応スコアを提供することができる。本明細書の実施形態は、ブロック1108にて誤った書き起こしが返された場合、エンタープライズシステム110は、ユーザに関して誤ったインテントを導出する可能性があり、現在のIVRセッションを不適切な次の段階に進める可能性があることを認識するものである。
ブロック1109が完了すると、エンタープライズシステム110は、ブロック1110に進むことができる。ブロック1110にて、エンタープライズシステム110は、予測言語モデル9004の訓練を実行することができる。ブロック1110での訓練は、ブロック1109にて送信され、データリポジトリ108に格納された書き起こしを使用して、予測言語モデル9004(図3)の訓練を更新することを含むことができる。データリポジトリ108は、受信/応答ブロック1084にて、格納されたロギングデータに対する要求に応答することができる。モデル領域2121に格納された予測モデルの訓練は、ブロック1103~1111のループによって定義されるプロセスなどの他のプロセスの実行と同時に、バックグラウンドで継続的に行うことができる。ブロック1110にて訓練を行うことができるが、本明細書の実施形態は、予測言語モデル9004の訓練をほとんどまたは全く更新せずに、信頼性を提供することができる。予測言語モデル9004が複数の会話ステージ用の共通の汎用言語モデルとして構成されるいくつかの使用例において、エンタープライズシステム110がIVRアプリケーション111を実行することは、エンタープライズシステム110が、予測言語モデル9004を訓練するための軽量訓練手順(lightweight training procedure)を実行することを含むことができる。軽量訓練手順は、IVRセッションの終了時(ブロック1111)に、完了したセッションから得られたロギング領域2123のセッションロギングデータを、訓練データとして共通汎用言語モデルに適用することを含むことができる。ブロック1110にて訓練を実行するか否かを決定するために、エンタープライズシステム110は、モデル領域2121の制御レジストリを調べることができる。制御レジストリの例は、表4に示されている。一実施形態において、エンタープライズシステム110は、現在の会話ステージに対して会話ステージ特有言語モデルがアクティブである場合に、ブロック1110にて選択的に訓練を実行するように構成することができる。一実施形態において、エンタープライズシステム110は、現在の会話ステージに対して汎用言語モデルのみがアクティブである場合に、ブロック1110における訓練を行わずに回避するように構成することができる。一実施形態において、エンタープライズシステム110は、1つ以上の会話ステージに対して共通汎用言語モデルがアクティブである場合、上述の軽量訓練手順を使用するように構成することができる。この場合、IVRセッションの終了時(ブロック1111)に、完了したセッションから得られたロギング領域2123のセッションロギングデータが、共通汎用言語モデルの訓練データとして適用される。
本明細書で規定するように、補強プロセス116の実行による候補テキスト文字列の補強などの特徴によって、予測言語モデル9004は、予測言語モデル9004の訓練を反復的に更新することなく、入力候補テキスト文字列に関連する信頼度パラメータ値を返すにあたって信頼度高く使用できる汎用言語モデルとして構成することができる。一方、予測言語モデル9004が会話ステージ特有言語モデルとして構成される場合、当該予測言語モデルを訓練するための特定の会話ステージ訓練データが限られている場合があり、モデルを信頼度高く使用するには、予測モデルの訓練を反復的に更新することに依存する場合がある。したがって、いくつかの実施形態において、ブロック1108にて使用された予測言語モデル9004が会話ステージ特有言語モデルとして構成されていた場合に、ブロック1110での訓練動作を実行することができ、ブロック1108にて使用された予測言語モデル9004が会話ステージ特有言語モデルとして構成されていた場合に、ブロック1110での訓練を回避することができる。また、いくつかの実施形態では、ブロック1108にて使用された予測言語モデル9004が汎用言語モデルとして構成されていた場合も、ブロック1110での訓練動作を実行することができる。
ブロック1110が完了すると、エンタープライズシステム110はブロック1111に進むことができる。ブロック1111にて、エンタープライズシステム110は、現在のIVRセッションが、例えば、ユーザによる選択やタイムアウトなどによって終了したか否かを判定することができる。現在のIVRセッションが終了していない間、エンタープライズシステム110は、ブロック1103~1111のループを反復的に実行することができる。以降のプロンプトブロック1103の実行において、すなわち、最初の挨拶の後、エンタープライズシステム110は、ブロック1109で送信された、返された書き起こしを使用して、例えば、インテントおよび適切な次の段階を導出するとともに、ブロック1103にて決定されブロック1104で提示されるプロンプトデータをさらに適合させることができる。エンタープライズシステム110は、ブロック1109にて送信された、以前に返された書き起こしを自然言語処理に供して、トピックパラメータ値およびセンチメントパラメータ値を抽出するとともに、導出したトピックパラメータ値もしくはセンチメントパラメータ値またはその両方を使用して、プロンプトデータを定義する記憶済みの候補テキスト文字列から選択することができる。また、導出したトピックパラメータ値およびセンチメントパラメータ値を使用して、記憶済みのテキストを、プロンプトデータとして使用するためのテキスト文字列(例えば、検出された特定のユーザ感情に適合されたプロンプトデータ)に追加することもできる。
エンタープライズシステム110が、ブロック1111にてセッションが終了したと判定した場合、エンタープライズシステム110は、ブロック1112に進むことができる。ブロック1112にて、エンタープライズシステム110は、ブロック1103の前の段階に戻り、次のチャット開始データを待つことができる。
本明細書の実施形態のさらなる態様を、実施例1を参照して説明する。
(実施例1)
ブロック1103にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータ「What state are you traveling to?」を決定し、このプロンプトデータをブロック1081にてデータリポジトリ108に格納させる。IVRアプリケーションを実行しているエンタープライズシステム110は、テキストベースのプロンプトデータをテキスト音声変換に供して、ブロック1104にて、合成された音声ベースのプロンプトデータをユーザに提示する。ユーザはブロック1204にて、音声文字列データを送信する。IVRアプリケーション111を実行しているエンタープライズシステム110は、この音声文字列データを、予測音響モデル9002にクエリデータとして供給する。エンタープライズシステム110が候補テキスト文字列を生成するために、予測音響モデル9002はブロック1105にて、候補テキスト文字列(a)「I’ll ask her(彼女に聞いてみます)」および(b)「Alaska(アラスカ)」を出力する。ブロック1106にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック1082にて記憶された記憶済みプロンプトデータをテキスト解析によって検査し、プロンプトデータを特徴付けるデータを抽出する。ブロック1107にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータを特徴付けるデータおよびプロンプトデータの内容を使用して、候補テキスト文字列を補強する。ブロック1107にて、エンタープライズシステム110は、候補テキスト文字列に追加する先頭付加テキストを「I am traveling to state of(私は~の州に旅行予定です)」として決定する。ブロック1107にて、エンタープライズシステム110は、以前に決定済みの候補テキスト文字列に先頭付加テキストを追加することによって、補強後の候補テキスト文字列を生成する。ブロック1107にて、エンタープライズシステム110は、補強後のテキスト文字列(c)「I am traveling to state of I’ll ask her(私は彼女に聞いてみますの州に旅行予定です)」、および(d)「I am traveling to state of Alaska(私はアラスカ州に旅行予定です)」を生成することができる。ブロック1108にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、複数の候補テキスト文字列を使用して、汎用言語モデルとして構成された予測言語モデル9004に照会を行う。候補テキスト文字列には、上述した候補テキスト文字列である(a)「I’ll ask her」、(b)「Alaska」、(c)「I’m traveling to state of I’ll ask her」および(d)「I am traveling to state of Alaska」が含まれる。予測言語モデル9004は、クエリデータに応答して、信頼度パラメータ値を返すように構成することができる。予測言語モデル9004は、コンテキスト信頼度パラメータ値、書き起こし信頼度パラメータ値、およびドメイン信頼度パラメータ値を返すことができる。予測言語モデル9004は、表3に示すような信頼度パラメータ値を返すことができる。
ブロック1103にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータ「What state are you traveling to?」を決定し、このプロンプトデータをブロック1081にてデータリポジトリ108に格納させる。IVRアプリケーションを実行しているエンタープライズシステム110は、テキストベースのプロンプトデータをテキスト音声変換に供して、ブロック1104にて、合成された音声ベースのプロンプトデータをユーザに提示する。ユーザはブロック1204にて、音声文字列データを送信する。IVRアプリケーション111を実行しているエンタープライズシステム110は、この音声文字列データを、予測音響モデル9002にクエリデータとして供給する。エンタープライズシステム110が候補テキスト文字列を生成するために、予測音響モデル9002はブロック1105にて、候補テキスト文字列(a)「I’ll ask her(彼女に聞いてみます)」および(b)「Alaska(アラスカ)」を出力する。ブロック1106にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック1082にて記憶された記憶済みプロンプトデータをテキスト解析によって検査し、プロンプトデータを特徴付けるデータを抽出する。ブロック1107にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータを特徴付けるデータおよびプロンプトデータの内容を使用して、候補テキスト文字列を補強する。ブロック1107にて、エンタープライズシステム110は、候補テキスト文字列に追加する先頭付加テキストを「I am traveling to state of(私は~の州に旅行予定です)」として決定する。ブロック1107にて、エンタープライズシステム110は、以前に決定済みの候補テキスト文字列に先頭付加テキストを追加することによって、補強後の候補テキスト文字列を生成する。ブロック1107にて、エンタープライズシステム110は、補強後のテキスト文字列(c)「I am traveling to state of I’ll ask her(私は彼女に聞いてみますの州に旅行予定です)」、および(d)「I am traveling to state of Alaska(私はアラスカ州に旅行予定です)」を生成することができる。ブロック1108にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、複数の候補テキスト文字列を使用して、汎用言語モデルとして構成された予測言語モデル9004に照会を行う。候補テキスト文字列には、上述した候補テキスト文字列である(a)「I’ll ask her」、(b)「Alaska」、(c)「I’m traveling to state of I’ll ask her」および(d)「I am traveling to state of Alaska」が含まれる。予測言語モデル9004は、クエリデータに応答して、信頼度パラメータ値を返すように構成することができる。予測言語モデル9004は、コンテキスト信頼度パラメータ値、書き起こし信頼度パラメータ値、およびドメイン信頼度パラメータ値を返すことができる。予測言語モデル9004は、表3に示すような信頼度パラメータ値を返すことができる。
例示したデータに係る表3を参照すると、コンテキスト信頼度パラメータ値が強いことから、候補文字列(d)を選択できることがわかる。また、候補テキスト文字列の先頭にテキストを付加する候補テキスト文字列補強がなければ、IVRアプリケーション111を実行しているエンタープライズシステム110は、候補テキスト文字列(b)「Alaska」よりも候補テキスト文字列(a)「I’ll ask her」を選択する可能性があることがわかる。
<実施例1の結び>
一実施形態において、実施例1で言及したように、エンタープライズシステム110は、ユーザの各入力音声文字列、すなわち、予測音響モデル9002によって出力された各候補テキスト文字列に対して、ブロック1107にて説明した補強を実行するように構成することができる。別の実施形態において、エンタープライズシステム110は、例えば、特定の条件を満たす音声文字列に対してのみ、ブロック1107にて選択的に補強を適用することができる。
表3を参照すると、汎用言語モデルとして構成された予測言語モデル9004は、ユーザの入力音声文字列について、予測音響モデル9002によって出力された未補強の候補テキスト文字列(a)および(b)に対する信頼度パラメータ値を出力できることが分かる。一実施形態によれば、エンタープライズシステム110は、1つ以上の候補テキスト文字列に対して予測言語モデル9004から返された信頼度パラメータ値が閾値を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を行わないように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002によって出力された1つ以上の候補テキスト文字列に対して予測言語モデル9004(共通汎用言語モデルとして構成することができる)から返された集計後の信頼度パラメータ値が閾値0.55を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を行わないように構成することができる。表3に例示したデータを参照すると、候補テキスト文字列(a)または(b)に対する集計後の信頼度パラメータ値がいずれも閾値を満たさないため、ブロック1107での補強が実際に行われる。表3に例示したデータに基づいて説明した実施例を参照すると、未補強の候補テキスト文字列のうちのいずれかが、集計後の信頼度パラメータ値で0.55を示した場合、エンタープライズシステム110は、ブロック1107での補強の実行を回避し、その代わりに、最もスコアが高い未補強の候補テキスト列を使用する。
一実施形態において、実施例1で言及したように、エンタープライズシステム110は、ユーザの各入力音声文字列、すなわち、予測音響モデル9002によって出力された各候補テキスト文字列に対して、ブロック1107にて説明した補強を実行するように構成することができる。別の実施形態において、エンタープライズシステム110は、例えば、特定の条件を満たす音声文字列に対してのみ、ブロック1107にて選択的に補強を適用することができる。
表3を参照すると、汎用言語モデルとして構成された予測言語モデル9004は、ユーザの入力音声文字列について、予測音響モデル9002によって出力された未補強の候補テキスト文字列(a)および(b)に対する信頼度パラメータ値を出力できることが分かる。一実施形態によれば、エンタープライズシステム110は、1つ以上の候補テキスト文字列に対して予測言語モデル9004から返された信頼度パラメータ値が閾値を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を行わないように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002によって出力された1つ以上の候補テキスト文字列に対して予測言語モデル9004(共通汎用言語モデルとして構成することができる)から返された集計後の信頼度パラメータ値が閾値0.55を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を行わないように構成することができる。表3に例示したデータを参照すると、候補テキスト文字列(a)または(b)に対する集計後の信頼度パラメータ値がいずれも閾値を満たさないため、ブロック1107での補強が実際に行われる。表3に例示したデータに基づいて説明した実施例を参照すると、未補強の候補テキスト文字列のうちのいずれかが、集計後の信頼度パラメータ値で0.55を示した場合、エンタープライズシステム110は、ブロック1107での補強の実行を回避し、その代わりに、最もスコアが高い未補強の候補テキスト列を使用する。
代替条件または追加条件を使用して、ブロック1107における補強の実行をトリガすることができる。本明細書の実施形態は、音声テキスト変換は、音声文字列に含まれる単語もしくは音素またはその両方の数が少ない場合に信頼性が低下する可能性があることを認識するものである。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された1つまたはそれ以上の候補テキスト文字列の単語数が閾値を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行しないように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された1つ以上の候補テキスト文字列の音素数が閾値を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行しないように構成することができる。一実施形態によれば、エンタープライズシステム110は、返された各テキスト文字列について予測音響モデル9002から返された信頼度パラメータ値が閾値未満であるという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行するように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された、各返されたテキスト文字列の単語カウントが閾値未満であるという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行するように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された、各返されたテキスト文字列の音素カウントが閾値未満であるという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行するように構成することができる。一実施形態によれば、エンタープライズシステム110は、(a)(予測言語モデル9004によって出力された)信頼度パラメータ値、(b)予測音響モデル9002から返された1つ以上の候補単語文字列の単語カウント、または(c)予測音響モデル9002から返された1つ以上の候補単語文字列の音素カウントのうちの1つ以上に依存する条件に基づいて、受信音声文字列に対してブロック1107に補強を実行するように構成することができる。
本明細書の実施形態は、観察された条件に基づいて選択的にのみブロック1107にて補強が実行されるようにIVRアプリケーション111を構成することにより、動作速度を向上できるとともに、コンピューティングリソースを節約できる(これは、同時に実行されるIVRアプリケーション111のインスタンス数が増加するにつれて、その重要性が増す可能性がある)ことを認識するものである。
いくつかの実施形態において、エンタープライズシステム110は、IVRアプリケーション111のそれぞれの会話ステージに関連する1つ以上の予測言語モデルの属性を指定する制御レジストリを、データリポジトリ108のモデル領域2121に格納し、更新することができる。制御レジストリデータの例を表4に示す。
本明細書に規定する特徴により、IVRセッションの複数のノードに対する共通汎用言語予測モデルの使用を促進することができる。共通汎用言語予測モデルを使用することにより、会話ステージに関連する予測を返すための会話ステージ特有言語予測モデルの使用を最小限にする、または使用しないようにすることが容易になる。
いくつかの実施形態において、IVRアプリケーション111は、IVRセッションの各可能な会話ステージ(例えば、図6のダイアログ決定ツリー3002の各ノードにマッピングされる)について、汎用言語モデルとして構成された予測言語モデル9004を最初に展開するように構成することができ、各ステージおよびノードに対して、同一の共通汎用言語モデルを展開することができる。ただし、システム100の展開中、エンタープライズシステム110は、例えば、次の会話ステージにおけるユーザ音声文字列入力を検査することによって、各ノードに対して共通に展開された汎用言語モデルの性能を監視することができる。エンタープライズシステム110は、自然言語処理を実行して、前のステージにおける書き起こしが誤っていることを示すキーワード(例えば、「I did not ask that question(私はその質問をしていません)」)や、低い閾値を下回るユーザの否定的な感情が存在するか否かを監視することができる。これに加えて、またはこれに代えて、エンタープライズシステム110は、表3に示すような補強後の候補テキスト文字列を含む候補テキスト文字列に対して予測言語モデル9004が出力した信頼度パラメータ値を監視することによって、性能を監視することができる。エンタープライズシステム110は、同じまたは異なるユーザ用の1つまたは複数のIVRセッションの時間ウィンドウにわたって、各会話ステージ(ノードにマッピングされる)を反復的にスコア付けすることができる。そして、1つ以上のセッションの時間ウィンドウにわたって、特定の会話ステージおよびダイアログ決定ツリーノードの信頼度スコアが低い閾値を下回る場合に、エンタープライズシステム110は、当該会話ステージおよびダイアログ決定ツリーノードに対して、当該会話ステージに特有の会話ステージ特有言語モデルを展開することができる。
特定の会話ステージ用の新たな会話ステージ特有言語モデルを展開する際に、エンタープライズシステム110は、データリポジトリ108に格納され、当該会話ステージおよび当該ステージのダイアログ決定ツリーノードを示すメタデータでタグ付けされた、当該ステージについて返された過去の書き起こしを使用して、当該ステージ用の新たな会話ステージ特有言語モデルを訓練することができる。いくつかの使用例では、性能監視に応じて、特定の会話ステージおよびダイアログツリーノード用に会話ステージ特有モデルが展開される場合、エンタープライズシステム110は、当該特定の会話ステージおよびダイアログツリーノードに特に関連する過去のセッションの会話データが存在するか、ロギング領域2123の会話ロギングデータ履歴をマイニングすることができ、その選択的に得られた会話データを、新たに展開された会話ステージ特有予測モデルの訓練に選択的に使用することができる。
別の例において、エンタープライズシステム110がIVRアプリケーション111を実行することは、エンタープライズシステム110が、(a)ダイアログツリーノードにマッピングされた特定の会話ステージについて音声テキスト変換を返すために、会話ステージ特有言語モデルを使用することと、(b)1つ以上のIVRセッションにわたって、当該特定のステージに対する汎用言語モデルの使用性能を監視することと、(c)複数のダイアログツリーノードに対して共通に適用できる汎用言語モデルが、閾値を超える信頼度結果を生じているという条件に基づいて、当該会話ステージ特有言語モデルの使用を停止(decommission)することと、を含むことができる。この使用停止に伴って、コンピューティングリソースの節約のためにモデルの削除を行うことができる。そして、同じプロセスを、異なるIVRダイアログツリーノードにマッピングされた複数の会話ステージに対して実施することができる。
いくつかの実施形態において、エンタープライズシステム110は、ダイアログ決定ツリーノードにマッピングされた各会話ステージに対して、第1の汎用言語モデルおよび第2の会話ステージ特有モデルなどの複数のモデルを記憶することができる。IVRアプリケーション111を実行するエンタープライズシステム110は、ブロック1108にて、アンサンブルモデル技法(ensemble model technique)を使用して両方のモデルに対して照会を行うことができる。
エンタープライズシステム110は、IVRアプリケーション111の実行において、例えば必要に応じてのみ、会話ステージ特有予測モデルを選択的にインスタンス化できるように構成することができる。必要に応じて会話ステージ特有予測モデルを起動することは、性能監視に応じて行うことができる。例えば、書き起こしに欠陥があることを表現する音声文字列、またはユーザの感情が監視される。これに代えて、またはこれに加えて、性能監視は、予測言語モデル9004から返された信頼レベルの監視を含むことができる。
別の態様において、エンタープライズシステム110は、特定のダイアログツリーノードにマッピングされる特定の会話ステージ用に限定して必要に応じて、会話ステージ特有予測モデルがインスタンス化され展開されると、性能監視が実行され、共通汎用言語予測モデルが満足な性能を提供できると判定された場合に、当該特定の会話ステージに対する会話ステージサービス提供を、当該共通汎用言語予測モデルによるサービス提供に戻すことができるように構成することができる。
1つの使用例において、エンタープライズシステム110は、IVRアプリケーション111の初回セッションにおいて、IVRセッションのすべての会話ステージが各ノードに対する共通汎用言語予測モデルによってサービス提供されるように構成することができる。特定の会話ステージについてユーザ音声文字列が受信されると、共通汎用言語予測モデルの性能を監視することができる。すなわち、現在のセッションについて、または複数のセッションの時間ウィンドウにわたって監視することができる。予測言語モデル9004の性能を監視することは、表3に示したような補強後の候補テキスト文字列を含む候補テキスト文字列に対して、共通汎用言語モデルとして構成された予測言語モデル9004が出力した信頼度パラメータ値の監視を含むことができる。監視の結果、特定の会話ステージについて、所定の基準に従って性能が満足のいくものではないことが示された場合、当該特定の会話ステージについて、会話ステージ特有予測モデルをインスタンス化することができる。
特定の会話ステージについて会話ステージ特有予測モデルをインスタンス化した後、エンタープライズシステム110は、当該特定の会話ステージについての共通汎用言語モデルの出力を、例えば、1つまたは複数のセッションの時間ウィンドウにわたって監視し続けることができるが、共通汎用言語モデルは、書き起こしを返す目的では非アクティブ化されている場合がある(また、アンサンブルモデル構成ではアクティブ化されている場合もある)。予測言語モデル9004の性能を監視することは、表3に示したような補強後の候補テキスト文字列を含む候補テキスト文字列に対して、共通汎用言語モデルとして構成された予測言語モデル9004が出力した信頼度パラメータ値の監視を含むことができる。エンタープライズシステム110は、汎用言語モデルの性能(例えば、信頼度パラメータ値の監視による)が満足のいくものであると判定された場合に、特定の会話ステージについてのサービス提供を戻すように構成することができる。
エンタープライズシステム110は、共通汎用言語予測モデルの性能監視によって、特定の会話ステージについて共通汎用言語予測モデルが満足のいくものであることが示された場合、当該会話ステージについて会話ステージ特有予測モデルを非アクティブ化し、当該会話ステージについてのサービス提供を汎用共通言語予測モデルに戻すことができるように構成することができる。したがって、特定の会話ステージ特有予測モデルについての訓練データの収集、整理および適用に費やされるコンピューティングリソースを低減することができる。
いくつかのシナリオにおいて、共通汎用言語予測モデルの性能レベルは、IVRアプリケーション111の初回実行後、時間と共に向上する可能性がある。特定のIVRアプリケーションの複数のIVRセッションから得られるIVRアプリケーション特有訓練データ(例えば、会話ログデータ)を使用して共通汎用言語予測モデルが訓練される場合、複数のIVRセッションを実行するために実行されるIVRアプリケーション111の複数のインスタンスにわたって、共通汎用言語予測モデルとして構成された予測言語モデル9004の性能は、(特に、このような共通汎用言語予測モデルの性能を補強する補強プロセス116によって)向上する可能性がある。
いくつかの使用例では、会話ステージ特有予測モデルは、IVRアプリケーションの初回実行後の一定期間、特定の会話ステージについて共通汎用言語予測モデルよりも優れた性能を示す場合がある。しかしながら、IVRアプリケーション111における複数のセッション履歴を経て、共通汎用言語予測モデルは、多くの訓練によってより賢くなる可能性があり、したがって、本明細書に記載した複雑さの低減およびコンピューティングリソース上の利点を実現することに加えて、会話ステージ予測モデルよりも優れた性能を有する選択肢となり得る。本明細書の実施形態は、特定の会話ステージに対するサービス提供に関して、性能監視によって、共通汎用言語予測モデルと会話ステージ特有予測モデルの切り替えを容易にすることができる。
表4を参照すると、様々なステータスが考えられる。会話ステージA001については、共通汎用言語予測モデルはアクティブであり、当該会話ステージに対して会話ステージ特有言語予測モデルは一度もインスタンス化されていない。会話ステージA003を参照すると、会話ステージ特有予測モデルはインスタンス化されてアクティブであり、共通汎用言語予測モデルは、書き起こしを返してIVR決定を行わせる目的では非アクティブであるが、当該特定の会話ステージA003に対して共通汎用言語予測モデルに切り替えてサービス提供を行う可能性があるため、その性能を監視できるようにする目的で、出力を生成し続けている。
会話ステージA006を参照すると、共通汎用言語予測モデルと会話ステージ特有予測モデルの両方がアクティブである。
会話ステージA006を参照すると、共通汎用言語予測モデルと会話ステージ特有予測モデルの両方がアクティブである。
本明細書の実施形態のさらなる態様を、図7のフローチャートを参照して説明する。ブロック7102を参照すると、予測音響モデル9002を、例えば、システム100のユーザまたは他のユーザの音声データを使用して訓練することができる。ブロック7104を参照すると、IVRアプリケーション111を実行しているエンタープライズシステム110は、例えば、導出したインテント、ダイアログ、またはエンティティに応じて、ユーザに送信するプロンプトデータを決定することができる。ブロック7106Aにて、エンタープライズシステム110は、テキストベースのプロンプトデータをテキスト音声変換に供して、合成音声プロンプトデータをユーザに送信することができ、ユーザはブロック7106Cにて、合成音声プロンプトデータに応答して、音声文字列データをエンタープライズシステム110に送信することができる。
IVRアプリケーション111を実行しているエンタープライズシステム110は、受信した音声文字列データを使用して予測音響モデル9002に照会し、当該音声文字列データに関連する候補テキスト文字列を返すことができる。ブロック7106Bにて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータをデータリポジトリ108にコンテキストとして格納することができる。ブロック7106Dにて、IVRアプリケーション111を実行しているエンタープライズシステム110は、IVRプロンプトデータをテキスト解析に供して、このテキストベースプロンプトデータを特徴付けるデータを抽出することができる。ブロック7110にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック7102にて予測音響モデル9002が出力した候補テキスト文字列に追加するための先頭付加テキストを決定することができる。ブロック7114にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック7110にて決定された先頭付加テキストを、ブロック7102にて予測音響モデル9002が出力した候補テキスト文字列に追加することができる。ブロック7114にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、複数の候補テキスト文字列を使用して予測言語モデル9004に照会することができる。これらの複数のテキスト文字列は、予測音響モデル9002が出力した候補テキスト文字列、およびブロック7110にて決定された先頭付加テキストを追加することによって修正された、これら候補テキスト文字列の補強版を含むことができる。ブロック7114にて、予測言語モデル9004は照会に応じて、1つ以上の信頼度パラメータ値のセットを返すことができる。ブロック7116にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、返された信頼度の値を調べ、返される書き起こしとして、最もスコアが高い候補テキスト文字列を選択することができる。そして、ブロック7104の次の反復において、IVRアプリケーション111を実行しているエンタープライズシステム110は、この返された書き起こしを使用して、ユーザに提示する次のプロンプトデータを決定することができる。
IVRアプリケーション111を実行しているエンタープライズシステム110は、受信した音声文字列データを使用して予測音響モデル9002に照会し、当該音声文字列データに関連する候補テキスト文字列を返すことができる。ブロック7106Bにて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータをデータリポジトリ108にコンテキストとして格納することができる。ブロック7106Dにて、IVRアプリケーション111を実行しているエンタープライズシステム110は、IVRプロンプトデータをテキスト解析に供して、このテキストベースプロンプトデータを特徴付けるデータを抽出することができる。ブロック7110にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック7102にて予測音響モデル9002が出力した候補テキスト文字列に追加するための先頭付加テキストを決定することができる。ブロック7114にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック7110にて決定された先頭付加テキストを、ブロック7102にて予測音響モデル9002が出力した候補テキスト文字列に追加することができる。ブロック7114にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、複数の候補テキスト文字列を使用して予測言語モデル9004に照会することができる。これらの複数のテキスト文字列は、予測音響モデル9002が出力した候補テキスト文字列、およびブロック7110にて決定された先頭付加テキストを追加することによって修正された、これら候補テキスト文字列の補強版を含むことができる。ブロック7114にて、予測言語モデル9004は照会に応じて、1つ以上の信頼度パラメータ値のセットを返すことができる。ブロック7116にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、返された信頼度の値を調べ、返される書き起こしとして、最もスコアが高い候補テキスト文字列を選択することができる。そして、ブロック7104の次の反復において、IVRアプリケーション111を実行しているエンタープライズシステム110は、この返された書き起こしを使用して、ユーザに提示する次のプロンプトデータを決定することができる。
ブロック7102を参照すると、予測音響モデル9002を訓練することができる。(a)開発者ユーザは、予測音響モデルを訓練して予測音響モデル9002を提供してもよいし、すぐに使用可能な市販の音響モデル(COTS)を使用して予測音響モデル9002を提供してもよい。
ブロック7104を参照すると、音声モデルを会話コンテキストに使用することができる。IVRセッションを円滑にするために、市販の音声チャットソリューション(例えば、音声対話用のWatson Assistant(TM))を展開することができる。ブロック7106Aを参照すると、システムはユーザに対してプロンプトを行い、STT認識要求を開始することができる。ブロック7106Bを参照すると、最後のプロンプトをコンテキストとして保存することができる。ブロック7106Cを参照すると、認識には既存のAPI(例えば、ウェブソケット接続)を使用することができる。ブロック7106Dを参照すると、コンテキストがユーザ音声とともに渡される。ブロック7108を参照すると、システムはコンテキスト文字列を、最小限の有用なコンポーネントに分割する。コンテキスト文字列は、典型的な文法解析(文、品詞)を通して送信することができる。コンテキストが単一の短文である場合、分割が実行されなくてもよい。コンテキストが複数の文を含んでいる場合、最後の文を使用することができる。コンテキストが1つの文中に複数の文節を含んでいる場合、最後の文節を使用することができる。ブロック7110を参照すると、コンテキスト文字列に対して文法ツリー操作(grammar tree manipulation)を実行して、先頭付加に適したものにすることができる。実行可能な様々な変換として、以下を含むことができる:(a)代名詞を置き換える:例:「your」→「my」、「you」→「I」、(b)質問文を声明文に変更する:「What state are you traveling to」→「I am traveling to the state」、(c)例えばテンプレートを用いて、声明文を切り詰める:「Please state your destination」→「My destination is」、(d)操作を実行できない場合、コンテキストセグメントをそのまま渡すか、まったく使用しないようにすることができる。ブロック7112を参照すると、STTベースのモデルとして構成された予測音響モデル9002は、音声を仮説の(hypotheses)テキスト候補文字列に書き起こすことができる。ブロック7114を参照すると、仮説のテキストは、(a)最初にそのまま評価され、(b)次に、先頭付加された文脈テキストと共に評価される。評価された各仮説は、「コンテキスト一致」信頼度および書き起こし信頼度によってスコア付けすることができる。
例えば、(i)「I'm traveling to the state of Alaska」は、高いコンテキスト一致信頼度および中程度の書き起こし信頼度、(ii)「I'm traveling to the state I'll ask her」は、低いコンテキスト一致信頼度および高い書き起こし信頼度(「to the state I'll ask her」というフレーズは、コンテキスト信頼度が低い(文法的に変則的))、(iii)「I'll ask her」は、中程度のコンテキスト一致信頼度および高い書き起こし信頼度となる。コンテキスト信頼度は、文法構造(品詞、文法)が適切であることから導くことができる。また、ドメイン信頼度もスコア化することができる(書き起こしにドメイン特有の単語やフレーズが含まれているか)。書き起こしスコアは、コンテキスト信頼度、ドメイン信頼度、および書き起こし信頼度の加重平均や幾何平均などとすることができる。最も書き起こしスコアが高い書き起こし候補を返すことができる。
ブロック7104を参照すると、音声モデルを会話コンテキストに使用することができる。IVRセッションを円滑にするために、市販の音声チャットソリューション(例えば、音声対話用のWatson Assistant(TM))を展開することができる。ブロック7106Aを参照すると、システムはユーザに対してプロンプトを行い、STT認識要求を開始することができる。ブロック7106Bを参照すると、最後のプロンプトをコンテキストとして保存することができる。ブロック7106Cを参照すると、認識には既存のAPI(例えば、ウェブソケット接続)を使用することができる。ブロック7106Dを参照すると、コンテキストがユーザ音声とともに渡される。ブロック7108を参照すると、システムはコンテキスト文字列を、最小限の有用なコンポーネントに分割する。コンテキスト文字列は、典型的な文法解析(文、品詞)を通して送信することができる。コンテキストが単一の短文である場合、分割が実行されなくてもよい。コンテキストが複数の文を含んでいる場合、最後の文を使用することができる。コンテキストが1つの文中に複数の文節を含んでいる場合、最後の文節を使用することができる。ブロック7110を参照すると、コンテキスト文字列に対して文法ツリー操作(grammar tree manipulation)を実行して、先頭付加に適したものにすることができる。実行可能な様々な変換として、以下を含むことができる:(a)代名詞を置き換える:例:「your」→「my」、「you」→「I」、(b)質問文を声明文に変更する:「What state are you traveling to」→「I am traveling to the state」、(c)例えばテンプレートを用いて、声明文を切り詰める:「Please state your destination」→「My destination is」、(d)操作を実行できない場合、コンテキストセグメントをそのまま渡すか、まったく使用しないようにすることができる。ブロック7112を参照すると、STTベースのモデルとして構成された予測音響モデル9002は、音声を仮説の(hypotheses)テキスト候補文字列に書き起こすことができる。ブロック7114を参照すると、仮説のテキストは、(a)最初にそのまま評価され、(b)次に、先頭付加された文脈テキストと共に評価される。評価された各仮説は、「コンテキスト一致」信頼度および書き起こし信頼度によってスコア付けすることができる。
例えば、(i)「I'm traveling to the state of Alaska」は、高いコンテキスト一致信頼度および中程度の書き起こし信頼度、(ii)「I'm traveling to the state I'll ask her」は、低いコンテキスト一致信頼度および高い書き起こし信頼度(「to the state I'll ask her」というフレーズは、コンテキスト信頼度が低い(文法的に変則的))、(iii)「I'll ask her」は、中程度のコンテキスト一致信頼度および高い書き起こし信頼度となる。コンテキスト信頼度は、文法構造(品詞、文法)が適切であることから導くことができる。また、ドメイン信頼度もスコア化することができる(書き起こしにドメイン特有の単語やフレーズが含まれているか)。書き起こしスコアは、コンテキスト信頼度、ドメイン信頼度、および書き起こし信頼度の加重平均や幾何平均などとすることができる。最も書き起こしスコアが高い書き起こし候補を返すことができる。
本明細書の実施形態は、音声テキスト変換サービスは、特定のタスク用に訓練することができ、特別に訓練された場合に非常に良好に動作することを認識するものである。本明細書の実施形態は、複数のモデルを使用することができ、適切なタスクに対して適切なモデルを選択するために、オーケストレータを提供することができることを認識するものである。本明細書の実施形態は、複数のモデルを用いるアプローチは、開発者に対して大きな開発負担をかける可能性があり、例えば、複数のモデルを訓練する点などにおいて、コンピューティングリソースコストが発生し得ることを認識するものである。
一例によると、チャットボット(例えば、VA)は次のプロンプトを提示することができる:「What state are you traveling to?」。そして、ユーザは次のように話す:「Alaska」。カスタム訓練を行っていない汎用言語モデルの場合、「I'll ask her」と書き起こす可能性がある。特定の文法または特定の言語モデルを使用する会話ステージ特有言語モデルでは、「Alaska」と書き起こすことができる。本明細書の実施形態は、複数のモデルを使用することによって、複数のモデル用の訓練データの記憶および適用に伴う負担など、開発およびコンピューティングリソースの負担が生じ得ることを認識するものである。本明細書の実施形態は、チャットボット(例えば、IVRアプリケーション)での汎用言語モデルの使用を促進することができる。
本明細書の実施形態は、IVRアプリケーションにおける複数の会話ステージ、いくつかの使用例においてはすべての会話ステージに対して、共通かつ単一の汎用モデルの使用を促進することができる。このようなアーキテクチャにより、単純化した訓練が容易になる。訓練は、会話ログから収集されたテキストデータを単一の汎用言語モデルに使用することで達成することができる。本明細書の実施形態は、AIサービス(例えば、チャット、書き起こし)は、一貫した共同の目標を果たすためではなく、独立したマイクロサービスとして開発されてきたことを認識するものである。
本明細書の実施形態は、IVRアプリケーションにおける複数の会話ステージ、いくつかの使用例においてはすべての会話ステージの各々に対して、共通かつ単一の汎用モデルの使用を促進することができる。本明細書の実施形態は、「音声認識」アプリケーションプログラムインタフェース(API)を、認識された音声文字列データをプロンプトしたテキストを含む、コンテキストメッセージで補足することができる。音声認識システムは、上述のコンテキストメッセージを仮説テキスト評価段階で使用して、書き起こされた応答が、最初の要求のコンテキスト中で意味をなすことを確実にすることができる。コンテキストメッセージは、発話仮説(utterance hypothesis)と組み合わされる先頭付加テキスト文字列に変換することができる。説明した例では、ユーザに送信されるコンテキストメッセージは、「What state are you traveling to?」とすることができる。評価時に、当該メッセージは「I'm traveling to the state of ‘The hypothesis’(私は『仮説』の州に旅行予定です)」に変換することができる。このようにして、「I'm traveling to the state of Alaska」を選択し、「I'm traveling to the state I'll ask her」を却下することができる。
本明細書の実施形態は、チャットボットのプロンプトデータを先頭付加テキストに変換し、当該先頭付加テキストを、入力音声文字列データに関連する候補テキスト文字列に追加することにより、IVRステージの複数の会話ステージ(例えば、すべての会話ステージ)に対して、単一の共通汎用言語モデルを使用することが容易になることを認識するものである。一態様によれば、単語が追加されたより長いテキスト文字列は、汎用言語モデルを訓練するために使用された過去の訓練データのテキスト文字列履歴と一致する可能性が高くなる。共通汎用言語モデルは、訓練を行わずに使用できるか、または、簡略化された訓練手順によって訓練することができる。簡略化された訓練手順には、異なるIVRダイアログ決定ツリーノードにマッピングされる特定のそれぞれの会話ステージに関連する特別な会話データを個別に保存して適用するのではなく、単に、IVRセッション全体に関連する会話ログから関連データを抽出し、会話ログ全体を共通モデルに適用することを含むことができる。
本明細書の特定の実施形態は、コンピュータシステムの領域から生じる問題に対処するためのコンピューティング上の利点を含む、様々な技術的コンピューティング上の利点および実践的な応用を提供することができる。例えば、本明細書の実施形態は、通信ステージにおけるそれぞれの会話ステージがダイアログ決定ツリーにおけるノードにマッピング可能な複数の通信ステージを有するIVRアプリケーションに使用するための、機械学習モデル訓練手順を提供することができる。本明細書の実施形態は、IVRセッションの第1~第Nの会話ステージで使用するための、汎用言語モデルによって提供される単一の共通予測モデルを特徴とすることができる。第1~第Nの会話ステージに対して共通の予測モデルを使用することにより、IVRアプリケーションのそれぞれの会話ステージに対応する複数の会話ステージ特有言語モデル用の別々の訓練データを編成し維持する必要性が低減される。本明細書における機械学習訓練手順は、開発者に対して設計の複雑さを低減することができるとともに、例えば、訓練データの維持作業および訓練データの適用作業を低減することにより、コンピューティングリソースの利用を低減することができる。本明細書に規定するIVRアプリケーションに使用するための機械学習手順は、単に、完了したIVRセッションの会話ログから一般的な会話ログデータを抽出することと、別々の会話ステージ用の別々の学習データを別々に編成して記憶することや、複数の異なる会話フォーム特有言語モデルを別々に訓練することなどの多くのコンピューティングリソースを要する作業を行うことなく、会話ログデータを訓練データとして適用することと、を含むことができる。本明細書の実施形態は、VAなどのチャットボットによってユーザに提示されたプロンプトデータを定義するテキストベースのデータを検査することを含むことができる。当該検査は、テキストデータのデータをテキスト構文解析(例えば、プロンプトデータを定義するテキストベースのデータに品詞タグを付ける品詞タグ付けを実行するための文法構文解析)にかけることを含むことができる。検査結果に基づいて、例えば、品詞タグを使用して、IVRアプリケーションの実行により、プロンプトデータを定義するテキストベースのデータを変換して、変換後のテキストを提供することができる。プロンプトデータに応答して送信されたユーザ音声文字列に関連する候補テキスト文字列を、変換後のテキストを使用して補強し、補強後の候補テキスト文字列を生成することができる。補強後の候補テキスト文字列は、言語モデルとして構成された予測モデルを使用して評価することができる。言語モデルは、一実施形態において、関連する訓練手順を行うことなく、あるいは、開発の複雑さおよびコンピューティングリソース利用を低減した本明細書に記載の軽量訓練手順を通じて、第1~第Nの会話ステージに共通して展開される汎用言語モデルとすることができる。様々な決定データ構造を使用して、人工知能(AI)の意思決定を推進することができる。本明細書に規定する決定データ構造は、機械学習によって更新することができ、リソースを消費するルール多用型(rules intensive)処理を行うことなく、精度および信頼性が経時的かつ反復的に向上する。機械学習プロセスは、精度を高めるために、かつ、ルールベースの基準への依存を低減し、したがって、計算オーバヘッドを低減するために実行することができる。計算精度を高めるために、各実施形態は、人工知能プラットフォームや機械学習プラットフォームなど、コンピュータネットワークの領域にのみ存在する計算プラットフォームを特徴とすることができる。
本明細書の実施形態は、データ構造化プロセス、例えば、非構造化データをコンピュータ処理用に最適化された形式に変換するための処理を使用することができる。本明細書の実施形態は、非構造化データを、コンピュータベースの解析および意思決定を可能にする構造化された形式に変換するための改良されたプロセスを特徴とする、人工知能処理プラットフォームを含むことができる。本明細書の実施形態は、リッチデータをデータリポジトリに収集するための特定の構成、および、そのようなデータを更新し、かつ当該データを使用して人工知能の意思決定を推進するための追加の特定の構成の両方を含むことができる。特定の実施形態は、サブスクリプションの種類に基づいて、サービスとしてのソフトウェア(SaaS:Software-as-a-Service)、サービスとしてのプラットフォーム(PaaS:Platform-as-a-Service)、サービスとしてのデータベース(DBaaS:Database-as-a-Service)、およびこれらの組み合わせを含む、様々な種類のクラウドプラットフォーム/データセンタを使用して実装することができる。
本明細書の実施形態は、データ構造化プロセス、例えば、非構造化データをコンピュータ処理用に最適化された形式に変換するための処理を使用することができる。本明細書の実施形態は、非構造化データを、コンピュータベースの解析および意思決定を可能にする構造化された形式に変換するための改良されたプロセスを特徴とする、人工知能処理プラットフォームを含むことができる。本明細書の実施形態は、リッチデータをデータリポジトリに収集するための特定の構成、および、そのようなデータを更新し、かつ当該データを使用して人工知能の意思決定を推進するための追加の特定の構成の両方を含むことができる。特定の実施形態は、サブスクリプションの種類に基づいて、サービスとしてのソフトウェア(SaaS:Software-as-a-Service)、サービスとしてのプラットフォーム(PaaS:Platform-as-a-Service)、サービスとしてのデータベース(DBaaS:Database-as-a-Service)、およびこれらの組み合わせを含む、様々な種類のクラウドプラットフォーム/データセンタを使用して実装することができる。
図8~10は、本明細書に規定する1つ以上の態様に係る、コンピュータシステムおよびクラウドコンピューティングを含むコンピューティングの様々な態様を示す図である。
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実装形態は、クラウドコンピューティング環境に限定されないことがあらかじめ理解される。むしろ、本発明の実施形態は、現在公知のまたは後に開発される任意の他のタイプのコンピューティング環境と組み合わせて実施することが可能である。
クラウドコンピューティングは、設定可能なコンピューティングリソース(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)の共有プールへの簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルを含むことができる。
特性は以下の通りである。
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
サービスの測定:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの計量機能(metering capability)を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含む任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
展開モデルは以下の通りである。
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図8に、コンピューティングノードの一例の概略図を示す。なお、コンピューティングノード10は、クラウドコンピューティングノードとしての使用に適したコンピューティングノードの一例に過ぎず、本明細書に記載する本発明の実施形態の使用範囲または機能に関するいかなる限定も示唆することを意図していない。いずれにせよ、コンピューティングノード10は、本明細書に記載の機能のいずれかを実装すること、もしくは実行すること、またはその両方を行うことが可能である。コンピューティングノード10は、クラウドコンピューティング環境におけるクラウドコンピューティングノードとして実装することもできるし、クラウドコンピューティング環境以外のコンピューティング環境におけるコンピューティングノードとして実装することもできる。
コンピューティングノード10内には、コンピュータシステム12が存在する。コンピュータシステム/サーバ12は、他の多くの汎用または専用コンピューティングシステム環境または構成とともに動作可能である。コンピュータシステム12とともに使用するのに適した周知のコンピューティングシステム、環境、もしくは構成またはその組み合わせの例としては、特に限定されないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家電、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、および、これらのシステムまたはデバイスのいずれかを含む分散型クラウドコンピューティング環境などが挙げられる。
コンピュータシステム12は、コンピュータシステムによって実行されるプログラムプロセスなどの、コンピュータシステム実行可能命令との一般的な関連において説明することができる。一般に、プログラムプロセスは、特定のタスクを実行するかまたは特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータシステム12は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境で実施することができる。分散型クラウドコンピューティング環境において、プログラムプロセスは、メモリストレージデバイスを含む、ローカルおよびリモート両方のコンピュータシステム記憶媒体に記憶することができる。
図8に示すように、コンピューティングノード10内のコンピュータシステム12は、コンピューティングデバイスとして示されている。コンピュータシステム12のコンポーネントは、特に限定されないが、1つ以上のプロセッサ16、システムメモリ28、および、システムメモリ28を含む様々なシステムコンポーネントをプロセッサ16に接続するバス18を含んでもよい。一実施形態において、コンピューティングノード10は、非クラウドコンピューティング環境におけるコンピューティングノードである。一実施形態において、コンピューティングノード10は、図9~図10に関連して本明細書に規定するようなクラウドコンピューティング環境におけるコンピューティングノードである。
バス18は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート(AGP)、およびプロセッサまたはローカルバスを含む複数種類のバス構造のうち1つ以上の任意のものを表す。非限定的な一例として、このようなアーキテクチャは、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、およびペリフェラルコンポーネントインターコネクト(PCI)バスを含む。
コンピュータシステム12は一般的に、様々なコンピュータシステム可読媒体を含む。このような媒体は、コンピュータシステム12がアクセス可能な任意の利用可能な媒体とすることができ、揮発性媒体および不揮発性媒体の両方と、取り外し可能媒体および取り外し不可能媒体の両方とを含む。
システムメモリ28は、揮発性メモリとしてのコンピュータシステム可読媒体(RAM30もしくはキャッシュメモリ32またはその両方など)を含むことができる。コンピュータシステム12はさらに、他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータシステム可読媒体を含んでもよい。あくまでも一例として、ストレージシステム34は、取り外し不可能な不揮発性磁気媒体(不図示。一般的に「ハードドライブ」と呼ばれる)への読み書きのために設けることができる。また、図示は省略するが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピーディスク」)への読み書きのための磁気ディスクドライブ、および取り外し可能な不揮発性光学ディスク(CD-ROM、DVD-ROMや他の光学媒体など)への読み書きのための光学ディスクドライブを設けることができる。これらの例において、それぞれを、1つ以上のデータ媒体インタフェースによってバス18に接続することができる。以下でさらに図示および説明するように、メモリ28は、本発明の実施形態の機能を実行するように構成されたプログラムプロセスのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
非限定的な一例として、プログラムプロセス42のセット(少なくとも1つ)を有する1つ以上のプログラム40は、オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムプロセス、およびプログラムデータと同様に、メモリ28に記憶することができる。プログラムプロセス42を含む1つ以上のプログラム40は、一般に、本明細書に規定する機能を実行することができる。一実施形態において、エンタープライズシステム110は、1つ以上のコンピューティングノード10を含むことができるとともに、図4のフローチャートに示したように、エンタープライズシステム110およびIVRアプリケーション111を参照して説明した機能を実行するための1つ以上のプログラム40を含むことができる。一実施形態において、エンタープライズシステム110は、1つ以上のコンピューティングノード10を含むことができるとともに、図7のフローチャートに示したように、エンタープライズシステム110およびIVRアプリケーション111を参照して説明した機能を実行するための1つ以上のプログラム40を含むことができる。一実施形態において、複数のUEデバイスのうちの1つ以上のUEデバイスは、1つ以上のコンピューティングノード10を含むことができるとともに、図4のフローチャートに示したように、UEデバイスを参照して説明した機能を実行するための1つ以上のプログラム40を含むことができる。一実施形態において、複数のUEデバイスのうちの1つ以上のUEデバイスは、1つ以上のコンピューティングノード10を含むことができるとともに、図7のフローチャートに示したように、UEデバイスを参照して説明した機能を実行するための1つ以上のプログラム40を含むことができる。一実施形態において、図1に示したコンピューティングノードベースのシステムおよびデバイスは、このようなコンピューティングノードベースのシステムおよびデバイスを参照して説明した機能を実行するための1つ以上のプログラムを含むことができる。
また、コンピュータシステム12は、キーボード、ポインティングデバイス、ディスプレイ24などの1つ以上の外部デバイス14、ユーザとコンピュータシステム12とのインタラクションを可能にする1つ以上のデバイス、もしくはコンピュータシステム12と1つ以上の他のコンピューティングデバイスとの通信を可能にする任意のデバイス(例えば、ネットワークカードやモデムなど)またはこれらの組み合わせと通信することができる。このような通信は、入力/出力(I/O)インタフェース22を介して行うことができる。さらに、コンピュータシステム12は、ネットワークアダプタ20を介して1つ以上のネットワーク(ローカルエリアネットワーク(LAN)、汎用ワイドエリアネットワーク(WAN)、もしくはパブリックネットワーク(例えばインターネット)またはこれらの組み合わせなど)と通信することができる。図示するように、ネットワークアダプタ20は、バス18を介してコンピュータシステム12の他のコンポーネントと通信する。なお、図示は省略するが、他のハードウェアコンポーネントもしくはソフトウェアコンポーネントまたはその両方を、コンピュータシステム12と併用することができる。それらの一例としては、特に限定されないが、マイクロコード、デバイスドライバ、冗長化処理ユニット、外付けディスクドライブアレイ、RAIDシステム、テープドライブ、データアーカイブストレージシステムなどが挙げられる。ユーザインタフェース機能を提供するように構成可能な外部デバイス14およびディスプレイ24を有することに加えて、またはこれに代えて、コンピューティングノード10は一実施形態において、バス18に接続されたディスプレイ25、もしくはバス18に接続された1つ以上の音声出力デバイスなどの他の出力デバイス、またはその両方を含むことができる。一実施形態において、ディスプレイ25は、タッチスクリーンディスプレイとして構成することができ、ユーザインタフェース機能を提供するように構成することができる。例えば、ディスプレイ25は、仮想キーボード機能および合計データの入力を容易にすることができる。また、一実施形態において、コンピュータシステム12は、バス18に接続された1つ以上のセンサデバイス27を含むことができる。あるいは、1つ以上のセンサデバイス27は、I/Oインタフェース22を介して接続されてもよい。1つ以上のセンサデバイス27は、一実施形態において全地球測位センサ(GPS)デバイスを含むことができ、コンピューティングノード10の位置を提供するように構成することができる。これに代えて、またはこれに加えて、1つ以上のセンサデバイス27は一実施形態において、例えば、カメラ、ジャイロスコープ、温度センサ、湿度センサ、脈拍センサ、血圧(bp)センサ、または音声入力デバイスのうちの1つ以上を含むことができる。コンピュータシステム12は、1つ以上のネットワークアダプタ20を含むことができる。図9では、コンピューティングノード10は、クラウドコンピューティング環境内に実装されたものとして示されており、したがって、図9との関連ではクラウドコンピューティングノードと呼ばれる。
ここで、図9に例示的なクラウドコンピューティング環境50を示す。図示するように、クラウドコンピューティング環境50は1つ以上のクラウドコンピューティングノード10を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、PDAもしくは携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは自動車コンピュータシステム54Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード10は互いに通信することができる。ノード10は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つ以上のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境50は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、図9に示すコンピュータ装置54A~Nの種類は例示に過ぎず、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
ここで、クラウドコンピューティング環境50(図9)によって提供される機能的抽象化レイヤのセットを図10に示す。なお、図10に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本発明の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェアレイヤ60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワークコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
仮想化レイヤ70は、抽象化レイヤを提供する。当該レイヤから、例えば、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75などの仮想エンティティを提供することができる。
一例として、管理レイヤ80は以下の機能を提供することができる。リソース準備81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定82は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでもよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウド消費者およびタスクの識別確認を可能にする。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行85は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
ワークロードレイヤ90は、クラウドコンピューティング環境の利用が可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育の配信93、データ分析処理94、取引処理95、および、本明細書に規定する、音声文字列データに関連する書き起こしテキストを返すための処理コンポーネント96が含まれる。処理コンポーネント96は、図8で説明した1つ以上のプログラム40を使用して実装することができる。
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合わせとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでもよい。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、一例として、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイスまたはこれらの適切な組み合わせであってもよい。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、消去可能プログラマブルROM(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化されたデバイス、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティングデバイス/処理デバイスへダウンロードすることができる。あるいは、ネットワーク(例えばインターネット、LAN、WANもしくは無線ネットワークまたはこれらの組み合わせ)を介して、外部コンピュータまたは外部ストレージデバイスへダウンロード可能である。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはこれらの組み合わせを備えることができる。各コンピューティングデバイス/処理デバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、各々のコンピューティングデバイス/処理デバイスにおけるコンピュータ可読記憶媒体に記憶するために転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、スモールトークやC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン型ソフトウェアパッケージとして完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、完全にリモートコンピュータもしくはサーバ上で実行可能である。後者の場合、リモートコンピュータは、LANやWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続してもよいし、外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続してもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行する目的で当該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品のフローチャートもしくはブロック図またはその両方を参照して説明されている。フローチャートもしくはブロック図またはその両方における各ブロック、および、フローチャートもしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行可能である。
これらのコンピュータ可読プログラム命令は、機械を生産するために、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサに提供することができる。これにより、このようなコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行するための手段を創出する。これらのコンピュータ可読プログラム命令はさらに、コンピュータ、プログラマブルデータ処理装置もしくは他のデバイスまたはこれらの組み合わせに対して特定の態様で機能するよう命令可能なコンピュータ可読記憶媒体に記憶することができる。これにより、命令が記憶された当該コンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作の態様を実行するための命令を含む製品を構成する。
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブル装置、または他のデバイスにロードし、一連の動作ステップを当該コンピュータ、他のプログラマブル装置、または他のデバイス上で実行させることにより、コンピュータ実行プロセスを生成してもよい。これにより、当該コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行する。
図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に係るシステム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行されてもよい。例えば、関係する機能に応じて、連続して示される2つのブロックが、実際には、1つの工程として達成されてもよいし、同時もしくは略同時に実行されてもよいし、部分的もしくは全体的に時間的に重複した態様で実行されてもよいし、ブロックが場合により逆順で実行されてもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能もしくは動作を行う、または専用ハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実行可能である。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、限定することを意図するものではない。本明細書において、単数形「ある(a)」、「ある(an)」および「その(the)」は、文脈上そうではないことが明らかでない限り、複数形も含むことを意図している。さらに、「備える(comprise)」(および、「備える(comprises)」、「備える(comprising)」などの「備える(comprise)」の任意の形態)、「有する(have)」(および、「有する(has)」、「有する(having)」などの「有する(have)」の任意の形態)、「含む(include)」(および、「含む(includes)」、「含む(including)」などの「含む(include)」の任意の形態)、ならびに、「含有する(contain)」(および、「含有する(contains)」、「含有する(containing)」などの「含有する(contain)」の任意の形態)という用語は、オープンエンドの連結動詞であることが理解される。その結果、1つ以上のステップまたは要素を「備える(comprises)」、「有する(has)」、「含む(includes)」、または「含有する(contains)」方法またはデバイスは、それら1つ以上のステップまたは要素を有するが、それら1つ以上のステップまたは要素のみを有することに限定されない。同様に、1つ以上の特徴を「備える(comprises)」、「有する(has)」、「含む(includes)」、または「含有する(contains)」方法のステップまたはデバイスの要素は、それら1つ以上の特徴を有するが、それら1つ以上の特徴のみを有することに限定されない。本明細書における「基づく(based on)」という用語の形態は、要素が部分的に基づく場合の関係性、および要素が完全に基づく場合の関係性を包含する。ある特定の数の要素を有するものとして記載された方法、製品、およびシステムは、その特定の数よりも少ないまたは多い数の要素を用いて実施されてもよい。さらに、ある特定の態様で構成されたデバイスまたは構造は、少なくともその特定の態様で構成されるが、記載されていない態様で構成されてもよい。
本明細書に記載される数値および他の値は、明示的に記述されているか、本開示の説明から本質的に導き出されるかを問わず、「約(about)」という用語によって修飾されることが企図される。本明細書において使用される「約」という用語は、特に限定されないが、当該用語で修飾される数値を含むそれ以下の許容範囲および値を含むように、修飾される値の数値境界を定義するものである。つまり、数値は、明示的に記述されている実際の値、および、本開示において示唆もしくは記載またはその両方がなされている実際の値の少数値、分数値、もしくは他の倍数値であるか、またはそれらであり得る他の値を含むことができる。
以下の特許請求の範囲におけるすべてのミーンズプラスファンクション要素またはステッププラスファンクション要素の対応する構造、材料、動作、および均等物は、存在する場合、具体的に特許請求された他の特許請求要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことを意図している。本明細書に記載の説明は、例示および説明を目的として提示されたものであり、網羅的であることや、開示した形態に限定することを意図したものではない。本開示の範囲から逸脱することなく、多くの変更および変形が当業者には明らかである。本実施形態は、本明細書に記載の1つ以上の態様の原理および実際の応用例を最もよく説明するために、かつ他の当業者が、企図している特定の用途に適した各種の変更を伴う各種の実施形態について、本明細書に記載の1つ以上の態様を理解できるように選択され記載されたものである。
ブロック1108にて予測言語モデル9004に入力される複数の候補テキスト文字列は、入力音声文字列データに応じてブロック1105にて予測音響モデル9002によって生成される各候補テキスト文字列、およびブロック1107にてエンタープライズシステム110によって返される各補強後の候補テキスト文字列を含むことができる。予測言語モデル9004に入力された各入力候補テキスト文字列に対して、予測言語モデル9004は、1つ以上の信頼度パラメータ値を返すことができる。1つ以上の信頼度パラメータ値は、例えば、コンテキスト信頼度パラメータ値、書き起こし信頼度パラメータ値、およびドメイン信頼度パラメータ値を含むことができる。予測言語モデル9004は、複数の連続する単語で構成される入力テキスト文字列が、予測モデルを訓練するための訓練データとして使用された過去のテキスト文字列と強く一致する場合、基準よりも高いコンテキスト信頼度パラメータ値を返すことができる。予測言語モデル9004は、入力テキスト文字列を定義する個々の単語が、予測言語モデル9004を訓練するための訓練データとして使用された過去のテキスト文字列の個々の単語と強く一致する場合、基準よりも高い書き起こし信頼度パラメータ値を返すことができる。予測言語モデル9004は、入力テキスト文字列を定義する1つ以上の単語が、現在のIVRセッションに関連する現在のトピックドメイン(例えば、業界トピックドメイン、企業トピックドメイン、もしくは会話トピックドメインまたはその組み合わせ)を特徴付ける個々の1つ以上の単語と強く一致する場合、基準よりも高いトピックドメイン信頼度パラメータ値を返すことができる。
エンタープライズシステム110は、ブロック1109にて、返されたテキストベースの書き起こしを送信し、ブロック1083にてデータリポジトリ108に格納させることができる。そして、データリポジトリ108は、ブロック1083にて、返された書き起こしを、データリポジトリ108のロギング領域2123に格納することができる。ブロック1109にて返されたテキストを送信する際に、エンタープライズシステム110は、返された書き起こしのメタデータとして、現在の会話ステージの識別子をタグ付けすることができる。この会話ステージの会話は、図6に示したダイアログ決定ツリー3002を参照して説明したように、現在のIVRセッションのダイアログ決定ツリーのノード識別子にマッピングすることができる。次に、IVRアプリケーション111を実行するエンタープライズシステム110は、この返された書き起こしを使用して、例えば、意味解析によって、ユーザのインテントを導出することができる。インテントが導出されると、IVRアプリケーション111を実行するエンタープライズシステム110は、例えば、図6に示すダイアログ決定ツリー3002を使用して、IVRセッションを適切な次の会話ステージに進めることができる。インテントを導出するための一例として、IVRアプリケーション111を実行するエンタープライズシステム110は、図6のダイアログ決定ツリー3002のエッジに関連付けられる候補インテントなど、複数の候補インテントに関連して、返された書き起こしの対応スコアを提供することができる。本明細書の実施形態は、ブロック1109にて誤った書き起こしが返された場合、エンタープライズシステム110は、ユーザに関して誤ったインテントを導出する可能性があり、現在のIVRセッションを不適切な次の段階に進める可能性があることを認識するものである。
本明細書で規定するように、補強プロセス116の実行による候補テキスト文字列の補強などの特徴によって、予測言語モデル9004は、予測言語モデル9004の訓練を反復的に更新することなく、入力候補テキスト文字列に関連する信頼度パラメータ値を返すにあたって信頼度高く使用できる汎用言語モデルとして構成することができる。一方、予測言語モデル9004が会話ステージ特有言語モデルとして構成される場合、当該予測言語モデルを訓練するための特定の会話ステージ訓練データが限られている場合があり、モデルを信頼度高く使用するには、予測モデルの訓練を反復的に更新することに依存する場合がある。したがって、いくつかの実施形態において、ブロック1108にて使用された予測言語モデル9004が会話ステージ特有言語モデルとして構成されていた場合に、ブロック1110での訓練動作を実行することができ、ブロック1108にて使用された予測言語モデル9004が汎用言語モデルとして構成されていた場合に、ブロック1110での訓練を回避することができる。また、いくつかの実施形態では、ブロック1108にて使用された予測言語モデル9004が汎用言語モデルとして構成されていた場合も、ブロック1110での訓練動作を実行することができる。
(実施例1)
ブロック1103にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータ「What state are you traveling to?」を決定し、このプロンプトデータをブロック1082にてデータリポジトリ108に格納させる。IVRアプリケーションを実行しているエンタープライズシステム110は、テキストベースのプロンプトデータをテキスト音声変換に供して、ブロック1104にて、合成された音声ベースのプロンプトデータをユーザに提示する。ユーザはブロック1204にて、音声文字列データを送信する。IVRアプリケーション111を実行しているエンタープライズシステム110は、この音声文字列データを、予測音響モデル9002にクエリデータとして供給する。エンタープライズシステム110が候補テキスト文字列を生成するために、予測音響モデル9002はブロック1105にて、候補テキスト文字列(a)「I’ll ask her(彼女に聞いてみます)」および(b)「Alaska(アラスカ)」を出力する。ブロック1106にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック1082にて記憶された記憶済みプロンプトデータをテキスト解析によって検査し、プロンプトデータを特徴付けるデータを抽出する。ブロック1107にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータを特徴付けるデータおよびプロンプトデータの内容を使用して、候補テキスト文字列を補強する。ブロック1107にて、エンタープライズシステム110は、候補テキスト文字列に追加する先頭付加テキストを「I am traveling to state of(私は~の州に旅行予定です)」として決定する。ブロック1107にて、エンタープライズシステム110は、以前に決定済みの候補テキスト文字列に先頭付加テキストを追加することによって、補強後の候補テキスト文字列を生成する。ブロック1107にて、エンタープライズシステム110は、補強後のテキスト文字列(c)「I am traveling to state of I’ll ask her(私は彼女に聞いてみますの州に旅行予定です)」、および(d)「I am traveling to state of Alaska(私はアラスカ州に旅行予定です)」を生成することができる。ブロック1108にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、複数の候補テキスト文字列を使用して、汎用言語モデルとして構成された予測言語モデル9004に照会を行う。候補テキスト文字列には、上述した候補テキスト文字列である(a)「I’ll ask her」、(b)「Alaska」、(c)「I’m traveling to state of I’ll ask her」および(d)「I am traveling to state of Alaska」が含まれる。予測言語モデル9004は、クエリデータに応答して、信頼度パラメータ値を返すように構成することができる。予測言語モデル9004は、コンテキスト信頼度パラメータ値、書き起こし信頼度パラメータ値、およびドメイン信頼度パラメータ値を返すことができる。予測言語モデル9004は、表3に示すような信頼度パラメータ値を返すことができる。
ブロック1103にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータ「What state are you traveling to?」を決定し、このプロンプトデータをブロック1082にてデータリポジトリ108に格納させる。IVRアプリケーションを実行しているエンタープライズシステム110は、テキストベースのプロンプトデータをテキスト音声変換に供して、ブロック1104にて、合成された音声ベースのプロンプトデータをユーザに提示する。ユーザはブロック1204にて、音声文字列データを送信する。IVRアプリケーション111を実行しているエンタープライズシステム110は、この音声文字列データを、予測音響モデル9002にクエリデータとして供給する。エンタープライズシステム110が候補テキスト文字列を生成するために、予測音響モデル9002はブロック1105にて、候補テキスト文字列(a)「I’ll ask her(彼女に聞いてみます)」および(b)「Alaska(アラスカ)」を出力する。ブロック1106にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、ブロック1082にて記憶された記憶済みプロンプトデータをテキスト解析によって検査し、プロンプトデータを特徴付けるデータを抽出する。ブロック1107にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、プロンプトデータを特徴付けるデータおよびプロンプトデータの内容を使用して、候補テキスト文字列を補強する。ブロック1107にて、エンタープライズシステム110は、候補テキスト文字列に追加する先頭付加テキストを「I am traveling to state of(私は~の州に旅行予定です)」として決定する。ブロック1107にて、エンタープライズシステム110は、以前に決定済みの候補テキスト文字列に先頭付加テキストを追加することによって、補強後の候補テキスト文字列を生成する。ブロック1107にて、エンタープライズシステム110は、補強後のテキスト文字列(c)「I am traveling to state of I’ll ask her(私は彼女に聞いてみますの州に旅行予定です)」、および(d)「I am traveling to state of Alaska(私はアラスカ州に旅行予定です)」を生成することができる。ブロック1108にて、IVRアプリケーション111を実行しているエンタープライズシステム110は、複数の候補テキスト文字列を使用して、汎用言語モデルとして構成された予測言語モデル9004に照会を行う。候補テキスト文字列には、上述した候補テキスト文字列である(a)「I’ll ask her」、(b)「Alaska」、(c)「I’m traveling to state of I’ll ask her」および(d)「I am traveling to state of Alaska」が含まれる。予測言語モデル9004は、クエリデータに応答して、信頼度パラメータ値を返すように構成することができる。予測言語モデル9004は、コンテキスト信頼度パラメータ値、書き起こし信頼度パラメータ値、およびドメイン信頼度パラメータ値を返すことができる。予測言語モデル9004は、表3に示すような信頼度パラメータ値を返すことができる。
代替条件または追加条件を使用して、ブロック1107における補強の実行をトリガすることができる。本明細書の実施形態は、音声テキスト変換は、音声文字列に含まれる単語もしくは音素またはその両方の数が少ない場合に信頼性が低下する可能性があることを認識するものである。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された1つまたはそれ以上の候補テキスト文字列の単語数が閾値を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行しないように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された1つ以上の候補テキスト文字列の音素数が閾値を満たすという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行しないように構成することができる。一実施形態によれば、エンタープライズシステム110は、返された各テキスト文字列について予測言語モデル9004から返された信頼度パラメータ値が閾値未満であるという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行するように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された、各返されたテキスト文字列の単語カウントが閾値未満であるという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行するように構成することができる。一実施形態によれば、エンタープライズシステム110は、予測音響モデル9002から返された、各返されたテキスト文字列の音素カウントが閾値未満であるという条件に基づいて、受信音声文字列に対してブロック1107にて補強を実行するように構成することができる。一実施形態によれば、エンタープライズシステム110は、(a)(予測言語モデル9004によって出力された)信頼度パラメータ値、(b)予測音響モデル9002から返された1つ以上の候補単語文字列の単語カウント、または(c)予測音響モデル9002から返された1つ以上の候補単語文字列の音素カウントのうちの1つ以上に依存する条件に基づいて、受信音声文字列に対してブロック1107に補強を実行するように構成することができる。
Claims (20)
- 対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、当該プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、
前記プロンプトデータを前記ユーザに提示することと、
前記プロンプトデータに応答して、前記ユーザから返された音声文字列データを受信することと、
前記ユーザの前記返された音声文字列に関連する複数の候補テキスト文字列を生成することと、
前記プロンプトデータを定義する前記テキストベースのデータを検査することと、
前記検査の結果に応じて前記複数の候補テキスト文字列を補強し、前記返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、
前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを評価することと、
前記補強後候補テキスト文字列のうちの1つを、前記返された音声文字列データに関連する、返された書き起こしとして選択することと、
を含む、コンピュータ実装方法。 - 前記評価することは、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを用いて、汎用言語モデルによって提供される予測モデルに照会することと、当該照会の結果得られた、返された信頼度パラメータ値を検査することと、を含む、請求項1に記載のコンピュータ実装方法。
- 前記検査および前記補強の前に、前記評価を実行するために使用される予測言語モデルに対して、前記複数の候補テキスト文字列をクエリデータとして適用することと、当該複数の候補テキスト文字列をクエリデータとして当該予測言語モデルに適用したことに応じて、当該予測言語モデルの性能を確認することと、当該確認に基づいて、当該予測言語モデルが前記ユーザの前記返された音声文字列データに対して満足に動作しないと判定することと、当該判定に応じて、前記検査および前記補強を選択的に実行することと、を含む、請求項1に記載のコンピュータ実装方法。
- 前記検査および前記補強の前に、前記複数の候補テキスト文字列を使用して、前記評価を実行するために使用される予測言語モデルの性能を確認することと、当該確認に基づいて、当該予測言語モデルが前記ユーザの前記返された音声文字列データに対して満足に動作しないと判定することと、当該判定に応じて、前記検査および前記補強を選択的に実行することと、を含む、請求項1に記載のコンピュータ実装方法。
- 前記補強することは、データリポジトリに格納されたマッピングデータ構造内で参照される、前記プロンプトデータを定義する前記テキストベースのデータ内の特定のテキスト文字列を識別することを含み、当該マッピングデータ構造は、テキスト文字列を変換後テキスト文字列にマッピングし、当該補強は、当該マッピングデータ構造内で当該特定のテキスト文字列に関連する特定の変換後テキスト文字列を使用することを含む、請求項1に記載のコンピュータ実装方法。
- 前記検査することは、前記プロンプトデータを定義する前記テキストベースのデータを、当該テキストベースのデータに品詞タグを割り当てるための自然言語処理にかけることを含み、前記補強することは、データリポジトリに格納されたマッピングデータ構造内のテンプレートテキスト文字列に一致する、当該プロンプトデータを定義する当該テキストベースのデータ内の特定のテキスト文字列を識別することを含み、データリポジトリに格納された当該テンプレートテキスト文字列は、品詞としてワイルドカード形式で表現された1つ以上の用語を含む、請求項1に記載のコンピュータ実装方法。
- 前記提示することは、テキスト音声変換を使用して前記プロンプトデータを合成音声で前記ユーザに提示することを含む、請求項1に記載のコンピュータ実装方法。
- 前記検査することは、前記プロンプトデータを定義する前記テキストベースのデータを、当該テキストベースのデータのそれぞれの用語に品詞タグを割り当てるための自然言語処理にかけることと、前記品詞タグを使用して、前記プロンプトデータを定義するテキストベースのデータを変換することと、を含む、請求項1に記載のコンピュータ実装方法。
- 前記補強することは、前記プロンプトデータを定義する前記テキストベースのデータを変換して、変換後のプロンプトデータを提供することと、当該プロンプトデータを前記複数の候補テキスト文字列のそれぞれの候補テキスト文字列の先頭に付加することとを含む、請求項1に記載のコンピュータ実装方法。
- 前記評価することは、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを用いて、特定の汎用言語モデルによって提供される予測モデルに照会することと、当該照会の結果得られた、返された信頼度パラメータ値を検査することと、を含み、
前記ユーザに提示する前記プロンプトデータは、前記IVRセッションの第1の会話ステージ用の当該プロンプトデータを決定することを含み、
前記方法は、前記返された書き起こしに応じて、前記IVRセッションの第2の会話ステージ用の第2のプロンプトデータを決定することと、当該第2のプロンプトデータを定義する第2のテストベースのデータを前記データリポジトリに格納することと、を含み、
前記方法は、前記第2のプロンプトデータを前記ユーザに提示することと、当該第2のプロンプトデータに応答して、第2の返された音声文字列データを当該ユーザから受信することと、当該ユーザの当該返された音声文字列に関連する第2の複数の候補テキスト文字列を生成することと、当該第2のプロンプトデータを定義するテキストベースのデータの検査を実行することと、当該検査の実行結果に応じて、当該第2の複数の候補テキスト文字列を補強して、当該第2の返された音声文字列データに関連する第2の複数の補強後候補テキスト文字列を提供することと、当該検査の実行結果に応じて、当該第2の複数の補強後候補テキスト文字列のそれぞれを用いて、前記特定の汎用言語モデルに照会し、信頼度データを返すことと、当該複数の補強後候補テキスト文字列のうちの1つを、第2のユーザ音声文字列データに関連する第2の返された書き起こしとして選択することと、をさらに含む、請求項1に記載のコンピュータ実装方法。 - 前記方法は、前記プロンプトデータに関連する特定の会話ステージを含むIVRセッションのそれぞれの会話ステージに関連する予測言語モデルについてのステータス情報を定める制御レジストリを維持することを含み、
前記方法は、前記特定の会話ステージに関連する前記制御レジストリのステータスデータを分析して、当該制御レジストリで参照される特定の予測言語モデルを識別することと、当該制御レジストリで参照される当該特定の予測言語モデルを使用して前記評価を実行することと、を含む、請求項1に記載のコンピュータ実装方法。 - 前記方法は、前記プロンプトデータに関連する特定の会話ステージを含むIVRセッションのそれぞれの会話ステージに関連する予測言語モデルについてのステータス情報を定める制御レジストリを維持することを含み、
前記方法は、IVRセッションを実行するIVRアプリケーションの後続のセッションにおいて、前記特定の会話ステージに関連する書き起こしを返すために使用される共通汎用言語モデルの性能を監視することと、当該共通汎用言語モデルの性能の当該監視によって、当該共通汎用言語モデルは満足のいく書き起こしを生成しないことが示された場合に、当該特定の会話ステージに関連する書き起こしを返すために会話ステージ特有言語モデルをインスタンス化することと、を含む、請求項1に記載のコンピュータ実装方法。 - 前記方法は、前記プロンプトデータに関連する特定の会話ステージを含むIVRセッションのそれぞれの会話ステージに関連する予測言語モデルについてのステータス情報を定める制御レジストリを維持することを含み、
前記方法は、IVRセッションを実行するIVRアプリケーションの後続のセッションにおいて、前記特定の会話ステージに関連する書き起こしを返すために使用される共通汎用言語モデルの性能を監視することと、当該共通汎用言語モデルの性能の当該監視によって、当該共通汎用言語モデルは満足のいく書き起こしを生成しないことが示された場合に、当該特定の会話ステージに関連する書き起こしを返すために会話ステージ特有言語モデルをインスタンス化することと、を含み、
前記方法は、前記インスタンス化した後、前記特定の会話ステージに関して前記共通汎用言語モデルの性能の継続監視を実行することと、当該継続監視によって、当該共通汎用言語モデルが当該特定の会話ステージについて満足のいく書き起こしを出力すると判定された場合に、当該特定の会話ステージについてのサービス提供を当該共通汎用言語モデルに戻すことと、を含む、請求項1に記載のコンピュータ実装方法。 - 前記評価することは、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを用いて、特定の汎用言語モデルによって提供される予測モデルに照会することと、当該照会の結果得られた、返された信頼度パラメータ値を検査することと、を含み、
前記ユーザに提示する前記プロンプトデータは、前記IVRセッションの第1の会話ステージ用の当該プロンプトデータを決定することを含み、
前記方法は、前記返された書き起こしに応じて、前記IVRセッションの第2の会話ステージ用の第2のプロンプトデータを決定することと、当該第2のプロンプトデータを定義する第2のテストベースのデータを前記データリポジトリに格納することと、を含み、
前記方法は、前記第2のプロンプトデータを前記ユーザに提示することと、当該第2のプロンプトデータに応答して、第2の返された音声文字列データを当該ユーザから受信することと、当該ユーザの当該返された音声文字列に関連する第2の複数の候補テキスト文字列を生成することと、当該第2のプロンプトデータを定義するテキストベースのデータの検査を実行することと、当該検査の実行結果に応じて、当該第2の複数の候補テキスト文字列を補強して、当該第2の返された音声文字列データに関連する第2の複数の補強後候補テキスト文字列を提供することと、当該検査の実行結果に応じて、当該第2の複数の補強後候補テキスト文字列のそれぞれを用いて、前記特定の汎用言語モデルに照会し、信頼度データを返すことと、当該複数の補強後候補テキスト文字列のうちの1つを、第2のユーザ音声文字列データに関連する第2の返された書き起こしとして選択することと、をさらに含み、
前記IVRセッションを実行するIVRアプリケーションは、当該IVRアプリケーションの前記第1の会話ステージに関連する前記返された書き起こしを返すために、かつ当該IVRアプリケーションの前記第2の会話ステージに関連する第2の返された書き起こしを返すために、前記特定の汎用言語モデルに共通して照会する、請求項1に記載のコンピュータ実装方法。 - 前記ユーザの前記返された音声文字列に関連する前記複数の候補テキスト文字列を生成することは、予測音響モデルに照会することを含む、請求項1に記載のコンピュータ実装方法。
- 前記検査することは、前記プロンプトデータを定義する前記テキストベースのデータを品詞タグ付けに供して、当該プロンプトデータを定義する当該テキストベースのデータに関連する品詞タグを提供することを含み、
前記補強することは、前記品詞タグのタグを用いて、前記プロンプトデータを定義する前記テキストベースのデータを変換して変換後テキスト文字列を提供することと、当該変換後テキスト文字列を、複数の候補テキスト文字列のうちのテキスト文字列の先頭に付加することと、を含む、請求項1に記載のコンピュータ実装方法。 - 前記提示することは、テキスト音声変換を使用して前記プロンプトデータを合成音声で前記ユーザに提示することを含み、
前記評価することは、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを用いて、汎用言語モデルによって提供される予測モデルに照会することを含む、請求項1に記載のコンピュータ実装方法。 - 前記提示することは、テキスト音声変換を使用して前記プロンプトデータを合成音声で前記ユーザに提示することを含み、
前記ユーザの前記返された音声文字列に関連する前記複数の候補テキスト文字列を生成することは、予測音響モデルに照会することを含み、
前記評価することは、前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを用いて、汎用言語モデルによって提供される予測モデルに照会することと、当該照会の結果得られた、返された信頼度パラメータ値を検査することと、を含む、請求項1に記載のコンピュータ実装方法。 - 1つ以上の処理回路によって読み取り可能であり、方法を実行するために1つ以上のプロセッサによって実行される命令を記憶するコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、当該方法は、
対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、当該プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、
前記プロンプトデータを前記ユーザに提示することと、
前記プロンプトデータに応答して、前記ユーザから返された音声文字列データを受信することと、
前記ユーザの前記返された音声文字列に関連する複数の候補テキスト文字列を生成することと、
前記プロンプトデータを定義する前記テキストベースのデータを検査することと、
前記検査の結果に応じて前記複数の候補テキスト文字列を補強し、前記返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、
前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを評価することと、
前記補強後候補テキスト文字列のうちの1つを、前記返された音声文字列データに関連する、返された書き起こしとして選択することと、
を含む、コンピュータプログラム製品。 - メモリと、
前記メモリと通信する少なくとも1つのプロセッサと、
方法を実行するために前記メモリを介して1つ以上のプロセッサによって実行可能なプログラム命令と、を備えるシステムであって、当該方法は、
対話型音声応答(IVR)セッションの実行において、ユーザに提示するプロンプトデータを決定し、当該プロンプトデータを定義するテキストベースのデータをデータリポジトリに格納することと、
前記プロンプトデータを前記ユーザに提示することと、
前記プロンプトデータに応答して、前記ユーザから返された音声文字列データを受信することと、
前記ユーザの前記返された音声文字列に関連する複数の候補テキスト文字列を生成することと、
前記プロンプトデータを定義する前記テキストベースのデータを検査することと、
前記検査の結果に応じて前記複数の候補テキスト文字列を補強し、前記返された音声文字列データに関連する複数の補強後候補テキスト文字列を提供することと、
前記返された音声文字列データに関連する前記複数の補強後候補テキスト文字列のそれぞれを評価することと、
前記補強後候補テキスト文字列のうちの1つを、前記返された音声文字列データに関連する、返された書き起こしとして選択することと、
を含む、システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/316,615 | 2021-05-10 | ||
US17/316,615 US11711469B2 (en) | 2021-05-10 | 2021-05-10 | Contextualized speech to text conversion |
PCT/CN2022/084329 WO2022237376A1 (en) | 2021-05-10 | 2022-03-31 | Contextualized speech to text conversion |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024521024A true JP2024521024A (ja) | 2024-05-28 |
Family
ID=83901820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023568134A Pending JP2024521024A (ja) | 2021-05-10 | 2022-03-31 | コンテキストに応じた音声テキスト変換 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11711469B2 (ja) |
JP (1) | JP2024521024A (ja) |
WO (1) | WO2022237376A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868716B2 (en) * | 2021-08-31 | 2024-01-09 | International Business Machines Corporation | Knowledge base question answering |
US20230412731A1 (en) * | 2022-06-16 | 2023-12-21 | Optum, Inc. | Automated interactive voice response interaction using voice prompt classification machine learning frameworks |
CN115662435B (zh) * | 2022-10-24 | 2023-04-28 | 福建网龙计算机网络信息技术有限公司 | 一种虚拟教师拟真化语音的生成方法及终端 |
CN117809657B (zh) * | 2024-02-29 | 2024-05-24 | 国网山东省电力公司东营供电公司 | 自应答智能辅助电话机器人 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU758006B2 (en) * | 1997-05-06 | 2003-03-13 | Speechworks International, Inc. | System and method for developing interactive speech applications |
JP3653393B2 (ja) | 1997-09-12 | 2005-05-25 | 株式会社ジェイエスピー | 発泡性ゴム変性スチレン系樹脂組成物 |
CN1112208C (zh) | 1999-05-18 | 2003-06-25 | 宋敏 | 治疗眼内出血的中药 |
US6799169B1 (en) | 1999-08-13 | 2004-09-28 | International Business Machines Corporation | Method and system for modeless operation of a multi-modal user interface through implementation of independent decision networks |
US6574469B1 (en) | 2000-05-09 | 2003-06-03 | Telefonaktiebolaget L M Ericsson (Publ) | System and method of minimizing the number of voice transcodings during a conference call in a packet-switched network |
GB2409561A (en) * | 2003-12-23 | 2005-06-29 | Canon Kk | A method of correcting errors in a speech recognition system |
US7228278B2 (en) * | 2004-07-06 | 2007-06-05 | Voxify, Inc. | Multi-slot dialog systems and methods |
US8407052B2 (en) | 2006-04-17 | 2013-03-26 | Vovision, Llc | Methods and systems for correcting transcribed audio files |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US20120016671A1 (en) | 2010-07-15 | 2012-01-19 | Pawan Jaggi | Tool and method for enhanced human machine collaboration for rapid and accurate transcriptions |
US9009041B2 (en) | 2011-07-26 | 2015-04-14 | Nuance Communications, Inc. | Systems and methods for improving the accuracy of a transcription using auxiliary data such as personal data |
US9318110B2 (en) | 2011-09-09 | 2016-04-19 | Roe Mobile Development Llc | Audio transcription generator and editor |
JP6232358B2 (ja) | 2014-08-27 | 2017-11-15 | 日本電信電話株式会社 | 次発話候補ランキング装置、方法、及びプログラム |
JP6220762B2 (ja) | 2014-10-28 | 2017-10-25 | 日本電信電話株式会社 | 次発話候補スコアリング装置、方法、及びプログラム |
US20180350390A1 (en) | 2017-05-30 | 2018-12-06 | Verbit Software Ltd. | System and method for validating and correcting transcriptions of audio files |
JP6574469B2 (ja) | 2017-10-04 | 2019-09-11 | 日本電信電話株式会社 | 次発話候補ランキング装置、方法、及びプログラム |
US11893500B2 (en) | 2017-11-28 | 2024-02-06 | International Business Machines Corporation | Data classification for data lake catalog |
US20190213284A1 (en) | 2018-01-11 | 2019-07-11 | International Business Machines Corporation | Semantic representation and realization for conversational systems |
US11145293B2 (en) | 2018-07-20 | 2021-10-12 | Google Llc | Speech recognition with sequence-to-sequence models |
US11151332B2 (en) * | 2019-03-07 | 2021-10-19 | International Business Machines Business | Dialog based speech recognition |
RU2731334C1 (ru) | 2019-03-25 | 2020-09-01 | Общество С Ограниченной Ответственностью «Яндекс» | Способ и система для формирования текстового представления фрагмента устной речи пользователя |
EP3915104A1 (en) | 2019-06-20 | 2021-12-01 | Google LLC | Word lattice augmentation for automatic speech recognition |
CN111522909B (zh) | 2020-04-10 | 2024-04-02 | 海信视像科技股份有限公司 | 一种语音交互方法及服务器 |
-
2021
- 2021-05-10 US US17/316,615 patent/US11711469B2/en active Active
-
2022
- 2022-03-31 WO PCT/CN2022/084329 patent/WO2022237376A1/en active Application Filing
- 2022-03-31 JP JP2023568134A patent/JP2024521024A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220360668A1 (en) | 2022-11-10 |
WO2022237376A1 (en) | 2022-11-17 |
US11711469B2 (en) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093707B2 (en) | Adversarial training data augmentation data for text classifiers | |
US10909328B2 (en) | Sentiment adapted communication | |
US11645470B2 (en) | Automated testing of dialog systems | |
US10394963B2 (en) | Natural language processor for providing natural language signals in a natural language output | |
US11189269B2 (en) | Adversarial training data augmentation for generating related responses | |
US10929383B2 (en) | Method and system for improving training data understanding in natural language processing | |
US10832658B2 (en) | Quantized dialog language model for dialog systems | |
JP2024521024A (ja) | コンテキストに応じた音声テキスト変換 | |
US11032217B2 (en) | Reusing entities in automated task-based multi-round conversation | |
US10394861B2 (en) | Natural language processor for providing natural language signals in a natural language output | |
US11580959B2 (en) | Improving speech recognition transcriptions | |
US11093712B2 (en) | User interfaces for word processors | |
US20210312122A1 (en) | Methods and systems for generating documents with a targeted style | |
US11354920B2 (en) | Updating and implementing a document from an audio proceeding | |
JP2024519263A (ja) | テキスト・ツー・スピーチ・モデルの訓練におけるスピーチ・ツー・テキスト・データの使用 | |
US20230409294A1 (en) | Adaptive user interfacing | |
CN116601648A (zh) | 备选软标签生成 | |
US20220188525A1 (en) | Dynamic, real-time collaboration enhancement | |
GB2604675A (en) | Improving speech recognition transcriptions | |
US11003854B2 (en) | Adjusting an operation of a system based on a modified lexical analysis model for a document | |
CN114283810A (zh) | 改进语音识别转录 | |
US11227127B2 (en) | Natural language artificial intelligence topology mapping for chatbot communication flow | |
US20220319494A1 (en) | End to end spoken language understanding model | |
Felix | Design and Implementation of an End-to-End Speech Assistant | |
JP2023129389A (ja) | コンピュータ実装方法、コンピュータシステム、コンピュータプログラム(意図的な分類のためのメッセージマッピング及び組み合わせ) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240118 |
|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20240124 |