阪大2013
12月17日
はじめに
授業でどんなことをやるか(デモ)
- テキストエディタとgrep
- 全文検索システム「ひまわり」+Excelでの集計(ピボットテーブル)
- 少納言
- 形態素解析/MeCab+UniDic(茶まめ)
- 中納言
- 「日本語歴史コーパス」BCCWJ
- 「現代日本語書き言葉均衡コーパス」CHJ
- 茶器
今日の授業で利用する主なソフトウェア†
「コーパス」について†
- 狭義のコーパス
- 言語研究を目的として収集され、言語研究のための情報が付けられたコンピュータ上で利用可能な大規模な言語データ。
- BCCWJ / 太陽コーパス / 明六雑誌コーパス / 日本語歴史コーパス
- 広義のコーパス
- コンピュータ上で利用可能な大規模な言語データ。必ずしも言語研究向きではないが、言語研究に利用可能。
- さまざまなテキストアーカイブ(新潮文庫の百冊 / 青空文庫 / 国会会議録)
- Web上のデータ
- 検索サイトの利用
- WAC(Web as Corpus)
総索引から電子化テキストへ(国語史資料の電子化の歴史)
- 戦後、総索引が整備されはじめる
- 1929~31『万葉集総索引』
- 1952『源氏物語用語索引』
- 1955『徒然草総索引』
- 1980年代から徐々に電子化テキストの利用が始まる
- 金水(1984),豊島(1983,1987),西端(1983,1989),岡島,近藤…
- 総索引作成のための電子化テキスト利用など
- 1990年代、電子化テキストの利用が広がる
- 『源氏物語』テキストデータベース(長瀬1990)
- 国語学会(現日本語学会)1992年度春季大会テーマ「国語研究資料の「電子化」とその利用」
- 青空文庫 1997~ http://www.aozora.gr.jp/
- この頃、CD-ROM索引も『新大系 八代集』『新編国歌大観』『角川古語大観 源氏物語』「国文学研究資料館データベース 古典コレクション」『国定読本用語総覧』
- 2000年代(タグ付きテキスト「コーパス」へ)
テキストデータと文字コード
文字コード
日本で広く使われてきた文字コード
(伝統的な文字コード。かつて多くのパソコンで使われてきた。現在は携帯電話でも利用される)
- 文字集合 JIS X0208:1997(なんども改定があった)
- Shift_JIS(符号化方式)
- EUC-JP(符号化方式)
- JIS 2022(符号化方式)
ユニコード
(新しい国際的な文字集合。各国のコード表を含み込んでいるので膨大な数の文字を含む。最近のパソコンの内部処理はUnicodeで行われる。)
- 文字集合 Unicode (最新バージョンは 6.3)
- UTF-8(符号化方式)
- UTF-16(符号化方式)LE/BE(エンディアンによる違い)
- 単にUnicodeといった場合、たいていUTF-16LEを指す(LE=リトルエンディアン、パソコンは一般的にリトルエンディアン)
- UTF-16では、通常ファイルの先頭にBOMといわれる特殊記号がつけられる(UTF-8では付けないのが普通)
BCCWJ・CHJの文字コード
- 文字集合 JIS X0213 (X0208に漢字・非漢字を追加)
(X0213の符号化方式はShift_JISほか様々な規定があるが、今のパソコンでは使いにくい)→符号化方式としてUnicode系のUTF-16LE・UTF-8を使う(使用する文字をJIS X0213の範囲に制限)
- UniDicではUTF-8が基本(MeCab/ChaSenでUnicodeが扱える文字コード)
文字コードを巡る様々な問題
- ここでは取り上げませんが、日本語学を学ぶ人にはなるべく知っておいてもらいたい。参考文献参照。
- 文字化け
- 「文字が足りない?」
- 「どこまでが同じ文字か」包摂基準
- 「他の文字表との整合性」
(参考)今昔文字鏡
- 「太陽コーパス」(文字集合はX0208。ただし包摂基準を一部変更して適用)では外字の表現にこの番号と文字画像ファイルを利用
- 基本的に文字の見た目を扱うもので、包摂基準などがない
- 大漢和番号(諸橋)を含み込む
- 著作権の問題、PDFへの埋め込み制限など。
テキストファイル
テキストファイルと拡張子†
テキストエディタ
テキストエディタを使う
- スタイル行番号(ワープロ的行番号)と論理行番号(エディタ的行番号)
ショートカットキー†
(補足)おすすめテキストエディタ†
正規表現
- 正規表現 >用語
- 文字を表すための特殊な文字(メタ文字)
- 置換・検索・grepで利用できる
- 記号はすべて半角
- 特殊文字そのものを表す場合には\でエスケープする(特殊な意味を打ち消す) 例:1\+2
正規表現のいろいろ†
- 授業資料/正規表現☆
- 文字クラス [ ]
- 文字クラスの否定(補集合)[^ ]
- 繰り返し ? + *
- グループ化 ()
- or(論理和) |
- 文頭 ^、文末 $
正規表現の応用†
- カタカナ語
- 送りがなの揺れ(行う/行なう)
- 全然~ない。
- 会話文中(「で始まる)
タグ付き正規表現†
- 走[らりるれろ] でGrepした結果を置換するにはどうしたらいいか
- 次のように置換するととんでもないことに…
- 検索文字列:走[らりるれろ]
- 置換文字列:★走[らりるれろ]
- タグ付き正規表現・カッコ(半角丸カッコ)と\1(\2,\3…)を使う
検索語の中での後方参照†
- 検索語の中で\1を使う
- (.ろ)\1 「ころころ」「どろどろ」「へろへろ」などにマッチ
最長一致の原則(greedy matching)†
- 正規表現は、パターンが一致する最も長い範囲にマッチする
- 例:「(.+)」 → 【\1】
- 「こんにちは」「さようなら」 → 【こんにちは」「さようなら】
- 「([^」]+)」 → 【\1】 のように書けばよい
- 「こんにちは」「さようなら」 → 【こんにちは】【さようなら】
- 最短一致を指定するには(ものぐさ指定)
- 「(.+?)」「(.*?)」のように、繰り返し指定の後に「?」をつける
正規表現に関する本†
- amazonで検索
- 正規表現にはアプリケーションソフトやプログラミング言語ごとに多くの方言があるので注意
#amazon(4873111706)
#amazon(4873113598)
構造化文書とタグ付きコーパス
太陽コーパス
&ref(): File not found: "Taiyo190101.jpg" at page "阪大2013/12月17日";
全文検索ソフト:「ひまわり」
「ひまわり」で使用できる正規表現†
- 授業資料/Himawariの正規表現
- 検索語/キー:普通の文字と、列挙型の文字クラス([あいう]のようなもの。
- 例:[寂淋]し
- 前文脈/後文脈:ほぼ全ての正規表現
- [あ-う]のような範囲指定はモード切替で(インデックスが使えないので遅い)
検索結果の集計:Excelとピボットテーブル
Excelの基礎
Excelを使った集計†
- ピボットテーブル・ピボットグラフを使う
- グラフの種類について
- 用例の分類と集計
- 分類記号を入れる列を用意し、自分で入力する
- ピボットテーブルで入力した分類を使う
- 関数を使う
- NDCの最上位だけを取り出すには
- 生年を10年ごとの生まれた年代に変換するには
(補足)テキストエディタと組み合わせて使う†
- Excelの列をテキストエディタに貼り付けて編集することができる
- エディタと組み合わせて工夫することでExcelだけでは簡単にできない処理が可能
- 特定の列をエディタにコピーして正規表現を使った置換を行う
えだまめによるミニコーパス作成
- テキストデータを「ひまわり」で利用するには
- えだまめ
- 同等機能が最新版「ひまわり」(1.5)に内蔵された