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
470
データサイエンス11_前処理.pdf
自然言語処理研究室
June 25, 2018
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
390
データサイエンス13_解析.pdf
jnlp
0
490
データサイエンス12_分類.pdf
jnlp
0
350
Recurrent neural network based language model
jnlp
0
140
自然言語処理研究室 研究概要(2012年)
jnlp
0
140
自然言語処理研究室 研究概要(2013年)
jnlp
0
100
自然言語処理研究室 研究概要(2014年)
jnlp
0
120
自然言語処理研究室 研究概要(2015年)
jnlp
0
200
自然言語処理研究室 研究概要(2016年)
jnlp
0
200
Other Decks in Education
See All in Education
今の私を形作る4つの要素と偶然の出会い(セレンディピティ)
mamohacy
2
110
生成AI活用セミナー/GAI-workshop
gnutar
0
120
”育てる”から”育つ”仕組みへ!スクラムによる新入社員教育
arapon
0
160
質のよいアウトプットをできるようになるために~「読む・聞く、まとめる、言葉にする」を読んで~
amarelo_n24
0
260
核燃料政策を問う─英国の決断と日本
hide2kano
0
200
QR-koodit opetuksessa
matleenalaakso
0
1.7k
2025年度春学期 統計学 第14回 分布についての仮説を検証する ー 仮説検定(1) (2025. 7. 10)
akiraasano
PRO
0
160
20250625_なんでもCopilot 一年の振り返り
ponponmikankan
0
380
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
【品女100周年企画】Pitch Deck
shinagawajoshigakuin_100th
0
7.5k
20250830_本社にみんなの公園を作ってみた
yoneyan
0
130
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
2.5k
Featured
See All Featured
Code Review Best Practice
trishagee
72
19k
Agile that works and the tools we love
rasmusluckow
331
21k
Documentation Writing (for coders)
carmenintech
75
5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Language of Interfaces
destraynor
162
25k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
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