IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ペネトレイト・オブ・リミット株式会社の特許一覧

<>
  • 特開-サーバ 図1
  • 特開-サーバ 図2
  • 特開-サーバ 図3
  • 特開-サーバ 図4
  • 特開-サーバ 図5A
  • 特開-サーバ 図5B
  • 特開-サーバ 図5C
  • 特開-サーバ 図5D
  • 特開-サーバ 図5E
  • 特開-サーバ 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162940
(43)【公開日】2023-11-09
(54)【発明の名称】サーバ
(51)【国際特許分類】
   G06F 16/90 20190101AFI20231101BHJP
   G06F 40/56 20200101ALI20231101BHJP
【FI】
G06F16/90 100
G06F40/56
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022073667
(22)【出願日】2022-04-27
(71)【出願人】
【識別番号】522075232
【氏名又は名称】ペネトレイト・オブ・リミット株式会社
(74)【代理人】
【識別番号】100104776
【弁理士】
【氏名又は名称】佐野 弘
(74)【代理人】
【識別番号】100119194
【弁理士】
【氏名又は名称】石井 明夫
(72)【発明者】
【氏名】宮下 伸也
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA15
5B091AB17
5B091CA02
5B091CA21
5B091CC02
5B091EA01
5B175EA01
5B175FA01
5B175FB04
5B175GC03
(57)【要約】      (修正有)
【課題】短期間で高精度なチャットボットシステムを生成するサーバを提供する。
【解決手段】チャットボットシステム1において、端末2とネットワーク4により接続され、質問情報の入力に対して回答情報を生成するチャットボット管理するサーバ3は、受信手段と、辞書情報記憶手段と、学習手段と、送信手段とを備える。受信手段は、端末から質問情報及び学習データとして所定の情報を受信する。学習手段は、受信手段が受信した所定の情報がファイルである場合には、ファイルに保存されている文章を、受信手段が受信した所定の情報がURLの場合には、URLのウェブページに表示されている文章を、辞書記憶手段に記憶されている辞書情報を参照して、文章を自然言語処理した後に、学習データとして学習するとともに、質問情報に対して複数の回答情報を生成する。送信手段は、学習手段が生成した、質問情報に応じて複数の回答情報を端末に対して送信する。
【選択図】図1
【特許請求の範囲】
【請求項1】
端末とネットワークにより接続され、質問情報の入力に対して回答情報を生成するチャットボットを管理するサーバであって、
前記サーバは、前記端末から質問情報及び学習データとして所定の情報を受信する受信手段と、
所定の辞書情報が記憶されている辞書情報記憶手段と、
前記受信手段が受信した前記所定の情報がファイルである場合には、該ファイルに保存されている文章を、前記受信手段が受信した前記所定の情報がURLの場合には、該URLのウェブページに表示されている文章を、前記辞書記憶手段に記憶されている前記辞書情報を参照して、前記文章を自然言語処理した後に、学習データとして学習するとともに、前記質問情報に対して複数の前記回答情報を生成する学習手段と、
該学習手段が生成した、前記質問情報に応じて複数の前記回答情報を前記端末に対して送信する送信手段と、を備えている
ことを特徴とするサーバ。
【請求項2】
前記送信手段は、複数の前記回答情報として画像情報及び文字情報を前記端末に対して送信し、前記端末において前記画像情報及び前記文字情報を表示させる
ことを特徴とする請求項1に記載のサーバ。
【請求項3】
前記受信手段は、前記端末に表示された複数の前記回答情報のうち前記端末で選択の入力を受け付けた前記回答情報に関する情報を受信し、
前記学習手段は、前記受信手段が受信した前記回答情報に関する情報を学習データとしてさらに学習する
ことを特徴とする請求項1に記載のサーバ。
【請求項4】
前記受信手段は、前記端末に表示された複数の前記回答情報のうち前記端末で選択の入力を受け付けた前記回答情報に関する情報を受信し、
前記学習手段は、前記受信手段が受信した前記回答情報に関する情報を学習データとしてさらに学習する
ことを特徴とする請求項2に記載のサーバ。
【請求項5】
前記受信手段は、前記端末で選択の入力を受け付けた前記画像情報及び/又は前記文字情報に関する情報を受信し、
前記学習手段は、前記受信手段が受信した前記画像情報及び/又は前記文字情報に関する情報に応じてポイントを付与し、該ポイントに応じて前記回答情報として前記画像情報及び/又は前記文字情報の表示順位が決定される
ことを特徴とする請求項2に記載のサーバ。
【請求項6】
前記受信手段は、前記端末で選択の入力を受け付けた前記画像情報及び/又は前記文字情報に関する情報を受信し、
前記学習手段は、前記受信手段が受信した前記画像情報及び/又は前記文字情報に関する情報に応じてポイントを付与し、該ポイントに応じて前記回答情報として前記画像情報及び/又は前記文字情報の表示順位が決定される
ことを特徴とする請求項3に記載のサーバ。
【請求項7】
前記受信手段は、前記端末で選択の入力を受け付けた前記画像情報及び/又は前記文字情報に関する情報を受信し、
前記学習手段は、前記受信手段が受信した前記画像情報及び/又は前記文字情報に関する情報に応じてポイントを付与し、該ポイントに応じて前記回答情報として前記画像情報及び/又は前記文字情報の表示順位が決定される
ことを特徴とする請求項4に記載のサーバ。
【請求項8】
前記学習手段は、学習の過程において、前記文章を構成する各単語をベクトルに変換した第一ベクトルと、前記文章をベクトルに変換した第二ベクトルと、前記質問情報を構成する各単語をベクトルに変換した第三ベクトルとを演算して、前記第一ベクトルと、前記第三ベクトルとの類似度を計算するとともに、前記第二ベクトルと、前記第三ベクトルとの類似度を計算して、前記回答情報を生成し、
前記送信手段は、前記第一ベクトルと、前記第三ベクトルとの類似度、及び前記第二ベクトルと、前記第三ベクトルとの類似度に基づいて、前記文章との類似割合が高い順に、前記質問情報に応じた複数の前記回答情報として前記画像情報及び/又は前記文字情報を前記端末に送信し、前記端末に前記画像情報及び/又は前記文字情報を表示させる
ことを特徴とする請求項1から請求項7までのいずれか1項に記載のサーバ。
【請求項9】
前記学習手段は、前記学習データとしての前記文章に含まれる特徴量と、前記質問情報に含まれる特徴量とに基づいて、前記類似度の計算をする
ことを特徴とする請求項8に記載のサーバ。
【請求項10】
前記学習手段は、前記ファイルが更新された場合及び/又は前記URLのウェブページが更新された場合に、所定の入力を受け付けることによって、更新された前記ファイルに保存されている文章及び/又は更新された前記ウェブページに表示されている文章を自然言語処理し、自然言語処理をした前記文章を学習データとして学習する
ことを特徴とする請求項1又は請求項2に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、チャットボットサーバに関する。
【背景技術】
【0002】
特許文献1に記載の発明のように、チャットシナリオに必要な情報を取得して、チャットシナリオを生成するチャットボット制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-117690号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、チャットボットを稼働させるためにシナリオを作成するのに負担が生じ、チャットボットを導入するために時間を要することになってしまう。
【0005】
本発明はこのような事情に鑑みてなされたものであり、本発明は、既存の資料を活用して、チャットボット導入時における負担を軽減するだけでなく、精度の高いチャットボットを提供することである。
【課題を解決するための手段】
【0006】
かかる課題を解決するために、請求項1に記載の発明は、端末とネットワークにより接続され、質問情報の入力に対して回答情報を生成するチャットボットを管理するサーバであって、前記サーバは、前記端末から質問情報及び学習データとして所定の情報を受信する受信手段と、所定の辞書情報が記憶されている辞書情報記憶手段と、前記受信手段が受信した前記所定の情報がファイルである場合には、該ファイルに保存されている文章を、前記受信手段が受信した前記所定の情報がURLの場合には、該URLのウェブページに表示されている文章を、前記辞書記憶手段に記憶されている前記辞書情報を参照して、前記文章を自然言語処理した後に、学習データとして学習するとともに、前記質問情報に対して複数の前記回答情報を生成する学習手段と、該学習手段が生成した、前記質問情報に応じて複数の前記回答情報を前記端末に対して送信する送信手段と、を備えていることを特徴とする。
【0007】
他の発明は、前記送信手段は、複数の前記回答情報として画像情報及び文字情報を前記端末に対して送信し、前記端末において前記画像情報及び前記文字情報を表示させることを特徴とする。
【0008】
他の発明は、前記受信手段は、前記端末に表示された複数の前記回答情報のうち前記端末で選択の入力を受け付けた前記回答情報に関する情報を受信し、前記学習手段は、前記受信手段が受信した前記回答情報に関する情報を学習データとしてさらに学習することを特徴とする。
【0009】
他の発明は、前記受信手段は、前記端末で選択の入力を受け付けた前記画像情報及び/又は前記文字情報に関する情報を受信し、前記学習手段は、前記受信手段が受信した前記画像情報及び/又は前記文字情報に関する情報に応じてポイントを付与し、該ポイントに応じて前記回答情報として前記画像情報及び/又は前記文字情報の表示順位が決定されることを特徴とする。
【0010】
他の発明は、前記学習手段は、学習の過程において、前記文章を構成する各単語をベクトルに変換した第一ベクトルと、前記文章をベクトルに変換した第二ベクトルと、前記質問情報を構成する各単語をベクトルに変換した第三ベクトルとを演算して、前記第一ベクトルと、前記第三ベクトルとの類似度を計算するとともに、前記第二ベクトルと、前記第三ベクトルとの類似度を計算して、前記回答情報を生成し、前記送信手段は、前記第一ベクトルと、前記第三ベクトルとの類似度、及び前記第二ベクトルと、前記第三ベクトルとの類似度に基づいて、前記文章との類似割合が高い順に、前記質問情報に応じた複数の前記回答情報として前記画像情報及び/又は前記文字情報を前記端末に送信し、前記端末に前記画像情報及び/又は前記文字情報を表示させることを特徴とする。
【0011】
他の発明は、前記学習手段は、前記学習データとしての前記文章に含まれる特徴量と、前記質問情報に含まれる特徴量とに基づいて、前記類似度の計算をすることを特徴とする。
【0012】
他の発明は、前記学習手段は、前記ファイルが更新された場合及び/又は前記URLのウェブページが更新された場合に、所定の入力を受け付けることによって、更新された前記ファイルに保存されている文章及び/又は更新された前記ウェブページに表示されている文章を自然言語処理し、自然言語処理をした前記文章を学習データとして学習することを特徴とする。
【発明の効果】
【0013】
請求項1の発明によれば、様々なマニュアルなどが記録されているファイルや、FAQ(Frequently Asked Questions)などが表示されているウェブページのURLを選択して学習させることによって、短期間で、かつ、高精度のチャットボットを管理するサーバを生成することができる。
【0014】
他の発明によれば、回答情報として画像情報及び/又は文字情報を表示させることによって、視認性が優れているので、ユーザにとって必要と思われる情報を選択しやすくすることができる。
【0015】
他の発明によれば、表示された回答情報のうち選択の入力を受け付けた回答情報に関する情報を学習データとしてさらに学習するため、より精度の高いチャットボットを生成することができる。
【0016】
他の発明によれば、前記学習手段は、前記受信手段が受信した前記画像情報及び/又は前記文字情報に関する情報に応じてポイントを付与し、該ポイントに応じて前記回答情報として前記画像情報及び/又は前記文字情報の表示順位が決定されるので、チャットボットを使用し続けることによって、ユーザが求めている回答が表示される確度が高くなり、さらなるユーザの利便性の向上に資することができる。
【0017】
他の発明によれば、ベクトルの類似度が計算されることによって、ユーザが求めている回答と同一又は回答に近いものを類似度に従って表示させることができるので、質問情報に対する回答情報の生成の精度を高くすることができる。
【0018】
他の発明によれば、ベクトルの類似度に加えて、学習データとしての文章に含まれる特徴量と、質問情報に含まれる特徴量とに基づいて、類似度の計算をするため、質問情報に対する回答情報の生成の精度をさらに高くすることができる。
【0019】
他の発明によれば、マニュアルやFAQが更新された場合に、所定の入力を受け付けることによってチャットボットを更新することができ、チャットボットを管理するサーバ及びチャットボットの回答を準備するためなどのチャットボット自体の維持管理のためのメンテナンスの負担の軽減を図ることができる。
【図面の簡単な説明】
【0020】
図1】この発明の実施の形態に係るチャットボットシステム1の全体構造を示す機能ブロック図である。
図2】この発明の実施の形態に係るチャットボットに関する学習済みモデルが生成されるまでのフローチャートを示す図である。
図3】この発明の実施の形態に係るサーバ3が備える学習手段33が学習データを学習する過程において、単語の分割と一般化をする際のフローチャートを示す図である。
図4】この発明の実施の形態に係るチャットボットシステム1が生成される過程の画面の遷移を示す図である。
図5A】この発明の実施の形態に係るチャットボットに関する学習済みモデルが質問情報の入力から回答情報を出力するまでの過程のうち、最初に表示される画面の例を示す図である。
図5B】この発明の実施の形態に係るチャットボットに関する学習済みモデルが質問情報の入力から回答情報を出力するまでの過程のうち、質問情報の入力を受け付けている画面の例を示す図である。
図5C】この発明の実施の形態に係るチャットボットに関する学習済みモデルが回答情報を生成し、生成された回答情報が表示されている画面の例を示す図である。
図5D】この発明の実施の形態に係るチャットボットに関する学習済みモデルが生成した複数の回答情報のうち選択の入力を受け付けた回答情報を表示している画面の例を示す図である。
図5E】この発明の実施の形態に係るチャットボットに関する学習済みモデルが生成した回答情報について精度に関する選択肢を表示している画面の例を示す図である。
図6】この発明の実施の形態に係るチャットボットに関する学習済みモデルが生成された後に、質問情報の受信から回答情報の生成までのフローチャートを示す図である。
【発明を実施するための形態】
【0021】
この発明の実施の形態について、図1から図6までを用いて説明する。
【0022】
図1は、この発明の実施の形態に係るチャットボットシステム1の全体構造を示す機能ブロック図である。
【0023】
図1に示すとおり、チャットボットシステム1は、端末2と、チャットボットに関する学習済みモデルなどが格納されているサーバ3とを備えている。端末2は、たとえば、パーソナルコンピュータ、タブレット端末、スマートフォンなどである。端末2は、端末2aと、端末2bとからなり、主にチャットボットシステム1を管理する管理者が使用し、サーバ3と各種の情報を交信するための端末2aと、主にチャットボットシステム1を利用するユーザが使用し、サーバ3と各種の情報を交信するための端末2bとからなる。端末2a、端末2bと、サーバ3との間はネットワーク4で接続されている。なお、図1においては、端末2aと端末2bとの2台の端末が示されているが、管理者とユーザとが共同で使用する1台の端末に後述する端末のすべての機能(端末2aと端末2bとが備える機能)を備えていても良いし、一人又は複数人の管理者と、一人又は複数人のユーザとが使用する3台以上の端末を備え、3台以上の端末にそれぞれの機能を備えさせても良い。
【0024】
端末2aは、学習手段33に学習を指示する学習指示手段21と、サーバ3との間で各種の情報を交信する送受信手段22と、サーバ3から受信した情報を表示する第一表示手段23と、を備えている。
【0025】
学習指示手段21は、サーバ3が備えている学習手段33に対して、学習データとして所定の情報を学習することを指示する。所定の情報とは、たとえば、マニュアル情報が保存されているファイルや、よくある質問とその質問に対する回答であるFAQが掲載されているウェブページのURL(Uniform Resource Locator)である。学習指示手段21が学習手段33に学習データとして学習させるファイル形式は、どのようなものでもよく、たとえば、wordやPDFファイルでもよい。学習指示手段21による学習段階のフロー及び画像の例については、図2及び図4において、説明する。
【0026】
送受信手段22は、サーバ3との間で各種の情報を交信する。送受信手段22からサーバ3へ送信する情報の例としては、辞書情報記憶手段32に記憶させる辞書情報や、質問情報、回答情報、質問情報に関連付けられた分類タグに関する情報などである。分類タグについては、後述する。また、送受信手段22がサーバ3から受信する情報の例としては、分析手段36が分析した回答情報に関する情報や、チャットボットシステム1の利用状況に関する情報、追加学習に関する情報などである。詳細は、後述する。
【0027】
第一表示手段23は、送受信手段22がサーバ3から受信した情報を表示する。第一表示手段23は、情報を表示する機能を有するものであればよく、ディスプレイやプロジェクタなどである。第一表示手段23は、たとえば、サーバ3から受信した、分析手段36が分析した回答情報に関する情報などを表示する。
【0028】
端末2bは、質問情報などの入力を受け付ける入力手段26と、入力手段26が入力を受け付けた質問情報などをサーバ3へ送信する端末送信手段27と、サーバ3から回答情報を受信する端末受信手段28と、端末受信手段28が受信した回答情報を表示する第二表示手段29と、を備えている。
【0029】
入力手段26は、サーバ3へ送信する質問情報や、分類タグに関する情報、ユーザが選択した回答情報に関する情報の入力を受け付ける手段であり、たとえば、マウス、キーボード、タッチパネルなどである。入力手段26が音声情報を文字情報に変換する機能を備えているのであれば、入力手段26は、マイクなどの集音器であっても良い。入力手段26は、ユーザが調べたい質問情報の入力を受け付ける。たとえば、チャットボットシステム1が社内問合せ用のものであれば、入力手段26は、「有給休暇の取り方」などの情報を質問情報として入力を受け付ける。
【0030】
端末送信手段27は、入力手段26が入力を受け付けた質問情報などをサーバ3に送信する。たとえば、上記の例で説明をすると、端末送信手段27は、入力手段26が入力を受け付けた「有給休暇の取り方」という質問情報をサーバ3に送信する。また、端末送信手段27は、後述する第二表示手段29によって表示される複数の回答情報のうち入力手段26がユーザによって選択の入力を受け付けた回答情報に関する情報をサーバ3に送信する。
【0031】
端末受信手段28は、端末送信手段27が送信した質問情報に応じて、後述する学習手段33が生成する回答情報をサーバ3から受信する。たとえば、上記の例で説明をすると、「有給休暇の取り方」という質問情報に応じて、端末受信手段28は、サーバ3から「就業規則」、「有給休暇を取得するための申請書の記入方法」、「有給休暇の残日数の確認方法」、「有給休暇を取得するための承認ルート」などの複数の回答情報を受信する。
【0032】
第二表示手段29は、端末受信手段28が受信した複数の回答情報を表示する。第二表示手段29は、第一表示手段23と同様に、情報を表示する機能を有するものであればよく、ディスプレイやプロジェクタなどである。第二表示手段29は、たとえば、端末受信手段28が受信した、複数の回答情報として、文字情報、画像情報、文字情報と画像情報との組合せを表示する。また、第二表示手段29は、後述するポイントや特徴量に基づいた回答情報の精度に応じて、表示される回答情報に順序を設けてもよい。もっとも、第二表示手段29が表示する回答情報の例としては、これらに限られず、図形や記号、キャラクターのリアクションなどであってもよい。なお、第二表示手段29による回答情報の表示方法、表示順位などについては、後述する。
【0033】
サーバ3は、端末2から質問情報など各種の情報を受信するサーバ受信手段31と、所定の辞書情報を記憶している辞書情報記憶手段32と、辞書情報記憶手段32に記憶されている辞書情報を参照して、所定の文章を自然言語処理した後に、質問情報に応じて複数の回答情報を生成する学習手段33と、所定の情報を記憶している記憶手段34と、学習手段33が生成した複数の回答情報を端末2へ送信するサーバ送信手段35と、回答情報などの情報を分析する分析手段36と、を備えている。なお、サーバ3は、物理サーバで構成されてもよいし、仮想サーバで構成されてもよい。
【0034】
サーバ受信手段31は、端末2bから送信された質問情報や、第二表示手段29によって表示される複数の回答情報のうち入力手段26がユーザによって選択の入力を受け付けた回答情報に関する情報を受信する。また、サーバ受信手段31は、端末2aから送信された、辞書情報記憶手段32に記憶させる辞書情報を受信する。サーバ受信手段31が受信する情報の具体的な処理については、後述する。
【0035】
辞書情報記憶手段32は、所定の辞書情報として、後述する学習手段33が回答情報を生成する際に参照される言葉を記憶している。具体的には、学習手段33が自然言語処理をする過程において誤って単語を分割するのを防止するための単語や、同意語の組合せを記憶している。辞書情報記憶手段32が記憶している単語は、単語の分割を防止するためのものとしては、たとえば、主に複数の名詞から構成される単語であり、「明治神宮野球場」や「東京タワー」(登録商標)などが該当する。辞書情報記憶手段32が記憶している同意語の組合せとしては、「やりかた」と「方法」などである。辞書情報記憶手段32は、公知の辞書情報データベースを用いたり、送受信手段22から受信することによって、辞書情報として単語を記憶することができる。もっとも、辞書情報記憶手段32に辞書情報としての単語を記憶させる方法としては、これらに限られない。
【0036】
学習手段33は、学習段階と利用段階によって、機能が異なる。まず、学習段階における学習手段33について、説明をする。学習手段33は、学習手段33が備えている学習済みモデルによって、学習指示手段21により指示された所定の情報を学習する。所定の情報とは、上述のとおり、学習指示手段21が指示した、マニュアル情報が保存されているファイルや、よくある質問とその質問に対する回答であるFAQが掲載されているウェブページのURLである。学習手段33は、ファイルに保存されている文章やウェブページに表示されている文章を学習データとして学習する。学習手段33による学習段階の具体的なフローについて、図2を用いて説明をする。
【0037】
図2は、この発明の実施の形態に係るチャットボットに関する学習済みモデルが生成されるまでのフローチャートを示す図である。
【0038】
まず、学習手段33が備えているチャットボットに関する学習済みモデルに学習データを入力する(ステップS201)。入力される学習データは、上述のとおり、ファイルに保存されている文章や、URLのウェブページに表示されている文章である。
【0039】
次に、学習手段33は、文章のクリーニング処理をする(ステップS202)。具体的には、文章に関係がない文字列などのノイズを除去する。ノイズの例としては、ウェブページの場合には、HTML(HyperText Markup Language)タグなどである。
【0040】
学習手段33は、文章を単語ごとに分割し(ステップS203)、単語を一般化する(ステップS204)。単語の分割と正規化のフローについては、図3を用いて、説明をする。
【0041】
図3は、この発明の実施の形態に係るサーバ3が備える学習手段33が学習データを学習する過程において、単語の分割と一般化をする際のフローチャートを示す図である。図3Aにおいて、「ログインの仕方を教えて。」という文章が表示されている。次に、図3Bが示すとおり、学習手段33は、形態素解析により、この文章を「ログイン」、「の」、「しかた」、「を」、「教え」、「て」と分割する。この際、学習手段33は、文章において、数値で表現されていることを認識する数値表現と、時間的な表現であることを認識する時間表現と、期間や範囲に関する表現であることを認識する範囲表現と、否定表現とを組み合わせて文章を単語に分割することによって、正確な位置で単語を分割することができる。否定表現とは、通常の表現に「ない」という単語を組み合わせることであり、たとえば、「設定されていない」という表現を、「設定する」と「ない」という組合せにすることである。このような組合せによって、質問情報に否定形の文章が含まれている場合に検索されやすくなる。
【0042】
図3Cが示すとおり、文章に使われている品詞のうち不要な文字(たとえば助詞や助動詞)を削除して、「ログイン」、「しかた」、「教え」の単語が抽出されている。さらに、図3Dが示すとおり、辞書情報記憶手段32が記憶している辞書情報を参照して、「しかた」を「方法」という単語へ一般化することによって、「ログイン」、「方法」、「教え」という単語が抽出される。一般化された単語の抽出により、単語の分割と正規化の処理は、終了する。
【0043】
図2に示すステップS205に戻り、学習手段33は、ストップワードを除去する。学習手段33による学習の過程において文章に含まれる単語の頻度を集計し、高頻度の単語をストップワードとして文章から除去をしてもよいし、ストップワードのデータベースを用いて、文章からストップワードを除去してもよい。
【0044】
ストップワードが除去された単語は、ベクトル化される(ステップS206)。ベクトル化の手段としては、たとえば、tf-idfベクトル化(TfidfVectorizer)が用いられ、Bag Of WordsやWord2Vec、Doc2Vecなどが用いられてもよい。
【0045】
単語のベクトル化が完了したときは、ストップワードが除去された文章をベクトル化する(ステップS207)。ベクトル化の手段としては、上記と同様に、たとえば、tf-idfベクトル化(TfidfVectorizer)を用いられる。
【0046】
ベクトル化された単語や文章に対して、分類タグを付すことができる(ステップS208)。分類タグとは、たとえば、質問情報のジャンルに関するものであり、社内向けのチャットボットシステム1であれば、「人事について」、「Web mtgについて」、「PC操作方法について」などである。分類タグは、学習手段33による学習の過程で自動的に付されるようにしてもよいし、送受信手段22から分類タグに関する情報を送信されることにより、ベクトル化された単語や文章に分類タグを付すようにしてもよい。
【0047】
学習手段33は、学習データがまだあるかどうか判定をし、学習データがないと判定をしたときは(ステップS209:No)、学習を終了する。学習手段33は、学習データがまだあると判定したときは(ステップS209:Yes)、ステップS202に戻り、学習を行う。学習手段33は、学習データがなくなるまで、これらの処理を繰り返す。これらの処理が完了すると、学習手段33による学習段階における処理が完了し、チャットボットに関する学習済みモデルは完成する。
【0048】
次に、図4を用いて説明をする。図4は、この発明の実施の形態に係るチャットボットシステム1が生成される過程の画面の遷移を示す図である。
【0049】
図4の画面は、第一表示手段23に表示されている。学習指示手段21は、図4に示すAの枠において、学習手段33に学習データとして学習をさせるURLやファイルを選択することができる。学習指示手段21は、学習データとして学習をさせるURLを選択する際に、サブドメインのURLやウェブページ内のファイルなどを学習の対象とするかどうか、設定することができるようにしてもよい。
【0050】
図4に示すBを選択することによって、学習データとして学習するURLを追加することができる。
【0051】
図4に示すCを選択することによって、学習手段33による学習を開始する。第一表示手段23において、学習手段33による学習の開始から、チャットボットに関する学習済みモデルが完成するまでに要した時間を表示してもよい。さらには、第一表示手段23は、学習データを取り込む段階(図4におけるStep1)、学習データを整理する段階(図4におけるStep2)、学習データを登録する段階(図4におけるStep3)、チャットボットに関する学習済みモデルを作成する段階(図4におけるStep4)のそれぞれに要した時間を表示しても良い。
【0052】
図1に戻り、学習手段33による追加学習について説明をする。学習手段33は、端末送信手段27から、第二表示手段29によって表示される複数の回答情報のうち入力手段26がユーザによって選択の入力を受け付けた回答情報に関する情報を学習データとして、追加学習をする。たとえば、第二表示手段29が複数の回答情報として文字情報と画像情報との組合せを表示した際に、複数の回答情報の全部又は一部について入力手段26がユーザから選択の入力を受け付けた場合、端末送信手段27から、その選択された回答情報に関する情報がサーバ受信手段31に送信され、学習手段33は、その情報を学習データとして追加学習をする。また、学習手段33は、質問情報に含まれる単語と、回答情報の候補に含まれる単語との組合せについてポイントを付与する。ポイントとは、学習手段33が回答情報を生成する過程において、質問情報に含まれる単語や文章のうち、回答情報として関連性が高いものについて、その質問情報と回答情報との組合せに付与されるものである。たとえば、第二表示手段29が表示した複数の回答情報として文字情報と画像情報との組合せのうち、ユーザから選択の入力を受け付けたものがあるときは、その質問情報と回答情報とは、関連性が高いと判定される。学習手段33が付与したポイントは、記憶手段34において記憶され、学習手段33が回答情報を生成する過程において、参照される。学習手段33は、このポイントに応じて、第二表示手段29に表示させる複数の回答情報の表示順位を決定することができる。
【0053】
次に、学習手段33は、利用段階において、上記の学習段階において学習が完了したチャットボットに関する学習済みモデルによって、サーバ受信手段31が受信した質問情報に応じて、複数の回答情報を生成する。学習手段33は、回答情報を生成するに際して、辞書情報記憶手段32が記憶している辞書情報や、記憶手段34が記憶している単語の特徴量、単語や文章のポイントを参照する。利用段階における学習手段33における具体的な画像の遷移については、図5Aから図5Eまでを用いて説明をする。
【0054】
図5Aから図5Eまでは、この発明の実施の形態に係るチャットボットに関する学習済みモデルが質問情報の入力から回答情報を出力するまでの画面の遷移を示す図である。
【0055】
図5Aは、第二表示手段29が表示している画像である。第二表示手段29は、チャットボットが「こんにちは!こちらはテストチャットのヘルプボットです。質問をどうぞ。」とチャットをしている画像を表示している。
【0056】
図5Bは、第二表示手段29が表示している、入力手段26による質問情報の入力を受け付けている画像である。この際、後述する分類タグの設定がある場合には、入力手段26は、分類タグの選択を受け付けるとともに、質問情報の入力を受け付けてもよい。図5Bにおいて、入力手段26は、「人事給与」の分類タグの選択を受け付けるとともに、「年末調整について」という質問情報の入力を受け付けている。入力手段26が「人事給与」という分類タグが選択されたという情報と、「年末調整について」という質問情報の入力を受け付けると、端末送信手段27からサーバ受信手段31へこれらの情報が送信される。
【0057】
図5Cは、学習手段33が、サーバ受信手段31が受信した「人事給与」という分類タグが選択されたという情報と、「年末調整について」という質問情報に基づいて回答情報を生成し、第二表示手段29がこの回答情報を表示している画像である。第二表示手段29は、複数の回答情報として画像情報と文字情報の組合せを3組表示している。図5Cにおいては、複数の回答情報として3組の回答情報を表示しているが、組合せの数は、限られない。なお、第二表示手段29は、学習手段33によって回答としての精度が高いと判定された回答情報から順に表示するようにしてもよいし、回答としての精度が高いと判定された回答情報が目立つように表示をしてもよい。
【0058】
図5Dは、第二表示手段29において、入力手段26が、図5Cで表示された、複数の回答情報としての画像情報と文字情報の組合せのうち選択の入力を受け付けた1つの組合せを表示していることを示す図である。端末送信手段27は、入力手段26が複数の回答情報のうち選択の入力を受け付けた情報をサーバ受信手段31に送信し、学習手段33は、サーバ受信手段31が受信したこの情報を学習データとして追加学習をする。
【0059】
図5Eは、第二表示手段29において、図5Dで表示された回答情報を閉じて、複数の回答情報として画像情報と文字情報の組合せが3組表示されているとともに、それぞれの回答情報の下部に「お役に立ちましたか?」と表示されていることを示す図である。第二表示手段29は、「お役に立ちましたか?」という質問に対して、「はい」、「おしい」、「いいえ」の3つの選択肢を表示している。これらの選択肢のうち、「はい」を選択すれば、学習手段33が生成した回答情報の精度が高く、「いいえ」を選択すれば、学習手段33が生成した回答情報の精度は低く、「おしい」であれば、学習手段33が生成した回答情報の精度は低くないと判定することができる。端末送信手段27は、入力手段26がこれらの選択肢のうち選択の入力を受け付けた情報をサーバ受信手段31に送信し、学習手段33は、サーバ受信手段31が受信したこの情報を学習データとして追加学習し、学習手段33による回答情報の生成の精度向上に資することができる。
【0060】
図1に戻り、記憶手段34は、学習手段33が生成した回答情報や、回答情報と分類タグとを関連付けて記憶している。また、記憶手段34は、学習手段33による学習の過程で文章を構成する単語に特徴量があれば、特徴量を記憶している。特徴量は、たとえば、回答情報の候補が表示される際にキーセンテンスとなっている頻度の高い単語を複数組み合わせ、この組合せをベクトル化した値を回答情報の候補として定義し、質問情報に含まれる単語が、その定義した組合せのベクトル化した値に含まれ、かつ、頻出される組合せとして近いものをランク付けする。なお、キーセンテンスは、学習手段33の学習により、抽出される。
【0061】
記憶手段34は、第二表示手段29が表示した複数の回答情報として文字情報と画像情報との組合せのうち、入力手段26がユーザから選択の入力を受け付けたものがあるときは、端末送信手段27から、その選択された回答情報に関する情報を受信し、質問情報に含まれる単語と、回答情報に含まれる単語との組合せに対して学習手段33が付与したポイントを記憶している。ユーザが選択した回答情報と、質問情報に対する回答との組合せは回答として確からしいと判定されるため、記憶手段34は、質問情報と、ユーザが選択した回答情報と、ポイントと、特徴量のランクとを関連付けて記憶する。記憶手段34が記憶しているこれらの情報によって、第二表示手段29は、複数の回答情報としての画像情報及び/又は文字情報の表示順位を決定してもよい。
【0062】
サーバ送信手段35は、学習手段33が生成した複数の回答情報を端末2bに送信する。サーバ送信手段35は、複数の回答情報として画像情報及び文字情報を送信し、第二表示手段29に画像情報及び文字情報を表示させるようにしてもよい。また、サーバ送信手段35は、後述する分析手段36が分析した回答情報に関する情報を端末2aに送信する。
【0063】
分析手段36は、サーバ受信手段31が受信した質問情報や学習手段33が生成した回答情報、回答情報の精度、チャットボットシステム1の利用状況などを分析する。たとえば、分析手段36は、質問情報に含まれる単語で頻出しているものがあれば集計したり、辞書情報記憶手段32に記憶されていない辞書情報を分析することによって、辞書情報記憶手段32に記憶させる単語を抽出したり、再学習の要点を提案する。
【0064】
ネットワーク4は、端末2とサーバ3とを無線接続する通信媒体である。ネットワーク4は、端末2がサーバ3との間で各種の情報を交信できるものであれば、どのような通信形式や通信媒体であってもよい。
【0065】
図6は、この発明の実施の形態に係るチャットボットに関する学習済みモデルが生成された後に、質問情報の受信から回答情報の生成までのフローチャートを示す図である。
【0066】
サーバ受信部31が質問情報を受信すると、学習手段33は、文章を構成する単語のベクトルを取得する(ステップS601)。単語のベクトルを取得するために、たとえば、tf-idfベクトル化(TfidfVectorizer)を用いて、質問情報を構成する単語をベクトル化する。なお、上記と同様、単語をベクトル化する方法として、Bag Of WordsやWord2Vec、Doc2Vecなどが用いられてもよい。
【0067】
学習手段33は、記憶手段34に記憶されている単語の特徴量を参照して、質問情報を構成する、ベクトル化された単語に特徴量が含まれているかどうか、判定をする(ステップS602)。
【0068】
単語に特徴量が含まれていると判定されたときは(ステップS602:Yes)、学習手段33は、記憶手段34に記憶されている特徴量のランクに応じて、回答情報の候補を抽出し、その候補に検索結果の順位付けをする(ステップS603)。
【0069】
学習手段33によってベクトル化された単語に特徴量が含まれていないと判定されたとき(ステップS602:No)、及び学習手段33が記憶手段34に記憶されている特徴量のランクに応じて、回答情報の候補を抽出し、その候補に検索結果の順位付けをしたときは(S603)、学習手段33は、さらに、ベクトル化された質問情報と近似率の高い回答情報の候補を取得する(ステップS604)。近似率の高い回答情報とは、ベクトル化された質問情報と、学習手段33による学習の過程でベクトル化された単語と、ベクトル化された文章との距離が近いことをいう。学習手段33は、ベクトル化された質問情報が指す場所に近い回答情報の候補を取得するために、たとえば、コサイン類似度を用いて、近似率を計算し、回答情報の候補を取得する。
【0070】
学習手段33は、分類タグの指定があるかどうか、判定をする(ステップS605)。分類タグとは、上記のように、たとえば、社内向けのチャットボットシステム1であれば、「人事について」、「Web mtgについて」、「PC操作方法について」などである。分類タグの指定があるときは(ステップS605:Yes)、指定された分類タグに従って、学習手段33は、回答情報の候補を絞り込む(ステップS606)。
【0071】
分類タグの指定がないとき(ステップS605:No)、及び指定された分類タグによって回答情報の候補を絞り込んだときは(ステップS606)、学習手段33は、ベクトル化された質問情報を構成する単語にポイントがあるかどうか、そのポイントの加算があるかどうか、判定する(ステップS607)。ポイントとは、上記のように、記憶手段34が記憶している、関連性が高い、質問情報に含まれる単語と回答情報の候補に含まれる単語との組合せに対するポイントである。
【0072】
学習手段33は、ポイントがあると判定したときは(ステップS607:Yes)、記憶手段34が記憶しているポイントを参照して、ポイントの大きさによって、ポイントを加算し、回答情報の候補をさらに絞り込む(ステップS608)。
【0073】
学習手段33が単語に応じたポイントがないと判定したとき(ステップS607:No)、及び学習手段33がポイントによって回答情報の候補を絞り込んだときは(ステップS608)、サーバ受信手段が受信した質問情報に応じた、学習手段による回答情報の生成が完了する(ステップS609)。
【0074】
サーバ送信手段35は、学習手段33が生成した複数の回答情報を端末2bの端末受信手段28に送信する(ステップS610)。
【0075】
第二表示手段29は、サーバ送信手段35から送信された複数の回答情報として画像情報及び文字情報を表示する。第二表示手段29が表示した複数の回答情報としての画像情報及び文字情報のうち、入力手段26がユーザによって質問された内容に応じた回答の選択の入力を受け付ける(ステップS611)。
【0076】
端末送信手段27は、入力手段26がユーザによって選択の入力を受け付けた回答情報があるときは、その回答情報に関する情報をサーバ受信手段31に送信する(ステップS612)。
【0077】
学習手段33は、サーバ受信手段31が受信した、入力手段26がユーザによって選択の入力を受け付けた回答情報に関する情報に対して、ポイントを加算して、上記のように、記憶手段34によって関連付けて記憶される(ステップS613)。記憶手段34によって記憶されたポイントは、上記のステップS607にあるとおり、次回以降の質問情報に対する回答情報を生成する過程で、回答精度を高めるために参照される。
【0078】
以上、上記実施の形態に係るサーバ3によれば、短期間で、かつ、精度の高いチャットボットシステム1を提供することができる。
【0079】
上記実施の形態に係るサーバ3によれば、回答情報として画像情報及び/又は文字情報を表示させることによって、視認性が優れているので、ユーザにとって必要と思われる情報を選択しやすくすることができる。
【0080】
上記実施の形態に係るサーバ3によれば、表示された回答情報のうち選択の入力を受け付けた回答情報に関する情報を学習データとしてさらに学習するため、より精度の高いチャットボットを生成することができる。
【0081】
上記実施の形態に係るサーバ3によれば、学習手段は、受信手段が受信した画像情報及び/又は文字情報に関する情報に応じてポイントを付与し、該ポイントに応じて回答情報として画像情報及び/又は文字情報の表示順位が決定されるので、チャットボットシステム1を使用し続けることによって、ユーザが求めている回答が表示される確度が高くなり、さらなるユーザの利便性の向上に資することができる。
【0082】
上記実施の形態に係るサーバ3によれば、ベクトルの類似度が計算されることによって、ユーザが求めている回答と同一又は回答に近いものを類似度に従って表示させることができるので、質問情報に対する回答情報の生成の精度を高くすることができる。
【0083】
上記実施の形態に係るサーバ3によれば、ベクトルの類似度に加えて、学習データとしての文章に含まれる特徴量と、質問情報に含まれる特徴量とに基づいて、類似度の計算をするため、質問情報に対する回答情報の生成の精度をさらに高くすることができる。
【0084】
上記実施の形態に係るサーバ3によれば、マニュアルやFAQが更新された場合に、所定の入力を受け付けることによってチャットボットを更新することができるため、担当者の不在や情報の未蓄積などを理由としてチャットボットを更新することができなくなるという事態を避けることができ、チャットボットシステム1を管理するサーバ3の維持管理のためのメンテナンスの負担の軽減を図ることができる。
【0085】
上記実施の形態は本発明の例示であり、本発明が上記実施の形態のみに限定されることを意味するものではないことは、いうまでもない。
【0086】
たとえば、上記実施の形態に係るサーバ3がサーバ送信手段31と、辞書情報記憶手段32と、学習手段33と、記憶手段34と、サーバ受信手段35と、分析手段36と、を備えているが、これらの機能を複数のサーバに分散させて備えさせても良いし、これらの機能の一部を端末2に備えさせても良い。
【0087】
チャットボットシステム1は、ドキュメントの検索のためにも用いることができる。たとえば、SNS(Social Networking Service)内で検索を行ったり、ファイルサーバーで検索を行ったり、他のシステムに登録されている文章から検索を行うなど、検索のための様々な場面で利用可能である。
【0088】
チャットボットシステム1に用いられる学習データの言語は日本語に限られない。すなわち、公知の翻訳技術を用いて、学習データとして外国語の文章を学習させることによって、外国語に対応したチャットボットに関する学習済みモデルを作成してもよい。
【符号の説明】
【0089】
1・・・チャットボットシステム
2・・・端末
3・・・サーバ
4・・・ネットワーク
21・・・学習指示手段
22・・・送受信手段
23・・・第一表示手段
26・・・入力手段
27・・・端末送信手段
28・・・端末受信手段
29・・・第二表示手段
31・・・サーバ受信手段
32・・・辞書情報記憶手段
33・・・学習手段
34・・・記憶手段
35・・・サーバ送信手段
36・・・分析手段
図1
図2
図3
図4
図5A
図5B
図5C
図5D
図5E
図6