本発明の実施形態に係る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に質問文及び回答文を登録する作業に用いられる。管理者端末装置3は、新たに登録する質問文及び回答文の入力を受け付け、受け付けた質問文及び回答文をサーバ装置1へ送信する。サーバ装置1は、管理者端末装置3から受信した質問文及び回答文をFAQデータベース2に登録する。
また本実施の形態に係るサーバ装置1は、管理者による質問文及び回答文の登録を支援するため、類似する複数の質問文をグループ化すると共に、グループの特徴部分を抽出して管理者に提示する機能を備えている。サーバ装置1は、例えばFAQデータベース2に登録された複数の登録済質問文をグループ化して特徴部分を抽出する。サーバ装置1は、例えばユーザが入力した入力質問文を記憶しておき、記憶した複数の入力質問文をグループ化して特徴部分を抽出する。サーバ装置1は、ユーザが入力した入力質問文に類似する登録済質問文をFAQデータベース2から取得し、取得した複数の登録済質問文をグループ化して特徴部分を抽出する。サーバ装置1は、グループ化した質問文及びグループの特徴部分に関する情報を管理者端末装置3へ送信する。管理者端末装置3は、複数の質問文をグループ化して表示すると共に、各グループの特徴部分を強調表示する。これにより管理者は、登録済質問文及び入力質問文等の質問文を類似する質問文のグループに分類した場合に、各グループがどのような質問文の集まりであるかを特徴部分に基づいて容易に把握することが可能となる。
なお本実施の形態においては、質問文のグループ化及びグループの特徴部分の提示をサーバ装置1が管理者端末装置3に対して行うものとするが、これに限るものではなく、サーバ装置1がユーザ端末装置4に対して質問文をグループ化及びグループの特徴部分の提示を行ってもよい。
図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」、「質問文」、「回答文」及び「質問文のベクトル情報」等の情報が対応付けられたデータベースである。「FAQID」は、登録済質問文及び回答文の組に対応して付される識別情報である。「FAQID」は、文字及び数字等の組み合わせで表され、図示の例では"FAQ001"、"FAQ002"等のFAQIDが登録されている。「質問文」は、管理者が登録した質問の文章(登録済質問文)であり、ユーザが入力することが予想される質問の文章である。本図において「質問文」は、"Q1"、"Q2"等のように略示されているが、実際には日本語又は英語等の文章が登録される。「回答文」は、管理者が登録した回答の文章であり、対応する登録済質問文の回答である。本図において「回答文」は、"A1"、"A2"等のように略示されているが、実際には日本語又は英語等の文章が登録される。「質問文のベクトル情報」は、登録された「質問文」の文章を汎用言語表現モデル100にてベクトル化した情報である。本図において「質問文のベクトル情報」は、”ベクトルV1”、”ベクトルV2”等のように略示されているが、実際には例えば512次元のベクトル情報である。
また本実施の形態に係るFAQシステムにおいては、1つの「FAQID」及び「回答文」に対応付けて複数の「質問文」が登録可能である。図示の例では、「FAQID」="FAQ003"及び「回答文」="A3"の組み合わせに対応して、「質問文」として"Q3−1"、"Q3−2"及び"Q3−3"の3つが登録されている。なお本実施の形態においては、1つの「FAQID」に対応して「回答文」は1つが登録されるものとするが、これに限るものではなく、1つの「FAQID」に対応して複数の「回答文」が登録可能な構成であってもよい。
図4は、入力質問文記憶部12bの一構成例を示す模式図である。本実施の形態に係る入力質問文記憶部12bは、「日時情報」、「入力質問文」及び「入力質問文のベクトル情報」等の情報を対応付けて記憶する。「日時情報」は、ユーザ端末装置4にて質問文の入力を受け付けた日時、又は、ユーザ端末装置4から送信される入力質問文をサーバ装置1が受信した日時の情報である。「入力質問文」は、ユーザが入力した質問の文章である。本図において「入力質問文」は、"q1"、"q2"等のように略示されているが、実際には日本語又は英語等の文章が記憶される。「入力質問文のベクトル情報」は、「入力質問文」の文章を汎用言語表現モデル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は、ユーザ端末装置4にてユーザが入力した入力質問文を取得する処理を行う。入力質問文取得部11aは、ユーザ端末装置4から送信される入力質問文を通信部13にて受信することで取得し、取得した入力質問文を記憶部12の入力質問文記憶部12bに記憶する。このときに入力質問文取得部11aは、入力質問文と共に、入力質問文が入力された日時情報と、ベクトル変換部11bにより入力質問文を変換したベクトル情報とを入力質問文記憶部12bに対応付けて記憶する。
ベクトル変換部11bは、汎用言語表現モデル100を用いることにより、入力質問文取得部11aが取得した入力質問文、及び、FAQデータベース2に登録する質問文等をベクトル情報に変換する処理を行う。ベクトル変換部11bは、入力質問文取得部11aが取得した入力質問文を汎用言語表現モデル100へ入力し、これに応じて汎用言語表現モデル100が出力するベクトル情報を取得することによって、入力質問文をベクトル情報に変換する。入力質問文から変換されたベクトル情報は、入力質問文記憶部12bに記憶される。またベクトル変換部11bは、管理者端末装置3にて管理者から入力を受け付けたFAQデータベース2へ登録する質問文を汎用言語表現モデル100へ入力し、これに応じて汎用言語表現モデル100が出力するベクトル情報を取得することによって、登録する質問文をベクトル情報に変換する。管理者が入力した質問文及びそのベクトル情報は、FAQデータベース2に登録されて、登録済質問文及びそのベクトル情報となる。
グループ分類部11cは、複数の質問文を一又は複数のグループに分類する処理を行う。本実施の形態においてグループ分類部11cは、2つの質問文に対応する2つのベクトル情報を比較することによって、2つのベクトル情報の距離を算出する。グループ分類部11cは、算出した2つのベクトル情報の距離と、予め定められたグループ閾値とを比較し、距離がグループ閾値を超えない場合に、この2つの質問文を1つのグループとして扱う。グループ閾値は例えば記憶部12に記憶されており、本実施の形態においてグループ閾値は管理者又はユーザによりその値が変更され得る。
特徴部分抽出部11dは、グループ分類部11cが分類したグループに含まれる複数の質問文に基づいて、このグループの特徴部分を抽出する処理を行う。本実施の形態において質問文は、一又は複数のトークンの集合である。トークンは、形態素解析やN-gramなどの手法により、文章を分節して生成される1又は複数の文字の組みである。トークンは、形態素解析により分節した場合、単語などの形態素となり、N-gramにより分節した場合、文章において順番に並んだN文字の組みとなる。特徴部分抽出部11dは、例えばグループに含まれる複数の質問文に共通のトークンを抽出し、抽出したトークンをグループの特徴部分とする。また、特徴部分抽出部11dは、連続する複数のトークンを1の特徴部分として抽出してもよい。特徴部分抽出部11dによる特徴部分の抽出方法の詳細については後述する。
閾値入力受付部11eは、グループ分類部11cがグループの分類に用いるグループ閾値の入力を受け付ける処理を行う。管理者端末装置3は管理者からグループ閾値の入力を受け付けてサーバ装置1へ送信し、サーバ装置1の閾値入力受付部11eは、管理者端末装置3から送信されるグループ閾値を通信部13にて受信して記憶部12に記憶することによって、管理者からのグループ閾値の入力を受け付ける。同様に、閾値入力受付部11eは、ユーザ端末装置4からユーザによるグループ閾値の入力を受け付けてよい。閾値入力受付部11eがグループ閾値の入力を受け付けることによって、グループ分類部11cが用いるグループ閾値が更新される。またグループ閾値は、管理者端末装置3毎、ユーザ端末装置4毎、管理者毎又はユーザ毎に個別の値を設定可能であり、閾値入力受付部11eは入力を受け付けた装置又は人等を識別する識別情報と共にグループ閾値を記憶部12に記憶する。
表示処理部11fは、管理者端末装置3の表示部又はユーザ端末装置4の表示部に文字及び画像等の情報を表示する処理を行う。表示処理部11fは、表示用のデータを作成し、作成した表示用のデータを通信部13にて管理者端末装置3又はユーザ端末装置4へ送信することによって、管理者端末装置3又はユーザ端末装置4に所望の表示を行わせる。サーバ装置1から表示用のデータを受信した管理者端末装置3又はユーザ端末装置4は、受信したデータに基づいて表示部に文字及び画像等を表示する。本実施の形態において表示処理部11fは、複数の質問文をグループ化した情報の表示、及び、各グループの特徴部分の強調表示等の表示処理を行う。
学習処理部11gは、汎用言語表現モデル100を学習する処理を行う。学習処理部11gは、例えばインターネット上で収集された文章や質問文及び質問文に類似する文章等で構成された学習用データを用いて、汎用言語表現モデル100の深層学習を行う。学習用データは、少なくとも最初の学習処理においては、管理者等が予め作成したデータが用いられる。2回目以降の学習処理(再学習処理)においては、サーバ装置1は入力質問文記憶部12bに記憶して蓄積した入力質問文を学習用データとして用いてもよい。サーバ装置1は、例えば1週間又は1ヶ月等の周期で、汎用言語表現モデル100の再学習処理を行ってよい。また、最初の学習処理を予め実行済みの汎用言語表現モデル100が用意されてもよい。
図5は、本実施の形態に係る管理者端末装置3の構成を示すブロック図である。本実施の形態に係る管理者端末装置3は、処理部31、記憶部(ストレージ)32、通信部(トランシーバ)33、表示部(ディスプレイ)34及び操作部35等を備えて構成されている。管理者端末装置3は、例えば汎用のパーソナルコンピュータ又はタブレット型端末装置等の情報処理装置を用いて構成され得る。
処理部31は、CPU又はMPU等の演算処理装置、ROM、及び、RAM等を用いて構成されている。処理部31は、記憶部32に記憶されたプログラム32aを読み出して実行することにより、質問文及び回答文をFAQデータベース2に登録する処理、並びに、複数の質問文をグループ化して表示する処理等の種々の処理を行う。
記憶部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及び登録処理部31c等がソフトウェア的な機能部として処理部31に実現される。なおプログラム32aは、本実施の形態に係るFAQシステムに専用のプログラムであってもよく、インターネットブラウザ又はウェブブラウザ等の汎用のプログラムであってもよい。
表示処理部31aは、表示部34に種々の文字及び画像等を表示する処理を行う。本実施の形態において表示処理部31aは、ネットワークNを介して通信部33にて受信したサーバ装置1からの表示用のデータに基づいて、サーバ装置1のFAQデータベース2に登録された複数の登録済質問文又は入力質問文記憶部12bに記憶された複数の入力質問文等をグループ化して表示する。また表示処理部31aは、質問文のグループの特徴部分となるトークンを強調表示する。
閾値入力受付部31bは、サーバ装置1が質問文をグループに分類する際に用いるグループ閾値の入力を受け付ける処理を行う。閾値入力受付部31bは、操作部35に対する管理者の操作を受け付け、この管理者の操作に基づいてグループ閾値の入力を受け付ける。閾値入力受付部31bは、入力を受け付けたグループ閾値を、通信部33にてネットワークNを介してサーバ装置1へ送信する。サーバ装置1は、管理者端末装置3から受信したグループ閾値を記憶部12に記憶して、以後の処理に用いる。
登録処理部31cは、管理者による新たな質問文及び回答文の入力受付及び登録等の処理を行う。登録処理部31cは、操作部35に対する管理者の操作に基づいて、新たに登録すべき質問文及び回答文の入力を受け付ける。登録処理部31cは、受け付けた質問文及び回答文をサーバ装置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システムでは、管理者は管理者端末装置3を利用して新たな質問文及びその回答文をFAQデータベース2に登録する作業を行う。例えばFAQデータベース2に登録された登録済質問文の傾向等を把握するため、管理者は一又は複数の登録済質問文を管理者端末装置3に表示することができる。このときに本実施の形態に係る管理者端末装置3は、複数の登録済質問文をグループ化して表示すると共に、グループの特徴部分を強調表示する。
また例えば、管理者はサーバ装置1の入力質問文記憶部12bに記憶されたユーザの入力質問文を管理者端末装置3に表示することができる。このときにも同様に、管理者端末装置3は、複数の入力質問文をグループ化して表示すると共に、グループの特徴部分を強調表示する。なおFAQシステムは、FAQデータベース2に登録された登録済質問文と入力質問文記憶部12bに記憶された入力質問文とを含む複数の質問文についてグループ化及び特徴部分の強調表示を行ってもよい。
また本実施の形態に係るFAQシステムでは、ユーザはユーザ端末装置4を利用して質問文を入力し、この入力質問文に類似する登録済質問文及びその回答文をユーザ端末装置4に表示させることができる。このときに本実施の形態に係るユーザ端末装置4は、入力質問文に類似する複数の登録済質問文をグループ化して表示すると共に、グループの特徴部分を強調表示する。
本実施の形態においては、複数の質問文をグループ化する処理及びグループの特徴部分を抽出する処理等はサーバ装置1が行う。サーバ装置1は、これらの処理結果に基づいて表示用のデータを作成し、作成したデータを管理者端末装置3又はユーザ端末装置4へ送信する。管理者端末装置3及びユーザ端末装置4は、サーバ装置1から送信された表示用のデータを受信し、受信したデータに基づく表示を行うことによって、複数の質問文をグループ化して表示すると共に、グループの特徴部分を強調表示する。ただし、複数の質問文をグループ化する処理及びグループの特徴部分を抽出する処理等を管理者端末装置3又はユーザ端末装置4にて行ってもよい。
図7は、質問文のグループ化を説明するための模式図である。なお、グループ化する質問文は登録済質問文又は入力質問文のいずれであっても処理方法は同じでよいため、以下では単に質問文としてグループ化の方法を説明する。本実施の形態に係るサーバ装置1は、質問文を汎用言語表現モデル100へ入力し、その出力として質問文をベクトル化したベクトル情報を得る。質問文のベクトル情報には例えば512次元等の高次元のものが用いられるが、簡略化のために図7においてはベクトル情報が2次元であるものとして、8つの質問文s1〜s8に対応するベクトル情報をxy座標平面上の8つの点として図示している。
例えばサーバ装置1は、8つのベクトル情報から2つのベクトル情報を選択して距離を算出する処理を、全組み合わせについて行う。サーバ装置1は、算出したベクトル情報の間の距離と記憶部12に記憶されたグループ閾値とを比較し、距離がグループ閾値を超えない2つのベクトル情報を1つのグループとする。更にサーバ装置1は、2つのグループに属する複数のベクトル情報の距離を比較し、最長の距離がグループ閾値を超えない場合にはこの2つのグループを1つのグループに統合する。サーバ装置1は、グループの統合を繰り返し行い、これ以上の統合が不可能となった場合にグループ化の処理を終了する。
図7に示す例では、8つの質問文s1〜s8が3つのグループG1〜G3に分類された分類結果を、各グループに属する質問文を破線円で囲むことで表している。本例の場合、質問文s1〜s3がグループG1に分類され、質問文s4,s5がグループG2に分類され、質問文s6〜s8がグループG3に分類されている。
なお、サーバ装置1による質問文のグループ化の方法は、上記の方法に限らない。サーバ装置1は、例えばk平均法(k-means法)、最短距離法、ウォード法又は群平均法等の種々のクラスタリングアルゴリズムを用いて、質問文のグループ化を行ってよい。また図7においては、8つの質問文s1〜s8は、それぞれ1つのグループに属するようグループ化が行われているが、例えば1つの質問文が複数のグループに属していてもよい。
複数の質問文をグループ化したサーバ装置1は、各グループの特徴を示す特徴部分を抽出する処理を行う。本実施の形態においては、特徴部分の抽出方法として、2つの方法を説明する。サーバ装置1は、これらのいずれか1つの方法を採用して特徴部分を抽出してもよく、2つの方法を共に採用して特徴部分を抽出してもよい。
(抽出方法1)
第1の抽出方法においてサーバ装置1は、例えば質問文に対して字句解析の処理を行うことによって、質問文に含まれるトークンを取得する。サーバ装置1は、グループに含まれる複数の質問文についてトークンの取得を行い、複数の質問文に含まれる複数のトークンを調べる。例えばサーバ装置1は、より多くの(最多の)質問文に含まれている共通のトークンを抽出し、この共通のトークンをグループの特徴部分とする。また例えばサーバ装置1は、取得した全てのトークンについて同じトークンの数をカウントし、最多のトークンをグループの特徴部分としてもよい。
(抽出方法2)
第2の抽出方法においてサーバ装置1は、質問文に含まれる複数のトークンに対応するベクトル情報に基づいて特徴部分を抽出する。図8は、汎用言語表現モデル100を用いたベクトル情報の取得方法の一例を示す模式図である。第2の抽出方法が採用される場合には、汎用言語表現モデル100を用いて質問文に対応するベクトル情報を取得する方法として、質問文に含まれるトークンのベクトル情報をも取得することができる図8に示す方法が好適である。
サーバ装置1は、ベクトル情報への変換の対象となる質問文に対し、例えば字句解析の処理を行うことによって、質問文を複数のトークンに分割する。図8に示す例では、1つの質問文がN個のトークンに分割されている。汎用言語表現モデル100は、N個のトークン1〜Nを入力情報として受け付けて、各トークンに対応するN個のベクトル情報(ベクトル1〜N)を出力する。各ベクトル1〜Nは、例えばそれぞれ512次元のベクトルである。
サーバ装置1は、汎用言語表現モデル100が出力するN個の512次元のベクトル1〜Nを取得し、取得したN個のベクトルを合成することによって、質問文に対する1つのベクトル情報を得る。合成により得られるベクトル情報は512次元である。例えばサーバ装置1は、N個の512次元のベクトル1〜Nの各次元の要素について、512個の値の平均値、最大値又は最小値等を算出し、算出した512個の値を要素とするベクトルを質問文のベクトル情報とすることができる。サーバ装置1は、FAQデータベース2及び入力質問文記憶部12bに質問文のベクトル情報と共に、質問文を構成する各トークンのベクトル情報を記憶しておく。
図9は、特徴部分の第2の抽出方法を説明するための模式図である。図9に示すグラフは図7に示したグループG1を拡大したものに相当し、グループG1には3つの質問文s1〜s3が属している。質問文s1には4つのトークンst11〜st14が含まれ、質問文s2には3つのトークンst21〜st23が含まれ、質問文s3には4つのトークンst31〜st34が含まれているものとして、図9には各トークンに対応するベクトルが白抜きの点で示されている。
サーバ装置1は、同じグループG1に属する2つの質問文について、最近傍のトークンのベクトルを探索する。図9に示す例では、質問文s1及びs2について最近傍のトークンのベクトルは、トークンst13及びst22のベクトルである。同様に、質問文s2及びs3について最近傍のトークンのベクトルは、トークンst23及びst31のベクトルである。質問文s3及びs1について最近傍のトークンのベクトルは、トークンst31及びst12のベクトルである。図9には、これら最近傍のトークンの組み合わせを、一点鎖線の長円で囲んで示してある。サーバ装置1は、2つの質問文に含まれるトークンのベクトルを比較し、最近傍のトークンのベクトルの組み合わせを抽出する処理を、グループG1に属する複数の質問文に対して繰り返し行う。
サーバ装置1は、最近傍の組み合わせとして得られたベクトルに対応するトークンを、このグループに属する複数の質問文の特徴部分とする。図示の例では、サーバ装置1は、グループG1の特徴部分としてトークンst12、st13、st22、st23、st31を抽出する。サーバ装置1は、FAQデータベース2及び入力質問文記憶部12bに、トークンのベクトルに対応するトークンを記憶していてもよく、ベクトル及び元の質問文からトークンを取得してもよい。
<画面表示>
サーバ装置1は、質問文のグループ化処理及び特徴部分の抽出処理の結果を、管理者端末装置3又はユーザ端末装置4に表示する処理を行う。図10は、管理者端末装置3による登録済質問文の一表示例を示す模式図である。図10の左側に示す例では、サーバ装置1のFAQデータベース2には、5つの質問文Q1〜Q5が登録されているものとしている。登録済質問文Q1は「経費の建て替えについて」である。登録済質問文Q2は「交通費の清算方法」である。登録済質問文Q3は「交際費の上限額」である。登録済質問文Q4は「有給休暇の申請方法」である。登録済質問文Q5は「夏季休暇の日数」である。
例えば管理者端末装置3は登録済質問文を表示する操作を管理者から受け付けた場合に、登録済質問文の表示要求をサーバ装置1へ与える。管理者端末装置3からの要求を受けたサーバ装置1は、FAQデータベース2に登録された登録済質問文についてグループ化処理及び特徴部分の抽出処理を行う。これらの処理の結果に基づいてサーバ装置1は、類似の登録済質問文をグループ化し、各グループの特徴部分を強調して登録済質問文を表示するための表示用のデータを作成して管理者端末装置3へ送信する。
サーバ装置1からのデータを受信した管理者端末装置3は、受信したデータに基づいて図10の右側に示す画面表示を行う。図示の例では、3つの登録済質問文Q1〜Q3がグループ1に分類され、2つの登録済質問文Q4,Q5がグループ2に分類されている。管理者端末装置3は、グループ1の登録済質問文の一覧を画面の上側に、グループ2の登録済質問文の一覧を画面の下側に配置して表示する。また管理者端末装置3は、グループ1のラベルに並べて、このグループの特徴部分として抽出されたトークン「経費」、「交通費」、「交際費」、「建て替え」、「清算」を表示する。管理者端末装置3は、グループ1の登録済質問文の一覧において、特徴部分に該当する登録済質問文のトークンの部分を強調表示する。本例では、特徴部分のトークン毎に異なる背景色(ただし図10においては異なる背景色を異なる網掛け表現で代用している)で文字列を表示することにより、特徴部分の強調表示が行われている。同様に、管理者端末装置3は、グループ2のラベルに並べて、このグループの特徴部分として抽出されたトークン「休暇」を表示する。管理者端末装置3は、グループ2の登録済質問文の一覧において、特徴部分に該当する登録済質問文のトークン「休暇」の部分を強調表示する。
また登録済質問文の表示画面の下部には、「グループ条件変更」のラベルが付されたボタン111が設けられている。管理者端末装置3は、このボタン111に対する操作を受け付けた場合、グループ閾値の設定画面(図示は省略する)を表示して、グループ閾値の設定を受け付ける。管理者端末装置3は、受け付けたグループ閾値をサーバ装置1へ送信すると共に、登録済質問文の表示要求を与える。これにより、変更されたグループ閾値を反映した登録済質問文のグループ化処理及び特徴部分の抽出処理がサーバ装置1にて行われ、管理者端末装置3は変更されたグループ閾値を反映した登録済質問文の表示を行うことができる。
図11は、管理者端末装置3による入力質問文の一表示例を示す模式図である。図11の左側に示す例では、サーバ装置1の入力質問文記憶部12bには、5つの入力質問文q1〜q5が記憶されているものとしている。入力質問文q1は「経費 精算」である。入力質問文q2は「交通費の清算方法」である。入力質問文q3は「有給 申請」である。入力質問文q4は「休暇の取得」である。入力質問文q5は「残業申請」である。
例えば管理者端末装置3は入力質問文を表示する操作を管理者から受け付けた場合に、入力質問文の表示要求をサーバ装置1へ与える。管理者端末装置3からの要求を受けたサーバ装置1は、入力質問文記憶部12bに記憶された入力質問文についてグループ化処理及び特徴部分の抽出処理を行う。これらの処理の結果に基づいてサーバ装置1は、類似の入力質問文をグループ化し、各グループの特徴部分を強調して入力質問文を表示するための表示用のデータを作成して管理者端末装置3へ送信する。
サーバ装置1からのデータを受信した管理者端末装置3は、受信したデータに基づいて図11の右側に示す画面表示を行う。図示の例では、1つの入力質問文q1,q2がグループ1に分類され、2つの入力質問文q3,q4がグループ2に分類され、1つの入力質問文q5がグループ3に分類されている。管理者端末装置3は、画面の上側から下側へ順に、グループ1の入力質問文の一覧と、グループ2の入力質問文の一覧と、グループ3の入力質問文の一覧とを並べて表示する。また管理者端末装置3は、グループ1のラベルに並べて、このグループの特徴部分として抽出されたトークン「経費」、「交通費」、「清算」を表示する。管理者端末装置3は、グループ1の入力質問文の一覧において、特徴部分に該当する入力質問文のトークンの部分を強調表示する。本例では、特徴部分のトークン毎に異なる背景色(ただし図11においては異なる背景色を異なる網掛け表現で代用している)で文字列を表示することにより、特徴部分の強調表示が行われている。同様に、管理者端末装置3は、グループ2のラベルに並べて、このグループの特徴部分として抽出されたトークン「有給」、「休暇」を表示し、グループ2の入力質問文の一覧において、特徴部分に該当する入力質問文のトークン「有給」、「休暇」の部分を強調表示する。また本例では、グループ3には入力質問文が1つしか属していないため、特徴部分の抽出は行われていない。管理者端末装置3は、グループ3については特徴部分の強調表示を行わず、グループ3に属する入力質問文の表示のみを行う。
また入力質問文の表示画面の下部には、「グループ条件変更」のラベルが付されたボタン121が設けられている。管理者端末装置3は、このボタン121に対する操作を受け付けた場合、グループ閾値の設定画面(図示は省略する)を表示して、グループ閾値の設定を受け付ける。管理者端末装置3は、受け付けたグループ閾値をサーバ装置1へ送信すると共に、入力質問文の表示要求を与える。これにより、変更されたグループ閾値を反映した入力質問文のグループ化処理及び特徴部分の抽出処理がサーバ装置1にて行われ、管理者端末装置3は変更されたグループ閾値を反映した入力質問文の表示を行うことができる。
図12は、ユーザ端末装置4による登録質問文の検索結果の一表示例を示す模式図である。ユーザ端末装置4は、検索する質問文を入力するための入力ボックス131が設けられた検索画面を表示部44に表示する。ユーザは、検索画面の入力ボックス131に質問文を入力することによって、この入力質問文に類似する登録済質問文の検索を行うことができる。図12に示す例では、「経費の申請方法」という質問文が入力ボックス131に入力され、検索結果として入力質問文に類似する5つの登録済質問文が2つのグループに分類され、左右に並べて表示されている。
ユーザ端末装置4は入力ボックス131に入力された入力質問文をサーバ装置1へ送信し、類似する登録済質問文の表示要求をサーバ装置1へ与える。ユーザ端末装置4からの要求を受けたサーバ装置1は、ユーザ端末装置4から与えられた入力質問文をベクトル情報に変換し、FAQデータベース2に登録された登録済質問文のベクトル情報との比較を行うことによって、類似する登録済質問文をFAQデータベース2から抽出する。更にサーバ装置1は、FAQデータベース2から抽出された複数の登録済質問文についてグループ化処理及び特徴部分の抽出処理を行う。これらの処理の結果に基づいてサーバ装置1は、複数の登録済質問文をグループ化し、各グループの特徴部分を強調した登録済質問文を検索結果として表示するための表示用のデータを作成してユーザ端末装置4へ送信する。
サーバ装置1からのデータを受信したユーザ端末装置4は、受信したデータに基づいて図12に示す画面表示を行う。本例では、画面の左側にグループ1として「経費の建て替えについて」、「交通費の清算方法」及び「交際費の上限」の3つの登録済質問文が表示され、特徴部分として「経費」、「交通費」、「交際費」、「建て替え」及び「清算」のトークンが強調表示されている。また本例では、画面の右側にグループ2として「有給休暇の申請方法」及び「異動の申請」の2つの登録済質問文が表示され、特徴部分として「申請」が強調表示されている。本例では、特徴部分のトークン毎に異なる背景色(ただし図11においては異なる背景色を異なる網掛け表現で代用している)で文字列を表示することにより、特徴部分の強調表示が行われている。
また検索画面の入力ボックス131の右隣には、「グループ条件変更」のラベルが付されたボタン132が設けられている。ユーザ端末装置4は、このボタン132に対する操作を受け付けた場合、グループ閾値の設定画面(図示は省略する)を表示して、グループ閾値の設定を受け付ける。ユーザ端末装置4は、受け付けたグループ閾値をサーバ装置1へ送信すると共に、検索結果の表示要求を与える。これにより、変更されたグループ閾値を反映した登録済質問文のグループ化処理及び特徴部分の抽出処理がサーバ装置1にて行われ、ユーザ端末装置4は変更されたグループ閾値を反映した登録済質問文の表示を行うことができる。
また検索画面の下部には、「もっと見る」のラベルが付されたボタン133が設けられている。検索画面には入力質問文に類似する登録済質問文が検索結果として表示されるが、本例では入力質問文との類似度が高い上位2つのグループが表示されている。ボタン133は、現時点では表示されていない3位以下のグループを表示させるための操作を受け付ける。ユーザ端末装置4は、ボタン133に対する操作を受け付けた場合、現時点で表示されていない検索結果の表示要求をサーバ装置1へ与える。この要求を受けたサーバ装置1は、現在表示されているグループに次いで類似度が高い登録済質問文をFAQデータベース2から抽出し、抽出した登録済質問文のグループ化処理及び特徴部分の抽出処理を行う。これらの処理の結果に基づいてサーバ装置1は、次に類似度が高い登録質問文をグループ化して特徴部分を強調した作成し、ユーザ端末装置4へ送信する。サーバ装置1からのデータを受信したユーザ端末装置4は、例えばグループ1,2の下方に、これらに次いで類似度が高いグループ3,4の登録質問文を表示することができる。
図13は、ユーザ端末装置4による登録質問文の検索結果の別の表示例を示す模式図である。上述の図12の検索画面では、入力質問文に類似する複数の登録済質問文がグループ化されて一覧表示されている。これに対して図13に示す検索画面では、類似する複数の登録済質問文がグラフ表示されている。サーバ装置1は、入力質問文に類似する登録済質問文をFAQデータベース2から抽出し、抽出した複数の登録済質問文をグループ化して特徴部分を抽出する処理を行う。更にサーバ装置1は、抽出した登録済質問文に対応する512次元のベクトル情報を、2次元のベクトル情報に変換(圧縮又は削減等)する処理を行う。サーバ装置1は、2次元のベクトル情報に対応する点を2次元座標平面上にプロットし、各点に対応する登録済質問文を並記する。またサーバ装置1は、グループ1に属する登録済質問文のプロット位置の近傍に、グループ1のラベルと、グループ1の特徴部分のトークンとを表示すると共に、各登録質問文に含まれる特徴部分を強調表示する。サーバ装置1は上記のグラフを表示するためのデータをユーザ端末装置4へ送信し、このデータを受信したユーザ端末装置4は図12に示すグラフ表示を行うことができる。
上記のグラフ表示を行うためにサーバ装置1は、512次元のベクトル情報を2次元のベクトル情報に変換する必要がある。例えばサーバ装置1は、複数の登録済質問文について、任意の2次元を選択し、選択した2次元に対応する要素を各登録済質問文に対応する512次元のベクトル情報から抽出することで、2次元のベクトル情報への変換を行う。このときに選択される2次元は、2次元座標平面上へプロットした際に、同じグループの登録済質問文が近くに配され、且つ、異なるグループの登録質問文が遠くに配されるように、サーバ装置1が適宜の演算処理を行って決定される。
なお図13においてはユーザ端末装置4による検索結果の表示をグラフ表示で行う例が示されているが、管理者端末装置3が登録済質問文の表示又は入力質問文の表示を行う場合にも同様のグラフ表示を行うことができる。
<フローチャート>
図14は、本実施の形態に係るサーバ装置1が行う登録処理の手順を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、管理者端末装置3から新規の質問文及びその回答文の登録要求を受信したか否かを判定する(ステップS1)。登録要求を受信していない場合(S1:NO)、処理部11は、登録要求を受信するまで待機する。登録要求を受信した場合(S1:YES)、処理部11のベクトル変換部11bは、登録要求と共に管理者端末装置3から与えられる質問文を、記憶部12の汎用言語表現モデル100を用いてベクトル情報に変換する(ステップS2)。処理部11は、管理者端末装置3から与えられた質問文及び回答文と、ステップS2にて変換したベクトル情報とをFAQデータベース2に登録し(ステップS3)、処理を終了する。
図15は、本実施の形態に係るサーバ装置1が行う検索結果表示処理の手順を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、ユーザ端末装置4の検索画面において質問文の入力がなされたか否かを、ユーザ端末装置4からの要求の有無に応じて判定する(ステップS11)。質問文の入力がなされていない場合(S11:NO)、処理部11は、質問文の入力がなされるまで待機する。質問文の入力がなされた場合(S11:YES)、処理部11のベクトル変換部11bは、ユーザ端末装置4にて入力が受け付けられ、ユーザ端末装置4から送信される入力質問文を受信することによって入力質問文取得部11aが取得した入力質問文を、記憶部12の汎用言語表現モデル100を用いてベクトル情報に変換する(ステップS12)。処理部11の入力質問文取得部11aは、ユーザ端末装置4から取得した入力質問文と、ステップS12にて変換されたベクトル情報とを入力質問文記憶部12bに記憶する(ステップS13)。
処理部11は、ユーザ端末装置4から取得した入力質問文のベクトル情報と、FAQデータベース2に登録された登録済質問文のベクトル情報とを比較し、入力質問文に類似する登録済質問文を検索する(ステップS14)。処理部11のグループ分類部11cは、設定されたグループ閾値を用いて、ステップS14の検索によりFAQデータベース2から抽出された複数の登録済質問文をグループ化する(ステップS15)。処理部11の特徴部分抽出部11dは、ステップS15にてグループ化された登録済質問文を基に、各グループの特徴部分を抽出する(ステップS16)。処理部11の表示処理部11fは、入力質問文に類似するものとして検索された登録済質問文をグループ化して特徴部分を強調表示した検索結果をユーザ端末装置4に表示させる表示処理を行い(ステップS17)、処理を終了する。
図16は、本実施の形態に係るサーバ装置1が行う登録済質問文又は入力質問文の表示処理の手順を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、管理者端末装置3から登録質問文の表示要求を受信したか否かを判定する(ステップS31)。登録質問文の表示要求を受信した場合(S31:YES)、処理部11のグループ分類部11cは、設定されたグループ閾値を用いて、FAQデータベース2に登録された登録済質問文をグループ化する(ステップS32)。処理部11の特徴部分抽出部11dは、ステップS32にてグループ化された登録済質問文を基に、各グループの特徴部分を抽出する(ステップS33)。処理部11の表示処理部11fは、登録済質問文をグループ化して特徴部分を強調表示したものを管理者端末装置3に表示させる表示処理を行い(ステップS34)、処理を終了する。
管理者端末装置3から登録済質問文の表示要求を受信していない場合(S31:NO)、処理部11は、管理者端末装置3から入力質問文の表示要求を受信したか否かを判定する(ステップS35)。入力質問文の表示要求を受信していない場合(S35:NO)、処理部11は、ステップS31へ処理を戻し、管理者端末装置3から登録済質問文の表示要求又は入力質問文の表示要求を受信するまで待機する。
入力質問文の表示要求を受信した場合(S35:YES)、グループ分類部11cは、設定されたグループ閾値を用いて、入力質問文記憶部12bに記憶された入力質問文をグループ化する(ステップS36)。特徴部分抽出部11dは、ステップS36にてグループ化された入力質問文を基に、各グループの特徴部分を抽出する(ステップS37)。表示処理部11fは、入力質問文をグループ化して特徴部分を強調表示したものを管理者端末装置3に表示させる表示処理を行い(ステップS38)、処理を終了する。
<まとめ>
以上の構成の本実施の形態に係るFAQシステムでは、サーバ装置1が登録済質問文又は入力質問文等の質問文をベクトル情報に変換し、変換したベクトル情報を基に複数の質問文をグループに分類し、各グループに含まれる複数の質問文の特徴部分を抽出して、抽出した特徴部分を管理者端末装置3又はユーザ端末装置4に表示させる。これにより、管理者端末装置3を利用する管理者は、多数の登録済質問文又は入力質問文がグループ分けされた情報について、各グループの特徴を容易に把握することができ、新たな質問文及び回答文の登録作業が容易化されることが期待できる。ユーザ端末装置4を利用するユーザは、入力した質問文に類似する登録済質問文がグループ化された情報について、各グループの特徴を容易に把握することができ、所望の質問に対する回答を得ることが容易化されることが期待できる。
また本実施の形態に係るFAQシステムでは、抽出する特徴部分にはトークンを少なくとも1つ含む。これにより、グループの特徴部分として質問文を構成するトークンが抽出されて表示され、管理者及びユーザ等は、質問文に含まれるトークンでグループの特徴を把握することができるため、グループの特徴を容易に把握することができる。
また本実施の形態に係るFAQシステムでは、特徴部分の抽出方法2として、質問文に含まれるトークンに対応するベクトル情報に基づいてグループの特徴部分を抽出する。トークンに対応するベクトル情報を用いることによって、よりグループの特徴を示す部分を抽出することが期待できる。また、単に登場回数が多いトークンではなく、類似した意味を有する複数のトークンを特徴部分として抽出することができる。
また本実施の形態に係るFAQシステムでは、抽出した特徴部分を強調表示する。これによりユーザは質問文の特徴部分を容易に把握することができる。
また本実施の形態に係るFAQシステムでは、複数の質問文をグループに分類するためのグループ閾値の設定を管理者又はユーザから受け付け、受け付けたグループ閾値に従って分類の処理を行う。これにより管理者又はユーザは、分類されるグループの数及び大きさ等を適宜にコントロールすることができる。
また本実施の形態に係るFAQシステムでは、FAQデータベース2に登録された登録済質問文をグループに分類して特徴部分を抽出し、管理者端末装置3にて登録済質問文の表示を行う。これにより管理者は、登録済質問文の特徴を把握して、新たな質問文及び回答文の登録作業を行うことができる。
また本実施の形態に係るFAQシステムでは、ユーザ端末装置4にてユーザからの質問文の入力を受け付けて入力質問文記憶部12bに記憶し、入力質問文記憶部12bに記憶された複数の入力質問文をグループに分類して特徴部分を抽出し、管理者端末装置3にて入力質問文の表示を行う。これにより管理者は、ユーザが入力した入力質問文の特徴を把握して、新たな質問文及び回答文の登録作業を行うことができる。
また本実施の形態に係るFAQシステムでは、ユーザ端末装置4にてユーザからの質問文の入力を受け付け、サーバ装置1が入力質問文に類似する登録済質問文をFAQデータベース2から検索し、検索により得られた複数の登録済質問文をグループに分類して特徴部分を抽出し、ユーザ端末装置4にて登録済質問文の表示を行う。これによりユーザは、検索した質問文に類似する複数の登録済質問文の特徴を把握して、入力した質問文に対する所望の回答を探すことができる。
また本実施の形態に係るFAQシステムでは、ベクトル情報に基づいて複数の質問文を例えば2次元座標系のグラフにプロットして表示する。これにより管理者又はユーザは、複数の質問文の対応関係を視覚的に容易に把握することができる。
なお本実施の形態において示した画面表示、データベースの構成、データベースに記憶された情報及びフローチャートの処理手順等は、一例であってこれに限るものではなく、適宜に設計変更等がなされてよい。
また本実施の形態に係るFAQシステムでは、サーバ装置1が質問文をグループ化する処理及びグループの特徴部分を抽出する処理等を行っているが、これらの処理は管理者端末装置3又はユーザ端末装置4が行ってもよい。この場合に管理者端末装置3又はユーザ端末装置4は、ネットワークNを介した通信によりサーバ装置1のデータベースにアクセスしてもよく、自身がデータベースを保持してもよい。また本実施の形態においては、質問文及び回答文の入力がテキスト形式で行われているが、これに限るものではなく、音声入力により行われてもよい。
また本実施の形態においては、質問文及びトークンを512次元のベクトル情報に変換するものとしたが、これは一例であって、ベクトル情報は何次元のものであってもよい。また質問文を2次元の座標系にプロットして表示する例を示したが、これに限るものではなく、1次元又は3次元以上の座標系にプロットして表示してもよい。
また本実施の形態においては、データベースに登録された質問文及びユーザが入力した質問文等の文章について特徴部分を抽出するシステムを例に説明を行ったが、本技術は質問文以外の文章に適用することができる。本技術は、種々の文章を収集してユーザ等に表示するシステムに適用可能である。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。