本発明の実施形態に係る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は、ユーザ端末装置4から受け付けた入力質問文の中から、FAQデータベース2に登録された登録済質問文に類似しない入力質問文を抽出し、抽出した入力質問文を候補質問文として管理者端末装置3へ送信する。管理者端末装置3は、サーバ装置1から受信した候補質問文を、新たな質問文の候補として表示する。これにより管理者は、候補として表示された候補質問文に対応する回答文を作成し、この質問文及び回答文をFAQデータベース2に登録することで、FAQデータベース2に登録されていない質問文及び回答文を登録することができる。
図2は、本実施の形態に係るサーバ装置1の構成を示すブロック図である。本実施の形態に係るサーバ装置1は、処理部11、記憶部(ストレージ)12及び通信部(トランシーバ)13等を備えて構成されている。なお本実施の形態においては、1つのサーバ装置1にて処理が行われるものとして説明を行うが、複数のサーバ装置1が分散して処理を行ってもよい。
処理部11は、CPU(Central Processing Unit)又はMPU(Micro-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に記録された態様で提供されてもよい。
図3は、FAQデータベース2の一構成例を示す模式図である。本実施の形態に係るFAQデータベース2は、「FAQID」、「質問文」、「回答文」及び「質問文のベクトル情報」等の情報が対応付けられたデータベースである。「FAQID」は、登録済質問文及び回答文の組に対応して付される識別情報である。「FAQID」は、文字及び数字等の組み合わせで表され、図示の例では”FAQ001”、”FAQ002”等のFAQIDが登録されている。「質問文」は、管理者が登録した質問の文章であり、ユーザが入力することが予想される質問の文章である。本図において「質問文」は、”Q1”、”Q2”等のように略示されているが、実際には日本語又は英語等の文章が登録される。「回答文」は、管理者が登録した回答の文章であり、対応する登録済質問文の回答である。本図において「回答文」は、”A1”、”A2”等のように略示されているが、実際には日本語又は英語等の文章が登録される。「質問文のベクトル情報」は、登録された「質問文」の文章を汎用言語表現モデル100にてベクトル化した情報である。
また本実施の形態に係るFAQシステムにおいては、1つの「FAQID」及び「回答文」に対応付けて複数の「質問文」が登録可能である。図示の例では、「FAQID」=”FAQ003”及び「回答文」=”A3”の組み合わせに対応して、「質問文」として”Q3−1”、”Q3−2”及び”Q3−3”の3つが登録されている。なお本実施の形態においては、1つの「FAQID」に対応して「回答文」は1つが登録されるものとするが、これに限るものではなく、1つの「FAQID」に対応して複数の「回答文」が登録可能な構成であってもよい。
図4は、汎用言語表現モデル100を用いた類似度算出処理を説明するための模式図である。本実施の形態に係るサーバ装置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は、汎用言語表現モデル100を利用することによって、2つの質問文の類似度を算出する。上述のように、FAQデータベース2に登録される登録済質問文は汎用言語表現モデル100を用いてベクトル情報が算出され、このベクトル情報が登録済質問文と対応付けてFAQデータベース2に登録される。サーバ装置1は、ユーザが入力した入力質問文に対しても同様にして汎用言語表現モデル100を利用してベクトル情報を算出する。サーバ装置1は、算出した入力質問文のベクトル情報と、FAQデータベース2に登録された登録済質問文のベクトル情報とに対して所定のベクトル演算を行うことによって、入力質問文及び登録済質問文の類似度を算出する。所定のベクトル演算は、例えば2つのベクトル情報の距離を算出する演算、又は、2つのベクトル情報の内積を算出する演算等が採用され得る。なお本実施の形態においてサーバ装置1は、類似度を0から1までの小数値として出力し、この値が大きいほど2つの質問文が類似しているものとする。即ち、類似度=1は、2つの質問文が完全に一致することを示す。なお類似度の値は小さいほど2つの質問文が類似しているものであってもよく、この場合には本明細書において類似度に関する大小関係の記述を反転すればよい。
また図示は省略するが、本実施の形態に係るサーバ装置1は、ユーザが入力した2つの入力質問文の類似度を算出する処理を行う。この場合にサーバ装置1は、汎用言語表現モデル100を用いて、ユーザが入力した第1の入力質問文に対応するベクトル情報と、第2の入力質問文に対応する第2のベクトル情報とをそれぞれ算出する。サーバ装置1は、算出した2つのベクトル情報について同様に所定のベクトル演算を行うことによって、2つの入力質問文の類似度を算出することができる。
サーバ装置1の記憶部12に記憶された汎用言語表現モデル100は、予め学習処理がなされた学習済モデルである。学習処理は、予め与えられた多数の学習用データを用いて、ニューラルネットワークを構成する各ニューロンの係数及び閾値等に適切な値を設定する処理である。本実施の形態に係る汎用言語表現モデル100は、予め作成された大量の質問文等のデータが入力されることによって学習がなされ、いわゆる教師なし学習の手法により学習がなされる。ただし汎用言語表現モデル100の学習処理は、教師データを用いる教師あり学習、又は、強化学習等の手法により行われてもよい。学習処理に用いられる質問文等のデータの作成は、本システムの設計者等が行ってもよく、サーバ装置1等の装置が行ってもよい。少なくとも最初の学習処理においては予め作成されたデータが用いられる。例えば質問文等のデータは、従来のFAQシステムにてユーザが入力した質問文の情報、又は、本システムもしくは類似のシステムにおいてなされた実証実験等により得られた情報等に基づいて作成され得る。2回目以降の学習処理(再学習処理)においては、サーバ装置1が収集して蓄積した情報に基づいて学習用のデータが生成されてもよい。
図5は、入力質問文記憶部12bの一構成例を示す模式図である。本実施の形態に係る入力質問文記憶部12bは、「日時情報」、「入力質問文」及び「最大類似度」等の情報を対応付けて記憶する。「日時情報」は、ユーザ端末装置4にて質問文の入力を受け付けた日時、又は、ユーザ端末装置4から送信される入力質問文をサーバ装置1が受信した日時の情報である。「入力質問文」は、ユーザが入力した質問の文章である。本図において「入力質問文」は、”q1”、”q2”等のように略示されているが、実際には日本語又は英語等の文章が記憶される。「最大類似度」は、入力質問文とFAQデータベース2に記憶された各登録済質問文との類似度を、汎用言語表現モデル100を利用してそれぞれ算出し、算出された複数の類似度の中の最大値が記憶される。なお本実施の形態においては、入力質問文記憶部12bに最大類似度のみが記憶されるものとするが、これに限るものではなく、入力質問文と登録済質問文との類似度が全て記憶されてもよい。また入力質問文記憶部12bは、入力質問文について算出したベクトル情報を記憶してもよく、これにより類似度の算出を高速化することができる。
通信部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は、入力質問文と共に、入力質問文が入力された日時情報と、最大類似度とを入力質問文記憶部12bに対応付けて記憶する。最大類似度は、質問文類似度算出部11bにより算出される類似度の最大値である。
質問文類似度算出部11bは、汎用言語表現モデル100を用いることにより、入力質問文取得部11aが取得した入力質問文と、FAQデータベース2に記憶された複数の登録済質問文との類似度をそれぞれ算出する。質問文類似度算出部11bは、FAQデータベース2から取得した登録済質問文のベクトル情報の1つと、入力質問文取得部11aが取得した入力質問文から汎用言語表現モデル100にて算出したベクトル情報とに対して所定のベクトル演算を行うことによって、2つの質問文の類似度を算出する。また質問文類似度算出部11bは、FAQデータベース2に記憶された全ての登録済質問文について、入力質問文との類似度を算出し、算出した全ての類似度の中から最大値を取得し、この最大値を最大類似度とする。入力質問文取得部11aは、質問文類似度算出部11bが算出した最大類似度を入力質問文記憶部12bに記憶する。
閾値比較部11cは、質問文類似度算出部11bが算出した類似度と、予め設定された閾値とを比較する処理を行う。本実施の形態においては、閾値比較部11cが比較に用いる閾値として、候補閾値(第1閾値)、グループ閾値(第2閾値)及び表示閾値(第3閾値)の3つの閾値が設定される。これら3つの閾値は、例えば記憶部12に記憶されている。候補閾値は、入力質問文を新たに登録する質問文の候補とするか否かを判定するための閾値である。例えば、上述の最大類似度が候補閾値に満たない入力質問文が、新たに登録する候補質問文とされる。グループ閾値は、類似する入力質問文をグループ化するための閾値である。例えば、2つの入力質問文について算出した類似度がグループ閾値を超える場合、この2つの入力質問文を1つのグループとして扱う。表示閾値は、ユーザが入力した入力質問文に類似する登録済質問文及びその回答文を出力(表示)するための閾値である。例えば、入力質問文との類似度が表示閾値を超えるFAQデータベース2の登録済質問文及びこれに対応する回答文がサーバ装置1からユーザ端末装置4へ送信される。
候補質問文出力部11dは、管理者端末装置3に対して新たに登録する質問文の候補を候補質問文として出力する処理を行う。候補質問文出力部11dは、候補質問文に関する情報を通信部13にて管理者端末装置3へ送信することによって、管理者端末装置3の表示部等に候補質問文を出力(表示)する。候補質問文出力部11dは、入力質問文記憶部12bに記憶された入力質問文のうち、最大類似度が候補閾値に満たない入力質問文を抽出し、抽出した入力質問文を候補質問文とする。また候補質問文出力部11dは、複数の候補質問文について、候補質問文の間の類似度がグループ閾値を超えるものを1つのグループとしてまとめて出力する。
閾値入力受付部11eは、閾値比較部11cが比較に用いる3つの閾値について、管理者からの入力を受け付ける処理を行う。管理者端末装置3は管理者から閾値の入力を受け付けてサーバ装置1へ送信し、サーバ装置1の閾値入力受付部11eは、管理者端末装置3から送信される閾値を通信部13にて受信して記憶部12に記憶することによって、管理者からの閾値の入力を受け付ける。閾値入力受付部11eが閾値の入力を受け付けることによって、閾値比較部11cが比較に用いる閾値が更新される。
学習処理部11fは、汎用言語表現モデル100を学習する処理を行う。学習処理部11fは、例えば質問文及び質問文に類似する文章等で構成された学習用データを用いて、汎用言語表現モデル100の深層学習を行う。学習用データは、少なくとも最初の学習処理においては、管理者等が予め作成したデータが用いられる。2回目以降の学習処理(再学習処理)においては、サーバ装置1は入力質問文記憶部12bに記憶して蓄積した入力質問文を学習用データとして用いてもよい。サーバ装置1は、例えば1週間又は1ヶ月等の周期で、汎用言語表現モデル100の再学習処理を行ってよい。
回答処理部11gは、ユーザからの質問に対応する回答を与える処理を行う。回答処理部11gは、入力質問文取得部11aがユーザ端末装置4から取得した入力質問文と、FAQデータベース2に記憶された複数の登録済質問文との類似度を質問文類似度算出部11bにて算出し、算出した類似度と記憶部12に記憶された表示閾値との比較を閾値比較部11cにて行う。回答処理部11gは、類似度が表示閾値を超える登録済質問文及びこれに対応する回答文をFAQデータベース2から取得し、取得した一又は複数の登録済質問文及び回答文の組を、ユーザの入力質問文に類似する登録済質問文及び回答文としてユーザ端末装置4へ送信する。ユーザ端末装置4は、サーバ装置1からの一又は複数の登録済質問文及び回答文を受信して表示部に表示する。
図6は、本実施の形態に係る管理者端末装置3の構成を示すブロック図である。本実施の形態に係る管理者端末装置3は、処理部31、記憶部(ストレージ)32、通信部(トランシーバ)33、表示部(ディスプレイ)34及び操作部35等を備えて構成されている。管理者端末装置3は、例えば汎用のパーソナルコンピュータ又はタブレット型端末装置等の情報処理装置を用いて構成され得る。
処理部31は、CPU又はMPU等の演算処理装置、ROM、及び、RAM等を用いて構成されている。処理部31は、記憶部32に記憶されたプログラム32aを読み出して実行することにより、サーバ装置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及び登録処理部31c等がソフトウェア的な機能部として処理部31に実現される。なおプログラム32aは、本実施の形態に係るFAQシステムに専用のプログラムであってもよく、インターネットブラウザ又はウェブブラウザ等の汎用のプログラムであってもよい。
表示処理部31aは、表示部34に種々の文字及び画像等を表示する処理を行う。本実施の形態において表示処理部31aは、ネットワークNを介して通信部33にて受信したサーバ装置1からのデータに基づいて、サーバ装置1から送信された登録の候補質問文に関する情報表示等を行う。
閾値入力受付部31bは、候補閾値、グループ閾値及び表示閾値の3つの閾値について、管理者からの入力を受け付ける処理を行う。閾値入力受付部31bは、操作部35に対する管理者の操作を受け付け、この管理者の操作に基づいて閾値の入力を受け付ける。閾値入力受付部31bは、入力を受け付けた閾値を、通信部33にてネットワークNを介してサーバ装置1へ送信する。
登録処理部31cは、管理者による新たな質問文及び回答文の入力受付及び登録等の処理を行う。登録処理部31cは、操作部35に対する管理者の操作に基づいて、新たに登録すべき質問文及び回答文の入力を受け付ける。登録処理部31cは、受け付けた質問文及び回答文をサーバ装置1へ送信し、サーバ装置1にこの質問文及び回答文をFAQデータベース2bに登録させる。サーバ装置1は、管理者端末装置3からの質問文及び回答文を受信し、受信した質問文及び回答文をFAQデータベース2に登録する。
図7は、本実施の形態に係るユーザ端末装置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からのデータに基づいて、入力質問文に類似する登録済質問文及びその回答文を表示する処理等を行う。
質問入力受付部41bは、ユーザによる質問文の入力を受け付ける処理を行う。質問入力受付部41bは、操作部45に対するユーザの操作を受け付け、このユーザの操作に基づいて質問文の入力を受け付ける。質問入力受付部41bは、入力を受け付けた入力質問文を、通信部43にてネットワークNを介してサーバ装置1へ送信する。
<質問回答処理>
図8及び図9は、本実施の形態に係るFAQシステムにおいてユーザ端末装置4が表示するFAQ画面の一例を示す模式図である。本実施の形態に係るFAQシステムでは、ユーザ端末装置4にてブラウザプログラム(プログラム42a)を起動して特定のURL(Uniform Resource Locator)へのアクセスを行うことにより、ブラウザ上に図示のFAQ画面が表示され、ユーザはFAQシステムを利用することができる。図8に示すFAQ画面には、ユーザが質問文を入力する入力ボックス111と、入力質問文に類似する登録済質問文を検索するための検索ボタン112とが水平方向に並べて設けられている。ユーザは、ユーザ端末装置4の操作部45を利用して入力ボックス111に任意の質問文を入力することができ、質問文の入力後に検索ボタン112に対するクリック又はタップ操作等を行うことによって入力質問文に類似する登録済質問文を得ることができる。図示の例では、「経費精算の方法は?」という質問文が入力ボックス111に入力されている。
ユーザ端末装置4は、入力ボックス111に入力された入力質問文を取得し、通信部43にてネットワークを介してサーバ装置1へ入力質問文を送信する。サーバ装置1は、ユーザ端末装置4からの入力質問文を受信し、受信した入力質問文とFAQデータベース2に登録された登録済質問文との類似度を算出する。サーバ装置1は、算出した類似度と記憶部12に記憶された表示閾値とを比較し、類似度が表示閾値を超える登録済質問文を抽出し、この登録済質問文と、これに対応する回答文と、をFAQデータベース2から取得する。サーバ装置1は、取得した一又は複数の登録済質問文及び回答文の組を、質問文の送信元のユーザ端末装置4へ送信する。またサーバ装置1は、ユーザ端末装置4から受信した入力質問文を、受信した時刻及び最大類似度と共に記憶部12の入力質問文記憶部12bに記憶する。ユーザ端末装置4は、サーバ装置1からの登録済質問文及び回答文の組を受信して、FAQ画面に表示する。
図9に示すFAQ画面には、入力ボックス111及び検索ボタン112の下方に、複数の回答ボックス113が上下方向に並べて表示されている。各回答ボックス113には、それぞれFAQデータベース2から取得された一組の登録済質問文及びその回答文が表示される。各回答ボックス111は、左右に2つの領域に区分され、左側の領域に登録済質問文が表示され、右側領域に回答文が表示される。複数組の登録済質問文及び回答文は、例えばサーバ装置1が算出した類似度に基づき、入力済質問文との類似度が高い登録済質問文を含むものから順番に並べて表示される。またFAQ画面に表示される登録済質問文及び回答文の組の数が多い場合には表示数が所定数に制限されてもよく、この場合には、類似度が高いものから順に所定数の登録済質問文及び回答文の組が表示される。これらの表示を行うために、サーバ装置1は、登録済質問文及び回答文の組に対応して類似度等の情報を付してユーザ端末装置4へ送信してもよい。なお、図示のFAQ画面には登録済質問文及び回答文を共に表示しているが、これに限るものではない。FAQ画面には、少なくとも検索された登録済質問文が表示されればよく、登録済質問文に対する回答文は必ずしも表示されなくてよい。例えば、FAQ画面には検索結果として登録済質問文が表示され、表示された登録済質問文に対するユーザの選択操作等に応じて回答文が表示されてもよい。この場合に回答文は、例えばドロップダウン又はダイアログボックス等を用いて表示されてもよい。
図10は、本実施の形態に係るサーバ装置1が行う質問回答処理の手順の一例を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11は、図8に示したFAQ画面を構成するデータを通信部13にてユーザ端末装置4へ送信することにより、ユーザ端末装置4の表示部44にFAQ画面を表示する(ステップS1)。処理部11は、ユーザ端末装置4からの入力質問文の送信の有無に応じて、ユーザによる質問文の入力が行われたか否かを判定する(ステップS2)。質問文の入力が行われていない場合(S2:NO)、処理部11は、ステップS1へ処理を戻し、FAQ画面の表示を継続する。
質問文の入力が行われた場合(S2:YES)、処理部11の入力質問文取得部11aは、ユーザ端末装置4からの入力質問文を取得すると共に、記憶部12のFAQデータベース2から登録済質問文のベクトル情報を1つ取得する(ステップS3)。処理部11の質問文類似度算出部11bは、取得した入力質問文に対して汎用言語表現モデル100を用いて算出したベクトル情報と、ステップS3にて取得した登録質問文のベクトル情報とに基づいて、入力質問文と登録済質問文との類似度を算出する(ステップS4)。入力質問文取得部11aは、FAQデータベース2の全ての登録済質問文について入力質問文との類似度の算出を行ったか否かを判定する(ステップS5)。全ての登録済質問文について類似度の算出を行っていない場合(S5:NO)、入力質問文取得部11aは、ステップS3へ処理を戻し、FAQデータベース2から別の登録済質問文のベクトル情報を取得して類似度の算出を繰り返し行う。
全ての登録済質問文について入力質問文との類似度の算出を行った場合(S5:YES)、入力質問文取得部11aは、算出した複数の類似度の中から最大類似度を取得する(ステップS6)。入力質問文取得部11aは、ユーザ端末装置4から取得した入力質問文を、この入力質問文を取得した時刻情報及びステップS6にて取得した最大類似度と共に、記憶部12の入力質問文記憶部12bに記憶する(ステップS7)。
処理部11の閾値比較部11cは、記憶部12に記憶された表示閾値と、ステップS3〜S5にて算出された類似度とを比較することによって、表示閾値を超える類似度の登録済質問文と、これに対応する回答文と、をFAQデータベース2から取得する(ステップS8)。回答処理部11gは、ステップS8にて取得した一又は複数の登録済質問文及び回答文の組を、通信部13にてユーザ端末装置4へ送信し(ステップS9)、ユーザ端末装置4にユーザの入力質問文に類似する登録済質問文及びその回答文として表示させて、質問回答処理を修了する。
<候補質問文出力処理>
本実施の形態に係るFAQシステムの管理者は、管理者端末装置3を利用して、新規の質問文及び回答文をサーバ装置1のFAQデータベース2に登録することができる。このときにサーバ装置1は、図9に示すFAQ画面においてユーザが入力した入力質問文、即ち入力質問文記憶部12bに記憶された入力質問文に基づいて、新規に登録する候補となる候補質問文を抽出し、抽出した一又は複数の候補質問文を示す候補質問文表示画面を管理者端末装置3の表示部34に表示する。
図11は、候補質問文表示画面の一例を示す模式図である。図示の候補質問文表示画面の上部には、候補となる質問文を抽出する条件を管理者が設定するための条件設定部120と、一又は複数の候補質問文を表示する候補質問文表示部130とが設けられている。条件設定部120には、時間フィルタ121、候補閾値設定部122、グループ閾値設定部123及び表示閾値設定部124の4つの設定入力の受付部と、更新ボタン125とが設けられている。
時間フィルタ121は、サーバ装置1の入力質問文記憶部12bに記憶された入力質問文のうち、候補質問文を抽出する対象の期間を設定するためのものである。図示の例では、対象期間として「1日」、「1週間」、「1ヶ月」及び「設定」の4つが選択可能であり、1週間の時間が選択されている。サーバ装置1は、現時点より前に時間フィルタ121にて設定された時間内に入力された入力質問文を、候補質問文の対象とする。なお時間フィルタ121の「設定」は、例えば年月日時間等を指定して管理者が任意の期間を設定するためのものである。「設定」が選択された場合、サーバ装置1は、更に詳細の時間指定の入力を受け付ける画面(図示は省略する)を管理者端末装置3の表示部34に表示して、時間指定の入力を受け付ける。
候補閾値設定部122は、入力質問文を候補質問文とするか否かの判定基準となる候補閾値を設定するためのものである。図示の例では、候補閾値設定部122には、候補閾値を増減させる操作を受け付けるスライドバーと、候補閾値の直接的な入力を受け付ける入力ボックスとが設けられており、候補閾値として0.7の値が設定されている。なお候補閾値は、表示閾値の値を初期値として候補閾値設定部122にその値が設定される。スライドバーは、左右にスライド操作を行うことで候補閾値の増減を行うことができ、最も左側の位置へ移動させることで候補閾値を0に設定し、最も右側の位置へ移動させることで候補閾値を1に設定することができる。スライドバーと入力ボックスとは連動しており、スライドバーを操作することで入力ボックスの数値が増減し、入力ボックスへ数値を入力することでスライドバーの位置が変化する。
グループ閾値設定部123は、候補質問文をグループ化する際の判定基準となるグループ閾値を設定するためのものである。図示の例では、グループ閾値設定部123には、グループ閾値を増減させる操作を受け付けるスライドバーと、グループ閾値の直接的な入力を受け付ける入力ボックスとが設けられており、グループ閾値として0.6の値が設定されている。スライドバー及び入力ボックスの動作等については、候補閾値設定部122のものと同様である。
表示閾値設定部124は、ユーザ端末装置4にてユーザの入力質問文に類似する登録済質問文及びその回答文を出力する際に、登録済質問文及び回答文の抽出の判定基準となる表示閾値を設定するためのものである。図示の例では、表示閾値設定部124には、表示閾値を増減させる操作を受け付けるスライドバーと、表示閾値の直接的な入力を受け付ける入力ボックスとが設けられており、表示閾値として0.7の値が設定されている。スライドバー及び入力ボックスの動作等については、候補閾値設定部122のものと同様である。なお表示閾値の設定については、候補質問文の表示には直接的に関係がないため、候補質問文表示画面以外の画面で行われてもよい。
上記の時間フィルタ121、候補閾値設定部122及びグループ閾値設定部123にて適宜の設定を行った管理者は、更新ボタン125に対するクリック操作又はタップ操作等を行うことによって、候補質問文の表示、及び、既に表示されている候補質問文の更新を行わせることができる。本実施の形態においては、時間フィルタ121、候補閾値設定部122、グループ閾値設定部123及び表示閾値設定部124に対して設定の操作がなされた場合、管理者端末装置3がこの操作を受け付けて候補質問文表示画面の条件設定部120の表示を更新し、この段階ではサーバ装置1に対して設定値の変更等は通知されない。管理者端末装置3は、更新ボタン125に対する操作を受け付けた場合、その時点で設定されている値をサーバ装置1へ通知する。
サーバ装置1は、更新ボタン125に対する操作に応じた管理者端末装置3からの設定値の通知を受信した場合、受信した設定値に応じて記憶部12の入力質問文記憶部12bから一又は複数の入力質問文を候補質問文として抽出する処理を行う。サーバ装置1は、時間フィルタ121にて設定された時間範囲に入力された入力質問文を、候補質問文の抽出の処理対象とする。次いでサーバ装置1は、処理対象となる入力質問文の最大類似度と、候補閾値設定部122にて設定された候補閾値とを比較することによって、処理対象の入力質問文から候補質問文を抽出する。
図12は、入力質問文の最大類似度を説明するための模式図である。本例は、FAQデータベース2に3つの登録済質問文Q1〜Q3が記憶されている場合に、3つの入力質問文q1〜q3について最大類似度を算出したものである。サーバ装置1は、入力質問文q1に対して、3つの登録済質問文Q1〜Q3との類似度をそれぞれ算出する。本例では、入力質問文q1及び登録済質問文Q1の類似度は0.70であり、入力質問文q1及び登録済質問文Q2の類似度は0.21であり、入力質問文q1及び登録済質問文Q3の類似度は0.55である。サーバ装置1は、算出した3つの類似度の中から最大値である0.70を、入力質問文q1の最大類似度とする。同様にしてサーバ装置1は、入力質問文q2の最大類似度を0.85とし、入力質問文q3の最大類似度を0.83とする。なおサーバ装置1による最大類似度の算出は、ユーザ端末装置4から入力質問文を受信し、この入力質問文を記憶部12の入力質問文記憶部12bに記憶する際に行われる。
サーバ装置1は、処理対象の入力質問文のうち、最大類似度が候補閾値に満たないものを候補質問文として抽出する。図12に示す例においてサーバ装置1は、候補閾値が0.8であれば入力質問文q1を候補質問文として抽出し、候補閾値が0.9であれば入力質問文q1,q2,q3を候補質問文として抽出する。
次いでサーバ装置1は、抽出した候補質問文をグループ化する処理を行う。図13及び図14は、候補質問文のグループ化を説明するための模式図である。本例は、5つの候補質問文(入力質問文)q1〜q5が抽出された場合のものである。サーバ装置1は、抽出した候補質問文についてそれぞれの類似度を算出する。本例では候補質問文が5つであるため、5つから2つを選択する組み合わせ、即ち10通りの類似度を算出する必要がある。サーバ装置1は、候補質問文q1について候補質問文q2〜q4との類似度をそれぞれ算出し、候補質問文q2について候補質問文q3〜q5との類似度をそれぞれ算出し、候補質問文q3について候補質問文q4,q5との類似度をそれぞれ算出し、候補質問文q4について候補質問文q5との類似度を算出する。
候補質問文の間の類似度を全て算出した後、サーバ装置1は、グループ閾値設定部123にて設定されたグループ閾値と各類似度との比較を行うことによって、グループ化する候補質問文を決定する。サーバ装置1は、類似度がグループ閾値を超える2つ以上の候補質問文を1つのグループとする。図13にはグループ閾値が0.7である場合のグループ化の例が示されている。本例では、候補質問文q1及びq2の類似度0.84と、候補質問文q1及びq3の類似度0.72と、候補質問文q2及びq3の類似度0.75とがグループ閾値0.7を超えるため、サーバ装置1はこの3つの候補質問文q1〜q3をグループ1としてグループ化する。また候補質問文q4及びq5の類似度0.96がグループ閾値0.7を超えるため、サーバ装置1はこの2つの候補質問文q4及びq5をグループ2としてグループ化する。
図14にはグループ閾値が0.8である場合のグループ化の例が示されている。本例では、候補質問文q1及びq2の類似度0.84がグループ閾値0.8を超えるため、サーバ装置1はこの候補質問文q1及びq2をグループ1としてグループ化する。候補質問文q3には、グループ閾値0.8を超える類似度を有する他の候補質問文が存在しないため、サーバ装置1はこの1つの候補質問文q3をグループ2とする。また候補質問文q4及びq5の類似度0.96がグループ閾値0.8を超えるため、サーバ装置1はこの2つの候補質問文q4及びq5をグループ3としてグループ化する。
サーバ装置1は、候補閾値に基づいて抽出した一又は複数の候補質問文と、これらをグループ閾値に基づいてグループ化した結果とを管理者端末装置3へ送信する。管理者端末装置3は、サーバ装置1から受信したこれらの情報に基づいて、候補質問文表示画面の候補質問文表示部130に候補質問文をグループ化して表示する。図11に示す例では、候補質問文が2つのグループにグループ分けされて表示されている。管理者端末装置3は、例えば「経費について」、「経費のやり方」、「経費の仕方」及び「経費」等の候補質問文を第1グループとして矩形の領域131にまとめて表示し、例えば「休みについて」等の候補質問文を第2グループとして矩形の領域132にまとめて表示している。
候補として表示するグループが複数存在する場合、サーバ装置1又は管理者端末装置3は、例えばグループに含まれる候補質問文の数が多いものを上位として、また例えば候補質問文の間の類似度の平均値又は最大値等が高いものを上位として、複数のグループを順位付けて表示する。またグループ内に複数の候補質問文が存在する場合、サーバ装置1又は管理者端末装置3は、例えば候補質問文の文字数が多いものを上位として、また例えば候補質問文の最大類似度が高いものを上位として、複数の候補質問文をグループ内で順位付けて表示する。なおこれら順位付けの条件は一例であって、これに限るものではなく、種々の条件が採用され得る。また管理者が表示順位の条件を設定可能な構成であってもよい。表示順位の決定は、サーバ装置1又は管理者端末装置3のいずれが行ってもよい。
候補質問文表示画面において管理者は、候補質問文表示部130に表示された候補質問文もしくはそのグループを選択するか、又は、新規登録ボタン133に対する操作を行うことによって、新たな質問文及び回答文の登録を行うことができる。これらの操作に基づいてサーバ装置1又は管理者端末装置3は、質問文及び回答文の登録を受け付けるための新規登録画面を管理者端末装置3の表示部34に表示する。新規登録画面の表示処理は、サーバ装置1又は管理者端末装置3のいずれにて行われてもよいが、以下ではサーバ装置1が処理を行うものとして説明する。サーバ装置1は候補質問文表示画面における操作に応じて、新規登録画面を表示するためのデータを生成して管理者端末装置3へ送信し、このデータを受信した管理者端末装置3が新規登録画面を表示部34に表示する。
図15は、質問文及び回答文の新規登録画面の一例を示す模式図である。図示の新規登録画面は、図11に示した候補質問文表示画面において「経費について」等の質問文を含むグループが選択された場合のものである。例えば、新規登録画面には、候補質問文表示部141、質問文入力欄142、回答文入力欄143、登録ボタン144及びキャンセルボタン145等が設けられている。
新規登録画面の候補質問文表示部141には、候補質問文表示画面において選択された候補質問文が表示される。本例においては、候補質問文表示画面において領域131に表示されていた第1グループの「経費について」等の候補質問文が表示されている。なお、候補質問文表示画面において候補質問文又はグループが選択されず、新規登録ボタン133に対する操作が行われた場合には、新規登録画面の候補質問文表示部141に候補質問文は表示されなくてよい。サーバ装置1は、候補質問文表示画面において候補質問文、グループ又は新規登録ボタン133のいずれに対する操作を受け付けたかに応じて、候補質問文表示部141に候補質問文を表示するか否か及び表示する候補質問文の内容等を決定する。
質問文入力欄142は、管理者が管理者端末装置3の操作部35を利用して任意の文字列を入力することが可能なテキスト入力ボックスであり、管理者が登録しようとする質問文の文章を入力するためのものである。本実施の形態においてサーバ装置1は、候補質問文表示部141に表示した候補質問文の少なくとも1つを、質問文入力欄142にデフォルト値として入力した状態で、新規登録画面を表示する。質問文入力欄142にデフォルト値として表示された質問文は、ユーザの操作により削除又は修正等を行うことが可能である。デフォルト値として表示される質問文は、例えば、グループの先頭に表示された候補質問文であるが、これに限られない。
回答文入力欄143は、管理者が管理者端末装置3の操作部35を利用して任意の文字列を入力することが可能なテキスト入力ボックスであり、質問文入力欄142に入力された質問文に対応する回答文の文章を入力するためのものである。本実施の形態においてサーバ装置1は、質問文入力欄142にデフォルト値として候補質問文を表示した場合、この質問文に最も類似する(類似度が高い)登録済質問文をFAQデータベース2にて検索し、最も類似する登録済質問文に対応する回答文を取得して、この回答文をデフォルト値として回答文入力欄143に表示する。本例では「建て替え費用の清算は、翌月5月締めとなっております。…」の回答文がFAQデータベース2から取得されて回答文入力欄143に表示されている。回答文入力欄143にデフォルト値として表示された回答文は、ユーザの操作により削除又は修正等を行うことが可能である。
登録ボタン144は、質問文入力欄142に入力された質問文と、回答文入力欄143に入力された回答文とを対応付けてFAQデータベース2に登録する操作を受け付ける。登録ボタン144に対する操作がなされた場合、管理者端末装置3は、質問文入力欄142に入力された質問文と、回答文入力欄143に入力された回答文とを取得し、取得した質問文及び回答文をサーバ装置1へ送信する。サーバ装置1は、管理者端末装置3から質問文及び回答文を受信し、受信した質問文及び回答文を対応付けてFAQデータベース2に登録する。
キャンセルボタン145は、質問文及び回答文の新規の登録を取り消す操作を受け付ける。キャンセルボタン145に対する操作がなされた場合、質問文入力欄142に入力された質問文と、回答文入力欄143に入力された回答文とは破棄され、新規登録画面から候補質問文表示画面に表示が戻る。
また本実施の形態においては、新たな質問文及び回答文をFAQデータベース2に登録した場合、サーバ装置1は、新たに登録した質問文を学習用のデータとして用い、記憶部12に記憶された汎用言語表現モデル100の再学習処理を行う。
図16は、本実施の形態に係るサーバ装置1が行う登録処理の手順の一例を示すフローチャートである。本実施の形態に係るサーバ装置1の処理部11の候補質問文出力部11dは、入力質問文記憶部12bに記憶された入力質問文の中から、最大類似度が候補閾値に満たない一又は複数の入力質問文を候補質問文として抽出する(ステップS21)。なおこのときに入力質問文は、候補質問文表示画面の時間フィルタ121にて設定された時間範囲内のものに限られる。
次いで処理部11の質問文類似度算出部11bは、ステップS21にて抽出された複数の候補質問文について、候補質問文の間の類似度を算出する(ステップS22)。処理部11の閾値比較部11cは、ステップS22にて算出された類似度とグループ閾値とを比較することによって、類似度がグループ閾値を超える複数の候補質問文を1つのグループとするグループ化を行う(ステップS23)。
候補質問文出力部11dは、ステップS21にて抽出され、ステップS22及びS23にてグループ化された候補質問文を表示する候補質問文表示画面を生成し、この候補質問文表示画面のデータを通信部13にて管理者端末装置3へ送信することにより、候補質問文表示画面を管理者端末装置3の表示部34に表示する(ステップS24)。候補質問文出力部11dは、管理者端末装置3から送信される操作の通知の有無に応じて、候補質問文表示画面の更新ボタン125に対する操作がなされたか否かを判定する(ステップS25)。更新ボタン125に対する操作がなされた場合(S25:YES)、処理部11の閾値入力受付部11eは、候補質問文表示画面の候補閾値設定部122に設定された候補閾値、及び、グループ閾値設定部123に設定されたグループ閾値を取得し(ステップS26)、ステップS21へ処理を戻す。その後に候補質問文出力部11dは、新たに設定された閾値に基づいて候補質問文表示画面の表示を行う。
更新ボタン125に対する操作がなされていない場合(S25:NO)、候補質問文出力部11dは、管理者端末装置3から送信される操作の通知の有無に応じて、候補質問文表示画面に表示されたいずれかの候補(候補質問文又はグループ)が選択されるか、又は、新規登録ボタン133に対する新規登録の操作がなされたか否かを判定する(ステップS27)。候補の選択及び新規登録の操作がなされていない場合(S27:NO)、候補質問文出力部11dは、ステップS24へ処理を戻し、候補質問文表示画面の表示を継続する。
候補の選択又は新規登録の操作がなされた場合(S27:YES)、処理部11は、新規登録画面を表示するためのデータを生成し、この新規登録画面のデータを通信部13にて管理者端末装置3へ送信することにより、新規登録画面を管理者端末装置3の表示部34に表示する(ステップS28)。このときに処理部11は、新規登録画面の候補質問文表示部141、質問文入力欄142及び回答文入力欄143に文章を表示するか否かを判定し、表示する場合には適宜の質問文及び回答文をFAQデータベース2等から取得する。
処理部11は、管理者端末装置3から送信される操作の通知の有無に応じて、新規登録画面の新規登録ボタン133に対する操作がなされたか否かを判定する(ステップS29)。新規登録ボタン133に対する操作がなされていない場合(S29:NO)、処理部11は、ステップS28へ処理を戻し、新規登録画面の表示を継続する。
新規登録ボタン133に対する操作がなされた場合(S29:YES)、処理部11は、新規登録画面の質問文入力欄142に入力された質問文及び回答文入力欄143に入力された回答文を取得する(ステップS30)。処理部11は、取得した質問文及び回答文を対応付けてFAQデータベース2に登録する(ステップS31)。また処理部11の学習処理部11fは、取得した質問文を用いて記憶部12に記憶された汎用言語表現モデル100の再学習処理を行い(ステップS32)、処理を終了する。
<まとめ>
以上の構成の本実施の形態に係るFAQシステムのサーバ装置1は、ユーザ端末装置4にてユーザが入力した入力質問文を取得し、取得した入力質問文とFAQデータベース2に登録された複数の登録済質問文との類似度をそれぞれ算出する。サーバ装置1は、算出した類似度の最大値である最大類似度と、設定された候補閾値(第1閾値)とを比較し、最大類似度が候補閾値に満たない入力質問文を、登録すべき候補質問文として管理者端末装置3の表示部34に表示する。これによりFAQシステムの管理者は、ユーザが入力した入力質問文の中で、登録済質問文との最大類似度が候補閾値以下の入力質問文を把握し、当該入力質問文及びこれに対応する回答文を新たに登録することができる。
また本実施の形態に係るサーバ装置1は、管理者端末装置3の表示部34に表示した候補質問文表示画面の候補閾値設定部122にて、管理者による候補閾値の入力を受け付け、受け付けた候補閾値に応じた候補質問文を候補質問文表示画面にて出力する。これにより管理者は、候補閾値を適宜に調整し、候補質問文表示画面にて出力される候補質問文の数を適宜に増減することができる。
また本実施の形態に係るサーバ装置1は、複数の候補質問文の間で類似度をそれぞれ算出し、算出した類似度とグループ閾値(第2閾値)とを比較し、類似度がグループ閾値を超える複数の質問文をグループ化して出力する。これにより管理者は、類似する候補質問文の存在、数及び傾向等を容易に把握することができる。
また本実施の形態に係るサーバ装置1は、管理者端末装置3の表示部34に表示した候補質問文表示画面のグループ閾値設定部123にて、管理者によるグループ閾値の入力を受け付け、受け付けたグループ閾値に応じて複数の候補質問文をグループ化して出力する。これにより管理者は、グループ閾値を適宜に調整し、出力されるグループの規模及びグループの数等を適宜に調整することができる。
また本実施の形態に係るサーバ装置1は、質問文の文章の入力を受け付けて、入力された文章のベクトル情報を出力する汎用言語表現モデル100を記憶部12に記憶している。サーバ装置1は、2つの質問文の入力に応じて汎用言語表現モデル100がそれぞれ出力する2つのベクトル情報に基づき、2つの質問文の類似度を算出する。予め適切に学習がなされた汎用言語表現モデル100を用いることで、サーバ装置1は、質問文の間の類似度を精度よく算出することができ、候補質問文の出力及び候補質問文のグループ化等を精度よく行うことができる。
また本実施の形態に係るサーバ装置1は、管理者端末装置3の表示部34に表示した新規登録画面にて登録する質問文及び回答文の入力を受け付け、入力された質問文及び回答文をFAQデータベース2に登録する。またサーバ装置1は、登録した質問文を用いて汎用言語表現モデル100の再学習を行う。これにより、正式に登録された質問文が汎用言語表現モデル100に反映され、汎用言語表現モデル100を利用して算出する類似度の精度を高めることができる。
また本実施の形態に係るサーバ装置1は、ユーザ端末装置4にてユーザから取得した入力質問文とFAQデータベース2に登録された登録済質問文との類似度をそれぞれ算出し、算出した各類似度と表示閾値(第3閾値)とを比較する。サーバ装置1は、類似度が表示閾値を超える登録済質問文及びその回答文をFAQデータベース2から取得し、ユーザが入力した入力質問文に類似する登録済質問文及びその回答文として、ユーザ端末装置4の表示部44に出力する。これによりサーバ装置1は、ユーザが入力した入力質問文と類似する登録済質問文及びその回答文をユーザに提示することができる。ユーザは、提示された登録済質問文の中から自身の質問を探し、対応する回答文を探すことができる。
なお本実施の形態において示した画面表示、データベースの構成、データベースに記憶された情報及びフローチャートの処理手順等は、一例であってこれに限るものではなく、適宜に設計変更等がなされてよい。
また本実施の形態に係るFAQシステムでは、サーバ装置1が質問文の類似度を算出する処理、類似度と閾値とを比較する処理、並びに、候補質問文を出力する処理等を行っているが、これらの処理は管理者端末装置3が行ってもよい。この場合に管理者端末装置3は、ネットワークNを介した通信によりサーバ装置1のデータベースにアクセスしてもよく、自身がデータベースを保持してもよい。また本実施の形態においては、質問文及び回答文の入力がテキスト形式で行われているが、これに限るものではなく、音声入力により行われてもよい。
(変形例)
図17は、変形例に係るサーバ装置1による候補閾値の入力受付を説明するための模式図である。変形例に係るサーバ装置1は、例えば図17に示す候補閾値設定画面を管理者端末装置3の表示部34に表示し、管理者からの候補閾値の入力を受け付ける。図示の候補閾値設定画面には、横軸を最大類似度とし、縦軸を入力質問文の数としたグラフが表示されている。このグラフは、入力質問文記憶部12bに記憶された入力質問文について、最大類似度に関する分布を示すものである。グラフには候補閾値を示すバー151が表示されており、管理者は管理者端末装置3の操作部35にてマウスカーソル152を操作することにより、バー151を横軸方向へ移動させ、候補閾値を調整することが可能である。また候補閾値設定画面の下部には設定ボタン153が設けられており、設定ボタン153に対するクリック操作等により設定された候補閾値が反映される。
変形例に係るサーバ装置1は、入力質問文記憶部12bに記憶された入力質問文のうち、時間フィルタ121にて設定された時間内の入力質問文を取得して、各入力質問文に対応する最大類似度を調べ、最大類似度毎に入力質問文の数をカウントすることによって図17に示す分布のグラフを生成する。サーバ装置1は、生成したグラフを含む候補閾値設定画面のデータを管理者端末装置3へ送信し、管理者端末装置3の表示部34に候補閾値設定画面を表示する。
管理者端末装置3は、候補閾値のバー151に対する移動操作を受け付けて表示を更新すると共に、設定ボタン153に対する操作を受け付けた場合には、その時点でバー151の位置に対応する候補閾値をサーバ装置1へ送信する。サーバ装置1は、管理者端末装置3からの候補閾値を受信することで、管理者による候補閾値の入力を受け付け、受け付けた候補閾値を記憶して以降の候補質問文の抽出に用いる。
なお、本変形例では候補閾値の入力について説明したが、サーバ装置1はグループ閾値及び表示閾値についても同様のグラフを表示して設定を受け付けてよい。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。