IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特表-会話の意味的類似度の自動測定 図1
  • 特表-会話の意味的類似度の自動測定 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】会話の意味的類似度の自動測定
(51)【国際特許分類】
   G06F 16/383 20190101AFI20241008BHJP
【FI】
G06F16/383
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024513042
(86)(22)【出願日】2022-09-07
(85)【翻訳文提出日】2024-02-26
(86)【国際出願番号】 IB2022058399
(87)【国際公開番号】W WO2023057836
(87)【国際公開日】2023-04-13
(31)【優先権主張番号】17/492,716
(32)【優先日】2021-10-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
2.JAVA
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
(72)【発明者】
【氏名】ラヴィ、オファー
(72)【発明者】
【氏名】ローネン、インバル
(72)【発明者】
【氏名】ラビノビッチ、エラ
(72)【発明者】
【氏名】アナビー、タヴォル、アテレット
(72)【発明者】
【氏名】ボアズ、デビッド
(72)【発明者】
【氏名】シュロモフ、セゲフ
(72)【発明者】
【氏名】アミッド、デビッド
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA01
5B175HB03
(57)【要約】
2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、意味表現のシーケンス間の最小編集距離を計算することと、最小編集距離の計算に基づいて、2つの会話テキスト間の意味的類似度を定量化すること、および2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、による会話の意味的テキスト類似度の自動測定。
【特許請求の範囲】
【請求項1】
2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、
前記発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、
前記意味表現のシーケンス間の最小編集距離を計算することと、
前記最小編集距離の前記計算に基づいて、前記2つの会話テキスト間の意味的類似度を定量化すること、および前記2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、
を含むコンピュータ実装方法。
【請求項2】
前記最小編集距離の前記計算は、以下の編集操作:削除、挿入、および置換にコストを割り当てることを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記置換のコストは、前記意味表現間のコサイン距離に基づく、請求項2に記載のコンピュータ実装方法。
【請求項4】
その基礎となる発話が異なる作成者タイプによって著された前記意味表現間で、無限に高い置換のコストを割り当てることをさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記意味表現は意味分布表現である、請求項1に記載のコンピュータ実装方法。
【請求項6】
少なくとも1つのハードウェアプロセッサによって実行される、請求項1に記載のコンピュータ実装方法。
【請求項7】
(a)少なくとも1つのハードウェアプロセッサと、
(b)プログラムコードをその中に実装した非一時的コンピュータ可読記憶媒体であって、前記プログラムコードは、前記少なくとも1つのハードウェアプロセッサによって実行可能であり、前記少なくとも1つのハードウェアプロセッサに、
2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、
前記発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、
前記意味表現のシーケンス間の最小編集距離を計算することと、
前記最小編集距離の前記計算に基づいて、前記2つの会話テキスト間の意味的類似度を定量化すること、および前記2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、
を自動的に実行させる、非一時的コンピュータ可読記憶媒体と、
を含むシステム。
【請求項8】
前記最小編集距離の前記計算は、以下の編集操作:削除、挿入、および置換にコストを割り当てることを含む、請求項7に記載のシステム。
【請求項9】
前記置換のコストは、前記意味表現間のコサイン距離に基づく、請求項8に記載のシステム。
【請求項10】
前記プログラムコードは、さらに、その基礎となる発話が異なる作成者タイプによって著された前記意味表現間で、無限に高い置換のコストを割り当てるように実行可能である、請求項9に記載のシステム。
【請求項11】
前記意味表現は意味分布表現である、請求項7に記載のシステム。
【請求項12】
プログラムコードをその中に実装した非一時的コンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラムコードは、少なくとも1つのハードウェアプロセッサによって実行可能であり、前記少なくとも1つのハードウェアプロセッサに、
2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、
前記発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、
前記意味表現のシーケンス間の最小編集距離を計算することと、
前記最小編集距離の前記計算に基づいて、前記2つの会話テキスト間の意味的類似度を定量化すること、および前記2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、
を自動的に実行させる、コンピュータプログラム製品。
【請求項13】
前記最小編集距離の前記計算は、以下の編集操作:削除、挿入、および置換にコストを割り当てることを含む、請求項12に記載のコンピュータプログラム製品。
【請求項14】
前記置換のコストは、前記意味表現間のコサイン距離に基づく、請求項13に記載のコンピュータプログラム製品。
【請求項15】
前記プログラムコードは、さらに、その基礎となる発話が異なる作成者タイプによって著された前記意味表現間で、無限に高い置換のコストを割り当てるように実行可能である、請求項14に記載のコンピュータプログラム製品。
【請求項16】
前記意味表現は意味分布表現である、請求項12に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理およびテキスト処理の分野に関する。
【背景技術】
【0002】
意味的なテキストの類似度を測定することは、文の分類、情報検索、質問応答など、多くの自然言語やテキスト処理タスクの中心にある。
【0003】
高次元で疎な特徴ベクトルのような伝統的なテキスト表現手法は、効率的に学習される埋め込みの導入によって後押しされ、単語の高密度な意味表現の力をフルに発揮するようになった。その後、単語、文、段落、文書の文脈表現のための新しい方法が開発され、より大きなテキスト部分間の意味的類似度の評価が容易になった。
【0004】
それでもなお、意味的なテキストの類似度を測定する新たな方法の必要性は残っている。そのような特定のニーズの1つは、会話テキストを意味的に比較する領域で生じる。会話は他のほとんどのタイプの文書とは異なる。従来のドキュメントは通常、1または複数のアイデアを表現するために、構造化されていない方法で複数の文または段落を複合する。伝統的な文書には通常、作成者が1人いる(または複数の作成者が文書の全部または大半の部分について共同で作業している)。一方、会話は、一連の発話から構成される半構造化文書とみなすことができる。会話は、発話ごとに作成者が存在し、対話行為で構築されたスケルトンとみなすことができる順序付けられた会話の流れがあるなど、独自の特徴を持つ。したがって、会話間の意味的類似度を測定することは、ユニークな課題を提起する。
【0005】
前述の関連技術の実施例およびそれに関連する制限は、例示を意図したものであり、排他的なものではない。関連技術の他の制限は、明細書を読み、図を研究すれば、当業者には明らかになるであろう。
【発明の概要】
【0006】
以下の実施形態およびその態様は、システム、ツール、および方法とともに説明および図示されているが、これらは代表的および例示的なものであり、範囲を限定するものではない。
【0007】
いくつかの実施形態によれば、2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、意味表現のシーケンス間の最小編集距離を計算することと、最小編集距離の計算に基づいて、(a)2つの会話テキスト間の意味的類似度を定量化すること、および(b)2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、を含むコンピュータ実装方法が本明細書において提供される。
【0008】
さらに、いくつかの実施形態によれば、少なくとも1つのハードウェアプロセッサと、プログラムコードをその中に実装した非一時的コンピュータ可読記憶媒体であって、プログラムコードは、前記少なくとも1つのハードウェアプロセッサによって自動的に実行可能であり、少なくとも1つのハードウェアプロセッサに、2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、意味表現のシーケンス間の最小編集距離を計算することと、最小編集距離の計算に基づいて、(a)2つの会話テキスト間の意味的類似度を定量化すること、および(b)2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、を実行させる、非一時的コンピュータ可読記憶媒体と、を含むシステムが本明細書において提供される。
【0009】
さらに、いくつかの実施形態によれば、プログラムコードをその中に実装した非一時的コンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、プログラムコードは、少なくとも1つのハードウェアプロセッサによって自動的に実行可能であり、少なくとも1つのハードウェアプロセッサに、2つの会話テキストを受信することであって、それぞれが発話のシーケンスを含む、受信することと、発話のシーケンスのそれぞれを、対応する意味表現のシーケンスに符号化することと、意味表現のシーケンス間の最小編集距離を計算することと、最小編集距離の計算に基づいて、(a)2つの会話テキスト間の意味的類似度を定量化すること、および(b)2つの発話のシーケンスのアライメントを互いに出力すること、のうちの少なくとも1つを実行することと、を実行させる、コンピュータプログラム製品が本明細書において提供される。
【0010】
いくつかの実施形態では、最小編集距離の計算は、以下の編集操作:削除、挿入、および置換にコストを割り当てることを含む。
【0011】
いくつかの実施形態では、置換のコストは、意味表現間のコサイン距離に基づく。
【0012】
いくつかの実施形態において、本方法は、以下のことをさらに含むか、またはプログラムコードは、以下のためにさらに実行可能である:その基礎となる発話が異なる作成者タイプによって著された意味表現間で、無限に高い置換のコストを割り当てること。
【0013】
いくつかの実施形態では、意味表現は意味分布表現である。
【0014】
いくつかの実施形態では、コンピュータ実装方法は、少なくとも1つのハードウェアプロセッサによって実行される。
【0015】
上述した例示的な態様および実施形態に加えて、さらなる態様および実施形態は、図を参照し、以下の詳細な説明を検討することによって明らかになるであろう。
【0016】
例示的な実施形態を参照図に示す。図に示される構成要素および特徴の寸法は、一般に、提示の便宜および明瞭さのために選択されており、必ずしも縮尺通りに示されていない。図を以下に列挙する。
【図面の簡単な説明】
【0017】
図1】一実施形態による、会話間の意味的類似度を測定するための例示的なシステムのブロック図である。
図2】一実施形態による、会話間の意味的類似度を測定するための方法のフローチャートを示す。
【発明を実施するための形態】
【0018】
本明細書で開示されるのは、会話間の意味的類似度を自動的に測定するための方法であり、システムおよびコンピュータプログラム製品にも実装されている。
【0019】
「会話(conversation)」という用語は、2人以上の作成者(または「ユーザ」)の間で対話的に交わされる一連の発話を表すために使用され得る。最も単純な形では、会話は2人の作成者間の対話であってよいが、より複雑な会話は2人以上の作成者間で行われてよい。作成者は人間、人工知能(AI)ソフトウェアプログラム(「チャットボット」または「バーチャルエージェント」と呼ばれることもある)、またはその両方の組み合わせである。
【0020】
従来の文書とは対照的に、会話の意味論は、各離散的な発話の意味、会話に沿った発話の流れ(順序)、異なる作成者のアイデンティティ(または人間やAIなどのアイデンティティのタイプ)など、多数の要因にある。有利なことに、本方法はこれらの固有の特徴を考慮に入れている。
【0021】
本方法は、一般に、配列分析に使用される既知の測定基準およびアルゴリズムである「編集距離」を、意味的会話の類似度という特殊な場合に有利に適応させたものに基づく。
【0022】
会話を比較する能力は、コンタクトセンターのコールの会話分析、バーチャルエージェントの設計など、多くの実世界のユースケースにおいて有益であるかもしれない。例えば、会話の比較は、新しく提供された会話をこのコンセンサスと比較する目的で、多数の会話の中から特定のコンセンサスを推測するために使用される。別の例として、カスタマーケアの分野では、人間対人間の会話と人間対バーチャルエージェントの会話を比較することで、バーチャルエージェントのプログラミングの欠陥を発見し、その欠陥を修正する方法についての洞察を得ることができる。
【0023】
次に、一実施形態による、会話間の意味的類似度を測定するための例示的なシステム100のブロック図を示す図1を参照する。システム100は、1または複数のハードウェアプロセッサ102、ランダムアクセスメモリ(RAM)104、および1または複数の非一時的コンピュータ可読記憶装置106を含むことができる。
【0024】
記憶装置106は、ハードウェアプロセッサ102を動作させるように構成されたプログラム命令もしくはコンポーネントまたはその両方をその上に格納することができる。プログラム命令は、意味的類似度測定モジュール108などの1または複数のソフトウェアモジュールを含み得る。ソフトウェアコンポーネントは、一般的なシステムタスク(例えば、メモリ管理、記憶装置制御、電力管理など)を制御および管理し、様々なハードウェアコンポーネントとソフトウェアコンポーネントとの間の通信を容易にするための様々なソフトウェアコンポーネントもしくはドライバまたはその両方を有するオペレーティングシステムを含み得る。
【0025】
システム100は、意味的類似度測定モジュール108の命令を、プロセッサ102によって実行されているときにRAM104にロードすることによって動作することができる。意味的類似度測定モジュール108の命令は、システム100に会話110を受信させ、それらの意味的差異を測定させ、この測定の結果112を出力させることができる。
【0026】
本明細書で説明するシステム100は、本発明の例示的な実施形態に過ぎず、実際には、ハードウェアのみ、ソフトウェアのみ、またはハードウェアとソフトウェアの両方の組み合わせで実施することができる。システム100は、図示よりも多いまたは少ないコンポーネントおよびモジュールを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、コンポーネントの異なる構成または配置を有していてもよい。システム100は、マザーボード、データバス、電源、ネットワークインタフェースカード、ディスプレイ、入力デバイス(例えば、キーボード、ポインティングデバイス、タッチセンシティブディスプレイ)等(図示せず)のような、動作可能なコンピュータシステムとして機能することを可能にする任意の追加コンポーネントを含んでもよい。さらに、システム100のコンポーネントは、当該技術分野で知られているように、同位置に配置されても分散されてもよく、またはシステムは、1または複数のクラウドコンピューティング「インスタンス」、「コンテナ」、「仮想マシン」、または他のタイプのカプセル化されたソフトウェアアプリケーションとして実行するように構成されてもよい。
【0027】
次に、意味的類似度測定モジュール108の命令について、実施形態による、会話間の意味的類似度を測定するための方法200を示す図2のフローチャートを参照して説明する。
【0028】
方法200のステップは、あるステップに必要な入力を、それ以前のステップの出力から得ることができる順序である限り、提示された順序で実行されてもよいし、異なる順序で実行されてもよい(あるいは、並行して実行されてもよい)。さらに、方法200のステップは、特に断りのない限り、(例えば、図1のシステム100によって)自動的に実行される。
【0029】
方法200は、一般的な意味で、会話を発話のシーケンスとして扱い、一方の会話を他方の会話に変換するために必要な一連の編集操作の最小コストを測定するために編集距離を使用する。基本的な編集操作(削除、挿入、および置換)は、その作成者を考慮した発話間の意味的距離を測定し、発話置換操作の動的コストを定義するために使用することができる。
【0030】
任意選択として、方法200は、意味的類似度コスト関数を計算する際に、同じ作成者からの複数の後続の発話を特別に処理するような会話に特有の適応や、各ターン内の順序を維持するターン(異なる作成者からの発話のペア)に対するスワップ操作のような会話に特有の付加的な編集操作も提供する。
【0031】
【0032】
【0033】
以下の議論を簡略化するために、2つの例示的な作成者タイプ、すなわち、顧客とエージェントを想定する。すなわち、第1および第2の会話の各々は、顧客とエージェントの間の会話である可能性がある(もちろん、両方の会話において同じものである必要はない)。
【0034】
【0035】
「意味表現」という用語は、該当する発話の想定される意味を符号化する任意のタイプの数値表現を表す。例えば、かかる意味表現は、「意味分布表現」として知られているように、数値のベクトルである場合がある。
【0036】
ステップ204の符号化は、テキストの意味符号化のための任意の従来のアルゴリズムによって実行されてもよい。好適なアルゴリズムの一例は、機械学習および人工知能のためのTensorFlowオープンソースソフトウェアライブラリの一部として現在利用可能なUniversal Sentence Encoder(Daniel Cerら,「Universal Sentence Encoder」,arXiv:1803.11175v2 [cs.CL],2018年)である(www.tensorflow.orgでオンラインで参照、最終アクセスは2021年9月27日)。しかしながら、テキストの意味符号化のための他の好適なアルゴリズムは、当業者には明らかになり得る。
【0037】
ステップ206では、意味表現のシーケンス間の最小編集距離を計算することができる。編集距離は、上記で簡単に述べたように、シーケンス解析、特に2つのシーケンス間の類似度を測定(定量化)するために使用される測定基準およびアルゴリズムの既知のファミリーである。典型的な編集距離アルゴリズムは、あるシーケンスを別の配列に変換するのに必要な挿入、削除、置換の最小数を測定する。シーケンスは、通常、異なるシンボルの同じ有限セットから描画され、例えば、文字列のアルファベット、有理数の集合、実数の集合などである。所定の数列aとbの長さmとnが与えられたとき、それぞれ長さiとjの2つの任意のシーケンスプレフィックス間の距離dijは、以下のように再帰的に定義される。
i∈[1,m],j∈[1,n]について、ここでwdel,winsおよびwsubはそれぞれ削除、挿入、置換の重み(「コスト」とも呼ばれる)であり、これらは正確な適用に応じて変化する。2つの配列間の編集距離は、例えば動的プログラミングを用いて計算することができる(例えば、Robert A WagnerおよびMichael J Fischer,「The String-to-String Correction Problem」,Journal of the ACM,21(1):168-178,1974年参照)。あるシーケンスを別のシーケンスに変換するのに必要なステップの連鎖がシーケンスアライメントを構成し、第1のシーケンスの各要素は、第2のシーケンスの要素またはギャップと対になる。
【0038】
【0039】
【0040】
したがって、αは発話間の意味的類似度を考慮し、会話間の妥当なアライメントをもたらす値を与えるべきである。任意選択で、αは、1~5の範囲の値、より具体的には、その範囲内の任意の整数値または分数値(例えば、1.5、2、4.1など)、またはその広い範囲内に包含される任意の狭い範囲(例えば、1.0~1.9、2.1~3.0、1.0~4.0など)を有することができる。任意選択で、αの適切な値は、1~5の範囲内の可能な値について、例えば0.1刻みで貪欲に探索を行うことにより、ケースバイケースで決定することができる。以下の実験結果のセクションを参照すると、適切な値は、100の会話のセットにおけるconvEDとstructEDの相関を最大化する値であると考えられる。SGDデータセットとMSDialogデータセットのαには、それぞれ2.2と2.7の値が割り当てられた。したがって、当業者であれば、方法200が適用される会話のデータセットに対して、どのように適切なαを計算するかを容易に理解できるであろう。
【0041】
挿入操作と削除操作については、同じ静的コストを割り当てることができ、可能な置換のコストの範囲内の値に設定される。例えば、可能な置換のコストの範囲が区間[0,2]として定義される場合、挿入または削除操作のコストは1に設定されてもよい。これにより、ある場合には置換よりも削除または挿入が優先され、他の場合には削除または挿入よりも置換が優先される。
【0042】
【0043】
【0044】
任意選択のサブステップ206bは、会話間の比較においてターンを考慮することが望ましい場合に実行され得る。本明細書で言及する「ターン」という用語は、質問とその質問に対する回答を一緒に表現する2つ以上の発話(同じ会話内)を表すために使用されることがある。最も単純な形では、ターンは、質問を投げかける発話と、その質問に答える後続の発話(もちろん、別の作成者による)を含むことがある。例えば、顧客が「IBMサーバの在庫はありますか」と発話し、それに対してエージェントが「はい、あります」と発話するようなものである。もちろん、別の会話で、これらの同じ発話が正反対の作成者(質問を発するエージェントとそれに答える顧客)によって作成された場合、これは別のターンとみなされるべきであり、前のターンと同等ではない。したがって、作成者の順番は重要である。より複雑なタイプのターンには、例えば、1人の作成者によって複数の発話に分割された質問、もしくは別の作成者によって同様に複数の発話に分割された回答、またはその両方が含まれる場合がある。
【0045】
したがって、比較された会話におけるターンの存在を考慮するために、サブステップ206bは、ここでは「スワップ」と呼ばれる追加の操作を編集距離計算に導入することができる。このスワップ操作は、個々の発話だけでなく、ターン全体(このターンを構成する複数の発話)が置換されることを除いて、置換操作に類似していてもよい。この目的のために、ターンはまず、(ステップ206の計算の前に)、例えば適切なNLPベースのアルゴリズムによって検出される必要がある場合がある。次に、最小編集距離の計算を可能にするために、スワップ操作には、ターンのペアの意味表現(第1の会話からのターンと第2の会話からのターン)の間の距離に基づくコストが割り当てられる場合がある。任意選択で、これは、置換操作に関して上で説明したとおり、任意選択としてある係数でスケーリングされた2つの間のコサイン距離であってもよい。
【0046】
任意選択のサブステップ206aおよび206bと同様に、典型的な会話の他の特性を考慮するために、1または複数の他のサブステップ206nをステップ206の計算に含めることができる。このような特性の例には、会話中に交換されるあいづち(あいさつ、感謝など)、会話テキスト中または会話テキストと共に提供されるメタデータ(例えば、「行為」が表現された発話のタグ付け、発話のタイムスタンプなど)などが含まれる。このようなサブステップ206nは、例えば、編集距離計算のために定義された1または複数の追加操作、これらの操作または基本的な3つの操作のいずれかに割り当てられた1または複数のコスト(一定または動的)等を含むことができる。
【0047】
例えば、会話のトピックと実際の関連性を持たない、単なるあいづちである発話を考慮するために、任意選択のサブステップには、これらの発話を識別し(例えば、何らかの適切なNLPベースのアルゴリズムによって)、比較された会話のいずれにおいてもその存在を効果的に無視するために、適切な追加、挿入、もしくは置換、またはその組み合わせのコストを割り当てることを含み得る。あるいは、あいづち(または会話のトピックと無関係なその他のテキスト)を説明するためのより単純な(しかし正確さに欠ける可能性が高い)テクニックとして、会話の最初の数発話もしくは最後の数発話またはその両方が「あいづち」である可能性が高いと単純に仮定し、それらを含む操作に適切なコストを割り当てることもできる。これによって、比較された2つの会話で異なる言い回しのあいづちが、方法200が測定する意味的類似度に与えたかもしれない影響を減少させることができる。この手法のより高度なバージョンは、会話のトピックに関連する発話が会話の中盤に近づくにつれて存在する可能性が高くなるという仮定の下で、会話の最初の数発話もしくは最後の数発話またはその両方にわたってコストを徐々に変化させることであろう。
【0048】
別の例として、特定の発話の「act」タグ付け(詳細については、以下の実験結果のセクションを参照)は、同じactタイプでタグ付けされた発話の置換のコストを低減するために利用することができ、それにより、意味表現のみに基づいてこれらの発話に割り当てられた置換のコストを部分的または完全に上書きする。方法200によって比較された会話に対する「行為」タグは、(ステップ202において)メタデータとして会話と共に提供されるか、またはNLPベースの対話行為分類器などの適切な機械学習アルゴリズムによって会話から自動的に推論される場合がある。
【0049】
次に、方法200のユーザが望むように、ステップ208と210の一方または両方を実行する(図1の結果ブロック112を出力する)ことができる。
【0050】
ステップ208では、方法200のユーザが2つの会話間の類似度(したがって、相違点)を視覚的に理解するのを助けるために、2つの発話のシーケンスのアライメントを出力することができる。アライメント自体は、ステップ206の編集距離計算の副産物である可能性があり、削除および挿入によってアライメントされていない発話が得られる可能性がある一方、置換によってアライメントされた発話が得られる可能性がある。
【0051】
ここで、顧客とエージェントとの間の2つの例示的な会話を示す表1を参照されたい。これらの会話は、ステップ202~208の呼び出しに基づいて、発話シーケンスが互いにアライメントされている。
【表1】
【0052】
ステップ208のアライメントは、2つの会話の発話シーケンスの意味間の対応を視覚的に示す方法で2つの会話を提示する方法の計算を含むことができる。表1が示すように、表形式はかかる対応を提示する1つの方法であるが、もちろん、アライメントの他の視覚的な提示も本明細書では意図される。
【0053】
表1に見られるように、空のセルは挿入と削除の操作を示し、完全な行(会話1と会話2の両方に値を持つ)は、ある(無限ではない)コストで置換される発話を示す。例えば、行番号5は、会話2から会話1へのある顧客の発話の挿入(これは逆に、会話1からその発話の削除とみなすこともできる)を示し、行番号1は、何らかの測定可能な意味的類似度を持つ発話を示す。また、注目すべきことに、会話2の行番号4のエージェント発話は、それらの明白な意味的類似度(両方ともシボレーに言及している)にもかかわらず、会話1の行番号7の顧客発話とアライメントされないが、これは、それらの置換に無限に高いコストを割り当てたサブステップ206aの呼び出しによるものである。
【0054】
ステップ210では、(任意選択のサブステップ206aの有無にかかわらず)ステップ206で計算された最小編集距離に基づいて、2つの会話テキスト間の定量化された意味的類似度を出力することができる。定量化された意味的類似度は、間隔[0,1]または[0,100]などの任意の所望のスケールであってよく、そのスケールは、2つの会話間の意味的類似度が全くない状態から同一の意味的類似度までの間の任意の場所を示すことができる。単に例示として、表1に示す2つの会話の定量化された類似度は、その発話の意味、フロー(順序)、および作成者を考慮して、例えば0.5であってもよい。
<実験結果>
【0055】
開示された会話間の意味的類似度を測定する方法(ここでは単純化のため「convED」と略す)は、2つの異なる手法を用いて評価された。つまり、会話の流れを捉える方法の能力を評価する内在的評価と、クラウドソーシングのアノテーションを介した外部の人間による評価である。また、この方法は、テキストの類似度を推定するために一般的に使用される2つの競争力のあるベースラインと比較された。
【0056】
評価には2つの会話データセットを使用した:SGD(Abhinav Rastogiら,”Towards Scalable Multi-Domain Conversational Agents:The Schema-Guided Dialogue Dataset”,Proceedings of the AAAI Conference on Artificial Intelligence,34(05),8689-8696,2020年4月)とMSDialog(Chen Quら,”Analyzing and Characterizing User Intent in Information-seeking Conversations”,SIGIR '18:The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval,989-992ページ,2018年6月)である。
【0057】
SGDは、あらかじめ定義されたダイアログスケルトンに従ったタスク指向型対話の大規模コーパスである。MSDialogは、Microsoft製品のフォーラムから収集された、質問に答えるインタラクションの実世界の対話データセットであり、対話のサブセット(2Kを超える)にメタデータがラベル付けされている。
【0058】
評価のために選択された2つのベースラインは、以下の通りである:(1)前述のUniversal Sentence Encoderは、文レベルの埋め込みを生成するための一般的な選択肢であり、文書埋め込みは個々の文の表現を平均することで計算され、(2)doc2vec(Quoc Leら,"Distributed Representations of Sentences and Documents",Proceedings of the 31stInternational Conference on Machine Learning,PMLR 32(2):1188-1196,2014年6月)は、文書の長さに関係なく、文書の分布表現を生成する埋め込みアルゴリズムである。後者は、他の文書埋め込み手法を凌駕することが示されている(例えば、Jey Han Lauら,"An Empirical Evaluation of doc2vec with Practical Insights into Document Embedding Generation",Proceedings of the 1st Workshop on Representation Learning for NLP,Pages 78-86,2016年8月;およびJingyuan Zhangら,"Evaluating the Utility of Document Embedding Vector Difference for Relation Learning",arXiv:1907.08184 [cs.CL],2019年7月を参照)。
【0059】
これら2つのベースラインアルゴリズムを用いて対話を符号化/埋め込みした後、2つの対話間の距離(Universal Sentence Encoderでは「avgSemDist」、doc2vecでは「d2vDist」と略す)を、符号化/埋め込みされた表現間のコサイン類似度によって計算した。
【0060】
SGDとMSDialogのサブセットには、アクトとスロット名(SGD)、およびアクトに相当するインテントタイプ(MSDialog)を含む豊富なメタデータがアノテーションされている。例えば、SGDコーパスのエージェント発話「いつチェックインしたいですか?」は、REQUESTタイプのアクトとcheck_in_dateタイプのスロット値でラベル付けされている。その結果、このメタデータを使用して、行為のフローと対応するスロット値を表す対話構造を抽出することができる。対話フローを忠実に表現しているが、この構造パターンは、行為の基礎となる発話の正確な意味を反映していない。この設定は、他の方法と比較して、ここで開示される意味的類似度尺度の評価のための自然なテストベッドを提供する。具体的には、ある対話が与えられたとき、その行為の流れは、その対話の行為または意図の時間的シーケンスとして定義することができ、アルファベット順にソートされたスロットが存在する場合に連結される。具体例として、表1の会話1の2行目の発話は、REQUEST_locationとして表現される。対話cに対して、その対話の行為とスロットのシーケンスは、daで表すことができる。ある領域内では、可能な対話行為とスロットの集合は固定集合にまたがることに注意されたい。したがって、2つの対話の対話行為フロー間の距離を評価するために、伝統的な編集距離尺度を適用することができる。cおよびc間の対話構造編集距離(ここでは「structED」と略す)は、2つのシーケンスdaおよびda間の編集距離として計算される。
【0061】
評価に先立ち、convED(本手法)によって表されるペアごとの会話距離は、ベースラインアルゴリズムのいずれかによって計算された距離(avgSemDist、d2vDist)よりも、structEDに対して高い近接性を示すという仮説が立てられた。この仮説は、会話セットCにおけるすべての異なる会話ペア(c,c),i≠jに対して4つのメトリクス(avgSemDist、d2vDist、structED、およびconvED)を計算することによってテストされた。次に、{convED,avgSemDist,d2vDist}とstructEDのそれぞれの間のピアソンの相関を計算した。structEDは意味をほとんど引き継がないので、最も高い相関は、最も忠実に対話間の構造的類似度をキャプチャするメトリックを示す。
【0062】
評価は、多様な性質があるため、EventドメインのSGD対話のサブセットと、MSDialogの会話のセット全体で行われた。200の会話の100のサブセットをランダムにサンプリングし、個々のサンプルの相関を平均した。表2に結果をまとめる。
【表2】
【0063】
明らかに、convEDは他のベースラインを凌駕しており、structEDとの平均相関はSGD(Events)データセットで0.540、MSDialogデータセットで0.301と高い相関を示している(tテスト、p<.001)。
【0064】
convED測定はさらに、対話の類似度に関する人間の知覚と比較することで評価された。convEDは、より競争力のあるベースラインavgSemDist(SGDデータ上)と比較して、人間の判断と高い一致を示す可能性が高いという仮説が立てられた。
【0065】
2つの対話間の正確な類似度を評価することは、会話の類似度の相対的知覚の主観的性質のため、非常に困難なタスクである。スケールベースのアノテーションによって類似度の値を直接推定するのではなく、アノテーションタスクは双方向の比較シナリオとして設定された。質の高い5人のアノテーターが、1つのアンカーと2つの会話候補のトリプレットを提示された。彼らは500トリプレットのサンプルについて判定を行った。しかし、クラウドソーシングによる評価は、少なくとも80%(5つのうち4つの)のアノテーター間の合意を持つアノテーション例のサブセットに限定され、したがって、これにより500のうち229のサンプルが得られた。これらの信頼度の高い判定をグランドトゥルースとして扱い、convEDとavgSemDistの2つの方法それぞれについて、人間の直感と一致するトリプレットの比率を計算した。評価の結果、人間の判定とそれぞれ73.3%と26.7%が一致した。これは、convEDが対話の類似度に関する人間の知覚をよりよく捉えているという仮説を裏付けるものであった。
【0066】
実験結果に関して上述したすべての技術、パラメータ、データ型、その他の特徴は、本発明の任意の実施形態である。
【0067】
本発明は、システム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
【0068】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。むしろ、コンピュータ可読記憶媒体は非一時的(すなわち非揮発性)媒体である。
【0069】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、または、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくはワイヤレスネットワークまたはその組み合わせ)を介して外部コンピュータまたは外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバーまたはその組み合わせで構成される。各コンピューティング/処理装置のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0070】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJava、Smalltalk、C++などのオブジェクト指向プログラミング言語と「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行可能である。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)外部コンピュータに接続されてよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。いくつかの実施形態では、例えば、特定用途向け集積回路(ASIC)はプログラミングせずにこれらの命令を実行するように構成されるように、ASICを含む電子回路は、製造時にすでにコンピュータ可読プログラム命令を組み込んでよい。
【0071】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に記載されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0072】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1または複数のブロックで指定された機能/動作を実装するための手段を生成するように、機械を生成するために汎用コンピュータ、専用コンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供されることができる。これらのコンピュータ可読プログラム命令はまた、フローチャートもしくはブロック図またはその両方の1または複数のブロックで指定された機能/行為の態様を実装する命令を含む生成品の1つを命令が記憶されたコンピュータ可読記憶媒体が構成するように、コンピュータ、プログラム可能なデータ処理装置、もしくは特定の方法で機能する他のデバイスまたはその組み合わせに接続可能なコンピュータ可読記憶媒体の中に記憶されることができる。
【0073】
コンピュータ、他のプログラム可能な装置、または他のデバイス上でフローチャートもしくはブロック図またはその両方の1または複数のブロックで指定された機能/行為を実行する命令のように、コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の操作ステップを実行し、コンピュータ実装された過程を生成することができる。
【0074】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品が実行可能な実装の構成、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または命令の一部を表してよく、これは、指定された論理機能を実装するための1または複数の実行可能命令を構成する。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能または動作を実行する、または特別な目的のハードウェアとコンピュータ命令の組み合わせを実行する特別な目的のハードウェアベースのシステムによって実装できることにも留意されたい。
【0075】
本明細書及び特許請求の範囲において、「実質的に(substantially)」、「本質的に(essentially)」、及びそれらの形態の各用語は、数値を表す場合、その数値から最大20%の偏差(すなわち±20%)を意味する。同様に、かかる用語が数値範囲を表す場合、最大20%の広い範囲(その明示的な範囲を10%超え、その範囲の10%以下)を意味する。
【0076】
本明細書において、任意の数値範囲は、その範囲内の個々の数値だけでなく、すべての可能な部分範囲を具体的に開示したものとみなされるべきであり、そのような部分範囲および個々の数値は、それぞれ本発明の実施形態を構成する。これは、範囲の広さに関係なく適用される。例えば、1から6までの整数の範囲についての記述は、1から3まで、1から4まで、1から5まで、2から4まで、2から6まで、3から6までなどの具体的に開示された部分範囲と、その範囲内の個々の数値、例えば、1、4、6を有すると考えられるべきである。同様に、例えば0.6から1.1までの分数の範囲の記述は、例えば0.6から0.9まで、0.7から1.1まで、0.9から1まで、0.8から0.9まで、0.6から1.1まで、1から1.1までなどの部分範囲、およびその範囲内の個々の数、例えば0.7、1、1.1が具体的に開示されていると考えるべきである。
【0077】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、明示的な説明に限定されることを意図するものでもない。記載される実施形態の範囲および精神から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するため、または当業者が本明細書に記載の実施形態を理解できるようにするために選択された。
【0078】
本出願の明細書および特許請求の範囲において、「含む(comprise)」、「含む(include)」、「有する(have)」の各単語、およびそれらの形態は、必ずしも、その単語が関連付けられ得るリストのメンバーに限定されない。
【0079】
本明細書と、参照により組み込まれた、またはその他の方法で依拠した文書との間に矛盾がある場合、本明細書が支配することを意図している。
図1
図2
【国際調査報告】