(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-01
(54)【発明の名称】テキスト内の自動トピック検出のシステム及び方法
(51)【国際特許分類】
G06F 16/383 20190101AFI20240423BHJP
【FI】
G06F16/383
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023568666
(86)(22)【出願日】2021-05-12
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 US2021032007
(87)【国際公開番号】W WO2022240405
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523074490
【氏名又は名称】ジェネシス クラウド サービシーズ インコーポレイテッド
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】オルバック、エヤル
(72)【発明者】
【氏名】ファイザコフ、アブラハム
(72)【発明者】
【氏名】マッツァ、アルノン
(72)【発明者】
【氏名】ハイキン、レフ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA01
5B175FA03
5B175HA01
(57)【要約】
テキスト内の自動トピック検出のための方法及びシステムは、文書のコーパスのテキスト文書を受信することと、1つ以上の統語パターンに基づいて、文書から1つ以上のフレーズを抽出することとを含み得る。各フレーズについて、本発明の実施形態は、フレーズの1つ以上のワードにワード埋め込みニューラルネットワークを適用して、1つ以上のそれぞれのワード埋め込みベクトルを取得し、重み付きフレーズ埋め込みベクトルを算出し、重み付きフレーズ埋め込みベクトルに基づいて、フレーズ顕著性スコアを計算し得る。本発明の実施形態は、続いて、計算されたフレーズ顕著性スコアに基づいて、文書内の1つ以上のそれぞれのトピックを表す、1つ以上のトピックラベルを生成し得、コーパスのビジネスドメインとの関連性に従って1つ以上のトピックラベルを選択し得る。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによるテキスト内の自動トピック検出の方法であって、
第1の複数のテキスト文書のうちの少なくとも1つの第1のテキスト文書を受信することと、
1つ以上の統語パターンに基づいて、前記第1のテキスト文書から1つ以上のフレーズを抽出することであって、各フレーズは1つ以上のワードを含む、ことと、
各フレーズについて、
前記フレーズの1つ以上のワードにワード埋め込みニューラルネットワーク(NN)を適用して、1つ以上のそれぞれのワード埋め込みベクトルを取得し、
前記1つ以上のワード埋め込みベクトルに基づいて、重み付きフレーズ埋め込みベクトルを算出し、
前記重み付きフレーズ埋め込みベクトルに基づいて、フレーズ顕著性スコアを計算することと、
前記計算されたフレーズ顕著性スコアに基づいて、前記少なくとも1つの第1のテキスト文書の1つ以上のそれぞれのトピックを表す、1つ以上のトピックラベルを生成することと、を含む、方法。
【請求項2】
前記1つ以上のワード埋め込みベクトルが、前記フレーズの前記1つ以上の対応するワードの意味を符号化するように適合されている、請求項1に記載の方法。
【請求項3】
重み付きフレーズ埋め込みベクトルを算出することが、
前記フレーズの各ワードについて、前記第1の複数のテキスト文書における前記ワードの出現頻度に基づいて、ワード重み値を算出することと、
前記関連するワード重み値に基づいて、前記重み付きフレーズ埋め込みベクトルを前記関連するワード埋め込みベクトルの加重平均として算出することと、を含む、請求項1に記載の方法。
【請求項4】
フレーズ顕著性スコアを計算することが、
前記1つ以上のフレーズを無向フレーズグラフにおける頂点として配置することであって、頂点の各対が辺によって接続される、ことと、
1つ以上の辺について、対応する接続された頂点の2つのフレーズ間の意味的類似度を表す類似度重みを計算することと、
各フレーズについて、前記接続された辺の前記類似度重みに基づいて、フレーズ顕著性スコアを計算することと、を含む、請求項1に記載の方法。
【請求項5】
2つのフレーズ間の意味的類似度を表す類似度重みを割り当てることが、
前記2つのフレーズのワード埋め込みベクトル間のコサイン類似度値を算出することと、
前記2つのフレーズの前記頂点を接続する辺に前記コサイン類似度値を類似度重みとして属性付与することと、を含む、請求項4に記載の方法。
【請求項6】
フレーズ顕著性スコアを計算することが反復的に実行され、各反復が、
(a)前記それぞれの頂点に接続された辺の前記類似度重みと、(b)少なくとも1つの第2のフレーズのフレーズ顕著性スコアとに基づいて、第1のフレーズのフレーズ顕著性スコアを計算することと、
前記第1のフレーズの前記計算されたフレーズ顕著性スコアに基づいて、前記少なくとも1つの第2のフレーズの前記フレーズ顕著性スコアを更新することと、を含む、請求項4に記載の方法。
【請求項7】
1つ以上のトピックラベルを生成することが、
前記第1の複数の文書から、複数のフレーズと、それぞれの複数のフレーズ顕著性スコアとを取得することと、
トップのフレーズ顕著性スコアに対応する、前記複数のフレーズの第1のサブセットを選択することと、
前記算出されたコサイン類似度値に基づいて、前記フレーズのサブセットをクラスタにクラスタ化することであって、各クラスタが一意のトピックラベルを表す、ことと、を含む、請求項5に記載の方法。
【請求項8】
前記第1の複数の文書が第1のビジネスドメインに関連し、前記方法が、
少なくとも1つの第2のビジネスドメインに関連する第2の複数の文書を取得することと、
各トピックラベルについて、
前記トピックラベルが前記第1の複数の文書に含まれるトピックを表す確率を表す、フォアグラウンド確率値を算出し、
前記トピックラベルが前記第1の複数の文書及び前記第2の複数の文書のうちの1つに含まれるトピックを表す確率を表す、バックグラウンド確率値を算出し、
前記フォアグラウンド確率値及び前記バックグラウンド確率値に基づいて、前記第1のビジネスドメインに対する前記トピックラベルの関連性を表す、関連性スコアを算出することと、を更に含む、請求項7に記載の方法。
【請求項9】
フォアグラウンド確率値を算出することが、
前記トピックラベルのファジー検索を実行して、前記第1の複数の文書のうち、前記関連するトピックを含む文書の数N1をカウントすることと、
前記フォアグラウンド確率値を、N1と前記第1のビジネスドメインに含まれる文書の数との比として算出することと、を含む、請求項8に記載の方法。
【請求項10】
バックグラウンド確率値を算出することが、
前記トピックラベルのファジー検索を実行して、前記第1の複数の文書及び前記第2の複数の文書のうち、前記関連するトピックを含む文書の数N2をカウントすることと、
前記バックグラウンド確率値を、N2と前記第1のビジネスドメイン及び前記少なくとも1つの第2のビジネスドメインに含まれる文書の数との比として算出することと、を含む、請求項8に記載の方法。
【請求項11】
ユーザインタフェース(UI)を介して、前記第1の複数の文書内に存在するトピックに関して、少なくとも1つのクエリを受信することと、
前記1つ以上のトピックラベルに基づいて、前記クエリに対する応答を生成することと、を更に含む、請求項1に記載の方法。
【請求項12】
ユーザインタフェース(UI)を介して、前記第1の複数の文書内に存在するトピックに関して、少なくとも1つのクエリを受信することと、
前記1つ以上のトピックラベル及び対応する関連性スコアに基づいて、前記クエリに対する応答を生成することと、を更に含む、請求項8に記載の方法。
【請求項13】
テキスト内の自動トピック検出のためのシステムであって、命令コードのモジュールが記憶される、非一時的メモリデバイスと、前記メモリデバイスに関連付けられ、前記命令コードのモジュールを実行するように構成された少なくとも1つのプロセッサと、を含み、前記命令コードのモジュールの実行時に、前記少なくとも1つのプロセッサは、
第1の複数のテキスト文書のうちの第1のテキスト文書を受信することと、
1つ以上の統語パターンに基づいて、前記第1のテキスト文書から1つ以上のフレーズを抽出することであって、各フレーズは1つ以上のワードを含む、ことと、
各フレーズについて、
前記フレーズの1つ以上のワードにワード埋め込みNNを適用して、1つ以上のそれぞれのワード埋め込みベクトルを取得し、
前記1つ以上のワード埋め込みベクトルに基づいて、重み付きフレーズ埋め込みベクトルを算出し、
前記重み付きフレーズ埋め込みベクトルに基づいて、フレーズ顕著性スコアを計算することと、
各フレーズの前記計算されたフレーズ顕著性スコアに基づいて、前記少なくとも1つの第1のテキスト文書の1つ以上のそれぞれのトピックを表す、1つ以上のトピックラベルを生成することと、を行うように構成されている、システム。
【請求項14】
前記少なくとも1つのプロセッサが、重み付きフレーズ埋め込みベクトルを、
前記フレーズの各ワードについて、前記第1の複数のテキスト文書における前記ワードの出現頻度に基づいて、ワード重み値を算出することと、
前記関連するワード重み値に基づいて、前記重み付きフレーズ埋め込みベクトルを前記関連するワード埋め込みベクトルの加重平均として算出することと、によって算出するように構成されている、請求項13に記載のシステム。
【請求項15】
前記少なくとも1つのプロセッサが、フレーズ顕著性スコアを、
前記1つ以上のフレーズを無向フレーズグラフにおける頂点として配置することであって、頂点の各対が辺によって接続される、ことと、
1つ以上の辺について、対応する接続された頂点の2つのフレーズ間の意味的類似度を表す類似度重みを計算することと、
各フレーズについて、前記接続された辺の前記類似度重みに基づいて、フレーズ顕著性スコアを計算することと、によって計算するように構成されている、請求項13に記載のシステム。
【請求項16】
前記少なくとも1つのプロセッサが、2つのフレーズ間の意味的類似度を表す類似度重みを、
前記2つのフレーズのワード埋め込みベクトル間のコサイン類似度値を算出することと、
前記2つのフレーズの前記頂点を接続する辺に前記コサイン類似度値を類似度重みとして属性付与することと、によって割り当てるように構成されている、請求項15に記載のシステム。
【請求項17】
前記第1の複数の文書が第1のビジネスドメインに関連し、前記少なくとも1つのプロセッサが、
少なくとも1つの第2のビジネスドメインに関連する第2の複数の文書を取得することと、
各トピックラベルについて、
前記トピックラベルが前記第1の複数の文書に含まれるトピックを表す確率を表す、フォアグラウンド確率値を算出し、
前記トピックラベルが前記第1の複数の文書及び前記第2の複数の文書のうちの1つに含まれるトピックを表す確率を表す、バックグラウンド確率値を算出し、
前記フォアグラウンド確率値及び前記バックグラウンド確率値に基づいて、前記第1のビジネスドメインに対する前記トピックラベルの関連性を表す、関連性スコアを算出することと、を行うように構成されている、請求項13に記載のシステム。
【請求項18】
前記少なくとも1つのプロセッサが、フォアグラウンド確率値を、
前記トピックラベルのファジー検索を実行して、前記第1の複数の文書のうち、前記関連するトピックを含む文書の数N1をカウントすることと、
前記フォアグラウンド確率値を、N1と前記第1のビジネスドメインに含まれる文書の数との比として算出することと、によって算出するように構成されている、請求項17に記載の方法。
【請求項19】
前記少なくとも1つのプロセッサが、バックグラウンド確率値を、
前記トピックラベルのファジー検索を実行して、前記第1の複数の文書及び前記第2の複数の文書のうち、前記関連するトピックを含む文書の数N2をカウントすることと、
前記バックグラウンド確率値を、N2と前記第1のビジネスドメイン及び前記少なくとも1つの第2のビジネスドメインに含まれる文書の数との比として算出することと、によって算出するように構成されている、請求項17に記載の方法。
【請求項20】
前記少なくとも1つのプロセッサが、
UIを介して、前記第1の複数の文書内に存在するトピックに関して、少なくとも1つのクエリを受信することと、
前記1つ以上のトピックラベル及び対応する関連性スコアに基づいて、前記クエリに対する応答を生成することと、を行うように構成されている、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、自然言語処理(NLP)の分野に関する。より具体的には、本発明は、テキストを分析するための方法及びシステムに関する。
【0002】
(関連出願の相互参照及び優先権の主張)
本出願は、2021年5月12日に出願された米国特許出願第17/318,524号、発明の名称「SYSTEM AND METHOD OF AUTOMATIC TOPIC DETECTION IN TEXT」に対する優先権を主張する。
【背景技術】
【0003】
コンタクトセンターは、顧客との多くの対話に従事する。顧客対話は、例えば、電話、チャットルーム、電子メール、テキスト文書、ウェブページなど、それらのフォーマットが著しく異なることがある。顧客対話はまた、それらの主題も様々であり得、例えば、苦情、必要な助力、一般的な質問などを含み得る。
【0004】
大量の対話(例えば、1日あたり数千件程度)を分析することは、自動システムを用いるとより効率的にすることができ、そのような自動システムは、一般にトピック検出システムと呼ばれる。トピック検出システムは、繰り返されるトピックを見つけてその頻度を測定し得、関連するトピック及びサブトピックをそれらの主題に従ってグループ化し得る。
【0005】
顧客対話のコーパス全体にわたって繰り返されるトピック又は概念を見つける現在利用可能なトピック検出システムは、当技術分野で一般に呼ばれるようなノイズを生じさせやすく、トピック検出システムのエンドユーザ又は分析者にとって、必ずしも関心があるものではないトピックの検出につながる。
【0006】
組織のコンタクトセンターにおけるそのようなノイズの例は、例えば、組織のビジネスラインに関連しない可能性がある、又は対話の中心主題に関連しない可能性がある、繰り返されるフレーズを含み得る。そのような用語又はフレーズをフィルタリングするための一般的な方法は、手動で事前定義及び/又は更新され得る「許可リスト」及び/又は「拒否リスト」を維持することによるものである。しかしながら、そのような厳格な解決策は、新しい又は予期しない用語又はフレーズをうまく処理しない場合がある。
【発明の概要】
【0007】
以下の表、表1は、本明細書で使用される用語又は表現への参照として本明細書で使用され得る。
【0008】
【0009】
したがって、トピック検出システムによって検出されたトピックラベルの自動評価及びフィルタリングのための方法及びシステムが必要である。
【0010】
本明細書で詳述するように、本発明の実施形態は、トピック検出システムによって見つけられた概念又はトピックの質又は関連性を、(a)対話に含まれるフレーズの顕著性又は質を評価し、質の低いフレーズをフィルタリングで除外することと、(b)特定の関連するビジネスドメインの文脈において残りのフレーズの関連性を評価することとによって、改善し得る。
【0011】
いくつかの実施形態によれば、第1の段階において、本発明の実施形態は、対話に対して顕著である確率が高いフレーズを、それらが対話の中心主題に最も関連し得るという意味でマーク付け又は選択するために、対話のダイナミクスを活用し得る。例えば、この第1の段階では、本発明の実施形態は、対話の文脈において顕著性を欠き得る「自分の友達(friend of mine)」、「遠慮なく(feel free)」、「少しお付き合いください(bear with me just a moment)」、及び「お名前と電話番号(name and telephone number)」などのフレーズをフィルタリングで除外し得る。
【0012】
加えて、第2の段階では、本発明の実施形態は、マルチテナントのクラウドベースのインフラストラクチャの設定を活用して、対話内で描写されるどの概念が、特定のテナントのビジネスラインに、より高い確率で関連するかを見出し得る。例えば、この第2の段階では、本発明の実施形態は、関連性がないものであり得るか、又は特定のテナントの文脈においてあまりにも一般的で情報価値がないものであり得る「情報を収集する」、「リソースを管理する」、及び「質問に回答する」などのトピック又は概念をフィルタリングで除外し得る。
【0013】
本明細書で詳述するように、本発明の実施形態は、テナント対話を分析し得るシステムに、顕著性に従ったフレーズのフィルタリング、及び関連性に従った概念のフィルタリングを統合し、テナント(例えば、コールセンターのユーザ又は分析者)にとって関心のある繰り返されるトピックの探索を容易にし得る。
【0014】
本発明の実施形態は、少なくとも1つのプロセッサによるテキスト内の自動トピック検出の方法を含み得る。本方法の実施形態は、第1の複数のテキスト文書のうちの少なくとも1つの第1のテキスト文書を受信することと、1つ以上の統語パターンに基づいて、第1のテキスト文書から1つ以上のフレーズを抽出することであって、各フレーズは1つ以上のワードを含み得る、こととを含み得る。
【0015】
各フレーズについて、本発明の実施形態は、フレーズの1つ以上のワードにワード埋め込みニューラルネットワーク(NN)を適用して、1つ以上のそれぞれのワード埋め込みベクトルを取得し得る。1つ以上のワード埋め込みベクトルは、フレーズの1つ以上の対応するワードの意味を符号化するように適合され得る。実施形態は、次いで、1つ以上のワード埋め込みベクトルに基づいて、重み付きフレーズ埋め込みベクトルを算出し、重み付きフレーズ埋め込みベクトルに基づいて、フレーズ顕著性スコアを計算し得る。本発明の実施形態は、続いて、計算されたフレーズ顕著性スコアに基づいて、少なくとも1つの第1のテキスト文書の1つ以上のそれぞれのトピックを表す、1つ以上のトピックラベルを生成し得る。
【0016】
本発明の実施形態は、フレーズの各ワードについて、第1の複数のテキスト文書におけるワードの出現頻度に基づいて、ワード重み値を算出することと、関連するワード重み値に基づいて、重み付きフレーズ埋め込みベクトルを関連するワード埋め込みベクトルの加重平均として算出することとによって、重み付きフレーズ埋め込みベクトルを算出し得る。
【0017】
本発明の実施形態は、1つ以上のフレーズを無向フレーズグラフにおける頂点として配置することであって、頂点の各対が辺によって接続され得る、ことと、1つ以上の辺について、対応する接続された頂点の2つのフレーズ間の意味的類似度を表す類似度重みを計算することと、各フレーズについて、接続された辺の類似度重みに基づいて、フレーズ顕著性スコアを計算することとによって、フレーズ顕著性スコアを計算し得る。
【0018】
本発明の実施形態は、2つのフレーズのワード埋め込みベクトル間のコサイン類似度値を算出することと、2つのフレーズの頂点を接続する辺にコサイン類似度値を類似度重みとして属性付与することとによって、2つのフレーズ間の意味的類似度を表す類似度重みを割り当て得る。
【0019】
本発明の実施形態は、反復プロセスでフレーズ顕著性スコアを計算し得、各反復は、(a)それぞれの頂点に接続された辺の類似度重みと、(b)少なくとも1つの第2のフレーズのフレーズ顕著性スコアとに基づいて、第1のフレーズのフレーズ顕著性スコアを計算することと、第1のフレーズの計算されたフレーズ顕著性スコアに基づいて、少なくとも1つの第2のフレーズのフレーズ顕著性スコアを更新することとを含み得る。
【0020】
本発明の実施形態は、第1の複数の文書から、複数のフレーズと、それぞれの複数のフレーズ顕著性スコアとを取得することと、トップのフレーズ顕著性スコアに対応する、複数のフレーズの第1のサブセットを選択することと、算出されたコサイン類似度値に基づいて、フレーズのサブセットをクラスタにクラスタ化することであって、各クラスタは一意のトピックラベルを表す、こととによって、1つ以上のトピックラベルを生成し得る。
【0021】
本発明のいくつかの実施形態によれば、第1の複数の文書は、第1のビジネスドメインに関連する。
【0022】
本発明の実施形態は、少なくとも1つの第2のビジネスドメインに関連する第2の複数の文書を取得し得、各トピックラベルについて、トピックラベルが第1の複数の文書に含まれるトピックを表す確率を表す、フォアグラウンド確率値を算出し、トピックラベルが第1の複数の文書及び第2の複数の文書のうちの1つに含まれるトピックを表す確率を表す、バックグラウンド確率値を算出し、フォアグラウンド確率値及びバックグラウンド確率値に基づいて、第1のビジネスドメインに対するトピックラベルの関連性を表す、関連性スコアを算出し得る。
【0023】
本発明の実施形態は、トピックラベルのファジー検索を実行して、第1の複数の文書のうち、関連するトピックを含む文書の数N1をカウントすることと、フォアグラウンド確率値を、N1と第1のビジネスドメインに含まれる文書の数との比として算出することとによってフォアグラウンド確率値を算出し得る。
【0024】
本発明の実施形態は、トピックラベルのファジー検索を実行して、第1の複数の文書及び第2の複数の文書のうち、関連するトピックを含む文書の数N2をカウントすることと、バックグラウンド確率値を、N2と第1のビジネスドメイン及び少なくとも1つの第2のビジネスドメインに含まれる文書の数との比として算出することとによってバックグラウンド確率値を算出し得る。
【0025】
本発明の実施形態は、ユーザインタフェース(UI)を介して、第1の複数の文書内に存在するトピックに関して、少なくとも1つのクエリを受信し、1つ以上の関連するトピックラベルに基づいて、クエリに対する応答を生成し得る。加えて、又は代替的に、本発明の実施形態は、1つ以上のトピックラベル及び対応する関連性スコアに基づいて、クエリに対する応答を生成し得る。
【0026】
本発明の実施形態は、テキスト内の自動トピック検出のためのシステムを含み得る。システムの実施形態は、命令コードのモジュールが記憶され得る、非一時的メモリデバイスと、メモリデバイスに関連付けられ、命令コードのモジュールを実行するように構成された少なくとも1つのプロセッサとを含み得る。
【0027】
上記命令コードのモジュールの実行時に、少なくとも1つのプロセッサは、第1の複数のテキスト文書のうちの第1のテキスト文書を受信することと、1つ以上の統語パターンに基づいて、第1のテキスト文書から1つ以上のフレーズを抽出することであって、各フレーズは1つ以上のワードを含み得る、ことと、を行うように構成され得る。
【0028】
各フレーズについて、本システムの実施形態は、フレーズの1つ以上のワードにワード埋め込みNNを適用して、1つ以上のそれぞれのワード埋め込みベクトルを取得し、1つ以上のワード埋め込みベクトルに基づいて、重み付きフレーズ埋め込みベクトルを算出し、重み付きフレーズ埋め込みベクトルに基づいて、フレーズ顕著性スコアを計算し得る。
【0029】
本システムの実施形態は、続いて、各フレーズの計算されたフレーズ顕著性スコアに基づいて、少なくとも1つの第1のテキスト文書の1つ以上のそれぞれのトピックを表す、1つ以上のトピックラベルを生成し得る。
【図面の簡単な説明】
【0030】
本発明と見なされる主題は、本明細書の結論部分において特に指摘され、明確に主張される。しかしながら、本発明は、添付の図面とともに読まれるとき、以下の詳細な説明への参照により、構成及び動作方法の両方に関して、その目的、特徴、及び利点とともに、最もよく理解され得る。
【
図1】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得るコンピューティングデバイスを示す。
【
図2】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムの概要を示す。
【
図3A】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得る、顕著性計算モジュールを示す。
【
図3B】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得る、顕著性計算モジュールを示す。
【
図4】概略図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得る、フレーズ類似度グラフを示す。
【
図5】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得る、関連性計算モジュールを示す。
【
図6】本発明の実施形態による関連トピック識別の改善の一例を示すグラフである。
【
図7】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得るか、又は関連付けられ得る、アプリケーションモジュールの一例を示す。
【
図8】流れ図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出の方法を示す。
【0031】
例解を単純かつ明確にするために、図に示される要素は、必ずしも縮尺通りに描画されていないことは、理解されるであろう。例えば、いくつかの要素の寸法は、明確にするために他の要素に対して誇張されている場合がある。更に、適切であると考えられる場合、参照番号は、対応する又は類似の要素を示すために図面間で繰り返され得る。
【発明を実施するための形態】
【0032】
当業者は、本発明が、その趣旨又は本質的な特徴から逸脱することなく、他の特定の形態で実施され得ることを理解するであろう。したがって、前述の実施形態は、本明細書に記載される本発明を限定するのではなく、あらゆる点で例示的であると見なされるべきである。よって、本発明の範囲は、前述の説明によってではなく、添付の特許請求の範囲によって示され、したがって、特許請求の範囲の均等物の意味及び範囲内に入る全ての変更は、その中に包含されることが意図される。
【0033】
以下の詳細な説明では、本発明の完全な理解を提供するために、多数の特定の詳細が記載される。しかしながら、本発明がこれらの特定の詳細なしに実施され得ることは、当業者によって理解されるであろう。他の例では、本発明を不明瞭にしないように、周知の方法、手順、及び構成要素は、詳細には記載されていない。一実施形態に関して説明されるいくつかの特徴又は要素は、他の実施形態に関して説明される特徴又は要素と組み合わせられてもよい。明確にするために、同じ又は類似の特徴又は要素の説明は繰り返されない場合がある。
【0034】
本発明の実施形態はこの点で限定されないが、例えば、「処理する」、「計算する」、「算出する」、「決定する」、「確立する」、「分析する」、「チェックする」などの用語を利用する議論は、コンピュータのレジスタ及び/又はメモリ内で物理(例えば、電子)量として表されるデータを、コンピュータのレジスタ及び/又はメモリ内で、あるいは動作及び/若しくはプロセスを実行するための命令を記憶し得る他の情報非一時的記憶媒体内で、物理量として同様に表される他のデータに操作及び/又は変換するコンピュータ、コンピューティングプラットフォーム、コンピューティングシステム、又は他の電子コンピューティングデバイスの動作及び/又はプロセスを指し得る。
【0035】
本発明の実施形態はこの点で限定されないが、本明細書で使用される「複数(plurality)」及び「複数(a plurality)」という用語は、例えば、「複数(multiple)」又は「2つ以上」を含み得る。「複数(plurality)」又は「複数(a plurality)」という用語は、本明細書を通して、2つ以上の構成要素、デバイス、要素、ユニット、パラメータなどを説明するために使用され得る。「セット」という用語は、本明細書で使用される場合、1つ以上のアイテムを含み得る。
【0036】
明示的に述べられない限り、本明細書で説明される方法の実施形態は、特定の順序又はシーケンスに制約されない。加えて、説明される方法の実施形態又はその要素のうちのいくつかは、同時に、同じ時点で、又は並行して発生又は実行することができる。
【0037】
ここで
図1を参照すると、この図は、いくつかの実施形態による、テキスト分析を実行するためのシステムの一実施形態に含まれ得るコンピューティングデバイスを示すブロック図である。
【0038】
コンピューティングデバイス1は、例えば、中央処理装置(CPU)プロセッサ、チップ又は任意の適切なコンピューティングデバイス若しくは計算デバイスであり得るプロセッサ又はコントローラ2と、オペレーティングシステム3と、メモリ4と、実行可能コード5と、記憶システム6と、入力デバイス7と、出力デバイス8とを含み得る。プロセッサ2(又は、場合によっては複数のユニット若しくはデバイスにわたる、1つ以上のコントローラ若しくはプロセッサ)は、本明細書に記載の方法を実行するように、及び/又は様々なモジュール、ユニットなどとして実行又は動作するように構成され得る。2つ以上のコンピューティングデバイス1が含まれ得、1つ以上のコンピューティングデバイス1が、本発明の実施形態によるシステムの、構成要素として動作し得る。
【0039】
オペレーティングシステム3は、コンピューティングデバイス1の動作の調整、スケジューリング、調停、監督、制御、又は他の方法での管理、例えば、ソフトウェアプログラム若しくはタスクの実行をスケジューリングすること、又はソフトウェアプログラム若しくは他のモジュール若しくはユニットが通信することを可能にすることを含むタスクを実行するように設計及び/又は構成された任意のコードセグメント(例えば、本明細書で説明される実行可能コード5と同様のもの)であり得るか、又はそれを含み得る。オペレーティングシステム3は、商用オペレーティングシステムであり得る。オペレーティングシステム3は、任意選択の構成要素であり得、例えば、いくつかの実施形態では、システムは、オペレーティングシステム3を必要としない、又は含まないコンピューティングデバイスを含み得ることに留意されたい。
【0040】
メモリ4は、例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SD-RAM)、ダブルデータレート(DDR)メモリチップ、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期記憶ユニット、長期記憶ユニット、又は他の好適なメモリユニット若しくは記憶ユニットであり得るか、又はそれらを含み得る。メモリ4は、複数の異なる可能性のあるメモリユニットであり得るか、又はそのようなメモリユニットを含み得る。メモリ4は、コンピュータ若しくはプロセッサ非一時的可読媒体、又はコンピュータ非一時的記憶媒体、例えば、RAMであり得る。一実施形態では、メモリ4、ハードディスクドライブ、別の記憶デバイスなどの非一時的記憶媒体は、プロセッサによって実行されたときに本明細書で説明される方法をプロセッサに実行させ得る命令又はコードを記憶し得る。
【0041】
実行可能コード5は、任意の実行可能コード、例えば、アプリケーション、プログラム、プロセス、タスク又はスクリプトであり得る。実行可能コード5は、場合によってはオペレーティングシステム3の制御下で、プロセッサ又はコントローラ2によって実行され得る。例えば、実行可能コード5は、本明細書で更に説明されるようにテキスト分析を実行し得るアプリケーションであり得る。明確にするために、単一アイテムの実行可能コード5が
図1に示されているが、本発明のいくつかの実施形態によるシステムは、メモリ4にロードされ、本明細書に記載の方法をプロセッサ2に実行させ得る実行可能コード5に類似した複数の実行可能コードセグメントを含み得る。
【0042】
記憶システム6は、例えば、当該技術分野で知られているようなフラッシュメモリ、当該技術分野で知られているようなマイクロコントローラ若しくはチップの内部にある、若しくはそれらに埋め込まれたメモリ、ハードディスクドライブ、CD-Recordable(CD-R)ドライブ、ブルーレイディスク(BD)、ユニバーサルシリアルバス(USB)デバイス、又は他の好適なリムーバブル及び/若しくは固定記憶ユニットであり得るか、又はそれらを含み得る。テキスト分析に関連するデータは、記憶システム6に記憶され得、記憶システム6からメモリ4にロードされ得、プロセッサ又はコントローラ2によって処理され得る。いくつかの実施形態では、
図1に示される構成要素のいくつかは省略され得る。例えば、メモリ4は、記憶システム6の記憶容量を有する不揮発性メモリであり得る。したがって、別個の構成要素として示されているが、記憶システム6は、メモリ4に埋め込まれても、含まれてもよい。
【0043】
入力デバイス7は、任意の好適な入力デバイス、コンポーネント、又はシステム、例えば、取り外し可能なキーボード又はキーパッド、マウスなどであり得るか、又はそれらを含み得る。出力デバイス8は、1つ以上の(場合によっては取り外し可能な)ディスプレイ若しくはモニタ、スピーカ、及び/又は任意の他の好適な出力デバイスを含み得る。任意の適用可能な入力/出力(I/O)デバイスが、ブロック7及び8によって示されるように、コンピューティングデバイス1に接続され得る。例えば、有線又は無線ネットワークインタフェースカード(NIC)、ユニバーサルシリアルバス(USB)デバイス、又は外部ハードドライブが、入力デバイス7及び/又は出力デバイス8に含まれ得る。ブロック7及び8によって示されるように、任意の好適な数の入力デバイス7及び出力デバイス8がコンピューティングデバイス1に動作可能に接続され得ることは認識されるであろう。
【0044】
本発明のいくつかの実施形態によるシステムは、複数の中央処理装置(CPU)又は(例えば、要素2と同様の)任意の他の好適な多目的若しくは特定のプロセッサ若しくはコントローラ、複数の入力ユニット、複数の出力ユニット、複数のメモリユニット、及び複数の記憶ユニットなどであるが、それらに限定されない、構成要素を含み得る。
【0045】
ニューラルネットワーク(NN)又は人工ニューラルネットワーク(ANN)、例えば、機械学習(ML)又は人工知能(AI)機能を実装するニューラルネットワークは、ニューロンと呼ばれる、層に編成された、ニューロン間にリンクがあるノードを含み得る情報処理パラダイムを指し得る。リンクは、ニューロン間で信号を転送し得、重みに関連付けられ得る。NNは、特定のタスク、例えば、パターン認識又は分類のために構成又は訓練され得る。特定のタスクについてNNを訓練することは、例に基づいてこれらの重みを調整することを伴い得る。中間又は最後の層の各ニューロンは、入力信号、例えば、他のニューロンからの出力信号の重み付けされた和を受信し得、線形又は非線形関数(例えば、活性化関数)を使用して入力信号を処理し得る。入力層及び中間層の結果は、他のニューロンに転送され得、出力層の結果は、NNの出力として提供され得る。典型的には、NN内のニューロン及びリンクは、活性化関数並びにデータ要素及び重みの行列などの数学的構成物によって表される。プロセッサ、例えば、CPU若しくはグラフィックス処理ユニット(GPU)、又は専用ハードウェアデバイスが、関連する計算を実行し得る。
【0046】
ここで
図2を参照すると、この図は、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムの概要を示す。
【0047】
本発明のいくつかの実施形態によれば、システム100は、ソフトウェアモジュール、ハードウェアモジュール、又はそれらの任意の組み合わせとして実装され得る。例えば、システム100は、
図1の要素1などのコンピューティングデバイスであり得るか、又はそれを含み得、本明細書で更に説明されるように、実行可能コードの1つ以上のモジュール(例えば、
図1の要素5)を実行してテキスト分析を行うように適合され得る。
【0048】
図2に示すように、矢印は、システム100への及びシステム100からの、並びに/又はシステム100のモジュール若しくは要素間の1つ以上のデータ要素の流れを表し得る。いくつかの矢印は、明確にするために
図2では省略されている。
【0049】
図2に示すように、システム100は、少なくとも1つのテキスト文書データ要素21Aを受信するように構成された、顕著性計算モジュール200を含み得る。テキスト文書21Aは、特定の組織若しくはテナント20(例えば、特定のレンタカー代理店)及び/又は同様の組織若しくはテナント(例えば、複数のレンタカー代理店)のドメイン20’に関連するコーパス21に関する、当該技術分野で一般的に参照されるような、複数のグループ又はコーパス21に関連付けられ得るか、又はそれらに含まれ得る。
【0050】
いくつかの実施形態によれば、本明細書で詳述するように、顕著性計算モジュール200は、1つ以上の統語パターンに基づいて、テキスト文書21Aから1つ以上のフレーズ又はフラグメントを抽出し得る。各フラグメントは、テキスト文書21A内の隣接又は関連するワードのグループなど、1つ以上のワードを含み得る。顕著性計算モジュール200は、続いて、1つ以上の抽出されたフレーズ又はフラグメントの顕著性スコアを算出し得る。
【0051】
いくつかの実施形態によれば、顕著性計算モジュール200は、本明細書で詳述するように、最高ランクの顕著性スコアに対応する一部又は一定割合のフレーズを選択し得る。加えて、又は代替的に、顕著性計算モジュール200は、本明細書で詳述するように、所定の閾値を上回るスコアを有するフレーズのサブセットを選択し得る。これらの選択されたフレーズは、
図2において「顕著なフレーズ200A」と示されている。
【0052】
図2に示されるように、システム100は、本明細書で詳述するように、1つ以上の選択された顕著なフレーズ200Aを受信し、受信した顕著なフレーズから、少なくとも1つの文書21A内で議論されるか又はそれに含まれるトピックの1つ以上の初期ラベル又はインジケータを生成するように適合された、関連性計算モジュール300を含み得る。関連性計算モジュール300は、続いて、初期ラベルを分析して、特定のテナント20及び/又はドメイン20’の文脈における1つ以上の(例えば、それぞれの)候補トピックの関連性スコアを決定し得る。次に、関連性計算モジュール300は、文書21Aに含まれる少なくとも1つのトピックを表すものとして、最も高い関連性スコア(例えば、所定の閾値を上回るスコア)に対応する、トピックラベルのサブセット又は一部をマーク付け又は選択し得る。これらの選択されたトピックラベルは、
図2において「関連トピックラベル300A」と示されている。
【0053】
いくつかの実施形態によれば、システム100は、顕著なフレーズ200A及び/又は関連トピックラベル300Aをトピックデータ構造400B(例えば、テーブル、連結リストなど)としてデータベース又は記憶若しくはメモリデバイス(例えば、
図1の記憶システム6)上に含むか又は記憶し得る。例えば、トピックデータ構造400B内の各エントリは、特定の文書21Aを1つ以上のそれぞれの顕著なフレーズ200A及び/又は関連トピックラベル300Aに関連付け得る。
【0054】
システム100は、トピックデータ構造400Bを利用して、例えば、ユーザ、又はコンピューティングデバイス(例えば、
図1のコンピューティングデバイス1)上で実行されるアプリケーションに、文書21Aに関連する1つ以上のトピックメタデータ400Aデータ要素を提供し得る。例えば、ユーザは、「どの文書が特定の技術的問題のトピックを論じているか」など、複数の文書21A内のトピックの内容に関して、データベースクエリをシステム100に提示し得る。システム100は、トピックメタデータ400Aを含むクエリ応答でクエリに応答し得る。この例では、システム100は、このクエリ応答400Aに、タイトルのリスト、又は特定の技術的問題を論じる文書21Aへのポインタを含め得る。
【0055】
当該技術分野で知られているように、トピック検出のための現在利用可能なシステムは、何らかの形態の類似度メトリックの助けを借りて、類似するフレーズを一緒にクラスタ化することによって、文書のコーパス内で繰り返されるトピックを見つけようと試み得る。クラスタ化方法及び類似度メトリックは、異なる実装形態の間で異なり得る。そのようなプロセスの出力は、特定のトピックを表すラベルのセットである。トピックラベルのセットは、ラベル間の多様度(又は最小類似度)を最大化するように形成されるべきであり、各ラベルは、エンドユーザにとって関心のあるトピックであることが理解されよう。コンタクトセンター対話の例では、これは、ユーザが、特定のトピックを含む対話の量、それらの経時的な変化など、関連するトピックに関するメタデータを見て、このトピックを含む特定の対話を見つけることに関心があることを意味する。
【0056】
トピック検出のために現在利用可能なシステムは、トピック検出プロセスのための入力が各対話の完全なテキスト(例えば、Nグラム又は統語パターンの形態)であり得る、単純な手法を採用し得る。
【0057】
本発明の実施形態は、現在利用可能なテキスト分析技術に対する改善を含み得る。(a)顕著なフレーズ200Aを得るために、より顕著でないテキストを入力文書からフィルタリングで除外することと、(b)最も顕著なフレーズに基づいて、関連性の分析を実行して関連トピックラベル300Aを得ることとによって、実施形態は、本明細書で詳述するように、トピックラベルの結果セットを改善し得る。例えば、本発明の実施形態は、トピックラベルの出力セットのトピックラベル間の類似度を最小化し得る。加えて、本発明の実施形態は、本明細書で詳述するように、特定のテナント20及び/又はドメイン20’に最も関連するトピックラベルをより良好に選択し、(例えば、分析者に)提示し得る。
【0058】
ここで
図3Aを参照すると、この図はブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステム100に含まれ得る、顕著性計算モジュール200を示す。
【0059】
図3Aに示されるように、顕著性計算モジュール200(又は略してモジュール200)は、フレーズ抽出モジュール210を含み得る。フレーズ抽出モジュール210は、(a)少なくとも1つのテキスト文書21A、及び(b)1つ以上の統語パターン又は規則31Aを受信するように適合され得る。1つ以上の統語パターン31Aは、データベース(例えば、
図1の記憶デバイス6)に保持又は記憶され得る、テーブルなどのデータ構造であり得るか、又はそれを含み得る。当該技術分野で知られているように、1つ以上の統語パターン31Aは、1つ以上のワードを人間の言語(例えば、英語、スペイン語など)のセンテンスにおける文法的役割に関連付け得、したがって、人間の言語の文法を解読し得る。フレーズ抽出モジュール210は、1つ以上の統語パターン31Aをテキスト文書21Aに適用して、テキスト文書21Aから1つ以上のフラグメント又はフレーズ210Aを抽出し得、各フラグメント又はフレーズ210Aは1つ以上のワード210Bを含む。
【0060】
いくつかの実施形態によれば、フレーズ抽出モジュール210は、自然言語処理(NLP)アプリケーションに対して一般的に使用されているツールである、品詞(PoS)タガーを含み得る。PoSタガーは、入ってくるセンテンスの文法を分析するように構成され得、センテンス内の各ワードに、名詞、動詞、形容詞などの適切な(POS)タグで注釈を付け得る。いくつかの実施形態によれば、フレーズ抽出モジュール210は、文書21Aのワードに注釈を付けるために、PoSタガーを用い得る。フレーズ抽出モジュール210は、続いて、それぞれのPoSタグが所望の予め定義された統語パターン31Aのうちの1つと一致するワードのシーケンス(例えば、フレーズ210A)を選択し得る。例えば、予め定義された統語パターン31A:(「動詞->限定詞->名詞」、「動詞->限定詞->形容詞->名詞」)に対して、シーケンス「book a flight」及び「book a quick flight」は一致し、フレーズ210Aとして抽出される。一方、シーケンス「flight booking」は一致せず、フレーズ210Aとして抽出されない。したがって、フレーズ抽出モジュール210は、テキスト会話、対話、及び/又は文書21A全体を入力として受信し得、それらから、予め定義された統語パターン31Aのうちの1つに一致した全てのフレーズ又はフラグメント210Aを生成し得る。
【0061】
例えば、第1のフレーズ210Aは、「what I asked for」というテキストを含み得、第2のフレーズ210Aは、「request a replacement」というテキストを含み得、第3のフレーズ210Aは、「something similar」というテキストを含み得る。フレーズ210Aのこれらの例は、本発明の態様を更に詳しく説明するために本明細書で使用される。
【0062】
人工知能(AI)ベースの自然言語処理(NLP)の技術分野で知られているように、人間の言語の語彙は、ワードなどの離散要素からなる。NLPシステムは、ニューラルネットワークアーキテクチャを使用して、一般に「埋め込みベクトル空間」と呼ばれるベクトル空間内の一般に「埋め込みベクトル」と呼ばれるベクトルに各離散要素(例えば、各ワード)をマッピングし得る。ワードのこの埋め込みベクトル空間表現を使用することは、NLPシステムが人間の言語の語彙の連続的な分散表現を有することを可能にし得る。この連続的な埋め込みベクトル表現の利点は、NLPシステムが、意味において類似するワードを埋め込みベクトル空間の類似する領域にマッピングし得る(例えば、類似する埋め込みベクトルによって表される)ことである。例えば、ワード「cat」の埋め込みベクトル表現は、ワード「piano」の埋め込みベクトル表現よりもワード「feline」の埋め込みベクトル表現に(何らかの所定のメトリックに従って)類似し得る。
【0063】
図3Aに示すように、モジュール200は、ワード埋め込みベクトル算出モジュール220を含み得る。いくつかの実施形態では、埋め込みベクトル算出モジュール220は、人間の言語のワードを受信し、受信したワードの埋め込みベクトル表現220Aをそのワードから生成するように適合された、ワード埋め込みニューラルネットワーク(NN)であり得るか、又はそれを含み得る。埋め込みベクトル算出モジュール220はまた、本明細書において、略して「モジュール220」又は「埋め込みNN220」として示され得る。
【0064】
いくつかの実施形態によれば、モジュール200は、抽出されたフラグメント210Aの1つ以上のワード210Bに埋め込みNN220を適用して、1つ以上のそれぞれのワード埋め込みベクトル220Aを取得し得る。上記で説明したように、埋め込みベクトル220Aは、フラグメント又はフレーズ210Aの1つ以上の対応するワード210Bの意味を符号化するように適合され得る。
【0065】
フレーズ210Aの例「something similar」に関して、埋め込みNN220は、フレーズ210Aから、ワード210B「something」を表す第1の埋め込みベクトル220Aと、ワード210B「similar」を表す第2の埋め込みベクトル220Aとを生成し得る。
【0066】
NLPの技術分野で知られているように、単語頻度-逆文書頻度(TF-IDF)スコアは、文書のコレクション又はコーパス内の特定の文書に対してワードがどれだけ重要であるかを示し得る数値統計である。TF-IDFスコアは、例えば、テキスト情報検索及びテキストマイニングの自動検索における重み係数として使用され得る。TF-IDFスコア値は、ワードが特定の文書内に出現する回数に比例して増加し得、コーパス21内でのそのワードを含む文書の数によってオフセットされる。このオフセットは、いくつかのワードが一般に、より頻繁に現れるという事実を補償し得る。
【0067】
図3Aに示されるように、モジュール200は、抽出されたフレーズ210A(例えば、フレーズ「something similar」)からの少なくとも1つのワード210B(例えば、ワード「something」)を受信し得、受信されたワード210Bに対応する重み230Aを算出し得るワード重み算出モジュール230を含み得る。
【0068】
いくつかの実施形態によれば、重み算出モジュール230は、TF-IDFスコアのカルキュレータであり得、重み230Aは、TF-IDFスコア値であり得る。例えば、重み算出モジュール230は、特定の文書21Aに関する特定のワードの重み230Aを、(a)特定の文書21Aにおける特定のワード210Bの出現数、及び(b)特定のテナント20又はドメイン20’に関連した、文書21Aのコーパス又は複数21における特定のワード210Bの出現数のTF-IDF関数として算出し得る。
【0069】
加えて、又は代替的に、ワード重み算出モジュール230は、以下の式1に従って重み230Aを算出し得る。
【0070】
【数1】
式中、iは、フレーズ210A(例えば、フレーズ「something similar」)のインデックス(例えば、1、2、3)であり、
w
iは、フレーズ210A内のインデックスiのワード210Bであり(例えば、「something」、「similar」)、
Ndは、文書21Aの複数又はコーパス21内の全ての文書の数であり、
M
df(w
i)は、ワードw
iを含む文書21Aの数へのワードw
iのマッピングであり、α[w
i]は重み230Aである。
【0071】
例示的な式1に示すように、当業者であれば、ワード重み230A(例えば、α[wi])は、例えば、TF-IDF関数の逆文書頻度関数(例えば、IDF)として算出され得ることが理解されよう。
【0072】
ここで
図3Bを参照すると、この図はブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステム100に含まれ得る、顕著性計算モジュール200の代替実装形態を示す。
図3Bにおいて、顕著性計算モジュール200の実装形態は200’で示され、200’A及び200’Bで示される、2つの部分又はモジュールを含み得る。
【0073】
モジュール200’A及び200’Bは、
図3Aの顕著性計算モジュール200のものと類似する又は同一であるモジュール(例えば、210、220、230、240、250、260、及び270)を含み得ることが理解されよう。モジュール200’A及び200’Bは、同じコンピューティングデバイス(例えば、
図1のコンピューティングデバイス1)上に実装されてもよく、又はクラウドコンピューティングデバイスなどの複数のコンピューティングデバイス間に分散されてもよいことが理解されよう。
【0074】
図3Aに示されるように、モジュール200’Aは、複数の文書又は対話21Aを受信し得、(例えば、
図3Aに関して)本明細書で詳述するように、ワード埋め込みベクトル算出モジュール220を用いて、複数の受信された文書21Aのワードに対応するワード埋め込みベクトル220Aを算出し得る。
【0075】
加えて、又は代替的に、モジュール200’Aは、(例えば、
図3Aに関して)本明細書で詳述するように、ワード重み算出モジュール230を用いて、複数の受信された文書21Aのワードに対応するワード重み230Aを算出し得る。
【0076】
いくつかの実施形態によれば、モジュール200’Aは、ワード埋め込みベクトル220A及び/又はワード重み230Aをオフラインプロセスで生成又は算出し、ワード埋め込みベクトル220A及び/又はワード重み230Aをリポジトリ記憶装置280(例えば、
図1の記憶要素6)に記憶し得る。「オフライン」という用語は、本明細書で詳述するように、対象となる特定の文書の分析に関連してもしなくてもよい、文書の一般コーパス21に含まれるワードに対してワード埋め込みベクトル220A及び/又はワード重み230Aが算出又は準備される予備プロセスを示すために、この文脈で使用され得る。いくつかの実施形態によれば、記憶リポジトリ280は、システム200’に含まれ得る。代替的に、
図3Bに示されるように、システム200’は、例えばクラウドストレージサービス上に実装され得る記憶リポジトリ280に関連付けられ得るか、又は通信可能に接続され得る。
【0077】
後続の「オンライン」テキスト分析プロセスにおいて、モジュール200’(例えば、200’B)は、リポジトリ記憶装置280から、準備されたワード埋め込みベクトル220A及び/又はワード重み230Aを取り出し得ることが理解されよう。次いで、モジュール200’Bは、取り出したワード埋め込みベクトル220A及び/又はワード重み230Aをフレーズ埋め込みベクトル算出モジュール240に入力して、本明細書で詳述するように、文書21Aを更に分析し得る。
【0078】
図3Aに示すように、モジュール200は、1つ以上のワード埋め込みベクトル220Aに基づいて、1つ以上の(例えば、それぞれの)抽出されたフレーズ210Aに関連する重み付きフレーズ埋め込みベクトル240Aを算出するように適合された、フレーズ埋め込みベクトル算出モジュール240(又は略してモジュール240)を含み得る。
【0079】
いくつかの実施形態によれば、モジュール240は、抽出されたフレーズ210Aのワード210Bに対応するワード埋め込みベクトル220Aの加重平均として、重み付きフレーズ埋め込みベクトル240Aを算出し得る。この算出に使用される重みは、TF-IDFスコア値など、各ワードのそれぞれの重み値230Aであり得る。
【0080】
例えば、モジュール240は、以下のアルゴリズム1に従って重み付きフレーズ埋め込みベクトル240Aを算出し得る。
【0081】
【数2】
ここで、「s」は、抽出されたフレーズ又はフラグメント210Aであり、
「w
i」は、フレーズs内のインデックスiのワード210Bであり、
M
vは、埋め込みベクトル220A(ここではv
iとして示される)へのワードw
iのマッピングであり、
「v
s」は、フレーズsを表す重み付きフレーズ埋め込みベクトル240Aであり、
「m」は、フレーズs内のワード210Bの数であり、
「α[w
i]」は重み230Aである。
【0082】
アルゴリズム1に示されるように、第1の行において、重み付きフレーズ埋め込みベクトル240Aは、0ベクトルとして初期化され得る。
【0083】
いくつかの実施形態によれば、「for each」ループは、フラグメントs(210A)のワードw
i(210B)に対してトラバースし得、重み付きフレーズ埋め込みベクトルv
s(240A)は、各ワード210Bを用いて徐々に構築又は集約され得る。加えて、又は代替的に、モジュール200は、複数の処理コアを有する1つ以上のコンピューティングデバイス(例えば、
図1のコンピューティングデバイス1)によって実装され得る。そのような実施形態では、モジュール200は、フラグメントs(210A)のワードw
i(210B)の並列処理を実行して重み付きフレーズ埋め込みベクトルv
s(240A)を算出するように、複数の処理コアを用いてアルゴリズム1の並列処理を実装し得る。
【0084】
アルゴリズム1に示すように、フレーズの各ワードについて、ワード重み算出モジュール230は、第1の複数のテキスト文書におけるワードの出現頻度に基づいて、ワード重み値を算出し得る。加えて、フレーズの各ワードについて、フレーズ埋め込みベクトル算出モジュール240は、重み付きフレーズ埋め込みベクトルvs(240A)を、関連するワード重み値α[wi]230Aに基づいて、関連するワード埋め込みベクトルvi220Aの加重平均として算出し得る。
【0085】
アルゴリズム1の最後の行では、重み付きフレーズ埋め込みベクトルvs(240A)が、フレーズs内のワードの数mに従って正規化され得る。
【0086】
図3Aに示されるように、モジュール200は、本明細書で詳述するように、1つ以上の(例えば、それぞれの)抽出されたフレーズ210Aに対して、重み付きフレーズ埋め込みベクトル240Aに基づいてフレーズ顕著性スコア260Aを計算するように適合された、フレーズ顕著性算出モジュール260を含み得る。
【0087】
いくつかの実施形態によれば、モジュール200は、文書21Aのフレーズ210Aを、それらが文書21Aに関してどれだけ顕著であるかに基づいてランク付けし得る。この顕著性は、特定のフレーズ210Aが文書21Aの主要な主題又はトピックと整合する程度を示し得る。顕著なフレーズが非顕著なフレーズよりも多くのフレーズと意味において類似しているという仮定に基づいて、本発明の実施形態は、他のフレーズとの類似度に従ってフレーズ顕著性をランク付けするために、グラフアルゴリズムを用い得る。
【0088】
図3Aに示されるように、フレーズ顕著性算出モジュール260は、フレーズ類似度グラフ260Bを含むか、又は維持し得、このフレーズ類似度グラフは、テーブル、リンクされたグラフなどのデータ構造として実装され得、本明細書で説明されるように、異なるフレーズ210A間の類似度を表し得る。
【0089】
いくつかの実施形態によれば、フレーズ顕著性算出モジュール260は、1つ以上のフレーズ210Aを無向フレーズ類似度グラフ260B内の頂点又はノードとして配置し得、頂点の各対は辺によって接続される。1つ以上の辺に対して、フレーズ顕著性算出モジュール260は、フレーズ類似度グラフ260B内の対応する接続された頂点の2つのフレーズ210A間の意味的類似度を表し得る類似度重み値260Cを割り当て得る。フレーズ顕著性算出モジュール260は、続いて、各フレーズについて、本明細書で詳述するように、接続された辺の類似度重み値260Cに基づいて、フレーズ顕著性スコア260Aを計算し得る。
【0090】
ここでまた
図4も参照すると、この図は概略図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得る、フレーズ類似度グラフ260Bの一例を示す。
【0091】
図4に示すように、各フレーズ210Aは、フレーズ類似度グラフ260B内のノード又は頂点によって表され得る。ノードの対間を接続する辺の太さは、接続されたノードのフレーズ210A間の意味的類似度(例えば、意味における類似度)を示す、類似度値又は類似度重み260Cを表し得る。
【0092】
例えば、
図4の例に示されるように、2つの最も類似するフレーズ210Aは、「request a replacement」及び「something similar」であり、2つの最も類似しないフレーズ210Aは、「what I asked for」及び「something similar」である。
【0093】
いくつかの実施形態によれば、モジュール200は、それぞれのフレーズ埋め込みベクトル240Aに基づいて、コサイン類似度メトリックなどの所定の類似度メトリックに従って、フレーズ類似度グラフ260Bのノードの対に関連するフレーズ間の類似度260C(例えば、コサイン類似度)を算出し得る、フレーズ距離メトリック算出モジュール250を含み得る。例えば、フレーズ距離メトリック算出モジュール250は、2つのフレーズ210Aのワード埋め込みベクトル220A間のコサイン類似度値260Cなどの類似度メトリック値を算出し得、フレーズ顕著性算出モジュール260は、コサイン類似度値260Cを類似度重み値としてフレーズ類似度グラフ260B内の2つのそれぞれのフレーズ210Aの頂点を接続する辺に属性付与し得る。
【0094】
図4の例に関連して、フレーズ顕著性算出モジュール260は、「request a replacement」フレーズ210に対応する第1のフレーズ埋め込みベクトル240A、及び「something similar」フレーズ210に対応する第2のフレーズ埋め込みベクトル240Aを受信し得る。フレーズ顕著性算出モジュール260は、フレーズ距離メトリック算出モジュール250と協働して、これらの第1及び第2のフレーズ埋め込みベクトル240A上の距離メトリック(例えば、コサイン類似度関数)を算出し得る。したがって、フレーズ顕著性算出モジュール260は、それぞれのフレーズの意味的類似度を表す、類似度値又は類似度重み260Cを取得し得る。
【0095】
コサイン類似度関数は、以下の式2に従って定義され得る。
【0096】
【数3】
式中、vec
i及びvec
jは、異なるフレーズに関連する数値ベクトル(例えば、フレーズ埋め込みベクトル240)であり、
w(vec
i,vec
j)は、ベクトルv
i及びv
jに適用された、例えばコサイン類似度関数の結果として算出され得る、類似度重み260Cを表し、
vec
i・vec
jは、ベクトルvec
i及びvec
jのベクトル(例えば、「ドット」)乗算を表す。
【0097】
いくつかの実施形態によれば、フレーズ顕著性算出モジュール260は、特定のフレーズ210Aのフレーズ顕著性スコア260Aを、その特定のフレーズを表す頂点に接続された辺の類似度重み260Cの関数として算出し得る。
【0098】
例えば、フレーズ顕著性算出モジュール260は、特定のフレーズ210Aのフレーズ顕著性スコア260Aを、その特定のフレーズを表す頂点に接続された辺の類似度重み260Cの和として算出し得る。
図4の例に関連して、「request a replacement」フレーズ210に接続された辺の類似度重み260Cは、0.5及び0.7であり得、したがって、フレーズ顕著性算出モジュール260は、0.5+0.7=1.2のフレーズ顕著性スコア260Aを「request a replacement」フレーズ210に割り当て得る。同様に、「what I asked for」フレーズ210に接続された辺の類似度重み260Cは、5及び2であり得、したがって、フレーズ顕著性算出モジュール260は、0.5+0.2=0.7のフレーズ顕著性スコア260Aを「what I asked for」フレーズ210に割り当て得る。
【0099】
加えて、又は代替的に、フレーズ顕著性算出モジュール260は、以下の式3に従って、1つ以上の特定のフレーズ210Aのフレーズ顕著性スコア260Aを反復プロセスで算出し得る。
【0100】
【数4】
式中、
v
i及びv
jは、フレーズ210Aのフレーズ埋め込みベクトル240Aであり(例えば、
図4のノードとして示される)、
w(v
i,v
j)は、ノードv
iとv
jとを接続する辺の類似度重み260Cであり(例えば、
図4の辺として示される)、
Vは、v
i及びv
jを含む、全てのフレーズ埋め込みベクトル240Aを含むベクトル空間であり、
|V|は、ベクトル空間Vのサイズ(例えば、ベクトル
iの数)であり、
WSは、特定のノードのフレーズ顕著性スコア260Aを表し得る。言い換えれば、WSは、フレーズ埋め込みベクトルv
i(240A)をフレーズ顕著性スコア260Aにマッピングする関数であり得る。
【0101】
式3に示されるように、特定のフレーズ(フレーズ埋め込みベクトルviによって表される)に関連した、特定のフレーズ顕著性スコアWS(260A)の算出は、1つ以上の他のフレーズ顕著性スコアWS(260A)の計算に依存し得る。
【0102】
例えば、反復プロセスは、各ノードのフレーズ顕著性スコアWS(260A)を「1」の値に初期化することによって開始し得る。第1の反復では、少なくとも1つのフレーズ顕著性スコアWS(260A)の値が、それぞれのノードに接続する辺(例えば、類似度重み260C)の和になるように更新され得る。反復プロセスの後続の各反復は、(a)式3に従って、第1のフラグメント又はフレーズ210Aのフレーズ顕著性スコアWS 260Aを計算することと(例えば、それぞれの頂点に接続された辺の類似度重み260Cに基づき、更に、少なくとも1つの第2のフラグメント210Aのフレーズ顕著性スコア260Aに基づく)、(b)第1のフラグメント210Aの計算されたフレーズ顕著性スコア260Aに基づいて、少なくとも1つの第2のフラグメント210Aのフレーズ顕著性スコア260Aを更新することとを含み得る。
【0103】
図4の例を再び参照すると、「request a replacement」というフレーズ210Aは、他の2つのフレーズ又はフラグメントに対して、より中心的であり、有意な類似度を有するので、最も顕著なフレーズであり、一方、他のフレーズ又はフラグメント210Aは、他の1つのフレーズに対してのみ有意な類似度を有することが分かるであろう。
【0104】
いくつかの実施形態によれば、フレーズ顕著性算出モジュール260は、収束条件が満たされるまで、(例えば、式3に関連して)本明細書で詳述されるようにフレーズ顕著性スコア260A算出の反復プロセスを継続し得る。
【0105】
例えば、反復フレーズ顕著性スコア算出の収束は、以下の式4で詳述されるように、第1の反復と第2の後続の反復との間の、WSによってマッピングされた値の変化の和が所定の閾値εを下回る点として定義することができる。
【0106】
【0107】
図3に示されるように、モジュール200は、それぞれのフレーズ顕著性スコア260Aに従って、かつ所定の選択基準に基づいて、1つ以上のフレーズ210Aを顕著なフレーズ200Aとして選択するように適合された、フレーズ選択モジュール270を含み得る。言い換えれば、フレーズ選択モジュール270は、所定のフィルタリング基準に基づいて、より小さいフレーズ顕著性スコア260Aに対応するフレーズ210Aをフィルタリングで除外し得る。
【0108】
例えば、フレーズ選択モジュール270は、トップのフレーズ顕著性スコアに対応する、所定の数、所定のサブセット、又は所定の割合のフレーズ210Aを顕著なフレーズ200Aとして選択し得る。別の例では、フレーズ選択モジュール270は、フレーズ顕著性スコア260Aが所定の閾値を上回るフレーズを顕著なフレーズ200Aとして選択し得る。フレーズ選択モジュール270は、関連する選択基準に適合しないフレーズ210A(例えば、最も低いフレーズ顕著性スコア260Aに対応するフレーズ210A)を破棄し得る。
【0109】
ここで
図5を参照すると、この図はブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステムに含まれ得る、関連性計算モジュール300(又は略してモジュール300)を示す。
【0110】
図5に示されるように、モジュール300は、複数の文書21A及び/又は複数のコーパス21からの複数の顕著なフレーズ200Aを、所定の類似度メトリックに従って、トピックラベル310Aを表すグループ又はクラスタにクラスタ化するように適合された、フレーズクラスタ化モジュール310を含み得る。
【0111】
本明細書で詳述されるように(例えば、
図3Aに関して)、フレーズ顕著性算出モジュール260は、複数のフレーズ210A及びそれぞれの複数のフレーズ顕著性スコアを取得し、本明細書では顕著なフレーズ210Aと表される、トップのフレーズ顕著性スコアに対応する複数のフレーズ210Aのサブセットを選択し得る。
【0112】
いくつかの実施形態によれば、クラスタ化モジュール310は、算出されたコサイン類似度値260Cに基づいて、フレーズのサブセット(顕著なフレーズ210A)をクラスタ310Aにクラスタ化するように適合され得、各クラスタ310Aは、本明細書で詳述するように、一意のトピックラベルを表す。
【0113】
いくつかの実施形態によれば、クラスタ化モジュール310は、1つ以上のトピックラベル(
図5において候補トピックラベル310Aと示される)を生成し得る。これらのトピックラベル310Aは、少なくとも1つのテキスト文書21Aの1つ以上のそれぞれのトピックを表し得る。クラスタ化モジュール310は、選択された顕著なフレーズ200A(上述したように、計算されたフレーズ顕著性スコア260に基づいて選択されたもの)に基づいて、1つ以上のトピックラベル310Aを生成し得る。
【0114】
例えば、1つ以上の第1の文書21Aは、「technical assistance」という顕著なフレーズ200Aを含む、顕著なフレーズ200Aの第1のセットをもたらし得、1つ以上の第2の文書21Aは、「technical help」という顕著なフレーズ200Aを含む、顕著なフレーズ200Aの第2のセットをもたらし得る。フレーズクラスタ化モジュール310は、顕著なフレーズ200Aの第1のセット及び第2のセットの顕著なフレーズ200Aの対の間で、本明細書で詳述されるように(例えば、式2に関して)、コサイン類似度メトリック値260Cを算出し得る。フレーズクラスタ化モジュール310は、算出された類似度メトリック値(例えば、コサイン類似度値)を使用して、顕著なフレーズ200Aをグループ又はクラスタにクラスタ化し得、各クラスタはトピックラベルを表し得る。この例では、コサイン類似度メトリック値260Cは、「technical assistance」という顕著なフレーズ200A及び「technical help」という顕著なフレーズ200Aに対しては、それらの意味がほぼ同一であるため、高くなると予想され得る。したがって、フレーズクラスタ化モジュール310は、これらの顕著なフレーズ200Aを単一のクラスタに結合すると予想され得る。
【0115】
フレーズクラスタ化モジュール310は、そのクラスタ内の顕著なフレーズ200Aの偏在性に基づいて、各クラスタに対して適切なトピックラベル310Aを属性付与するか、又は生成し得る。同じ例に関連して、「technical assistance」という顕著なフレーズ200Aが「technical help」という顕著なフレーズ200Aよりも多くコーパス21に出現する場合、フレーズクラスタ化モジュール310は、より偏在する「technical assistance」という顕著なフレーズ200Aと同一であるトピックラベル310Aを共通クラスタに割り当て得る。
【0116】
当該技術分野で知られているように、コンタクトセンターソリューションを提供するクラウドベースのサービスは、何らかの選択された粒度レベルでドメイン20’(例えば、ビジネスドメイン20’)にグループ化され得る様々なテナントを有し得る。例えば、第1のドメイン20’は、保険会社であるテナント20を含み得、第2のドメイン20’は、通信会社であるテナント20を含み得、第3のドメイン20’は、レンタカー代理店であるテナント20を含み得る。本発明の実施形態は、特定のドメイン20’に関連し得るフレーズと、一般的なフレーズとを区別し得る。本明細書で詳述するように、フレーズクラスタ化モジュール310は、顕著なフレーズ200Aを複数の候補トピックラベル310Aに集約又はクラスタ化し得、これは、様々な対話又は文書21A内で繰り返し言及されたトピックを表し得る。本明細書で詳述するように、関連性計算モジュール300は、複数の候補トピックラベル310Aから、(a)特定のテナント20に対して十分に特異的ではないか、若しくは十分に関連性がないか、又は(b)関心のあるグローバルトピック若しくは主題(例えば、複数のテナント20に関連するトピック)と相関しないかのいずれかであるトピックラベルをフィルタリングで除去し得る。
【0117】
トピック検出のために現在利用可能なシステムは、単一の分析対象文書内のテキストの関連性、又は「情報性」を、(a)バックグラウンドコーパスのためにnグラム言語モデルを算出することと、(b)フォアグラウンドコーパスのためのnグラム言語モデルを算出することと、(c)分析対象文書に情報を寄与するようなものとして、バックグラウンドコーパスと比較して、フォアグラウンドコーパス上で著しく高い確率を有するnグラムを優先することと、によって推定し得る。「フォアグラウンド」という用語は、この文脈において、関心のある特定のテナント20又はドメイン20’に関連する文書のコーパスを示すために使用され得る。補足的に、「バックグラウンド」という用語は、この文脈において、グローバルな、又は一般的なテナント20又はドメイン20’に関連し得る文書のコーパスを示すために使用され得る。
【0118】
nグラムモデルは、ワードの特定のシーケンスの出現の確率を表す、複数の確率値から構成され得る。これらの確率値は、例えば、以下の式5に基づいて、算出され得る。
【0119】
【数6】
式中、sは、n個のワードのシーケンスであり、
w
iは、iによってインデックス付けされた、シーケンスs内のワードであり、
P(s)は、n個のワードのシーケンスの出現確率であり、
p(w
i|w
0,...,w
i-1)は、(i-1)個のワードの先行シーケンスが与えられた場合のワードw
iの条件付き確率である。
【0120】
N-1個のワードの先行シーケンスが与えられた場合のワードWnの確率は、以下の式6に示されるように、コーパス内でのサブシーケンスの発生回数(cによって示される)をカウントすることによって算出することができる。
【0121】
【0122】
いくつかの実施形態によれば、本発明のコーパス21は、多くの文書又は対話21Aの多様なコレクションを含み得、各々は、それ自体の書き手、話者、スタイル、及びジャーゴンを有する。更に、本発明の実施形態は、特定のトピックの関連性又は情報性を複数の文書内で、並びに特定のテナント及び/又はビジネスドメイン20’に関して決定することを目的とし得る。本発明の実施形態は、本明細書で詳述するように、これらの目的に対応するために、トピック検出のための現在利用可能なシステムに対する複数の改善を含み得る。
【0123】
第1のそのような改善は、(例えば、
図2、
図3Aに関して)本明細書で詳述するように、トピック検出のためのビルディングブロックとして、nグラムではなく、フレーズ又はフラグメントの使用を含み得る。この手法は、(例えば、式5、式6において詳述されるような)多数のシーケンス確率を含むnグラムモデルを算出する必要性を回避することによって、現在利用可能なシステムに関して必要とされる計算の数を有意に減少させることが示されている。
【0124】
トピック検出のための現在利用可能なシステムに対する本発明の別の改善は、(例えば、
図2に関して)本明細書で詳述されるように、関連性計算モジュール300に入力される文書21A内のフレーズの質を改善するために、顕著なフレーズ200Aの抽出を含み得る。
【0125】
トピック検出のための現在利用可能なシステムに対する本発明の別の改善は、コーパス内のシーケンスの発生回数の代わりに、文書頻度(DC)のメトリック、例えば、ワードシーケンスを含む対話又は文書21Aの数を使用することを含み得る。したがって、本発明の実施形態は、式5及び式6に詳述されるようなサブシーケンスの確率を算出する必要性を回避し得る。言い換えれば、本発明の実施形態は、式5の縮小版である、以下の式7を使用し得、したがって、(例えば、以下に、
図6に関して)本明細書で実証されるように、算出の結果を損なうことなくトピック関連性の算出を簡略化し得る。本発明の実施形態による計算のそのような低減は、実際の適用を容易にし、自然言語処理のプロセスにおける少なくとも1つのコンピューティングデバイス(例えば、
図1のコンピューティングデバイス1)の性能を改善し得ることが理解されよう。
【0126】
【数8】
式中、sは、ワードのシーケンス(例えば、候補トピックラベル310A)であり、
Aは、対話のコーパス21であり、
|A|は、コーパス内の対話の数であり、
DC(s)は、シーケンスsを含む、コーパスA内の対話又は文書21Aの数であり、
P(s)は、コーパスA内でのsの出現確率である。
【0127】
トピック検出の現在利用可能な技術に対する本発明の別の改善は、本明細書で詳述するように、各テナント及び各ドメイン20’が選択されたトピックに対して同様の効果を有するように、バックグラウンドコーパス内のテナントの効果を正規化することを含み得る。
【0128】
トピック検出のための現在利用可能なシステムに対する本発明の別の改善は、本明細書で詳述するように、厳密なnグラム検索ではなく、文書の関連するコーパス内のトピックのファジー検索を用いることを含み得る。
【0129】
いくつかの実施形態によれば、関連性計算モジュール300は、特定の複数の、又はコーパスの文書に関して候補トピックラベル310Aの関連性を算出し得る。例えば、関連性計算モジュール300は、第1のビジネスドメイン20’(例えば、レンタカー代理店)に関連する第1の複数又はコーパス21の文書21Aと、少なくとも1つの第2のビジネスドメイン20’(例えば、病院)に関連する第2の複数又はコーパス21の文書21Aとを受信し得る。
【0130】
関連性計算モジュール300は、1つ以上の(例えば、それぞれの)候補トピックラベル310Aについて、トピックラベルが第1の複数又はコーパス21に含まれるトピックを表す確率を表す、フォアグラウンド確率値320Aを算出し得る。加えて、関連性計算モジュール300は、1つ以上の(例えば、それぞれの)候補トピックラベル310Aについて、トピックラベルが第1のコーパス21及び第2のコーパスのうちの少なくとも1つ(例えば、ドメインのいずれか1つ)に含まれるトピックを表す確率を表す、バックグラウンド確率値を算出し得る。関連性計算モジュール300は、続いて、本明細書で詳述するように、フォアグラウンド確率値及びバックグラウンド確率値に基づいて、第1のビジネスドメインに対する候補トピックラベルの関連性を表す、関連性スコア340Aを算出し得る。
【0131】
図5に示すように、関連性計算モジュール300は、フォアグラウンド確率算出320(又は、略してモジュール320)を含み得る。
【0132】
いくつかの実施形態によれば、モジュール320は、1つ以上の文書21Aに関連するメタデータ21Bを(例えば、
図1の入力デバイス7を介して)受信し得る。メタデータ21Bは、例えば、1つ以上の(例えば、それぞれの)文書21Aが関連するテナント20及び/又はドメイン20’の注釈を含み得る。例えば、メタデータ21Bは、特定の文書21Aと、テナント20及び/又はドメイン20’のそれぞれの識別との間を関連付け得るデータ構造(例えば、テーブル)であり得るか、又はそれを含み得る。加えて、モジュール320はまた、フレーズクラスタ化モジュール310から、特定の文書21Aに(並びにメタデータ21Bを介して、特定のテナント20及び/又はドメイン20’に)関連する、1つ以上の候補トピックラベル310Aを受信し得る。
【0133】
いくつかの実施形態によれば、モジュール320は、当該技術分野で知られているように、文書21Aにおける候補トピックラベル310Aのファジーワード検索を実行するように適合されたファジー検索モジュール321を用い得る。「ファジー」という用語は、この文脈では、(例えば、nグラムモデルの場合に行われるように)文書内でのワードシーケンスの正確な出現を厳密に見つけることに限定されなくてよく、語彙的に類似するワードシーケンスを見つけることも目的として、所望のシーケンスと見つかったシーケンスとの間での構成可能な量の編集操作(挿入、削除、置換)を可能にし得る検索を指すために使用され得る。例えば、ファジー検索は、最大2つの「挿入」ワードを無視して、フレーズ「book me two tickets」を所望のシーケンス「book tickets」と一致させ得る。加えて、ファジー検索は、「the」、「is」などの機能語を無視してもよく、またワードに見出し語化を適用し、その結果、「book ticket」及び「booking tickets」などの変形を取り出し得る。
【0134】
いくつかの実施形態によれば、モジュール320は、式7を使用して、1つ以上の候補トピックラベル310Aが、関心のある特定のテナント20に関連する文書のフォアグラウンドコーパスの文書21A内に出現する確率を、ファジーワード検索に基づいて算出し得る。加えて、モジュール320は、1つ以上の候補トピックラベル310Aがフォアグラウンドコーパスの文書21A内に現れる確率を算出し得る。
【0135】
いくつかの実施形態によれば、モジュール320は、以下の式8Aに従って、同じドメイン20’の複数のテナント20に関連するデータを取り出し得る。モジュール320は、モジュール321のファジーワード検索結果を使用して、候補トピックラベル310Aがフォアグラウンドドメイン20’(例えば、関心のある特定のドメイン20’)に関連する文書21のコーパスの文書21A内に現れる確率を算出し得る。この算出において、テナント間及び/又は期間間での異なる量の文書21は、それに応じて正規化され得る。
【0136】
【数9】
式中、
P(s;FG)は、関心のあるフォアグラウンド(FG)ドメイン20’に関連するコーパス内でのトピックラベルs(310A)の出現の確率320Aであり、
tは、関心のあるドメイン20’に関連する特定のテナント20であり(t∈FG)、
|t|は、テナントt 21に関連する文書又は対話21Aの数を表し、
DCt(s)は、トピックラベルs(310A)を含むテナントt 21に関連する対話又は文書21Aの数であり、
Num_t_in_FGは、関心のあるフォアグラウンド(FG)ドメイン20’内のテナントの数である。
【0137】
いくつかの実施形態によれば、式8Aによって詳述されるように、モジュール320は、(a)関心のあるフォアグラウンド(FG)ドメイン20’に関連するコーパス21に対して、トピックラベルのファジー検索321を適用することと、(b)関連するトピックを含む文書21Aのコーパス21の文書21Aの数DCt(s)をカウントすることと、(c)フォアグラウンド確率値P(s;FG)320Aを、DCt(s)と|t|、例えば、テナントt 21に関連する文書の数との比として算出することとによって、特定の候補トピックラベル310Aのフォアグラウンド確率値P(s;FG)320Aを算出し得る。加えて、又は代替的に、フォアグラウンド確率値P(s;FG)320Aは、DCt(s)と関心のあるフォアグラウンド(FG)ドメイン20’内の文書の数との比として算出され得る。P(s;FG)320Aは、Num_t_in_FG、例えば、関心のあるフォアグラウンドドメイン20’内のテナントの数によって更に正規化され得る。
【0138】
いくつかの実施形態によれば、関連性計算モジュール300は、バックグラウンド確率算出モジュール330(又は、略してモジュール330)を含み得る。いくつかの実施形態によれば、モジュール330は、ファジーワード検索モジュールを使用して、バックグラウンドドメイン20’(例えば、関心のあるテナント20又はドメイン20’のみを含むことに限定されない一般ドメイン20’)に関連する文書21のコーパスの文書21Aに対してファジーワード検索を実行し得る。
【0139】
モジュール330は、モジュール331のファジーワード検索結果を使用して、候補トピックラベル310Aがバックグラウンドドメイン20’に関連する文書21のコーパスの文書21A内に現れる確率を、以下の式8Bに従って算出し得る。この算出は、モジュール300が、様々なドメイン20’にわたって、候補トピックラベル310Aが一般的に使用される確率を評価することを可能にし得ることが理解されよう。
【0140】
【数10】
式中、
P(s;BG)は、バックグラウンド(BG)ドメイン20’(例えば、関心のあるテナント20又はドメイン20’のみを含むことに限定されないドメイン20)に関連するコーパス内でのトピックラベルs(310A)の出現の確率330Aであり、
tは、バックグラウンドドメイン20’に関連する特定のテナント20であり(t∈BG)、
|t|は、テナントt 21に関連する文書又は対話21Aの数を表し、
DCt(s)は、トピックラベルs(310A)を含むテナントt 21に関連する対話又は文書21Aの数であり、
Num_t_in_BGは、バックグラウンド(BG)ドメイン20’内のテナントの数である。
【0141】
いくつかの実施形態によれば、モジュール320は、(a)バックグラウンド(BG)ドメイン20’に関連するコーパス21に対して、トピックラベルのファジー検索331を適用することと、(b)関連するトピックを含む文書21Aのコーパス21の文書21Aの数DCt(s)をカウントすることと、(c)バックグラウンド確率値P(s;BG)330Aを、DCt(s)と|t|、例えば、テナントt 21に関連する文書の数との比として算出することとによって、特定の候補トピックラベル310Aのバックグラウンド確率値P(s;BG)330Aを算出し得る。加えて、又は代替的に、バックグラウンド確率値P(s;BG)330Aは、DCt(s)とBGドメイン20’内の文書の数との比として算出され得る。P(s;BG)は、Num_t_in_BG、例えば、バックグラウンドドメイン20’内のテナントの数によって更に正規化され得る。
【0142】
いくつかの実施形態によれば、モジュール300は、候補トピックラベル310Aとは別にグローバルに重要なトピック(350Aと示される)として予め定義されたトピックラベルのグループ又はリストを処理するように適合された、グローバルトピックモジュール350を含み得る。例えば、グローバルに重要なトピックラベル350Aは、システム100を使用するほとんど又は全てのテナント又はコンタクトセンターにとって関心があり得るトピックのリストを指し得る。グローバルに重要なトピックラベルリスト350Aは、例えば、ユーザから
図1の入力デバイス7を介して受信され得、例えば、「supervisor」、「lawsuit」などのトピックを含み得、時間とともに(例えば、ユーザによって)調整され得る。
【0143】
いくつかの実施形態によれば、モジュール300は、関心のあるテナント又はドメインに対する1つ以上のトピックラベル(例えば、310A、350A)の関連性又は情報性を推定し、それらから1つ以上の1つ以上の関連トピックラベル300Aを生成するように適合された、ドメイン関連性推定モジュール340を含み得る。
【0144】
上で、例えば、式8Aに関して詳述したように、モジュール320は、候補トピックラベルs 310Aがフォアグラウンドコーパス21に関連する文書21A内に現れる確率P(s;FG)320Aを算出し得る。加えて、上で、例えば、式8Bに関して詳述したように、モジュール330は、候補トピックラベル310Aがバックグラウンドコーパス21に関連する文書21A内に現れる確率P(s;BG)330Aを算出し得る。
【0145】
いくつかの実施形態によれば、ドメイン関連性推定モジュール340は、1つ以上の(例えば、それぞれの)候補トピックラベルs 310Aについて、2つの算出された確率の偏在比として関連性スコア340Aを算出し得る。例えば、関連性スコア340Aは、以下の式9に従って算出され得る。
【0146】
式9
関連性スコア340A=P(s;FG)320A/P(s;BG)330A
【0147】
偏在比という用語は、本明細書では、(a)フォアグラウンドドメイン20’に関連するコーパス21内での候補トピックラベル310Aの出現の確率、又は出現の偏在と、(b)バックグラウンドドメイン20’に関連するコーパス21内での候補トピックラベル310Aの出現の確率、又は出現の偏在との比を表し得るという意味で使用され得る。
【0148】
いくつかの実施形態によれば、ドメイン関連性推定モジュール340は、関連性スコア340Aを所定の閾値と比較し得る。関連性スコア340Aが所定の閾値を上回る場合、関連候補トピックラベル310Aは、フォアグラウンドドメインの文脈において、関連する又は重要であると見なされ得る。候補トピックラベル310Aは、続いて、出力関連トピックラベル300Aに含められ得る。
【0149】
代替的に、関連性スコア340Aが所定の閾値を上回らない場合、関連候補トピックラベル310Aは、除去の候補としてフラグを立てられ得る。いくつかの実施形態によれば、この条件において、グローバルトピック処理モジュール350は、(例えば、
図3Aに関して)本明細書で詳述するように、フレーズ距離メトリック(例えば、コサイン類似度)算出モジュール250を使用して、フラグを立てられた候補トピックラベル310Aの1つ以上のグローバル重要トピックラベル350Aに対する近さを決定し得る。フラグを立てられたラベルの各々について、グローバル重要トピックまでの算出された距離が所定の閾値を超える(例えば、コサイン類似度260Cが所定の閾値未満である)場合、関連候補トピックラベル310Aは、関連しないものとして、又はフォアグラウンドドメイン20’の文脈において重要性が低いものとして破棄され得る。
【0150】
ここで
図6を参照すると、これは、本発明の実施形態による関連トピック識別の改善の一例を示すグラフである。
図6の例に示されているように。オレンジ色のプロットは、(a)モジュール200によるフレーズのフィルタリングを用いて、(例えば、
図3Aに関して)本明細書で詳述されるように顕著なフレーズ200Aを取得し、(b)ドメイン関連性推定モジュール340を用いて、関心のあるテナント20又はドメイン20’に対する1つ以上の候補トピックラベル310Aの関連性又は情報性を推定し得る本発明の実施形態によるトピック検出システムの性能を表す。青色のプロットは、モジュール200によるフレーズのフィルタリングを用い得るが、ドメイン関連性推定モジュール340を用いない本発明の実施形態によるトピック検出システムの性能を表す。緑色のプロットは、モジュール200によるフレーズのフィルタリングを用いず、ドメイン関連性推定モジュール340を用いない本発明の実施形態によるトピック検出システムの性能を表す。
【0151】
図6の例に描写されるように、「生成量」は、本発明の実施形態によって取得され得る関連トピックラベル(例えば、
図5の要素300A)の数を表し得る。「精度」は、
図6の例に描写されるように、生成されたトピックラベル300Aの総数からの真陽性のトピックラベルの割合を表し得る。
【0152】
図6の例において破線によって示されるように、3つのプロットは、生成量が100個の関連トピックラベルに対する精度のレベルを提示する。
【0153】
トピック関連性を算出する前の予備ステップとして顕著なフレーズ200Aを識別するための、モジュール200によるフレーズのフィルタリングは、識別されたトピックラベル300Aの質(例えば、精度)を改善し得ることが(青色のプロットと緑色のプロットとを比較することによって)理解されよう。言い換えれば、本発明の実施形態は、顕著なフレーズ200Aを識別し、トピック検出のために顕著なフレーズ200Aを(例えば、nグラム及び/又は一般フレーズの代わりに)使用することによって、トピック識別のための現在利用可能なシステムに対する改善を含み得る。
【0154】
加えて、特定のドメインの文脈における関連性に従って(例えば、関連性スコア340Aに従って)候補トピックラベルをフィルタリングすることは、識別されたトピックラベル300Aの質(例えば、精度)を改善し得ることが(青色のプロットとオレンジ色のプロットとを比較することによって)理解されよう。言い換えれば、本発明の実施形態は、(例えば、
図5に関連して)本明細書で詳述されるように、候補トピックラベルのテナント20固有及び/又はドメイン20’固有のフィルタリングを用いるトピック識別のための現在利用可能なシステムに対する改善を含み得る。
【0155】
ここで
図7を参照すると、この図はブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステム(例えば、
図2のシステム100)に含まれ得るか、又は関連付けられ得る、アプリケーションモジュール400の一例を示す。いくつかの実施形態によれば、アプリケーションモジュール400は、
図2のシステム100と同じコンピューティングデバイス(例えば、
図1の要素1)上に実装され得る。加えて、又は代替的に、アプリケーションモジュール400は、システム100とは別個のコンピューティングデバイス上に実装され得、コンピュータネットワーク(例えば、インターネット)を介してシステム100に通信可能に接続され得る。
【0156】
いくつかの実施形態によれば、アプリケーションモジュール400は、例えば、
図1の入力デバイス7から、1つ以上の文書21A、及び対応するメタデータ21Bを受信し得る。加えて、アプリケーションモジュール400は、本明細書に詳述されるように、文書21A及びメタデータ21Bに関連する1つ以上の関連トピックラベル300Aを(例えば、システム100から)受信し得る。アプリケーションモジュール400は、受信したデータをトピックデータ構造400B(例えば、リスト、データベース内のテーブルなど)として(例えば、
図1の記憶デバイス6上に)記憶し得る。
【0157】
いくつかの実施形態によれば、アプリケーションモジュール400は、例えば、
図1の入力デバイス7などのユーザインタフェース(UI)を介して、少なくとも1つのクエリ31Bを受信し得る。クエリ31Bは、例えば、1つ以上の受信された文書21A内に存在してもしなくてもよいトピックに関するものであり得る。
【0158】
いくつかの実施形態によれば、アプリケーションモジュール400は、続いて、1つ以上の関連トピックラベル300Aに基づいて、クエリに対する応答400Aを生成し得る。
【0159】
言い換えれば、(例えば、
図5に関して)本明細書で詳述されるように、モジュール300は、関連性スコア340Aに基づいて、1つ以上の候補トピックラベル310Aを関連するものとして選択して、関連トピックラベル300Aを生成し得る。したがって、アプリケーションモジュール400は、1つ以上の候補トピックラベル310A及び対応する関連性スコア340Aに基づいて、文書又は対話21Aに含まれる1つ以上のトピックに関連し得る、クエリに対する応答を生成し得る。
【0160】
例えば、クエリ31Bは、特定のトピックが特定の文書21Aに含まれるかどうかを問い合わせ得、クエリ応答400Aは、その問い合わせ31Bに対する回答(例えば、はい/いいえ)を含み得る。別の例では、クエリ31Bは、文書21Aのうちのどれがトピックのリストからの1つ以上のトピックを含むかを問い合わせ得、クエリ応答400Aは、問い合わせ31Bに対する回答(例えば、対応する文書のリスト)を含み得る。
【0161】
ここで
図8を参照すると、この図は流れ図であり、本発明のいくつかの実施形態による、少なくとも1つのプロセッサ(例えば、
図1のプロセッサ2)によるテキスト内の自動トピック検出の方法を示す。
【0162】
ステップS1005に示されるように、少なくとも1つのプロセッサ2は、複数又はコーパス(例えば、
図2のコーパス21)のテキスト文書のうちの少なくとも1つのテキスト文書(例えば、
図2の文書21A)を受信し得る。
【0163】
ステップS1010に示されるように、少なくとも1つのプロセッサ2は、フレーズ抽出モジュール(例えば、
図3Aのフレーズ抽出モジュール210)と協働して、少なくとも1つのテキスト文書から1つ以上のフレーズ(例えば、
図3Aのフレーズ210A)を抽出し得る。(例えば、
図3Aに関して)本明細書で詳述するように、フレーズ抽出モジュール210は、1つ以上の統語パターン31Aに基づいてフレーズ210Aを抽出し得、各フレーズ210Aは、1つ以上のワード210Bを含み得る。
【0164】
ステップS1015に示されるように、各フレーズ210Aについて、少なくとも1つのプロセッサ2は、1つ以上のフレーズ210Aの1つ以上のワード210Bに対してワード埋め込みNN(例えば、
図3Aのワード埋め込みベクトル算出モジュール220)を適用して、1つ以上のそれぞれのワード埋め込みベクトル(例えば、
図3Aの要素220A)を取得し得る。
【0165】
ステップS1020及びS1025に示されるように、各フレーズ210Aについて、少なくとも1つのプロセッサ2は、続いて、(例えば、
図3Aに関して)本明細書で詳述するように、1つ以上のワード埋め込みベクトル220Aに基づいて、重み付きフレーズ埋め込みベクトル(例えば、
図3Aの要素240A)を算出し得、重み付きフレーズ埋め込みベクトル240Aに基づいて、フレーズ顕著性スコア260Aを計算する。
【0166】
ステップS1030に示されるように、少なくとも1つのプロセッサ2は、(例えば、
図3A及び
図5に関して)本明細書で詳述するように、計算されたフレーズ顕著性スコア260Aに基づいて、少なくとも1つの第1のテキスト文書の1つ以上のそれぞれのトピックを表す、1つ以上のトピックラベル(例えば、
図5の関連トピックラベル300A)を生成し得る。
【0167】
本明細書で詳述するように、本発明の実施形態は、例えば、文書及び/又はテキスト対話内の関連するトピックの決定又は識別を含む、自動化されたテキスト分析を実行する実用的なアプリケーションを含み得る。例えば、本発明の実施形態は、(例えば、
図7に関して)本明細書で詳述するように、複数の文書を提示するトピックに関して、少なくとも1つのクエリ(例えば、
図7のクエリ31B)を(例えば、UIを介して)受信し、1つ以上の関連トピックラベル300Aに基づいて、クエリに対する応答を生成するように構成され得る。
【0168】
本発明の実施形態は、テキスト分析の現在利用可能なシステム及び方法に対する技術の複数の改善を含み、(例えば、
図6に関して)本明細書で詳述するように、現在利用可能なシステムよりも迅速かつ正確な方法で、テキスト文書内のトピックの自動化された識別を容易にし得る。
【0169】
明示的に述べられない限り、本明細書で説明される方法の実施形態は、特定の順序又はシーケンスに制約されない。更に、本明細書に記載される全ての式は、例としてのみ意図され、他の又は異なる式が使用されてもよい。加えて、説明される方法の実施形態又はその要素のうちのいくつかは、同じ時点で発生しても実行されてもよい。
【0170】
本発明の特定の特徴が本明細書に例示及び説明されてきたが、多くの修正、置換、変更、及び均等物が当業者に想起され得る。したがって、添付の特許請求の範囲は、本発明の真の趣旨の範囲内に入る全てのそのような修正及び変更を包含することが意図されていることを理解されたい。
【0171】
様々な実施形態が提示されてきた。これらの実施形態の各々は、当然ながら、提示される他の実施形態からの特徴を含んでもよく、具体的に説明されていない実施形態は、本明細書に説明される種々の特徴を含んでもよい。
【国際調査報告】