(57)【特許請求の範囲】
【請求項１】
第1ユーザが使用する第1端末と、
第2ユーザが使用する第2端末と、
前記第1端末ならびに前記第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバと、
を備えるテキストチャットシステムであって、前記サーバは、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定し、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促し、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促し、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新する
ことを特徴とするテキストチャットシステム。
【請求項２】
前記サーバは、
前記サーバにより仲介済のテキストメッセージの送受の事前分布に基づいて、前記第1ユーザと前記第2ユーザとの間に割り込むべきか否かを、設定された基準により判定し、
割り込むべきと判定された場合に、前記トピックメッセージを決定する
ことを特徴とする請求項1に記載のテキストチャットシステム。
【請求項３】
割り込むべきと判定された後に前記サーバにより仲介されたテキストメッセージの送受の事後分布に基づいて、前記設定された基準を更新する
ことを特徴とする請求項2に記載のテキストチャットシステム。
【請求項４】
前記事前分布は、前記送受の日時の、現在時刻を基準時とする分布であり、
前記事後分布は、前記送受の日時の、前記トピックメッセージが決定された時刻を基準時とする分布であり、
前記設定された基準は確率的な基準である
ことを特徴とする請求項3に記載のテキストチャットシステム。
【請求項５】
前記事前分布にくらべて、前記事後分布における送受の頻度ならびに交互性が向上していれば、前記基準において、前記事前分布に基づいて割り込むべきと判定する確率を上げる
ことを特徴とする請求項4に記載のテキストチャットシステム。
【請求項６】
前記第1端末において、前記第1メッセージを前記第2端末に提示させるべき旨の前記第1ユーザからの第1伝達指示の受付に先行して、前記第2メッセージを前記第1端末に提示させるべき旨の前記第2端末における前記第2ユーザからの第2伝達指示の受付が検知されると、前記サーバは、前記第1端末に、
前記第2メッセージを提示させ、
前記提示された第2メッセージを参照して前記第1ユーザが前記第1メッセージを推敲するまで、前記第1伝達指示の受付を拒否させる
ことを特徴とする請求項1に記載のテキストチャットシステム。
【請求項７】
前記トピックメッセージが前記第1端末と、前記第2端末と、により提示された後、前記サーバは、
前記第1端末において前記第1ユーザにより編集されている前記第1メッセージの第1スコアと、前記第2端末において前記第2ユーザにより編集されている前記第2メッセージの第2スコアと、を取得し、
前記取得された第1スコアが前記取得された第2スコアに劣っていれば、前記第2メッセージを前記第1端末に提示させるべき旨の前記第2端末における前記第2ユーザからの第2伝達指示の受付が
検知されると、前記サーバは、前記第1端末に、前記第2メッセージを提示させ、
検知されるまで、前記サーバは、前記第1端末に、前記提示された第2メッセージを参照して前記第1ユーザが前記第1メッセージを推敲するまで、前記第1メッセージを前記第2端末に提示させるべき旨の前記第1端末における前記第1ユーザからの第1伝達指示の受付を拒否させる
ことを特徴とする請求項1に記載のテキストチャットシステム。
【請求項８】
前記トピックメッセージが前記第1端末と、前記第2端末と、により提示された後、前記サーバは、
前記第1メッセージを前記第2端末に提示させるべき旨の前記第1ユーザからの第1伝達指示の受付を前記第1端末にて許可する第1時点と、
前記第2メッセージを前記第1端末に提示させるべき旨の前記第2ユーザからの第2伝達指示の受付を前記第2端末にて許可する第2時点と、
に、時間差を定める
ことを特徴とする請求項1に記載のテキストチャットシステム。
【請求項９】
前記サーバは、前記時間差を所定範囲内でランダムに定める
ことを特徴とする請求項8に記載のテキストチャットシステム。
【請求項１０】
前記サーバにより仲介済のテキストメッセージの送受の事前分布が、前記第1ユーザからテキストメッセージが送られることに偏っていれば、前記サーバは、前記第1時点を前記第2時点より遅らせ、
前記事前分布が、前記第2ユーザからテキストメッセージが送られることに偏っていれば、前記サーバは、前記第2時点を前記第1時点より遅らせる
ことを特徴とする請求項8に記載のテキストチャットシステム。
【請求項１１】
第1ユーザが使用する第1端末ならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバが実行するテキストチャット方法であって、前記サーバが、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定するステップ、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促すステップ、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促すステップ、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新するステップ
を備えることを特徴とするテキストチャット方法。
【請求項１２】
第1ユーザが使用する第1端末ならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバコンピュータに、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定する処理、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促す処理、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促す処理、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新する処理
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ同士の交流を深めるためのテキストチャットシステム、テキストチャット方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来から、通信ネットワークを用いてユーザ同士の交流を深めるシステムが提案されている。
【０００３】
たとえば、特許文献1では、ビデオ通話をするユーザのユーザ情報のうち嗜好に係る情報の共通項を抽出して、通話の際に提示する話題とすることにより、会話の促進を図るシステムが提案されている。この技術では、通話回数が多くなるに従って表示項目が詳細になるように一律で事前に設定され(段落0032-0033)、その表示は、所定時間ごと(段落0060)、あるいは、会話スピードに基づいて(段落0073)、切り換えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2017-138948号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、共通する嗜好を提示しても、通話するユーザ同士が目的の関係を築くのに適切な話題でないおそれがある。
【０００６】
本発明は、上記のような課題を解決するもので、目的の関係を築くのに適切な話題を提示することが可能なテキストチャットシステム、テキストチャット方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明に係るテキストチャットシステムは、
第1ユーザが使用する第1端末と、
第2ユーザが使用する第2端末と、
前記第1端末ならびに前記第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバと、
を備え、前記サーバは、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定し、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促し、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促し、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新する
ように構成する。
【発明の効果】
【０００８】
本発明によれば、目的の関係を築くのに適切な話題を提示することが可能なテキストチャットシステム、テキストチャット方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例に係るテキストチャットシステムの概要を示す説明図である。
【図２】本実施例において、メッセージが問題なく送受される際の通信の様子を示す説明図である。
【図３】本実施例において、ユーザ同士の交流に割り込んでトピックを提供する通信の様子を示す説明図である。
【図４】本実施例において、端末にて実行される端末処理の流れを説明するフローチャートである。
【図５】ユーザと相手方のテキストチャットが再開されたときの端末における表示例を示す説明図である。
【図６】ユーザが端末にて相手方へ伝達したいメッセージを入力したときの端末における表示例を示す説明図である。
【図７】端末が相手方へメッセージを伝達しようとしているときの端末における表示例を示す説明図である。
【図８】メッセージを相手方へ伝達する処理が完了したときの端末における表示例を示す説明図である。
【図９】メッセージを推敲すべき旨をユーザに知らせるときの端末における表示例を示す説明図である。
【図１０】メッセージが相手方へ伝達できなかったときの端末における表示例を示す説明図である。
【図１１】相手方からメッセージが伝達されたときの端末における表示例を示す説明図である。
【図１２】サーバから話題が提供されたときの端末における表示例を示す説明図である。
【図１３】本実施例において、サーバにて実行されるサーバ処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００１１】
(端末およびサーバとプログラムの関係)
本実施例では、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ等の端末がサーバと協働することで、テキストチャットサービスを提供する。
【００１２】
本実施例の端末ならびにサーバは、プログラムをコンピュータに実行させることにより実現するのが一般的であるが、専用電子回路により処理を実行させることも可能である。このほか、コンピュータと専用電子回路の中間形態として、プログラムを電子回路の設計スクリプトにコンパイルして、当該設計スクリプトに基づいて電子回路を動的に構成するFPGA(Field Programmable Gate Array)などの技術を適用することにより、本実施例の端末ならびにサーバを構成することも可能である。
【００１３】
本実施例に係る端末は、スマートフォン等を実現する端末コンピュータへ、テキストチャットサービスの事業者や運営者が配布サーバにて配布される端末プログラムをダウンロードすることによって実現される。
【００１４】
本実施例に係るサーバは、テキストチャットサービスの提供を受ける端末を管理するサーバコンピュータが、サーバプログラムを実行することによって実現される。
【００１５】
一般に、端末コンピュータやサーバコンピュータで実行されるプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、端末コンピュータやサーバコンピュータとは独立して配布・販売することもできる。
【００１６】
端末コンピュータやサーバコンピュータでは、フラッシュメモリやハードディスク等の非一時的(non-transitory)情報記録媒体に記録されたプログラムを、一時的(temporary)記憶装置であるRAM(Random Access Memory)に読み出してから、読み出されたプログラムに含まれる指令をCPU(Central Processing Unit)が実行する。ただし、ROMとRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指令を、直接CPUが読み出して実行する。
【００１７】
さらに、端末プログラムやサーバプログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網等の一時的(transitory)伝送媒体を介して、事業者が管理する配布サーバ等から端末コンピュータやサーバコンピュータ等へ配布・販売することができる。
【００１８】
なお、本実施例では、端末プログラムと、サーバプログラムと、は、異なるコンピュータにて動作する際に、互いに協働する。そこで、端末プログラムと、サーバプログラムと、を合わせたものは、テキストチャットシステムを実現するためのシステムプログラムと考えることができる。
【００１９】
(全体構成)
図1は、本発明の実施例に係るテキストチャットシステムの概要を示す説明図である。以下、本図を参照して説明する。
【００２０】
本実施形態に係るテキストチャットシステム101では、複数の端末121をそれぞれ使用する複数のユーザ間の交流を、サーバ141が、仲介するテキストチャットサービスを提供する。サーバ141と、複数の端末121とは、コンピュータ通信網の一例であるインターネット161を介して接続されているが、本実施形態では、端末121同士が直接メッセージを送受し合うのではなく、必ずサーバ141がメッセージの送受の仲介をする。
【００２１】
テキストチャットシステム101にて2台の端末121を使用する2人のユーザの間でメッセージが仲介される際には、サーバ141および両端末121は、以下のように機能する。理解を容易にするため、ユーザAは端末Xを使用し、ユーザBは端末Yを使用し、ユーザAからユーザBへメッセージMを送る状況を想定する。メッセージを逆向きに送る場合については、以下の説明において、ユーザについて A, Bを、端末についてX, Yをそれぞれ入れ換えれば良い。
【００２２】
(通常のテキストメッセージの送受)
テキストチャットのメッセージが問題なく送受される様子について説明する。図2は、本実施例において、メッセージが問題なく送受される際の通信の様子を示す説明図である。以下、本図を参照して説明する。
【００２３】
まず、ユーザAは、端末Xにて、メッセージMの内容を編集する。端末Xがスマートフォンの場合には、編集指示201は、タッチスクリーンに表示されたソフトウェアキーボード等をクリック、タップ等することによって、端末Xに与えられる。
【００２４】
編集が終わったら、ユーザAは、メッセージMをユーザBに伝達すべき旨の伝達指示202を、端末Xに対して与える。端末Xがスマートフォンの場合には、伝達指示202は、タッチスクリーンに表示された伝達オブジェクトをユーザAがクリック、タップ等することによって、端末Xに与えられる。
【００２５】
伝達指示202が与えられると、端末Xは、サーバ141へ、メッセージMをユーザBへ伝達する旨の伝達要求203を送る。
【００２６】
サーバ141は、伝達要求203を受けて、ユーザBが使用する端末Yへ、メッセージMを指定した提示指令204を送る。
【００２７】
提示指令204を受けた端末Yは、これに応じて、ユーザBに対してメッセージの提示205を実行し、メッセージの提示205が行われた旨を表す提示報告206をサーバ141へ送る。
【００２８】
サーバ141は、提示報告206を受けて、伝達要求203が成功した旨を表す成功応答207を端末Xへ送る。
【００２９】
成功応答207を受けた端末Xは、メッセージMが端末Yに伝達され、ユーザBによって閲覧された旨を画面に表示し、メッセージの送付履歴にメッセージMを追加することができる。
【００３０】
このようにして、サーバ141は、ユーザA, B間のテキストメッセージの送受を仲介している。本態様では、テキストメッセージの送受を活発にし、ユーザ同士の交流を深めるため、サーバ141が、積極的にユーザA, Bに働きかける。そして、その働きかけの事例が適切であったか否かに基づいて、働きかけを行うべきか否かの基準を更新して、今後の働きかけをより一層適切に行うようにする。
【００３１】
そのため、本実施例では、以下の働きかけを行う。すなわち、ユーザ間の交流に(典型的には、ユーザ間のチャットが活発でないときに)割り込んで積極的に話題(トピック)を提供し、ユーザ間の交流を盛り上げる。
【００３２】
本手法においては、サーバ141の働きかけが適切であったか否かを、成功条件に基づいて判定する。成功条件については、後述するように、種々の態様が考えられる。
【００３３】
(トピックの提供)
以下では、ユーザ同士の交流を深めるために、サーバ141からトピックを提供する様子について説明する。図3は、本実施例において、ユーザ同士の交流に割り込んでトピックを提供する通信の様子を示す説明図である。以下、本図を参照して説明する。
【００３４】
サーバ141は、上記のように、ユーザAと、ユーザBと、の間のテキストメッセージの送受を仲介する。そこで、サーバ141は、間欠的に、ユーザA, B間でのメッセージ送受の現時点を基準とした時間分布に基づいて、ユーザA, Bの交流に割り込むべきか否かを判定する。この時間分布は、以下では、事前分布215により示している。
【００３５】
たとえば、サーバ141がユーザA, Bの交流に割り込むべきである、と判定する例には、以下のようなものがある。
現時点から見て、十数秒続けて、メッセージ送受のない状況が続いた場合。
現時点から見て、ユーザA, Bのうちの一方からの質問が所定回数以上(たとえば、5回以上)続いたがユーザBからの質問がないため、対話において、一方のみが話題を提供し、他方はこれに返答するだけ、のように、対話が一方通行となっている場合。
【００３６】
割り込むべきと判定された場合、サーバ141は、両者に提供すべきトピックを決定する。トピックの決定手法としては、以下のようなものがある。
【００３７】
ユーザA, Bのプロフィール等の属性の共通性に基づいてトピックを決定する手法。ここで、属性としては、居住履歴、学歴、職歴、趣味、商品の購入履歴・レビュー履歴、旅行歴、SNS(Social Networking Service)における投稿履歴等を採用することができる。これらの属性に基づいて、学習済みのモデルに基づき、両者に提供すべきトピックを決定する。
【００３８】
たとえば、ユーザA, Bのある属性が一致している場合には、当該属性の下位概念をトピックの候補とすることができる。たとえば、出身地や過去の居住地という属性が「兵庫県」で一致している場合、トピックとして、「近隣の観光地に関する子供の頃の思い出」をトピックの候補とすることができる。
【００３９】
また、ユーザAのある属性とBの他の属性が関連あるいは類似している場合には、その属性を上位概念化することで、一致するトピックの候補を作ることができる。たとえば、ユーザAの「得意なこと」に「料理」があり、ユーザBの「趣味嗜好」に「スイーツ」がある場合、「料理」と「スイーツ」は異なる種類の属性に割り当てられているが、「料理」の結果として「スイーツ」が得られる、という関連性がある。この場合には、「料理」「スイーツ」に関連する内容をトピックの候補とすることができる。
【００４０】
また、提供するトピックは、ユーザA, Bの両方に質問をする形式でも良いし、ユーザA, Bの一方に質問をする形式でも良い。
【００４１】
たとえば、「近隣の観光地に関する子供の頃の思い出は何ですか?」は、両ユーザについての質問の形式を取ることになるが、「得意な料理は何ですか?」については、「得意なこと」に「料理」を掲げているユーザAに対しての質問とすることができる。
【００４２】
さらに、対話が一方通行になっている場合、たとえば、ユーザAがユーザBに一方的に質問してしまっている場合には、トピックとして、ユーザAが回答すべき話題を提供することとしても良い。このようなトピックを提供することで、受け身になっていたユーザBが質問をしなくても、サーバ141がユーザBにかわって、ユーザAへ質問をすることで、両者の質問と回答の役割が極端に偏らないようにすることができる。
【００４３】
モデルの学習に用いられるデータとしては、過去にチャットを行った当該ユーザ、あるいは、他のユーザ同士の以下の情報を採用することができる。
(1) チャットで言及されたトピック。当該トピックは、ユーザ自身が発したものでも良いし、サーバ141が提供したものであっても良い。
(2) チャットをしたユーザ同士のプロフィールや属性、ウェブ上の行動履歴等の共通要素と、ユーザ自身が発したトピックとの関連性。たとえば、チャットで言及されたトピックが、どの属性の共通要素を原因とするか、を、当該トピックに出現する用語と、共通要素を表す用語と、の関連度に応じて同定し、「ある属性が共通して○○である」ということと、「トピックとして○○が発せられた」ことの関連性を分析することで、過去にユーザ自身が発したトピックを、将来サーバ141が提供するトピックに取り込むことができる。
(3) 当該トピックを含むチャットをしたユーザ同士の成功条件が満たされたか否か。
【００４４】
ここでは、ユーザ同士のプロフィール等の共通要素から、成功条件を満たす可能性が高いトピックを選択するように、モデルの学習がなされる。そして、学習されたモデルに基づいて、提供すべきトピックが決定される。
【００４５】
なお、ここで決定されたトピックをユーザ同士に提示した後、当該ユーザ同士について成功条件が満たされたか否かに基づいてモデルを更新し、学習をさらに進めることができる。
【００４６】
そして、決定されたトピックに係るトピックメッセージTを指定する提示指令204を端末X, Yの両方に送る。2つの提示指令204は、実質的に同時に送信しても良いし、本図に示すように時間差を設けて送信しても良い。
【００４７】
端末X, Yは、それぞれ、ユーザA, BにトピックメッセージTを提示して、提示報告206をサーバ141へ送る。
【００４８】
この後、サーバ141は、ユーザA, Bの交流が深まったか否かに基づいて、トピックメッセージを選択するための基準や、交流へ割り込むべきか否かを判断するための基準を更新する。
【００４９】
(成功条件)
上記のように、本実施例では、ユーザ間の交流が深まったか否かに基づいて、各種の判定を行う。以下では、ユーザ間の交流が深まったことを表す成功条件の一例について説明する。
【００５０】
本実施例に係るテキストチャットシステムが、交際相手や結婚相手を求めるユーザ同士を紹介するマッチングサービスである場合、ユーザAとユーザBとのマッチングに成功し、デートにつながった場合や、カップルが成立して退会した場合等には、ユーザA, Bについて成功条件が満たされた、と考えることができる。したがって、ユーザA, Bの交流に対して提供したトピックや割り込んだタイミングは、成功事例のサンプルと考えることができる。
【００５１】
トピックメッセージTの後、ユーザBが返答をしなかったり、ユーザBがユーザAをブロックした場合には、成功条件は満たされず、当該事例は、失敗事例のサンプルと考えることができる。
【００５２】
また、テキストチャットシステムにおいて、メッセージの送受の頻度が高まった場合や交際が始まった場合には、成功条件が満たされた、と考えることができる。一方で、メッセージの送受の頻度がある程度以上低くなった場合や交際が中断した場合には、成功条件は満たされず、失敗事例に該当すると考えることができる。
【００５３】
本実施例では、テキストチャットシステムにおいて過去に交流をしたことがあるユーザの対のそれぞれについて、当該ユーザの交流が、成功事例に当たるのか、失敗事例に当たるのか、いずれともいえない中立事例に当たるのか、をあらかじめ分類する。そして、当該事例に基いて、提供するトピックを選択するための基準やトピックを提供するタイミングを、強化学習、機械学習、深層学習などの人工知能技術により学習を進める。
【００５４】
そして、その学習によって得られたモデルに基づいて、提供するトピックとして何を選ぶか、あるいは、割り込んでトピックを提供すべきタイミングか否か、を判断する。
【００５５】
本実施例では、モデルの学習は、各ユーザのテキストチャットの履歴を管理するサーバ141側で行われる。なお、学習自体は、サーバ141自身が行う必要はなく、成功事例、失敗事例、中立事例にアクセス可能な他の人工知能機器を利用することもできる。
【００５６】
(トピック提供に関するモデル)
上記のように、サーバ141は、ユーザ同士のメッセージの送受の仲介をする。したがって、サーバ141は、現在の時点から見て各メッセージが送受されたのは何秒前か、および、各メッセージの送り元と宛先はそれぞれどのユーザか、を把握している。
【００５７】
本態様では、ユーザの交流をアシストするため、トピックを提供する。このため、
(a)現時点から見たメッセージの送受時点の時間分布に基いてトピックを提供すべきタイミングか否かを判定し、
(b)提供すべきタイミングと判定されたら、両ユーザに設定された属性に基づいてトピックメッセージを決める。
この両方について、上記の成功条件ならびに強化学習、機械学習、深層学習等の人工知能技術により、学習を進めることになる。
【００５８】
まず、トピックを提供すべきタイミングか否かをメッセージ送受時点の時間分布に基づいて判定するためのモデルについて説明する。なお、本態様においては、トピックを提供すべきか否かを確率的に判定し、ランダム性を持って、トピック提供による割り込みの可否を決めることができる。この場合には、実運用に入った後も学習を進め、モデルを更新することができる。
【００５９】
そして、トピックを提供すべきタイミングであると判定し、トピックを提供した後は、当該提供に係る事例を更なる学習のために用いる。すなわち、判定時点以前のメッセージの送受時刻の事前分布と、判定時点以後(あるいは、トピックメッセージ提示後)のメッセージの送受時刻の事後分布と、を対比して、成功条件が満たされるのであれば、トピック提供のタイミングの成功事例として採用することができる。
【００６０】
たとえば、ユーザA, Bの双方が何を相手に伝えて良いか分からず、メッセージを送らない場合には、時間の経過とともに、事前分布は時間方向に移動していき、直近一定期間の分布は、頻度が低下していく。また、ユーザA, Bの片方だけが一方的にメッセージを送り続けている場合には、直近一定期間の分布において、メッセージの発信元の割合が次第に偏っていく。
【００６１】
そこで、本態様では、このような事前分布の状況に応じてトピックを提供すべきタイミングか否かを判定するモデルを構築することで、適切なタイミングでユーザ同士の交流に割り込み、その交流を深めるように話題を転換させる。
【００６２】
割り込みについての成功条件については、上記の種々の態様を採用することもできる。すなわち、上記のような成功事例、失敗事例、中立事例に基づいて成功条件を定め、割り込みの可否を決めるモデルを構築することができる。
【００６３】
また、トピックメッセージの決定についても、両ユーザの属性と、提供したトピックメッセージの内容と、トピックメッセージの提供によって成功条件が満たされたか否か、に基づいて、モデルの学習を進めることができる。
【００６４】
上記のように、トピックメッセージの決定に際しては、サーバ141は、両ユーザの居住履歴、学歴、職歴、趣味、商品の購入履歴・レビュー履歴、旅行歴、SNSにおける投稿履歴等の属性を参照する。
【００６５】
なお、トピックメッセージについては、あらかじめ多数の候補を用意しておくとともに、最近人気の商品等の名称や、ウェブ検索で話題の言葉などを適宜収集して、提供可能な候補を増やしていく。
【００６６】
サーバ141は、両ユーザの属性に好適なトピックメッセージを決定し、両ユーザに提供する。最も単純には、サーバ141は、テキストチャットサービスを利用している任意のユーザに対応可能なように、各属性に応じたトピックをあらかじめ用意しておき、あるユーザ同士について割り込みをすべきと判定されると、当該ユーザ同士について共通する属性で、当該ユーザ同士に未だ提供していないトピックを所定の順序で、あるいは、ランダムに決定するモデルを採用することができる。
【００６７】
また、上述の通り、強化学習、機械学習、深層学習等の人工知能技術を応用してモデルの学習を進め、両ユーザの属性に基づいて、当該モデルを参照して、提供するトピックを決定することもできる。
【００６８】
決定したトピックを提供した後は、当該決定が成功事例か否かを判定して、モデルの学習をさらに進めることも可能である。このためには、当該ユーザ同士についての成功条件が満たされたか否かを当該ユーザ同士のメッセージの応答の事後分布等に基づいて判断した上で、成功事例、失敗事例、中立事例のいずれかに分類する。そして、当該ユーザ同士の属性および決定されたトピックメッセージの事例を、ここで分類された事例であると考えて、モデルの学習をさらに進める。
【００６９】
このように、本実施形態では、ユーザ同士の交流に割り込むべきか否か、割り込む際に提供すべきトピックはいずれにすべきか等を、当該テキストチャットサービスにおいて過去に行われたユーザおよびサーバ141の振舞いに基づいたモデルにより判断し、サーバ141がユーザ同士の交流に適切に働きかけることができる。以下では、端末121ならびにサーバ141における処理の詳細について説明する。
【００７０】
(端末処理)
図4は、本実施例において、端末にて実行される端末処理の流れを説明するフローチャートである。以下、本図を参照して説明する。
【００７１】
上記のように、本実施形態に係る端末処理は、スマートフォン等の端末コンピュータが端末プログラムを実行し、端末121として機能することによって実現される。
【００７２】
端末121は、端末処理が開始されると、端末121のユーザに、メッセージの送受をしようとする相手方を決定する(ステップS501)。相手方の決定は、端末121のユーザの選択によるものとしても良いし、サーバ141からの提案によるものとしても良いし、相手方からのテキストチャットの申し込みに基くものとしても良い。
【００７３】
ついで、端末121は、当該相手方とのテキストチャットに必要な各種の初期化を実行する(ステップS502)。この初期化に基いて、当該ユーザの端末121と、相手方の端末121と、がテキストチャットを始める旨が、サーバ141に登録される。
【００７４】
ステップS502では、画面表示も当該相手方向けに構成する。図5は、ユーザと相手方のテキストチャットが再開されたときの端末における表示例を示す説明図である。本図に示す例では、スマートフォンの画面601内の上方に相手方名欄602が配置され、相手方の名前が表示されている。また、本図に示す例は、以前に交流したことのある相手方とのテキストチャットが再開された時点の表示例に相当し、当該ユーザが相手方へ過去に送ったメッセージを表す送付履歴603と、当該ユーザが相手方から過去に受け付けたメッセージを表す受付履歴604と、が、画面601の左右に分かれて、吹き出し型のボックスに囲まれて表示されている。
【００７５】
画面下方には、当該ユーザから相手方へ送ろうとしているメッセージMを編集するための編集欄605と、編集の際に使用するソフトウェアキーボード606と、が表示されている。
【００７６】
また、編集欄605の隣りには、伝達オブジェクト607が配置されている。本図に示す例では、伝達オブジェクト607は無効化されている。したがって、伝達オブジェクト607をユーザがタップしても、相手方へメッセージが伝達されることはない。
【００７７】
初期化が終わると、端末121は、ユーザから指示がされたか調べる(ステップS503)。ユーザから編集指示がされている場合(ステップS503;編集)、当該編集指示の内容に基づいて、編集欄605に表示されるメッセージMを編集する(ステップS504)。ユーザは、ソフトウェアキーボード606を利用したり、編集欄605に直接タッチ等することで、編集欄605に対する文字の入力、削除、置換、カット、ペースト、カーソルの移動等、種々の編集指示を与えることができる。
【００７８】
その後、本実施例では、端末121は、編集欄605に表示されるメッセージMが非推奨か否かを、端末121に用意された辞書に基づいて判定する(ステップS505)。最も単純には、チャットにて発言すべきでない差別語や卑猥語などが登録されたブラック用語を辞書に用意しておき、この辞書に登録された用語がメッセージMに含まれていれば、非推奨と判定する。
【００７９】
非推奨でなければ(ステップS505;No)、端末121は、伝達オブジェクト607を有効化して相手方への伝達を可能にしてから(ステップS506)、制御をステップS521へ進める。図6は、ユーザが端末にて相手方へ伝達したいメッセージを入力したときの端末における表示例を示す説明図である。本図に示す例では、メッセージMとして「こんにちは」が編集欄605に入力されており、伝達オブジェクト607が有効表示されている。
【００８０】
有効化された伝達オブジェクト607がユーザによってタップされると、ユーザから端末121へ伝達指示が与えられることになる(ステップS503;伝達)。
【００８１】
すると、端末121は、
相手方のユーザと、
編集欄605に入力されているメッセージMと、
を指定する伝達要求203を、サーバ141へ送信し(ステップS508)、編集欄605ならびにソフトウェアキーボード606を無効化して編集を不可にし(ステップS509)、さらに、伝達オブジェクト607を無効化して伝達を不可にしてから(ステップS510)、現在メッセージMを相手方へ伝達しようとしていることをユーザに示す。
【００８２】
図7は、端末が相手方へメッセージを伝達しようとしているときの端末における表示例を示す説明図である。本図に示す例では、編集欄605、ソフトウェアキーボード606、伝達オブジェクト607が無効化され、メッセージMの編集や重複した伝達がされないようになっている。すなわち、編集欄605やソフトウェアキーボード606がタップ等されたとしても、ステップS503において編集指示が検知されることはない。
【００８３】
さらに本図では、付加的な要素として、端末121は、画面601に、現在メッセージMを相手方へ伝達しようとしていることをユーザに示すポップアップ609を表示している。ポップアップ609は、一定時間経過後に自動的に消去されることとしても良いし、ユーザの画面601タップによって消去されることとしても良い。なお、理解を容易にするため、ポップアップ609の消去処理については、図示を省略する。なお、ポップアップ609以外の手段により、ユーザに各種の状態を示しても良い。たとえば、ポップアップ609のかわりに画面601の上端や下端のステータスバーや通知バー等を用いることができる。
【００８４】
この後、端末121は、サーバ141から何らかの情報が送られてきているか調べる(ステップS521)。伝達要求203に呼応してメッセージMを相手方に伝達する処理が完了すると、サーバ141は端末121へ成功応答207を送る。
【００８５】
サーバ141から端末121へ送られた情報が成功応答207であれば(ステップS521;成功)、端末121は、送付履歴603へメッセージMを追加して(ステップS522)、編集欄605をクリアし(ステップS523)、編集欄605およびソフトウェアキーボード606を有効にして、メッセージの編集を可能とする(ステップS524)。
【００８６】
図8は、メッセージを相手方へ伝達する処理が完了したときの端末における表示例を示す説明図である。本図に示す例と図7に示す例とを比較すると、編集欄605内のメッセージ「こんにちは」が送付履歴603へ移動しており、編集欄605およびソフトウェアキーボード606が有効化されて新たなメッセージMが編集可能となっている。ただし、伝達オブジェクト607は、無効となったままである。
【００８７】
この後、端末121は処理をステップS503へ戻す。
【００８８】
一方、編集欄605に表示されるメッセージMが非推奨であれば(ステップS505;Yes)、端末121は、伝達オブジェクト607を無効化して、伝達を不可にする(ステップS542)。さらに、端末121は、付加的な機能として、編集欄605に入力されているメッセージMを推敲すべき旨を示すポップアップ609を、画面601に表示する(ステップS543)。そして、端末121は、ステップS503へ処理を戻す。なお、ステップS505, S542, S543は、端末121における計算負荷を低減する等の目的で、適宜省略することが可能である。
【００８９】
図9は、メッセージを推敲すべき旨をユーザに知らせるときの端末における表示例を示す説明図である。本図では、編集欄605にて「パソコン使うときはブラインドタッチ?」というメッセージMが編集中で、ポップアップ609で推敲を促しており、伝達オブジェクト607が無効になっている。このメッセージMには「ブラインド」という言葉が含まれているため、非推奨と判断されている。この後ユーザがメッセージMを編集することによって、メッセージMが非推奨でなくなれば、伝達オブジェクト607が有効になり、メッセージMを相手方に伝達することができるようになる。
【００９０】
さて、本実施形態では、サーバ141は、端末121に対して、メッセージMの推敲をすべき旨の推敲指令213を送ることがある。たとえば一方の端末121から他方の端末121にメッセージが送られて他方のユーザがその内容を確認するまで、他方の端末121からのメッセージを送るのを待機させた方が良い、とサーバ141が判断した場合である。
【００９１】
このほか、端末121においてメッセージMが非推奨な場合の処理(ステップS505, S542, S543)を省略した場合である。この場合には、メッセージMの内容が非推奨であるにもかかわらず、端末121からサーバ141へ伝達要求203が送信されてしまう。これに対応するため、サーバ141は、伝達要求203を受け付けると、当該伝達要求203に係るメッセージMが非推奨か否かを、種々の技術に基づいて判定し、非推奨であると判定された場合には、サーバ141は、伝達要求203に呼応して相手方にメッセージMを送ってしまうのではなく、端末121へ推敲指令213を送り返して再考させることが望ましい。
【００９２】
端末121が、サーバ141から推敲指令213を受信すると(ステップS521;推敲)、端末121は、編集欄605とソフトウェアキーボード606を有効化して編集を可能としてから(ステップS551)、制御をステップS542へ進める。したがって、ユーザから伝達指示が与えられた場合であっても、メッセージMが非推奨である場合には、相手方への伝達はされず、端末121は、ユーザへメッセージMを推敲するよう促すことになる。
【００９３】
このほか、サーバ141は、ユーザと相手方がスムースに交互にメッセージをやりとりする状況を作り出すため、端末121のユーザに対して、編集中のメッセージをさらに推敲するよう積極的に指示することがある。たとえば、ユーザからのメッセージを相手方に伝達するのは、相手方のメッセージが到着し、その内容を確認して推敲した後の方が望ましい、という状況である。
【００９４】
この場合には、端末121が伝達要求203をサーバ141へ送っていない場合であっても、ステップS521において、サーバ141から推敲指令213を受信することがありうる。
【００９５】
さて、サーバ141にて、メッセージMは非推奨でない、と判定された場合には、相手方の端末121へメッセージMが伝達できれば、サーバ141から端末121へ成功応答207が送られ、端末121では、ステップS522以降の処理が実行される。
【００９６】
ここで、相手方の端末121と通信ネットワークの間の不調や、相手方の端末121の電源オフ等によって、サーバ141から相手方の端末121までメッセージMが伝達できないことがある。このような場合には、サーバ141は、端末121へ成功応答207ではなく、失敗応答を送る。
【００９７】
この失敗応答を端末121が受信すると(ステップS521;失敗)、端末121は、メッセージが伝達できなかった旨を示すポップアップ609を表示し(ステップS561)、編集欄605とソフトウェアキーボード606を有効化して編集を可能としてから(ステップS562)、制御をステップS503に戻す。
【００９８】
図10は、メッセージが相手方へ伝達できなかったときの端末における表示例を示す説明図である。本図に示すように、ポップアップ609にはメッセージMの伝達ができなかった旨が表示されるとともに、メッセージMの編集が可能なように、編集欄605とソフトウェアキーボード606が有効になっているが、伝達オブジェクト607は無効化されたままになっている。この後、端末121にてメッセージMが編集されると、伝達オブジェクト607は有効化され、再度メッセージMを相手方へ伝達しようとする試行が可能となる。
【００９９】
また、ステップS503へ制御を戻すのではなく、ステップS502へ制御を戻し、相手方とのテキストチャットの初期化を再試行することとしても良い。初期化に成功した場合には、メッセージMを編集しなくとも、伝達オブジェクト607が有効化され、再度伝達を試みることができる。
【０１００】
ここまでは、端末121がメッセージの送り手側として動作する場合の処理を説明した。以下では、端末121がメッセージの受け手側として動作する場合の処理を説明する。
【０１０１】
端末121は、メッセージが指定された提示指令204を、サーバ141から受信する(ステップS521;提示)。提示指令に指定されるメッセージは、
相手方からのメッセージと、
サーバ141からのトピックメッセージと、
の2通りがありうる。
【０１０２】
すると、端末121は、提示指令204に指定されたメッセージを受付履歴604に追加する(ステップS552)。
【０１０３】
図11は、相手方からメッセージが伝達されたときの端末における表示例を示す説明図である。本図に示す例は、図8の後に相手方から新たなメッセージを受け付けた場合の表示例を示すもので、受付履歴604には、新たなメッセージ「お元気ですか?」が追加されている。
【０１０４】
図12は、サーバから話題が提供されたときの端末における表示例を示す説明図である。本図に示す例は、図11の後に、二人のチャットが進まなかったので、サーバ141が二人の交流をアシストするためにチャットに割り込んで、話題を提供したときの表示例をサーバ141から示すものである。画面に表示されるトピックメッセージは、端末121のユーザも相手方も以前に京都に住んでいたという共通属性を有することに応じたものであり、受付履歴604には、トピックメッセージ「京都の思い出の場所は?」が追加されている。
【０１０５】
なお、受付履歴604における吹き出し型のボックスの形状ならびに位置は、トピックメッセージと、相手方からのメッセージと、を区別するため、互いに異なるものとされている。
【０１０６】
このようにして、提示指令204に指定されたメッセージを画面601に表示した後、端末121は、メッセージをユーザに提示した旨を示す提示報告206をサーバ141へ送り(ステップS553)、制御をステップS503へ戻す。
【０１０７】
以上のように、端末121は、テキストチャットにおけるメッセージの処理を行うが、ユーザから他の指示がされた場合(ステップS503;その他)は、当該指示に対応する処理を実行して(ステップS591)、ステップS521へ進む。指示がない場合(ステップS503;なし)、端末121は、制御をステップS503へ戻す。
【０１０８】
サーバ141から端末121へ他の情報が送られている場合(ステップS521;その他)、端末121は、当該情報に対応する処理を実行し(ステップS594)、制御をステップS521へ進める。
【０１０９】
サーバ141からの情報が端末121に到着していない場合(ステップS521;なし)、端末121は、アイドル時処理を実行して(ステップS593)、制御をステップS503へ戻す。
【０１１０】
ステップS593のアイドル時処理としては、一定時間表示されたポップアップ609を消去する処理、現在の端末121の状態を間欠的にサーバ141に報告する処理等が含まれる。また、端末121で並行してバックグラウンド動作している他のアプリケーションプログラムに対して、一時的に制御を移す等の処理を実行しても良い。
【０１１１】
なお、後述するように、サーバ141は、サーバ141から端末121へ送られる推敲指令213に対して、伝達抑制時間、あるいは、伝達抑制期限をさらに指定することができる。これは、推敲指令213が端末121に到着してから伝達抑制時間が経過するまでの間、あるいは、伝達抑制期限に至るまでの間、編集欄605に入力されているメッセージMの内容にかかわらず、伝達オブジェクト607を無効化する、というものである。
【０１１２】
また、ポップアップ表示をすることで、伝達が抑制される時間を生じさせることも可能である。たとえば、「お相手からのメッセージが届いています。確認してください」や「お相手からのメッセージが届きそうです。確認してからメッセージを見直しましょう」などの内容を示すポップアップ609を画面に表示して、ユーザにポップアップ609を消すための操作([OK]ボタンをタップ、[Yes]/[No]を選択等。)をさせることで、ユーザにメッセージMの編集を促すことも可能である。
【０１１３】
推敲指令213に伝達抑制時間あるいは伝達抑制期限が指定されている場合は、上記の端末処理における制御フローにおいて、伝達抑制時間が経過するまでの間、あるいは、伝達抑制期限に至るまでの間は、伝達オブジェクト607を有効化して伝達を可能とする処理(ステップS506)をスキップすれば良い。
【０１１４】
また、推敲指令213に対して、相手方のメッセージがユーザに提示されるまで、伝達を抑制すべき旨をさらに指定することもできる。この場合は、推敲指令213が到着した後、サーバ141から提示指令204が到着するまでの間は、伝達オブジェクト607を有効化して伝達を可能とする処理(ステップS506)をスキップすることになる。
【０１１５】
(サーバ処理)
サーバコンピュータは、サーバプログラムを実行することによって、本実施形態に係るサーバ141として機能する。サーバ141の機能については、端末処理の説明においても言及したが、以下に整理して説明する。図13は、本実施例において、サーバにて実行されるサーバ処理の流れを示すフローチャートである。
【０１１６】
なお、以下のサーバ処理は、テキストチャットを開始しようとする2台の端末121において初期化(ステップS502)が行われ、当該2台の端末121がテキストチャット中である旨の登録がサーバ141にてなされることによって開始される。以下では、サーバ141において、当該登録された2台の端末のテキストチャットに係る処理に注目して説明をするが、サーバ141では、他の端末のペアについてのテキストチャット処理を並行して、あるいは、時分割処理により実行することも可能である。
【０１１７】
まず、サーバ141は、テキストチャット中の2台の端末121のいずれかから、情報が送られてきているか調べる(ステップS701)。
【０１１８】
2台の端末121のいずれかから、伝達要求203が送られてきていれば(ステップS701;伝達)、サーバ141は、伝達要求203に指定されたメッセージMが非推奨か否かを判定する(ステップS703)。
【０１１９】
メッセージMが非推奨でなければ(ステップS703;No)、サーバ141は、メッセージMの宛先(相手方)のユーザが使用する端末121へ、メッセージMを指定する提示指令を送信する(ステップS704)。
【０１２０】
そして、サーバ141は、宛先(相手方)の端末121からの提示報告が受信されるまで、一定時間を限度に待機する(ステップS705)。なお、この待機中には、サーバ141は、並行して、あるいは、時分割処理により、他の処理(たとえば、ステップS701以降の処理)を実行することができる。
【０１２１】
タイムアウトが生じた場合、すなわち、提示報告が受信されないまま一定時間が経過した場合(ステップS706;Yes)、サーバ141は、伝達要求203を送信してきた端末121に対して、失敗応答を送信し(ステップS707)、制御をステップS701に戻す。
【０１２２】
一方、提示報告が受信され、タイムアウトが生じなかった場合(ステップS706;No)、サーバ141は、伝達要求を送信してきた端末121に対して、成功応答を送信し(ステップS708)、制御をステップS701に戻す。
【０１２３】
メッセージMが非推奨であれば、(ステップS703;Yes)、サーバ141は、伝達要求を送信してきた端末121に対して、推敲指令213を送信し(ステップS709)、制御をステップS701に戻す。
【０１２４】
2台の端末121のいずれかから、その他の情報が送られてきていれば(ステップS701;その他)、対応する処理を実行して(ステップS721)、制御をステップS701に戻す。
【０１２５】
端末121から情報が送られてきていなければ(ステップS701;なし)、サーバ141は、2台の端末121の間で過去に送受されたメッセージの送受時刻(現在時刻基準)の事前分布を取得する(ステップS731)。そして、サーバ141は、取得された事前分布に基いて、学習されたモデルにより、2台の端末121の間に割り込むべきか否かを判定する(ステップS732)。
【０１２６】
割り込むべきと判定された場合(S732;Yes)、サーバ141は、2台の端末121のユーザの属性に基づいて、提供するトピックを、候補の中から決定する(ステップS733)。
【０１２７】
そして、サーバ141は、決定されたトピックに係るトピックメッセージTを指定する提示指令204を、2台の端末121の両方に送信する(ステップS734)。
【０１２８】
2台の端末121は、提示指令204を受信することに呼応して、サーバ141へ提示報告206を送信する。そこで、サーバ141は、提示指令204に呼応して2台の端末121からそれぞれ送信される提示報告206が到着するまで、所定時間待機する(ステップS735)。なお、この待機中は、サーバ141は、並行して、あるいは、時分割処理により、他の処理(たとえば、ステップS701以降の処理)を実行することができる。
【０１２９】
当該所定時間内に2台の端末121の両方から提示報告206が到着していれば、すなわち、タイムアウトが生じていなければ(ステップS736;No)、サーバ141は、制御をステップS701に戻す。
【０１３０】
一方、提示報告206の一方もしくは双方が到着しなかった場合、すなわち、タイムアウトが生じた場合(ステップS736;Yes)、提示報告206を受け取れなかった側の端末121との通信が不調であると考えられる。そこで、サーバ141は、2台の端末121において初期化(ステップS502)を再度実行させる試行を行い(ステップS737)、これに成功した場合(ステップS738;Yes)、サーバ141は、ステップS701へ制御を戻す。
【０１３１】
一方、2台の端末121にて初期化(ステップS502)を再実行する試行が失敗した場合(ステップS738;No)、2台の端末121の間のテキストチャットは継続できないこととなるため、サーバ141は、本処理を終了する。
【０１３２】
割り込むべきでないと判定された場合(S732;No)、サーバ141は、制御をステップS701に戻す。
【０１３３】
上記のようにして特定の2台の端末121間のメッセージの送受時刻の事前分布に基づいて割り込みを行った結果、当該送受時刻の事後分布がどのようになったか、については、上記の処理とは別個独立に収集し、収集した結果を失敗、成功、中立に分類することとすれば、トピックを提供するタイミングのモデルを更新するための事例を得ることができる。この場合、サーバ141は、得られた事例の分類に基づいて、適切な時期(たとえば、所定数の事例が新たに集められた時)に、モデルの再学習を行うことができる。
【０１３４】
(トピック提供時のお見合い防止)
上記の制御では、2台の端末121に対して、同時にトピックメッセージTを指定した提示指令204を送信していた。
【０１３５】
すると、2台の端末では、トピックメッセージTに誘導された2人のユーザは、トピックに対する相手方の反応を見ないまま、並行してメッセージの編集を開始することになる。
【０１３６】
このため、トピックメッセージTに誘導されて相手方へ伝達するメッセージの方向性が噛み合わなかったり、行き違いになったりすることがある。
【０１３７】
これを抑制するため、トピックメッセージTを指定した提示指令204を2台の端末121に送った後、一方の端末121からの伝達要求がサーバ141に到着しないうちに他方の端末121からの伝達要求がサーバ141に到着した場合には、当該一方の端末121へ、提示指令204とともに推敲指令213を送信することとしても良い。
【０１３８】
このような処理を行うと、当該一方の端末121では、当該他方の端末121からのメッセージが画面601に表示されるとともに、伝達オブジェクト607の無効化あるいはポップアップ609の表示により推敲が促されるため、ユーザは、伝達指示をすぐにすることができなくなる。
【０１３９】
したがって、当該一方の端末121を使用するユーザは、相手方から送られたメッセージを見ながら、自身のメッセージを推敲することが促される。このため、意図が噛み合ったメッセージのやりとりが促進されることになる。
【０１４０】
このほか、2台の端末121にて並行にメッセージが編集されている間に、2台の端末121から現在編集されているメッセージの内容を含む端末の状態をサーバ141へ報告することとしても良い。サーバ141は、この報告から、2台の端末121にて編集中のメッセージを取得することになる。
【０１４１】
この場合、サーバ141は、両ユーザの間で過去に送受されたメッセージの履歴と、編集中の2つのメッセージと、に基づいて、いずれか一方の端末121に対して推敲指令213を送信することとしても良い。
【０１４２】
すなわち、サーバ141は、2つの文脈のそれぞれについて、別途学習された文脈モデルを用いて、当該編集中のメッセージが非推奨な度合を表すスコアを計算する。
【０１４３】
文脈モデルは、提供されたトピックと、このトピックに対して両ユーザのうち先にされた返答と、の組み合わせを文脈とし、この事例をユーザ同士が成功条件を満たしたか否かによって、成功か失敗かを区分して、学習されたものである。また、文脈には、トピック提供以前にされたチャットの履歴を含むこととしても良い。
【０１４４】
日本語のように単語区切を明記しない言語においては、文脈を解析するにあたって、メッセージの形態素解析を行い、文脈を形態素列にした上で、文脈モデルの学習を行うことになる。
【０１４５】
また、文脈モデルでは、文脈を考慮するため、LSTM(Long-Short Term Memory)等の内部記憶を持つ回帰型ニューラルネットワーク(RNN; Recurrent Neural Network)等を利用することが望ましい。
【０１４６】
そして、サーバ141は、学習された文脈モデルに基づいて、
過去にやりとりされたテキストメッセージおよびトピックメッセージと、一方の端末121にて編集中のメッセージと、の文脈と、
過去にやりとりされたテキストメッセージおよびトピックメッセージと、他方の端末121にて編集中のメッセージと、の文脈と、
のスコアを計算する。そして、非推奨である程度が高い方の端末121にはサーバ141が推敲指令213を送信することができる。
【０１４７】
当該推敲指令213に対しては、相手方のメッセージがユーザに提示されるまで、伝達を抑制すべき旨を指定することが望ましい。これを指定すると、ユーザは、相手方のメッセージを見ながら、自身のメッセージを推敲することになる。このため、意図が噛み合った行き違いのないメッセージのやりとりが促進されることになる。
【０１４８】
また、トピックメッセージTを指定する提示指令204とともに推敲指令213を2台の端末121に送ることとし、その際に、2つの推敲指令213に伝達抑制期間、もしくは、伝達抑制期限に時間差を設けて指定することとしても良い。
【０１４９】
時間差を設けることにより、先に伝達可能となった側のユーザのメッセージが優先して相手方に提示されるため、後から伝達可能となる側のユーザは、提示された相手方からのメッセージを見ながら自身のメッセージを推敲することになる。このため、意図が噛み合ったメッセージのやりとりが促進されることになる。
【０１５０】
ここで設ける時間差は、あらかじめ定めた値(たとえば数秒乃至十数秒程度)とし、いずれの端末121を先行させるかは、ランダムに決めることとしても良い。また、時間差は、所定範囲(たとえば数秒乃至十数秒程度)内で、ランダムに決めることとしても良い。
【０１５１】
このほか、メッセージの事前分布において、一方のユーザからのメッセージが他方のユーザからのメッセージよりも偏っていれば、当該一方のユーザを遅らせるように時間差を設けることとしても良い。
【０１５２】
このように時間差を設けることで、一方的にメッセージを送っていたユーザよりもメッセージの受け手になってしまっていたユーザを優先させ、両者の対話ができるだけ対等に、交互に行われるように促すことができる。
【０１５３】
(まとめ)
本発明の実施形態に係るテキストチャットシステムは、
第1ユーザが使用する第1端末と、
第2ユーザが使用する第2端末と、
前記第1端末ならびに前記第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバと、
を備え、前記サーバは、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定し、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促し、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促し、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新する。
【０１５４】
また、本実施形態に係るテキストチャットシステムにおいて、前記サーバは、
前記サーバにより仲介済のテキストメッセージの送受の事前分布に基づいて、前記第1ユーザと前記第2ユーザとの間に割り込むべきか否かを、設定された基準により判定し、
割り込むべきと判定された場合に、前記トピックメッセージを決定する
ように構成することができる。
【０１５５】
また、本実施形態に係るテキストチャットシステムにおいて、
割り込むべきと判定された後に前記サーバにより仲介されたテキストメッセージの送受の事後分布に基づいて、前記設定された基準を更新する
ように構成することができる。
【０１５６】
また、本実施形態に係るテキストチャットシステムにおいて、
前記事前分布は、前記送受の日時の、現在時刻を基準時とする分布であり、
前記事後分布は、前記送受の日時の、前記トピックメッセージが決定された時刻を基準時とする分布であり、
前記設定された基準は確率的な基準である
ように構成することができる。
【０１５７】
また、本実施形態に係るテキストチャットシステムにおいて、
前記事前分布にくらべて、前記事後分布における送受の頻度ならびに交互性が向上していれば、前記基準において、前記事前分布に基づいて割り込むべきと判定する確率を上げる
ように構成することができる。
【０１５８】
また、本実施形態に係るテキストチャットシステムにおいて、
前記第1端末において、前記第1メッセージを前記第2端末に提示させるべき旨の前記第1ユーザからの第1伝達指示の受付に先行して、前記第2メッセージを前記第1端末に提示させるべき旨の前記第2端末における前記第2ユーザからの第2伝達指示の受付が検知されると、前記サーバは、前記第1端末に、
前記第2メッセージを提示させ、
前記提示された第2メッセージを参照して前記第1ユーザが前記第1メッセージを推敲するまで、前記第1伝達指示の受付を拒否させる
ように構成することができる。
【０１５９】
また、本実施形態に係るテキストチャットシステムにおいて、
前記トピックメッセージが前記第1端末と、前記第2端末と、により提示された後、前記サーバは、
前記第1端末において前記第1ユーザによりされている前記第1メッセージの第1スコアと、前記第2端末において前記第2ユーザによりされている前記第2メッセージの第2スコアと、を取得し、
前記取得された第1スコアが前記取得された第2スコアに劣っていれば、前記第2メッセージを前記第1端末に提示させるべき旨の前記第2端末における前記第2ユーザからの第2伝達指示の受付が
検知されると、前記サーバは、前記第1端末に、前記第2メッセージを提示させ、
検知されるまで、前記サーバは、前記第1端末に、前記提示された第2メッセージを参照して前記第1ユーザが前記第1メッセージを推敲するまで、前記第1メッセージを前記第2端末に提示させるべき旨の前記第1端末における前記第1ユーザからの第1伝達指示の受付を拒否させる
ように構成することができる。
【０１６０】
また、本実施形態に係るテキストチャットシステムにおいて、
前記トピックメッセージが前記第1端末と、前記第2端末と、により提示された後、前記サーバは、
前記第1メッセージを前記第2端末に提示させるべき旨の前記第1ユーザからの第1伝達指示の受付を前記第1端末にて許可する第1時点と、
前記第2メッセージを前記第1端末に提示させるべき旨の前記第2ユーザからの第2伝達指示の受付を前記第2端末にて許可する第2時点と、
に、時間差を定める
ように構成することができる。
【０１６１】
また、本実施形態に係るテキストチャットシステムにおいて、
前記サーバは、前記時間差を所定範囲内でランダムに定める
ように構成することができる。
【０１６２】
また、本実施形態に係るテキストチャットシステムにおいて、
前記サーバにより仲介済のテキストメッセージの送受の事前分布が、前記第1ユーザからテキストメッセージが送られることに偏っていれば、前記サーバは、前記第1時点を前記第2時点より遅らせ、
前記事前分布が、前記第2ユーザからテキストメッセージが送られることに偏っていれば、前記サーバは、前記第2時点を前記第1時点より遅らせる
ように構成することができる。
【０１６３】
本実施形態に係るテキストチャット方法は、
第1ユーザが使用する第1端末ならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバが実行するテキストチャット方法であって、前記サーバが、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定するステップ、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促すステップ、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促すステップ、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新するステップ
を備える。
【０１６４】
また、本実施形態に係るプログラムは、
第1ユーザが使用する第1端末ならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバコンピュータに、
学習されたモデルにより、前記第1ユーザの第1属性と、前記第2ユーザの第2属性と、に基づいて、トピックメッセージを決定する処理、
前記決定されたトピックメッセージを前記第1端末に提示させることにより、前記第1ユーザに、前記第2ユーザ宛の第1メッセージを前記第1端末へ入力するよう促す処理、
前記決定されたトピックメッセージを前記第2端末に提示させることにより、前記第2ユーザに、前記第1ユーザ宛の第2メッセージを前記第2端末へ入力するよう促す処理、
前記トピックメッセージを前記第1端末ならびに前記第2端末に提示させた後の前記第1ユーザと、前記第2ユーザと、の交流結果に基づいて、前記モデルを更新する処理
を実行させる。
【０１６５】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【０１６６】
本発明によれば、目的の関係を築くのに適切な話題を提示することが可能なテキストチャットシステム、テキストチャット方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１６７】
101 テキストチャットシステム
121 端末
141 サーバ
161 インターネット
201 編集指示
202 伝達指示
203 伝達要求
204 提示指令
205 メッセージの提示
206 提示報告
207 成功応答
213 推敲指令
601 画面
602 相手方名欄
603 送付履歴
604 受付履歴
605 編集欄
606 ソフトウェアキーボード
607 伝達オブジェクト
609 ポップアップ
【図１】
0006833938.tif 000002
【図２】
0006833938.tif 000003
【図３】
0006833938.tif 000004
【図４】
0006833938.tif 000005
【図５】
0006833938.tif 000006
【図６】
0006833938.tif 000007
【図７】
0006833938.tif 000008
【図８】
0006833938.tif 000009
【図９】
0006833938.tif 000010
【図１０】
0006833938.tif 000011
【図１１】
0006833938.tif 000012
【図１２】
0006833938.tif 000013
【図１３】
0006833938.tif 000014