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

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

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-開発支援システム及び開発支援方法 図1
  • 特開-開発支援システム及び開発支援方法 図2
  • 特開-開発支援システム及び開発支援方法 図3
  • 特開-開発支援システム及び開発支援方法 図4
  • 特開-開発支援システム及び開発支援方法 図5
  • 特開-開発支援システム及び開発支援方法 図6
  • 特開-開発支援システム及び開発支援方法 図7
  • 特開-開発支援システム及び開発支援方法 図8
  • 特開-開発支援システム及び開発支援方法 図9
  • 特開-開発支援システム及び開発支援方法 図10
  • 特開-開発支援システム及び開発支援方法 図11
  • 特開-開発支援システム及び開発支援方法 図12
  • 特開-開発支援システム及び開発支援方法 図13
  • 特開-開発支援システム及び開発支援方法 図14
  • 特開-開発支援システム及び開発支援方法 図15
  • 特開-開発支援システム及び開発支援方法 図16
  • 特開-開発支援システム及び開発支援方法 図17
  • 特開-開発支援システム及び開発支援方法 図18
  • 特開-開発支援システム及び開発支援方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023112307
(43)【公開日】2023-08-14
(54)【発明の名称】開発支援システム及び開発支援方法
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20230804BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022014010
(22)【出願日】2022-02-01
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】黒土 健三
(72)【発明者】
【氏名】十河 泰弘
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】      (修正有)
【課題】対話システムや対話コンテンツを効率的、かつ、簡便に作成可能とする開発支援システム及び開発支援方法を提供する。
【解決手段】開発支援システム100において、顧客による所定サービスへの申込手続に必要な、当該顧客に関する所定の対象情報それぞれを収集する部品を複数保持する記憶装置11と、サービスの申込受付業務に対応した申込プログラムの開発担当者の端末に向け、対象情報に対応する部品それぞれの情報を出力し、開発担当者による部品の組合せの選択結果を受け付ける処理と、部品の組合せの選択結果に応じて、当該部品を組み合わせて申込みプログラムを生成する処理を実行する演算装置14と、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
顧客による所定サービスへの申込手続に必要な、当該顧客に関する所定の対象情報それぞれを収集する部品を複数保持する記憶装置と、
前記サービスの申込受付業務に対応した申込プログラムの開発担当者の端末に向け、前記対象情報に対応する前記部品それぞれの情報を出力し、前記開発担当者による前記部品の組合せの選択結果を受け付ける処理と、前記部品の組合せの選択結果に応じて、当該部品を組み合わせて前記申込みプログラムを生成する処理を実行する演算装置と、
を含むことを特徴とする開発支援システム。
【請求項2】
前記記憶装置は、
前記部品として、前記顧客が入力した情報について顧客に確認するための問い直し部を有する部品を保持しており、
前記演算装置は、
前記問い直し部を有した前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、
ことを特徴とする請求項1に記載の開発支援システム。
【請求項3】
前記記憶装置は、
前記問い直し部において、前記顧客の入力ミスがあるか判定する入力ミス検知部を含む部品を保持しており、
前記演算装置は、
前記入力ミス検知部を前記問い直し部に含む前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、
ことを特徴とする請求項2に記載の開発支援システム。
【請求項4】
前記記憶装置は、
前記入力ミス検知部において、前記顧客の入力から固有表現を抽出する固有表現抽出部を含む部品を保持しており、
前記演算装置は、
前記固有表現抽出部を前記入力ミス検知部に含む前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、
ことを特徴とする請求項3に記載の開発支援システム。
【請求項5】
前記記憶装置は、
前記固有表現抽出部として、単語の平均ベクトルと語尾の単語のベクトルを含む特徴量を学習データとする機械学習モデルを用いて、前記顧客の入力から固有表現を抽出する部品を保持しており、
前記演算装置は、
前記固有表現抽出部を前記入力ミス検知部に含む前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、
ことを特徴とする請求項4に記載の開発支援システム。
【請求項6】
前記記憶装置は、
前記複数保持する部品のうち少なくとも1つ以上からなる申込テンプレートを、前記申込みプログラムが対象とするサービスの業種または目的に応じて保持しており、
前記演算装置は、
前記端末に向け、前記端末から指定を受けた又は予め指定のサービスの業種または目的に応じた前記申込みテンプレートの情報を、前記記憶装置で特定して出力し、前記開発担当者による、当該申込みテンプレートにおける前記部品の組合せの選択結果を受け付け、
前記部品の組合せの選択結果に応じて、当該部品を組み合わせて前記申込みプログラムを生成する処理を実行するものである、
ことを特徴とする請求項1に記載の開発支援システム。
【請求項7】
前記記憶装置は、
前記部品として、前記顧客ごとの既知情報に基づき、申込を受け付ける方法を変化させる対話制御部を有する部品を保持しており、
前記演算装置は、
前記対話制御部を有した前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、
ことを特徴とする請求項1に記載の開発支援システム。
【請求項8】
前記記憶装置は、
前記部品として、前記対話制御部において、前記顧客ごとの既知情報については顧客への情報確認に留め、当該顧客に改めて入力させないように制御する部品を保持しており、
前記演算装置は、
前記対話制御部を有した前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、
ことを特徴とする請求項7に記載の開発支援システム。
【請求項9】
前記演算装置は、
前記開発担当者による前記部品の組合せの選択結果を受け付ける際、当該選択結果に含まれる前記部品それぞれの実行順序に応じて当該部品間を矢印で結んだ画面を生成し、前記端末に表示させるものである、
ことを特徴とする請求項1に記載の開発支援システム。
【請求項10】
情報処理システムが、
顧客による所定サービスへの申込手続に必要な、当該顧客に関する所定の対象情報それぞれを収集する部品を複数保持する記憶装置を備えて、
前記サービスの申込受付業務に対応した申込プログラムの開発担当者の端末に向け、前記対象情報に対応する前記部品それぞれの情報を出力し、前記開発担当者による前記部品の組合せの選択結果を受け付ける処理と、
前記部品の組合せの選択結果に応じて、当該部品を組み合わせて前記申込みプログラムを生成する処理と、
を実行することを特徴とする開発支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、開発支援システム及び開発支援方法に関するものである。
【背景技術】
【0002】
人による音声や生成文等を入力として、人の助けとなる情報出力や機械等の制御命令の出力を行う対話システム(以下、チャットボットとする)、に関する研究が近年盛んに行われている。また、スマートスピーカーやクラウドコンピューティング、いわゆるフォグコンピューティングと組み合わせることで、一定のコスト内で誰でも、どこでも、いつでもチャットボットを利用できるユビキタス社会が実現されつつある。
そうした対話システムに関連する従来技術としては、例えば、簡易なユーザインターフェースによって複数のネットワーク型サービスをシームレスに利用可能であり、かつ、ユーザの操作性及び利便性を向上させることが可能な対話型サービス提供システムなどを提供する対話型入力支援システム(特許文献1参照)などが提案されている。
【0003】
このシステムは、ユーザが用いる端末装置と、当該ユーザに対してネットワーク上の異なるサービスを提供する複数のサーバシステムと、ネットワークを介してそれぞれと接続され、対話形式によって前記ユーザのコマンド入力をサポートし、かつ、所与のサービスを該当するユーザに享受させる対話型入力支援システムと、から構成される情報処理システムの当該対話型入力支援システムであって、前記ユーザによって前記端末装置を介して入力された入力テキストを受信して認識する認識手段と、前記認識された入力テキストに対応して各サービスを享受させるためのシナリオがデータ化されたシナリオデータと、各シナリオデータに対応付けて、該当するサービスを該当するユーザが享受する際に各サーバシステムからそれぞれ要求される各ユーザに関するユーザ情報と、が記憶されている記憶手段を管理する管理手段と、前記端末装置から送信された入力テキストを入力する前記ユーザを特定ユーザとして特定する特定手段と、前記特定ユーザが享受するサービスを選択する選択タイミングであると判定した場合に、当該選択タイミング及び前記認識したテキストに基づいて、前記特定ユーザに提供するサービスと、当該サービスを提供する際に使用するシナリオデータと、を選択する選択手段と、前記選択されたシナリオデータに沿って、前記特定ユーザに該当するサービスを提供する際に指示するコマンドを生成するコマンド生成処理手段と、前記生成されたコマンドを該当する前記サーバシステムに出力するコマンド出力制御手段と、を備え、前記コマンド生成処理手段が、前記選択されたシナリオデータに沿って、前記ユーザに対して前記入力テキストの入力を誘導する誘導制御処理を実行し、当該誘導制御処理によって入力されて認識された入力テキストに基づいて、前記選択されたサービスを示す第1サービスに関する所与の情報を示す第1サービス情報を提供するためのコマンド、又は、当該第1サービスとは異なる第2サービスに関する所与の情報を示す第2サービス情報を利用して、前記特定ユーザに当該第1サービスを提供するためのコマンドを生成し、前記コマンド出力制御手段が、前記第1サービスを提供する第1のサーバシステム、及び、第2のサービスを提供する第2のサーバシステムの少なくともいずれか一方に前記生成されたコマンドを出力するものである。
【0004】
また、音声または非テキスト入力アクティブ化環境に関する技術であって、異種のコンピューティングリソースを介する情報送信および処理の効率および有効性を改善する技術(特許文献2参照)なども提案されている。
【0005】
この技術は、コンピュータプログラム出力を修正するシステムであって、1つまたは複
数のプロセッサとメモリとを備えるデータ処理システムを備え、前記データ処理システムは、コンピューティングデバイスから、前記コンピューティングデバイスのマイクロフォ
ンによって検出される音声コンテンツを搬送する第1の音響信号に対応するデジタルファ
イルを受信することであって、前記第1の音響信号が、前記コンピューティングデバイス
のアナログデジタル変換器によって前記デジタルファイルに変換される、ことと、前記デジタルファイルの前記音声コンテンツに応答して、実行のためにチャットボットを備える複数のコンピュータプログラムからチャットボットを備えるコンピュータプログラムを選択することと、前記デジタルファイルの前記音声コンテンツに基づいて前記チャットボットを介して、プレースホルダ領域を備える対話データ構造を識別することと、前記対話データ構造内の前記プレースホルダ領域の識別に応答して、パラメータ的に駆動されるテキスト読み上げ技法のために構成されたパラメータ化フォーマットにおいてコンテンツに対する要求を生成することと、前記コンテンツに対する要求を前記データ処理システムのコンテンツ選択コンポーネントに送信することと、前記要求に応答するコンテンツ選択プロセスを介して、前記対話データ構造の前記プレースホルダ領域に挿入するためのコンテンツアイテムを選択することであって、前記パラメータ化フォーマットにおける前記コンテンツアイテムが、前記パラメータ的に駆動されるテキスト読み上げ技法のために構成される、ことと、前記コンテンツアイテムを用いて修正された前記対話データ構造に対応する第2の音響信号を生成するために、前記コンピューティングデバイスに前記パラメータ的
に駆動されるテキスト読み上げ技法を実行させるために、前記コンテンツ選択プロセスを介して選択された前記パラメータ化フォーマットにおける前記コンテンツアイテムを前記チャットボットに提供することを行うように構成されるものである。
【0006】
また他にも、デジタルエクスペリエンス開発プラットフォームに関する技術であって、デザイナや開発者、ビジネス上のステークホルダなどのユーザの特性を決定し、その能力に応じたガイダンスや提案を行うことができる自律的なアドバイザを提供する技術(特許文献3参照)なども提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2021-196914号公報
【特許文献2】特表2020-528585
【特許文献3】US2020-0159507
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述の対話システムの技術の一例として、金融機関における口座開設や保険の申込み、住所変更の届出などといった、いわゆる申込業務のデジタル化が進んでいる。特に、当該申込をインターネット下で受け付けるための、Webページやチャットボットを利活用した申込業務が遂行されている。
こうしたWebページやチャットボットは、申込を行う顧客(一般顧客、以下、エンドユーザとする)にとって、普段から使い慣れたインターフェースで提供されるケースが増えており、円滑で簡便な申込操作の促進が期待される。
【0009】
上述のように、いわゆる対話システムへのニーズは高いが、一方で、プログラミング知識を有し熟練したエンジニアのみが構築可能で、作業工数も大きくなりやすいという課題があった。特に、誤入力やあやふやな入力に対する指摘や問い直しを行う、精緻な会話誘導を行う対話データは複雑であり、そのデータサイズも大きく、上述の課題がさらに拡大する恐れが強い。
【0010】
そこで本発明の目的は、プログラミング知識の多少に関わらず、対話システムやそこで用いる対話コンテンツを効率的かつ簡便に作成可能とする技術を提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決する本発明の開発支援システムは、顧客による所定サービスへの申込手続に必要な、当該顧客に関する所定の対象情報それぞれを収集する部品を複数保持する記憶装置と、前記サービスの申込受付業務に対応した申込プログラムの開発担当者の端末に向け、前記対象情報に対応する前記部品それぞれの情報を出力し、前記開発担当者による前記部品の組合せの選択結果を受け付ける処理と、前記部品の組合せの選択結果に応じて、当該部品を組み合わせて前記申込みプログラムを生成する処理を実行する演算装置と、を含むことを特徴とする。
また、本発明の開発支援方法は、情報処理システムが、顧客による所定サービスへの申込手続に必要な、当該顧客に関する所定の対象情報それぞれを収集する部品を複数保持する記憶装置を備えて、前記サービスの申込受付業務に対応した申込プログラムの開発担当者の端末に向け、前記対象情報に対応する前記部品それぞれの情報を出力し、前記開発担当者による前記部品の組合せの選択結果を受け付ける処理と、前記部品の組合せの選択結果に応じて、当該部品を組み合わせて前記申込みプログラムを生成する処理と、を実行することを特徴とする。
【発明の効果】
【0012】
本発明によれば、プログラミング知識の多少に関わらず、対話システムやそこで用いる対話コンテンツを効率的かつ簡便に作成可能となる。
【図面の簡単な説明】
【0013】
図1】本実施形態における開発支援システムの構成例を示す図である。
図2】本実施形態の開発支援システムのハードウェア構成例を示す図である。
図3】本実施形態における申込部品の例を示す図である。
図4】本実施形態における問い直し部の構成例を示す図である。
図5】本実施形態における対話例を示す図である。
図6】入力ミスが有る場合の問い直しの機能を用いた対話の例を示す図である。
図7】申込プログラム等のデータの流れを含むコンピュータとネットワークの関係を示す図である。
図8】申込プログラムと顧客データベースの動作手順を示すフローチャートである。
図9】申込プログラムのひな型の選択画面を示す図である。
図10】申込プログラムのひな型の選択画面イメージである。
図11】申込プログラムのひな型のカスタマイズ画面を示す図である。
図12】申込プログラムのひな型のカスタマイズ画面イメージである。
図13】申込プログラムのテスト画面を示す図である。
図14】申込プログラムのテスト画面イメージである。
図15】申込の動作手順を示すフローチャートである。
図16】申込プログラムのデータの内容の例を示す表である。
図17】固有表現抽出部の学習手順を示すフローチャートである。
図18】アノテーションデータの内容の例を示す図である。
図19】実施例2に関する、ユーザ既知情報を用いた対話シナリオの切り替えを特徴とする開発支援システムの構成を示す図である。
【発明を実施するための形態】
【0014】
[実施例1]
近年、半導体技術の進化と情報処理技術の発展を基に、人が話しかけ、コンピュータがそれに対し、人の意図に沿った有益な情報を提供する自然言語対話システム(以下、チャットボット)への注目が高まっている。
【0015】
そうしたシステムとして、個人向けにはスマートスピーカーやスマートディスプレーといった製品、サービスが提供されている。また、銀行や小売業などの企業においては、例えば、Webサイト上で利用者(以下、エンドユーザ)からの質問に自動応答するチャットボットシステムとして製品、サービスが提供されている。チャットボットシステムでは、24時間365日、いつでもエンドユーザからの質問を受け付け、その意図に沿った回答を瞬時に行う。
【0016】
また、上述のようなチャットボットシステムの実装例として、所定のサービスや商品に対するエンドユーザからの申込みを受け付けて処理するための、申込システムが提供されるようになっている。
【0017】
この場合のチャットボットシステムは、エンドユーザの申込みの意図を推測し、その意図に従って、当該エンドユーザから処理に必要な情報を収集し、申込の受付を行う。なお、本実施形態においては、エンドユーザによる「申込み」として、例えば、銀行の口座開設や住所変更などの一般的に申込に加えて、キャンペーン情報の提供や広告配信の見返りとしてのポイント付与や抽選くじへの応募なども、その定義に含めうるものとする。
【0018】
また、ノーコード開発への注目が高まっている。ノーコード開発とは、ソースコードの記述をせずにWebサービスやアプリなどのソフトウェアを開発する手法である。なお、ノーコード開発は、ローコード開発と呼ばれることもある。こうしたノーコード開発は、プログラミングの専門知識やスキルが高くなくとも、Webアプリケーション等を開発できる特徴がある。
【0019】
なお、本実施形態では、上述のノーコード開発で申込みシステムを構築できる開発支援システムについて記載する。ノーコードで開発できるため、例えば申込システムの企画担当者が、自ら申込プログラムを開発しサーバにて実装することにより、申込システムの構築が可能である。そのため、システム開発の工数と人員を削減できる効果がある。
【0020】
また、本実施形態の開発支援システムが生成する申込プログラムのデータは、チャットボット以外にも適用可能であることは言うまでもない。例えば、Web画面を用いた銀行口座開設のページなどにおける、チャットボットを用いない申込システムの構築にも適用可能である。
<開発支援システムの構成例>
図1に、本実施形態における開発支援システム100(以下、本システム100とする)を、また図2に、本実施形態の開発支援システムのハードウェア構成例を示す。
【0021】
本システム100は、記憶装置11、メモリ13、演算装置14、および通信装置15、を少なくとも備える。
【0022】
このうち記憶装置11は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。この記憶装置101には、プログラム12の他、申込部品のリスト102、及び申込プログラムフロー103が格納、保持されている。
【0023】
また、メモリ13は、RAMなど揮発性記憶素子で構成される。
【0024】
また、演算装置14は、記憶装置11に保持されるプログラム12をメモリ13に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUである。
【0025】
また、通信装置15は、後述する図7で示すように適宜なネットワーク1と接続して、設計者端末601やチャットボットサーバ602などとの通信処理を担うネットワークインターフェイスカード等を想定する。
【0026】
他にも、ユーザからのキー入力や音声入力を受け付ける入力装置、処理データの表示を行うディスプレイ等の出力装置、を備えるとしてもよい。
【0027】
上述のような構成のうち、申込部品のリスト102は、複数の申込部品111を具備している。申込部品111は、問い直し部115と、カスタマイズ項目116をそれぞれ備えることが望ましい。もちろん、問い直し部115やカスタマイズ項目116を備えない構成が可能であることは言うまでもない。
【0028】
一方、申込部品111は、問い直し部115を備えることで、エンドユーザが申込において入力ミスをした際、その訂正を迅速に行うことが可能になる。ひいては、申込システムを提供する企業にとって、申込の離脱率を低下させ、多くの申込みが得られる効果が期待される。
【0029】
また、申込部品111は、カスタマイズ項目116を備えることで、申込部品111のカスタマイズをノーコードで容易に行うことが可能になる。このことで、多様な申込システムを迅速に設計可能となる効果が期待できる。
【0030】
ここで、申込部品111の例を図3に示す。申込部品111としては、「氏名」や「郵便番号」、「住所」、「性別」などのエンドユーザの属性情報の取得や、「くじの抽選」といった販促情報の表示、「見積もり結果の表示」などの対話の結果から算出される金額の表示、「申込内容の確認」などの申込の結果が正しいかのエンドユーザへの確認、「APIの表示」のような、外部REST API(ネットワーク経由でサーバからHTTP(Hypertext Transfer Protocol)メソッドでデータを送受信するインターフェース)などから取得した情報の表示、次に処理する申込部品を複数の申込部品から選択できる「分岐処理」、次に処理する申込部品を指定できる「移動処理」などがある。
【0031】
これらの申込部品111を組み合わせることで、多様な申込プログラムを設計することが可能となる。もちろん図3に示した申込部品の例は、あくまでも一例である。そのため、一部の申込部品のみを実装することが可能であることは言うまでもない。一部のみを実装することで、企業の企画者が開発支援システム100を理解するための時間、が短くなる効果がある。
【0032】
申込部品111は、図3に示すようにチャットボットの発話機能/データを備えることが望ましい。このチャットボットの発話機能/データを用いることで、チャットボット向けの申込プログラムが生成できる。
【0033】
チャットボットは、申込みプログラムを用いてエンドユーザとの対話を行うことで申込申請を受け付ける。さらに申込部品111は、期待されるエンドユーザの回答データを有することが望ましい。
【0034】
エンドユーザの回答データは、問い直し部115が利用する。さらに申込部品111は図1に記載していない同義語辞書を有することが望ましい。例えば「性別」に関する問いにおいて、「男」と「女」の選択肢があるときに、図3の「性別」の「期待されるエンドユーザの回答」に記載するように「男性」や「女性」でも正しく性別を認識できることが望ましい。
【0035】
このようなエンドユーザの回答の表記揺れを吸収するために、同義語辞書を用いることができる。同義語辞書は「男:男、男性、おとこ」、「女:女、女性、おんな」のように選択肢とエンドユーザが回答する可能性のある発話をペアで管理する。
【0036】
同義語辞書を用意することで、チャットボットは表記揺れを吸収し、エンドユーザの意図を精度よく把握できるようになり、エンドユーザは多様な発話で申込みに対して回答を行うことが可能になる効果がある。
【0037】
さらに図3に示す申込部品「説明」は、企画担当者がエンドユーザに表示したい文言を設定する申込部品である。個人情報の取り扱いや申込の概要をエンドユーザに通知するために用いる部品となる。
【0038】
一方、申込プログラムフロー103は、申込プログラムの実行手順とカスタマイズ内容を、企画担当者が管理し変更するためのツールとなる。この申込プログラムフロー103は、申込の開始112から開始され、1個以上の申込部品111が配置された後に、申込の終了113に到達して終了する。
【0039】
この図1における申込プログラムフロー103では、申込部品「氏名」119が配置され、その次に申込部品「性別」120が配置されている。企画担当者の操作により、申込部品のリスト102から申込部品111が選ばれ、申込プログラムのフロー103に配置されていることが、矢印114を用いて示されている。なお、申込プログラムフロー103においては、申込部品111の配置順序を示す矢印117により、申込部品の実行順序が示される。
【0040】
なお、申込プログラムフロー103に配置され、企画担当者の操作によりカスタマイズされた申込部品111は、そのカスタイマイズ結果118にて現在のカスタマイズ内容を表示する。
【0041】
続いて問い直し部115について、図4を用いて説明する。問い直し部115は、入力ミス検知部301と問い直し発話302を備える。このうち入力ミス検知部301は、ユーザの入力ミスを検出するためのデータを有する。
【0042】
チャットボットは入力ミス検知部301のデータを用いて、入力ミスがあるか判断を行う。すなわち、申込プログラムの期待する入力を、エンドユーザが行ったかどうかを判定する。ここで、複数の申込部品111で同じ入力ミス検知部301を共用することも可能であることは言うまでもない。共用することによって入力ミス検知部301の重複を回避し、全体としてのデータ量削減、ひいてはサーバに必要なリソース低減が可能となる。このことは、価格の安いサーバを利用できることにもつながる。
【0043】
また、問い直し発話302は、入力ミス検知部301が入力ミスの存在を検知した場合に、チャットボットによる発話の対話データが格納されている。例えば「本当に姓(漢字)は「〇〇」でよろしいでしょうか?」などといった発話のための対話データとなる。なお、上述の「〇〇」はエンドユーザが入力した内容である。
【0044】
また、入力ミス検知部301は、固有表現抽出部303と正規表現抽出部304を備える。ただし、この他にも、辞書に基づく入力ミス検知方法に応じた機能部を備えるとしても良い。例えば、建物名を除く住所の辞書を用いて、辞書にあるテキストのみをエンドユーザが入力したか判断することで、エンドユーザが入力ミスをしたかどうか判定できる。
【0045】
入力ミス検知部301は、固有表現抽出部303や正規表現抽出部304、辞書に基づく入力ミス検知方法などのうち、一つ、または複数の入力ミス検知方法を用いることができることは言うまでもない。
【0046】
固有表現抽出部303は、自然言語処理における固有表現抽出という情報処理手段を用いて固有表現を抽出する機能である。固有表現としては、例えば日付や住所、電子メールアドレス、サービス名、電話番号、名前、金額がある。
【0047】
エンドユーザが入力したテキストから固有表現抽出を行うことで、申込部品111で規定している情報(エンドユーザによる入力として期待される情報)をエンドユーザが入力したか判定することができる。例えば、名前を入力する状況に置いて、金額と判断される固有表現が抽出された場合、ユーザが入力をミスしたと判定することができる。
【0048】
また、正規表現抽出部304は、主に文頭や文末の不要な表現を検出することで入力ミスを検知する機能である。正規表現抽出部304は、ユーザが誤って入力しやすい言葉(ブラックリスト方式)やユーザが入力することを期待される言葉(ホワイトリスト方式)のルールを有する。
【0049】
このうちブラックリスト方式においては、例えば、正規表現「/.*だよ$/」といった形式の情報が用いられる。この正規表現は、エンドユーザが入力したテキストの文末に、「だよ」がある場合に一致と判定恐するルールにあたる。
【0050】
このようなルールを用いる場合、例えば、名前(漢字、名)を入力するときに、本来、例えば「太郎」と答えるべきところで、「太郎だよ」とエンドユーザが間違って入力すると、チャットボットは当該エンドユーザに対して「本当に名(漢字)は『太郎だよ』でよろしいですか?はい/いいえ」と発話することができる。
【0051】
エンドユーザに入力ミスの有無の確認を求めることで、エンドユーザはその回答として「いいえ」を選ぶことで、名前(漢字、名)を再度、入力することができる。すなわちエンドユーザは、最初から申込をやり直す必要がなくなり、申込を短時間で完了させることができる。
【0052】
なお、申込部品111におけるカスタマイズ項目116は、上述の企画担当者の操作によって変更を受けて、当該申込部品111を企業の用途に合わせたものへとカスタマイズ可能な項目である。例えば申込部品「性別」のカスタマイズ項目116は、「選択肢に『その他』を追加する」と「選択肢に『回答しない』を追加する」であることが想定しうる。
【0053】
カスタマイズを受けていない標準状態では、上述の申込部品「性別」では、エンドユーザは性別として「男」と「女」のいずれか一つを選択可能である。しかし、例えば、カスタマイズ項目116において、「選択肢に『その他』を追加する」のチェックボックスにチェックを入れる操作をエンドユーザが行うことで、当該申込部品111は、「男」、「女」、及び「その他」のいずれかから一つを選択可能なものとなる。
【0054】
企画担当者は、このようにしてカスタマイズ項目116を利用することで、GUI(グラフィカルユーザインターフェース)上で直感的に申込システムを設計することが可能になる。
【0055】
図5及び図6にて、申込部品111における問い直し部115による対話例を示す。図5は、エンドユーザが入力ミスをしなかった例の対話である。チャットボットサーバ60
2(図7参照)で稼働する申込用チャットボット606が、申込プログラム605に従い、エンドユーザと対話を行うことで申込みが行われていることが示されている。
【0056】
一方、図6はエンドユーザが入力ミスをした例の対話である。チャットボットサーバ602が申込プログラム605に従い、エンドユーザと対話を行っているが、入力ミス検知部301のデータを用いて入力ミスの有無を推定している。この場合、固有表現抽出部303は、固有表現として期待される姓(漢字)以外に名(漢字)が含まれていることを検出し、入力ミスが有ると判断している。
【0057】
そこで申込用チャットボット606は、問い直し発話302のデータを用いてエンドユーザに問い直しを行うことで、エンドユーザとの対話を継続し、入力ミスを自然に訂正し、申込みが行われている。
<ネットワーク構成>
図7に、本実施形態の開発支援システム100とエンドユーザのコンピュータ603を少なくとも含むネットワーク構成を示す。それぞれのコンピュータはネットワーク1を介して接続されている。
【0058】
このうち申込プログラムを設計する企画担当者のコンピュータたる設計者端末601は、企画担当者の操作により、Webブラウザなどで開発支援システム100にアクセスする。この設計者端末601は、具体的には、スマートフォン、タブレット端末、パーソナルコンピュータなどを想定できる。
【0059】
一方、開発支援システム100は、上述の企画担当者の設計者端末601に対し、申込プログラム605の作成ガイダンスとして、申込部品のリスト102や申込プログラムフロー103を適宜配信する。企画担当者は作成ガイダンスとしての情報を閲覧し、その指示等に沿って申込部品111の選択・配置等の操作を行うことで、申込プログラム605を生成する。
【0060】
また、開発支援システム100は、設計者端末601での企画担当者の操作に従い、上述のように作成した申込プログラム605をダウンロードさせる。企画担当者は入手した申込プログラム605をチャットボットサーバ602にアップロードする。
【0061】
チャットボットサーバ602では、申込用チャットボット606が稼働している。申込用チャットボット606は、申込プログラム605から対話データを生成し、対話データ用データベース607に格納する。また申込用チャットボット606は、顧客データベース608を備えることが望ましい。
【0062】
申込者(エンドユーザ)のコンピュータ603は、コミュニケーションツールもしくはWebブラウザを経由してチャットボットサーバ602にアクセスする。コミュニケーションツール経由でのチャットボットサーバ602へのアクセスと申込み手続を可能にすることで、エンドユーザとして慣れた環境での申込が可能になる。そのため、申込みの件数を増加させる効果が期待できる。
【0063】
さらにチャットボットサーバ602は、申込プログラム605の記述通りに動作を行うことで、エンドユーザからの申込に対応する。エンドユーザのコンピュータ603は、具体的には、スマートフォン、タブレット端末、パーソナルコンピュータなどを想定できる。このように、スマートフォンでの申込みを可能にすることで、エンドユーザにおける時間的、また場所的、精神的なハードルが下がり、申込み件数の増大効果が期待しやすい。<フロー例>
以下、本実施形態における開発支援方法の実際手順について図に基づき説明する。以下
で説明する開発支援方法に対応する各種動作は、開発支援システム100がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【0064】
図8は、本実施形態における開発支援方法のフロー例であって、企画担当者が開発支援システム100を用いて申込みプログラムを作成し、エンドユーザからの申込を受け付けるまでのフローを示す。
【0065】
開発支援システム100が実装するチャットボットは、設計者端末601を操作する企画担当者と対話を行うことで、適切な申込プログラムのひな型(テンプレート)を選択する(S701)。
【0066】
次に開発支援システム100は、上述の企画担当者の設計者端末601に対し、申込プログラムテンプレートのカスタマイズを提示し、当該設計者端末601を通じて企画担当者によるカスタマイズ方法の入力を受信することで、所望の申込プログラムを作成する(S702)。ここでカスタマイズ方法として申込部品の追加や削除、順番の入れ替え、カスタマイズ項目116を用いたカスタマイズを行うことができる。
【0067】
図9に申込プログラムのひな型の選択画面例を示す。企画担当者はWebブラウザ802などを用いて開発支援システム100にアクセスする。開発支援システム100のひな型選択用のチャットボットは、設計者端末601を通じて企画担当者に申込プログラムのひな型の選択画面を表示する。図9では、その際のチャットボットの発話803とユーザ(企画担当者)の発話802が示されている。
【0068】
なおユーザの発話802は、必ずしも企画担当者が行うものではなく、チャットボットが行うこともある。ひな型選択用のチャットボットは、まず企画担当者の意図である「申込システムを構築したい」と表示する。さらにひな型選択用のチャットボットの質問として企画担当者が所属する業界を聞く。
【0069】
それに対して企画担当者は、「銀行」と回答している。そのユーザ発話に対してチャットボットは「銀行ですね。次に作成したい申込システムの種類を教えてください。口座などの開設、お客様情報の更新、キャンペーンへの応募、そのほか」と企画担当者に問いかけている。さらにエンドユーザに発話を促すメッセージ804を表示して、企画担当者に質問している。
【0070】
これに対して企画担当者が、例えば「口座の開設」と答えると開発支援システム100は企画担当者の業種と作成したい申込の種類に応じてあらかじめ用意された数種類のひな型の中から、適切なひな型を選択し、ひな型のカスタマイズ画面に遷移させる。
【0071】
なお企画担当者に発話を促すメッセージ804の表示の際には、クイックリプライ(Quick replies)という、ユーザが回答する可能性が高い発話をあらかじめチャットボットがユーザに提示する仕組みを用いることができる。
【0072】
クイックリプライを用いることで、ユーザがチャットボットに回答する時間が短くなり生産性が向上する効果がある。図10図9に対応した画面イメージの例を示す。
【0073】
図11に申込プログラムのひな型をカスタマイズ(S702)するための画面を示す。開発支援システム100は、まず先ほどS701で選択された申込プログラムのひな型を申込のフローとして設計者端末601に配信し、企画担当者に提示する。
【0074】
図中における申込のフローには、フローの構成要素1004や、申込部品111が動作する順序を示す矢印1005、カスタマイズ項目116で指定された範囲のカスタマイズを行うときに押下するカスタマイズボタン1006、及び現在施しているカスタマイズ項目116の設定内容の表示1007が表示されている。
【0075】
フローの構成要素1004は、ひな型に含まれているか、申込部品のリスト102から選ばれた申込部品111が配置されることで追加される。
【0076】
カスタマイズボタン1006が、企画担当者による設計者端末601の操作で押下されると、カスタマイズ可能な範囲が表示される。企画担当者は、その範囲の中から自分の行いたいカスタマイズを選択実行する。
【0077】
例えば、申込部品「性別」のカスタマイズ項目は、「選択肢に『その他』を追加する」と「選択肢に『回答しない』を追加する」であり、デフォルトではどちらもチェックボックスがチェックされていない。すなわち、性別の回答の選択肢は「男」と「女」だけである。また設定内容の表示1007は、「標準」と表示されている。
【0078】
ここで例えば「選択肢に『その他』を追加する」というチェックボックスにチェックが付けられると、性別の回答の選択肢に「その他」が追加され、設定内容の表示1007には「選択肢に『その他』を追加する」と表示される。
【0079】
こうした、設定内容の表示1007を企画担当者が認識することで、主体的にカスタマイズボタン1006を押下してカスタマイズ内容を確認しなくとも、カスタマイズの内容を容易に知ることができる。
【0080】
さらに申込のフローに配置された申込部品111は、企画担当者による設計者端末601を介したドラッグアンドドロップの操作によって、その順序を入れ替え可能である。また、配置された申込部品111を削除することも可能である。
【0081】
図11で示すように、申込のフローの先頭には「申込の開始」が、最後には「申込の終了」が配置されていることが望ましい。これらが配置されていることでプログラムの開始と終了を企画担当者に伝え、申込みのフローのイメージを企画担当者に理解してもらう効果がある。
【0082】
さらに、ひな型のカスタマイズ画面801には、申込部品111の一覧810が表示されている。企画担当者は、設計者端末601を操作し、この一覧810から所望の申込部品111を抽出し、申込のフローへドラッグアンドドロップすることで申込部品111を申込プログラムに加えることができる。
【0083】
このようにして企画担当者は、任意の申込部品111を申込のフローに配置することで作成したい申込プログラムを作成することができる。また申込プログラムの出力ボタン1001が企画担当者の操作で押下されると、開発支援システム100は申込プログラム作成部123を呼び出す。
【0084】
申込プログラム作成部123は、対話資材(チャットボット向け対話データともいう)である申込プログラムを作成する。企画担当者は、この申込プログラムをダウンロードすることができる。
【0085】
申込プログラムは表計算ソフトのファイル形式やJSON形式(JavaScript
Object Notation、テキストベースの構造データ表現フォーマット)、
CSV(カンマ区切りテキスト)形式などのファイルである。
【0086】
一方、顧客データベース表示ボタン1002が企画担当者の操作にて押下されると、開発支援システム100は、顧客データベース608の内容を表示する。顧客データベース608は、企業が有するエンドユーザの情報である。この顧客データベース608に、エンドユーザによる申込の結果などが格納される。
【0087】
申込のテストボタン1003が企画担当者の操作で押下されると、ひな型をカスタマイズすることで得られた申込プログラムのテストを行うことができる。図12にて、図11に対応した画面イメージの例を示す。
【0088】
続いて図13に、申込プログラムをテストする際の表示画面を示す。開発支援システム100のテスト用チャットボットは、申込プログラムの動作に従って発話することで企画担当者の設計者端末601に対し、意図した通りの申込みプログラムが設計できているかの確認用表示を行う。
【0089】
図13にて例示するように、ユーザ発話802とチャットボットの発話803が交互に繰り返されることで申込みが進行している。ここで、最初の発話である企画担当者(ユーザ)の発話の「申込を行いたい」は、開発支援システム100が申込のテストボタン1003の押下を感知して、当該企画担当者の意図が「テスト実行」と判断したことから、実際にはテスト用チャットボットが発話させている。
【0090】
すなわち「申込を行いたい」という発話は、ユーザたる企画担当者が入力したものではなく、テスト用チャットボットが企画担当者の代理で行った発話である。また2番目のユーザ発話である「start」はクイックリプライを用いて、企画担当者が入力した発話である。図14図13に対応した画面イメージの例を示す。
【0091】
続いて、図15にエンドユーザが申込用チャットボット606と対話することで申込み手続を行うフローを示す。
【0092】
まず申込者であるエンドユーザは、コンピュータ603の対話型コミュニケーションツール、もしくはWebブラウザ等を操作し、ネットワーク1を介して顧客企業のホームページに設置された申込ボタンを押下したとする。
【0093】
この場合、コンピュータ603のWebブラウザ等は、上述の申込ボタンの押下を、チャットボットサーバ602で稼働する申込用チャットボット606に通知する(S1402)。
【0094】
次に、申込用チャットボット606は、チャットボット用の対話データが格納されたデータベース607から最初の発話を検索し、その発話を上述のコンピュータ603のWebブラウザに通知する(S1403)。
【0095】
コンピュータ603のWebブラウザは、S1403で通知された発話を表示し、その発話へのエンドユーザによる回答を申込用チャットボット606に通知する(S1404)。
【0096】
一方、申込用チャットボット606は、期待される回答の形式に応じて処理を分岐させる(S1405)。
【0097】
例えば、期待される回答の形式が、「性別」といった選択肢からの選択形式であれば(
S1405:選択形式)、申込用チャットボット606は、エンドユーザの回答をクエリとしてデータベースにて検索を行い、その結果を上述のコンピュータ603のWebブラウザに通知する(S1408)。
【0098】
このとき、申込用チャットボット606は、同義語辞書を用いることでエンドユーザの回答の揺れを吸収し、当該エンドユーザの回答を選択肢の一つに紐づける(自然言語処理的には接地するという)。なお、エンドユーザの回答を選択肢の一つに紐づけできなかった場合、申込用チャットボット606は、その旨を上述のWebブラウザで表示させエンドユーザに通知し、再度入力を行ってもらう。
【0099】
このケースでは、申込用チャットボット606は、例えば「わかりません。もう一度入力してください」などと発話する。但し、一定回数以上、繰り返しても紐づけできなかった場合には、申込処理を進めることができない旨をWebブラウザで表示させてエンドユーザに通知し、申込処理を中断する。
【0100】
一方、処理S1405において、期待される回答が氏名などの選択肢から選択しない形式の場合(S1405:非選択形式)は、申込用チャットボット606は、入力ミス検知部301にエンドユーザの回答を通知する(S1407)。
【0101】
その後、入力ミス検知部301は、入力ミスの可能性が高いか低いかを判定する(S1409)。この判定の結果、入力ミスの可能性が高いと判断した場合(S1409:Yes)、申込用チャットボット606は、入力ミスの確認をするよう促す発話をエンドユーザのWebブラウザに通知する(S1411)。
【0102】
一方、入力ミス検知部301が入力ミスの可能性が低いと判断した場合(S1409:No)、申込用チャットボット606は、あらかじめ決められた特定の単語をクエリとしてデータベースにて検索を行い、当該検索で得た次の質問をエンドユーザのブラウザに通知する。
【0103】
ここでエンドユーザの回答をクエリとしてデータベースの検索を行わない理由は、エンドユーザの回答が氏名など非常に多くの候補が考えられるため、選択肢に紐づけすることが不可能であるためである。
【0104】
続いて、申込用チャットボット606は、申込が完了したか判定する(S1412)。この判定の結果、申込みが完了したと判断できる場合(S1412:Yes)、本フローを完了させる(S1413)。なお、一連のユーザとの対話履歴や完了した申込の内容は顧客データベース608に格納され、これらの情報に基づいて申込完了を判定する。
【0105】
図16に申込プログラムの内容を示す。この申込プログラムは、名前と性別を聞くという単純な例である。質問「Q」のうち「start」が最初の発話であり、「状態」が「初期状態」である発話が、申込用チャットボット606により最初に検索されることとなる。申込用チャットボット606は、対話の状態を、例えば、「Q」及び「A」の進展に応じて管理し、適宜に記憶する。
【0106】
申込用チャットボット606における最初の状態は「初期状態」である。データ「#1」の状態は「初期状態」であり、申込用チャットボット606の状態と一致するため、データ「#1」の発話は状態の観点から選択可能な発話である。その結果、データ「#1」の「Q」(Question、質問)が「start」であり、状態の観点から選択可能な発話であるため、データ「#1」が選択される。
【0107】
申込用チャットボット606は、データ「#1」の「A」(Answer、回答)のデータである「お名前(漢字)を教えてください。まず _姓_ を教えてください。」とエンドユーザに向けて発話する。
【0108】
ここで「_姓_」のアンダースコア「_」は、文書を記述するための軽量マークアップ言語のひとつであるマークダウン記法であり、エンドユーザのブラウザ上では「姓」に下線が付加されることを意味する。
【0109】
データ「#1」の次の状態は「any_name_kanji_sei」である。そのため、申込用チャットボット606は状態を「any_name_kanji_sei」に遷移する。
【0110】
申込用チャットボット606の発話に対して、エンドユーザが例えば「鈴木」と回答すると、申込用チャットボット606は、「状態」欄の値を確認する。「状態」の先頭4文字が「any_」となっていると、申込用チャットボット606は、期待される回答の形式が氏名などの選択肢から選択しない形式、すなわち非選択形式だと判定する。
【0111】
なお、「状態」欄の値の先頭4文字が「any_」以外の場合、申込用チャットボット606は、性別など選択肢から選択する選択形式だと判定する。
【0112】
今回は、非選択形式であるため、申込用チャットボット606は入力ミス検知部301を用いて、入力ミスの可能性を判定する。
【0113】
上述の判定の結果、入力ミスの可能性が低いという結果が得られると、申込用チャットボット606は、あらかじめ決められた特定の単語である「any」をクエリとして、「状態」が「any_name_kanji_sei」であるデータの中から、データベースの検索を行う。結果としてデータ「#2」が選択される。
【0114】
申込用チャットボット606は、このようにして申込プログラムを利用して申込手続きの業務処理を進める。なおデータ「#5」のように、次の状態の先頭5文字が「next_」となっていると、申込用チャットボット606は、エンドユーザに回答を求めることなく直ちに「start」というクエリでデータベースの検索を行い、選択されたデータの「A」の発話を行う。この場合、結果としてデータ「#6」が選択される。
【0115】
すなわち、この申込プログラムにおいてはデータ「#5」の「A」を申込用チャットボット606が発話したあとには、すぐに(エンドユーザの回答を待たずに)申込用チャットボット606はデータ「#6」の「A」の内容を発話する。
【0116】
「次の状態」が「初期状態」になっている場合、申込用チャットボット606は、申込み完了と判断する。申込用チャットボット606が、例えばデータ「#7」や「#8」の「A」の内容を発話すると、申込みが完了したと判定する。
【0117】
なお、データ「#7」や「#8」に含まれる大なり、小なりの記号で囲まれた単語は、同義語が存在することを示している。申込用チャットボット606は、これらの単語を同義語辞書から検索し活用することで、対話データ607のデータを拡充する。例えば、単語を同義語で置き換えたテキストを「Q」として対話データ607に登録することで、エンドユーザの入力揺れの吸収に用いる。
【0118】
図17に固有表現抽出部303の学習フローを示す。所定のテキスト収集装置(不図示)が、複数企業のホームページのクローリング(インターネット上のWebサイトをプロ
グラムが巡回し、HTMLファイルなどを収集すること)を実行する。
【0119】
なお、このテキスト収集装置は、開発支援システム100の提供者(以下、システム提供者とする)が使用する装置である。また、HTML(Hyper Text Markup Language)は、ウェブサイトのコンテンツの構造を作るために使うマークアップ言語である。
【0120】
テキスト収集装置は、上述のように得たHTMLファイルなどから、所定のプログラム(スクレイピングを行う既存のもの)を用いてテキストを抽出する、スクレイピングを行い、学習用テキストを作成する(S1601)。この場合、システム提供者は、一定の規則に従いアノテーションデータを生成する。アノテーションとは、テキストに注釈を付与する作業である。具体的な作業内容は後述する。
【0121】
固有表現学習部124は、上述のアノテーションデータと学習用テキスト(S1601で得たもの)を用いて機械学習を行い、固有表現抽出モデル609を生成する(S1602)。
【0122】
ここで、企画担当者はファインチューニングを行って、固有表現抽出モデル609の改善を行うことができる。なおファインチューニングを行わないこともできる。その場合、工数を削減して申込システムを短期間で提供できる効果がある。
【0123】
上述のファインチューニングを行う場合、企画担当者は自社のホームページのURLを固有表現学習部124で指定する。もしくは事務規定で記載されたオフィス文書を固有表現学習部124にアップロードする。
【0124】
固有表現学習部124は、ホームページのURLが指定されたときにはそのURLを基にクローリングとスクレイピングを行い、学習用テキストを生成する。企画担当者は、学習用テキストにアノテーションし、アノテーションデータを作成する。また、企画担当者はアノテーションデータをアップロードし、固有表現学習部124にファインチューニングを行うよう指示を行う。
【0125】
固有表現学習部124は、アノテーションデータと学習用テキストを基に固有表現抽出モデル609のファインチューニングを行うことで、固有表現抽出モデル609の改善を行う(S1603)。
【0126】
上述の改善を行うことで、固有表現の抽出精度が向上することとなる。結果、エンドユーザの入力ミスの検知精度が向上する。また固有表現抽出は同義語候補の生成に用いることもできる。同義語候補を企画担当者がチェックし、正しいものを同義語辞書に登録する。その結果、エンドユーザの入力揺らぎの吸収精度が向上し、エンドユーザの意図理解を高精度に行うことができる。ひいては、エンドユーザの申込を短時間で行うことができるようになる効果がある。
【0127】
アノテーションデータの内容を図18に例示する。学習用テキストは、例えばSentencepiceなどの処理方法を用いてサブワード単位(単語より細かい単位)でトークナイズ(tokenize、サブワード単位への分割)される。
【0128】
なお、学習用テキストの分割は、サブワード単位に限定されるわけではなく、単語単位で行うことももちろん可能である。例えば学習用テキストが"お客さまの期待に幅広くお
応えできる「スーパードリームシルバー」。"である場合、トークナイズされたテキスト
の例は、"お客さま/の/期待/に/幅広く/お/応え/できる/「/スーパー/ドリー
ム/シルバー/」/。"となる。ここでスラッシュ「/」はサブワードに分割された境界
を示す。
【0129】
このデータに関して、固有表現をBIOモデルに従ってアノテーションした結果を「アノテーションデータの例」に示す。BIOモデルとは固有表現を、B(beginning、開始)、I(inside、内側)、O(outside、外側)で記述する方法である。例では"お客さま/の/期待/に/幅広く/お/応え/できる/「"と" 」/。"を外側であると指定し、"スーパー"を固有表現の開始だと指定し、" ドリーム/シルバー"を内側であると指定している。
【0130】
このようにしてアノテーションデータは、テキストのどこに固有表現が含まれるかを指定する。固有表現学習部124は、テキストの特徴と固有表現の有無を関連付けて機械学習することで、未知のテキストであっても固有表現を抽出することができる。
【0131】
この学習用テキストの例では、固有表現がカッコで囲まれていることや、ポジティブな言葉で構成されていること、BとIの合計の個数が3個であることなどを特徴として固有表現だと認識する。
【0132】
固有表現を抽出する機械学習の手法としては、GPT-2やBERT(Bidirectional Encoder Representations from Transformers)といった言語モデルを用いた方法を用いることができる。
【0133】
ここで発明者らは特に金融業界の商品名(サービス名を含む)について多種のテキストを収集、分析することで下記の知見を得た。
・知見1:トークン数は商品名等により異なる。商品名等の文字数が長い場合もある。
・知見2:会社名やポジティブな単語が使用される。
・知見3:語尾の単語が共通することがある。
【0134】
知見1は、一般的な固有表現である氏名や組織と比較して、商品名はトークン数(サブワード単位のトークンにトークナイズされたときのトークンの数)が多い傾向がみられたことに基づくものである。これは銀行のサービス名であれば、銀行の名前に加えてサービスの特徴を示す語句(例えばインターネットバンキングであれば「ダイレクト」)が付加されるため、銀行の名前に比べてサービス名が長くなるためである。
【0135】
また、保険の商品名であれば、保険商品の切り替えにあたって商品名の語尾に「プラス」や「2」が付加されるため、商品名が長くなっている。
【0136】
知見2は、サービスや会社の特徴をプラスのイメージで表現する語句(例えば、「プラス」や「スマート」、「ファースト」といった語句)が使用されるケースが頻出することに基づくものである。
【0137】
知見3は、語尾がサービスの特徴を示す語句(例えばインターネットバンキングであれば「ダイレクト」)であるケースや、商品のバージョンアップ等に対応して付加される語句(例えば、保険商品名における、語尾の「プラス」や「2」といった語句)が付加されるケースが頻出することに基づくものである。
【0138】
そこで発明者らは、トークンの平均ベクトルと語尾のトークンの分散表現のベクトルの2つを手掛かり(機械学習に用いる特徴量)にすることで、商品名等の抽出精度を向上させることを見出した。
【0139】
ここで平均ベクトルについて説明する。自然言語処理技術においてトークン(単語、もしくは単語より細かい粒度であるサブワード単位に分割された文字列)を高次元(例えば500次元)の実数ベクトルで表現する分散表現(単語埋め込み)という技術が知られている。
【0140】
平均ベクトルとは、各トークンの分散表現を平均化したものである。もちろん平均ベクトルの代わりにargmax(最大点集合)を用いてもよい。トークンの分散表現のベクトル(1次元の数値の配列)は、例えばBERTなどの言語モデルを用いて学習用テキストと対象とするトークンの位置を指定することで計算できる。
【0141】
BIOモデルを用いてアノテーションを行うことで、上記の知見1のように長い商品名についても抽出精度を向上させ、平均ベクトルを用いることで、会社名やポジティブな単語を抽出することで上記の知見2の特徴を学習し、語尾の単語ベクトルを用いることで上記の知見3の特徴を学習する。
【0142】
学習用テキストの分割は、サブワード単位に限定されるわけではなく、単語単位で行うことも可能であるため、単語の平均ベクトルと語尾の単語のベクトルの2つを手掛かり、すなわち特徴量にして商品名との関係を学習させることで商品名の抽出精度を向上させ、エンドユーザの入力ミスの検知精度を向上させることができる。
[実施例2]
本実施例では、ユーザ既知情報を用いて対話シナリオを切り替えることを特徴とする、開発支援方法について述べる。図19に、本実施例の開発支援システム100を示す。
【0143】
このうち申込部品111は、既知情報を用いたカスタマイズ項目1802を有する。このカスタマイズ項目1802は、エンドユーザに関する既知の情報が、顧客データベース608に格納されていた場合に、その情報をどのようにエンドユーザに聞くかを選択できるようになっている。
【0144】
例えば、1.顧客データベースに含まれていても通常通り聞くか、2.既知の情報をクイックリプライとしてエンドユーザに示すか、3.顧客に登録済みの情報で良いかを、はい、いいえの2択で聞くか、4.エンドユーザにその項目についての情報を聞かずにスキップするか、を選択できる形態とする。
【0145】
既知情報を用いたカスタマイズ結果1803には、その選択結果が格納されている。申込プログラム作成部123は、カスタマイズ結果1803に基づいて申込プログラム605を生成する。
【0146】
このようにユーザ既知情報を用いて対話シナリオを切り替えることにより、エンドユーザは、情報の入力量を低減でき、素早く申込を行うことが可能となる。一方、企画担当者は、エンドユーザの申込中での離脱を防ぐことで多くの申込を獲得し、売り上げ増大を期待できる。
【0147】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0148】
こうした本実施形態によれば、プログラミング知識の多少に関わらず、対話システムやそこで用いる対話コンテンツを効率的かつ簡便に作成可能となる。
【0149】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の開発支援装置において、前記記憶装置は、前記部品として、前記顧客が入力した情報に
ついて顧客に確認するための問い直し部を有する部品を保持しており、前記演算装置は、前記問い直し部を有した前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、としてもよい。
【0150】
これによれば、この問い直し部を備えることで、エンドユーザが申込において入力ミスをしたときにその訂正を迅速に行うことが可能になり、申込システムを提供する企業にとって申込の離脱率を低下させ、多くの申込みが得られる効果がある。
【0151】
また、本実施形態の開発支援システムにおいて、前記記憶装置は、前記問い直し部において、前記顧客の入力ミスがあるか判定する入力ミス検知部を含む部品を保持しており、前記演算装置は、前記入力ミス検知部を前記問い直し部に含む前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、としてもよい。
【0152】
これによれば、入力ミス検知部を備えることで、入力ミスがあるか判断可能となり、すなわちエンドユーザが申込プログラムの期待する入力を行ったかどうかを判定可能となる。
【0153】
また、本実施形態の開発支援システムにおいて、前記記憶装置は、前記入力ミス検知部において、前記顧客の入力から固有表現を抽出する固有表現抽出部を含む部品を保持しており、前記演算装置は、前記固有表現抽出部を前記入力ミス検知部に含む前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、としてもよい。
【0154】
これによれば、固有表現抽出部を備えることで、エンドユーザが入力したテキストから固有表現抽出を実行し、申込部品が持つエンドユーザが入力することを期待される情報をエンドユーザが入力したかを判定することができる。
【0155】
また、本実施形態の開発支援システムにおいて、前記記憶装置は、前記固有表現抽出部として、単語の平均ベクトルと語尾の単語のベクトルを含む特徴量を学習データとする機械学習モデルを用いて、前記顧客の入力から固有表現を抽出する部品を保持しており、前記演算装置は、前記固有表現抽出部を前記入力ミス検知部に含む前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、としてもよい。
【0156】
これによれば、単語の平均ベクトルと語尾の単語のベクトルの2つを手掛かり、すなわち特徴量にして商品名との関係を学習させることで商品名の抽出精度を向上させ、エンドユーザの入力ミスの検知精度を向上させることができる。
【0157】
また、本実施形態の開発支援システムにおいて、前記記憶装置は、前記複数保持する部品のうち少なくとも1つ以上からなる申込テンプレートを、前記申込みプログラムが対象とするサービスの業種または目的に応じて保持しており、前記演算装置は、前記端末に向け、前記端末から指定を受けた又は予め指定のサービスの業種または目的に応じた前記申込みテンプレートの情報を、前記記憶装置で特定して出力し、前記開発担当者による、当該申込みテンプレートにおける前記部品の組合せの選択結果を受け付け、前記部品の組合せの選択結果に応じて、当該部品を組み合わせて前記申込みプログラムを生成する処理を実行するものである、としてもよい。
【0158】
これによれば、部品の選択や配置が効率的で簡便となり、ひいては、プログラミング知識の多少に関わらず、対話システムやそこで用いる対話コンテンツをより効率的かつ簡便
に作成可能とする。
【0159】
また、本実施形態の開発支援システムにおいて、前記記憶装置は、前記部品として、前記顧客ごとの既知情報に基づき、申込を受け付ける方法を変化させる対話制御部を有する部品を保持しており、前記演算装置は、前記対話制御部を有した前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、としてもよい。
【0160】
これによれば、上述の既知情報を用いた対話シナリオの切り替えを実行して、エンドユーザにおける情報の入力量を低減でき、ひいては素早い申込手続が可能となる。また、企画担当者としては、エンドユーザの申込中での離脱を防ぐことで、多くの申込を獲得し、売り上げを増大可能となる。
【0161】
また、本実施形態の開発支援システムにおいて、前記記憶装置は、前記部品として、前記対話制御部において、前記顧客ごとの既知情報については顧客への情報確認に留め、当該顧客に改めて入力させないように制御する部品を保持しており、前記演算装置は、前記対話制御部を有した前記部品を、前記選択結果に含む形で、前記端末から受け付けて、前記申込みプログラムを生成するものである、としてもよい。
【0162】
これによれば、顧客における無駄な入力動作を回避可能とし、ひいては、プログラミング知識の多少に関わらず、対話システムやそこで用いる対話コンテンツをより効率的かつ簡便に作成可能となる。
【0163】
また、本実施形態の開発支援システムにおいて、前記演算装置は、前記開発担当者による前記部品の組合せの選択結果を受け付ける際、当該選択結果に含まれる前記部品それぞれの実行順序に応じて当該部品間を矢印で結んだ画面を生成し、前記端末に表示させるものである、としてもよい。
【0164】
これによれば、選ばれた各部品が申込プログラムのフローにて順次配置されていることが矢印によって明快に示されることとなる。
【符号の説明】
【0165】
1 ネットワーク
11 記憶装置
12 プログラム
13 メモリ
14 演算装置
15 通信装置
100 開発支援システム
102 申込部品のリスト
103 申込プログラムフロー
111 申込部品
114 申込部品と申込プログラムのフローとの関係を示す矢印
115 問い直し部
116 カスタマイズ項目
117 申込プログラムフローの順序を示す矢印
118 カスタイマイズ結果
121 申込プログラムフローのひな型提供部
122 対話テスト提供部
123 申込プログラム作成部
124 固有表現学習部
301 入力ミス検知部
302 問い直し発話
303 固有表現抽出部
304 正規表現抽出部
601 設計者端末
602 チャットボットサーバ
603 申込者(エンドユーザ)のコンピュータ
605 申込プログラム
606 申込用チャットボット
607 対話データ
608 顧客データベース
609 固有表現抽出モデル
801 開発支援システムの画面例
802 ユーザの発話
803 チャットボットの発話
804 ユーザに発話を促すメッセージ
1001 申込プログラムの出力ボタン
1002 顧客データベースの表示ボタン
1003 申込のテストボタン
1004 申込みのフローの構成要素
1005 申込部品が動作する順序を示す矢印
1006 カスタマイズボタン
1007 現在施しているカスタマイズ項目116の設定内容の表示
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19