本発明の実施形態に係るFAQシステムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
<システム構成>
図1は、本実施の形態に係るFAQシステムの構成を示す模式図である。本実施の形態に係るFAQシステムは、ユーザからの質問文の入力に対して、サーバ装置1が入力質問文に類似する登録済の質問文とこの質問文に対する回答文とを出力するシステムである。本実施の形態に係るFAQシステムでは、ユーザから入力されることが想定される質問文と、この質問文に対応する回答文とが対応付けて記憶されたFAQデータベース(図中ではFAQDBと略示する)2をサーバ装置1が備えている。
サーバ装置1は、インターネット又は社内LAN(Local Area Network)等のネットワークを介して、ユーザが利用するユーザ端末装置4との間で通信を行うことができる。ユーザ端末装置4は、例えばパーソナルコンピュータ、スマートフォン又はタブレット型端末装置等の種々の情報処理装置が採用され得る。ユーザ端末装置4は、ユーザから質問文の入力を受け付けて、受け付けた入力質問文をサーバ装置1へ送信する。サーバ装置1は、ユーザ端末装置4からの入力質問文を受信し、受信した入力質問文に一致する又は類似する一又は複数の登録済質問文をFAQデータベース2から検索する。サーバ装置1は、検索に該当した登録済質問文と、当該登録済質問文に対応する回答文と、を取得してユーザ端末装置4へ送信する。ユーザ端末装置4は、サーバ装置1からの登録済質問文及び回答文を受信して、受信した登録済質問文及び回答文を、ユーザが入力した質問文に類似する登録済質問文及びその回答文として表示する。
サーバ装置1は、インターネット又は社内LAN等のネットワークを介して、本システムの管理者が利用する管理者端末装置3との間で通信を行うことができる。管理者端末装置3は、例えばパーソナルコンピュータ、スマートフォン又はタブレット型端末装置等の種々の情報処理装置が採用され得る。本実施の形態において管理者端末装置3は、管理者がFAQデータベース2に質問文及び回答文を登録する作業、並びに、FAQデータベース2に登録された質問文及び回答文を修正、分割又は削除等する編集作業に用いられる。管理者端末装置3は、新たに登録する質問文及び回答文の入力を受け付け、受け付けた質問文及び回答文をサーバ装置1へ送信する。サーバ装置1は、管理者端末装置3から受信した質問文及び回答文をFAQデータベース2に登録する。また管理者端末装置3は、FAQデータベース2に登録された登録済質問文をサーバ装置1から取得し、登録済質問文に対する編集操作を受け付けて、編集内容をサーバ装置1へ送信する。サーバ装置1は、管理者端末装置3から受信した編集内容に応じて、FAQデータベース2に登録された登録済質問文に対する修正、分割又は削除等の処理を行う。
また本実施の形態に係るFAQシステムは、FAQデータベース2に登録された登録済質問文について、サーバ装置1がその適否を判定し、修正又は分割等を行うことが推奨される登録済質問文を管理者に通知する機能を備えている。なお本実施の形態において、サーバ装置1が判定する登録済質問文の適否は、登録済質問文の文章又は内容等に誤りが含まれることを判定するのではない。本実施の形態に係るFAQシステムでは、ユーザが入力した入力質問文に対して類似度が最大となる登録済質問文を含む登録済質問文が検索結果として提供される。1つの登録済質問文は複数の入力質問文に対して最大の類似度を有して検索結果として提供される可能性がある。このような登録済質問文と複数の入力質問文とのそれぞれの(最大)類似度にばらつきが大きい場合、異なる内容の複数の入力質問文に対してこの登録済質問文が最大類似となる可能性がある。異なる内容の入力質問文には、それぞれ異なる登録済質問文が検索結果として提供されるのが好ましい。そこで、本実施の形態に係るFAQシステムでは、このような入力質問文との最大類似度にばらつきが大きい登録済質問文を不適と判定する。サーバ装置1は、不適と判定した登録済質問文を通知し、この登録済質問文について、入力質問文に対する最大類似度のバラツキが小さくなるように、登録済質問文を修正するか、又は、新たな質問文を登録することを管理者に対して提案する。本実施の形態においては、入力質問文に対する最大類似度のばらつきが大きい登録済質問文に対して、ばらつきが小さくなるようにFAQデータベース2の登録済質問文に対する修正又は追加登録等を行うことを、登録済質問文の分割と呼ぶ。
図2は、本実施の形態に係るサーバ装置1の構成を示すブロック図である。本実施の形態に係るサーバ装置1は、処理部11、記憶部(ストレージ)12及び通信部(トランシーバ)13等を備えて構成されている。なお本実施の形態においては、1つのサーバ装置1にて処理が行われるものとして説明を行うが、複数のサーバ装置1が分散して処理を行ってもよい。
処理部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)又はGPU(Graphics Processing Unit)等の演算処理装置、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等を用いて構成されている。処理部11は、記憶部12に記憶されたサーバプログラム12aを読み出して実行することにより、FAQデータベース2に質問文及び回答文を登録する処理、ユーザの入力質問文に対して類似する登録済質問文を検索する処理、及び、登録済質問文の適否を判定する処理等の種々の処理を行う。
記憶部12は、例えばハードディスク等の大容量の記憶装置を用いて構成されている。記憶部12は、処理部11が実行する各種のプログラム、及び、処理部11の処理に必要な各種のデータを記憶する。本実施の形態において記憶部12は、処理部11が実行するサーバプログラム12aと、予め学習がなされた汎用言語表現モデル100とを記憶している。また記憶部12には、ユーザから入力を受け付けた質問文の履歴を記憶する入力質問文記憶部12bと、質問文及び回答文を対応付けて記憶する上記のFAQデータベース2とが設けられている。
本実施の形態においてサーバプログラム12aは、メモリカード又は光ディスク等の記録媒体99に記録された態様で提供され、サーバ装置1は記録媒体99からサーバプログラム12aを読み出して記憶部12に記憶する。ただし、サーバプログラム12aは、例えばサーバ装置1の製造段階において記憶部12に書き込まれてもよい。また例えばサーバプログラム12aは、遠隔の他のサーバ装置等が配信するものをサーバ装置1が通信にて取得してもよい。例えばサーバプログラム12aは、記録媒体99に記録されたものを書込装置が読み出してサーバ装置1の記憶部12に書き込んでもよい。サーバプログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
本実施の形態に係るサーバ装置1が備える汎用言語表現モデル100は、日本語又は英語等の言語による文章の入力を受け付け、入力された文章に対応するベクトル情報を出力する機械学習モデルである。本実施の形態において汎用言語表現モデル100は、例えばUniversal Sentence Encoder、又は、BERT(Bidirectional Encoder Representations from Transformers)等のモデルが採用され得る。Universal Sentence Encoderは、Attention及びTransformer等のモデルを複数の言語の学習データで学習させて得られるエンコーダであり、例えば英語及び日本語のような異なる言語であっても、同じ内容の入力文章であれば近い値のベクトル情報を出力する。なお、Universal Sentence Encoder及びBERT等の汎用言語表現モデル100は、既存の技術であるため、詳細な説明を省略する。また汎用言語表現モデル100は、Universal Sentence Encoder又はBERT等に限らず、例えばRNN(Recurrent Neural Network)及びLSTM(Long Short-Term Memory)によるエンコーダ等を採用してもよい。
サーバ装置1の記憶部12に記憶された汎用言語表現モデル100は、予め学習処理がなされた学習済モデルである。学習処理は、予め与えられた多数の学習用データを用いて、ニューラルネットワークを構成する各ニューロンの係数及び閾値等に適切な値を設定する処理である。本実施の形態に係る汎用言語表現モデル100は、予め作成された大量の質問文等のデータが入力されることによって学習がなされ、いわゆる教師なし学習の手法により学習がなされる。ただし汎用言語表現モデル100の学習処理は、教師データを用いる教師あり学習、又は、強化学習等の手法により行われてもよい。学習処理に用いられる質問文等のデータの作成は、本システムの設計者等が行ってもよく、サーバ装置1等の装置が行ってもよい。少なくとも最初の学習処理においては予め作成されたデータが用いられる。例えば質問文等のデータは、従来のFAQシステムにてユーザが入力した質問文の情報、又は、本システムもしくは類似のシステムにおいてなされた実証実験等により得られた情報等に基づいて作成され得る。2回目以降の学習処理(再学習処理)においては、サーバ装置1が収集して蓄積した情報に基づいて学習用のデータが生成されてもよい。
図3は、FAQデータベース2の一構成例を示す模式図である。本実施の形態に係るFAQデータベース2は、「FAQID」、「登録済質問文ID」、「質問文」、「質問文のベクトル情報」、「回答文ID」及び「回答文」等の情報が対応付けられたデータベースである。FAQデータベース2にこれらの情報が登録されている質問文が、本実施の形態において登録済質問文に相当する。「FAQID」は、登録済質問文及び回答文の組に対応して付される識別情報である。「FAQID」は、文字及び数字等の組み合わせで表され、図示の例では"FAQ001"、"FAQ002"等のFAQIDが登録されている。
「登録済質問文ID」は、管理者が登録した質問文(登録済質問文)に対して付される識別情報である。「質問文ID」は、文字及び数字等の組み合わせで表され、図示の例では”Q1”、”Q2”等の質問文IDが登録されている。「質問文」は、管理者が登録した質問の文章であり、ユーザが入力することが予想される質問の文章である。「質問文」は、日本語又は英語等の文章が登録される。「質問文のベクトル情報」は、登録された「質問文」の文章を汎用言語表現モデル100にてベクトル化した情報である。本図において「質問文のベクトル情報」は、”ベクトルV1”、”ベクトルV2”等のように略示されているが、実際には例えば512次元のベクトル情報である。
「回答文ID」は、管理者が登録した回答文に対して付される識別情報である。「回答文ID」は、文字及び数字等の組み合わせで表され、図示の例では”A1”、”A2”等の回答文IDが登録されている。「回答文」は、管理者が登録した回答の文章であり、対応する登録済質問文の回答である。「回答文」は、日本語又は英語等の文章が登録される。
なお本実施の形態に係るFAQシステムにおいては、1つの「FAQID」及び「回答文」に対応付けて複数の「質問文」が登録可能である。図示の例では、「FAQID」="FAQ003"及び「回答文ID」="A3"の組み合わせに対応して、「質問文ID」が"Q3−1"、"Q3−2"及び"Q3−3"の3つの質問文が登録されている。なお本実施の形態においては、1つの「FAQID」に対応して「回答文」は1つが登録されるものとするが、これに限るものではなく、1つの「FAQID」に対応して複数の「回答文」が登録可能な構成であってもよい。
図4は、入力質問文記憶部12bの一構成例を示す模式図である。本実施の形態に係る入力質問文記憶部12bは、「日時情報」、「入力質問文ID」、「入力質問文」及び「入力質問文のベクトル情報」等の情報を対応付けて記憶する。「日時情報」は、ユーザ端末装置4にて質問文の入力を受け付けた日時、又は、ユーザ端末装置4から送信される入力質問文をサーバ装置1が受信した日時の情報である。「入力質問文ID」は、ユーザが入力した質問文(入力質問文)に対して付される識別情報である。「質問文ID」は、文字及び数字等の組み合わせで表され、図示の例では”q1”、”q2”等の質問文IDが登録されている。「入力質問文」は、ユーザが入力した質問の文章である。「入力質問文」は、日本語又は英語等の文章が記憶される。「入力質問文のベクトル情報」は、「入力質問文」の文章を汎用言語表現モデル100にてベクトル化した情報である。本図において「入力質問文のベクトル情報」は、”ベクトルv1”、”ベクトルv2”等のように略示されているが、実際には例えば512次元のベクトル情報である。
通信部13は、社内LAN、無線LAN及びインターネット等を含むネットワークNを介して、種々の装置との間で通信を行う。本実施の形態において通信部13は、ネットワークNを介して、管理者端末装置3及びユーザ端末装置4との間で通信を行う。通信部13は、処理部11から与えられたデータを他の装置へ送信すると共に、他の装置から受信したデータを処理部11へ与える。
なお記憶部12は、サーバ装置1に接続された外部記憶装置であってよい。またサーバ装置1は、複数のコンピュータを含んで構成されるマルチコンピュータであってよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。またサーバ装置1は、上記の構成に限定されず、例えば可搬型の記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、又は、画像を表示する表示部等を含んでもよい。
また本実施の形態に係るサーバ装置1の処理部11には、記憶部12に記憶されたサーバプログラム12aを処理部11が読み出して実行することにより、ベクトル変換部11a、類似度算出部11b、評価値算出部11c、適否判定部11d、特徴部分抽出部11e、表示処理部11f及び学習処理部11g等がソフトウェア的な機能部として実現される。なおこれらの機能部は、質問文及び回答文の入出力等の処理に関する機能部であり、これ以外の機能部については図示及び説明を省略する。
ベクトル変換部11aは、汎用言語表現モデル100を用いることにより、FAQデータベース2に登録する質問文及びユーザが入力した入力質問文等の質問文をベクトル情報に変換する処理を行う。ベクトル変換部11aは、管理者端末装置3にて管理者から入力を受け付けたFAQデータベース2へ登録する質問文を汎用言語表現モデル100へ入力し、これに応じて汎用言語表現モデル100が出力するベクトル情報を取得することによって、登録すべき質問文をベクトル情報に変換する。管理者が入力した質問文及びそのベクトル情報は、FAQデータベース2に登録されて、登録済質問文及びそのベクトル情報となる。またベクトル変換部11aは、ユーザ端末装置4にてユーザから入力を受け付けた入力質問文を汎用言語表現モデル100へ入力し、これに応じて汎用言語表現モデル100が出力するベクトル情報を取得することによって、入力質問文をベクトル情報に変換する。ユーザが入力した入力質問文及びそのベクトル情報は、入力質問文記憶部12bに記憶される。
類似度算出部11bは、ベクトル変換部11aが変換したベクトル情報を用いることによって、2つの質問文の類似度を算出する処理を行う。類似度算出部11bは、2つの登録済質問文の類似度を算出してもよく、2つの入力質問文の類似度を算出してもよく、登録済質問文及び入力質問文の類似度を算出してもよい。類似度算出部11bは、2つの質問文に対応する2つのベクトル情報に対して所定のベクトル演算を行うことによって、2つの質問文の類似度を算出する。所定のベクトル演算は、例えば2つのベクトル情報の距離を算出する演算、又は、2つのベクトル情報の内積を算出する演算等が採用され得る。なお本実施の形態においてサーバ装置1は、類似度を0から1までの小数値として出力し、この値が大きいほど2つの質問文が類似しているものとする。即ち、類似度=1は、2つの質問文が完全に一致することを示す。なお類似度の値は小さいほど2つの質問文が類似しているものであってもよく、この場合には本明細書において類似度に関する大小関係の記述を反転すればよい。
評価値算出部11cは、FAQデータベース2に登録されている登録済質問文についての評価値を算出する処理を行う。本実施の形態において評価値算出部11cは、各入力質問文に対して類似度が最大の登録済質問文を検索し、検索結果に基づいて各登録済質問文に類似する一又は複数の入力質問文を取得し、取得した入力質問文のばらつき等に基づいて評価値を算出する。なお、評価値算出部11cによる登録済質問文の評価値の算出方法については後述する。
適否判定部11dは、評価値算出部11cが算出した評価値に基づいて、登録済質問文の適否を判定する処理を行う。本実施の形態において適否判定部11dは、評価値算出部11cが算出した評価値と、予め定められた評価閾値とを比較することで登録済質問文の適否を判定する。例えば、登録済質問文に類似する入力質問文のばらつきに基づいて評価値が算出される場合、適否判定部11dは、評価値が評価閾値より大きい、即ち類似する入力質問文のばらつきが大きい登録済質問文を不適と判定することができる。
特徴部分抽出部11eは、適否判定部11dにより不適と判定された登録済質問文に関する特徴部分を抽出する処理を行う。本実施の形態において特徴部分抽出部11eは、不適と判定された登録済質問文に類似する入力質問文を一又は複数のグループに分類し、各グループの特徴部分を抽出する。特徴部分抽出部11eが抽出する特徴部分は、入力質問文を構成する文章に含まれる単語、トークン又は形態素等の文字列とすることができる。
表示処理部11fは、管理者端末装置3の表示部又はユーザ端末装置4の表示部に文字及び画像等の情報を表示する処理を行う。表示処理部11fは、表示用のデータを作成し、作成した表示用のデータを通信部13にて管理者端末装置3又はユーザ端末装置4へ送信することによって、管理者端末装置3又はユーザ端末装置4に所望の表示を行わせる。サーバ装置1から表示用のデータを受信した管理者端末装置3又はユーザ端末装置4は、受信したデータに基づいて表示部に文字及び画像等を表示する。本実施の形態において表示処理部11fは、登録済質問文の適否の判定結果、及び、不適と判定した登録済質問文に対する修正又は分割等の提案情報等の表示処理を行う。
学習処理部11gは、汎用言語表現モデル100を学習する処理を行う。学習処理部11gは、例えば質問文及び質問文に類似する文章等で構成された学習用データを用いて、汎用言語表現モデル100の深層学習を行う。学習用データは、少なくとも最初の学習処理においては、管理者等が予め作成したデータが用いられる。2回目以降の学習処理(再学習処理)においては、サーバ装置1は入力質問文記憶部12bに記憶して蓄積した入力質問文を学習用データとして用いてもよい。サーバ装置1は、例えば1週間又は1ヶ月等の周期で、汎用言語表現モデル100の再学習処理を行ってよい。
図5は、本実施の形態に係る管理者端末装置3の構成を示すブロック図である。本実施の形態に係る管理者端末装置3は、処理部31、記憶部(ストレージ)32、通信部(トランシーバ)33、表示部(ディスプレイ)34及び操作部35等を備えて構成されている。管理者端末装置3は、例えば汎用のパーソナルコンピュータ又はタブレット型端末装置等の情報処理装置を用いて構成され得る。
処理部31は、CPU又はMPU等の演算処理装置、ROM、及び、RAM等を用いて構成されている。処理部31は、記憶部32に記憶されたプログラム32aを読み出して実行することにより、質問文及び回答文をFAQデータベース2に登録する処理、並びに、サーバ装置1にて不適と判定された登録済質問文に関する情報を表示する処理等の種々の処理を行う。
記憶部32は、例えばハードディスク等の磁気記憶装置又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成されている。記憶部32は、処理部31が実行する各種のプログラム、及び、処理部31の処理に必要な各種のデータを記憶する。本実施の形態において記憶部32は、処理部31が実行するプログラム32aを記憶している。本実施の形態においてプログラム32aは遠隔のサーバ装置等により配信され、これを管理者端末装置3が通信にて取得し、記憶部32に記憶する。ただしプログラム32aは、例えば管理者端末装置3の製造段階において記憶部32に書き込まれてもよい。例えばプログラム32aは、メモリカード又は光ディスク等の記録媒体に記録されたプログラム32aを管理者端末装置3が読み出して記憶部32に記憶してもよい。例えばプログラム32aは、記録媒体に記録されたものを書込装置が読み出して管理者端末装置3の記憶部32に書き込んでもよい。プログラム32aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体に記録された態様で提供されてもよい。
通信部33は、社内LAN、無線LAN及びインターネット等を含むネットワークNを介して、種々の装置との間で通信を行う。本実施の形態において通信部33は、ネットワークNを介して、サーバ装置1との間で通信を行う。通信部33は、処理部31から与えられたデータを他の装置へ送信すると共に、他の装置から受信したデータを処理部31へ与える。
表示部34は、液晶ディスプレイ等を用いて構成されており、処理部31の処理に基づいて種々の画像及び文字等を表示する。
操作部35は、ユーザの操作を受け付け、受け付けた操作を処理部31へ通知する。例えば操作部35は、機械式のボタン又は表示部34の表面に設けられたタッチパネル等の入力デバイスによりユーザの操作を受け付ける。また例えば操作部35は、マウス及びキーボード等の入力デバイスであってよく、これらの入力デバイスは管理者端末装置3に対して取り外すことが可能な構成であってもよい。
また本実施の形態に係る管理者端末装置3は、記憶部32に記憶されたプログラム32aを処理部31が読み出して実行することにより、表示処理部31a及び登録処理部31b等がソフトウェア的な機能部として処理部31に実現される。なおプログラム32aは、本実施の形態に係るFAQシステムに専用のプログラムであってもよく、インターネットブラウザ又はウェブブラウザ等の汎用のプログラムであってもよい。
表示処理部31aは、表示部34に種々の文字及び画像等を表示する処理を行う。本実施の形態において表示処理部31aは、ネットワークNを介して通信部33にて受信したサーバ装置1からの表示用のデータに基づいて、不適と判定された登録済質問文に関する情報等を表示する。
登録処理部31bは、管理者による新たな質問文及び回答文の入力受付及び登録等の処理を行う。登録処理部31bは、操作部35に対する管理者の操作に基づいて、新たに登録すべき質問文及び回答文の入力を受け付ける。登録処理部31bは、受け付けた質問文及び回答文をサーバ装置1へ送信し、サーバ装置1にこの質問文及び回答文をFAQデータベース2に登録させる。サーバ装置1は、管理者端末装置3からの質問文及び回答文を受信し、受信した質問文及び回答文をFAQデータベース2に登録する。
図6は、本実施の形態に係るユーザ端末装置4の構成を示すブロック図である。本実施の形態に係るユーザ端末装置4は、処理部41、記憶部(ストレージ)42、通信部(トランシーバ)43、表示部(ディスプレイ)44及び操作部45等を備えて構成されている。ユーザ端末装置4は、例えば汎用のパーソナルコンピュータ、スマートフォン又はタブレット型端末装置等の情報処理装置を用いて構成され得る。
処理部41は、CPU又はMPU等の演算処理装置、ROM、及び、RAM等を用いて構成されている。処理部41は、記憶部42に記憶されたプログラム42aを読み出して実行することにより、ユーザから質問の入力を受け付ける処理、並びに、入力質問文に類似する登録済質問文及びその回答文を出力(表示)する処理等の種々の処理を行う。
記憶部42は、例えばハードディスク等の磁気記憶装置又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成されている。記憶部42は、処理部41が実行する各種のプログラム、及び、処理部41の処理に必要な各種のデータを記憶する。本実施の形態において記憶部42は、処理部41が実行するプログラム42aを記憶している。本実施の形態においてプログラム42aは遠隔のサーバ装置等により配信され、これをユーザ端末装置4が通信にて取得し、記憶部42に記憶する。ただしプログラム42aは、例えばユーザ端末装置4の製造段階において記憶部42に書き込まれてもよい。例えばプログラム42aは、メモリカード又は光ディスク等の記録媒体に記録されたプログラム42aをユーザ端末装置4が読み出して記憶部42に記憶してもよい。例えばプログラム42aは、記録媒体に記録されたものを書込装置が読み出してユーザ端末装置4の記憶部42に書き込んでもよい。プログラム42aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体に記録された態様で提供されてもよい。
通信部43は、社内LAN、無線LAN及びインターネット等を含むネットワークNを介して、種々の装置との間で通信を行う。本実施の形態において通信部43は、ネットワークNを介して、サーバ装置1との間で通信を行う。通信部43は、処理部41から与えられたデータを他の装置へ送信すると共に、他の装置から受信したデータを処理部41へ与える。
表示部44は、液晶ディスプレイ等を用いて構成されており、処理部41の処理に基づいて種々の画像及び文字等を表示する。
操作部45は、ユーザの操作を受け付け、受け付けた操作を処理部41へ通知する。例えば操作部45は、機械式のボタン又は表示部44の表面に設けられたタッチパネル等の入力デバイスによりユーザの操作を受け付ける。また例えば操作部45は、マウス及びキーボード等の入力デバイスであってよく、これらの入力デバイスはユーザ端末装置4に対して取り外すことが可能な構成であってもよい。
また本実施の形態に係るユーザ端末装置4は、記憶部42に記憶されたプログラム42aを処理部41が読み出して実行することにより、表示処理部41a及び質問入力受付部41b等がソフトウェア的な機能部として処理部41に実現される。なおプログラム42aは、本実施の形態に係るFAQシステムに専用のプログラムであってもよく、インターネットブラウザ又はウェブブラウザ等の汎用のプログラムであってもよい。
表示処理部41aは、表示部44に種々の文字及び画像等を表示する処理を行う。本実施の形態において表示処理部41aは、ネットワークNを介して通信部43にて受信したサーバ装置1からの表示用のデータに基づいて、入力質問文に類似する登録済質問文及びその回答文を表示する処理等を行う。また表示処理部41aは、サーバ装置1からのデータに基づいて、入力質問文に類似する複数の登録済質問文の検索結果、及び、検索された登録済質問文に対応する回答文等を表示する。
質問入力受付部41bは、ユーザによる質問文の入力を受け付ける処理を行う。質問入力受付部41bは、操作部45に対するユーザの操作を受け付け、このユーザの操作に基づいて質問文の入力を受け付ける。質問入力受付部41bは、入力を受け付けた入力質問文を、通信部43にてネットワークNを介してサーバ装置1へ送信する。サーバ装置1は、ユーザ端末装置4から送信された入力質問文を受信して入力質問文記憶部12bに記憶すると共に、この入力質問文に類似する登録及びその回答文をユーザ端末装置4へ送信する。
<登録済質問文の適否判定処理>
本実施の形態に係るFAQシステムは、管理者による登録済質問文の適否の検討を補助すべく、FAQデータベース2から修正又は分割等を推奨する登録済質問文をサーバ装置1が判定し、判定結果を管理者端末装置3に表示して登録済質問文の修正又は分割等を提案する機能を備えている。例えばFAQシステムの管理者が管理者端末装置3にて所定の操作を行った場合、又は、1ヶ月に1回等の所定の頻度で、サーバ装置1は、FAQデータベース2に登録されている登録済質問文の適否判定を行う。適否判定を実施する条件が成立した場合、サーバ装置1は、FAQデータベース2に登録されている登録済質問文と、入力質問文記憶部12bに記憶されている入力質問文との類似度を算出する処理を行う。
図7は、入力質問文とこれに最大類似度の登録質問文とを対応付けたテーブルの一例を示す模式図である。サーバ装置1は、FAQデータベース2に登録されている登録済質問文と、入力質問文記憶部12bに記憶されている入力質問文との全組み合わせについて類似度を算出し、各入力質問文に対して類似度が最大となる登録済質問文(最大類似の登録質問文)を検索して、入力質問文及び最大類似の登録質問文を対応付けた図示のテーブルを作成する。
図7に示すテーブルは、「入力質問文ID」、「最大類似度」及び「登録済質問文ID」が対応付けて記憶されている。本例では、入力質問文q1に対する最大類似の登録済質問文はQ4であり、入力質問文q1及び登録済質問文Q4の類似度(最大類似度)は0.7である。入力質問文q2に対する最大類似の登録済質問文はQ1であり、入力質問文q2及び登録済質問文Q1の類似度は0.8である。サーバ装置1は、入力質問文記憶部12bに記憶された1つの入力質問文を選択し、選択した入力質問文と全ての登録済質問文との類似度を全て算出し、算出した複数の類似度の中から最大類似度に対応する登録済質問文を取得してテーブルに登録する。サーバ装置1は、入力質問文の選択を繰り返し行って、入力質問文記憶部12bに記憶された全ての入力質問文について最大類似の登録済質問文を取得する。
次いでサーバ装置1は、図7に示すテーブルに含まれる各登録済質問文について、対応する最大類似度及び入力質問文を抽出する。図8は、登録済質問文Q4に関する最大類似度及び入力質問文の抽出の一例を示す模式図である。図7に示すテーブルにおいて登録済質問文Q4は、入力質問文q1、q3、q7…に対する最大類似の登録済質問文とされている。登録済質問文Q4を処理対象とした場合、サーバ装置1は、このテーブルから登録済質問文Q4に対する最大類似度を有する入力質問文q1、q3、q7…と、その類似度(最大類似度)とを抽出する。図8に示す例では、登録済質問文Q4について、入力質問文q1とその類似度0.7、入力質問文q3とその類似度0.2、入力質問文q7とその類似度0.6が抽出されている。サーバ装置1は、登録済質問文毎に入力質問文及び最大類似度を抽出して対応付けた図8に示すテーブルを作成する。以下、図8に示す登録済質問文毎のテーブルを、最大類似度テーブルという。なお、本実施の形態においてサーバ装置1は、登録済質問文の適否判定を行う際に最大類似度テーブルを作成するものとするが、これに限るものではなく、例えばユーザにより入力質問文の入力がなされる都度、又は、FAQデータベース2に新たな質問文が登録される都度等に最大類似度テーブルを作成(更新)してもよい。
本例では、登録済質問文Q4が「トイレから水漏れがする」という内容であるものとする。また、入力質問文q1は「トイレが壊れた」という内容であり、入力質問文q3は「蛇口から水漏れがする」という内容であり、入力質問文q7は「トイレが詰まった」という内容である。トイレに関する入力質問文q1、q7に対して、登録済質問文Q4は高い類似度を示しており、入力質問文q1、q7に類似する登録済質問文の検索結果として登録済質問文Q4がユーザ端末装置4に表示される。また水漏れに関する入力質問文q3に対して類似度が最大となるのは登録済質問文Q4であるため、入力質問文q3に類似する登録済質問文の検索結果としてはやはり登録済質問文Q4がユーザ端末装置4に表示される。
図8に示す最大類似度テーブルによれば、登録済質問文Q4と入力質問文q1、q7との最大類似度は0.7,0.6であるのに対し、登録済質問文Q4と入力質問文q3との最大類似度は0.2であり、登録済質問文Q4と入力質問文q1、q3、q7との類似度にばらつきがある。これは登録済質問文Q4が、トイレに関する入力質問文q1、q7と、蛇口らの水漏れに関する入力質問文q3との2つのグループの入力質問文に対して最大類似となっていることを示している。管理者は、各グループに対してそれぞれ最大類似となる適正な登録済質問文をFAQデータベース2に登録すべきであり、本実施の形態に係るFAQシステムではこのように最大類似度のばらつきが大きい登録済質問文Q4を不適な登録済質問文と判定する。
図9及び図10は、登録済質問文について抽出された最大類似度とその入力質問文の数との関係を示す模式的なグラフである。本グラフは、登録済質問文について抽出された入力質問文の最大類似度を横軸とし、最大類似度に対応する入力質問文の数を縦軸としている。図9には適正に登録されている登録済質問文についてのグラフが示されている。適正な登録済質問文は、最大類似度が高いほど対応する入力質問文の数が多いことが期待できる。
これに対して、図10には不適と判断され得る登録済質問文についてのグラフの一例が示されている。本例のグラフでは、最大類似度が1.0近辺の範囲と、最大類似度が0.4〜0.6の範囲との2ヶ所にピークが現れており、ピークが現れる最大類似度にばらつきがある。これは、登録済質問文が2つ以上のグループに対して最大類似となっていることを示している。このため管理者は、この登録済質問文について最大類似度のバラツキが小さくなるように、FAQデータベース2の登録済質問文に対する修正又は分割等を行うことが望ましい。
本実施の形態に係るサーバ装置1は、このように入力質問文に対する最大類似度にばらつきが大きい登録済質問文を、不適な登録済質問文と判定して管理者へ通知することで、管理者に登録済質問文の修正又は分割等を促す。サーバ装置1は、修正又は分割等を促すべき登録済質問文(不適な登録済質問文)を判定するために、各登録済質問文について評価値を算出する。サーバ装置1は、算出した評価値と予め定められた評価閾値とを比較することで、登録済質問文の適否を判定する。登録済質問文の評価値の算出方法には種々の方法が考え得るが、以下に4つの評価値算出方法を説明する。ただし評価値の算出方法は以下の4つの方法に限らず、これら以外の種々の方法が採用されてよい。
(評価値算出方法1)
サーバ装置1は、図8に示した登録済質問文毎の入力質問文及び最大類似度を対応付けた最大類似度テーブルを作成する。サーバ装置1は、この最大類似度テーブルに含まれる最大類似度のばらつきを示す評価値、例えば分散又は標準偏差等を算出する。図8に示す例では、最大類似度として抽出された複数の値、0.7,0.2,0.6点…の分散又は標準偏差等を評価値として算出する。サーバ装置1は、ばらつきを示すこれらの評価値が、予め定められた評価閾値を超える場合、即ち最大類似度のばらつきが大きい場合に、この登録済質問文を不適な登録済質問文であると判定し、修正又は分割等を促す。
(評価値算出方法2)
サーバ装置1は、図8に示した登録済質問文毎の入力質問文及び最大類似度を対応付けた最大類似度テーブルを作成する。サーバ装置1は、この最大類似度テーブルに含まれ入力質問文に対応するベクトル情報を取得し、取得した複数のベクトル情報についてのばらつきを示す評価値、例えば分散又は標準偏差等を算出する。サーバ装置1は、ばらつきを示すこれらの評価値が、予め定められた評価閾値を超える場合、即ち入力質問文のベクトル情報のばらつきが大きい場合に、この登録済質問文を不適な登録済質問文であると判定し、修正又は分割等を促す。
(評価値算出方法3)
サーバ装置1は、図8に示した登録済質問文毎の入力質問文及び最大類似度を対応付けた最大類似度テーブルを作成する。サーバ装置1は、この最大類似度テーブルに含まれ入力質問文に対応するベクトル情報を取得し、取得した複数のベクトル情報を一又は複数のグループに分類する。サーバ装置1は、例えば2つのベクトル情報の間の距離を算出し、この距離が予め定められたグループ閾値を超えない場合に、この2つのベクトル情報を1つのグループに分類する。サーバ装置1は、図8の最大類似度テーブルに含まれる全ての入力質問文に対応する全てのベクトル情報について、ベクトル情報の間の距離を算出してグループに分類する処理を繰り返す。サーバ装置1は、全てのベクトル情報についてグループへの分類を終えた後、分類されたグループの数をカウントする。サーバ装置1は、グループの数が、予め定められた評価閾値を超える場合、即ち入力質問文のベクトル情報のばらつきが大きい場合に、この登録済質問文を不適な登録済質問文であると判定し、修正又は分割等を促す。
(評価値算出方法4)
サーバ装置1は、上記の評価値算出方法3と同様の手順で、複数の入力質問文のベクトル情報を一又は複数のグループに分類する。サーバ装置1は、分類した複数のグループについて、グループ間の距離を算出する。このときにサーバ装置1は、例えば各グループに含まれるベクトル情報に基づいてグループの中心又は重心等を算出し、算出した各グループの中心又は重心等の距離を算出することができる。また例えばサーバ装置1は、2つのグループから最も近接するベクトル情報をそれぞれ抽出し、抽出した2つのベクトル情報の距離を算出して2つのグループの間の距離としてもよい。サーバ装置1は、算出したグループ間の距離が、予め定められた評価閾値を超える場合、即ち入力質問文のベクトル情報のばらつきが大きい場合に、この登録済質問文を不適な登録済質問文であると判定し、修正又は分割等を促す。
なお、上記の評価値算出方法に用いられる評価閾値及びグループ閾値等の閾値に関する情報は、サーバ装置1の記憶部12に予め記憶されている。これらの閾値は、例えば管理者端末装置3にて管理者による閾値の変更操作を受け付けることによって、管理者が所望の閾値を設定可能な構成とされてもよい。
登録済質問文が不適であると判定した場合、サーバ装置1は、この登録済質問文に関する情報を管理者に対して表示する。本実施の形態に係るサーバ装置1は、不適と判定した登録済質問文に関する図8の最大類似度テーブルに含まれる入力質問文のベクトル情報を取得し、複数のベクトル情報をグループに分類する処理を行う。サーバ装置1による入力質問文のベクトル情報のグループ化の方法は、上述の評価値算出方法3,4にて行ったグループ閾値を用いる方法が採用され得る。ただし入力質問文のグループ化の方法は、上記の方法に限らない。サーバ装置1は、例えばk平均法(k-means法)、最短距離法、ウォード法又は群平均法等の種々のクラスタリングアルゴリズムを用いて、質問文のグループ化を行ってよい。
次いでサーバ装置1は、各グループの特徴部分を抽出する処理を行う。本実施の形態においてサーバ装置1が抽出する特徴部分は、例えばグループに属する入力質問文に含まれる単語、トークン又は形態素等とすることができる。また例えばサーバ装置1は、グループに属する入力質問文のうち、代表となる入力質問文を1つ選択して、この代表入力質問文を特徴部分として抽出してもよい。以下に、サーバ装置1による特徴部分の抽出方法を2つ例示する。サーバ装置1は、2つの抽出方法のいずれかにより特徴部分を抽出することができる。ただしサーバ装置1は以下の2つの抽出方法とは異なる抽出方法を用いてもよい。
(特徴部分抽出方法1)
サーバ装置1は、例えば質問文に対して字句解析の処理を行うことによって、質問文に含まれるトークンを取得する。サーバ装置1は、グループに含まれる複数の入力質問文についてトークンの取得を行い、複数の入力質問文に含まれる複数のトークンを調べる。例えばサーバ装置1は、より多くの(最多の)入力質問文に含まれている共通のトークンを抽出し、この共通のトークンをグループの特徴部分とする。また例えばサーバ装置1は、取得した全てのトークンについて同じトークンの数をカウントし、最多のトークンをグループの特徴部分としてもよい。
(特徴部分抽出方法2)
図11は、グループの特徴部分の第2の抽出方法を説明するための模式図である。図11に示すグラフは、入力質問文に対応するベクトル情報をプロットしたものである。汎用言語表現モデル100が出力するベクトル情報は例えば512次元等の高次元のものが用いられるが、簡略化のために図11においてはベクトル情報が2次元であるものとして、入力質問文に対応するベクトル情報をxy座標平面上の点(白丸又は黒丸)として図示している。第2の抽出方法においてサーバ装置1は、各グループに属する複数のベクトル情報の重心(中心、平均等)を算出する。図11において各グループの重心をXで示している。サーバ装置1は算出した重心に最も近い(距離が短い)ベクトル情報を1つ選択し、このベクトル情報に対応する入力質問文をこのグループの代表入力質問文とし、この代表入力質問文をグループの特徴部分として抽出する。図11において各グループの代表入力質問文として選択されるベクトル情報を黒丸で示している。
各グループの特徴部分を抽出したサーバ装置1は、不適と判定した登録済質問文、修正又は分割等を推奨する登録済質問文に関する情報を含む推奨画面を管理者端末装置3に表示させる。図12は、推奨画面の一例を示す模式図である。サーバ装置1は、これまでの処理の結果から得られた情報を基に、図12に示す推奨画面を表示するためのデータを作成し、作成したデータを管理者端末装置3へ送信する。管理者端末装置3は、サーバ装置1から受信したデータに基づいて、表示部34に推奨画面を表示する。
本例の推奨画面には、「以下の登録済質問文の修正又は分割等を推奨します。」のメッセージが最上部に表示され、その下方に修正又は分割等を推奨する一又は複数の登録済質問文に関する情報が列挙される。本例は、FAQデータベース2に登録されている登録済質問文の中から、サーバ装置1が2つの登録済質問文Q6及びQ15を修正又は分割等を推奨する登録済質問文と判断した場合の推奨画面である。図示の推奨画面では、左側に登録済質問文Q6に関する情報が表示され、右側に登録済質問文Q15に関する情報が表示されている。なおサーバ装置1は、複数の登録済質問文に関する情報を左右方向に並べて表示してもよく、上下方向に並べて表示してもよい。
例えばサーバ装置1は、登録済質問文Q6に関する情報として、登録済質問文Q6の具体的な文章と、この登録済質問文Q6に関する特徴部分と、この登録済質問文Q6が最大類似の登録済質問文として検索される入力質問文とを推奨画面に表示する。本図において登録済質問文Q6の文章は「…」と略示されているが、実際にはFAQデータベース2に登録されている登録済質問文の文章が「登録済質問文Q6:」の文字列に続いて表示される。また本図においては登録済質問文Q6の特徴部分について、「特徴:A,B」と略示されているが、「A」及び「B」にはサーバ装置1が入力質問文をグループ化して抽出した特徴部分のトークン等の文字列がそれぞれ表示される。またサーバ装置1は、推奨画面において特徴部分の下方に、入力質問文IDと入力質問文の文章とを対応付けたテーブルを表示するが、これは図8にて説明した最大類似度テーブルを基に表示する情報を決定することができる。即ちサーバ装置1は、登録済質問文Q6に関して作成した最大類似度テーブルに含まれる全ての入力質問文について入力質問文ID及び入力質問文の文章を取得して、これらの情報をテーブルとして推奨画面に表示する。なお本例では、登録済質問文Q15についても同様の情報がサーバ装置1により表示されている。
図13は、推奨画面の他の例を示す模式図である。サーバ装置1は、図13に示す推奨画面を表示して登録済質問文の分割を推奨してもよい。図13に示す推奨画面は、サーバ装置1が図8に示した登録済質問文Q4「トイレから水漏れがする」について不適と判定し、この登録済質問文Q4の分割を推奨した場合のものである。本例の推奨画面には、「以下の登録済質問文を2つのグループに分割することを推奨します。」のメッセージが最上部に表示され、このメッセージの下方に推奨の対象となる登録済質問文の具体的な文章が「登録済質問文Q4:トイレから水漏れがする」と表示されている。
サーバ装置1は、登録済質問文Q4について作成した最大類似度テーブルに含まれる複数の入力質問文をグループ化した結果を推奨画面に表示する。本例においてサーバ装置1は、複数の入力質問文を2つのグループに分類しており、各グループについて入力質問文ID及び入力質問文の文章を対応付けたテーブルを推奨画面に表示する。またサーバ装置1は、各グループのテーブルの上部に、このグループの特徴部分として抽出されたトークン等を表示する。
本例では、グループ1には入力質問文q1「トイレが壊れた」及び入力質問文q7「トイレが詰まった」等の入力質問文が分類され、グループ2には入力質問文q3「蛇口から水漏れがする」等の入力質問文が分類されている。サーバ装置1は、グループ1の特徴部分として「トイレ」の単語を抽出して表示し、グループ2の特徴部分として「水漏れ」の単語を抽出して表示している。
本例の推奨画面においてサーバ装置1は、登録済質問文Q4が、「トイレ」の特徴を有するグループ1の入力質問文と、「水漏れ」の特徴を有するグループ2の入力質問文とに類似していることを管理者に示唆している。サーバ装置1は、この登録済質問文Q4について、「トイレ」の特徴を有する入力質問文に類似する登録済質問文と、「水漏れ」の特徴を有する入力質問文に類似する登録済質問文との2つに分割することを推奨している。
管理者端末装置3に表示された推奨画面にて登録済質問文Q4の分割を推奨された管理者は、例えば現状の登録済質問文Q4を「トイレ」の特徴を有する入力質問文に類似する登録済質問文として残し、「水漏れ」の特徴を有する入力質問文に類似する質問文を新たにFAQデータベース2に登録することで、サーバ装置1が推奨する登録済質問文の分割を実施することができる。
例えば、管理者が新たな「蛇口から水漏れがする」という質問文Q4’及びこれに対する回答文をFAQデータベース2に登録したとすれば、図13においてグループ2に分類された入力質問文q3等に対しては、新たに登録された登録済質問文Q4’が最大類似の登録済質問文となることが期待できる。逆に、登録済質問文Q4については、グループ1に分類された入力質問文q1、q7等に対する最大類似の登録済質問文であるが、グループ2に分類された入力質問文q3等に対する最大類似の登録済質問文ではなくなることが期待できる。これにより、登録済質問文Q4と最大類似となる入力質問文について、その最大類似度のばらつきを小さくすることが期待できる。またユーザが「蛇口から水漏れがする」という質問文q3を入力した場合に、サーバ装置1はこの入力質問文q3に類似する登録済質問文の検索結果として登録済質問文Q4ではなく、登録済質問文Q4’をユーザに示すことができる。
また更に管理者は、登録済質問文Q4について、よりトイレに特化した単語等を質問文の文章に追加することができる。これにより、登録済質問文Q4は、グループ1に分類される入力質問文q1、q7等に対する類似度がより高くなると共に、グループ2に分類される入力質問文q3等に対する類似度を低くすることが期待できる。登録済質問文Q4と入力質問文q3との類似度を低くすることで、入力質問文に最大類似度となる登録済質問文を、登録済質問文Q4とは異なる登録済質問文に変更することが期待できる。登録済質問文Q4が入力質問文q3の最大類似ではなくなることで、登録済質問文Q4の最大類似度のバラツキを小さくすることが期待できる。
<フローチャート>
図14は、本実施の形態に係るサーバ装置1が行う登録処理の手順を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、管理者端末装置3から新規の質問文及びその回答文の登録要求を受信したか否かを判定する(ステップS1)。登録要求を受信していない場合(S1:NO)、処理部11は、登録要求を受信するまで待機する。登録要求を受信した場合(S1:YES)、処理部11のベクトル変換部11aは、登録要求と共に管理者端末装置3から与えられる質問文を、記憶部12の汎用言語表現モデル100を用いてベクトル情報に変換する(ステップS2)。処理部11は、管理者端末装置3から与えられた質問文及び回答文と、ステップS2にて変換したベクトル情報とをFAQデータベース2に登録し(ステップS3)、処理を終了する。
図15は、本実施の形態に係るサーバ装置1が行う検索結果表示処理の手順を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、ユーザ端末装置4の検索画面において質問文の入力がなされたか否かを、ユーザ端末装置4からの要求の有無に応じて判定する(ステップS11)。質問文の入力がなされていない場合(S11:NO)、処理部11は、質問文の入力がなされるまで待機する。質問文の入力がなされた場合(S11:YES)、処理部11のベクトル変換部11aは、ユーザ端末装置4から受信して取得した入力質問文を、記憶部12の汎用言語表現モデル100を用いてベクトル情報に変換する(ステップS12)。処理部11は、ユーザ端末装置4から取得した入力質問文と、ステップS12にて変換されたベクトル情報とを入力質問文記憶部12bに記憶する(ステップS13)。
処理部11は、ユーザ端末装置4から取得した入力質問文のベクトル情報と、FAQデータベース2に登録された登録済質問文のベクトル情報とを元に類似度算出部11bが算出する類似度に基づいて、入力質問文に類似する一又は複数の登録済質問文を検索する(ステップS14)。処理部11は、最大類似の登録済質問文のみを検索結果として取得してもよいし、類似度が大きい順に所定数の登録済質問文を検索結果として取得してもよい。処理部11の表示処理部11fは、ステップS14にて検索された一又は複数の登録済質問文を含む検索結果をユーザ端末装置4に表示させる表示処理を行い(ステップS15)、処理を終了する。
図16は、本実施の形態に係るサーバ装置1が行う適否判定処理の手順を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、例えば管理者による操作の有無又は所定の判定周期の経過等により、FAQデータベース2に登録された登録済質問文の適否判定を行うタイミングに至ったか否かを判定する(ステップS21)。適否判定を行うタイミングに至っていない場合(S21:NO)、処理部11は、適否判定を行うタイミングに至るまで待機する。適否判定を行うタイミングに至った場合(S21:YES)、処理部11の類似度算出部11bは、FAQデータベース2に登録された登録済質問文と、入力質問文記憶部12bに記憶された入力質問文との類似度を算出する(ステップS22)。このときに類似度算出部11bは、全ての登録済質問文について、全ての入力質問文との類似度をそれぞれ算出する。なお、図15に示したフローチャートのステップS14にて算出した類似度を記憶している場合には、ステップS22において類似度を算出しなくてもよく、記憶した類似度を読み出してもよい。
次いで処理部11は、FAQデータベース2に登録された複数の登録済質問文の中から、処理対象とする1つの登録済質問文を選択する(ステップS23)。処理部11は、ステップS22にて算出した登録済質問文及び入力質問文の類似度を基に、処理対象の登録済質問文が最大類似の登録済質問文となる入力質問文を抽出して、処理対象の登録済質問文に関する最大類似度テーブルを作成する(ステップS24)。処理部11の評価値算出部11cは、ステップS24にて作成した最大類似度テーブルの情報に基づいて、処理対象の登録済質問文についての評価値を算出する(ステップS25)。なお評価値算出部11cによる評価値の算出方法は、上述の評価値算出方法1〜4のいずれの方法が採用されてもよい。
処理部11の適否判定部11dは、ステップS25にて算出した評価値が、予め定められた評価閾値を超えるか否かを判定する(ステップS26)。なお本フローチャートでは、評価値が大きいほど登録済質問文の修正又は分割等が必要であるものとして評価値及び評価閾値の比較を行っているが、評価値の算出方法によっては評価閾値との大小関係は逆転し得る。評価値が評価閾値を超える場合(S26:YES)、適否判定部11dは処理対象の登録済質問文が不適であると判定し、処理部11は最大類似度テーブルに含まれる複数の入力質問文をグループに分類する(ステップS27)。このときに処理部11は、ベクトル情報に基づく入力質問文の間の距離がグループ閾値を超えるか否かを判定し、判定結果に基づいて複数の入力質問文を一又は複数のグループに分類することができる。処理部11の特徴部分抽出部11eは、ステップS27にて分類された各グループについて特徴部分を抽出し(ステップS28)、ステップS29へ処理を進める。なお特徴部分抽出部11eによる特徴部分の抽出方法は、上述の特徴部分抽出方法1,2のいずれの方法が採用されてもよい。
評価値が評価閾値を超えない場合(S26:NO)、適否判定部11dは処理対象の登録済質問文が適正であると判定し、処理部11は入力質問文のグループへの分類及び各グループの特徴部分の抽出等の処理を行わず、ステップS29へ処理を進める。次いで処理部11は、FAQデータベース2に登録された登録済質問文の全てについてステップS23〜S28の処理を終了したか否かを判定する(ステップS29)。全ての登録済質問文について処理を終了していない場合(S29:NO)、処理部11は、ステップS23へ処理を戻し、別の登録済質問文をFAQデータベース2から選択して同様の処理を行う。全ての登録済質問文について処理を終了した場合(S29:YES)、処理部11の表示処理部11fは、ステップS26にて評価値が評価閾値を超えた登録済質問文について修正又は分割等を推奨する推奨画面を管理者端末装置3に表示する処理を行って(ステップS30)、処理を終了する。
<まとめ>
以上の構成の本実施の形態に係るFAQシステムでは、ユーザ端末装置4にてユーザから入力を受け付けた入力質問文をサーバ装置1が入力質問文記憶部12bに記憶し、FAQデータベース2に登録された登録済質問文と入力質問文記憶部12bに記憶した入力質問文との類似度を算出する。サーバ装置1は、登録済質問文が最大類似となる入力質問文に基づいて、この登録済質問文の評価値を算出し、算出した評価値に基づいてこの登録済質問文の適否を判定する。これにより管理者は、FAQデータベース2に登録された登録済質問文の適否をサーバ装置1が判定した判定結果を参考にして、登録済質問文の修正又は新たな質問文の登録等の処理を行うことができるため、管理者による質問文及び回答文のFAQデータベース2への登録作業を支援することが期待できる。
また本実施の形態に係るFAQシステムでは、登録済質問文が最大類似となる入力質問文のばらつきに基づいてサーバ装置1が評価値の算出を行う。これによりサーバ装置1は、対象の登録済質問文が最大類似として検索結果に挙げられる入力質問文のばらつきをこの登録済質問文の評価値として算出することができ、登録済質問文の適否を判定することができる。なおサーバ装置1は、例えば登録済質問文及び入力質問文の類似度のばらつき、入力質問文に対応するベクトル情報のばらつき、入力質問文をグループに分類した場合のグループ数、又は、分類したグループの間の距離等に基づいて、登録済質問文の評価値を精度よく算出することが期待できる。
また本実施の形態に係るFAQシステムでは、不適と判断された登録済質問文と、この登録済質問文が最大類似となる入力質問文と、入力質問文をグループに分類した場合の各グループの特徴部分とを対応付けた情報を、サーバ装置1が管理者端末装置3に推奨画面として表示する。これによりサーバ装置1は、管理者端末装置3に対して登録済質問文の修正又は分割等を推奨することができる。推奨画面として表示された情報に基づいて、管理者は登録済質問文の修正又は分割等の作業を行うことができるため、管理者による質問文及び回答文のFAQデータベース2への登録作業を支援することが期待できる。
なお本実施の形態において示した画面表示、データベースの構成、データベースに記憶された情報及びフローチャートの処理手順等は、一例であってこれに限るものではなく、適宜に設計変更等がなされてよい。
また本実施の形態に係るFAQシステムでは、サーバ装置1が登録済質問文の適否を判定する処理等を行っているが、これらの処理は管理者端末装置3又はユーザ端末装置4が行ってもよい。この場合に管理者端末装置3又はユーザ端末装置4は、ネットワークNを介した通信によりサーバ装置1のデータベースにアクセスしてもよく、自身がデータベースを保持してもよい。また本実施の形態においては、質問文及び回答文の入力がテキスト形式で行われているが、これに限るものではなく、音声入力により行われてもよい。また本実施の形態においては、登録済質問文及び入力質問文を512次元のベクトル情報に変換するものとしたが、これは一例であって、ベクトル情報は何次元のものであってもよい。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。