JP4889690B2 - 会話表示方法及びサーバ装置 - Google Patents

会話表示方法及びサーバ装置 Download PDF

Info

Publication number
JP4889690B2
JP4889690B2 JP2008171197A JP2008171197A JP4889690B2 JP 4889690 B2 JP4889690 B2 JP 4889690B2 JP 2008171197 A JP2008171197 A JP 2008171197A JP 2008171197 A JP2008171197 A JP 2008171197A JP 4889690 B2 JP4889690 B2 JP 4889690B2
Authority
JP
Japan
Prior art keywords
conversation
avatar
user
speech
avatars
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008171197A
Other languages
English (en)
Other versions
JP2010009512A (ja
Inventor
郁成 結城
太郎 児玉
博 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2008171197A priority Critical patent/JP4889690B2/ja
Publication of JP2010009512A publication Critical patent/JP2010009512A/ja
Application granted granted Critical
Publication of JP4889690B2 publication Critical patent/JP4889690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、仮想空間におけるアバタが発する会話のログを表示する会話表示法及びサーバ装置に関する。
近年、コンピュータネットワーク上のサーバ装置が作り出す仮想空間(仮想世界ともいう)において、コンピュータネットワーク上のサーバ装置に接続された端末におけるユーザの分身であるアバタ(Avatar)を利用したコミュニケーションが行われている。アバタを利用したコミュニケーションには、一般に、チャットが用いられる。なお、チャットとは、1対1、1対多数、多数対多数による文字による会話であり、会話内容は発言者アバタの近傍にキャプションとして表示される。
仮想空間において、偶然に自己のアバタ近くで行われている会話のキャプションを見たユーザが、その会話に関心を持つ場合がある。このような場合に、自己のアバタを関心を持った会話に参加させることなく、ユーザが会話の内容を知ることができる装置がある(特許文献1)。
特許文献1に記載の装置は、メッセージ交換を行っている複数のアバタが位置する場所の近傍に配置された第三者のアバタのユーザに対してもメッセージを送信する。即ち、メッセージの交換に参加していない第三者のアバタのユーザに対してもメッセージを送信することにより、現実の世界において、実際に会話には参加していないが、近くにいることにより会話の内容を聴取することができる状態と同様の状態を作り出している。
特開2003−67317号公報
特許文献1に記載の装置では、ユーザは、会話が行われている場所の近傍に自己のアバタを配置した時点からの会話の内容を知ることができる。しかし、会話は連続しているため、自己のアバタを配置した時点からの会話の内容を知るだけでは、会話の内容が理解しにくいという問題点がある。また、自己のアバタを配置した時点より前の会話の内容がユーザの知りたい内容である場合もある。
そこで、上記問題点を解決するため、ユーザが会話に関心を持ち、会話の内容を知るために何らかのアクションを行うまでの会話のログを表示する装置またはシステムが求められている。
また、仮想空間において、発言者に対する会話相手を判断するのは困難である。なぜならば、会話を行っているアバタが必ずしも向き合っているとは限らず、また、アバタやキャプションがひしめきあっている場所において、発言者のキャプションに対応する他のキャプションを内容から判断することは困難であるからである。そのため、後から会話に加わったアバタのユーザが会話相手がわからず会話についていけないという問題点がある。
そこで、上記問題点を解決するため、ユーザが関心をもった会話の発言者及び会話相手を判定し、ユーザに表示する装置またはシステムが求められている。
本発明は、仮想空間におけるアバタが発する会話の発言者に対する会話相手を判定し、発言者及び会話相手を明示した会話ログを表示する会話表示方法及びサーバ装置を提供することを目的とする。
本発明では、以下のような解決手段を提供する。
(1) ネットワークを介して提供する仮想空間において、仮想空間内のアバタが行う会話を制御するサーバ装置と、当該サーバ装置と通信可能に接続された端末が実行する会話表示方法であって、
仮想空間内のアバタに対応するユーザを識別するユーザ識別ステップと、
識別されたユーザからの発言を受け付ける発言受付ステップと、
受け付けた発言の会話相手となるユーザを判定する会話相手判定ステップと、
前記受け付けた発言と、発言したユーザと、会話相手となるユーザとを対応付けて会話ログとして記憶する会話ログ記憶ステップと、
前記発言を、発言したユーザに対応するアバタと共に表示する会話表示ステップと、
表示された発言に対して、他のユーザからの選択を受け付ける会話選択受付ステップと、
前記選択を受け付けた発言に対応する会話ログを抽出する会話ログ抽出ステップと、
前記抽出した会話ログを、前記判定した会話相手との対話形式で表示する会話ログ表示ステップと、
を備える会話表示方法。
(1)の構成によれば、表示された発言が他のユーザから選択されたことに応じて、選択された発言に対応する会話ログを抽出し、抽出した会話ログを対話形式で表示することができる。例えば、ユーザCが自己の端末にてアバタAの会話の発言を選択した場合には、アバタAの過去の会話ログが表示される。表示される会話ログとは、例えば、アバタAがアバタBと会話をしているとすると、アバタAとアバタBとの会話が対話形式で表示されたものである。従って、選択された発言に対応する会話のログが発言者及び会話相手を明示した対話形式で表示されることにより、発言を選択した他のユーザが容易に会話内容及び会話参加者を知ることができる。
(2) 前記アバタに対応するユーザの操作指示に応じて、前記仮想空間内において、前記アバタを移動する移動ステップと、
前記発言したユーザに対応するアバタの前記仮想空間内の位置を判別する位置判別ステップと、
を更に備え、
判別した前記アバタの仮想空間内の位置から、所定の距離内に他のアバタが位置するかを判定すると共に、前記他のアバタが前記所定の範囲内に所定の時間以上位置するかを判定し、前記他のアバタに対応するユーザを前記受け付けた発言の会話相手となるユーザと判定する(1)に記載の会話表示方法。
(2)の構成によれば、仮想空間における発言したユーザに対応するアバタと他のアバタとの位置に基づいて、発言したユーザがアバタを介して行っている会話の会話相手である他のユーザを判定することができる。例えば、複数のアバタが存在する仮想空間において、自己の分身であるアバタを介して会話を行っているユーザAがいる場合に、ユーザAのアバタの位置から所定の範囲内に位置し、かつ所定の範囲内に所定の時間以上位置するアバタBをアバタAの会話相手と判定する。ここで、所定の範囲内とは、アバタAから等距離の範囲を意味し、例えば、アバタAから5mの範囲、つまり、アバタAを中心とした半径5mの円内のことである。また、所定の時間とは、例えば、会話表示サーバ装置が発言を受信してからの一定時間であり、具体的には、アバタAの発言をサーバ装置が受信してから5分のことである。従って、複数のユーザが存在する仮想空間においてアバタ同士の会話が行われてる際に、発言したユーザに対応するアバタの会話相手となるアバタをアバタ同士の一定時間の位置関係に基づいて適切に特定することにより、発言したユーザの会話相手となるユーザを適切に判定することができる。
(3) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記位置判別ステップは、所定の時間内において、前記アバタまたは複数の前記他のアバタそれぞれに対応するユーザの操作指示に応じて、移動した前記アバタまたは複数の前記他のアバタそれぞれの位置を判別し、
判別された前記アバタの位置と複数の前記他のアバタそれぞれの位置とに基づいて、前記所定の時間内において、複数の前記他のアバタであって前記アバタに接近しているアバタに対応するユーザを、前記受け付けた発言の会話相手となるユーザと判定する(2)に記載の会話表示方法。
(3)の構成によれば、(2)に記載の構成により発言したユーザに対応するアバタの会話相手と判定されたアバタが複数の場合に(以下、(2)に記載の構成により発言したユーザに対応するアバタの会話相手と判定された複数のアバタを会話相手候補アバタという)、所定の時間内において、発言をしたユーザまたは会話相手候補アバタそれぞれに対応するユーザの操作指示に応じて、移動したアバタそれぞれの位置を判別する。発言をしたユーザに対応するアバタまたは会話相手候補アバタそれぞれの判別された位置に基づいて、所定の時間内において、会話相手候補アバタの内、発言をしたユーザに対応するアバタに接近しているアバタに対応するユーザを、発言したユーザの会話相手となるユーザと判定する。従って、複数のユーザが存在する仮想空間においてアバタ同士の会話が行われている際に、会話相手の判断基準にアバタ同士の距離の変化を用いることにより、発言したユーザの会話相手をより適切に特定することができる。
(4) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記アバタに対して友達関係を有する複数のアバタをリストとして記憶するステップと、
複数の前記他のアバタであって前記リストに記憶されているアバタに対応するユーザを前記受け付けた発言の会話相手となるユーザと判定する(2)または(3)に記載の会話表示方法。
(4)の構成によれば、会話相手候補アバタがいる場合に、発言したユーザに対応するアバタに対して友達関係を有する複数のアバタをリストとして記憶する。会話相手候補アバタの内、リストに記憶されているアバタに対応するユーザを、発言したユーザの会話相手となるユーザと判定することができる。従って、複数のユーザが存在する仮想空間においてアバタ同士の会話が行われてる際に、会話相手の判断にアバタ同士の友達関係を加味することにより、発言したユーザに対応するの会話相手をより適切に特定することができる。
(5) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
ユーザが発言をした発言時刻を受け付ける時刻受付ステップと、
前記発言時刻を前記発言と、前記発言したユーザと、前記会話相手となるユーザとを対応付けて記憶する時刻記憶ステップと、
を更に備え、
複数の前記他のアバタそれぞれに対応するユーザであって、前記ユーザの発言時刻から所定の時間以内である発言時刻に対応付けられている前記発言したユーザを、前記受け付けた言の会話相手となるユーザと判定する(2)から(4)のいずれかに記載の会話表示方法。
(5)の構成によれば、会話相手候補アバタがいる場合に、ユーザが発言した発言時刻を発言等に対応付けて記憶し、会話相手候補アバタに対応するユーザの内、発言時刻から所定の時間以内に発言したユーザを発言したユーザの会話相手となるユーザと判定することができる。例えば、発言したユーザの発言時刻の直後に発言した他のユーザのアバタを会話相手と判定する。従って、複数のユーザが存在する仮想空間においてアバタ同士の会話が行われてる際に、会話相手の判断基準に会話のキャッチボールのタイミングを用いることにより、発言したユーザに対応するの会話相手をより適切に特定することができる。
(6) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記アバタ及び複数の前記他のアバタのユーザがした発言の形態素解析により特徴量を抽出する抽出ステップと、
複数の前記他のアバタに対応するユーザであって、前記アバタのユーザがした発言と前記特徴量によって関連する発言をしたユーザを、前記受け付けた発言の会話相手となるユーザと判定する(2)から(5)のいずれかに記載の会話表示方法。
(6)の構成によれば、会話相手候補アバタがいる場合に、発言したユーザ及び会話相手候補アバタのユーザが入力した発言を形態素解析することによりそれら発言それぞれの特徴量を抽出し、発言したユーザの発言と抽出された特徴量によって関連する発言を入力した会話相手候補アバタのユーザを、発言したユーザの会話相手となるユーザと判定する。従って、複数のユーザが存在する仮想空間においてアバタ同士の会話が行われている際に、会話相手の判断基準に発言の内容、つまり、発言間の関連性を用いることにより、発言したユーザに対応する会話相手をより適切に特定することができる。
(7) 端末と通信可能に接続され、ネットワークを介して提供する仮想空間において、仮想空間内のアバタが行う会話を制御する会話表示サーバ装置であって、
仮想空間内のアバタに対応するユーザを識別するユーザ識別手段と、
識別されたユーザからの発言を受け付ける発言受付手段と、
受け付けた発言の会話相手となるユーザを判定する会話相手判定手段と、
前記受け付けた発言と、発言したユーザと、会話相手となるユーザとを対応付けて会話ログとして記憶する会話ログ記憶手段と、
前記発言を、発言したユーザに対応するアバタと共に表示する会話表示手段と、
表示された発言に対して、他のユーザからの選択を受け付ける会話選択受付手段と、
前記選択を受け付けた発言に対応する会話ログを抽出する会話ログ抽出手段と、
前記抽出した会話ログを、前記判定した会話相手との対話形式で表示する会話ログ表示手段と、
を備える会話表示サーバ装置。
(8) 前記アバタに対応するユーザの操作指示に応じて、前記仮想空間内において、前記アバタを移動する移動手段と、
前記発言したユーザに対応するアバタの前記仮想空間内の位置を判別する位置判別手段と、
を更に備え、
前記会話相手判定手段は、判別した前記アバタの仮想空間内の位置から、所定の距離内に他のアバタが位置するかを判定すると共に、前記他のアバタが前記所定の範囲内に所定の時間以上位置するかを判定し、前記他のアバタに対応するユーザを前記受け付けた発言の会話相手となるユーザと判定する(7)に記載の会話表示サーバ装置。
(9) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記位置判別手段は、所定の時間内において、前記アバタまたは複数の前記他のアバタそれぞれに対応するユーザの操作指示に応じて、移動した前記アバタまたは複数の前記他のアバタそれぞれの位置を判別し、
前記会話相手判定手段は、判別された前記アバタの位置と複数の前記他のアバタそれぞれの位置とに基づいて、前記所定の時間内において、複数の前記他のアバタであって前記アバタに接近しているアバタに対応するユーザを、前記受け付けた発言の会話相手となるユーザと判定する(8)に記載の会話表示サーバ装置。
(10) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記アバタに対して友達関係を有する複数のアバタをリストとして記憶する友達記憶手段を更に備え、
前記会話相手判定手段は、複数の前記他のアバタであって前記リストに記憶されているアバタに対応するユーザを前記受け付けた発言の会話相手となるユーザと判定する(8)または(9)に記載の会話表示サーバ装置。
(11) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記発言受付手段は、ユーザが発言をした発言時刻を受け付け、
前記会話ログ記憶手段は、前記発言時刻を前記発言と、前記発言したユーザと、前記会話相手となるユーザとを対応付けて記憶し、
前記会話相手判定手段は、複数の前記他のアバタそれぞれに対応するユーザであって、前記ユーザの発言時刻から所定の時間以内である発言時刻に対応付けられている前記発言したユーザを、前記受け付けた発言の会話相手となるユーザと判定する(8)から(10)のいずれかに記載の会話表示サーバ装置。
(12) 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
前記会話相手判定手段は、前記アバタ及び複数の前記他のアバタのユーザがした発言の形態素解析により特徴量を抽出し、複数の前記他のアバタに対応するユーザであって、前記アバタのユーザがした発言と前記特徴量によって関連する発言をしたユーザを、前記受け付けた発言の会話相手となるユーザと判定する(8)から(11)のいずれかに記載の会話表示サーバ装置。
本発明によれば、仮想空間におけるアバタが発する会話の発言者に対する会話相手を判定し、発言者及び会話相手を明示した会話ログを表示する会話表示方法及びサーバ装置を提供することができる。
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
(第1実施形態)
[会話表示システムの全体構成]
図1は、本発明の第1実施形態に係る会話表示サーバ装置1(以下、「サーバ装置1」という)と、端末2との全体構成を示す図である。図示されているように、本実施形態のサーバ装置1は、インターネットやイントラネットに代表されるネットワーク3の通信回線を介して、端末2とデータをやり取り可能に接続されている。ここで、端末2とは、仮想空間のアバタを操作するユーザが使用する端末であり、ネットワーク3を介して、あるいは直接、他の機器等とデータのやり取り可能な機器であればよく、例えば、パーソナル・コンピュータが挙げられる。なお、本構成におけるサーバ装置1は必ずしも1台とは限らず、複数台で構成されてもよい。また、サーバ装置1は、会話管理手段10及び記憶手段30を備える。会話管理手段10は、仮想空間における、アバタの会話ログの管理や会話ログの提供を行う。記憶手段30は、会話管理手段10にて使用される情報が記憶されている。
[会話表示サーバ装置の機能構成]
図2は、本発明の第1実施形態のサーバ装置1の機能構成を示す図である。会話管理手段10は、会話選択受付手段としてキャプション受付手段11、会話ログ抽出手段12、会話ログ表示手段として会話ログ送信手段13、発言受付手段14、ユーザ識別手段15、会話表示手段としてキャプション表示送信手段16、位置判別手段17、会話相手判定手段18、操作受付手段19及び移動手段20を備える。また、記憶手段30は、会話ログ記憶手段として会話ログDB31、アバタDB32、位置履歴DB33及び友達記憶手段として友達DB34を備える。
キャプション受付手段11は、端末2の画面に表示されているキャプションが、ユーザにて選択された際に、選択されたキャプションの情報を受信する。選択されたキャプションの情報とは、キャプションの発言に対応する発言IDでもよいし、その発言が紐付けられているアバタのアバタIDでもよい。会話ログ抽出手段12は、選択されたキャプションの情報に基づいて、会話ログDB31から過去の発言及びその発言をしたユーザのユーザIDを取得する。会話ログ送信手段13は、会話ログ抽出手段12にて取得された過去の発言及びその発言をしたユーザのユーザIDを会話ログとして、端末2に送信する。その結果、会話ログを受信した端末2の画面には、会話ログが表示される。
発言受付手段14は、端末2のユーザが入力した会話の発言と、発言をしたユーザのユーザIDとを受信し、会話ログDB31に記憶する。ユーザ識別手段15は、アバタDB32を用いて、ユーザIDを対応するアバタIDへ変換し、また、その逆の変換を行う。キャプション表示送信手段16は、発言受付手段14にて取得した発言及び発言を入力したユーザのアバタIDを、発言を入力したユーザと異なる端末2に送信する。発言及び発言を入力したユーザのアバタIDを受信した端末2の画面には、受信したアバタIDに対応するアバタの近傍にキャプションとして発言が表示される。
位置判別手段17は、発言受付手段14にて受信した発言を入力したユーザのアバタ及びそのアバタの会話相手候補のアバタの仮想空間における位置をアバタDB32から取得する。会話相手判定手段18は、位置判別手段17にて取得された発言を入力したユーザのアバタの位置に基づいて、会話相手を判定する。また、発言を入力したユーザのアバタの位置に基づいて判定された会話相手を会話相手候補として、更にその他の条件にて会話相手候補の中から会話相手を判定する。
操作受付手段19は、端末2にてユーザが入力したアバタに対する操作指示、例えば、アバタのA地点からB地点への移動の操作指示を受け付ける。移動手段20は、操作受付手段19にて受け付けた操作に基づいて、サーバ装置1のアバタを移動し、移動後の位置をアバタDB32に記憶する。それにより、アバタ移動の操作を行った以外の端末2においても、そのアバタを移動させることができる。
会話ログDB31は、端末2にてユーザが入力した発言、つまり、仮想空間におけるアバタの発言を、それを入力したユーザを特定するユーザID等に対応付けて格納している。アバタDB32は、アバタに関連する情報が格納されており、アバタに関連する情報とは、例えば、アバタを特定するアバタID、アバタのユーザを特定するユーザID、アバタの位置情報、アバタの画像等である。操作受付手段19にて、アバタの移動の操作を端末2から受信すると、アバタDB32は更新される。位置履歴DB33は、会話相手判定手段18にて、発言に対する会話相手を判定するために、所定時間内のアバタの位置を記憶しておく。なお、相手判定が終了すると、記憶されたアバタの位置は削除される。友達DB34は、アバタに対して友達関係を有するアバタのアバタIDまたはそのアバタに対するユーザのユーザIDをアバタ毎にリストとして記憶している。なお、友達関係は、既存のSNS(Social Network Service)と同様、ユーザ同士の合意に基づいて任意に設定できる。以下、このリストを友達リストという。
[会話表示サーバ装置のハードウェア構成]
図3は、本発明の各実施形態に係るサーバ装置1のハードウェア構成を示す図である。以下は、コンピュータを典型とする情報処理装置として全般的な構成を説明するが、専用機や組込型装置の場合、その環境に応じて必要最小限な構成を選択できることはいうまでもない。
サーバ装置1は、制御部300を構成するCPU(Central Processing Unit)310(マルチプロセッサ構成ではCPU320等複数のCPUが追加されてもよい)、バスライン200、通信I/F(I/F:インターフェイス)330、メインメモリ340、BIOS(Basic Input Output System)350、表示装置360、I/Oコントローラ370、キーボード及びマウス等の入力装置380、ハード・ディスク390、光ディスク・ドライブ400並びに半導体メモリ420を備える。なお、ハード・ディスク390、光ディスク・ドライブ400及び半導体メモリ420はまとめて記憶装置430と呼ぶ。
制御部300は、サーバ装置1を統括的に制御する部分であり、ハード・ディスク390(後述)に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
通信I/F330は、サーバ装置1が、ネットワーク3を介して他の情報処理装置と情報を送受信する場合のネットワーク・アダプタである。通信I/F330は、モデム、ケーブル・モデム及びイーサネット(登録商標)・アダプタを含んでよい。
BIOS350は、サーバ装置1の起動時にCPU310が実行するブートプログラムや、サーバ装置1のハードウェアに依存するプログラム等を記録する。
表示装置360は、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。
I/Oコントローラ370には、ハード・ディスク390、光ディスク・ドライブ400及び半導体メモリ420等の記憶装置430を接続することができる。
入力装置380は、サーバ装置1のユーザによる入力の受け付けを行うものである。
ハード・ディスク390は、各種プログラムや各種データを記憶し、図2の記憶手段30と対応する。なお、サーバ装置1は、外部に別途設けたハード・ディスク(図示せず)を外部記憶装置として利用することもできる。
光ディスク・ドライブ400としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、CD−RAMドライブを使用することができる。この場合は各ドライブに対応した光ディスク410を使用する。光ディスク410から光ディスク・ドライブ400によりプログラムまたはデータを読み取り、I/Oコントローラ370を介してメインメモリ340またはハード・ディスク390に提供することもできる。
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、サーバ装置1は、記憶装置430、制御部300等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
会話管理手段10は、制御部300によってプログラムが実行されることで実現される。また、会話ログDB31、アバタDB32、位置履歴DB33及び友達DB34は、主としてハード・ディスク390に実装される。
[端末のハードウェア構成]
端末2も、上述のサーバ装置1と同様な構成を持つ。また、上述の例ではいわゆるコンピュータで実現した例について説明したが、更に、本発明の原理が適用可能である限り、携帯電話、PDA(Personal Data Assistant)、ゲーム機等の様々な端末で実現してよい。
[会話表示サーバ装置の処理概要]
サーバ装置1は、2つの処理を行う。1つは、アバタのユーザが入力した会話を記録する会話ログ記憶処理である。もう1つは、会話に参加していないアバタのユーザに、会話ログ記憶処理にて記憶された会話ログのうち、ユーザが要求する会話ログを表示する会話ログ表示処理である。以下にそれぞれの処理について説明する。
[会話ログDB]
まず、会話ログ記憶処理及び会話ログ表示処理で用いられる会話ログDB31について説明する。図4は、本発明の第1実施形態に係る記憶手段30に格納される会話ログDB31を示す図である。会話ログDB31は、発言ID40aと、発言時刻40bと、発言者ユーザID40cと、会話相手ユーザID40dと、発言内容40eとを有する。発言ID40aには、発言を一意に示す記号が格納される。この記号は、端末2からサーバ装置1が会話を示す発言を発言受付手段14が受け付け、会話ログDB31に格納する際に適宜付与する。発言時刻40bには、発言がされた時刻が格納される。発言がされた時刻は、例えば、端末2に発言が入力された時刻でもよいし、アバタの近傍に発言がキャプションとして表示された時刻でもよい。
発言者ユーザID40cには、端末2にて発言を入力したユーザ(以下、「発言者ユーザ」という)を一意に特定する記号であるユーザIDが格納される。会話相手ユーザID40dには、発言者ユーザのアバタ(以下、「発言者アバタ」という)の会話相手であるアバタ(以下、「会話相手アバタ」という)のユーザ(以下、「会話相手ユーザ」という)を一意に特定する記号であるユーザIDが格納される。なお、発言者ユーザID及び会話相手ユーザIDには、アバタDB32に格納されているユーザIDのいずれかが格納される。発言者ユーザID及び会話相手ユーザIDは、会話ログ表示処理において、会話ログDB31に格納されている複数の発言から表示対象の会話を構成する1以上の発言を抽出する際に用いる。
[位置履歴DB]
次に、会話ログ記憶処理にて、発言者の会話相手を判定する際に用いられる位置履歴DB33について説明する。図5は、本発明の第1実施形態に係る記憶手段30に格納される位置履歴DB33を示す図である。位置履歴DB33は、操作受付手段19が、発言者アバタ、または発言者アバタの会話相手である他のアバタが操作されたことを、操作受付手段19が受け付けた際に、それらの位置を格納してもよいし、アバタの操作に関係なく、一定時間間隔で、それらの位置を記憶してもよい。位置履歴DB33は、時刻41aと、アバタ1の位置41bと、アバタ2の位置41cと、距離41dとを有する。
時刻41aには、アバタ1の位置41bと、アバタ2の位置41cとを取得した時刻が格納される。アバタ1の位置41bと、アバタ2の位置41cとには、発言者アバタ及び会話相手判定手段18にて会話相手と判定された会話相手候補アバタの位置が格納される。なお、アバタ1を発言者アバタ、アバタ2を会話相手候補アバタとしてもよいし、その逆でもよい。距離41dには、アバタ1の位置41bとアバタ2の位置41cとから求められた、アバタ1とアバタ2の間の距離が格納される。なお、会話相手候補アバタが複数いる場合には、アバタ1と複数の会話相手候補アバタそれぞれとを対応させて位置等を格納する。
[会話ログ記憶処理のフローチャート]
図6は、本発明の第1実施形態に係る会話ログ記憶処理を示すフローチャートである。会話ログ記憶処理は、仮想空間におけるアバタのユーザが入力した会話を会話ログDB31に記憶する。なお、本処理は、例えば、プログラム開始指令を受け付けて開始し、プログラム終了指令を受け付けて終了する。
S1:発言受付手段14は、端末2から会話を示す発言及び発言者ユーザのユーザIDを受け付けると、端末2から受信した発言及び発言者ユーザのユーザIDを取得する。なお、発言受付手段14は、発言及び発言者ユーザのユーザID以外の発言に関する情報、例えば、発言時刻を受け付け、取得してもよい。
S2:発言受付手段14は、S1にて取得した発言に発言IDを付与し、発言IDと、発言と、発言者ユーザのユーザIDとを会話ログDB31に記憶する。具体的には、発言を発言ID及び発言者ユーザIDに対応付けて記憶する。
S3:キャプション表示送信手段16は、S1にて取得した発言を発言者アバタの近傍にキャプションとして端末2に表示させるためのキャプション表示情報を送信する。ここで、送信する端末2は、S1にて会話を示す発言を入力した端末2とは異なる。会話を示す発言を入力した端末2は、既に、発言をキャプションとして表示するためのキャプション表示情報を保持しているため送信する必要がないからである。
S4:会話相手判定手段18は、発言者アバタから等距離の範囲に、一定時間存在する他のアバタを発言者アバタの会話相手と判定し、そのアバタのアバタIDを会話相手アバタIDとして取得する。その後、ユーザ識別手段15は、アバタDB32に基づいて、会話相手アバタIDを会話相手ユーザIDに変換する。詳細については、後述する。なお、会話相手と判定する発言者アバタからの所定の距離は、サーバ装置1の管理者等が任意に設定できる。
S5:会話相手判定手段18は、S4において会話相手と判定されたユーザを、S4において会話相手の判定を行うための一定時間内にされた発言者ユーザの発言に対応付けて会話ログDB31の会話相手ユーザとして記憶する。具体的には、S4において会話相手の判定が行われていた時刻及び発言者ユーザIDに対応するデータに対して、取得された会話相手ユーザIDを記憶する。
このようにして、仮想空間における会話を示す発言を発言者ユーザ及び会話相手ユーザと対応付けて記憶することにより、記憶された発言の中から会話を抽出することができる。会話をする者は発言者でも会話相手でもあるからである。例えば、アバタAとBとが会話している場合に、アバタAが発言者であればアバタBは会話相手となり、アバタBが発言者であればアバタAは会話相手となる。この例において、アバタAのユーザを発言者ユーザまたは会話相手ユーザとする発言を取得することにより、アバタAとBの会話を抽出することができる。
[会話相手判定処理のフローチャート]
図7は、本発明の第1実施形態に係る会話相手判定処理を示すフローチャートである。会話相手判定処理は、発言者アバタの会話相手を判定し、そのアバタに対応するユーザIDを会話相手ユーザIDとして取得する。なお、本処理は、例えば、プログラム開始指令を受け付けて開始し、プログラム終了指令を受け付けて終了する。
S11:位置判別手段17は、発言者アバタ及び会話相手候補アバタの仮想空間内における位置を取得する。具体的には、まず、ユーザ識別手段15が、アバタDB32において、発言者ユーザIDに対応付けられているアバタIDを取得し、位置判別手段17が、そのアバタIDに基づいて、発言者アバタの位置を取得する。なお、仮想空間内の位置は座標で指定し、例えば、3次元仮想空間においてはXYZ座標にて指定する。また、座標には、絶対座標系やユーザ座標系等があるがいずれでもよい。次に、位置判別手段17は、取得した発言者アバタの位置から等距離の範囲にいる他のアバタを会話相手候補アバタと判定し、それらのアバタIDを、会話相手候補アバタIDとして取得する。このとき、合わせて、会話相手候補アバタの位置を取得する。
S12:位置判別手段17は、S11にて取得した、発言者アバタの位置と会話相手候補アバタの位置とを、それらの位置を取得した時刻に対応付けて、位置履歴DB33に記憶する。なお、会話相手候補アバタが複数いる場合には、会話相手候補アバタ毎に記憶する。また、位置判別手段17は、発言者アバタと会話相手候補アバタとの距離を、発言者アバタの位置と会話相手候補アバタの位置に基づいて、例えば、2点間の距離の公式を用いて算出し、位置履歴DB33に記憶する。
S13:会話相手判定手段18は、最初に発言者アバタ及び会話相手候補アバタの位置を取得してから所定時間経過したか判断を行う。つまり、発言者アバタ及び会話相手候補アバタの位置を、所定時間の間、取得したか判断を行う。所定時間とは、サーバ装置1の管理者等が任意で設定する値である。会話相手判定手段18が所定時間経過したと判断すると、S14へ処理を進める。一方、会話相手判定手段18が所定時間経過していないと判断すると、S11及びS12の処理を繰り返す。なお、S11及びS12の処理を繰り返す場合、発言者アバタ及び会話相手候補アバタが移動する毎に位置を取得してもよいし、一定間隔をあけて発言者アバタ及び会話相手候補アバタの位置を取得してもよい。
S14:会話相手判定手段18は、位置履歴DB33に記憶されているデータに基づいて、会話相手候補アバタが、発言者アバタから等距離の範囲内にいる時間を算出する。具体的には、位置履歴DB33の距離が、所定の距離以下である時間を算出する。例えば、位置履歴DB33の時刻が12:00,12:01,及び12:02の距離の値が所定の距離以下であり、12:03の距離の値が所定の距離以上である場合には、12:00から12:02の2分間を会話相手候補アバタが、発言者アバタから等距離の範囲にいる時間とする。
S15:会話相手判定手段18は、S14において算出されたアバタが発言者アバタから等距離の範囲にいる時間に基づいて、会話相手候補アバタの中から会話相手を判定し、会話相手と判定されたアバタのアバタIDを会話相手アバタIDとして取得する。会話相手候補アバタの中から会話相手を判定する方法としては、例えば、発言者アバタから等距離の範囲にいる時間が所定の値以上のアバタを会話相手として判定する方法が挙げられる。
S16:会話相手判定手段18は、S15において取得された会話相手アバタIDを会話相手ユーザIDに変換する。具体的には、まず、ユーザ識別手段15が、アバタDB32において、S15にて取得した会話相手アバタIDに対応付けられているユーザIDを、会話相手ユーザIDとして取得する。
このように、発言者アバタから等距離の範囲に、一定時間存在するアバタを会話相手と判定することにより、発言がされたとき等の一時に発言者アバタから等距離の範囲にいるアバタを会話相手と判定するよりも、会話相手判定の精度が向上する。例えば、発言者アバタから等距離の範囲を通過しているアバタを除くことができるからである。
[会話相手判定の概要]
図8は、本発明の第1実施形態に係る会話相手判定を示す概要図である。図8(a)は、アバタAが発言した際の、アバタAとアバタB,D,Eとの位置関係を示す図である。図8(a)は、アバタAが発言した際に、アバタAから所定の等距離の範囲42にアバタB,E,Dが存在することを示し、会話相手候補アバタは、アバタB,E,Dであることを意味する。なお、発言者アバタAから所定の等距離の範囲42は、発言者アバタAを中心とした円となる。また、図8(b)は、所定時間経過直前に取得されたアバタAとアバタB,D,Eとの位置関係を示す図であり、アバタAから所定の等距離の範囲42にはアバタBしか存在しないことを示している。
この場合の、アバタAとアバタB,D,Eそれぞれとの位置履歴DB33を図8(c)から(e)に示す。図8(c)から(e)に基づいて、アバタB,それぞれの範囲42にいた時間を算出すると、1.5分、1分、0.5分となる。例えば、1分以上範囲42にいたアバタを会話相手と判定するという場合には、アバタB,Eが会話相手として判定される。アバタDは、範囲42にいる時間か短いことから、偶然に、範囲42を通過しているユーザであり、会話相手でない可能性が高い。しかし、図8(a)の時だけで会話相手を判定すると、アバタDも会話相手と判定されてしまい、会話相手でない可能性が高いアバタも会話相手と判定してしまう。一方、本実施形態によれば、アバタDは範囲42にいる時間か短いことから、会話相手でない可能性が高いことを判断することができ、会話相手から除外することができる。
[会話ログ表示処理のフローチャート]
図9は、本発明の第1実施形態に係る会話ログ表示処理を示すフローチャートである。会話ログ表示処理は、キャプションが選択されたことに基づいて、そのキャプションの発言が含まれる会話ログを表示する。あるユーザが、自己の端末2に表示されているキャプションをマウス等によって選択すると、会話ログ表示処理が開始する。なお、本処理は、端末2に会話ログが表示されると終了する。
S21:キャプション受付手段11は、ユーザの端末2に表示されているキャプションが選択されたことを受け付けると、選択されたキャプションの発言者であるアバタのアバタIDを取得する。なお、取得するのは発言IDでもよいが、その場合は、S22の処理を行わず、会話ログDB31を用いて、発言IDに対応する発言者IDを求める必要がある。
S22:ユーザ識別手段15は、S21にて取得されたアバタIDに対応するユーザIDをアバタDB32から取得する。
S23:会話ログ抽出手段12は、S22にて取得されたユーザIDに基づいて、会話ログDB31から発言及び発言者ユーザIDを抽出する。具体的には、S22にて取得されたユーザIDを発言者ユーザID40c、または、会話相手ユーザID40dに含む発言及びその発言に対応する発言者ユーザIDを抽出する。なお、条件に合致したすべての発言及びその発言に対応する発言者ユーザIDを抽出してもよいし、キャプションの発言がされた時刻から所定の時間前までの間、例えば、10分前までの間、にされた発言及びその発言に対応する発言者ユーザIDを抽出してもよいし、抽出される発言数を指定してもよい。
S24:会話ログ送信手段13は、S23にて抽出された発言及びその発言に対応する発言者ユーザIDを時系列に並べてまとめた会話ログを、選択されたキャプションの発言者であるアバタの近傍に発言とは別のキャプションにて端末2に表示させるための会話ログ情報を送信する。なお、会話ログは、選択されたキャプションの発言者であるアバタが表示されている端末2すべてに表示してもよいし、キャプションを選択したユーザの端末2のみに表示してもよい。
以上述べたように、端末2に表示されていて、たまたま目に入った他のアバタの会話の一部であるキャプションをマウス等にて選択することにより、そのキャプションを含む会話の過去の発言とその発言をしたユーザとを明示した対話形式の会話ログを端末2に表示することができる。それにより、自分が参加していない会話の過去の内容及びその会話の参加者を知ることができ、途中からでも会話に参加しやすくなる。また、対話形式の会話ログであることにより、会話の進行や会話参加者の役割を容易に把握することができる。更に、従来は、会話が行われている場所の近くにアバタを配置しなければ、参加していない会話の内容を知ることができなかったが、このように、キャプションを1つ選択するだけで、容易に会話の内容を知ることができる。
[会話ログ表示の概要]
図10は、本発明の第1実施形態に係る会話ログ表示処理の概要を示す図である。図10は、会話をしているアバタA,B,Eの過去の会話内容を知りたいアバタDのユーザが、アバタAのキャプション43をマウス等にて選択する。その結果、選択されたキャプションの発言者であるアバタAがアバタB,Eと行っている会話の会話ログ44が画面に表示されることを示している。このように、キャプションを選択することにより、容易に過去の会話を知ることができ、会話に参加しやすくなる。また発言のキャプションとは別のキャプションにて会話ログが表示されることにより、現在の会話と過去の会話の両方を知ることができる。なお、過去の会話内容を知りたいとアバタDのユーザが思う場合とは、例えば、たまたま目に入ったアバタAの「私もそう思う!」というキャプションにて、アバタDのユーザがアバタAが参加している会話に関心を持った場合が挙げられる。
会話ログ44に示すように、過去の会話は、発言とその発言の発言者ユーザとが対応した対話形式で表示される。それにより、会話の参加者がアバタA,B,Eであることを知ることができると共に、アバタAの発言をきっかけとして、その発言に同意する方向で会話が発展していることを知ることができ、会話の進行や会話におけるその参加者の役割、例えば、会話の中心人物や話題提供者等を把握することができる。
(第2実施形態)
第1実施形態との相違を中心に、第2実施形態を説明する。第1実施形態と第2実施形態とは、会話相手判定処理が異なる。図11は、本発明の第2実施形態に係る会話相手判定の概要を示す図である。図11を用いて、アバタAを発言者アバタとし、第2実施形態に係るアバタAの会話相手を判定する場合について説明する。
[第2実施形態に係る会話相手判定の概要]
図11(a)は、アバタAが発言した時の、アバタAとアバタB,D,Eとの位置関係を示す図である。以下、図11(a)に示されるアバタA,B,D,Eのそれぞれの位置を、それぞれの初期位置とする。図11(a)は、第1実施形態同様に、アバタAが発言した際に、アバタAから所定の等距離の範囲45にアバタB,E,Dがいることを示し、会話相手候補アバタは、アバタB,E,Dであることを意味する。図11(a)の状態から、第1実施形態同様に、所定時間の間、アバタA及び会話相手候補のアバタB,D,Eの位置を取得し、取得された結果に基づいてアバタAとアバタB,D,Eそれぞれとの距離を算出する。
図11(b)は、アバタAが発言をしてから所定時間経過後の、アバタAとアバタB,D,Eとの位置関係を示す図である。図11(b)は、所定時間にアバタが移動した様子も合わせて示す。図11(b)は、アバタBが初期位置から矢印46の方向に移動し、所定時間経過後に図11(b)に示す位置に移動したことを示す。なお、点線アバタBは、アバタBの初期位置を示す。図11(b)は、アバタBがアバタAから遠ざかる方向へ移動していることを示すことから、所定時間の間に取得されるアバタA及びアバタBの位置から算出されるアバタ間の距離は、時間が経過するにつれ大きくなる。
同様に、アバタEが、初期位置から矢印47の方向に移動し、所定時間経過後に図11(b)に示す位置に移動したことを示す。なお、点線アバタEは点線アバタB同様、アバタEの初期位置を示す。図11(b)はアバタEがアバタAに近づく方向へ移動していることを示すことから、所定時間の間に取得されるアバタA及びアバタEの位置から算出されるアバタ間の距離は、時間が経過するにつれ小さくなる。一方、アバタDは、所定時間の間、初期位置から移動していない。
このようなアバタAから所定の等距離の範囲45におけるアバタの移動を会話相手判定に反映させる実施形態が第2実施形態である。具体的には、第2実施形態において、第1実施形態において会話相手と判定されたアバタ、ここではアバタB,D,Eそれぞれについて、アバタAとの「会話相手度」を算出し、会話相手判定に「会話相手度」を利用する。
「会話相手度」は、会話の相手である可能性の度合いを示し、会話相手アバタと発言者アバタとの間の距離の変化に基づいて決定され、会話相手アバタと発言者アバタとの距離が近づく変化の場合に「会話相手度」は大きく、逆に、距離が遠くなる変化の場合に「会話相手度」は小さくなる。ここで、「会話相手度」の値は、会話相手アバタと発言者アバタとの間の距離の単位時間当たりの変化量とし、会話相手アバタと発言者アバタとの距離が近づく変化の場合の「会話相手度」をプラスの値、距離が遠くなる変化の場合の「会話相手度」をマイナスの値で表す。
図11に示す例において、アバタBは「会話相手度」がマイナスであり、アバタEは「会話相手度」がプラスである。なお、アバタDは、移動していないので、「会話相手度」は0である。第2の実施形態において、例えば、「会話相手度」がプラスのアバタを会話相手に判定するとした場合には、アバタEのみが会話相手として判定される。
会話相手判定に「会話相手度」を利用することにより、発言者アバタから所定の等距離の範囲にいたアバタの移動を会話相手判定に反映させることができる。それにより、所定の時間の間、範囲内にいても、会話相手でない可能性が高いアバタを除き、適切に会話相手を判定することできる。
[第2実施形態に係る会話相手判定処理のフローチャート]
図12は、本発明の第2実施形態に係る会話相手判定処理を示すフローチャートである。なお、S31からS34及びS38は図7におけるS11からS14及びS16の処理とそれぞれ同じであるため説明を省略する。
S35:会話相手判定手段18は、S34において算出されたアバタが発言者アバタから等距離の範囲にいる時間に基づいて、会話相手候補を絞る。
S36:会話相手判定手段18は、会話相手候補アバタそれぞれの発言者アバタとの「会話相手度」を算出する。具体的には、位置履歴DB33に格納されている時刻と、発言者アバタと会話相手候補アバタとの間の距離とに基づいて、単位時間当たりの変化量を算出し、「会話相手度」とする。
図5に示す位置履歴DB33を用いて「会話相手度」の求め方について説明する。なお、レコードを順位上からデータ1,2,3・・・とする。まず、データ1とデータ2、データ2とデータ3、・・・のように隣り合う時刻のデータ毎の変化量を算出し、算出したそれぞれの変化量の平均を取ることで算出される。例えば、データ1とデータ2の場合には、距離:(44.72―38.08) ÷ 時間:30秒 =0.22が、データ2とデータ3の場合には、距離:(38.08―26.93)÷ 時間:30秒 =0.37がデータ毎の変化量として算出され、そして、(0.22+0.37)÷2=0.295が単位時間当たりの変化量、つまり「会話相手度」となる。
S37:会話相手判定手段18は、S36にて算出された「会話相手度」に基づいて、会話相手候補アバタの中から会話相手を判定し、会話相手と判定されたアバタのアバタIDを会話相手アバタIDとして取得する。会話相手候補アバタの中から会話相手を判定する方法としては、例えば、「会話相手度」がプラスの値であるアバタを会話相手として判定する方法が挙げられる。
会話相手を発言者アバタから等距離の範囲であることだけでなく、会話相手アバタと発言者アバタとの間の距離の変化に基づいて決定することにより、具体的には、会話の相手である可能性の度合いを示す「会話相手度」を会話相手判定処理に用いることにより、会話相手判定の精度を上げることができる。
(第3実施形態)
第1実施形態との相違を中心に、第3実施形態を説明する。第1実施形態と第3実施形態とは、会話相手判定処理が異なる。図13は、本発明の第3実施形態に係る会話相手判定の概要を示す図である。図13を用いて、アバタAを発言者アバタとし、第3実施形態に係るアバタAの会話相手を判定する場合について説明する。
[第3実施形態に係る会話相手判定の概要]
図13(a)は、アバタAが発言した時の、アバタAとアバタB,Eとの位置関係を示す図である。図13(a)は、第1実施形態同様に、アバタAが発言した際に、アバタAから所定の等距離の範囲48にアバタB,Eが存在することを示し、会話相手候補アバタは、アバタB,Eであることを意味する。
図11(b)は、友達DB34に記憶されているアバタAの友達リストの一例を示す図である。アバタAの友達リストとは、既存のSNSと同様、アバタAのユーザと合意して友達関係を結んだユーザのアバタのリストである。図11(b)に示すように、アバタAの友達リストには、アバタAと友人関係を結んだアバタEとアバタGとが登録されている。
第3実施形態は、アバタAから所定の等距離の範囲48にいるアバタのうち、発言者アバタと友達関係を有するアバタを会話相手と判定する実施形態である。具体的には、第1実施形態において会話相手と判定されたアバタB,EそれぞれについてアバタAの友達リストに登録されているか否かの判断がなされ、友達リストに登録されているアバタEを会話相手と判定する。
会話相手判定に「友達リスト」を利用することにより、会話相手候補アバタの中から友達であるアバタを会話相手と判定することができる。これにより、適切に会話相手を判定することできる。発言者アバタは、近くに友達のアバタがいる場合に、友達のアバタと会話している可能性が高いからである。
[第3実施形態に係る会話相手判定処理のフローチャート]
図14は、本発明の第3実施形態に係る会話相手判定処理を示すフローチャートである。なお、S41からS44及びS49は図7におけるS11からS14及びS16の処理と、S45は図12のS35の処理と、それぞれ同じであるため説明を省略する。
S46:会話相手判定手段18は、友達リストから発言者アバタの友達リストを取得し、会話相手候補アバタの中に友達リストに記憶されているアバタがいるか否かの判断を行う。会話相手候補アバタの中に友達リストに記憶されているアバタがいると判断された場合には、S47へ処理が進む。一方、いないと判断された場合には、S48へ処理が進む。
S47:友達リストに記憶されている会話候補アバタを会話相手と判定し、会話相手と判定されたアバタのアバタIDを会話相手アバタIDとして取得する。
S48:会話候補アバタ全員を会話相手と判定し、会話相手と判定されたアバタのアバタIDを会話相手アバタIDとして取得する。この場合、会話相手と判定されるアバタは第1実施形態と同じである。
会話相手の判定に、発言者アバタの友達であるかの判断を加えることにより、会話相手判定の精度を上げることができる。
(第4実施形態)
第1実施形態との相違を中心に、第4実施形態を説明する。第1実施形態と第4実施形態とは、会話相手判定処理が異なる。
[第4実施形態に係る会話相手判定の概要]
第4実施形態は、発言者アバタが発言し終わった時刻から所定時間内で、発言した他のアバタを会話相手と判定する発明である。発言者アバタが発言し終わったタイミングで、発言をしている他のアバタは、発言者アバタと会話をしている可能性が高いためである。
[第4実施形態に係る会話相手判定処理のフローチャート]
図15は、本発明の第4実施形態に係る会話相手判定処理を示すフローチャートである。なお、S51からS54は図7におけるS11からS14に、S55図12のS35の処理とそれぞれ同じであるため説明を省略する。
S56:会話相手判定手段18は、発言者アバタの発言時刻から所定の時間経過までの時刻に対応付けられている発言者ユーザIDを取得する。本処理は、複数回行うのが望ましい。仮想空間には、大勢のアバタがいるため、発言者アバタが発言をした時刻から所定の時間経過までに、偶然されたような会話を除くためである。なお、回数はサーバ装置1の管理者等が設定した任意であり、2回目以降の処理は、発言受付手段14が発言者アバタの発言を受け付けると行われるとしてもよいし、会話ログDB31に記録されるタイミングに行ってもよい。
S57:会話相手判定手段18は、S56にて取得されたユーザIDのうち取得された回数が多いユーザを会話相手アバタのユーザであると判定し、相手ユーザIDとして取得する。
会話相手の判定に、会話のタイミングを用いることにより、会話相手判定の精度を上げることができる。
(第5実施形態)
第1実施形態との相違を中心に、第5実施形態を説明する。第1実施形態と第5実施形態とは、会話相手判定処理が異なる。
[第5実施形態に係る会話相手判定の概要]
第5実施形態は、発言アバタの発言の内容やカテゴリー等が一致する発言を行った他のアバタを会話相手と判定する発明である。発言アバタの発言の内容を解析し、その結果得られた発言の内容やカテゴリー等が一致する発言を行った他のアバタは、発言者アバタと会話をしている可能性が高いためである。
[第5実施形態に係る会話相手判定処理のフローチャート]
図16は、本発明の第5実施形態に係る会話相手判定処理を示すフローチャートである。なお、S61からS64は図7におけるS11からS14に、S65は図12のS35の処理とそれぞれ同じであるため説明を省略する。
S66:会話相手判定手段18は、発言者ユーザの発言及び会話相手候補ユーザの発言を会話ログDB31から取得する。
S67:S66において取得した発言それぞれの形態素解析を行う。なお、形態素解析には既存の技術を用い、本サーバ装置1内に形態素解析部を設けて行ってもよいし、形態素解析部をもつ外部接続装置に接続してそちらにて行ってもよい。
S68:S67にて形態素解析された単語に基づいて、予め記憶されたカテゴリーDBを検索し、発言のカテゴリーを取得する。なお、複数取得されてもよい。カテゴリーDBは、複数のカテゴリーと、カテゴリーそれぞれに関連する複数の単語が記憶されている。S68についてもS67同様外部接続装置に接続してそちらにて行ってもよい。
S69:会話相手判定手段18は、発言者ユーザの発言のカテゴリーと会話相手候補ユーザの発言のカテゴリーを比較し、カテゴリーが一致する会話相手候補ユーザを会話相手ユーザであると判定し、会話相手ユーザIDとして取得する。
会話相手の判定に、会話の内容を考慮、つまり、発言の関連性から会話相手を判定することにより、会話相手判定の精度を上げることができる。
図17は、本発明の第5実施形態にかかる会話相手判定処理前後の会話ログDB31を示す図である。図17(a)は、会話相手がまだ判定されていない会話相手判定処理前の会話ログDB31であり、図17(b)は、会話相手が判定され、会話相手ユーザが更新登録された会話相手判定処理後の会話ログDB31である。発言者ユーザID「A」の「夏だし、やせたいよね。」という発言を例に第5実施形態に係る会話相手判定について具体的に説明する。
発言者ユーザID「A」、会話相手候補がユーザID「B」,「C」,「D」である場合には、ユーザID「A」,「B」,「C」,「D」の発言について形態素解析が行われ、発言のカテゴリーが取得される。例えば、発言者ユーザID「A」の「夏だし、やせたいよね。」という発言については、「夏」と「ダイエット」、発言者ユーザID「C」の「私もやせたいー。でも、ついチョコとか間食しちゃうんだよね。」という発言については、「ダイエット」と「お菓子」、発言者ユーザID「D」の「私も!ダイエット日記つけてる!」という発言については、「ダイエット」、のようにカテゴリーDBを用いて発言のカテゴリーが取得される。
発言者ユーザID「A」の会話相手を決定するので、発言者ユーザID「A」の発言のカテゴリー「夏」または「ダイエット」を含む発言をした、ユーザID「C」及びユーザID「D」がユーザID「A」の会話相手として判定され、会話ログDB31に記憶される。このようにして、会話相手が決定され、会話ログDB31に記憶された図を図17(b)に示す。また、名前等が発言に含まれる場合に、形態素解析によって名前が抽出され、それに基づいて会話相手を判定することもできる。図17において、発言ID111の発言には「Eさん」と名前が入っていることより、図17(b)に示すように発言ID111の会話相手にはEさんとなる。
本発明の第1実施形態に係る会話表示サーバ装置と、端末との全体構成を示す図である。 本発明の第1実施形態のサーバ装置の機能構成を示す図である。 本発明の各実施形態に係るサーバ装置のハードウェア構成を示す図である。 本発明の第1実施形態に係る記憶手段に格納される会話ログDBを示す図である。 本発明の第1実施形態に係る記憶手段に格納される位置履歴DBを示す図である。 本発明の第1実施形態に係る会話ログ記憶処理を示すフローチャートである。 本発明の第1実施形態に係る会話相手判定処理を示すフローチャートである。 本発明の第1実施形態に係る会話相手判定を示す概要図である。 本発明の第1実施形態に係る会話ログ表示処理を示すフローチャートである。 本発明の第1実施形態に係る会話ログ表示処理の概要を示す図である。 本発明の第2実施形態に係る会話相手判定の概要を示す図である。 本発明の第2実施形態に係る会話相手判定処理を示すフローチャートである。 本発明の第3実施形態に係る会話相手判定の概要を示す図である。 本発明の第3実施形態に係る会話相手判定処理を示すフローチャートである。 本発明の第4実施形態に係る会話相手判定処理を示すフローチャートである。 本発明の第5実施形態に係る会話相手判定処理を示すフローチャートである。 本発明の第5実施形態に係る会話相手判定処理前後の会話ログDBを示す図である。
符号の説明
1 会話表示サーバ装置
10 会話管理手段
11 キャプション受付手段
12 会話ログ抽出手段
13 会話ログ送信手段
14 発言受付手段
15 ユーザ識別手段
16 キャプション表示送信手段
17 位置判別手段
18 会話相手判定手段
19 操作受付手段
20 移動手段
30 記憶手段
31 会話ログDB
32 アバタDB
33 位置履歴DB
34 友達DB

Claims (10)

  1. ネットワークを介して提供する仮想空間において、仮想空間内のアバタが行う会話を制御するサーバ装置と、当該サーバ装置と通信可能に接続された端末が実行する会話表示方法であって、
    仮想空間内のアバタに対応するユーザを識別するユーザ識別ステップと、
    識別されたユーザからの発言を受け付ける発言受付ステップと、
    受け付けた発言の会話相手となるユーザを判定する会話相手判定ステップと、
    前記受け付けた発言と、発言したユーザと、会話相手となるユーザとを対応付けて会話ログとして記憶する会話ログ記憶ステップと、
    前記発言を、発言したユーザに対応するアバタと共に表示する会話表示ステップと、
    表示された発言に対して、他のユーザからの選択を受け付ける会話選択受付ステップと、
    前記選択を受け付けた発言に対応する会話ログを抽出する会話ログ抽出ステップと、
    前記抽出した会話ログを、前記判定した会話相手との対話形式で表示する会話ログ表示ステップと、
    前記アバタに対応するユーザの操作指示に応じて、前記仮想空間内において、前記アバタを移動する移動ステップと、
    前記発言したユーザに対応するアバタの前記仮想空間内の位置を判別する位置判別ステップと、
    を備え
    前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    ユーザが発言をした発言時刻を受け付ける時刻受付ステップと、
    前記発言時刻を前記発言と、前記発言したユーザと、前記会話相手となるユーザとを対応付けて記憶する時刻記憶ステップと、
    を更に備え、
    複数の前記他のアバタそれぞれに対応するユーザであって、前記ユーザの発言時刻から所定の時間以内である発言時刻に対応付けられている前記発言したユーザを、前記受け付けた発言の会話相手となるユーザと判定する会話表示方法。
  2. ネットワークを介して提供する仮想空間において、仮想空間内のアバタが行う会話を制御するサーバ装置と、当該サーバ装置と通信可能に接続された端末が実行する会話表示方法であって、
    仮想空間内のアバタに対応するユーザを識別するユーザ識別ステップと、
    識別されたユーザからの発言を受け付ける発言受付ステップと、
    受け付けた発言の会話相手となるユーザを判定する会話相手判定ステップと、
    前記受け付けた発言と、発言したユーザと、会話相手となるユーザとを対応付けて会話ログとして記憶する会話ログ記憶ステップと、
    前記発言を、発言したユーザに対応するアバタと共に表示する会話表示ステップと、
    表示された発言に対して、他のユーザからの選択を受け付ける会話選択受付ステップと、
    前記選択を受け付けた発言に対応する会話ログを抽出する会話ログ抽出ステップと、
    前記抽出した会話ログを、前記判定した会話相手との対話形式で表示する会話ログ表示ステップと、
    前記アバタに対応するユーザの操作指示に応じて、前記仮想空間内において、前記アバタを移動する移動ステップと、
    前記発言したユーザに対応するアバタの前記仮想空間内の位置を判別する位置判別ステップと、
    を備え、
    前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記アバタ及び複数の前記他のアバタのユーザがした発言の形態素解析により特徴量を抽出する抽出ステップを更に備え、
    複数の前記他のアバタに対応するユーザであって、前記アバタのユーザがした発言と前記特徴量によって関連する発言をしたユーザを、前記受け付けた発言の会話相手となるユーザと判定する会話表示方法。
  3. 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記位置判別ステップは、所定の時間内において、前記アバタまたは複数の前記他のアバタそれぞれに対応するユーザの操作指示に応じて、移動した前記アバタまたは複数の前記他のアバタそれぞれの位置を判別し、
    判別された前記アバタの位置と複数の前記他のアバタそれぞれの位置とに基づいて、前記所定の時間内において、複数の前記他のアバタであって前記アバタに接近しているアバタに対応するユーザを、前記受け付けた発言の会話相手となるユーザと判定する請求項1又は請求項2に記載の会話表示方法。
  4. 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記アバタに対して友達関係を有する複数のアバタをリストとして記憶するステップと、
    複数の前記他のアバタであって前記リストに記憶されているアバタに対応するユーザを前記受け付けた発言の会話相手となるユーザと判定する請求項1から請求項3までのいずれかに記載の会話表示方法。
  5. 前記会話ログ抽出ステップは、前記記憶された会話ログから、前記選択を受け付けた発言をしたユーザが前記発言したユーザ又は前記会話相手となるユーザとして対応付けられている発言及びこの発言に発言者として対応付けられているユーザを、前記選択を受け付けた発言に対応する会話ログとして抽出する請求項1から請求項4までのいずれかに記載の会話表示方法。
  6. 端末と通信可能に接続され、ネットワークを介して提供する仮想空間において、仮想空間内のアバタが行う会話を制御する会話表示サーバ装置であって、
    仮想空間内のアバタに対応するユーザを識別するユーザ識別手段と、
    識別されたユーザからの発言を受け付ける発言受付手段と、
    受け付けた発言の会話相手となるユーザを判定する会話相手判定手段と、
    前記受け付けた発言と、発言したユーザと、会話相手となるユーザとを対応付けて会話ログとして記憶する会話ログ記憶手段と、
    前記発言を、発言したユーザに対応するアバタと共に表示する会話表示手段と、
    表示された発言に対して、他のユーザからの選択を受け付ける会話選択受付手段と、
    前記選択を受け付けた発言に対応する会話ログを抽出する会話ログ抽出手段と、
    前記抽出した会話ログを、前記判定した会話相手との対話形式で表示する会話ログ表示手段と、
    前記アバタに対応するユーザの操作指示に応じて、前記仮想空間内において、前記アバタを移動する移動手段と、
    前記発言したユーザに対応するアバタの前記仮想空間内の位置を判別する位置判別手段と、
    を備え
    前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記発言受付手段は、ユーザが発言をした発言時刻を受け付け、
    前記会話ログ記憶手段は、前記発言時刻を前記発言と、前記発言したユーザと、前記会話相手となるユーザとを対応付けて記憶し、
    前記会話相手判定手段は、複数の前記他のアバタそれぞれに対応するユーザであって、前記ユーザの発言時刻から所定の時間以内である発言時刻に対応付けられている前記発言したユーザを、前記受け付けた発言の会話相手となるユーザと判定する会話表示サーバ装置。
  7. 端末と通信可能に接続され、ネットワークを介して提供する仮想空間において、仮想空間内のアバタが行う会話を制御する会話表示サーバ装置であって、
    仮想空間内のアバタに対応するユーザを識別するユーザ識別手段と、
    識別されたユーザからの発言を受け付ける発言受付手段と、
    受け付けた発言の会話相手となるユーザを判定する会話相手判定手段と、
    前記受け付けた発言と、発言したユーザと、会話相手となるユーザとを対応付けて会話ログとして記憶する会話ログ記憶手段と、
    前記発言を、発言したユーザに対応するアバタと共に表示する会話表示手段と、
    表示された発言に対して、他のユーザからの選択を受け付ける会話選択受付手段と、
    前記選択を受け付けた発言に対応する会話ログを抽出する会話ログ抽出手段と、
    前記抽出した会話ログを、前記判定した会話相手との対話形式で表示する会話ログ表示手段と、
    前記アバタに対応するユーザの操作指示に応じて、前記仮想空間内において、前記アバタを移動する移動手段と、
    前記発言したユーザに対応するアバタの前記仮想空間内の位置を判別する位置判別手段と、
    を備え、
    前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記会話相手判定手段は、前記アバタ及び複数の前記他のアバタのユーザがした発言の形態素解析により特徴量を抽出し、複数の前記他のアバタに対応するユーザであって、前記アバタのユーザがした発言と前記特徴量によって関連する発言をしたユーザを、前記受け付けた発言の会話相手となるユーザと判定する会話表示サーバ装置。
  8. 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記位置判別手段は、所定の時間内において、前記アバタまたは複数の前記他のアバタそれぞれに対応するユーザの操作指示に応じて、移動した前記アバタまたは複数の前記他のアバタそれぞれの位置を判別し、
    前記会話相手判定手段は、判別された前記アバタの位置と複数の前記他のアバタそれぞれの位置とに基づいて、前記所定の時間内において、複数の前記他のアバタであって前記アバタに接近しているアバタに対応するユーザを、前記受け付けた発言の会話相手となるユーザと判定する請求項6又は請求項7に記載の会話表示サーバ装置。
  9. 前記アバタの仮想空間内の位置から所定の距離内に複数の前記他のアバタが存在する場合に、
    前記アバタに対して友達関係を有する複数のアバタをリストとして記憶する友達記憶手段を更に備え、
    前記会話相手判定手段は、複数の前記他のアバタであって前記リストに記憶されているアバタに対応するユーザを前記受け付けた発言の会話相手となるユーザと判定する請求項6から請求項8までのいずれかに記載の会話表示サーバ装置。
  10. 前記会話ログ抽出手段は、前記記憶された会話ログから、前記選択を受け付けた発言をしたユーザが前記発言したユーザ又は前記会話相手となるユーザとして対応付けられている発言及びこの発言に発言者として対応付けられているユーザを、前記選択を受け付けた発言に対応する会話ログとして抽出する請求項6から請求項9までのいずれかに記載の会話表示サーバ装置。
JP2008171197A 2008-06-30 2008-06-30 会話表示方法及びサーバ装置 Expired - Fee Related JP4889690B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008171197A JP4889690B2 (ja) 2008-06-30 2008-06-30 会話表示方法及びサーバ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008171197A JP4889690B2 (ja) 2008-06-30 2008-06-30 会話表示方法及びサーバ装置

Publications (2)

Publication Number Publication Date
JP2010009512A JP2010009512A (ja) 2010-01-14
JP4889690B2 true JP4889690B2 (ja) 2012-03-07

Family

ID=41589883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008171197A Expired - Fee Related JP4889690B2 (ja) 2008-06-30 2008-06-30 会話表示方法及びサーバ装置

Country Status (1)

Country Link
JP (1) JP4889690B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9369543B2 (en) 2011-05-27 2016-06-14 Microsoft Technology Licensing, Llc Communication between avatars in different games
US8814693B2 (en) 2011-05-27 2014-08-26 Microsoft Corporation Avatars of friends as non-player-characters
WO2014002550A1 (ja) * 2012-06-25 2014-01-03 株式会社コナミデジタルエンタテインメント メッセージ閲覧システム、サーバ、端末装置、制御方法および記録媒体
JP5937992B2 (ja) 2012-06-25 2016-06-22 株式会社コナミデジタルエンタテインメント メッセージ閲覧システム、サーバ、端末装置、制御方法およびプログラム
JP5844298B2 (ja) * 2012-06-25 2016-01-13 株式会社コナミデジタルエンタテインメント メッセージ閲覧システム、サーバ、端末装置、制御方法およびプログラム
JP5845200B2 (ja) 2012-06-25 2016-01-20 株式会社コナミデジタルエンタテインメント メッセージ閲覧システム、サーバ、端末装置、制御方法およびプログラム
JP6069619B2 (ja) * 2012-12-13 2017-02-01 株式会社コナミデジタルエンタテインメント サーバ装置、サーバ装置の制御方法およびプログラム
JP6342024B1 (ja) * 2017-02-10 2018-06-13 株式会社コロプラ 仮想空間を提供するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP7290977B2 (ja) * 2019-03-28 2023-06-14 株式会社日本総合研究所 プログラム及び情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3203615B2 (ja) * 1995-06-16 2001-08-27 日本電信電話株式会社 仮想空間共有システム
JP3644580B2 (ja) * 1999-03-19 2005-04-27 富士通株式会社 表示制御方法及び装置
JP4001455B2 (ja) * 2000-08-29 2007-10-31 富士通株式会社 情報交換促進方法及び装置
JP2002312295A (ja) * 2001-04-09 2002-10-25 Nec Interchannel Ltd 仮想3次元空間会話システム
JP2003067317A (ja) * 2001-08-30 2003-03-07 Fuji Xerox Co Ltd メッセージ交換方法、コンピュータ、管理装置、記録媒体

Also Published As

Publication number Publication date
JP2010009512A (ja) 2010-01-14

Similar Documents

Publication Publication Date Title
JP4889690B2 (ja) 会話表示方法及びサーバ装置
US10891952B2 (en) Speech recognition
US20190027147A1 (en) Automatic integration of image capture and recognition in a voice-based query to understand intent
CN114556354A (zh) 自动确定和呈现来自事件的个性化动作项
US20140278403A1 (en) Systems and methods for interactive synthetic character dialogue
CN117219080A (zh) 用于在通信会话内生成个性化响应的虚拟助手
JP6233798B2 (ja) データを変換する装置及び方法
JP2017153078A (ja) 人工知能学習方法、人工知能学習システムおよび返答中継方法
US10192550B2 (en) Conversational software agent
US10140988B2 (en) Speech recognition
CN111316280B (zh) 用于自然语言处理的基于网络的学习模型
JP2017016566A (ja) 情報処理装置、情報処理方法及びプログラム
US20170256259A1 (en) Speech Recognition
WO2017157174A1 (zh) 一种信息处理方法、设备和终端设备
CN112466302A (zh) 语音交互的方法、装置、电子设备和存储介质
JP5309070B2 (ja) マルチモーダル対話装置
US20210021439A1 (en) Measuring and Responding to Attention Levels in Group Teleconferences
KR20190131355A (ko) 대화용 애플리케이션의 운영 방법
JP2009048302A (ja) 仮想空間情報要約作成装置
CN110417728A (zh) 一种在线互动方法、装置、介质和电子设备
Liu et al. Referential communication between friends and strangers in the wild
US20210197074A1 (en) Natural speech data generation systems and methods
US20120215843A1 (en) Virtual Communication Techniques
TW202201244A (zh) 一種在線訪談的方法及系統
US11839817B1 (en) Gaming system and method including the identification of non-player characters

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111213

R150 Certificate of patent or registration of utility model

Ref document number: 4889690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

LAPS Cancellation because of no payment of annual fees
R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350