(57)【要約】【課題】符号化データに基づいてテキストマイニング処理を行う場合に、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間を短縮する。【解決手段】情報処理装置１００は、単語群のそれぞれに符号を割り当てた単語辞書１３１を用いた、テキストデータの符号化と、単語群のそれぞれについてのテキストデータ内の出現頻度を示すカウントマップ１３２の生成を実行する。情報処理装置１００は、カウントマップ１３２を、符号化された符号化テキストデータと関連付けて記憶部１３０に記憶する。【選択図】図３
2016170750.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
単語群のそれぞれに符号を割り当てた符号化辞書を用いた、テキストデータの符号化と、前記単語群のそれぞれについての前記テキストデータ内の出現頻度を示す頻度情報の生成を実行し、
前記頻度情報を、符号化された符号化テキストデータと関連付けて記憶部に記憶する
処理を実行させることを特徴とするデータ管理プログラム。
【請求項２】
前記符号化テキストデータに対して単語ごとの出現頻度の解析指示を受け付けた場合に、前記符号化テキストデータに関連付けられた前記頻度情報を出力する
処理を実行させることを特徴とする請求項１に記載のデータ管理プログラム。
【請求項３】
前記生成する処理は、前記単語群のそれぞれについて前記テキストデータを所定の単位で区切った単位で前記頻度情報を生成する
処理を実行させることを特徴とする請求項１または請求項２に記載のデータ管理プログラム。
【請求項４】
単語群のそれぞれに符号を割り当てた符号化辞書を用いた、テキストデータの符号化を行う符号化部と、
前記単語群のそれぞれについての前記テキストデータ内の出現頻度を示す頻度情報の生成を実行する生成部と、
前記頻度情報を、符号化された符号化テキストデータと関連付けて記憶部に格納する格納部と、
を有することを特徴とする情報処理装置。
【請求項５】
コンピュータが、
単語群のそれぞれに符号を割り当てた符号化辞書を用いた、テキストデータの符号化と、前記単語群のそれぞれについての前記テキストデータ内の出現頻度を示す頻度情報の生成を実行し、
前記頻度情報を、符号化された符号化テキストデータと関連付けて記憶部に記憶する
各処理を実行することを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理プログラムなどに関する。
【背景技術】
【０００２】
１つの意味単位とみなせる単語と圧縮コードとを対にして格納するコード変換辞書を参照して、入力された文書データを圧縮データに圧縮変換する技術が開示されている（例えば、特許文献１など参照）。
【０００３】
ここで、圧縮変換された圧縮データに基づいてテキストマイニング処理を行う場合がある。かかる場合に、まず、圧縮データに対して伸長処理が行なわれ、伸長処理により得られた伸長データに対して字句解析、構文解析、意味解析などのテキストマイニング処理が行われる。
【０００４】
また、文書データを単語ごとに分割し、分割された単語の出現頻度を算出し、単語を出現頻度順にソートした状態の単語出現頻度テーブルを作成する技術が開示されている（例えば、特許文献３など参照）。文書データを単語ごとに分割する処理は、字句解析と呼ばれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−３２４７３０号公報
【特許文献２】特開平９−２１４３５２号公報
【特許文献３】特開平６−３４８７５７号公報
【特許文献４】特表２００５−５３０２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、圧縮データに基づいてテキストマイニング処理を行う場合に、テキストマイニング処理の処理結果を得るまでの処理時間が長くなってしまうという問題がある。すなわち、圧縮データに基づいてテキストマイニング処理を行う場合に、圧縮データに対して伸長処理が行なわれ、伸長処理により得られた伸長データに対してテキストマイニング処理が実行される。したがって、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間が長くなってしまう。
【０００７】
ここで、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間が長くなってしまうという問題について、図１を参照して説明する。図１は、データ管理処理の一例を示す図である。図１では、ＬＺ７７系やＬＺ７８系の圧縮アルゴリズムを適用した場合とする。図１に示すように、データ管理処理は、未圧縮状態のファイルを、最長一致の文字列を用いて圧縮し、圧縮ファイルを管理する。そして、データ管理処理は、テキストマイニング処理の実行指示を受け取ると、テキストマイニング処理対象の圧縮ファイルを伸長し、字句解析を行う。すなわち、データ管理処理は、伸長した文字列を単語ごとに分割する。そして、データ管理処理は、分割した単語をカウントし、カウントした結果である集計結果を生成する。データ管理処理は、生成した集計結果をテキストマイニング処理に活用し、テキストマイニング処理の実行結果を出力する。このようにして、データ管理処理は、圧縮ファイルに基づくテキストマイニング処理を実行する前に、圧縮ファイルに対して伸長処理を実行するので、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間が長くなってしまう。
【０００８】
単語出現頻度テーブルを作成する技術であっても、圧縮データに基づいて単語出現頻度テーブルを作成する場合には、まず、圧縮データに対して伸長処理が行われてから、伸長データに対して字句解析、出現頻度の算出、単語出現頻度テーブルの作成が行われる。したがって、単語出現頻度テーブルを作成する処理を含むテキストマイニング処理の実行指示から実行結果を得るまでの処理時間が長くなってしまう。
【０００９】
１つの側面では、符号化データに基づいてテキストマイニング処理を行う場合に、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間を短縮することを目的とする。
【課題を解決するための手段】
【００１０】
第１の案では、コンピュータに、単語群のそれぞれに符号を割り当てた符号化辞書を用いた、テキストデータの符号化と、前記単語群のそれぞれについての前記テキストデータ内の出現頻度を示す頻度情報の生成を実行し、前記頻度情報を、符号化された符号化テキストデータと関連付けて記憶部に記憶する、処理を実行させる。
【発明の効果】
【００１１】
本発明の１実施態様によれば、符号化データに基づいてテキストマイニング処理を行う場合に、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間を短縮できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、データ管理処理の一例を示す図である。
【図２】図２は、実施例に係るデータ管理処理の一例を示す図である。
【図３】図３は、実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図４】図４は、実施例に係る単語辞書の一例を示す図である。
【図５】図５は、実施例に係るカウントマップの一例を示す図である。
【図６】図６は、実施例に係る符号化ファイルの一例を示す図である。
【図７】図７は、実施例に係る符号化部の処理手順を示すフローチャートである。
【図８】図８は、実施例に係るデータ処理部の処理手順を示すフローチャートである。
【図９】図９は、実施例に係るデータ管理処理の実装例を示す図である。
【図１０】図１０は、ＩｎｐｕｔＦｏｒｍａｔの実装例を示す図である。
【図１１】図１１は、情報処理装置のハードウェアの構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するデータ管理プログラム、情報処理装置およびデータ管理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
図２は、本実施例に係るデータ管理処理の一例を示す図である。
【００１５】
図２に示すように、データ管理処理には、単語カウント部による処理と、符号割当部による処理と、符号化ファイル格納部とが含まれている。未符号化状態のファイルには、未符号化状態の複数の文書が含まれている。単語カウント部は、未符号化状態のファイルを、単語単位に分割する。例えば、未符号化状態のファイルに含まれる文字列が「He  is  able  to  ・・・」であるとする。すると、単語カウント部は、この文字列を、「He」「is」「able」「to」のように単語ごとに区切り、各単語に分割する。
【００１６】
単語カウント部は、分割した単語ごとに、出現回数をカウントする。単語カウント部は、単語ごとに出現回数をカウントした結果である頻度情報を生成する。すなわち、頻度情報は、単語ごとの頻度集計の結果であり、文書単位に生成される。単語カウント部は、生成した頻度情報を記憶部に格納する。なお、頻度情報のデータ構造に関する詳細は、後述する。
【００１７】
符号割当部は、単語辞書を用いて、分割した単語ごとに、それぞれの単語を符号に割り当てる。符号には、例えば、圧縮符号が挙げられるが、これに限定されない。単語辞書とは、一般的な国語辞典や教科書等を基にして文書中に出現する単語を品詞と符号とに対応付けた辞書のことをいう。単語辞書は、それぞれの単語に対応する品詞と符号とがあらかじめ登録されている。なお、単語辞書のデータ構造の一例は、後述する。
【００１８】
符号化ファイル格納部は、生成した頻度情報を、符号化された文字列データと関連付けて記憶部に格納する。すなわち、符号化ファイル格納部は、符号化された文字列データと頻度情報とを含む符号化状態のファイル（符号化ファイル）を生成し、生成した符号化ファイルを記憶部に格納する。なお、符号化ファイルのデータ構造に関する詳細は、後述する。
【００１９】
これにより、データ管理処理は、符号化ファイルに頻度情報を含むので、符号化ファイルに基づいてテキストマイニング処理を行う場合に、符号化ファイルを伸長しなくても、頻度情報を用いることで、テキストマイニング処理を実行することが可能になる。この結果、データ管理処理は、テキストマイニング処理の実行指示から実行結果を得るまでの処理時間を短縮することができる。
【００２０】
［情報処理装置の構成］
図３は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図３に示すように、情報処理装置１００は、符号化部１１０、データ処理部１２０および記憶部１３０を有する。
【００２１】
符号化部１１０は、図２に示した処理を実行する処理部である。符号化部１１０は、単語カウント部１１１、符号割当部１１２および符号化ファイル格納部１１３を有する。
【００２２】
データ処理部１２０は、データ処理、例えばテキストマイニング処理を実行する制御部である。
【００２３】
記憶部１３０は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）などの不揮発性の半導体メモリ素子などの記憶装置に対応する。記憶部１３０は、単語辞書１３１、カウントマップ１３２および符号化ファイル１３３を有する。
【００２４】
［単語辞書の一例］
図４は、実施例に係る単語辞書の一例を示す図である。単語辞書１３１は、図２で示した単語辞書に対応する。図４に示すように、単語辞書１３１は、基礎単語と、文字列長と、出現頻度と、符号長と、品詞と、圧縮符号とを含んで対応付ける。「基礎単語」は、単号辞書１３１に登録された単語である。例えば、「基礎単語」とは、辞典、テキスト群などからあらかじめ抽出された約１９万語の単語である。なお、「基礎単語」として登録される単語数は、任意の語数でよい。
【００２５】
「文字列長」は、基礎単語の文字列の長さである。「出現頻度」は、頻度集計用のテキストファイル群において各基礎単語が出現した回数である。ここで、頻度集計用のテキストファイル群とは、データ処理を行うファイルとは別に用意された各基礎単語の出現頻度を集計するための１以上のテキストファイルである。ここでは、基礎単語「able」が、頻度集計用のテキストファイル群において「785」回出現したことを示す。
【００２６】
「品詞」は、各基礎単語の品詞である。ここでは、基礎単語「able」は、「名詞」であることを示す。
【００２７】
「圧縮符号」は、符号の一例である。ここでは、「圧縮符号」は、各基礎単語に割り当てられた圧縮符号である。「符号長」は、符号の長さである。一例として、出現頻度が高い基礎単語に対してより短い符号長を有する符号が割り当てられる。
【００２８】
また、単語辞書１３１は、基礎単語へのポインタを示すビットフィルタを有する。ビットフィルタは、２グラムと、ビットマップと、基礎単語とを対応付ける。「２グラム」は、各単語に含まれる連続する文字列である。例えば「able」は、「ab」、「bl」、「le」に対応する２グラムを有する。
【００２９】
「ビットマップ」は、２グラムの文字列に対応するビットマップを表す。例えば、「able」は、基礎単語へのポインタによって、２グラム「ab」のビットマップ「１＿０＿０＿０＿０」と、２グラム「bl」のビットマップ「０＿１＿０＿０＿０」と、２グラム「le」のビットマップ「０＿０＿１＿０＿０」とに対応付けられる。例えば、情報処理装置１００は、未符号化状態のファイルから「able」を取得した場合に、２グラム「ab」のビットマップ「１＿０＿０＿０＿０」と、２グラム「bl」のビットマップ「０＿１＿０＿０＿０」と、２グラム「le」のビットマップ「０＿０＿１＿０＿０」を用いて基礎単語「able」にアクセスする。すなわち、情報処理装置１００は、ビットフィルタと、未符号化状態のファイルから単語単位に分割された単語の文字列とを比較して、文字列がビットフィルタにヒットするか否かを判定する。情報処理装置１００は、ヒットすれば、ポインタが指す基礎単語にアクセスする。
【００３０】
［カウントマップの一例］
図５は、実施例に係るカウントマップの一例を示す図である。カウントマップ１３２は、図２で示した頻度情報に対応する。図５に示すように、カウントマップ１３２は、レコードごとにレコードに含まれる単語の出現回数を記憶する。ここでいうレコードとは、ファイル中での論理的な区切りのことをいい、各レコードは、例えば、文書に対応する。出現回数は、４ビットで表わされる値であり、０回から１５回までの数で表わされる。一例として、レコード１には、単語Ａとして「００００」、単語Ｂとして「００００」、単語Ｃとして「００１０」が表わされている。レコード２には、単語Ａとして「０００１」、単語Ｂとして「０００１」、単語Ｃとして「００００」が表わされている。なお、出現回数は、４ビットで表わされる値と説明したが、これに限定されず、５ビットで表わされる値であっても良いし、３ビットで表わされる値であっても良い。すなわち、出現回数を表すビット数は、データ処理を行うファイルの内容に合わせて調整される値であれば良い。
【００３１】
［符号化ファイルの一例］
図６は、実施例に係る符号化ファイルの一例を示す図である。符号化ファイル１３３は、図２で示した符号化状態のファイルに対応する。図６に示すように、符号化ファイル１３３は、ヘッダ部と、符号化データと、トレーラ部とを有する。符号化データには、レコードごとに、各単語に割り当てられた符号が記憶される。トレーラ部には、カウントマップ１３２が記憶される。なお、符号化処理の際に用いられる情報が他にある場合には、トレーラ部には、この情報も記憶される。
【００３２】
ヘッダ部には、トレーラ部に格納されたカウントマップ１３２へのポインタが記憶される。情報処理装置１００は、後述するデータ処理部１２０によるデータ処理時において、ヘッダ部のカウントマップ１３２へのポインタを利用し、カウントマップ１３２を参照できる。
【００３３】
図３に戻って、単語カウント部１１１は、符号化対象の文書データに対して、単語ごとに出現回数をカウントする。符号化対象の文書データには、未符号化状態の複数のレコードが含まれている。例えば、単語カウント部１１１は、符号化対象の文書データを字句解析する。すなわち、単語カウント部１１１は、符号化対象の文書データを単語単位に分割する。そして、単語カウント部１１１は、分割した単語ごとに、出現回数をカウントする。単語ごとの出現回数のカウントは、レコードごとに行われる。単語カウント部１１１は、レコードごと且つ単語ごとの出現回数を用いて、カウントマップ１３２を生成する。単語カウント部１１１は、カウントマップ１３２を記憶部１３０に格納する。
【００３４】
一例として、符号化対象の文書データに含まれる文字列が「He  is  able  to  ・・・」であるとする。すると、単語カウント部１１１は、この文字列を、「He」「is」「able」「to」のように単語ごとに区切り、各単語に分割する。そして、単語カウント部１１１は、分割した単語「He」「is」「able」「to」・・・ごとに、出現回数をカウントする。そして、文書データにレコード１とレコード２とがあるとする。すると、単語カウント部１１１は、レコード１に対する各単語「He」「is」「able」「to」・・・の出現回数を用いて、カウントマップ１３２を生成する。単語カウント部１１１は、レコード２に対する各単語「He」「is」「able」「to」・・・の出現回数を用いて、カウントマップ１３２を生成する。そして、単語カウント部１１１は、生成されたカウントマップ１３２を記憶部１３０に格納する。
【００３５】
符号割当部１１２は、分割された単語ごとに、単語辞書１３１に基づき、それぞれの単語を符号に割り当てる。例えば、符号割当部１１２は、単語カウント部１１１によって分割された単語を１つずつ選択する。符号割当部１１２は、単語辞書１３１から、選択した単語の圧縮符号を取得する。符号割当部１１２は、取得した圧縮符号を、選択した単語に割り当てる。符号割当部１１２は、分割された全ての単語に圧縮符号を割り当て、符号化対象の文書データにおける符号化データを生成する。
【００３６】
一例として、分割された単語が、「He」「is」「able」「to」であるとする。すると、符号割当部１１２は、単語辞書１３１から、「He」の圧縮符号を取得して、取得した圧縮符号を「He」に割り当てる。符号割当部１１２は、単語辞書１３１から、「is」の圧縮符号を取得して、取得した圧縮符号を「is」に割り当てる。符号割当部１１２は、単語辞書１３１から、「able」の圧縮符号を取得して、取得した圧縮符号を「able」に割り当てる。符号割当部１１２は、単語辞書１３１から、「to」の圧縮符号を取得して、取得した圧縮符号を「to」に割り当てる。
【００３７】
符号化ファイル格納部１１３は、カウントマップ１３２を、符号化データと関連付けて記憶部１３０に格納する。例えば、符号化ファイル格納部１１３は、符号化ファイル１３３に符号化データを設定し、符号化ファイル１３３のトレーラ部にカウントマップ１３２を設定する。そして、符号化ファイル格納部１１３は、トレーラ部に格納されたカウントマップ１３２へのポインタを符号化ファイル１３３のヘッダ部に設定する。そして、符号化ファイル格納部１１３は、符号化ファイル１３３を記憶部１３０に格納する。
【００３８】
一例として、符号化ファイル格納部１１３は、図６で示した符号化ファイル１３３の構成で、トレーラ部にカウントマップ１３２を設定し、カウントマップ１３２へのポインタをヘッダ部に設定する。そして、符号化ファイル格納部１１３は、符号化ファイル１３３を記憶部１３０に格納する。
【００３９】
データ処理部１２０は、符号化ファイル１３３のデータ処理を実行する。例えば、データ処理部１２０は、データ処理の実行指示を受け取ると、データ処理対象の符号化ファイル１３３のトレーラ部からカウントマップ１３２を取得する。データ処理部１２０は、カウントマップ１３２を用いてデータ処理を実行する。データ処理の一例として、構文解析やｔｆ（Term  Frequency）／ｉｄｆ（Inverse  Document  Frequency）の計算処理が挙げられる。ｔｆ／ｉｄｆとは、情報検索で利用される、文書中の単語の重み付けの方法である。一例として、データ処理部１２０は、カウントマップ１３２を用いて、ある単語のそれぞれのレコード（文書）中における重みを算出する。そして、データ処理部１２０は、文書同士の類似度を算出する。文書同士の類似度の算出方法には、例えば、ｔｆ−ｉｄｆ  Ｃｏｓ類似度推定法があるが、これに限定されない。
【００４０】
これにより、データ処理部１２０は、符号化ファイル１３３に基づいてデータ処理を行う場合に、符号化ファイル１３３を伸長しなくても、カウントマップ１３２を用いることで、データ処理を実行することが可能になる。この結果、データ処理部１２０は、データ処理の実行指示から実行結果を得るまでの処理時間を短縮することができる。
【００４１】
［符号化処理の処理手順］
図７は、実施例に係る符号化部の処理手順を示すフローチャートである。
【００４２】
図７に示すように、符号化部１１０は、符号化対象の文書データを入力する（ステップＳ１１）。符号化対象の文書データには、複数の未符号化状態のレコードが含まれている。なお、符号化対象の文書データは、以降、入力データというものとする。
【００４３】
符号化部１１０は、入力データを字句解析する（ステップＳ１２）。例えば、符号化部１１０は、入力データに含まれるレコードごとに、単語単位に分割する。
【００４４】
続いて、符号化部１１０は、レコードごとに、単語ごとの出現回数をカウントし、カウントマップ１３２を生成する（ステップＳ１３）。例えば、符号化部１１０は、レコードを順番に選択する。符号化部１１０は、選択したレコードに含まれる単語の出現回数をカウントする。符号化部１１０は、全てのレコードについて、単語の出現回数をカウントする。符号化部１１０は、レコードごと且つ単語ごとの出現回数を用いて、カウントマップ１３２を生成する。符号化部１１０は、カウントマップ１３２を記憶部１３０に格納する。
【００４５】
続いて、符号化部１１０は、単語辞書１３１を用いて、入力データを符号化する（ステップＳ１４）。例えば、符号化部１１０は、入力データの分割された単語を順番に選択する。符号化部１１０は、単語辞書１３１から、選択した単語の圧縮符号を取得する。符号化部１１０は、取得した圧縮符号を、選択した単語に割り当てる。符号化部１１０は、分割された全ての単語に圧縮符号を割り当て、入力データの符号化データを生成する。
【００４６】
続いて、符号化部１１０は、符号化済みの文書データ（符号化データ）およびカウントマップ１３２を含む符号化ファイル１３３を記憶部１３０に格納する（ステップＳ１５）。例えば、符号化部１１０は、符号化ファイル１３３に符号化データを設定し、符号化ファイル１３３のトレーラ部にカウントマップ１３２を設定する。そして、符号化部１１０は、トレーラ部に格納されたカウントマップ１３２へのポインタを符号化ファイル１３３のヘッダ部に設定する。そして、符号化部１１０は、符号化ファイル１３３を記憶部１３０に格納する。
【００４７】
［データ処理の処理手順］
図８は、実施例に係るデータ処理部の処理手順を示すフローチャートである。
【００４８】
図８に示すように、データ処理部１２０は、データ処理の実行指示があったか否かを判定する（ステップＳ２１）。データ処理の実行指示がなかったと判定した場合には（ステップＳ２１；Ｎｏ）、データ処理部１２０は、データ処理の実行指示があるまで、判定処理を繰り返す。
【００４９】
一方、データ処理の実行指示があったと判定した場合には（ステップＳ２１；Ｙｅｓ）、データ処理部１２０は、データ処理対象の符号化ファイル１３３を入力する（ステップＳ２２）。データ処理部１２０は、符号化ファイル１３３に含まれるカウントマップ１３２を用いて、データ処理を実行する（ステップＳ２３）。
【００５０】
データ処理部１２０は、データ処理の処理結果を出力する（ステップＳ２４）。これにより、データ処理部１２０は、符号化ファイル１３３に基づいてデータ処理を行う場合に、符号化ファイル１３３を伸長しなくてもデータ処理を実行することで、データ処理の実行指示から実行結果を得るまでの処理時間を短縮することができる。
【００５１】
［データ管理処理の実装例］
次に、図９および図１０を参照して、実施例に係るデータ管理処理の実装例について説明する。
【００５２】
図９は、実施例に係るデータ管理処理の実装例を示す図である。図９では、テキストマイニングにおけるデータ処理を、Ｈａｄｏｏｐに適用した場合の実装例である。Ｈａｄｏｏｐでは、ＨＤＦＳにおいて、符号化部１１０によって圧縮（符号化）された符号化ファイル１３３が管理される。符号化ファイル１３３には、カウントマップ１３２が保持される。なお、ＨＤＦＳは、本実施例に係る内容の圧縮ライブラリを使用したものである。
【００５３】
図９右図に示すように、データマイニングにおけるデータ処理は、構文解析やｔｆ／ｉｄｆの計算処理から実行される。例えば、データ処理部１２０に対応する「ＩｎｐｕｔＦｏｒｍａｔ」は、構文解析やｔｆ／ｉｄｆの計算処理の実行指示を受け取ると、データ処理対象の符号化ファイル１３３のトレーラ部からカウントマップ１３２を取得する。そして、「ＩｎｐｕｔＦｏｒｍａｔ」は、「Ｍａｐ」、「Ｓｈｕｆｆｌｅ＆Ｓｏｒｔ」および「Ｒｅｄｕｃｅ」のアプリケーションに対して、カウントマップ１３２を用いた構文解析やｔｆ／ｉｄｆの計算処理を実行させる。
【００５４】
なお、実施例に係るデータ管理処理をＨａｄｏｏｐに実装した場合には、図９左図の字句解析と頻度集計は、不要となる。符号化部１１０は、未符号化状態のファイルを圧縮（符号化）する際に、頻度集計の結果である頻度情報（カウントマップ１３２）を生成し、符号化ファイル１３３に保持するからである。
【００５５】
また、実施例に係るデータ管理処理をＨａｄｏｏｐに実装した場合には、図９中図の品詞解析や集計は、不要となる。単語辞書１３１は、基礎単語に品詞を対応付けているからである。加えて、符号化部１１０は、未符号化状態のファイルを圧縮（符号化）する際に、頻度集計の結果である頻度情報（カウントマップ１３２）を生成し、符号化ファイル１３３に保持するからである。
【００５６】
図１０は、ＩｎｐｕｔＦｏｒｍａｔの実装例を示す図である。図１０に示すように、既存で実装されている「ＩｎｐｕｔＦｏｒｍａｔ」のインターフェースに「ＬＺＫＩｎｐｕｔＦｏｒｍａｔ」が追加される。
【００５７】
従来のデータ管理処理では、テキストマイニングにおける字句解析と頻度集計を実行する際に、圧縮（符号化）された符号化ファイルを伸長し、伸長したデータを用いて字句解析と頻度集計を実行する。そして、データ管理処理では、実行後に伸長したデータを字句解析しながら圧縮する。また、データ管理処理では、テキストマイニングにおける品詞解析や集計を実行する際に、圧縮された符号化ファイルを伸長し、伸長したデータを用いて品詞解析や集計を実行する。そして、データ管理処理では、実行後に伸長したデータを字句解析しながら圧縮する。また、データ管理処理では、テキストマイニングにおける構文解析やｔｆ／ｉｄｆを実行する際に、圧縮された符号化ファイルを伸長し、伸長したデータを用いてさらに頻度集計をしたうえで構文解析やｔｆ／ｉｄｆを実行する。そして、データ管理処理では、実行後に伸長したデータを字句解析しながら圧縮する。このようにして、従来のデータ管理処理では、同じ処理（例えば、圧縮処理、伸長処理、字句解析、頻度集計など）を何回も繰り返すため、テキストマイニングにおけるデータ処理を効率的に実行できない。
【００５８】
これに対して、実施例に係るデータ管理処理では、未符号化状態のファイルの符号化の段階で頻度情報を生成し、生成した頻度情報を符号化ファイル１３３に保持するので、テキストマイニングにおけるデータ処理を効率的に実行できる。この結果、実施例に係るデータ管理処理では、処理を実行するコンピュータに関して、同じ結果を得る複数の処理の処理量を少なくすることができる。加えて、実施例に係るデータ管理処理では、データ処理の実行指示から実行結果を得るまでの処理時間を短縮することができる。
【００５９】
また、実施例に係るデータ管理処理は、集計情報を符号化データと一元化して格納するので、未符号化状態のデータ（平文のデータ）が不要となり、格納容量を小さくすることができる。
【００６０】
［実施例の効果］
このようにして、上記実施例では、情報処理装置１００は、単語群のそれぞれに符号を割り当てた単語辞書１３１を用いた、テキストデータの符号化と、単語群のそれぞれについてのテキストデータ内の出現頻度を示す頻度情報の生成を実行する。情報処理装置１００は、生成された頻度情報を、符号化された符号化テキストデータと関連付けて記憶部１３０に記憶する。かかる構成によれば、情報処理装置１００は、符号化された符号化テキストデータを伸長せずに、頻度情報を出力することができ、テキストマイニングの処理時間を短縮できる。
【００６１】
また、上記実施例では、情報処理装置１００は、符号化された符号化テキストデータに対して単語ごとの出現頻度の解析指示を受け付けた場合に、符号化された符号化テキストデータに関連付けられた頻度情報を出力する。かかる構成によれば、情報処理装置１００は、出力される頻度情報を用いることで、単語ごとの出現頻度の解析処理の処理時間を短縮できる。すなわち、情報処理装置１００は、符号化された符号化テキストデータに対して単語ごとの出現頻度の解析処理を行う場合に、当該解析処理の実行指示から実行結果を得るまでの処理時間を短縮できる。
【００６２】
また、上記実施例では、情報処理装置１００は、単語群のそれぞれについてテキストデータを所定の単位で区切った単位で頻度情報を生成する。かかる構成によれば、情報処理装置１００は、レコード（文書）単位で頻度情報を生成することで、生成された頻度情報をテキストマイニングで利用することができる。
【００６３】
［情報処理装置のハードウェア構成］
図１１は、情報処理装置のハードウェア構成の一例を示す図である。図１１に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータ入力を受け付ける入力装置５０２と、モニタ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラムなどを読み取る媒体読取装置５０４と、他の装置と接続するためのインターフェース装置５０５と、他の装置と無線により接続するための無線通信装置５０６とを有する。また、コンピュータ５００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）５０７と、ハードディスク装置５０８とを有する。また、各装置５０１〜５０８は、バス５０９に接続される。
【００６４】
ハードディスク装置５０８には、図３に示した符号化部１１０およびデータ処理部１２０と同様の機能を有するデータ管理プログラムが記憶される。また、ハードディスク装置５０８には、データ管理プログラムを実現するための各種データが記憶される。各種データには、図３に示した記憶部１３０内のデータが含まれる。
【００６５】
ＣＰＵ５０１は、ハードディスク装置５０８に記憶された各プログラムを読み出して、ＲＡＭ５０７に展開して実行することで、各種の処理を行う。これらのプログラムは、コンピュータ５００を図３に示した各機能部として機能させることができる。
【００６６】
なお、上記の文書処理プログラムは、必ずしもハードディスク装置５０８に記憶されている必要はない。例えば、コンピュータ５００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ５００が読み出して実行するようにしてもよい。コンピュータ５００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリなどの可搬型記録媒体、フラッシュメモリなどの半導体メモリ、ハードディスクドライブなどが対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）などに接続された装置にこのプログラムを記憶させておき、コンピュータ５００がこれらからプログラムを読み出して実行するようにしても良い。
【符号の説明】
【００６７】
１００  情報処理装置
１１０  符号化部
１１１  単語カウント部
１１２  符号割当部
１１３  符号化ファイル格納部
１２０  データ処理部
１３０  記憶部
１３１  単語辞書
１３２  カウントマップ
１３３  符号化ファイル
【図１】
2016170750.tif 000003
【図２】
2016170750.tif 000004
【図３】
2016170750.tif 000005
【図４】
2016170750.tif 000006
【図５】
2016170750.tif 000007
【図６】
2016170750.tif 000008
【図７】
2016170750.tif 000009
【図８】
2016170750.tif 000010
【図９】
2016170750.tif 000011
【図１０】
2016170750.tif 000012
【図１１】
2016170750.tif 000013