特許第6103228号(P6103228)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6103228データ収集装置、データ収集方法、およびプログラム
<>
  • 特許6103228-データ収集装置、データ収集方法、およびプログラム 図000003
  • 特許6103228-データ収集装置、データ収集方法、およびプログラム 図000004
  • 特許6103228-データ収集装置、データ収集方法、およびプログラム 図000005
  • 特許6103228-データ収集装置、データ収集方法、およびプログラム 図000006
  • 特許6103228-データ収集装置、データ収集方法、およびプログラム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6103228
(24)【登録日】2017年3月10日
(45)【発行日】2017年3月29日
(54)【発明の名称】データ収集装置、データ収集方法、およびプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20170316BHJP
【FI】
   G06F17/30 340Z
   G06F17/30 180Z
【請求項の数】9
【全頁数】17
(21)【出願番号】特願2013-153441(P2013-153441)
(22)【出願日】2013年7月24日
(65)【公開番号】特開2015-26103(P2015-26103A)
(43)【公開日】2015年2月5日
【審査請求日】2016年3月22日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100122426
【弁理士】
【氏名又は名称】加藤 清志
(72)【発明者】
【氏名】小林 亮博
(72)【発明者】
【氏名】帆足 啓一郎
【審査官】 吉田 誠
(56)【参考文献】
【文献】 特開2005−327297(JP,A)
【文献】 特開2000−322430(JP,A)
【文献】 特開2002−288214(JP,A)
【文献】 特開2011−070523(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
ネットワーク上のデータを収集するデータ収集装置であって、
ユーザにより設定された検索条件を記憶する検索条件記憶手段と、
前記ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する長周期検索手段と、
前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する短周期検索手段と、
前記長周期検索手段および前記短周期検索手段で取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する検索付随情報記憶手段と、
前記検索付随情報記憶手段を参照し、前記長周期検索手段で単位時間当たりに取得する検索結果の件数として求められる、前記データベースサーバにおいて前記検索条件に一致するデータの単位時間当たりの平均増加数と、前記短周期検索手段で単位時間当たりに取得した検索結果数とに基づいて、当該短周期検索手段が行う検索の周期を決定する短周期調整手段と、
を備えるデータ収集装置。
【請求項2】
前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段で取得された検索結果に対する、前記短周期検索手段で取得された検索結果の重複度合に基づいて、前記短周期検索手段が実行する検索の周期を調整する請求項に記載のデータ収集装置。
【請求項3】
前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記短周期検索手段において、前後の検索により取得された検索結果の重複度合に基づいて、前記短周期検索手段が実行する検索の周期を調整する請求項または請求項に記載のデータ収集装置。
【請求項4】
前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する長周期調整手段をさらに備えることを特徴とする請求項から請求項のいずれかに記載のデータ収集装置。
【請求項5】
ネットワーク上のデータを収集するデータ収集装置であって、
ユーザにより設定された検索条件を記憶する検索条件記憶手段と、
前記ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する長周期検索手段と、
前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する短周期検索手段と、
前記長周期検索手段および前記短周期検索手段で取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する検索付随情報記憶手段と、
前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する長周期調整手段と、
を備えることを特徴とするデータ収集装置。
【請求項6】
前記長周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段において、前後の検索により取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する請求項または請求項に記載のデータ収集装置。
【請求項7】
前記検索条件記憶手段が、前記検索条件を複数記憶している際に、
前記検索付随情報記憶手段を参照し、前記検索条件記憶手段に記憶されている各検索条件の検索結果の取得率と取得量とに基づいて、当該各検索条件へのリソースの配分割合を決定するリソース配分決定手段と、
前記短周期検索手段および前記長周期検索手段における、前記各検索条件の検索を実行するプロセスに、前記各検索条件へのリソースの配分割合に基づいてリソースを割り当てるリソース制御手段と、を備える請求項から請求項のいずれかに記載のデータ収集装置。
【請求項8】
ユーザにより設定された検索条件を記憶する検索条件記憶手段、長周期検索手段、短周期検索手段、検索付随情報記憶手段、検索結果記憶手段、短周期調整手段、および長周期調整手段を備えるデータ収集装置におけるデータ収集方法であって、
前記長周期検索手段が、ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する第1のステップと、
前記短周期検索手段が、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する第2のステップと、
前記検索付随情報記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する第3のステップと、
前記検索結果記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果を、重複を排除して記憶する第4のステップと、
前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段で単位時間当たりに取得する検索結果の件数として求められる、前記データベースサーバにおいて前記検索条件に一致するデータの単位時間当たりの平均増加数と、前記短周期検索手段で単位時間当たりに取得した検索結果数とに基づいて、当該短周期検索手段が実行する検索の周期を決定する第5のステップと、
前記長周期調整手段が、前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する第6のステップと、
を含むデータ収集方法。
【請求項9】
ユーザにより設定された検索条件を記憶する検索条件記憶手段、長周期検索手段、短周期検索手段、検索付随情報記憶手段、検索結果記憶手段、短周期調整手段、および長周期調整手段を備えるデータ収集装置におけるデータ収集方法をコンピュータに実行させるためのプログラムであって、
前記長周期検索手段が、ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する第1のステップと、
前記短周期検索手段が、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する第2のステップと、
前記検索付随情報記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する第3のステップと、
前記検索結果記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果を、重複を排除して記憶する第4のステップと、
前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段で単位時間当たりに取得する検索結果の件数として求められる、前記データベースサーバにおいて前記検索条件に一致するデータの単位時間当たりの平均増加数と、前記短周期検索手段で単位時間当たりに取得した検索結果数とに基づいて、当該短周期検索手段が実行する検索の周期を決定する第5のステップと、
前記長周期調整手段が、前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する第6のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のデータを効率よく収集するデータ収集装置、データ収集方法、およびプログラムに関する。
【背景技術】
【0002】
ネットワーク上に存在するSNS(social networking service)や掲示板等のデータをマーケティング等に利用しようとした場合、システム内に一度データを蓄積し、蓄積したデータに対し検索等を行う必要がある。なぜなら、ネットワーク上の情報は永続性が保証されていないため、SNSや掲示板等において、古いデータは削除されていってしまうからである。
【0003】
そこで、データをSNSや掲示板等から収集し蓄積する方法として先ず考えられるのは、SNSや掲示板等上の全データを収集し、検索用DB(DataBase)に蓄積することである。例えば、非特許文献1に示されるTwitter等のサービスは、これらの要望に応えるため、SNSや掲示板等から収集し蓄積するシステム側に、サーバ側がリアルタイムでデータ配信を行うStreamAPIを提供している。さらに、データをSNSや掲示板等から収集し蓄積するシステムの検索用DBが、SNSや掲示板等のサーバと間でデータベース間連携が可能であれば、非特許文献2に示されるような既存のレプリケーション技術を用いて、全データを高速にコピーすることが可能である。
【0004】
上述したStreamAPIは、SNSや掲示板等のデータが更新されたこと、すなわち、ユーザから新しい書き込みがあったことに応じて即座にデータを送信することにより、完全なデータをリアルタイムにシステム側に送信することが可能であった。しかしながら、多くのサービスは商業上・パフォーマンス上の見地からこれらの全データのコピーは許可しておらず、また、SNSや掲示板等からデータを収集し蓄積するシステムにとっても、ユーザが使用しない大量のデータを保持することになり、膨大なコストが発生するという問題点があった。
【0005】
そのため、特許文献1や特許文献2に示すように、キーワードを指定することでユーザが必要とするデータのみを収集するといった方法が提案されている。特許文献1では、該当するキーワードを持ったページのリンクを巡回しデータを収集する技術が、特許文献2では助詞に着目することで日本語のデータのみを効率よく収集する技術が提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−346598号公報
【特許文献2】特開2012−032903号公報
【非特許文献】
【0007】
【非特許文献1】Twitter、[2013年5月15日検索 インターネット<URL:http://twitter.com/>]
【非特許文献2】三島健,中村宏,“eager レプリケーションミドルウェアの並行制御方法”,電子情報通信学会論文誌分冊D,Vol.J93−D,No.3,pp.232−240,2010
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1や特許文献2に示す方法では、未取得のデータがないように時間をかけてデータを全検索するが、SNS・掲示板等はユーザの書き込みにより新しいデータが逐次発生するため、検索開始後に発生したデータを取得することはできなかった。そのため、特許文献1や特許文献2に示す方法では、データのリアルタイム性と完全性とを両立することができないといった問題点があった。
【0009】
そこで本発明は、上記課題に鑑みて、データのリアルタイム性と完全性とを両立して、ネットワーク上のデータを効率よく収集するデータ収集装置、およびデータ収集方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容
易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定され
るものではない。
【0011】
(1) 本発明は、ネットワーク上のデータを収集するデータ収集装置であって、ユーザにより設定された検索条件を記憶する検索条件記憶手段(例えば、図1の検索条件記憶
部110)と、前記ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する長周期検索手段(例えば、図1の長周期検索部120)と、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する短周期検索手段(例えば、図1の短周期検索部130)と、を備えるデータ収集装置を提案している。
【0012】
(2) 本発明は、(1)のデータ収集装置について、前記長周期検索手段および前記短周期検索手段で取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する検索付随情報記憶手段(例えば、図1の検索付随情報記憶部141)と、前記検索付随情報記憶手段を参照し、前記長周期検索手段で単位時間当たりに取得する検索結果の件数として求められる、前記データベースサーバにおいて前記検索条件に一致するデータの単位時間当たりの平均増加数と、前記短周期検索手段で単位時間当たりに取得した検索結果数とに基づいて、当該短周期検索手段が行う検索の周期を決定する短周期調整手段(例えば、図1の短周期調整部150)と、をさらに備えることを特徴とするデータ収集装置を提案している。
【0013】
(3) 本発明は、(2)のデータ収集装置について、前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段で取得された検索結果に対する、前記短周期検索手段で取得された検索結果の重複度合に基づいて、前記短周期検索手段が実行する検索の周期を調整するデータ収集装置を提案している。
【0014】
(4) 本発明は、(2)または(3)のデータ収集装置について、前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記短周期検索手段において、前後の検索により取得された検索結果の重複度合に基づいて、前記短周期検索手段が実行する検索の周期を調整するデータ収集装置を提案している。
【0015】
(5) 本発明は、()から(4)のデータ収集装置について、前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する長周期調整手段(例えば、図1の長周期調整部160)をさらに備えることを特徴とするデータ収集装置を提案している。
【0016】
(6) 本発明は、(1)のデータ収集装置について、前記長周期検索手段および前記短周期検索手段で取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する検索付随情報記憶手段(例えば、図1の検索付随情報記憶部141)と、前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する長周期調整手段(例えば、図1の長周期調整部160)と、をさらに備えることを特徴とするデータ収集装置を提案している。
【0017】
(7) 本発明は、(5)または(6)のデータ収集装置について、前記長周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段において、前後の検索により取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整するデータ収集装置を提案している。
【0018】
(8) 本発明は、(2)から(7)のデータ収集装置について、前記検索条件記憶手段が、前記検索条件を複数記憶している際に、前記検索付随情報記憶手段を参照し、前記検索条件記憶手段に記憶されている各検索条件の検索結果の取得率と取得量とに基づいて、当該各検索条件へのリソースの配分割合を決定するリソース配分決定手段(例えば、図3のリソース配分決定部180)と、前記短周期検索手段および前記長周期検索手段における、前記各検索条件の検索を実行するプロセスに、前記各検索条件へのリソースの配分割合に基づいてリソースを割り当てるリソース制御手段(例えば、図3のリソース制御部190)と、を備えるデータ収集装置を提案している。
【0019】
(9) 本発明は、(1)から(8)のデータ収集装置について、前記短周期検索手段が、前記長周期検索手段による検索が実行開始された以降に前記データベースサーバに蓄積されたデータを検索対象とすることを特徴とするデータ収集装置を提案している。
【0020】
(10) 本発明は、(1)から(9)のデータ収集装置について、前記長周期検索手段および前記短周期検索手段で取得された検索結果を、重複を排除して記憶する検索結果記憶手段(例えば、図1の検索結果記憶部142)をさらに備えることを特徴とするデータ収集装置を提案している。
【0021】
(11) 本発明は、(10)のデータ収集装置について、前記ユーザから検索条件を受け付けたことに応じて、前記ネットワーク上のデータベースサーバに対し、当該受け付けた検索条件に基づいて検索を行うオンデマンド検索手段(例えば、図1のオンデマンド検索部170)を備え、前記検索結果記憶手段が、前記オンデマンド検索手段で取得された検索結果を、重複を排除して記憶することを特徴とするデータ収集装置を提案している。
【0022】
(12) 本発明は、ユーザにより設定された検索条件を記憶する検索条件記憶手段、長周期検索手段、および短周期検索手段を備えるデータ収集装置におけるデータ収集方法であって、前記長周期検索手段が、ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する第1のステップ(例えば、図2のステップS1)と、前記短周期検索手段が、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する第2のステップ(例えば、図2のステップS2)と、を含むデータ収集方法を提案している。
【0023】
(13) 本発明は、ユーザにより設定された検索条件を記憶する検索条件記憶手段、長周期検索手段、および短周期検索手段を備えるデータ収集装置におけるデータ収集方法をコンピュータに実行させるためのプログラムであって、前記長周期検索手段が、ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する第1のステップ(例えば、図2のステップS1)と、前記短周期検索手段が、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する第2のステップ(例えば、図2のステップS2)と、をコンピュータに実行させるためのプログラムを提案している。
【0024】
(14) 本発明は、ユーザにより設定された検索条件を記憶する検索条件記憶手段、長周期検索手段、短周期検索手段、検索付随情報記憶手段、検索結果記憶手段、短周期調整手段、および長周期調整手段を備えるデータ収集装置におけるデータ収集方法であって、前記長周期検索手段が、ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する第1のステップ(例えば、図2のステップS1)と、前記短周期検索手段が、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する第2のステップ(例えば、図2のステップS2)と、前記検索付随情報記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する第3のステップ(例えば、図2のステップS3)と、前記検索結果記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果を、重複を排除して記憶する第4のステップ(例えば、図2のステップS4)と、前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段で単位時間当たりに取得する検索結果の件数として求められる、前記データベースサーバにおいて前記検索条件に一致するデータの単位時間当たりの平均増加数と、前記短周期検索手段で単位時間当たりに取得した検索結果数とに基づいて、当該短周期検索手段が行う検索の周期を決定する第5のステップ(例えば、図2のステップS6)と、前記長周期調整手段が、前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する第6のステップ(例えば、図2のステップS7)と、を含むデータ収集方法を提案している。
【0025】
(15) 本発明は、ユーザにより設定された検索条件を記憶する検索条件記憶手段、長周期検索手段、短周期検索手段、検索付随情報記憶手段、検索結果記憶手段、短周期調整手段、および長周期調整手段を備えるデータ収集装置におけるデータ収集方法をコンピュータに実行させるためのプログラムであって、前記長周期検索手段が、ネットワーク上のデータベースサーバを、前記検索条件に基づいて、全検索を実行する第1のステップ(例えば、図2のステップS1)と、前記短周期検索手段が、前記データベースサーバを、前記検索条件に基づいて、前記長周期検索手段より高頻度に、最新のデータを優先する検索を実行する第2のステップ(例えば、図2のステップS2)と、前記検索付随情報記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果に、当該検索結果を取得した検索手段と当該検索結果が取得された時間とを対応付けて記憶する第3のステップ(例えば、図2のステップS3)と、前記検索結果記憶手段が、前記第1のステップおよび前記第2のステップで取得された検索結果を、重複を排除して記憶する第4のステップ(例えば、図2のステップS4)と、前記短周期調整手段が、前記検索付随情報記憶手段を参照し、前記長周期検索手段で単位時間当たりに取得する検索結果の件数として求められる、前記データベースサーバにおいて前記検索条件に一致するデータの単位時間当たりの平均増加数と、前記短周期検索手段で単位時間当たりに取得した検索結果数とに基づいて、当該短周期検索手段が行う検索の周期を決定する第5のステップ(例えば、図2のステップS6)と、前記長周期調整手段が、前記検索付随情報記憶手段を参照し、前記短周期検索手段で取得された検索結果に対する、前記長周期検索手段で取得された検索結果の重複度合に基づいて、前記長周期検索手段が実行する検索の周期を調整する第6のステップ(例えば、図2のステップS7)と、をコンピュータに実行させるためのプログラムを提案している。
【発明の効果】
【0026】
本発明によれば、データのリアルタイム性と完全性とを両立して、ネットワーク上のデータを効率よく収集することができる。
【図面の簡単な説明】
【0027】
図1】本発明の第1の実施形態に係るデータ収集装置の構成を示す図である。
図2】本発明の第1の実施形態に係るデータ収集装置における、データ収集処理のフローチャートを示す図である。
図3】本発明の第2の実施形態に係るデータ収集装置の構成を示す図である。
図4】データベースサーバにおける、ワードA、B、Cのデータ集合の一例を示す図である。
図5】Twitterに適用した本発明のデータ収集装置の構成を示す図である。
【発明を実施するための形態】
【0028】
以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0029】
<第1の実施形態>
<データ収集装置の構成>
図1は、本発明の第1の実施形態に係るデータ収集装置100の構成を示す図である。ここで、データ収集装置100は、ネットワーク上のデータベースサーバ、例えば、SNSや掲示板等のデータを記憶しているデータベースサーバから、データを効率よく収集する装置である。図1に示すように、データ収集装置100は、検索条件記憶部110、長周期検索部120、短周期検索部130、データ記憶部140、短周期調整部150、長周期調整部160、およびオンデマンド検索部170から構成される。
【0030】
検索条件記憶部110は、ネットワーク上のデータベースサーバから、ユーザが収集したいデータの検索条件を記憶する。
【0031】
長周期検索部120は、短周期検索部130の検索周期と比較して長い周期で、ネットワーク上のデータベースサーバを、検索条件記憶部110に記憶されている検索条件に基づいて全検索する。なお、長周期検索部120は、検索対象のデータ数や検索対象の期間が予め設定されている場合には、設定された検索対象のデータ数や検索対象の期間の範囲で全検索を実行する。なお、長周期検索部120は、最初はユーザ等によって設定された検索周期により検索を実行し、長周期調整部160によって検索周期が調整されると、調整された検索周期で検索を実行する。
【0032】
ここで、本実施形態において、長周期検索部120は、ウェブページ中のリンクを辿り、別のウェブページを収集するという動作を繰り返すことで検索結果を得る、リンクを辿る検索方式、または、HTTPのGETコマンドを用いてキーワードによりウェブページを検索し、キーワードに一致するウェブページを検索結果として得る、キーワード検索方式のいずれかにより検索を行う。キーワード検索方式の場合には、例えば、Twitter(登録商標)が提供しているAPIを利用することができる。
【0033】
短周期検索部130は、秒単位といった短い周期で、高頻度に、ネットワーク上のデータベースサーバを、検索条件記憶部110に記憶されている検索条件に基づいて、最新のデータを優先する検索を実行する。短周期検索部130も長周期検索部120と同様に、リンクを辿る検索方式またはキーワード検索方式により検索を実行する。なお、短周期検索部130も長周期検索部120と同様に、最初はユーザ等によって設定された検索周期により検索を実行し、短周期調整部150によって検索周期が調整されると、調整された検索周期で検索を実行する。
【0034】
短周期検索部130は、データベースサーバの全データを検索対象としてもよいし、長周期検索部120による検索が実行開始された以降にデータベースサーバに蓄積されたデータを検索対象としてもよい。長周期検索部120による検索が実行開始された以降にデータベースサーバに蓄積されたデータを検索対象とすると、データ収集装置100のリソースが限られている場合に、効率的に長周期検索部120による検索と短周期検索部130による検索とが実行できる。
【0035】
データ記憶部140は、検索付随情報記憶部141、および検索結果記憶部142を備える。
【0036】
検索付随情報記憶部141は、長周期調整部160および短周期調整部150で周期を調整する際に用いる情報を記憶する。具体的には、検索付随情報記憶部141は、長周期検索部120および短周期検索部130で取得された検索結果を、検索結果を取得した検索部を特定する情報および検索結果を取得した時間と、対応付けて記憶する。検索付随情報記憶部141のデータは、長周期調整部160および短周期調整部150で周期が調整された後や、予め設定された間隔や、容量がオーバーした際に削除される。
【0037】
検索結果記憶部142は、長周期検索部120および短周期検索部130で取得された検索結果を、重複を排除して記憶する。検索結果記憶部142には、例えば、入出力が高速なインメモリDBを用いる。検索結果記憶部142に記憶されているデータはリアルタイム性と完全性とが兼ね備えているので、マーケティングやビジネス計画に有効に利用することができる。
【0038】
短周期調整部150は、検索付随情報記憶部141に記憶されている短周期検索部130で取得された検索結果を参照し、単位時間当たりの検索条件の出現頻度[回/s]と、1回の検索で取得する平均検索結果の件数[件数/回]とを算出する。そして、短周期調整部150は、検索条件の単位時間当たりの出現頻度[回/s]を、1回の検索で取得する平均検索結果の件数[件数/回]で割り、短周期検索部130で単位時間当たりに取得する検索結果の件数(以下、短周期取得件数)[件数/s]を算出する。
【0039】
また、短周期調整部150は、検索付随情報記憶部141に記憶されている長周期検索部120で取得された検索結果を参照し、単位時間当たりの検索条件の出現頻度[回/s]と、1回の検索で取得する平均検索結果の件数[件数/回]とを算出する。そして、短周期調整部150は、検索条件の単位時間当たりの出現頻度[回/s]を、1回の検索で取得する平均検索結果の件数[件数/回]で割り、長周期検索部120で単位時間当たりに取得する検索結果の件数[件数/s]を算出する。このようにして算出される、長周期検索部120で単位時間当たりに取得する検索結果の件数は、データベースサーバにおいて、検索条件に一致するデータの単位時間当たりの平均増加件数に当たる。
【0040】
そして、短周期調整部150は、短周期取得件数と平均増加件数とが、同じになるように、短周期検索部130の周期を調整する。具体的には、短周期取得件数が平均増加件数よりも大きい場合には、周期を短くし、一方、短周期取得件数が平均増加件数よりも小さい場合には、検索周期を長くする。それにより、短周期検索部130の周期を、取得された検索結果の件数から決定することにより、最適な周期にすることができる。
【0041】
また、短周期調整部150は、検索付随情報記憶部141を参照し、長周期検索部120で取得された検索結果に対する、短周期検索部130で取得された検索結果の重複度合に基づいて、短周期検索部130が実行する検索周期を調整する。具体的には、短周期検索部130で取得された検索結果と重複しない長周期検索部120で取得された検索結果、すなわち、長周期検索部120では取得されているが、短周期検索部130で取得できていない検索結果がある場合には、短周期検索部130の検索周期を短くする。それにより、検索結果漏れが生じない検索周期に調整することができる。
【0042】
さらに、短周期調整部150は、検索付随情報記憶部141を参照し、短周期検索部130において、前後の検索により取得された検索結果の重複度合に基づいて、短周期検索部130が実行する検索周期を調整する。具体的には、短周期検索部130において、前の検索で取得された検索結果と、後の検索で取得された検索結果とが重複している場合には、短周期検索部130の検索周期を長くする。なお、前の検索で取得された検索結果と後の検索で取得された検索結果との重複が多い程、検索周期を長くする。それにより、リソースを効率的に使用できる、適切な検索周期に調整することができる。
【0043】
このようにして、短周期検索部130の検索周期を短周期調整部150で調整することにより、曜日や時刻、内容によって生じる、データベースサーバのデータ量や検索条件の出現頻度の変動に対応可能に、短周期検索部130の検索周期に調整することができる。
【0044】
長周期調整部160は、検索付随情報記憶部141を参照し、短周期検索部130で取得された検索結果に対する、長周期検索部120で取得された検索結果の重複度合に基づいて、長周期検索部120が実行する検索の周期を調整する。具体的には、長周期検索部120で取得された検索結果と重複しない短周期検索部130で取得された検索結果、すなわち、短周期検索部130では取得されているが、長周期検索部120で取得できていない検索結果がある場合には、長周期検索部120の検索周期を短くする。それにより、時間経過によりデータベースサーバから削除されてしまったために、長周期検索部120で取得できなかったデータを発見することができ、データの完全性を保つことができる。
【0045】
また、長周期調整部160は、検索付随情報記憶部141を参照し、長周期検索部120において、前後の検索により取得された検索結果の重複度合に基づいて、長周期検索部120が実行する検索周期を調整する。具体的には、長周期検索部120において、後の検索で取得された検索結果に、前の検索で取得された検索結果が全て含まれる場合には、検索周期を長くする。それにより、リソースを効率的に使用できる、適切な検索周期に調整することができる。
【0046】
なお、短周期調整部150および長周期調整部160は、予め設定された曜日や日時、間隔によって、検索周期の調整を行う。
【0047】
オンデマンド検索部170は、ユーザから入力された検索条件を受け付けたことに応じて、ネットワーク上のデータベースサーバに対し、受け付けた検索条件に基づいて検索を行う。そして、オンデマンド検索部170は、検索結果を検索結果記憶部142に記憶させる。それにより、検索条件記憶部110に記憶されていない検索条件についても、検索を行うことができる。なお、オンデマンド検索部170は、データ収集装置100に備えられなくてもよい。
【0048】
図2を用いて、本発明の第1の実施形態に係るデータ収集装置100における、データ収集処理のフローチャートについて説明する。なお、ステップS1とステップS2とは互いに独立しており、検索開始の指示を受け付けるとそれぞれ開始する。
【0049】
まず、ステップS1において、長周期検索部120が、短周期検索部130の検索周期と比較して長い周期で、ネットワーク上のデータサーバを、検索条件記憶部110に記憶されている検索条件に基づいて全検索する。
【0050】
次に、ステップS2において、短周期検索部130が、秒単位といった短い周期で、高頻度に、ネットワーク上のデータサーバを、検索条件記憶部110に記憶されている検索条件に基づいて、最新のデータを優先して検索する。
【0051】
次に、ステップS3において、検索付随情報記憶部141は、長周期検索部120および短周期検索部130で取得された検索結果を、検索結果を取得した検索部を特定する情報および検索結果を取得した時間情報と、対応付けて記憶する。
【0052】
次に、ステップS4において、検索結果記憶部142は、長周期検索部120および短周期検索部130で取得された検索結果を、重複を排除して記憶する。なお、ステップS3とステップS4の順は逆であってもよいし、同時であってもよい。
【0053】
次に、ステップS5において、短周期調整部150および長周期調整部160は、検索周期の調整を行うか否かを判断する。検索周期の調整を行うと判断した場合(YES)には、ステップS6に処理を進め、一方、検索周期の調整を行わないと判断した場合(NO)には、ステップS8に処理を進める。
【0054】
次に、ステップS6において、短周期調整部150が、検索付随情報記憶部141に記憶されている検索結果を参照し、短周期検索部130の検索周期を調整する。
【0055】
次に、ステップS7において、長周期調整部160が、検索付随情報記憶部141に記憶されている検索結果を参照し、長周期検索部120の検索周期を調整する。なお、ステップS6とステップS7の順は逆であってもよいし、同時であってもよい。
【0056】
次に、ステップS8において、長周期検索部120および短周期検索部130は、終了指示があったか否か判断する。終了指示があったと判断した場合(YES)には、処理を終了し、一方、終了指示がなかったと判断した場合(NO)には、ステップS1およびS2に処理を戻す。
【0057】
以上、説明したように、本実施形態によれば、長周期検索部120による全検索と合わせて、短周期検索部130により短い周期で高頻度に最新データを検索することにより、従来取得できなかった、長周期検索部120で検索が開始された後にデータベースサーバに蓄積されたデータを取得することができる。それにより、データのリアルタイム性と完全性とを両立して、ネットワーク上のデータを効率よく収集することができる。また、収集した検索結果に基づいて、長周期検索部120および短周期検索部130の検索周期を調整することにより、よりデータのリアルタイム性と完全性とを両立して、ネットワーク上のデータを効率よく収集することができる。
【0058】
<第2の実施形態>
図3を用いて、本発明の第2の実施形態について説明する。なお、本実施形態におけるデータ収集装置は、検索条件が複数の場合に、各検索条件に割り当てるリソースを制御して、ネットワーク上のデータベースサーバ、例えば、SNSや掲示板等のデータを記憶しているデータベースサーバから、データを効率よく収集する装置である。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
【0059】
<データ収集装置の構成>
図3は、本発明の第2の実施形態に係るデータ収集装置101の構成を示す図である。図3に示すように、データ収集装置101は、検索条件記憶部110、長周期検索部121、短周期検索部131、データ記憶部140、長周期調整部160、短周期調整部150、リソース配分決定部180、およびリソース制御部190から構成される。
【0060】
長周期検索部121および短周期検索部131は、検索条件記憶部110に記憶されている検索条件が複数である場合に、各検索条件の検索プロセスを並列に実行する。なお、長周期検索部121および短周期検索部131は、第1の実施形態に記述した機能を備えている。
【0061】
リソース配分決定部180は、検索条件記憶部110に記憶されている検索条件が複数である場合に、検索付随情報記憶部141を参照し、各検索条件の検索結果の取得率と取得量とに基づいて、各検索条件へのリソースの配分割合を決定する。具体的には、リソース配分決定部180は、各検索条件の検索結果の取得率Tiが同じになるように、下記の(1)式と(2)式によりN個のrを変数とするN次連立方程式を解くことにより、各検索条件へのリソース配分を決定する。
【0062】
【数1】
【0063】
リソース制御部190は、各検索条件の検索を実行するプロセスに、リソース配分決定部180で決定された各検索条件へのリソース配分に基づいてリソースを割り当てる。具体的には、リソース制御部190は、各検索条件の検索プロセスは割り当てられたリソースに基づいて、検索プロセスの数や検索頻度を調整する。
【0064】
ところで、検索条件が複数の場合に、各検索条件に同じリソースを配分すると効率的でないことがある。例えば、ワードA、B、Cが図4に示すようなデータ集合をもつデータベースサーバを検索対象とする場合に、ワードA、B、Cにリソースを等分で割り当てるとワードA、Bについては十分にデータを得ることができたにも関わらず、ワードCについては、リソース不足で十分にデータを得ることができないことがあった。
【0065】
本実施形態においては、上述したリソース配分決定部180およびリソース制御部190をデータ収集装置100に備えることにより、検索条件が複数の場合に、各検索条件により得られる検索結果の件数が同じになるように、リソースを配分することができる。その結果、検索条件が複数の場合にも効率的に、データを収集することができる。
【0066】
<実施例>
本実施形態のデータ収集装置101をTwitterに適用した例について説明する。なお、第1の実施形態および第2の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
【0067】
本例において、図5に示すように、データ収集装置200は、検索条件記憶部110、検索部210、データ記憶部140、Srream処理部220、検索エンジン230、および高度解析器240から構成される。なお、Srream処理部220、検索エンジン230、および高度解析器240は、データ記憶部140に記憶されているデータをマーケティング等のための解析を行う処理部であって、別装置に備えられてもよい。
【0068】
検索部210は、キーワード指定の検索を行うキーワード検索部211と、ユーザ指定の検索を行うユーザ検索部212とを備える。Twitterの全Tweetに対して、マーケティング等に利用するTweetは、主にキーワードやユーザによって収集することができるので、本例においては、キーワード検索とユーザ検索との2つの検索方法によりデータ収集を行う。
【0069】
検索部210の各処理部は、それぞれ最低1プロセスずつ並列に動作し、例えば、Twitter REST APIを利用してTwitterのデータベースサーバからTweetを収集する。ユーザの要望により複数のキーワードやユーザについてデータを取得する場合には、必要に応じて、各処理部のプロセス数を増加する。
【0070】
キーワード検索部211は、キーワード長周期検索部211a、キーワード短周期検索部211b、ひらがな検索部211c、およびキーワードオンデマンド検索部211dを備える。
【0071】
キーワード長周期検索部211aは、Twitterのデータベースサーバから、検索条件記憶部110に記憶されているキーワードを含むTweetを全検索する。キーワード長周期検索部211aが検索する範囲を、検索対象数や検索期間を限定してもよい。キーワード短周期検索部211bは、秒単位といった短い周期で、高頻度に、Twitterのデータベースサーバから、検索条件記憶部110に記憶されている検索条件に基づいて、最新のTweetを優先して検索する。
【0072】
ひらがな検索部211cは、特許文献2に記載の技術を用いて、ひらがなをキーワードに、日本語のTweetを検索する。キーワードオンデマンド検索部211dは、検索条件記憶部110に記憶されていないキーワードに関するTweetをユーザが収集したい場合に、Twitterのデータベースサーバから、ユーザから入力を受け付けたキーワードに基づいてTweetを検索する。
【0073】
ユーザ検索部212は、既存ユーザ検索部212a、新規ユーザ検出部212b、およびユーザオンデマンド検索部212cを備える。
【0074】
既存ユーザ検索部212aは、Twitterのデータベースサーバから、検索条件記憶部110に記憶されているユーザIDに基づいて、Tweetを全検索する。また、新規ユーザ検出部212bで検出されたユーザのユーザIDに基づいて、Tweetを全検索する。この場合、特許文献3(特開2012−216168号公報)の方法によりユーザの優先度に応じて、Tweetを検索してもよい。このようにして、ユーザがTweetの収集を要求している、Twitterのユーザについて、日単位でリアルタイム性を保証することができる。
【0075】
新規ユーザ検出部212bは、キーワード検索部211で取得したTweetを投稿したユーザであって、検索条件記憶部110に記憶されていないユーザを検出し、ユーザIDを取得する。新規ユーザ検出部212bで取得されたユーザIDに基づいて、上述した既存ユーザ検索部212aが、Twitterのデータベースサーバから、Tweetを検索する。
【0076】
ユーザオンデマンド検索部212cは、Twitterのデータベースサーバから、ユーザから入力を受け付けたユーザIDに基づいて、Tweetを検索する。
【0077】
インメモリDB142は、検索結果記憶部142に該当し、検索部210の各検索部211a〜d、212a〜cの検索結果を記憶する。インメモリDB142としては、例えば、Redis[2013年5月15日検索、インターネット<URL:http://redis.iohttp://>]が挙げられる。なお、インメモリDB142は、並列化可能である。
【0078】
各検索部211a〜d、212a〜cはデータの完全性とリアルタイム性を実現するため、並列に動作し、また、検索条件が複数である場合に、各検索部211a〜d、212a〜cはそれぞれ複数並列のプロセスを持つ。Twitterのように、個々は小さなデータであっても、データベースに非同期並列で挿入すると、データベースの挿入性能が大きく低下してしまう。さらには、各検索部211a〜d、212a〜cの検索結果には、重複するTweetが含まれるため、挿入パフォーマンスの低下を招きやすい。これらの問題を解消するために、検索結果記憶部142に入出力が高速なインメモリDBを用いることで、データを一度ストアすることで、重複したTweetの除去とデータの1ストリーム化を行うことができる。
【0079】
Stream処理部220は、インメモリDB142を参照し、件数のカウント等1件のTweet毎に処理可能な解析処理を実施する。なお、Stream処理部220も並列化が可能である。
【0080】
検索エンジン230は、高度解析器240からの指示に基づいて、インメモリDB142を検索し、検索結果を高度解析器240に検索結果を渡す。検索エンジン230には、例えば、Apatch Solr[2013年5月15日検索 インターネット<URL:http://lucene.apache.org/solr/>]が挙げられる。
【0081】
高度解析器240は、Twitterのデータベースサーバから収集したTweetを記憶しているインメモリDB142から検索エンジン230を介して必要なTweetを取得し、マーケティング等のための解析を行う。高度解析器240には、例えば、非特許文献5[池田和史,服部元,小野智弘,東野輝夫,”マーケット分析のためのTwitter投稿者プロフィール推定手法”,情処研報 IPSJ−CDS Vol.2,No.1,pp.82−93(2012)]、非特許文献6[池田和史,服部元,小野智弘,麻生英樹,”Twitter解析による通信品質低下傾向の早期検出手法の提案”,FIT2012]に示されるような高度な解析処理が実装される。
【0082】
このようにして、データ収集装置をTwitterのTweetの収集に用いると、Tweetを、リアルタイム性と完全性とを両立した上で、効率よく収集することができる。それにより、収集したTweetを利用してマーケティング等のための解析を行うことができる。
【0083】
以上、説明したように、本実施形態によれば、複数の検索条件がある場合に、各検索条件に割り当てるリソースの配分を決定し、決定された配分に各検索条件のリソースを制御することにより、検索条件が複数の場合にも効率的に、データを収集することができる。
【0084】
なお、データ収集装置の処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたデータ収集装置に読み込ませ、実行することによって本発明のデータ収集装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0085】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0086】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0087】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0088】
100 データ収集装置
110 検索条件記憶部
120 長周期検索部
130 短周期検索部
140 データ記憶部
141 検索付随情報記憶部
142 検索結果記憶部
150 短周期調整部
160 長周期調整部
170 画像データ管理部
図1
図2
図3
図4
図5