【文献】
ビットエー、ChatWorkと共同で初の公認チャットbotプログラム「予定調整bot」をリリース,2016年11月16日,URL,https://prtimes.jp/main/html/rd/p/000000007.000020795.html
(58)【調査した分野】(Int.Cl.,DB名)
前記問合せ送信部は、前記未回答ユーザが前記メッセージングサービスにサインインしていない場合に、前記問合せを、前記メッセージングサービスとは異なる他のメッセージングサービスを介して前記未回答ユーザに送信する、
ことを特徴とする請求項1に記載のサーバ装置。
複数のユーザならびにボットが送受したメッセージが共有されるメッセージングサービスに、質問が設定可能な前記ボットを提供するサーバ装置が実行するサービス方法であって、
前記サーバ装置が、前記複数のユーザの何れかから送信されたメッセージを受信する受信ステップと、
前記サーバ装置が、前記受信されたメッセージを、前記質問に対する回答として解釈する試行をする解釈ステップと、
前記サーバ装置が、前記試行が成功すると、前記解釈された回答を、前記受信されたメッセージを発したユーザからの回答として収集する収集ステップと、
前記サーバ装置が、前記収集ステップによる回答の収集が未だされていない未回答ユーザが存在している状態で、所定条件を満たすと、前記複数のユーザのうち、前記質問に係る問合せを、少なくとも前記未回答ユーザに送信する問合せ送信ステップと、
前記サーバ装置が、前記複数のユーザの全てから前記回答が収集されると、当該回答を集計した結果を表すメッセージを、前記複数のユーザに前記メッセージングサービスを介して送信する結果送信ステップと、を備え、
前記問合せ送信ステップでは、前記未回答ユーザから送信されたメッセージについて、前記試行が連続して失敗しており、当該連続して失敗したメッセージ数、若しくは、当該連続して失敗したメッセージの量が、閾値を超えた場合に、前記問合せを前記未回答ユーザに送信する、
ことを特徴とするサービス方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1の発明では、例えば、スケジュールアプリのデータを、ユーザ間で送受することで、飲み会の日程について投票を各ユーザに要請することができるようになっている。
【0006】
しかしながら、特許文献1の発明では、スケジュールアプリのデータを、何れかのユーザが作成する必要があり、非効率であった。また、投票結果の集計や、投票していないユーザへの催促等についても、何れかのユーザが行う必要があり、やはり非効率であった。
【0007】
このようなことから、メッセージングサービスにおけるメッセージのやり取りを通じて、質問に対する全ユーザからの回答を、効率的に収集することのできる技術が望まれていた。
【0008】
本発明は、上記実状に鑑みてなされたもので、質問に対する全ユーザからの回答を、効率良く収集することのできるサーバ装置、サービス方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の第1の観点に係るサーバ装置は、
複数のユーザならびにボットが送受したメッセージが共有されるメッセージングサービスに、質問が設定可能な前記ボットを提供するサーバ装置であって、
前記複数のユーザの何れかから送信されたメッセージを受信する受信部と、
前記受信されたメッセージを、前記質問に対する回答として解釈する試行をする解釈部と、
前記試行が成功すると、前記解釈された回答を、前記受信されたメッセージを発したユーザからの回答として収集する収集部と、
前記収集部による回答の収集が未だされていない未回答ユーザが存在している状態で、所定条件を満たすと、前記複数のユーザのうち、前記質問に係る問合せを、少なくとも前記未回答ユーザに送信する問合せ送信部と、
前記複数のユーザの全てから前記回答が収集されると、当該回答を集計した結果を表すメッセージを、前記複数のユーザに前記メッセージングサービスを介して送信する結果送信部と、
を備えることを特徴とする。
【0010】
また、上記第1の観点に係るサーバ装置において、
前記問合せ送信部は、前記未回答ユーザから送信されたメッセージについて、前記試行が連続して失敗しており、当該連続して失敗したメッセージ数、若しくは、当該連続して失敗したメッセージの量が、閾値を超えた場合に、前記問合せを前記未回答ユーザに送信するようにしてもよい。
【0011】
また、上記第1の観点に係るサーバ装置において、
前記問合せが送信されると、前記連続して失敗したメッセージ数、若しくは、前記連続して失敗したメッセージの量が、クリアされるようにしてもよい。
【0012】
また、上記第1の観点に係るサーバ装置において、
前記問合せ送信部は、前記未回答ユーザが前記メッセージングサービスにてメッセージを送信する頻度が基準よりも低い場合に、前記問合せを前記未回答ユーザに送信するようにしてもよい。
【0013】
また、上記第1の観点に係るサーバ装置において、
前記問合せ送信部は、前記問合せを、前記メッセージングサービスとは異なる他のメッセージングサービスを介して前記未回答ユーザに送信するようにしてもよい。
【0014】
また、上記第1の観点に係るサーバ装置において、
前記問合せ送信部は、前記未回答ユーザが前記メッセージングサービスにサインインしていない場合に、前記問合せを、前記メッセージングサービスとは異なる他のメッセージングサービスを介して前記未回答ユーザに送信するようにしてもよい。
【0015】
また、上記第1の観点に係るサーバ装置は、
前記ボットが前記メッセージングサービスに参加すると、当該参加前に前記複数のユーザの間で送受されたメッセージを取得する取得部と、
前記取得されたメッセージに基づいて、前記質問を設定する設定部とを、更に備えるようにしてもよい。
【0016】
上記目的を達成するために、本発明の第2の観点に係るサービス方法は、
複数のユーザならびにボットが送受したメッセージが共有されるメッセージングサービスに、質問が設定可能な前記ボットを提供するサーバ装置が実行するサービス方法であって、
前記サーバ装置が、前記複数のユーザの何れかから送信されたメッセージを受信する受信ステップと、
前記サーバ装置が、前記受信されたメッセージを、前記質問に対する回答として解釈する試行をする解釈ステップと、
前記サーバ装置が、前記試行が成功すると、前記解釈された回答を、前記受信されたメッセージを発したユーザからの回答として収集する収集ステップと、
前記サーバ装置が、前記収集ステップによる回答の収集が未だされていない未回答ユーザが存在している状態で、所定条件を満たすと、前記複数のユーザのうち、前記質問に係る問合せを、少なくとも前記未回答ユーザに送信する問合せ送信ステップと、
前記サーバ装置が、前記複数のユーザの全てから前記回答が収集されると、当該回答を集計した結果を表すメッセージを、前記複数のユーザに前記メッセージングサービスを介して送信する結果送信ステップと、
を備えることを特徴とする。
【0017】
上記目的を達成するために、本発明の第3の観点に係るプログラムは、
複数のユーザならびにボットが送受したメッセージが共有されるメッセージングサービスに、質問が設定可能な前記ボットを提供するコンピュータを、
前記複数のユーザの何れかから送信されたメッセージを受信する受信部、
前記受信されたメッセージを、前記質問に対する回答として解釈する試行をする解釈部、
前記試行が成功すると、前記解釈された回答を、前記受信されたメッセージを発したユーザからの回答として収集する収集部、
前記収集部による回答の収集が未だされていない未回答ユーザが存在している状態で、所定条件を満たすと、前記複数のユーザのうち、前記質問に係る問合せを、少なくとも前記未回答ユーザに送信する問合せ送信部、
前記複数のユーザの全てから前記回答が収集されると、当該回答を集計した結果を表すメッセージを、前記複数のユーザに前記メッセージングサービスを介して送信する結果送信部、
として機能させることを特徴とする。
【0018】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。
【0019】
上記プログラムを記録した情報記録媒体は、非一時的な(non-transitory)記録媒体であり、コンピュータとは独立して配布・販売することができる。ここで、非一時的な記録媒体とは、有形な(tangible)記録媒体をいう。非一時的な記録媒体は、例えば、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等である。また、一時的な(transitory)記録媒体とは、伝送媒体(伝搬信号)それ自体を示す。一時的な記録媒体は、例えば、電気信号、光信号、電磁波等である。なお、一時的な(temporary)記憶領域とは、データやプログラムを一時的に記憶するための領域であり、例えば、RAM(Random Access Memory)等の揮発性メモリである。
【発明の効果】
【0020】
本発明によれば、質問に対する全ユーザからの回答を、効率良く収集することができる。
【発明を実施するための形態】
【0022】
以下に本発明の実施形態を説明する。本発明の実施形態では、ユーザ端末を利用して、複数のユーザ間で、リアルタイムにメッセージを送受することのできるメッセージシステムを一例として説明する。
なお、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0023】
(全体構成)
本発明の実施形態に係るメッセージシステム100は、
図1に示すように、メッセージングサービスを提供するメッセージ管理装置200と、当該メッセージングサービスにおいてボット(bot)を提供するサーバ装置300と、当該メッセージングサービスを利用する複数のユーザ端末400とがインターネット900を介して通信可能に接続されている。
なお、これらの接続形態は一例であり、他の接続形態であってもよい。例えば、サーバ装置300が、メッセージ管理装置200に直接接続されていてもよい。
【0024】
メッセージ管理装置200は、複数のユーザならびにボットが送受したメッセージが共有されるメッセージングサービスを提供する装置である。例えば、メッセージ管理装置200は、ユーザ端末400から送られたメッセージを、トーク対象となる他のユーザ端末400及びサーバ装置300に送信する。また、メッセージ管理装置200は、サーバ装置300から送られたメッセージを、トーク対象となる複数のユーザ端末400に送信する。
【0025】
サーバ装置300は、複数のユーザが参加する催し物(例えば、飲み会、ゴルフ、歓送迎会等)について、取りまとめを行うボット(ロボット幹事)を提供する装置である。例えば、サーバ装置300は、メッセージングサービスにて複数人トークやグループトークしているユーザから招待され、ボットとしてそのトークに加わる。そして、サーバ装置300は、問合せメッセージ等を適宜送信して、ユーザからの発言(メッセージの送信)を促し、催し物の日程等を取りまとめる。
【0026】
ユーザ端末400は、メッセージングサービスを利用するユーザによって使用される端末である。一例として、ユーザ端末400は、スマートフォンやタブレット等であり、予めメッセージアプリ(メッセージングサービスを利用するためのアプリケーション)がインストールされている。
複数人トークやグループトークしている何れかのユーザのユーザ端末400は、ボットであるサーバ装置300を招待し、催し物について日程等の取りまとめを依頼する。
【0027】
(情報処理装置の概要構成)
本発明の実施形態に係るメッセージ管理装置200、サーバ装置300、及び、ユーザ端末400が実現される典型的な情報処理装置500について説明する。
【0028】
情報処理装置500は、
図2に示すように、CPU(Central Processing Unit)501と、ROM(Read Only Memory)502と、RAM(Random Access Memory)503と、NIC(Network Interface Card)504と、画像処理部505と、音声処理部506と、DVD−ROM(Digital Versatile Disc ROM)ドライブ507と、インターフェース508と、外部メモリ509と、コントローラ510と、モニタ511と、スピーカ512と、を備える。
【0029】
CPU 501は、情報処理装置500全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0030】
ROM 502には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、所定のプログラムをRAM 503に読み出してCPU 501による当該プログラムの実行が開始される。また、ROM 502には、情報処理装置500全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0031】
RAM 503は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他、通信に必要なデータ等が保持される。
【0032】
NIC 504は、情報処理装置500をインターネット等のコンピュータ通信網に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 501との仲立ちを行うインターフェース(図示せず)等により構成される。
【0033】
画像処理部505は、DVD−ROM等から読み出されたデータをCPU 501や画像処理部505が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部505が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、モニタ511に出力される。これにより、各種のページ表示が可能となる。
【0034】
音声処理部506は、DVD−ROM等から読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ512から出力させる。また、CPU 501の制御の下、情報処理装置500が行う処理の進行の中で発生させるべき音を生成し、これに対応した音声をスピーカ512から出力させる。
【0035】
DVD−ROMドライブ507に装着されるDVD−ROMには、例えば、実施形態に係るサーバ装置300等を実現するためのプログラムが記憶される。CPU 501の制御によって、DVD−ROMドライブ507は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 503等に一時的に記憶される。
【0036】
インターフェース508には、外部メモリ509、コントローラ510、モニタ511、及びスピーカ512が、着脱可能に接続される。
【0037】
外部メモリ509には、ユーザの個人情報に関するデータなどが書き換え可能に記憶される。
【0038】
コントローラ510は、情報処理装置500の各種の設定時などに行われる操作入力を受け付ける。情報処理装置500のユーザは、コントローラ510を介して指示入力を行うことにより、これらのデータを適宜外部メモリ509に記録することができる。
【0039】
モニタ511は、画像処理部505により出力されたデータを情報処理装置500のユーザに提示する。
【0040】
スピーカ512は、音声処理部506により出力された音声データを情報処理装置500のユーザに提示する。
【0041】
この他、情報処理装置500は、ハードディスク等の大容量外部記憶装置を用いて、ROM 502、RAM 503、外部メモリ509、DVD−ROMドライブ507に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0042】
以下、上記情報処理装置500において実現されるサーバ装置300の構成等について、
図3〜
図7を参照して説明する。情報処理装置500に電源が投入されると、本実施形態に係るサーバ装置300として機能させるプログラムが実行され、本実施形態に係るサーバ装置300が実現される。
なお、メッセージ管理装置200、及び、ユーザ端末400も同様に情報処理装置500において実現されるが、これらの構成については省略し、本実施形態において最も特徴的なサーバ装置300について、以下説明する。
【0043】
(サーバ装置の概要構成)
図3は、本実施形態に係るサーバ装置300の概要構成の一例を示すブロック図である。図示するように、サーバ装置300は、受信部310と、送信部320と、記憶部330と、制御部340とを備える。
【0044】
受信部310は、複数のユーザの何れかから送信されたメッセージを受信する。例えば、サーバ装置300が、複数人トークやグループトークにおいて、ボットとして招待された後に、受信部310は、そのトークに参加しているユーザ端末400から送信されたメッセージを受信する。なお、より詳細には、ユーザ端末400から送信されたメッセージは、メッセージ管理装置200に送られ、その後、メッセージ管理装置200からトーク対象となる他のユーザ端末400、及び、サーバ装置300にそのメッセージが送信される。そのため、受信部310は、メッセージ管理装置200を通じて、ユーザ端末400から送信されたメッセージを受信することになる。
【0045】
なお、上述したNIC 504等が、このような受信部310として機能しうる。
【0046】
送信部320は、トーク対象のユーザ端末400に向けた種々のメッセージを送信する。通常、送信部320から送信されたメッセージは、メッセージ管理装置200に送られ、その後、メッセージ管理装置200からトーク対象となる複数のユーザ端末400にそのメッセージが送信される。つまり、送信部320は、メッセージ管理装置200が提供するメッセージングサービスを介して、対象のユーザ端末400にメッセージを送信する。なお、この他にも、送信部320は、電子メールやSMS(Short Message Service )といった他のメッセージングサービスを介して、対象のユーザ端末400にメッセージを送信することができるようになっている。その際、電子メールやSMSのアドレスは、メッセージ管理装置200から取得できるものとする。
送信部320は、問合せメッセージを送信する問合せ送信部321と、取りまとめ結果を送信する結果送信部322とを含んでいる。
【0047】
問合せ送信部321は、質問に係る問合せを、少なくとも、回答を行っていない未回答ユーザに送信する。
例えば、サーバ装置300がボットとして招待されると、問合せ送信部321は、初回メッセージを、トーク対象となる全ユーザ端末400に送信する。この初回メッセージは、後述するように、サーバ装置300が取りまとめるべき内容を、ユーザに問い合わせる最初のメッセージである。
その後、取りまとめるべき内容が決まると、問合せ送信部321は、問合せメッセージをトーク対象となる全ユーザ端末400に送信する。この問合せメッセージは、後述するように、都合の良い、若しくは、都合の悪い日程等を、ユーザに問い合わせるメッセージである。なお、未回答ユーザが存在している状態で、所定条件を満たすと、問合せ送信部321は、未回答ユーザのユーザ端末400に問合せメッセージを送信する。なお、当該所定条件は、例えば、未回答ユーザからの回答を得ることが困難と判定するための条件である。そして、当該所定条件を満たすと、問合せ送信部321は、まず、メッセージ管理装置200が提供するメッセージングサービスを介して、問合せメッセージを送信し、その後に、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージを送信する。
例えば、未回答ユーザがメッセージングサービス(メッセージ管理装置200)においてメッセージを送信する頻度が基準よりも低い場合に、問合せ送信部321は、まず、メッセージングサービスを介して、問合せメッセージを送信し、それでも、メッセージを送信する頻度が基準よりも低いままだと、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージを送信する。なお、未回答ユーザがメッセージングサービス(メッセージ管理装置200)にサインインしていない場合に、問合せ送信部321は、直ちに、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージを送信するようにしてもよい。
これらの場合、他のメッセージングサービスを介した問合せに加えて、または代えて、ユーザ端末400上で、メッセージングサービスでの回答を促すプッシュ通知が行われるようなメッセージをサーバ装置300から送信してもよい。例えば、メッセージアプリが、アカウントIDを含むメッセージを受信するとプッシュ通知を行う機能を有する場合に、サーバ装置300(問合せ送信部321)は、未回答ユーザのアカウントID等を含むような問合せメッセージを送信してもよい。
【0048】
この他にも、制御部340(後述する解釈部341)において、メッセージを解釈する試行が、連続して失敗した場合に、問合せ送信部321は、未回答ユーザのユーザ端末400に問合せメッセージを送信してもよい。例えば、
図4に示すように、メッセージMS1,MS2,MS3,・・・,MS10を解釈する試行が、一例として、10回連続して失敗した場合に、問合せメッセージMS11を送信する。このように、メッセージを解釈する試行が連続して失敗したということは、トーク上での話題が問合せ内容への回答から逸れつつあるという虞がある。そのため、問合せメッセージを送ることで、トークにおける話題を、問合せ内容への回答へと戻すことができる。
なお、このように問合せメッセージを送っても回答が得られない場合(一例として、回答が得られないまま所定期間が経過した場合)であって、上述したように当該メッセージングサービスを介して回答を得ることが困難と判定した場合に、問合せ送信部321は、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージを送信する。
また、
図4のように、メッセージを解釈する試行が、連続して失敗した数(連続して失敗したメッセージ数)を判断する代わりに、連続して失敗したメッセージの量(例えば、メッセージの文字数、画面に表示された際のメッセージの高さ等)を判断するようにしてもよい。例えば、メッセージを解釈する試行が、連続して失敗しており、連続して失敗したメッセージの量が、閾値を超えた場合に、同様に、問合せ送信部321は、未回答ユーザのユーザ端末400に問合せメッセージを送信してもよい。この場合も、メッセージを解釈する試行が連続して失敗しており、その間のメッセージ量が閾値を超えたということは、トーク上での話題が問合せ内容への回答から逸れつつあるという虞がある。そのため、問合せメッセージを送ることで、トークにおける話題を、問合せ内容への回答へと戻すことができる。
また同様に、このように問合せメッセージを送っても回答が得られない場合であって、上述したように当該メッセージングサービスを介して回答を得ることが困難と判定した場合に、問合せ送信部321は、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージを送信する。
そして、問合せメッセージを送信すると、制御部340は、連続して失敗したメッセージ数、若しくは、該連続して失敗したメッセージの量を、クリアしてもよい。
【0049】
図3に戻って、結果送信部322は、制御部340(後述する収集部342)において、トーク対象となる全ユーザから回答が収集されると、取りまとめ結果をトーク対象となる全ユーザ端末400に送信する。例えば、結果送信部322は、催し物の日程等を取りまとめた結果メッセージをトーク対象となる全ユーザ端末400に送信する。
【0050】
なお、上述したNIC 504等が、このような送信部320として機能しうる。
【0051】
記憶部330は、例えば、取りまとめに必要な種々の情報を記憶する。
例えば、記憶部330は、
図5Aに示すような取りまとめ設定情報331を記憶する。この取りまとめ設定情報331は、サーバ装置300が取りまとめるべき内容が設定された情報であり、後述するように、初回メッセージに応じたユーザの回答に応じて、記憶部330に格納される。取りまとめ設定情報331には、大体の日程331aと、目的331bと、人数331cとが含まれている。
【0052】
大体の日程331aは、催し物が行われるおおよその日程であり、例えば、n月、n月m週等で表される。なお、後述するように、初回メッセージに応じて、ユーザが「今月」や「来週」と回答した場合には、回答時点を基準として、「n月」や「n月m週」に改められるものとする。
【0053】
目的331bは、催し物の目的であり、例えば、ゴルフ、飲み会、歓迎会、送別会等で表される。なお、初回メッセージに応じて、ユーザが「飲みに行く」などのように回答した場合には、一般的な「飲み会」に改められるものとする。
【0054】
人数331cは、催し物に参加する人数であり、例えば、p人(pは、2以上)で表される。なお、初回メッセージに応じて、ユーザが「5名」や「五人」などのように回答した場合には、標準的な表記の「5人」に改められるものとする。
【0055】
また、記憶部330は、
図5Bに示すような収集メッセージ群332を記憶する。この収集メッセージ群332は、後述するように、問合せメッセージに応じた各ユーザの回答に応じて、記憶部330に格納される。収集メッセージ群332には、発言者ID332aと、収集メッセージ332bとが含まれている。
【0056】
発言者ID332aは、発言した(メッセージを送信した)ユーザを識別するための情報である。
【0057】
収集メッセージ332bは、制御部340(後述する解釈部341)において、メッセージを解釈する試行が行われ、試行が成功することで収集されたメッセージである。
【0058】
なお、上述したRAM 503や外部メモリ509等が、このような記憶部330として機能しうる。
【0059】
図3に戻って、制御部340は、サーバ装置300全体を制御する。この制御部340は、解釈部341、収集部342、及び、生成部343を含んでいる。
【0060】
解釈部341は、例えば、AI(Artificial Intelligence)エンジン等を利用して、受信部310にて受信したメッセージを、質問に対する回答として解釈する試行をする。
例えば、解釈部341は、都合の良い日程を問い合わせる問合せメッセージに対して受信したメッセージ中に、有効な日付、若しくは、有効な日付範囲が含まれているかどうかを解釈する。
また、解釈部341は、これら日付や日付範囲の他に、肯定、否定、若しくは、保留を表す用語が、メッセージ中に含まれているかどうかも解釈する。なお、肯定を表す用語は、例えば、「OK」、「オーケー」、「大丈夫」、「良い」、「お勧め」、「○」等である。また、否定を表す用語は、例えば、「NG」、「ダメ」、「無理」、「都合が悪い」、「×」等である。また、保留を表す用語は、例えば、「保留」、「分からない」、「△」等である。
【0061】
この他にも、解釈部341は、初回メッセージに対して受信したメッセージ中に、大体の日程、目的、及び、人数が含まれているかどうかも解釈する。
【0062】
収集部342は、解釈部341による試行が成功すると、解釈された回答を、メッセージを発したユーザからの回答として収集する。
例えば、収集部342は、問合せメッセージに対して受信したメッセージについて、解釈部341による試行が成功すると、そのメッセージを上述した
図5Bに示すような収集メッセージ群332に追加して、記憶部330に記憶する。
この他にも、収集部342は、初回メッセージに対して受信したメッセージについて、解釈部341による試行が成功すると、そのメッセージに含まれる大体の日程、目的、及び、人数の情報を、上述した
図5Aに示すような取りまとめ設定情報331に設定して、記憶部330に記憶する。
【0063】
生成部343は、トーク対象となるユーザ端末400に送信するための各種メッセージを生成する。
例えば、生成部343は、サーバ装置300がボットとして招待されると、サーバ装置300が取りまとめるべき内容を、ユーザに問い合わせる最初のメッセージである初回メッセージを生成する。具体的に生成部343は、
図6に示すような初回メッセージMS21を生成する。生成した初回メッセージMS21は、問合せ送信部321によって、トーク対象となる全ユーザ端末400に送信される。
【0064】
その後、初回メッセージMS21が送信された何れかのユーザ端末400から、
図6に示すようなメッセージMS22が送信されると、解釈部341が、大体の日程、目的、及び、人数が含まれているかどうかを解釈する。そして、解釈部341によって、大体の日程、目的、及び、人数が含まれていると解釈されると(解釈が成功すると)、それら、大体の日程、目的、及び、人数の情報が、上述した
図5Aに示すような取りまとめ設定情報331に設定される。
【0065】
すると、生成部343は、都合の良い日程を問い合わせるための問合せメッセージを生成する。具体的に生成部343は、
図6に示すような問合せメッセージMS23を生成する。生成した問合せメッセージMS23は、問合せ送信部321によって、トーク対象となる全ユーザ端末400に送信される。
【0066】
その後、問合せメッセージMS23が送信された幾つかのユーザ端末400から、
図7に示すようなメッセージMS24〜MS27が送信されると、解釈部341が、メッセージ中に、有効な日付、若しくは、有効な日付範囲が含まれているかどうかや、これら日付や日付範囲の他に、肯定、否定、若しくは、保留を表す用語が、メッセージ中に含まれているかどうかも解釈する。そして、解釈部341によって、有効な日付、若しくは、有効な日付範囲等が含まれていると解釈されると(解釈が成功すると)、収集部342により、それらのメッセージが収集され、上述した
図5Bに示すような収集メッセージ群332に追加されて記憶される。
【0067】
すると、生成部343は、記憶された収集メッセージ群332を参照して、未回答ユーザに向けた問合せメッセージを生成する。具体的に生成部343は、
図7に示すような問合せメッセージMS28を生成する。生成した問合せメッセージMS28は、問合せ送信部321によって、トーク対象となる全ユーザ端末400に送信される。
【0068】
なお、未回答ユーザが存在している状態で、所定条件を満たすと、上述したように、問合せ送信部321は、電子メール等といった他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージMS28を送信する。例えば、未回答ユーザがメッセージングサービス(メッセージ管理装置200)にサインインしていない場合や、未回答ユーザがサインインしていても、メッセージングサービスにおいてメッセージを送信する頻度が基準よりも低い場合に、問合せ送信部321は、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージMS28を送信する。
この他にも、解釈部341において、メッセージを解釈する試行が、未回答ユーザから送信されたメッセージについて連続して失敗しており、連続して失敗したメッセージ数、若しくは、連続して失敗したメッセージの量が、閾値を超えた場合に、問合せ送信部321は、他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージMS28を送信してもよい。
【0069】
このようにして、トーク対象となる全ユーザ端末400(より詳細には、
図5Aの取りまとめ設定情報331の人数331cに設定された人数分のユーザ端末400)から、有効なメッセージが収集され、取りまとめが完了すると、生成部343は、取りまとめ結果を集計した結果メッセージを生成する。生成した結果メッセージは、結果送信部322によって、トーク対象となる全ユーザ端末400に送信される。
【0070】
なお、上述したCPU 501等が、このような構成からなる制御部340として機能しうる。
【0071】
(サーバ装置の動作)
以下、このような構成のサーバ装置300の動作について
図8を参照して説明する。
図8は、本実施形態に係る取りまとめ処理の流れを示すフローチャートである。この取りまとめ処理は、サーバ装置300がボットとして、複数トークやグループトークに招待された際に開始される。
【0072】
まず、サーバ装置300は、初回メッセージを送信する(ステップS11)。
例えば、制御部340(生成部343)は、
図6に示すような初回メッセージMS21を生成する。そして、送信部320(問合せ送信部321)は、生成された初回メッセージMS21をトーク対象となる全ユーザ端末400に送信する。
【0073】
サーバ装置300は、初回メッセージを送信した何れかのユーザ端末400から送られたメッセージを受信したか否かを判別する(ステップS12)。
サーバ装置300は、メッセージを受信していないと判別すると(ステップS12;No)、そのまま、メッセージの受信を待機する。
【0074】
一方、メッセージを受信したと判別した場合(ステップS12;Yes)に、サーバ装置300は、メッセージの解釈を試行する(ステップS13)。
例えば、ステップS12にて、
図6に示すようなメッセージMS22を受信した場合に、制御部340(解釈部341)は、メッセージMS22中に、大体の日程、目的、及び、人数が含まれているかどうか解釈する。
【0075】
サーバ装置300は、試行が成功したか否かを判別する(ステップS14)。サーバ装置300は、試行が成功しなかった(試行が失敗した)と判別すると(ステップS14;No)、上述したステップS11に処理を戻す。
【0076】
一方、試行が成功したと判別した場合(ステップS14;Yes)に、サーバ装置300は、取りまとめ内容を設定する(ステップS15)。
例えば、制御部340(収集部342)は、
図6に示すようなメッセージMS22に含まれる大体の日程(11月2週)、目的(飲み会)、及び、人数(5人)の情報を、
図5Aに示すような取りまとめ設定情報331に設定して、記憶部330に記憶する。なお、目的の情報となる「飲み会」は、メッセージMS22中の「飲みに行きましょう」から、一般的な表記に改められている。
【0077】
サーバ装置300は、問合せメッセージを送信する(ステップS16)。
例えば、制御部340(生成部343)は、
図6に示すような問合せメッセージMS23を生成する。そして、送信部320(問合せ送信部321)は、生成された問合せメッセージMS23をトーク対象となる全ユーザ端末400に送信する。
【0078】
サーバ装置300は、問合せメッセージを送信した何れかのユーザ端末400から送られたメッセージを受信したか否かを判別する(ステップS17)。
サーバ装置300は、メッセージを受信していないと判別すると(ステップS17;No)、後述するステップS22に処理を進める。
【0079】
一方、メッセージを受信したと判別した場合(ステップS17;Yes)に、サーバ装置300は、メッセージの解釈を試行する(ステップS18)。
例えば、ステップS17にて、
図7に示すようなメッセージMS24〜MS27を同時期に受信した場合に、制御部340(解釈部341)は、メッセージMS24〜MS27のそれぞれについて、有効な日付、若しくは、有効な日付範囲が含まれているかどうかや、これら日付や日付範囲の他に、肯定、否定、若しくは、保留を表す用語が含まれているかどうかも解釈する。
【0080】
サーバ装置300は、試行が成功したか否かを判別する(ステップS19)。サーバ装置300は、試行が成功しなかった(試行が失敗した)と判別すると(ステップS19;No)、再問合せが必要か否かを判別する(ステップS20)。
例えば、制御部340は、メッセージングサービスにおいてメッセージを送信する頻度が基準よりも低い場合に、再問合せが必要であると判別する。この他にも、ステップS19にて、未回答ユーザから送信されたメッセージについての試行が連続して失敗しており、連続して失敗したメッセージ数、若しくは、連続して失敗したメッセージの量が、閾値を超えた場合に、制御部340は、再問合せが必要であると判別する。
サーバ装置300は、再問合せが必要でないと判別すると(ステップS20;No)、上述したステップS17に処理を戻す。
【0081】
一方、再問合せが必要であると判別した場合(ステップS20;Yes)に、サーバ装置300は、未回答ユーザのユーザ端末400に、問合せメッセージを送信する(ステップS21)。
例えば、送信部320(問合せ送信部321)は、上述した
図4に示すように、メッセージMS1,MS2,MS3,・・・,MS10を解釈する試行が、一例として、10回連続して失敗した場合に、問合せメッセージMS11を送信する。このように、メッセージを解釈する試行が連続して失敗したということは、トーク上での話題が問合せ内容への回答から逸れつつあるという虞がある。そのため、問合せメッセージを送ることで、トークにおける話題を、問合せ内容への回答へと戻すことができる。
そして、サーバ装置300は、上述したステップS17に処理を戻す。
【0082】
また、上述したステップS17にて、メッセージを受信していないと判別した場合(ステップS17;No)に、サーバ装置300は、再問合せ済みであり、かつ、所定期間が経過したか否かを判別する(ステップS22)。すなわち、サーバ装置300は、上述したステップS21にて問合せメッセージを送信済みであり、その後、回答が得られないまま所定期間が経過したかどうかを判別する。
サーバ装置300は、再問合せ済みでない、若しくは、再問合せ済みであるが、所定期間が経過していないと判別すると(ステップS22;No)、上述したステップS17に処理を戻す。
【0083】
一方、再問合せ済みであり、かつ、所定期間が経過したと判別した場合(ステップS22;Yes)に、サーバ装置300は、他のメッセージングサービスを介して、問合せメッセージを送信する(ステップS23)。
例えば、送信部320(問合せ送信部321)は、電子メールやSMSといった他のメッセージングサービスを介して、未回答ユーザのユーザ端末400に問合せメッセージを送信する。
そして、サーバ装置300は、上述したステップS17に処理を戻す。
【0084】
また、上述したステップS19にて、試行が成功したと判別した場合(ステップS19;Yes)に、サーバ装置300は、メッセージを収集する(ステップS24)。
例えば、制御部340(収集部342)は、
図7に示すようなメッセージMS24〜MS27を収集し、
図5Bに示すような収集メッセージ群332に追加する。
【0085】
サーバ装置300は、取りまとめが完了したか否かを判別する(ステップS25)。
例えば、制御部340は、トーク対象となる全ユーザ端末400(より詳細には、
図5Aの取りまとめ設定情報331の人数331cに設定された人数分のユーザ端末400)から、有効なメッセージが収集された場合に、取りまとめが完了したと判別する。
【0086】
サーバ装置300は、取りまとめが完了していないと判別すると(ステップS25;No)、上述したステップS16に処理を戻す。なお、2巡目以降のステップS16では、収集メッセージ群332が参照され、未回答ユーザに向けた問合せメッセージが送信される。
例えば、制御部340(生成部343)は、
図7に示すような問合せメッセージMS28を生成する。そして、送信部320(問合せ送信部321)は、未回答ユーザのユーザ端末400を含めたユーザ端末400に送信する。
【0087】
一方、取りまとめが完了したと判別した場合(ステップS25;Yes)に、サーバ装置300は、結果メッセージを送信する(ステップS26)。
すなわち、制御部340(生成部343)は、取りまとめ結果を集計した結果メッセージを生成する。そして、送信部320(結果送信部322)は、結果メッセージをトーク対象となる全ユーザ端末400に送信する。
【0088】
なお、
図8の取りまとめ処理では、省略しているが、特定のキーワードを含むメッセージが、トーク対象となる何れかのユーザ端末400から送信されると、取りまとめる内容の再設定や、ボットの退出が行えるようになっている。
例えば、「やり直し」、「最初から」、「もう一度」、「クリア」等のキーワードを含むメッセージが、ユーザ端末400から送信されると、サーバ装置300は、
図5Aに示す取りまとめ設定情報331を消去した後、
図8のステップS11に処理を戻し、初回メッセージの送信から再開する。
また、「ロボットを退出」、「ロボット退出」、「ロボット幹事を退出」、「ロボット幹事退出」、「ロボット幹事さようなら」、「ロボットさようなら」等のキーワードを含むメッセージが、ユーザ端末400から送信されると、サーバ装置300は、複数トークやグループトークから退出する。
【0089】
このような取りまとめ処理によって、メッセージングサービスにおけるメッセージのやり取りを通じて、トーク対象となる全ユーザ端末400から有効な回答を得て、催し物の日程等を取りまとめることができる。
この結果、質問に対する全ユーザからの回答を、効率的に収集することができる。
【0090】
(他の実施形態)
上記の実施形態では、ユーザ端末400のユーザが、
図7に示すメッセージMS24〜MS27のように、日付や日付範囲等を含んだメッセージを送信する場合について説明したが、このようなメッセージの代わりに、カレンダー機能を利用するなどして、日付や日付範囲等を送信できるようにしてもよい。
例えば、ユーザ端末400に
図9に示すようなカレンダー画面WD1を表示させ、ユーザが日付や日付範囲を選び、更に、OK、保留、NG等を選んで、送信できるようにする。なお、このカレンダー画面WD1は、例えば、サーバ装置300から送信される問合せメッセージに含まれるリンクをタップすることで、表示されるようにしてもよい。
【0091】
また、上記の実施形態では、ボットが複数トークやグループトークに参加した(招待された)以降において、各ユーザ端末400から送信されたメッセージをサーバ装置300が適宜解釈して、取りまとめを行う場合について説明したが、実際には、ボットが参加する前において、既に、取りまとめるべき内容について、ユーザ間で、メッセージが交わされている場合も多い。
そのため、ボットが複数トークやグループトークに参加する際に、参加時点から一定時間前までに送受されたメッセージを、サーバ装置300がメッセージ管理装置200から取得するようにし、参加前に送受されたメッセージを、取りまとめに活用できるようにしてもよい。
以下、ボットが参加する前に送受されたメッセージを活用することを特徴としたサーバ装置300について、
図10を参照して説明する。
【0092】
図10は、他の実施形態に係るサーバ装置300の概要構成の一例を示すブロック図である。図示するように、サーバ装置300は、受信部310と、送信部320と、記憶部330と、制御部350とを備える。
なお、受信部310、送信部320、及び、記憶部330は、上述した
図3に示すサーバ装置300と同じ構成である。
【0093】
また、制御部350は、取得部351、設定部352、解釈部341、収集部342、及び、生成部343を含んでいる。
なお、解釈部341、収集部342、及び、生成部343は、上述した
図3に示すサーバ装置300と同じ構成である。
【0094】
取得部351は、サーバ装置300がボットとして招待され、複数トークやグループトークに参加すると、その参加時点から一定時間前までにそのトークにおいて送受されたメッセージを、メッセージ管理装置200から取得する。
【0095】
設定部352は、取得部351により取得されたメッセージに基づいて、質問を設定する。例えば、設定部352は、取得部351により取得されたメッセージについて、古い順に、解釈部341に解釈を試行させる。その際、解釈部341は、先に、メッセージ中に、大体の日程、目的、及び、人数が含まれているかどうかを解釈する。そして、解釈部341により、大体の日程、目的、及び、人数が含まれていると解釈されると、設定部352は、そのメッセージに含まれる大体の日程、目的、及び、人数の情報を、
図5Aに示すような取りまとめ設定情報331に設定して、記憶部330に記憶する。
その後、解釈部341は、メッセージ中に、有効な日付や有効な日付範囲等が含まれているかどうかを解釈する。そして、解釈部341により、有効な日付や有効な日付範囲等が含まれていると解釈されると、設定部352は、メッセージを
図5Bに示すような収集メッセージ群332に追加して、記憶部330に記憶する。
そして、解釈部341が、取得部351により取得されたメッセージについての解釈を終えた際に、設定部352によって、取りまとめ設定情報331、及び、収集メッセージ群332が記憶部330に記憶されていると、生成部343は、記憶された収集メッセージ群332を参照して、直ちに、未回答ユーザに向けた問合せメッセージを生成する。具体的に生成部343は、初回メッセージ等の生成を飛ばして、
図7に示すような問合せメッセージMS28を直ちに生成する。生成した問合せメッセージMS28は、問合せ送信部321によって、トーク対象となる全ユーザ端末400に送信される。
【0096】
このような他の実施形態に係るサーバ装置300によれば、ボットが参加する前に送受されたメッセージを活用して、催し物の日程等をより迅速に取りまとめることができる。
受信部(310)は、トーク対象となる複数のユーザの何れかから送信されたメッセージを受信する。解釈部(341)は、受信部(310)が受信したメッセージを、質問に対する回答として解釈する試行をする。収集部(342)は、解釈部(341)による試行が成功すると、前記解釈された回答を、メッセージを発したユーザからの回答として収集する。問合せ送信部(321)は、収集部(342)による回答の収集が未だされていない未回答ユーザが存在している状態で、所定条件を満たすと、複数のユーザのうち、質問に係る問合せを、少なくとも未回答ユーザに送信する。結果送信部(322)は、複数のユーザの全てから回答が収集されると、当該回答を集計した結果を表すメッセージを、複数のユーザに送信する。