(58)【調査した分野】(Int.Cl.,DB名)
グループを構成する複数のユーザの端末に、前記グループを構成する複数のユーザを宛先とする、前記グループのユーザの端末からのメッセージを送信する送信ステップと、
ユーザに送信されたメッセージの送信時刻に関する情報を記憶する記憶ステップと、
前記メッセージが閲覧済みである事を示す既読情報を、前記複数のユーザの端末から受信する受信ステップと、
前記既読情報を未受信の状態である未読メッセージに、所定の条件が成立するかを判定する判定ステップと、
前記所定の条件が成立する未読メッセージの関連性を抽出する抽出ステップと、
前記未読メッセージの関連性を示す情報を表示する領域を、前記ユーザの端末の表示部
に表示させる表示情報を生成する生成ステップと、
前記表示情報を前記ユーザに送信する送信ステップと、
を含み、
前記判定ステップにおいて、直前に送信された未読メッセージから所定時間内に送信された未読メッセージについて、前記所定の条件が成立すると判定され、
前記生成ステップは、前記領域が前記ユーザによって選択された場合、前記未読メッセージが前記ユーザの端末の表示部に時系列表示されるように前記表示情報を生成する、情報処理装置の制御方法。
【発明を実施するための形態】
【0021】
<通信の秘密の遵守>
本明細書に記載の発明を実施する場合は、通信の秘密に係る法的事項を遵守の上で実施されるものであることに留意されたい。
【0022】
以下、諸図面を参照しながら、本発明の一実施形態を説明する。
図12は、本発明の概要を説明する概略図である。上述のように、ユーザがグループ内の会話にリアルタイムで参加しなかった場合、確認していないメッセージ(未読メッセージ)が多数存在するという問題が生じる。従って、ユーザは、未確認の会話のうち、優先して確認すべき会話を判断できれば便利である。本発明によれば、所定の条件に基づいて一連の未読メッセージがスレッド化され、スレッドに関する通知(スレッド通知)が、ユーザの端末装置に表示される。なおここでは、「スレッド」を、「一連のメッセージのまとまり」、「会話」を、「メッセージのやり取り」、「発言」「投稿」を、「ユーザがメッセージを送信すること」の意味で用いる。
【0023】
図12の例では、ユーザの表示画面に、スレッド通知Thread100,Thread200が表示されている。スレッド通知には、ユーザが一目でスレッドの内容を把握可能なように、例えば、スレッド内に頻出する単語、グループ間で共有された(送信された)画像、スレッド内の発言者等といったスレッド内の未読メッセージの関連性を示す情報が表示される。スレッド通知Thread100は、「8/27」の「12:40~13:40」の間に、グループ名「Group XYZ」のユーザ間で行われた会話に関するスレッドを通知するものであり、会話に、「会議」「変更」「戦略」という単語が頻出している事を示す。さらに、発言者が、23人であることが分かる。また、スレッド通知Thread200は、「8/27」の「21:00~22:00」の間に、グループ名「Group ABC」のユーザ間で行われた会話に関するスレッドを通知するものであり、会話に、「プレゼン」「顧客」という単語が頻出している事、スレッド内にて画像が共有された事が示されている。さらに、発言者が12人であることが分かる。
【0024】
このように、複数のスレッドが存在する場合は、複数のスレッド通知が、各スレッドの内容を特徴付ける情報と共に表示されるため、ユーザは、確認すべき未読メッセージの優先度をつけることが可能となる。
【0025】
また、スレッド通知は、ユーザに選択可能に表示される。例えば
図12では、ユーザの端末装置がスマートフォンであり、表示画面に表示されたスレッド通知Thread100,Thread200をタップすることによって、ユーザは、スレッドを展開して表示させることができる。メッセージ表示画面TalkRoom100は、スレッド通知Thread100が選択された場合のユーザ端末の表示画面である。また、メッセージ表示画面TalkRoom200は、スレッド通知Thread200が選択された場合の表示画面である。図のように、本発明の一実施形態によるメッセージングサービスでは、グループ毎に、グループ内の会話が時系列に表示される。その際、どのユーザによる発言であるかを示すために、メッセージを表示する吹き出しが発言者のアイコン近傍に表示される。このアイコンは、各ユーザが自由に設定することができる。以上が、本発明の概要である。
【0026】
図1は、本発明の一実施形態によるサービスシステム構成の概略図である。
図1に示すように、サービスシステム400は、サーバ100、端末装置200A〜200C、ネットワーク300を含む。サーバ(情報処理装置)100は、ネットワーク300を介して端末装置200A〜200Cと接続される。なお、
図1において、説明を簡単にするために端末装置は3台だけ示してあるが、これ以上存在してもよいことは言うまでもない。
【0027】
端末装置200A〜200Cは、スマートフォンなどに代表される通信端末である。端末装置200A〜端末装置200Cは、本発明の一実施形態によるサービスの一部であるチャットを、サービス側が提供するメッセージングアプリ(以下、「メッセージアプリ」と略称する。)を用いて行っている。なお、端末装置200Aは、端末装置200B,200C及び図示しないその他の複数の端末装置と共にグループを構成しており、グループ間でメッセージのやり取りを行うものとする。その際、ある端末装置(例えば、端末装置200A)からグループ宛にメッセージが送信されると、端末装置200Aを除いたグループの他の端末装置に、そのメッセージが送信される。すなわち、サーバ100は、端末装置間の通信を中継する機能を果たし、端末装置200Aが送信したメッセージをネットワーク300を介して受信して端末装置200Bや200Cに対して送信したり、端末装置200Bが送信したメッセージをネットワーク300を介して受信して端末装置200Aや200Cに対して送信したりする。その他、サーバ100は、端末装置200A〜200Cの入力受付部でユーザが入力した操作指示内容に関する情報を受信して、指示内容に応じた処理を行う。
【0028】
なお、端末装置200Aは、端末装置200B,200Cを含まないグループに属していても良い。すなわち、各端末装置は、それぞれ他の端末装置と共に複数のグループを構成することができる。
【0029】
図2は、本発明の一実施形態によるサーバ100のブロック図である。
図2に示すように、サーバ100は、通信部110、制御部120及び記憶部130を備える。詳細は後述するが、これら各部の機能を簡単に説明する。
【0030】
通信部110は、受信部111および送信部112を備え、制御部120からの指示に従って、ネットワーク300を介して、ユーザの端末装置200A〜200Cとの通信(各種データ、メッセージの送受信)を実行する機能を有する。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。ここで、メッセージとしては、テキストメッセージに限らず、画像、音声、動画、スタンプ(デジタルステッカー)等が含まれる。
【0031】
受信部111は、各端末装置200A〜200Cから送信されたメッセージを受信する。送信部112は、グループのユーザの端末装置に、グループを構成する複数のユーザを宛先とする、グループの他のユーザからのメッセージを送信する。すなわち、端末装置200Aが含まれるグループの他の端末装置から、グループ宛にメッセージが送信された場合、そのメッセージを、端末装置200A及びグループの他の端末装置に送信する。また、送信部112は、後述する表示情報を、端末装置に送信する。
【0032】
さらに、受信部111は、メッセージをユーザが既読である事、すなわち、メッセージがユーザによって閲覧済みである事を示す既読情報を、ユーザの端末から受信する。ここで、「既読」とは、メッセージが送信された端末装置において、表示部が、そのメッセージを表示させる画面を表示させた事を言う。逆に、メッセージが「未読」であるとは、端末装置において、そのメッセージを表示させる画面が一度も表示されていない状態であることを言う。端末装置は、受信したメッセージを表示させる画面を表示部に表示させた場合、既読情報を生成してサーバ100へ送信する。このように、ユーザの端末装置に送信されたメッセージが表示されたか否かを、サーバ100で判定することができるため、ユーザの未読メッセージのみに、上述のスレッドを作成する事が可能となる。
【0033】
制御部120は、サーバ100の各部を制御する機能を有するプロセッサである。制御部120は、判定部121、抽出部122及び生成部123を備える。
【0034】
判定部121は、既読情報を未受信の状態である未読メッセージ間に、所定の条件が成立するか否かを判定する。ここで、「未読メッセージ」は、ユーザに送信されたメッセージのうち、前述した既読情報が当該ユーザからサーバに送信されていないメッセージを言う。また、所定の条件については後述する。抽出部122は、所定の条件が成立する一連の未読メッセージ間の関連性を抽出する。生成部123は、一連の未読メッセージ間の関連性を示す情報を表示する領域を、ユーザの端末の表示部に表示させる表示情報を生成する。なお、生成部123は、一連の未読メッセージ間の関連性を示す情報を表示する領域がユーザによって選択された場合に、一連の未読メッセージがユーザの端末の表示部に時系列表示されるように、表示情報を生成する。
【0035】
記憶部130は、典型的には、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなど各種の記録媒体により実現され、サーバ100が動作するうえで必要とする各種プログラムおよびデータを記憶する機能を有する。記憶部130は、グループに関する情報(グループ情報テーブル131)や、スレッドを生成する上で必要となる所定の条件(条件テーブル133)等を記憶(格納)する。また、記憶部130は、例えばRAM(Random Access Memory)で実現され、制御部120のワークメモリとして機能するメモリも含む。メモリは、一時的なデータ(未読メッセージテーブル132)等を記憶する。なお、記憶部130に記憶される各種データは、メモリに一時的に記憶された後に、当該記憶部130に記憶されてもよい。
【0036】
次に、端末装置200について説明する。
図3は、本発明の一実施形態による端末装置200のブロック図である。
図3に示すように、端末装置200は、通信部210、制御部220、記憶部230、音声インタフェース(I/F)240、表示部250、入力受付部260及びスピーカ270を備える。
【0037】
通信部210は、受信部211及び送信部212を備え、ネットワーク300を介して、サーバ100との通信を実行する機能を有する。当該通信は、有線、無線のいずれで実行されてもよく、また、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。
【0038】
制御部220は、端末装置200の各部を制御する機能を有するプロセッサである。制御部220は、情報処理部221、表示処理部222を含む。情報処理部221は、入力受付部260から入力された情報にしたがって、通信部210からサーバ100に情報(メッセージ等)を送信するように制御する機能を有する。また、情報処理部221は、通信部210でサーバ100から受信した情報を、表示処理部222に伝達する機能も有する。表示処理部222は、情報処理部221から伝達された表示用のデータを画素情報に変換し、表示部250のフレームバッファに書き込む機能を有する。また、情報処理部221は、表示部250に、サーバ100から受信したメッセージの表示画面が表示された場合、当該メッセージについての既読情報を作成し、送信部212を介してサーバ100へ送信する。
【0039】
記憶部230は、端末装置200が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。例えば、記憶部230には、本実施形態に係るサービスを享受するのに用いるメッセージアプリのプログラム等の情報が含まれる。なお、記憶部230は、典型的には、HDD、SSD、フラッシュメモリなど各種の記録媒体により実現される。
【0040】
表示部250は、表示処理部222によりフレームバッファに書き込まれた表示データに従って、画像を表示する機能を有するモニタであり、典型的には液晶ディスプレイで実現される。表示部250は、サービス側から提供されて記憶部230に記憶(格納)されたメッセージアプリ画面を表示する。また、表示部250は、サーバ100から送信された通知を表示する。音声I/F240は、スピーカ270や図示しないイヤホンのインタフェースである。スピーカ270は、サーバ100から通知を受信した場合に、通知音を発するように設定されてもよい。また、メッセージとして動画が送信された場合は、動画の音声を出力する。
【0041】
入力受付部260は、ユーザからの入力を受け付けて、当該入力に係る情報を、制御部220に伝達する。端末装置200において、入力受付部260は、タッチパネルなどにより実現され、ユーザの指やスタイラスなどの指示具による接触とその接触位置を検出し、接触位置の座標を情報処理部221に伝達する。本実施形態において、入力受付部260は、ユーザによるメッセージの入力や、サーバ100から受信した通知に対する選択を受け付ける。
【0042】
次に、サーバ100の記憶部130に記憶される各情報について、図を用いて説明する。
図4は、記憶部130に記憶されるグループ情報テーブル131の一例を示す図である。図に示すように、グループ情報テーブル131には、グループに含まれるユーザのユーザID(IDentifier)が記憶される。ここで、「ユーザID」は、サービスの提供側によってユーザ毎に付与されるユーザの識別情報である。図の例では、グループ名「Group_ABC」に、「User_A」「User_B」・・・「User_H」のユーザが含まれることが分かる。なお、図では1つのグループのみ示してあるが、複数のグループが存在して、それらの情報も記憶されること、また、ユーザは、複数のグループに属してもよいことは言うまでもない。
【0043】
図5は、記憶部130に記憶される未読メッセージテーブル132の一例である。図の例は、ユーザID「User_A」のユーザA(端末装置200Aのユーザ)の属するグループ「Group_ABC」の他のユーザが、グループ宛に送信したメッセージに関するテーブルである。未読メッセージテーブル132は、ユーザAに送信されたものの、ユーザAの端末装置200Aから既読情報が送信されていないメッセージについて作成され、メッセージID、送信時刻、送信ユーザ、スレッドNo.等が記憶される。なお、同様の未読メッセージテーブル132が、グループの他のユーザ毎に記憶される。
【0044】
図5の未読メッセージテーブル132を参照すると、メッセージID「m00001」のメッセージについて、端末装置200Aから既読情報が受信されていない事が分かる。ここで、メッセージID「m00001」のメッセージは、「送信ユーザ」が「User_H」であり、送信時刻は「15:00」であることが分かる。詳細は後述するが、図の例では、メッセージID「m00001」〜「m00004」のメッセージは、スレッドNo.を「#1」として記憶される。また、「m000010」以降のメッセージは、スレッドNo.を「#2」として記憶される。
【0045】
条件テーブル133は、未読メッセージをスレッド化する際に用いられる、所定の条件に関する。以下に、未読メッセージがスレッド化される条件について、図を用いて説明する。
【0046】
<第1実施形態>
まず、本発明の第1実施形態について説明する。第1実施形態によれば、グループ内の会話において、所定時間以内の投稿(メッセージの送信)がされている一連のメッセージは、ひとまとまりとしてスレッド化される。これは、グループ内で途切れなく会話が為されていた場合、その会話はあるテーマに沿うものと考えられるためである。ここで、所定時間は、例えば10分としてもよいが、これに限られるものではない。
図6は、第1実施形態について説明する図である。なお、
図6は、
図5の未読メッセージテーブル132に対応している。
図6(a)は、ユーザAの未読メッセージが時系列表示されたものであり、ユーザA以外のグループユーザによる発言を、吹き出し状で示してある。どのユーザによる発言かを示すアイコンは、簡単のため、同一としてある。また、アイコンの下部に表示されている時刻は、メッセージの投稿時刻を示す。
【0047】
図6(a)の例では、未読メッセージとして、15:00から15:07まで、それぞれのメッセージの投稿が10分間隔以内で会話が行われていたメッセージと、16:03以降に送信されているメッセージとが存在する。サーバ100の判定部121は、端末装置200Aに送信されたメッセージについて、既読情報を端末装置200Aから受信したか否かを判定し、受信していない場合、未読メッセージテーブル132に各メッセージの情報(送信時刻、送信ユーザ等)を記憶させる。その際、判定部121は、グループ宛に送信されたメッセージについて、その直前にグループ宛に送信されたメッセージから所定時間内(例えば、10分以内)に送信されたか否かを判定する。
図5の未読メッセージテーブルを参照して説明すると、判定部121は、ユーザ「User_B」から送信されたメッセージID「m00002」の送信された時刻「15:03」が、その直前にユーザ「User_H」から送信されたメッセージID「m00001」の送信された時刻「15:00」から所定時間内であるか否かを判定する。2つのメッセージ間の間隔は10分以内であるので、メッセージID「m00002」のメッセージは、メッセージID「m00001」と関連のあるものとして、同一のスレッド「#1」として記憶される。しかし、メッセージID「m00010」とメッセージID「m00004」との間の間隔は10分以上であるため、メッセージID「m00010」のメッセージは、スレッド「#1」とは異なるスレッド「#2」として記憶される。すなわち、メッセージ11〜14はスレッドTH10に、メッセージ15、16以降はスレッドTH20として、スレッドが生成される。
【0048】
上述の判定によって記憶部130に記憶された未読メッセージテーブル132に基づいて、抽出部122は、各スレッドに含まれる一連の未読メッセージの関連性を示す情報を抽出する。ここで、関連性を示す情報とは、スレッド内の会話に頻出する単語や、投稿された画像等を言い、スレッド内の会話内容を特徴づける情報を指す。単語の抽出は、例えば、形態素解析等の既存のアルゴリズムの手法を用いることができる。
【0049】
生成部123は、スレッドTH10に関する通知(スレッド通知)を、端末装置200Aの表示部250に表示させるための表示情報を生成する。
図6(b)は、表示部250に表示されるスレッド通知の一例を示す図である。スレッドTH10に関するスレッド通知10は、スレッド内の会話がなされた日時、グループ名とともに、スレッド内で頻出する単語(「会議」「プレゼン」)と、発言者のアイコンが表示される。スレッドTH20に関するスレッド通知20も同様である。なお、このスレッド通知10,20は、ユーザAによって選択可能なように生成され、ユーザAは、例えばスレッド通知10をタップして選択することによって、スレッドTH10に含まれる未読メッセージを展開して、表示部250に表示させることができる。なお、スレッド情報を示すスレッド通知10,20は、例えば、ポップアップ表示でもよいし、メッセージアプリのメッセージ表示画面に表示されてもよい。
【0050】
このように、本発明の一実施形態によれば、ユーザが確認していない未読メッセージが存在する場合に、関連性を有すると推測される一連の未読メッセージについてスレッド化が行われ、各スレッド情報が、当該スレッドの特徴(スレッドに含まれる未読メッセージ間の関連性)とともにユーザに示される。従って、ユーザは、時間を要するメッセージの確認作業において、どのスレッドを優先して確認すべきかの判断を行うことができ、有効に時間を活用することができる。
【0051】
なお、説明を簡単にするため、
図6(a)にて未読メッセージが4つの場合について説明したが、本発明は、未読メッセージが多数存在(例えば、30以上)する場合にも適用することができる。なお、未読メッセージが少なく、表示画面に全ての未読メッセージが表示される場合は、上述のスレッド化処理は行われなくても良い。この場合、記憶部130に下限値を記憶しておき、判定部121によって、未読メッセージの数が下限値を超えたと判定された場合に、上述のスレッド化処理を行えばよい。
【0052】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態では、グループ内の会話において、グループのユーザ数のうち、所定の割合以上のユーザが発言した場合に、上述のスレッド化処理が行われる。これは、グループのうちある程度のメンバーが発言した会話内容については、優先して確認することが望ましいと考えられるためである。
図7は、上述の場合について説明する図である。
図7(a)は、グループID「Group_ABC」の10人のグループによる会話であって、ユーザAが未確認の未読メッセージを示す図である。ここで、メッセージ21によって会話が開始され、発言者のアイコンは、発言者を区別するために、アルファベットによって表示されている。また、所定の割合の条件を、「6割」として説明する。なお、所定の割合の条件は、記憶部130に記憶される。
【0053】
サーバ100の判定部121は、グループのユーザのうち、メッセージを投稿(発言)したユーザの数をカウントする。
図7(a)の例では、ユーザHによるメッセージ21の時点では、発言者数は1である。その後、ユーザH、ユーザB、ユーザEの発言者数3の状態による会話が、メッセージ22〜26と継続する。そして、ユーザFによるメッセージ29が送信された時点で、判定部121は、発言者がグループ人数10人の6割」になったと判定する。すなわち、判定部121は、一連の未読メッセージを送信した複数の他のユーザの数が、グループを構成する複数のユーザの数に対して所定の割合以上となった場合、一連の未読メッセージ間に所定の条件が成立すると判定する。そして、未読メッセージテーブル132において、判定部121により、各メッセージに対して同一のスレッドNo.が付与されて記憶される。図の例では、メッセージ21〜29及びそれ以降のメッセージで、スレッドTH30が生成される。その後、抽出部122によって、スレッドTH30の関連性が抽出され、
図7(b)に示すスレッド通知30が、端末装置200の表示部250に表示される。
【0054】
上述のように、本発明の一実施形態によれば、グループのユーザ数に対して所定の割合以上のユーザが発言した場合に、未読メッセージについてのスレッドが作成され、スレッド情報がユーザに通知される。従って、ユーザは、多数のユーザが参加した重要度の高い会話であって、確認すべき会話を判別することができ、ユーザにとって利便性が高い。
【0055】
なお、上述では、所定の割合を「6割」として説明したが、これは、ユーザが任意に設定できてもよい。また、グループ毎に、所定の割合を異なるものにしてもよいし、ユーザが各々で設定できてもよい。これにより、ユーザの属するグループのうち、例えばビジネスに関するグループ等、メッセージの確認を優先すべきグループに対して割合を低く設定し、通知が行なわれ易くすることができる。
【0056】
さらに、スレッド通知30に表示されるアイコンは、発言数が多いユーザを優先的に表示させてもよい。これは、生成部123が、未読メッセージテーブル132に記憶された「送信ユーザ」の情報に基づき、発言数が多いユーザのアイコンを表示させるように表示情報を生成すればよい。これにより、どのユーザによる発言が多いかを即座に判断することができ、ユーザは、会話内容の傾向を推測したり、確認の優先度をつけたりすることができる。
【0057】
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態では、第1実施形態や第2実施形態で説明した所定の条件が成立する一連の未読メッセージのうち、所定の閾値を超える数の未読メッセージについては、所定の閾値以下の一連未読メッセージ毎にスレッドが生成される。すなわち、判定部121が、所定の条件が成立する一連の未読メッセージの数が所定の閾値を超えるか否かをさらに判定し、抽出部122が、所定の条件が成立する一連の未読メッセージについて、所定の閾値以下の一連の未読メッセージを一纏りとして、関連性を抽出する。これは、スレッド毎の未読メッセージの数を少なくし、スレッドの確認に要する時間を調節するためである。
図8は、第3実施例について説明する図である。ここで、所定の閾値は「N」であり、記憶部130に記憶される。なお、所定の閾値は、ユーザによって任意に設定することができ、例えば、30〜100とすることができる。
【0058】
図8のように、第1実施形態で説明した所定の条件を満たす未読メッセージ、すなわち、間隔10分以内に発言された一連の未読メッセージが存在するとする。判定部121は、未読メッセージの数をカウントしていき、所定の閾値「N」となったメッセージ31までに、同一のスレッドNo.を付与し、スレッドTH40を生成する。そして、メッセージ31から10分以内に発言されているが、所定の閾値「N」を超えるメッセージ32以降については、スレッドTH40とは異なるスレッドNo.を付与し、スレッドTH50を生成する。その後、前述したスレッド化処理と同様に、抽出部122によってスレッド毎の関連性が抽出され、スレッド通知を表示させるための表示情報が、生成部123によって生成される。
【0059】
このように、本発明の一実施形態によれば、ユーザが設定した所定の閾値以内の未読メッセージについてスレッドが作成されるため、ユーザは、1つのスレッドの確認に要する時間を調節することができる。なお、
図8では第1実施例に基づいて説明したが、第2実施例の場合についても同様に、所定の閾値を設定することができる。
【0060】
<第4実施形態>
次に、未読メッセージに画像や動画、スタンプ(デジタルメッセージ)が含まれる場合の処理について、第4実施形態として説明する。
図9は、第4実施形態の説明図である。
図9(a)のように、未読メッセージには、テキストメッセージだけでなく、画像41や、動画42、スタンプ43等が含まれてもよい。この場合、
図9(b)に示すように、生成部123は、スレッド通知60に、画像41や動画42のサムネイルを表示させるように、表示情報を生成することができる。画像41や動画42は、スレッドの会話内容に即するものであることが多いため、ユーザは、スレッドの会話内容を即座に把握することが可能となる。
【0061】
なお、スタンプ43には、スタンプの内容に応じて、重要であるもの、抽出部122によって抽出すべきものとしてユーザが予め設定しておき、記憶部130に記憶させることによって、スレッド通知60に表示させることが出来ても良い。
【0062】
上述した本発明の第1の実施形態〜第4の実施形態による制御方法について、
図10を用いて説明する。
図10は、上述の制御方法のフローチャートである。
【0063】
まず、サーバ100の記憶部130に、グループに関する情報が記憶される(ステップS11)。受信部111は、グループを構成する他のユーザから受信したグループ宛メッセージを、ユーザ(ユーザA)に送信する(ステップS12)。そして、判定部121が、ユーザに送信したメッセージについて、既読情報を受信したか否かを判定する(ステップS13)。既読情報を受信したと判定された場合は、ステップS12に戻り、メッセージの受信と送信(端末間の通信の中継)を継続する。既読情報を受信しないと判定された場合、制御部120は、記憶部130に未読メッセージに関する情報を記憶させる(ステップS14)。
【0064】
その後、判定部121は、記憶部130に記憶された未読メッセージに関する情報に基づいて、一連の未読メッセージに所定の条件が成立するか否かを判定する(ステップS15)。ステップS15にて、一連の未読メッセージに所定の条件が成立しないと判定された場合、ステップS12へ戻り、メッセージの送受信を継続する。ステップS15にて、一連の未読メッセージに所定の条件が成立すると判定された場合、抽出部122は、一連の未読メッセージの関連性を抽出する(ステップS16)。その後、生成部123は、未読メッセージに関する表示情報を生成する(ステップS17)。これは、ユーザの端末装置に、スレッド通知を表示させるための表示情報である。その後、送信部112は、生成された表示情報を、ユーザの端末装置に送信する(ステップS18)。
【0065】
なお、ステップS15の判定は、受信部111にてメッセージが受信される度に行われても良いし、記憶部130に、未読メッセージに関する情報がある程度記憶されてから行われても良い。以下に、メッセージが受信される度に行われる場合について、シーケンス図を用いて説明する。
図11は、本発明の一実施形態による制御方法を説明するシーケンス図である。
【0066】
図11の例は、ユーザAと同グループであるユーザBが、グループ宛にメッセージを送信する場合である。まず、ユーザBの端末装置Bから、グループ宛にメッセージが送信され(ステップS21)、サーバ100は、グループに含まれるユーザAの端末装置Aにも当該メッセージを送信する(ステップS22)。その後、判定部121は、メッセージに関する既読情報を受信したか否かを判定する(ステップS23)。既読情報を受信したと判定された場合は、特に図示しないが、次のメッセージの送受信を行う。既読情報を受信していないと判定された場合は、未読メッセージ情報が、記憶部130に記憶される(ステップS24)。未読メッセージ情報には、送信時刻が含まれ、判定部121は、最新のメッセージと、グループ間の会話における直前のメッセージとの送信時刻の差分が、所定の範囲以内であるか否かを判定する(ステップS25)。所定の範囲内であると判定された場合は、最新のメッセージを、直前のメッセージも含まれる既存のスレッドに統合する(スレッドS26)。すなわち、記憶部130に、同一のスレッドNo.を付与されて記憶される。ステップS25にて、所定の範囲内ではないと判定された場合は、直前のメッセージが含まれる既存のスレッドについて、抽出部122によって関連性が抽出され、スレッド情報が記憶部130に記憶される(ステップS27)。また、最新のメッセージについて、新しいスレッドが作成される(ステップS28)。すなわち、記憶部130に、直前のメッセージと異なるスレッドNo.を付与されて記憶される。ステップS21〜S28の処理は、メッセージが送信される度、端末装置Aから既読情報を受信するまで繰り返され、スレッド化の処理が実行される。
【0067】
その後、ユーザAがメッセージアプリを起動し、サービスにログインした事を示す情報が、サーバ100に送信される(ステップS29)と、抽出部122は、直前まで受信したメッセージのうち、スレッド化される条件を満たしている一連の未読メッセージについて、関連性を抽出する。その後、生成部123が、スレッド表示情報を生成する(ステップS30)。なお、ステップS30における表示情報の生成は、新しいスレッドが作成された場合、すなわち、記憶部130に、異なるスレッドNo.が付与された未読メッセージが記憶された場合に(ステップS27の時点で)、その直前までの一連の未読メッセージについて行われても良い。
【0068】
その後、サーバ100の送信部111から、スレッド表示情報が端末装置Aに送信される(ステップS31)。このとき、これ以前に端末装置Aに送信された一連のメッセージが存在するが、スレッド情報が優先して表示される。これは、生成部123によって、送信済みの未読メッセージよりも先にスレッド情報が表示されるように、表示情報が生成されればよい。なお、表示情報の生成及び端末装置への当該表示情報の送信は、端末装置Aがサービスログインした際に限らず、新規のスレッドが作成された時点で、それ以前のスレッドについて送信されてもよい。なお、端末装置が起動していない、圏外であるなど、端末装置がメッセージ自体を受信できていない場合も考えられる。この場合、サーバ100から端末装置への未読メッセージの再送は行われず、スレッド通知を表示するための表示情報のみが送信されてもよい。その後、端末装置からスレッドの表示を選択する指示が送信された場合、スレッドに含まれている未読メッセージを、サーバ100から送信してもよい。
【0069】
その後、端末装置Aの表示部250にスレッド、すなわちスレッドに含まれる未読メッセージが表示された場合、端末装置Aからサーバ100へ、スレッド閲覧情報が送信され(ステップS32)、サーバ100は、ユーザAが確認したメッセージを送信したグループの他のユーザに、スレッド閲覧情報を送信する(ステップS33)。
【0070】
本発明の効果を再度述べる。本発明の一実施形態によれば、ユーザが確認していない未読メッセージが存在する場合に、関連性を有すると推測される一連の未読メッセージについてスレッド化が行われ、各スレッド情報が、当該スレッドの特徴(スレッドに含まれる未読メッセージの関連性)とともにユーザに示される。従って、ユーザは、時間を要するメッセージの確認作業において、どのスレッドを優先して確認すべきかの判断を行うことができ、有効に時間を活用することができる。
【0071】
さらに、本発明の一実施形態によれば、グループのユーザ数に対して所定の割合以上のユーザが発言した場合に、未読メッセージについてのスレッドが作成され、スレッド情報がユーザに通知される。従って、ユーザは、確認すべき未読メッセージを認識することができ、ユーザにとって利便性が高い。
【0072】
さらに、本発明の一実施形態によれば、ユーザが設定した所定の閾値以内の未読メッセージについてスレッドが作成されるため、ユーザは、1つのスレッドの確認に要する時間を調節することができる。
【0073】
さらに、本発明の一実施形態によれば、未読メッセージに画像や動画が含まれる場合、それらのサムネイルが、スレッド情報として表示される。画像や動画は、スレッドの会話内容に即するものであることが多いため、ユーザは、スレッドの会話内容を即座に把握することが可能となる。
【0074】
本発明に係る発明の一実施形態を説明したが、本発明はこれに限られないことは言うまでもない。例えば、上述の所定の閾値、割合及び閾値は例示であって、他の数値であってもよい。また、各実施形態を組み合わせて実現されてもよい。例えば、一連の未読メッセージが、直前のメッセージから所定の時間内に発言され、さらに、グループのユーザ数のうち所定の割合以上のユーザが発言した場合に、スレッド化されてもよい。さらに、スレッドとして一纏りとする未読メッセージの数に、上限が設けられても良い。これにより、よりユーザが確認し易いスレッドを作成することが可能となり、利便性が高い。
【0075】
また、端末装置に表示されるスレッド通知を、スレッド毎に表示態様を異ならせて表示させてもよい。例えば、スレッド通知に色彩を施して表示し、スレッド内の発言者数が多いほど、スレッドの色を濃く表示させてもよい。また、予め他のユーザを特別ユーザとして設定しておき、当該特別ユーザの発言が多いスレッドを、ユーザ指定の色を付けて表示させてもよい。これにより、ユーザに、即座にスレッドの内容を推測させることが可能となる。
【0076】
なお、スレッド表示情報を受信した端末装置において、スレッドを確認せずに、スレッド全体を削除(放棄)することができてもよい。これは例えば、スレッド通知に、スレッドの削除をユーザが選択できる領域を表示させ、ユーザにより削除が選択された場合に、記憶部230からスレッド(すなわち、スレッドに含まれる一連の未読メッセージ)を削除することで実現できる。ユーザは、上述したスレッド通知に表示されたスレッドの特徴により、スレッドの内容をある程度推測することができるため、例えば、既に終了したイベントに関するスレッドなど、確認が不要と判断したスレッドを削除することで、手間を省くことが可能となる。
【0077】
また、上述では、未読メッセージを一纏りとしてスレッド化してから関連性を抽出する態様について説明した。しかしながら、予め単語を設定して記憶しておき、設定された単語を含むメッセージが送信された場合に、そのメッセージを含む一連の未読メッセージで、上述の処理によるスレッドが作成されてもよい。これにより、ユーザは、自分の所望のテーマに沿った会話の確認を優先することができる。
【0078】
また、端末装置は、スマートフォンに限るものでない。端末装置は、上記実施の形態において記載した機能を実現できる情報処理装置であればどのような装置であってもよく、例えば、ノートパソコン、スマートフォン、タブレット端末、携帯電話、ウェアラブル端末(眼鏡型、腕時計型等を含む)、デスクトップPC(Personal Computer)であってもよい。
【0079】
サーバ100の各機能部は、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。また、各機能部は、1または複数の集積回路により実現されてよく、複数の機能部の機能を1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。
【0080】
サーバ100の各機能部をソフトウェアにより実現する場合、サーバ100または端末装置200は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記検索プログラムは、当該検索プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記検索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0081】
なお、上記プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【0082】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、上記実施の形態に示す構成を適宜組み合わせることとしてもよい。
【課題】複数の未読メッセージが存在する場合に、それら未読メッセージ間の関連性を示す情報とともに、未読メッセージの存在をユーザに通知できるサービスシステムに係る情報処理装置、情報処理装置の制御方法およびプログラムを提供する。
【解決手段】情報処理装置は、グループを構成する複数のユーザの端末に、グループのユーザの端末からのメッセージを送信する送信部、既読情報を複数のユーザの端末から受信する受信部、既読情報を未受信の未読メッセージに、所定の条件が成立するかを判定する判定部、所定の条件が成立する未読メッセージの関連性を抽出する抽出部、未読メッセージの関連性を示す情報を表示する領域を表示させる表示情報であって、領域がユーザによって選択された場合、一連の未読メッセージがユーザの端末の表示部に時系列表示される表示情報を生成する生成部を備える。