*コーパス言語学入門・日本語コーパスの活用 -コーパス言語学入門(人文社会系研究科/基礎文化研究専攻言語学専門分野) -人文情報学特殊講義(文学部次世代人文学開発センター) -言語学特殊講義(文学部言語文化学科言語学専修課程) -冬学期 4限(14:55~16:40) 法文1号室 111教室 ------ -[[コーパス検索アプリケーション中納言>http://chunagon.ninjal.ac.jp]] -[[国語研究所・コーパス開発センター>http://pj.ninjal.ac.jp/corpus_center/]] **2016/12/16 ***形態素解析の実際 インストールと利用のデモ -MeCab http://taku910.github.io/mecab/ -UniDic https://ja.osdn.net/projects/unidic/ #amazon(4254516029); //-授業用アーカイブ(Windows用)ダウンロード -[[Web茶まめ>http://chamame.ninjal.ac.jp/]] #clear ***形態素解析結果の利用 -ピボットテーブルでの集計 テキストの性質に関する古典的な指標とその出し方 -語種比率 -TTR (Type Token Ratio)延べ異なり比 -名詞率 -平均文長 -MVR (Modifier / Verb Ratio) --[[樺島忠夫, 寿岳章子『文体の科学』1965年>http://iss.ndl.go.jp/books/R100000039-I000811523-00]] ***形態素解析結果の修正・利用 -ChaKi.net https://ja.osdn.net/projects/chaki/ **2016/12/09 ***自分用のミニコーパスを自分で作る (テキストデータは別途用意するのを前提として) -日本語コーパスのタグ付けのレベル |テキストのレベル|ツール|必要な技術|h |プレーンテキスト|テキストエディタ|grepと正規表現| |構造化テキスト|ひまわり→ Excel|XML・マークアップの基礎,ピボットテーブル| |形態素解析済みテキスト|UniDic+MeCab→中納言・ChaKi|形態素解析の知識,ChaKiの使い方| +プレーンテキスト:テキストエディタ(grepと正規表現) →前回 +構造化テキスト(旧「太陽コーパス」など):XMLと「ひまわり」 →今回 +形態素解析済みテキスト(BCCWJ,CHJなど):「中納言」相当←自分で作るには、Web茶まめ・ChaKi.net ***XMLとひまわり -[[XML>https://ja.wikipedia.org/wiki/Extensible_Markup_Language]] --独自のタグが定義できる汎用のマークアップ言語 --多くのコーパスがXMLで記述されている。 ---「現代日本語書き言葉均衡コーパス」(BCCWJ)も「日本語歴史コーパス」もソースはXML cf.[[BCCWJのタグセット>http://pj.ninjal.ac.jp/corpus_center/bccwj/XML.html]] ***ひまわり -[[全文検索システム「ひまわり」>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9]] -ただのテキストファイル(プレーンテキスト)ではなく、XML形式にして、インデックスを付けた専用のデータを利用 -基本的に文字列検索のみ(携帯論情報付きデータの検索にはあまり向かない) ***全文検索システム「ひまわり」について -[[ひまわり のダウンロードページ>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9]] -ひまわり用データ --近代雑誌のコーパス(現在ではCHJに包含) ---[[太陽コーパス>http://pj.ninjal.ac.jp/corpus_center/cmj/taiyou/]] ---[[近代女性雑誌コーパス>http://pj.ninjal.ac.jp/corpus_center/cmj/woman-mag/]] ---[[明六雑誌コーパス>http://pj.ninjal.ac.jp/corpus_center/cmj/meiroku/]] ---[[国民之友コーパス>http://pj.ninjal.ac.jp/corpus_center/cmj/kokumin/]] --青空文庫 ---[[ひまわり用「青空文庫」パッケージ>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9%2F%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9%2F%A1%D8%C0%C4%B6%F5%CA%B8%B8%CB%A1%D9%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8]] --[[「国会会議録」パッケージ>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9%2F%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9%2F%A1%D8%B9%F1%B2%F1%B2%F1%B5%C4%CF%BF%A1%D9%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8]] --その他 -テキストデータを「ひまわり」で利用できるようにするには --[[XMLファイルを作る>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9%2F%B4%CA%C3%B1%A4%CA%B8%A1%BA%F7%CD%D1%A5%C7%A1%BC%A5%BF%A4%CE%BA%EE%C0%AE%CA%FD%CB%A1]] --[[インポート機能をつかって簡単に作る>http://www2.ninjal.ac.jp/lrc/index.php?%C1%B4%CA%B8%B8%A1%BA%F7%A5%B7%A5%B9%A5%C6%A5%E0%A1%D8%A4%D2%A4%DE%A4%EF%A4%EA%A1%D9%2F%B4%CA%C3%B1%A4%CA%B8%A1%BA%F7%CD%D1%A5%C7%A1%BC%A5%BF%A4%CE%BA%EE%C0%AE%CA%FD%CB%A12]] -「ひまわり」の検索結果をピボットテーブルで集計する **2016/12/02 ***調整頻度の計算 -粗頻度を総語数で割る --レジスターごとの語数データ:中納言ページの「語数について」からExcelでダウンロードできる ---語数ファイルをピボットテーブルで集計して分母に -調整頻度には100万語あたりの頻度(pmw)が比較的よく使われる --粗頻度/総語数*1000000 ---数字が小さくなりすぎないようにするため -※割合の違いを比較するだけなら調整頻度を出す必要はない。 --データ:語彙素「矢張り」 [[kwic-yahari.zip>https://dl.dropboxusercontent.com/u/134600/kwic-yahari.zip]] ***ランダムサンプリング調査 大量に用例があり、調査内容から全てをすべて対象にできない(全てを調査する必要がない)場合 -ランダムに並べ替え→先頭n例を調査対象に --ランダムな数字の列: =RAND() --ランダムな数字の列をコピーして「値として貼り付ける」と数字が固定される -ex.「全然」 ***重複の削除 用例数ではなく、用例が一つでも出現したサンプルの数を調べたい場合 -たとえば同一サンプル内での繰り返しが多いものを調査するとき(例:一人称代名詞など) --「データ」→「重複の削除」 ***テキストエディタと正規表現 -前後文脈を整える -インラインタグを活用する -初心者におすすめの正規表現に対応したテキストエディタ(フリー) --Windows: Sakura Editor ---http://sakura-editor.sourceforge.net/ --Mac: Mi ---http://www.mimikaki.net/ ***授業用サクラエディタのダウンロード (正規表現ライブラリ同梱) -[[sakura2.zip>https://dl.dropboxusercontent.com/u/134600/sakura2.zip]] サンプルテキスト -[[soseki2.zip>https://dl.dropboxusercontent.com/u/134600/soseki2.zip]] ***正規表現 -''正規表現'' [[>用語>http://e-words.jp/w/E6ADA3E8A68FE8A1A8E78FBE.html]] --文字を表すための特殊な文字(メタ文字)を使って文字列のパターンを表現する --エディタでは置換・検索・grepで利用できる (エディタ以外にもさまざまなアプリケ-ションやコンピュータ言語で利用されている) --特殊な文字(メタ文字)はすべて半角 //--特殊な文字そのものを表す場合には\でエスケープする(特殊な意味を打ち消す) 例:1\+2 -[[授業資料/正規表現]] ***正規表現に関する参考資料 [#w86de08b] -サクラエディタの正規表現:http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html -正規表現に関する本 [[amazonで検索>http://www.amazon.co.jp/s/ref=nb_ss_gw?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=%90%B3%8BK%95%5C%8C%BB&Go.x=0&Go.y=0&Go=Go]] #amazon(4873114500) #amazon(4873113598) #clear **2016/11/25 ***復習:「中納言」検索結果のダウンロードとExcelでの利用 ***複数の検索結果の結合 -例:蒲公英・向日葵・菫 ショートカットキーを活用すると便利 -Ctrl+End ファイルの末尾/表のいちばん右下に移動 -Shift+Ctrl+End 〃範囲を選択 +表をコピー --Ctrl+Home, ↓(列名はコピーしないようにする),Shift+Ctrl+End, Ctrl+C +コピーした表を既存の表の下に貼り付け --Ctrl+End, Home, ↓, Ctrl+V, Ctrl+Home [[授業資料/覚えておきたいショートカットキー]] ***集計用の列を自分で用意する -例:表記(ひらがな・かたかな・漢字)別集計 -例:用法分類 ***Excelの文字列関数とIF関数 -例:ジャンル(NDC)の整理 --先頭の文字を取り出す(NDCの一次区分(=類)) ---=LEFT(<ジャンルのセル>,1) --スラッシュで区切られた最初の部分(ジャンルの大分類) ---=LEFT(<ジャンルのセル>,SEARCH("/",<ジャンルのセル>)-1) -集計用に用意した列で文字列処理関数を利用する --LEFT --RIGHT --MID --LEN --SEARCH --SUBSTITUTE -条件わけ:IF -エラー対応:IFERROR -応用例:品詞の大分類を使う --=IFERROR(LEFT(<品詞>,SEARCH("-",<品詞>)-1),<品詞>) ***【補足】Excelの文字列関数とIF関数 --後文脈の「。」より後を消す(「。」がない場合はそのまま) =IF(ISERROR(SEARCH("。",<後文脈>)),<後文脈>,LEFT(<後文脈>,SEARCH("。",<後文脈>))) --前文脈の「。」以前を消す(「。」がない場合はそのまま)((「。」が複数ある場合の処理があるので難しい。「~」は前文脈に決して出現しない文字を指定)) =RIGHT(<前文脈>,LEN(<前文脈>)-(FIND("~",SUBSTITUTE("。"&<前文脈>,"。","~",LEN("。"&<前文脈>)-LEN(SUBSTITUTE("。"&<前文脈>,"。",""))),1)-1)) ***BCCWJ利用の落とし穴 -BCCWJはあくまでも「現代語」のためのコーパスなので通時的な調査、経年調査には向かない --レジスターによって母集団の年が違っている ---レジスターの偏りを年代の偏りと勘違いしないこと --30年あるのは白書・ベストセラー・国会会議録など一部のものだけ -もともとテキスト量の多いレジスターにたくさん用例があるからといって「そのレジスターでよく使われる」とはいえない→調整頻度の計算 --cf.人口あたりの事故件数,1平方キロあたりの…etc. -cf.語数について **2016/11/18 ***「中納言」の利用・続き -配布資料:「中納言の使い方」 --検索条件式 --ピボットテーブル ***検索条件式の利用 キー: (品詞 LIKE "形容詞%" AND 活用形 LIKE "連体形%") AND 後方共起: 語彙素="言葉" ON 1 WORDS FROM キー WITH OPTIONS tglKugiri="|" AND tglBunKugiri="#" AND limitToSelfSentence="1" AND tglFixVariable="2" AND tglWords="20" AND unit="1" AND encoding="UTF-16LE" AND endOfLine="CRLF" -複数の検索条件式の利用 ***「中納言」検索結果のダウンロードとExcelでの利用 -Excelの基礎 --並べ替え ---反転前文脈の使い方 --フィルタ ---テキストフィルタ -''ピボットテーブル''の使い方 --ピボットテーブル --ピボットグラフ **2016/11/11 (休講) [[シカゴに出張していました。>https://ceas.uchicago.edu/page/digital-humanities-workshop]] **2016/10/28 ***補足 -UniDicとiPhoneなど -近代雑誌コーパスの[[『日本語歴史コーパス』>http://pj.ninjal.ac.jp/corpus_center/chj/]]への追加について -11月11日 休講 --https://ceas.uchicago.edu/page/digital-humanities-workshop ***「中納言」の利用続き -配布資料:「中納言の使い方」 --複数単位の組み合わせ(共起・連接)~ **2016/10/21 (復習) -[[授業資料/UniDicの見出し語階層]] ***コーパスへの形態論情報の付与 -短単位:MeCabとUniDicを使った形態素解析で情報付与 -長単位:Comainu(など)で短単位を組み上げる -BCCWJ関連報告書 http://pj.ninjal.ac.jp/corpus_center/bccwj/doc.html --形態論情報規程集(PDF) [[第4版 上>http://pj.ninjal.ac.jp/corpus_center/bccwj/doc/report/JC-D-10-05-01.pdf]]・[[第4版 下>http://pj.ninjal.ac.jp/corpus_center/bccwj/doc/report/JC-D-10-05-02.pdf]] //***形態素解析 #include(授業資料/形態素解析,notitle) ***最近の動向 -KyTea --http://www.phontron.com/kytea/index-ja.html --点予測という系列ラベリングとは別の手法による形態素解析器 -JUMAN++ --http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++ --ごく最近公開されたRNN(ディープラーニングの一種)を使った形態素解析器 ***長単位解析器 -Comainu --https://ja.osdn.net/projects/comainu/ ***係り受け解析器 -CaboCha --https://taku910.github.io/cabocha/ ※(中納言で使える)BCCWJには係り受け情報は付いていない。 ***参考図書 #amazon(4254516010,left); #amazon(4254516029,left); #amazon(479812852X,left); #amazon(4339024511,left); #amazon(4873114705,left); #amazon(4339027510,left); #clear **2016/10/14 -配布資料:「中納言の使い方」(次回以降も使います) ***(前回補足)コーパスの設計とサンプリング --BCCWJの基本設計:http://pj.ninjal.ac.jp/corpus_center/bccwj/basic-design.html --サンプリング:http://pj.ninjal.ac.jp/corpus_center/bccwj/sampling.html ***XMLによる電子化 --http://pj.ninjal.ac.jp/corpus_center/bccwj/XML.html ***形態論情報 --http://pj.ninjal.ac.jp/corpus_center/bccwj/morphology.html -短単位と長単位 --''(配付資料)''参照 --''(スライド)''参照 -品詞体系 --BCCWJは[[UniDic>https://ja.osdn.net/projects/unidic/]]の品詞体系にもとづく ---形態論情報の例 --[[授業資料/UniDicの品詞体系]] --[[授業資料/UniDicの見出し語階層]] **2016/10/7 -配布資料:「仮想講義」(前川) ***「コーパス」について [#k44345b6] -OED corpus, n. http://www.oed.com/view/Entry/41873 :狭義のコーパス|言語研究を目的として収集され、言語研究のための情報が付けられたコンピュータ上で利用可能な大規模な言語データ。 --現代日本語書き言葉均衡コーパス(BCCWJ) / 日本語歴史コーパス(CHJ) :広義のコーパス|コンピュータ上で利用可能な大規模な言語データ。必ずしも言語研究向きではないが、言語研究に利用可能。 --さまざまなテキストアーカイブ(新潮文庫の百冊 / 青空文庫 / 国会会議録) --Web上のデータ ---検索サイトの利用 ---WAC(Web as Corpus) ***紙の資料からコーパスまで (日本語研究資料の変遷) +(紙の)本文 +(紙の)総索引(コンコーダンス) +各種の電子テキスト +構造化テキスト --[[太陽コーパス>http://pj.ninjal.ac.jp/corpus_center/cmj/taiyou/]]など +形態論情報付きコーパス --[[現代日本語書き言葉均衡コーパス(BCCWJ)>http://pj.ninjal.ac.jp/corpus_center/bccwj/]]など ***コーパスに求められるもの -コーパス以前の電子化日本語資料(とその限界) --個人研究者による電子化テキスト ---cf. [[日本文学等テキストファイル(岡島昭浩)>http://www.ne.jp/asahi/nihongo/okajima/bungaku.htm]] --出版社による電子出版物(CD-ROM) ---新潮文庫の100冊 etc. --新聞のデータベース(CD-ROM) ---毎日新聞CD-ROM etc. --研究機関のデータベース ---国文学資料館 大系DB etc. --Web上のテキストアーカイブ ---青空文庫 etc. --Webそのもの ---Web as Corpus -コーパスへの要請 --大規模であること --各種のテキストが含まれていて、ジャンルなどのバランスがとれていること --著作権の問題がないこと --言語研究に利用できる情報がついていること ***コーパスの設計とサンプリング -''(スライド参照)'' -均衡コーパス(Balanced corpus) --「バランスがとれている」とは? --コーパスの母集団の設定とサンプリング --BCCWJのサブコーパス --可変長と固定長 ***参考リンク -英語のコーパス リファレンス --[[ブラウンコーパス マニュアル>http://khnt.aksis.uib.no/icame/manuals/brown/]] http://khnt.aksis.uib.no/icame/manuals/brown/ --[[BNCリファレンスガイド>http://www.natcorp.ox.ac.uk/docs/URG/]] http://www.natcorp.ox.ac.uk/docs/URG/ -現代日本語書き言葉均衡コーパス(BCCWJ) --[[現代日本語書き言葉均衡コーパス:概要>http://pj.ninjal.ac.jp/corpus_center/bccwj/index.html]] --[[現代日本語書き言葉均衡コーパス:サンプリング>http://pj.ninjal.ac.jp/corpus_center/bccwj/sampling.html]] **2016/9/30 ***イントロダクション/日本語コーパスの紹介 -[[自己紹介]] --大学共同利用機関法人人間文化研究機構 国立国語研究所 http://www.ninjal.ac.jp/ --[[国立国語研究所コーパス開発センター>http://pj.ninjal.ac.jp/corpus_center/]] -コーパス --[[現代日本語書き言葉均衡コーパス(BCCWJ)>http://pj.ninjal.ac.jp/corpus_center/bccwj/]] --[[日本語歴史コーパス(CHJ)>http://pj.ninjal.ac.jp/corpus_center/chj/]] --[[形態素解析辞書UniDic>http://sourceforge.jp/projects/unidic/]] -デモ --BCCWJ[[少納言>http://shonagon.ninjal.ac.jp]] --BCCWJ[[中納言>http://chunagon.ninjal.ac.jp]] --[[Web茶まめ>http://chamame.ninjal.ac.jp]] --Excelによる集計(ピボットテーブル) -シラバス確認 --この授業の目的 --授業の進め方 --評価方法 -受講者の関心・スキルについて ***「中納言」オンライン利用申込み -https://chunagon.ninjal.ac.jp/useraccount/register