全文検索システム『ひまわり』

目次

1.はじめに

  • 「青空文庫」(テキスト版)を例に,テキストファイルを『ひまわり』で利用するための方法を説明します。
    • テキストファイルを『ひまわり』にインポートする方法
    • 形態素解析結果をアノテーションする方法
    • 作成した言語資料を利用する方法
  • ただし,次のことに注意して下さい。
    • 『ひまわり』ver.1.5 を使用します。ver.1.3 では動作しません。
    • 作業環境として,Windows 環境を想定しています。

2.用意するもの

3.資料のインポート手順

3.1 検索用テキストファイルの収集

 まず,検索用のテキストファイルを集めます。ここで対象とする「テキストファイル」とは,ファイル名が「〜.txt」というように,「.txt」で終わるファイルのことです。今回は,簡単のためにサンプルアーカイブを用意しました。アーカイブを解凍し,次のようなフォルダの構造で,四つの作品が収録されていることを確認してください。

+ 青空サンプル
  +- 芥川竜之介
  |  +- 蜘蛛の糸.txt
  |  +- 羅生門.txt
  |
  +- 宮沢賢治
     +- 風の又三郎.txt
     +- 銀河鉄道の夜.txt

 もちろん,自分でテキストファイルを収集したり,テキストエディタで作成したりしてもかまいません。ただし,その際は,上記のように,一つのフォルダの中にファイルをまとめてください。また,著者名をフォルダ名に,作品名をファイル名にすると,著者名,作品名を検索のときに利用できます。ファイル名の末尾は,「.txt」にすることにも注意してください。

 「青空文庫」の作品を収集する場合は,「ファイル種別」が「テキストファイル」のデータをダウンロードして下さい。次の図は,芥川竜之介の「芋粥」のダウンロードベージです。ただし,今回,テキストファイルを使用するのは,資料のインポートの仕組みを説明するためです。もし,実際の資料として利用する場合は,著者・作品名などの情報を自動的に収集できるため,XHTML版の利用をお勧めします(その場合も,青空文庫であれば,インポートの方法は変わりません)。

テキストのダウンロード

3.2 『ひまわり』へのインポート

 上記の四つのファイルを『ひまわり』にインポートします。インポートするには,検索用のテキストファイルをまとめたフォルダ(上記の場合は,「青空サンプル」フォルダ)を『ひまわり』にドラッグ&ドロップするか,[ファイル]→インポートで当該フォルダを指定して下さい。

インポートの実行

 すると,次のウィンドウが現れます。デフォルトでは,自動的にコーパス名が「青空サンプル」になります。好きな名前を付けてもかまいません。設定が済んだら,「インポート」ボタンを押して,インポートを開始します。

インポートの対象

 1〜2分程度でインポートは終了し,成功すれば,次のような画面が出てきます。これで,『ひまわり』へのインポートは完了し,検索できる状態になります。

インポート結果

3.3 インポートした資料の確認

 それでは,用意した資料をすべて取り込めたかを確認するために,作品一覧を出してみます。[ツール]→[一覧]→「タイトル,著者」を実行して下さい。正しく取り込めていれば,次のようなリストが表示されるはずです。「タイトル」欄には,ファイル名に指定した作品名が,「path」欄にはコーパス名,フォルダ構造をまとめた情報が表示されます。

作品一覧

3.4 インポートした資料の選択

 『ひまわり』は設定ファイルを切り替えて,検索対象の資料を選択します。インポート機能を利用して作成した資料にも,専用の設定ファイルが自動的に作成されます。『ひまわり』がインストールされているフォルダに,次の二つの設定ファイルが作成されていることを確認して下さい。

  • config_(コーパス名).xml ... 全文検索機能のみを利用する場合の設定ファイル
  • config_(コーパス名).db.xml ... 人手のアノテーション,形態素解析結果のアノテーションなど,データベースを利用する場合の設定ファイル

 インポートした直後は,config_(コーパス名).xml が読み込まれた状態になります。別の設定ファイルを読み込むには,[ファイル]→「新規」を使って下さい。

設定ファルの読み込み

 資料をインポートした時点で,config_(コーパス名).xml の機能をすべて利用することができます。これは,『ひまわり』ver.1.3 の機能と同等です。検索方法を始めとした具体的な使い方は,利用者マニュアルを参照して下さい。

 config_(コーパス名).db.xml の固有の機能,つまり,各種のアノテーションに関連する機能を利用するには,次節以降に述べることにします。そのため,[ファイル]→「新規」で,config_(コーパス名).db.xml を読み込んでおいてください。

4.形態素解析結果の取り込み

ver.1.6では,操作が変更になりました。資料は準備中です

 『ひまわり』ver.1.5 から,外部プログラムによるアノテーション結果や人手のアノテーションを『ひまわり』内部のデータベースに取り込むことができるようになりました。本節では,形態素解析システムの結果を『ひまわり』に取り込む方法について説明します。

4.1 形態素解析システムのインストール

 今回は,形態素解析システムとして,MeCab(主に,Windows版)を例に説明します。config_(コーパス名).db.xml には,MeCab のほか,JUMAN 用の設定が付属しています。

 Windows 版の MeCab のインストールは,Binary package for MS-Windowsをダウンロードし,インストーラにしたがって,インストールして下さい。インストール時に「辞書の文字コード」の選択がありますが,「Shift_JIS」を選んで下さい。

 Windows 版以外の OS については,ソースをコンパイルするか,使用しているディストリビューションのパッケージを利用して下さい。なお,辞書の文字コードは,使用している OS のデフォルトの文字コードを指定して下さい。

MeCab文字コード

4.2 形態素解析結果の取り込みの実行

 形態素解析結果を『ひまわり』のデータベースに取り込むには,[ツール]→[アノテーション]→「MeCab」を実行して下さい。

MeCab実行

 「アノテーション完了」のメッセージが出れば,終了です。実行直後に終了してしまったり,エラーメッセージが出る場合は,himawari_debug.exe で再度同じ操作をして『ひまわり』側のエラーメッセージを見る,MeCab 自体の動作確認をするなどを行なってみて下さい。

MeCab終了

5.言語資料の利用

 ここでは,形態素解析結果の利用を中心として,インポートした言語資料の利用方法を説明します。

5.1 形態素での検索

 形態素単位での検索を行うには,「検索対象」のリストから「基本形」「出現形」「読み」のいずれかを選択します。  

検索対象
  • 基本形: 活用語の基本形で検索します。活用語のすべての語形を一括して検索する場合に利用します。
  • 出現形: 活用語の場合,テキストに出現した語形で検索します。なお,活用語でなければ,基本形も出現形の区別はありません。
  • 読み: 読みで検索します。使用する形態素解析システムや解析用辞書にもよりますが,MeCab (Windows版)の配布パッケージでは,読みはカタカナです。

5.2 検索結果(形態素での検索の場合)

 下図は,基本形「です」の検索結果です。検索結果には,検索文字列と前後2形態素の情報が含まれます。前後2形態素の情報としては,「基本形-2」「基本形-1」「基本形1」「基本形2」列があります。「基本形」の後の数字は検索文字列との相対位置を表し,1ならば一つ後となります。負数の場合は,検索文字列よりも前にある形態素を表します。例えば,-2 の場合,二つ前の形態素を表します。

検索結果

5.3 検索結果(文字列検索の場合)

 5.2 では,形態素での検索でしたが,単純な文字列検索の場合,どのような結果になるか説明します。下図は,検索対象を「本文」にして,「でした」を検索した結果です。

検索結果

 「でした」は「です」+「た」の2形態素で構成されます。検索文字列が単一の形態素でない場合,「基本形」「品詞」「活用形」欄は空欄になります。また,前後の形態素の欄は,検索文字列の1つ目の形態素を基準として,結果が表示されます。「でした」の場合,1つ目の形態素が「です」なので,基本形1には「た」が入ります。

5.4 結果の集計

 ここでは,検索文字列の周辺の形態素の分布を簡単に集計してみます。例として,5.2 で検索した基本形「です」の一つ後の形態素を求めてみます。集計対象は,集計対象の列のセルを下図のように選択するだけです。「キー」欄には複数の語形が含まれるので,「キー」欄と「基本形1」欄を集計対象にします。複数のセルを選択する場合は,CTRL キーを押しながら選択します。

検索結果

 集計対象を選択したら,右クリックしてポップアップメニューを表示し,「統計」を選択します。実行結果は,次のとおりです。この結果では,「です」+「。」が最も多く,942回出現していることが分かります。

集計結果

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-22 (火) 00:00:00 (517d)