[PukiWiki]

全文検索システム『ひまわり』/簡単な検索用データの作成方法2 の履歴の現在との差分(No.10)


  • 履歴一覧
  • 差分 を表示
  • ソース を表示
  • 履歴 を表示
  • 全文検索システム『ひまわり』/簡単な検索用データの作成方法2 へ行く。
    • 1 (2014-02-16 (日) 22:40:41)
    • 2 (2014-02-16 (日) 22:40:59)
    • 3 (2014-02-16 (日) 22:41:59)
    • 4 (2014-02-17 (月) 19:51:27)
    • 5 (2014-02-17 (月) 19:52:02)
    • 6 (2014-02-17 (月) 19:53:05)
    • 7 (2014-02-17 (月) 19:55:11)
    • 8 (2014-02-17 (月) 19:55:26)
    • 9 (2014-02-17 (月) 20:10:39)
    • 10 (2014-02-17 (月) 20:15:42)
    • 11 (2014-02-17 (月) 20:16:30)
    • 12 (2014-02-17 (月) 20:16:49)
    • 13 (2014-02-17 (月) 20:17:11)
    • 14 (2014-02-17 (月) 20:35:17)
    • 15 (2014-02-17 (月) 20:37:23)
    • 16 (2014-02-17 (月) 20:37:34)
    • 17 (2014-02-17 (月) 20:39:54)
    • 18 (2014-02-17 (月) 21:45:00)
    • 19 (2014-02-19 (水) 15:02:10)
    • 20 (2014-02-19 (水) 15:02:28)
    • 21 (2014-02-19 (水) 15:07:50)
    • 22 (2014-02-19 (水) 15:08:51)
    • 23 (2014-02-19 (水) 15:10:50)
    • 24 (2014-02-20 (木) 21:23:43)
    • 25 (2014-02-20 (木) 21:24:32)
    • 26 (2014-02-20 (木) 21:29:45)
    • 27 (2014-02-20 (木) 21:30:26)
    • 28 (2014-02-20 (木) 21:30:48)
    • 29 (2014-02-22 (土) 21:49:54)
    • 30 (2014-02-22 (土) 21:50:50)
    • 31 (2014-02-22 (土) 22:33:10)
    • 32 (2014-02-22 (土) 22:33:10)
    • 33 (2014-02-22 (土) 22:33:10)
    • 34 (2014-02-24 (月) 17:33:16)
    • 35 (2014-02-24 (月) 18:08:12)
    • 36 (2014-02-24 (月) 18:13:22)
    • 37 (2014-02-24 (月) 18:15:37)
    • 38 (2014-02-24 (月) 18:16:13)
    • 39 (2014-02-24 (月) 18:25:13)
    • 40 (2014-02-24 (月) 18:27:47)
    • 41 (2014-02-24 (月) 18:29:04)
    • 42 (2014-02-24 (月) 19:11:03)
    • 43 (2014-02-26 (水) 11:43:49)
    • 44 (2014-02-26 (水) 12:14:58)
    • 45 (2014-02-26 (水) 12:16:29)
    • 46 (2014-02-26 (水) 12:17:01)
    • 47 (2014-03-01 (土) 23:29:20)
    • 48 (2014-03-01 (土) 23:29:53)
    • 49 (2014-03-02 (日) 22:38:48)
    • 50 (2014-03-02 (日) 22:40:23)
    • 51 (2014-03-02 (日) 22:40:53)
    • 52 (2014-03-02 (日) 23:04:31)
    • 53 (2014-03-02 (日) 23:13:39)
    • 54 (2014-03-02 (日) 23:22:26)
    • 55 (2014-03-03 (月) 15:39:02)
    • 56 (2014-03-03 (月) 15:43:22)
    • 57 (2014-03-03 (月) 16:12:17)
    • 58 (2014-03-03 (月) 16:17:16)
    • 59 (2014-03-03 (月) 16:18:42)
    • 60 (2014-03-03 (月) 16:31:12)
    • 61 (2014-03-03 (月) 16:31:37)
    • 62 (2014-03-03 (月) 16:49:02)
    • 63 (2014-04-14 (月) 18:24:36)
    • 64 (2014-04-14 (月) 18:24:36)
    • 65 (2014-04-14 (月) 18:24:36)

  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[全文検索システム『ひまわり』]]


&color(red){&size(20){本ページは作成中です。};};
//&color(red){&size(20){本ページは作成中です。};};



目次
#contents

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

*2.用意するもの [#aa9649a3]
-[[『ひまわり』 ver.1.5 >全文検索システム『ひまわり』/ダウンロード/『ひまわり』ver.1.5]]のインストール
-テキストエディタ()
--[[サクラエディタ(ver.2.x)>http://sakura-editor.sourceforge.net/]]
--[[「秀丸エディタ」:http://hide.maruo.co.jp/software/hidemaru.html]]
--なお,上記以外のテキストエディタをお使いの方は,次の条件のファイルを作成できるエディタをご用意ください。お使いのエディタで作成できない場合は,文字コード変換プログラムを利用して,文字コードと改行コードを変換してください。
--文字コード: Unicode (UTF-16 Byte Order Mark 付き)
--改行コード: LF
- 検索用テキストファイルのサンプルアーカイブ
- 検索用テキストファイル(必要に応じて,各自用意)
-- 練習用の[[サンプル>http://csd.ninjal.ac.jp/archives/Himawari/sample_data_aozora_20140303.zip]] ([[「青空文庫」>http://www.aozora.gr.jp/]]から4作品を収録)
//-テキストエディタ ... 以下のテキストファイルの編集ができるもの
//--文字コード: Unicode (UTF-16 Byte Order Mark 付き)
//--改行コード: LF
//--例: [[サクラエディタ(ver.2.x)>http://sakura-editor.sourceforge.net/]], [[秀丸エディタ>http://hide.maruo.co.jp/software/hidemaru.html]]

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

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

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

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

#ref(./text_download.png,center,wrap,100%,テキストのダウンロード);




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

#ref(./import_menu.png,center,wrap,90%,インポートの実行);

 すると,次のウィンドウが現れますので,「参照」ボタンを押して,検索用のテキストファイルをまとめたフォルダ(上記の場合は,「青空サンプル」フォルダ)を選択して下さい。選択すると,自動的にコーパス名が「青空サンプル」になります。好きな名前を付けてもかまいません。設定が済んだら,「インポート」ボタンを押して,インポートを開始します。
 すると,次のウィンドウが現れます。デフォルトでは,自動的にコーパス名が「青空サンプル」になります。好きな名前を付けてもかまいません。設定が済んだら,「インポート」ボタンを押して,インポートを開始します。

#ref(./import_target.png,center,wrap,around,90%,インポートの対象);
#ref(./import_target.png,center,wrap,80%,インポートの対象);

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

#ref(./import_result.png,center,wrap,around,90%,インポート結果);
#ref(./import_result.png,center,wrap,70%,インポート結果);

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

#ref(./import_article_list2.png,center,wrap,90%,作品一覧);


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

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

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

#ref(./new.png,center,wrap,90%,設定ファルの読み込み);

 資料をインポートした時点で,config_(コーパス名).xml の機能をすべて利用することができます。これは,『ひまわり』ver.1.3 の機能と同等です。検索方法を始めとした具体的な使い方は,[[利用者マニュアル>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9%2F%CD%F8%CD%D1%BC%D4%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB%2F1_5]]を参照して下さい。

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

* 4.形態素解析結果の取り込み [#z34eb823]

&color(red){&size(20){ver.1.6では,操作が変更になりました。資料は準備中です};};


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

** 4.1 形態素解析システムのインストール [#qd0ac55f]
 今回は,形態素解析システムとして,[[MeCab>http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html]](主に,Windows版)を例に説明します。config_(コーパス名).db.xml には,MeCab のほか,[[JUMAN>http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN]] 用の設定が付属しています。

 Windows 版の MeCab のインストールは,[[Binary package for MS-Windows>http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#download]]をダウンロードし,インストーラにしたがって,インストールして下さい。インストール時に「辞書の文字コード」の選択がありますが,「Shift_JIS」を選んで下さい。

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

#ref(./mecab_inst_encoding.png,center,wrap,90%,MeCab文字コード);

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

#ref(./execute_mecab.png,center,wrap,80%,MeCab実行);

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

#ref(./finish_mecab.png,center,wrap,100%,MeCab終了);


* 5.言語資料の利用 [#rc8f59e1]

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

** 5.1 形態素での検索 [#o6262222]
 形態素単位での検索を行うには,「検索対象」のリストから「基本形」「出現形」「読み」のいずれかを選択します。
 
#ref(./target_list.png,center,wrap,100%,検索対象);

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

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

#ref(./search_result01.png,center,wrap,80%,検索結果);

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

#ref(./search_result02.png,center,wrap,80%,検索結果);

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

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

#ref(./stat01.png,center,wrap,80%,検索結果);

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

#ref(./stat_result01.png,center,wrap,100%,集計結果);

//* 6.言語資料のインポートの詳細


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS