(57)【要約】      （修正有）【課題】所望のテキストデータを適切に取得するテキストデータ収集装置及び方法を提供する。【解決手段】テキストデータ収集装置１０において、ベースワード入力部１０１は、テキスト１２３を取得するためのベースワードセット１２１を受け付ける。関連語取得部１０３は、ベースワードセット１２１とテキストデータ群とに基づいて、関連語を繰り返し取得する。データ取得部１０２は、格納装置１０６から、ワード及び関連語に応じたテキスト１２３を取得する。データフィルタ部１０４は、ワード及び関連語を用いて、フィルタリングしたテキスト１２３を出力する。情報記憶部１０５は、出力されたテキスト１２３を記憶する。【選択図】図２
2020119254.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータ群を格納する格納装置からテキストデータを収集するテキストデータ収集装置であって、
テキストデータを取得するためのワードを受け付ける入力部と、
前記ワードと前記テキストデータ群とに基づいて、前記ワードに関連する関連語を繰り返し取得する関連語取得部と、
前記格納装置から、前記ワード及び前記関連語に応じたテキストデータを収集データとして取得するデータ取得部と、
テキストデータをフィルタリングするフィルタモデルと、前記ワード及び前記関連語との少なくとも一方を用いて、前記収集データをフィルタリングしたフィルタ済データを出力するデータフィルタ部と、
前記フィルタ済データを記憶する記憶部と、を有するテキストデータ収集装置。
【請求項２】
前記関連語取得部は、所定の１世代期間ごとに、直前の前記１世代期間に前記テキストデータ群に新たに加わったテキストデータに基づいて、前記関連語を取得する、請求項１に記載のテキストデータ収集装置。
【請求項３】
前記データ取得部は、直近の第１対象数の前記１世代期間に取得された前記関連語に応じたテキストデータを前記収集データとして取得する、請求項２に記載のテキストデータ収集装置。
【請求項４】
前記データフィルタ部は、直近の第２対象数の前記１世代期間に取得された前記関連語を用いて、前記フィルタ済データを出力する、請求項３に記載のテキストデータ収集装置。
【請求項５】
前記データフィルタ部は、前記１世代期間ごとの重要度を示すウェイト情報をさらに用いて、前記フィルタ済データを出力する、請求項４に記載のテキストデータ収集装置。
【請求項６】
前記テキストデータ群及び前記ワードに基づいて、前記フィルタモデルを生成するモデル生成部をさらに有する、請求項１に記載のテキストデータ収集装置。
【請求項７】
前記モデル生成部は、所定の１世代期間ごとに、直前の前記１世代期間に前記テキストデータ群に新たに加わったテキストデータに基づいて、前記フィルタモデルを生成する、請求項６に記載のテキストデータ収集装置。
【請求項８】
前記データフィルタ部は、直近の第３対象数の前記１世代期間に生成された前記フィルタモデルを用いて、前記フィルタ済データを出力する、請求項７に記載のテキストデータ収集装置。
【請求項９】
前記データ取得部、前記関連語取得部及び前記データフィルタ部に関する設定情報を入力するためのインタフェースを出力することにより、前記設定情報を受け付ける設定情報管理部をさらに有し、
前記データ取得部は、前記設定情報に従って前記収集データを取得し、
前記関連語取得部は、前記設定情報に従って前記関連語を取得し、
前記データフィルタ部は、前記設定情報に従って前記フィルタ済データを出力する、請求項１に記載のテキストデータ収集装置。
【請求項１０】
テキストデータ群を格納する格納装置からテキストデータをテキストデータ収集装置により収集するテキストデータ収集方法であって、
テキストデータ収集装置が、
テキストデータを取得するためのワードを受け付け、
前記ワードと前記テキストデータ群とに基づいて、前記ワードに関連する関連語を繰り返し取得し、
前記格納装置から、前記ワード及び前記関連語に応じたテキストデータを収集データとして取得し、
テキストデータをフィルタリングするフィルタモデルと、前記ワード及び前記関連語との少なくとも一方を用いて、前記収集データをフィルタリングしたフィルタ済データを出力し、
前記フィルタ済データを記憶する、テキストデータ収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、テキストデータ収集装置及び方法に関する。
【背景技術】
【０００２】
ブログやソーシャルネットワーキングサービスなどのソーシャルメディアを用いたコミュニケーションが普及し、それにより大量のテキストデータが蓄積されている。また、企業などの組織においても、イントラネットなどを用いたテキストデータの蓄積が進んでいる。近年、このような蓄積された大量のテキストデータを分析して企業活動に活かすことが考えられおり、それに伴い、大量のテキストデータから所望のテキストデータを効率的に取得する技術が望まれている。
【０００３】
所望のテキストデータを取得する方法としては、所望のテキストデータの特徴を表すキーワードを用いて検索を行い、そのキーワードを含むテキストデータを取得する技術が一般的である。しなしながら、この技術では、所望のテキストデータを適切に取得することができないことがある。具体的には、検索結果に所望のテキストデータが含まれていなかったり、検索結果に不必要なテキストデータが含まれていたりすることがある。
【０００４】
例えば、キーワードに類義語が存在する場合、キーワードを含まず、かつ、類義語が含まれるテキストデータは、必要なテキストデータである可能性が高いが、検索結果には含まれない。また、キーワードが多義語の場合、検索結果には、別の意味で使用されたキーワードを含むテキストデータが取得され、検索結果に不必要なテキストデータが含まれてしまうことがある。
【０００５】
特許文献１には、文献データを検索するための技術が記載されている。この技術では、検索対象となる文献データで使われる用語ごとに、その用語と共に出現する頻度が高い用語が関連用語として予め登録される。そして、入力した用語と関連用語とを用いて文献データが検索され、テキストデータが取得される。これにより、検索時に入力された用語だけではなく、その用語の関連用語が含まれる文献データも取得することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０６−２７４５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術では、過去のある時点での文献データに基づいて、関連用語が登録されるため、ソーシャルメディアのように使用される用語の時間経過に伴う変化が大きい場合には、新しい関連用語が適切に登録されない恐れがある。このため、所望のテキストデータを取得できない恐れがある。また、特許文献１に記載の技術では、不必要なテキストデータが取得されてしまうという問題については、何ら考慮されていない。
【０００８】
本開示の目的は、所望のテキストデータを適切に取得することが可能なテキストデータ収集方法及び装置を提供することである。
【課題を解決するための手段】
【０００９】
本開示の一つの実施態様に従うテキストデータ収集装置は、テキストデータ群を格納する格納装置からテキストデータを収集するテキストデータ収集装置であって、テキストデータを取得するためのワードを受け付ける入力部と、前記ワードと前記テキストデータ群とに基づいて、前記ワードに関連する関連語を繰り返し取得する関連語取得部と、前記格納装置から、前記ワード及び前記関連語に応じたテキストデータを収集データとして取得するデータ取得部と、前記テキストデータをフィルタリングするフィルタモデルと、前記ワード及び前記関連語との少なくとも一方を用いて、前記収集データをフィルタリングしたフィルタ済データを出力するデータフィルタ部と、前記フィルタ済データを記憶する記憶部と、を有する。
【００１０】
また、本開示の一つの実施態様に従うテキストデータ収集方法は、テキストデータ群を格納する格納装置からテキストデータをテキストデータ収集装置により収集するテキストデータ収集方法であって、テキストデータ収集装置が、テキストデータを取得するためのワードを受け付け、前記ワードと前記テキストデータ群とに基づいて、前記ワードに関連する関連語を繰り返し取得し、前記格納装置から、前記ワード及び前記関連語に応じたテキストデータを収集データとして取得し、前記テキストデータをフィルタリングするフィルタモデルと、前記ワード及び前記関連語との少なくとも一方を用いて、前記収集データをフィルタリングしたフィルタ済データを出力し、前記フィルタ済データを記憶する。
【発明の効果】
【００１１】
本開示によれば、所望のテキストデータを適切に取得することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】実施例１に係るテキストデータ収集装置のハードウェア構成の一例を示す図である。
【図２】実施例１に係るテキストデータ収集装置の機能的な構成の一例を示す図である。
【図３】実施例１に係るベースワードセットの一例を示す図である。
【図４】実施例１に係るクエリの一例を示す図である。
【図５】実施例１に係るテキストの一例を示す図である。
【図６】実施例１に係るテキストセットの一例を示す図である。
【図７】実施例１に係る関連語セットの一例を示す図である。
【図８】実施例１に係るベースワードセット入力部の動作の一例を説明するためのフローチャートである。
【図９】実施例１に係るデータ取得部の動作の一例を説明するためのフローチャートである。
【図１０】実施例１に係る関連語取得部の動作の一例を説明するためのフローチャートである。
【図１１】実施例１に係る単語共起数テーブルの一例を示す図である。
【図１２】実施例１に係る関連語取得部による単語共起数テーブル生成処理の一例を説明するためのフローチャートである。
【図１３】実施例１に係る関連語取得部による関連語取得処理の一例を説明するためのフローチャートである。
【図１４】実施例１に係るデータ取得部の動作の他の例を説明するためのフローチャートである。
【図１５】実施例１に係るデータフィルタ部の動作の一例を説明するためのフローチャートである。
【図１６】実施例２に係るテキストデータ収集装置の機能的な構成の一例を示す図である。
【図１７】実施例２に係る設定情報の一例を示す図である。
【図１８】実施例２に係るテキストセットの一例を示す図である。
【図１９】実施例２に係る関連語セットの一例を示す図である。
【図２０】実施例２に係る動作の一例を説明するためのフローチャートである。
【図２１】実施例２に係るユーザインタフェースの一例を示す図である。
【図２２】実施例２に係る設定情報管理部の動作の一例を説明するためのフローチャートである。
【図２３】実施例２に係るデータ取得部の動作の一例を説明するためのフローチャートである。
【図２４】実施例２に係る関連語取得部の処理を説明するためのフローチャートである。
【図２５】実施例２に係るデータフィルタ部の動作の一例を説明するためのフローチャートである。
【図２６】実施例２に係るデータフィルタ処理の動作の他の例を説明するためのフローチャートである。
【図２７】実施例３に係るテキストデータ収集装置の機能的な構成の一例を示す図である。
【図２８】実施例３に係るフィルタモデル生成部の動作の一例を説明するためのフローチャートである。
【図２９】実施例３に係るフィルタモデル生成部の動作の他の例を説明するためのフローチャートである。
【図３０】実施例３に係るデータフィルタ部の動作の一例を説明するためのフローチャートである。
【図３１】実施例４に係るテキストデータ収集装置の機能的な構成を示す図である。
【図３２】実施例４に係る設定情報管理部の動作の一例を説明するためのフローチャートである。
【図３３】実施例４に係るフィルタモデル生成部の動作の一例を説明するためのフローチャートである。
【図３４】実施例４に係るフィルタモデルセットの一例を示す図である。
【図３５】実施例４に係るデータフィルタ部の動作の一例を説明するためのフローチャートである。
【図３６】実施例４に係るデータフィルタ部の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本開示の実施例について図面を参照して説明する。
【実施例１】
【００１４】
図１は、実施例１に係るテキストデータ収集装置のハードウェア構成を示す構成図である。図１に示すテキストデータ収集装置１０は、例えば、情報処理装置である。テキストデータ収集装置１０は、クラウドシステムにより提供されるクラウドサーバなどを用いて実現されてもよい。テキストデータ収集装置１０は、ソフトウェアシステムの開発や保守などに使用されてもよい。
【００１５】
図１に示すテキストデータ収集装置１０は、プロセッサ１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、出力装置１５と、通信装置１６とを備える。これらは図示しないバスなどの通信手段を介して互いに通信可能に接続される。
【００１６】
プロセッサ１１は、例えば、ＣＰＵ（Central Processing Unit）及びＭＰＵ（Micro Processing Unit）などを用いて構成される。プロセッサ１１は、主記憶装置１２に格納されているプログラムを読み出して実行することにより、テキストデータ収集装置１０の様々な機能を実現する。主記憶装置１２は、プログラム及びデータを記憶する装置であり、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及び不揮発性半導体メモリ（ＮＶＲＡＭ（Non Volatile RAM））などである。
【００１７】
補助記憶装置１３は、例えば、ハードディスクドライブ、ＳＳＤ（Solid State Drive）、光学式記憶装置（例えば、ＣＤ（Compact Disc）やＤＶＤ(Digital Versatile Disc)など）、ＩＣカード及びＳＤメモリカードなどで構成される。また、補助記憶装置１３として、ストレージシステム又はクラウドサーバなどが用いられてもよい。補助記憶装置１３は、プログラム及びデータを記憶する。補助記憶装置１３に記憶されたプログラム及びデータは、必要に応じて主記憶装置１２にロードされる。
【００１８】
入力装置１４は、例えば、キーボード、マウス、タッチパネル、カードリーダ及び音声入力装置などを用いて構成される。入力装置１４は、テキストデータ収集装置１０を利用するユーザから種々の情報を受け付ける。出力装置１５は、ユーザに処理経過及び処理結果などの種々の情報を提供する。出力装置１５は、例えば、画面表示装置（液晶モニタ、ＬＣＤ（Liquid Crystal Display）及びグラフィックカードなど）、音声出力装置（スピーカなど）及び印字装置などを用いて構成される。
【００１９】
通信装置１６は、ＬＡＮやインターネットなどの通信手段を介した他の装置との間の通信を実現する有線方式又は無線方式の通信インタフェースであり、例えば、ＮＩＣ（Network Interface Card）、無線通信モジュール、ＵＳＢ（Universal Serial Interface）モジュール及びシリアル通信モジュールなどを用いて構成される。
【００２０】
なお、情報の入力及び出力は、通信装置１６を介して図示していない他の装置との間で行われてもよい。また、テキストデータ収集装置１０は、上記の構成とは別に、ＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェアを備えていてもよい。
【００２１】
図２は、テキストデータ収集装置１０の機能的な構成の一例を示す図である。図２に示すようにテキストデータ収集装置１０は、ベースワードセット入力部１０１と、データ取得部１０２と、関連語取得部１０３と、データフィルタ部１０４と、情報記憶部１０５とを備える。また、情報記憶部１０５は、ベースワードセット格納部１１１と、学習用テキストセット格納部１１２と、関連語セット格納部１１３と、フィルタ済テキストセット格納部１１４とを備える。また、テキストデータ収集装置１０は、テキストデータの集合であるテキストデータ群を格納する格納装置１０６と通信可能に接続される。格納装置１０６は、例えば、マイクロブログなどのウェブサイトを示すウェブ情報を格納するウェブサーバなどである。図２に示すテキストデータ収集装置１０の各部は、図１で示した装置１１〜１６のいずれか１つ以上の構成にて実現される。例えば、各部の少なくとも１つは、プロセッサ１１が、主記憶装置１２又は補助記憶装置１３に格納されているプログラムを読み出して実行することにより実現されてもよい。また、各部の少なくとも１つがＡＳＩＣなどのハードウェアを用いて実現されてもよい。
【００２２】
ベースワードセット入力部１０１は、テキストデータの取得及びフィルタリングに使用するワードのリストであるベースワードセット１２１を受け付ける入力部である。ベースワードセット入力部１０１は、受け付けたベースワードセット１２１を情報記憶部１０５のベースワードセット格納部１１１に格納する。
【００２３】
図３は、ベースワードセット１２１の一例を示す図である。図３に示すベースワードセット１２１は、テキストデータの取得及びフィルタリングに使用するワードであるワード３０１のリストを含む。
【００２４】
データ取得部１０２は、テキストを抽出するための抽出条件を定めた検索クエリであるクエリ１２２を格納装置１０６に送信して、格納装置１０６からクエリ１２２の抽出条件に合致するテキストデータであるテキスト１２３を取得する。
【００２５】
本実施例では、データ取得部１０２は、情報記憶部１０５のベースワードセット格納部１１１からベースワードセット１２１を読み込み、そのベースワードセット１２１に基づいてクエリ１２２を生成して格納装置１０６に送信し、格納装置１０６からテキスト１２３として関連語を取得するための関連語取得用テキストを取得する。データ取得部１０２は、関連語取得用テキストであるテキスト１２３をテキストセット１２４として情報記憶部１０５の学習用テキストセット格納部１１２に格納する。なお、データ取得部１０２は、関連語取得用テキストであるテキスト１２３をデータフィルタ部１０４に渡してもよい。
【００２６】
また、データ取得部１０２は、情報記憶部１０５のベースワードセット格納部１１１からベースワードセット１２１を読み込み、関連語セット格納部１１３からベースワードセット１２１に含まれるワードに関連する関連語の集合である関連語セット１２５を読み込む。データ取得部１０２は、読み込んだベースワードセット１２１及び関連語セット１２５に基づいて検索クエリであるクエリ１２２を生成して格納装置１０６に送信し、格納装置１０６からテキスト１２３としてフィルタリングの対象となる収集データを取得する。データ取得部１０２は、収集データであるテキスト１２３をデータフィルタ部１０４に渡す。なお、データ取得部１０２は、収集データであるテキスト１２３をテキストセット１２４として学習用テキストセット格納部１１２に格納してもよい。
【００２７】
図４は、クエリ１２２の一例を示す図である。クエリ１２２は、データ取得部１０２がテキスト１２３を取得するために格納装置１０６に送信する問い合わせ文である。
【００２８】
図５は、テキスト１２３の一例を示す図である。テキスト１２３は、データ取得部１０２が格納装置１０６から取得したテキストデータそのものである。テキスト１２３は、例えば、マイクロブログなどのブログに投稿されたテキストデータや、ウェブページとして登録されたテキストデータなどである。
【００２９】
図６は、テキストセット１２４の一例を示す図である。テキストセット１２４は、データ取得部１０２で取得したテキスト１２３のリストを含む。
【００３０】
図７は、関連語セット１２５の一例を示す図である。図４に示す関連語セット１２５は、ベースワードセット１２１に含まれるワードに関連する関連語７０１のリストを含む。
【００３１】
関連語取得部１０３は、情報記憶部１０５のベースワードセット格納部１１１に格納されたベースワードセット１２１と、格納装置１０６に格納されたテキストデータ群とに基づいて、ベースワードセット１２１に含まれるワード３０１に関連する関連語７０１を含む関連語セット１２５を取得する。関連語取得部１０３は、関連語７０１を定期的に繰り返し取得してもよい。
【００３２】
例えば、関連語取得部１０３は、情報記憶部１０５のベースワードセット格納部１１１からベースワードセット１２１を読み込み、学習用テキストセット格納部１１２からテキストセット１２４を読み込む。関連語取得部１０３は、ベースワードセット１２１及びテキストセット１２４に基づいて関連語セット１２５を生成し、生成した関連語セット１２５を情報記憶部１０５の関連語セット格納部１１３に格納する。なお、テキストセット１２４に含まれるテキスト１２３は、格納装置１０６のテキストデータ群から取得されたものであるため、この例でも、関連語取得部１０３は、格納装置１０６に格納されたテキストデータ群に基づいて、関連語セット１２５を取得することになる。
【００３３】
データフィルタ部１０４は、情報記憶部１０５のベースワードセット格納部１１１からベースワードセット１２１を読み込み、関連語セット格納部１１３から関連語セット１２５を読み込む。また、データフィルタ部１０４は、データ取得部１０２からテキスト１２３を受け取る。データフィルタ部１０４は、ベースワードセット１２１及び関連語セット１２５に基づいて、テキスト１２３をフィルタリングする。データフィルタ部１０４は、フィルタリングしたテキスト１２３をフィルタ済データであるフィルタ済テキストセットとして情報記憶部１０５のフィルタ済テキストセット格納部１１４に格納する。なお、テキスト１２３のフィルタリングは、テキスト１２３を選択的に除外することである。
【００３４】
情報記憶部１０５は、例えば、補助記憶装置１３を用いて構成される。情報記憶部１０５は、上述したベースワードセット１２１、テキスト１２３、テキストセット１２４及び関連語セット１２５以外の情報を記憶してもよい。例えば、情報記憶部１０５は、ベースワードセット入力部１０１、データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４が参照及び生成する情報などを記憶してもよい。情報記憶部１０５による情報の管理には、例えば、ファイルシステム又はＤＢＭＳ（DataBase Management System）が用いられてもよい。
【００３５】
図８は、ベースワードセット入力部１０１の動作の一例を説明するためのフローチャートである。
【００３６】
先ず、ベースワードセット入力部１０１は、ベースワードセット１２１を受け付ける（ステップＳ８０１）。このとき、ベースワードセット入力部１０１は、ユーザが入力装置１４に直接入力したベースワードセット１２１を受け付けてもよいし、ユーザにて指定された格納場所にアクセスして、その格納場所からベースワードセット１２１を受け付けてもよい。後者の場合、例えば、テキストデータ収集装置１０がアクセス可能な格納場所にベースワードセット１２１を予め格納しておき、ユーザがその格納場所を指定する情報を入力装置１４に入力する。この場合、ベースワードセット入力部１０１は、入力された情報に基づいて、格納場所にアクセスし、その格納場所からベースワードセット１２１を受け付ける。
【００３７】
続いて、ベースワードセット入力部１０１は、ベースワードセット１２１をベースワードセット格納部１１１に格納する（ステップＳ８０２）。
【００３８】
図９は、データ取得部１０２による関連語取得用テキストを取得する動作の一例を説明するためのフローチャートである。
【００３９】
先ず、データ取得部１０２は、ベースワードセット格納部１１１からベースワードセット１２１を読み込む（ステップS９０１）。その後、データ取得部１０２は、ベースワードセット１２１に基づいてクエリ１２２を生成する（ステップS９０２）。例えば、データ取得部１０２は、ベースワードセット１２１に含まれる各ワード３０１を論理演算子（例えば、論理和ＯＲ）で結合した検索式をクエリ１２２として生成する。データ取得部１０２は、生成したクエリ１２２を格納装置１０６に送信する（ステップＳ９０３）。クエリ１２２の送信先となる格納装置１０６は複数あってもよい。
【００４０】
その後、データ取得部１０２は、格納装置１０６からテキスト１２３を受信し（ステップＳ９０４）、そのテキスト１２３を学習用テキストセット格納部１１２に格納する（ステップＳ９０５）。このとき、データ取得部１０２は、テキスト１２３を、学習用テキストセット格納部１１２内のテキストセット１２４に追加する。また、データ取得部１０２は、テキスト１２３を所定量に達するまで１件ずつリアルタイムに受信して学習用テキストセット格納部１１２に格納してもよいし、複数のテキスト１２３を一括して受信して学習用テキストセット格納部１１２に格納してもよい。また、これらの取得方法が併用されてもよい。
【００４１】
図１０は、関連語取得部１０３の動作の一例を説明するためのフローチャートである。
【００４２】
先ず、関連語取得部１０３は、ベースワードセット格納部１１１からベースワードセット１２１を読み込み（ステップＳ１００１）、学習用テキストセット格納部１１２からテキストセット１２４を読み込む（ステップＳ１００２）。関連語取得部１０３は、テキストセット１２４に基づいて、同一のテキスト１２３内で出現する単語（ワード）のペアである単語ペアを示す単語共起数テーブル１１００を生成する（ステップＳ１００３）。ステップＳ１００３における単語共起数テーブル１１００を生成する処理は、例えば、図１２を用いて後述する処理でもよい。
【００４３】
関連語取得部１０３は、単語共起数テーブル１１００とベースワードセット１２１とに基づいて、関連語セット１２５を取得し（ステップＳ１００４）、取得した関連語セット１２５を関連語セット格納部１１３に格納する（ステップＳ１００５）。ステップＳ１００４における関連語セット１２５を取得する処理は、例えば、図１３を用いて後述する処理でもよい。
【００４４】
図１１は、単語共起数テーブル１１００の一例を示す図である。図１１に示す単語共起数テーブル１１００は、関連語セット１２５を取得するために用いられる情報であり、２つの単語（ワード）を含む単語ペア１１０１と、単語ペアの各単語が同時に出現する回数（例えば、各単語が同時に出現するテキスト１２３の数）である共起数１１０２とを有するレコードのリストを含む。単語ペア１１０１は、単語共起数テーブル１１００のキーである。
【００４５】
図１２は、図１０のステップＳ１００３の処理である単語共起数テーブル生成処理の一例を説明するためのフローチャートである。
【００４６】
先ず、関連語取得部１０３は、空の単語共起数テーブル１１００を生成する（ステップＳ１２０１）。関連語取得部１０３は、テキストセット１２４に含まれるテキスト１２３ごとに、ループ処理Ｒ１としてステップＳ１２０３〜ステップＳ１２０８の処理を繰り返す（ステップＳ１２０２）。
【００４７】
ループ処理Ｒ１では、関連語取得部１０３は、対象となるテキスト１２３であるテキストＴを単語に分割し、各単語を示す単語リストＷＬを生成する（ステップＳ１２０３）。テキストＴを単語に分割する処理には、一般的な形態素解析技術が用いられてもよい。テキストＴにおいて同じワードが複数回重複されて使用されている場合、単語リストＷＬから重複した分の単語を削除してもよいし、重複した分の単語を削除せずに重複したままにしてもよい。
【００４８】
関連語取得部１０３は、単語リストＷＬに含まれる互いに異なる単語のペアである単語ペアごとに、ループ処理Ｒ２としてステップＳ１２０５〜ステップＳ１２０７を繰り返す。単語ペアは、２つの単語を含む集合でもよいし、２つの単語の順序対でもよい。順序対の２つの単語の順序は、例えば、テキストＴに出現した順番に応じて定められる。
【００４９】
ループ処理Ｒ２では、関連語取得部１０３は、対象となる単語ペア（Ｗ１、Ｗ２）が単語共起数テーブル１１００のキーとして含まれるか否かを判断する（ステップＳ１２０５）。単語ペア（Ｗ１、Ｗ２）が含まれていない場合、関連語取得部１０３は、単語ペア（Ｗ１、Ｗ２）を単語共起数テーブル１１００にキーである単語ペア１１０１として追加し、その単語ペア１１０１に対応する共起数１１０２に初期値である０を設定する（ステップＳ１２０６）。
【００５０】
ステップＳ１２０５で単語ペア（Ｗ１、Ｗ２）が含まれている場合、及び、ステップＳ１２０６が終了した場合、関連語取得部１０３は、単語共起数テーブル１１００の単語ペア（Ｗ１，Ｗ２）に対応する共起数１１０２を１増加させる（ステップＳ１２０７）。
【００５１】
ステップＳ１２０５〜ステップＳ１２０７の処理を単語リストＷＬに含まれる全ての単語ペアに対して実行すると、関連語取得部１０３は、ループ処理Ｒ２を抜ける（ステップＳ１２０８）。そして、ステップＳ１２０３〜ステップＳ１２０８の処理をテキストセット１２４に含まれる全てのテキストに対して実行すると、関連語取得部１０３は、ループ処理Ｒ１を抜ける（ステップＳ１２０９）。
【００５２】
図１３は、図１０のステップＳ１００４の処理である関連語取得処理の一例を説明するためのフローチャートである。
【００５３】
先ず、関連語取得部１０３は、空の関連語セット１２５を生成する（ステップＳ１３０１）。関連語取得部１０３は、単語共起数テーブル１１００に対してデータクレンジングを行う（ステップＳ１３０２）。例えば、関連語取得部１０３は、単語共起数テーブル１１００から共起数１１０２が閾値以下のレコードを削除してもよいし、共起数１１０２が大きい方から所定個数のレコードを残し、それ以外のレコードを削除してもよい。また、単語ペアが順序対の場合、関連語取得部１０３は、単語共起数テーブル１１００内の単語ペア１１０１ごとに、単語ペア１１０１の各単語の相関を示す指標値を算出し、その指標値に応じて単語共起数テーブル１１００からレコードを削除してもよい。指標値は、例えば、支持度及び確信度などである。
【００５４】
関連語取得部１０３は、ベースワードセット１２１に含まれるワード３０１ごとに、ループ処理Ｒ３としてステップＳ１３０４の処理を繰り返す（ステップＳ１３０３）。ループ処理Ｒ３では、関連語取得部１０３は、データクレンジングを行った単語共起数テーブル１１００から、対象となるワード３０１であるワードＷＯと共起する単語を抽出し、その抽出した単語を関連語セット１２５に関連語７０１として追加する（ステップＳ１３０４）。具体的には、関連語取得部１０３は、単語共起数テーブル１１００から、ワードＷＯを含む単語ペア１１０１におけるワードＷＯとは異なる単語を、ワードＷＯと共起する単語として抽出する。
【００５５】
ステップＳ１３０４の処理をベースワードセット１２１に含まれる全てのワード３０１に対して実行すると、関連語取得部１０３は、ループ処理Ｒ３を抜ける（ステップＳ１３０５）。
【００５６】
図１０を用いて説明した関連語取得部１０３の動作が終了すると、データ取得部１０２は、フィルタリングの対象となるテキスト１２３であるフィルタ対象テキストを取得する。図１４は、データ取得部１０２のフィルタ対象テキストを取得する際の動作を説明するためのフローチャートである。
【００５７】
先ず、データ取得部１０２は、ベースワードセット格納部１１１からベースワードセット１２１を読み込み（ステップS１４０１）、関連語セット格納部１１３から関連語セット１２５を読み込む（ステップＳ１４０２）。データ取得部１０２は、ベースワードセット１２１及び関連語セット１２５に基づいてクエリ１２２を生成する（ステップS１４０３）。例えば、データ取得部１０２は、ベースワードセット１２１に含まれるワード３０１及び関連語セット１２５に含まれる関連語７０１を論理演算子（例えば、論理和ＯＲ）で結合した検索式などである。データ取得部１０２は、生成したクエリ１２２を格納装置１０６に送信する（ステップＳ１４０４）。クエリ１２２の送信先となる格納装置１０６は複数あってもよい。
【００５８】
その後、データ取得部１０２は、ユーザから、テキストデータ１２３の取得の終了を指示するデータ取得終了指示を受け付けるまで、ループ処理Ｒ４としてステップＳ１４０６〜ステップＳ１４０７の処理を繰り返す（ステップＳ１４０５）。
【００５９】
ループ処理Ｒ４では、データ取得部１０２は、格納装置１０６から新しくテキスト１２３（フィルタ対象テキスト）を受信したか否かを判断する（ステップＳ１４０６）。テキスト１２３を受信した場合、データ取得部１０２は、そのテキスト１２３をデータフィルタ部１０４に渡す（ステップＳ１４０７）。テキスト１２３を受信していない場合、データ取得部１０２は、ステップＳ１４０７の処理をスキップする。そして、ユーザからデータ取得終了指示を受け付けると、データ取得部１０２は、ループ処理Ｒ４を抜ける（ステップＳ１４０８）。
【００６０】
なお、以上の処理は、データ取得部１０２は、テキスト１２３を１件ずつリアルタイムに受信していたが、複数のテキスト１２３を一括して受信してもよい。また、これらの取得方法が併用されてもよい。
【００６１】
図１５は、データフィルタ部１０４の動作を説明するためのフローチャートである。
【００６２】
先ず、データフィルタ部１０４は、データ取得部１０２からテキスト１２３を受け取る（ステップＳ１５０１）。データフィルタ部１０４は、ベースワードセット格納部１１１からベースワードセット１２１を読み込み（ステップＳ１５０２）、関連語セット格納部１１３から関連語セット１２５を読み込む（ステップＳ１５０３）。
【００６３】
データフィルタ部１０４は、ベースワードセット１２１及び関連語セット１２５に基づいて、テキスト１２３の除外の要否を判断する（ステップＳ１５０４）。例えば、データフィルタ部１０４は、テキスト１２３が、ベースワードセット１２１及び関連語セット１２５に含まれる複数の単語（ワード３０１及び関連語７０１）のうち所定数M以上の異なる単語を含むか否を判断する。この場合、データフィルタ部１０４は、テキスト１２３が所定数M以上の異なる単語を含む場合、テキスト１２３の除外が不要と判断し、テキスト１２３が所定数M以上の異なる単語を含まない場合、テキスト１２３の除外が必要と判断する。所定数Mは、予め定められていてもよいし、ユーザにて設定されてもよい。また、所定数Mは、テキスト１２３を取得する処理の途中で変更されてもよい。
【００６４】
テキスト１２３の除外が不要な場合、データフィルタ部１０４は、テキスト１２３をフィルタ済データとしてフィルタ済テキストセット格納部１１４に出力して格納する（ステップＳ１５０５）。テキスト１２３の除外が必要な場合、データフィルタ部１０４は、テキスト１２３をフィルタ済テキストセット格納部１１４に格納せずに、処理を終了する。
【実施例２】
【００６５】
実施例２では、関連語セット１２５を繰り返し取得して、テキストデータの収集に用いる関連語セット１２５を変更する例を説明する。以下、主に実施例１と異なる構成及び動作について説明する。
【００６６】
図１６は、実施例２に係るテキストデータ収集装置１０の機能的な構成の一例を示す図である。図１６に示すように本実施例のテキストデータ収集装置１０は、実施例１のテキストデータ収集装置１０の構成に加えて、設定情報管理部１０７をさらに備える。また、本実施例の情報記憶部１０５は、実施例１の情報記憶部１０５の構成に加えて、設定情報格納部１１５をさらに備える。なお、情報記憶部１０５は、設定情報管理部１０７が参照及び生成する情報などをさらに記憶してもよい。
【００６７】
設定情報管理部１０７は、テキストデータ収集装置１０の設定を示す設定情報１２６を受け付けると、設定情報１２６を設定情報格納部１１５に格納する。また、設定情報管理部１０７は、テキストデータ１２３の取得の開始を指示するデータ取得開始指示１２７を受け付けると、データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４に処理を開始させる。また、設定情報管理部１０７は、データ取得開始指示１２７を受け付けると、設定情報格納部１１５に格納した設定情報１２６を更新し、その後、設定情報１２６を定期的に更新する。また、設定情報管理部１０７は、テキストデータ１２３の取得の終了を指示するデータ取得終了指示１２８を受け付けると、データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４に終了指示を出力して処理を終了させる。
【００６８】
データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４は、設定情報格納部１１５に格納した設定情報１２６に従って、それぞれの処理を行う。
【００６９】
図１７は、設定情報１２６の一例を示す図である。図１７に示すように設定情報１２６は、設定情報レコード１７０１のリストを有し、各設定情報レコード１７０１は、設定のカテゴリを示す設定情報カテゴリ１７０２、設定に関する項目である設定項目１７０３及び設定項目の値である項目値１７０４を含む。
【００７０】
設定情報カテゴリ１７０２には、テキストセット１２４の取得に係る設定を示すテキストセット取得設定１７１０と、関連語セット１２５の取得に係る設定を示すデータ取得設定１７２０と、テキスト１２３にフィルタリングに係る設定を示すデータフィルタ設定１７３０と、各機能に共通の設定を示す共通設定１７９０とがある。
【００７１】
テキストセット取得設定１７１０の設定項目１７０３には、テキストセット１２４を取得する単位期間を示す１世代期間であるテキストセット１世代期間１７１１があり、その項目値１７０４には、期間を示す値が設定される。例えば、テキストセット１世代期間１７１１の項目値１７０４には、「１ヶ月」などの値が設定される。
【００７２】
データ取得設定１７２０の設定項目１７０３には、関連語セット１２５の取得に用いるテキストセット１２４が取得されたテキストセット１世代期間を示す直近世代数１７２１があり、その項目値１７０４には、直近のテキストセット１世代期間１７１１の数を示す値（本実施例では、０以上の整数）が設定される。例えば、直近世代数１７２１の項目値１７０４には、「５世代」などの値が設定される。
【００７３】
データフィルタ設定１７３０の設定項目１７０３には、テキスト１２３のフィルタリングに用いる関連語セット１２５が取得されたテキストセット１世代期間を示す直近世代数１７３１があり、その項目値１７０４には、直近のテキストセット１世代期間１７１１の数を示す値（本実施例では、０以上の整数）が設定される。例えば、直近世代数１７３１の項目値１７０４には、「５世代」などの値が設定される。なお、図の例では、直近世代数１７２１の項目値１７０４と直近世代数１７３１の項目値１７０４とに同じ値（「５世代」）が設定されているが、互いに異なる値が設定されてもよい。また、ウェイトタイプ１７３２の項目値１７０４には、例えば、「フラット」などの重み付けの方法を示す用語が値として設定される。
【００７４】
共通設定１７９０の設定項目１７０３には、現在のテキストセット１世代期間１７１１を示す現在世代番号１７９１があり、その項目値１７０４には、最初のテキストセット１世代期間１７１１から順に数えた際の現在のテキストセット１世代期間１７１１の番号を示す値（本実施例では、１以上の整数）が設定される。現在世代番号１７９１は、後述するように設定情報管理部１０７にて更新される。
【００７５】
図１８は、本実施例のテキストセット１２４の一例を示す図である。図１８に示すテキストセット１２４は、テキストレコード１８０１のリストを有し、各テキストレコード１８０１は、データ取得部１０２が取得したテキスト１２３と、テキスト１２３が取得されたテキストセット１世代期間を示す取得世代１８０２とを含む。
【００７６】
図１９は、本実施例の関連語セット１２５の一例を示す図である。図１９に示す関連語セット１２５は、関連語レコード１９０１のリストを有し、各関連語レコード１９０１は、関連語７０１と、関連語７０１の取得に用いたテキスト１２３の取得世代１８０２を示す取得世代１９０２とを含む。
【００７７】
図２０は、設定情報管理部１０７における設定情報入力時の動作の一例を説明するためのフローチャートである。
【００７８】
先ず、設定情報管理部１０７は、設定情報１２６を受け付け（ステップＳ２００１）、受け付けた設定情報１２６を設定情報格納部１１５に格納する（ステップＳ２００２）。ステップS２００１では、設定情報管理部１０７は、ユーザが入力装置１４に直接入力した設定情報１２６を受け付けてもよいし、ユーザにて指定された格納場所にアクセスして、その格納場所から設定情報１２６を受け付けてもよい。前者の場合、設定情報を入力するためのユーザインタフェースが用いられてもよい。
【００７９】
図２１は、設定情報１２６を入力するためのユーザインタフェースの一例を示す図である。図２１に示すユーザインタフェース２１００は、出力装置１５などに表示する表示用の情報である。ユーザインタフェース２１００は、設定情報１２６を入力するための設定情報入力部として、テキストセット１世代期間１７１１を入力するためのテキストセット１世代期間入力部２１１０と、直近世代数１７２１を入力するための直近世代数入力部２１２０と、直近世代数１７３１を入力するための直近世代数入力部２１３０と、ウェイトタイプ１７３２を入力するためのウェイトタイプ入力部２１４０とを備える。
【００８０】
テキストセット１世代期間入力部２１１０は、テキストセット１世代期間１７１１を示す数値を入力するための数値入力部２１１１と、数値入力部２１１１に入力された数値の単位を入力するための単位入力部２１１２とを含む。単位入力部２１１２では、「日」、「週」及び「月」などの期間の単位を表す語句が選択的に入力できてもよい。ウェイトタイプ入力部２１４０では、「フラット」などのウェイトタイプを示す語句が選択的に入力できてもよい。
【００８１】
また、ユーザインタフェース２１００は、決定ボタン２１５０と、キャンセルボタン２１６０とを備える。決定ボタン２１５０は、ユーザインタフェース２１００の各設定情報入力部に入力された設定情報１２６を確定して、設定情報管理部１０７に通知するためのボタンである。キャンセルボタン２１６０は、ユーザインタフェース２１００の各設定情報入力部に入力した設定情報１２６を破棄して設定情報１２６を入力する処理を中断するためのボタンである。
【００８２】
図２２は、設定情報管理部１０７によるデータ取得開始指示１２７を受け付けた際の動作を説明するためのフローチャートである。
【００８３】
先ず、設定情報管理部１０７は、ユーザからデータ取得開始指示１２７を受け付ける（ステップS２２０１）と、設定情報格納部１１５から設定情報１２６を読み込む（ステップS２２０２）。設定情報管理部１０７は、読み込んだ設定情報１２６内の現在世代番号１７９１の項目値１７０４と、経過時間ＰＴとを初期化する（ステップS２２０３）。ここでは、設定情報管理部１０７は、現在世代番号１７９１の項目値１７０４を１に設定し、経過時間ＰＴを０に設定する。経過時間PTは、現在のテキストセット１世代期間１７１１の開始時点からの経過時間に相当し、例えば、設定情報管理部１０７内で管理される。
【００８４】
設定情報管理部１０７は、現在世代番号１７９１の項目値１７０４を初期化した設定情報１２６を設定情報格納部１１５に格納する（ステップS２２０４）。そして、設定情報管理部１０７は、データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４に処理を開始させる（ステップS２２０５）。その後、設定情報管理部１０７は、ユーザからデータ取得終了指示１２８を受け付けるまで、ループ処理Ｒ５としてステップＳ２２０７〜Ｓ２２０９までの処理を繰り返す（ステップＳ２２０６）。
【００８５】
ループ処理Ｒ５では、設定情報管理部１０７は、経過時間ＰＴが設定情報１２６内のテキストセット１世代期間１７１１を超過しているか否かを判断する（ステップＳ２２０７）。超過している場合は、設定情報管理部１０７は、設定情報１２６内の現在世代番号１７９１の項目値１７０４を１増加させ、経過時間ＰＴを０に初期化する（ステップＳ２２０８）。そして、設定情報管理部１０７は、現在世代番号１７９１の項目値１７０４を更新（増加）させた設定情報１２６を設定情報格納部１１５に格納する（ステップＳ２２０９）。一方、超過していない場合は、設定情報管理部１０７は、経過時間ＰＴを更新する（ステップＳ２２１０）。
【００８６】
設定情報管理部１０７は、ユーザからデータ取得終了指示１２８を受け付けると、ループ処理Ｒ５を抜ける（ステップＳ２２１１）。そして、設定情報管理部１０７は、データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４に終了指示を出力して処理を終了させる（ステップＳ２２１２）。
【００８７】
図２３は、データ取得部１０２の動作の一例を説明するためのフローチャートである。
【００８８】
先ず、データ取得部１０２は、設定情報格納部１１５から設定情報１２６を読み込み、直前世代番号ＰＮに設定情報１２６内の現在世代番号１７９１を設定する（ステップＳ２３０１）。直前世代番号ＰＮは、テキスト１２３を取得する直前の時点のテキストセット１世代期間１７１１を示す情報である。
【００８９】
その後、データ取得部１０２は、ベースワードセット格納部１１１からベースワードセット１２１を読み込む（ステップＳ２３０２）。そして、データ取得部１０２は、設定情報管理部１０７から終了指示を受け付けるまで、ループ処理Ｒ６としてステップＳ２３０４〜Ｓ２３１２までの処理を繰り返す（ステップＳ２３０３）。
【００９０】
ループ処理Ｒ６では、データ取得部１０２は、関連語セット格納部１１３から対象関連語セットＴＷを読み込む（ステップＳ２３０４）。例えば、データ取得部１０２は、関連語セット格納部１１３に格納されている関連語セット１２５のうち、取得世代１９０２が（現在世代番号１７９１−直近世代数１７２１）から（現在世代番号１７９１−1）である関連語７０１を対象関連語セットＴＷとして読み込む。このとき、現在世代番号１７９１が１の場合のように、該当する取得世代１９０２に対応する関連語７０１が存在しない場合、対象関連語セットＴＷは空でもよい。また、データ取得部１０２は、対象関連語セットＴＷを上記の方法とは別の方法で読み込んでもよい。例えば、関連語７０１に関連語７０１を取得した時刻を示すタイムスタンプを予め付与しておき、データ取得部１０２は、そのタイムスタンプに応じて対象関連語セットＴＷを読み込んでもよい。
【００９１】
データ取得部１０２は、ベースワードセット１２１及び対象関連語セットＴＷに基づいて、クエリ１２２を生成する（ステップＳ２３０５）。データ取得部１０２は、生成したクエリ１２２を格納装置１０６に送信する（ステップＳ２３０６）。クエリは、例えば、ベースワードセット１２１に含まれるワード３０１及び対象関連語セットＴＷに含まれる関連語７０１を論理演算子（例えば、論理和ＯＲ）で結合した検索式などである。また、クエリ１２２の送信先となる格納装置１０６は複数あってもよい。
【００９２】
その後、データ取得部１０２は、直前世代番号ＰＮと設定情報１２６内の現在世代番号１７９１とが互いに異なる値となるまで、ループ処理Ｒ７としてステップＳ２３０８〜S２３１１の処理を繰り返す（ステップＳ２３０７）。
【００９３】
ループ処理Ｒ７では、データ取得部１０２は、格納装置１０６から新しくテキスト１２３を受信したか否かを判断する（ステップＳ２３０８）。テキスト１２３を受信した場合、データ取得部１０２は、受信したテキスト１２３に現在世代番号１７９１を取得世代１８０２として対応付けたテキストレコード１８０１を学習用テキストセット格納部１１２内のテキストセット１２４に追加する（ステップＳ２３０９）。そして、データ取得部１０２は、受信したテキスト１２３をデータフィルタ部１０４に渡す（ステップＳ２３１０）。ステップＳ２３０８でテキスト１２３を受信しなかった場合、及び、ステップＳ２３１０の処理を終了した場合、データ取得部１０２は、直前世代番号ＰＮに対して、現時点で最後に読み込んだ設定情報１２６内の現在世代番号１７９１を設定し、その後、設定情報格納部１１５から設定情報１２６を読み込む（ステップＳ２３１１）。
【００９４】
そして、直前世代番号ＰＮとステップＳ２３１１で新たに読み込んだ設定情報１２６の現在世代番号１７９１とが互いに異なる値になると、データ取得部１０２は、ループ処理Ｒ７を抜ける（ステップＳ２３１２）。さらに設定情報管理部１０７から終了指示を受け付けると、データ取得部１０２は、ループ処理Ｒ８を抜ける（ステップＳ２３１３）。以上の動作例では、データ取得部１０２は、直近の第１対象数のテキストセット１世代期間に取得された関連語７０１に応じてテキスト１２３を取得することとなる。第１対象数は、（現在世代番号１７９１−直近世代数１７２１）から（現在世代番号１７９１−1）を差し引いた数である。
【００９５】
なお、以上の処理では、データ取得部１０２は、テキスト１２３を１件ずつリアルタイムに受信していたが、複数のテキスト１２３を一括して受信してもよい。また、これらの取得方法が併用されてもよい。また、設定情報管理部１０７から終了指示を受け付けた場合、データ取得部１０２は、実行中の処理に関わらず、その処理を中断して本動作を終了する。
【００９６】
図２４は、関連語取得部１０３の動作を説明するためのフローチャートである。以下の通りである。
【００９７】
先ず、関連語取得部１０３は、設定情報格納部１１５から設定情報１２６を読み込み、直前世代番号ＰＮに設定情報１２６内の現在世代番号１７９１を設定する（ステップＳ２４０１）。関連語取得部１０３は、ベースワードセット格納部１１１からベースワードセット１２１を読み込む（ステップＳ２４０２）。そして、関連語取得部１０３は、設定情報管理部１０７から終了指示を受け付けるまで、ループ処理Ｒ８としてステップＳ２４０４〜Ｓ２４０９までの処理を繰り返す（ステップＳ２４０３）。
【００９８】
ループ処理Ｒ８では、関連語取得部１０３は、学習用テキストセット格納部１１２から対象テキストセットＴＴを読み込む（ステップＳ２４０４）。例えば、関連語取得部１０３は、学習用テキストセット格納部１１２に格納されているテキストセット１２４のうち、取得世代１８０２が（現在世代番号１７９１−1）であるテキスト４０２を対象テキストセットＴＴとして読み込む。
【００９９】
関連語取得部１０３は、対象テキストセットＴＴに基づいて、単語共起数テーブル１１００を生成する（ステップＳ２４０５）。単語共起数テーブル１１００を生成する処理は、図１２を用いて説明した動作においてテキストセット１２４を対象テキストセットＴＴに読み替えた処理でもよい。
【０１００】
関連語取得部１０３は、単語共起数テーブル１１００とベースワードセット１２１とに基づいて、関連語セット１２５を取得する（ステップＳ２４０６）。関連語セット１２５を取得する処理は、図１３を用いて説明した動作と同様な処理でもよい。関連語取得部１０３は、取得した関連語セット１２５の関連語ごとに、当該関連語を関連語７０１、取得世代１９０２を（現在世代番号１７９１−1）とする関連語レコード５０１を、関連語セット格納部１１３に格納する（ステップＳ２４０７）。
【０１０１】
関連語取得部１０３は、直前世代番号ＰＮに対して、現時点で最後に読み込んだ設定情報１２６内の現在世代番号１７９１を設定し、その後、設定情報格納部１１５から設定情報１２６を読み込む（ステップＳ２４０８）。関連語取得部１０３は、直前世代番号ＰＮとステップS２４０８で新たに読み込んだ設定情報１２６内の現在世代番号１７９１とが異なるか否かを判断する（ステップＳ２４０９）。それらが同じ場合、関連語取得部１０３は、ステップＳ２４０８の処理に戻る。一方、それらが異なる場合、関連語取得部１０３は、ステップＳ２４１０の処理に進み、設定情報管理部１０７からデータ取得の終了指示を受け付けると、関連語取得部１０３は、ループ処理Ｒ８を抜ける（ステップＳ２４１０）。なお、設定情報管理部１０７からデータ取得の終了指示があった場合、関連語取得部１０３は、実行中の処理に関わらず、その処理を中断して本動作を終了する。以上の動作例では、関連語取得部１０３は、所定の１世代期間であるテキストセット１世代期間１７１１ごとに、直前のテキストセット１世代期間１７１１に格納装置１０６のテキストデータ群に新たに加わったテキストデータに基づいて、関連語７０１を取得することとなる。
【０１０２】
図２５は、データフィルタ部１０４の動作を説明するためのフローチャートである。
【０１０３】
データフィルタ部１０４は、設定情報格納部１１５から設定情報１２６を読み込み、直前世代番号ＰＮに設定情報１２６内の現在世代番号１７９１を設定する（ステップＳ２５０１）。データフィルタ部１０４は、ベースワードセット格納部１１１からベースワードセット１２１を読み込む（ステップＳ２５０２）。そして、データフィルタ部１０４は、設定情報管理部１０７から終了指示を受け付けるまで、ループ処理Ｒ９としてステップＳ２５０４〜Ｓ２５１０までの処理を繰り返す（ステップＳ２５０３）。
【０１０４】
ループ処理Ｒ９では、データフィルタ部１０４は、関連語セット格納部１１３から対象関連語セットＴＷを読み込む（ステップＳ２５０４）。例えば、データフィルタ部１０４は、関連語セット格納部１１３に格納されている関連語セット１２５のうち、取得世代１９０２が（現在世代番号１７９１−直近世代数１７３１）から（現在世代番号１７９１−1）である関連語７０１を対象関連語セットＴＷとして読み込む。このとき、現在世代番号１７９１が１の場合のように、該当する取得世代１９０２に対応する関連語７０１が存在しない場合、対象関連語セットＴＷは空でもよい。また、データフィルタ部１０４は、対象関連語セットＴＷを上記の方法とは別の方法で読み込んでもよい。例えば、関連語７０１に関連語７０１を取得した時刻を示すタイムスタンプを予め付与しておき、データフィルタ部１０４は、そのタイムスタンプに応じて対象関連語セットＴＷを読み込んでもよい。
【０１０５】
その後、データフィルタ部１０４は、直前世代番号ＰＮと設定情報１２６内の現在世代番号１７９１とが互いに異なる値となるまで、ループ処理Ｒ１０としてステップＳ２５０６〜Ｓ２５０９の処理を繰り返す（ステップＳ２５０５）。
【０１０６】
ループ処理Ｒ１０では、データフィルタ部１０４は、データ取得部１０２から新しくテキスト１２３を受信したか否かを判断する（ステップＳ２５０６）。テキスト１２３を受信した場合、データフィルタ部１０４は、ベースワードセット１２１及び関連語セット１２５に基づいて、テキスト１２３の除外の要否を判断する（ステップＳ２５０７）。ステップS２０５７におけるテキスト１２３の除外の要否を判断する処理は、例えば、図２６を用いて後述する処理でもよい。
【０１０７】
テキスト１２３の除外が不要な場合、データフィルタ部１０４は、テキスト１２３をフィルタ済データとしてフィルタ済テキストセット格納部１１４に出力して格納する（ステップＳ２５０８）。ステップＳ２５０７でテキスト１２３の除外が必要な場合、及び、ステップＳ２５０８の処理が終了した場合、データフィルタ部１０４は、直前世代番号ＰＮに現時点で最後に読み込んだ設定情報１２６の現在世代番号１７９１を設定し、その後、設定情報格納部１１５から設定情報１２６を読み込む（ステップＳ２５０９）。
【０１０８】
そして、直前世代番号ＰＮと設定情報１２６の現在世代番号１７９１とが異なる値になると、データフィルタ部１０４は、ループ処理Ｒ１０を抜ける（ステップＳ２５１０）。また、設定情報管理部１０７からデータ取得の終了指示を受け付けると、データフィルタ部１０４は、ループ処理Ｒ９を抜ける（ステップＳ２５１１）。以上の動作例では、データフィルタ部１０４は、直近の第２対象数のテキストセット１世代期間１７０３に取得された関連語７０１を用いて、テキスト１２３をフィルタリングすることとなる。第２対象数は、（現在世代番号１７９１−直近世代数１７３１）から（現在世代番号１７９１−1）を差し引いた数である。なお、設定情報管理部１０７からデータ取得の終了指示があった場合、データフィルタ部１０４は、実行中の処理に関わらず、その処理を中断して本動作を終了する。
【０１０９】
図２６は、図２５のステップＳ２５０７の処理であるデータフィルタ処理の一例を説明するためのフローチャートである。
【０１１０】
先ず、データフィルタ部１０４は、空のフィルタ要否判断結果配列Ａを生成する（ステップＳ２６０１）。フィルタ要否判断結果配列Ａは、テキスト１２３の除外の要否を判断するための情報である。その後、データフィルタ部１０４は、直近世代数１７３１の初期値である１から現在の直近世代数１７３１までの世代数Ｎごとに、ループ処理Ｒ１１としてステップＳ２６０３〜Ｓ２６０６の処理を繰り返す（ステップＳ２６０２）。
【０１１１】
ループ処理Ｒ１１では、データフィルタ部１０４は、ベースワードセット１２１及び対象関連語セットＴＷに基づいて、テキスト１２３の除外の要否を判断するために用いるフィルタワードの集合であるフィルタワードセットＦＷ（Ｎ）を生成する（ステップＳ２６０３）。例えば、データフィルタ部１０４は、ベースワードセット１２１に含まれるワード３０１と、対象関連語セットＴＷのうちの、取得世代１９０２が（現在世代番号１７９１−Ｎ）である関連語７０１とをフィルタワードとして示すフィルタワードセットＦＷ（Ｎ）を生成する。
【０１１２】
データフィルタ部１０４は、テキスト１２３が、フィルタワードセットＦＷ（Ｎ）のうち所定数Ｍ以上の異なるフィルタワードを含むか否を判断する（ステップＳ２６０４）。所定数Ｍ以上の異なるフィルタワードを含む場合、データフィルタ部１０４は、フィルタ要否判断結果配列ＡのＮ番目の要素Ａ［Ｎ］を「要」に設定する（ステップＳ２６０５）。一方、所定数Ｍ以上の異なるフィルタワードを含まない場合、データフィルタ部１０４は、フィルタ要否判断結果配列ＡのＮ番目の要素Ａ［Ｎ］を「否」に設定する（ステップＳ２６０６）。なお、所定数Ｍは、予め定められていてもよいし、ユーザにて設定されてもよい。また、所定数Mは、処理の途中で変更されてもよい。
【０１１３】
１から現在の直近世代数１７３１までの全ての世代数Ｎに対してステップＳ２６０３〜Ｓ２６０６の処理を行うと、ループ処理Ｒ１１を抜ける（ステップＳ２６０７）。そして、データフィルタ部１０４は、フィルタ要否判断結果配列Ａに基づいて、フィルタ要スコアＳＰ及びフィルタ否スコアＳＮを求める（ステップＳ２６０８）。
【０１１４】
例えば、データフィルタ部１０４は、フィルタ要否判断結果配列Ａの要素のうち、値が「要」である要素の要素数をフィルタ要スコアＳＰとし、値が「否」である要素の要素数をフィルタ否スコアＳＮとしてもよい。また、データフィルタ部１０４は、フィルタ要否判断結果配列Ａ及び設定情報１２６内のウェイトタイプ１７３２に基づいて、フィルタ要スコアＳＰ及びフィルタ否スコアＳＮを求めてもよい。例えば、ウェイトタイプ１７３２が「フラット」の場合、データフィルタ部１０４は、テキストセット１世代期間１７０３ごとの重要度を示すウェイト情報として、全ての値が１である長さＮのウェイト配列Ｗ＝［１，１，・・・、１］を用いて、フィルタ要否判断結果配列Ａにおける値が「要」である要素の要素番号Ｋにおけるウェイト配列Ｗの値Ｗ［Ｋ］の総和をフィルタ要スコアＳＰとし、フィルタ要否判断結果配列Ａにおける値が「否」である要素番号Ｋにおけるウェイト配列Ｗの値Ｗ［Ｋ］の総和をフィルタ否スコアＳＮとしてもよい。また、ウェイトタイプ１７３２が「現在重視」の場合、データフィルタ部１０４は、Ｋ番目の要素が（Ｎ−要素番号）である長さＮのウェイト配列Ｗ＝［Ｎ，Ｎ−１，・・・、１］を用いて、フィルタ要否判断結果配列Ａの値が「要」である要素番号Ｋにおけるウェイト配列Ｗの値Ｗ［Ｋ］の総和をフィルタ要スコアＳＰ、フィルタ要否判断結果配列Ａの値が「否」である要素番号Ｋにおけるウェイト配列Ｗの値Ｗ［Ｋ］の総和をフィルタ否スコアＳＮとしてもよい。
【０１１５】
そして、データフィルタ部１０４は、フィルタ要スコアＳＰとフィルタ否スコアＳＮとを比較して、フィルタ要スコアＳＰがフィルタ否スコアＳＮよりも大きいか否かを判断する（ステップＳ２６０９）。フィルタ要スコアＳＰがフィルタ否スコアＳＮよりも大きい場合、データフィルタ部１０４は、テキスト１２３の除外が必要と判断して、フィルタ要否判断結果Ｒを「要」に設定する（ステップＳ２６１０）。一方、フィルタ要スコアＳＰがフィルタ否スコアＳＮ以下の場合、データフィルタ部１０４は、テキスト１２３の除外が不要と判断して、フィルタ要否判断結果Ｒを「否」に設定する（ステップＳ２６１１）。
【０１１６】
なお、本実施例では、現在世代番号１７９１が変わったことは、設定情報１２６を用いて
データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４に通知されていたが、設定情報１２６を用いずに通知されてもよい。また、直前世代番号ＰＮは、データ取得部１０２は、関連語取得部１０３及びデータフィルタ部１０４で別々に管理されていたが、これらで共通に管理されてもよい。
【実施例３】
【０１１７】
実施例３では、実施例１におけるデータフィルタ部１０４のフィルタ処理を、フィルタモデル生成部１０８で生成したフィルタモデル１２９を用いて実施する例を説明する。以下、主に実施例１と異なる構成及び動作について説明する。
【０１１８】
図２７は、実施例３に係るテキストデータ収集装置１０の機能的な構成の一例を示す図である。図２７に示すように本実施例のテキストデータ収集装置１０は、実施例１のテキストデータ収集装置１０の構成に加えて、フィルタモデル生成部１０８を備える。また、本実施例の情報記憶部１０５は、実施例１の情報記憶部１０５の構成に加えて、フィルタモデル格納部１１６をさらに備える。なお、情報記憶部１０５は、フィルタモデル生成部１０８が参照及び生成する情報などをさらに記憶してもよい。
【０１１９】
フィルタモデル生成部１０８は、テキストセット１２４及びベースワードセット１２１を受け付けて、フィルタモデル１２９を生成し、生成したフィルタモデル１２９をフィルタモデル格納部１１６に格納する。また、データフィルタ部１０４は、実施例１の場合と比べて、ベースワードセット１２１及び関連語セット１２５を読み込まない代わりに、フィルタモデル１２９を読み込み、フィルタモデル１２９を用いてテキスト１２３の除外の要否を判断する。
【０１２０】
図２８は、フィルタモデル生成部１０８の動作を説明するためのフローチャートである。
【０１２１】
先ず、フィルタモデル生成部１０８は、ベースワードセット格納部１１１からベースワードセット１２１を読み込み（ステップＳ２８０１）、学習用テキストセット格納部１１２からテキストセット１２４を読み込む（ステップＳ２８０２）。フィルタモデル生成部１０８は、ベースワードセット１２１及びテキストセット１２４に基づいて、フィルタモデル１２９を生成する（ステップＳ２８０３）。そして、フィルタモデル生成部１０８は、生成したフィルタモデルをフィルタモデル１２９としてフィルタモデル格納部１１６に格納する（ステップＳ２８０４）。
【０１２２】
フィルタモデル１２９は、例えば、機械学習や人工知能などの一般的な手法を用いて構築される２値分類器でもよい。この場合、フィルタモデル生成部１０８は、２値分類器を取得するための一般的なアルゴリズムを用いて、フィルタモデルを生成することができる。また、ステップS２８０３におけるフィルタモデルを生成する処理は、例えば、以下の図２９に示すフローチャートに応じた処理でもよい。
【０１２３】
図２９は、図２８のステップS２８０３の処理であるフィルタモデル生成処理の一例を説明するためのフローチャートである。
【０１２４】
先ず、フィルタモデル生成部１０８は、テキストセット１２４を複数のクラスタにクラスタリングする（ステップS２９０１）。クラスタリングには、トピック分析のような一般的な機械学習の手法が用いられてもよい。クラスタリングによって分類するクラスタ数は、２以上の整数である。そして、フィルタモデル生成部１０８は、ベースワードセット１２１を用いて、クラスタごとにテキスト１２３の除外の要否を決定し、その決定に基づいて、クラスタと除外の要否との関係を示すモデル式をフィルタモデルとして生成する（ステップS２９０２）。例えば、テキストセット１２４をトピックモデルによってクラスタリングした場合、フィルタモデル生成部１０８は、例えば、トピックごとに、当該トピックのテキストセット１２４で使用されるワードのうち、出現する回数が多い順に規定数分のワードからなるワードセットとベースワードセット１２１の共通集合の要素数を求め、要素数が一番多いトピックを除外が不要なトピック、それ以外のトピックを除外が必要なトピックとしてもよい。
【０１２５】
図３０は、データフィルタ部１０４の動作の一例を説明するためのフローチャートである。
【０１２６】
データフィルタ部１０４は、データ取得部１０２からテキスト１２３を受け取る（ステップS３００１）。データフィルタ部１０４は、フィルタモデル格納部１１６からフィルタモデル１２９を読み込む（ステップS３００２）。データフィルタ部１０４は、読み込んだフィルタモデル１２９を用いて、テキスト１２３をクラスタリングする（ステップS３００３）。データフィルタ部１０４は、テキスト１２３が分類されたクラスタごとにテキスト１２３の除外の要否を判断する（ステップS３００４）。テキスト１２３の除外が不要な場合、データフィルタ部１０４は、テキスト１２３をフィルタ済テキストセット格納部１１４に格納する（ステップS３００５）。一方、テキスト１２３の除外が必要な場合、データフィルタ部１０４は、テキスト１２３を格納せずに処理を終了する。
【０１２７】
本実施例では、フィルタモデル生成部１０８は、関連語セット１２５を用いずにフィルタモデルを生成していたが、関連語セット１２５を用いてフィルタモデルを生成してもよい。また、データフィルタ部１０４は、実施例１で説明したように関連語セットを用いたフィルタリングと、フィルタモデルを用いてフィルタリングとの両方を行ってもよい。この場合、データフィルタ部１０４は、一方のフィルタリングで「テキスト１２３の除外が不要」と判断した際に、テキスト１２３を格納してもよいし、両方のフィルタリングで「テキスト１２３の除外が不要」と判断した際に、テキスト１２３を格納してもよい。
【実施例４】
【０１２８】
本実施例では、関連語セット１２５及びフィルタモデル１２９を繰り返し取得して、テキストデータの収集に用いる関連語セット１２５とテキストデータのフィルタリングに用いるフィルタモデル１２９とを変更する例を説明する。以下、主に実施例３と異なる構成及び動作について説明する。
【０１２９】
図３１は、実施例４に係るテキストデータ収集装置１０の機能的な構成の一例を示す図である。図３１に示すように本実施例のテキストデータ収集装置１０は、実施例３のテキストデータ収集装置１０の構成に加えて、設定情報管理部１０７をさらに備える。また、本実施例の情報記憶部１０５は、実施例３の情報記憶部１０５の構成に加えて、後述する設定情報１２６を格納する設定情報格納部１１５をさらに備える。なお、情報記憶部１０５は、設定情報管理部１０７が参照及び生成する情報などをさらに記憶してもよい。
【０１３０】
設定情報管理部１０７は、テキストデータ収集装置１０の設定を示す設定情報１２６を受け付けると、設定情報１２６を設定情報格納部１１５に格納する。また、設定情報管理部１０７は、データ取得開始指示１２７を受け付けると、データ取得部１０２、関連語取得部１０３、データフィルタ部１０４及びフィルタモデル生成部１０８に処理を開始させる。また、設定情報管理部１０７は、データ取得開始指示１２７を受け付けると、設定情報格納部１１５に格納した設定情報１２６を更新し、その後、さらに設定情報１２６を定期的に更新する。また、設定情報管理部１０７は、テキストデータの取得の終了を指示するデータ取得終了指示１２８を受け付けると、データ取得部１０２、関連語取得部１０３、データフィルタ部１０４及びフィルタモデル生成部１０８に終了指示を出力して処理を終了させる。
【０１３１】
データ取得部１０２、関連語取得部１０３及びデータフィルタ部１０４は、設定情報格納部１１５に格納した設定情報１２６に従って、それぞれの処理を行う。
【０１３２】
図３２は、設定情報管理部１０７によるデータ取得開始指示１２７を受け付けた際の動作を説明するためのフローチャートである。図３２による設定情報管理部１０７の動作は、図２２を用いて説明した動作において、ステップS２２０５をステップS３２０１に置き換え、ステップS２２１２をステップS３２０２に置き換えたものである。
【０１３３】
具体的には、先ず、図２２を用いて説明したステップS２２０１〜S２２０４の処理と同様な処理が実行される。ステップS２２０４の処理が終了すると、設定情報管理部１０７は、データ取得部１０２、関連語取得部１０３、データフィルタ部１０４及びフィルタモデル生成部１０８に処理を開始させる（ステップS３２０１）。その後、図２２を用いて説明したステップS２２０６〜S２２１１の処理と同様な処理が実行される。ステップS２２１１の処理が終了すると、設定情報管理部１０７は、データ取得部１０２、関連語取得部１０３、データフィルタ部１０４及びデータフィルタ部１０４に終了指示を出力して処理を終了させる（ステップＳ３２０２）。
【０１３４】
図３３は、フィルタモデル生成部１０８の動作の一例を説明するためのフローチャートである。図３３によるフィルタモデル生成部１０８の動作は、図２４を用いて説明した動作において、ステップS２４０５を削除し、ステップS２４０６をステップS３３０１に置き換え、ステップS２４０７をステップS３３０２に置き換えたものである。
【０１３５】
具体的には、先ず、ステップＳ２４０１〜ステップＳ２４０４の処理と同様な処理が実行される。ステップS２４０４の処理が終了すると、フィルタモデル生成部１０８は、ベースワードセット１２１と対象テキストセットＴＴとに基づいて、フィルタモデルを生成する（ステップＳ３３０１）。そして、フィルタモデル生成部１０８は、生成したフィルタモデル１２９をフィルタモデル格納部１１６に格納する（ステップＳ３３０２）。その後、ステップＳ２４０８〜ステップＳ２４１０の処理と同様な処理が実行される。
【０１３６】
ステップＳ３３０１のフィルタモデルを生成する処理は、図２９を用いて説明したフィルタモデル生成処理において、テキストセット１２４を対象テキストセットＴＴと読み替えたものでもよい。また、ステップＳ３３０２でフィルタモデル１２９を格納する処理では、フィルタモデル生成部１０８は、生成したフィルタモデル１２９を、当該フィルタモデル１２９の生成に用いた対象テキストセットＴＴの取得世代１８０２をフィルタモデル１２９の取得世代として対応付けてフィルタモデルセットとして格納する。
【０１３７】
以上の動作では、フィルタモデル生成部１０８は、テキストセット１世代期間１７０３ごとに、直前のテキストセット１世代期間１７０３に格納装置１０６のテキストデータ群に新たに加わったテキストデータに基づいて、フィルタモデル１２９を生成することとなる。
【０１３８】
図３４は、フィルタモデルセットの一例を示す図である。図３４に示すフィルタモデルセット３４００は、フィルタレコード３４０１のリストを有し、各フィルタレコード３４０１は、フィルタモデル生成部１０８が生成したフィルタモデル１２９と、フィルタモデル１２９の生成に用いた対象テキストセットＴＴの取得世代である取得世代３４０２とを含む。
【０１３９】
図３５は、データフィルタ部１０４の動作を説明するためのフローチャートである。図３５によるデータフィルタ部１０４の動作は、図２５を用いて説明した動作において、ステップＳ２５０２を削除し、ステップS２５０４をステップS３５０１に置き換え、ステップS２５０７をステップS３３０２に置き換えたものである。
【０１４０】
具体的には、先ず、ステップＳ２５０１及びステップＳ２５０３の処理と同様な処理が実行される。ステップS２５０３の処理が終了すると、データフィルタ部１０４は、フィルタモデル格納部１１６から対象フィルタモデルセットＴＦを読み込む（ステップＳ３５０１）。例えば、データフィルタ部１０４は、フィルタモデル格納部１１６に格納されているフィルタモデルセット３４００のうち、取得世代３０４１が（現在世代番号１７９１−直近世代数１７３１）から（現在世代番号１７９１−1）であるフィルタモデル１２９を対象フィルタモデルセットＴＦとして読み込む。このとき、現在世代番号１７９１が１の場合のように、該当する取得世代３０４１に対応するフィルタモデル１２９が存在しない場合、対象フィルタモデルセットＴＦは空でもよい。また、データフィルタ部１０４は、対象フィルタモデルセットＴＦを上記の方法とは別の方法で読み込んでもよい。例えば、フィルタモデル１２９にフィルタモデル１２９を生成した時刻を示すタイムスタンプを予め付与しておき、データフィルタ部１０４は、そのタイムスタンプに応じて対象フィルタモデルセットＴＦを読み込んでもよい。
【０１４１】
その後、ステップＳ２５０５及びＳ２５０６の処理と同様な処理が実行され、ステップＳ２５０６でテキスト１２３を受信した場合、データフィルタ部１０４は、対象フィルタモデルセットＴＦに基づいて、テキスト１２３の除外の要否を判断する（ステップＳ３５０２）。その後、ステップＳ２５０８〜ステップＳ２５１１の処理と同様な処理が実行される。ステップＳ３５０２の処理は、例えば、図３６を用いて後述する処理でもよい。
【０１４２】
図３６は、図３５のステップＳ３５０２の処理であるデータフィルタ処理の一例を説明するためのフローチャートである。図３６によるデータフィルタ部１０４の動作は、図２６を用いて説明した動作において、ステップS２６０３をステップS３６０１に置き換え、ステップS２５０７をステップS３３０２に置き換えたものである。
【０１４３】
具体的には、先ず、ステップＳ２６０１及びＳ２６０２の処理と同様な処理が実行されり。ステップS２６０２の処理が終了すると、データフィルタ部１０４は、対象フィルタモデルセットＴＦに基づいて、テキスト１２３の除外の要否を判断するために用いるフィルタモデルＦＭ（Ｎ）を生成する（ステップＳ３６０１）。例えば、データフィルタ部１０４は、対象フィルタモデルセットＴＦに含まれるフィルタモデル１２９のうち、取得世代３４０２が（現在世代番号１７９１−Ｎ）であるフィルタモデル１２９をフィルタモデルＦＭ（Ｎ）として生成する。
【０１４４】
データフィルタ部１０４は、テキスト１２３が、フィルタモデルＦＭ（Ｎ）を用いてテキスト１２３の除外の要否を判断する（ステップＳ３０６２）。テキスト１２３の除外が不要な場合、ステップＳ２６０５の処理に進み、テキスト１２３の除外が必要な場合、ステップＳ２６０６の処理に進む。その後、ステップＳ２６０５〜Ｓ２６１１の処理が実行される。
【０１４５】
以上の動作では、データフィルタ部１０４は、直近の第３対象数のテキストセット１世代期間１７０３に生成されたフィルタモデルを用いて、テキスト１２３をフィルタリングすることとなる。第３対象数は、（現在世代番号１７９１−直近世代数１７３１）から（現在世代番号１７９１−1）を差し引いた数である。
【０１４６】
以上説明したように本開示は以下の事項を含む。
【０１４７】
本開示の一態様に係るテキストデータ収集装置（１０）は、テキストデータ群を格納する格納装置（１０６）からテキストデータを収集するテキストデータ収集装置であって、入力部（１０１）と、関連語取得部（１０３）と、データ取得部（１０４）と、データフィルタ部（１０４）と、記憶部（１０５）とを有する。入力部は、テキストデータ（１２３）を取得するためのワード（３０１）を受け付ける。関連語取得部は、ワードとテキストデータ群とに基づいて、ワードに関連する関連語（７０１）を繰り返し取得する。データ取得部は、格納装置から、ワード及び関連語に応じたテキストデータを収集データとして取得する。データフィルタ部は、テキストデータをフィルタリングするフィルタモデルと、前記ワード及び前記関連語との少なくとも一方を用いて、収集データをフィルタリングしたフィルタ済データを出力する。記憶部は、フィルタ済データを記憶する。
【０１４８】
この場合、ワードとテキストデータ群とに基づいて繰り返し取得された関連語とワードとに応じてテキストデータが収集データとして取得され、その収集データがフィルタモデルと前記ワード及び前記関連語との少なくとも一方を用いてフィルタリングされる。このため、関連語が繰り返し取得されるため、ソーシャルメディアのように使用される用語の変化が大きい場合でも、所望のテキストデータを取得することができ、また、フィルタリングが行われるため、不必要なテキストデータが取得されてしまうことを抑制することが可能になる。したがって、所望のテキストデータを適切に取得することが可能になる。
【０１４９】
また、関連語取得部は、所定の１世代期間（１７１１）ごとに、直前の１世代期間にテキストデータ群に新たに加わったテキストデータに基づいて、関連語を取得する。このため、ソーシャルメディアのように使用される用語の変化が大きい場合でも、最近使用されている用語に基づいて関連語を取得することが可能になり、所望のテキストデータを適切に取得することが可能になる。
【０１５０】
また、データ取得部は、直近の第１対象数の１世代期間に取得された関連語に応じたテキストデータを収集データとして取得する。このため、最近使用されている用語から取得された関連語に応じたテキストデータを収集することが可能になり、所望のテキストデータを適切に取得することが可能になる。
【０１５１】
また、データフィルタ部は、直近の第２対象数の１世代期間に取得された関連語を用いて、フィルタ済データを出力する。このため、最近使用されている用語から取得された関連語を用いてフィルタリングが可能となり、所望のテキストデータを適切に取得することが可能になる。
【０１５２】
また、データフィルタ部は、１世代期間ごとの重要度を示すウェイト情報（Ｗ）をさらに用いて、フィルタ済データを出力する。このため、関連語が取得された期間に応じたフィルタリングが可能となり、所望のテキストデータを適切に取得することが可能になる。
【０１５３】
また、テキストデータ収集装置は、テキストデータ群及びワードに基づいて、フィルタモデルを生成するモデル生成部（１０８）をさらに有する。このため、収集するテキストデータに適したフィルタモデルを生成することが可能になり、所望のテキストデータを適切に取得することが可能になる。
【０１５４】
また、モデル生成部は、所定の１世代期間ごとに、直前の１世代期間にテキストデータ群に新たに加わったテキストデータに基づいて、フィルタモデルを生成する。このため、最近使用されている用語に基づいてフィルタモデルを生成することが可能になり、所望のテキストデータを適切に取得することが可能になる。
【０１５５】
また、データフィルタ部は、直近の第３対象数の１世代期間に生成されたフィルタモデルを用いて、フィルタ済データを出力する。このため、最近使用されている用語から生成されたフィルタモデルを用いてフィルタリングが可能となり、所望のテキストデータを適切に取得することが可能になる。
【０１５６】
また、テキストデータ収集装置は、データ取得部、関連語取得部及びデータフィルタ部に関する設定情報（１２６）を入力するためのインタフェース（２１００）を出力することにより、設定情報を受け付ける設定情報管理部（１０７）をさらに有する。データ取得部は、設定情報に従って収集データを取得し、関連語取得部は、設定情報に従って関連語を取得し、データフィルタ部は、設定情報に従って前記フィルタ済データを出力する。このため、設定情報を入力するためのインタフェースを出力することが可能となり、容易に設定を行うことが可能になる。
【０１５７】
上述した本開示の実施例は、本開示の説明のための例示であり、本開示の範囲をそれらの実施例に限定する趣旨ではない。当業者は、他の様々な態様で本開示を実施することができる。
【符号の説明】
【０１５８】
１０：テキストデータ収集装置  １１：プロセッサ  １２：  主記憶装置  １３：補助記憶装置  １４：入力装置  １５：出力装置  １６：通信装置  １０１：ベースワードセット入力部  １０２：データ取得部  １０３：関連語取得部  １０４：データフィルタ部  １０５：情報記憶部  １０６：格納装置  １０７：設定情報管理部  １０８：フィルタモデル生成部１０８  １１１：ベースワードセット格納部  １１２：学習用テキストセット格納部  １１３：関連語セット格納部  １１４：フィルタ済テキストセット格納部  １１５：設定情報格納部  １１６：フィルタモデル格納部
【図１】
2020119254.tif 000003
【図２】
2020119254.tif 000004
【図３】
2020119254.tif 000005
【図４】
2020119254.tif 000006
【図５】
2020119254.tif 000007
【図６】
2020119254.tif 000008
【図７】
2020119254.tif 000009
【図８】
2020119254.tif 000010
【図９】
2020119254.tif 000011
【図１０】
2020119254.tif 000012
【図１１】
2020119254.tif 000013
【図１２】
2020119254.tif 000014
【図１３】
2020119254.tif 000015
【図１４】
2020119254.tif 000016
【図１５】
2020119254.tif 000017
【図１６】
2020119254.tif 000018
【図１７】
2020119254.tif 000019
【図１８】
2020119254.tif 000020
【図１９】
2020119254.tif 000021
【図２０】
2020119254.tif 000022
【図２１】
2020119254.tif 000023
【図２２】
2020119254.tif 000024
【図２３】
2020119254.tif 000025
【図２４】
2020119254.tif 000026
【図２５】
2020119254.tif 000027
【図２６】
2020119254.tif 000028
【図２７】
2020119254.tif 000029
【図２８】
2020119254.tif 000030
【図２９】
2020119254.tif 000031
【図３０】
2020119254.tif 000032
【図３１】
2020119254.tif 000033
【図３２】
2020119254.tif 000034
【図３３】
2020119254.tif 000035
【図３４】
2020119254.tif 000036
【図３５】
2020119254.tif 000037
【図３６】
2020119254.tif 000038