[[全文検索システム『ひまわり』]] &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]]のインストール -テキストエディタ ... 以下のテキストファイルの編集ができるもの --文字コード: Unicode (UTF-16 Byte Order Mark 付き) --改行コード: LF --例: [[サクラエディタ(ver.2.x)>http://sakura-editor.sourceforge.net/]], [[秀丸エディタ>http://hide.maruo.co.jp/software/hidemaru.html]] - 検索用テキストファイルのサンプルアーカイブ - 検索用テキストファイル(必要に応じて,各自用意) -- 練習用の[[サンプル>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.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,80%,インポートの対象); 1〜2分程度でインポートは終了し,成功すれば,次のような画面が出てきます。これで,『ひまわり』へのインポートは完了し,検索できる状態になります。 #ref(./import_result.png,center,wrap,70%,インポート結果); ** 3.3 インポートした資料の確認 [#mb059f45] それでは,用意した資料をすべて取り込めたかを確認するために,作品一覧を出してみます。[ツール]→「タイトル,著者」を実行して下さい。正しく取り込めていれば,次のようなリストが表示されるはずです。「タイトル」欄には,ファイル名に指定した作品名が,「path」欄にはコーパス名,フォルダ構造をまとめた情報が表示されます。 それでは,用意した資料をすべて取り込めたかを確認するために,作品一覧を出してみます。[ツール]→[一覧]→「タイトル,著者」を実行して下さい。正しく取り込めていれば,次のようなリストが表示されるはずです。「タイトル」欄には,ファイル名に指定した作品名が,「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 の固有の機能,つまり,各種のアノテーションに関連する機能を利用するには,次節以降に述べることにします。そのため,[ファイル]→「新規」で,config_(コーパス名).db.xml を読み込んでおいてください。 * 4.形態素解析結果の取り込み [#ya1a6fb5] * 4.形態素解析結果の取り込み [#z34eb823] &color(red){&size(20){ver.1.6では,操作が変更になりました。資料は準備中です};}; 『ひまわり』ver.1.5 から,外部プログラムによるアノテーション結果や人手のアノテーションを『ひまわり』内部のデータベースに取り込むことができるようになりました。本節では,形態素解析システムの結果を『ひまわり』に取り込む方法について説明します。 ** 4.1 形態素解析システムのインストール [#yd25ac2c] ** 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 形態素解析結果の取り込みの実行 [#n642fcf7] ** 4.2 形態素解析結果の取り込みの実行 [#y9c7e323] 形態素解析結果を『ひまわり』のデータベースに取り込むには,[ツール]→[アノテーション]→「MeCab」を実行して下さい。 #ref(./execute_mecab.png,center,wrap,80%,MeCab実行); 「アノテーション完了」のメッセージが出れば,終了です。実行直後に終了してしまったり,エラーメッセージが出る場合は,himawari_debug.exe で『ひまわり』側のエラーメッセージを見る,MeCab 自体の動作確認をするなどを行なってみて下さい。 「アノテーション完了」のメッセージが出れば,終了です。実行直後に終了してしまったり,エラーメッセージが出る場合は,himawari_debug.exe で再度同じ操作をして『ひまわり』側のエラーメッセージを見る,MeCab 自体の動作確認をするなどを行なってみて下さい。 #ref(./finish_mecab.png,center,wrap,80%,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.言語資料のインポートの詳細