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

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

▶ タタ コンサルタンシー サービシズ リミテッドの特許一覧

特許7372812会話に基づくチケットロギングのためのシステム及び方法
<>
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図1A
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図1B
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図2
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図3
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図4
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図5
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図6
  • 特許-会話に基づくチケットロギングのためのシステム及び方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-24
(45)【発行日】2023-11-01
(54)【発明の名称】会話に基づくチケットロギングのためのシステム及び方法
(51)【国際特許分類】
   G06F 16/90 20190101AFI20231025BHJP
   G06N 20/00 20190101ALI20231025BHJP
   G06F 16/35 20190101ALI20231025BHJP
【FI】
G06F16/90 100
G06N20/00
G06F16/35
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2019190914
(22)【出願日】2019-10-18
(65)【公開番号】P2020091846
(43)【公開日】2020-06-11
【審査請求日】2022-07-22
(31)【優先権主張番号】201821039649
(32)【優先日】2018-10-19
(33)【優先権主張国・地域又は機関】IN
(73)【特許権者】
【識別番号】510337621
【氏名又は名称】タタ コンサルタンシー サービシズ リミテッド
【氏名又は名称原語表記】TATA Consultancy Services Limited
【住所又は居所原語表記】Nirmal Building,9th Floor,Nariman Point,Mumbai 400021,Maharashtra,India.
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【弁理士】
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】プニート アガルワル
(72)【発明者】
【氏名】マユール パティダール
(72)【発明者】
【氏名】ラヴケシュ ヴィグ
(72)【発明者】
【氏名】ゴータム シュロフ
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特表2018-533148(JP,A)
【文献】中国特許出願公開第108415897(CN,A)
【文献】米国特許出願公開第2015/0348541(US,A1)
【文献】松好 祐紀、外2名,Attention-based LSTMを用いた意図理解とキーワード抽出の統合による質問応答システム,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2018年09月28日,第118巻,第198号,p.9-14
【文献】長井 敦、外3名,Attention-based RNN modelを用いた日本語対話モジュールの意図クラス推定とスロットフィリングにおける未知語対策,言語処理学会第24回年次大会 発表論文集,日本,言語処理学会,2018年04月16日,p.1054-1057
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
プロセッサ実装方法であって、
1又は2以上のハードウェアプロセッサを介して、問題記述を含む入力データを受け取るステップ(302)と、
前記1又は2以上のハードウェアプロセッサによって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルを介して、階層的に配置されたクラスラベルの組を出力するために問題記述からの各単語を逐次的に処理するステップ(304)であって、前記クラスラベルの組からの各クラスラベルに信頼性スコアを割り当て、対応するクラスラベルに基づいて各単語にアテンション重みを割り当て、1又は2以上の領域に固有の履歴データを使用して前記シーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングする、ステップと、
Seq2Seqスロット充填モデルを介して、階層的に配置された前記クラスラベルの組の各々に関連する前記問題記述に含まれている情報の存在又は不在を判断するステップ(306)であって、1又は2以上のチケットの1又は2以上の問題記述と、前記1又は2以上の領域に固有の履歴データに含まれている既に訂正された関連するクラスラベルとに基づいて、前記Seq2Seqスロット充填モデルのためのトレーニングデータを生成し、前記シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、前記既に訂正された関連するクラスラベルを予測する、ステップと、
前記問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を逐次的に識別して、前記クエリの組に対応する応答の組を取得するステップ(308)と、
前記応答の組に基づいて、前記クラスラベルの組からの各クラスラベルに関連する前記信頼性スコアの更新要件を決定するステップ(310)と、
前記決定された更新要件に基づいて、前記応答の組に基づく前記クラスラベルの組からの各クラスラベルに関連する前記信頼性スコアを動的に更新して、更新された信頼性スコアの組を取得するステップ(312)と、
前記応答の組及び前記更新された信頼性スコアの組に基づいて、前記問題記述に対応するチケットを自動的にロギングするステップ(314)と、
を含むことを特徴とするプロセッサ実装方法。
【請求項2】
前記クエリの組は、前記クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも小さい時又は大きい時に識別される、
請求項1に記載のプロセッサ実装方法。
【請求項3】
前記問題記述内の単語と対応する予測クラスラベルとの間の関係は、対応する割り当てられたアテンション重みに基づく、
請求項1に記載のプロセッサ実装方法。
【請求項4】
前記問題記述からの各単語を処理する前記ステップは、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するステップを含む、
請求項1に記載のプロセッサ実装方法。
【請求項5】
前記Seq2Seqスロット充填モデルの前記トレーニングデータは、(i)前記問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)前記単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれている単語に1又は2以上のラベルを割り当てることによって生成される、
請求項1に記載のプロセッサ実装方法。
【請求項6】
命令を記憶するメモリ(102)と、
1又は2以上の通信インターフェイス(106)と、
前記1又は2以上の通信インターフェイス(106)を介して前記メモリ(102)に結合された1又は2以上のハードウェアプロセッサ(104)と、
を備えたシステム(100)であって、前記1又は2以上のハードウェアプロセッサ(104)は、前記命令によって、
問題記述を含む入力データを受け取り、
前記1又は2以上のハードウェアプロセッサによって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルを介して、階層的に配置されたクラスラベルの組を出力するために問題記述からの各単語を逐次的に処理し、前記クラスラベルの組からの各クラスラベルに信頼性スコアを割り当て、対応するクラスラベルに基づいて各単語にアテンション重みを割り当て、1又は2以上の領域に固有の履歴データを使用して前記シーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングし、
前記1又は2以上のハードウェアプロセッサによって実行されるSeq2Seqスロット充填モデルを介して、階層的に配置された前記クラスラベルの組の各々に関連する前記問題記述に含まれている情報の存在又は不在を判断し、1又は2以上のチケットの1又は2以上の問題記述と、前記1又は2以上の領域に固有の履歴データに含まれている既に訂正された関連するクラスラベルとに基づいて、前記Seq2Seqスロット充填モデルのためのトレーニングデータを生成し、前記シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、前記既に訂正された関連するクラスラベルを予測し、
前記問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を逐次的に識別して、前記クエリの組に対応する応答の組を取得し、
前記応答の組に基づいて、前記クラスラベルの組からの各クラスラベルに関連する前記信頼性スコアの更新要件を決定し、
前記決定された更新要件に基づいて、前記応答の組に基づく前記クラスラベルの組からの各クラスラベルに関連する前記信頼性スコアを動的に更新して、更新された信頼性スコアの組を取得し、
前記応答の組及び前記更新された信頼性スコアの組に基づいて、前記問題記述に対応するチケットを自動的にロギングする、
ように構成される、
ことを特徴とするシステム(100)。
【請求項7】
前記クエリの組は、前記クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも小さい時又は大きい時に識別される、
請求項6に記載のシステム。
【請求項8】
前記問題記述内の単語と対応する予測クラスラベルとの間の関係は、対応する割り当てられたアテンション重みに基づく、
請求項6に記載のシステム。
【請求項9】
前記問題記述からの各単語は、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するように逐次的に処理される、
請求項6に記載のシステム。
【請求項10】
前記Seq2Seqスロット充填モデルの前記トレーニングデータは、(i)前記問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)前記単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれている単語に1又は2以上のラベルを割り当てることによって生成される、
請求項6に記載のシステム。
【請求項11】
1又は2以上の命令を含む1又は2以上の非一時的機械可読情報記憶媒体であって、前記1又は2以上の命令は、1又は2以上のハードウェアプロセッサによって実行された時に、
1又は2以上のハードウェアプロセッサを介して、問題記述を含む入力データを受け取るステップと、
前記1又は2以上のハードウェアプロセッサによって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルを介して、階層的に配置されたクラスラベルの組を出力するために問題記述からの各単語を逐次的に処理するステップであって、前記クラスラベルの組からの各クラスラベルに信頼性スコアを割り当て、対応するクラスラベルに基づいて各単語にアテンション重みを割り当て、1又は2以上の領域に固有の履歴データを使用して、前記シーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングする、ステップと、
Seq2Seqスロット充填モデルを介して、階層的に配置された前記クラスラベルの組の各々に関連する前記問題記述に含まれている情報の存在又は不在を判断するステップであって、1又は2以上のチケットの1又は2以上の問題記述と、前記1又は2以上の領域に固有の履歴データに含まれている既に訂正された関連するクラスラベルとに基づいて、前記Seq2Seqスロット充填モデルのためのトレーニングデータを生成し、前記シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、前記既に訂正された関連するクラスラベルを予測する、ステップと、
前記問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を逐次的に識別して、前記クエリの組に対応する応答の組を取得するステップと、
前記応答の組に基づいて、前記クラスラベルの組からの各クラスラベルに関連する前記信頼性スコアの更新要件を決定するステップと、
前記決定された更新要件に基づいて、前記応答の組に基づく前記クラスラベルの組からの各クラスラベルに関連する前記信頼性スコアを動的に更新して、更新された信頼性スコアの組を取得するステップと、
前記応答の組及び前記更新された信頼性スコアの組に基づいて、前記問題記述に対応するチケットを自動的にロギングするステップと、
を引き起こす、ことを特徴とする1又は2以上の非一時的機械可読情報記憶媒体。
【請求項12】
前記クエリの組は、前記クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも小さい時又は大きい時に識別される、
請求項11に記載の1又は2以上の非一時的機械可読情報記憶媒体。
【請求項13】
前記問題記述内の単語と対応する予測クラスラベルとの間の関係は、対応する割り当てられたアテンション重みに基づく、
請求項11に記載の1又は2以上の非一時的機械可読情報記憶媒体。
【請求項14】
前記問題記述からの各単語を処理する前記ステップは、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するステップを含む、
請求項11に記載の1又は2以上の非一時的機械可読情報記憶媒体。
【請求項15】
前記Seq2Seqスロット充填モデルの前記トレーニングデータは、(i)前記問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)前記単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれている単語に1又は2以上のラベルを割り当てることによって生成される、
請求項11に記載の1又は2以上の非一時的機械可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願との相互参照及び優先権〕
本特許出願は、2018年10月19日に出願されたインド国特許出願第201821039649号に対する優先権を主張するものであり、この文献は全体が引用により本明細書に組み入れられる。
【0002】
本明細書の開示は、一般に自動チケットロギングシステムに関し、具体的には、会話に基づくチケットロギングのためのシステム及び方法に関する。
【背景技術】
【0003】
ヘルプデスクは、あらゆる大型IT組織の重要な要素であり、ここでは、ITインフラ、管理サービス、人材サービスなどに関連するあらゆる直面する問題に関するチケットをユーザがロギングすることができる。通常、ユーザは、問題の解決に役立つことができる正しい領域専門家に転送できるように、チケットに適切なラベルの組を割り当てる必要がある。実際には、ラベルの数は非常に多く、ツリー形式で体系化されている。問題の原因及び関連するラベルが分からない限り、問題を完全に記述して適切なラベルを添付することは容易ではない。時には、領域専門家がユーザと問題について話し合い、これに応じてチケットの記述を修正することなくチケットのラベルを変更することもある。この結果、データのラベルリングが不整合で誤ったものになり、管理アルゴリズムによる学習が困難になってしまう。
【先行技術文献】
【非特許文献】
【0004】
【文献】Ilya Sutskever、Oriol Vinyals及びQuoc V.Le著、「ニューラルネットワークを用いたシーケンスツーシーケンス学習(Sequence to Sequence Learning with Neural Networks)」、CoRR abs/1409.3215(2014)
【文献】Dzmitry Bahdanau、Kyunghyun Cho、及びYoshua Bengio著、2014年、「整列及び翻訳のための共同学習によるニューラル機械翻訳(Neural Machine Translation by Jointly Learning to Align and Translate)」、CoRR abs/1409.0473、2014
【文献】M.Schuster及びK.K.Paliwal著、1997年11月、「双方向再帰型ニューラルネットワーク(Bidirectional Recurrent Neural Networks)」、Trans.Sig.Proc(1997年11月)
【文献】Diederic P.Kingma及びJimmy Ba.著、2014年、Adam:「確率的最適化方法(A Method for Stochastic Optimization)」、CoRR(2014)
【文献】Mulcahit Altintas及びCuneyd Tantug著、2014年、「問題追跡システムにおける機械学習ベースのチケット分類(Machine Learning Based Ticket Classification in Issue Tracking Systems)」、人工知能及びコンピュータサイエンス(AICS)に関する国際会議議事録
【文献】Carlos N、Silla Jr及びAlex A.Freitas著、2009年、「蛋白質機能の階層的予測に対するグローバルモデルナイーブベイズ法(A Global-Model Naive Bayes Approach to the Hierarchical Prediction of Protein Functions)」、2009年第9回データマイニングIEEE国際会議(ICDM’09))議事録
【文献】Kamran Kowsari、Donald E Brown他著、2017年、HDLTex:「テキスト分類のための階層的深層学習(Hierarchical Deep Learning for Text Classification)」、2017年第16回機械学習及び応用IEEE国際会議(ICMLA)、364~371頁
【文献】Anveshi Charuvaka及びHuzefa Rangwala著、2015年、「HireCost:コスト重視学習を用いたラージスケール階層分類の改善(HierCost: Improving Large Scale Hierarchical Classification with Cost Sensitive Learning)」、データベースにおける機械学習及び知識発見に関する2015年度欧州会議議事録、第1巻(ECMLPKDD’15)、Springer、スイス
【文献】Frank Wilcoxon著、1992年、「ランキング法による個別比較(Individual Comparisons by Ranking Methods)」、Springer、ニューヨーク
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施形態は、本発明者らが従来のシステムにおいて認識していた上記の1又は2以上の技術的課題の解決策としての技術的進歩をもたらすものである。例えば、1つの態様では、問題記述の単語を処理してクエリを識別し、ユーザから応答を取得してユーザに代わって自動的にチケットをロギングするプロセッサ実装方法を提供する。この方法は、1又は2以上のハードウェアプロセッサを介して、問題記述を含む入力データを受け取るステップと、1又は2以上のハードウェアプロセッサによって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルを介して、階層的に配置されたクラスラベルの組を出力するために問題記述からの各単語を逐次的に処理するステップであって、クラスラベルの組からの各クラスラベルに信頼性スコアを割り当て、対応するクラスラベルに基づいて各単語にアテンション重みを割り当て、1又は2以上の領域に固有の履歴データを使用して、シーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングする、ステップと、Seq2Seqスロット充填モデルを介して、階層的に配置されたクラスラベルの組の各々に関連する問題記述に含まれている情報の存在又は不在を判断するステップであって、1又は2以上のチケットの1又は2以上の問題記述と、1又は2以上の領域に固有の履歴データに含まれている既に訂正された関連するクラスラベルとに基づいて、Seq2Seqスロット充填モデルのためのトレーニングデータを生成し、シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、既に訂正された関連するクラスラベルを予測する、ステップと、問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を逐次的に識別して、クエリの組に対応する応答の組を取得するステップと、応答の組に基づいて、クラスラベルの組からの各クラスラベルに関連する信頼性スコアの更新要件を決定するステップと、決定された更新要件に基づいて、応答の組に基づくクラスラベルの組からの各クラスラベルに関連する信頼性スコアを動的に更新して、更新された信頼性スコアの組を取得するステップと、応答の組及び更新された信頼性スコアの組に基づいて、問題記述に対応するチケットを自動的にロギングするステップと、を含む。
【0006】
ある実施形態では、クエリの組を、クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも小さい時又は大きい時に識別することができる。
【0007】
ある実施形態では、問題記述内の単語と対応する予測クラスラベルとの間の関係が、対応する割り当てられたアテンション重みに基づくことができる。
【0008】
ある実施形態では、問題記述からの各単語を処理するステップが、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するステップを含むことができる。
【0009】
ある実施形態では、Seq2Seqスロット充填モデルのためのトレーニングデータが、(i)問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれている単語に1又は2以上のラベルを割り当てることによって生成される。
【0010】
別の態様では、問題記述の単語を処理してクエリを識別し、ユーザから応答を取得してユーザの代わりに自動的にチケットをロギングするシステムを提供する。このシステムは、命令を記憶するメモリと、1又は2以上の通信インターフェイスと、1又は2以上の通信インターフェイスを介してメモリに結合された1又は2以上のハードウェアプロセッサと、を備え、1又は2以上のハードウェアプロセッサは、命令によって、問題記述を含む入力データを受け取り、1又は2以上のハードウェアプロセッサによって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルを介して、階層的に配置されたクラスラベルの組を出力するために問題記述からの各単語を逐次的に処理し、クラスラベルの組からの各クラスラベルに信頼性スコアを割り当て、対応するクラスラベルに基づいて各単語にアテンション重みを割り当て、1又は2以上の領域に固有の履歴データを使用してシーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングし、1又は2以上のハードウェアプロセッサによって実行されるSeq2Seqスロット充填モデルを介して、階層的に配置されたクラスラベルの組の各々に関連する問題記述に含まれている情報の存在又は不在を判断し、1又は2以上のチケットの1又は2以上の問題記述と、1又は2以上の領域に固有の履歴データに含まれている既に訂正された関連するクラスラベルとに基づいて、Seq2Seqスロット充填モデルのためのトレーニングデータを生成し、シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、既に訂正された関連するクラスラベルを予測し、問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を識別して、クエリの組に対応する応答の組を取得し、応答の組に基づいて、クラスラベルの組からの各クラスラベルに関連する信頼性スコアの更新要件を決定し、決定された更新要件に基づいて、応答の組に基づくクラスラベルの組からの各クラスラベルに関連する信頼性スコアを動的に更新して、更新された信頼性スコアの組を取得し、応答の組及び更新された信頼性スコアの組に基づいて、問題記述に対応するチケットを自動的にロギングするように構成される。
【0011】
ある実施形態では、クエリの組を、クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも小さい時又は大きい時に識別することができる。
【0012】
ある実施形態では、問題記述内の単語と対応する予測クラスラベルとの間の関係が、対応する割り当てられたアテンション重みに基づくことができる。
【0013】
ある実施形態では、問題記述からの各単語が、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するように逐次的に処理される。
【0014】
ある実施形態では、Seq2Seqスロット充填モデルのためのトレーニングデータが、(i)問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれている単語に1又は2以上のラベルを割り当てることによって生成される。
【0015】
さらに別の態様では、1又は2以上のハードウェアプロセッサによって実行された時に(単複の)領域固有のモデルを検証する方法を引き起こす1又は2以上の命令を含む1又は2以上の非一時的機械可読情報記憶媒体を提供する。この命令は、1又は2以上のハードウェアプロセッサを介して、問題記述を含む入力データを受け取るステップと、1又は2以上のハードウェアプロセッサによって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルを介して、階層的に配置されたクラスラベルの組を出力するために問題記述からの各単語を逐次的に処理するステップであって、クラスラベルの組からの各クラスラベルに信頼性スコアを割り当て、対応するクラスラベルに基づいて各単語にアテンション重みを割り当て、1又は2以上の領域に固有の履歴データを使用して、シーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングする、ステップと、Seq2Seqスロット充填モデルを介して、階層的に配置されたクラスラベルの組の各々に関連する問題記述に含まれている情報の存在又は不在を判断するステップであって、1又は2以上のチケットの1又は2以上の問題記述と、1又は2以上の領域に固有の履歴データに含まれている既に訂正された関連するクラスラベルとに基づいて、Seq2Seqスロット充填モデルのためのトレーニングデータを生成し、シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、既に訂正された関連するクラスラベルを予測する、ステップと、問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を逐次的に識別して、クエリの組に対応する応答の組を取得するステップと、応答の組に基づいて、クラスラベルの組からの各クラスラベルに関連する信頼性スコアの更新要件を決定するステップと、決定された更新要件に基づいて、応答の組に基づくクラスラベルの組からの各クラスラベルに関連する信頼性スコアを動的に更新して、更新された信頼性スコアの組を取得するステップと、応答の組及び更新された信頼性スコアの組に基づいて、問題記述に対応するチケットを自動的にロギングするステップと、を含む。
【0016】
ある実施形態では、クエリの組を、クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも小さい時又は大きい時に識別することができる。
【0017】
ある実施形態では、問題記述内の単語と対応する予測クラスラベルとの間の関係が、対応する割り当てられたアテンション重みに基づくことができる。
【0018】
ある実施形態では、問題記述からの各単語を処理するステップが、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するステップを含むことができる。
【0019】
ある実施形態では、Seq2Seqスロット充填モデルのためのトレーニングデータが、(i)問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれている単語に1又は2以上のラベルを割り当てることによって生成される。
【0020】
上述した概要及び以下の詳細な説明は、いずれも例示的かつ説明的なものにすぎず、特許請求する発明を限定するものでないと理解されたい。
【0021】
本開示に組み入れられてその一部を構成する添付図面は、例示的な実施形態を示し、開示する原理を本明細書と共に説明する役割を果たす。
【図面の簡単な説明】
【0022】
図1A】本開示の実施形態例によるラベル階層の一部を示す図である。
図1B】本開示の実施形態による、問題記述の単語を処理してクエリを知的に識別し、ユーザから応答を取得してユーザの代わりに自動的にチケットをロギングするシステムの例示的なブロック図である。
図2】本開示の実施形態による、問題記述の単語を処理してクエリを知的に識別し、ユーザから応答を取得してユーザの代わりに自動的にチケットをロギングするシステムのフレームワークの例示的なブロック図である。
図3】本開示の実施形態による図1Bのシステム100を使用する本開示の実施形態による、問題記述の単語を処理してクエリを知的に識別し、ユーザから応答を取得してユーザの代わりに自動的にチケットをロギングする方法の例示的なフロー図である。
図4】本開示の実施形態例による図1B図2のシステムによる、問題記述の階層的分類のためのシーケンスツーシーケンス(Seq2Seq)モデルを示す図である。
図5】本開示の実施形態例による図1B図2のシステムによって実装される例示的なシーケンスツーシーケンス(Seq2Seq)スロット充填モデルを示す図である。
図6】本開示の実施形態例による、「私のインドのドメインパスワードをリセットして下さい」というユーザクエリのアテンションヒートマップを示す図である。
図7】本開示の実施形態例による、「ラップトップ上でロータスノートを構成する方法は?」というユーザクエリのアテンションヒートマップを示す図である。
【発明を実施するための形態】
【0023】
添付図面を参照しながら例示的な実施形態について説明する。図では、参照番号の左端の桁が、その参照番号が最初に登場する図を識別する。好都合な場合には、図面全体を通じて同じ参照番号を使用して同一又は同様の部分を示す。本明細書には、開示する原理の例及び特徴を示すが、開示する実施形態の趣旨及び範囲から逸脱することなく修正、適合及びその他の実装も可能である。以下の詳細な説明は例示にすぎず、実際の範囲及び趣旨については以下の特許請求の範囲に示す。
【0024】
ほぼ全ての大規模組織にはヘルプデスク業務を容易にするシステムが存在し、しかも最も頻繁に使用される用途の1つであることが多い。このような組織では、全世界に分散する従業員によって毎月数多くのヘルプデスクチケットが上げられている。通常、ヘルプデスクシステムでは、ユーザは、最初にチケットを上げたいと望むマルチレベル(階層的)カテゴリを指定し、その後に問題についてのテキスト記述(「問題記述」又は「チケット記述」とも呼ばれる)を行う必要がある。このマルチレベルカテゴリは、実際にはツリーのルートノードからリーフノードへの経路である。マルチレベルカテゴリは、ユーザインターフェイス内で動的に読み込まれるドロップダウンフィールドを用いて管理されることが多い。これらのチケット上のカテゴリ注釈(category annotations)は、問題を解決できる適切な領域専門家(ヘルプデスクスタッフ)へのチケット割り当てに使用される。カテゴリが誤って/不正確に選択された場合には、自身のワークリスト内で選択を受け取ったサポート要員が、このようなチケットが正しい人物に転送されるようにカテゴリを変更する。このようなチケットを解決するために要する時間は、再転送によって長くなることが明らかである。
【0025】
現在使用中のシステムから取り込んだ過去のチケットデータの分析、及び本開示において行った実験からは、酷似するテキスト記述を含む多くのチケットに関連するカテゴリが異なっていることが分かった(例えば、10~20%のチケット)。一見したところ、この原因はラベルノイズであり、すなわち一部のチケットに誤って/不正確にカテゴリが付けられたものと思われる。しかしながら、さらなる分析後には、時にはこれがヒューマンエラーによって起きることもあり、時にはユーザがチケットを上げた後に、サポート要員と要求者との間で、システムでは捉えられない私的な会話が行われていることが分かった。この会話に基づいて、チケット記述を変更することなくチケットカテゴリが変更され、このことがラベルノイズという思い違いを招く。同様に、しばしばチケット(又は問題)記述が完全でない結果、このような私的な電話が行われることも分かった。
【0026】
サポートの技術及び範囲は、電子メールに関する問題、オペレーティングシステム及び性能の問題、企業資源計画(ERP)システムに関する問題、作業区域の衛生及び清掃に関する問題、さらには給与及び人件費に関する問題などを含むため多岐にわたる。これらの全てのカテゴリは、いわゆる「x」個(例えば、1275)のリーフノードを有するクラスツリーによってカバーされており、このようなクラスツリーの高さは、平均で4~5までの幅があることが分かっている。クラスツリーの総ノード数は、約1918である。この結果、使用される用語が増大して領域を越えて一致し、例えば「マウス(mouse)」は、「ネズミ(rat)」を意味することも、又は「コンピュータマウス」を意味することもある。クラスツリーのノードは、技術及び組織内の動作環境の変化と共に経時的に変化し続ける。毎月、平均で約2~3個のノードが変更(追加又は修正)されている。図1Aに、サンプルクラスツリーを示す。換言すれば、図1Aには、本開示の実施形態例によるラベル階層を示す。
【0027】
リーフノードの一部は、時には最後から2番目のノードであっても、多くの場合人間によって行われる論理的推論に基づいてしか決定することができない。例えば、以下の表1に示すように、ユーザが「電子メールが機能していません」という問題を報告した場合には、ウェブメール構成に何らかの問題があること(Y1)、又はサーバ上のユーザの電子メールデータベース自体が破損していること(Y2)によって、結果的にユーザがどのユーザインターフェイスからも電子メールにアクセスできないことが原因として考えられる。従って、リーフノードカテゴリに最良に到達できるのは、表1に示すような質問をユーザに行った後である。
【表1】
【0028】
この設定の目的は、チケットの解決に要する時間を短縮し、人々が上げるチケット数を最小化することである。これらの目的を達成するために、本開示は、ユーザによって与えられたチケット記述に自動的にカテゴリ(すなわち、クラスツリーのルートノードからリーフノードまでの経路)を割り当てることができる会話アシスタントを配置する。時には、適切なカテゴリに到達するためにユーザに追加の質問を行う必要もある。システムは、これらの質問を行うように構成されている場合、これらの質問に対する自然言語でのユーザ応答を解析するようにトレーニングする必要もある。これらの数百ものカテゴリの様々な質問を行うようにシステムを構成するには多大な労力が必要であり、ユーザからの自然言語での応答から必要な情報を抽出するには複数の(例えば、数百もの)パーサに書き込みを行っておく必要がある。このプロセスは、クラスツリーが経時的に変化し続けることを理由に定期的に実行されるという意味で再帰的プロセスである。従って、上述したような誤ってラベル付けされたデータの存在を解決することは重要な問題である。
【0029】
本開示では、対話型ヘルプデスクシステム(フレームワークとも呼ばれる)を実装するシステム及び方法を提供する。システムは、特に完全な階層カテゴリに到達するために追加情報が必要である時には、ユーザに訊ねる質問を自動的に決定する。この目的のために、最初にシーケンスツーシーケンス再帰ニューラルネットワークを使用して、チケット記述(又は問題記述)の階層カテゴリが何であるかを判断する。本開示のシステムは、このモデルによって高い信頼性で分類されたチケットから、ユーザにどのような質問を行うかを決定する上で役立つスロット充填モデルを(別の再帰ニューラルネットワークモデルに基づいて)トレーニングするためのデータを自動的に生成する。このスロット充填モデルは、チケット記述を入力として捉え、所与のナレーションにおいてどのスロットが全て利用可能であるか、すなわちどのような質問を行うべきでないかに関する情報を予測する。このフレームワークを使用して、システムが行った質問に対する自然言語でのユーザ応答を解析することもできる。スロット充填モデルのためのトレーニングデータは、シーケンスツーシーケンスモデルによって高いアテンションが集まった単語を観察することによって生成される。スロット充填モデルは、チケット分類モデルの信頼性が高くない場合にのみ使用される。この結果、本開示の対話型ヘルプデスクシステムは、過去のチケットデータを取得し、大した構成及びカスタム化を伴わずに自動的に機能し始めることができる。
【0030】
これまでには、文章、音楽、画像及び会話などの複数の分野のための階層的多クラス分類(HMC)に関する複数の研究活動が行われている。一般に、HMCでは、ツリー又は有向非巡回グラフ(DAG)の形のラベルが存在する。このようなHMCのための方法は、大きく3つのタイプ、すなわち「フラット分類」、「ローカル」、及び「グローバル」又は「ビッグバン」に分類される。フラット分類では、ラベル階層の構造を無視し、階層のリーフノード同士を区別するように単一の分類子をトレーニングし、試験時間にルートからリーフまでの経路上に存在する全てのラベルを所与のインスタンスに割り当てる。このトップダウン法とも呼ばれる「ローカル」法では、トレーニング中にラベル階層を利用する方法が3つ存在する。「ノード当たりのローカル分類子」では、階層のノード毎に別個の二項分類子がトレーニングされるのに対し、「親ノード当たりのローカル分類子」では、階層の非リーフノード毎に別個の多クラス分類子がトレーニングされる。これまで、研究者らは、多クラス分類子をレベル毎にトレーニングすることによって、階層形態で存在するラベル間の関係も利用してきた。「ローカル」法の全ての変種では、レベルiにおける推論が、分類子がi-1番目のレベルで行う予測に依存し、すなわち分類子が階層の上位レベルで誤り(例えば、又はエラー)を犯した場合には、このエラーが階層内で下向きに伝播される。グローバル法では、異なるローカル分類子の代わりに、トレーニング中にラベル階層を考慮する単一の複雑なモデルをトレーニングすることが目的である。本開示は、分類のためには、グローバル法と同様に単一のシーケンスツーシーケンス(Seq2Seq)分類モデルのトレーニングを実行し、テストインスタンスではローカル法と同様のトップダウン方式でラベルを予測する。
【0031】
さらに、スロット充填をシーケンスラベリング問題として処理することもできる。本開示のスロット充填法では、システムが、既存の研究活動では見られないこともある単語とスロットとの間の1対多のマッピングを可能にする。
【0032】
さらに、過去にはチケット分類の研究も行われていた。しかしながら、従来の方法では、適切な領域専門家に自動的にチケットを割り当てることによってチケット解決時間を短縮するか、或いは過去に解決されたチケットに基づいて解決ステップを推奨するかのいずれかであった。対照的に、本開示では、ラベル階層を使用してチケットを転送する。システムは、モデルが信頼性の低い予測を行った時に質問を行う方法も実装する。従って、本開示のシステムは、モデルの信頼性のみに依拠するのではなく、モデルの信頼性と共にスロット充填法(又はモデル)を実行して、ユーザによって与えられた情報が正しいラベルシーケンスに到達するのに十分なものであるかどうかをチェックする。
【0033】
開領域会話システムを形成するためにエンコーダ-デコーダフレームワーク及び強化学習に基づく方法を使用していた研究活動もある。このような方法は、ユーザとサポートスタッフとの間で行われる複数ターンの会話をヘルプデスクシステムからのデータではなく入力データとして捉える。このようなシステムは、サポートスタッフの真似をすることを学習し、時にはユーザに質問も行う。しかしながら、本開示のフレームワークでは、システムがクラスを予測できず(すなわち、予測信頼性が所定の信頼性スコア/所定の閾値よりも低く又は高く)、スロット充填モデルがユーザの発話における関連情報の存在を検出できない場合にのみ、システムがユーザに質問を行う。
【0034】
通常、ユーザは、典型的な問題記述のために、またチケットを上げるために、チケットが適切なサポート要員に転送されるように問題記述と共にカテゴリ(ラベルとも呼ばれる)の組を提供する必要がある。全ての利用可能なラベルの組は、領域専門家によって高さhのツリーである階層Hの形で配置される。本開示は、このクラス階層Hを半順序集合(C、<)にわたって定め、ここでのC={croot,c1,c2,...cn}は、利用可能なラベルの組であり、<は、以下の制約を満たすPARENT_OFの関係である。
rootはHのルートである
非対称的:
非反射的:
推移的:
【0035】
図1Aには、クラス階層の一部のビューを示す。ここでは、2つの異なる親の下で同じラベルciが発生することもあり、例えば地理のリストはこの階層のラベルでもあり、これらの地理の多くは、例えばxxxなどの同じ下位レベルのラベルを有する。本開示のシステムは、クラスツリーの個々のノード間のこのような関係にかかわらず、ラベルの一部の繰り返しを要求できるツリーとしてラベル階層を体系化又は構造化する。チケットを適切なサポート要員に転送するには、ユーザがクラス階層H内の全てのレベルからのラベルを関連付ける必要があり、すなわちチケットdiに割り当てられる階層ラベル(Yi⊂C)は、クラス階層Hのルートノードからリーフノードまでの経路と呼ぶことができる。
【0036】
本開示では、ユーザが(「問題記述」とも呼ばれる)チケット記述を提供した後に、与えられたチケット記述diの最終的な階層ラベルYiに到達するために、必要であればユーザにいくつかの質問を行う対話型ヘルプデスクシステム及び方法を提供する。チケット記述は、ユーザが直面している問題についての自然言語での主張であり、これは一連の単語、すなわち
である。本開示は、システムの機械学習モデルが過去のチケットデータD={(d1,Y1),(d2,Y2),…,(dm,Ym)}から学習を行うと予想する。さらに、システムは、適切なラベル階層の形態で問題を理解した後に、ユーザにわずかなセルフサービスステップを提供すると予想される。ユーザは、セルフサービスステップに従うことによって問題を解決できない(又は解決したいと望まない)場合、システムに自分に代わってチケットを上げるように求める。上述した表1には、これらの質問をどのように行えば、我々がチケット記述(di)に対してラベル階層を正しく判断する役に立つことができるかを示す。
【0037】
次に、図全体を通じて同様の参照文字が常に対応する特徴を示す図面、具体的には図1A図7に好ましい実施形態を示し、これらの実施形態を以下の例示的なシステム及び/又は方法の文脈で説明する。
【0038】
図1Aに関連する図1Bには、本開示の実施形態による、問題記述の単語を処理して知的にクエリを識別し、ユーザから応答を取得してユーザの代わりに自動的にチケットをロギングするシステム100の例示的なブロック図を示す。システム100は、「会話に基づくチケットロギングシステム」又は「自動会話型ヘルプデスクシステム」と呼ぶこともでき、以下ではこれらを同義的に使用する。ある実施形態では、システム100が、1又は2以上のプロセッサ104と、(単複の)通信インターフェイス装置又は入力/出力(I/O)インターフェイス106と、1又は2以上のプロセッサ104に動作可能に結合された1又は2以上のデータ記憶装置又はメモリ102とを含む。1又は2以上のプロセッサ104は、1又は2以上のソフトウェア処理モジュール及び/又はハードウェアプロセッサとすることができる。ある実施形態では、ハードウェアプロセッサを、1又は2以上のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタルシグナルプロセッサ、中央処理装置、状態機械、論理回路、及び/又は動作命令に基づいて信号を操作するいずれかの装置として実装することができる。(単複の)プロセッサは、数ある能力の中でも特に、メモリに記憶されたコンピュータ可読命令をフェッチして実行するように構成される。ある実施形態では、装置100を、ラップトップコンピュータ、ノートブック、ハンドヘルド装置、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウドなどの様々なコンピュータシステムに実装することができる。
【0039】
(単複の)I/Oインターフェイス装置106は、例えばウェブインターフェイス及びグラフィカルユーザインターフェイスなどの様々なソフトウェア及びハードウェアインターフェイスを含むことができ、例えばLAN、ケーブルなどの有線ネットワーク、及びWLAN、セルラー又は衛星などの無線ネットワークを含む様々なネットワークN/W及びプロトコルタイプ内の複数の通信を容易にすることができる。ある実施形態では、(単複の)I/Oインターフェイス装置が、複数の装置を互いに又は別のサーバに接続するための1又は2以上のポートを含むことができる。
【0040】
メモリ102は、例えばスタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、及び/又はリードオンリメモリ(ROM)、消去可能なプログラマブルROM、フラッシュメモリ、ハードディスク、光学ディスク及び磁気テープなどの不揮発性メモリを含む、当業で周知のいずれかのコンピュータ可読媒体を含むことができる。ある実施形態では、メモリ102に、限定するわけではないが、ラベル、問題記述及び対応するチケットなどを含むことができるデータベース108を記憶することができる。具体的に言えば、ラベルは、1又は2以上のカテゴリ/領域、及びデータベース108に記憶されている関連するこれらの関係に対応することができる。ある実施形態では、メモリ102が、1又は2以上のハードウェアプロセッサ104によって実行された時に本明細書で説明する方法を実行する1又は2以上の技術(例えば、シーケンスツーシーケンス(Seq2Seq)階層分類モデル、Seq2Seqスロット充填モデル、長短期メモリ(LSTM)技術を含む双方向再帰ニューラルネットワーク(RNN)など)を記憶することができる。メモリ102は、本開示のシステム及び方法によって実行される各ステップの(単複の)入力/出力に関する情報をさらに含むことができる。
【0041】
図1Bに関連する図2には、本開示の実施形態による、問題記述の単語を処理して知的にクエリを識別し、ユーザからの応答を取得してユーザの代わりに自動的にチケットをロギングするシステムのフレームワークの例示的なブロック図を示す。具体的に言えば、図2には、図1Bのシステム100の様々なコンポーネントの高次概要を示す。これらのコンポーネントは、2つのディープニューラルネットワークモデル、シーケンスツーシーケンス(Seq2Seq)階層分類モデル(ψ)及びSeq2Seqスロット充填モデル(γ)を含む。モデルψは、チケット記述/問題記述diを入力シーケンスとして捉え、クラス階層Hの一連のノード、すなわちYiを出力する。実際上、このモデルは、出力シーケンスの全てのタイムスタンプにおいて(すなわち、全てのカテゴリレベルにおいて)分類モデルとして機能する。
【0042】
このモデルによって注釈付けされるカテゴリは、単独では精度の面でユーザ予測に及ばない(以下の段落で説明する)。この原因は、上述したような不当に(又は誤って)ラベル付けされたデータ、及びチケット記述における情報の紛失にあると考えることができる。従って、正しいラベルが付与された過去のチケットデータを獲得することは困難であり、本開示は、本明細書で説明するシステム及び方法によってこれを達成しようと目論むものである。従って、上記を達成するために、システム100は、第1モデルψの(信頼性スコアとも呼ばれる)信頼性が低い時には、常に上記の表1に示すような質問をユーザに行う。以下、どのような質問を行うべきであるかについての詳細を示すことができる。
【0043】
どのような質問を行うべきか:システム100は、どのような質問を行うべきであるかを決定するために、全ての候補クラスに関する確認のための質問を行う必要があると想定する。例えば、表1に示すdiの例に照らせば、本発明のシステムは、2レベルの分類(内部IT<電子メールサービス)後に、全ての電子メールサービスについて「どの電子メールを使用していますか?」との質問を行うべきである。しかしながら、例えば表1のd2のように元々のチケット記述が電子メールクライアントに関する情報を含んでいる場合、システムはこの質問を行わずに、さらに次のレベルの分類に進むべきである。システム100は、Seq2Seqスロット充填モデルγの使用を実装してこのような情報が既に存在するかどうかを判定し、対応する質問を行うべきではない。この目的は、既にチケット記述に存在している何らかの情報を求めるという面倒なユーザ体験を避けるためであり、例えば表1のチケット記述d2に対して質問「Q1」を行うことを避けるためである。
【0044】
モデルγは、階層H内の考えられる次のクラスの情報に対応する情報(スロット)がdiに存在していることチェックするために、所与の問題記述diについて1回実行される。このような情報が存在する場合、このレベルの分類に関する決定を行い、モデルΨの次のレベルの分類に進む。一方で、このような情報が存在しない場合、システムは、このレベルの全ての考えられるクラスに関する質問、すなわち「使っているのはLotus Notesですか?、Outlookですか?、...」という質問を行う。この結果、モデルγは、チケット記述に既に存在する情報に関する質問をシステム100が避けるのに役立つ。なお、モデルγは、モデルψのいずれかのレベルにおける分類の信頼度が低い時にのみユーザに(単複の)質問を行う。本明細書では、この方法を「スロット充填支援型質問実行(SFAQA)」と呼ぶことができる。
【0045】
モデルγのためのトレーニングデータ:スロット充填モデルγのためのトレーニングデータは直ぐに利用することができず、従って過去のチケットデータのみに基づいてシステムを実行させる際には障害(road-block)となる。従って、本開示の実施形態は、システム及び関連する方法が、モデルψによって高い信頼性で分類されたチケットのアテンション重み(attention weights)に基づいてトレーニングデータを生成できるようにする。以下では、本明細書で説明する実施形態をさらに理解できるように、本開示において提供するシーケンスツーシーケンス(Seq2Seq)学習の説明を行う。
【0046】
シーケンスツーシーケンス(Seq2Seq)学習:Seq2Seq学習フレームワークは、ニューラル機械翻訳(NMT)の文脈で提案されており、テキスト要約、イメージキャプショニング、自然言語生成(NLG)などの多くの異なる分野で幅広く使用されている。一般に、Seq2Seqモデルは、エンコーダ(E)及びデコーダ(D)を含む。エンコーダ及びデコーダは、再帰型ニューラルネットワーク(RNN)、畳み込みニューラルネットワーク(CNN)、又はこれらの組み合わせを使用して実装することができる。本開示では、E及びDの両方にRNNを使用するSeq2Seqフレームワークを検討する。RNNベースのエンコーダEは、可変長の記号入力シーケンスx=(x1,x2,…,xT)を固定長のベクトル表現c=gE({h1,…,hT})に変換する。ht=fE(ht-1,xt)の場合、(ht∈Rm)は、時間ステップtにおけるRNNの隠れ状態(hidden state)を表し、fE及びgEは非線形関数である。Ilya Sutskever、Oriol Vinyals及びQuoc V.Leによる「ニューラルネットワークを用いたシーケンスツーシーケンス学習(Sequence to Sequence Learning with Neural Networks)」、CoRR abs/1409.3215(2014)によれば、c=hT=gE({h1,…,hT})である。RNNベースのデコーダDは、標的記号シーケンスy=(y1,y2,…,yT’)を時間ステップ毎に1つ生成し、
であり、この式において、st=fD(st-1,yt-1,c)であり、nは、Dの語彙における総記号数であり、Wは、各時間ステップにおける標的記号にわたる確率分布を生成するために使用される重み行列である。
【0047】
本開示では、システム及び方法が、fE及びfDに長短期メモリ(LSTM)を使用する。E及びDネットワークは、以下の対数尤度を最大化することによってまとめてトレーニングされ、
ここでのθは、E及びDネットワークの全てのトレーニング可能なパラメータを表し、(xn,yn)は、ソース記号シーケンスと対応する標的記号シーケンスとの対であり、Nは、このような対の総数である。
【0048】
アテンションを用いたシーケンスツーシーケンス学習フレームワーク:従来の研究活動では、復号プロセス中の全ての時間ステップにおいて同じソース表現cを使用することは、NMTシステムの性能を改善する上で大きな障害であることが示されている(例えば、Dzmitry Bahdanau、Kyunghyun Cho、及びYoshua Bengio、2014、「整列及び翻訳のための共同学習によるニューラル機械翻訳(Neural Machine Translation by Jointly Learning to Align and Translate)」、CoRR abs/1409.0473、2014)。
【0049】
さらに、アテンションメカニズムを用いた双方向RNN(BiRNN)も提案されており(例えば、M.Schuster及びK.K.Paliwal、1997年11月、「双方向再帰型ニューラルネットワーク(Bidirectional Recurrent Neural Networks)」、Trans.Sig.Proc(1997年11月)を参照)、ここでは、入力シーケンスが順方向RNN
によって所与の順序
に処理され、逆方向RNN
によって逆順
に処理される。本発明者らは、ここでD及びEの時間ステップにインデックスを付けるためにi及びjをそれぞれ使用する。この時点で、隠れ状態は
であり、ここでの
及び
は、
及び
によって記号xjを処理した後にそれぞれ取得された状態である。時間ステップ毎に同じ表現xを使用するのではなく、標的シーケンス内の次の記号をp(yi=1/yi-1,…,y1,x)=g’(si,yi-1,ci)として予測するためにxの関連部分に注意を払うことによって、復号プロセス中に時間ステップi毎に異なるciを使用し、式中のsi=f(si,yi-1,ci)である。
【0050】
ここでは、
が、Eから取得された状態の加重和である。時間ステップiの復号中に状態hjに割り当てられる重みは
によって表され、アラインメントモデルを用いて計算される((例えば、Dzmitry Bahdanau、Kyunghyun Cho、及びYoshua Bengio、2014、「整列及び翻訳のための共同学習によるニューラル機械翻訳(Neural Machine Translation by Jointly Learning to Align and Translate)」、CoRR abs/1409.0473、(2014)を参照。-以下、Dzmitry他又は従来のアラインメントモデルと呼ぶことができる)。アラインメントモデルは、エンコーダ状態hjとデコーダ状態sj-1との間の類似性スコア、すなわちe’ij=a’(si,hj)を計算する。アラインメントモデルは、フィードフォワードニューラルネットワーク(FNN)を用いて実装され、E及びDと同時にトレーニングされる。本開示では、システム及び方法が、si-1の代わりにDの現在の隠れ状態siを使用したスコアリング関数、すなわちe’ij=a’(si,hj)を使用する。
【0051】
図1A図2に関連する図3は、本開示の実施形態による図1Bのシステム100を使用した本開示の実施形態による、問題記述の単語を処理してクエリを知的に識別し、ユーザからの応答を取得してユーザの代わりに自動的にチケットをロギングする方法の例示的なフロー図である。ある実施形態では、(単複の)システム100が、1又は2以上のハードウェアプロセッサ104に動作可能に結合された1又は2以上のデータ記憶装置又はメモリ102を含み、これらのデータ記憶装置又はメモリ102は、1又は2以上のプロセッサ104が方法のステップを実行するための命令を記憶するように構成される。以下、図1Bのシステム100のコンポーネント、図2のシステム100のコンポーネント、及び図3に示すフロー図を参照しながら本開示の方法のステップについて説明する。
【0052】
本開示の実施形態では、ステップ302において、1又は2以上のハードウェアプロセッサ104が、問題記述を含む入力データを受け取る。本開示の実施形態では、ステップ304において、1又は2以上のハードウェアプロセッサ104が、問題記述の各単語を逐次的に処理してクラスラベルの組を出力するシーケンスツーシーケンス(Seq2Seq)階層分類モデルを実行する。組内のクラスラベルは、階層的に配置される。本開示の実施形態では、クラスラベルの組の各クラスラベルに信頼性スコアが割り当てられる。ある実施形態では、各単語に、対応するクラスラベルに基づくアテンション重みが割り当てられる。本開示の実施形態では、シーケンスツーシーケンス(Seq2Seq)階層分類モデルが、1又は2以上の領域に特化した履歴データを使用してトレーニングされる。ある実施形態では、この履歴データが、メモリ104に含まれるデータベース108に記憶される。
【0053】
図4に示すように、システム100は、シーケンスツーシーケンス(Seq2Seq)階層分類モデルをトレーニングするために、LSTMセルを含む双方向RNNをエンコーダEとして実装し、LSTMセルを含むRNNをデコーダDとして実装する。具体的に言えば、図1A図3に関連する図4には、本開示の実施形態例による図1Bのシステム100によるラベルの階層的分類のためのシーケンスツーシーケンス(Seq2Seq)モデルを示す。Eでは、全ての単語wiをWELE(単語埋め込み型レイヤエンコーダ)に通して、対応するベクトル表現vwiを取得する。WELEは、サイズ(|VE|,dE)の行列であり、ここでの|VE|は、データセットDにおける一意の単語数であり、dEはvwiの長さである。最初に、Dにおいて(当業で周知の)word2vec技術を使用して各単語wiのvwiを取得し、これをトレーニング中に更新する。Eがdiを処理した後に、
を使用してデコーダの初期状態を初期化する。Dのトレーニングは、教師強制メカニズムを使用して行われ、すなわちラベルciのベクトル表現vciを明確に受け渡し、ci∈Yi⊂C,to Dである。WELEとは異なり、WELD(単語埋め込み型レイヤデコーダ)は、ランダムに初期化されてトレーニング中に更新される。Dの語彙はVDによって表され、VD={<eos>,<pad>}∪Cである。時間ステップi+1において、vciと共にアテンションベクトルa’iが入力としてDに供給され、a’i=tanh(Wc[ci:hi])として計算される。
【0054】
例えば、「ラップトップ上でロータスノートを構成する方法」というチケット記述に対応するシーケンス内の各ラベルのベクトル表現(<start>,Internal IT,Email Services,Lotus Notes,Configuration/Installation,<eos>)が1つずつデコーダに受け渡される。E及びDネットワークは、(当業で周知の)オプティマイザを使用してまとめてトレーニングされる。
【0055】
推論:E及びアテンションメカニズムは、トレーニング及び推論において同様に機能する。トレーニングとは異なり、時間ステップi+1におけるDへの入力及びa’iは、時間ステップiにおいて最も高い確率で予測されるラベルである。システム100は、diの最終的なラベルシーケンスに到達するために、本明細書で説明した上記の方法を実行するために実行される、メモリ104に含まれた(当業で周知の)ビーム探索法を実行する。
【0056】
本開示の実施形態では、ステップ306において、1又は2以上のハードウェアプロセッサ108が、階層的に配置された各クラスラベルの組に関する問題記述に含まれる情報の存在又は不在を決定するSeq2Seqスロット充填モデルを実行する。ある実施形態では、問題記述に含まれる情報の存在又は不在のレベルが、クラスラベルの組の各クラスラベルに割り当てられた信頼性スコアに基づく。なお、Seq2Seqスロット充填モデルのためのトレーニングデータは、1又は2以上のチケットの1又は2以上の問題記述と、1又は2以上の領域固有の履歴データに含まれる既に訂正された関連するクラスラベルとに基づいて生成され、既に訂正された関連するクラスラベルは、システム100に含まれてシステム100によって実行されるシーケンスツーシーケンス(Seq2Seq)階層分類モデルによって予測される。1つの実施形態例では、生成されたSeq2Seqスロット充填モデルのためのトレーニングデータが、メモリ104に含まれるデータベース108に記憶される。
【0057】
以下、本開示の実施形態をさらに良く理解できるように、シーケンスラベリング問題としてのスロット充填、及びSeqSeqスロット充填モデルのためのトレーニングデータ生成について説明する。
【0058】
スロット充填は、ソースシーケンスと標的シーケンスとが等しい長さである、すなわち
であるシーケンスラベリング問題としてモデル化される。上述したように、既存の従来の作業とは異なり、本開示ではソース記号とターゲット記号との間に1対多のマッピングが存在する。例えば、以下の表2では、「notes」という単語が複数のラベル{Internal IT、Email Services、Lotus Notes}にマッピングされている。従って、システム100は、デコーダの時間ステップ毎にマルチラベル分類子を実装する(例えば、以下で詳細に説明する図5を参照)。具体的には、図1A図4に関連する図5に、本開示の実施形態例による図1のシステム100によって実装される例示的なシーケンスツーシーケンス(Seq2Seq)スロット充填モデルを示す。
【表2】
【0059】
スロット充填モデル(γ)のためのトレーニングデータ(D’)生成:本発明のシステムは、モデルψを使用してスロット充填のためのトレーニングデータセットD’⊂Dを選択して注釈を付ける。本開示は、「理想的には、分類モデルψは、クラス階層Hの各レベルにおける正しいクラスラベルの識別に異なる情報(単語)の組を使用すべきである」ことを強調する。図5に示す例によれば、「please reset my India domain password(私のインドのドメインパスワードをリセットして下さい)」というチケット記述について、モデルψは、一連の単語の組{{India,domain,password},{India},{India},{reset,password,domain,please}}に基づいてラベルシーケンス{Internal_IT,TCS_Domain,India_Domain,User_Account_Issues_India}をそれぞれ予測しているので、このことが部分的に当てはまる。具体的には、図1A図5に関連する図6に、本開示の実施形態例による「please reset my India domain password(私のインドのドメインパスワードをリセットして下さい)」というユーザクエリのアテンションヒートマップを示す。上記のユーザクエリでは、チケット記述diの単語wiと予測されるラベルとの間の関係が以下のアテンションの値に基づいて形成されており、
ここでのαijは、時間ステップiにおいてラベルを予測している間にψが単語wjに与えたアテンションの値を表す。換言すれば、1つの実施形態例では、問題記述における単語と対応する予測されたクラスラベルとの間の関係が、対応する割り当てられたアテンション重みに基づく。
【0060】
時には、ψが、関連する単語に比べて無関係な単語に注意を払うことによってラベルを予測することも観察される。例えば、図6では、モデルが、単語の組{how,configure}に基づいてラベル「Configuration/Installation」を予測しており、この場合の「how」は、予測に関連する単語ではない。具体的には、図1A図6に関連する図7に、本開示の実施形態例による「How to configure lotus notes on the laptop ?(ラップトップ上でロータスノートを構成する方法は?)」というユーザクエリのアテンションヒートマップを示す。システム100は、チケット記述/問題記述における全ての無関係な単語に記号「0」をタグ付けし、関連する単語に、例示的な式としての以下の方程式(1)に従って上記の表2に示すようなラベルをタグ付けする。換言すれば、問題記述からの各単語をステップ304に示すように逐次的に処理するステップは、1又は2以上の関連する単語及び1又は2以上の無関係な単語を識別するステップを含む。本開示では、システム100が、方程式(1)のストップワードを考慮しない。システムは、Dからチケット記述diのみを取り上げ、ここではψによって行われた予測が正しく、ψはこれに対して確信を持っており、すなわち対数尤度スコアが閾値thasを上回る。本開示では、ラベルcpに複数の単語がマッピングされるのを避けるために、アテンションスコア
に基づく単語の数wcと閾値thasの上位境界cpを使用して以下のように実装し、
【数1】
(1)
ここでのthas及びwcは、検証データを使用して微調整される。
【0061】
簡単に言えば、(i)問題記述に含まれる単語の組に関連するアテンション重みの総和が閾値アテンション重み以上であり、かつ(ii)単語の組の濃度が単語カウント閾値よりも低い時に、対応するチケットの問題記述に含まれる単語に1又は2以上のラベルが割り当てられる。以下は、本開示の実施形態をさらに良好に理解するための、モデルγのトレーニングの例示的な説明である。
【0062】
トレーニングモデルγ:システムは、本発明者らが階層的分類に使用していたものと同様のLSTMセルを含む双方向RNNをEとして実装する。Dの初期状態は、diを順方向に処理することによって取得されるEの最終状態を用いて初期化され、すなわち
である。図4に示すように、システム100は、復号の各時間ステップiにおいてEの隠れ状態hiのみを入力としてデコーダに渡す。具体的に言えば、図4には、本開示の実施形態例による図1のシステム100が実装する例示的なSeq2Seqスロット充填モデルを示す。図4
は、時間ステップiにおけるdiを表す。システム100は、ソフトマックスに代わってdiの各単語に対応する複数のラベルを予測するために、S字非線形性(sigmoid nonlinearity)を使用して、以下の方程式(2)に示すように損失関数を最小化する。方程式(2)では、T’がソース及び標的シーケンス長であり、NがD’のトレーニングインスタンスの総数であり、stpiが、時間ステップiにおけるグラウンドトゥルースラベルのマルチホットベクトルを表し、zi=sigmoid(Wstanh[bi;hi])であり、この場合のzi∈R|VD|は、対応する予測リアル値ベクトルを表し、VD={0,<pad>,<unk>}∪Cが、デコーダDの語彙を表す。
【数2】
(2)
【0063】
推論:推論段階中には、システム100がユーザの問題記述diをエンコーダに受け渡し(図2を参照)、以下の方程式(3)で述べる条件を満たすデコーダの各時間ステップiにおける全てのラベルが収集される。
【数3】
(3)
【0064】
identified_slotsは、γがdiから識別した全ての固有のスロットを含む。例えば、図4では、γが、「How to configure lotus notes on the laptop ?(ラップトップ上でロータスノートを構成する方法は?)」という問題記述に対応する固有のスロット{O,Configuration/Installation,Internal_IT,Email_Services,Lotus_Notes}を識別している。方程式(3)では、ths∈Rが、全ての時間ステップiにおけるVDの全てのスロットラベルについてγが予測するスロットスコアの閾値である。position[zi≧ths]は、時間ステップiにおける指数の組を戻し、ここでは、予測されるスコアが所定の閾値、すなわちthsよりも大きい。
【0065】
本開示の実施形態では、ステップ308において、1又は2以上のハードウェアプロセッサ108が、問題記述に含まれている情報の存在又は不在に基づいて、履歴データを使用してクエリの組を逐次的に識別して、クエリの組に対応する応答の組を取得する。換言すれば、クラスラベルが低い信頼性スコアを有している場合でも、システム100は質問を識別して、ユーザに応答を提供するように要求する。或いは、クラスラベルの組からの複数のクラスラベルの信頼性スコアが所定の信頼閾値よりも低い又は高い時にクエリの組が識別される。
【0066】
以下は、上記のモデルがどのようにユーザに質問を行う必要があるかについての例である。
【0067】
質問の実行:上位5つの予測のリコールが90%として観察されている(表7を参照)ので、システム100は、全てのベンチマークについて上位K個のオプションにk=5を使用又は設定する。
【0068】
質問なし(NQ):この方法では、システムがユーザに質問を行わず、カテゴリ分類モデルが行った予測のみによって進む。
【0069】
全ての質問の実行(AQA):このスキームでは、モデル(ψ)のあらゆるレベルにおいて、上位k個のオプションが複数の固有のラベルを含む場合、システム100がユーザに質問を行う。ベンチマークの一部では、例えば以前の閾値よりも小さな対数尤度を有するオプションを拒絶した後に取得された上位k個のオプションがフィルタ処理されている。
【0070】
例えば、以下の表3に示すように、レベル1及び2における全ての上位5つのオプションは、それぞれが同じ予測ラベル「Internal_IT」及び「Email_Services」を有する。この結果、システムは、これらのレベルでは質問を行わずに次のレベルに進む。レベル3において、「Zimbra/thunderbird」が3回予測され、「Outlook」及び「Lotus_Notes」がそれぞれ1回予測されている。従って、システム100は、例えば「Zimbra/thunderbirdを使用しますか?」などの全てのカテゴリに関連する二択質問をユーザに行い、ユーザの回答に基づいてラベルを選択する。次のレベルでは、残りのオプションがリストから脱落し、例えばユーザが「Zimbra/thunderbird」を選択した場合、レベル4では第2及び第3のオプションが完全に脱落する。具体的に言えば、表3に、ψが行った上位5つの予測を示しており、1つの実施形態例では、ここでのA、Bが、ラベル「Internal_IT」及び「Email_Services」を示す。
【表3】
【0071】
本開示は、ユーザに質問を行うことを再び参照してスロット充填支援型質問実行(SFAQA)について説明し、これを実装する。このスキームでは、既にユーザがチケット記述/問題記述において関連する情報を提供していた場合にはユーザへの質問を回避することが目的であり、例えば上記の表1を参照すると、システム100は、チケットd2について質問Q-1を行うことを控える。モデルψにおいてビーム探索法を実行した後に、いずれかのクラス階層レベル(又は出力シーケンスのタイムスタンプ)において上位k個のオプション(又はフィルタ処理された上位k個のオプション)内に複数のラベルが存在する場合、システム100は、スロット充填モデルの出力を使用して、このようなオプションから正しいラベルを識別する。この場合、スロット充填モデルを起動/実行して、候補オプションのうちのどのオプションがチケット記述内に存在するかに関する情報を識別する。このような情報がチケット内に存在しない場合、システムはユーザに質問を行い、存在する場合には行わない。例えば、以下の表4のチケット(表1のd3)では、レベル2において、上位k個のオプションが「Software」及び「Email_Services」という2つのラベルを含む。ここでは、スロット充填モデルが、ラベル「Email_Services」に関連する単語の存在を予測する。この結果、システムは、このレベルではユーザに質問を行わずに次のレベルに進む。注記:図1Bのシステム100は、次のレベルではもはや「Software」に関連するオプションについて検討しない。以下の表4に、ψが行った上位5つの予測を示しており、ここでのA、Bは、ラベル「Internal_IT」及び「Email_Services」を示し、Oは、無関係な単語に対応する検出されたスロットを示す。
【表4】
【0072】
ある実施形態では、ステップ310において、ハードウェアプロセッサ108が、クエリの組に対する応答の組を逐次的に受け取ると、これらの応答の組に基づいて、クラスラベルの組からの各クラスラベルに関連する信頼性スコアの更新要件を決定する。本開示の1つの実施形態では、ステップ312において、システム100によって決定された更新要件に基づいて、応答の組に基づくクラスラベルの組からの各クラスラベルに関連する信頼性スコアを動的に更新する(ことができる)。ステップ312の出力は、更新された信頼性スコアの組である。さらに、ステップ314において、ハードウェアプロセッサ108は、応答の組及び更新された信頼性スコアの組に基づいて、問題記述に対応するチケットを自動的にロギングする。ある実施形態では、システム100が、逐次的に受け取られた応答と、階層的に配置されたクラスラベルの組を使用して更新された信頼性スコアの組とに基づいて、チケットを自動的にロギングする。
【0073】
結果と考察
ベースライン方法
フィードフォワードネットワーク(λ)を用いたTF-IDF:本開示のシステム及び方法は、上記の文献において述べられているように「フラット分類」又は「直接法」とも呼ばれる多クラス分類問題として階層的分類をモデル化した。ここでは、階層H内の2つの異なる親ノードの下に同じリーフラベルが発生した場合、このリーフラベルは、このモデル内の階層を無視する異なるクラスとして見なされる。この結果、あらゆるリーフノードから階層カテゴリを一意的に識別することができる。これは、最後にソフトマックスを含む2層フィードフォワードニューラルネットワークであり、この場合、ネットワークへの入力は、ユーザクエリdi内に存在する単語diに対応するtf_idfスコアであり、ターゲットリーフノードは、ei=softmax(W2*(relu(Wtf-idf*di(tf-idf)+btf-idf))T+b2)に従って識別され、W2は重み行列を表し、btf-idf,b2は、対応するバイアスベクトルを表す。eiは、リーフノードにわたる確率分布である。モデルλへの入力は、dp内に存在する単語に対応するtf-idfスコアを含むベクトルdi(tf-idf)∈R|VE|である。
【0074】
チケットデータセットのモデル性能
チケットデータセットの説明:このデータセットは、現在使用されているヘルプデスクシステムから採取した対応するラベルを含む過去3ヶ月のチケットデータから成る。以下の表5に、チケット数及び高水準カテゴリの分布を示す。対応するクラス階層Hは高さh=4のツリーであり、ツリー内のリーフノードの数は1275であり、Hツリー内の総ノード数は、crootを含む1918である。
【表5】
【0075】
利用可能なデータを、比率(60-20-20)で3つの部分、すなわち2,49,627(トレーニング)、82,532(検証)、及び82,972(テスト)のチケットにそれぞれ分離/分割した。ここでは、検証データをハイパーパラメータチューニングに使用した。
【0076】
トレーニングの詳細:当業で周知のword2vec法を使用して(スペースによって区切られた)トークンのための単語埋め込みを初期化し、トレーニング中に微調整した。最適化法(例えば、Diederic P.Kingma及びJimmy Ba.著、2014年、Adam:「確率的最適化方法(A Method for Stochastic Optimization)」、CoRR(2014)を参照)を使用して、全てのモデル、すなわち(ψ,λ,γ)について範囲[1e-2,1e-3]から学習速度を選択した。(ψ,γ)におけるLSTMセルの数及び層の数は、[100,150,200,250,300]及び研究活動からそれぞれ選択した(例えば、Mulcahit Altintas及びCuneyd Tantug著、2014年、「問題追跡システムにおける機械学習ベースのチケット分類(Machine Learning Based Ticket Classification in Issue Tracking Systems)」、人工知能及びコンピュータサイエンス(AICS)に関する国際会議議事録、及びDzmitry Bahdanau、Kyunghyun Cho及びYoshua Bengio著、2014、「一致及び変換のための共同学習によるニューラル機械翻訳」、CoRR abs/1409.0473(2014)を参照)。λにおけるセル及び層の数は、[64,128,512,1024,2048,4096,8192]及び上述した研究活動からそれぞれ選択した。正則化のために、Carlos他によって記載されているようにドロップアウトを使用した(例えば、Carlos N、Silla Jr及びAlex A.Freitas、2009、「蛋白質機能の階層的予測に対するグローバルモデルナイーブベイズ法(A Global-Model Naive Bayes Approach to the Hierarchical Prediction of Protein Functions)」、2009年第9回データマイニングIEEE国際会議(ICDM’09))議事録を参照)。閾値の値{th1,th2,th3,th4,ths,thas,wc}は、検証データに基づいて決定した。実験中には、thas=0.9及びwc=3を使用した。
【0077】
性能ベンチマーク:最初に質問を行わない時(NQ)、次に全ての質問を行った時(AQA)、最後にスロット充填モデル(γ)を使用して冗長的な質問を行わない、すなわちSFAQAの時という異なる設定における2つのモデルλ及びψの精度を示す。精度とは別に、本開示は、以下の表6に尋ねた質問の数も示す。具体的に言えば、表6には、試験データに対する異なるアーキテクチャの性能を示す。
【表6】
【0078】
上記の表6の最後の3行には、これらのベンチマークに対するフィルタ処理した(対数尤度の閾値を使用した)上位5つのオプションの影響が観察される。実際のユーザは、AQA及びSFAQA法のベンチマーク精度を準備するために質問に答える必要がある。本開示では、チケットの実際のラベルを知っていて全ての質問に正確に回答する模擬ユーザエージェントに基づいて性能ベンチマークを提示した。
【0079】
tf-idfベースのフィードフォワードネットワーク(λ)は、約65%の低い精度を示す。しかしながら、このモデルによる(出力ソフトマックス層によって与えられた確率に基づく)上位5つの予測は約90%のリコールを有し、すなわちこのモデルは、ほとんどのチケットについて誤ったYiの1270をきちんと拒絶することができる。全てのAQAベンチマークのように模擬ユーザが回答した全ての質問が正しければ、精度は対応するNQベンチマークについてのリコール@5と同じになる。さらに、SFAQAの場合、スロット充填モデル(γ)がチケット記述内に存在する情報を検出しなければ、誤った分類をもたらさないさらなる質問が行われる。しかしながら、特定のカテゴリに対応する情報の存在を誤って/不正確に予測した場合、システムは、ユーザに質問を行わず、誤った/不正確なYiに関する決定が行われることがある。従って、全てのSFAQAベンチマークの精度は、常に対応するAQAベンチマークの精度よりも低い。
【0080】
モデルλ及びψを用いたスロット充填支援型質問実行(SFAQA)法を使用した時には、AQA法と比べてそれぞれ約1%及び2%の精度を犠牲にして19.3%及び22.2%少ない質問が行われた。しかしながら、上位5つのオプションの閾値ベースのフィルタリングを使用した時には、行われた質問の数がAQA(λ+上位k個)法に対して51.7%低下し、精度が83.9%であることが観察された。また、SFAQA(ψ+上位k個+th)では、AQA(ψ+上位k個+th)に比べて約6%少ない質問で1%だけ低い精度が達成されており、これは精度がほとんど低下しない大きな利得である。この結果、本開示は、Seq2Seq階層分類モデルにおいて高アテンション単語を通じて生成されたデータに関してトレーニングされたスロット充填モデルが良好に機能することを実証することができる。
【0081】
パブリックデータセットに対するモデル性能
パブリックデータセットの説明:本開示は、Kamran他が使用した公的に入手可能なデータセットに対する本明細書で説明した方法のベンチマークも示す(例えば、「Kamran Kowsari、Donald E Brown他著、2017年、HDLTex:「テキスト分類のための階層的深層学習(Hierarchical Deep Learning for Text Classification)」、2017年第16回機械学習及び応用IEEE国際会議(ICMLA)、364~371頁を参照)。このデータセットのクラス階層H’は、2の高さと134のリーフノードとを有していた。このデータセットは、7つの異なる分野に属する46,985件の文書を有しており、各分野は複数の下位分野を有していた。例えば、dpublicが「コンピュータグラフィクス」に関する場合、対応するラベルは{Computer Science,Computer Graphics}になる。Karman他による研究活動では、データセットDpublicが、{WOS-11967、WOS-46985、WOS-5736}という3つの異なるサブセットに分割され、各サブセットの詳細を以下の表7に示す。具体的に言えば、表7には以下を示す。
【表7】
【0082】
トレーニングの詳細:トレーニング中に、100次元の事前トレーニングされたグローブ埋め込み(例えば、Jeffrey Pennington、Richard Socher及びChristopher D.Manning著、2014、GloVe:「単語表現のためのグローバルベクトル」、Empirical Methods in Natural Language Processing(EMNLP))を使用して(Kamran他と同様の事前処理後に取得された)トークンのための単語埋め込みを初期化して微調整した。上述した最適化法を使用して、ψ’について範囲[1e-2,1e-3]から学習速度を選択した。(ψ’)におけるLSTMセルの数及び層の数は、[100,150,200,250,300]及び研究活動からそれぞれ選択した(例えば、Mulcahit Altintas及びCuneyd Tantug著、2014年、「問題追跡システムにおける機械学習ベースのチケット分類(Machine Learning Based Ticket Classification in Issue Tracking Systems)」、人工知能及びコンピュータサイエンス(AICS)に関する国際会議議事録、及びDzmitry Bahdanau、Kyunghyun Cho及びYoshua Bengio著、2014、「一致及び変換のための共同学習によるニューラル機械翻訳」、CoRR abs/1409.0473(2014)を参照)。正則化のために、上述したようなドロップアウトを使用した。全てのハイパーパラメータは、トレーニングセットからランダムに選択された文書の20%を含む検証セットに基づいて微調整される。既存の研究活動では、ハイパーパラメータチューニングのための検証セットが使用されたことはない(例、Kamran他)。
【0083】
publicの結果:Kamran他の既存の研究活動では、ツリーのルートノードを含む階層H’の非リーフノード毎にローカル分類子をトレーニングした。Kamran他の既存の研究活動では、ローカル分類子に{CNN,RNN,DNN}を使用した。例えば、データセットWOS-46985に照らせば、Kamran他は、それぞれが所与の文書dpublicを7つの領域のうちの1つに分類し、それぞれのローカル分類子を使用して所与の文書の下位領域を識別する8つの分類子をトレーニングした。
【0084】
対照的に、本開示の方法では、所与の文書の領域及び下位領域の両方を識別する1つのアテンションベースのSeq2seq階層分類モデルψのみをトレーニングした。以下の表8に、Kamran他の既存の研究活動において示される様々な方法の精度と、本開示の方法の精度とを示す。表8には、HireCostによる既存の研究活動において提案される異なる方法の試行後に取得された最良の結果を示す(例えば、Anveshi Charuvaka及びHuzefa Rangwala著、2015、「HireCost:コスト重視学習を用いたラージスケール階層分類の改善(HierCost: Improving Large Scale Hierarchical Classification with Cost Sensitive Learning)」、データベースにおける機械学習及び知識発見に関する2015年度欧州会議議事録、第1巻(ECMLPKDD’15)、Springer、スイス、を参照)。
【0085】
Wilcoxon法を使用して3つのデータセットについて全てのアルゴリズムのランクを計算したところ(例えば、Frank Wilcoxon著、1992年、「ランキング法による個別比較(Individual Comparisons by Ranking Methods)」、Springer、ニューヨーク、を参照)、本開示の方法が最も(又はより)万能性が高く、Kamran他の最良の方法RNN_CNNと同じぐらい良好に機能することが分かった。
【表8】
【0086】
結果の分析及びシステムの説明
本開示の方法を使用する主な利点は、システムがユーザに質問を行う際に、同じスロット充填モデルを使用して応答が解析され、これが元々のチケット記述/問題記述における重要な情報のチェックに使用される点である。システム100は、ユーザにさらなる質問を行うことにより、ユーザからの(応答で述べられた)問題/課題に関するさらなる自然言語情報も取り込み、この結果、誤って(又は不正確に)ラベル付けされたデータを有する可能性を低減する一貫したカテゴリ化が行われる。本開示のシステム100は、スロット充填モデルのためのトレーニングデータを自動的に生成するので、人間の労力をほとんど(少ししか)伴わずにあらゆる既存のヘルプデスクシステムと一体化することができる。システム統合器は、ノード毎に自然言語の質問を設定し、時には頻繁に行われるフィルタ処理された上位5つのオプションのための質問、例えば「使用している電子メールはLotus Notes、Outlook、Zimbraのうちのどれですか?」などを行うだけでよい。リーフノード毎にセルフサービスステップを提供して、潜在的にチケットの数を減少させることもできる。本開示のフレームワークは、表1のチケット記述d4及びd5に示すような質問に対する二択応答(はい/いいえ)の代わりに自然言語応答を解析することもできる。このフレームワークは、フィルタ処理された上位k個が正しいYiを含んでいない場合、或いはスロット充填モデルが誤った/不正確なスロットを予測した結果、候補となるラベルの組から正しいYiが消去された場合、チケット記述にラベルYiを割り当てる際に誤りを犯すことがある。このフレームワークは、チケット記述が複数の問題意見を含む時にも、トレーニングデータ内の問題タイプの頻度又はユーザ応答に基づいて単一のチケットを上げることがある(又は上げる)。例えば、「スカイプ及びアウトルック構成にログインできません。できるだけ早く解決して下さい」という問題記述の場合には、1つ目に「アウトルック構成」、2つ目に「アプリケーション支援」という2つの異なるチケットを上げる必要がある。
【0087】
本開示の実施形態は、人間の労力をほとんど伴わずに過去のチケットデータから自動的に対話型ヘルプデスクシステムを形成するシステム及び方法を提供する。スロット充填支援型質問実行と連動するアテンションベースのseq2seq階層分類モデルを実装する本開示の方法は、クラス階層の全てのレベルにおいて複数の異なるモデルを使用する、又はフラット分類器を使用する従来の方法とは対照的な、模擬ユーザを介して立証される実験データ/結果(例えば、上記の表を参照)を通じて(相当に)良好な精度を実現する。各クラスラベルに割り当てられた信頼性スコアに基づいて選択的に質問を行うシステム100の能力は、この方法を知的なものにする。これらの選択的質問は、予め定義されてシステム100のメモリ104(又はデータベース108)に含められ、Seq2Seqスロット充填モデルは、メモリ104(又はデータベース108)に問い合わせを行い、所定の閾値(又は所定の信頼性スコアとも呼ばれる)よりも小さな又は大きな信頼性スコアを有する階層的に配置されたクラスラベルに基づいて、適切な質問を逐次的に知的に識別することができる。例えば、システム100は、クラスラベルに関連する質問に関する情報の充足性を判断するのに十分な確信を持つまで、Seq2Seqスロット充填モデルを介してユーザに連続して質問を行う。信頼性スコアが所定の閾値に達すると、システム100は次のクラスラベルに移行して、このクラスラベルに関連する質問に関する情報の充足性を判断するステップを実行し、信頼性スコアが所定の閾値に達するように質問を行って関連する応答を取得する。本開示は、既存の(単複の)従来法/(単複の)研究活動には見られない、又はこれらの従来法/研究活動によって実現されるseq2seq分類モデルのアテンションに基づくスロット充填モデルのためのトレーニングデータの生成も実証した。実験データ/結果からは、対話型ヘルプデスクシステム又はシステム100がユーザに自動的に質問を行うことによって根本的原因分析を実行できることも示された。
【0088】
本明細書では、当業者が実施形態の作成及び使用を行えるように主題を説明した。本主題の実施形態の範囲は特許請求の範囲によって定められ、当業者が思いつく他の修正を含むこともできる。このような他の修正は、特許請求の範囲の文言と異ならない同様の要素を有する場合、或いは特許請求の範囲の文言とはわずかに異なる同等の要素を含む場合、特許請求の範囲に含まれるように意図される。
【0089】
保護の範囲は、このようなプログラム、及び内部にメッセージを有するコンピュータ可読手段にまで及び、このようなコンピュータ可読記憶手段は、サーバ、モバイル装置又はいずれかの好適なプログラマブル装置上でプログラムが実行された時に方法の1又は2以上のステップを実行するためのプログラムコード手段を含むと理解されたい。ハードウェア装置は、例えばサーバ又はパーソナルコンピュータなどのあらゆる種類のコンピュータ、又はこれらのあらゆる組み合わせを含む、プログラム可能なあらゆる種類の装置とすることができる。装置は、例えば特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などのハードウェア手段、或いはASICとFPGAとの組み合わせ、又は少なくとも1つのマイクロプロセッサとソフトウェアモジュールを含む少なくとも1つのメモリとの組み合わせなどの、ハードウェアとソフトウェア手段との組み合わせとすることができる手段を含むこともできる。従って、これらの手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書で説明した方法の実施形態は、ハードウェア及びソフトウェアにおいて実行することができる。装置は、ソフトウェア手段を含むこともできる。或いは、例えば複数のCPUを使用して異なるハードウェア装置上で実施形態を実行することもできる。
【0090】
本明細書の実施形態は、ハードウェア要素とソフトウェア要素とを含むことができる。ソフトウェアに実装される実施形態は、限定するわけではないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本明細書で説明した様々なモジュールによって実行される機能は、他のモジュール又は他のモジュールの組み合わせにおいて実行することもできる。コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスによって又はこれらに関連して使用されるプログラムを含み、記憶し、通信し、伝播し、又は移送できるあらゆる装置とすることができる。
【0091】
図示のステップは、図示の例示的な実施形態を説明するために示したものであり、継続中の技術的発展によって特定の機能の実行方法が変化すると理解すべきである。本明細書では、これらの例を限定ではなく例示目的で示している。さらに、本明細書では、説明の便宜上、機能的ビルディングブロックの境界を任意に定めている。これらのビルディングブロックの指定された機能及び関係が適切に実行される限り、別の境界を定めることもできる。当業者には、本明細書に含まれる教示に基づいて(本明細書で説明したものの同等形態、拡張形態、変形形態、偏差形態などを含む)代替例が明らかになるであろう。このような代替例も、開示した実施形態の範囲及び趣旨に含まれる。また、「備える、有する、含む(comprising、having、containing及びincluding)」という単語、及び他の同等の形態は、意味的に同等であるように意図されており、これらの単語のうちのいずれか1つに続く1又は複数の項目がこのような1又は複数の項目の完全なリストであるように意図されておらず、或いはリストされた1又は複数の項目のみに限定されるように意図されていないという点で制約のないものである。なお、本明細書及び添付の特許請求の範囲において使用される単数形の「a、an(英文不定冠詞)」及び「the(英文定冠詞)」は、文脈において別途明確に示されていない限り複数形の照応を含む。
【0092】
さらに、本開示に一致する実施形態を実施する際に、1又は2以上のコンピュータ可読記憶媒体を使用することもできる。コンピュータ可読記憶媒体は、プロセッサが読み取ることができる情報又はデータを記憶できるあらゆるタイプの物理的メモリを意味する。従って、コンピュータ可読記憶媒体は、本明細書で説明した実施形態に一致するステップ又は段階を(単複の)プロセッサに実行させる命令を含む、1又は2以上のプロセッサが実行するための命令を記憶することができる。「コンピュータ可読媒体」という用語は、有形アイテムを含んで搬送波及び過度信号を除外し、すなわち非一時的なものであると理解されたい。一例としては、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD ROM、DVD、フラッシュドライブ、ディスク、及び他のいずれかの既知の物理的記憶媒体が挙げられる。
【0093】
なお、本開示及び実施例はほんの例示とみなすべきであり、開示した実施形態の実際の範囲及び趣旨は、以下の特許請求の範囲によって示される。
図1A
図1B
図2
図3
図4
図5
図6
図7