#author("2020-10-01T08:56:40+00:00","default:rd","rd") #author("2021-10-08T13:33:48+09:00","default:rd","rd") [[全文検索システム『ひまわり』]] RIGHT:作成者:山口昌也 (国立国語研究所) RIGHT:2020-09-30 #br 目次 #contents *1.はじめに [#f8ad28fc] -『ひまわり』の検索用データの作成方法について説明します。 -ここでは,タグ付けされていないテキストに書誌情報をタグ付けした簡単な XML 文書を作成します。 //-作業環境として,Windows 環境を想定しています。 *2.用意するもの [#aa9649a3] -[[『ひまわり』(ver.1.6以降)>全文検索システム『ひまわり』#v1fd23c0]]のインストール //--ver.1.2β02 以下のバージョンでは正常に動作しません。 //--『太陽コーパス』に同梱されている『ひまわり』は ver.1.1 ですのでご注意ください。 -検索対象のテキスト -テキストエディタ -- Windows の場合: [[サクラエディタ>https://sakura-editor.github.io/]],[[秀丸エディタ>https://hide.maruo.co.jp/software/hidemaru.html]] -- macOS の場合: [[mi>http://www.mimikaki.net/]] -- なお,上記以外のエディタをお使いの方は,次の条件のファイルを作成できるエディタをご用意ください。お使いのエディタで作成できない場合は,文字コード変換プログラムを利用して,文字コードと改行コードを変換してください。 ---文字コード: Unicode (UTF-16 BOM 付き) ---改行コード: LF -&ref(https://csd.ninjal.ac.jp/archives/Himawari/simpledoc.zip); ... ダウンロードしておいてください。 *3.作成手順 [#ecb6e274] **3.1 書誌情報のタグ付け [#vbc26518] 検索対象のテキストをエディタで開いてください。ここでは,芥川龍之介の「[[蜘蛛の糸>https://www.aozora.gr.jp/cards/000879/card92.html]]」を開いています。 #ref(sakura.png,,エディタで開く,center) 次に書誌情報として,「著者」と「タイトル」を付与することにします。まず,文書の先頭に次のタグを付け加えてください。これを「開始タグ」と言います。 <simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介"> 上の例のように,半角の <> で囲われた部分がタグです。「simpledoc」は,タグの名前です。このタグの属性として,「タイトル」と「著者」を埋め込みます。= や " は半角であることに注意してください。 <simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介"> ある日の事でございます。御釈迦様は極楽の蓮池のふちを、独りでぶらぶら御歩き になっていらっしゃいました。池の中に咲いている蓮の花は、みんな玉のようにまっ 白で、そのまん中にある金色の蕊からは、何とも云えない好い匂が、絶間なくあたり へ溢れて居ります。極楽は丁度朝なのでございましょう。 次に,文書の末尾に,開始タグと対応する「終了タグ」の「</simpledoc>」をつけます。これで,開始タグと終了タグで囲まれた範囲の書誌情報が記述できたことになります。 しかし極楽の蓮池の蓮は、少しもそんな事には頓着致しません。その玉のような白 い花は、御釈迦様の御足のまわりに、ゆらゆら萼を動かして、そのまん中にある金色 の蕊からは、何とも云えない好い匂が、絶間なくあたりへ溢れて居ります。極楽もも う午に近くなったのでございましょう。 </simpledoc> 最後に,今作成した文書全体を「corpus」タグで囲います。文書の先頭には,開始タグの「<corpus>」,文書の末尾には,終了タグの「</corpus>」をつけてください。また,この文書がXMLで記述されていることを表すために,「<?xml version="1.0" encoding="utf-16" ?>」をファイルの冒頭に書き込んでください。 <?xml version="1.0" encoding="utf-16" ?> <corpus> <simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介"> ある日の事でございます。御釈迦様は極楽の蓮池のふちを、独りでぶらぶら御歩き になっていらっしゃいました。池の中に咲いている蓮の花は、みんな玉のようにまっ 白で、そのまん中にある金色の蕊からは、何とも云えない好い匂が、絶間なくあたり へ溢れて居ります。極楽は丁度朝なのでございましょう。 :(中略) しかし極楽の蓮池の蓮は、少しもそんな事には頓着致しません。その玉のような白 い花は、御釈迦様の御足のまわりに、ゆらゆら萼を動かして、そのまん中にある金色 の蕊からは、何とも云えない好い匂が、絶間なくあたりへ溢れて居ります。極楽もも う午に近くなったのでございましょう。 </simpledoc> </corpus> 以上で,タグ付けは終了です。 **3.2 複数の文書を一度に検索できるようにする [#ib9deef0] 3.1 では,一つの作品に対して,書誌情報をつけました。しかし,たくさんの作品を一度に検索したいことがよくあると思います。 そこで,別の作品を追加する方法について説明します。ここでは,同じ芥川龍之介の「猿蟹合戦」を追加してみます。なお,一つの文書を検索できるだけでよい場合は,この節は読み飛ばしてかまいません。 追加方法は簡単で,「蜘蛛の糸」のあとに,「猿蟹合戦」を追加するだけです。エディタで追加するテキストをコピーして,「蜘蛛の糸」のあとに貼り付けましょう。結果は,次のようになります。 <corpus> <simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介"> ある日の事でございます。御釈迦様は極楽の蓮池のふちを、独りでぶらぶら御歩き :(中略) の蕊からは、何とも云えない好い匂が、絶間なくあたりへ溢れて居ります。極楽もも う午に近くなったのでございましょう。 </simpledoc> <simpledoc タイトル="猿蟹合戦" 著者="芥川龍之介"> 蟹の握り飯を奪った猿はとうとう蟹に仇を取られた。蟹は臼、蜂、卵と共に、怨敵 の猿を殺したのである。――その話はいまさらしないでも好い。ただ猿を仕止めた後、 蟹を始め同志のものはどう云う運命に逢着したか、それを話すことは必要である。な ぜと云えばお伽噺は全然このことは話していない。 :(中略) とにかく猿と戦ったが最後、蟹は必ず天下のために殺されることだけは事実である。 語を天下の読者に寄す。君たちもたいてい蟹なんですよ。 </simpledoc> </corpus> さらに別の文書を追加したい場合も,同じ方法で追加することができます。ただし,追加した結果の文書全体を「corpus」タグで囲うのを忘れないでください。 **3.3 文書の保存 [#rc2b60fd] 次に,作成した文書を保存します。保存するときのファイル名は,corpus.xml としてください。また,すでに,説明したように,文字コードはUnicode (UTF-16,BOM 付き),改行コードは LF としてください。 「サクラエディタ」では,次の設定で保存します。「BOM」がチェックされていることに注意してください。なお,冒頭で紹介した macOS 用のエディタ mi では,BOMの設定がありませんが,UTF-16を選択すれば,BOM付きのファイルになるようです。 #ref(sakura_save.png,,文書の保存,center,90%) **3.4 作成した文書のチェックをする [#q4b27f3c] 作成した文書を『ひまわり』にインストールする前に,正しい形式の XML 文書(well-formed)かどうか,確かめます。 確かめるには,corpus.xml を Web ブラウザにドラッグ&ドロップしてみてください。本ページ作成時点では,Firefox, Chrome, Internet Explorer, Microsoft Edge (Chromium版)で実行できました。Safari やMicrosoft Edge (レガシー版)では使えません。 正しい形式のXML文書だと,次のように文書全体の構造が表示されます。なお,これは,Firefox での実行結果です。 #ref(./validation_success.png,75%) 一方,タグの対応関係が正しく記述されないなどの問題があると,次のようにエラーが表示されます。エラーが表示されたら,もう一度 corpus.xml を見直しましょう。 #ref(./validation_fail.png,75%) **3.5 作成した文書のインストール [#eb817269] チェックが終わったら,作成した文書(corpus.xml)を『ひまわり』にインストールします。『ひまわり』がまだインストールされていない場合は,[[『ひまわり』利用者マニュアル>全文検索システム『ひまわり』/利用者マニュアル]]を参照して,『ひまわり』のインストールを完了させてください。最新版の『ひまわり』は[[ダウンロードのページ>全文検索システム『ひまわり』#download]]にあります。 corpus.xml のインストールは,次の手順で行ってください。 +「準備」のところで示した &ref(simpledoc.zip); を解凍してください。このファイルは,zip 形式で圧縮されています。Windows であれば,マウスでファイルを右クリック後,「すべて展開」を行うことにより,解凍できます。 +「準備」のところで示した &ref(https://csd.ninjal.ac.jp/archives/Himawari/simpledoc.zip); を解凍してください。このファイルは,zip 形式で圧縮されています。Windows であれば,マウスでファイルを右クリック後,「すべて展開」を行うことにより,解凍できます。 +解凍すると,「Himawari_Simpledoc」というフォルダが現れます。その中に「Corpora」というフォルダがあることを確認してください。そして,「Corpora」フォルダの中に,「Simpledoc」フォルダがあるはずです。このフォルダに,作成した corpus.xml をコピーしてください。 -- なお,参考用に上記の例の corpus.xml が同梱されています。コピーする際,上書きの確認が出るかもしれませんが,そのまま上書きコピーしてください。 + 『ひまわり』を起動し,Himawari_Simpledoc フォルダを『ひまわり』にドラッグ&ドロップしてください。 -- この処理により,corpus.xml を含め,関連するファイルが『ひまわり』にインストールされます。 **3.6 索引付け&aname(indexing); [#oe76c2fb] 次に,インストールした corpus.xml に対して,「索引付け」を行います。「索引付け」は,高速に全文検索するために必要な処理です。 索引付けの手順は,次のとおりです。 +『ひまわり』を起動してください。 +[ファイル]→[コーパス選択]を実行し,「simpledoc」を選んでください。 +[ツール]→[構築]→[インデックス生成]を実行してください。 &br;&color(red){''注:'' この際,「すべて初期化」オプションにチェックを入れてください};。 +「インデックス生成が終了しました。」と表示されれば,索引付けは終了です。 以上で,検索用データ作成は終了です。実際に検索してみてください。検索結果をダブルクリックすると,『ひまわり』用の他の言語資料のように,文書全体が表示されます。 * 4. 参考資料 [#q3423bd0] もっと知りたい場合は,[[『ひまわり』ホームページの「文書 」>全文検索システム『ひまわり』#c559b574]]などを参考にしてください。『ひまわり』用のデータを作成する場合は,特に次の資料を参照してみてください。 - [[テキストデータのインポート方法主体の内容>https://csd.ninjal.ac.jp/archives/Resources/himawari_lesson20190727.pdf]](ver.1.6, 2019-07-27,[[要事前準備>https://www2.ninjal.ac.jp/masaya/index.php?pub%2Flesson20190727]]) -[[全文検索システム『ひまわり』を用いた既存資料の活用(第7回コーパス日本語学ワークショップにおけるチュートリアル資料)>http://csd.ninjal.ac.jp/archives/Resources/ws2015_tutorialkit_pub_20150522.zip]](実習用サンプルデータ追加, 2015-05-22) -- 資料p.45以降(「インポートした資料の活用」)部分はすでに古い情報で,現在の『ひまわり』では使用できません。 //**テスト