情報処理装置及び情報処理方法
【課題】コンテンツに含まれるテキストデータを用いてそのコンテンツの価値の大きさの指標となる情報を蓄積すること。
【解決手段】テキスト検索装置の制御部は、送信されてきた検索クエリを含むテキストデータを抽出する(ステップS52)。制御部は、抽出したテキストデータに付与された情報元IDに対応付けられているフラグを参照し、これらのフラグの値(「1」又は「0」)を用いてランキングスコアを算出する(ステップS53)。制御部110は、ステップS52で抽出したテキストデータを、ステップS53で算出したランキングスコアが大きいものから順位付けし(ステップS54)、ユーザ端末に送信する(ステップS55)。ユーザ端末の制御部は、送信されてきたテキストデータを、それらに対応する順位で、例えば上から順番に並べて表示部に表示する(ステップS56)。
【解決手段】テキスト検索装置の制御部は、送信されてきた検索クエリを含むテキストデータを抽出する(ステップS52)。制御部は、抽出したテキストデータに付与された情報元IDに対応付けられているフラグを参照し、これらのフラグの値(「1」又は「0」)を用いてランキングスコアを算出する(ステップS53)。制御部110は、ステップS52で抽出したテキストデータを、ステップS53で算出したランキングスコアが大きいものから順位付けし(ステップS54)、ユーザ端末に送信する(ステップS55)。ユーザ端末の制御部は、送信されてきたテキストデータを、それらに対応する順位で、例えば上から順番に並べて表示部に表示する(ステップS56)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
インターネットに接続されているWebサーバ装置は、テキストや音声、画像又は動画などを含むコンテンツを記憶しており、これらをユーザからの要求に応じて配信する。例えば、ある商品についてのコメントや施設についての感想など、いわゆる口コミのコンテンツはその一例である。このようなコンテンツの中からユーザが得たいものを探し出しやすいようにするため、これらのコンテンツを検索によって絞り込み、ユーザにとっての価値を評価する技術がある。特許文献1には、インターネット上のテキストを検索した結果得られたコンテンツを、画像データや動画データなどのマルチメディアデータを検索した結果に応じてランク付けすることで、それぞれのコンテンツの価値を評価する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−186214号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、日記や掲示板、ブログ、マイクロブログ、SNS(Social Network Service)など、上記のようなコンテンツを発信する手段が多様化しており、そのコンテンツの価値も様々である。例えば、マイクロブログにおいて発信されているコンテンツであれば、実際の利用者のコメントを含む口コミのコンテンツや、他のコンテンツへのアクセス方法が示されたコンテンツなどは、そうでないものに比べて価値が大きいことがある。また、単に一言だけといった情報量が少ないものや、Retweetと呼ばれる他のコンテンツを繰り返し発信したものなどは、そうでないものに比べて価値が小さいことがある。検索によって絞り込んだコンテンツに価値の低いものが含まれていると、それらのコンテンツに埋もれて、価値の高いコンテンツが見つけ出しにくくなる場合がある。特許文献1の技術では、マルチメディアデータの内容に基づいてランク付けすることでコンテンツの価値を評価しているが、上記のような価値の大きさは、マルチメディアデータの内容から評価することが難しい。
そこで、本発明は、コンテンツに含まれるテキストデータを用いてそのコンテンツの価値の大きさの指標となる情報を蓄積することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を達成するために、本発明は、コンテンツに含まれるテキストデータを収集する収集手段と、前記収集手段により収集されたテキストデータを、形態素単位に分解する分解手段と、前記分解手段により分解された形態素の数を計数する計数手段と、前記計数手段により計数された形態素の数が閾値以上であるか否かを判定する第1判定手段と、前記収集手段により収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定手段と、前記収集手段により収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定手段と、前記テキストデータに対する前記第1判定手段による判定結果、前記第2判定手段による判定結果及び前記第3判定手段による判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶手段とを備えることを特徴とする情報処理装置を提供する。
【0006】
また、ユーザによって操作される通信装置から検索クエリを取得する取得手段と、前記収集手段により収集された前記テキストデータから、前記取得手段により取得された検索クエリを含むテキストデータを抽出する抽出手段と、前記抽出手段が抽出したテキストデータに対応付けて前記識別子記憶手段に記憶されている識別子に応じた値を用いて、前記テキストデータを検索対象として評価するときの評価値を算出する算出手段と、前記抽出手段により抽出されたテキストデータを、当該テキストデータについて前記算出手段により算出された評価値又は当該評価値の順位とともに前記通信装置に送信する送信手段とを備えさせてもよい。
【0007】
さらに、前記算出手段は、前記テキストデータに対応する前記識別子に応じた値のそれぞれに予め決められた係数を乗じた値に基づいて前記評価値を算出してもよい。
【0008】
また、前記特定の文字列は、前記テキストデータが特定の相手に向けて発信されたものであること、又は当該テキストデータが当該テキストデータとは異なるテキストデータを引用していることを表すものであってもよい。
【0009】
また、本発明は、情報処理端末において実行される情報処理方法であって、コンテンツに含まれるテキストデータを収集する収集ステップと、前記収集ステップにおいて収集されたテキストデータを、形態素単位に分解する分解ステップと、前記分解ステップにおいて分解された形態素の数を計数する計数ステップと、前記計数ステップにおいて計数された形態素の数が閾値以上であるか否かを判定する第1判定ステップと、前記収集ステップにおいて収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定ステップと、前記収集ステップにおいて収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定ステップと、前記テキストデータに対する前記第1判定ステップにおける判定結果、前記第2判定ステップにおける判定結果及び前記第3判定ステップにおける判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶ステップとを備えることを特徴とする情報処理方法を提供する。
【発明の効果】
【0010】
本発明によれば、コンテンツに含まれるテキストデータを用いてそのコンテンツの価値の大きさの指標となる情報を蓄積することができる。
【図面の簡単な説明】
【0011】
【図1】実施形態に係るテキスト検索システムの全体構成を示すブロック図である。
【図2】ユーザ端末のハードウェア構成を示す図である。
【図3】コンテンツ発信サーバ装置のハードウェア構成を示す図である。
【図4】テキスト検索装置のハードウェア構成を示す図である。
【図5】テキスト検索装置の制御部が実現する機能を示すブロック図である。
【図6】URL辞書の内容の例を示す表である。
【図7】フラグ格納処理の手順を示すフローチャートである。
【図8】条件A判定処理の手順を示すフローチャートである
【図9】条件B判定処理の手順を示すフローチャートである
【図10】条件C判定処理の手順を示すフローチャートである
【図11】検索インデックスの一例を示す表である。
【図12】検索処理におけるシーケンスチャートである。
【発明を実施するための形態】
【0012】
[実施形態]
以下、本発明の実施形態について図面を参照して説明する。
以下においてテキストとは、文字によって構成されたものであり、文章、語句及び文字列を含む概念である。テキストデータとは、テキストを文字コードで表現したものである。
図1は、本発明の一実施形態に係るテキスト検索システム1の全体構成を示すブロック図である。テキスト検索システム1においては、ユーザが得たいコンテンツをテキストの検索によって見つけ出しその結果を通知するというテキスト検索サービスがユーザに提供される。テキスト検索システム1は、テキスト検索装置10と、複数のコンテンツ発信サーバ装置20と、複数のユーザ端末30と、ネットワーク40とを備えている。ネットワーク40は、移動体通信網又はインターネット等を含むものである。テキスト検索装置10及び各コンテンツ発信サーバ装置20と各ユーザ端末30とは、ネットワーク40を介して互いに接続される。
【0013】
複数のコンテンツ発信サーバ装置20は、例えば、日記、掲示板、ブログ、マイクロブログ又はSNS等のサービスをユーザ端末30のユーザに提供するWebサーバ装置である。各コンテンツ発信サーバ装置20は、或るユーザのユーザ端末から投稿されたコンテンツをWebページに掲載することで、ブラウザなどの閲覧プログラムを実行してそのWebページのURL(Uniform Resource Locator)にアクセスしてきた他のユーザ端末のユーザがそのコンテンツを閲覧できるようにする。こうして、各コンテンツ発信サーバ装置20は、ユーザが投稿したコンテンツを他のユーザに発信する。各コンテンツ発信サーバ装置20に投稿されるコンテンツは、テキストのほか、音声や画像又は動画等を含んでいるものもある。
【0014】
テキスト検索装置10は、各コンテンツ発信サーバ装置20に投稿されたコンテンツから、特定のテキストを含むコンテンツを検索するものである。この検索に用いられる特定のテキストは、検索クエリといい、ユーザ端末30から送られてくる。この検索クエリは、ユーザが得たいコンテンツを検索するために選んだテキストであり、例えばそのコンテンツを構成するテキストに含まれているとユーザが考えた語句である。テキスト検索装置10は、各コンテンツ発信サーバ装置20からユーザが投稿したコンテンツを取得して記憶しておき、この記憶内容から、ユーザ端末30から送られてきた検索クエリを含むコンテンツを検索して、その結果をユーザ端末30に通知する。テキスト検索装置10は、前述したテキスト検索サービスをユーザに提供する事業者によって管理されている。
【0015】
複数のユーザ端末30は、ユーザが各コンテンツ発信サーバ装置20にコンテンツを投稿するとき、又はテキスト検索装置10に検索クエリを送ってその検索結果を取得するときに、そのユーザによって用いられるものである。各ユーザ端末30は、携帯電話機、スマートフォン、タブレット端末又はパーソナルコンピュータ等の通信装置であり、無線又は有線でネットワーク40と通信する。図1では無線で通信するユーザ端末30を示している。
【0016】
図2は、ユーザ端末30のハードウェア構成を示す図である。ユーザ端末30は、制御部310と、通信部320と、操作部330と、表示部340と、記憶部350とを備えたコンピュータとして構成されている。制御部310は、CPU(Central Processing Unit)等の演算装置と、ROM(Read Only Memory)及びRAM(Random Access Memory)などの記憶装置とを備えている。CPUは、RAMをワークエリアとして用いてROMや記憶部350に記憶されたプログラムを実行することによって、ユーザ端末30の各部の動作を制御する。通信部320は、ネットワーク40との間で信号を遣り取りする通信回路を備えており、ネットワーク40を介してテキスト検索装置10及びコンテンツ発信サーバ装置20と通信する。操作部330は、複数のキー及びタッチセンサなどの操作子を備え、ユーザの操作に応じた操作信号を制御部310に供給する。制御部310は、この操作信号に応じた処理を行う。表示部340は、液晶パネル及び液晶駆動回路を有する表示手段であり、制御部310からの指示に応じて液晶パネルの表示面に画像を表示する。記憶部350は、例えばフラッシュメモリやハードディスク等の記憶手段であり、制御部310が制御に用いるデータやプログラムを記憶している。
【0017】
図3は、コンテンツ発信サーバ装置20のハードウェア構成を示す図である。コンテンツ発信サーバ装置20は、制御部210と、通信部220と、記憶部230とを備えたコンピュータとして構成されている。制御部210は、CPU等の演算装置と、ROM及びRAM等の記憶装置とを備えている。CPUは、RAMをワークエリアとして用いてROMや記憶部230に記憶されたプログラムを実行することによって、コンテンツ発信サーバ装置20の各部の動作を制御する。通信部220は、ネットワーク40に接続されており、テキスト検索装置10及び各ユーザ端末30とデータを送受信する。記憶部230は、例えばハードディスク等の記憶手段であり、制御部210が制御に用いるデータやプログラムを記憶しており、例えば上述のとおりユーザから投稿されたコンテンツを記憶する。
【0018】
図4は、テキスト検索装置10のハードウェア構成を示す図である。テキスト検索装置10は、制御部110、通信部140及び記憶部130を備える。これらの各部は、ハードウェアとしては、コンテンツ発信サーバ装置20の各部と共通するものである。記憶部130に記憶されているデータやプログラムは、記憶部230に記憶されているものと異なっている。制御部110が記憶部130に記憶されているプログラムを実行することで実現する機能と、記憶部130に記憶されているデータについて、図5を参照しながら説明する。
【0019】
図5は、テキスト検索装置10の制御部110が実現する機能と記憶部130に記憶されているデータとを示すブロック図である。制御部110は、コンテンツ収集部111と、形態素解析部112と、形態素数計数部113と、形態素数判定部114と、URL抽出部115と、URL照合部116と、テキスト解析部117と、取得部118と、抽出部119と、算出部120と、送信部121といった各機能を実現する。記憶部130は、テキストデータ群131と、URL辞書132と、検索インデックス133とを記憶している。
【0020】
コンテンツ収集部111は、各コンテンツ発信サーバ装置20から発信されているコンテンツに含まれるテキストを表すテキストデータを収集する収集手段である。このテキストは、各コンテンツ発信サーバ装置20が提供しているWebページに掲載されているコンテンツに含まれるテキストである。コンテンツ収集部111は、各種のAPI(Application Programming Interface)を利用したり、WebページのURLをたどりながらコンテンツを収集するクローリングと呼ばれる処理を行ったりすることにより、テキストデータを収集する。コンテンツ収集部111は、収集したテキストデータの各々にユニークな情報元IDを付与し、そのテキストデータを情報元IDと対応付けて、形態素解析部112、URL抽出部115及びテキスト解析部117に供給する。この情報元IDは、各テキストデータを識別するための識別子である。また、コンテンツ収集部111は、収集したテキストデータを情報元IDと対応付けて記憶部130に記憶させる。このようにしてコンテンツ収集部111が記憶させたテキストデータがテキストデータ群131である。
【0021】
続いて、コンテンツ収集部111から供給されるテキストデータが表すテキスト(以下「収集テキスト」という。)が、予め決められた3つの条件(条件A、B、Cという。)を満たすか否かを判定する機能について説明する。これらの条件は、それが満たされた場合に、ユーザにとって価値が大きい可能性が高いものとして定められている。
まず、条件Aの判定について説明する。条件Aとは、収集テキストに含まれる形態素数が閾値以上である場合に満たされる条件である。条件Aの判定は、形態素解析部112、形態素数計数部113及び形態素数判定部114が協働することで行われる。形態素解析部112は、上記の収集テキストを形態素解析して形態素単位に分解する分解手段である。形態素解析部112は、分解した形態素を情報元IDと対応付けて形態素数計数部113に供給する。形態素数計数部113は、形態素解析部112から供給された形態素の数(形態素数)を情報元IDごとに計数する計数手段である。形態素数計数部113は、計数した結果である形態素数を情報元IDと対応付けて形態素数判定部114に供給する。
【0022】
形態素数判定部114は、形態素数計数部113により計数された形態素数が閾値以上であるか否かを判定する第1判定手段である。形態素数判定部114は、形態素数が閾値以上である場合を「1」、閾値未満である場合を「0」とするフラグ(フラグAという。)を、収集テキストに対応する情報元IDに対応付けて検索インデックス133に格納する。検索インデックス133は、情報元ID及びフラグA等を記憶させる記憶領域のことである。こうして格納されたフラグAは、それが「1」であれば、対応する情報元IDが付与されたテキストデータ(が表すテキスト)が条件Aを満たすことを表し、「0」であれば、そのテキストデータが条件Aを満たさないことを表す。
【0023】
次に、条件Bの判定について説明する。条件Bとは、URL辞書に登録されたURLが収集テキストに含まれる場合に満たされる条件である。条件Bの判定は、URL抽出部115及びURL照合部116が協働することで行われる。まず、条件Bの判定で用いられるURL辞書132について説明する。URL辞書132は、各WebページのURLと、それらのWebページに含まれるコンテンツの種別(コンテンツ種別)とが登録されている辞書である。
図6は、URL辞書132の内容の例を示す表である。この例では、URL「http://xxxx.xx」、「http://yyyy.yy」、「http://zzzz.zz」にそれぞれコンテンツ種別「写真」、「動画」、「ニュース」が対応付けられている。URL辞書132は、上述したテキスト検索サービスを提供する事業者によって予め用意されているものであり、このURL辞書132には、各コンテンツ発信サーバ装置20が提供している日記、掲示板、ブログ、マイクロブログ又はSNS等のWebページのURLが登録されている。
【0024】
URL抽出部115は、上述した収集テキストからURLを抽出する。ここで、そのテキストの中にマイクロブログの提供元により短縮されたURL(短縮URL)が含まれている場合、URL抽出部115は、既存の手法で短縮URLを拡張し、これをコンテンツのURLとして抽出する。URL抽出部115は、抽出したURLをURL照合部116に供給する。また、URL抽出部115は、収集テキストにURLが含まれていないためにURLを抽出できなかった場合は、その旨をURL照合部116に通知する。
【0025】
URL照合部116は、URL抽出部115からURLが供給された場合、そのURL(抽出URLという。)をURL辞書132に含まれるURL(辞書URLという。)と照合する。URL照合部116は、抽出URLと一致する辞書URLがある場合を「1」、ない場合を「0」とするフラグ(フラグBという。)を、収集テキストに対応する情報元IDに対応付けて検索インデックス133に格納する。また、URL照合部116は、URL抽出部115から収集テキストにURLが含まれていない旨を通知された場合は、フラグBを「0」として、検索インデックス133に格納する。こうして格納されたフラグBは、それが「1」であれば、対応する情報元IDが付与されたテキストデータ(が表すテキスト)が条件Bを満たすことを表し、「0」であれば、そのテキストデータが条件Bを満たさないことを表す。以上のとおり、URL抽出部115及びURL照合部116が協働することで、収集テキストに、コンテンツにアクセスするためのURLが含まれているか否かを判定する第2判定手段として機能する。
【0026】
続いて、条件Cの判定について説明する。条件Cとは、収集テキストの先頭が予め決められた特定の文字列となっていない場合に満たされる条件である。この特定の文字列とは、マイクロブログにおいて同じ内容を引用するRetweetと呼ばれる文章の先頭や、特定の個人宛のメッセージの先頭に用いられる文字列であり、例えば「RT」や「@」である。条件Cの判定は、テキスト解析部117により行われる。テキスト解析部117は、上述した収集テキストの先頭が特定の文字列となっているか否かを解析し、なっていない場合を「1」、なっている場合を「0」とするフラグ(フラグCという。)を、収集テキストに対応する情報元IDに対応付けて検索インデックス133に格納する。こうして格納されたフラグCは、それが「1」であれば、対応する情報元IDが付与されたテキストデータ(が表すテキスト)が条件Cを満たすことを表し、「0」であれば、そのテキストデータが条件Cを満たさないことを表す。以上のとおり、テキスト解析部117は、収集テキストの先頭が予め決められた特定の文字列となっているか否かを判定する第3判定手段として機能する。
【0027】
記憶部130の検索インデックス133には、テキストデータに対する第1判定手段による判定結果、第2判定手段による判定結果及び第3判定手段による判定結果をそれぞれ表す識別子(フラグ)が、そのテキストデータに対応付けて記憶されている。すなわち、記憶部130は、識別子を記憶する識別子記憶手段である。具体的には、検索インデックス133には、形態素数判定部114、URL照合部116及びテキスト解析部117によって格納されたフラグA、B、Cと、それらに対応する情報元IDとが格納されている。これにより、検索インデックス133を参照することで、各情報元IDが付与されたテキストデータがどの条件を満たし、又は満たしていないのかを制御部110が分かるようになっている。
【0028】
取得部118は、上述した検索クエリを取得する取得手段であり、ユーザによって操作されるユーザ端末30から検索クエリを取得する。取得部118は、取得した検索クエリを抽出部119に供給する。抽出部119は、コンテンツ収集部111により収集されたテキストデータであるテキストデータ群131から特定のテキストデータを抽出する抽出手段である。この特定のテキストデータとは、取得部118により取得された検索クエリを含むテキストデータである。抽出部119は、抽出したテキストデータを算出部120に供給する。算出部120は、ランキングスコアを算出する算出手段である。ここにおいて、ランキングスコアとは、テキストデータを検索対象として評価するときに用いるテキストデータの価値の大きさを表す値(評価値)である。算出部120は、抽出部119が抽出したテキストデータに対応付けて記憶部130に記憶されている各フラグに応じた値(「1」又は「0」)を用いて、ランキングスコアを算出する。算出部120は、算出した評価値を送信部121に供給する。送信部121は、データをユーザ端末30に送信する送信手段であり、抽出部119により抽出されたテキストデータを、そのテキストデータについて算出部120により算出された評価値の順位とともにユーザ端末30に送信する。
【0029】
テキスト検索システム1の構成は、以上のとおりである。この構成のもと、テキスト検索システム1においては、ユーザにテキスト検索サービスが提供される。このときにおけるテキスト検索装置10が行う処理について、以下、図7から図10までを参照して説明する。
【0030】
図7は、テキスト検索装置10の制御部110が検索インデックス133にフラグを格納する処理、すなわちフラグ格納処理の手順を示すフローチャートである。このフラグ格納処理は、予め決められた時間の間隔、例えば1時間毎、で行われる。まず、制御部110(コンテンツ収集部111)は、上記のとおりテキストデータを収集する(ステップS11)。このとき制御部110がテキストデータを収集する対象となるWebページは、テキスト検索サービスの提供元により予め定められている。そして、制御部110(コンテンツ収集部111)は、収集した各テキストデータに情報元IDを付与する(ステップS12)。
【0031】
続いて、制御部110は、条件A、B、Cの判定を行う処理である条件A判定処理、条件B判定処理及び条件C判定処理をそれぞれ実行する(ステップS20、S30及びS40)。制御部110は、これらの処理を実行することで、上記の収集テキストが条件A、B及びCをそれぞれ満たすか否かを判定する。そして、制御部110は、その結果を示すフラグA、B及びCを検索インデックス133に格納して、このフラグ格納処理を終了する。
【0032】
図8は、条件A判定処理において制御部110が行う処理の手順を示すフローチャートである。まず、制御部110(形態素解析部112)は、ステップS12で情報元IDが付与されたテキストデータが表すテキストに対し上述した形態素解析を行い、形態素に分割する(ステップS21)。次に、制御部110(形態素数計数部113)は、分割された形態素の数を計数する(ステップS22)。続いて、制御部110(形態素数判定部114)は、計数した形態素数が閾値以上か否かを判定する(ステップS23)。形態素数が閾値以上(ステップS23:YES)である場合、制御部110は、フラグAを「1」として、そのフラグAとステップS12で付与された情報元IDとを対応付けて検索インデックス133に格納する(ステップS24)。また、形態素数が閾値未満(ステップS23:NO)である場合、制御部110は、フラグAを「0」として、そのフラグAと情報元IDとを対応付けて検索インデックス133に格納する(ステップS25)。この閾値は記憶部130に予め記憶されている。制御部110は、ステップS24又はS25の処理を行うと、条件A判定処理を終了する。
【0033】
図9は、条件B判定処理において制御部110が行う処理の手順を示すフローチャートである。まず、制御部110(URL抽出部115)は、ステップS12で情報元IDが付与されたテキストデータが表すテキストからURLを抽出する(ステップS31)。次に、制御部110(URL照合部116)は、抽出したURLをURL辞書とを照合する(ステップS32)。続いて、制御部110(URL照合部116)は、照合の結果、抽出したURLがURL辞書に含まれているか否かを判定する(ステップS33)。ステップS33において含まれている(YES)と判定した場合、制御部110は、フラグBを「1」として、そのフラグBとステップS12で付与された情報元IDとを対応付けて検索インデックス133に格納する(ステップS34)。また、ステップS33において含まれていない(NO)と判定した場合、制御部110は、フラグBを「0」として、そのフラグBと情報元IDとを対応付けて検索インデックス133に格納する(ステップS35)。制御部110は、ステップS34又はS35の処理を行うと、条件B判定処理を終了する。
【0034】
図10は、条件C判定処理において制御部110が行う処理の手順を示すフローチャートである。まず、制御部110(テキスト解析部117)は、ステップS12で情報元IDが付与されたテキストデータが表すテキストを解析して、先頭が特定の文字列(「RT」又は「@」)であるか否かを判定する(ステップS41)。ステップS41において先頭が特定の文字列でない(NO)と判定した場合、制御部110は、フラグCを「1」として、そのフラグBとステップS12で付与された情報元IDとを対応付けて検索インデックス133に格納する(ステップS42)。また、ステップS41において先頭が特定の文字列である(YES)と判定した場合、制御部110は、フラグCを「0」として、そのフラグCと情報元IDとを対応付けて検索インデックス133に格納する(ステップS43)。制御部110は、ステップS42又はS43の処理を行うと、条件C判定処理を終了する。
【0035】
図11は、図7から図10までの処理が行われた後の検索インデックス133の一例を示す表である。この例では、「情報元ID」の列に、上から順に「ID001」と、「ID002」と、「ID003」とが示されている。また、「ID001」の行には「1」、「1」、「0」が、「ID002」の行には「1」、「0」、「1」が、「ID003」の行には「0」、「0」、「1」が、「フラグA」、「フラグB」、「フラグC」としてそれぞれ示されている。
【0036】
また、テキスト検索装置10の記憶部130は、各テキストデータと、それらのテキストデータに含まれる単語とを対応付けた単語インデックスを記憶する。単語インデックスは、制御部110が周知の技術を用いて生成し、記憶部130に記憶させればよい。制御部110は、以上のとおり得られた検索インデックス133及び単語インデックスを用いて、ユーザが得たいコンテンツを検索する処理(検索処理という。)を行う。
【0037】
図12は、検索処理においてテキスト検索装置10の制御部110及びユーザ端末30の制御部310が行う処理の手順を示すシーケンスチャートである。以下では、テキスト検索装置10及びユーザ端末30が処理を行うものとして説明するが、それらの処理を行う主体は、それぞれの制御部110及び310である。この処理は、ユーザがユーザ端末30の操作部330を操作して、得たいコンテンツを検索するためのテキスト、つまり検索クエリを作成することを契機に開始される。まず、ユーザ端末30は、操作部330が受け付けた操作に応じて生成した検索クエリを、テキスト検索装置10に送信する(ステップS51)。テキスト検索装置10は、ステップS51で送信されてきた検索クエリを取得する。次に、テキスト検索装置10は、取得した検索クエリを含むテキストデータをテキストデータ群131から抽出する(ステップS52)。詳細には、テキスト検索装置10は、図5に示すテキストデータ群131を構成するテキストデータから、それぞれが表すテキストに検索クエリが含まれるものを抽出する。
【0038】
次に、テキスト検索装置10は、抽出したテキストデータに付与された情報元IDに対応付けて記憶部130に記憶されているフラグを参照し、これらのフラグの値(「1」又は「0」)を用いてランキングスコアを算出する(ステップS53)。制御部110は、以下の式(1)によりランキングスコアを算出する。
ランキングスコア=α×フラグA+β×フラグB+γ×フラグC ・・・(1)
【0039】
式(1)で表されるように、各フラグが「1」である、すなわちそのフラグに対応する条件が満たされている場合に、ランキングスコアに点数が加算されることになる。また、式(1)におけるα、β、γは、条件A、B、Cを重み付けするための係数である。これらの係数は、テキスト検索サービスの提供元により予め定められるものであり、ユーザが得たいコンテンツとの相関関係が高いと提供元が判断したものほど大きな値が定められている。本実施形態では、α=0.2、β=0.3、γ=0.4と定められているものとする。例えば、図11に示す情報元ID「ID001」、「ID002」、「ID003」のテキストデータが抽出された場合であれば、それらの「1」、「1」、「0」と「1」、「0」、「1」と「0」、「0」、「1」という各フラグの値から、ランキングスコアがそれぞれ0.5、0.6、0.4と算出される。
【0040】
ランキングスコアは、上記のとおり、満たされている条件の数が多いほど、大きな値となる。これらの条件は、上述のとおり、それが満たされた場合に、ユーザにとって価値が大きい可能性が高いものとして定められているため、このランキングスコアが大きいほど、ユーザにとってそのテキストデータの価値が大きい可能性が高いことになる。また、テキストデータの価値が大きければ、そのテキストデータを含むコンテンツも、ユーザにとって価値が大きいものとなる。つまり、ユーザは、ランキングスコアの大きさによって、テキストデータ及びコンテンツの価値の大きさを把握することができる。
【0041】
テキスト検索装置10は、ステップS52で抽出したテキストデータを、ステップS53で算出したランキングスコアが大きいものから順位付けする(ステップS54)。上記の例の場合、テキスト検索装置10は、「ID002」を1番目、「ID001」を2番目、「ID003」を3番目と順位付けする。そして、テキスト検索装置10は、抽出したテキストデータを、検索クエリを送信してきたユーザ端末30に対して、ステップS54で付けたランキングスコアの順位とともに送信する(ステップS55)。ユーザ端末30は、ステップS55で送信されてきたテキストデータを、それらに対応する順位で、例えば上から順番に並べて表示部340に表示する(ステップS56)。
【0042】
以上のとおりテキスト検索装置10及びユーザ端末30が処理を行うことで、検索クエリを含むテキストデータのうち、定められた各条件を多く満たすものとそうでないものとを区別しやすくすることができる。また、条件Aを満たす、すなわち形態素数が閾値以上の場合にランキングスコアに点数を加算することで、形態素数が閾値以上にならない短いテキストデータの順位を低くすることができる。形態素数が多いテキストには、形態素数が少ないテキストよりも価値が大きいコンテンツが含まれている可能性が高い。特に、マイクロブログ及びSNS等において文字数が制限されたテキストデータには、単に一言だけ含まれているというような情報量が少ないものがある。そのようなテキストデータの順位を低くすることで、より価値が大きい可能性があるテキストデータを、そうでないテキストデータに比べてユーザに見つけやすくすることができる。
【0043】
また、条件Bを満たす、すなわち上記辞書URLがテキストに含まれる場合にランキングスコアに点数を加算することで、写真、動画又はニュース等のコンテンツへのリンクが貼られているマイクロブログ等のコンテンツの順位を高くすることができる。これらのコンテンツへのリンクを含むテキストデータは、リンク先のコンテンツをユーザに提供することができる。そのため、URLがテキストに含まれていないテキストデータに比べてより価値が大きいテキストデータをユーザに提供できる可能性が高い。特に、上記のように文字数が制限されたテキストデータにおいては、文字数が制限されていないテキストデータに比べて、その価値がより大きくなる。このように、本実施形態によれば、より価値が大きい可能性があるテキストデータを、そうでないテキストデータに比べてユーザに見つけやすくすることができる。
【0044】
また、条件Cを満たす、すなわち先頭が「RT」や「@」となっていない場合にランキングスコアに点数を加算することで、マイクロブログにおいて自身とは異なるテキストデータが表すテキストを引用しているテキストデータであるRetweetや、ある特定の相手に向けて発信されたメッセージを表すテキストデータの順位を低くすることができる。これらのテキストデータには、他のテキストデータと同じことが書かれてあったり、検索しているユーザには関係ないことが書かれてあったりする可能性が高い。そのようなテキストデータの順位が高くなると、本当にユーザが得たいコンテンツがそれらのテキストデータに埋もれて見つけにくくなってしまうおそれがある。特に、先頭の「RT」や「@」が上述した意味を表すという特定の形式のテキストデータが収集したテキストデータの中に多く含まれている場合に、そのおそれが大きくなる。本実施形態によれば、そのような場合に、そのユーザにとってより価値が大きい可能性があるテキストデータが、そうでないテキストデータによって見つけにくくなることを抑制することができる。
【0045】
また、記憶部130の検索インデックス133に記憶される情報、すなわち各フラグは、上述したとおり、テキストデータの価値の大きさをユーザが評価するための指標となる情報である。つまり、制御部110が各フラグを記憶部130に記憶させることで、テキストデータの価値の大きさの指標となる情報を蓄積することができる。また、この指標となる情報は、テキストデータを用いて蓄積するものであり、画像データ及び動画データ等のマルチメディアデータを用いなかったとしても蓄積することが可能である。
【0046】
[変形例]
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
【0047】
(変形例1)
上述した実施形態では、各フラグは「1」か「0」の値であったが、これに限らず、他の数値であってもよいし、数値ではなく記号であってもよい。要するに、各フラグに対応する条件が満たされたか否かを制御部110が判断できるものであればよい。各フラグを記号とした場合、制御部110は、それらの記号に応じた値を用いてランキングスコアを算出する。例えば、各フラグが、各条件が満たされた場合に「甲」、満たされない場合に「乙」である場合に、制御部110は、各フラグが「甲」であればその値を「1」として、各フラグが「乙」であればその値を「0」として、ランキングスコアを算出する。
【0048】
(変形例2)
制御部110は、上述した実施形態では、ランキングスコアを算出して順位付けをした結果をユーザ端末30に送信したが、順位付けをすることなくランキングスコアをそのまま送信してもよいし、さらには、ランキングスコアを算出することなく検索インデックス133に格納されている各フラグを送信してもよい。いずれの場合も、制御部110は、ランキングスコア又は各フラグを、それぞれ対応する情報元IDが付与されたテキストデータとともに送信する。そして、ユーザ端末30の制御部310は、送信されてきた情報元IDとそれに対応するランキングスコア又は各フラグを表示部340に表示させる。前者の場合、ユーザは、ランキングスコアの値を見ることで、対応する情報元IDが付与されたコンテンツの価値の大きさを把握することができる。また、後者の場合、ユーザは、各フラグが示している条件の内容を理解していれば、これらの情報元IDが付与されたコンテンツの価値の大きさを把握することができる。
【0049】
(変形例3)
制御部110は、上述した実施形態では、条件Bの判定にURLを用いたが、そのURLに対応するIPアドレスを用いてもよい。要するに、制御部110は、コンテンツにアクセスするためのアドレスがテキストデータに含まれている場合に条件Bが満たされるものとしてフラグBを「1」として検索インデックス133に格納すればよい。ここでいうドレスとは、例えばURLやIPアドレスであり、ブラウザなどの閲覧プログラムを実行してコンテンツを掲載しているWebページにアクセスするときにアクセス先として指定する文字列のことである。
【0050】
(変形例4)
制御部110は、上述した実施形態では、各フラグが示す値に係数を乗じたものをそれぞれ加算してランキングスコアを算出したが、加算する代わりに減算、乗算又は除算等の他の演算をしてもよい。例えば、制御部110は、フラグCが示す値を乗算してもよい。この場合、フラグCが「1」であれば、フラグA、Bの値によって得られたランキングスコアがそのままテキストデータのランキングスコアとなる。一方、フラグが「0」であれば、フラグA、Bがどのような値であっても、ランキングスコアを「0」とすることができる。要するに、制御部110は、テキストデータに対応する各フラグに応じた値のそれぞれに予め決められた係数を乗じた値に基づいてランキングスコアを算出すればよい。
【0051】
(変形例5)
制御部110は、上述した実施形態では、収集テキストの先頭が予め決められた特定の文字列となっているか否かを判定したが、先頭ではない他の位置に特定の文字列が含まれるか否かを判定してもよい。例えば、予め決められた特定の文字列がテキストの先頭以外の予め決められた位置(例えば最後)に含まれている場合に上述したRetweetや特定の個人宛のメッセージが表されるコンテンツがあるものとする。その場合、制御部110は、特定の文字列がその位置(最後)に含まれているか否かを判定する。これにより、そのような特定の形式のテキストデータが収集したテキストデータの中に多く含まれている場合であっても、ユーザにとってより価値が大きい可能性があるテキストデータが、そうでないテキストデータによって見つけにくくなることを抑制することができる。
【0052】
(変形例6)
制御部110は、上述した実施形態では、上述した収集テキストにURL辞書132に含まれるURLが含まれているか否かを判定したが、このように予め決められたURLではなく、テキストデータを解析することで、そのテキストデータにURLが含まれているか否かを判定してもよい。制御部110は、例えば、テキストデータに「http:」という文字列が含まれていれば、URLを含んでいると判定する。つまり、制御部110は、コンテンツにアクセスするための(予め決められたものではない)アドレスが含まれているか否かを判定することになる。これにより、URL辞書132にURLが登録されるよりも前にそのURLを含むテキストデータのランキングスコアを大きくすることができる。また、URL辞書132に登録されないURLが含まれている場合でも、そのURLを含むテキストデータのランキングスコアを大きくすることができる。
【0053】
(変形例7)
本発明は、テキスト検索装置10のような情報処理装置、テキスト検索装置10の制御部110のような制御装置又はこれらを含むテキスト検索システム1のような情報処理システムとしても把握されるものである。また、これらのみならず、これらを実現するための情報処理方法や、コンピュータに制御部110の機能を実現させるためのプログラムとしても把握されるものである。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【0054】
(変形例8)
制御部110は、上述した条件A、B、Cの他の条件を満たす場合を「1」とするフラグを検索インデックス133に格納してもよい。他の条件としては、例えば、テキストに東京、大阪などの地名(又は特定の地名)が含まれる場合に満たされるものや、デパート、駅などの施設名(又は特定の施設名)が含まれる場合に満たされるものである。これらの場合、上述したURL辞書に加え、地名が登録された地名辞書や、施設名が登録された施設名辞書を記憶部130に記憶させておく。そして、制御部110のURL抽出部115及びURL照合部116が行った処理を、URLを地名又は施設名に代えて行えばよい。これにより、地名や施設名を含むテキストデータの順位を高くすることができる。
【0055】
また、他の条件は、テキストデータを投稿したユーザのプロフィールの文字数が閾値以上である場合に満たされるものであってもよい。この場合、制御部110は、テキストデータを収集するときに、そのテキストデータが表すテキストを投稿したユーザのプロフィールを表すデータをともに収集する。そして、制御部110は、収集したテキストデータを解析するときに、ともに収集したデータが表すプロフィールの文字数を計数し、係数した文字数が閾値以上である場合を「1」とするフラグを検索インデックス133に格納する。制御部110は、この文字数の係数を、周知の技術を用いて行えばよい。これにより、プロフィールを多く(文字数が閾値以上)書き込んでいるユーザの投稿したテキストデータの順位を高くすることができる。
【0056】
要するに、テキスト検索装置10においては、その条件が満たされた場合、満たされない場合に比べてよりユーザが得たいコンテンツとなるものであれば、どのような条件が用いられてもよい。それによって、その条件を用いない場合に比べて、ユーザにとってより価値が大きい可能性が高いコンテンツ、つまりユーザが得たいものにより近いコンテンツを表すテキストデータの順位を高くすることができる。
【0057】
(変形例9)
制御部110は、上述した実施形態では、予め定められた重み付けの係数α、β、γを用いてランキングスコアを算出したが、可変の係数を用いてランキングスコアを算出してもよい。例えば、制御部110は、係数αの代わりに、条件Aの判定で用いられる形態素数が多いほど大きくなる係数α2を用いてもよい。この場合、制御部110は、図12のステップS53において、例えば、形態素数が1から10の場合はα2=0.2、11から20の場合はα2=0.3、21から30の場合はα2=0.4、31以上の場合はα2=0.5として、上述した式(1)に従ってランキングスコアを算出する。これにより、テキストに含まれる形態素数が多いテキストデータほど、ランキングスコアが大きくなり、順位が高くなりやすくなる。
【0058】
また、制御部110は、係数βの代わりに、条件Bの判定で用いられる抽出したURLの数が多いほど大きくなる係数β2を用いてもよい。この場合、制御部110は、例えば、図9のステップS32においてURLをURL辞書132と照合したときに、URL辞書132に含まれるURLの数を計数して、その結果を記憶部130に記憶させておく。そして、図12のステップS53において、例えば、URLの数が1つであればβ2=0.3、2から3であればβ2=0.4、4つ以上であればβ2=0.5として、上述した式(1)に従ってランキングスコアを算出する。これにより、テキストに含まれるURLの数が多いテキストデータほど、ランキングスコアが大きくなり、順位が高くなりやすくなる。
【符号の説明】
【0059】
1…テキスト検索システム、10…テキスト検索装置、20…コンテンツ発信サーバ装置、30…ユーザ端末、40…ネットワーク、110、210、310…制御部、130、230、350…記憶部、140、220、320…通信部、330…操作部、340…表示部、111…コンテンツ収集部、112…形態素解析部、113…形態素数計数部、114…形態素数判定部、115…URL抽出部、116…URL照合部、117…テキスト解析部、118…取得部、119…抽出部、120…算出部、121…送信部、131…テキストデータ群、132…URL辞書、133…検索インデックス
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
インターネットに接続されているWebサーバ装置は、テキストや音声、画像又は動画などを含むコンテンツを記憶しており、これらをユーザからの要求に応じて配信する。例えば、ある商品についてのコメントや施設についての感想など、いわゆる口コミのコンテンツはその一例である。このようなコンテンツの中からユーザが得たいものを探し出しやすいようにするため、これらのコンテンツを検索によって絞り込み、ユーザにとっての価値を評価する技術がある。特許文献1には、インターネット上のテキストを検索した結果得られたコンテンツを、画像データや動画データなどのマルチメディアデータを検索した結果に応じてランク付けすることで、それぞれのコンテンツの価値を評価する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−186214号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、日記や掲示板、ブログ、マイクロブログ、SNS(Social Network Service)など、上記のようなコンテンツを発信する手段が多様化しており、そのコンテンツの価値も様々である。例えば、マイクロブログにおいて発信されているコンテンツであれば、実際の利用者のコメントを含む口コミのコンテンツや、他のコンテンツへのアクセス方法が示されたコンテンツなどは、そうでないものに比べて価値が大きいことがある。また、単に一言だけといった情報量が少ないものや、Retweetと呼ばれる他のコンテンツを繰り返し発信したものなどは、そうでないものに比べて価値が小さいことがある。検索によって絞り込んだコンテンツに価値の低いものが含まれていると、それらのコンテンツに埋もれて、価値の高いコンテンツが見つけ出しにくくなる場合がある。特許文献1の技術では、マルチメディアデータの内容に基づいてランク付けすることでコンテンツの価値を評価しているが、上記のような価値の大きさは、マルチメディアデータの内容から評価することが難しい。
そこで、本発明は、コンテンツに含まれるテキストデータを用いてそのコンテンツの価値の大きさの指標となる情報を蓄積することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を達成するために、本発明は、コンテンツに含まれるテキストデータを収集する収集手段と、前記収集手段により収集されたテキストデータを、形態素単位に分解する分解手段と、前記分解手段により分解された形態素の数を計数する計数手段と、前記計数手段により計数された形態素の数が閾値以上であるか否かを判定する第1判定手段と、前記収集手段により収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定手段と、前記収集手段により収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定手段と、前記テキストデータに対する前記第1判定手段による判定結果、前記第2判定手段による判定結果及び前記第3判定手段による判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶手段とを備えることを特徴とする情報処理装置を提供する。
【0006】
また、ユーザによって操作される通信装置から検索クエリを取得する取得手段と、前記収集手段により収集された前記テキストデータから、前記取得手段により取得された検索クエリを含むテキストデータを抽出する抽出手段と、前記抽出手段が抽出したテキストデータに対応付けて前記識別子記憶手段に記憶されている識別子に応じた値を用いて、前記テキストデータを検索対象として評価するときの評価値を算出する算出手段と、前記抽出手段により抽出されたテキストデータを、当該テキストデータについて前記算出手段により算出された評価値又は当該評価値の順位とともに前記通信装置に送信する送信手段とを備えさせてもよい。
【0007】
さらに、前記算出手段は、前記テキストデータに対応する前記識別子に応じた値のそれぞれに予め決められた係数を乗じた値に基づいて前記評価値を算出してもよい。
【0008】
また、前記特定の文字列は、前記テキストデータが特定の相手に向けて発信されたものであること、又は当該テキストデータが当該テキストデータとは異なるテキストデータを引用していることを表すものであってもよい。
【0009】
また、本発明は、情報処理端末において実行される情報処理方法であって、コンテンツに含まれるテキストデータを収集する収集ステップと、前記収集ステップにおいて収集されたテキストデータを、形態素単位に分解する分解ステップと、前記分解ステップにおいて分解された形態素の数を計数する計数ステップと、前記計数ステップにおいて計数された形態素の数が閾値以上であるか否かを判定する第1判定ステップと、前記収集ステップにおいて収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定ステップと、前記収集ステップにおいて収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定ステップと、前記テキストデータに対する前記第1判定ステップにおける判定結果、前記第2判定ステップにおける判定結果及び前記第3判定ステップにおける判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶ステップとを備えることを特徴とする情報処理方法を提供する。
【発明の効果】
【0010】
本発明によれば、コンテンツに含まれるテキストデータを用いてそのコンテンツの価値の大きさの指標となる情報を蓄積することができる。
【図面の簡単な説明】
【0011】
【図1】実施形態に係るテキスト検索システムの全体構成を示すブロック図である。
【図2】ユーザ端末のハードウェア構成を示す図である。
【図3】コンテンツ発信サーバ装置のハードウェア構成を示す図である。
【図4】テキスト検索装置のハードウェア構成を示す図である。
【図5】テキスト検索装置の制御部が実現する機能を示すブロック図である。
【図6】URL辞書の内容の例を示す表である。
【図7】フラグ格納処理の手順を示すフローチャートである。
【図8】条件A判定処理の手順を示すフローチャートである
【図9】条件B判定処理の手順を示すフローチャートである
【図10】条件C判定処理の手順を示すフローチャートである
【図11】検索インデックスの一例を示す表である。
【図12】検索処理におけるシーケンスチャートである。
【発明を実施するための形態】
【0012】
[実施形態]
以下、本発明の実施形態について図面を参照して説明する。
以下においてテキストとは、文字によって構成されたものであり、文章、語句及び文字列を含む概念である。テキストデータとは、テキストを文字コードで表現したものである。
図1は、本発明の一実施形態に係るテキスト検索システム1の全体構成を示すブロック図である。テキスト検索システム1においては、ユーザが得たいコンテンツをテキストの検索によって見つけ出しその結果を通知するというテキスト検索サービスがユーザに提供される。テキスト検索システム1は、テキスト検索装置10と、複数のコンテンツ発信サーバ装置20と、複数のユーザ端末30と、ネットワーク40とを備えている。ネットワーク40は、移動体通信網又はインターネット等を含むものである。テキスト検索装置10及び各コンテンツ発信サーバ装置20と各ユーザ端末30とは、ネットワーク40を介して互いに接続される。
【0013】
複数のコンテンツ発信サーバ装置20は、例えば、日記、掲示板、ブログ、マイクロブログ又はSNS等のサービスをユーザ端末30のユーザに提供するWebサーバ装置である。各コンテンツ発信サーバ装置20は、或るユーザのユーザ端末から投稿されたコンテンツをWebページに掲載することで、ブラウザなどの閲覧プログラムを実行してそのWebページのURL(Uniform Resource Locator)にアクセスしてきた他のユーザ端末のユーザがそのコンテンツを閲覧できるようにする。こうして、各コンテンツ発信サーバ装置20は、ユーザが投稿したコンテンツを他のユーザに発信する。各コンテンツ発信サーバ装置20に投稿されるコンテンツは、テキストのほか、音声や画像又は動画等を含んでいるものもある。
【0014】
テキスト検索装置10は、各コンテンツ発信サーバ装置20に投稿されたコンテンツから、特定のテキストを含むコンテンツを検索するものである。この検索に用いられる特定のテキストは、検索クエリといい、ユーザ端末30から送られてくる。この検索クエリは、ユーザが得たいコンテンツを検索するために選んだテキストであり、例えばそのコンテンツを構成するテキストに含まれているとユーザが考えた語句である。テキスト検索装置10は、各コンテンツ発信サーバ装置20からユーザが投稿したコンテンツを取得して記憶しておき、この記憶内容から、ユーザ端末30から送られてきた検索クエリを含むコンテンツを検索して、その結果をユーザ端末30に通知する。テキスト検索装置10は、前述したテキスト検索サービスをユーザに提供する事業者によって管理されている。
【0015】
複数のユーザ端末30は、ユーザが各コンテンツ発信サーバ装置20にコンテンツを投稿するとき、又はテキスト検索装置10に検索クエリを送ってその検索結果を取得するときに、そのユーザによって用いられるものである。各ユーザ端末30は、携帯電話機、スマートフォン、タブレット端末又はパーソナルコンピュータ等の通信装置であり、無線又は有線でネットワーク40と通信する。図1では無線で通信するユーザ端末30を示している。
【0016】
図2は、ユーザ端末30のハードウェア構成を示す図である。ユーザ端末30は、制御部310と、通信部320と、操作部330と、表示部340と、記憶部350とを備えたコンピュータとして構成されている。制御部310は、CPU(Central Processing Unit)等の演算装置と、ROM(Read Only Memory)及びRAM(Random Access Memory)などの記憶装置とを備えている。CPUは、RAMをワークエリアとして用いてROMや記憶部350に記憶されたプログラムを実行することによって、ユーザ端末30の各部の動作を制御する。通信部320は、ネットワーク40との間で信号を遣り取りする通信回路を備えており、ネットワーク40を介してテキスト検索装置10及びコンテンツ発信サーバ装置20と通信する。操作部330は、複数のキー及びタッチセンサなどの操作子を備え、ユーザの操作に応じた操作信号を制御部310に供給する。制御部310は、この操作信号に応じた処理を行う。表示部340は、液晶パネル及び液晶駆動回路を有する表示手段であり、制御部310からの指示に応じて液晶パネルの表示面に画像を表示する。記憶部350は、例えばフラッシュメモリやハードディスク等の記憶手段であり、制御部310が制御に用いるデータやプログラムを記憶している。
【0017】
図3は、コンテンツ発信サーバ装置20のハードウェア構成を示す図である。コンテンツ発信サーバ装置20は、制御部210と、通信部220と、記憶部230とを備えたコンピュータとして構成されている。制御部210は、CPU等の演算装置と、ROM及びRAM等の記憶装置とを備えている。CPUは、RAMをワークエリアとして用いてROMや記憶部230に記憶されたプログラムを実行することによって、コンテンツ発信サーバ装置20の各部の動作を制御する。通信部220は、ネットワーク40に接続されており、テキスト検索装置10及び各ユーザ端末30とデータを送受信する。記憶部230は、例えばハードディスク等の記憶手段であり、制御部210が制御に用いるデータやプログラムを記憶しており、例えば上述のとおりユーザから投稿されたコンテンツを記憶する。
【0018】
図4は、テキスト検索装置10のハードウェア構成を示す図である。テキスト検索装置10は、制御部110、通信部140及び記憶部130を備える。これらの各部は、ハードウェアとしては、コンテンツ発信サーバ装置20の各部と共通するものである。記憶部130に記憶されているデータやプログラムは、記憶部230に記憶されているものと異なっている。制御部110が記憶部130に記憶されているプログラムを実行することで実現する機能と、記憶部130に記憶されているデータについて、図5を参照しながら説明する。
【0019】
図5は、テキスト検索装置10の制御部110が実現する機能と記憶部130に記憶されているデータとを示すブロック図である。制御部110は、コンテンツ収集部111と、形態素解析部112と、形態素数計数部113と、形態素数判定部114と、URL抽出部115と、URL照合部116と、テキスト解析部117と、取得部118と、抽出部119と、算出部120と、送信部121といった各機能を実現する。記憶部130は、テキストデータ群131と、URL辞書132と、検索インデックス133とを記憶している。
【0020】
コンテンツ収集部111は、各コンテンツ発信サーバ装置20から発信されているコンテンツに含まれるテキストを表すテキストデータを収集する収集手段である。このテキストは、各コンテンツ発信サーバ装置20が提供しているWebページに掲載されているコンテンツに含まれるテキストである。コンテンツ収集部111は、各種のAPI(Application Programming Interface)を利用したり、WebページのURLをたどりながらコンテンツを収集するクローリングと呼ばれる処理を行ったりすることにより、テキストデータを収集する。コンテンツ収集部111は、収集したテキストデータの各々にユニークな情報元IDを付与し、そのテキストデータを情報元IDと対応付けて、形態素解析部112、URL抽出部115及びテキスト解析部117に供給する。この情報元IDは、各テキストデータを識別するための識別子である。また、コンテンツ収集部111は、収集したテキストデータを情報元IDと対応付けて記憶部130に記憶させる。このようにしてコンテンツ収集部111が記憶させたテキストデータがテキストデータ群131である。
【0021】
続いて、コンテンツ収集部111から供給されるテキストデータが表すテキスト(以下「収集テキスト」という。)が、予め決められた3つの条件(条件A、B、Cという。)を満たすか否かを判定する機能について説明する。これらの条件は、それが満たされた場合に、ユーザにとって価値が大きい可能性が高いものとして定められている。
まず、条件Aの判定について説明する。条件Aとは、収集テキストに含まれる形態素数が閾値以上である場合に満たされる条件である。条件Aの判定は、形態素解析部112、形態素数計数部113及び形態素数判定部114が協働することで行われる。形態素解析部112は、上記の収集テキストを形態素解析して形態素単位に分解する分解手段である。形態素解析部112は、分解した形態素を情報元IDと対応付けて形態素数計数部113に供給する。形態素数計数部113は、形態素解析部112から供給された形態素の数(形態素数)を情報元IDごとに計数する計数手段である。形態素数計数部113は、計数した結果である形態素数を情報元IDと対応付けて形態素数判定部114に供給する。
【0022】
形態素数判定部114は、形態素数計数部113により計数された形態素数が閾値以上であるか否かを判定する第1判定手段である。形態素数判定部114は、形態素数が閾値以上である場合を「1」、閾値未満である場合を「0」とするフラグ(フラグAという。)を、収集テキストに対応する情報元IDに対応付けて検索インデックス133に格納する。検索インデックス133は、情報元ID及びフラグA等を記憶させる記憶領域のことである。こうして格納されたフラグAは、それが「1」であれば、対応する情報元IDが付与されたテキストデータ(が表すテキスト)が条件Aを満たすことを表し、「0」であれば、そのテキストデータが条件Aを満たさないことを表す。
【0023】
次に、条件Bの判定について説明する。条件Bとは、URL辞書に登録されたURLが収集テキストに含まれる場合に満たされる条件である。条件Bの判定は、URL抽出部115及びURL照合部116が協働することで行われる。まず、条件Bの判定で用いられるURL辞書132について説明する。URL辞書132は、各WebページのURLと、それらのWebページに含まれるコンテンツの種別(コンテンツ種別)とが登録されている辞書である。
図6は、URL辞書132の内容の例を示す表である。この例では、URL「http://xxxx.xx」、「http://yyyy.yy」、「http://zzzz.zz」にそれぞれコンテンツ種別「写真」、「動画」、「ニュース」が対応付けられている。URL辞書132は、上述したテキスト検索サービスを提供する事業者によって予め用意されているものであり、このURL辞書132には、各コンテンツ発信サーバ装置20が提供している日記、掲示板、ブログ、マイクロブログ又はSNS等のWebページのURLが登録されている。
【0024】
URL抽出部115は、上述した収集テキストからURLを抽出する。ここで、そのテキストの中にマイクロブログの提供元により短縮されたURL(短縮URL)が含まれている場合、URL抽出部115は、既存の手法で短縮URLを拡張し、これをコンテンツのURLとして抽出する。URL抽出部115は、抽出したURLをURL照合部116に供給する。また、URL抽出部115は、収集テキストにURLが含まれていないためにURLを抽出できなかった場合は、その旨をURL照合部116に通知する。
【0025】
URL照合部116は、URL抽出部115からURLが供給された場合、そのURL(抽出URLという。)をURL辞書132に含まれるURL(辞書URLという。)と照合する。URL照合部116は、抽出URLと一致する辞書URLがある場合を「1」、ない場合を「0」とするフラグ(フラグBという。)を、収集テキストに対応する情報元IDに対応付けて検索インデックス133に格納する。また、URL照合部116は、URL抽出部115から収集テキストにURLが含まれていない旨を通知された場合は、フラグBを「0」として、検索インデックス133に格納する。こうして格納されたフラグBは、それが「1」であれば、対応する情報元IDが付与されたテキストデータ(が表すテキスト)が条件Bを満たすことを表し、「0」であれば、そのテキストデータが条件Bを満たさないことを表す。以上のとおり、URL抽出部115及びURL照合部116が協働することで、収集テキストに、コンテンツにアクセスするためのURLが含まれているか否かを判定する第2判定手段として機能する。
【0026】
続いて、条件Cの判定について説明する。条件Cとは、収集テキストの先頭が予め決められた特定の文字列となっていない場合に満たされる条件である。この特定の文字列とは、マイクロブログにおいて同じ内容を引用するRetweetと呼ばれる文章の先頭や、特定の個人宛のメッセージの先頭に用いられる文字列であり、例えば「RT」や「@」である。条件Cの判定は、テキスト解析部117により行われる。テキスト解析部117は、上述した収集テキストの先頭が特定の文字列となっているか否かを解析し、なっていない場合を「1」、なっている場合を「0」とするフラグ(フラグCという。)を、収集テキストに対応する情報元IDに対応付けて検索インデックス133に格納する。こうして格納されたフラグCは、それが「1」であれば、対応する情報元IDが付与されたテキストデータ(が表すテキスト)が条件Cを満たすことを表し、「0」であれば、そのテキストデータが条件Cを満たさないことを表す。以上のとおり、テキスト解析部117は、収集テキストの先頭が予め決められた特定の文字列となっているか否かを判定する第3判定手段として機能する。
【0027】
記憶部130の検索インデックス133には、テキストデータに対する第1判定手段による判定結果、第2判定手段による判定結果及び第3判定手段による判定結果をそれぞれ表す識別子(フラグ)が、そのテキストデータに対応付けて記憶されている。すなわち、記憶部130は、識別子を記憶する識別子記憶手段である。具体的には、検索インデックス133には、形態素数判定部114、URL照合部116及びテキスト解析部117によって格納されたフラグA、B、Cと、それらに対応する情報元IDとが格納されている。これにより、検索インデックス133を参照することで、各情報元IDが付与されたテキストデータがどの条件を満たし、又は満たしていないのかを制御部110が分かるようになっている。
【0028】
取得部118は、上述した検索クエリを取得する取得手段であり、ユーザによって操作されるユーザ端末30から検索クエリを取得する。取得部118は、取得した検索クエリを抽出部119に供給する。抽出部119は、コンテンツ収集部111により収集されたテキストデータであるテキストデータ群131から特定のテキストデータを抽出する抽出手段である。この特定のテキストデータとは、取得部118により取得された検索クエリを含むテキストデータである。抽出部119は、抽出したテキストデータを算出部120に供給する。算出部120は、ランキングスコアを算出する算出手段である。ここにおいて、ランキングスコアとは、テキストデータを検索対象として評価するときに用いるテキストデータの価値の大きさを表す値(評価値)である。算出部120は、抽出部119が抽出したテキストデータに対応付けて記憶部130に記憶されている各フラグに応じた値(「1」又は「0」)を用いて、ランキングスコアを算出する。算出部120は、算出した評価値を送信部121に供給する。送信部121は、データをユーザ端末30に送信する送信手段であり、抽出部119により抽出されたテキストデータを、そのテキストデータについて算出部120により算出された評価値の順位とともにユーザ端末30に送信する。
【0029】
テキスト検索システム1の構成は、以上のとおりである。この構成のもと、テキスト検索システム1においては、ユーザにテキスト検索サービスが提供される。このときにおけるテキスト検索装置10が行う処理について、以下、図7から図10までを参照して説明する。
【0030】
図7は、テキスト検索装置10の制御部110が検索インデックス133にフラグを格納する処理、すなわちフラグ格納処理の手順を示すフローチャートである。このフラグ格納処理は、予め決められた時間の間隔、例えば1時間毎、で行われる。まず、制御部110(コンテンツ収集部111)は、上記のとおりテキストデータを収集する(ステップS11)。このとき制御部110がテキストデータを収集する対象となるWebページは、テキスト検索サービスの提供元により予め定められている。そして、制御部110(コンテンツ収集部111)は、収集した各テキストデータに情報元IDを付与する(ステップS12)。
【0031】
続いて、制御部110は、条件A、B、Cの判定を行う処理である条件A判定処理、条件B判定処理及び条件C判定処理をそれぞれ実行する(ステップS20、S30及びS40)。制御部110は、これらの処理を実行することで、上記の収集テキストが条件A、B及びCをそれぞれ満たすか否かを判定する。そして、制御部110は、その結果を示すフラグA、B及びCを検索インデックス133に格納して、このフラグ格納処理を終了する。
【0032】
図8は、条件A判定処理において制御部110が行う処理の手順を示すフローチャートである。まず、制御部110(形態素解析部112)は、ステップS12で情報元IDが付与されたテキストデータが表すテキストに対し上述した形態素解析を行い、形態素に分割する(ステップS21)。次に、制御部110(形態素数計数部113)は、分割された形態素の数を計数する(ステップS22)。続いて、制御部110(形態素数判定部114)は、計数した形態素数が閾値以上か否かを判定する(ステップS23)。形態素数が閾値以上(ステップS23:YES)である場合、制御部110は、フラグAを「1」として、そのフラグAとステップS12で付与された情報元IDとを対応付けて検索インデックス133に格納する(ステップS24)。また、形態素数が閾値未満(ステップS23:NO)である場合、制御部110は、フラグAを「0」として、そのフラグAと情報元IDとを対応付けて検索インデックス133に格納する(ステップS25)。この閾値は記憶部130に予め記憶されている。制御部110は、ステップS24又はS25の処理を行うと、条件A判定処理を終了する。
【0033】
図9は、条件B判定処理において制御部110が行う処理の手順を示すフローチャートである。まず、制御部110(URL抽出部115)は、ステップS12で情報元IDが付与されたテキストデータが表すテキストからURLを抽出する(ステップS31)。次に、制御部110(URL照合部116)は、抽出したURLをURL辞書とを照合する(ステップS32)。続いて、制御部110(URL照合部116)は、照合の結果、抽出したURLがURL辞書に含まれているか否かを判定する(ステップS33)。ステップS33において含まれている(YES)と判定した場合、制御部110は、フラグBを「1」として、そのフラグBとステップS12で付与された情報元IDとを対応付けて検索インデックス133に格納する(ステップS34)。また、ステップS33において含まれていない(NO)と判定した場合、制御部110は、フラグBを「0」として、そのフラグBと情報元IDとを対応付けて検索インデックス133に格納する(ステップS35)。制御部110は、ステップS34又はS35の処理を行うと、条件B判定処理を終了する。
【0034】
図10は、条件C判定処理において制御部110が行う処理の手順を示すフローチャートである。まず、制御部110(テキスト解析部117)は、ステップS12で情報元IDが付与されたテキストデータが表すテキストを解析して、先頭が特定の文字列(「RT」又は「@」)であるか否かを判定する(ステップS41)。ステップS41において先頭が特定の文字列でない(NO)と判定した場合、制御部110は、フラグCを「1」として、そのフラグBとステップS12で付与された情報元IDとを対応付けて検索インデックス133に格納する(ステップS42)。また、ステップS41において先頭が特定の文字列である(YES)と判定した場合、制御部110は、フラグCを「0」として、そのフラグCと情報元IDとを対応付けて検索インデックス133に格納する(ステップS43)。制御部110は、ステップS42又はS43の処理を行うと、条件C判定処理を終了する。
【0035】
図11は、図7から図10までの処理が行われた後の検索インデックス133の一例を示す表である。この例では、「情報元ID」の列に、上から順に「ID001」と、「ID002」と、「ID003」とが示されている。また、「ID001」の行には「1」、「1」、「0」が、「ID002」の行には「1」、「0」、「1」が、「ID003」の行には「0」、「0」、「1」が、「フラグA」、「フラグB」、「フラグC」としてそれぞれ示されている。
【0036】
また、テキスト検索装置10の記憶部130は、各テキストデータと、それらのテキストデータに含まれる単語とを対応付けた単語インデックスを記憶する。単語インデックスは、制御部110が周知の技術を用いて生成し、記憶部130に記憶させればよい。制御部110は、以上のとおり得られた検索インデックス133及び単語インデックスを用いて、ユーザが得たいコンテンツを検索する処理(検索処理という。)を行う。
【0037】
図12は、検索処理においてテキスト検索装置10の制御部110及びユーザ端末30の制御部310が行う処理の手順を示すシーケンスチャートである。以下では、テキスト検索装置10及びユーザ端末30が処理を行うものとして説明するが、それらの処理を行う主体は、それぞれの制御部110及び310である。この処理は、ユーザがユーザ端末30の操作部330を操作して、得たいコンテンツを検索するためのテキスト、つまり検索クエリを作成することを契機に開始される。まず、ユーザ端末30は、操作部330が受け付けた操作に応じて生成した検索クエリを、テキスト検索装置10に送信する(ステップS51)。テキスト検索装置10は、ステップS51で送信されてきた検索クエリを取得する。次に、テキスト検索装置10は、取得した検索クエリを含むテキストデータをテキストデータ群131から抽出する(ステップS52)。詳細には、テキスト検索装置10は、図5に示すテキストデータ群131を構成するテキストデータから、それぞれが表すテキストに検索クエリが含まれるものを抽出する。
【0038】
次に、テキスト検索装置10は、抽出したテキストデータに付与された情報元IDに対応付けて記憶部130に記憶されているフラグを参照し、これらのフラグの値(「1」又は「0」)を用いてランキングスコアを算出する(ステップS53)。制御部110は、以下の式(1)によりランキングスコアを算出する。
ランキングスコア=α×フラグA+β×フラグB+γ×フラグC ・・・(1)
【0039】
式(1)で表されるように、各フラグが「1」である、すなわちそのフラグに対応する条件が満たされている場合に、ランキングスコアに点数が加算されることになる。また、式(1)におけるα、β、γは、条件A、B、Cを重み付けするための係数である。これらの係数は、テキスト検索サービスの提供元により予め定められるものであり、ユーザが得たいコンテンツとの相関関係が高いと提供元が判断したものほど大きな値が定められている。本実施形態では、α=0.2、β=0.3、γ=0.4と定められているものとする。例えば、図11に示す情報元ID「ID001」、「ID002」、「ID003」のテキストデータが抽出された場合であれば、それらの「1」、「1」、「0」と「1」、「0」、「1」と「0」、「0」、「1」という各フラグの値から、ランキングスコアがそれぞれ0.5、0.6、0.4と算出される。
【0040】
ランキングスコアは、上記のとおり、満たされている条件の数が多いほど、大きな値となる。これらの条件は、上述のとおり、それが満たされた場合に、ユーザにとって価値が大きい可能性が高いものとして定められているため、このランキングスコアが大きいほど、ユーザにとってそのテキストデータの価値が大きい可能性が高いことになる。また、テキストデータの価値が大きければ、そのテキストデータを含むコンテンツも、ユーザにとって価値が大きいものとなる。つまり、ユーザは、ランキングスコアの大きさによって、テキストデータ及びコンテンツの価値の大きさを把握することができる。
【0041】
テキスト検索装置10は、ステップS52で抽出したテキストデータを、ステップS53で算出したランキングスコアが大きいものから順位付けする(ステップS54)。上記の例の場合、テキスト検索装置10は、「ID002」を1番目、「ID001」を2番目、「ID003」を3番目と順位付けする。そして、テキスト検索装置10は、抽出したテキストデータを、検索クエリを送信してきたユーザ端末30に対して、ステップS54で付けたランキングスコアの順位とともに送信する(ステップS55)。ユーザ端末30は、ステップS55で送信されてきたテキストデータを、それらに対応する順位で、例えば上から順番に並べて表示部340に表示する(ステップS56)。
【0042】
以上のとおりテキスト検索装置10及びユーザ端末30が処理を行うことで、検索クエリを含むテキストデータのうち、定められた各条件を多く満たすものとそうでないものとを区別しやすくすることができる。また、条件Aを満たす、すなわち形態素数が閾値以上の場合にランキングスコアに点数を加算することで、形態素数が閾値以上にならない短いテキストデータの順位を低くすることができる。形態素数が多いテキストには、形態素数が少ないテキストよりも価値が大きいコンテンツが含まれている可能性が高い。特に、マイクロブログ及びSNS等において文字数が制限されたテキストデータには、単に一言だけ含まれているというような情報量が少ないものがある。そのようなテキストデータの順位を低くすることで、より価値が大きい可能性があるテキストデータを、そうでないテキストデータに比べてユーザに見つけやすくすることができる。
【0043】
また、条件Bを満たす、すなわち上記辞書URLがテキストに含まれる場合にランキングスコアに点数を加算することで、写真、動画又はニュース等のコンテンツへのリンクが貼られているマイクロブログ等のコンテンツの順位を高くすることができる。これらのコンテンツへのリンクを含むテキストデータは、リンク先のコンテンツをユーザに提供することができる。そのため、URLがテキストに含まれていないテキストデータに比べてより価値が大きいテキストデータをユーザに提供できる可能性が高い。特に、上記のように文字数が制限されたテキストデータにおいては、文字数が制限されていないテキストデータに比べて、その価値がより大きくなる。このように、本実施形態によれば、より価値が大きい可能性があるテキストデータを、そうでないテキストデータに比べてユーザに見つけやすくすることができる。
【0044】
また、条件Cを満たす、すなわち先頭が「RT」や「@」となっていない場合にランキングスコアに点数を加算することで、マイクロブログにおいて自身とは異なるテキストデータが表すテキストを引用しているテキストデータであるRetweetや、ある特定の相手に向けて発信されたメッセージを表すテキストデータの順位を低くすることができる。これらのテキストデータには、他のテキストデータと同じことが書かれてあったり、検索しているユーザには関係ないことが書かれてあったりする可能性が高い。そのようなテキストデータの順位が高くなると、本当にユーザが得たいコンテンツがそれらのテキストデータに埋もれて見つけにくくなってしまうおそれがある。特に、先頭の「RT」や「@」が上述した意味を表すという特定の形式のテキストデータが収集したテキストデータの中に多く含まれている場合に、そのおそれが大きくなる。本実施形態によれば、そのような場合に、そのユーザにとってより価値が大きい可能性があるテキストデータが、そうでないテキストデータによって見つけにくくなることを抑制することができる。
【0045】
また、記憶部130の検索インデックス133に記憶される情報、すなわち各フラグは、上述したとおり、テキストデータの価値の大きさをユーザが評価するための指標となる情報である。つまり、制御部110が各フラグを記憶部130に記憶させることで、テキストデータの価値の大きさの指標となる情報を蓄積することができる。また、この指標となる情報は、テキストデータを用いて蓄積するものであり、画像データ及び動画データ等のマルチメディアデータを用いなかったとしても蓄積することが可能である。
【0046】
[変形例]
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
【0047】
(変形例1)
上述した実施形態では、各フラグは「1」か「0」の値であったが、これに限らず、他の数値であってもよいし、数値ではなく記号であってもよい。要するに、各フラグに対応する条件が満たされたか否かを制御部110が判断できるものであればよい。各フラグを記号とした場合、制御部110は、それらの記号に応じた値を用いてランキングスコアを算出する。例えば、各フラグが、各条件が満たされた場合に「甲」、満たされない場合に「乙」である場合に、制御部110は、各フラグが「甲」であればその値を「1」として、各フラグが「乙」であればその値を「0」として、ランキングスコアを算出する。
【0048】
(変形例2)
制御部110は、上述した実施形態では、ランキングスコアを算出して順位付けをした結果をユーザ端末30に送信したが、順位付けをすることなくランキングスコアをそのまま送信してもよいし、さらには、ランキングスコアを算出することなく検索インデックス133に格納されている各フラグを送信してもよい。いずれの場合も、制御部110は、ランキングスコア又は各フラグを、それぞれ対応する情報元IDが付与されたテキストデータとともに送信する。そして、ユーザ端末30の制御部310は、送信されてきた情報元IDとそれに対応するランキングスコア又は各フラグを表示部340に表示させる。前者の場合、ユーザは、ランキングスコアの値を見ることで、対応する情報元IDが付与されたコンテンツの価値の大きさを把握することができる。また、後者の場合、ユーザは、各フラグが示している条件の内容を理解していれば、これらの情報元IDが付与されたコンテンツの価値の大きさを把握することができる。
【0049】
(変形例3)
制御部110は、上述した実施形態では、条件Bの判定にURLを用いたが、そのURLに対応するIPアドレスを用いてもよい。要するに、制御部110は、コンテンツにアクセスするためのアドレスがテキストデータに含まれている場合に条件Bが満たされるものとしてフラグBを「1」として検索インデックス133に格納すればよい。ここでいうドレスとは、例えばURLやIPアドレスであり、ブラウザなどの閲覧プログラムを実行してコンテンツを掲載しているWebページにアクセスするときにアクセス先として指定する文字列のことである。
【0050】
(変形例4)
制御部110は、上述した実施形態では、各フラグが示す値に係数を乗じたものをそれぞれ加算してランキングスコアを算出したが、加算する代わりに減算、乗算又は除算等の他の演算をしてもよい。例えば、制御部110は、フラグCが示す値を乗算してもよい。この場合、フラグCが「1」であれば、フラグA、Bの値によって得られたランキングスコアがそのままテキストデータのランキングスコアとなる。一方、フラグが「0」であれば、フラグA、Bがどのような値であっても、ランキングスコアを「0」とすることができる。要するに、制御部110は、テキストデータに対応する各フラグに応じた値のそれぞれに予め決められた係数を乗じた値に基づいてランキングスコアを算出すればよい。
【0051】
(変形例5)
制御部110は、上述した実施形態では、収集テキストの先頭が予め決められた特定の文字列となっているか否かを判定したが、先頭ではない他の位置に特定の文字列が含まれるか否かを判定してもよい。例えば、予め決められた特定の文字列がテキストの先頭以外の予め決められた位置(例えば最後)に含まれている場合に上述したRetweetや特定の個人宛のメッセージが表されるコンテンツがあるものとする。その場合、制御部110は、特定の文字列がその位置(最後)に含まれているか否かを判定する。これにより、そのような特定の形式のテキストデータが収集したテキストデータの中に多く含まれている場合であっても、ユーザにとってより価値が大きい可能性があるテキストデータが、そうでないテキストデータによって見つけにくくなることを抑制することができる。
【0052】
(変形例6)
制御部110は、上述した実施形態では、上述した収集テキストにURL辞書132に含まれるURLが含まれているか否かを判定したが、このように予め決められたURLではなく、テキストデータを解析することで、そのテキストデータにURLが含まれているか否かを判定してもよい。制御部110は、例えば、テキストデータに「http:」という文字列が含まれていれば、URLを含んでいると判定する。つまり、制御部110は、コンテンツにアクセスするための(予め決められたものではない)アドレスが含まれているか否かを判定することになる。これにより、URL辞書132にURLが登録されるよりも前にそのURLを含むテキストデータのランキングスコアを大きくすることができる。また、URL辞書132に登録されないURLが含まれている場合でも、そのURLを含むテキストデータのランキングスコアを大きくすることができる。
【0053】
(変形例7)
本発明は、テキスト検索装置10のような情報処理装置、テキスト検索装置10の制御部110のような制御装置又はこれらを含むテキスト検索システム1のような情報処理システムとしても把握されるものである。また、これらのみならず、これらを実現するための情報処理方法や、コンピュータに制御部110の機能を実現させるためのプログラムとしても把握されるものである。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【0054】
(変形例8)
制御部110は、上述した条件A、B、Cの他の条件を満たす場合を「1」とするフラグを検索インデックス133に格納してもよい。他の条件としては、例えば、テキストに東京、大阪などの地名(又は特定の地名)が含まれる場合に満たされるものや、デパート、駅などの施設名(又は特定の施設名)が含まれる場合に満たされるものである。これらの場合、上述したURL辞書に加え、地名が登録された地名辞書や、施設名が登録された施設名辞書を記憶部130に記憶させておく。そして、制御部110のURL抽出部115及びURL照合部116が行った処理を、URLを地名又は施設名に代えて行えばよい。これにより、地名や施設名を含むテキストデータの順位を高くすることができる。
【0055】
また、他の条件は、テキストデータを投稿したユーザのプロフィールの文字数が閾値以上である場合に満たされるものであってもよい。この場合、制御部110は、テキストデータを収集するときに、そのテキストデータが表すテキストを投稿したユーザのプロフィールを表すデータをともに収集する。そして、制御部110は、収集したテキストデータを解析するときに、ともに収集したデータが表すプロフィールの文字数を計数し、係数した文字数が閾値以上である場合を「1」とするフラグを検索インデックス133に格納する。制御部110は、この文字数の係数を、周知の技術を用いて行えばよい。これにより、プロフィールを多く(文字数が閾値以上)書き込んでいるユーザの投稿したテキストデータの順位を高くすることができる。
【0056】
要するに、テキスト検索装置10においては、その条件が満たされた場合、満たされない場合に比べてよりユーザが得たいコンテンツとなるものであれば、どのような条件が用いられてもよい。それによって、その条件を用いない場合に比べて、ユーザにとってより価値が大きい可能性が高いコンテンツ、つまりユーザが得たいものにより近いコンテンツを表すテキストデータの順位を高くすることができる。
【0057】
(変形例9)
制御部110は、上述した実施形態では、予め定められた重み付けの係数α、β、γを用いてランキングスコアを算出したが、可変の係数を用いてランキングスコアを算出してもよい。例えば、制御部110は、係数αの代わりに、条件Aの判定で用いられる形態素数が多いほど大きくなる係数α2を用いてもよい。この場合、制御部110は、図12のステップS53において、例えば、形態素数が1から10の場合はα2=0.2、11から20の場合はα2=0.3、21から30の場合はα2=0.4、31以上の場合はα2=0.5として、上述した式(1)に従ってランキングスコアを算出する。これにより、テキストに含まれる形態素数が多いテキストデータほど、ランキングスコアが大きくなり、順位が高くなりやすくなる。
【0058】
また、制御部110は、係数βの代わりに、条件Bの判定で用いられる抽出したURLの数が多いほど大きくなる係数β2を用いてもよい。この場合、制御部110は、例えば、図9のステップS32においてURLをURL辞書132と照合したときに、URL辞書132に含まれるURLの数を計数して、その結果を記憶部130に記憶させておく。そして、図12のステップS53において、例えば、URLの数が1つであればβ2=0.3、2から3であればβ2=0.4、4つ以上であればβ2=0.5として、上述した式(1)に従ってランキングスコアを算出する。これにより、テキストに含まれるURLの数が多いテキストデータほど、ランキングスコアが大きくなり、順位が高くなりやすくなる。
【符号の説明】
【0059】
1…テキスト検索システム、10…テキスト検索装置、20…コンテンツ発信サーバ装置、30…ユーザ端末、40…ネットワーク、110、210、310…制御部、130、230、350…記憶部、140、220、320…通信部、330…操作部、340…表示部、111…コンテンツ収集部、112…形態素解析部、113…形態素数計数部、114…形態素数判定部、115…URL抽出部、116…URL照合部、117…テキスト解析部、118…取得部、119…抽出部、120…算出部、121…送信部、131…テキストデータ群、132…URL辞書、133…検索インデックス
【特許請求の範囲】
【請求項1】
コンテンツに含まれるテキストデータを収集する収集手段と、
前記収集手段により収集されたテキストデータを、形態素単位に分解する分解手段と、
前記分解手段により分解された形態素の数を計数する計数手段と、
前記計数手段により計数された形態素の数が閾値以上であるか否かを判定する第1判定手段と、
前記収集手段により収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定手段と、
前記収集手段により収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定手段と、
前記テキストデータに対する前記第1判定手段による判定結果、前記第2判定手段による判定結果及び前記第3判定手段による判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶手段と
を備えることを特徴とする情報処理装置。
【請求項2】
ユーザによって操作される通信装置から検索クエリを取得する取得手段と、
前記収集手段により収集された前記テキストデータから、前記取得手段により取得された検索クエリを含むテキストデータを抽出する抽出手段と、
前記抽出手段が抽出したテキストデータに対応付けて前記識別子記憶手段に記憶されている識別子に応じた値を用いて、前記テキストデータを検索対象として評価するときの評価値を算出する算出手段と、
前記抽出手段により抽出されたテキストデータを、当該テキストデータについて前記算出手段により算出された評価値又は当該評価値の順位とともに前記通信装置に送信する送信手段とを備える
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記算出手段は、前記テキストデータに対応する前記識別子に応じた値のそれぞれに予め決められた係数を乗じた値に基づいて前記評価値を算出する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記特定の文字列は、前記テキストデータが特定の相手に向けて発信されたものであること、又は当該テキストデータが当該テキストデータとは異なるテキストデータを引用していることを表すものである
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
情報処理端末において実行される情報処理方法であって、
コンテンツに含まれるテキストデータを収集する収集ステップと、
前記収集ステップにおいて収集されたテキストデータを、形態素単位に分解する分解ステップと、
前記分解ステップにおいて分解された形態素の数を計数する計数ステップと、
前記計数ステップにおいて計数された形態素の数が閾値以上であるか否かを判定する第1判定ステップと、
前記収集ステップにおいて収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定ステップと、
前記収集ステップにおいて収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定ステップと、
前記テキストデータに対する前記第1判定ステップにおける判定結果、前記第2判定ステップにおける判定結果及び前記第3判定ステップにおける判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶ステップと
を備えることを特徴とする情報処理方法。
【請求項1】
コンテンツに含まれるテキストデータを収集する収集手段と、
前記収集手段により収集されたテキストデータを、形態素単位に分解する分解手段と、
前記分解手段により分解された形態素の数を計数する計数手段と、
前記計数手段により計数された形態素の数が閾値以上であるか否かを判定する第1判定手段と、
前記収集手段により収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定手段と、
前記収集手段により収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定手段と、
前記テキストデータに対する前記第1判定手段による判定結果、前記第2判定手段による判定結果及び前記第3判定手段による判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶手段と
を備えることを特徴とする情報処理装置。
【請求項2】
ユーザによって操作される通信装置から検索クエリを取得する取得手段と、
前記収集手段により収集された前記テキストデータから、前記取得手段により取得された検索クエリを含むテキストデータを抽出する抽出手段と、
前記抽出手段が抽出したテキストデータに対応付けて前記識別子記憶手段に記憶されている識別子に応じた値を用いて、前記テキストデータを検索対象として評価するときの評価値を算出する算出手段と、
前記抽出手段により抽出されたテキストデータを、当該テキストデータについて前記算出手段により算出された評価値又は当該評価値の順位とともに前記通信装置に送信する送信手段とを備える
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記算出手段は、前記テキストデータに対応する前記識別子に応じた値のそれぞれに予め決められた係数を乗じた値に基づいて前記評価値を算出する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記特定の文字列は、前記テキストデータが特定の相手に向けて発信されたものであること、又は当該テキストデータが当該テキストデータとは異なるテキストデータを引用していることを表すものである
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
情報処理端末において実行される情報処理方法であって、
コンテンツに含まれるテキストデータを収集する収集ステップと、
前記収集ステップにおいて収集されたテキストデータを、形態素単位に分解する分解ステップと、
前記分解ステップにおいて分解された形態素の数を計数する計数ステップと、
前記計数ステップにおいて計数された形態素の数が閾値以上であるか否かを判定する第1判定ステップと、
前記収集ステップにおいて収集されたテキストデータに、コンテンツにアクセスするためのアドレスが含まれているか否かを判定する第2判定ステップと、
前記収集ステップにおいて収集されたテキストデータの予め決められた位置に予め決められた特定の文字列が含まれているか否かを判定する第3判定ステップと、
前記テキストデータに対する前記第1判定ステップにおける判定結果、前記第2判定ステップにおける判定結果及び前記第3判定ステップにおける判定結果をそれぞれ表す識別子を、当該テキストデータに対応付けて記憶する識別子記憶ステップと
を備えることを特徴とする情報処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−73474(P2013−73474A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−212922(P2011−212922)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月28日(2011.9.28)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
[ Back to top ]