コーパス言語学実践

コーパス言語学実践
2006年度2学期
第4回
本日の内容
• おさらい
– これまでの作業
• 語彙表の作成 その3
– [# ]への対応
– 1行1文のデータへの変換
– 形態素解析処理
– 手作業での仕上げ
2
おさらい(データ加工)
• メタ情報
タイトル
著者名
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
記述ルール
コーパスとして使うのは
「本文」
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
本文
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
3
おさらい(データ加工)
• メタ情報
タイトル
著者名
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
記述ルール
これらは管理のための
情報
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
本文
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
4
おさらい(タグ付け)
タグ,tag:
情報が付与されていること
示す「しるし」
<title>作品名</title>
<author>著者</author>
<tagger>タグ付けした人
</tagger>
<rules>表記ルール</rules>
<text>本文</text>
<title>銀河鉄道の夜</title>
<author>宮沢賢治</author>
<tagger>外大太郎</tagger>
<rules>
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
------------------------------------------------------</rules>
<text>
一 午後の授業
5
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
おさらい(データ加工)
タグ,tag:
情報が付与されていること
示す「しるし」
出展や作業者の
情報
<note>注記</note>
・・・
って、お父さんの帰ることを知らせようと思うと、もういちもく
さんに河原《かわら》を街《まち》の方へ走りました。
</text>
<note>
底本:「銀河鉄道の夜」角川文庫、角川書店
1969(昭和44)年7月20日改版初版発行
1987(昭和62)年3月30日改版50版
入力:幸野素子
校正:土屋隆
2005年8月18日作成
青空文庫作成ファイル:
このファイルは、インターネットの図書館、青空文庫
(http://www.aozora.gr.jp/)で作られました。入力、校正、
制作にあたったのは、ボランティアの皆さんです。
</note>
6
おさらい(データ加工)
• TeraPad でテキストを開いて作業!
– タグをつける
– <tagger>自分の名前</tagger>
元のファイルに 01をつけて別名で保存
gingatetsudono_yoru.txt
→ gingatetsudono_yoru01.txt
kumono_ito.txt
→ kumono_ito01.txt
saigono_ikku.txt
→ saigono_ikku01.txt
wagahaiwa_nekodearu.txt → wagahaiwa_nekodearu01.txt
7
おさらい(本文の加工)
• コーパスデータとして本文を使うので注目
本文中にある,本文意外の記述
《ルビ》 ルビがついている プログラムで対応
|
ルビの付く文字列の始まり
例:|袋《ふくろ》
[#]
入力者注
内容を見て対応するため手作業
これらの情報は,言語データとしては余分なので,
取り除きたい
8
おさらい(本文の加工)コマンドプロンプト
• コマンドプロンプトの起動
[スタート]→[すべてのプログラム]→[アクセサリ]
→[コマンドプロンプト] で起動
東京外国語大学の環境では,コマンドプロンプトの
黒い画面に次のように表示されるはず
Microsoft Windows XP [Version 5.1**]
(C) Copyright 1985-2001 Microsoft Corp.
Y:\>
9
おさらい(本文の加工)コマンドプロンプト
• 作業ディレクトリ(フォルダ)を移動する 「cd」
Y:\> cd corpus
すると,
Y:\corpus> と表示が変わる.
(重要) この授業では,Y:\corpus を実習のため
のディレクトリ(フォルダ)として使用
ダウンロードしたプログラムremove01.plを使用
10
おさらい(本文の加工)perl実行
試し実行:
y:\corpus> perl remove01.pl <
gingatetsudono_yoru01.txt
結果を保存する:
y:\corpus> perl remove01.pl <
gingatetsudono_yoru01.txt >
gingatetsudono_yoru02.txt
11
おさらい(確認)
• この時点でy:\corpusの中には...
– 青空文庫からダウンロードしたzipファイル
– 解凍したファイル 例: gingatetsudono_yoru.txt
– タグを手作業でつけたファイル
例:gingatetsudono_yoru01.txt
– remove01.plで処理して,ルビを取り除いた本文
のファイル
例:gingatetsudono_yoru02.txt
というファイルがあるはず!
12
本文の加工( [#] )
•
内容を見て対応するため手作業
– ということで,内容を見ながら手作業
1. エディタで*02.txtを開く
2. 検索で[#を探す
3. 該当個所の扱いを検討
(統一基準を決めながら進める)
4. 作業後→ *03.txtとして保存
13
1行1文へ
• kaigyo01.pl をダウンロード
y:\corpus> perl kaigyo01.pl < gingatetsudo03.txt
> gingatetsudo04.txt
これで粗くは改行されている
• もう一度良く見て,変なところを直す
*05.txtとして保存
例: gingatetsudo05.txt
14
形態素解析の利用
• 1行1文の状態になったテキストを形態素解析
– chasenの利用
y:\corpus>chasen gingatetsudo05.txt
これで形態素解析がされる.
が,今回は,cabochaで文節を作ることにする
15
文節の作成 Cabocha
•
インストール
1. プログラムをダウンロード
http://chasen.org/~taku/software/cabocha/
から,cabocha-0.53.exeをダウロード
2. ダブルクリックしてインストーラの指示に従って
インストール
16
文節の作成
• cabochaの利用で文節を作る
y:\corpus>cabocha –I0 –O2 gingatetsudo05.txt >
gignatetsudo06.txt
今日は良い天気でした.
* 0 -1O
今日 キョウ
は ハ
* 1 -1O
良い ヨイ
* 2 -1O
天気 テンキ
でし デシ
た タた
. ..
EOS
今日
は
名詞-副詞可能
助詞-係助詞
良い
形容詞-自立
-I0 アイのゼロ
–O2 オーの2
B-DATE
O
形容詞・アウオ段
天気
名詞-一般
です
助動詞
特殊・デス 連用形
助動詞
特殊・タ
基本形
O
記号-句点
O
基本形
O
O
O
17
文節の中から自立語を取り出す
• tangotoridasi.plの利用
• その前に
– 文字コードの変換
– perlでは内部でutf-8という文字コードを使用
– *06.txtの文字コードをutf-8にしておく必要あり.
TeraPadで*06.txtを開く.
[ファイル]→[漢字改行コード指定保存]→
漢字コードUTF-8
改行コードCR+LF の状態で保存!
18
文節の中から自立語を取り出す
• tangotoridasi.plの利用
y:\corpus>perl –s tangotoridasi.pl –
fn=“gingatetsudo” <
gingatetsudono_yoru06.txt
> gingatetsudono_yoru07.txt
全部
1行に
書く!!
見出し語;品詞;0;表層形\tヨミ\t基本形\t品
詞..........*;出展
19
ここまでのまとめ
• *02.txt からスタート
– [#の解析→ *03.txt の作成
– 1行1文へ(kaigyo01.pl) → *04.txt の作成
– 変なところを手作業で直す → *05.txtの作成
– chabochaでの処理 →*06.txtの作成
– tangotoridasiでの処理 → *07.txtの作成
20