(57)【特許請求の範囲】
【請求項１】
特定の記号と文字列とによるタグを含む文書を収集する収集手段と、
前記収集された各文書に含まれる単語、前記タグ、及び、同一文書に含まれるタグと単語との組み合わせを、前記収集された各文書から抽出する抽出手段と、
前記抽出手段により抽出された単語、タグ、同一文書に含まれるタグと単語との組み合わせ及び文書数に基づいて、同一文書における各タグと各単語との共起の度合いを示すタグ単語共起尺度を、単語とタグの組み合わせごとに算出する算出手段と、
文書を受信し、受信した文書に含まれる単語を抽出し、抽出したすべての単語に関するタグ単語共起尺度に基づいて、受信した文書についてのタグ毎の推薦スコアを算出する推薦手段と、を備え、
前記収集手段は、特定の記号と文字列とによるタグを含む文書及び当該文書が投稿された日時を収集し、
前記算出手段は、前記タグ及び前記タグを含む文書が投稿された日時に基づいて、前記タグ毎に、前記タグの利用度合いを示すタグ利用尺度を算出し、
前記推薦手段は、前記タグ単語共起尺度、前記タグ利用尺度に基づいて、受信した文書についてのタグ毎の推薦スコアを算出する、
タグ推薦装置。
【請求項２】
前記収集手段は、特定の記号と文字列とによるタグを含む文書及び当該文書に関する付加情報を収集し、
前記抽出手段は、前記収集された各文書に含まれるタグ、前記付加情報、及び、同一文書に関するタグと付加情報との組み合わせを、前記収集された各文書及び付加情報から抽出し、
前記算出手段は、前記収集された各文書に含まれるタグ、前記付加情報、及び、同一文書に関するタグと付加情報との組み合わせ及び文書数に基づいて、同一文書に関する各タグと各付加情報との共起の度合いを示すタグ付加情報共起尺度を、単語と付加情報の組み合わせごとに算出し、
前記推薦手段は、文書及び付加情報を受信し、受信した付加情報に関するタグ付加情報共起尺度に基づいて、受信した文書についてのタグ毎の推薦スコアを算出する、
請求項１に記載のタグ推薦装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タグを提示するタグ推薦装置に関する。
【背景技術】
【０００２】
近年、ブログ、マイクロブログ等のサービスが普及している。マイクロブログは、不特定の者に対して例えば１００文字程度の文章を書いて発信したり、不特定の者が発信された文章を読んだりすることができるサービスである。これらのサービスには、個人が書いた文書を気軽に発信できるという特徴がある。そのため、ネットワーク上を流通する情報の量が急増している。
【０００３】
これらのサービスでは、投稿者（文書の発信者）が、投稿の際、投稿する文書に、特定の記号（例えば、＃記号）と文字列とによるタグを付加すると文書のグループ化ができる機能がある。例えば、「#abcde」で検索すると、「#abcde」が付加された文書群が抽出される。この機能には、読者が所望の文書を探しやすいようにとの配慮や、同一タグを使用する著者同士の緩いコミュニケーションを形成するという側面がある。
【０００４】
図１は、タグ付き文書の例を示す図である。図１の例では、「今日は天気がいいです。」との文書に対し、「#weather」というタグが付加されている。投稿者は、このタグを含む文書を投稿する。マイクロブログ等のサービスの利用者は、「#weather」とのタグにより、この文書に関連する文書を抽出することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２８２６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ブログ、マイクロブログ等のサービスにおいて、文書に付加するタグは、投稿者が自由に記述できる。そのため、投稿者が既存の適切なタグを知らなければ、新たなタグを作成してしまう可能性があり、内容が類似した異なるタグが複数発生することがある。また、タグの種類は非常に多く、投稿者がすべてを把握することは困難である。従って、本来はタグに依って関連を持つべき情報が分散してしまい、読者の情報を探す負担が増加するという問題がある。
【０００７】
本発明は、文書にタグを推薦する技術を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するために、本発明の態様では、以下の構成を採用する。
【０００９】
本発明の一態様は、
特定の記号と文字列とによるタグを含む文書を収集する収集手段と、
前記収集された各文書に含まれる単語、前記タグ、及び、同一文書に含まれるタグと単語との組み合わせを、前記収集された各文書から抽出する抽出手段と、
前記抽出手段により抽出された単語、タグ、同一文書に含まれるタグと単語との組み合わせ及び文書数に基づいて、同一文書における各タグと各単語との共起の度合いを示すタグ単語共起尺度を、単語とタグの組み合わせごとに算出する算出手段と、
文書を受信し、受信した文書に含まれる単語を抽出し、抽出したすべての単語に関する
タグ単語共起尺度に基づいて、受信した文書についてのタグ毎の推薦スコアを算出する推薦手段と、
を備えるタグ推薦装置である。
【００１０】
なお、本発明の他の態様として、以上のいずれかの構成を実現する方法、プログラム、当該プログラムを記録したコンピュータ読み取り可能記録媒体であってもよい。
【発明の効果】
【００１１】
本発明の態様によれば、文書にタグを推薦する技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、タグ付き文書の例を示す図である。
【図２】図２は、情報処理システムの例を示す図である。
【図３】図３は、単語出現頻度テーブルの例を示す図である。
【図４】図４は、タグ出現頻度テーブルの例を示す図である。
【図５】図５は、タグ単語共起頻度テーブルの例を示す図である。
【図６】図６は、タグ利用履歴テーブルの例を示す図である。
【図７】図７は、タグ利用尺度テーブルの例を示す図である。
【図８】図８は、タグ単語共起尺度テーブルの例を示す図である。
【図９】図９は、情報処理装置のハードウェア構成例を示す図である。
【図１０】図１０は、情報処理システムの動作シーケンスの例（１）を示す図である。
【図１１】図１１は、情報処理システムの動作シーケンスの例（２）を示す図である。
【図１２】図１２は、収集部の動作フローの例を示す図である。
【図１３】図１３は、算出部によるタグ利用尺度の算出の動作フローの例を示す図である。
【図１４】図１４は、算出部によるタグ単語共起尺度の算出の動作フローの例を示す図である。
【図１５】図１５は、推薦部の動作フローの例（１）を示す図である。
【図１６】図１６は、推薦部の動作フローの例（２）を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、本発明は開示の実施形態の構成に限定されない。
【００１４】
〔実施形態〕
（構成例）
図２は、本実施形態の情報処理システムの例を示す図である。図２の情報処理システム１０は、サーバ装置１００、記憶装置２００、ユーザ端末３００を含む。サーバ装置１００は、記憶装置２００及びユーザ端末３００と、それぞれ、ネットワーク等を介して、接続される。サーバ装置１００には、複数のユーザ端末３００が接続されうる。サーバ装置１００は、記憶装置２００を含んでもよい。ネットワーク等は、インターネット等の公衆ネットワーク、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の内部
ネットワークであってもよい。
【００１５】
サーバ装置１００は、サービス部１１０、収集部１２０、算出部１３０、推薦部１４０を含む。サービス部１１０、収集部１２０、算出部１３０、推薦部１４０のうち、いずれかが、別のサーバ装置に含まれてもよい。例えば、サービス部１１０を含むサーバ装置と、収集部１２０を含むサーバ装置と、算出部１３０を含むサーバ装置と、推薦部１４０を
含むサーバ装置とが、ネットワーク等を介して接続されて、サーバ装置１００として、動作してもよい。複数のサーバ装置によって、サービス部１１０、収集部１２０、算出部１３０、推薦部１４０が実現されることによって、各処理部による負荷が分散される。
【００１６】
サービス部１１０は、ユーザ端末３００等に対し、マイクロブログ等のサービスを提供する。サービス部１１０は、マイクロブログ等のサービスにおいて、ユーザ端末３００等から投稿された文書、当該文書が投稿された日時等を保存する。サービス部１１０は、収集部１２０からの要求に応じて、当該文書等を提供する。提供する文書には、当該文書が投稿された日時の情報が含まれる。
【００１７】
収集部１２０は、サービス部１１０に投稿された文書を要求し、サービス部１１０から文書（文書群）を受信する。収集部１２０は、サービス部１１０から提供された文書群から、タグ付きの文書を抽出する。タグ付き文書は、特定の記号（例えば、＃記号）と文字列とによるタグを含む文書である。収集部１２０は、所定時間毎に、サービス部１１０に投稿された文書を要求する。
【００１８】
収集部１２０は、抽出された全文書に対して形態素解析を実行する。収集部１２０は、形態素解析の実行結果として、各文書に含まれる単語情報を取得する。収集部１２０は、単語情報から、各単語の出現回数（単語出現頻度）をカウントする。また、収集部１２０は、各文書に含まれるタグ情報を取得する。収集部１２０は、タグ情報から、各タグの出現回数（タグ出現頻度）をカウントする。さらに、収集部１２０は、同一文書内で任意のタグと任意の単語との組み合わせが出現する文書の数（タグ単語共起頻度）を、タグと単語の組み合わせごとにカウントする。収集部１２０は、これらの、単語出現頻度データ、タグ出現頻度データ、タグ単語共起頻度データを、それぞれ、単語出現頻度テーブル２１１、タグ出現頻度テーブル２１２、タグ単語共起頻度テーブル２１３として、頻度ＤＢ２１０に格納する。
【００１９】
収集部１２０は、タグと当該タグを含む文書が投稿された日時の情報との組み合わせであるタグ利用履歴データを、タグ利用履歴テーブル２１４として、頻度ＤＢ２１０に格納する。
【００２０】
算出部１３０は、頻度ＤＢ２１０に格納されるタグ利用履歴テーブル２１４から、タグ利用履歴データを取得し、タグ毎にタグ利用尺度を算出する。タグ利用尺度は、タグの利用頻度の変化を表す尺度である。タグ利用尺度の算出については後述する。算出部１３０は、タグと算出したタグ利用尺度とを対応づけたタグ利用尺度データを、タグ利用尺度ＤＢ２２０に、タグ利用尺度テーブル２２１として、格納する。算出部１３０は、タグ利用履歴データを、収集部１２０から取得してもよい。
【００２１】
また、算出部１３０は、頻度ＤＢ２１０に格納される単語出現頻度テーブル２１１から、単語出現頻度データを取得する。算出部１３０は、頻度ＤＢ２１０に格納されるタグ出現頻度テーブル２１２から、タグ出現頻度データを取得する。算出部１３０は、頻度ＤＢ２１０に格納されるタグ単語共起頻度テーブル２１３から、タグ単語共起頻度データを取得する。算出部１３０は、取得したこれらのデータに基づいて、タグ−単語の組み合わせ毎にタグ単語共起尺度を算出する。タグ単語共起尺度は、タグ−単語の共起の程度を表す尺度である。タグ単語共起尺度の算出については、後述する。算出部１３０は、タグ−単語の組み合わせと算出したタグ単語共起尺度とを対応付けたタグ単語共起尺度データを、タグ単語共起尺度ＤＢ２３０に、タグ単語共起尺度テーブル２３１として、格納する。
【００２２】
推薦部１４０は、ユーザ端末３００から、マイクロブログ等のサービスに投稿予定の文書を受信する。推薦部１４０は、受信した文書に対して形態素解析を実行し、当該文書に
含まれる単語情報を取得する。推薦部１４０は、タグ単語共起尺度ＤＢ２３０に格納されるタグ単語共起尺度テーブル２３１から、取得した単語情報に基づいて、各単語を含むタグ単語共起尺度データを抽出する。推薦部１４０は、タグ単語共起尺度データに含まれるタグについて、タグ利用尺度ＤＢ２２０のタグ利用尺度テーブル２３１から、当該タグを含むタグ利用尺度データを抽出する。推薦部１４０は、タグ毎に、タグ単語共起尺度及びタグ利用尺度から、タグの推薦スコアを算出する。タグの推薦スコアは、タグの、投稿予定の文書に付加することを推薦する度合いを示すものである。推薦部１４０は、算出したタグの推薦スコア上位Ｎ件（Ｎは所定の値）のタグとその推薦スコアとを、ユーザ端末３００に送信する。
【００２３】
記憶装置２００は、頻度ＤＢ２１０（Data Base: データベース）、タグ利用尺度ＤＢ
２２０、タグ用語共起尺度ＤＢ２３０を含む。頻度ＤＢ２１０、タグ利用尺度ＤＢ２２０、タグ単語共起尺度ＤＢ２３０は、それぞれ、別々の記憶装置に含まれてもよい。
【００２４】
頻度ＤＢ２１０は、単語出現頻度テーブル２１１、タグ出現頻度テーブル２１２、タグ単語共起頻度テーブル２１３、タグ利用履歴テーブル２１４を含む。
【００２５】
図３は、単語出現頻度テーブルの例を示す図である。単語出現頻度テーブル２１１は、文書に出現した単語とその単語の出現回数とを対応付けた単語出現頻度データを格納する。テーブルにおける、１つの情報と１つの情報（例えば、単語等とこの単語の出現回数等）との組み合わせを１つのレコードともいう。
【００２６】
図４は、タグ出現頻度テーブルの例を示す図である。タグ出現頻度テーブル２１２は、文書に出現したタグとそのタグの出現回数とを対応付けたタグ出現頻度データを格納する。
【００２７】
図５は、タグ単語共起頻度テーブルの例を示す図である。タグ単語共起頻度テーブル２１３は、同一文書に出現したタグと単語の組み合わせと、この組み合わせの出現回数とを対応付けたタグ単語共起頻度データを格納する。
【００２８】
図６は、タグ利用履歴テーブルの例を示す図である。タグ利用履歴テーブル２１４は、タグと当該タグを含む文書が投稿された日時の情報との組み合わせであるタグ利用履歴データを格納する。
【００２９】
タグ利用尺度ＤＢ２２０は、タグ利用尺度テーブル２２１を含む。
【００３０】
図７は、タグ利用尺度テーブルの例を示す図である。タグ利用尺度テーブル２２１は、タグと算出部１３０が算出したタグ利用尺度とを対応づけたタグ利用尺度データを格納する。
【００３１】
タグ単語共起尺度ＤＢ２３０は、タグ単語共起尺度テーブル２３１を含む。
【００３２】
図８は、タグ単語共起尺度テーブルの例を示す図である。タグ単語共起尺度テーブル２３１は、タグと単語との組み合わせと算出部１３０が算出したタグ単語共起尺度とを対応付けたタグ単語共起尺度データを格納する。
【００３３】
ユーザ端末３００は、利用者によって入力されたマイクロブログ等に投稿する予定の文書を、推薦部１４０に送信する。ユーザ端末３００は、推薦部１４０に送信した文書に対して推薦されるタグとその推薦スコアとを、推薦部１４０から受信する。ユーザ端末３００は、利用者に、推薦部１４０から受信したタグとその推薦スコアとを提示し、投稿する
文書に付加するタグを選択させる。ユーザ端末３００は、利用者から文書に付加するタグが選択されると、当該タグが付加された文書を、サービス部１１０に送信（投稿）する。
【００３４】
サーバ装置１００は、パーソナルコンピュータ（ＰＣ、Personal Computer）のような
汎用のコンピュータまたはサーバマシンのような専用のコンピュータを使用して実現可能である。
【００３５】
ユーザ端末３００は、ＰＣ、ＰＤＡ（Personal Digital Assistant）のような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。また、ユーザ端末３００は、スマートフォン、携帯電話、カーナビゲーション装置のような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。
【００３６】
図９は、情報処理装置のハードウェア構成例を示す図である。サーバ装置１００及びユーザ端末３００は、例えば、図９に示すような情報処理装置１０００によって、実現される。
【００３７】
コンピュータ、即ち、情報処理装置１０００は、ＣＰＵ（Central Processing Unit）
１００２、メモリ１００４、記憶部１００６、入力部１００８、出力部１０１０、通信部１０１２を含む。
【００３８】
情報処理装置１０００は、ＣＰＵ１００２が記録部１００６に記憶されたプログラムをメモリ１００４の作業領域にロードして実行し、プログラムの実行を通じて周辺機器が制御されることによって、所定の目的に合致した機能を実現することができる。
【００３９】
ＣＰＵ１００２は、記憶部１００６に格納されるプログラムに従って処理を行う。
【００４０】
メモリ１００４は、ＣＰＵ１００２がプログラムやデータをキャッシュしたり作業領域を展開したりする。メモリ１００４は、例えば、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。
【００４１】
記憶部１００６は、各種のプログラム及び各種のデータを読み書き自在に記録媒体に格納する。記憶部１００６は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、ソリ
ッドステートドライブ装置、ハードディスクドライブ（ＨＤＤ、Hard Disk Drive）装置
である。記憶部１００６としては、例えば、ＣＤ（Compact Disc）ドライブ装置、ＤＶＤ（Digital Versatile Disk）ドライブ装置、＋Ｒ／＋ＲＷドライブ装置、ＨＤ  ＤＶＤ（High-Definition Digital Versatile Disk）ドライブ装置、または、ＢＤ（Blu-ray Disk）ドライブ装置がある。また、記録媒体としては、例えば、不揮発性半導体メモリ（フラッシュメモリ）を含むシリコンディスク、ハードディスク、ＣＤ、ＤＶＤ、＋Ｒ／＋ＲＷ、ＨＤ  ＤＶＤ、または、ＢＤがある。ＣＤとしては、ＣＤ−Ｒ（Recordable）、ＣＤ−ＲＷ（Rewritable）、ＣＤ−ＲＯＭがある。ＤＶＤとしては、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ（Random Access Memory）がある。ＢＤとしては、ＢＤ−Ｒ、ＢＤ−ＲＥ（Rewritable）、ＢＤ−ＲＯＭがある。また、記憶部１００６は、リムーバブルメディア、即ち可搬記録媒体を含むことができる。リムーバブルメディアは、例えば、ＵＳＢ（Universal Serial Bus）メモリ、あるいは、ＣＤやＤＶＤのようなディスク記録媒体である。
【００４２】
メモリ１００４及び記憶部１００６は、コンピュータ読み取り可能な記録媒体である。
【００４３】
入力部１００８は、ユーザ等からの操作指示等を受け付ける。入力部１００８は、キーボード、ポインティングデバイス、ワイヤレスリモコン、マイクロフォン、カメラ等の入
力デバイスである。入力部１００８から入力された情報は、ＣＰＵ１００２に通知される。
【００４４】
出力部１０１０は、ＣＰＵ１００２で処理されるデータやメモリ１００４に記憶されるデータを出力する。出力部１０１０は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、ＥＬ（Electroluminescence）パネル、プリンタ、スピーカ等の出力デバイスである。
【００４５】
通信部１０１２は、外部装置とデータの送受信を行う。通信部１０１２は、例えば、信号線を介して、外部装置と接続される。外部装置は、例えば、他の情報処理装置、記憶装置である。通信部１０１２は、例えば、ＬＡＮ（Local Area Network）インタフェースボードや、無線通信のための無線通信回路である。
【００４６】
情報処理装置１０００は、記憶部１００６に、オペレーティングシステム、各種プログラム、各種テーブル等を記憶している。
【００４７】
オペレーティングシステムは、ソフトウェアとハードウェアとの仲介、メモリ空間の管理、ファイル管理、プロセスやタスクの管理等を行うソフトウェアである。オペレーティングシステムは、通信インタフェースを含む。通信インタフェースは、通信部１０１２を介して接続される他の外部装置等とデータのやり取りを行うプログラムである。
【００４８】
サーバ装置１００を実現できる情報処理装置１０００は、ＣＰＵ１００２が記憶部１００６に記憶されているプログラムをメモリ１００４にロードして実行することによって、サービス部１１０、収集部１２０、算出部１３０、推薦部１４０としての機能を実現する。
【００４９】
記憶装置２００としては、例えば、ソリッドステートドライブ装置、ハードディスクドライブ装置、ＣＤドライブ装置、ＤＶＤドライブ装置、＋Ｒ／＋ＲＷドライブ装置、ＨＤ
ＤＶＤドライブ装置、または、ＢＤドライブ装置がある。また、記憶装置２００は、リムーバブルメディア、即ち可搬記録媒体を含むことができる。
【００５０】
（動作例）
〈全体〉
本実施形態の情報処理システム１０の動作例について説明する。
【００５１】
図１０及び図１１は、情報処理システムの動作シーケンスの例を示す図である。図１０の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｈ」は、それぞれ、図１１の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｈ」と接続する。
【００５２】
収集部１２０は、所定の周期で、サービス部１１０に投稿された文書を要求し、サービス部１１０から、サービス部１１０に蓄積される文書（文書群）を収集する（ＳＱ１００２）。収集部１２０は、他のサーバ装置から、蓄積される文書を収集してもよい。
【００５３】
収集部１２０は、サービス部１１０から提供された文書群から、タグ付きの文書を抽出する。収集部１２０は、各文書に含まれる単語及びタグを抽出する。収集部１２０は、抽出した単語、タグ等から、単語出現頻度データ、タグ出現頻度データ、タグ単語共起頻度データ、タグ利用履歴データを生成する（ＳＱ１００４）。
【００５４】
収集部１２０は、生成した、単語出現頻度データ、タグ出現頻度データ、タグ単語共起頻度データ、タグ利用履歴データを、頻度ＤＢ２１０に、それぞれ、単語出現頻度テーブ
ル２１１、タグ出現頻度テーブル２１２、タグ単語共起頻度テーブル２１３、タグ利用履歴テーブル２１４として格納する（ＳＱ１００６）。
【００５５】
算出部１３０は、頻度ＤＢ２１０に格納されるタグ利用履歴テーブル２１４から、タグ利用履歴データを取得する（ＳＱ１００８）。算出部１３０は、収集部１２０から、タグ利用履歴データを取得してもよい。算出部１３０は、タグ利用履歴データから、タグ毎にタグ利用尺度を算出する（ＳＱ１０１０）。算出部１３０は、タグと算出したタグ利用尺度とを対応づけたタグ利用尺度データを、タグ利用尺度ＤＢ２２０に、タグ利用尺度テーブル２２１として、格納する（ＳＱ１０１２）。
【００５６】
算出部１３０は、頻度ＤＢ２１０から、単語出現頻度データ、タグ出現頻度データ、タグ単語共起頻度データを取得する（ＳＱ１０１４）。算出部１３０は、取得したこれらのデータから、タグと単語との組み合わせ毎にタグ単語共起尺度を算出する（ＳＱ１０１６）。算出部１３０は、タグ−単語の組み合わせと算出したタグ単語共起尺度とを対応付けたタグ単語共起尺度データを、タグ単語共起尺度ＤＢ２３０に、タグ単語共起尺度テーブル２３１として、格納する（ＳＱ１０１８）。
【００５７】
ここまでの動作により、ユーザ端末３００に対してタグを推薦するためのデータが生成される。
【００５８】
ユーザ端末３００は、利用者によって入力されたマイクロブログ等に投稿する予定の文書を、推薦部１４０に送信する（ＳＱ１０２０）。推薦部１４０は、ユーザ端末３００から、マイクロブログ等のサービスに投稿予定の文書を受信すると、受信した文書に対して形態素解析を実行し、当該文書に含まれる単語情報を取得する。推薦部１４０は、タグ単語共起尺度ＤＢ２３０に格納されるタグ単語共起尺度テーブル２３１から、取得した単語情報に基づいて、各単語を含むタグ単語共起尺度データを抽出する（ＳＱ１０２２）。推薦部１４０は、抽出したタグ単語共起尺度データに含まれるタグについて、タグ利用尺度ＤＢ２２０のタグ利用尺度テーブル２３１から、当該タグを含むタグ利用尺度データを抽出する（ＳＱ１０２４）。推薦部１４０は、タグ毎に、タグ単語共起尺度及びタグ利用尺度から、タグの推薦スコアを算出する（ＳＱ１０２６）。推薦部１４０は、算出したタグの推薦スコア上位Ｎ件（Ｎは所定の数）のタグとその推薦スコアとを、ユーザ端末３００に送信する（ＳＱ１０２８）。
【００５９】
ユーザ端末３００は、推薦部１４０に送信した文書に対して推薦されるタグとその推薦スコアとを、推薦部１４０から受信する。ユーザ端末３００は、利用者に、推薦部１４０から受信したタグとその推薦スコアとを提示し、投稿する文書に付加するタグを選択させる（ＳＱ１０３０）。ユーザ端末３００は、利用者から文書に付加するタグが選択されると、当該タグが付加された文書を、サービス部１１０に送信（投稿）する（ＳＱ１０３２）。これにより、利用者は、投稿する文書に適切なタグを付加することができる。投稿された文書は、サービス部１１０で蓄積され、収集部１２０によって収集される。
【００６０】
〈収集部〉
図１２は、収集部の動作フローの例を示す図である。図１２の動作フローは、例えば、所定時間毎に動作する。
【００６１】
収集部１２０は、サービス部１１０に投稿された文書を要求し、サービス部１１０から文書（文書群）を受信する（Ｓ１０１）。収集部１２０は、他のサーバ装置に対し、投稿された文書を要求し、文書（文書群）を収集してもよい。収集される文書は、例えば、ブログサービス、マイクロブログサービスで投稿された文書である。収集される文書には、当該文書が投稿された日時の情報を含む。
【００６２】
収集部１２０は、収集された文書群から、タグ付きの文書を抽出する（Ｓ１０２）。タグ付き文書は、特定の記号（例えば、＃記号）と文字列とによるタグを含む文書である。収集部１２０は、サービス部１１０からタグ付きの文書のみを収集してもよい。
【００６３】
収集部１２０は、抽出された全文書に対して形態素解析を実行する。収集部１２０は、形態素解析の実行結果として、各文書に含まれる単語情報、各文書に含まれるタグ情報を取得する。収集部１２０は、単語情報から、各単語の出現回数（単語出現頻度）をカウントする。出現回数は、文書単位の出現回数としてもよい。文書単位の出現回数とは、１文書に同一単語が複数含まれている場合でも、その単語の出現回数を１回とカウントすることを意味する。収集部１２０は、タグ情報から、各タグの出現回数（タグ出現頻度）をカウントする。さらに、収集部１２０は、同一文書内で任意のタグと任意の単語との組み合わせが出現する文書の数（タグ単語共起頻度）を、タグと単語の組み合わせごとにカウントする。収集部１２０は、これらの、単語出現頻度データ、タグ出現頻度データ、タグ単語共起頻度データを、それぞれ、単語出現頻度テーブル２１１、タグ出現頻度テーブル２１２、タグ単語共起頻度テーブル２１３として、頻度ＤＢ２１０に格納する。収集部１２０は、タグと当該タグを含む文書が投稿された日時の情報との組み合わせであるタグ利用履歴データを、タグ利用履歴テーブル２１４として、頻度ＤＢ２１０に格納する（Ｓ１０３）。
【００６４】
〈算出部〉
〔タグ利用尺度〕
図１３は、算出部によるタグ利用尺度の算出の動作フローの例を示す図である。図１３の動作フローは、例えば、所定時間毎に動作する。
【００６５】
算出部１３０は、頻度ＤＢ２１０に格納されるタグ利用履歴テーブル２１４から、直近（例えば、Ａ日前から現在まで（Ａは所定の値））のタグ利用履歴データを取得する（Ｓ２０１）。算出部１３０は、タグ毎に、所定時間間隔毎のタグの出現回数を算出する（Ｓ２０２）。算出部１３０は、タグ毎の、所定時間間隔毎のタグの出現回数から、タグ毎に、タグ利用尺度を算出する（Ｓ２０３）。
【００６６】
次に、タグ利用尺度の算出の具体例を示す。
【００６７】
《タグ利用尺度の算出の例（１）》
所定時間間隔の代表時刻を時刻Ｘｉ、時刻Ｘｉを含む所定時間間隔におけるタグの出現頻度（回数）をＹｉとする。このとき、Ｙｉは、Ｘｉの１次式で近似できると仮定すると、当該１次式の傾きａは、最小二乗法により次のように求められる。
【００６８】
【数１】
0005639490.tif 000002
【００６９】
ここで、ｎは、所定時間間隔の数である。即ち、Ａ日前から現在までのデータを取得しているとすると、ｎは、Ａ日を所定時間間隔で割った値である。
【００７０】
この傾きａを用いて、タグ利用尺度ｋを次のように求めることができる。
【００７１】
【数２】
0005639490.tif 000003
【００７２】
即ち、傾きａが正である場合、タグ利用尺度ｋが１、傾きａが負である場合、タグ利用尺度ｋは傾きａに応じた値とする。よって、タグの利用が時間を追うごとに増加しているときは、タグ利用尺度ｋは最大値の１となる。タグの利用が時間を追うごとに減少しているときは、タグ利用尺度ｋはcos(tan-1(a))となる。
【００７３】
《タグ利用尺度の算出の例（２）》
所定時間間隔の代表時刻を時刻Ｘｉ、時刻Ｘｉを含む所定時間間隔におけるタグの出現頻度をＹｉとする。また、現時刻を時刻ｐとする。このとき、タグ利用尺度ｋを次のように求めることができる。
【００７４】
【数３】
0005639490.tif 000004
【００７５】
時刻Ｘｉにおける出現頻度Ｙｉを、現在日時と時刻Ｘｉの差で割ったものの総和を取る。現在日時と時刻Ｘｉとの差が小さいほど、値が大きくなる。また、利用頻度が多いほど値が大きくなることから、多く利用されているタグのほうが、タグ利用尺度ｋが大きくなる。
【００７６】
《タグ利用尺度の算出の例（３）》
ここでは、所定時間間隔毎のタグの出現回数を使用せずに、タグ利用尺度ｋを求める。タグの利用尺度は、次のように求められる。
【００７７】
【数４】
0005639490.tif 000005
【００７８】
ここで、ｆ（ｔａｇ）は、タグ「ｔａｇ」の、直近（例えば、Ａ日前から現在まで）の出現回数である。また、値Ｎは、収集部１２０が収集した直近のタグ付きの文書数である。このタグ利用尺度ｋは、直近におけるタグ「ｔａｇ」の出現割合に相当する。
【００７９】
〔タグ単語共起尺度〕
図１４は、算出部によるタグ単語共起尺度の算出の動作フローの例を示す図である。図１４の動作フローは、例えば、所定時間毎に動作する。タグ単語共起尺度は、タグと単語との共起の程度を表す尺度である。
【００８０】
算出部１３０は、頻度ＤＢ２１０に格納されるタグ単語共起頻度テーブル２１３から、タグ単語共起頻度データを１つずつ取得する（Ｓ３０１）。算出部１３０は、頻度ＤＢ２１０に格納されるタグ出現頻度テーブル２１２から、ステップＳ３０１で取得したタグについての、タグ出現頻度データを取得する。また、算出部１３０は、頻度ＤＢ２１０に格納される単語出現頻度テーブル２１１から、ステップＳ３０１で取得した単語についての、単語出現頻度データを取得する。算出部１３０は、取得したこれらのデータに基づいて、タグと単語との組み合わせの、タグ単語共起尺度を算出する。算出部１３０は、タグと単語との組み合わせと算出したタグ単語共起尺度とを対応付けたタグ単語共起尺度データを、タグ単語共起尺度ＤＢ２３０に、タグ単語共起尺度テーブル２３１として、格納する（Ｓ３０３）。算出部１３０は、頻度ＤＢ２１０に格納されるタグ単語共起頻度データをすべて取得したか否かを確認する（Ｓ３０４）。算出部１３０は、まだ取得していないタグ単語共起頻度データがある場合（Ｓ３０４；ＮＯ）、処理をステップＳ３０１に戻す。また、算出部１３０は、すべてのタグ単語共起頻度データを取得した場合（Ｓ３０４；ＹＥＳ）、処理を終了する。
【００８１】
ここで、タグ単語共起尺度の算出の具体例について説明する。タグ単語共起尺度は、０以上１以下となるように正規化されてもよい。
【００８２】
《タグ単語共起尺度の算出の例（１）》
共起頻度f(term,tag)をタグ単語共起尺度ｍとすることができる。ここで、共起頻度f(term,tag)は、同一文書内に単語「term」とタグ「tag」とが出現する文書の数を示す。f(term,tag)は、共起の観測値である。
【００８３】
《タグ単語共起尺度の算出の例（２）》
観測値と期待値との比を、タグ単語共起尺度ｍとすることができる。即ち、次のように表すことができる。観測値と期待値との比は、値が大きいほど共起しやすいことを意味する。
【００８４】
【数５】
0005639490.tif 000006
【００８５】
ここで、f(term)は、単語「term」が出現する回数（文書の数）を示す。f(tag)は、タ
グ「tag」が出現する回数（文書の数）を示す。また、値Ｎは、収集部１２０が収集した
直近のタグ付きの文書数である。
【００８６】
《タグ単語共起尺度の算出の例（３）》
ｔ検定の独立性の検定を応用して、次のようにタグ単語共起尺度ｍを求めることができる。
【００８７】
【数６】
0005639490.tif 000007
【００８８】
《タグ単語共起尺度の算出の例（４）》
単語とタグとの共起がランダムに発生する場合を期待値として、次のようにタグ単語共起尺度ｍを求めることができる。
【００８９】
【数７】
0005639490.tif 000008
【００９０】
《タグ単語共起尺度の算出の例（５）》
対数尤度比（LLR: Log-Likelihood Ratio）を用いて、次のようにタグ単語共起尺度ｍ
を求めることができる。
【００９１】
【数８】
0005639490.tif 000009
【００９２】
ここで、
【００９３】
【数９】
0005639490.tif 000010
【００９４】
である。なお、対数の底は、原則としてｅとする。
【００９５】
《タグ単語共起尺度の算出の例（６）》
ＰＭＩ（Point-wise Mutual Information）を用いて、次のようにタグ単語共起尺度ｍ
を求めることができる。
【００９６】
【数１０】
0005639490.tif 000011
【００９７】
このタグ単語共起尺度ｍは、単語Ａが出現する文書にタグＴが付く確率が高く、タグＴが付く文書に単語Ａが出現する確率が高い場合に、極めて大きな値となる。
【００９８】
〈推薦部〉
図１５及び図１６は、推薦部の動作フローの例を示す図である。図１５の「Ａ」及び「Ｂ」は、それぞれ、図１６の「Ａ」及び「Ｂ」と接続する。図１５及び図１６の動作フローは、例えば、ユーザ端末３００から文書を受信することによって開始される。
【００９９】
推薦部１４０は、ユーザ端末３００から、マイクロブログ等のサービスに投稿予定の文書を受信する（Ｓ４０１）。推薦部１４０は、受信した文書に対して形態素解析を実行し、文書を単語毎に分割し、文書に含まれる単語情報を取得する（Ｓ４０２）。推薦部１４０は、形態素解析以外の方法により、文書に含まれる単語情報を取得してもよい。推薦部１４０は、受信した文書に含まれる単語の数が、閾値Ｗｔｈ以上であるか否かを判定する（Ｓ４０３）。
【０１００】
受信した文書に含まれる単語の数が閾値Ｗｔｈ以上である場合（Ｓ４０３；ＹＥＳ）、推薦部１４０は、タグ単語共起尺度ＤＢ２３０から、文書に含まれる各単語に関するタグ単語共起尺度データを抽出する（Ｓ４０４）。単語に関するタグ単語共起尺度データとは、当該単語が含まれるタグ単語共起尺度データ（レコード）である。１つの単語に対して、複数のタグ単語共起尺度データが抽出されることもある。推薦部１４０は、抽出したタグ単語共起尺度データをタグ毎にまとめる。１つのタグにつき複数のタグ単語共起尺度データが抽出されている場合、推薦部１４０は、同一のタグのタグ単語共起尺度データのタグ単語共起尺度を統合し、このタグの基本推薦尺度とする。ここで、統合とは、例えば、各タグ単語共起尺度を乗算することをいう。乗算の代わりに、各タグ単語共起尺度の和をとってもよい。統合は、乗算や和に限定されるものではない。また、１つのタグにつき１つのタグ単語共起尺度データが抽出されている場合、推薦部１４０は、このタグ単語共起尺度データのタグ単語共起尺度を、このタグの基本推薦尺度とする。このようにして、推薦部１４０は、タグ毎に基本推薦尺度を算出する（Ｓ４０５）。
【０１０１】
推薦部１４０は、抽出したタグ単語共起尺度データに含まれるタグについて、タグ利用尺度ＤＢ２２０のタグ利用尺度テーブル２３１から、当該タグを含むタグ利用尺度データ
を抽出する。推薦部１４０は、各タグの基本推薦尺度に、当該タグのタグ利用尺度を統合し、推薦スコアとする（Ｓ４０６）。推薦スコアがより高いタグは、受信した文書に付加するのによりふさわしいタグであることを意味する。ここで、統合とは、例えば、基本推薦尺度とタグ利用尺度とを乗算することである。また、乗算の代わりに、基本推薦尺度とタグ利用尺度とを足しあわせてもよい。また、乗算の代わりに、基本推薦尺度に所定の係数をかけてタグ利用尺度と足しあわせてもよい。推薦部１４０は、ステップＳ４０６で得られた推薦スコアの降順にタグをソートする。推薦部１４０は、ソートしたタグの上位Ｎ件を抽出し、当該タグと、当該タグの推薦スコアとを、ユーザ端末３００に送信し、処理を終了する（Ｓ４０７）。タグ利用尺度を使用せずに、基本推薦尺度をそのまま推薦スコアとしてもよい。
【０１０２】
受信した文書に含まれる単語の数が閾値Ｗｔｈ未満である場合（Ｓ４０３；ＮＯ）、推薦部１４０は、ユーザ端末３００に対し、適切なタグを推薦するのに十分な情報を得られないとして、エラーを送信し（Ｓ４０８）、処理を終了する。
【０１０３】
（実施形態の作用効果）
サーバ装置１００の収集部１２０は、サービス部１１０から、マイクロブログ等のサービスに対して投稿された文書、当該文書が投稿された日時等を収集する。収集部１２０は、収集した文書等から、単語情報、タグ情報を抽出する。収集部１２０は、単語情報に基づいて、各単語の出現回数、各タグの出現回数、タグ単語共起頻度を求める。また、収集部１２０は、タグ情報及び文書が投稿された日時から、タグ利用履歴を生成する。算出部１３０は、各単語の出現回数、各タグの出現回数、タグ単語共起頻度から、タグ単語共起尺度を求める。また、算出部１３０は、タグ利用履歴からタグ利用尺度を求める。推薦部１４０は、ユーザ端末３００から投稿予定の文書を受信し、当該文書に含まれる単語を抽出する。推薦部１４０は、マイクロブログ等のサービスに対して投稿予定の文書に含まれる単語、タグ単語共起尺度、タグ利用尺度に基づいて、投稿予定の文書に付加するタグとして推薦するタグを抽出する。推薦部１４０は、投稿予定の文書に含まれる単語、タグ単語共起尺度、タグ利用尺度に基づいて、タグの推薦スコアを算出することにより、推薦するタグを抽出する。推薦部１４０は、投稿予定の文書に付加するタグとして、推薦するタグを、ユーザ端末３００に送信する。サーバ装置１００は、過去に投稿された文書に基づいて、投稿予定の文書に付加するタグとして適切と判断するタグを、抽出することができる。ユーザ端末３００の利用者は、付加すべきタグが提示されるため、タグを網羅的に知らなくても、適切なタグを選択することができる。
【０１０４】
また、サーバ装置１００は、タグの利用尺度を使用することで、活発に利用されているタグを、推薦するタグとして抽出しやすくなる。また、過去に多く利用されたが、最近利用されなくなったタグが、推薦するタグとして、抽出されにくくなる。タグサーバ装置１００に推奨されて利用されたタグは、マイクロブログサービス等において投稿される文書に付加されることで、サーバ装置１００は、当該タグが付加された文書を、利用尺度、共起尺度にフィードバックすることで、より品質の高いタグの推薦を実現できる。複数の類似タグが利用されている場合でも、このフィードバック構造により、タグが一本化されやすくなる。
【０１０５】
サーバ装置１００によれば、ユーザ端末３００に投稿予定の文書に付加するタグとして推薦するタグを送信することで、利用者が投稿する文書に付加するのに適切なタグを容易に選択することができる。
【０１０６】
（変形例）
上述の例では、タグと単語との間の共起頻度から、タグ単語共起尺度を求め、タグの推薦スコアを算出している。これに加えて、投稿される文書に付加される付加情報（文脈、
contents）とタグとの共起尺度（タグ付加情報共起尺度）を求めて、これを用いてタグの推薦スコアを算出してもよい。付加情報（文脈、context）として、例えば、天気（気温
、気圧、湿度、風速、降水量、天候等）、時間帯（朝、昼、夜、１時間毎など）、場所（緯度、経度、施設、道路、路線等）、ユーザ端末の種類等が、挙げられる。
【０１０７】
ユーザ端末３００は、マイクロブログ等のサービスにタグを含む文書を投稿する際、文書を付加情報と共に送信する。ユーザ端末３００は、ユーザ端末の固有の機能等によって付加情報を取得する。また、ユーザ端末３００は、付加情報をユーザに入力させることにより取得してもよい。サービス部１１０は、ユーザ端末３００から文書と共に付加情報を受信すると、投稿された文書、文書が投稿された日時等と共に、付加情報を蓄積する。収集部１２０は、サービス部１１０から、投稿された文書、文書が投稿された日時等と共に、付加情報を収集する。収集部１２０は、単語頻度データ、タグ頻度データと同様に、付加情報頻度データを生成する。また、収集部１２０は、同一文書に関する付加情報（文脈、contents）とタグとの共起頻度を求める。算出部１３０は、タグ単語共起尺度を求めるのと同様にして、タグ付加情報共起尺度を求める。
【０１０８】
ユーザ端末３００は、投稿予定の文書と共に付加情報を推薦部１４０に送信する。推薦部１４０は、文書に含まれる各単語に関するタグ単語共起尺度データを抽出するのと同様に、付加情報に関するタグ付加情報尺度データを抽出する。推薦部１４０は、抽出したタグ単語共起尺度データ及びタグ付加情報尺度データをタグ毎にまとめる。推薦部１４０は、これらのタグ単語共起尺度データのタグ単語共起尺度及びタグ付加情報尺度データのタグ付加情報尺度を統合し、このタグの基本推薦尺度とする。ここで、統合とは、例えば、各タグ単語共起尺度及び各タグ付加情報尺度を乗算することをいう。乗算の代わりに、各タグ単語共起尺度及び各タグ付加情報尺度の和をとってもよい。和を取る際に、各タグ単語共起尺度、各タグ付加情報尺度に所定の重み付けをしてもよい。統合は、これらに限定されるものではない。
【０１０９】
サーバ装置１００によれば、付加情報を加味して、文書に付加するタグを推薦することができる。推薦スコアの算出の際に、単語情報に加えて、付加情報を利用することで、サーバ装置１００は、より適切なタグを推薦することができる。
【０１１０】
〔コンピュータ読み取り可能な記録媒体〕
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１１１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような媒体内には、ＣＰＵ、メモリ等のコンピュータを構成する要素を設け、そのＣＰＵにプログラムを実行させてもよい。
【０１１２】
また、このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えば、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ＤＡＴ、８ｍｍテープ、メモリカード等がある。
【０１１３】
また、コンピュータ等に固定された記録媒体としてハードディスクドライブやＲＯＭ等がある。
【符号の説明】
【０１１４】
１０        情報処理システム
１００          サーバ装置
１１０            サービス部
１２０            収集部
１３０            算出部
１４０            推薦部
２００          記憶装置
２１０            頻度ＤＢ
２１１              単語出現頻度テーブル
２１２              タグ出現頻度テーブル
２１３              タグ単語共起頻度テーブル
２１４              タグ利用履歴テーブル
２２０            タグ利用尺度ＤＢ
２２１              タグ利用尺度テーブル
２３０            タグ用語共起尺度ＤＢ
２３１              タグ単語共起尺度テーブル
３００          ユーザ端末
１０００        情報処理装置
１００２          ＣＰＵ
１００４          メモリ
１００６          記憶部
１００８          入力部
１０１０          出力部
１０１２          通信部
【図１】
0005639490.tif 000012
【図２】
0005639490.tif 000013
【図３】
0005639490.tif 000014
【図４】
0005639490.tif 000015
【図５】
0005639490.tif 000016
【図６】
0005639490.tif 000017
【図７】
0005639490.tif 000018
【図８】
0005639490.tif 000019
【図９】
0005639490.tif 000020
【図１０】
0005639490.tif 000021
【図１１】
0005639490.tif 000022
【図１２】
0005639490.tif 000023
【図１３】
0005639490.tif 000024
【図１４】
0005639490.tif 000025
【図１５】
0005639490.tif 000026
【図１６】
0005639490.tif 000027