SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
@kmotohas
本郷言語処理勉強会 #2
第6章 テキストデータのための素性
自己紹介
!3
- 本橋 和貴 (@kmotohas)
‣ 東工大 基礎物理学専攻 PhD (2017)
‣ ソフトバンク株式会社 (2017-2019)
‣ DEEPCORE Inc. (2018-)
‣ スカイマインド株式会社 (2019-)
• 深層学習モデルの開発・運用プラットフォーム作ってる会社
- Java/Scaraでできる deeplearning4j の開発
- Keras 2nd (&6th) contributors がいたりする
• 僕はプリセールスエンジニア
目次
!4
- 第2編 自然言語データの扱い
‣ 第6章 テキストデータのための素性
• 6.1 自然言語処理における分類問題のタイプ分け
• 6.2 自然言語処理問題のための素性
- 6.2.1 直接観察できる素性
- 6.2.2 推測される言語的特徴
- 6.2.3 核となる素性と組み合わせ素性
- 6.2.4 n-グラム素性
- 6.2.6 分布論的素性
第6章で扱う内容
!5
- DNNは素性エンジニアリングのすべてを担ってはくれない
- タスクごとに核となる素性の集合を適切に決定する
テキストデータ 実数値ベクトル
素性*関数
・ 素性抽出 (feature extraction)
・ 素性表現 (feature representation)
* この本では feature を「特徴量」ではなく「素性」と訳す模様
6.1 自然言語処理における分類問題のタイプ分け
!6
- 単語
‣ 生き物?、どの言語?、一般的?、似た単語は?、タイポ?
- テキスト(文書分類: document classification)
‣ スパム?、政治/スポーツ?、皮肉?、肯定的?、誰の著作?、好まれる?
- テキスト対
‣ 同義語?、適切な翻訳?、同じ著者?、要約?
- 文脈に埋め込まれた単語
‣ book: 名詞/動詞/形容詞?、apple: 企業/果物?、固有表現?
- 二つの単語の関係
‣ 単語Aは動詞Bの主語?、目的語?
コラム:単語とは何か
!7
- 単語 := 空白で区切られた文字の系列?
‣ dog, / dog? / dog. / dog
- 単語 := 空白あるいは句読点で区切られた文字の系列 (token)?
‣ I.B.M / Mr. / don t / ヘブライ語、アラビア語、中国語、日本語、…
‣ cat / Cat / New York / ice-cream / ice cream / kick the bucket
- 単語 (word) と トークン (token) は区別される
‣ トークン := トークン化処理の出力
‣ 単語 := 意味を運ぶ単位
6.2 自然言語処理問題のための素性
!8
- 単語や文字は離散的 ➡ 指標 / 計数 をよく用いる
• 指標素性 (indicator feature)
• ある条件を満たしたら1、さもなければ0
- 例)単語 dog が文書中に一度以上現れたら1、なければ0
‣ 計数 (count)
• ある出来事が生じた回数
- 例)テキスト中に単語 dog が現れた回数
- 6.2.1 直接観察できる素性
- 6.2.2 推測される言語的特徴
- 6.2.3 核となる素性と組み合わせ素性
- 6.2.4 n-グラム素性
- 6.2.6 分布論的素性
6.2.1 直接観察できる素性
!9
- 一つの単語の素性
- テキストの素性
- 文脈中の単語の素性
- 単語関係の素性
一つの単語の素性
!10
- レンマ化 (lemmatizing)
‣ レンマ (lemma): 辞書見出し語
‣ booking, booked, books -> book
- ステミング (stemming)
‣ レンマ化よりも粗い処理
‣ picture, pictures, pictured -> pictur
原文 A stemmer maps sequences of words to shorter sequences
WordNet Lemmatizer A stemmer map sequence of word to shorter sequence
Porter A stemmer map sequenc of word to shorter sequenc
Lancaster a stem map sequ of word to short sequ
* Stemming and Lemmatization with Python NLTK
一つの単語の素性
!11
- 語彙資源 (lexical resources)
‣ WordNet [Fellbaum, 1998]
• 単語についての概念的意味的知識を獲得することを目的
• 単語を複数の synset (同義語集合) に属する
• 人手で企画構築
http://wordnetweb.princeton.edu/perl/webwn
IBM Watson は WordNet (+DBPedia, etc) などから知識体系を獲得
-> クイズ番組 Jeopardy! で人間のチャンピョンを破った (2011)
http://www.math.ryukoku.ac.jp/ www-qma/lab/IPSJ-MGN520717.pdf
一つの単語の素性
!12
- 語彙資源 (lexical resources)
‣ FrameNet [Fillmore et al., 2004]
‣ VerbNet [Kipper et al., 2000]
• 動詞の周りに焦点を当てて関連する項を列挙
- 核となる項
• 提供者 (DONER)
• 受領者 (RECIPIENT)
• 対象 (THEME)
- 核でない項
• 時 (TIME)
• 目的 (PERPOSE)
• 場所 (PLACE)
• 様態 (MANNER)
• 人手で企画構築
https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml
一つの単語の素性
!13
- 語彙資源 (lexical resources)
‣ The Paraphrase Database (PPDB)
[Ganitkevitch et al., 2013; Pavlick et al., 2015]
• 自動構築された言い換えのデータセット
- 分布論的素性 (distributional feature)
‣ 後述 (6.2.5)
http://paraphrase.org/#/
語彙資源を効率的に利用する方法はタスクに依存
-> エンジニアリング的尽力・創意工夫が必要
-> NNモデルでは頻繁に活用されていない
(状況は変化するかもしれない)
参考)UniDic by 国立国語研究所
!14
https://unidic.ninjal.ac.jp/about_unidic
形態素解析器MeCab用の解析用辞書
6.2.1 直接観察できる素性
!15
- 一つの単語の素性
- テキストの素性
- 文脈中の単語の素性
- 単語関係の素性
テキストの素性
!16
- 単語バッグ (Bag of Words: BOW)
‣ テキスト中の単語の出現数のヒストグラム
- TF-IDF の重み付け [Manning et al., 2008]
• Term Frequency-Inverse Document Frequency
‣ 特定の文書で多数回出現している単語を重要視
• a / for などは多数回現れるが特徴的ではない https://www.pytry3g.com/entry/2018/03/21/181514
#d(w)
P
w02d #d(w0)<latexit sha1_base64="eq9A2AGwHGKX4XAIKzdU/Yx30FY=">AAACl3ichVHLLgRBFD3aa4zXYENsJiaEzaQaCbEhJGJpMEg0ne6eGir6le6emdCZH/ADJFYkIuIfbCz4AQufIJYkNhbu9HQiCG6nq06de8+tU1W6awo/YOyxQWpsam5pTbQl2zs6u7pTPb3rvlPyDJ43HNPxNnXN56aweT4Qgck3XY9rlm7yDX1/oZbfKHPPF469Fhy4fNvSdm1RFIYWEKWmxpWipxmhklELo5Wxaqj4JUsNKzuK6wmLK8JOF6r1ZEyNVdVUhmVZFOmfQI5BBnEsO6lLKCjAgYESLHDYCAib0ODTtwUZDC5x2wiJ8wiJKM9RRZK0JariVKERu0/jLq22Ytamda2nH6kN2sWk3yNlGsPsgV2xF3bPrtkTe/+1Vxj1qHk5oFmva7mrdh/1r779q7JoDrD3qfrTc4AipiOvgry7EVM7hVHXlw+PX1ZnVobDEXbOnsn/GXtkt3QCu/xqXOT4yimS9ADy9+v+CdbHs/JEVs5NZubm46dIYBBDGKX7nsIclrCMPO17ghvc4V4akGalRWmpXio1xJo+fAkp9wEvRp1/</latexit>
|{d 2 D : w 2 d}|
|D|<latexit sha1_base64="mbLSZYgS7PJ8YfNe2KQ734QEkeg=">AAAChHichVHLSsNAFD3Gd31V3QguLBbFhZSJD5QuRNSFS19VwUhJ0mkdTJOQpJWadunGH3DhSkFE3OoXuPEHXPgJ4lLBjQtv0oCoqDdk7pkz99w5M6PZhnA9xh4bpMam5pbWtvZYR2dXd0+8t2/TtUqOzjO6ZVjOtqa63BAmz3jCM/i27XC1qBl8S9tfDNa3ytxxhWVueBWb7xbVginyQlc9orLxISXvqLpfVfycIszEUvogSDmlVq351aVqLRtPshQLI/ETyBFIIooVK34JBTlY0FFCERwmPMIGVLj07UAGg03cLnziHEIiXOeoIUbaElVxqlCJ3aexQLOdiDVpHvR0Q7VOuxj0O6RMYIQ9sCv2wu7ZNXti77/28sMegZcKZa2u5Xa253hg/e1fVZGyh71P1Z+ePeQxG3oV5N0OmeAUel1fPjx5WU+vjfij7Jw9k/8z9sju6ARm+VW/WOVrp4jRA8jfr/sn2JxIyZMpeXUqOb8QPUUbBjGMMbrvGcxjGSvI0L5HuMYNbqUWaVyalKbrpVJDpOnHl5DmPgDhU5YQ</latexit>
#d(w)
P
w02d #d(w0)
⇥ log
|D|
|{d 2 D : w 2 d}|<latexit sha1_base64="j4TbcpsK1GId4xrumkAPx+Vug3E=">AAACwHichVHLThRBFD20CDgojLIxYTNhgoHNpBpNNKwIsnDJwwGSKex099QMFfpFd81MoKd/gB9gwUoSQoxfYdzwAy74AmLcQCBx48Lbj8QAUW+l6p46955bt6qswJGRYux8QHsw+HBoeORRafTxk7Hx8tNn65HfCW1Rt33HDzctMxKO9ERdSeWIzSAUpms5YsPaeZvGN7oijKTvvVd7gdhyzbYnW9I2FVFGucFboWnHvGo0Z3qzScyjjmvEvQ88CKUruPQqzSQPFtRswhW5iDt+O9f2l/pJ3OdxM81emu9lIp70E6NcZTWWWeU+0AtQRWHLfvkUHE34sNGBCwEPirADExGNBnQwBMRtISYuJCSzuECCEmk7lCUowyR2h9Y27RoF69E+rRllaptOcWiGpKxgmn1jn9g1O2Of2Xf266+14qxG2sseeSvXisAYP3i+9vO/Kpe8wvYf1T97VmjhTdarpN6DjElvYef67v7h9dr86nT8gh2zH9T/R3bOvtINvO6NfbIiVo9Qog/Q7z73fbA+V9Nf1vSVV9WFxeIrRjCJKczQe7/GAt5hGXU69wsucIkrbVHb1nxtN0/VBgrNBG6Ztv8bMP+vZA==</latexit>
単語頻度 (TF)
文書頻度 (DF)
TF-IDF
文書 d 中の全単語出現数で正規化した単語 w の出現数
単語 w が出現する文書 d の数のコーパスサイズ ¦D¦ に対する割合
6.2.1 直接観察できる素性
!17
- 一つの単語の素性
- テキストの素性
- 文脈中の単語の素性
- 単語関係の素性
文脈中の単語の素性
!18
- 窓 (window)
‣ ある単語の直近の文脈に焦点
• 対象の単語の周りに単語Xが現れた ことが素性
- 対象の近くにある単語は遠く離れた単語よりも対象の情報を多く持っていることが多い
the brown fox jumped over the lazy boy
window size: k = 2 (典型的には 2, 5, 10)
{ word=brown, word=fox, word=over, word=the }
{ word-2=brown, word-1=fox, word+1=over, word+2=the }
位置付き窓:相対的位置素性 (relative-positional features}
6.2.1 直接観察できる素性
!19
- 一つの単語の素性
- テキストの素性
- 文脈中の単語の素性
- 単語関係の素性
‣ 文脈中の二つの単語の間の距離 (distance)
‣ 間に現れる単語そのもの (identity)
6.2.2 推測される言語学的特徴
!20
- 統語 (syntax)
‣ 自然言語における文の構造を支配する規則
the boy with the black shirt opened the door with a key
NP PP NP VP NP PP NP
S
NP
DT NN NPPP PPVBD
VP
NP PP NP VP NP PP NP
S
NP VP
NP PP NP VP NP PP NP
S
NP
DT
the boy openedIN INNNNP NPDT
DTwith withthe
the black shirt a key
doorJJ NN NNDT
NN NPPP PPVBD
VP
the boy with the black shirt opened the door with a key
det prep
prep
amod
det
pobj
nsubj
root
dobj pobj
det det
品詞 (Part of Speech; POS)
統語的チャンク
(syntactic chunk)
構成要素木
(constituency tree)
句構造木
(phrase-structure tree)
依存構造木
(dependency tree)
6.2.2 推測される言語学的特徴
!21
the boy with the black shirt opened the door with a key
det prep
prep
amod
det
pobj
nsubj
root
dobj pobj
det det
依存構造木
(dependency tree)
the boy with the black shirt opened the door with a smile
the boy with the black shirt opened the door with a key
Agent
Instrument
Patient
Manner
Patient
Agent
意味役割ラベル付け
(semantic role labeling)
6.2.2 推測される言語学的特徴
!22
- 品詞 (Part of Speech tag; POS)
‣ 名詞、動詞、形容詞、限定詞
- 統語的役割 (syntactic role)
‣ 動詞の主語、目的語、主動詞、副詞的修飾語
- 意味役割 (semantic role)
‣ the key (道具) open the door / the boy (動作主) opens the door
- 統語的依存構造木 (syntactic dependency tree)
‣ 多くの単語で隔てられる二つの単語が統語構造においては隣接してることも
- 談話関係 (discourse relations)
‣ 文と文との関係。詳細化 (moreover)、反論 (however)、因果 (because) など(接続詞ない場合も)
- 照応 (anaphora)
‣ the boy opened the door with a key. It1 wasn t locked and he1 entered the room. He2 saw a man. He3 was smiling.
言語学的概念は必要か
!23
- 言語学的特徴は必要なく、NNは中間表現を自分で学習する
(深層学者支持者の一部)
- 十分な量のデータと正しい方向付けがあれば可能(筆者)
‣ 十分なデータがない場合は明示的に一般的な概念をNNに提供するのは
有益
‣ 言語学的特徴を入力素性に利用しない場合でも、マルチタスク学習に
おける追加的な教師として用いることができる
Deep Learning: A Critical Appraisal [Gary Marcus; 2018]
6.2.3 核となる素性と組み合わせ素性
!24
- 核となる素性 (core features)
- 組み合わせ素性 (combination features)
‣ 情報量があり、かつ無駄が比較的少ないような素性を作るのは難しい
・ 線形モデルでは、組み合わせ(X Y)も X, Y それぞれの合計以上のスコアにならない
‣ ニューラルネットワークのような非線形モデルでこの問題を回避
・ 核素性の集合だけ定義し、重要な組み合わせ素性はネットワークの訓練で獲得
{window-2=not, window-1=X, window+1=Y, window+2=Z}
{window-2=X , window-1=like, window+1=Y , window+2=Z }
{window-2=not, window-1=like, window+1=X , window+2=Y }
Paris ➡ 旅行カテゴリ
Hilton ➡ 旅行カテゴリ
Paris Hilton ➡ 有名人 or ゴシップカテゴリ
6.2.4 n-グラム素性
!25
- n-グラム (n-gram)
‣ New York / not good / Paris Hilton のような構造を獲得できる
• of the / on a / the boy などのバイグラムは一般的
- モデルの調整で小さい重みを割り当てる
‣ MLP は X Y という組み合わせは学習できるが XY (bigram) は認識できない
• 畳み込みネットワークは n-gram feature を見つけ出すように設計されている
• bidirectional RNN は可変長 n-gramや、間にギャップを含む n-gram を感知
6.2.5 分布論的素性
!26
- 言語の分布仮説 (distributional hypothesis) [Firth 1957, Harris 1954]
‣ Firth: You shall know a word by the company it keeps!
• 単語の意味はそれが用いられる文脈から推論できる (by Wittgenstein?)
Firth, J.R. (1957). A synopsis of linguistic theory 1930-1955
・pizza
chair・ ・burger
・pizza
chair・
・burger
原文めちゃくちゃ下品な例で笑う
文脈から単語の一般化を学習
!27
- クラスタリングに基づく手法 (clustering-based methods)
‣ 類似した単語を同じ単語を同じクラスタに割り当てる
‣ クラスタに所属する度合いによってそれぞれの単語を表現
- 埋め込みに基づく手法 (embedding-based methods)
‣ それぞれの単語をベクトルで表現
‣ 類似した単語は類似したベクトルで表現される
・pizza
chair・ ・burger
・pizza
chair・
・burger
* London/Berlinは常に類似した単語として扱うべき?(航空チケット予約、文書翻訳などでは区別したい)
まとめ
!28
- テキストデータの素性として使われているものを列挙
‣ 分類対象は単語、テキスト、テキスト対、文章中の単語、単語の関係
‣ 6.2.1 直接観察できる素性
• レンマ、ステミング、語彙資源、TF-IDF、Window
‣ 6.2.2 推測される言語的特徴
• 文法
‣ 6.2.3 核となる素性と組み合わせ素性
• NNを用いて組み合わせ素性を獲得
‣ 6.2.4 n-グラム素性
• New York など複数の単語から構成される言葉を捉える
‣ 6.2.6 分布論的素性
• You shall know a word by the company it keeps!

Contenu connexe

Similaire à 20190324 第6章 テキストデータのための素性

情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...Shinji Takao
 
文章読解支援のための語彙平易化
文章読解支援のための語彙平易化文章読解支援のための語彙平易化
文章読解支援のための語彙平易化Tomoyuki Kajiwara
 
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介Toshinori Sato
 
大規模言語モデルとChatGPT
大規模言語モデルとChatGPT大規模言語モデルとChatGPT
大規模言語モデルとChatGPTnlab_utokyo
 
Variational Template Machine for Data-to-Text Generation
Variational Template Machine for Data-to-Text GenerationVariational Template Machine for Data-to-Text Generation
Variational Template Machine for Data-to-Text Generationharmonylab
 
Tech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LTTech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LTterurou
 
オブジェクト指向っぽい話
オブジェクト指向っぽい話オブジェクト指向っぽい話
オブジェクト指向っぽい話Tomohiro Shinden
 
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイルDSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル陽平 山口
 
Semi supervised sequence tagging with bidirectional language models
Semi supervised sequence tagging with bidirectional language modelsSemi supervised sequence tagging with bidirectional language models
Semi supervised sequence tagging with bidirectional language models浩気 西山
 
文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...
文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...
文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...Shohei Okada
 
日本語の語彙平易化システムの構築
日本語の語彙平易化システムの構築日本語の語彙平易化システムの構築
日本語の語彙平易化システムの構築Tomoyuki Kajiwara
 
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jpLearn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jpTAKANO Mitsuhiro
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Hironori Washizaki
 
Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...
Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...
Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...浩気 西山
 
サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27Kensuke Mitsuzawa
 
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目schoowebcampus
 
第64回情報科学談話会(岡﨑 直観 准教授)
第64回情報科学談話会(岡﨑 直観 准教授) 第64回情報科学談話会(岡﨑 直観 准教授)
第64回情報科学談話会(岡﨑 直観 准教授) gsis gsis
 
Scala採用の背景とその後 @ hitomedia night #5
Scala採用の背景とその後 @ hitomedia night #5Scala採用の背景とその後 @ hitomedia night #5
Scala採用の背景とその後 @ hitomedia night #5Jiro Hiraiwa
 

Similaire à 20190324 第6章 テキストデータのための素性 (20)

情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
 
文章読解支援のための語彙平易化
文章読解支援のための語彙平易化文章読解支援のための語彙平易化
文章読解支援のための語彙平易化
 
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
 
大規模言語モデルとChatGPT
大規模言語モデルとChatGPT大規模言語モデルとChatGPT
大規模言語モデルとChatGPT
 
Variational Template Machine for Data-to-Text Generation
Variational Template Machine for Data-to-Text GenerationVariational Template Machine for Data-to-Text Generation
Variational Template Machine for Data-to-Text Generation
 
Tech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LTTech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LT
 
オブジェクト指向っぽい話
オブジェクト指向っぽい話オブジェクト指向っぽい話
オブジェクト指向っぽい話
 
TogoRecipes 120907
TogoRecipes 120907TogoRecipes 120907
TogoRecipes 120907
 
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイルDSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル
 
Semi supervised sequence tagging with bidirectional language models
Semi supervised sequence tagging with bidirectional language modelsSemi supervised sequence tagging with bidirectional language models
Semi supervised sequence tagging with bidirectional language models
 
文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...
文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...
文献紹介:An Iterative 'Sudoku Style' Approach to Subgraph-based Word Sense DIsamb...
 
日本語の語彙平易化システムの構築
日本語の語彙平易化システムの構築日本語の語彙平易化システムの構築
日本語の語彙平易化システムの構築
 
ACL 2017参加報告
ACL 2017参加報告ACL 2017参加報告
ACL 2017参加報告
 
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jpLearn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
 
Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...
Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...
Character aware-neural-networks-for-arabic-named-entity-recognition-for-socia...
 
サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27
 
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
 
第64回情報科学談話会(岡﨑 直観 准教授)
第64回情報科学談話会(岡﨑 直観 准教授) 第64回情報科学談話会(岡﨑 直観 准教授)
第64回情報科学談話会(岡﨑 直観 准教授)
 
Scala採用の背景とその後 @ hitomedia night #5
Scala採用の背景とその後 @ hitomedia night #5Scala採用の背景とその後 @ hitomedia night #5
Scala採用の背景とその後 @ hitomedia night #5
 

20190324 第6章 テキストデータのための素性

  • 2. 自己紹介 !3 - 本橋 和貴 (@kmotohas) ‣ 東工大 基礎物理学専攻 PhD (2017) ‣ ソフトバンク株式会社 (2017-2019) ‣ DEEPCORE Inc. (2018-) ‣ スカイマインド株式会社 (2019-) • 深層学習モデルの開発・運用プラットフォーム作ってる会社 - Java/Scaraでできる deeplearning4j の開発 - Keras 2nd (&6th) contributors がいたりする • 僕はプリセールスエンジニア
  • 3. 目次 !4 - 第2編 自然言語データの扱い ‣ 第6章 テキストデータのための素性 • 6.1 自然言語処理における分類問題のタイプ分け • 6.2 自然言語処理問題のための素性 - 6.2.1 直接観察できる素性 - 6.2.2 推測される言語的特徴 - 6.2.3 核となる素性と組み合わせ素性 - 6.2.4 n-グラム素性 - 6.2.6 分布論的素性
  • 4. 第6章で扱う内容 !5 - DNNは素性エンジニアリングのすべてを担ってはくれない - タスクごとに核となる素性の集合を適切に決定する テキストデータ 実数値ベクトル 素性*関数 ・ 素性抽出 (feature extraction) ・ 素性表現 (feature representation) * この本では feature を「特徴量」ではなく「素性」と訳す模様
  • 5. 6.1 自然言語処理における分類問題のタイプ分け !6 - 単語 ‣ 生き物?、どの言語?、一般的?、似た単語は?、タイポ? - テキスト(文書分類: document classification) ‣ スパム?、政治/スポーツ?、皮肉?、肯定的?、誰の著作?、好まれる? - テキスト対 ‣ 同義語?、適切な翻訳?、同じ著者?、要約? - 文脈に埋め込まれた単語 ‣ book: 名詞/動詞/形容詞?、apple: 企業/果物?、固有表現? - 二つの単語の関係 ‣ 単語Aは動詞Bの主語?、目的語?
  • 6. コラム:単語とは何か !7 - 単語 := 空白で区切られた文字の系列? ‣ dog, / dog? / dog. / dog - 単語 := 空白あるいは句読点で区切られた文字の系列 (token)? ‣ I.B.M / Mr. / don t / ヘブライ語、アラビア語、中国語、日本語、… ‣ cat / Cat / New York / ice-cream / ice cream / kick the bucket - 単語 (word) と トークン (token) は区別される ‣ トークン := トークン化処理の出力 ‣ 単語 := 意味を運ぶ単位
  • 7. 6.2 自然言語処理問題のための素性 !8 - 単語や文字は離散的 ➡ 指標 / 計数 をよく用いる • 指標素性 (indicator feature) • ある条件を満たしたら1、さもなければ0 - 例)単語 dog が文書中に一度以上現れたら1、なければ0 ‣ 計数 (count) • ある出来事が生じた回数 - 例)テキスト中に単語 dog が現れた回数 - 6.2.1 直接観察できる素性 - 6.2.2 推測される言語的特徴 - 6.2.3 核となる素性と組み合わせ素性 - 6.2.4 n-グラム素性 - 6.2.6 分布論的素性
  • 8. 6.2.1 直接観察できる素性 !9 - 一つの単語の素性 - テキストの素性 - 文脈中の単語の素性 - 単語関係の素性
  • 9. 一つの単語の素性 !10 - レンマ化 (lemmatizing) ‣ レンマ (lemma): 辞書見出し語 ‣ booking, booked, books -> book - ステミング (stemming) ‣ レンマ化よりも粗い処理 ‣ picture, pictures, pictured -> pictur 原文 A stemmer maps sequences of words to shorter sequences WordNet Lemmatizer A stemmer map sequence of word to shorter sequence Porter A stemmer map sequenc of word to shorter sequenc Lancaster a stem map sequ of word to short sequ * Stemming and Lemmatization with Python NLTK
  • 10. 一つの単語の素性 !11 - 語彙資源 (lexical resources) ‣ WordNet [Fellbaum, 1998] • 単語についての概念的意味的知識を獲得することを目的 • 単語を複数の synset (同義語集合) に属する • 人手で企画構築 http://wordnetweb.princeton.edu/perl/webwn IBM Watson は WordNet (+DBPedia, etc) などから知識体系を獲得 -> クイズ番組 Jeopardy! で人間のチャンピョンを破った (2011) http://www.math.ryukoku.ac.jp/ www-qma/lab/IPSJ-MGN520717.pdf
  • 11. 一つの単語の素性 !12 - 語彙資源 (lexical resources) ‣ FrameNet [Fillmore et al., 2004] ‣ VerbNet [Kipper et al., 2000] • 動詞の周りに焦点を当てて関連する項を列挙 - 核となる項 • 提供者 (DONER) • 受領者 (RECIPIENT) • 対象 (THEME) - 核でない項 • 時 (TIME) • 目的 (PERPOSE) • 場所 (PLACE) • 様態 (MANNER) • 人手で企画構築 https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml
  • 12. 一つの単語の素性 !13 - 語彙資源 (lexical resources) ‣ The Paraphrase Database (PPDB) [Ganitkevitch et al., 2013; Pavlick et al., 2015] • 自動構築された言い換えのデータセット - 分布論的素性 (distributional feature) ‣ 後述 (6.2.5) http://paraphrase.org/#/ 語彙資源を効率的に利用する方法はタスクに依存 -> エンジニアリング的尽力・創意工夫が必要 -> NNモデルでは頻繁に活用されていない (状況は変化するかもしれない)
  • 14. 6.2.1 直接観察できる素性 !15 - 一つの単語の素性 - テキストの素性 - 文脈中の単語の素性 - 単語関係の素性
  • 15. テキストの素性 !16 - 単語バッグ (Bag of Words: BOW) ‣ テキスト中の単語の出現数のヒストグラム - TF-IDF の重み付け [Manning et al., 2008] • Term Frequency-Inverse Document Frequency ‣ 特定の文書で多数回出現している単語を重要視 • a / for などは多数回現れるが特徴的ではない https://www.pytry3g.com/entry/2018/03/21/181514 #d(w) P w02d #d(w0)<latexit sha1_base64="eq9A2AGwHGKX4XAIKzdU/Yx30FY=">AAACl3ichVHLLgRBFD3aa4zXYENsJiaEzaQaCbEhJGJpMEg0ne6eGir6le6emdCZH/ADJFYkIuIfbCz4AQufIJYkNhbu9HQiCG6nq06de8+tU1W6awo/YOyxQWpsam5pTbQl2zs6u7pTPb3rvlPyDJ43HNPxNnXN56aweT4Qgck3XY9rlm7yDX1/oZbfKHPPF469Fhy4fNvSdm1RFIYWEKWmxpWipxmhklELo5Wxaqj4JUsNKzuK6wmLK8JOF6r1ZEyNVdVUhmVZFOmfQI5BBnEsO6lLKCjAgYESLHDYCAib0ODTtwUZDC5x2wiJ8wiJKM9RRZK0JariVKERu0/jLq22Ytamda2nH6kN2sWk3yNlGsPsgV2xF3bPrtkTe/+1Vxj1qHk5oFmva7mrdh/1r779q7JoDrD3qfrTc4AipiOvgry7EVM7hVHXlw+PX1ZnVobDEXbOnsn/GXtkt3QCu/xqXOT4yimS9ADy9+v+CdbHs/JEVs5NZubm46dIYBBDGKX7nsIclrCMPO17ghvc4V4akGalRWmpXio1xJo+fAkp9wEvRp1/</latexit> |{d 2 D : w 2 d}| |D|<latexit sha1_base64="mbLSZYgS7PJ8YfNe2KQ734QEkeg=">AAAChHichVHLSsNAFD3Gd31V3QguLBbFhZSJD5QuRNSFS19VwUhJ0mkdTJOQpJWadunGH3DhSkFE3OoXuPEHXPgJ4lLBjQtv0oCoqDdk7pkz99w5M6PZhnA9xh4bpMam5pbWtvZYR2dXd0+8t2/TtUqOzjO6ZVjOtqa63BAmz3jCM/i27XC1qBl8S9tfDNa3ytxxhWVueBWb7xbVginyQlc9orLxISXvqLpfVfycIszEUvogSDmlVq351aVqLRtPshQLI/ETyBFIIooVK34JBTlY0FFCERwmPMIGVLj07UAGg03cLnziHEIiXOeoIUbaElVxqlCJ3aexQLOdiDVpHvR0Q7VOuxj0O6RMYIQ9sCv2wu7ZNXti77/28sMegZcKZa2u5Xa253hg/e1fVZGyh71P1Z+ePeQxG3oV5N0OmeAUel1fPjx5WU+vjfij7Jw9k/8z9sju6ARm+VW/WOVrp4jRA8jfr/sn2JxIyZMpeXUqOb8QPUUbBjGMMbrvGcxjGSvI0L5HuMYNbqUWaVyalKbrpVJDpOnHl5DmPgDhU5YQ</latexit> #d(w) P w02d #d(w0) ⇥ log |D| |{d 2 D : w 2 d}|<latexit sha1_base64="j4TbcpsK1GId4xrumkAPx+Vug3E=">AAACwHichVHLThRBFD20CDgojLIxYTNhgoHNpBpNNKwIsnDJwwGSKex099QMFfpFd81MoKd/gB9gwUoSQoxfYdzwAy74AmLcQCBx48Lbj8QAUW+l6p46955bt6qswJGRYux8QHsw+HBoeORRafTxk7Hx8tNn65HfCW1Rt33HDzctMxKO9ERdSeWIzSAUpms5YsPaeZvGN7oijKTvvVd7gdhyzbYnW9I2FVFGucFboWnHvGo0Z3qzScyjjmvEvQ88CKUruPQqzSQPFtRswhW5iDt+O9f2l/pJ3OdxM81emu9lIp70E6NcZTWWWeU+0AtQRWHLfvkUHE34sNGBCwEPirADExGNBnQwBMRtISYuJCSzuECCEmk7lCUowyR2h9Y27RoF69E+rRllaptOcWiGpKxgmn1jn9g1O2Of2Xf266+14qxG2sseeSvXisAYP3i+9vO/Kpe8wvYf1T97VmjhTdarpN6DjElvYef67v7h9dr86nT8gh2zH9T/R3bOvtINvO6NfbIiVo9Qog/Q7z73fbA+V9Nf1vSVV9WFxeIrRjCJKczQe7/GAt5hGXU69wsucIkrbVHb1nxtN0/VBgrNBG6Ztv8bMP+vZA==</latexit> 単語頻度 (TF) 文書頻度 (DF) TF-IDF 文書 d 中の全単語出現数で正規化した単語 w の出現数 単語 w が出現する文書 d の数のコーパスサイズ ¦D¦ に対する割合
  • 16. 6.2.1 直接観察できる素性 !17 - 一つの単語の素性 - テキストの素性 - 文脈中の単語の素性 - 単語関係の素性
  • 17. 文脈中の単語の素性 !18 - 窓 (window) ‣ ある単語の直近の文脈に焦点 • 対象の単語の周りに単語Xが現れた ことが素性 - 対象の近くにある単語は遠く離れた単語よりも対象の情報を多く持っていることが多い the brown fox jumped over the lazy boy window size: k = 2 (典型的には 2, 5, 10) { word=brown, word=fox, word=over, word=the } { word-2=brown, word-1=fox, word+1=over, word+2=the } 位置付き窓:相対的位置素性 (relative-positional features}
  • 18. 6.2.1 直接観察できる素性 !19 - 一つの単語の素性 - テキストの素性 - 文脈中の単語の素性 - 単語関係の素性 ‣ 文脈中の二つの単語の間の距離 (distance) ‣ 間に現れる単語そのもの (identity)
  • 19. 6.2.2 推測される言語学的特徴 !20 - 統語 (syntax) ‣ 自然言語における文の構造を支配する規則 the boy with the black shirt opened the door with a key NP PP NP VP NP PP NP S NP DT NN NPPP PPVBD VP NP PP NP VP NP PP NP S NP VP NP PP NP VP NP PP NP S NP DT the boy openedIN INNNNP NPDT DTwith withthe the black shirt a key doorJJ NN NNDT NN NPPP PPVBD VP the boy with the black shirt opened the door with a key det prep prep amod det pobj nsubj root dobj pobj det det 品詞 (Part of Speech; POS) 統語的チャンク (syntactic chunk) 構成要素木 (constituency tree) 句構造木 (phrase-structure tree) 依存構造木 (dependency tree)
  • 20. 6.2.2 推測される言語学的特徴 !21 the boy with the black shirt opened the door with a key det prep prep amod det pobj nsubj root dobj pobj det det 依存構造木 (dependency tree) the boy with the black shirt opened the door with a smile the boy with the black shirt opened the door with a key Agent Instrument Patient Manner Patient Agent 意味役割ラベル付け (semantic role labeling)
  • 21. 6.2.2 推測される言語学的特徴 !22 - 品詞 (Part of Speech tag; POS) ‣ 名詞、動詞、形容詞、限定詞 - 統語的役割 (syntactic role) ‣ 動詞の主語、目的語、主動詞、副詞的修飾語 - 意味役割 (semantic role) ‣ the key (道具) open the door / the boy (動作主) opens the door - 統語的依存構造木 (syntactic dependency tree) ‣ 多くの単語で隔てられる二つの単語が統語構造においては隣接してることも - 談話関係 (discourse relations) ‣ 文と文との関係。詳細化 (moreover)、反論 (however)、因果 (because) など(接続詞ない場合も) - 照応 (anaphora) ‣ the boy opened the door with a key. It1 wasn t locked and he1 entered the room. He2 saw a man. He3 was smiling.
  • 22. 言語学的概念は必要か !23 - 言語学的特徴は必要なく、NNは中間表現を自分で学習する (深層学者支持者の一部) - 十分な量のデータと正しい方向付けがあれば可能(筆者) ‣ 十分なデータがない場合は明示的に一般的な概念をNNに提供するのは 有益 ‣ 言語学的特徴を入力素性に利用しない場合でも、マルチタスク学習に おける追加的な教師として用いることができる Deep Learning: A Critical Appraisal [Gary Marcus; 2018]
  • 23. 6.2.3 核となる素性と組み合わせ素性 !24 - 核となる素性 (core features) - 組み合わせ素性 (combination features) ‣ 情報量があり、かつ無駄が比較的少ないような素性を作るのは難しい ・ 線形モデルでは、組み合わせ(X Y)も X, Y それぞれの合計以上のスコアにならない ‣ ニューラルネットワークのような非線形モデルでこの問題を回避 ・ 核素性の集合だけ定義し、重要な組み合わせ素性はネットワークの訓練で獲得 {window-2=not, window-1=X, window+1=Y, window+2=Z} {window-2=X , window-1=like, window+1=Y , window+2=Z } {window-2=not, window-1=like, window+1=X , window+2=Y } Paris ➡ 旅行カテゴリ Hilton ➡ 旅行カテゴリ Paris Hilton ➡ 有名人 or ゴシップカテゴリ
  • 24. 6.2.4 n-グラム素性 !25 - n-グラム (n-gram) ‣ New York / not good / Paris Hilton のような構造を獲得できる • of the / on a / the boy などのバイグラムは一般的 - モデルの調整で小さい重みを割り当てる ‣ MLP は X Y という組み合わせは学習できるが XY (bigram) は認識できない • 畳み込みネットワークは n-gram feature を見つけ出すように設計されている • bidirectional RNN は可変長 n-gramや、間にギャップを含む n-gram を感知
  • 25. 6.2.5 分布論的素性 !26 - 言語の分布仮説 (distributional hypothesis) [Firth 1957, Harris 1954] ‣ Firth: You shall know a word by the company it keeps! • 単語の意味はそれが用いられる文脈から推論できる (by Wittgenstein?) Firth, J.R. (1957). A synopsis of linguistic theory 1930-1955 ・pizza chair・ ・burger ・pizza chair・ ・burger 原文めちゃくちゃ下品な例で笑う
  • 26. 文脈から単語の一般化を学習 !27 - クラスタリングに基づく手法 (clustering-based methods) ‣ 類似した単語を同じ単語を同じクラスタに割り当てる ‣ クラスタに所属する度合いによってそれぞれの単語を表現 - 埋め込みに基づく手法 (embedding-based methods) ‣ それぞれの単語をベクトルで表現 ‣ 類似した単語は類似したベクトルで表現される ・pizza chair・ ・burger ・pizza chair・ ・burger * London/Berlinは常に類似した単語として扱うべき?(航空チケット予約、文書翻訳などでは区別したい)
  • 27. まとめ !28 - テキストデータの素性として使われているものを列挙 ‣ 分類対象は単語、テキスト、テキスト対、文章中の単語、単語の関係 ‣ 6.2.1 直接観察できる素性 • レンマ、ステミング、語彙資源、TF-IDF、Window ‣ 6.2.2 推測される言語的特徴 • 文法 ‣ 6.2.3 核となる素性と組み合わせ素性 • NNを用いて組み合わせ素性を獲得 ‣ 6.2.4 n-グラム素性 • New York など複数の単語から構成される言葉を捉える ‣ 6.2.6 分布論的素性 • You shall know a word by the company it keeps!