Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データサイエンス11_前処理.pdf
Search
自然言語処理研究室
June 25, 2018
Education
0
450
データサイエンス11_前処理.pdf
自然言語処理研究室
June 25, 2018
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
370
データサイエンス13_解析.pdf
jnlp
0
470
データサイエンス12_分類.pdf
jnlp
0
330
Recurrent neural network based language model
jnlp
0
130
自然言語処理研究室 研究概要(2012年)
jnlp
0
120
自然言語処理研究室 研究概要(2013年)
jnlp
0
92
自然言語処理研究室 研究概要(2014年)
jnlp
0
110
自然言語処理研究室 研究概要(2015年)
jnlp
0
170
自然言語処理研究室 研究概要(2016年)
jnlp
0
180
Other Decks in Education
See All in Education
生成AI
takenawa
0
3k
Tutorial: Foundations of Blind Source Separation and Its Advances in Spatial Self-Supervised Learning
yoshipon
1
110
OJTに夢を見すぎていませんか? ロールプレイ研修の試行錯誤/tryanderror-in-roleplaying-training
takipone
1
140
Linuxのよく使うコマンドを解説
mickey_kubo
1
120
『会社を知ってもらう』から『安心して活躍してもらう』までの プロセスとフロー
sasakendayo
0
210
プレゼンテーション実践
takenawa
0
2.9k
Padlet opetuksessa
matleenalaakso
4
14k
小さなチャレンジが生んだチームの大きな変化 -私のふりかえり探求の原点
callas1900
0
510
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
signer
PRO
0
2.5k
系統性を意識したプログラミング教育~ガチャを実装しよう~
asial_edu
0
390
プログラミング教育する大学、ZEN大学
sifue
1
520
今から始める8bits CPU アセンブラ言語
sapi_kawahara
0
460
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
A better future with KSS
kneath
239
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Speed Design
sergeychernyshev
30
990
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The World Runs on Bad Software
bkeepers
PRO
68
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Transcript
None
山本担当分(11回~15回) 第11回 テキストデータと前処理 第12回 機械学習、データの分類 第13回 類似度、重要度、相関
第14回 推薦システムとシステム評価 第15回 全体まとめと達成度確認テスト
今日の内容 テキストデータ テキストマイニング 前処理 言語データの種類
文字コード ノイズ除去
Text data
テキストデータの種類 Webクローリングテキスト URLを限定せず、無差別大量にほしい時 新聞記事 公開テキスト
Twitter、各種クチコミなど 流行が知りたい、自社製品の評判を知りたい等 非公開テキスト(組織内文書) 日報、アンケート、カルテ、文献
ジップの法則 (Zipf’s law) 出現頻度が k 番目に大きい要素が全体に占める割合が 1/k に比例する という経験則
すなわち、どのような単語統計を取っても、極めて少数の単語が高頻度で あり、多数の単語は低頻度である。 言語統計だけの性質でなく、アクセス頻度、人口、収入など様々な社会現 象において概ねこの性質が成立することが確認されている。 テキストデータの解析は(概要把握だけなら)易しく、(全容把握は)難しい。
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
Text mining
テキストマイニング(text mining) 最近ではテキストアナリティックス(text analytics)とも呼ぶ。 大量のテキストを対象に何らかの有益な知見を得るための一連の作業 実際に行う作業は多岐にわたる
データの分類・クラスタリング 情報抽出 情報可視化
データマイニングとの違い 対象とするデータが構造化データかどうかの違い データマイニング:数値や◦×など、何らかの表形式になっているデータが 分析対象 テキストマイニング:テキスト(自然言語文)が分析対象。これを自然 言語処理を使って何らかの表形式に変換する処理が必要
つまり、自然言語処理によって言語情報が何らかの表形式に変換できれば、 以降で用いられる技術は同一。
preprocessing
前処理の重要性 データ処理は「きれいな」データが対象 しかし、実際のデータはきれいでないことがほとんど 特にテキストデータ(言語データ)は半端ないことが多い 目的とする処理をする以前に、データに対する前処理が必須
データサイエンスの現場において、その 業務は「前処理」と呼ばれるデータの 整形に90%以上の時間を費やすと 言われています。「前処理」を効率よく こなすことで、予測モデルの構築やデー タモデリングといった本来のデータサイエ ンス業務に時間を割くことができるわけ です。
None
None
テキスト処理以前の前処理 データのスケーリング 例えばX軸とY軸の2次元空間を考えるとき、数値が X >>> Y である とY軸の影響はほとんどない。
データのシャッフル 多くの場合データの整列順には何らかの偏りがある(つまり何らかのソートが されている)。この先頭Nサンプルで訓練や評価を行っても偏るのは当然で ある。 ノイズの除去 何らかの方法で予めノイズの除去が可能であればクリーニングを行う。
テキストの整形とクリーニング 文字コード JIS、シフトJIS、EUC-JP、Unicode(UTF-8、UTF-16) 今ならUTF-8に統一するのが現実的 改行コード
CRLF(Windows)、CR(Mac OS)、LF(Linux) (入手時の環境ではなく)開発環境に揃えるべき (HTMLテキスト等に対する)タグの除去
None
おまけ:絵文字のお話 2000年ごろから、日本のケータイ3社が勝手に拡張する 2007年 Googleが絵文字の開発を開始 2008年 ソフトバングがiPhone 3Gを発売、絵文字が搭載。
2010年 Unicode 6.0 で絵文字が採用 つまり、 日本発祥の(ケータイ)絵文字が世界標準になった ただし採用される絵文字は同一ではない 絵文字の普及と同時に Unicode が世界に普及した
フォーマットの変換 1行を1単語とする 1行を1文とする 1行を1文書とする これらは何をどう処理したいかによって選択する必要がある
単語分割 日本語の場合は、文字列を単語に分割する必要がある。 形態素解析 日本語の形態素解析器は下記の通り JUMAN(老舗) /
JUMAN++ (改良版) ChaSen MeCab (最もよく使われる) Sudachi
参考:Webで単語分割 http://reed.kuee.kyoto-u.ac.jp/nl-resource/cgi-bin/juman.cgi
http://chamame.ninjal.ac.jp/
参考:Webで単語分割 http://www.sofnec.co.jp/az-demo/cgi-bin/mecabtest.cgi
https://tool.konisimple.net/text/hinshi_keitaiso
文字種の統一 全角文字と半角文字の統一 漢数字(一、ニ、三)と算用数字(1, 2, 3)の統一 記号の統一
(年号の統一):西暦と和暦
Unicode の文字統一 Unicode には結合文字列(Combining Characters) という概念があり、連 続する二つの文字コードの合成によって1文字を表現することができる。 日本語の濁点・半濁点など
この結果、例えば「だ」という文字は、全く同一の文字でありながら 「た」+(濁点) 「だ」 の2種類の文字コードが存在することになる。 これは検索など様々な処理において非常に面倒。よって統一する必要がある。 NFKC(Normalization Form KC)正規化
http://ar.nyx.link/unicode/#id.5.0.0
表記ゆれ 特に日本語には、様々な表記ゆれ (多様な表現)が存在する。 文字種 「りんご」と「リンゴ」と「林檎」 旧漢字
「付属」と「附属」 「竜馬」と「龍馬」 部分的なひらがな化 「改ざん」と「改竄」 送りがなの異なり 「受け付ける」と「受付ける」 外来語 「コンピュータ」と「コンピューター」 「バイオリン」と「ヴァイオリン」 口語的表現 「~ている」と「~てる」 「すばしっこい」と「すばしこい」
表記ゆれ(続き) 表記ゆれに対処できる自然言語処理ツールは存在しなかった。 より正確には、部分的にしか対応できていなかった。 2017年に Sudachi というツールが発表。
ワークス徳島人工知能NLP研究所
https://www.slideshare.net/WorksApplications/ss-78025845