(57)【要約】【課題】対象のテキストデータを特定する処理負荷を軽減することを目的とする。【解決手段】分類プログラムは、質問文と回答文とをそれぞれが含む複数のテキストデータを取得し、取得した複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、複数の質問文のうち、第１の単語が存在しない質問文に存在し、かつ、第１の単語が存在する質問文に存在しない第２の単語とを特定し、特定した第１の単語が存在する質問文を含むテキストデータと、特定した第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する処理をコンピュータに実行させる。【選択図】図１０
2019185478.tif 000002
【特許請求の範囲】
【請求項１】
質問文と回答文とをそれぞれが含む複数のテキストデータを取得し、
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定し、
特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する、
処理をコンピュータに実行させるための分類プログラム。
【請求項２】
前記複数のテキストデータに含まれる複数の質問文の一致部分を抽出し、
前記複数の質問文の前記一致部分を除いた部分から、前記第１の単語と前記第２の単語とを特定し、
前記一致部分を示すノードを最上位のノードに設定し、該ノードの下位に前記第１の単語を示すノードと前記第２の単語を示すノードとが接続されたツリーを生成する
処理を前記コンピュータに実行させることを特徴とする請求項１記載の分類プログラム。
【請求項３】
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が最も多い前記第１の単語を特定する
処理を前記コンピュータに実行させることを特徴とする請求項１または２記載の分類プログラム。
【請求項４】
前記グループ内に複数のテキストデータが含まれる場合、前記複数のテキストデータが含まれるグループをさらに分類する
処理を前記コンピュータに実行させることを特徴とする請求項１乃至３のうち何れか１項に記載の分類プログラム。
【請求項５】
生成した前記ツリーを表示装置に表示し、
前記ツリーに対する修正指示に応じて、前記ツリーを修正する
処理を前記コンピュータに実行させることを特徴とする請求項２に記載の分類プログラム。
【請求項６】
コンピュータが、
質問文と回答文とをそれぞれが含む複数のテキストデータを取得し、
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定し、
特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する、
処理を実行することを特徴とする分類方法。
【請求項７】
質問文と回答文とをそれぞれが含む複数のテキストデータを取得する取得部と、
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定する特定部と、
特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する分類部と、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類プログラム、分類方法、および情報処理装置に関する。
【背景技術】
【０００２】
予め登録された質問文と回答文を含むＦＡＱデータに基づいて、対話形式（チャット）で質問に対して自動応答する応答システムが利用されている。
【０００３】
関連する技術として、問合せ代表文と、回答代表文との対を、問合せ代表文に関連付く各文書が回答代表文それぞれに関連付いている各文書とマッチングする文書数で評価し、ＦＡＱの作成環境を提供する技術が提案されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−５０８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
テキストデータ（例えば、ＦＡＱ）を用いた応答システムは、質問に対して応答する場合に、予め登録されたテキストデータの中から適切なテキストデータを特定し、質問に対応する回答文を出力する。しかし、テキストデータの数が多いほど適切なテキストデータの特定にかかる時間が長くなり、ユーザを待たせることになる。
【０００６】
１つの側面として、本発明は、対象のテキストデータを特定する処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、分類プログラムは、質問文と回答文とをそれぞれが含む複数のテキストデータを取得し、取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定し、特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する、処理をコンピュータに実行させる。
【発明の効果】
【０００８】
１つの側面によれば、対象のテキストデータを特定する処理負荷を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態のシステム構成の一例を示す図である。
【図２】第１の分類処理の一例を示す図である。
【図３】抽出処理および解析処理の一例を示す図である。
【図４】第１の単語の特定処理（１回目）の一例を示す図である。
【図５】第２の単語の特定処理の一例を示す図である。
【図６】第２の分類処理の一例を示す図である。
【図７】第１の単語の特定処理（２回目）の一例を示す図である。
【図８】ツリー生成処理の一例を示す図である。
【図９】ツリー修正処理の一例を示す図である。
【図１０】実施形態の処理の一例を示すフローチャートである。
【図１１】実施形態のツリー修正処理の一例を示すフローチャートである。
【図１２】応答処理の一例を示す図（その１）である。
【図１３】応答処理の一例を示す図（その２）である。
【図１４】応答処理の一例を示す図（その３）である。
【図１５】応答処理の一例を示す図（その４）である。
【図１６】応答処理の一例を示す図（その５）である。
【図１７】応答処理の一例を示す図（その６）である。
【図１８】応答処理の一例を示す図（その７）である。
【図１９】情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
＜実施形態のシステムの全体構成の一例＞
以下、図面を参照して、実施形態について説明する。図１は、実施形態のシステム構成の一例を示す図である。実施形態のシステムは、情報処理装置１と表示装置２と入力装置３とを含む。情報処理装置１は、コンピュータの一例である。
【００１１】
情報処理装置１は、取得部１１と第１分類部１２と抽出部１３と解析部１４と特定部１５と第２分類部１６と生成部１７と記憶部１８と出力部１９と修正部２０と応答部２１とを含む。
【００１２】
取得部１１は、質問文と回答文とをそれぞれが含む複数のＦＡＱを外部の情報処理装置等から取得する。ＦＡＱは、テキストデータの一例である。
【００１３】
第１分類部１２は、ＦＡＱの質問文の距離に基づいて、ＦＡＱを複数の集合に分類する。質問文の距離には、例えば、レーベンシュタイン距離が適用される。レーベンシュタイン距離は、所定の文字列内の文字を挿入、削除、置換等の手順によって他の文字列に変換した場合に用いられた手順の最小回数である。
【００１４】
例えば、「ｋｉｔｔｅｎ」を「ｓｉｔｔｉｎｇ」に変換する場合、ｋをｓに置換し、ｅをｉに置換し、末尾にｇを挿入するという３回の手順が実行される。すなわち、「ｋｉｔｔｅｎ」と「ｓｉｔｔｉｎｇ」とのレーベンシュタイン距離は、３となる。
【００１５】
第１分類部１２は、ＦＡＱの質問文の類似度等に基づいて、ＦＡＱを分類してもよい。第１分類部１２は、例えば、Ｎ−ｇｒａｍを用いた類似度に基づいて、ＦＡＱを分類してもよい。
【００１６】
抽出部１３は、分類された集合毎に、ＦＡＱ内の質問文の一致部分を抽出する。一致部部分は、すなわち、集合内の全ての質問文に存在する文字列である。
【００１７】
解析部１４は、複数の質問文それぞれの、抽出部１３が抽出した一致部分を除く部分に対して、形態素解析を適用して、単語を抽出する。
【００１８】
特定部１５は、取得した複数のＦＡＱに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす（例えば、最も多い）第１の単語を特定する。特定部１５は、複数の質問文のうち、第１の単語が存在しない質問文に存在し、かつ、第１の単語が存在する質問文に存在しない第２の単語を特定する。
【００１９】
特定部１５は、例えば、複数の質問文の一致部分を除いた部分から、上記第１の単語と第２の単語とを特定する。
【００２０】
第２分類部１６は、特定した第１の単語が存在する質問文を含むＦＡＱと、特定した第２の単語が存在する質問文を含むＦＡＱとを、それぞれ異なるグループに分類する。第２分類部１６は、分類したグループ内に複数のテキストデータが含まれる場合、その複数のテキストデータが含まれるグループをさらに分類する。第２分類部１６は、分類部の一例である。
【００２１】
生成部１７は、抽出部１３が抽出した一致部分を示すノードを最上位のノードに設定し、該ノードの下位に第１の単語を示すノードと第２の単語を示すノードとが接続されたツリーを生成する。また、ツリーの最下層のノードに、質問に対する回答を対応付けて記憶部１８に記憶させる。このツリーは、後述する応答処理において用いられる。
【００２２】
記憶部１８は、取得部１１が取得したＦＡＱと、生成部１７が生成したツリーとを記憶する。出力部１９は、生成部１７が生成したツリーを表示装置２に表示させる。また、出力部１９は、生成部１７が生成したツリーを他の装置に送信してもよい。
【００２３】
修正部２０は、出力部１９がツリーを表示装置２に表示させた場合、ツリーに対する修正指示に応じて、ツリーを修正する。
【００２４】
応答部２１は、生成されたツリーを用いて、受け付けた質問に対応する質問文を特定し、質問文に対応付けられた回答を表示させる。
【００２５】
応答部２１は、例えば、質問を受け付けた場合、その質問に対応するノードを複数の集合内のツリーの最上位のノードから検索する。そして、応答部２１は、その質問に対応するノードの下位のノードを選択枝として表示させる。応答部２１は、選択枝として表示されたノードが最下層のノードでない場合、選択されたノードの下位のノードをさらに選択枝として表示させる。応答部２１は、選択枝として表示されたノードが最下層のノードである場合、選択されたノードに対応づけられた回答を表示させる。
【００２６】
表示装置２は、生成部１７が生成したツリーを表示する。また、表示装置２は、応答処理において、チャットボットによる応答画面を表示し、ユーザから質問を受け付けた場合、回答を特定するための質問、および質問への回答を表示する。なお、表示装置２がタッチパネルディスプレイである場合、表示装置２が入力装置としても機能する。
【００２７】
入力装置３は、ユーザによるツリーの修正指示の入力を受け付ける。また、チャットボットによる応答を行う場合、ユーザから質問の入力、項目の選択を受け付ける。
【００２８】
図２は、第１の分類処理の一例を示す図である。図２に示すように、第１分類部１２は、取得部１１が取得した複数のＦＡＱを複数の集合に分類する。第１分類部１２は、例えば、複数の質問文のレーベンシュタイン距離が所定値以下である場合、複数の質問文を含むＦＡＱを同じ集合に分類する。
【００２９】
図２に示す処理では、ＦＡＱ１〜４が同じ集合（集合１）に分類され、ＦＡＱが集合１とは異なる集合（集合２）に分類されている。なお、回答文を図示していないが、回答文は、質問文に対応付けられて記憶されているとする。以下、集合１に対する処理を説明するが他の集合に関しても同様の処理が行われる。
【００３０】
図３は、抽出処理および解析処理の一例を示す図である。図３に示すように、集合１内の各質問文には、「インターネットに繋がらない」という一致部分が存在する。よって、抽出部１３は、「インターネットに繋がらない」という一致部分を抽出する。
【００３１】
そして、解析部１４は、複数の質問文それぞれの、抽出部１３が抽出した一致部分を除く部分に対して、形態素解析を適用して、単語を抽出する。図３に示す例では、解析部１４は、ＦＡＱ１の質問文から、「有線」、「機種」、「ｘｙｚ−０３」という単語を抽出する。また、解析部１４は、ＦＡＱ２の質問文から、「無線」、「機種」、「ｘｙｚ−０１」という単語を抽出する。また、解析部１４は、ＦＡＱ３の質問文から、「ｘｙｚ−０１」、「有線」という単語を抽出する。また、解析部１４は、ＦＡＱ４の質問文から、「ｘｙｚ−０２」、「有線」という単語を抽出する。
【００３２】
図４は、第１の単語の特定処理（１回目）の一例を示す図である。特定部１５は、複数の質問文の一致部分を除いた部分から、第１の単語を特定する。図４に示すように、複数の質問文の一致部分である「インターネットに繋がらない」を各質問文から除いた部分には、「有線」、「無線」、「機種」、「ｘｙｚ−０１」、「ｘｙｚ−０２」、「ｘｙｚ−０３」という単語が含まれる。
【００３３】
特定部１５は、複数の質問文の一致部分を除いた部分に存在する単語のうち、存在する質問文の数が最も多い単語（頻出語）を第１の単語に特定する。図４に示す例では、「有線」という単語は、ＦＡＱ１、ＦＡＱ３、及びＦＡＱ４に含まれ、存在する質問文の数が最も多いため、特定部１５は、「有線」を第１の単語に特定する。
【００３４】
図５は、第２の単語の特定処理の一例を示す図である。特定部１５は、複数の質問文の一致部分を除いた部分から、第１の単語が存在しない質問文に出現し、かつ、第１の単語が存在する質問文に存在しない第２の単語を特定する。
【００３５】
図５に示す例において、複数の質問文のうち、第１の単語が存在しない質問文はＦＡＱ２の質問文であり、存在する単語は「無線」、「機種」、「ｘｙｚ−０３」である。また、「無線」、「機種」、「ｘｙｚ−０３」のうち第１の単語が存在する質問文（ＦＡＱ１、ＦＡＱ３、及びＦＡＱ４）に存在しない単語は、「無線」である。よって、特定部１５は、「無線」を第２の単語に特定する。なお、「機種」及び「ｘｙｚ−０３」は、第１の単語が存在するＦＡＱ１の質問文に存在するため、第２の単語に特定されない。
【００３６】
図６は、第２の分類処理の一例を示す図である。第２分類部１６は、特定された第１の単語が存在する質問文を含むＦＡＱと、特定された第２の単語が存在する質問文を含むＦＡＱとを、それぞれ異なるグループに分類する。図６に示す例では、第２分類部１６は、「有線」が存在する質問文を含むＦＡＱ（ＦＡＱ１、ＦＡＱ３、及びＦＡＱ４）と、「無線」が存在する質問文を含むＦＡＱ（ＦＡＱ２）とをそれぞれ異なるグループに分類する。
【００３７】
図６に示す例では、第１の単語「有線」を含むグループに複数のＦＡＱが含まれているため、そのグループをさらに分類できる可能性がある。よって、情報処理装置１は、第１の単語「有線」を含むグループに対して、特定部１５による特定処理、第２の分類処理およびツリー生成処理を再度実行する。なお、第２の単語「無線」を含むグループに含まれているＦＡＱは、一つであるため、情報処理装置１は、第２の単語「無線」を含むグループには再度の特定処理、第２の分類処理およびツリー生成処理を実行しない。
【００３８】
図７は、第１の単語の特定処理（２回目）の一例を示す図である。特定部１５は、グループ内の複数の質問文のうちツリーの上位の文字列を除いた部分から、第１の単語を特定する。図７に示す例では、特定部１５は、グループ内の複数の質問文のうち、「インターネットに繋がらない」及び「有線」を除いた部分から第１の単語を特定する。
【００３９】
図７に示すように、グループ内の複数の質問文のうちツリーの上位の文字列を除いた部分には、「機種」、「ｘｙｚ−０１」、「ｘｙｚ−０２」、「ｘｙｚ−０３」という単語がそれぞれ一つずつ含まれる。この例のように、グループ内の複数の質問文のうちツリーの上位の文字列を除いた部分の単語の数が全て１である場合、特定部１５は、第１の単語を特定しない。
【００４０】
図８は、ツリー生成処理の一例を示す図である。また、生成部１７は、抽出部１３が抽出した一致部分の下位に第１の単語と第２の単語とが接続されたツリーを生成する。図８に示す例では、生成部１７は、「インターネットに繋がらない」という文字列の下位に「有線」および「無線」という文字列が接続されたツリーを生成する。
【００４１】
また、生成部１７は、図７に示す例のように第１の単語が新たに特定されなかった場合、第１の単語「有線」を含むグループ内の各単語を、単語が含まれる質問文毎に異なるノードに設定する。図８に示す例では、生成部１７は、ＦＡＱ１の質問文に含まれる「機種、ｘｙｚ−０３」と、ＦＡＱ３の質問文に含まれる「ｘｙｚ−０１」と、ＦＡＱ４の質問文に含まれる「ｘｙｚ−０２」とをそれぞれ「有線」の下位のノードに設定する。
【００４２】
生成部１７は、最下層のノードであるノードに、質問に対する回答を対応付けて記憶させる。図１８に示す例では、「機種、ｘｙｚ−０３」、「ｘｙｚ−０１」、「ｘｙｚ−０２」、「無線」が最下層のノードである。
【００４３】
以上の処理により、生成部１７は、存在する質問文の数が多い単語ほど上位のノードに設定されるように、ＦＡＱ検索用のツリーを生成する。
【００４４】
図９は、ツリー修正処理の一例を示す図である。出力部１９は、例えば、生成部１７が生成したツリーを表示装置２に表示させる。そして、ユーザが入力装置３を操作することにより、修正指示を入力したとする。図９に示す例では、ユーザが入力装置３を操作して、「機種、ｘｙｚ−０３」というノードに対して「機種」を削除する指示を情報処理装置１に送ったとする。
【００４５】
修正部２０は、受け付けた指示に応じてツリーを修正する。図９に示す例では、「機種、ｘｙｚ−０３」というノードのうち、「機種」を削除する。
【００４６】
以上のように、情報処理装置１は、ツリーのうち、不自然な部分が存在する場合、ユーザの指示に応じて、ツリーを修正することができる。
【００４７】
図１０は、実施形態の処理の一例を示すフローチャートである。取得部１１は、質問文と回答文とをそれぞれが含む複数のＦＡＱを外部の情報処理装置等から取得する（ステップＳ１０１）。第１分類部１２は、各ＦＡＱの質問文の距離に基づいて、ＦＡＱを複数の集合に分類する（ステップＳ１０２）。
【００４８】
情報処理装置１は、分類された集合毎に繰り返し処理を開始する（ステップＳ１０３）。抽出部１３は、処理対象の集合内のＦＡＱ内の質問文の一致部分を抽出する（ステップＳ１０４）。解析部１４は、複数の質問文それぞれの、抽出部１３が抽出した一致部分を除く部分に対して、形態素解析を適用して、単語を抽出する（ステップＳ１０５）。
【００４９】
特定部１５は、取得した複数のＦＡＱに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす（例えば、最も多い）第１の単語を特定する（ステップＳ１０６）。特定部１５は、例えば、複数の質問文の一致部分を除いた部分から、第１の単語を特定する。
【００５０】
なお、複数の質問文に存在する単語が存在する質問文の数が全て１であった場合、特定部１５は、第１の単語を特定しない。その場合、情報処理装置１は、ステップＳ１０７およびＳ１０８を実行せずスキップする。
【００５１】
そして、特定部１５は、複数の質問文のうち、第１の単語が存在しない質問文に存在し、かつ、第１の単語が存在する質問文に存在しない第２の単語を特定する（ステップＳ１０７）。特定部１５は、例えば、複数の質問文の一致部分を除いた部分から、第２の単語を特定する。
【００５２】
第２分類部１６は、特定した第１の単語が存在する質問文を含むＦＡＱと、特定した第２の単語が存在する質問文を含むＦＡＱとを、それぞれ異なるグループに分類する（ステップＳ１０８）。
【００５３】
情報処理装置１は、分類された各グループが複数のＦＡＱを含むか判定する（ステップＳ１０９）。少なくとも一つのグループが複数のＦＡＱを含む場合（ステップＳ１０９でＹＥＳ）、情報処理装置１は、そのグループに対してステップＳ１０６〜Ｓ１０８の処理を再度実行する。なお、グループが複数のＦＡＱを含んでいても、ステップＳ１０６で第１の単語を特定できなかった場合、情報処理装置１は、そのグループに関してはステップＳ１０６〜Ｓ１０８の処理を再度実行しない。
【００５４】
全てのグループが複数のＦＡＱを含まない場合（ステップＳ１０９でＮＯ）、処理はステップＳ１１０に移行する。
【００５５】
生成部１７は、処理対象のグループについて、ＦＡＱの検索に用いられるツリーを生成する（ステップＳ１１０）。また、生成部１７は、最下層のノードであるノードに、質問に対する回答を対応付けて記憶させる。情報処理装置１は、全ての集合に対して、ステップＳ１０４〜Ｓ１１０の処理を実行した場合、繰り返し処理を終了する（ステップＳ１１１）。
【００５６】
以上のように、情報処理装置１は、ＦＡＱを分類し、ツリーを生成することにより、応答の際に対象のＦＡＱを特定する処理負荷を軽減することができる。特定部１５は、存在する質問文の数が基準を満たす（例えば、最も多い）第１の単語を特定するため、数が多い単語が上位のノードに設定される。そのため、情報処理装置１は、ツリーの分岐の数を少なくし、応答の際の検索を容易にすることができる。
【００５７】
図１１は、実施形態のツリー修正処理の一例を示すフローチャートである。なお、以下に示すツリー修正処理は、情報処理装置１が実行する処理であるが、情報処理装置１が他の情報処理装置にツリーを送信し、他の情報処理装置が以下に示すツリー修正処理を実行してもよい。
【００５８】
出力部１９は、ユーザからツリー表示指示を受け付けたか判定する（ステップＳ２０１）。ツリー表示指示を受け付けたと判定しない場合（ステップＳ２０１でＮＯ）、処理は、次に進まない。出力部１９は、ツリー表示指示を受け付けたと判定した場合、表示装置２にツリーを表示する（ステップＳ２０２）。
【００５９】
修正部２０は、ユーザから修正指示を受け付けたか判定する（ステップＳ２０３）。修正指示を受け付けた場合（ステップＳ２０３でＹＥＳ）、修正部２０は、指示に従いツリーを修正する（ステップＳ２０４）。ステップＳ２０４の処理後、またはステップＳ２０３でＮＯの場合、出力部１９は、表示終了指示を受け付けたか判定する（ステップＳ２０５）。
【００６０】
表示終了指示を受け付けていない場合（ステップＳ２０５でＮＯ）、処理は、ステップＳ２０３に戻る。表示終了指示を受け付けた場合（ステップＳ２０５でＹＥＳ）、出力部１９は、表示装置２へのツリーの表示を終了する（ステップＳ２０６）。
【００６１】
以上のように、情報処理装置１は、ツリーを表示することでユーザにツリーの確認を促し、修正指示に応じてツリーを修正することができる。
【００６２】
次に、ＦＡＱ検索用のツリーを用いた応答処理の例について説明する。図１２〜１８は、応答処理の一例を示す図である。図１２〜１８に示す例では、チャットボットにより、回答者を示す「ＢＯＴ」と質問者（ユーザ）を示す「ＵＳＥＲ」とが会話する形式で、質問に対する回答が行われる。チャットボットは、人口知能を利用した自動会話プログラムである。
【００６３】
図１２〜１８に示す応答は、情報処理装置１、及び表示装置２により行われるが、他の手段が実行してもよい。例えば、情報処理装置１が、生成したツリーを他の情報処理装置に送信し、他の情報処理装置と、その情報処理装置に接続された表示装置が、図１２〜１８に示す応答を行ってもよい。なお、図１２〜１８に示す例では、表示装置２がタッチパネルディスプレイであり、ユーザによるタッチ操作を受け付けるが、ユーザによる入力は、入力装置３から行われてもよい。
【００６４】
応答部２１は、チャットボットを開始する操作をユーザから受け付けた場合、所定の初期メッセージを表示させる。図１２に示す例では、応答部２１は、「こんにちは、何かお困りですか？」という所定の初期メッセージを表示させる。そして、ユーザが「インターネットに繋がらない」というメッセージを入力したとする。
【００６５】
図１３に示すように、応答部２１は、生成部１７が生成した複数の集合内のツリーの最上位階層から、入力された質問に対応するノードを検索する。図１３に示す例では、「インターネットに繋がらない」というノードが入力されたメッセージと同一である。応答部２１は、入力されたメッセージと同一の文字列を含むノードを検索し、見つからない場合、入力されたメッセージと類似の文字列を含むノードを検索してもよい。
【００６６】
例えば、応答部２１は、入力されたメッセージと同一または類似する文字列を含むノードを検索する際に、Back of word（ＢｏＷ）、Term Frequency-Inverse Document Frequency（ＴＦ−ＩＤＦ）、ｗｏｒｄ２ｖｅｃ等の技術を適用してもよい。
【００６７】
ツリーのうち、最下位のノード以外のノードには、下位のノードを特定するための質問文が付与されているとする。「インターネットに繋がらない」というノードの下位のノードを特定するための質問文として、「ご使用のＬＡＮは何ですか？」という質問文が予め登録されているとする。そして、図１４に示すように、応答部２１は、「ご使用のＬＡＮは何ですか？」という質問文を表示させる。さらに、応答部２１は、「インターネットに繋がらない」というノードの下位のノードである「有線」および「無線」という選択肢を表示させる。そして、ユーザが「有線」を選択したとする。なお、図１４において、ユーザが「無線」を選択した場合、「無線」は最下層のノードであるため、応答部２１は、「無線」に対応付けられたＦＡＱ２の回答を表示させる。
【００６８】
図１５に示すように、応答部２１は、ツリーにおいて、処理対象のノードを「有線」に移行する。ノード「有線」は最下層のノードではなく、ノード「有線」にはさらに下位のノードが存在する。そのため、応答部２１は、「有線」というノードの下位のノードを特定するための質問文として、図１６に示すように、予め登録された「ご使用の機種は何ですか？」という質問文を表示させる。さらに、応答部２１は、「有線」の下位のノードである「ｘｙｚ−０１」、「ｘｙｚ−０２」及び「ｘｙｚ−０３」という選択肢を表示させる。そして、ユーザが「ｘｙｚ−０１」を選択したとする。
【００６９】
そして、図１７に示すように、応答部２１は、ツリーにおいて、処理対象のノードを「ｘｙｚ−０１」に移行する。ツリーにおいて、「ｘｙｚ−０１」は最下層のノードである。よって、応答部２１は、図１８に示すように、所定の文言と最下層のノードに対応付けられたＦＡＱ（ＦＡＱ３）の回答文を表示させる。応答部２１は、例えば、所定の文言として「以下のＦＡＱがヒットしました」というメッセージを表示させる。
【００７０】
以上のように、応答部２１は、ユーザが入力した質問に対応する質問文をツリーから検索し、特定した質問文に対応する回答を表示させる。ツリーを用いて質問文を検索することにより、全ＦＡＱの質問文を逐次的に検索するよりも処理負荷を軽減し、回答を早く表示させることができる。
【００７１】
次に、情報処理装置１のハードウェア構成の一例を説明する。図１９は、情報処理装置１のハードウェア構成の一例を示す図である。図１９の例に示すように、情報処理装置１において、バス１００に、プロセッサ１１１とメモリ１１２と補助記憶装置１１３と通信インタフェース１１４と媒体接続部１１５と入力装置１１６と出力装置１１７とが接続される。
【００７２】
プロセッサ１１１は、メモリ１１２に展開されたプログラムを実行する。実行されるプログラムには、実施形態における処理を行う分類プログラムが適用されてもよい。
【００７３】
メモリ１１２は、例えば、Random Access Memory(RAM)である。補助記憶装置１１３は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。補助記憶装置１１３に実施形態の処理を行う分類プログラムが記憶されていてもよい。
【００７４】
通信インタフェース１１４は、Local Area Network（LAN）、Wide Area Network（WAN）等の通信ネットワークに接続され、通信に伴うデータ変換等を行う。
【００７５】
媒体接続部１１５は、可搬型記録媒体１１８が接続可能なインタフェースである。可搬型記録媒体１１８には、光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等が適用されてもよい。可搬型記録媒体１１８に実施形態の処理を行う分類プログラムが記録されていてもよい。
【００７６】
入力装置１１６は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示及び情報等の入力を受け付ける。図１に示す入力装置３には、図１９に示す入力装置１１６が適用されてもよい。
【００７７】
出力装置１１７は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせ又は指示、及び処理結果等を出力する。図１に示す表示装置２には、図１９に示す出力装置１１７が適用されてもよい。
【００７８】
図１に示す記憶部１８は、メモリ１１２、補助記憶装置１１３または可搬型記録媒体１１８等により実現されてもよい。図１に示す取得部１１、第１分類部１２、抽出部１３、解析部１４、特定部１５、第２分類部１６、生成部１７、出力部１９、修正部２０及び応答部２１は、メモリ１１２に展開された分類プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【００７９】
メモリ１１２、補助記憶装置１１３および可搬型記録媒体１１８は、コンピュータが読み取り可能であって非一時的な有形の記憶媒体であり、信号搬送波のような一時的な媒体ではない。
【００８０】
以上に記載した実施形態に関し、更に以下の付記を開示する。
（付記１）
質問文と回答文とをそれぞれが含む複数のテキストデータを取得し、
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定し、
特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する、
処理をコンピュータに実行させるための分類プログラム。
（付記２）
前記複数のテキストデータに含まれる複数の質問文の一致部分を抽出し、
前記複数の質問文の前記一致部分を除いた部分から、前記第１の単語と前記第２の単語とを特定し、
前記一致部分を示すノードを最上位のノードに設定し、該ノードの下位に前記第１の単語を示すノードと前記第２の単語を示すノードとが接続されたツリーを生成する
処理を前記コンピュータに実行させることを特徴とする付記１記載の分類プログラム。
（付記３）
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が最も多い前記第１の単語を特定する
処理を前記コンピュータに実行させることを特徴とする付記１または２記載の分類プログラム。
（付記４）
前記グループ内に複数のテキストデータが含まれる場合、前記複数のテキストデータが含まれるグループをさらに分類する
処理を前記コンピュータに実行させることを特徴とする付記１乃至３のうち何れか１項に記載の分類プログラム。
（付記５）
生成した前記ツリーを表示装置に表示し、
前記ツリーに対する修正指示に応じて、前記ツリーを修正する
処理を前記コンピュータに実行させることを特徴とする付記２に記載の分類プログラム。
（付記６）
質問を受け付けた場合、前記質問に対応するノードを前記ツリーの最上位のノードから検索し、
前記質問に対応するノードの下位のノードを選択枝として表示させ、
選択枝として表示されたノードが最下層のノードでない場合、選択されたノードの下位のノードをさらに選択枝として表示させ、
選択枝として表示されたノードが最下層のノードである場合、選択されたノードに対応づけられた回答を表示させる
処理を前記コンピュータに実行させることを特徴とする付記２に記載の分類プログラム。
（付記７）
コンピュータが、
質問文と回答文とをそれぞれが含む複数のテキストデータを取得し、
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定し、
特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する、
処理を実行することを特徴とする分類方法。
（付記８）
質問文と回答文とをそれぞれが含む複数のテキストデータを取得する取得部と、
取得した前記複数のテキストデータに含まれる複数の質問文に存在する単語のうち、存在する質問文の数が基準を満たす第１の単語と、前記複数の質問文のうち、前記第１の単語が存在しない質問文に存在し、かつ、前記第１の単語が存在する質問文に存在しない第２の単語とを特定する特定部と、
特定した前記第１の単語が存在する質問文を含むテキストデータと、特定した前記第２の単語が存在する質問文を含むテキストデータとを、それぞれ異なるグループに分類する分類部と、
を備えることを特徴とする分類装置。
【００８１】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で様々な変更、追加、省略が適用可能である。
【符号の説明】
【００８２】
１    情報処理装置
２    表示装置
３    入力装置
１１    取得部
１２    第１分類部
１３    抽出部
１４    解析部
１５    特定部
１６    第２分類部
１７    生成部
１８    記憶部
１９    出力部
２０    修正部
２１    応答部
１００    バス
１１１    プロセッサ
１１２    メモリ
１１３    補助記憶装置
１１４    通信インタフェース
１１５    媒体接続部
１１６    入力装置
１１７    出力装置
１１８    可搬型記録媒体
【図１】
2019185478.tif 000003
【図２】
2019185478.tif 000004
【図３】
2019185478.tif 000005
【図４】
2019185478.tif 000006
【図５】
2019185478.tif 000007
【図６】
2019185478.tif 000008
【図７】
2019185478.tif 000009
【図８】
2019185478.tif 000010
【図９】
2019185478.tif 000011
【図１０】
2019185478.tif 000012
【図１１】
2019185478.tif 000013
【図１２】
2019185478.tif 000014
【図１３】
2019185478.tif 000015
【図１４】
2019185478.tif 000016
【図１５】
2019185478.tif 000017
【図１６】
2019185478.tif 000018
【図１７】
2019185478.tif 000019
【図１８】
2019185478.tif 000020
【図１９】
2019185478.tif 000021