(57)【要約】      （修正有）【課題】端末ユーザのインタラクションを通じてインスタントメッセージから抽出したキーワードを検索する。【解決手段】インタラクションを通じてキーワードを検索する端末は、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、ユーザのインタラクションを受信すれば、インタラクションに応答して、チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出し、抽出されたキーワードがディスプレイされる検索ページを提供する。ユーザから検索ページ上にディスプレイされたキーワードの何れか１つを選択する入力を受信すれば、選択されたキーワードに対応する検索結果がディスプレイされる検索結果ページを提供する。【選択図】図８
2016184408.tif 000002
【特許請求の範囲】
【請求項１】
インタラクションを通じてキーワードを検索する端末において、
ディスプレイモジュールと、
キーワード検索プログラムが格納されたメモリと、
前記プログラムを実行するプロセッサとを含み、
前記プロセッサは、前記プログラムの実行によって、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、ユーザのインタラクションを受信すれば、前記インタラクションに応答して、前記チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出し、前記抽出されたキーワードがディスプレイされる検索ページを提供し、
前記ユーザから前記検索ページ上にディスプレイされたキーワードの何れか１つを選択する入力を受信すれば、前記選択されたキーワードに対応する検索結果がディスプレイされる検索結果ページを提供する端末。
【請求項２】
前記プロセッサは、検索索引リストに基づいて前記インスタントメッセージから１つ以上のキーワードを抽出し、
前記検索索引リストは、１つ以上のキーワードが含まれたものである請求項１に記載の端末。
【請求項３】
前記プロセッサは、前記検索索引リストに含まれた１つ以上のキーワードと、前記インスタントメッセージに含まれたテキストとを比較し、
前記検索索引リストに含まれたキーワードと前記インスタントメッセージとの間の類似度の結果値に基づいて前記キーワードを抽出する請求項２に記載の端末。
【請求項４】
前記プロセッサは、前記検索索引リストに含まれたキーワードのうち、前記抽出されたキーワードに対する類似度が予め設定された値以上である類似キーワードを抽出し、前記検索ページは、前記抽出されたキーワード及び類似キーワードの１つ以上を含む請求項３に記載の端末。
【請求項５】
前記プロセッサは、構文解析法に基づいて前記インスタントメッセージから１つ以上のキーワードを抽出する請求項１に記載の端末。
【請求項６】
前記プロセッサは、前記構文解析法に基づいて前記インスタントメッセージから１つ以上の単語を抽出し、テキストマイニング技法に基づいて前記１つ以上の単語から前記キーワードを抽出する請求項５に記載の端末。
【請求項７】
インスタントメッセージサーバとデータ通信を行う通信モジュールをさらに含み、
前記プロセッサは、前記通信モジュールを通じて、前記抽出されたキーワードを検索サーバに転送するよう前記インスタントメッセージサーバに伝達し、
前記抽出されたキーワードに対応して、前記検索サーバにより導出された検索結果を前記インスタントメッセージサーバから受信する請求項１に記載の端末。
【請求項８】
前記プロセッサは、１つ以上のキーワードが含まれた検索索引リストを前記メモリに格納し、
前記検索索引リストは、前記プロセッサによって既抽出されたキーワードまたは前記通信モジュールを通じて前記インスタントメッセージサーバから受信した検索索引リストを含む請求項７に記載の端末。
【請求項９】
前記インタラクションは、クリック（ｃｌｉｃｋ）、タップ（ｔａｐ）、ドラッグアンドドロップ（ｄｒａｇ  ａｎｄ  ｄｒｏｐ）、スワイプ（ｓｗｉｐｅ）、ピンチトゥズーム（ｐｉｎｃｈ  ｔｏ  ｚｏｏｍ）及びフリック（ｆｌｉｃｋ）の少なくとも１つを含む請求項１に記載の端末。
【請求項１０】
前記プロセッサは、前記インタラクションを受信することによって、予め設定された時間範囲内に前記端末に受信されたインスタントメッセージから前記キーワードを抽出する請求項１に記載の端末。
【請求項１１】
前記プロセッサは、前記インタラクションを受信することによって、前記チャットウィンドウにディスプレイされた１つ以上のインスタントメッセージからキーワードを抽出する請求項１に記載の端末。
【請求項１２】
前記プロセッサは、検索範囲に含まれるインスタントメッセージから１つ以上のキーワードを抽出し、
前記検索範囲は、前記チャットウィンドウ内の表示画面にディスプレイされたインスタントメッセージ、及び予め設定された時間、日付及び位置の少なくとも１つによって生成されたインスタントメッセージの１つである請求項１に記載の端末。
【請求項１３】
前記プロセッサは、前記インタラクションの入力範囲の大きさに応じて検索範囲を設定し、前記設定された検索範囲に基づいて前記１つ以上のキーワードを抽出する請求項１２に記載の端末。
【請求項１４】
前記プロセッサは、前記検索ページ上においてユーザのインタラクションを受信することによって、前記チャットルームに含まれたインスタントメッセージのうち、前記検索範囲に含まれていないインスタントメッセージから１つ以上のキーワードを抽出し、
前記検索範囲に含まれていないインスタントメッセージから抽出されたキーワードを前記検索ページ上に提供する請求項１２に記載の端末。
【請求項１５】
前記プロセッサは、前記ユーザから前記検索ページ上にディスプレイされたキーワードの何れか１つを選択する入力を受信することによって、前記チャットウィンドウ内にディスプレイされた１つ以上のインスタントメッセージ上の前記選択されたキーワードが他のキーワードと区別されるように表示し、
前記区別される表示は、前記キーワードに対するフォントの変更、下線の追加及びハイライト表示の何れか１つを含む請求項１に記載の端末。
【請求項１６】
前記プロセッサは、前記ユーザから前記区別されるように表示されたキーワードを選択する入力を受信することによって、
前記選択されたキーワードに対応する検索結果を表示したり、前記選択されたキーワードに対応する検索結果へ移動できるポップアップメニューを提供する請求項１５に記載の端末。
【請求項１７】
前記プロセッサは、前記インタラクションを受信することによって、前記チャットルームに参加中の会話相手と形成された他のチャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出する請求項１に記載の端末。
【請求項１８】
インスタントメッセージサーバにいて、
通信モジュールと、
インスタントメッセージサービスプログラムが格納されたメモリと、
前記プログラムを実行するプロセッサとを含み、
前記プロセッサは、前記プログラムの実行によって、
前記通信モジュールを通じて端末からキーワード検索要請を受信すれば、前記キーワード検索要請に応答して、前記端末のチャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出し、前記抽出されたキーワードがディスプレイされる検索ページを前記端末に提供し、
前記キーワード検索要請は、前記１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、ユーザのインタラクションを受信することによって生成されたものであり、
前記端末から前記検索ページ上にディスプレイされたキーワードの何れか１つを選択するユーザの入力を受信すれば、前記選択されたキーワードに対応する検索結果を前記端末に提供するインスタントメッセージサーバ。
【請求項１９】
端末により実行されるキーワード検索方法において、
１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウにおいて、ユーザのインタラクションを受信するステップと、
前記インタラクションに応答して、前記チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出するステップと、
前記抽出されたキーワードがディスプレイされる検索ページを提供するステップと、
前記ユーザから前記検索ページ上にディスプレイされたキーワードの何れか１つを選択する入力を受信するステップと、
前記選択されたキーワードに対応する検索結果がディスプレイされる検索結果ページを提供するステップとを含むキーワード検索方法。
【請求項２０】
インスタントメッセージサーバにおけるキーワード検索方法において、
端末からキーワード検索要請を受信するステップと、
前記キーワード検索要請に応答して、前記端末のチャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出するステップと、
前記抽出されたキーワードがディスプレイされる検索ページを端末に提供するステップと、
前記端末から前記検索ページ上にディスプレイされたキーワードの何れか１つを選択するユーザの入力を受信すれば、前記選択されたキーワードに対応する検索結果を前記端末に提供するステップとを含み、
前記キーワード検索要請は、前記１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、前記ユーザのインタラクションを受信することによって生成されるキーワード検索方法。
【請求項２１】
前記端末からキーワード検索要請を受信するステップは、
前記端末から前記キーワード検索要請に対応する１つ以上のインスタントメッセージを受信するステップを含む請求項２０に記載のキーワード検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタラクションを通じてキーワードを検索する端末、サーバ及び方法に関する。
【背景技術】
【０００２】
近年、超高速無線ネットワーク技術及び種々のスマート端末の普及によって、これを利用したインスタントメッセージサービス（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ）の活用が増加している。インスタントメッセージサービスは、インターネットのようなネットワークに基づいて２人以上の端末ユーザがチャットルームを設け、設けられたチャットルーム内においてリアルタイムでインスタントメッセージを交換するサービスである。
【０００３】
現在のインスタントメッセージサービスは、端末ユーザがインスタントメッセージに含まれた情報に関する検索を行おうとする場合、インスタントメッセージサービスを終了したり、マルチタスキングにて別の検索アプリケーションや検索サービスを開き、所望する情報を探索しなければならない。それゆえ、ユーザは、所望する情報を探すためには必要以上の動作を行わなければならない。
【０００４】
これに関し、特許文献１には、メッセージングサービスベースの会話中における検索機能の提供方法、そのためのプログラムを記録した記録媒体及び端末が開示されている。具体的に、この発明は、メッセージ入力領域内に検索アイコンが含まれており、検索アイコンを入力することによって、メッセージ入力領域に入力された文字にて検索を行い、検索結果をメッセージ表示領域に表示する。
【０００５】
また、特許文献２には、メッセージを交換する端末装置において、メッセージを交換している状態でメッセージに含まれた少なくとも１つの単語を検索対象にして検索を行い、検索結果が表示されるように制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国公開特許公報第１０−２０１３−００５２１０６号
【特許文献２】韓国公開特許公報第１０−２０１２−０１２７０８６号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本願の実施例は、端末ユーザのインタラクションを通じてインスタントメッセージから抽出したキーワードを検索する端末、サーバ及び方法を提供する。
【０００８】
但し、本実施例が達成しようとする技術的課題は、上記したような技術的課題に限定されるものではなく、他の技術的課題が存在し得る。
【課題を解決するための手段】
【０００９】
上述した技術的課題を解決するための技術的手段として、本発明の第１の側面に係るインタラクションを通じてキーワードを検索する端末は、ディスプレイモジュールと、キーワード検索プログラムが格納されたメモリと、プログラムを実行するプロセッサとを含む。ここで、プロセッサは、プログラムの実行によって、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、ユーザのインタラクションを受信すれば、インタラクションに応答して、チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出し、抽出されたキーワードがディスプレイされる検索ページを提供し、ユーザから検索ページ上にディスプレイされたキーワードの何れか１つを選択する入力を受信すれば、選択されたキーワードに対応する検索結果がディスプレイされる検索結果ページを提供する。
【００１０】
また、本発明の第２の側面に係るインスタントメッセージサーバは、通信モジュールと、インスタントメッセージサービスプログラムが格納されたメモリと、プログラムを実行するプロセッサとを含む。ここで、プロセッサは、プログラムの実行によって、通信モジュールを通じて端末からキーワード検索要請を受信すれば、キーワード検索要請に応答して、端末のチャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出し、抽出されたキーワードがディスプレイされる検索ページを端末に提供し、キーワード検索要請は、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、ユーザのインタラクションを受信することによって生成されたものであり、端末から検索ページ上にディスプレイされたキーワードの何れか１つを選択するユーザの入力を受信すれば、選択されたキーワードに対応する検索結果を端末に提供する。
【００１１】
また、本発明の第３の側面に係る端末により実行されるキーワード検索方法は、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウにおいて、ユーザのインタラクションを受信するステップと、インタラクションに応答して、チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出するステップと、抽出されたキーワードがディスプレイされる検索ページを提供するステップと、ユーザから検索ページ上にディスプレイされたキーワードの何れか１つを選択する入力を受信するステップと、選択されたキーワードに対応する検索結果がディスプレイされる検索結果ページを提供するステップとを含む。
【００１２】
さらに、本発明の第４の側面に係るインスタントメッセージサーバにおけるキーワード検索方法は、端末からキーワード検索要請を受信するステップと、キーワード検索要請に応答して、端末のチャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出するステップと、抽出されたキーワードがディスプレイされる検索ページを端末に提供するステップと、端末から検索ページ上にディスプレイされたキーワードの何れか１つを選択するユーザの入力を受信すれば、選択されたキーワードに対応する検索結果を前記端末に提供するステップとを含む。ここで、キーワード検索要請は、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、ユーザのインタラクションを受信することによって生成される。
【発明の効果】
【００１３】
上述した課題を解決するための手段の何れか１つによれば、本発明は、端末ユーザのインタラクションを受信すれば、チャットルームに含まれたインスタントメッセージからキーワードを抽出し、検索することができる。それゆえ、本発明は、インスタントメッセージサービスを終了したり、マルチタスキングすることなく、ユーザの最小限の動作のみで所望する情報を即刻的に検索することができる。
【００１４】
また、本発明は、インスタントメッセージからキーワードを抽出するので、ユーザが検索のために付加的な入力を行うことなく、所望する情報を検索することができる。それゆえ、本発明は、ユーザに便宜性を提供し、ユーザの満足度を高めることができる。また、本発明は、アプリケーションの使用中に検索サービスを提供する汎用のサービスに活用することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施例に係るキーワード検索システムの構成図である。
【図２】本発明の一実施例に係るインタラクションを通じてキーワードを検索する端末の構成図である。
【図３】本発明の一実施例に係るチャットウィンドウ及び検索ページの例示図である。
【図４】従来の端末により実施されるキーワード検索の例示図である。
【図５】本発明の一実施例に係るインタラクションの入力範囲の大きさに応じて設定される検索範囲の例示図である。
【図６】本発明の一実施例に係る検索ページ上においてインタラクションを通じてキーワードを検索する方法を説明するための例示図である。
【図７】本発明の一実施例に係るインスタントメッセージサーバの構成図である。
【図８】本発明の一実施例に係る端末により実施される検索方法のフローチャートである。
【図９】本発明の一実施例に係るインスタントメッセージサーバにおけるキーワード検索方法のフローチャートである。
【発明を実施するための形態】
【００１６】
以下では、添付した図面を参照しながら、本発明の属する技術分野において通常の知識を有する者が容易に実施できるように本発明の実施例を詳しく説明する。ところが、本発明は、様々な異なる形態で具現されることができ、ここで説明する実施例に限定されるものではない。そして、図面において、本発明を明確に説明するために、説明とは関係ない部分は省略している。
【００１７】
明細書全体において、ある部分がある構成要素を『含む』とする場合、これは、特に反対の記載がない限り、他の構成要素を除くのではなく、他の構成要素をさらに含み得ることを意味する。
【００１８】
次いで、図１を参照しながら、本発明の一実施例に係るインタラクションを通じたキーワード検索システム１０を説明する。
【００１９】
図１は、本発明の一実施例に係るキーワード検索システム１０の構成図である。
【００２０】
本発明の一実施例に係るキーワード検索システム１０は、端末１００と、インスタントメッセージサーバ１１０と、検索サーバ１２０とを含む。
【００２１】
端末１００は、１つ以上のインスタントメッセージを含むチャットルームをディスプレイする。ここで、チャットルームは、インスタントメッセージサービスまたは端末にインストールされたインスタントメッセージサービスを提供するアプリケーションによって生成され得る。端末ユーザは、端末１００に生成されたチャットルームを通じて、１つ以上の他の端末のユーザとインスタントメッセージを交換することができる。
【００２２】
端末１００は、チャットルームがディスプレイされたチャットウィンドウにおいて、端末ユーザのインタラクションを受信することによって、１つ以上のインスタントメッセージから１つ以上のキーワードを抽出して検索ページを生成し、生成された検索ページをディスプレイする。
【００２３】
そして、端末ユーザが、ディスプレイされた検索ページ上において何れか１つのキーワードを選択すれば、端末１００は、端末ユーザが選択したキーワードをインスタントメッセージサーバ１１０に伝達し、インスタントメッセージサーバ１１０から検索結果を受信する。また、端末１００は、受信した検索結果を含む検索結果ページを生成し、検索結果ページをディスプレイする。ここで、選択されたキーワードに対する検索結果は、インスタントメッセージサーバ１１０が検索サーバ１２０から受信した検索結果であり得る。
【００２４】
インスタントメッセージサーバ１１０は、端末１００が転送したインスタントメッセージを他の端末に伝達する。そして、インスタントメッセージサーバ１１０は、端末１００が転送したキーワードを含むクエリを生成して検索サーバ１２０に転送し、検索サーバ１２０によって生成されたクエリに対する検索結果を受信して、端末１００に伝達する。
【００２５】
検索サーバ１２０は、インスタントメッセージサーバ１１０から、端末ユーザが選択したキーワードに基づいて生成された検索のためのクエリを受信し、受信したクエリに対する検索を行う。そして、検索サーバ１２０は、クエリに対する検索結果を端末１００に伝達するよう、インスタントメッセージサーバ１１０に転送する。
【００２６】
ここで、インスタントメッセージサーバ１１０と検索サーバ１２０とは、それぞれ分離されて独立したサーバコンピュータで実行されたり、同一のサーバコンピュータにサーバプログラムとして搭載され、それぞれサービスされ得る。また、検索サーバ１２０は、インスタントメッセージサーバ１１０とネットワークで連結された外部の検索サーバまたは検索サービスを提供するポータルであり得る。
【００２７】
キーワード検索システム１０は、端末１００において端末ユーザにより入力されたインタラクションに応じて、端末１００のチャットルーム内のインスタントメッセージに含まれたキーワードを抽出し、検索サーバ１２０によって生成されたキーワードの検索結果を端末１００に表示させる。即ち、キーワード検索システム１０は、端末１００のチャットウィンドウ内のインスタントメッセージに含まれたキーワードを検索することのできるシステムである。
【００２８】
具体的に、キーワード検索システム１０に含まれた端末１００は、チャットルームに１つ以上のインスタントメッセージを含むチャットウィンドウをディスプレイする。そして、端末１００は、インスタントメッセージを利用してキーワードを検索しようとする端末ユーザのインタラクションを受信すれば、チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出する。
【００２９】
ここで、キーワードを抽出するインスタントメッセージは、チャットルームがディスプレイされたチャットウィンドウに含まれたインスタントメッセージであり得る。また、キーワードを抽出するインスタントメッセージは、予め定義された検索範囲に含まれるインスタントメッセージであり得る。
【００３０】
そして、端末１００は、既格納された検索索引リストに基づき、インスタントメッセージから１つ以上のキーワードを抽出する。ここで、既格納された検索索引リストは、端末１００によって既抽出されたキーワードが索引になり、格納されたものであり得る。また、既格納された検索索引リストは、インスタントメッセージサーバ１１０から受信した検索索引リストを含み得る。
【００３１】
また、端末１００は、インスタントメッセージを構文解析（ｐａｒｓｉｎｇ）し、キーワードを抽出する。このとき、端末１００は、インスタントメッセージを構文解析して１つ以上の単語を抽出し、テキストマイニング（ｔｅｘｔ  ｍｉｎｉｎｇ）技法に基づいて抽出された１つ以上の単語から１つ以上のキーワードを抽出する。
【００３２】
そして、端末１００は、抽出されたキーワードに基づいて検索ページを生成し、生成された検索ページをディスプレイする。端末ユーザがディスプレイされた検索ページに含まれたキーワードの何れか１つを選択すれば、端末１００は、選択されたキーワードをインスタントメッセージサーバ１１０に転送する。
【００３３】
ユーザによって選択されたキーワードを端末１００から受信したインスタントメッセージサーバ１１０は、受信したキーワードが含まれたクエリを生成して検索サーバ１２０に転送する。クエリを受信した検索サーバ１２０は、クエリに対する検索を行い、クエリに対する検索結果をインスタントメッセージサーバ１１０に転送する。インスタントメッセージサーバ１１０は、検索サーバ１２０からキーワードに対応する検索結果を受信する。そして、インスタントメッセージサーバ１１０は、検索サーバ１２０から受信した検索結果を端末１００に転送する。
【００３４】
インスタントメッセージサーバ１１０から検索結果を受信した端末１００は、ディスプレイされたチャットウィンドウ上に、選択されたキーワードに対応する検索結果ページを表示する。それゆえ、端末ユーザは、端末１００の検索結果ページにおいて、所望のキーワードに対する検索結果を確認することができる。そして、端末ユーザは、例えば、端末１００の検索結果ページに含まれた『閉じる』命令に対応するボタンをクリックすることで、検索前に使用していたチャットルームに復帰する。
【００３５】
一方、端末１００は、検索ページに含まれた１つ以上のキーワードのうち、端末ユーザが検索結果を確認したキーワードに対し、他のインスタントメッセージのキーワードと区別されるように別に表示する。そして、端末１００は、チャットルームに含まれたインスタントメッセージのうち、当該キーワードを含むインスタントメッセージが表示される吹き出しを区別して表示する。
【００３６】
端末ユーザが検索結果を確認すれば、検索結果の確認済みの当該キーワードは、他のインスタントメッセージと区別されるように別に表示され、端末１００が、端末ユーザから区別して表示されたキーワードを選択する入力を受信すれば、キーワードに対応する検索結果ページを提供する。ここで、本発明の一実施例に係る端末１００は、端末ユーザが、吹き出し領域に含まれたインスタントメッセージ内に区別して表示されたキーワードをクリックする場合に検索結果ページを提供するだけでなく、吹き出し領域の選択を通じて提供されるポップアップメニュー内の『検索結果確認』タップをクリックする場合にも検索結果ページを提供する。
【００３７】
さらに、本発明の一実施例に係る端末１００は、検索ページに含まれた１つ以上のキーワードをディスプレイする際、端末ユーザが既に検索結果を確認したキーワードが、検索結果を確認していないキーワードと区別されるよう、既に検索結果を確認済みのキーワードを区分して表示する。
【００３８】
以下では、図２乃至図６を参照しながら、本発明の一実施例に係るインタラクションを通じてキーワードを検索する端末１００を説明する。
【００３９】
図２は、本発明の一実施例に係るインタラクションを通じてキーワードを検索する端末１００の構成図である。
【００４０】
本発明の一実施例に係る端末１００は、ディスプレイモジュール２００と、メモリ２１０と、プロセッサ２２０と、通信モジュール２３０と、入力モジュール２４０とを含む。
【００４１】
ディスプレイモジュール２００は、１つ以上のインスタントメッセージを含むチャットルームをディスプレイする。
【００４２】
メモリ２１０には、キーワード検索プログラムが格納される。ここで、メモリ２１０は、電源の供給なしでも格納された情報を維持し続ける非揮発性格納装置、及び格納された情報を維持するために電気が必要な揮発性格納装置を通称するものである。
【００４３】
そして、通信モジュール２３０は、インスタントメッセージサーバ１１０とのデータ通信を行う。
【００４４】
また、入力モジュール２４０は、端末ユーザのインタラクションを受信する。ここで、入力モジュール２４０は、キーボード、マウス、ジョイスティック及びタッチパッドのような入力装置であり得る。また、入力モジュール２４０は、抵抗膜方式及び静電容量方式などのタッチスクリーンパネルであっても良く、ディスプレイモジュール２００と統合して具現され得る。
【００４５】
本発明の一実施例に係るプロセッサ２２０は、ディスプレイモジュール２００を通じて１つ以上のインスタントメッセージを含むチャットルームをディスプレイする。また、プロセッサ２２０は、メモリ２１０に格納されたキーワード検索プログラムを実行する。
【００４６】
チャットルームがディスプレイされたチャットウィンドウ内において、端末ユーザがインタラクションを入力すれば、プロセッサ２２０は、インタラクションに応答して、チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出する。
【００４７】
ここで、キーワードを抽出するインスタントメッセージは、チャットルームがディスプレイされたチャットウィンドウに含まれたインスタントメッセージであり得る。また、キーワードを抽出するインスタントメッセージは、数、日付及び時間などの予め定められた検索範囲に含まれるインスタントメッセージであり得る。例えば、予め定められた検索範囲が予め定められた数であれば、キーワードを抽出するインスタントメッセージは、端末ユーザがインタラクションを入力する直前までに生成された予め定められた数のインスタントメッセージである。
【００４８】
ここで、予め定められた検索範囲は、メモリ２１０に予め格納された値であり得る。また、予め定められた検索範囲は、インスタントメッセージサーバ１１０で設定されて端末１００に転送されたものであり得る。そして、予め定められた検索範囲は、端末ユーザがチャットウィンドウに入力するインタラクションの入力範囲の大きさに応じて設定され得る。
【００４９】
また、予め定められた検索範囲は、特定の位置または場所であり得る。例えば、予め定められた検索範囲が現在位置であれば、プロセッサ２２０は、現在位置で生成されたインスタントメッセージに対してキーワードを抽出する。そして、予め定められた検索範囲が『ソウル』であれば、プロセッサ２２０は、端末ユーザが『ソウル』で交換したインスタントメッセージに対してキーワードを抽出する。
【００５０】
ここで、端末１００は、位置を測定するために位置センサ２５０を含み得る。このとき、位置センサ２５０は、ＧＰＳ（ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）及び地磁気センサ（Ｇｅｏ−ｍａｇｎｅｔｉｃ  Ｓｅｎｓｏｒ）などの位置を測定する１つ以上のセンサを含み得る。また、端末１００は、通信モジュール２３０に基づいて端末１００の位置を測定し得る。通信モジュール２３０は、通信モジュール２３０と連結されたアクセスポイント及び基地局などの通信装置によって収集された情報により、端末１００の位置を測定することができる。
【００５１】
一方、インタラクションは、端末ユーザによる特定の入力のための動作を意味し、入力モジュール２４０を通じて入力される。例えば、インタラクションは、端末ユーザが入力モジュール２４０を通じて入力するクリック（ｃｌｉｃｋ）、タップ（ｔａｐ）、ドラッグアンドドロップ（ｄｒａｇ  ａｎｄ  ｄｒｏｐ）、スワイプ（ｓｗｉｐｅ）、ピンチイン／アウト（ｐｉｎｃｈ  ｉｎ／ｏｕｔ）及びフリック（ｆｌｉｃｋ）の少なくとも１つを含み得る。もし、入力モジュール２４０がマルチタッチをサポートするタッチパネルである場合、端末ユーザは、指やタッチペンなどの道具を利用してインタラクションを入力することができる。
【００５２】
ピンチイン／アウトは、端末ユーザが２本の指を利用して入力モジュール２４０をタッチした後、タッチを維持したまま指を開いたり、窄める動作を意味する。ここで、２本の指を開く場合にはピンチアウト（ｐｉｎｃｈ  ｏｕｔ）といい、２本の指を窄める場合にはピンチイン（ｐｉｎｃｈ  ｉｎ）という。
【００５３】
また、インタラクションは、端末１００に含まれたセンサ（ｓｅｎｓｏｒ）を利用して入力され得る。例えば、端末ユーザは、チャットルームを管理する端末１００に含まれたジャイロスコープ（ｇｙｒｏｓｃｏｐｅ）センサを利用してシェーク（ｓｈａｋｅ）及びフリップ（ｆｌｉｐ）などを入力することができる。
【００５４】
一方、プロセッサ２２０は、端末ユーザが入力モジュール２４０を通じて入力したインタラクションに従い、インスタントメッセージからキーワードを抽出する。そして、プロセッサ２２０は、抽出されたキーワードに基づいて検索ページを生成する。キーワード抽出及び検索ページ生成する過程について図３を参照して説明すると、以下の通りである。
【００５５】
図３は、本発明の一実施例に係るチャットウィンドウ及び検索ページの例示図である。
【００５６】
ディスプレイモジュール２００にディスプレイされたチャットウィンドウＰ３００において、端末ユーザがインタラクションＰ３１０を入力すれば、プロセッサ２２０は、インタラクションに応答して、チャットルームに含まれた１つ以上のインスタントメッセージＰ３０１乃至Ｐ３０７から１つ以上のキーワードを抽出する。ここで、キーワードを抽出するインスタントメッセージは、端末ユーザが入力したインスタントメッセージＰ３０１及びＰ３０６、及びチャットルームに参加中の会話相手が転送したインスタントメッセージＰ３０２乃至Ｐ３０５及びＰ３０７を含み得る。
【００５７】
プロセッサ２２０は、検索索引リストに基づいて１つ以上のインスタントメッセージＰ３０１乃至Ｐ３０７からキーワードを抽出する。ここで、検索索引リストは、プロセッサ２２０によって既抽出されたキーワードが索引になり、メモリ２１０に格納されたものであり得る。また、検索索引リストは、通信モジュール２３０を通じてインスタントメッセージサーバ１１０から受信した検索索引リストを含み得る。プロセッサ２２０は、端末ユーザからインタラクションを受信すれば、通信モジュール２３０を通じてインスタントメッセージサーバ１１０から新たな検索索引リストを受信し、受信された検索索引リストをメモリ２１０に格納された検索索引リストに追加する。
【００５８】
例えば、プロセッサ２２０は、通信モジュール２３０を通じて、他の端末により検索サーバ１２０でよく検索されるキーワードを含む検索索引リストをインスタントメッセージサーバ１１０から受信し、メモリ２１０に格納された検索索引リストに追加する。また、プロセッサ２２０は、通信モジュール２３０を通じて、他の端末により抽出されたキーワードを含む検索索引リストを受信し、メモリ２１０に格納された検索索引リストに追加する。そして、プロセッサ２２０は、通信モジュール２３０を通じて、インスタントメッセージサーバ１１０から新造語及びイシューキーワードなどを含む新たな検索索引リストを受信し、メモリ２１０に格納された検索索引リストに追加する。
【００５９】
プロセッサ２２０は、検索索引リストに含まれた１つ以上のキーワードと、キーワードを抽出するインスタントメッセージに含まれたテキストとの間の類似度を算出する。そして、プロセッサ２２０は、算出された類似度の結果値に基づいてキーワードを抽出する。プロセッサ２２０は、抽出されたキーワードを含む検索ページを生成する。これにより、抽出されたキーワードは、検索ページを通じて端末ユーザに露出される。さらに、プロセッサ２２０は、検索索引リストに含まれたキーワードのうち、抽出されたキーワードとの類似度が予め設定された値以上である類似キーワードを抽出し、前記検索ページは、前記抽出されたキーワード及び類似キーワードの１つ以上を含み得る。
【００６０】
ここで、プロセッサ２２０は、複数のキーワードのうち、類似度の高い順にキーワードを昇順または降順整列して検索ページを生成する。例えば、類似度は、コサイン類似度（ｃｏｓｉｎｅ  ｓｉｍｉｌａｒｉｔｙ）、ジャカールインデックス（Ｊａｃｃａｒｄ  ｉｎｄｅｘ）、スピアマン類似度（Ｓｐｅａｒｍａｎ’ｓ  ｓｉｍｉｌａｒｉｔｙ）及びダイス係数（Ｄｉｃｅ’ｓ  ｃｏｅｆｆｉｃｉｅｎｔ）のように２つのテキスト間の類似度を測定する尺度（ｍｅａｓｕｒｅ）だけでなく、ＴＦ−ＩＤＦ（ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ−ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）及びページランク（Ｐａｇｅ  Ｒａｎｋ）などのような情報検索で使用する尺度を使用することができるが、これに限定されるものではない。
【００６１】
そして、プロセッサ２２０は、検索索引リストに基づいてキーワードを抽出する他に、キーワードを抽出するインスタントメッセージに対する構文解析法を行うことによってキーワードを抽出することができる。ここで、プロセッサ２２０は、形態素解析器に基づいて構文解析法を行うことにより、インスタントメッセージから複数の単語を抽出する。
【００６２】
プロセッサ２２０は、構文解析法を通じて複数の単語が抽出されれば、テキストマイニング技法に基づき、抽出された複数の単語から１つ以上のキーワードを抽出する。ここで、テキストマイニング技法は、自然言語処理（ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｐｒｏｃｅｓｓｉｎｇ）、機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）及び統計技法に基づいて非構造（ｕｎｓｔｒｕｃｔｕｒｅｄ）テキストから意味のあるデータを抽出する技法である。
【００６３】
例えば、プロセッサ２２０は、複数の単語に対し、チャットルーム内における出現頻度数に基づいてキーワードを抽出する。また、プロセッサ２２０は、複数の単語に対するスコアを測定し、測定されたスコアに基づいてキーワードを抽出する。ここで、スコアは、エントロピー（ｅｎｔｒｏｐｙ）、カイ二乗統計量、ＴＦ−ＩＤＦ及びページランクなどであり得る。
【００６４】
そして、プロセッサ２２０は、抽出された複数の単語から意味のある単語をキーワードとして抽出する。例えば、プロセッサ２２０は、抽出された単語から場所または位置を意味する単語をキーワードとして抽出する。また、プロセッサ２２０は、文脈上重要な単語をキーワードとして抽出したり、文脈上に含まれた意見（ｏｐｉｎｉｏｎ）を分析してキーワードとして抽出する。
【００６５】
再び図３を参照すると、例えば、プロセッサ２２０は、ディスプレイモジュール２００にディスプレイされたチャットウィンドウ３００に表示されたインスタントメッセージＰ３０１乃至Ｐ３０７内のテキストを、検索索引リストと比較したり、構文解析することによって、４個のキーワードＰ３２１乃至Ｐ３２４を抽出する。そして、プロセッサ２２０は、抽出された４個のキーワードＰ３２１乃至Ｐ３２４を整列して検索ページ３２０を生成する。
【００６６】
このとき、プロセッサ２２０は、インスタントメッセージから抽出されたキーワードがないか、端末ユーザが所望するキーワードが抽出されていない場合、検索ページに、端末ユーザが所望のキーワードを検索することのできる『検索語入力画面』または『検索ボタン』を追加する。例えば、端末ユーザが『検索語入力画面』に直接キーワードを入力すれば、プロセッサ２２０は、入力されたキーワードを通信モジュールを通じてインスタントメッセージサーバ１１０に伝達し、検索結果を受信する。また、端末ユーザが『検索ボタン』を選択するインタラクションを入力すれば、プロセッサ２２０は、端末ユーザがキーワードを検索することのできるよう、検索サーバ１２０と対応されるアプリケーションのような外部アプリケーション及びウェブブラウザなどを提供する。
【００６７】
一方、プロセッサ２２０は、キーワードを抽出した後、抽出されたキーワードが含まれた検索ページをディスプレイモジュール２００を通じて端末ユーザに提供する。端末ユーザが抽出されたキーワードの何れか１つを選択すれば、プロセッサ２２０は、通信モジュール２３０を通じて、選択されたキーワードをインスタントメッセージサーバ１１０に伝達する。
【００６８】
選択されたキーワードを受信したインスタントメッセージサーバ１１０は、抽出されたキーワードが含まれたクエリを生成する。そして、インスタントメッセージサーバ１１０は、生成されたクエリを検索サーバ１２０に転送する。
【００６９】
クエリを受信した検索サーバ１２０は、クエリに対する検索を行い、選択されたキーワードに対する検索結果を生成する。そして、検索サーバ１２０は、生成された検索結果をインスタントメッセージサーバ１１０に転送する。
【００７０】
ここで、インスタントメッセージサーバ１１０は、受信した検索結果を端末１００に直接転送し得る。このとき、通信モジュール２３０を通じて、検索結果を受信した端末１００のプロセッサ２２０は、受信した検索結果を含む検索結果ページを生成する。そして、プロセッサ２２０は、生成された検索結果ページをディスプレイモジュール２００を通じてディスプレイする。
【００７１】
また、インスタントメッセージサーバ１１０は、受信した検索結果が含まれた検索結果ページを生成し、生成された検索結果ページを端末１００に転送し得る。このとき、通信モジュール２３０を通じて、検索結果ページを受信したプロセッサ２２０は、受信した検索結果ページをディスプレイモジュール２００を通じて端末１００にディスプレイする。
【００７２】
その他にも、インスタントメッセージサーバ１１０から受信し、端末１００にディスプレイされる検索結果は、検索ページの形態で提供されるだけでなく、インスタントメッセージの形態でも提供され得る。
【００７３】
一方、ディスプレイモジュール２００の大きさに応じて、プロセッサ２２０は、端末ユーザが検索しようとするキーワードに対する検索結果の一部のみを含む検索結果ページを生成する。即ち、検索結果ページは、端末ユーザが検索しようとするキーワードに対する検索結果のうち、類似度の高い検索結果のリストであり得る。よって、プロセッサ２２０は、検索結果ページに含まれていない検索結果が確認できるよう、次の検索結果確認メニューまたはボタンを提供する。
【００７４】
例えば、プロセッサ２２０が受信した検索結果が１０個であるが、ディスプレイモジュール２００に一度にディスプレイ可能な検索結果は４個である場合、プロセッサ２２０は、類似度の高い順に４個の検索結果を抽出し、抽出された４個の検索結果を含む検索結果ページを生成する。このとき、検索結果ページは、残りの６個の検索結果が確認できる『次の検索結果確認』ボタンを含む。そして、プロセッサ２２０は、生成された検索結果ページをディスプレイモジュール２００にディスプレイする。
【００７５】
もし、端末ユーザが『次の検索結果確認』ボタンを選択すれば、プロセッサ２２０は、残りの６個の検索結果のうち、類似度の高い順に４個の検索結果を含む検索結果ページを生成し、ディスプレイモジュール２００にディスプレイする。このとき、検索結果ページは、以前にディスプレイされた４個の検索結果が確認できる『以前の検索結果確認』ボタン、及び残りの検索結果が確認できる『次の検索結果確認』ボタンを含む。
【００７６】
他の例として、端末ユーザが『次の検索結果確認』ボタンを選択するインタラクションを入力すれば、プロセッサ２２０は、１０個の検索結果を全て含む統合検索結果が確認できるウェブビューアを端末ユーザに提供する。
【００７７】
一方、端末ユーザが検索結果ページに含まれた検索結果の何れか１つを選択すれば、プロセッサ２２０は、選択された検索結果に対する詳細情報を提供する。ここで、プロセッサ２２０は、詳細情報を提供するためにウェブビューアを提供し得る。また、プロセッサ２２０は、検索サーバ１２０と対応されるアプリケーションのような外部アプリケーション及びウェブブラウザなどを通じて詳細情報を提供し得る。
【００７８】
そして、プロセッサ２２０は、端末ユーザが検索結果を確認した後、チャットルームに復帰できるよう、復帰メニューまたは復帰ボタンなどを検索結果ページに提供する。端末ユーザが復帰メニューまたは復帰ボタンを選択すれば、プロセッサ２２０は、検索結果ページを閉め、チャットルームをディスプレイする。
【００７９】
一方、プロセッサ２２０は、インスタントメッセージから抽出されたキーワードのうち、端末ユーザが検索結果を確認したキーワードに対し、検索結果を確認していないキーワードと区別されるように表示する。例えば、区別される表示は、検索ページに含まれたキーワードのフォントとは異なるフォントに変更することであり得る。また、区別される表示は、検索結果ページに含まれたフォントの属性を変更することであり得る。ここで、フォントの属性は、下線、斜体及びハイライト表示などであり得る。
【００８０】
それだけでなく、プロセッサ２２０は、チャットルームに含まれた１つ以上のインスタントメッセージに含まれた端末ユーザが検索結果を確認したキーワードに対し、他のインスタントメッセージのキーワードと区別されるように別に表示する。例えば、端末ユーザが検索結果を確認したキーワードに対し、プロセッサ２２０は、当該キーワードまたは当該キーワードを含むインスタントメッセージがチャットルームに含まれた他のインスタントメッセージまたはキーワードと区別されるよう、フォントを変更したり、下線及びハイライト表示などを追加することで表示する。また、プロセッサ２２０は、チャットルームに含まれたインスタントメッセージのうち、端末ユーザが検索結果を確認したキーワードを含むインスタントメッセージが表示される吹き出しに対し、区別される表示を含ませる。
【００８１】
そして、プロセッサ２２０は、端末ユーザが、区別して表示されたキーワード、インスタントメッセージまたは吹き出しを選択するインタラクションを入力すれば、これに対応する検索結果ページを表示する。あるいは、プロセッサ２２０は、これに対応される検索結果ページを表示する『検索結果』メニューが含まれたポップアップメニューを表示する。そして、端末ユーザがポップアップメニューから『検索結果』を選択すれば、プロセッサ２２０は、検索結果ページを表示する。
【００８２】
また、プロセッサ２２０は、検索ページに含まれた１つ以上のキーワードをディスプレイする際、端末ユーザが既に検索結果を確認したキーワードと検索結果を確認していないキーワードとを区分するため、検索結果を確認済みのキーワードを区別して表示する。そして、プロセッサ２２０は、区別して表示されたキーワードを検索ページにディスプレイする。端末ユーザは、このように区別して表示されたキーワードを含む検索結果ページを通じて、既に検索結果を確認済みのキーワードと検索結果を確認していないキーワードとを区分することができる。
【００８３】
このように本発明の一実施例に係る端末１００は、端末ユーザがチャットルームを終了することなく、入力モジュール２４０を通じて入力したインタラクションにより、速やかで簡単にインスタントメッセージに含まれたキーワードの検索を行うことができる。以下では、図３及び図４を参照しながら、従来の端末と本発明の一実施例に係る端末１００のキーワード検索を比較説明する。
【００８４】
図４は、従来の端末により実施されるキーワード検索の例示図である。
【００８５】
図４を参照すれば、チャットウィンドウにおいてインスタントメッセージを交換する中、インスタントメッセージに含まれたキーワードに対して検索を行おうとする場合、従来の端末は、チャットウィンドウ４００から、従来の端末の運営体制が提供するメニュー画面４１０に移動する入力Ｐ４００を通じて、メニュー画面４１０に移動する。端末ユーザは、メニュー画面４１０において検索アプリケーションまたはウェブブラウザアプリケーションを実行し、検索アプリケーションまたはウェブブラウザの検索画面４２０に直接キーワードを入力Ｐ４２０することで検索を行う。そして、端末ユーザは、検索結果４３０を確認した後、アプリケーションを切り替えてチャットウィンドウに復帰したり、チャットウィンドウを提供するアプリケーションを再実行することによってチャットウィンドウに復帰する。
【００８６】
これとは異なり、再び図３を参照すると、本発明の一実施例は、チャットウィンドウ３００において端末ユーザがインタラクションＰ３１０を入力すれば、プロセッサ２２０は、キーワードが選択できる検索ページを提供する。端末ユーザが検索ページにおいてキーワードを選択すれば、プロセッサ２２０は、ディスプレイモジュール２００に選択されたキーワードの検索結果を含む検索結果ページをディスプレイする。端末ユーザは、検索結果ページを通じて検索結果を確認し、検索結果ページがディスプレイされた画面を閉めることによってチャットウィンドウ３００に復帰する。
【００８７】
一方、プロセッサ２２０は、端末ユーザがインタラクションを入力すれば、予め設定された条件と一致するインスタントメッセージからキーワードを抽出する。ここで、予め設定された条件は、ディスプレイモジュール２００を通じてチャットウィンドウ内にディスプレイされた１つ以上のインスタントメッセージであり得る。プロセッサ２２０は、ディスプレイモジュール２００を通じてチャットウィンドウ内にディスプレイされた１つ以上のインスタントメッセージを対象にしてキーワードを抽出する。ここで、インタラクションは、例えばピンチアウトであり得る。
【００８８】
また、予め設定された条件は、予め設定された時間範囲であり得る。プロセッサ２２０は、予め設定された時間範囲内に端末１００に受信されたインスタントメッセージからキーワードを抽出する。例えば、予め設定された時間が１時間であれば、プロセッサ２２０は、チャットルームに含まれたインスタントメッセージのうち、インタラクションが入力された時間から１時間前までのインスタントメッセージを抽出し、抽出されたインスタントメッセージからキーワードを抽出する。
【００８９】
また、予め設定された条件は、端末ユーザが入力したインタラクションの入力範囲の大きさに応じて設定される検索範囲であり得る。プロセッサ２２０は、ディスプレイモジュール２００において端末ユーザが入力したインタラクションの入力範囲の大きさに応じて検索範囲を設定する。そして、プロセッサ２２０は、設定された検索範囲に含まれたインスタントメッセージからキーワードを抽出する。
【００９０】
ここで、検索範囲は、インスタントメッセージが生成された日付あるいは時間であり得る。また、検索範囲は、インスタントメッセージから抽出されるキーワードの数であり得る。そして、検索範囲は、予め設定されてメモリ２１０に格納されたものであるか、インスタントメッセージサーバ１１０により設定され、通信モジュール２３０を通じて受信されたものであり得る。そして、検索範囲は、インタラクションを通じて端末ユーザによって設定されたものであり得る。以下では、図５を参照しながら、端末ユーザによるインタラクションの入力範囲の大きさに応じて設定される検索範囲について説明する。
【００９１】
図５は、本発明の一実施例に係るインタラクションの入力範囲の大きさに応じて設定される検索範囲の例示図である。
【００９２】
図５の（ａ）に示すように、端末ユーザがピンチアウトのインタラクションを入力する際、図５の（ｂ）及び（ｃ）よりも小さい最も内側の丸Ｐ５００に該当する範囲のインタラクションを入力すれば、プロセッサ２２０は、予め設定された検索範囲に従って検索範囲を図５の（ｂ）及び（ｃ）よりも小さく設定する。また、図５の（ｃ）に示すように、端末ユーザが最も外側の丸Ｐ５２０のように図５の（ａ）及び（ｂ）よりも広い範囲のインタラクションを入力すれば、プロセッサ２２０は、予め設定された検索範囲に従って検索範囲を図５の（ａ）及び（ｂ）よりも大きく設定する。
【００９３】
例えば、ピンチアウトのインタラクションの長さに応じて日付を変更するように検索範囲を設定する場合、プロセッサ２２０は、図５の（ａ）に示すように、端末ユーザが図５の（ｂ）及び（ｃ）よりも小さい最も内側の丸Ｐ５００に該当する大きさのインタラクションを入力すれば、プロセッサ２２０は、入力されたピンチアウトの長さＰ５００に応じて検索範囲を１日に設定する。よって、プロセッサ２２０は、端末ユーザがインタラクションを入力した時点から１日前までに生成されたインスタントメッセージを対象にしてキーワードを抽出する。
【００９４】
また、図５の（ｂ）のように、端末ユーザが内側から２番目の丸Ｐ５１０に該当する大きさのインタラクションを入力すれば、プロセッサ２２０は、検索範囲を２日に設定する。よって、プロセッサ２２０は、入力されたピンチアウトの長さＰ５１０に応じて、端末ユーザがインタラクションを入力した時点から２日前までに生成されたインスタントメッセージを対象にしてキーワードを抽出する。
【００９５】
また、図５の（ｃ）のように、端末ユーザが内側から３番目の丸の大きさＰ５２０程度のインタラクションを入力すれば、プロセッサ２２０は、ピンチアウトの長さＰ５２０に応じて、検索範囲を３日に設定する。よって、プロセッサ２２０は、端末ユーザがインタラクションを入力した時点から３日前までに生成されたインスタントメッセージを対象にしてキーワードを抽出する。
【００９６】
本発明の一実施例に係るプロセッサ２２０は、検索ページ上において端末ユーザがインタラクションを入力すれば、チャットルームに含まれたインスタントメッセージのうち、検索範囲に含まれていなかったためキーワードが抽出されなかったインスタントメッセージから１つ以上のキーワードを追加で抽出する。ここで、検索範囲は、上述したように、チャットウィンドウ内の表示画面にディスプレイされたインスタントメッセージ及び予め設定された時間、日付及び位置の少なくとも１つによって生成されたインスタントメッセージであり得る。
【００９７】
例えば、検索範囲が１時間以内のインスタントメッセージである場合、プロセッサ２２０は、１時間以内のインスタントメッセージに基づいてキーワードを抽出し、抽出されたキーワードによって生成された検索ページをディスプレイする。端末ユーザが検索ページ上においてインタラクションを入力すれば、プロセッサ２２０は、検索範囲に含まれていないインスタントメッセージを対象にしてキーワードを追加で抽出する。そして、プロセッサ２２０は、検索されたキーワードを含む検索ページを生成し、これをディスプレイする。
【００９８】
そして、プロセッサ２２０は、抽出されたキーワードを検索ページ上に表示する。ここで、インタラクションは、例えばスクロールであり得る。これについては、図６を例として説明する。
【００９９】
図６は、本発明の一実施例に係る検索ページ上においてインタラクションを通じてキーワードを検索する方法を説明するための例示図である。
【０１００】
検索範囲がチャットウィンドウに現在ディスプレイ中のインスタントメッセージである場合、プロセッサ２２０は、現在ディスプレイ中のインスタントメッセージから図６の（ａ）のように１つ以上のキーワードを抽出する。そして、端末ユーザが検索ページ上においてインタラクションを入力すれば、プロセッサ２２０は、検索範囲外であったためキーワードが抽出されなかったインスタントメッセージからキーワードを再抽出する。そして、プロセッサ２２０は、再抽出されたキーワードを図６の（ｂ）に示すような検索ページ上に表示する。
【０１０１】
ここで、キーワードが抽出されなかったインスタントメッセージは、チャットルームに含まれたインスタントメッセージのうち、キーワードが抽出されたインスタントメッセージの前に生成されたインスタントメッセージであり得る。また、キーワードが抽出されなかったインスタントメッセージは、検索結果ページに反映されたインスタントメッセージよりも後に生成されたインスタントメッセージであり得る。
【０１０２】
一方、プロセッサ２２０は、端末ユーザがチャットルームのディスプレイされたチャットウィンドウにおいてインタラクションを入力すれば、当該チャットルームにおいて端末ユーザが以前に検索したキーワードを含む検索ページを生成し、ディスプレイする。例えば、端末ユーザがチャットルームのディスプレイされたチャットウィンドウにおいてインタラクションを入力すれば、プロセッサ２２０は、当該チャットルームにおいて端末ユーザが以前に検索した既検索キーワードを含む検索ページを生成する。そして、プロセッサ２２０は、既検索キーワードを含む検索ページをディスプレイする。
【０１０３】
上述したように、本発明の一実施例により抽出されるキーワードは、端末ユーザがインタラクションを入力するチャットルームに含まれたインスタントメッセージから抽出されたキーワードであり得る。しかし、本発明の他の実施例により抽出されるキーワードは、端末ユーザと特定ユーザとの間の複数のチャットルームから抽出されたキーワードであり得る。例えば、端末ユーザがインタラクションを入力すれば、当該チャットルームに含まれたインスタントメッセージから抽出されたキーワードと、当該チャットルームで端末ユーザとインスタントメッセージを交換するユーザが含まれた他のチャットルームから抽出されたキーワードとを含む検索ページを生成し、表示する。
【０１０４】
一方、プロセッサ２２０は、ディスプレイモジュール２００に表示される検索ページ上に予め設定された数のキーワードをディスプレイする。よって、端末ユーザは、検索ページ上に予め設定された数を超過するキーワードを確認するために、インタラクションを入力する。例えば、端末ユーザが検索ページ上において次のキーワードを確認するインタラクションを入力すれば、プロセッサ２２０は、チャットルームに含まれたインスタントメッセージから抽出されたキーワードのうち、予め設定された数を超過したため検索ページに含まれなかったキーワードを含む検索ページを生成し、ディスプレイモジュール２００に表示する。
【０１０５】
一方、本発明の一実施例は、端末１００だけでなく、インスタントメッセージサーバ１１０においてもインスタントメッセージに対するキーワードを抽出することができる。これについては、図７を参照しながら、本発明の一実施例に係るインスタントメッセージサーバ１１０を説明する。
【０１０６】
図７は、本発明の一実施例に係るインスタントメッセージサーバ１１０の構成図である。
【０１０７】
本発明の一実施例に係るインスタントメッセージサーバ１１０は、端末１００からインスタントメッセージを受信し、キーワードを抽出する。そして、インスタントメッセージサーバ１１０は、抽出されたキーワードを端末に伝達する。このとき、端末１００は、インスタントメッセージサーバ１１０から受信したキーワードを含む検索ページをディスプレイする。
【０１０８】
端末１００において、端末ユーザが抽出された検索キーワードのうち何れか１つのキーワードを選択することによって、選択されたキーワードはインスタントメッセージサーバ１１０に転送される。そして、インスタントメッセージサーバ１１０は、受信したキーワードを含むクエリを生成して検索サーバ１２０に伝達し、選択されたキーワードに対する検索結果を検索サーバ１２０から受信する。インスタントメッセージサーバ１１０は、検索サーバ１２０から受信した検索結果を端末１００に伝達する。このとき、検索結果を受信した端末１００は、検索結果ページを生成し、端末１００のディスプレイモジュール２００に表示する。
【０１０９】
このような本発明の一実施例に係るインスタントメッセージサーバ１１０は、メモリ７００と、通信モジュール７１０と、プロセッサ７２０とを含む。
【０１１０】
ここで、メモリ７００には、インスタントメッセージサービスプログラムが格納される。例えば、メモリ７００は、電源の供給なしでも格納された情報を維持し続ける非揮発性格納装置、及び格納された情報を維持するために電気が必要な揮発性格納装置を通称するものである。そして、通信モジュール７１０は、端末１００及び検索サーバ１２０とのデータ通信を行う。
【０１１１】
プロセッサ７２０は、メモリ７００に格納されたインスタントメッセージサービスプログラムを実行する。
【０１１２】
具体的に、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされた端末１００のチャットウィンドウにおいて、端末ユーザがインタラクションを入力すれば、プロセッサ７２０は、通信モジュール７１０を通じて、インタラクションに応答して、端末のチャットルームに含まれた１つ以上のインスタントメッセージを受信する。ここで、端末１００のユーザが入力するインタラクションは、クリック、タップ、ドラッグアンドドロップ、スワイプ、ピンチトゥズーム及びフリックの少なくとも１つを含み得る。
【０１１３】
そして、端末１００が転送するインスタントメッセージは、端末１００のチャットルームがディスプレイされたチャットウィンドウに含まれたインスタントメッセージであり得る。また、端末１００が転送するインスタントメッセージは、予め定義された検索範囲に対応されるインスタントメッセージであり得る。ここで、検索範囲は、チャットウィンドウ内の表示画面にディスプレイされたインスタントメッセージ、及び予め設定された時間、日付及び位置の少なくとも１つに応じて生成されたインスタントメッセージであり得る。そして、予め定められた検索範囲は、端末１００に予め設定された値であり得る。また、予め定められた検索範囲は、メモリ７００に格納されてから、プロセッサ７２０によって端末１００に転送された値であり得る。また、予め定められた検索範囲は、端末ユーザが端末１００のチャットウィンドウに入力するインタラクションの入力範囲の大きさに応じて設定された後、プロセッサ７２０が受信した値であり得る。
【０１１４】
また、端末１００が転送する１つ以上のインスタントメッセージは、チャットルームがディスプレイされたチャットウィンドウに含まれたインスタントメッセージであり得る。そして、キーワードを抽出するインスタントメッセージは、予め定義された数または予め定義された時間の間のインスタントメッセージであり得る。
【０１１５】
インスタントメッセージサーバ１１０のプロセッサ７２０は、端末１００から受信したインスタントメッセージから１つ以上のキーワードを抽出する。ここで、プロセッサ７２０は、キーワードを抽出するために、メモリ７００に既格納された検索索引リストを利用する。
【０１１６】
例えば、既格納された検索索引リストは、端末１００において受信されたインスタントメッセージから抽出され、メモリ７００に格納されたキーワードを含み得る。また、既格納された検索索引リストは、インスタントメッセージサーバ１１０の管理者を通じて入力された新造語及びイシューキーワードなどを含み得る。そして、既格納された検索索引リストは、インスタントメッセージサーバ１１０を通じてインスタントメッセージサービスを行う複数の端末から収集され、メモリ７００に含まれたキーワードを含み得る。
【０１１７】
プロセッサ７２０は、既格納された検索索引リストに基づき、受信したインスタントメッセージから１つ以上のキーワードを抽出するため、既格納された検索索引リストに含まれたキーワードと受信したインスタントメッセージとの間の類似度を算出する。そして、プロセッサ７２０は、類似度に応じてキーワードを抽出する。
【０１１８】
また、プロセッサ７２０は、端末１００から受信した１つ以上のインスタントメッセージだけでなく、メモリ７００に既格納されたインスタントメッセージを利用してキーワードを抽出する。ここで、インスタントメッセージサーバ１１０に既格納されたインスタントメッセージは、端末ユーザが含まれたチャットルームによって生成され、通信モジュール７１０によって受信した、予め設定された期間の間のインスタントメッセージであり得る。
【０１１９】
そして、プロセッサ７２０は、端末１００から受信した１つ以上のインスタントメッセージを構文解析して単語を抽出し、抽出された単語からキーワードを抽出する。このとき、プロセッサ７２０は、テキストマイニング技法に基づき、１つ以上の単語からキーワードを抽出する。ここで、テキストマイニング技法は、自然言語処理、機械学習及び統計技法に基づいて非構造テキストから意味のあるデータを抽出する技法である。例えば、プロセッサ７２０は、抽出された単語のチャットルーム内における頻度数に基づいてキーワードを抽出する。そして、プロセッサ７２０は、抽出された単語の意味を分析し、位置や場所などを意味する場合であるか、文脈上重要な単語である場合、キーワードとして抽出する。
【０１２０】
キーワードが抽出されれば、プロセッサ７２０は、通信モジュール７１０を通じて抽出されたキーワードを端末１００に転送する。ここで、端末１００に転送されたキーワードは、端末１００にディスプレイされる検索ページに表示される。
【０１２１】
端末ユーザが端末１００の検索ページ上において抽出されたキーワードの何れか１つを選択すれば、プロセッサ７２０は、通信モジュール７１０を通じて端末ユーザが選択したキーワードを受信し、受信したキーワードに対応する検索結果を端末１００に提供する。
【０１２２】
このとき、プロセッサ７２０は、検索結果を生成するために、受信されたキーワードを含むクエリを生成し、通信モジュール７１０を通じて検索サーバ１２０にクエリを転送する。そして、クエリを受信した検索サーバ１２０がクエリに対する検索結果を生成すれば、プロセッサ７２０は、通信モジュール７１０を通じて、生成された検索結果を受信し、検索結果を端末１００に転送する。ここで、プロセッサ７２０は、検索結果を含む検索結果ページを生成し、端末１００に転送し得る。また、プロセッサ７２０は、検索結果を含むインスタントメッセージを生成し、端末１００に転送し得る。
【０１２３】
次いで、図８及び図９を参照しながら、本発明の一実施例に係る端末１００及びインスタントメッセージサーバ１１０における検索方法を説明する。
【０１２４】
図８は、本発明の一実施例に係る端末１００における検索方法のフローチャートである。
【０１２５】
本発明の一実施例に係る端末１００は、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウにおいて、端末ユーザのインタラクションを受信する（Ｓ８００）。ここで、端末ユーザのインタラクションは、クリック、タップ、ドラッグアンドドロップ、スワイプ、ピンチイン／アウト及びフリックの少なくとも１つを含み得る。
【０１２６】
端末１００は、端末ユーザからインタラクションを受信した後、インタラクションに応答して、チャットルームに含まれた１つ以上のインスタントメッセージから１つ以上のキーワードを抽出する（Ｓ８１０）。ここで、キーワードを抽出するインスタントメッセージは、端末１００のチャットルームがディスプレイされたチャットウィンドウに含まれたインスタントメッセージであり得る。また、キーワードを抽出するインスタントメッセージは、数、日付及び時間などの予め定められた検索範囲に含まれるインスタントメッセージであり得る。そして、予め定められた検索範囲は、端末１００またはインスタントメッセージサーバ１１０に予め格納された値であり得る。また、予め定められた検索範囲は、端末ユーザが端末１００のチャットウィンドウに入力するインタラクションの入力範囲の大きさに応じて設定され得る。
【０１２７】
そして、端末１００は、キーワードを抽出するために、既格納された検索索引リストを利用する。端末１００は、既格納された検索索引リストに含まれたキーワードと１つ以上のインスタントメッセージとの間の類似度を算出し、算出された類似度に応じてキーワードを抽出する。ここで、検索索引リストは、端末１００によって１つ以上のキーワードが索引になり、格納されたものである。検索索引リストは、端末１００によって既抽出されたキーワードを含み得る。また、検索索引リストは、インスタントメッセージサーバ１１０から受信した検索索引リストを含み得る。
【０１２８】
また、端末１００は、インスタントメッセージを構文解析して単語を抽出し、テキストマイニング技法に基づいてキーワードを抽出する。ここで、テキストマイニング技法は、自然言語処理、機械学習及び統計技法に基づいて非構造テキスト形態から意味のあるデータを抽出する技法である。
【０１２９】
キーワードが抽出されれば、端末１００は、端末ユーザに抽出されたキーワードがディスプレイされる検索ページを表示する（Ｓ８２０）。
【０１３０】
そして、端末ユーザが、検索ページ上において、抽出されたキーワードのうち検索するキーワードを選択すれば（Ｓ８３０）、端末１００は、端末ユーザが選択したキーワードに対応する検索結果ページを表示する（Ｓ８４０）。このとき、端末１００は、端末ユーザに検索結果ページを提供するために、インスタントメッセージサーバ１１０に検索を行うキーワードを転送する。検索を行うキーワードを受信したインスタントメッセージサーバ１１０は、検索を行うキーワードを含むクエリを生成し、生成されたクエリを検索サーバ１２０に転送する。
【０１３１】
クエリを受信した検索サーバ１２０は、受信したクエリに対する検索を行い、クエリに対応する検索結果をインスタントメッセージサーバ１１０に転送する。検索結果を受信したインスタントメッセージサーバ１１０は、検索結果を端末１００に転送する。
【０１３２】
図９は、本発明の一実施例に係るインスタントメッセージサーバにおけるキーワード検索方法のフローチャートである。
【０１３３】
端末１００において、１つ以上のインスタントメッセージを含むチャットルームがディスプレイされたチャットウィンドウ内において、端末ユーザのインタラクションが入力され、キーワード検索要請が生成されてインスタントメッセージサーバ１１０に転送されれば、インスタントメッセージサーバ１１０は、端末からキーワード検索要請を受信する（Ｓ９００）。
【０１３４】
このとき、インスタントメッセージサーバ１１０は、キーワード検索要請に応答して、検索範囲に応じて端末１００から端末１００のチャットルームに含まれた１つ以上のインスタントメッセージを受信する。ここで、検索範囲は、チャットウィンドウ内の表示画面にディスプレイされたインスタントメッセージ及び予め設定された時間、日付及び位置の少なくとも１つによって生成されたインスタントメッセージであり得る。
【０１３５】
あるいは、インスタントメッセージサーバ１１０は、端末１００から端末１００のチャットルームに含まれた全てのインスタントメッセージを受信する。そして、インスタントメッセージサーバ１１０は、インスタントメッセージサーバ１１０に既格納された１つ以上のインスタントメッセージを利用する。
【０１３６】
次いで、インスタントメッセージサーバ１１０は、キーワード検索要請に応答して、受信したり、既格納されたインスタントメッセージから１つ以上のキーワードを抽出する（Ｓ９１０）。このとき、インスタントメッセージサーバ１１０は、インスタントメッセージサーバ１１０に既格納された検索索引リストを利用する。また、インスタントメッセージサーバ１１０は、構文解析を通じて１つ以上のインスタントメッセージからキーワードを抽出する。
【０１３７】
次いで、インスタントメッセージサーバ１１０は、抽出されたキーワードがディスプレイされる検索ページを端末に提供する（Ｓ９２０）。
【０１３８】
検索ページが端末１００にディスプレイされた後、インスタントメッセージサーバ１１０は、端末１００から検索ページ上にディスプレイされたキーワードの何れか１つを選択する端末ユーザの入力を受信すれば、選択されたキーワードに対応する検索結果を端末１００に提供する（Ｓ９３０）。そのため、インスタントメッセージサーバ１１０は、端末ユーザが選択したキーワードに基づいてクエリを生成し、生成されたクエリを検索サーバ１２０に転送する。そして、インスタントメッセージサーバ１１０は、検索サーバ１２０からクエリに対応する検索結果を受信し、受信した検索結果を端末１００に転送する。
【０１３９】
本発明の一実施例に係るインタラクションを通じてキーワードを検索する端末、サーバ及び方法は、端末ユーザのインタラクションを通じてインスタントメッセージからキーワードを抽出し、検索することができる。それゆえ、インタラクションを通じてキーワードを検索する端末、サーバ及び方法は、インスタントメッセージサービスを終了したり、マルチタスキングすることなく、ユーザの最小限の動作のみで所望する情報を即刻的に検索することができる。
【０１４０】
また、インタラクションを通じてキーワードを検索する端末１００、サーバ１１０及び方法は、ユーザが検索のために付加的な入力を行うことなく、所望する情報を探すことができる。それゆえ、インタラクションを通じてキーワードを検索する端末１００、サーバ１１０及び方法は、ユーザに便宜性を提供し、ユーザの満足度を高めることができる。また、インタラクションを通じてキーワードを検索する端末１００、サーバ１１０及び方法は、アプリケーションの使用中に検索サービスを提供する汎用のサービスに活用することができる。
【０１４１】
本発明の一実施例は、コンピュータにより実行されるプログラムモジュールのようなコンピュータにより実行可能な命令語を含む記録媒体の形態でも具現されることができる。コンピュータ読み取り可能な媒体は、コンピュータによってアクセスできる任意の可用媒体であっても良く、揮発性及び非揮発性の媒体、分離型及び非分離型の媒体を全て含む。また、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を全て含み得る。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令語、データ構造、プログラムモジュールまたはその他のデータのような情報格納のための任意の方法または技術に具現された揮発性及び非揮発性、分離型及び非分離型の媒体を全て含む。通信媒体は、典型的にコンピュータ読み取り可能な命令語、データ構造、プログラムモジュール、または搬送波のような変調されたデータ信号のその他のデータ、またはその他の転送メカニズムを含み、任意の情報伝達媒体を含む。
【０１４２】
本発明の方法及びシステムは特定の実施例と関連して説明されたが、それらの構成要素または動作の一部または全部は、汎用のハードウェアアーキテクチャを有するコンピュータシステムを使用して具現され得る。
【０１４３】
上述した本発明の説明は例示のためのものであり、本発明の属する技術分野において通常の知識を有する者であれば、本発明の技術的思想や必須の特徴を変更せずに他の具体的な形態で容易に変形可能であるということを理解できるはずである。それゆえ、上記した実施例は全ての面において例示的なものであり、限定的なものではないと理解すべきである。例えば、単一型で説明されている各構成要素は分散して実施されることもでき、同様に、分散したものと説明されている構成要素も結合された形態で実施されることができる。
【０１４４】
本発明の範囲は、上記の詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、並びにその均等概念から導出される全ての変更または変形された形態が本発明の範囲に含まれることと解釈されなければならない。
【符号の説明】
【０１４５】
１０  キーワード検索システム
１００  端末
１１０  インスタントメッセージサーバ
１２０  検索サーバ
２００  ディスプレイモジュール
２１０  メモリ
２２０  プロセッサ
２３０  通信モジュール
２４０  入力モジュール
７００  メモリ
７１０  通信モジュール
７２０  プロセッサ
【図１】
2016184408.tif 000003
【図２】
2016184408.tif 000004
【図３】
2016184408.tif 000005
【図４】
2016184408.tif 000006
【図５】
2016184408.tif 000007
【図６】
2016184408.tif 000008
【図７】
2016184408.tif 000009
【図８】
2016184408.tif 000010
【図９】
2016184408.tif 000011