(57)【要約】【課題】伝えたい内容が正確に伝わらないという不便を解消することのできるチャットシステム、チャット方法、およびプログラムを提供する。【解決手段】文字列修正データ記憶部は、入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて記憶する。修正処理部は、前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定する。フロントエンド処理部は、前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換する。チャット処理部は、前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送する。【選択図】図１
2019200477.tif 000002
【特許請求の範囲】
【請求項１】
入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて記憶する文字列修正データ記憶部と、
前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定する修正処理部と、
前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換するフロントエンド処理部と、
前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送するチャット処理部と、
を具備するチャットシステム。
【請求項２】
前記フロントエンド処理部は、前記修正処理部によって特定された前記修正候補文字列で前記チャットのテキストに含まれる前記入力文字列を置換するか否かを前記端末装置に問い合わせ、前記端末装置から肯定的な応答が得られた場合にのみ前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換する、
請求項１に記載のチャットシステム。
【請求項３】
前記フロントエンド処理部が前記チャットのテキストに含まれる前記入力文字列を置換するか否かを前記端末装置に問い合わせた結果として、前記端末装置から肯定的な応答が得られたか否定的な応答が得られたかに応じて、前記文字列修正データ記憶部を更新する文字列修正データ更新部、
をさらに具備する請求項２に記載のチャットシステム。
【請求項４】
入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて予め文字列修正データ記憶部に記憶させておき、
修正処理部が、前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定し、
フロントエンド処理部が、前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換し、
チャット処理部が、前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送する、
チャット方法。
【請求項５】
入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて記憶する文字列修正データ記憶部、
を具備するコンピューターを、
前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定する修正処理部と、
前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換するフロントエンド処理部と、
前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送するチャット処理部と、
を具備するチャットシステムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チャットシステム、チャット方法、およびプログラムに関する。
【背景技術】
【０００２】
端末装置等を用いて、ユーザー間でチャット形式のコミュニケーションを行うことがますます普及してきている。日常のユーザー間のコミュニケーションでは、例えば電話通話よりもチャット形式のコミュニケーションのほうがよく用いられている。また、企業と顧客との間のコミュニケーションにおいても、チャット形式のコミュニケーションが多用されるようになってきている。
【０００３】
特許文献１には、アドバイザーからユーザーへの提案を管理するシステムが記載されている。この文献に記載されたシステムにおいても、テキストチャットの機能が用いられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−０３７０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
チャットは、単純且つわかりやすいユーザーインターフェースで実現されるため、あらゆる層のユーザーに受け入れられやすい。その反面、チャットは、ユーザーが端末装置から自由テキストを入力して送信する形態であるため、誤字・誤記等も多く発生している。近年のモバイルデバイス（スマートフォンやタブレットなど）では、押下式のキーボードの代わりに、表示面のガラス等にタッチして仮想的なキーを操作する形態のタッチスクリーン方式が用いられている。このタッチスクリーン方式を用いたテキスト入力の場合には、特に、誤字・誤記が多く発生している。タッチスクリーン方式では、２個のキーが指で同時にタッチされるなどといった事象が起こりやすいためである。チャットシステムにおいて誤字・誤記が多発すると、コミュニケーションの相手に、伝えたい正確な内容が伝わらないといった事態も起こる。
【０００６】
本発明は、上記の課題認識に基づいて行なわれたものであり、伝えたい内容が正確に伝わらないという不便を解消することのできるチャットシステム、チャット方法、およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００７】
［１］上記の課題を解決するため、本発明の一態様によるチャットシステムは、入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて記憶する文字列修正データ記憶部と、前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定する修正処理部と、前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換するフロントエンド処理部と、前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送するチャット処理部と、を具備するものである。
【０００８】
［２］また、本発明の一態様は、上記のチャットシステムにおいて、前記フロントエンド処理部は、前記修正処理部によって特定された前記修正候補文字列で前記チャットのテキストに含まれる前記入力文字列を置換するか否かを前記端末装置に問い合わせ、前記端末装置から肯定的な応答が得られた場合にのみ前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換する、ことを特徴とする。
【０００９】
［３］また、本発明の一態様は、上記のチャットシステムにおいて、前記フロントエンド処理部が前記チャットのテキストに含まれる前記入力文字列を置換するか否かを前記端末装置に問い合わせた結果として、前記端末装置から肯定的な応答が得られたか否定的な応答が得られたかに応じて、前記文字列修正データ記憶部を更新する文字列修正データ更新部、をさらに具備することを特徴とする。
【００１０】
［４］また、本発明の一態様は、入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて予め文字列修正データ記憶部に記憶させておき、修正処理部が、前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定し、フロントエンド処理部が、前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換し、チャット処理部が、前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送する、チャット方法である。
【００１１】
［５］また、本発明の一態様は、入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて記憶する文字列修正データ記憶部、を具備するコンピューターを、前記文字列修正データ記憶部を参照することにより、外部の端末装置から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定する修正処理部と、前記修正処理部によって特定された前記修正候補文字列で、前記チャットのテキストに含まれる前記入力文字列を置換するフロントエンド処理部と、前記フロントエンド処理部による文字列の置換処理後の前記チャットのテキストを、前記端末装置のチャットの相手方に転送するチャット処理部と、を具備するチャットシステムとして機能させるためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、端末装置等において入力されたチャットのテキストに含まれる文字列を修正することができる。これにより、チャットのテキストの誤記等が修正され、質が高まる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態によるチャットシステムおよび端末装置の全体的な機能構成を示す機能ブロック図である。
【図２】同実施形態による修正サーバー装置の知識ベース記憶部が記憶する知識ベースのデータ構成を示す概略図である。
【図３】同実施形態による端末装置とチャットサーバー装置と修正サーバー装置との間での相互のやりとりの手順を示すシーケンスチャートの第１例である。
【図４】同実施形態による端末装置とチャットサーバー装置と修正サーバー装置との間での相互のやりとりの手順を示すシーケンスチャートの第２例である。
【図５】同実施形態による端末装置とチャットサーバー装置と修正サーバー装置との間での相互のやりとりの手順を示すシーケンスチャートの第３例である。
【図６】同実施形態によりチャットを実行する際の端末装置側の画面表示の一例を示す概略図である。
【図７】第２実施形態によるチャットシステムおよび端末装置の全体的な機能構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１４】
［第１実施形態］
次に、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態によるチャットシステムおよび端末装置の全体的な機能構成を示す機能ブロック図である。図示するように、チャットシステム１は、チャットサーバー装置１１と修正サーバー装置１２とを含んで構成される。チャットシステム１は、本実施形態のチャット方法を実行し、端末装置２−１，２−２等に対してチャットのサービスを提供する。チャットサーバー装置１１と修正サーバー装置１２とは、通信可能なように相互に接続されている。端末装置２−１，２−２は、通信ネットワーク等を介して、チャットサーバー装置１１との間でデータの送受信を行えるように構成されている。同図では２台の端末装置のみを記載しているが、より多くの（例えば、数万台あるいはそれ以上の）端末装置からチャットサーバー装置１１に同時に接続することも可能である。端末装置２−１，２−２等を、まとめて端末装置２と呼ぶ場合がある。
【００１５】
チャットサーバー装置１１と修正サーバー装置１２とは、連携して、端末装置２に対してチャットサービスを提供する。チャットサービスとは、端末装置間でインタラクティブにテキストのやり取りを行うことのできるサービスである。チャットサービスにおいて、例えば端末装置２−１は、端末装置２−２をチャットの相手として指定して、チャットを行うことができる。端末装置２−１において入力されたテキストは、チャットサーバー装置１１に送信され、さらに、チャットサーバー装置１１から、相手方である端末装置２−２に送信される。逆方向に、端末装置２−２から端末装置２−１に、チャットサーバー装置１１経由で、テキストを送信することもできる。端末装置２が送信したり受信したりするテキストは、実質的にリアルタイムで、端末装置２自身が有するディスプレイ画面上に表示される。これにより、複数の端末装置２間でテキストによる対話を行うことが可能となる。なお、チャットサービスにおいて、テキスト以外のデータ（例えば、静止画データや、動画データや、音声データ等）を適宜送信し合うことも可能であるが、本実施形態においては直接の関係がないため、テキスト以外のデータについての記載を省略する。
【００１６】
図示する各装置の機能構成は、次の通りである。
チャットサーバー装置１１は、通信部１１１と、フロントエンド処理部１１２と、チャット処理部１１３とを含んで構成される。
修正サーバー装置１２は、修正処理部１２１と、知識ベース記憶部１２２とを含んで構成される。なお、知識ベース記憶部１２２は、「文字列修正データ記憶部」とも呼ばれる。
端末装置２は、通信部２１と、チャットクライアント機能部２２とを含んで構成される。
これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ（ＳＳＤ）といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。
【００１７】
次に各装置が有する機能について説明する。
【００１８】
［チャットサーバー装置１１］
チャットサーバー装置１１の通信部１１１は、通信ネットワーク等を介して、他の装置との間でデータ通信を行う。通信部１１１は、例えば、端末装置２の通信部２１との間でデータを送受信する。
【００１９】
フロントエンド処理部１１２は、端末装置２側からチャット処理部１１３に向けて送られるチャットのテキストを受け取り、そのテキストに含まれる文字列に関して、検証を行う。具体的には、フロントエンド処理部１１２は、文字列の検証を修正サーバー装置１２の修正処理部１２１に要請する。そして、フロントエンド処理部１１２は、修正処理部１２１から検証の結果を受け取る。検証の結果は、その文字列に関して修正候補の有無を表す情報を含む。文字列に異常がない場合には、修正候補がない。文字列が以上である可能性がある場合には、フロントエンド処理部１１２は、修正候補を修正処理部１２１から受け取る。修正候補がない場合（元の文字列に異常がない場合）には、フロントエンド処理部１１２は、端末装置２側から受け取っていた元のテキストを、チャット処理部１１３に渡す。修正候補がある場合（元の文字列に異常がある可能性がある場合）には、フロントエンド処理部１１２は、修正候補を適用するか否かを端末装置２に問い合わせる。そして、フロントエンド処理部１１２は、端末装置２からの応答（修正候補を適用するか否かを表す情報を含む）に基づく処理を行う。即ち、端末装置２からの応答が、修正候補を適用すべきであることを表す場合には、元のチャットのテキストの中の該当する文字列を修正候補の文字列で置換してから、チャットのテキストをチャット処理部１１３に渡す。一方、端末装置２からの応答が、修正広報を適用しないことを表す場合には、修正候補を適用せずに、即ち文字列の置換を行わずに、チャットのテキストをチャット処理部１１３に渡す。
【００２０】
つまり、フロントエンド処理部１１２は、修正処理部１２１によって特定された修正候補文字列で、チャットのテキストに含まれる入力文字列を置換する処理を行う。
また、フロントエンド処理部１１２は、修正処理部１２１によって特定された修正候補文字列でチャットのテキストに含まれる入力文字列を置換するか否かを端末装置２に問い合わせ、端末装置２から肯定的な応答が得られた場合にのみ修正候補文字列でチャットのテキストに含まれる入力文字列を置換する。
このように、フロントエンド処理部１１２は、端末装置２側から見てチャット処理部１１３のフロントエンドに位置する機能であり、修正サーバー装置１２の処理に基づく文字列の修正に関するハンドリングを行う。
【００２１】
チャット処理部１１３は、チャットクライアント間のチャットを管理し、進行させる。具体的には、チャット処理部１１３は、一方のチャットクライアントからチャットのテキストを受け取り、そのチャットのテキストを、当該チャットに参加している他方のチャットクライアントに送信する。なお、一つのチャットに参加するチャットクライアントの数は２であることを基本とするが、３以上であってもよい。一つのチャットに参加している複数のチャットクライアントのいずれもが、チャットのテキストを送信する側にも受信する側にもなれる。
なお、上記のチャットクライアントとは、端末装置２で稼働するチャットクライアント機能部２２である。
つまり、チャット処理部１１３は、フロントエンド処理部１１２による文字列の置換処理後のチャットのテキストを、元の端末装置２のチャットの相手方に転送する。
【００２２】
［修正サーバー装置１２］
修正サーバー装置１２の修正処理部１２１は、チャットサーバー装置１１のフロントエンド処理部１１２から、文字列の検証の要請を受け付け、知識ベース記憶部１２２を参照することによりその文字列を検証する。具体的には、修正処理部１２１は、指定された文字列に関して、知識ベース記憶部１２２を参照し、修正候補となり得る文字列が存在するか否かを調べる。修正候補となり得る文字列が存在するのは、知識ベース記憶部１２２のデータに基づき、検証対象の文字列が、修正候補の文字列の誤字・誤記である確率が所定の閾値以上である場合である。修正候補の文字列が存在する場合、修正処理部１２１は、検証の結果として修正候補の文字列をフロントエンド処理部１１２に通知する。なお、修正候補の文字列が複数存在する場合には、修正処理部１２１は、それらすべての修正候補の文字列をフロントエンド処理部１１２に通知するか、あるいは、最も確率の高い修正候補の文字列をフロントエンド処理部１１２に通知する。
つまり、修正処理部１２１は、知識ベース記憶部１２２を参照することにより、外部の端末装置２から受信したチャットのテキストに含まれる入力文字列に対応する修正候補文字列を特定する処理を行う。
【００２３】
知識ベース記憶部１２２は、ある文字列とその修正候補の文字列との関係のデータ（文字列修正データ）を大量に記憶する。このデータは、上記の修正処理部１２１の処理において参照される。この知識ベース記憶部１２２が記憶するデータは、少なくとも、ある文字列が、その修正候補の文字列の誤記である可能性を表す数値の情報を含む。
より具体的には、知識ベース記憶部１２２は、入力文字列と、前記入力文字列に対応する修正候補文字列と、前記入力文字列を前記修正候補文字列で置換する確率を表す修正正解確率とを、相互に関連付けて記憶する。この修正正解確率は、入力文字列が、その修正候補の文字列の誤記である可能性を表す数値情報である。
知識ベース記憶部１２２が保持するデータの詳細については、後で別の図面を参照しながら説明する。
【００２４】
［端末装置２］
端末装置２の通信部２１は、通信ネットワーク等を介して、他の装置との間でデータ通信を行う。通信部２１は、例えば、チャットサーバー装置１１の通信部１１１との間でデータを送受信する。
【００２５】
チャットクライアント機能部２２は、チャットサーバー装置１１によって提供されるチャットサービスのクライアントとして機能するものである。例えば、チャットクライアント機能部２２は、端末装置２をコントロールするＯＳ（オペレーティングシステム）上で稼働するアプリケーションプログラム（アプリ）として実現される。あるいは、チャットクライアント機能部２２は、ウェブブラウザーによって解釈されるＨＴＭＬデータとして実現されてもよい。なお、「ＨＴＭＬ」は「Hyper Text Manipulation Language」の略であり、ＨＴＭＬデータ内には例えばインタープリター上で稼働するプログラムを記述することができる。
【００２６】
チャットクライアント機能部２２は、チャット相手に対して送信するテキストの入力を受け付け、通信部２１を介してそのテキストをチャットサーバー装置１１に送信する。また、チャットクライアント機能部２２は、チャットサーバー装置１１からチャットのテキストを受信し、そのテキストを画面に表示する。また、チャットクライアント機能部２２は、チャットサーバー装置１１のフロントエンド処理部１１２からチャットンテキストに含まれる文字列に関して修正候補の文字列を受信した場合、その修正候補を適用するか否かを決定する。具体的には、チャットクライアント機能部２２は、例えば修正候補の文字列を画面に表示し、その修正候補を適用するか否かの指示情報を取得する。この指示情報は、例えば、ユーザーによる画面操作あるいはキーボード操作等により端末装置２に入力される。チャットクライアント機能部２２は、修正候補の文字列を適用するか否かを表す情報を、フロントエンド処理部１１２に送信する。
【００２７】
なお、入力文字列を修正候補文字列で置換する処理自体は、チャットサーバー装置１１側のフロントエンド処理部１１２で行ってもよいし、端末装置２側のチャットクライアント機能部２２で行ってもよい。
【００２８】
図２は、修正サーバー装置１２の知識ベース記憶部１２２が記憶する知識ベースのデータ構成を示す概略図である。図示するように、知識ベース記憶部１２２は、一例として、表形式で構成される文字列修正データを記憶する。この表は、入力文字列、修正候補文字列、入力回数、修正回数、修正正解確率の各項目を有する。この表は、入力文字列と修正候補文字列の組み合わせごとに、行を有する。
入力文字列は、チャットシステムにおいて端末装置側から入力される文字列であり、修正の対象となり得る文字列である。入力文字列は、例えば単語単位に予め区切られた文字列である。
修正候補文字列は、上記の入力文字列を置換し得る文字列である。言い換えれば、修正候補文字列は、入力文字列の修正候補である。１つの入力文字列に対して複数の修正候補文字列が存在する場合には、この表における別の行のデータとして保持される。
入力回数は、取得した統計値であり、過去において入力文字列が入力された回数を表す。
修正回数は、取得した統計値であり、過去において、当該行の入力文字列が当該行の修正候補文字列に実際に修正された回数を表す。
修正正解確率は、上記の入力回数および修正回数から計算によって求められた確率値である。修正正解確率は、統計として、過去において、当該行の入力文字列が入力された際に、当該行の修正候補文字列で実際に修正された回数の比率を表す。この修正正解確率は、上記の修正回数の値を上記の入力回数の値で除して得られる。同図においては、修正正解確率の値をパーセンテージで表している。この修正正解確率は、未来において入力された入力文字列が、当該行の修正候補文字列によって置換される（修正される）確率を表しているとみなせる。
【００２９】
図２では、便宜的に、文字列修正データに行番号を示している。図示する文字列修正データの例は、次の通りである。
第１行目において、入力文字列は「びつよう」である。この入力文字列に対応する修正候補文字列は「ひつよう」である。入力文字列「びつよう」が入力された回数は、１２００００回である。また、入力文字列「びつよう」が修正候補文字列「ひつよう」で実際に修正された回数は、１２００回である。そして、修正正解確率は１０．０％（１２００／１２０００）である。
第２行目において、入力文字列は「Yiu」である。この入力文字列に対応する修正候補文字列は「You」である。入力文字列「Yiu」が入力された回数は、９６７０回である。また、入力文字列「Yiu」が修正候補文字列「You」で実際に修正された回数は、１８２０回である。そして、修正正解確率は１８．８％（１８２０／９６７０）である。
第３行目において、入力文字列は「あならは」である。この入力文字列に対応する修正候補文字列は「あなたは」である。入力文字列「あならは」が入力された回数は、１１４５０回である。また、入力文字列「あならは」が修正候補文字列「あなたは」で実際に修正された回数は、１３９０回である。そして、修正正解確率は１２．１％（１３９０／１１４５０）である。
【００３０】
図２に示した文字列修正データは、予め作成し、記憶手段に記憶させておく。文字列修正データを適切に管理するために、例えば、データベース管理システム（ＤＢＭＳ，Database Management System）を用いてもよい。
文字列修正データは、一例として、統計情報等に基づいて手作業で作成されてもよい。
また、文字列修正データは、実際のチャットシステムにおいてやりとりされるテキストを大量に収集し、それらのテキストデータを基に、自動的あるいは半自動的に作成されてもよい。ある入力文字列とその入力文字列に対応する修正候補の文字列との関係を、一例として、機械学習処理等によって決定してもよい。
また、上で大量に収集するテキストは、チャットシステムにおいてやりとりされるテキストだけではなく、一般に人手での端末装置の操作等によって入力されるテキストであってもよい。
【００３１】
修正処理部１２１は、文字列修正データにおける修正正解確率が所定の閾値以上である場合に、その入力文字列をその修正候補文字列で置換すべきである可能性が高いと判定し、フロントエンド処理部１１２にその旨を通知する。
【００３２】
次に、図３，図４，図５を参照しながら、端末装置２とチャットシステム１との処理手順について説明する。
【００３３】
図３は、チャットの文字列を送信するための、端末装置（送信側および受信側）とチャットサーバー装置と修正サーバー装置との間での相互のやりとりの手順を示すシーケンスチャートである。同図に示す場合おいて、文字列の修正候補は発見されない。以下、このシーケンスに沿って説明する。
ステップＳ１において、送信側の端末装置２−１からチャットサーバー装置１１に文字列が送信される。
ステップＳ２において、チャットサーバー装置１１は、修正サーバー装置１２に対して、文字列の検証を要請する。なお、チャットサーバー装置１１は、端末装置２−１から受信した文字列を適宜分割して（例えば、単語ごと、形態素ごとなど）、分割された文字列の単位で修正サーバー装置１２に対して文字列の検証を要請してもよい。検証の要請を受信した修正サーバー装置１２内では、知識ベースを参照し、文字列を検証する処理が行われる。
ここでは、修正サーバー装置１２は、文字列を検証した結果、異常なし（修正候補なし）と判定する。
ステップＳ３において、修正サーバー装置１２は、チャットサーバー装置１１に対して、「異常なし」を表す応答を送る。これにより、チャットサーバー装置１１内のフロントエンド処理部１１２は、端末装置２−１から受け取った文字列を修正する必要がないことを認識する。フロントエンド処理部１１２は、端末装置２−１から受け取った文字列を、そのままチャット処理部１１３に渡す。チャット処理部１１３は、受け取った文字列を、端末装置２−１のチャット相手である端末装置２−２に仕向ける。
ステップＳ４において、チャットサーバー装置１１から、受信側の端末装置２−２に、文字列が送信される。
以上の、ステップＳ１からＳ４までの一連の処理により、１つの文字列が、端末装置２−１から、チャットサーバー装置１１を経由して、端末装置２−２に送られた。
【００３４】
図４は、チャットの文字列を送信するための、端末装置（送信側および受信側）とチャットサーバー装置と修正サーバー装置との間での相互のやりとりの手順を示すシーケンスチャートである。同図に示す場合おいて、文字列の修正候補は発見されるが、実際の修正は行われない。以下、このシーケンスに沿って説明する。
ステップＳ１１およびステップＳ１２の処理は、それぞれ、上のステップＳ１およびステップＳ２の処理と同様である。したがって、ここではこれらに関する説明を省略する。
そして、本シーケンスでは、修正サーバー装置１２は、文字列を検証した結果、検証要請された文字列に関して修正候補が存在すると判定する。
ステップＳ１３において、修正サーバー装置１２は、チャットサーバー装置１１に対して、修正候補の文字列の情報を含んだ応答を送る。これにより、チャットサーバー装置１１内のフロントエンド処理部１１２は、端末装置２−１から受け取った文字列を修正する候補が存在することを認識する。フロントエンド処理部１１２は、修正候補を適用するか否かを端末装置２−１側に問い合わせるために次のステップの処理を行う。
ステップＳ１４において、チャットサーバー装置１１のフロントエンド処理部１１２は、修正サーバー装置１２から提示された修正候補の文字列を適用するか否かを問い合わせるメッセージを、端末装置２−１に送信する。
本シーケンスにおいては、端末装置２−１側では、その修正候補の文字列を適用しないこと（修正不要）を決定する。具体的には、端末装置２−１側において、チャットクライアント機能部２２が、修正候補の文字列を画面等に表示し、ユーザーからの指示を取得する。そして、ユーザーからの指示に基づき、チャットクライアント機能部２２は、修正不要であることを決定する。
ステップＳ１５において、端末装置２−１は、チャットサーバー装置１１に対して、修正不要のメッセージを送信する。
ステップＳ１６において、チャットサーバー装置１１のフロントエンド処理部１１２は、修正不要であるとの応答を得たため、バッファーに一時的に蓄積していた文字列（修正前の文字列）をチャット処理部１１３に渡す。チャット処理部１１３は、その修正前の文字列を、端末装置２−２側に送信する。
【００３５】
図５は、チャットの文字列を送信するための、端末装置（送信側および受信側）とチャットサーバー装置と修正サーバー装置との間での相互のやりとりの手順を示すシーケンスチャートである。同図に示す場合おいて、文字列の修正候補は発見され、実際にその修正が行われる。以下、このシーケンスに沿って説明する。
ステップＳ２１からステップＳ２４までの処理は、それぞれ、上のステップＳ１１からステップＳ１４までの処理と同様である。したがって、ここではこれらに関する説明を省略する。
本シーケンスにおいては、端末装置２−１側では、その修正候補の文字列を適用すること（修正すること）を決定する。具体的には、端末装置２−１側において、チャットクライアント機能部２２が、修正候補の文字列を画面等に表示し、ユーザーからの指示を取得する。そして、ユーザーからの指示に基づき、チャットクライアント機能部２２は、修正すること（元の文字列を、修正候補の文字列で置換すること）を決定する。
ステップＳ２５において、端末装置２−１は、チャットサーバー装置１１に対して、修正選択のメッセージを送信する。
ステップＳ２６において、チャットサーバー装置１１のフロントエンド処理部１１２は、修正を行う旨の応答を得たため、バッファーに蓄積していた文字列を、選択された修正候補の文字列で置換する。フロントエンド処理部１１２は、修正後の文字列を、チャット処理部１１３に渡す。チャット処理部１１３は、修正された文字列を、端末装置２−２側に送信する。
【００３６】
次に、本実施形態における端末装置側でのユーザーインターフェースについて説明する。
図６は、チャットを実行する際の端末装置２側の画面表示の一例を示す概略図である。同図（Ａ）は、ユーザーがチャットテキストを入力した段階の画面表示例を示している。また、同図（Ｂ）は、上記のチャットテキストに含まれる一部の文字列について、修正候補の文字列が提示されている状態の画面表示例を示している。
同図（Ａ）においては、端末装置の画面上の入力枠内に、ユーザーが入力したテキストが表示されている。そのテキストは「Ｗｈａｔ  ｉｓ  ｙｉｕｒ  ａｄｄｒｅｓｓ  ｉｎ  Ｊａｐａｎ？」というものである。
同図（Ｂ）においては、端末装置の画面上の入力枠内に、上記の入力されたテキストが表示されているとともに、その下の別の枠内に、修正に関する情報が表示されている。具体的には、端末装置２のチャットクライアント機能部２２が、「誤字が感知されました。」というメッセージを表示するとともに、テキストの修正案を表示している。その修正案において、入力テキストに含まれる文字列「ｙｉｕｒ」は、修正候補のテキスト「ｙｏｕｒ」で置換されている。即ち「Ｗｈａｔ  ｉｓ  ｙｏｕｒ  ａｄｄｒｅｓｓ  ｉｎ  Ｊａｐａｎ？」というテキストが提示されている。そして、チャットクライアント機能部２２は、その修正候補のテキストで転送するか否かを、ユーザーに尋ねるメッセージを表示している。同図（Ｂ）に示すケースにおいては、この問い合わせに対して、ユーザーが肯定的に応答している。即ち、ユーザーによって選択された「はい」という応答が表示されている。
上記のように、端末装置のユーザーにとってもストレスのない方法で、チャットのテキストに含まれる誤字・誤記等を修正することが可能となる。
【００３７】
以上説明したように、本実施形態によれば、知識ベース記憶部１２２に記憶されている文字列修正データに基づき、入力誤りである可能性の高い文字列を、自動的に修正することができる。
また、本実施形態によれば、入力文字列を修正候補文字列で置換するか否かを端末装置側に問い合わせ、端末装置から肯定的な応答を得た場合にのみ実際に入力文字列を修正候補文字列で置換する。これにより、端末装置のユーザーの意図に対してより忠実なチャットのテキストを、チャット相手に転送することができる。
【００３８】
［第２実施形態］
次に、本発明の第２実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【００３９】
図７は、本実施形態によるチャットシステムおよび端末装置の全体的な機能構成を示す機能ブロック図である。図示するように、本実施形態の特徴は、チャットサーバー装置１４が、仮想ユーザー機能部１１４を備える点である。即ち、チャットサーバー装置１４は、通信部１１１と、フロントエンド処理部１１２と、チャット処理部１１３と、仮想ユーザー機能部１１４とを含んで構成される。本実施形態のその他の機能構成は、第１実施形態と同様である。
【００４０】
本実施形態において、チャット処理部１１３は、端末装置２側のチャットクライアント機能部２２だけでなく、下記の仮想ユーザー機能部１１４もチャットクライアントの一つとして扱う。
【００４１】
仮想ユーザー機能部１１４は、内部にチャットクライアントの機能を備え、チャットを実行する仮想的なユーザーとして機能する。即ち、仮想ユーザー機能部１１４は、チャット処理部１１３を介して、端末装置２との間でチャットを実行する。その場合、端末装置２から送信されたチャットのテキストは、チャット処理部１１３を介して、仮想ユーザー機能部１１４に渡される。また、仮想ユーザー機能部１１４は、チャットの相手である端末装置２に向けたチャットのテキストをチャット処理部１１３に渡す。そのチャットのテキストは、チャット処理部１１３から、チャットの相手である端末装置２に送信される。仮想ユーザー機能部１１４は、端末装置２との間でチャットを実行するために、内部に人工知能を備え、入力テキスト（端末装置２からのテキスト）に対応した適切な出力テキスト（端末装置２へ送信するテキスト）を生成する。入力テキストと出力テキストとの関係は、予め学習され、知識として仮想ユーザー機能部１１４の内部に蓄積されている。また、仮想ユーザー機能部１１４は、直近の入力テキストのみに対応した出力テキストを出力するだけではなく、当該チャットの相手との過去の履歴情報にも依存した出力テキストを出力することもできる。また、仮想ユーザー機能部１１４は、定型的なチャットのパターンを記憶しており、必要に応じてその定型的チャットパターンに基づく出力テキストを生成する。例えば、商取引や金融取引を実施するチャットのパターンを用いる場合、仮想ユーザー機能部１１４は、取引条件を尋ねたり確認したりする文章を出力テキストとして生成し、その出力テキストに対応する入力テキストから、必要な情報を抽出する。つまり、仮想ユーザー機能部１１４の機能により、チャットサーバー装置１４は、端末装置２からのチャットのテキストに対して自動的に応答する仮想的なユーザーとして機能することもできる。なお、仮想ユーザー機能部１１４のような機能の実現例については［文献：特許第６２１８０５７号公報］にも記載されている。
【００４２】
本実施形態によれば、端末装置に対して自動応答する機能を有するチャットサーバー装置において、入力テキストに含まれる文字列を修正することができる。これにより、入力テキストの言語としての質が向上し、チャットサーバー装置は、より一層適切な応答を生成し、端末装置に対して返送することが可能となる。
【００４３】
以上、複数の実施形態を説明したが、さらに次のような変形例でも実施することが可能である。複数の変形例を組み合わせることが可能な場合には、それらを組み合わせて実施してもよい。
【００４４】
［第１変形例］
上記の実施形態では、修正処理部１２１が入力文字列に対応する修正候補の文字列をフロントエンド処理部１１２に通知した後、フロントエンド処理部１１２が端末装置２にその修正候補を適用するか否かを問い合わせ、端末装置２から肯定的な応答を得た場合にのみ、フロントエンド処理部１１２が実際に入力文字列を修正候補文字列で置換する処理を行った。代わりに、本変形例では、フロントエンド処理部１１２は、上記の端末装置２への問い合わせを行わない。即ち、フロントエンド処理部１１２は、修正処理部１２１から修正候補の文字列の通知を受けると、端末装置２に対する確認を行うことなく、当該入力文字列を当該修正候補文字列で置換する。本変形例を実施した場合、端末装置２のユーザーの手間を削減することができる。
【００４５】
［第２変形例］
知識ベース記憶部１２２が記憶する文字列修正データ内に、入力文字列と修正候補文字列とが同一である行が含まれていてもよい。入力文字列と修正候補文字列とが同一である行のデータにおける修正正解確率は、その入力文字列が修正不要な文字列である確率の値を表す。
【００４６】
［第３変形例］
本変形例では、修正サーバー装置１２が、文字列修正データ更新部を備える。この文字列修正データ更新部は、フロントエンド処理部１１２がチャットのテキストに含まれる入力文字列を置換するか否かを端末装置２に問い合わせた結果として、端末装置２から肯定的な応答が得られたか否定的な応答が得られたかに応じて、知識ベース記憶部１２２に記憶されている文字列修正データを更新する。
つまり、上記の文字列修正データ更新部は、端末装置２から肯定的な応答が得られた場合と否定的な応答が得られた場合の両方において、該当する行の、入力回数のカウントを１だけ増分する。また、文字列修正データ更新部は、端末装置２から肯定的な応答が得られた場合にのみ、該当する行の、修正回数のカウントを１だけ増分する。また、文字列修正データ更新部は、更新後の入力回数および修正回数の数値に基づき、修正正解確率を再計算（修正正解確率＝修正回数／入力回数）し、その計算結果で修正正解確率を更新する。
本変形例では、チャットシステム１を実際に運用するに伴って、知識ベース記憶部１２２に記憶されるデータ（入力回数、修正回数、修正正解確率）の精度を徐々に上げていくことができる。
【００４７】
［第４変形例］
上記の実施形態では、図１に示したように、チャットシステム１側の機能をチャットサーバー装置１１および修正サーバー装置１２に分散した。チャットシステム１を実現するための機能を、他の形態のサーバー（群）で実現してもよい。サーバー装置の物理的な配置や台数は任意である。
【００４８】
なお、上述した各実施形態およびその変形例におけるチャットサーバー装置、修正サーバー装置、端末装置の各装置の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００４９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００５０】
本発明は、例えば、インターネットによる通信を用いて提供するチャットサービス等に利用できる。また、そのようなチャットサービスを、商業、金融業、サービス業等を含むあらゆる業種の事業に利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【００５１】
１  チャットシステム
２，２−１，２−２  端末装置
１１，１４  チャットサーバー装置
１２  修正サーバー装置
２１  通信部
２２  チャットクライアント機能部
１１１  通信部
１１２  フロントエンド処理部
１１３  チャット処理部
１１４  仮想ユーザー機能部
１２１  修正処理部
１２２  知識ベース記憶部（文字列修正データ記憶部）
【図１】
2019200477.tif 000003
【図２】
2019200477.tif 000004
【図３】
2019200477.tif 000005
【図４】
2019200477.tif 000006
【図５】
2019200477.tif 000007
【図６】
2019200477.tif 000008
【図７】
2019200477.tif 000009