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
430
データサイエンス11_前処理.pdf
自然言語処理研究室
June 25, 2018
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
350
データサイエンス13_解析.pdf
jnlp
0
410
データサイエンス12_分類.pdf
jnlp
0
310
Recurrent neural network based language model
jnlp
0
110
自然言語処理研究室 研究概要(2012年)
jnlp
0
110
自然言語処理研究室 研究概要(2013年)
jnlp
0
76
自然言語処理研究室 研究概要(2014年)
jnlp
0
89
自然言語処理研究室 研究概要(2015年)
jnlp
0
140
自然言語処理研究室 研究概要(2016年)
jnlp
0
170
Other Decks in Education
See All in Education
世界のオープンソースロボットたち #1
shiba_8ro
0
140
LLMs for Social Simulation: Progress, Opportunities and Challenges
wingnus
1
100
20241002_Copilotって何?+Power_AutomateのCopilot
ponponmikankan
1
160
Amazon Connectを利用したCloudWatch Alarm電話通知
junghyeonjae
0
260
【COPILOT無料セミナー】エンゲージメントと自律性の高いプロジェクト型人材育成に向けて~プロジェクト・ベースド・ラーニング(PBL)という選択肢~
copilot
PRO
0
130
Blogit opetuksessa
matleenalaakso
0
1.6k
老人会? いえ、技術継承です @ builderscon 2024 LT
s3i7h
0
110
HP用_松尾研紹介資料.pdf
matsuolab
0
170
Library Prefects 2024-2025
cbtlibrary
0
110
オープンソース防災教育ARアプリの開発と地域防災での活用
nro2daisuke
0
170
勉強する必要ある?
mineo_matsuya
2
1.6k
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
2.7k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
GraphQLとの向き合い方2022年版
quramy
43
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Building Adaptive Systems
keathley
38
2.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Fireside Chat
paigeccino
34
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