FrontPage
言語学特殊講義XI/コーパス日本語学†
- Zoomによるリアルタイムのオンライン授業形式で行います。ZoomのURLはITC-LMSのページで確認してください。
- 質問を受け付けています。自由に記入してください。次の授業で回答します。
6月25日(第11回) テキストエディタと正規表現によるテキストデータの整形†
レポートテーマ(仮)提出について†
- 次回7月2日までに下記ITC-LMSのアンケートで期末レポートのテーマを回答してください(履修者全員)。
(再掲)「中納言」インラインタグ機能の利用†
- 前後文脈に埋め込んだタグから、必要な情報を取り出して利用
テキストデータについて†
- テキストファイルの拡張子:TXT,CSV,HTM…
テキストエディタ†
テキストエディタのダウンロードとインストール†
- インストールの手順
- ダウンロードしたzipファイルの中にあるsakura-install*.exeをデスクトップにコピー
- exeファイルを右クリックして「セキュリティ」の右の「許可する」をチェックして「OK」
- ダブルクリックしてインストール
Macの場合(miのダウンロードとインストール)†
テキストエディタの基本操作†
- 検索・置換、grep
- 検索で初出行を調べる
- 置換で用例数を数える
- grepで用例リストを作る
- タグジャンプで文脈を確認する
- たいていのことはショートカットキーでできる
正規表現とは†
- 正規表現 >用語
- 文字を表すための特殊な文字(メタ文字)を使って文字列のパターンを表現する
- テキストエディタでは置換・検索・grepで利用できる (エディタ以外にもさまざまなアプリケ-ションやプログラミング言語で利用されている)
- 特殊な文字(メタ文字)はすべて半角
正規表現を使ってみる†
- 文字クラス
- 例:読[まみむめもん]
- 半角ブラケットの中に文字を並べる→並べた文字いずれか1文字
正規表現のいろいろ†
- 授業資料/正規表現
- 文字クラス [ ]
- 文字クラスの否定(補集合)[^ ]
- 繰り返し ? + *
- グループ化 ()
- or(論理和) |
- 文頭 ^、文末 $
正規表現の応用†
- カタカナ語
- 送りがなの揺れ(行う/行なう)
- 会話文中("「"で始まる文中)の用例を検索する
- 同一文中での共起
タグ付き正規表現†
- 走[らりるれろ] でgrepした結果を置換するにはどうしたらいいか
- 次のように置換するととんでもないことに…
- 検索文字列:走[らりるれろっ]
- 置換文字列:★走[らりるれろっ]
- タグ付き正規表現・カッコ(半角丸カッコ)と\1(\2,\3…)を使う
- 授業資料/タグつき正規表現
最長一致の原則(greedy matching)†
- 正規表現は、パターンが一致する最も長い範囲にマッチする
- 例:あ+ → 【\1】
- ああああああああ → 【ああああああああ】
そのせいで…
- 例:「(.+)」 → 【\1】
- 「こんにちは」「さようなら」 → 【こんにちは」「さようなら】
- 括弧の組ごとに置換するためには「([^」]+)」 → 【\1】 のように書かなければならない
- 「こんにちは」「さようなら」 → 【こんにちは】【さようなら】
- よりかんたんに指定するには(最短一致,ものぐさ指定)
- 「(.+?)」「(.*?)」のように、繰り返し指定の+*の後に「?」をつける
検索文字列の中での後方参照†
- 検索語の中で\1を使う
- (..)\1 「ころころ」「毎日毎日」など二文字の繰り返しにマッチ
- (.ろ)\1 「ころころ」「どろどろ」「へろへろ」などにマッチ
- (..)\1\1
- (...)\1
正規表現に関する参考資料†
(参考)テキストデータ(青空文庫)の配布†
6月18日(第10回) VLOOKUP関数による辞書引き集計†
質問コーナー回答†
VLOOKUP関数の利用†
(参考)分類語彙表†
「中納言」インラインタグ機能の利用†
- 前後文脈に埋め込んだタグから、必要な情報を取り出して利用
6月11日(第9回) 検索結果集計のための応用:調整頻度の計算/文字列関数†
調整頻度(pmw)†
- 粗頻度を総語数で割る
- レジスターごとの語数データ:中納言ページの「語数について」からExcelでダウンロードできる
- 調整頻度には100万語あたりの頻度(pmw)がよく使われる
- ※割合を比較するだけなら調整頻度を出す必要はない。
(Excel基礎)セルの相対参照と絶対参照†
- A1:相対参照
- $A$1:絶対参照
- $A1:列のみ絶対参照
『日本語歴史コーパス』で復習†
Excelの文字列関数†
集計に必要な情報をフィールドから切り出すことで集計に使う
- (参考)Mac版Excelと文字種
- フィルタのオプションで平仮名と片仮名が区別されないので、文字コードで区別する
- =unicode(文字列) :文字列の先頭文字の文字コード(Unicode、10進数)を返す
6月4日(第8回) Excelによる検索結果の集計2:ちょっとした応用と注意点†
複数の検索結果の結合(復習)†
ショートカットキーを活用すると便利
- Ctrl+End ファイルの末尾/表のいちばん右下に移動
- Shift+Ctrl+End 〃範囲を選択
- 表をコピー
- Ctrl+Home, ↓(列名はコピーしないようにする),Shift+Ctrl+End, Ctrl+C
- コピーした表を既存の表の下に貼り付け
(参考)ショートカットキー†
ランダムサンプリング調査†
※BCCWJでも「中納言」の出力結果は十分にランダムではない
- 大量に用例があり、調査内容からすべて対象にできない場合
- ランダムに並べ替え→先頭n例を調査対象に
- ランダムな数字の列: =RAND()
- ランダムな数字の列をコピーして「値として貼り付ける」と数字が固定される
- ex.「られる」(意味・用法)、「全然」(陳述副詞の呼応)のように多数あり全例チェックが必要な場合
出現サンプル数の調査(重複の削除)†
用例数ではなく、用例が一つでも出現したサンプルの数を調べたい場合
- たとえば同一サンプル内での繰り返しが多いものを調査するとき(例:一人称代名詞など)
BCCWJ利用の落とし穴†
- BCCWJはあくまでも「現代語」のためのコーパスなので通時的な調査には向かない
- レジスターによって母集団の年が違っている
- 30年あるのは白書・ベストセラー・国会会議録など一部のものだけ
- もともとテキスト量の多いレジスターにたくさん用例があるからといって「そのレジスターでよく使われる」とはいえない→調整頻度の計算
- cf.人口あたりの事故件数,1平方キロあたりの…etc.
- BCCWJの語数
- 短単位語数表をピボットテーブルで集計
5月28日(第7回)「中納言」の使い方2:Excelによる検索結果の集計†
Excel†
「中納言」検索結果のダウンロードとExcelでの利用†
- ダウンロード
- Excelでインポート
Excelの基礎†
- 並べ替え(ソート)
- フィルタ(絞り込み)
- テキストフィルタ
- 多重フィルター(複数の条件指定)
【重要】ピボットテーブルの使い方†
集計用の列を自分で用意する†
複数の検索結果の結合†
5月21日(第6回) 「中納言」の使い方†
位置情報と用例へのパーマリンク†
- 位置検索
- サンプルID,開始位置*1のセットでコーパス上の用例の位置を一意に指定できる
- 位置検索での区切り記号はカンマのほかタブやスペースでも可
検索条件式の利用†
キー: (品詞 LIKE "形容詞%" AND 活用形 LIKE "連体形%")
AND 後方共起: 語彙素="言葉" ON 1 WORDS FROM キー
IN ((registerName="出版・新聞" AND core="true") OR (registerName="出版・雑誌" AND core="true") OR (registerName="出版・書籍" AND core="true") OR (registerName="特定目的・白書" AND core="true") OR (registerName="特定目的・知恵袋" AND core="true") OR (registerName="特定目的・ブログ" AND core="true"))
キー: 語彙素="カレー"
AND 後方共起: (品詞 LIKE "助詞-格助詞%" AND NOT(語彙素 LIKE "[がをに]")) ON 1 WORDS FROM キー
※NOT演算子ではなく、条件句(○○="□□"や○○ LIKE "□□")の否定にのみ使える*2
5月7日(第5回) コーパス検索アプリケーション「中納言」†
4月30日(第4回) コーパスの形態論情報と形態素解析†
コーパスの形態論情報†
- コーパス検索アプリケーション「中納言」と短単位と長単位
コーパスへの形態論情報の付与†
- 短単位:MeCabとUniDicを使った形態素解析で情報付与
- 長単位:Comainu(など)で短単位を組み上げる
形態素解析:「Mecab」と「UniDic」†
形態素解析とは†
どんなものか
- デモ: Web茶まめ (MeCab + UniDic)
- 日本語の自然言語処理の基礎技術
- 今ではかなり枯れた技術
- 機械学習による言語処理のはしり
- 形態素解析の解析単位は言語学で言う「形態素」ではないことに注意
- 「形態素解析」= "Morphological analysis"
- morphologicalな(形態論上の)単位は形態素だけではない(訳語に問題がある)
- 日本語の形態素解析の単位は一般に「語」(語をどう定義するかという問題は残る)
- 形態素解析の仕組み
- 生起コストと連接コスト
- その語はどれくらい出てくるか、どんな語とつながりやすいか
- コーパスから統計的に取得(機械学習)
- 経路の選択(参考:ビタビアルゴリズム)
形態素解析用ソフトウェア†
以前から使われているソフトウェア
- 形態素解析器(解析エンジン・プログラム)
- 解析用辞書
UniDicの特長†
- 見出し語が短単位という斉一な単位に揃えられている
- 見出し語が階層化されており表記の揺れや語形の変異にかかわらず同一の見出しを与えることができる
- アクセントや音変化の情報を付与することができる
- 語種など言語研究のための豊富な情報が付与されている
- UniDicはChaSen, MeCabのどちらの解析器でも利用可能*3
- 後から開発されたMeCabの方が解析精度が高いのでおすすめ
比較的新しい形態素解析器†
形態素解析に関する専門書†
- 工藤拓『形態素解析の理論と実装』近代科学社(2018)
(参考)長単位解析器†
※BCCWJの長単位を付けるのに使われた。短単位を組み上げて品詞を長単位規定に合わせることができる
(参考)係り受け解析器†
※BCCWJには係り受け情報は付いていない。NWJCは自動解析した係り受け情報付き
最近の形態素解析器†
長単位解析器†
係り受け解析器†
日本語コーパスのタグ付けのレベル†
テキストのレベル | ツール | 必要な技術 |
プレーンテキスト | テキストエディタ | grepと正規表現 |
構造化テキスト | ひまわり→ Excel | XML・マークアップの基礎,ピボットテーブル |
形態素解析済み | UniDic+MeCab→中納言・ChaKi | 形態素解析の知識,ChaKi等の使い方 |
係り受け情報付き | +CaboChaなど→ChaKi | |
- プレーンテキスト:テキストエディタ(grepと正規表現)
- 構造化テキスト(旧「太陽コーパス」など):XMLと「ひまわり」
- 形態素解析済みテキスト(BCCWJ, CHJなど):「中納言」
- 係り受け情報・統語情報付き(NWJC, NPCMJなど):ChaKi, NPCMJ Searchなど
4月23日(第3回) コーパスの設計(2)†
前回続き(スライド残り)†
「日本語歴史コーパス」(CHJ)の構成†
- 残された資料に限りがある(そもそも偏りがある)歴史的なコーパスの場合、現代語コーパス同様の「代表性」を求めることは困難
- 近世以前
- 残されている資料が少なく、できるだけ(可能なら全部)コーパスに入れたい
- 近世(後期)以降
- 偏りはあるものの選べるだけの資料があるが、それでもなるべく全文でいれたい(作品など資料単位で調査したい)
- 『日本語歴史コーパス』の中身
- 中世以前は重要な資料をまるごと対象に
- 近世の洒落本・人情本:年代・著者(・地域)のバランスを取って作品単位でサンプリング
近代語コーパスの場合†
- 近代雑誌(現在はCHJの一部)
- 多様な記事を含む「総合雑誌」を対象とすることでバランスを確保
- 発行年での大まかなサンプリング
- その後の雑誌コーパスも8年おきに収録
- 明六雑誌・東洋学芸雑誌・国民之友・太陽(・中央公論・文藝春秋)
- 近代小説
※今日の夕方に公開予定
利用する側から見たコーパスの設計†
- BCCWJでもCHJでも、どのように設計されているかを知らないと大きな誤りを犯す可能性がある
- サブコーパスのサイズを無視した比較
- バランスのとれていない項目間の単純比較(BCCWJの年代、CHJの時代・ジャンル等)
紙の資料からコーパスまで ~テキストの電子化とアノテーションの高度化†
- (紙の)本文
- (紙の)総索引(コンコーダンス)
- 電子テキスト:テキスト (199x年代~)
- 構造化テキスト:テキスト+XMLによる構造化タグ (200x年代~)
- 単語情報付きのコーパス:テキスト+XMLによる構造化タグ+形態論情報 (201x年代~)
電子化とアノテーション(明六雑誌コーパスを例に)†
- ファイル形式と実例
- 電子テキスト:プレーンテキスト
- 構造化テキスト:XMLファイル
- 単語情報付きデータ:単語情報を埋め込んだXML /XMLファイル+CSVファイル →RDB
- それぞれの利用アプリケーション
- 電子テキスト:テキストエディタ+grepなど
- 構造化テキスト:全文検索システム「ひまわり」
- 単語情報付きデータ:中納言(オンライン)/Chaki.Net(PC上)
4月16日(第2回) コーパスの設計†
※以下、スライド(学部授業用)(大学院授業用・同内容)も参照
コーパスとは†
- 狭義のコーパス
- 言語研究を目的として収集され、言語研究のための情報が付けられたコンピュータ上で利用可能な大規模な言語データ。
- 現代日本語書き言葉均衡コーパス(BCCWJ) / 日本語歴史コーパス(CHJ)
- 広義のコーパス
- コンピュータ上で利用可能な大規模な言語データ。必ずしも言語研究向きではないが、言語研究に利用可能。
- さまざまなテキストアーカイブ(新潮文庫の百冊 / 青空文庫 / 国会会議録)
- Web上のデータ
- 検索サイトの利用
- WAC(Web as Corpus)
- 言語学分野では前者、自然言語処理分野などでは後者の意味で使いがち。
- この授業で主に扱うのは狭義のコーパス。中でも「現代日本語書き言葉均衡コーパス(BCCWJ)」と「日本語歴史コーパス(CHJ)」
コーパスに求められるもの†
- コーパス以前の電子化日本語資料(とその限界)
- 個人研究者による電子化テキスト
- 出版社による電子出版物(CD-ROM)
- 新聞のデータベース(CD-ROM)
- Web上のテキストアーカイブ
- Webそのもの
- (現代語)コーパスへの要請
- 大規模であること
- 各種のテキストが含まれていて、ジャンルなどのバランスがとれていること
- 著作権の問題がないこと
- 言語研究に利用できる情報がついていること
「現代日本語書き言葉均衡コーパス」(BCCWJ)の構成とサンプリング†
- 均衡コーパス(Balanced corpus)
- 「バランスがとれている」「代表性がある(representative)」とは?
- コーパスの母集団の設定とサンプリング
- BCCWJのサブコーパス
- 可変長と固定長
- 著作権をめぐる問題★次回、ここから
参考リンク†
- 英語のコーパス リファレンス
- 現代日本語書き言葉均衡コーパス(BCCWJ)
4月9日(第1回)イントロダクション/日本語コーパスの紹介†
イントロダクション†
授業内容等の確認†
「中納言」アカウントについて†
- 「授業アカウント」について
- 「中納言」オンライン利用申込み
授業で利用する主なソフトウェア・Webアプリケーション(予定)†
授業内容デモ†
- コーパスの利用
- Excelによる集計(ピボットテーブル)
- 形態素解析
- テキストエディタとgrep
- 全文検索システムひまわり
- R