(57)【要約】【課題】学習用データの生成を効率化する。【解決手段】生成プログラムは、記憶部に記憶された複数のデータに基づき、複数のデータに含まれるデータのペア毎にデータ間の類似度を算出する処理をコンピュータに実行させる。生成プログラムは、データのペアのうち、算出した類似度が基準を満たすペアを抽出する処理をコンピュータに実行させる。生成プログラムは、抽出したペアに含まれる第１のデータに関する情報及び第２のデータに関する情報と、第１のデータ及び第２のデータが類似するか否かを示す情報とを含む第３のデータを生成する処理をコンピュータに実行させる。【選択図】図４
2019082841.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に記憶された複数のデータに基づき、前記複数のデータに含まれるデータのペア毎にデータ間の類似度を算出し、
前記データのペアのうち、算出した前記類似度が基準を満たすペアを抽出し、
抽出した前記ペアに含まれる第１のデータに関する情報及び第２のデータに関する情報と、前記第１のデータ及び前記第２のデータが類似するか否かを示す情報とを含む第３のデータを生成する
処理をコンピュータに実行させることを特徴とする生成プログラム。
【請求項２】
前記抽出する処理は、前記データのペアのうち、類似度が第１の閾値以上であるペア及び類似度が第２の閾値未満であるペアを抽出することを特徴とする請求項１に記載の生成プログラム。
【請求項３】
前記抽出する処理は、前記類似度に応じて、複数の前記データのペアをそれぞれ複数の区分に分類し、当該複数の区分のうち、最上位の区分及び最下位の区分を除く中間の区分に含まれる前記データの数が所定の条件を満たすように複数の前記ペアを抽出することを特徴とする請求項１又は２に記載の生成プログラム。
【請求項４】
前記複数のデータをベクトル化してソートする処理をさらにコンピュータに実行させ、
前記算出する処理は、前記ソートの結果、相互に隣接するデータのペアを特定し、当該データのペアのデータ間の類似度を算出し、
前記抽出する処理は、前記データのペアのうち、類似度が所定の範囲内に該当するペアをサンプリングして抽出することを特徴とする請求項１乃至３のいずれか１つに記載の生成プログラム。
【請求項５】
２以上の類似度算出手法を用いて、前記第３のデータを、前記第１のデータ及び前記第２のデータが相互に類似すると判定される正例、又は相互に類似しないと判定される負例に分類し、
前記２以上の類似度算出手法のうち、前記分類する処理において最も正解率が高い類似度算出手法を用いて、前記複数のデータをクラスタリングし、
前記クラスタリングする処理の結果を用いて、学習モデルを生成する
処理をさらにコンピュータに実行させることを特徴とする請求項１乃至４のいずれか１つに記載の生成プログラム。
【請求項６】
前記クラスタリングした結果に対して入力された評価結果を、前記第３のデータに追加する処理をさらにコンピュータに実行させることを特徴とする請求項５に記載の生成プログラム。
【請求項７】
コンピュータが、
記憶部に記憶された複数のデータに基づき、前記複数のデータに含まれるデータのペア毎にデータ間の類似度を算出し、
前記データのペアのうち、算出した前記類似度が基準を満たすペアを抽出し、
抽出した前記ペアに含まれる第１のデータに関する情報及び第２のデータに関する情報と、前記第１のデータ及び前記第２のデータが類似するか否かを示す情報とを含む第３のデータを生成する
処理を実行することを特徴とする生成方法。
【請求項８】
複数のデータを記憶する記憶部と、
前記記憶部に記憶された複数のデータに基づき、前記複数のデータに含まれるデータのペア毎にデータ間の類似度を算出する算出部と、
前記データのペアのうち、算出した前記類似度が基準を満たすペアを抽出する抽出部と、
抽出した前記ペアに含まれる第１のデータに関する情報及び第２のデータに関する情報と、前記第１のデータ及び前記第２のデータが類似するか否かを示す情報とを含む第３のデータを生成する生成部と
を有することを特徴とする生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成プログラム、生成方法及び生成装置に関する。
【背景技術】
【０００２】
質問者の質問に対して回答者が回答を行う作業において、回答者が、少ない専門知識や労力でも、質問者を適切な回答に導く作業を効率よく行えるようにする技術が知られている。例えば、質問者と回答者の間でやり取りされたメッセージの中から、後で再利用できる問合せ事例を抽出し、事例に含まれる質問及び回答を互いに関連付けた形で蓄積し、新しい質問に類似する事例を検索して利用する技術が知られている。
【０００３】
また、検索対象データベースの記述言語と入力キーワードの記述言語とが異なる場合においても、入力キーワードに忠実な検索結果を出力する技術も知られている。例えば、日本語の入力キーワードが入力されると、入力キーワードに対して日英変換を行って対応する英語の検索キーワードを生成し、英語の検索キーワードを含む英文書をデータベースから検索する技術が知られている。当該技術は、検索された英文書に英日翻訳を行って日本語の文書に変換し、この日本語の文書を日本語の入力キーワードと比較することにより、データベースから検索された検索結果の妥当性を評価する。
【０００４】
さらに、類似する情報をクラスタにまとめる技術も知られている。例えば、複数の文書それぞれについて、自身を含めた全ての文書それぞれとの類似性を評価した結果に基づいて、各文書を対等な複数のクラスタに分割する技術が知られている。また、実名刺データ中の各名刺などのレコードから名刺などのデータのＩＤと一部の項目データを抽出し、取引先等、一定の条件で集めて複数の簡易名刺データを構成する技術も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０９２４７３号公報
【特許文献２】特開平１１−２１９３６８号公報
【特許文献３】特開２００３−０３０２２４号公報
【特許文献４】特開２０００−３５７１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、例えば膨大な文章をクラスタリングする際に用いる最適な類似度算出手法を特定するために、文章間が類似するか否かを示す正解データを用いて、各類似度算出手法による判定処理を行う場合がある。しかし、上記技術では、膨大な文章の中から正解データとする文章のペアを抽出することは容易ではない。例えば、正例とすべき、相互に類似する文章を抽出することは効率的ではない。
【０００７】
一つの側面では、学習用データの生成を効率化できる生成プログラム、生成方法及び生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様において、生成プログラムは、記憶部に記憶された複数のデータに基づき、複数のデータに含まれるデータのペア毎にデータ間の類似度を算出する処理をコンピュータに実行させる。生成プログラムは、データのペアのうち、算出した類似度が基準を満たすペアを抽出する処理をコンピュータに実行させる。生成プログラムは、抽出したペアに含まれる第１のデータに関する情報及び第２のデータに関する情報と、第１のデータ及び第２のデータが類似するか否かを示す情報とを含む第３のデータを生成する処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの態様によれば、学習用データの生成を効率化できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１において生成される正解データの利用例を示す図である。
【図２】図２は、インシデント間の類似度の分布の一例を示す図である。
【図３】図３は、背景技術における正解データ生成処理の一例を示す図である。
【図４】図４は、実施例１における生成装置の一例を示す図である。
【図５】図５は、実施例１におけるインシデント記憶部の一例を示す図である。
【図６】図６は、実施例１における正解データ記憶部の一例を示す図である。
【図７】図７は、実施例１におけるクラスタ記憶部の一例を示す図である。
【図８】図８は、実施例１における正解データ生成処理の一例を示すフローチャートである。
【図９】図９は、類似インシデントの一例を示す図である。
【図１０】図１０は、実施例２におけるペア抽出処理の一例を示す図である。
【図１１】図１１は、実施例２における類似度算出処理の一例を示す図である。
【図１２】図１２は、実施例２におけるクラスタリング評価処理の一例を示す図である。
【図１３】図１３は、実施例２における生成装置の一例を示す図である。
【図１４】図１４は、実施例２における正解データ生成処理の一例を示すフローチャートである。
【図１５】図１５は、ハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する生成プログラム、生成方法及び生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１２】
実施例１における、後に説明する生成装置１０は、コールセンターの質疑応答集（ＦＡＱ）などのデータベース（ＤＢ）に含まれる文章間のデータから学習モデルを生成する際に利用される正解データを生成する。なお、以下において、データベースに含まれるクラスタリング対象となる文章を「インシデント」と表記する場合がある。なお、生成装置１０は、サーバ、パーソナルコンピュータ、タブレットなどのコンピュータ装置の一例である。
【００１３】
実施例１における「正解データ」は、２つのインシデントの組み合わせと、当該インシデントが相互に類似するか類似しないかを含むデータである。なお、以下において、相互に類似すると判定されるインシデントのペアを「正例」と表記し、相互に類似しないと判定されるインシデントのペアを「負例」と表記する場合がある。
【００１４】
実施例１における正解データは、インシデントをクラスタリングする際に用いられる類似度算出手法を決定するために用いられる。図１は、実施例１において生成される正解データの利用例を示す図である。図１に示すように、実施例１においては、インシデントから学習モデルを生成し、質問文を学習モデルに入力することにより、関連する回答が抽出される。
【００１５】
図１に示すように、インシデントから学習モデルを生成する際に、膨大なインシデントをクラスタリングし、類似するインシデントをクラスタに分類したものを学習用データとして、学習モデルの生成に用いることが一般的である。学習モデルは、例えばインシデントなどの文章群を形態素解析によって単語に区分し、区分された単語群に対する分散表現の単語ベクトル（Bag  of  words）を学習することにより生成される。単語の分散表現とは、各単語を、単語間の各特徴要素である複数の次元に対して、定量化した連続値で表現した、多次元のベクトルである。なお、単語の分散表現は、例えばＷｏｒｄ２Ｖｅｃなどの公知の技術により学習することができるため、詳細な説明は省略する。
【００１６】
学習用データとするクラスタの精度が低い、例えば正例であるべきインシデントのペアが異なるクラスタに分類されていたり、逆に負例とすべきインシデントのペアが同じクラスタに分類されていたりすると、学習モデルの質が下がる場合がある。学習モデルの質が下がると、例えば質問文に対する適切な回答が抽出できなくなる場合がある。そこで、実施例１においては、複数の類似度算出手法のうち、最も精度が高くなる類似度算出手法を用いて、インシデントをクラスタリングする。
【００１７】
類似度算出手法の精度は、例えば正解データに含まれるインシデントのペアに対して類似度算出手法を適用した場合の正解率、すなわちペアを正例又は負例に分類し、分類結果と正解データとがどれだけ一致しているかにより判定できる。
【００１８】
ところで、上で述べたように、正解データとするインシデントのペアを抽出することは容易ではない。例えば、インシデントの数をｎ個とすると、判定対象となるペアの数は、（ｎの２乗／２）個となる。また、インシデントのペアの中には、相互に全く類似しておらず、負例であることが明らかであるペアや、完全に一致する、正例であることが明らかなペアが多く存在する場合がある。
【００１９】
図２は、インシデント間の類似度の分布の一例を示す図である。なお、図２に示す類似度は、必ずしも上で述べた類似度算出手法と同一のものであるとは限らない。図２に示すグラフは、インシデントのペアの類似度の分布を示し、範囲３１００は正例とすべきペアの件数、範囲３２００は負例とすべきペアの件数を示す。図２に示すように、負例とすべきペアの件数は、類似度が最高である、すなわち完全に一致するペアにおいては０となるが、類似度が低下するにつれて急激に増加する。一方、正例とすべきペアの件数は、類似度の低下とともにゆるやかに減少し、類似度が低い正例とすべきペアは極めて少なくなる。なお、図２に示すグラフは、ペアの大多数は類似度が極めて低く、かつ負例となる場合の例を示す。
【００２０】
図２に示すペア４１００は、類似度が高いが、正例ではなく負例であるペアの例を示す。ペア４２００は、類似度が極めて高く、かつ正例であるペアの例を示す。また、ペア４３００は、類似度は低いが、負例ではなく正例であるようなペアの例を示す。なお、各ペアの例については後に詳しく説明する。
【００２１】
背景技術においては、図３に示すような処理により、正解データを生成する。図３は、背景技術における正解データ生成処理の一例を示す図である。背景技術においては、例えばインシデントの中からランダムサンプリングされたインシデント群１００１に対して、人間が手作業で正解データ１１００を作成する技術が知られている。また、ランダムサンプリングを行わずに、正例となりそうなインシデント、又は負例となりそうなインシデントを検索して、検索結果に対して人間が手作業で正解データ１１００を作成する技術も知られている。
【００２２】
しかし、例えばペアに含まれる正例と負例との割合に偏りがある場合、ランダムサンプリングにおいては、正例が全く含まれない可能性や、負例が全く含まれない可能性が高くなる。また、インシデントの件数が膨大である場合は、ランダムサンプリングを行わないと正例となるペアや負例となるペアを特定することは非効率的である。
【００２３】
そこで、実施例１において、生成プログラムは、まずインシデント間の類似度を算出して、類似度が基準を満たすペアを抽出する処理をコンピュータに実行させる。また、生成プログラムは、当該ペアが正例に該当するか負例に該当するかを示す正解情報の入力を受け付ける処理をコンピュータに実行させる。正解情報の入力は、例えばユーザがインシデントのペアを目視して正例か負例かを判定することにより入力される。
【００２４】
このように、実施例１における生成プログラムは、文章のペア毎に類似度を算出し、類似度が基準を満たすペアに、正例か否かを示す情報を付与して正解データを生成するので、文章の類似度算出手法の決定に用いる正解データを効率よく生成できる。
【００２５】
［機能ブロック］
次に、本実施例における生成装置１０の一例について、図４を用いて説明する。図４は、実施例１における生成装置の一例を示す図である。図４に示すように、本実施例における生成装置１０は、記憶部１２０と、制御部１３０とを有する。
【００２６】
記憶部１２０は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやプロセッサなどである。この記憶部１２０は、インシデント記憶部１２１、類似度記憶部１２２、正解データ記憶部１２３、手法記憶部１２４、クラスタ記憶部１２５及び学習モデル記憶部１２６を記憶する。
【００２７】
インシデント記憶部１２１は、インシデントに関する情報を記憶する。図５は、実施例１におけるインシデント記憶部の一例を示す図である。図５に示すように、インシデント記憶部１２１は、「インシデントＩＤ」と「タイトル」とを対応付けて記憶する。なお、インシデント記憶部１２１に記憶される情報は、例えば図示しないコールセンターの担当者等により予め入力される。
【００２８】
図５において、「インシデントＩＤ」は、インシデントを一意に識別する識別子（IDentifier）を記憶する。「タイトル」は、当該インシデントの内容を記憶する。
【００２９】
類似度記憶部１２２は、インシデントのペアごとに、データ間の類似度を記憶する。類似度記憶部１２２に記憶される情報は、後に説明する算出部１３１により入力される。なお、類似度記憶部１２２に記憶される情報は、正解データ記憶部１２３に記憶される情報のうち「正負」を含まないものであるので、詳細な説明は省略する。
【００３０】
正解データ記憶部１２３は、インシデントのペアごとに、正例に該当するか又は負例に該当するかを記憶する。正解データ記憶部１２３に記憶される情報は、後に説明する登録部１３３により入力される。
【００３１】
図６は、実施例１における正解データ記憶部の一例を示す図である。図６に示すように、正解データ記憶部１２３は、「インシデント１」及び「インシデント２」と、「類似度」と、「正負」とを、「ペアＩＤ」に対応付けて記憶する。
【００３２】
図６において、「ペアＩＤ」は、インシデントのペアを一意に識別する識別子を記憶する。「インシデント１」及び「インシデント２」は、当該ペアを構成する２つのインシデントのインシデントＩＤを記憶する。「類似度」は、当該ペアの類似度を記憶する。「正負」は、当該ペアが正例に該当するか、又は負例に該当するかを記憶する。なお、以下において、正例に該当する場合を「Ｔｒｕｅ」と表記し、負例に該当する場合を「Ｆａｌｓｅ」と表記する場合がある。
【００３３】
手法記憶部１２４は、インシデントをクラスタリングする際に用いられる類似度算出手法に関する情報を記憶する。手法記憶部１２４に記憶される情報は、例えば生成装置１０の図示しない管理者により予め入力される。
【００３４】
実施例１において、類似度算出手法は、例えばコサイン類似度、levenshtein距離、単語誤り率（WER）などがある。なお、手法記憶部１２４については、詳細な説明を省略する。
【００３５】
クラスタ記憶部１２５は、インシデントのペアが分類されるクラスタに関する情報を記憶する。クラスタ記憶部１２５に記憶される情報は、後に説明するクラスタリング処理部１３５により入力される。
【００３６】
図７は、実施例１におけるクラスタ記憶部の一例を示す図である。図７に示すように、クラスタ記憶部１２５は、「ペアＩＤ」と、「インシデント１」及び「インシデント２」と、「クラスタＩＤ」とを対応付けて記憶する。図７において、「クラスタＩＤ」は、インシデントのペアが分類されたクラスタを一意に識別する識別子を記憶する。
【００３７】
学習モデル記憶部１２６は、後に説明するモデル生成部１３６により生成される学習モデルを記憶する。
【００３８】
図４に戻って、制御部１３０は、生成装置１０全体を司る処理部であり、例えばプロセッサなどである。制御部１３０は、算出部１３１、抽出部１３２、登録部１３３、判定部１３４、クラスタリング処理部１３５及びモデル生成部１３６を有する。なお、算出部１３１、抽出部１３２、登録部１３３、判定部１３４、クラスタリング処理部１３５及びモデル生成部１３６は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００３９】
算出部１３１は、インシデントのペア間の類似度を算出する。算出部１３１は、例えばインシデントを任意の手法でベクトル化し、各ベクトル間のコサイン類似度を算出することにより、インシデントのペアの類似度を算出する。算出部１３１は、算出したインシデントのペア間の類似度を、類似度記憶部１２２に記憶する。
【００４０】
なお、算出部１３１は、例えばインシデント記憶部１２１に記憶された全てのインシデントのペアについて類似度を算出するが、これに限られず、一部のインシデントのペアをサンプリングして、類似度を算出してもよい。また、ベクトル化の手法については公知の技術を用いることができるため、詳細な説明は省略する。
【００４１】
抽出部１３２は、類似度が所定の基準を満たすインシデントのペアを抽出する。抽出部１３２は、類似度記憶部１２２から抽出したインシデントのペアに関する情報を、登録部１３３に出力する。抽出部１３２は、例えば人間が目視により評価することが適切な件数（数十件等）のペアを抽出する。
【００４２】
抽出部１３２は、例えば正例に該当する可能性が高いペアを抽出する場合、類似度が所定の閾値以上であるペアを抽出する。同様に、抽出部１３２は、例えば負例に該当する可能性が高いペアを抽出する場合、類似度が所定の閾値未満であるペアを抽出する。
【００４３】
一方、図２に示すペア４１００及び４３００のように、類似度だけでは正例か負例かを判定することが難しいようなインシデントのペアも存在する。このような場合、抽出部１３２は、例えば類似度が所定の範囲内に収まるようなペアを抽出する。
【００４４】
登録部１３３は、抽出されたインシデントのペアに対して、正例か負例かを登録する。なお、登録部１３３は、生成部の一例である。
【００４５】
登録部１３３は、図示しない通信部又は表示部を通じて、抽出されたインシデントのペアに関するタイトル等の情報を出力する。登録部１３３は、出力されたインシデントのペアに対し、例えば生成装置１０の図示しないユーザにより入力された、ペアが正例に該当するか又は負例に該当するかを示す情報を受け付ける。登録部１３３は、受け付けた正例又は負例に関する情報を、ペアと対応付けて正解データ記憶部１２３に記憶する。
【００４６】
判定部１３４は、クラスタリング処理に用いる類似度算出手法を決定する。判定部１３４は、手法記憶部１２４に記憶された複数の類似度算出手法を参照し、各手法を用いて、正解データ記憶部１２３に記憶された複数のインシデントのペアが、それぞれ正例に分類すべきものであるか、又は負例に分類すべきものであるかを判定する。
【００４７】
次に、判定部１３４は、各手法を用いた判定結果と、正解データ記憶部１２３に記憶された「正負」とが一致するか否かを判定する。そして、判定部１３４は、各手法のうち、判定対象とした複数のインシデントのペアの中で、判定結果と「正負」とが一致した件数が最も多い手法を選択する。
【００４８】
例えば、判定部１３４は、６４件のペアについて判定した場合において、手法Ａは５０件、手法Ｂは４０件、手法Ｃは４５件で判定結果と「正負」とが一致した場合、手法Ａを選択する。判定部１３４は、選択された手法に関する情報を、クラスタリング処理部１３５に出力する。
【００４９】
クラスタリング処理部１３５は、インシデントをクラスタリングする。クラスタリング処理部１３５は、判定部１３４から出力された手法に関する情報を用いて、クラスタリング処理に用いる類似度算出手法を決定する。クラスタリング処理部１３５は、決定した手法を用いて、インシデント記憶部１２１に記憶されたインシデントをクラスタに分類し、分類結果をクラスタ記憶部１２５に記憶する。
【００５０】
モデル生成部１３６は、学習モデルを生成する。モデル生成部１３６は、例えばクラスタリング処理が終了したタイミングで、インシデント記憶部１２１及びクラスタ記憶部１２５に記憶された情報を用いて学習モデルを生成し、学習モデル記憶部１２６に記憶する。なお、学習モデルは、誤差逆伝播（error  Back  Propagation：BP）法などの公知の手法により生成できるため、詳細な説明は省略する。
【００５１】
［処理の流れ］
次に、本実施例における処理について、図８を用いて説明する。図８は、実施例１における正解データ生成処理の一例を示すフローチャートである。実施例１において、生成装置１０は、例えば図示しないユーザによる指示に基づいて正解データ生成処理を開始するが、実施の形態はこれに限られない。例えば、生成装置１０は、所定の日時、前回の処理から所定の期間が経過した場合、インシデント件数が所定の件数に到達した場合など、任意のタイミングで正解データ生成処理を開始してもよい。
【００５２】
図８に示すように、生成装置１０の算出部１３１は、インシデントのペア間の類似度を算出し、類似度記憶部１２２に記憶する（Ｓ１１０）。
【００５３】
次に、抽出部１３２は、類似度が基準を満たすペアを抽出して、登録部１３３に出力する（Ｓ１２０）。
【００５４】
次に、登録部１３３は、抽出された各ペアに対する正負の入力を受け付けて（Ｓ１４０）、正解データを正解データ記憶部１２３に登録する（Ｓ１４１）。
【００５５】
次に、判定部１３４は、正解データ記憶部１２３に記憶されたインシデントのペアについて、手法記憶部１２４に記憶された各類似度算出手法を用いて、正例又は負例に分類する（Ｓ１５０）。そして、判定部１３４は、各類似度算出手法のうち、分類結果の精度が最も高い類似度算出手法を選択し、クラスタリング処理部１３５に出力する（Ｓ１５１）。
【００５６】
次に、クラスタリング処理部１３５は、出力された類似度算出手法を用いて、インシデント記憶部１２１に記憶されたインシデントに対するクラスタリング処理を行う（Ｓ１６０）。そして、クラスタリング処理部１３５は、クラスタリング処理の結果に対する評価を受け付け（Ｓ１７０）、モデル生成部１３６に学習モデルの生成指示を出力する。
【００５７】
モデル生成部１３６は、インシデント記憶部１２１及びクラスタ記憶部１２５を参照して、学習モデルを生成し（Ｓ１８０）、処理を終了する。
【００５８】
［効果］
以上説明したように、本実施例における生成プログラムは、記憶部に記憶された複数のデータに基づき、複数のデータに含まれるデータのペア毎にデータ間の類似度を算出する処理をコンピュータに実行させる。生成プログラムは、データのペアのうち、算出した類似度が基準を満たすペアを抽出する処理をコンピュータに実行させる。生成プログラムは、抽出したペアに含まれる第１のデータに関する情報及び第２のデータに関する情報と、第１のデータ及び第２のデータが類似するか否かを示す情報とを含む第３のデータを生成する処理をコンピュータに実行させる。これにより、学習用データの生成を効率化できる。
【００５９】
また、生成プログラムは、データのペアのうち、類似度が第１の閾値以上であるペア及び類似度が第２の閾値未満であるペアを抽出する処理をコンピュータに実行させてもよい。これにより、正例である可能性が高いペアや、負例である可能性が高いペアを優先的に抽出することができる。
【００６０】
また、生成プログラムは、２以上の類似度算出手法を用いて、第３のデータを正例又は負例に分類する処理をコンピュータに実行させてもよい。生成プログラムは、２以上の類似度算出手法のうち、分類する処理において最も正解率が高い類似度算出手法を用いて、複数のデータをクラスタリングする処理をコンピュータに実行させてもよい。さらに、生成プログラムは、クラスタリングする処理の結果を用いて、学習モデルを生成する処理をコンピュータに実行させてもよい。これにより、クラスタリングに最適な類似度算出手法を特定できる。
【実施例２】
【００６１】
ところで、正解データに、負例であることが明らかであるような類似度の低いペア、及び正例であることが明らかな類似度が極めて高いペアが多くなると、適切ではない類似度算出手法が選択される場合がある。
【００６２】
図９は、類似インシデントの一例を示す図である。図９の符号４０００に示すインシデント１０は、「ＰＣに電源が入りません」という質問文を含む。これに対して、インシデント１０とインシデント１００とは、質問文が完全に一致するため、類似度が高く算出される。すなわち、インシデント１０とインシデント１００とのペアは、図２に示すペア４２００に該当する。しかし、質問文が完全に一致するインシデントのペアが正例に該当することは明らかであり、かかるペアが正解データに含まれていても、類似度算出手法の選択制度の向上にはつながらない。
【００６３】
また、図２に示すペア４１００及びペア４３００のように、ペアの類似度と、正例に該当するか又は負例に該当するかは必ずしも一致しない。例えば、図９に示すインシデント１０とインシデント３０とは、「ＰＣ」及び「電源」という単語が共通するため、類似度が高く算出される。しかし、人間による目視においては、電源の起動時の問題と、操作中における問題とであり、問題の発生が異なる場面であるため、負例であると判定される。すなわち、インシデント１０とインシデント３０とのペアは、図２に示すペア４１００に該当する。
【００６４】
また、図９に示すインシデント１０とインシデント５０とは、質問文中に共通する単語が含まれないため、類似度が低く算出される。しかし、人間による目視においては、どちらのインシデントも電源の起動時の問題であるため、正例であると判定される。すなわち、インシデント１０とインシデント５０とのペアは、図２に示すペア４３００に該当する。
【００６５】
そこで、本実施例においては、インシデントのペアを抽出する際に、類似度に偏りが生じないように抽出する構成について説明する。図１０は、実施例２におけるペア抽出処理の一例を示す図である。図１０は、図２に示す範囲３０００を拡大したグラフの一例である。
【００６６】
図１０は、インシデントのペアの分布を、類似度ごとに８等分した例を示す。実施例２において、後に説明する生成装置２０は、例えば８等分された各区分から均等に「Ｘ件」づつペアをサンプリングする。これにより、類似度に偏りが生じないように、インシデントのペアを抽出できる。
【００６７】
また、上で述べたように、インシデントの件数が数万件規模となる場合、インシデントのペアの組み合わせは一億通りを超える規模となり、全件について類似度を算出することは効率的ではない。
【００６８】
そこで、実施例２においては、インシデントのペアの類似度を算出する対象を絞り込む構成について説明する。図１１は、実施例２における類似度算出処理の一例を示す図である。図１１に示すように、実施例２における類似度算出処理において、生成装置２０は、インシデント０及び複数のインシデント１１０１乃至１１９９をベクトル化し、公知の手法にてベクトルを次元圧縮する。次に、生成装置２０は、次元圧縮された各インシデント１２００を、さらにｚ個の１次元の区間に区切る。そして、生成装置２０は、例えばペアＡ００１及びＡ００３のような隣接するインシデントのペアの類似度を算出する。
【００６９】
これにより、類似度の算出対象とするインシデントｎ間のペアの数を、（ｎ＾２／２）個から、（ｎ−ｚ）個に絞り込むことができる。また、図１１に示すように、インシデントの件数が多い場合など、隣接する、すなわち類似度が高いインシデントのペアであっても、ペアＡ００１のように類似度が低いことも多いため、正例だけでなく、負例も十分な数を確保できる可能性が高い。
【００７０】
さらに、クラスタリングの精度が低い場合、精度を高めるために、正解データをさらに追加して、再度類似度算出手法を選択することが望ましい。そこで、実施例２における生成装置２０は、クラスタリング処理の結果に対する評価を、正解データとして再利用する。
【００７１】
図１２は、実施例２におけるクラスタリング評価処理の一例を示す図である。図１２は、クラスタリング処理において、インシデント「００１」、「００２」及び「００５」はクラスタＡに、インシデント「００３」、「００４」及び「００６」はクラスタＢに、それぞれ分類された例を示す。
【００７２】
この場合において、生成装置２０は、例えば各クラスタの中から代表インシデントを選択し、各代表インシデントと同一のクラスタに分類された他のクラスタとのペア、及び異なるクラスタに分類された代表クラスタとのペアを、評価対象としてサンプリングする。図１２は、インシデント「００４」及び「００５」が、それぞれ代表インシデントとして選択された例を示す。そして、生成装置２０は、図示しないユーザ等により、各評価対象に対して、正例に該当するか負例に該当するかの評価の入力を受け付ける。
【００７３】
図１２に示す例においては、同一クラスタに属するインシデント「００１」と「００５」とのペアについては「Ｔｒｕｅ（正例）」と評価されている。一方、同一クラスタに属するインシデント「００３」と「００４」とのペア、及び相互に異なるクラスタに属するインシデント「００５」と「００４」については「Ｆａｌｓｅ（負例）」と評価される。
【００７４】
そして、生成装置２０は入力された評価と、インシデントのペアとを対応付けて、正解データ記憶部１２３に正解データとして追加する。これにより、クラスタリング処理の評価結果を、正解データとして再利用できる。
【００７５】
［機能ブロック］
次に、当該生成プログラムを実行する生成装置について、図１３を用いて説明する。図１３は、実施例２における生成装置の一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【００７６】
図１３に示すように、本実施例における生成装置２０は、記憶部１２０と、制御部２３０とを有する。制御部２３０は、生成装置２０全体を司る処理部であり、例えばプロセッサなどである。制御部２３０は、算出部２３１、抽出部２３２、登録部１３３、判定部１３４、クラスタリング処理部２３５、モデル生成部１３６及び前処理部２３７を有する。なお、算出部２３１、抽出部２３２、クラスタリング処理部２３５及び前処理部２３７も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００７７】
前処理部２３７は、隣接するインシデントのペアを特定する。前処理部２３７は、インシデント記憶部１２１に記憶されたインシデントをベクトル化し、さらにインシデントを２次元に次元圧縮する。なお、次元圧縮の手法については公知の技術を用いることができるため、詳細な説明は省略する。
【００７８】
そして、前処理部２３７は、区切られた各区間に含まれる、相互に隣接するインシデントを特定する。前処理部２３７は、例えば図１１に示す例において、正解データ記憶部１２３に例示されたペアに加えて、「インシデント７」と「インシデント５」及び「インシデント８」と「インシデント９」の各ペアを特定する。前処理部２３７は、特定されたペアを、算出部２３１に出力する。
【００７９】
算出部２３１は、隣接するインシデントのペア間の類似度を算出する。算出部２３１は、前処理部２３７から出力されたインシデントのペアの類似度を算出し、類似度記憶部１２２に記憶する。
【００８０】
抽出部２３２は、類似度が所定の基準を満たすインシデントのペアを抽出する。抽出部２３２は、例えば実施例１における抽出部１３２と同様の手法により、所定の条件を満たすペアを抽出する。
【００８１】
また、抽出部２３２は、例えば、類似度記憶部１２２に記憶されたインシデントのペアを、図１０に例示するように、類似度によって所定の数に区分する。そして、抽出部２３２は、例えば１区分につき１０件ずつなど、各区分から均等にペアを抽出する。
【００８２】
なお、抽出部２３２は、区分ごとに異なる件数のペアを抽出してもよく、また全区分からではなく、特定の区分からペアを抽出してもよい。例えば、抽出部１３２は、図１０に例示する区分のうち、最も類似度が低い区分と、最も類似度が高い区分とを除く６つの区分からペアを抽出してもよい。また、抽出部２３２は、例えば中央の区分から最も多くのペアを抽出してもよい。
【００８３】
クラスタリング処理部２３５は、インシデントをクラスタリングするとともに、クラスタリング処理の結果に対する評価の対象となるインシデントをサンプリングし、対象となるインシデントを含むペアに対する評価を受け付ける。そして、クラスタリング処理部２３５は、受け付けた評価に含まれるインシデントのペアと評価結果とを、正解データとして正解データ記憶部１２３に記憶する。
【００８４】
例えば、図１２に示すように、クラスタリング処理部２３５は、代表インシデントとして、インシデント「００１」及び「００５」を選択して、図示しないユーザに出力する。そして、クラスタリング処理部２３５は、例えば同一クラスタに属するインシデント「００１」と「００５」とのペアについては「Ｔｒｕｅ（正例）」とする評価を受け付ける。また、図１２に示す例においては、クラスタリング処理部２３５は、同一クラスタに属するインシデント「００３」と「００４」のペアについて「Ｆａｌｓｅ（負例）」とする評価を受け付ける。同様に、クラスタリング処理部２３５は、相互に異なるクラスタに属するインシデント「００５」と「００４」のペアについても「Ｆａｌｓｅ（負例）」とする評価を受け付ける。
【００８５】
［処理の流れ］
次に、本実施例における処理について、図１４を用いて説明する。図１４は、実施例２における正解データ生成処理の一例を示すフローチャートである。なお、以下の説明において、図８に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
【００８６】
図１４に示すように、生成装置２０の前処理部２３７は、インシデントをベクトル化してソートし、算出部２３１に出力する（Ｓ１０１）。
【００８７】
次に、算出部２３１は、隣接するインシデントのペア間の類似度を算出し、類似度記憶部１２２に記憶する（Ｓ１１１）。
【００８８】
次に、抽出部２３２は、各ペアを類似度記憶部１２２に記憶された類似度でソートし、類似語の範囲ごとに区分する（Ｓ１１２）。そして、抽出部２３２は、区分された各範囲から所定の数のペアを抽出して、登録部１３３に出力する（Ｓ１１３）。
【００８９】
次に、クラスタリング処理部１３５は、Ｓ１６０におけるクラスタリング処理の結果に対する評価を受け付ける（Ｓ１７０）。クラスタリング処理部１３５は、処理の結果に対する評価に基づいて算出されるクラスタリングの精度が、所定の精度以上であるか否かを判定する（Ｓ１７１）。クラスタリング処理部１３５は、所定の精度未満であると判定した場合（Ｓ１７１：Ｎｏ）、クラスタリング処理の結果に対する評価を、正解データとして正解データ記憶部１２３に追加し（Ｓ１７２）、Ｓ１５０に戻って処理を繰り返す。
【００９０】
クラスタリング処理部１３５は、所定の精度以上であると判定した場合（Ｓ１７１：Ｙｅｓ）、モデル生成部１３６に学習モデルの生成指示を出力する。モデル生成部１３６は、学習モデルを生成し（Ｓ１８０）、処理を終了する。
【００９１】
［効果］
以上説明したように、実施例２における生成プログラムは、類似度に応じて、複数のデータのペアをそれぞれ複数の区分に分類する処理をコンピュータに実行させる。また、生成プログラムは、当該複数の区分のうち、最上位の区分及び最下位の区分を除く中間の区分に含まれるデータの数が所定の条件を満たすように複数のペアを抽出する処理をコンピュータに実行させる。これにより、正例であることが明らかなペアや、負例であることが明らかであるペアを除外することができる。
【００９２】
また、生成プログラムは、複数のデータをベクトル化してソートする処理をさらにコンピュータに実行させてもよい。また、生成プログラムは、ソートの結果、相互に隣接するデータのペアを特定し、当該データのペアのデータ間の類似度を算出し、類似度が所定の範囲内に該当するペアをサンプリングして抽出するする処理をコンピュータに実行させてもよい。これにより、類似度を算出する対象とするインシデントのペアを絞り込むことができる。
【００９３】
さらに、生成プログラムは、クラスタリングした結果に対して入力された評価結果を、第３のデータに追加する処理をさらにコンピュータに実行させてもよい。これにより、クラスタリングの評価結果を、正解データに反映させることができる。
【実施例３】
【００９４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。  
【００９５】
［ニューラルネットワーク］
例えば、学習モデルの生成には、例えばＲＮＮ（再帰型ニューラルネットワーク：Recurrent  Neural  Network）や、ＣＮＮ（Convolutional  Neural  Network）などの任意のニューラルネットワークを用いることができる。また、学習の手法としては、誤差逆伝播法など、公知の様々な手法を採用することができる。なお、ニューラルネットワークは、例えば入力層、中間層（隠れ層）、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。  
【００９６】
なお、実施の形態は日本語のインシデントを対象とする分散学習に限られず、例えば英語や中国語などのその他の言語のインシデントを用いてもよい。
【００９７】
［システム］
また、各実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図４に示す算出部１３１と抽出部１３２とを統合してもよい。また、図１３に示すクラスタリング処理部２３５を、クラスタリング処理を行う処理部と処理結果に対する評価を受け付ける処理部とに分散してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９９】
［ハードウェア構成］
図１５は、ハードウェア構成例を示す図である。図１５に示すように、生成装置１０は、通信インタフェース１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。なお、以下においては実施例１における生成装置１０について説明するが、その他の実施例における生成装置も、同様の構成により実現できる。
【０１００】
通信インタフェース１０ａは、他の装置の通信を制御するネットワークインタフェースカードなどである。ＨＤＤ１０ｂは、プログラムやデータなどを記憶する記憶装置の一例である。  
【０１０１】
メモリ１０ｃの一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。プロセッサ１０ｄの一例としては、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＰＬＤ（Programmable  Logic  Device）等が挙げられる。  
【０１０２】
また、生成装置１０は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。つまり、生成装置１０は、算出部１３１、抽出部１３２、登録部１３３、判定部１３４、クラスタリング処理部１３５及びモデル生成部１３６と同様の機能を実行するプログラムを実行する。この結果、生成装置１０は、算出部１３１、抽出部１３２、登録部１３３、判定部１３４、クラスタリング処理部１３５及びモデル生成部１３６と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、生成装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【０１０３】
１０、２０  生成装置
１２０  記憶部
１２１  インシデント記憶部
１２２  類似度記憶部
１２３  正解データ記憶部
１２４  手法記憶部
１２５  クラスタ記憶部
１２６  学習モデル記憶部
１３０、２３０  制御部
１３１、２３１  算出部
１３２、２３２  抽出部
１３３  登録部
１３４  判定部
１３５、２３５  クラスタリング処理部
１３６  モデル生成部
２３７  前処理部
【図１】
2019082841.tif 000003
【図２】
2019082841.tif 000004
【図３】
2019082841.tif 000005
【図４】
2019082841.tif 000006
【図５】
2019082841.tif 000007
【図６】
2019082841.tif 000008
【図７】
2019082841.tif 000009
【図８】
2019082841.tif 000010
【図９】
2019082841.tif 000011
【図１０】
2019082841.tif 000012
【図１１】
2019082841.tif 000013
【図１２】
2019082841.tif 000014
【図１３】
2019082841.tif 000015
【図１４】
2019082841.tif 000016
【図１５】
2019082841.tif 000017