#author("2023-05-18T11:38:10+00:00","default:ogiwiki","ogiwiki") [[総研大2023]] **20230522 [#l2cd7e19] ***BCCWJのXMLタグセット [#yff8b80d] -https://clrd.ninjal.ac.jp/bccwj/c-xml.html ***TEI (Text Encoding Initiative) [#u02355e5] -https://tei-c.org/ --参考資料:[[TEI入門に最適なウェブ資料>https://www.dh.ku-orcas.kansai-u.ac.jp/?p=750]](関西大・東アジアDHポータル) --[[chapter 8 歴史データのさまざまな応用 -Text Encoding Initiative の現在-(永崎研宣)★『歴史情報学の教科書』>https://bungaku-report.com/blog/2019/03/chapter-8-text-encoding-initiative.html]] ***XMLアノテーションの実際 [#kca1a500] -サンプルテキスト(青空文庫の夏目漱石「こころ」)をXMLに --練習用サンプルデータ[[kokoto.txt>https://www.dropbox.com/s/r89ahi6goxy5a2c/kokoro.txt?dl=1]] -タグ付き正規表現を使った置換の応用 --ただし、正規表現では、XMLのような入れ子のタグに完全にマッチする表現力はない((拡張正規表現では可能)) ***「太陽コーパス」でのXMLの活用例 [#u9fcc688] -[[「太陽コーパス」>https://clrd.ninjal.ac.jp/cmj/taiyou/index.html]]と[[XMLアプリケーション>https://csd.ninjal.ac.jp/lrc/?%A1%D8%A4%BF%A4%F3%A4%DD%A4%DD%A1%D9%A1%A4%A1%D8%A5%D7%A5%EA%A5%BA%A5%E0%A1%D9]](2000年代) ***Himawariでの利用 [#x9afc7c7] -[[全文検索システム「ひまわり」>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]](山口昌也先生) **20230514 [#mc5d08e5] ***書き言葉コーパスの例(テキスト化+XMLアノテーション+形態論情報付与) [#y9cb1a76] -明六雑誌コーパス:https://ccd.ninjal.ac.jp/cmj/meiroku/ ***正規表現とは [#d216d4e0] -''正規表現'' [[>用語>http://e-words.jp/w/E6ADA3E8A68FE8A1A8E78FBE.html]] --文字を表すための特殊な文字(メタ文字)を使って文字列のパターンを表現する --テキストエディタでは置換・検索・grepで利用できる (エディタ以外にもさまざまなアプリケ-ションやコンピュータ言語で利用されている) --特殊な文字(メタ文字)はすべて半角 //--特殊な文字そのものを表す場合には\でエスケープする(特殊な意味を打ち消す) 例:1\+2 ***正規表現のいろいろ [#q514651f] -[[授業資料/正規表現]] --文字クラス [ ] --文字クラスの否定(補集合)[^ ] --繰り返し ? + * --グループ化 () --or(論理和) | --文頭 ^、文末 $ ***正規表現の応用 [#c7a3ea2d] -カタカナ語 --カタカナ(外来語)の形容動詞語幹 -送りがなの揺れ(行う/行なう) -会話文中("「"で始まる文中)の用例を検索する -同一文中での共起 --全然~ない。 --もし~なら(ば) ***タグ付き正規表現 [#z9ef50e5] -走[らりるれろ] でgrepした結果を置換するにはどうしたらいいか --次のように置換するととんでもないことに… ---検索文字列:走[らりるれろっ] ---置換文字列:★走[らりるれろっ] -タグ付き正規表現:カッコ(半角丸カッコ)と\1(\2,\3…)を使う -[[授業資料/タグつき正規表現]] ***最長一致の原則(greedy matching) [#y047e9bd] -正規表現は、パターンが一致する最も長い範囲にマッチする --例:''あ+'' → ''【\1】'' ---ああああああああ → 【ああああああああ】 そのせいで… --例:''「(.+)」'' → ''【\1】'' ---「こんにちは」「さようなら」 → 【こんにちは」「さようなら】 --括弧の組ごとに置換するためには''「([^」]+)」'' → ''【\1】'' のように書かなければならない ---「こんにちは」「さようなら」 → 【こんにちは】【さようなら】 -よりかんたんに指定するには(最短一致,ものぐさ指定) --''「(.+?)」「(.*?)」''のように、繰り返し指定の+*の後に「?」をつける -(参考)タグ付き正規表現の応用:[[grepと置換でKWICを作る>授業資料/grepと置換でKWICを作る]] ***検索文字列の中での後方参照 [#ra28185d] -検索語の中で\1を使う --(..)\1 「ころころ」「毎日毎日」など二文字の繰り返しにマッチ --(.ろ)\1 「ころころ」「どろどろ」「へろへろ」などにマッチ --(..)\1\1 --(...)\1 ***正規表現に関する参考資料 [#w86de08b] -サクラエディタの正規表現:http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html -正規表現に関する本 [[amazonで検索>https://www.amazon.co.jp/s?k=%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE]] ***ゲームの紹介 [#k337bfef] -正規表現を学ぶ狩りに出ようRegex Hunting --https://www.regex-hunting.com/ ***XML入門 [#i9f93999] -(参考) XML入門 https://www.javadrive.jp/xml/ **20230508 [#t32b08bc] ***紙の資料からコーパスまで ~テキストの電子化とアノテーションの高度化 [#s7dfd61c] +(紙の)本文 +(紙の)総索引(コンコーダンス) +電子テキスト:テキスト (199x年代~) --[[授業資料/テキストデータ紹介]] +構造化テキスト:テキスト+XMLによる構造化タグ (200x年代~) --[[太陽コーパス>https://ccd.ninjal.ac.jp/cmj/taiyou/]]など +単語情報付きのコーパス:テキスト+XMLによる構造化タグ+形態論情報 (201x年代~) --[[現代日本語書き言葉均衡コーパス(BCCWJ)>https://ccd.ninjal.ac.jp/bccwj/]]など --[[日本語歴史コーパス(CHJ)>https://ccd.ninjal.ac.jp/chj/]]など ***コーパスのファイル形式とアプリケーション [#v16f2d86] -ファイル形式と実例 ++電子テキスト:プレーンテキスト ++構造化テキスト:XMLファイル ++単語情報付きデータ:単語情報を埋め込んだXML /XMLファイル+CSVファイル --(発展)XMLの限界とスタンドオフアノテーション -それぞれの利用アプリケーション ++電子テキスト:テキストエディタ+grepなど ++構造化テキスト:全文検索システム[[「ひまわり」>https://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エディタ(Oxygen, VSCode)、XPath・XSLT ++単語情報付きデータ:中納言(オンライン)/[[Chaki.Net>https://ja.osdn.net/projects/chaki/]](PC上) **20230501(オンデマンド) テキストデータ整備の準備[#e99d6137] -【課題1】VS codeのインストールと設定 --拡張機能 Japanese Language Packの追加 ---参考:https://web.yokkaichi-u.ac.jp/yucc/archives/1542 --ファイルオープン時にエンコーディングを自動判別するよう設定 ---https://www.javadrive.jp/vscode/setting/index3.html --拡張機能 XML Language Support by Red Hatの追加 -テキストデータについて --[[授業資料/文字コード関連リンク]] --[[授業資料/テキストデータ紹介]] -【課題2】サンプルテキスト(青空文庫の夏目漱石「こころ」)をダウンロードしてVS codeで開き、UTF-8で保存しなおす ---練習用サンプルデータ[[kokoto.txt>https://www.dropbox.com/s/r89ahi6goxy5a2c/kokoro.txt?dl=1]] -正規表現について --[[授業資料/正規表現]] --正規表現を学ぶ狩りに出ようRegex Hunting https://www.regex-hunting.com/ -【課題3】VS Codeで正規表現を使ってサンプルテキストのふりがなタグを置換で削除 //---|?(\P{sc=Han}+)《(.+?)》