(57)【特許請求の範囲】
【請求項１】
第1ユーザが使用する第1端末と、
第2ユーザが使用する第2端末と、
前記第1端末ならびに前記第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバと、
を備えるテキストチャットシステムであって、
前記第1端末は、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定し、
前記第1メッセージが非推奨でないと判定されれば、前記サーバは、前記第2端末に前記第1メッセージを提示させ、
前記第1メッセージが非推奨と判定されれば、前記サーバは、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定し、
前記文脈が非推奨でないと判定されれば、前記サーバは、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させ、
前記文脈が非推奨と判定されれば、前記第1端末は、前記第1メッセージの推敲を前記第1ユーザに促し、
前記第1ユーザと、前記第2ユーザと、が、所定の成功条件を満たしたか否かにより、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴に基づいて、前記第1モデルと、前記第2モデルと、が更新される
ことを特徴とするテキストチャットシステム。
【請求項２】
前記第1端末は、前記第1ユーザからの伝達指示の受付を、
(a)前記第1メッセージが非推奨でなければ、許可し、
(b)前記第1メッセージが非推奨であれば、
(b1)前記文脈が非推奨でなければ、許可し、
(b2)前記文脈が非推奨であれば、拒否し、
前記第1ユーザからの前記伝達指示の受付がされると、前記サーバは、前記第2端末に、前記第1メッセージを表示させる
ことを特徴とする請求項1に記載のテキストチャットシステム。
【請求項３】
前記第1端末は、前記第1端末が有する第1画面にて、
伝達オブジェクトを操作可能に表示することにより、前記受付を許可し、
前記伝達オブジェクトを隠し、もしくは、操作不可能に表示することにより、前記受付を拒否する
ことを特徴とする請求項2に記載のテキストチャットシステム。
【請求項４】
前記第1モデルと、前記第2モデルと、は、前記サーバによって更新され、
前記サーバにより前記更新された第1モデルは、前記第1端末に共有される
ことを特徴とする請求項1に記載のテキストチャットシステム。
【請求項５】
前記第1モデルでは、前記第1メッセージをN-gramにて切り出した結果に基いて、前記第1メッセージが非推奨か否かを判定する
ことを特徴とする請求項4に記載のテキストチャットシステム。
【請求項６】
前記第2モデルでは、前記履歴に含まれるテキストメッセージを形態素解析した結果と、前記第1メッセージを形態素解析した結果と、に基いて、前記第1メッセージが非推奨か否かを判定する
ことを特徴とする請求項4に記載のテキストチャットシステム。
【請求項７】
第1ユーザが使用する第1端末が、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定するステップと、
前記第1メッセージが非推奨でないと判定されれば、前記第1端末ならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバが、前記第2端末に前記第1メッセージを提示させるステップと、
前記第1メッセージが非推奨と判定されれば、前記サーバが、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定するステップと、
前記文脈が非推奨でないと判定されれば、前記サーバが、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させるステップと、
前記文脈が非推奨と判定されれば、前記第1端末が、前記第1メッセージの推敲を前記第1ユーザに促すステップと、
を備え、
前記第1ユーザと、前記第2ユーザと、が、所定の成功条件を満たしたか否かにより、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴に基づいて、前記第1モデルと、前記第2モデルと、が更新される
ことを特徴とするテキストチャット方法。
【請求項８】
第1ユーザが使用する第1コンピュータにより実行される端末プログラムと、
前記第1コンピュータならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバコンピュータにより実行されるサーバプログラムと、
を備えるシステムプログラムであって、
前記端末プログラムは、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定する処理を、前記第1コンピュータに実行させ、
前記サーバプログラムは、
前記第1メッセージが非推奨でないと判定されれば、前記第2端末に前記第1メッセージを提示させる処理を、前記サーバコンピュータに実行させ、
前記第1メッセージが非推奨と判定されれば、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定する処理を、前記サーバコンピュータに実行させ、
前記文脈が非推奨でないと判定されれば、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させる処理を、前記サーバコンピュータに実行させ、
前記端末プログラムは、前記文脈が非推奨と判定されれば、前記第1メッセージの推敲を前記第1ユーザに促す処理を、前記第1コンピュータに実行させ、
前記第1ユーザと、前記第2ユーザと、が、所定の成功条件を満たしたか否かにより、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴に基づいて、前記第1モデルと、前記第2モデルと、が更新される
ことを特徴とするシステムプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ同士の交流を深めるためのテキストチャットシステム、テキストチャット方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来から、通信ネットワークを用いてユーザ同士の交流を深めるシステムが提案されている。
【０００３】
たとえば、特許文献1(段落0010, 0225-0228)では、クライアント端末から送信されたメールの挨拶文等から語感を判定し、語感が「否定」である場合には、クライアント端末にこのままメールを送信して良いかどうかを照会することより、ユーザ間の誤解が生じることを抑制するメール送信システムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2010-56682号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、テキストチャットシステムによる交流においては1回のメッセージが短文であることも多く、相手方のメッセージから得られる情報は電子メールよりも少ないため、直前に送信されたメッセージ全文を見て不適切と判断しても、前後の文脈を考慮すれば、その判断が適切でない場合がある。
【０００６】
このような場合であってもユーザ同士の交流を深めるためには、テキストチャットシステムの特性を考慮した上でメッセージが適切か否かの判断精度を高めるための工夫が必要となる。
【０００７】
本発明は、上記のような課題を解決するもので、不適切なメッセージの送受を抑制するのに好適なテキストチャットシステム、テキストチャット方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明に係るテキストチャットシステムは、
第1ユーザが使用する第1端末と、
第2ユーザが使用する第2端末と、
前記第1端末ならびに前記第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバと、
を備え、
前記第1端末は、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定し、
前記第1メッセージが非推奨でないと判定されれば、前記サーバは、前記第2端末に前記第1メッセージを提示させ、
前記第1メッセージが非推奨と判定されれば、前記サーバは、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定し、
前記文脈が非推奨でないと判定されれば、前記サーバは、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させ、
前記文脈が非推奨と判定されれば、前記第1端末は、前記第1メッセージの推敲を前記第1ユーザに促し、
前記第1ユーザと、前記第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の働きかけが適切であったか否かを、成功条件に基づいて判定する。成功条件については、後述するように、種々の態様が考えられる。
【００３４】
(不適切なメッセージの送受の抑制)
以下では、不適切なメッセージの送受を抑制する様子について説明する。
【００３５】
不適切なメッセージの判断について、まず、直観的な例で説明する。キーボードを見ずにタイプができるタッチタイプの能力を表す用語として「ブラインドタッチ」という用語がある。この用語は、目の不自由な人を表す「ブラインド」が含まれる。このため、禁忌用語を単純に禁止する判定では、非推奨となる。
【００３６】
しかしながら、テキストチャットを行っている2人のユーザがコンピュータ業界の話題でチャットを重ねている場合等には、その文脈を考慮すれば、「ブラインドタッチ」は非推奨でない(使用しても良い)ことがありうる。
【００３７】
本態様では、単体のメッセージに着目した粗い判定を端末121で行い、そのメッセージまでに両者間でやりとりされた文脈を考慮した精細な判定をサーバ141で行う。図3および図4は、本実施例において、不適切なメッセージの送受が編集中に抑制される際の通信の様子を示す説明図である。以下、本図を参照して説明する。
【００３８】
端末Xは、ユーザAによってメッセージMが編集されている間、編集中のメッセージMの内容を判定する。そして、メッセージMの内容が非推奨に該当しうるものであれば、メッセージMを指定した問い合わせ211をサーバ141へ送る。
【００３９】
サーバ141は、メッセージMの内容と、ユーザA, B間で過去にされたテキストメッセージの送受の履歴と、を精査して、その文脈全体が非推奨か否かを判定する。そして、判定結果を指定した回答212を端末Xへ送る。図3では、文脈が非推奨である(Yes)旨の回答212が送られており、図4では、文脈が非推奨である(Yes)旨の回答212が送られている。
【００４０】
端末Xは、回答212に応じて、図4に示すように、ユーザAからの伝達指示を許可し、もしくは、図3に示すように、ユーザAからの伝達指示を拒否する設定を行う。
【００４１】
端末Xは、たとえば、画面において、伝達オブジェクトを不可視もしくは無効化することによって、ユーザAからの伝達指示を拒否することができる。
【００４２】
このため、ユーザAは、ユーザBへテキストメッセージを送るには、メッセージMを推敲しなければならないこととなる。
【００４３】
このようにして、メッセージMが、単体でも非推奨であり、これまでのテキストチャットの履歴を考慮しても非推奨であれば、ユーザAからユーザBへ伝達されることをあらかじめ抑制することができる。
【００４４】
なお、端末Xからサーバ141へ伝達要求203を送る際に、伝達要求203に指定されるメッセージMが非推奨に該当しうるか否かを端末Xにて判定した結果を付随させることとしても良い。以下では、伝達指示がされたメッセージMの送受が抑制される様子について説明する。図5は、本実施例において、不適切なメッセージの送受が送信後に抑制される際の通信の様子を示す説明図である。なお、図2と同様の処理については、適宜説明を省略する。
【００４５】
図3に示す例では、ユーザAによりメッセージMが編集されてサーバ141への問い合わせ211がされたがサーバ141からの回答212が未だ到着していない時間帯が存在する。また、メッセージ編集中の問い合わせおよび回答に基づく処理が省略される態様もありうる。
【００４６】
このような場合、メッセージMやその文脈が非推奨であるにもかかわらず、ユーザAから端末Xへ伝達指示202が与えられてしまうことがある。この場合、図5に示す態様では、端末Xは、伝達しようとするメッセージMの内容を判定した結果を調べる。そして、この判定結果において、メッセージMの内容が非推奨に該当しうるものであれば、その旨も合わせて伝達要求203に指定する。
【００４７】
サーバ141は、伝達要求203において、伝達要求203に指定されたメッセージMが非推奨に該当しうる旨が、合わせて伝達要求203に指定されていれば、サーバ141は、メッセージMの内容と、ユーザA, B間で過去にされたテキストメッセージの送受の履歴と、を精査して、その文脈全体が非推奨か否かを判定する。文脈が非推奨でないと判定された後は、図2と同様に処理が進む。
【００４８】
一方、非推奨であると判定された場合には、推敲指令213を端末Xへ送る。
【００４９】
推敲指令213を受けた端末Xは、それ以後、メッセージMが編集されるまで、ユーザAからの伝達指示を拒否する設定を行う。上記のように、端末Xは、画面において伝達オブジェクトを不可視もしくは無効化することによって、ユーザAから伝達指示を拒否することができる。
【００５０】
なお、推敲指令213を受けた場合、端末Xは、合わせて、メッセージMを推敲すべき旨をユーザAに対して提示することが望ましい。
【００５１】
伝達要求203に呼応して推敲指令213が受信されたということは、ユーザAには、メッセージMがユーザBへ伝達されなかったこと、ならびに、メッセージMおよび文脈が非推奨であった、ということになる。したがって、ユーザAがユーザBへテキストメッセージを送るには、ユーザAはメッセージMを推敲して内容を変更しなければならない。
【００５２】
このようにして、メッセージMが、単体でも非推奨であり、これまでのテキストチャットの履歴を考慮しても非推奨であれば、ユーザAからユーザBへ伝達されることをあらかじめ抑制することができる。
【００５３】
(成功条件)
上記のように、本実施例では、ユーザ間の交流が深まったか否かに基づいて、各種の判定を行う。以下では、ユーザ間の交流が深まったことを表す成功条件の一例について説明する。
【００５４】
本実施例に係るテキストチャットシステムが、交際相手や結婚相手を求めるユーザ同士を紹介するマッチングサービスである場合、ユーザAとユーザBとのマッチングに成功し、カップルが成立して退会した場合には、ユーザA, Bについて成功条件が満たされた、と考えることができる。したがって、ユーザA, Bのテキストチャットにおけるメッセージの履歴や、ユーザA, Bの交流に対して割り込んだタイミングは、成功事例のサンプルと考えることができる。
【００５５】
ユーザAから送られたメッセージMの後、ユーザBが返答をしなかったり、ユーザBがユーザAをブロックした場合には、成功条件は満たされず、当該事例は、失敗事例のサンプルと考えることができる。
【００５６】
また、テキストチャットシステムにおいて、メッセージの送受の頻度が高まった場合や交際が始まった場合には、成功条件が満たされた、と考えることができる。一方で、メッセージの送受の頻度がある程度以上低くなった場合や交際が中断した場合には、成功条件は満たされず、失敗事例に該当すると考えることができる。
【００５７】
本実施例では、テキストチャットシステムにおいて過去に交流をしたことがあるユーザの対のそれぞれについて、当該ユーザの交流が、成功事例に当たるのか、失敗事例に当たるのか、いずれともいえない中立事例に当たるのか、をあらかじめ分類する。そして、当該事例に基いて、メッセージ単体やメッセージの文脈等について、強化学習、機械学習、深層学習などの人工知能技術により学習を進める。
【００５８】
そして、その学習によって得られたモデルに基づいて、メッセージMが非推奨か否か、メッセージMを含む文脈が非推奨か否かを判断する。
【００５９】
本実施例では、モデルの学習は、各ユーザのテキストチャットの履歴を管理するサーバ141側で行われる。なお、学習自体は、サーバ141自身が行う必要はなく、成功事例、失敗事例、中立事例にアクセス可能な他の人工知能機器を利用することもできる。
【００６０】
(メッセージおよび文脈に関するモデル)
上記のように、端末XにおいてユーザAがメッセージMを編集している際に、端末Xは、メッセージMの内容をチェックする。この際に端末Xが利用するのは、第1モデルである。
【００６１】
第1モデルは、メッセージM単体の内容をチェックするためのもので、多数のユーザの間で過去に送受されたテキストメッセージの履歴に基づいて、メッセージMが、成功事例、失敗事例、中立事例のいずれに分類されるか、を判定するものであり、失敗事例に分類される場合に、メッセージMを、非推奨であると判定する。
【００６２】
最も単純には、第1モデルでは、各テキストメッセージからN-gramによる切り出しを行う。たとえば、日本語のように単語区切りを明記しない言語においては、L文字のテキストメッセージを文字単位のN-gramで切り出し、L-N+1個の断片を得る。英語のように単語区切りを明記する言語においては、L単語のテキストメッセージを単語単位のN-gramで切り出し、L-N+1個の断片を得る。
【００６３】
そして、この断片に基づいて第1モデルの学習を進める。すると、N-gramの断片が非推奨(失敗事例に該当する)か否かを判定する第1モデルが学習結果として得られる。
【００６４】
第1モデルは、比較的短い事例に基いているため、内部記憶を持たない順伝搬型ニューラルネットワーク、たとえば、畳み込みニューラルネットワーク(CNN; Convolutional Neural Network)等による学習を採用することができる。
【００６５】
すると、第1モデルとして、端末Xは、サーバ141から、非推奨のN-gram断片が登録された辞書をダウンロードすれば良いことになる。
【００６６】
このような第1モデルの容量は比較的小さく、その判定も単純である。したがって、計算資源に制限があるスマートフォン等でも軽快な処理が可能であると考えられる。
【００６７】
端末Xにおいて、メッセージMが第1モデルによって非推奨と判定されると、サーバ141は、メッセージMの作成ユーザAと、宛先ユーザBと、の間で過去になされたテキストチャットの履歴と、当該メッセージMと、からなる文脈が非推奨であるか否かを、第2モデルにより判定する。
【００６８】
第2モデルは、メッセージM単体での判定ではなく、メッセージMが最後に含まれる文脈に基いて判定を行う。
【００６９】
たとえば日本語のように単語区切を明記しない言語においては、文脈を解析するにあたって、メッセージの形態素解析を行い、文脈を形態素列にした上で、第2モデルの学習を行うことが望ましい。
【００７０】
また、第2モデルでは、文脈を考慮するため、LSTM(Long-Short Term Mmory)等の内部記憶を持つ回帰型ニューラルネットワーク(RNN; Recurrent Neural Network)等を利用することが望ましい。
【００７１】
したがって、一般には、第2モデルの学習に要する時間は長くなり、第2モデルのサイズも大きく、第2モデルによる判定を行うために必要なデータも多く、判定処理も重くなる。
【００７２】
本実施例では、端末XにてメッセージMが非推奨に該当しうるか否かを粗く判定した後、非推奨に該当しうると判定されてから、サーバ141において、文脈も考慮した上で精度を上げて判定する。
【００７３】
このように、2つのモデルの弁別の精度を異なるものとするには、学習の際に利用する「非推奨」の事例と、「非推奨でない」の事例と、の割合を異なるものとすれば良い。たとえば、第1モデルの学習においては、失敗事例と中立事例を「非推奨」とし、成功事例を「非推奨でない」とする一方で、第2モデルの学習においては、失敗事例を「非推奨」とし、成功事例と中立事例を「非推奨でない」とすることができる。
【００７４】
なお、上記説明では、第1モデルではCNNを、第2モデルではRNNを、それぞれ例としてあげているが、他のニューラルネットワークを採用することも可能である。
【００７５】
(端末処理)
図6は、本実施例において、端末にて実行される端末処理の流れを説明するフローチャートである。以下、本図を参照して説明する。
【００７６】
上記のように、本実施形態に係る端末処理は、スマートフォン等の端末コンピュータが端末プログラムを実行し、端末121として機能することによって実現される。
なお、以下の説明では、画面内に各種のオブジェクトを配置し、当該オブジェクトの有効/無効を切り換えてユーザの操作を可能/不可能としたり、ユーザに各種情報を知らせるためポップアップ表示を利用したりしているが、これらに対する画面表示への反映は、適宜省略しても良い。
また、オブジェクト自体の有効/無効の切り替えがされても、画面内での当該オブジェクトの表示の反映は、ある程度の時間だけ遅延させることとしても良い。このようにすれば、オブジェクトが無効である時間がごく短時間である場合にはオブジェクトの表示の切り替えを省略して、画面表示のちらつきを防止することができる。
ポップアップ表示についても同様に、ユーザの操作がされないアイドル時間が一定時間長を超えてから初めて表示をする等としても良い。
【００７７】
端末121は、端末処理が開始されると、端末121のユーザに、メッセージの送受をしようとする相手方を決定する(ステップS501)。相手方の決定は、端末121のユーザの選択によるものとしても良いし、サーバ141からの提案によるものとしても良いし、相手方からのテキストチャットの申し込みに基くものとしても良い。
【００７８】
ついで、端末121は、当該相手方とのテキストチャットに必要な各種の初期化を実行する(ステップS502)。この初期化に基いて、当該ユーザの端末121と、相手方の端末121と、がテキストチャットを始める旨が、サーバ141に登録される。
【００７９】
さらに、ステップS502では、テキストチャットに係る種々の情報が画面に表示される。図7は、ユーザと相手方のテキストチャットが再開されたときの端末における表示例を示す説明図である。本図に示す例では、スマートフォンの画面601内の上方に相手方名欄602が配置され、相手方の名前が表示されている。また、本図に示す例は、以前に交流したことのある相手方とのテキストチャットが再開された時点の表示例に相当し、当該ユーザが相手方へ過去に送ったメッセージを表す送付履歴603と、当該ユーザが相手方から過去に受け付けたメッセージを表す受付履歴604と、が、画面601の左右に分かれて、吹き出し型のボックスに囲まれて表示されている。
【００８０】
画面下方には、当該ユーザから相手方へ送ろうとしているメッセージMを編集するための編集欄605と、編集の際に使用するソフトウェアキーボード606と、が表示されている。
【００８１】
また、編集欄605の隣りには、伝達オブジェクト607が配置されている。本図に示す例では、伝達オブジェクト607は無効化されている。したがって、伝達オブジェクト607をユーザがタップしても、相手方へメッセージが伝達されることはない。
【００８２】
初期化が終わると、端末121は、ユーザから指示がされたか調べる(ステップS503)。ユーザから編集指示がされている場合(ステップS503;編集)、当該編集指示の内容に基づいて、編集欄605に表示されるメッセージMを編集する(ステップS504)。ユーザは、ソフトウェアキーボード606を利用したり、編集欄605に直接タッチ等することで、編集欄605に対する文字の入力、削除、置換、カット、ペースト、カーソルの移動等、種々の編集指示を与えることができる。
【００８３】
その後、端末121は、第1モデルに基いて、編集欄605に表示されるメッセージMが非推奨か否かを判定する(ステップS505)。非推奨でなければ(ステップS505;No)、端末121は、伝達オブジェクト607を有効化して相手方への伝達を可能にしてから(ステップS506)、制御をステップS521へ進める。図8は、ユーザが端末にて相手方へ伝達したいメッセージを入力したときの端末における表示例を示す説明図である。本図に示す例では、メッセージMとして「こんにちは」が編集欄605に入力されており、伝達オブジェクト607が有効表示されている。
【００８４】
有効化された伝達オブジェクト607がユーザによってタップされると、ユーザから端末121へ伝達指示が与えられることになる(ステップS503;伝達)。
【００８５】
すると、端末121は、
相手方のユーザと、
編集欄605に入力されているメッセージMと、
ステップS505にてなされたメッセージMの第1モデルに基づく最新の判定結果と、
を指定する伝達要求203を、サーバ141へ送信し(ステップS508)、編集欄605ならびにソフトウェアキーボード606を無効化して編集を不可にし(ステップS509)、さらに、伝達オブジェクト607を無効化して伝達を不可にしてから(ステップS510)、現在メッセージMを相手方へ伝達しようとしていることをユーザに示す。
【００８６】
図9は、端末が相手方へメッセージを伝達しようとしているときの端末における表示例を示す説明図である。本図に示す例では、編集欄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)。
【００９０】
図10は、メッセージを相手方へ伝達する処理が完了したときの端末における表示例を示す説明図である。本図に示す例と図9に示す例とを比較すると、編集欄605内のメッセージ「こんにちは」が送付履歴603へ移動しており、編集欄605およびソフトウェアキーボード606が有効化されて新たなメッセージMが編集可能となっている。ただし、伝達オブジェクト607は、無効となったままである。
【００９１】
この後、端末121は処理をステップS503へ戻す。
【００９２】
本実施形態では、このようにして、非推奨でないメッセージが、端末121から相手方へ伝達される。
【００９３】
一方、編集欄605に表示されるメッセージMが第1モデルに基いて非推奨であれば(ステップS505;Yes)、端末121は、サーバ141へ、メッセージMと、当該ユーザと、相手方と、を、指定する問い合わせ211を送信する(ステップS531)。そして、端末121は、ステップS521へ処理を進める。
【００９４】
サーバ141は、端末121からの問い合わせ211を受信すると、
当該問い合わせ211に係るメッセージ編集中のユーザと、当該問い合わせ211に係るメッセージMの宛先となる相手方と、の間で過去に送受されたメッセージの履歴と、
当該問い合わせ211に係るメッセージMと、
の文脈が非推奨か否かを、第2モデルに基づいて判定する。
【００９５】
そして、サーバ141は、判定の結果を表す回答212を端末121へ送信する。
【００９６】
端末121がサーバ141から回答212を受信し(ステップS521;回答)、当該受信された回答212に文脈が非推奨である旨が指定されていれば(ステップS541;Yes)、端末121は、伝達オブジェクト607を無効化して、伝達を不可にする(ステップS542)。さらに、端末121は、付加的な機能として、編集欄605に入力されているメッセージMを推敲すべき旨を示すポップアップ609を、画面601に表示する(ステップS543)。そして、端末121は、ステップS503へ処理を戻す。
【００９７】
図11は、メッセージを推敲すべき旨をユーザに知らせるときの端末における表示例を示す説明図である。本図では、編集欄605にて「パソコン使うときはブラインドタッチ?」というメッセージMが編集中で、ポップアップ609で推敲を促しており、伝達オブジェクト607が無効になっている。この後ユーザがメッセージMを編集することによって、メッセージMが非推奨でなくなれば、伝達オブジェクト607が有効になり、メッセージMを相手方に伝達することができるようになる。
【００９８】
一方、受信された回答212に文脈が非推奨でない旨が指定されていれば(ステップS541;No)、端末121は、伝達オブジェクト607を有効化して伝達を可能としてから(ステップS545)、ステップS503へ制御を戻す。
【００９９】
上記の制御では、ステップS505, S531, S521, S541, S542に係る処理の流れの通り、端末121がサーバ141へメッセージMに関する問い合わせを送信してから、端末121がサーバ141から回答を受信するまでは、伝達オブジェクト607は有効なままである。このため、メッセージMの内容が非推奨であるにもかかわらず、端末121からサーバ141へ、非推奨なメッセージMを伴う伝達要求203が送信されてしまうことがありうる。
【０１００】
これを防止するため、端末121から問い合わせをした後は、サーバ141からの回答が到着するまで、伝達オブジェクト607を無効とすることも可能である。この場合は、メッセージMが非推奨でないことが端末121およびサーバ141で確認されて初めて伝達オブジェクト607が有効となるので、非推奨なメッセージをユーザが送ることはできなくなる。
【０１０１】
しかしながら、サーバ141からの回答がインターネット161の中で消失してしまったり遅延してしまうことがありうる。この場合、伝達オブジェクト607が長時間無効となってしまい、ユーザインターフェース上の問題が生じうる。このため、端末121から問い合わせをした後、一定のタイムアウト時間が経過しても回答が到着しなければ、伝達オブジェクト607を有効化してしまうこととしても良い。なお、この場合にも、メッセージMの内容が非推奨であるにもかかわらず、端末121からサーバ141へ、非推奨なメッセージMを伴う伝達要求203が送信されてしまうことがありうる。
【０１０２】
そこで、メッセージMの内容が非推奨であるにもかかわらず、伝達要求203が送信されてしまった場合であっても、非推奨なメッセージMが相手方に伝わらないようにするには、本実施形態に示すように、以下のような構成を採用することができる。すなわち、端末121は、伝達要求203に、相手方宛のメッセージを指定するほか、第1モデルに基づいて当該メッセージが非推奨か否かを当該端末121が判定した結果も指定する。
【０１０３】
伝達要求203に、端末121がメッセージMを非推奨と判定した旨が指定されている、ということは、端末121から問い合わせをしたにもかかわらず、サーバ141からの回答が到着しないうちに、伝達要求203が送信されてしまった、あるいは、タイムアウトが生じたことを意味する。
そこで、この場合には、端末121からの問い合わせ211があった場合と同様に、サーバ141は、
メッセージMを伝達しようとしているユーザと、メッセージMの宛先となる相手方と、の間で過去に送受されたメッセージの履歴と、
当該伝達要求203に係るメッセージMと、
の文脈が非推奨か否かを、第2モデルに基づいて判定する。
【０１０４】
そして、非推奨であると判定された場合には、サーバ141は、伝達要求203に呼応して、端末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に戻す。
【０１１１】
図12は、メッセージが相手方へ伝達できなかったときの端末における表示例を示す説明図である。本図に示すように、ポップアップ609にはメッセージMの伝達ができなかった旨が表示されるとともに、メッセージMの編集が可能なように、編集欄605とソフトウェアキーボード606が有効になっているが、伝達オブジェクト607は無効化されたままになっている。この後、端末121にてメッセージMが編集されると、伝達オブジェクト607は有効化され、再度メッセージMを相手方へ伝達しようとする試行が可能となる。
【０１１２】
また、ステップS503へ制御を戻すのではなく、ステップS502へ制御を戻し、相手方とのテキストチャットの初期化を再試行することとしても良い。初期化に成功した場合には、メッセージMを編集しなくとも、伝達オブジェクト607が有効化され、再度伝達を試みることができる。
【０１１３】
ここまでは、端末121がメッセージの送り手側として動作する場合の処理を説明した。以下では、端末121がメッセージの受け手側として動作する場合の処理を説明する。
【０１１４】
端末121は、メッセージが指定された提示指令204を、サーバ141から受信する(ステップS521;提示)。提示指令に指定されるメッセージは、相手方から送られたメッセージである。
【０１１５】
すると、端末121は、提示指令204に指定されたメッセージを受付履歴604に追加する(ステップS552)。
【０１１６】
図13は、相手方からメッセージが伝達されたときの端末における表示例を示す説明図である。本図に示す例は、図10の後に相手方から新たなメッセージを受け付けた場合の表示例を示すもので、受付履歴604には、新たなメッセージ「お元気ですか?」が追加されている。
【０１１７】
このようにして、提示指令204に指定されたメッセージを画面601に表示した後、端末121は、メッセージをユーザに提示した旨を示す提示報告206をサーバ141へ送り(ステップS553)、制御をステップS503へ戻す。
【０１１８】
以上のように、端末121は、テキストチャットにおけるメッセージの処理を行うが、ユーザから他の指示がされた場合(ステップS503;その他)は、当該指示に対応する処理を実行して(ステップS591)、ステップS521へ進む。指示がない場合(ステップS503;なし)、端末121は、制御をステップS521へ進める。
【０１１９】
サーバ141から端末121へ他の情報が送られている場合(ステップS521;その他)、端末121は、当該情報に対応する処理を実行し(ステップS592)、制御をステップS503へ戻す。
【０１２０】
サーバ141からの情報が端末121に到着していない場合(ステップS521;なし)、端末121は、アイドル時処理を実行して(ステップS593)、制御をステップS503へ戻す。
【０１２１】
ステップS593のアイドル時処理としては、一定時間表示されたポップアップ609を消去する処理、現在の端末121の状態を間欠的にサーバ141に報告する処理等が含まれる。また、端末121で並行してバックグラウンド動作している他のアプリケーションプログラムに対して、一時的に制御を移す等の処理を実行しても良い。
【０１２２】
なお、後述するように、サーバ141は、サーバ141から端末121へ送られる推敲指令213に対して、伝達抑制時間、あるいは、伝達抑制期限をさらに指定することができる。これは、推敲指令213が端末121に到着してから伝達抑制時間が経過するまでの間、あるいは、伝達抑制期限に至るまでの間、編集欄605に入力されているメッセージMの内容にかかわらず、伝達オブジェクト607を無効化する、というものである。
【０１２３】
推敲指令213に伝達抑制時間あるいは伝達抑制期限が指定されている場合は、上記の端末処理における制御フローにおいて、伝達抑制時間が経過するまでの間、あるいは、伝達抑制期限に至るまでの間は、伝達オブジェクト607を有効化して伝達を可能とする処理(ステップS506, S545)をスキップすれば良い。
【０１２４】
また、推敲指令213に対して、相手方のメッセージがユーザに提示されるまで、伝達を抑制すべき旨をさらに指定することもできる。この場合は、推敲指令213が到着した後、サーバ141から提示指令204が到着するまでの間は、伝達オブジェクト607を有効化して伝達を可能とする処理(ステップS506, S545)をスキップすることになる。
【０１２５】
(サーバ処理)
サーバコンピュータは、サーバプログラムを実行することによって、本実施形態に係るサーバ141として機能する。サーバ141の機能については、端末処理の説明においても言及したが、以下に整理して説明する。図14は、本実施例において、サーバにて実行されるサーバ処理の流れをフローチャートである。
【０１２６】
なお、以下のサーバ処理は、テキストチャットを開始しようとする2台の端末121において初期化(ステップS502)が行われ、当該2台の端末121がテキストチャット中である旨の登録がサーバ141にてなされることによって開始される。以下では、サーバ141において、当該登録された2台の端末のテキストチャットに係る処理に注目して説明をするが、サーバ141では、他の端末のペアについてのテキストチャット処理を並行して、あるいは、時分割処理により実行することも可能である。
【０１２７】
まず、サーバ141は、テキストチャット中の2台の端末121のいずれかから、情報が送られてきているか調べる(ステップS701)。
【０１２８】
2台の端末121のいずれかから、伝達要求203が送られてきていれば(ステップS701;伝達)、伝達要求203に指定されたメッセージMが第1モデルに基き発信元端末121にて非推奨に該当しうると判定されたか否かを、伝達要求203に指定された内容に基づいて判定する(ステップS702)。
【０１２９】
非推奨に該当すれば(ステップS702;Yes)、サーバ141は、登録された2台の端末121のユーザの間で過去に送受されたメッセージの履歴と、伝達要求203に係るメッセージMと、の文脈が非推奨か否かを、第2モデルに基づいて判定する(ステップS703)。
【０１３０】
第1モデルに基づく判定においてメッセージが非推奨でない(ステップS702;No)、あるいは、第2モデルに基く判定において文脈が非推奨でなければ(ステップ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に戻す。
【０１３４】
第2モデルに基く判定において文脈が非推奨であれば、(ステップS703;Yes)、サーバ141は、伝達要求を送信してきた端末121に対して、推敲指令を送信し(ステップS709)、制御をステップS701に戻す。
【０１３５】
一方、2台の端末121のいずれかから、問い合わせ211が送られてきていれば(ステップS701;問合せ)、サーバ141は、登録された2台の端末121のユーザの間で過去に送受されたメッセージの履歴と、問い合わせ211に係るメッセージMと、の文脈が非推奨か否かを、ステップS703と同様に、第2モデルに基づいて判定する(ステップS711)。
【０１３６】
文脈が非推奨であれば(ステップS711;Yes)、サーバ141は、その旨を指定する回答を、問い合わせ211を送信してきた端末121へ送信して(ステップS712)、制御をステップS701に戻す。
【０１３７】
文脈が非推奨でなければ(ステップS711;No)、サーバ141は、その旨を指定する回答を、問い合わせ211を送信してきた端末121へ送信して(ステップS713)、制御をステップS701に戻す。
【０１３８】
2台の端末121のいずれかから、その他の情報が送られてきていれば(ステップS701;その他)、対応する処理を実行して(ステップS721)、制御をステップS701に戻す。
【０１３９】
端末121から情報が送られてきていなければ(ステップS701;なし)、サーバ141は、制御をステップS701に戻す。
【０１４０】
(まとめ)
以上説明したように、本実施形態に係るテキストチャットシステムは、
第1ユーザが使用する第1端末と、
第2ユーザが使用する第2端末と、
前記第1端末ならびに前記第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバと、
を備えるテキストチャットシステムであって、
前記第1端末は、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定し、
前記第1メッセージが非推奨でないと判定されれば、前記サーバは、前記第2端末に前記第1メッセージを提示させ、
前記第1メッセージが非推奨と判定されれば、前記サーバは、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定し、
前記文脈が非推奨でないと判定されれば、前記サーバは、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させ、
前記文脈が非推奨と判定されれば、前記第1端末は、前記第1メッセージの推敲を前記第1ユーザに促し、
前記第1ユーザと、前記第2ユーザと、が、所定の成功条件を満たしたか否かにより、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴に基づいて、前記第1モデルと、前記第2モデルと、が更新される。
【０１４１】
また、本テキストチャットシステムにおいて、
前記第1端末は、前記第1ユーザからの伝達指示の受付を、
(a)前記第1メッセージが非推奨でなければ、許可し、
(b)前記第1メッセージが非推奨であれば、
(b1)前記文脈が非推奨でなければ、許可し、
(b2)前記文脈が非推奨であれば、拒否し、
前記第1ユーザからの前記伝達指示の受付がされると、前記サーバは、前記第2端末に、前記第1メッセージを表示させる
ように構成することができる。
【０１４２】
また、本テキストチャットシステムにおいて、
前記第1端末は、前記第1端末が有する第1画面にて、
伝達オブジェクトを操作可能に表示することにより、前記受付を許可し、
前記伝達オブジェクトを隠し、もしくは、操作不可能に表示することにより、前記受付を拒否する
ように構成することができる。
【０１４３】
また、本テキストチャットシステムにおいて、
前記第1モデルと、前記第2モデルと、は、前記サーバによって更新され、
前記サーバにより前記更新された第1モデルは、前記第1端末に共有される
ように構成することができる。
【０１４４】
また、本テキストチャットシステムにおいて、
前記第1モデルでは、前記第1メッセージをN-gramにて切り出した結果に基いて、前記第1メッセージが非推奨か否かを判定する
ように構成することができる。
【０１４５】
また、本テキストチャットシステムにおいて、
前記第2モデルでは、前記履歴に含まれるテキストメッセージを形態素解析した結果と、前記第1メッセージを形態素解析した結果と、に基いて、前記第1メッセージが非推奨か否かを判定する
ように構成することができる。
【０１４６】
本実施形態に係るテキストチャット方法は、
第1ユーザが使用する第1端末が、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定するステップと、
前記第1メッセージが非推奨でないと判定されれば、前記第1端末ならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバが、前記第2端末に前記第1メッセージを提示させるステップと、
前記第1メッセージが非推奨と判定されれば、前記サーバが、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定するステップと、
前記文脈が非推奨でないと判定されれば、前記サーバが、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させるステップと、
前記文脈が非推奨と判定されれば、前記第1端末が、前記第1メッセージの推敲を前記第1ユーザに促すステップと、
を備え、
前記第1ユーザと、前記第2ユーザと、が、所定の成功条件を満たしたか否かにより、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴に基づいて、前記第1モデルと、前記第2モデルと、が更新される。
ように構成することができる。
【０１４７】
本実施形態に係るシステムプログラムは、
第1ユーザが使用する第1コンピュータにより実行される端末プログラムと、
前記第1コンピュータならびに第2ユーザが使用する第2端末と通信し、前記第1ユーザと前記第2ユーザとの間で送受されるテキストメッセージを仲介するサーバコンピュータにより実行されるサーバプログラムと、
を備えるシステムプログラムであって、
前記端末プログラムは、前記第1ユーザから入力された第1メッセージが、第1モデルに基いて非推奨か否かを判定する処理を、前記第1コンピュータに実行させ、
前記サーバプログラムは、
前記第1メッセージが非推奨でないと判定されれば、前記第2端末に前記第1メッセージを提示させる処理を、前記サーバコンピュータに実行させ、
前記第1メッセージが非推奨と判定されれば、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴と、前記第1メッセージと、の文脈が、第2モデルに基いて非推奨か否かを判定する処理を、前記サーバコンピュータに実行させ、
前記文脈が非推奨でないと判定されれば、前記第2ユーザが使用する前記第2端末に前記第1メッセージを提示させる処理を、前記サーバコンピュータに実行させ、
前記端末プログラムは、前記文脈が非推奨と判定されれば、前記第1端末が、前記第1メッセージの推敲を前記第1ユーザに促す処理を、前記第1コンピュータに実行させ、
前記第1ユーザと、前記第2ユーザと、が、所定の成功条件を満たしたか否かにより、前記第1ユーザと、前記第2ユーザと、の間で仲介したテキストメッセージの履歴に基づいて、前記第1モデルと、前記第2モデルと、が更新される。
【０１４８】
本実施形態に係る端末プログラムと、本実施形態に係るサーバプログラムと、は、それぞれ独立して、非一時的な情報記録媒体に記録したり、配布したり、販売したり、等が可能である。
【０１４９】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【０１５０】
本発明によれば、不適切なメッセージの送受を抑制するのに好適なテキストチャットシステム、テキストチャット方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１５１】
101 テキストチャットシステム
121 端末
141 サーバ
161 インターネット
201 編集指示
202 伝達指示
203 伝達要求
204 提示指令
205 メッセージの提示
206 提示報告
207 成功応答
211 問い合わせ
212 回答
213 推敲指令
601 画面
602 相手方名欄
603 送付履歴
604 受付履歴
605 編集欄
606 ソフトウェアキーボード
607 伝達オブジェクト
609 ポップアップ
【図１】
0006833937.tif 000002
【図２】
0006833937.tif 000003
【図３】
0006833937.tif 000004
【図４】
0006833937.tif 000005
【図５】
0006833937.tif 000006
【図６】
0006833937.tif 000007
【図７】
0006833937.tif 000008
【図８】
0006833937.tif 000009
【図９】
0006833937.tif 000010
【図１０】
0006833937.tif 000011
【図１１】
0006833937.tif 000012
【図１２】
0006833937.tif 000013
【図１３】
0006833937.tif 000014
【図１４】
0006833937.tif 000015