Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データサイエンス11_前処理.pdf

 データサイエンス11_前処理.pdf

More Decks by 自然言語処理研究室

Other Decks in Education

Transcript

  1. View Slide

  2. 山本担当分(11回~15回)
     第11回 テキストデータと前処理
     第12回 機械学習、データの分類
     第13回 類似度、重要度、相関
     第14回 推薦システムとシステム評価
     第15回 全体まとめと達成度確認テスト

    View Slide

  3. 今日の内容
     テキストデータ
     テキストマイニング
     前処理
     言語データの種類
     文字コード
     ノイズ除去

    View Slide

  4. Text data

    View Slide

  5. テキストデータの種類
     Webクローリングテキスト
     URLを限定せず、無差別大量にほしい時
     新聞記事
     公開テキスト
     Twitter、各種クチコミなど
     流行が知りたい、自社製品の評判を知りたい等
     非公開テキスト(組織内文書)
     日報、アンケート、カルテ、文献

    View Slide

  6. ジップの法則 (Zipf’s law)
     出現頻度が k 番目に大きい要素が全体に占める割合が 1/k に比例する
    という経験則
     すなわち、どのような単語統計を取っても、極めて少数の単語が高頻度で
    あり、多数の単語は低頻度である。
     言語統計だけの性質でなく、アクセス頻度、人口、収入など様々な社会現
    象において概ねこの性質が成立することが確認されている。
     テキストデータの解析は(概要把握だけなら)易しく、(全容把握は)難しい。

    View Slide

  7. https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%83%E3%83%97%E3%81%AE%E6%B3%95%E5%89%87#/media/File:Zipf_30wiki_en_labels.png

    View Slide

  8. Text mining

    View Slide

  9. テキストマイニング(text mining)
     最近ではテキストアナリティックス(text analytics)とも呼ぶ。
     大量のテキストを対象に何らかの有益な知見を得るための一連の作業
     実際に行う作業は多岐にわたる
     データの分類・クラスタリング
     情報抽出
     情報可視化

    View Slide

  10. データマイニングとの違い
     対象とするデータが構造化データかどうかの違い
     データマイニング:数値や○×など、何らかの表形式になっているデータが
    分析対象
     テキストマイニング:テキスト(自然言語文)が分析対象。これを自然
    言語処理を使って何らかの表形式に変換する処理が必要
     つまり、自然言語処理によって言語情報が何らかの表形式に変換できれば、
    以降で用いられる技術は同一。

    View Slide

  11. preprocessing

    View Slide

  12. 前処理の重要性
     データ処理は「きれいな」データが対象
     しかし、実際のデータはきれいでないことがほとんど
     特にテキストデータ(言語データ)は半端ないことが多い
     目的とする処理をする以前に、データに対する前処理が必須

    View Slide

  13. データサイエンスの現場において、その
    業務は「前処理」と呼ばれるデータの
    整形に90%以上の時間を費やすと
    言われています。「前処理」を効率よく
    こなすことで、予測モデルの構築やデー
    タモデリングといった本来のデータサイエ
    ンス業務に時間を割くことができるわけ
    です。

    View Slide

  14. View Slide

  15. View Slide

  16. テキスト処理以前の前処理
     データのスケーリング
     例えばX軸とY軸の2次元空間を考えるとき、数値が X >>> Y である
    とY軸の影響はほとんどない。
     データのシャッフル
     多くの場合データの整列順には何らかの偏りがある(つまり何らかのソートが
    されている)。この先頭Nサンプルで訓練や評価を行っても偏るのは当然で
    ある。
     ノイズの除去
     何らかの方法で予めノイズの除去が可能であればクリーニングを行う。

    View Slide

  17. テキストの整形とクリーニング
     文字コード
     JIS、シフトJIS、EUC-JP、Unicode(UTF-8、UTF-16)
     今ならUTF-8に統一するのが現実的
     改行コード
     CRLF(Windows)、CR(Mac OS)、LF(Linux)
     (入手時の環境ではなく)開発環境に揃えるべき
     (HTMLテキスト等に対する)タグの除去

    View Slide

  18. View Slide

  19. おまけ:絵文字のお話
     2000年ごろから、日本のケータイ3社が勝手に拡張する
     2007年 Googleが絵文字の開発を開始
     2008年 ソフトバングがiPhone 3Gを発売、絵文字が搭載。
     2010年 Unicode 6.0 で絵文字が採用
    つまり、
     日本発祥の(ケータイ)絵文字が世界標準になった
     ただし採用される絵文字は同一ではない
     絵文字の普及と同時に Unicode が世界に普及した

    View Slide

  20. フォーマットの変換
     1行を1単語とする
     1行を1文とする
     1行を1文書とする
     これらは何をどう処理したいかによって選択する必要がある

    View Slide

  21. 単語分割
     日本語の場合は、文字列を単語に分割する必要がある。
     形態素解析
     日本語の形態素解析器は下記の通り
     JUMAN(老舗) / JUMAN++ (改良版)
     ChaSen
     MeCab (最もよく使われる)
     Sudachi

    View Slide

  22. 参考:Webで単語分割
     http://reed.kuee.kyoto-u.ac.jp/nl-resource/cgi-bin/juman.cgi

    View Slide

  23. http://chamame.ninjal.ac.jp/

    View Slide

  24. 参考:Webで単語分割
     http://www.sofnec.co.jp/az-demo/cgi-bin/mecabtest.cgi

    View Slide

  25.  https://tool.konisimple.net/text/hinshi_keitaiso

    View Slide

  26. 文字種の統一
     全角文字と半角文字の統一
     漢数字(一、ニ、三)と算用数字(1, 2, 3)の統一
     記号の統一
     (年号の統一):西暦と和暦

    View Slide

  27. Unicode の文字統一
     Unicode には結合文字列(Combining Characters) という概念があり、連
    続する二つの文字コードの合成によって1文字を表現することができる。
     日本語の濁点・半濁点など
     この結果、例えば「だ」という文字は、全く同一の文字でありながら
     「た」+(濁点)
     「だ」
    の2種類の文字コードが存在することになる。
     これは検索など様々な処理において非常に面倒。よって統一する必要がある。
     NFKC(Normalization Form KC)正規化

    View Slide

  28. http://ar.nyx.link/unicode/#id.5.0.0

    View Slide

  29. 表記ゆれ
    特に日本語には、様々な表記ゆれ
    (多様な表現)が存在する。
     文字種
     「りんご」と「リンゴ」と「林檎」
     旧漢字
     「付属」と「附属」
     「竜馬」と「龍馬」
     部分的なひらがな化
     「改ざん」と「改竄」
     送りがなの異なり
     「受け付ける」と「受付ける」
     外来語
     「コンピュータ」と「コンピューター」
     「バイオリン」と「ヴァイオリン」
     口語的表現
     「~ている」と「~てる」
     「すばしっこい」と「すばしこい」

    View Slide

  30. 表記ゆれ(続き)
     表記ゆれに対処できる自然言語処理ツールは存在しなかった。
     より正確には、部分的にしか対応できていなかった。
     2017年に Sudachi というツールが発表。
     ワークス徳島人工知能NLP研究所

    View Slide

  31. https://www.slideshare.net/WorksApplications/ss-78025845

    View Slide