*日本語コーパス構築のための テキスト処理の基礎 ~言語処理やプログラミング以前の基礎知識 **2017/06/06 テキストデータと正規表現 ***テキストデータ -[[テキストファイル>https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB]] ---[[授業資料/テキストデータとは]] ---拡張子 txt,csv,tsv,htm,xml ---サンプルデータ [[soseki2.zip>https://dl.dropboxusercontent.com/u/134600/soseki2.zip]] --[[テキストエディタ>https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF]] ---[[サクラエディタ>http://www.ogiso.net/wiki/index.php?plugin=attach&pcmd=open&file=sakura2.zip&refer=%A5%C6%A5%AD%A5%B9%A5%C8%BD%E8%CD%FD%A4%CE%B4%F0%C1%C3]] ---[[授業資料/テキストエディタ]] ---論理行番号 ---検索,置換,grep,タグジャンプ ---[[ショートカットキー>授業資料/覚えておきたいショートカットキー]] -[[文字コード>https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89]]=符号化文字集合 --[[テレタイプ>https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%AC%E3%82%BF%E3%82%A4%E3%83%97%E7%AB%AF%E6%9C%AB]]の話から ---[[制御記号>https://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E6%96%87%E5%AD%97]] ---[[改行コード>https://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89]] CR, LF, CRLF --[[文字集合(character set)>https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E9%9B%86%E5%90%88]] --[[符号化方式(character encoding)>https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%AC%A6%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F]] --やや古いがよく使われる文字コード:[[Shift_JIS>https://ja.wikipedia.org/wiki/Shift_JIS]], [[CP932>https://ja.wikipedia.org/wiki/Microsoft%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8932]], [[EUC-JP>https://ja.wikipedia.org/wiki/EUC-JP]] --[[Unicode>https://ja.wikipedia.org/wiki/Unicode]]の符号化方式[[UTF-8>https://ja.wikipedia.org/wiki/UTF-8]], [[UTF-16>https://ja.wikipedia.org/wiki/UTF-16]] ---(LE(Little Endian), BE(Big Endian)) ---[[BOM(Byte Order Mark)>https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%83%9E%E3%83%BC%E3%82%AF]] ---[[BMP(基本多言語面)>https://ja.wikipedia.org/wiki/%E5%9F%BA%E6%9C%AC%E5%A4%9A%E8%A8%80%E8%AA%9E%E9%9D%A2]]とサロゲートペア --(参考) http://www.kanzaki.com/docs/jcode.html --(参考) https://codezine.jp/article/detail/1592 ※ -[[正規表現>https://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE]](grepからタグ付き正規表現まで) --[[授業資料/正規表現]] ---文字クラス [ ] ---文字クラスの否定(補集合)[^ ] ---繰り返し ? + ※ ---繰り返し(最長一致) ? + * ※ ---繰り返し最短一致 +? *? ※ ---n回以上m回以下のくり返し {n,m} ※ ---グループ化 () ---or(論理和) | ---文頭 ^、文末 $ --[[タグ付き正規表現>授業資料/タグつき正規表現]] ---カッコ(半角丸カッコ)と\1(\2,\3…)を使う ---タグ付けへの応用例 (「.+?」) -> <quote>\1</quote> ※ --後方参照 ---マッチした部分を検索語の中で再利用する 例: (..)\1 **2017/06/13 プレーンテキストからXMLへ ***XML -マークアップ言語とXML --HTMLとXML ---SGML,XHTML --タグ、要素、属性、属性値 ---開始タグ <tag>、終了タグ </tag> ---<タグ 属性="属性値">テキスト<子要素/></タグ> --空要素 ---<br/>と<br></br> XMLとして等価 --ルート要素 ---XML宣言 <?xml version="1.0" encoding="Shift_JIS" ?> ---encoding宣言 ---XML宣言の省略 --[[文字参照>https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E5%8F%82%E7%85%A7]] <, >, & 曽 --[[ホワイトスペース>https://en.wikipedia.org/wiki/Whitespace_character#Markup_languages]] -[[XPath>https://ja.wikipedia.org/wiki/XML_Path_Language]] --ノード(node)と軸(Axis) ---省略記法 --述語(predicate) --(参考) http://gogodiet.net/z/xml/7.htm --(参考) http://qiita.com/merrill/items/aa612e6e865c1701f43b -[[XSLT>https://ja.wikipedia.org/wiki/XSL_Transformations]] --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]]用XSLT --(参考) http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt00.html -XMLの文書型定義と検証 --XML文書の検証(validation) --Well-formed(整形式) --Valid(妥当) ---DTD ---XMLスキーマ(xsd) ---RELAX NG -Oxygen --XPathによる検索((なぜかXPath2.0を選ばないと検索結果が返らなかった)) --スキーマの自動生成 **その他 ***テキストデータとExcel -ピボットテーブル -文字列関数 --LEFT, RIGHT, MID 文字列の一部を取り出す --LEN 文字列の長さ --SEARCH 文字列から一致する部分文字列を探す --SUBSTITUTE 文字列を置換する -IF, IFERROR --=IFERROR(LEFT(<品詞>,SEARCH("-",<品詞>)-1),<品詞>) -[[VLOOKUP>授業資料/vlookup関数]] -データ処理に適した形式 ---http://honeshabri.hatenablog.com/entry/vlookup ***コマンドラインツール((DOSのコマンド。[]内はLinux)) -bash on Windows? --とりあえずファイル操作 dir[ls], copy[cp], del[rm], move[mv], ren[rename], mkdir/rmdir --バッチファイル[シェルスクリプト] .bat[.sh] --(diff) --(パイプ) -ツールを組み合わせた処理(([[ブリコラージュ>https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AA%E3%82%B3%E3%83%A9%E3%83%BC%E3%82%B8%E3%83%A5]])) --テキストエディタ、Excel、コマンドラインを自由に行き来する