コーパス言語学実践

コーパス言語学実践
2006年度2学期
第3回
本日の内容
• 前回のおさらい
– 前半の作業について
• 語彙調査の演習
• 用語の説明
– 語彙,単位語,延べ語,異なり語,見出し語
• 作成作業 その2
– 収集データの加工
2
おさらい(用語の説明)
• 語彙
– 語の集まり
• 延べ語数
– 同じ語でも,1つ2つと数える,数え方
• 異なり語数
– 同じ語は1つと数える,数え方
例:
パンダの親指は解剖学的には親指ではない.親指
だとすると指が6本ということになる.あれはパンダ
の手首の骨が変形してできたものだそうだ.
3
おさらい(用語の説明)
• 語彙
– 語の集まり
名詞を対象
とすると12語
– 同じ語でも,1つ2つと数える,数え方
• 延べ語数
• 異なり語数
– 同じ語は1つと数える,数え方
例:
パンダの親指は解剖学的には親指ではない.親指
だとすると指が6本ということになる.あれはパンダ
の手首の骨が変形してできたものだそうだ.
4
おさらい(用語の説明)
• 語彙
– 語の集まり
• 延べ語数
– 同じ語でも,1つ2つと数える,数え方
• 異なり語数
名詞を対象
– 同じ語は1つと数える,数え方
とすると9語
例:
パンダの親指は解剖学的には親指ではない.親指
だとすると指が6本ということになる.あれはパンダ
の手首の骨が変形してできたものだそうだ.
5
おさらい(用語の説明)
• 単位語
– 延べ語数に数えられた1語として数えられる単語
• 見出し語
– 異なり語数で数えられる単語のこと
• 延べ語と異なり語
– 計量言語学では呼ばない
– 計算言語学では呼ぶ
6
データの収集
• 前回の作業
Y:\corpus というフォルダを作成
青空文庫から,以下のzipファイルをダウンロード
– 宮沢賢治
『銀河鉄道の夜』(図書カード43737)
43737_ruby_19028.zip
– 芥川龍之介 『蜘蛛の糸』(図書カード92
92_ruby_164.zip
– 夏目漱石
『吾輩は猫である』(図書カード789)
789_ruby_5639.zip
– 森鴎外
『最後の一句』(図書カード45244)
45244_ruby_21881.zip
7
データを収集
• ダウンロードしたzipファイルを展開し,中身を
corpusフォルダに置く
• すると,現在の状態は...
y:\corpusの中に,
gingatetsudono_yoru.txt
kumono_ito.txt
saigono_ikku.txt
wagahaiwa_nekodearu.txt
4つのテキストファイルがある状態! 確認!
8
データ加工
• まずは中身をチェック
データ構造はどうなって
いるか?
テキストファイルの中身
を良く見る
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
9
データ加工(2)
• メタ情報 タイトル
著者名
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
記述ルール
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
本文
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
10
データ加工(3)
• メタ情報 タイトル
著者名
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
記述ルール
コーパスとして使うのは
「本文」
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
本文
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
11
データ加工(4)
• メタ情報 タイトル
著者名
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
記述ルール
これらは管理のための
情報
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
本文
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
12
データ加工(タグ付け)
タグ,tag:
情報が付与されていること
示す「しるし」
<title>作品名</title>
<author>著者</author>
<tagger>タグ付けした人
</tagger> ←これは追加!
<rules>表記ルール</rules>
<text>本文</text>
銀河鉄道の夜
宮沢賢治
------------------------------------------------------【テキスト中に現れる記号について】
《》:ルビ
(例)言《い》われたり
|:ルビの付く文字列の始まりを特定する記号
(例)一|袋《ふくろ》
[#]:入力者注 主に外字の説明や、傍点の位置の指定
(数字は、JIS X 0213の面区点番号、または底本の
ページと行数)
(例)僕《ぼく》※[#小書き平仮名ん、183-7]とこへ
-------------------------------------------------------
一 午後の授業
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
13
データ加工(タグ付け)
タグ,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>
一 午後の授業
14
「ではみなさんは、そういうふうに川だと言《い》われたり、
乳《ちち》の流《なが》れ...........
データ加工(タグ付け)
タグ,tag:
情報が付与されていること
示す「しるし」
出展や作業者の
情報
<note>注記</note>
・・・
って、お父さんの帰ることを知らせようと思うと、もういちもく
さんに河原《かわら》を街《まち》の方へ走りました。
底本:「銀河鉄道の夜」角川文庫、角川書店
1969(昭和44)年7月20日改版初版発行
1987(昭和62)年3月30日改版50版
入力:幸野素子
校正:土屋隆
2005年8月18日作成
青空文庫作成ファイル:
このファイルは、インターネットの図書館、青空文庫
(http://www.aozora.gr.jp/)で作られました。入力、校正、
制作にあたったのは、ボランティアの皆さんです。
15
データ加工(タグ付け)
タグ,tag:
情報が付与されていること
示す「しるし」
出展や作業者の
情報
<note>注記</note>
・・・
って、お父さんの帰ることを知らせようと思うと、もういちもく
さんに河原《かわら》を街《まち》の方へ走りました。
</text>
<note>
底本:「銀河鉄道の夜」角川文庫、角川書店
1969(昭和44)年7月20日改版初版発行
1987(昭和62)年3月30日改版50版
入力:幸野素子
校正:土屋隆
2005年8月18日作成
青空文庫作成ファイル:
このファイルは、インターネットの図書館、青空文庫
(http://www.aozora.gr.jp/)で作られました。入力、校正、
制作にあたったのは、ボランティアの皆さんです。
</note>
16
データ加工(タグ付け)
• 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
17
データ加工(本文の加工)
• コーパスデータとして本文を使うので注目
本文中にある,本文意外の記述
《ルビ》
|
ルビがついている
ルビの付く文字列の始まり
例:|袋《ふくろ》
[#]
入力者注
これらの情報は,言語データとしては余分なので,
取り除きたい
18
データ加工(本文の加工)
• コーパスデータとして本文を使うので注目
本文中にある,本文意外の記述
《ルビ》 ルビがついている プログラムで対応
|
ルビの付く文字列の始まり
例:|袋《ふくろ》
[#]
入力者注
内容を見て対応するため手作業
これらの情報は,言語データとしては余分なので,
取り除きたい
19
データ加工(本文の加工)
• プログラム remove01.pl をy:\corpusに
ダウンロード
– これはperlというプログラミング言語で書かれて
いる.
– コマンドプロンプトを
動して,その中で実行
20
データ加工(本文の加工)コマンドプロンプト
• コマンドプロンプトの起動
[スタート]→[すべてのプログラム]→[アクセサリ]
→[コマンドプロンプト] で起動
東京外国語大学の環境では,コマンドプロンプトの
黒い画面に次のように表示されるはず
Microsoft Windows XP [Version 5.1**]
(C) Copyright 1985-2001 Microsoft Corp.
Y:\>
21
データ加工(本文の加工)コマンドプロンプト
• 作業ディレクトリ(フォルダ)を移動する 「cd」
Y:\> cd corpus
すると,
Y:\corpus> と表示が変わる.
(重要) この授業では,Y:\corpus を実習のため
のディレクトリ(フォルダ)として使用
22
データ加工(本文の加工)コマンドプロンプト
試し実行:
y:\corpus> perl remove01.pl <
gingatetsudono_yoru01.txt
結果を保存する:
y:\corpus> perl remove01.pl <
gingatetsudono_yoru01.txt >
gingatetsudono_yoru02.txt
23
データ加工(本文の加工)コマンドプロンプト
<text>
一 午後の授業
試し実行:
y:\corpus> perl remove01.pl
<
「ではみなさんは、そういうふうに川だと
言われたり、乳の流れたあとだと言われ
gingatetsudono_yoru01.txt
たりしていた、このぼんやりと白いものが
ほんとうは何かご承知ですか」先生は、
黒板につるした大きな黒い星座の図の、
上から下へ白くけぶった銀河帯のような
結果を保存する:
ところを指しながら、みんなに問いをかけ
ました。
y:\corpus> perl remove01.pl
<
gingatetsudono_yoru01.txt >
gingatetsudono_yoru02.txt
ルビがない!
バージョン
24
確認
• この時点でy:\corpusの中には...
– 青空文庫からダウンロードしたzipファイル
– 解凍したファイル 例: gingatetsudono_yoru.txt
– タグを手作業でつけたファイル
例:gingatetsudono_yoru01.txt
– remove01.plで処理して,ルビを取り除いた本文
のファイル
例:gingatetsudono_yoru02.txt
というファイルがあるはず!
25
確認
• つづき: [#]入力者注の手作業での処理
– remove01.plで処理して,ルビを取り除いた本文
のファイル
例:gingatetsudono_yoru02.txt
このファイルの中にある [#] 入力者注を探して,
その部分を除去する.
上書き保存!
26
この先の作業
• 本文を品詞に分ける
1: *02.txt の中身を,1行1文の形にする
• perl で書かれたプログラムを利用する →*03.txt
2: 形態素解析をして*03.txtを品詞に分ける
• フリーの言語処理ツール(茶筅)を利用する
3: 2の結果を加工する
27