(57)【要約】【課題】ユーザが新たな発言を行う際に、必要以上の手間をかけることなく、この新たな発言と過去の特定の発言との正しい参照関係を明示できるようにする。【解決手段】クライアント１０において、入力受付部１１は、クライアント１０で入力された発言データと他のクライアントで入力され受信部１７で受信された発言データとを受け付け、過去ログとして過去ログ記憶部１２に記憶しておく。そして、入力受付部１１が新規発言データを受け付けた際に、参照情報生成部１３が、過去ログの中から新規発言データによって参照される先行発言データを決定し、参照関係を示す参照情報を生成して参照情報記憶部１４に記憶し、送信部１５が、新規発言データと参照情報とを他のクライアントに送信し、表示制御部１６が、過去ログとして記憶された発言データと新規発言データと参照情報に基づく指標とを表示する。【選択図】図７
2010176207.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザがそれぞれ入力した複数のメッセージ群を管理する装置であって、
メッセージを取得する取得部と、
前記取得部により過去に取得された複数のメッセージを記憶する記憶部と、
前記取得部により新たに取得された第１のメッセージと、前記記憶部に記憶された前記複数のメッセージのうち当該第１のメッセージによって参照される第２のメッセージとの参照関係を示す参照情報を、当該第１のメッセージの解析結果に基づいて生成する生成部と
を含む、装置。
【請求項２】
前記生成部は、前記記憶部に記憶された前記複数のメッセージを前記第１のメッセージの解析結果に基づいて検索することにより、前記第２のメッセージを決定する、請求項１の装置。
【請求項３】
前記生成部は、前記記憶部に記憶された前記複数のメッセージのうち、前記第１のメッセージに含まれる単語に関連する単語を含むメッセージを、前記第２のメッセージとして決定する、請求項２の装置。
【請求項４】
前記生成部は、前記記憶部に記憶された前記複数のメッセージを前記第１のメッセージの解析結果に基づいて検索することで得られた少なくとも１つのメッセージを表示し、当該少なくとも１つのメッセージの中からユーザによって選択された一のメッセージを、前記第２のメッセージとして決定する、請求項２の装置。
【請求項５】
前記生成部は、前記第１のメッセージの解析結果から得られた前記第２のメッセージの識別情報を含む前記参照情報を生成する、請求項１の装置。
【請求項６】
自装置で入力されたメッセージと他の装置で入力されたメッセージとを表示する装置であって、
自装置で入力されたメッセージを取得する取得部と、
他の装置で入力されたメッセージを当該他の装置から受信する受信部と、
前記取得部により過去に取得されたメッセージと前記受信部により過去に受信されたメッセージとを含む複数のメッセージを記憶する記憶部と、
前記記憶部に記憶された前記複数のメッセージのうち、前記取得部により新たに取得された第１のメッセージに含まれる単語に関連する単語を含む少なくとも１つのメッセージを表示し、当該少なくとも１つのメッセージの中から一のメッセージをユーザに選択させることにより、当該複数のメッセージのうち、当該第１のメッセージによって参照される第２のメッセージを決定する決定部と、
前記取得部により取得された前記第１のメッセージと、前記決定部により決定された前記第２のメッセージとの参照関係を示す参照情報を生成する生成部と、
前記取得部により取得された前記第１のメッセージと、前記記憶部に記憶された前記複数のメッセージと、前記生成部により生成された前記参照情報に基づく標識とを表示する表示部と
を含む、装置。
【請求項７】
複数のユーザがそれぞれ入力した複数のメッセージ群を管理する方法であって、
過去に入力された複数のメッセージを記録媒体に記録するステップと、
新たに入力された第１のメッセージを取得するステップと、
前記第１のメッセージと、前記記録媒体に記録された前記複数のメッセージのうち当該第１のメッセージによって参照される第２のメッセージとの参照関係を示す参照情報を、当該第１のメッセージの解析結果に基づいて生成するステップと
を含む、方法。
【請求項８】
自装置で入力されたメッセージと他の装置で入力されたメッセージとを管理する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
自装置で入力されたメッセージを取得する取得部と、
他の装置で入力されたメッセージを当該他の装置から受信する受信部と、
前記取得部により過去に取得されたメッセージと前記受信部により過去に受信されたメッセージとを含む複数のメッセージを記録媒体に記録する記録部と、
前記取得部により新たに取得された第１のメッセージと、前記記録媒体に記録された前記複数のメッセージのうち当該第１のメッセージによって参照される第２のメッセージとの参照関係を示す参照情報を、当該第１のメッセージの解析結果に基づいて生成する生成部と
して機能させる、プログラム。
【請求項９】
前記生成部は、前記記録媒体に記録された前記複数のメッセージを前記第１のメッセージの解析結果に基づいて検索することにより、前記第２のメッセージを決定する、請求項８のプログラム。
【請求項１０】
前記生成部は、前記記録媒体に記録された前記複数のメッセージのうち、前記第１のメッセージに含まれる単語に関連する単語を含むメッセージを、前記第２のメッセージとして決定する、請求項９のプログラム。
【請求項１１】
前記生成部は、前記記録媒体に記録された前記複数のメッセージを前記第１のメッセージの解析結果に基づいて検索することで得られた少なくとも１つのメッセージを表示し、当該少なくとも１つのメッセージの中からユーザによって選択された一のメッセージを、前記第２のメッセージとして決定する、請求項９のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージを管理する装置及び方法に関する。特に、本発明は、複数のユーザが入力したメッセージ又は複数の装置で入力されたメッセージを管理する装置及び方法に関する。
【背景技術】
【０００２】
近年、多くの人々が様々な局面で、他者との即時的なコミュニケーションの手段としてチャットを利用している。チャットでは、２人以上の参加者がそれぞれ独自に発言を入力し、時間順に表示された発言のログを参加者が共有することにより、会話が成立する。その際、発言は非同期に行われるため、時間順に並べられたログ上で、発言が必ずしも意味的なまとまりごとに並ぶとは限らない。従って、会話の流れが見え難くなり、理解が困難になったり、誤解が生じたりする場合がある。特に、参加者が３名以上の場合や会話のスピードが速い場合にこのようなことが起こり易い。
【０００３】
そこで、従来、チャットにおける発言の関係を分かり易く表示する技術が提案されている（例えば、特許文献１〜３参照）。
特許文献１では、ユーザが発言者Ａの発言に対応した発言を行う場合、発言者Ａ又は発言者Ａの発言データを特定する識別子を付加して発言データを送信し、発言データを受信すると、受信した発言データに付加されている識別子を識別し、発言データが対応している以前の発言と対応する表示方法にて発言データを表示している。
特許文献２では、例えば、車の話題を画面の左上の領域で展開し、パーソナルコンピュータの話題を画面の右下の領域で展開して、話題同士が混乱することをなくすことにより、画面上において話題のまとまり等を視覚的に把握可能なチャットを可能にしている。
特許文献３では、例えば、発言間隔が１０分以上の場合、発言と発言との間に罫線を表示することにより、関連する会話同士を１つの発言グループとして見易くしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２８８１０２号公報
【特許文献２】特開２００１−１１７８４９号公報
【特許文献３】特開２０００−３３０９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、従来、チャットにおける発言の関係を分かり易く表示することは行われていた。
しかしながら、特許文献１の技術では、発言データが対応している以前の発言を特定する識別子をユーザが付加しており、コンピュータ処理によって付加しているわけではない。
また、特許文献２の技術でも、話題のまとまりを視覚的に把握可能なチャットが可能となるという結果が示されているだけであり、話題のまとまりをコンピュータ処理によってどのように把握しているのかは不明である。
更に、特許文献３の技術では、関連する会話同士の発言グループを発言間隔によって抽出しており、例えば、関連する会話の間に関連しない会話が挟まれた場合等には、抽出された発言グループが１つの関連する会話のグループではないこともあり、発言グループとしての正しさが低下してしまう。
【０００６】
一方、昨今、チャットにおいて、過去の発言を参照するために、「大丈夫です＞準備」や「言いたいことは理解しました。＞Ａさん」等の表現が使われることもある。これによって曖昧さは多少低減されるが、入力に手間がかかり、また、不十分であることも多い。
尚、同様の問題点はチャットだけでなく、複数のユーザが非同期に発言を書き込む掲示板等についても指摘することができる。
【０００７】
本発明の目的は、ユーザが新たな発言を行う際に、必要以上の手間をかけることなく、この新たな発言と過去の特定の発言との正しい参照関係を明示できるようにすることにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、複数のユーザがそれぞれ入力した複数のメッセージ群を管理する装置であって、メッセージを取得する取得部と、取得部により過去に取得された複数のメッセージを記憶する記憶部と、取得部により新たに取得された第１のメッセージと、記憶部に記憶された複数のメッセージのうち第１のメッセージによって参照される第２のメッセージとの参照関係を示す参照情報を、第１のメッセージの解析結果に基づいて生成する生成部とを含む、装置を提供する。
【０００９】
ここで、生成部は、記憶部に記憶された複数のメッセージを第１のメッセージの解析結果に基づいて検索することにより、第２のメッセージを決定する、ものであってよい。その場合、生成部は、記憶部に記憶された複数のメッセージのうち、第１のメッセージに含まれる単語に関連する単語を含むメッセージを、第２のメッセージとして決定する、ものであってもよく、記憶部に記憶された複数のメッセージを第１のメッセージの解析結果に基づいて検索することで得られた少なくとも１つのメッセージを表示し、少なくとも１つのメッセージの中からユーザによって選択された一のメッセージを、第２のメッセージとして決定する、ものであってもよい。また、生成部は、第１のメッセージの解析結果から得られた第２のメッセージの識別情報を含む参照情報を生成する、ものであってよい。
【００１０】
また、本発明は、自装置で入力されたメッセージと他の装置で入力されたメッセージとを表示する装置であって、自装置で入力されたメッセージを取得する取得部と、他の装置で入力されたメッセージを他の装置から受信する受信部と、取得部により過去に取得されたメッセージと受信部により過去に受信されたメッセージとを含む複数のメッセージを記憶する記憶部と、記憶部に記憶された複数のメッセージのうち、取得部により新たに取得された第１のメッセージに含まれる単語に関連する単語を含む少なくとも１つのメッセージを表示し、少なくとも１つのメッセージの中から一のメッセージをユーザに選択させることにより、複数のメッセージのうち、第１のメッセージによって参照される第２のメッセージを決定する決定部と、取得部により取得された第１のメッセージと、決定部により決定された第２のメッセージとの参照関係を示す参照情報を生成する生成部と、取得部により取得された第１のメッセージと、記憶部に記憶された複数のメッセージと、生成部により生成された参照情報に基づく標識とを表示する表示部とを含む、装置も提供する。
【００１１】
更に、本発明は、複数のユーザがそれぞれ入力した複数のメッセージ群を管理する方法であって、過去に入力された複数のメッセージを記録媒体に記録するステップと、新たに入力された第１のメッセージを取得するステップと、第１のメッセージと、記録媒体に記録された複数のメッセージのうち第１のメッセージによって参照される第２のメッセージとの参照関係を示す参照情報を、第１のメッセージの解析結果に基づいて生成するステップとを含む、方法も提供する。
【００１２】
更にまた、本発明は、自装置で入力されたメッセージと他の装置で入力されたメッセージとを管理する装置としてコンピュータを機能させるプログラムであって、コンピュータを、自装置で入力されたメッセージを取得する取得部と、他の装置で入力されたメッセージを他の装置から受信する受信部と、取得部により過去に取得されたメッセージと受信部により過去に受信されたメッセージとを含む複数のメッセージを記録媒体に記録する記録部と、取得部により新たに取得された第１のメッセージと、記録媒体に記録された複数のメッセージのうち第１のメッセージによって参照される第２のメッセージとの参照関係を示す参照情報を、第１のメッセージの解析結果に基づいて生成する生成部として機能させる、プログラムも提供する。
【発明の効果】
【００１３】
本発明によれば、ユーザが新たな発言を行う際に、必要以上の手間をかけることなく、この新たな発言と過去の特定の発言との正しい参照関係を明示できるようになる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態におけるコンピュータシステムの全体構成を示した図である。
【図２】本発明の実施の形態において参照情報を埋め込む際の第１の画面例を示した図である。
【図３】本発明の実施の形態において参照情報を埋め込む際の第２の画面例を示した図である。
【図４】本発明の実施の形態において参照情報を埋め込む際の第３の画面例を示した図である。
【図５】本発明の実施の形態において参照情報を表示する際の第１の画面例を示した図である。
【図６】本発明の実施の形態において参照情報を表示する際の第２の画面例を示した図である。
【図７】本発明の実施の形態におけるクライアントの機能構成例を示した図である。
【図８】本発明の実施の形態のクライアントで記録される過去ログの例を示した図である。
【図９】本発明の実施の形態のクライアントにおける発言データ送信時の動作例を示したフローチャートである。
【図１０】本発明の実施の形態のクライアントにおける参照情報生成処理の第１の動作例を示したフローチャートである。
【図１１】本発明の実施の形態のクライアントにおける参照情報生成処理の第２の動作例を示したフローチャートである。
【図１２】本発明の実施の形態のクライアントにおける参照情報生成処理の第３の動作例を示したフローチャートである。
【図１３】本発明の実施の形態のクライアントで生成される参照情報の例を示した図である。
【図１４】本発明の実施の形態のクライアントにおける発言データ受信時の動作例を示したフローチャートである。
【図１５】本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態が適用されるコンピュータシステムについて説明する。
図１は、このようなコンピュータシステムの全体構成例を示した図である。
図示するように、このコンピュータシステムは、クライアント１０ａと、クライアント１０ｂと、チャットサーバ２０とが、ネットワーク８０を介して接続されている。
【００１６】
クライアント１０ａ、１０ｂは、チャット参加者（以下、単に「参加者」という）が使用するＰＣ等の端末装置である。より詳しくは、各参加者が他の参加者との間で発言内容を示すデータ（以下、「発言データ」という）を交換するために用いる端末装置である。ここで、チャット参加者は、ユーザの一例であり、発言データはメッセージの一例である。尚、図では、２台のクライアントしか示していないが、３台以上のクライアントを設けてもよい。また、以下で、クライアント１０ａ、１０ｂを区別しない場合は、単に「クライアント１０」ということもある。
チャットサーバ２０は、ネットワーク８０を介したチャットによる発言データの交換を管理するサーバコンピュータである。例えば、同じチャットに対する参加者Ａのクライアント１０ａからの参加要求と参加者Ｂのクライアント１０ｂからの参加要求に応じて、そのチャットの識別情報、参加者Ａ及びＢの識別情報、クライアント１０ａ及び１０ｂの識別情報等を管理する。そして、参加者Ａや参加者Ｂから発言が入力された場合には、その発言に関する発言データが相手のクライアント１０へ送信されるように制御する。
ネットワーク８０は、発言データの交換に用いる通信手段である。このネットワーク８０としては、インターネットやＬＡＮ（Local Area Network）が例示される。
【００１７】
このような構成を有するコンピュータシステムにおいて、複数の参加者がそれぞれクライアント１０を用いてチャットを行う場合、各参加者は非同期に発言を入力し、その発言の内容は各クライアント１０の画面に時間順に表示される。従って、新たな発言が過去のどの発言に対する返答なのかが分かり難くなる場合がある。
そこで、本実施の形態では、新たな発言を行う参加者が、その発言が過去のどの発言に対する返答なのかを明示できるようにする。即ち、発言を入力するための通常の操作において、以下の方法で、新たな発言と過去の発言の参照関係を示す情報（以下、「参照情報」という）を生成し、これを新たな発言に埋め込む。
【００１８】
（１）参照入力サポートを利用した間接入力
この入力方法を用いる場合、まず、参加者は、通常通り発言を入力する。その際、発言の中に現れた単語が過去の発言のログの中にも現れていた場合、その単語の部分が選択可能であることが分かるように強調表示される。
これにより、参加者が、強調表示された部分をクリックすると、参照先の候補がリスト表示される。そして、参加者がその中から１つの参照先を選択することにより、入力した発言にその参照先に関する参照情報が埋め込まれる。
【００１９】
ここで、この入力方法について、具体的に説明する。
図２は、入力した発言に対してこの方法で参照情報を埋め込む際の画面例である。
この画面例では、発言入力欄３２に「印刷はＤさんの担当です」という発言が入力されている。そして、この発言の中の単語「印刷」が、過去ログ表示欄３１に表示された過去の発言にも現れているので、発言入力欄３２では、この単語「印刷」が、下線を施すことで強調表示されている。この状態で参加者が単語「印刷」をクリックすると、参照先候補表示ウィンドウ３３が表示され、単語「印刷」が現れる過去の発言がこのウィンドウ内に表示される。ここでは、１行目に１つ前の発言が表示され、２行目にその２つ前の発言が表示されている。これらの発言の中から、図に太枠で示したように、１行目の発言が選択されたとする。すると、入力した発言に１行目の発言における単語「印刷」に関する参照情報が埋め込まれる。
【００２０】
尚、仮に参照情報を埋め込まないとすると、入力した発言における「印刷」が「ポスターの印刷」を指すのか「プレゼンチャートの印刷」を指すのかはっきりせず曖昧である。しかしながら、本実施の形態では、参照情報を埋め込むことにより、入力した発言における「印刷」が「ポスターの印刷」を指すことを明らかにしている。
また、この例では、入力した発言に現れた単語と全く同じ単語が現れた過去の発言を参照先の候補としたが、入力した発言に現れた単語に関連する単語が現れた過去の発言を参照先の候補としてもよい。更に、入力した発言内の文節と過去の発言内の文節との関連性、入力した発言の文全体と過去の発言の文全体との関連性等に基づいて参照先の候補を決定してもよい。この場合、入力した発言や過去の発言に対するより高次な言語解析に基づく関連性の検出を利用しても構わない。
【００２１】
（２）発言番号を利用した間接入力
この入力方法は、発言全体を参照したい場合に好適な方法である。各発言に予め割り当てられている発言番号を参加者が決められた規則で入力することにより、その発言番号で特定される部分が自動的に参照情報に変換される。
【００２２】
ここで、この入力方法について、具体的に説明する。
図３は、入力した発言に対してこの方法で参照情報を埋め込む際の画面例である。
この画面例では、過去ログ表示欄３１に表示された過去の発言のそれぞれに対して発言番号が表示されている。一方で、発言入力欄３２には「大丈夫です。用意できています。」という発言が入力されているが、その直前に「＞＞５」という記述により発言番号が指定されている。これにより、入力した発言に発言番号「５」に関する参照情報が埋め込まれる。
【００２３】
尚、仮に参照情報を埋め込まないとすると、入力した発言における「用意できています」が「ミーティングの会場」が用意できていることを意味するのか「プレゼンチャートの印刷」が用意できていることを意味するのかはっきりせず曖昧である。しかしながら、本実施の形態では、参照情報を埋め込むことにより、「ミーティングの会場」が用意できていることを意味することを明らかにしている。
【００２４】
（３）直接入力
上記の間接入力によって参照先の選択をスムーズに行えない場合には、過去ログの中から発言全体又はその一部をマウス等で選択してコピーし、入力中の発言に対してペーストすることで、選択した部分に関する参照情報を発言に埋め込む。
【００２５】
ここで、この入力方法について、具体的に説明する。
図４は、入力した発言に対してこの方法で参照情報を埋め込む際の画面例である。
この画面例では、過去ログ表示欄３１に表示された過去の発言のうち、２行目の発言の「印刷」が参照先として選択されている。この「印刷」の選択は、例えば、マウスカーソルを「印刷」に位置付けてドラッグすることで行えばよい。そして、参加者は、例えばマウスを右クリックして参照先コピーメニュー３４を表示させ、「refer」を選択することで「印刷」を参照先に決定する。その後、参加者が、発言入力欄３２で参照先コピーメニュー３４を表示させ、今度は「copy」を選択したとする。すると、入力した発言に２行目の発言の「印刷」に関する参照情報が埋め込まれる。
【００２６】
さて、以上述べた（１）〜（３）の方法によって参照情報が埋め込まれた発言に関する発言データは、その参照情報を保持したまま、チャット相手である参加者に送信される。
そして、発言データを受信したクライアント１０は、参照情報を分かり易い形式で表示しながら発言内容も表示し、発言データを過去ログの中に記録する。ここで、参照情報の表示方法としては、例えば以下のような方法がある。
【００２７】
（Ａ）文字属性による参照情報の表示
この表示方法では、参照元の部分と参照先の部分を、他の部分とは異なる同一の文字属性で表示する。この場合、文字属性としては、例えば、文字色や背景色等を用いることができる。
【００２８】
図５に、このときの表示画面の例を示す。
図では、まず、上記（１）で埋め込まれた参照情報に基づいて、５行目の発言における単語「印刷」が２行目の発言における単語「印刷」を指していることが、太枠線で示されている。また、上記（２）で埋め込まれた参照情報に基づいて、３行目の発言が、１行目の発言に対する返答であることが、細枠線で示されている。尚、この例では、過去の発言に対して発言番号を表示していないが、発言番号を表示した場合は、例えば、参照元の文字列の近傍に参照先の発言の発言番号を表示するような方法を採用することもできる。
【００２９】
（Ｂ）特殊オブジェクトによる参照情報の表示
この表示方法は、より直接的に参照先の情報を表示する方法である。即ち、まず、参照元の文字列を選択可能であることが分かるように強調表示しておく。そして、強調表示された参照元の文字列をマウスでクリックすることで、参照先表示オブジェクト３５を表示し、このオブジェクトに参照先の発言を表示する。
【００３０】
図６に、このときの表示画面の例を示す。
図では、上記（１）で埋め込まれた参照情報に基づいて、５行目の発言における単語「印刷」が２行目の発言に関連するものであることを、参照先表示オブジェクト３５内に示している。尚、この例では、参照先の情報を特殊オブジェクト内に表示したが、ポップアップウィンドウ内に表示する方法も考えられる。
【００３１】
以上、参照情報の表示方法について述べてきたが、発言をログとして保存する際には、このような参照情報も保存しておき、後で過去ログを閲覧する時に利用できるようにする。
【００３２】
次に、このような動作を行うクライアント１０について詳細に説明する。
まず、クライアント１０の機能構成について説明する。
図７は、クライアント１０の機能構成例を示したブロック図である。
図示するように、クライアント１０は、入力受付部１１と、過去ログ記憶部１２と、参照情報生成部１３と、参照情報記憶部１４とを備える。また、送信部１５と、表示制御部１６と、受信部１７とを備える。
【００３３】
入力受付部１１は、発言入力欄３２への新たな発言データ（以下、「新規発言データ」という）の入力、参照先候補表示ウィンドウ３３における選択入力、参照先コピーメニュー３４からの選択入力、送信ボタンの押下入力、後述する受信部１７からの入力等、各種入力を受け付ける。本実施の形態では、メッセージを取得する取得部の一例として、入力受付部１１を設けている。
過去ログ記憶部１２は、入力受付部１１が過去に受け付けた発言データのログ（以下、「過去ログ」という）を記憶する。本実施の形態では、複数のメッセージを記憶する記憶部の一例として、また、複数のメッセージが記録される記録媒体の一例として、過去ログ記憶部１２を設けている。
【００３４】
参照情報生成部１３は、入力受付部１１が受け付けた新規発言データが、過去ログ記憶部１２に記録されたそれよりも過去の発言データ（以下、「先行発言データ」という）の何れを参照しているかを示す参照情報を生成する。本実施の形態では、新たに取得された第１のメッセージの一例として、新規発言データを用いており、記憶部に記憶された複数のメッセージの一例として、先行発言データを用いている。また、第１のメッセージによって参照される第２のメッセージを決定する決定部の一例として、また、参照情報を生成する生成部の一例として、参照情報生成部１３を設けている。
参照情報記憶部１４は、参照情報生成部１３が生成した参照情報を記憶する。
【００３５】
送信部１５は、入力受付部１１が受け付けた新規発言データと参照情報生成部１３が生成した参照情報とを、入力受付部１１による送信ボタンの押下入力の受付に応じて他のクライアント１０に送信する。
表示制御部１６は、入力受付部１１が受け付けた新規発言データを表示する制御を行う。また、参照情報記憶部１４に記憶された参照情報に基づいて、参照元と参照先の関係を示す標識も表示する。本実施の形態では、第１のメッセージと、記憶部に記憶された複数のメッセージと、参照情報に基づく標識とを表示する表示部との一例として、表示制御部１６を設けている。
受信部１７は、他のクライアント１０にて入力された新規発言データをそのクライアント１０から受信する。本実施の形態では、メッセージを受信する受信部の一例として、受信部１７を設けている。
【００３６】
ここで、過去ログ記憶部１２に記憶された過去ログについて説明する。
図８は、過去ログ記憶部１２に記憶された過去ログの一例を示した図である。
図示するように、過去ログは、発言番号と、発言データとを対応付けたものになっている。尚、図中、（ａ）は、図２に示した表示がなされている時点での過去ログの例であり、（ｂ）は、図３に示した表示がなされている時点での過去ログの例である。
【００３７】
次いで、クライアント１０の動作について詳細に説明する。
まず、クライアント１０が発言データを送信する側になる場合について説明する。
図９は、クライアント１０のこのときのメインの動作例を示したフローチャートである。
まず、参加者が、発言入力欄３２に新規発言データを入力すると、入力受付部１１が新規発言データを受け付ける（ステップ１０１）。そして、参照情報生成部１３を制御して後述する参照情報生成処理を実行し、参照情報を取得する（ステップ１０２）。
【００３８】
次に、入力受付部１１は、送信ボタンが押下されたかどうかを判定し（ステップ１０３）、押下されていなければ、押下されるまで待ち合わせる。一方、押下されたならば、入力受付部１１は、新規発言データ及び参照情報を送信部１５に受け渡し、送信部１５が、新規発言データ及び参照情報をチャットサーバ２０を介してチャット相手のクライアント１０に送信する（ステップ１０４）。また、このとき、入力受付部１１は、新規発言データ及び参照情報を表示制御部１６にも受け渡し、表示制御部１６が、新規発言データを参照情報に基づく参照関係が分かるように表示する（ステップ１０５）。尚、このとき、既に参照情報記憶部１４に記憶された参照情報の中に、現在画面に表示されている先行発言データ間の参照関係を示すものがあれば、その参照関係も分かるように表示する。更に、入力受付部１１は、新規発言データを過去ログ記憶部１２に記録し（ステップ１０６）、参照情報を参照情報記憶部１４に記憶する（ステップ１０７）。
【００３９】
ここで、ステップ１０２での参照情報生成部１３による参照情報生成処理について詳細に説明する。
このステップでの参照情報の生成方法は、上述した（１）〜（３）の入力方法ごとに異なる。そこで、これらをそれぞれ参照情報生成処理１〜３として順に説明する。
（１）参照情報生成処理１
図１０は、参照情報生成処理１の動作例を示したフローチャートである。
この処理では、まず、参照情報生成部１３が、入力受付部１１が受け付けた新規発言データを取得する（ステップ１２１）。
次に、参照情報生成部１３は、新規発言データの先頭から走査し、参照関係を調べるのに相応しい単語を切り出す（ステップ１２２）。ここで、参照関係を調べるのに相応しい単語としては、名詞、動詞等の意味のある単語が挙げられる。即ち、「は」「が」等の助詞や、「です」「ます」等の助動詞は、単語として切り出されないように予め除外しておくことが望ましい。
【００４０】
一方、参照情報生成部１３は、１つ前の先行発言データを過去ログ記憶部１２から取り出す（ステップ１２３）。そして、ステップ１２２で切り出した単語が、ステップ１２３で取り出した先行発言データの中に存在するかどうかを判定する（ステップ１２４）。
その結果、切り出した単語が先行発言データの中に存在しない場合は、ステップ１２３に戻り、もう１つ前の先行発言データを取り出して、ステップ１２４の判定を行う。
一方、切り出した単語が先行発言データの中に存在する場合は、切り出した単語に関連付けて、先行発言データの発言番号、先行発言データ内のその単語の位置（単語位置）を記憶しておく（ステップ１２５）。例えば、過去ログ記憶部１２に図８（ａ）に示す過去ログが記録されている場合であれば、新規発言データ内の単語位置「１−２」に対して、発言番号「６」と単語位置「１０−１１」、発言番号「８」と単語位置「１０−１１」が記憶される。
【００４１】
次いで、参照情報生成部１３は、ステップ１２３で取り出した先行発言データの数が閾値に達したかどうか判定する（ステップ１２６）。そして、取り出した先行発言データの数が閾値に達していない場合は、ステップ１２３に戻り、もう１つ前の先行発言データを取り出して、ステップ１２４〜１２５の処理を行う。また、取り出した先行発言データの数が閾値に達している場合、ステップ１２２で切り出した単語に対してステップ１２５で情報が記憶されていれば、発言入力欄３２において、この単語を選択可能であることが分かるように強調表示する（ステップ１２７）。尚、この場合の閾値は、幾つ前の発言まで先行発言データを遡るかによって定めてもよいし、何秒前或いは何分前の発言まで先行発言データを遡るかによって定めてもよい。また、このように先行発言データを遡る限度を設けたのは、チャットの場合、あまりに古い発言に対して応答することは考え難いからである。
【００４２】
その後、参照情報生成部１３は、ステップ１２１で取得した新規発言データからの単語の切り出しが終了したか、つまり、切り出すべき単語がなくなったかを判定する（ステップ１２８）。
その結果、単語の切り出しが終了していなければ、つまり、切り出すべき単語が他にあれば、その単語についてステップ１２２〜１２７の処理を行う。
一方、単語の切り出しが終了していれば、つまり、切り出すべき単語が他になければ、参加者による選択操作を受け付ける処理に移行する。尚、このとき、新規発言データに含まれる単語のうち一定範囲内の先行発言データにも現れた単語には、選択可能であることが分かるような強調表示が施されている。例えば、図２では、新規発言データにも先行発言データにも現れている単語が「印刷」のみなので、この単語のみが強調表示されているが、新規発言データにも先行発言データにも現れている単語が他にもあれば、その単語も強調表示されることになる。
【００４３】
さて、このように強調表示された単語の何れかの選択を入力受付部１１が受け付けると、参照情報生成部１３の指示により、表示制御部１６が、ステップ１２５でその単語に関連付けて記憶された発言番号で特定される先行発言データをリストとして含む参照先候補表示ウィンドウ３３をクライアント１０の画面に表示するように制御する（ステップ１２９）。例えば、過去ログ記憶部１２に図８（ａ）に示す過去ログが記録されている場合であれば、ステップ１２５において、新規発言データ内の単語位置「１−２」に対して、発言番号「６」と発言番号「８」とが記憶されたので、発言番号「６」で特定される先行発言データと発言番号「８」で特定される先行発言データとを含む参照先候補表示ウィンドウ３３が表示されることになる。
【００４４】
次に、参加者が参照先候補表示ウィンドウ３３内の何れかの先行発言データを選択する操作を行うと、入力受付部１１は、その選択操作を受け付けて、参照情報生成部１３に伝える。すると、参照情報生成部１３は、新規発言データの発言番号と、新規発言データ内のステップ１２９で選択された単語の位置（単語位置）と、ここで選択された先行発言データの発言番号と、先行発言データ内のステップ１２９で選択された単語の位置（単語位置）とを関連付けた参照情報を生成する（ステップ１３０）。例えば、図２では、発言番号「８」で特定される先行発言データが選択されているので、参照先の情報として発言番号「８」と単語位置「１０−１１」を含む参照情報が生成される。これにより、参照情報生成部１３は、この参照情報を入力受付部１１に返す（ステップ１３１）。
その後、入力受付部１１は、発言入力欄３２上での選択操作が終了したかどうかを判定する（ステップ１３２）。その結果、選択操作が終了していなければ、次の選択操作に応じて、ステップ１２９〜１３１の処理を行うが、選択操作が終了していれば、処理を終了する。
【００４５】
尚、この動作例では、新規発言データに現れた単語と全く同じ単語が現れた先行発言データを参照先の候補としたが、新規発言データに現れた単語に関連する単語が現れた先行発言データを参照先の候補としてもよい。ここで、２つの単語が関連しているかどうかは、予め定めておいた規則を用いて判断してもよいし、その他の既存技術を用いて判断してもよい。また、新規発言データに現れる単語と先行発言データに現れる単語との関係に着目するのではなく、新規発言データ内の文節と先行発言データ内の文節との関係や、新規発言データの文全体と先行発言データの文全体との関係等に着目してもよい。即ち、新規発言データ及び先行発言データの少なくとも何れか一方を解析することで発言の意味合いを数値化し、これによって参照関係を決定するようなものであってもよい。つまり、少なくとも新規発言データの解析結果に基づいて参照情報を生成するものであればよい。
【００４６】
（２）参照情報生成処理２
図１１は、参照情報生成処理２の動作例を示したフローチャートである。
この処理では、まず、参照情報生成部１３が、入力受付部１１が受け付けた新規発言データを取得する（ステップ１４１）。
次に、参照情報生成部１３は、新規発言データの先頭から走査し、予め決められた特定の文字列に続く数字を参照先の先行発言データの発言番号として切り出す（ステップ１４２）。例えば、図３では、予め決められた文字列「＞＞」が見つかるので、これに続く発言番号「５」が切り出される。
次いで、参照情報生成部１３は、新規発言データの発言番号と、ステップ１４２で切り出された先行発言データの発言番号とを関連付けた参照情報を生成する（ステップ１４３）。例えば、図３では、発言番号「５」で特定される先行発言データが指定されているので、参照先の情報として発言番号「５」を含む参照情報が生成される。これにより、参照情報生成部１３は、この参照情報を入力受付部１１に返す（ステップ１４４）。
【００４７】
尚、この動作例では、新規発言データの特定の文字列に続く数字を参照先の先行発言データの発言番号として切り出したが、これには限らない。即ち、新規発言データに対して何らかの解析を行い、その解析結果から得られる識別情報によって参照先の先行発言データを特定するものであればよい。
【００４８】
（３）参照情報生成処理３
図１２は、参照情報生成処理３の動作例を示したフローチャートである。
この処理では、まず、参照情報生成部１３が、入力受付部１１を介して、先行発言データにおける単語の選択を受け付ける（ステップ１６１）。そして、参照先コピーメニュー３４から参照が指示されたかどうかを判定する（ステップ１６２）。
その結果、参照が指示されていれば、ステップ１６１で選択された単語を含む先行発言データの発言番号と、ステップ１６１で選択された単語の先行発言データ内の位置（単語位置）とを記憶する（ステップ１６３）。一方、参照が指示されていなければ、このような参照先の情報は記憶しない。
【００４９】
次に、参照情報生成部１３は、入力受付部１１が受け付けた新規発言データを取得し（ステップ１６４）、入力受付部１１を介して、新規発言データにおける単語の選択を受け付ける（ステップ１６５）。そして、参照先コピーメニュー３４からコピーが指示されたかどうかを判定する（ステップ１６６）。
その結果、コピーが指示されていれば、ステップ１６３で参照先の情報が記憶されたかどうかを判定する（ステップ１６７）。そして、参照先の情報が記憶されていれば、新規発言データの発言番号と、ステップ１６５で選択された単語の新規発言データ内の位置（単語位置）と、ステップ１６３で記憶された先行発言データの発言番号と、同じくステップ１６３で記憶された先行発言データ内の単語位置とを関連付けた参照情報を生成する（ステップ１６８）。これにより、参照情報生成部１３は、この参照情報を入力受付部１１に返す（ステップ１６９）。
【００５０】
ここで、以上述べた参照情報生成処理によって生成される参照情報について説明する。
図１３は、参照情報生成処理で生成される参照情報の一例を示した図である。
図示するように、参照情報は、参照元を示す参照元情報と、参照先を示す参照先情報とを対応付けたものになっている。そして、参照元情報は、参照元の発言データの発言番号とその発言データ内の単語位置を更に含んでいる。また、参照先情報は、参照先の発言データの発言番号とその発言データ内の単語位置を更に含んでいる。
尚、図では、１行目が、図３の例で生成される参照情報を示しており、２行目は、図２の例で生成される参照情報を示している。
【００５１】
次に、クライアント１０が発言データを受信する側になる場合について説明する。
図１４は、クライアント１０のこのときのメインの動作例を示したフローチャートである。
まず、他のクライアント１０から新規発言データ及び参照情報が送信されると、受信部１７が新規発言データ及び参照情報を受信し、入力受付部１１に受け渡す（ステップ１８１）。
これにより、入力受付部１１は、新規発言データ及び参照情報を表示制御部１６に受け渡し、表示制御部１６が、新規発言データを参照情報に基づく参照関係が分かるように表示する（ステップ１８２）。尚、このとき、既に参照情報記憶部１４に記憶された参照情報の中に、現在画面に表示されている先行発言データ間の参照関係を示すものがあれば、その参照関係も分かるように表示する。また、入力受付部１１は、新規発言データを過去ログ記憶部１２に記録し（ステップ１８３）、参照情報を参照情報記憶部１４に記憶する（ステップ１８４）。
以上により、本実施の形態の動作は終了する。
【００５２】
以上述べたように、本実施の形態では、チャットにおける発言に、過去の発言を参照していることを表す情報を埋め込むようにした。その際、過去の発言の参照を簡単に埋め込めるよう、例えば、参照入力サポート機能を用意した。また、埋め込まれた情報をチャット相手に発言内容と共に送信し、発言内容を参照関係が分かるように表示した。このように、本実施の形態では、参照情報を利用することにより、発言が交錯した際に会話の文脈が分かり難くなってしまうという問題を解決した。
【００５３】
尚、本実施の形態では、チャットにおける発言データに参照情報を埋め込み、チャットのログを表示する際に発言間の参照関係が分かるようにした。しかしながら、複数のユーザが様々な発言を書き込む掲示板に本発明を適用し、掲示板への書き込みのログを表示する際に発言間の参照関係が分かるようにしてもよい。
【００５４】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図１５は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００５５】
尚、図１５において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【００５６】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００５７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００５８】
１０…クライアント、１１…入力受付部、１２…過去ログ記憶部、１３…参照情報生成部、１４…参照情報記憶部、１５…送信部、１６…表示制御部、１７…受信部、２０…チャットサーバ
【図１】
2010176207.tif 000003
【図２】
2010176207.tif 000004
【図３】
2010176207.tif 000005
【図４】
2010176207.tif 000006
【図５】
2010176207.tif 000007
【図６】
2010176207.tif 000008
【図７】
2010176207.tif 000009
【図８】
2010176207.tif 000010
【図９】
2010176207.tif 000011
【図１０】
2010176207.tif 000012
【図１１】
2010176207.tif 000013
【図１２】
2010176207.tif 000014
【図１３】
2010176207.tif 000015
【図１４】
2010176207.tif 000016
【図１５】
2010176207.tif 000017