n-gramコーパスを用いた類義語自動獲得手法について
-
Upload
moai-kids -
Category
Technology
-
view
8.196 -
download
1
description
Transcript of n-gramコーパスを用いた類義語自動獲得手法について
n-gramコーパスを用いた類義語自動獲得手法について
1
はじめに
今日は久しぶりにNLP(自然言語処理)周りの話です。
数式が少し出てきます。
2
アジェンダ✓n-gramコーパスについて
- n-gramモデルとは?- n-gramコーパスとは?
✓バイドゥn-gramコーパスを用いての解析- エロワードの抽出- 絵文字の共起語抽出(絵文字サジェスト)
✓Amebaなうn-gramコーパスを用いての解析- n-gramコーパスの作成- ハッシュタグの解析- 顔文字の解析
3
n-gramモデルとは?
http://yumore.seesaa.net/article/50509547.htmlより引用4
n-gramモデルとは?
「ある文字列の中で、N個の文字列または単語の組み合わせが、どの程度出現するか」を調べるための言語モデル。
基本的には文章をシーケンシャルに評価する(直前(n-1)の単語を見て次(n)の単語を予測する)
さだ....
5
n-gramモデルとは?
「ある文字列の中で、N個の文字列または単語の組み合わせが、どの程度出現するか」を調べるための言語モデル。
基本的には文章をシーケンシャルに評価する(直前(n-1)の単語を見て次(n)の単語を予測する)
さだ....さだ_はる 118さだ_まさし 148さだ_お_さん 18
6
n-gramの「n」
文字・単語の組み合わせの数が「n」。「2-gram」の場合、二文字・語の連続する組み合わせについて評価する。
さださだ_まさしさだ_まさし_のさだ_まさし_の_CDさだ_まさし_の_セイ_ヤング
2-gram
7
n-gramの「n」
文字・単語の組み合わせの数が「n」。「2-gram」の場合、二文字・語の連続する組み合わせについて評価する。
さださだ_まさしさだ_まさし_のさだ_まさし_の_CDさだ_まさし_の_セイ_ヤング
3-gram
8
n-gramの「n」
文字・単語の組み合わせの数が「n」。「2-gram」の場合、二文字・語の連続する組み合わせについて評価する。
さださだ_まさしさだ_まさし_のさだ_まさし_の_CDさだ_まさし_の_セイ_ヤング
4-gram
9
n-gramの「n」
文字・単語の組み合わせの数が「n」。「2-gram」の場合、二文字・語の連続する組み合わせについて評価する。
さださだ_まさしさだ_まさし_のさだ_まさし_の_CDさだ_まさし_の_セイ_ヤング5-gram
10
何に使用するか?
自然言語処理の確率統計的な分野で使用されることが多いです。
応用事例については後述。(ひとつ例をあげるとワードサジェストなど)
11
n-gramコーパスとは?
ある特定の文書群(コーパス)をn-gramモデルに基づいて解析したデータセットのこと。
各社、研究機関、個人等々が公開している。
12
google 日本語 n-gramデータ
http://googlejapan.blogspot.com/2007/11/n-gram.html13
google 日本語 n-gramデータ
GSK(言語処理協会)経由で提供されている(※有償、営利使用不可)
nの単位:1~7分割単位:ワード
わかち書き:MeCab?
http://googlejapan.blogspot.com/2007/11/n-gram.html14
Baiduモバイルウェブコーパス
「不自然言語処理コンテスト」向けに提供されているデータ(※営利使用不可)
nの単位:1~5分割単位:ワード
わかち書き:MeCab+ipadic
http://www.baidu.jp/unlp/16
EC2使ってコーパス作ってる人
http://d.hatena.ne.jp/s-yata/20100628/127773764117
EC2使ってコーパス作ってる人
頑張れ!!
http://d.hatena.ne.jp/s-yata/20100628/127773764118
n-gramコーパスの中身
2874 個 の おっぱい リスト 14288 円 メーカー : ( 152880 件 を 表示 前 202881 ~ 2900 件 を 2628988 m 地図 は 北 2029 % の カスタマー が 2829 ( 土 )~ 6 5029 ( 木 ) に 1229 ) / 秀穂 那須 1029 ) が 主演 。 1029 ) 男 大阪 </S> 1829 ) 男 東京 </S> 2629 2010 夏 ・ 中学生 2429 <EMOJI_53A> 今度 行き たい 11129 HOME ( 0 ) 3829 「 釣り ロマン 」 18529 】 「 上弁天 」 9429 に なっ ちゃう ん 1429 コメント は まだ あり 172
バイドゥ ウェブコーパス5㌘より抜粋19
アジェンダ✓n-gramコーパスについて
- n-gramモデルとは?- n-gramコーパスとは?
✓バイドゥn-gramコーパスを用いての解析- エロワードの抽出- 絵文字の共起語抽出(絵文字サジェスト)
✓Amebaなうn-gramコーパスを用いての解析- n-gramコーパスの作成- ハッシュタグの解析- 顔文字の解析
20
Baidu絵文字入りモバイルウェブコーパス
21
[参考]Baidu
22
Baiduモバイルウェブコーパス
モバイル向けサイトを対象にクローリングしたデータから構築。絵文字データが含まれるのが特徴(※Googleのものには含まれていない)
エロいワードが多いのも特徴
http://japan.zdnet.com/story_media/20404271/AI/001.jpg
23
コーパスがエロい・・・?
http://twitter.com/mhagiwara/status/1680602367624
以下の2点について実施してみました。
• いわゆる「エロワード」の半自動獲得• 絵文字との共起語の抽出(Baidu版 絵文字サジェストツール)
Baiduコーパスを用いての解析
25
−目的−ブログなど多くのテキスト投稿サービスでは公序良俗に反する語をブロックするためのNGワードリストが存在(多くがエロワード)
エロワードは世につれ人につれ変化・増殖し続ける。人手でメンテナンスをし続けるのは大変。
エロワードの半自動獲得
26
−手法−いくつかの手法が考えられる。
ひとつの手法として、教師データ(あらかじめ用意した初期エロワード辞書群)との分布類似度を算出し、類似度が高いものを抽出し辞書に追加していく方法。
エロワードの半自動獲得
27
「似た語は似た文脈で出現する」という仮説に基づいて算出される類似度。
分布類似度とは?
さだ_まさし_の_歌_は_暗い_けど_好き中島_みゆき_の_歌_は_暗い_けど_好き彼_の_性格_は_暗い_から_嫌いエグザイル_は_2038_年_に_日本_の_人口_を_抜くから_好きエグザイル_の_歌_は_嫌い。松崎_しげる_の_顔_は_暗い。いや_黒い。
28
「似た語は似た文脈で出現する」という仮説に基づいて算出される類似度。
分布類似度とは?
さだ_まさし_の_歌_は_暗い_けど_好き中島_みゆき_の_歌_は_暗い_けど_好き彼_の_性格_は_暗い_から_嫌いエグザイル_は_2038_年_に_日本_の_人口_を_抜くから_好きエグザイル_の_歌_は_嫌い。松崎_しげる_の_顔_は_暗い。いや_黒い。
「さだまさし」と「中島みゆき」は同じような文脈で語られているので似ている、とする。
29
1.文章群から語を抽出し、語wと、その共起語vとの組み合わせの出現頻度を計算 ※今回はn-gramコーパスで構築済み
2.語wと共起語vの相互情報量を計算(Weight関数と呼ばれる)3.語wiと語wjの類似度を算出(Measure関数と呼ばれる)
分布類似度の計算
30
n-gramコーパスデータを使用。語の組み合わせの出現頻度はn-gramデータから(n > 1)。語単体の頻度は1-gramデータから。
1.語・共起語の出現頻度
2874 個 の おっぱい リスト 14288 円 メーカー : ( 152880 件 を 表示 前 202881 ~ 2900 件 を 2628988 m 地図 は 北 2029 % の カスタマー が 2829 ( 土 )~ 6 5029 ( 木 ) に 1229 ) / 秀穂 那須 1029 ) が 主演 。 1029 ) 男 大阪 </S> 1829 ) 男 東京 </S> 2629 2010 夏 ・ 中学生 24
31
Weight関数を用いて算出。一般的に以下の式が用いられている模様。
freq(w):語wの出現頻度freq(v):共起語vの出現頻度freq(w,v):語wと共起語vの組み合わせの出現頻度
2.語と共起語の相互情報量
32
Measure関数を用いて算出。[2010朝倉]によるとSimpson係数とJaccard係数を組み合わせたSimpson-Jaccardが最も精度が高いとされる。
※Vi、Vjは語wi,wjの共起ベクトル※Simpson係数・Jaccard係数ともある集合間の類似性の尺度 今回は共起集合の類似性を測るために用いられている。
3.語どうしの類似度
33
[2010朝倉]http://nlp.nagaokaut.ac.jp/arc/10/10NLP-asakura.pdf
前記の式などに加え、共起語の各素性の出現確率を評価している。
今回はこの論文に提示されている手法にならった。
「素性の相対性による分布類似度計算」
論文より図引用
34
エロワードの話に戻ります
35
厳選した10のワードで計算を実施。(詳細は私の名誉に関わるので割愛)
ちなみに「エッチ」だと...
エロワードの分布類似度を計算
エッチ - エロ 0.11415440804805937エッチ - セックス 0.10653839679559782エッチ - 彼女 0.10549802659933685エッチ - 女の子 0.10453876421875694エッチ - 人妻 0.1028616330445477エッチ - <EMOJI_B0D> 0.10233967425842201エッチ - 好き 0.10187555135252273エッチ - 娘 0.10074545085596971エッチ - 体験 0.10030381251512867エッチ - 毎日 0.09940810653987928
・・
<EMOJI_B0D>=
36
以下3手法にて精度評価を実施。1.ベーシックな分布類似度式による算出2.分布類似度+Simpson-Jaccard [朝倉2010]
3. 2+素性の相対性を考慮 [朝倉2010]
有志数名に、それぞれの結果について• 語の関連があるか?(関連語)• 同じような意味の語か?(類義語)で評価してもらいました。
精度評価
37
精度評価結果(語の関連性)
40%
60%
80%
100%
手法1 手法2 手法3
38
精度評価結果(語の類義性)
5%
15%
25%
35%
手法1 手法2 手法3
39
• 手法1→手法2は大幅に精度向上している。手法2→手法3は微妙。
• 関連語で5割~9割、類義語で1~3割程度の精度で正しくワードの抽出が出来ている。
• 評価者の感性、歩んできた人生により評価の揺らぎが多いため「正しさ」の判断が少し難しい。
考察
40
初期辞書データ(10ワード×3種類)を元にインクリメンタルな辞書拡張を実施してみました。
[手法]初期データの分布類似度を算出し、 辞書に適したワードを辞書に追加 →分布類似度算出 →辞書追加..... を繰り返し実施。辞書未登録で分布類似度の高い語上位100語から辞書に適した語を抽出し追加
インクリメンタルな辞書拡張
41
インクリメンタルな辞書拡張
0
10
20
30
40
1回目 2回目 3回目 4回目 5回目
42
• 何回か繰り返すと収束する(今回は3~4回で収束してしまった)
• 抽出対象の語の範囲を広げるともう少し沢山のワードが獲得できる。
• 半自動的な辞書拡張手法としてはそれなりに有効と思われる。
• BootStrap手法としてはかなり未成熟なのでもう少し調査します。
考察
43
エロワードばかりではアレなので
44
一般的なワードでの結果(為替)
為替 - FX 0.0701096506659567為替 - レート 0.06259698742992559為替 - 運用0.06042366216085525為替 - 外国0.058799844151470174為替 - ディーラー 0.05735695738694635為替 - 資産0.055435815549429605為替 - 入門0.05232985446935419為替 - チャート0.04980454574094188為替 - 売買0.04927509063333216為替 - 先物0.04824717092086649
・・
45
一般的なワードでの結果(サッカー)
サッカー - 野球0.13373671096183018サッカー - テニス 0.0918404883164821サッカー - ゴルフ 0.08504703320048444サッカー - チーム 0.07961197269662577サッカー - 試合0.07711954365644495サッカー - 大会0.07702996997666198サッカー - プロ0.07662113919947415サッカー - 高校0.0725147419575286サッカー - 漫画0.06882302518118967サッカー - メンバー0.06849300043195472
・・
46
一般的なワードでの結果(ブログ)
ブログ - キャニオニング0.46469658771106315ブログ - 受画 0.11975034678985662ブログ - 日記 0.1097484574232766ブログ - 紹介 0.09879163577196441ブログ - 記事 0.09813513570488815ブログ - <EMOJI_546>0.09719796981762122ブログ - 画像 0.09570307958644202ブログ - 見る 0.09472409933583924ブログ - □0.09466494353310652ブログ - ゲーム0.0939216442782036
・・
47
一般的なワードでの結果(コスメ)
コスメ - 飲料 0.1315343475643398コスメ - 食品 0.09995353106829284コスメ - <EMOJI_195>0.07684385370515374コスメ - サプリメント 0.0668208753259571コスメ - 香水 0.064557866506281コスメ - アクセサリー 0.06399098585323154コスメ - 雑貨 0.0631873841230999コスメ - インテリア0.059873448412962174コスメ - ブランド 0.058499392875879214コスメ - ファッション 0.05843526443912576
・・
48
一般的なワードでの結果(大相撲)
大相撲 - バスケット0.05180321648370331大相撲 - 八百長0.04568992635712712大相撲 - ラグビー 0.03513069449040805大相撲 - 裁判 0.027690371652517847大相撲 - テニス0.024491134248894916大相撲 - 速報 0.024070717542493413大相撲 - 野球 0.013918762159274874大相撲 - <EMOJI_1BE>0.013795160758545503大相撲 - こい 0.011283944598435737大相撲 - プロ 0.009334867761007871
・・
49
• エロワードのような特徴・偏りの激しいと思われるワードでなくても、一般的なワードでも関連性の高い語の抽出が行えている。
• ただし精度はコーパス次第のところがある。
考察
50
絵文字サジェストツールの話
51
Baiduさんのn-gramコーパスデータを使って絵文字サジェストツールを作成。以前作成したサジェストフレームワークで構築。UIは酷い。
1. 絵文字と、絵文字の直前に出現する語群の出現頻度を算出。一定しきい値で枝刈り。
2. 語群の文字を反転処理(候補絵文字を後方一致で探索するため)3. 2.のデータをTrie木構造に変換(今回はDouble Array Trie Tree)4. 入力された文字列を反転した上でTrie木からCommon Prefix Searchで検索し、一致するデータがあればサジェスト候補として表示。
Baidu版 絵文字サジェストツール
52
デモ
http://nd-ilab.jp/suggest/sample/baidu/index.html
53
Amazon EC2上で提供されているHigh Performance Computing(HPC)向けのインスタンス。2010/07/13にリリース。
これがたったの1.6$ / hour (約150円くらい)
[おまけ]Amazon EC2 HPC
-23 GB of memory-33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core “Nehalem” architecture)-1690 GB of instance storage-64-bit platform-I/O Performance: Very High (10 Gigabit Ethernet)
54
トライ木構造の辞書作成は作成時に瞬間的に巨大なメモリ空間が必要になります。
Amazon EC2 HPCを辞書作成時だけ使用して今まで(メモリ4GB環境)では作れなかった規模の辞書の作成を実施しました。
[おまけ]Amazon EC2 HPC
55
アジェンダ✓n-gramコーパスについて
- n-gramモデルとは?- n-gramコーパスとは?
✓バイドゥn-gramコーパスを用いての解析- エロワードの抽出- 絵文字の共起語抽出(絵文字サジェスト)
✓Amebaなうn-gramコーパスを用いての解析- n-gramコーパスの作成- ハッシュタグの解析- 顔文字の解析
56
Amebaなうn-gramコーパス
57
Amebaなうの直近1ヶ月(6月分)のつぶやきデータを用いてn-gramコーパスを作成。
Amebaなう n-gramコーパス
nの単位:1~7分割単位:ワード
わかち書き:MeCab+ipadic異なり1グラム数:122,500 / 異なり2グラム数:1,195,628異なり3グラム数:1,586,205 / 異なり4グラム数:1,021,938異なり5グラム数:499,788 / 異なり6グラム数:231,064
異なり7グラム数:117,515
58
異なりn㌘数の比較。
Amebaなう n-gramコーパス
0
750000
1500000
2250000
3000000
1-gram 2-gram 3-gram 4-gram 5-gram 6-gram 7-gram
AmebaなうBaidu(DoCoMo)
59
• ノイズが少ない(ツールからのアクセスが無い等の理由)• ニュースサイトやブログなどよりも口語表現が多い
• 絵文字、顔文字が多い• 絵文字はメタ文字表現(<EMOJI_xxx>)に置換し1文字として抽出
• 顔文字も出来る限り1文字で抽出(約7,500パターンの独自顔文字辞書を自動作成)
• Amebaのユーザー特性が凝縮
なうn-gramコーパスの特徴
60
• わかち書きツール:MeCab+ipadic• わかち書き処理:Hadoop
• Map/Reduceそれぞれ5タスク割り当て• 1~7-gramの生成におおよそ4~5時間位。
• 文字正規化• 全角英数字→半角小文字英数字• 半角カナ→全角カナ• Unicode正規化(NFKC)
• ヒューリスティックルール(辞書ベース)• 顔文字の抽出
今回の処理
61
Unicodeは複数の語を結合して一文字にする事ができる。その形式を定めるのが正規化ルール。
※見た目「ガ」の文字を表すのに、「ガ」でも、「カ」+濁点の合成でも構わない
正規化ルールは以下4種。• Normalization Form D(NFD)• Normalization Form C(NFC)• Normalization Form KD(NFKD)• Normalization Form KC(NFKC)「D」は「Decomposition(分解)」(ガ→カ+濁点)「C」は「Composition(合成)」(カ+濁点→ガ)「K」は「Compatibility(互換性)」(全角/半角カナを等価とするかどうか)
[補足]Unicode正規化
http://ameblo.jp/just-do-neet/entry-10206014900.html62
以下の2点について実施してみました。
• 絵文字の分布類似度• 顔文字の分布類似度
Amebaなうコーパスを用いての解析
63
先に述べた分布類似度を用いて、ある絵文字と同じような文脈で用いられている絵文字・単語を抽出。
以下いくつか抜粋して結果を紹介。
絵文字の分布類似度解析
64
(031)での結果
<EMOJI_031> - <EMOJI_123> 0.25245663283888076<EMOJI_031> - ♪0.23865945647496203<EMOJI_031> - ☆0.2233787922434289<EMOJI_031> - <EMOJI_139> 0.21505030767963476<EMOJI_031> - <EMOJI_320> 0.20905272608162664<EMOJI_031> - <EMOJI_176> 0.20767832299973635<EMOJI_031> - ww0.20396530274266259<EMOJI_031> - <EMOJI_035> 0.1952646415960877<EMOJI_031> - <EMOJI_029> 0.19118380193173534<EMOJI_031> - ー0.18532801238518545
・・
65
(022)での結果
<EMOJI_022> - てらっ5.05433098481788<EMOJI_022> - <EMOJI_106> 0.21255982715221317<EMOJI_022> - <EMOJI_178> 0.20371824309787556<EMOJI_022> - <EMOJI_105> 0.19694261277461542<EMOJI_022> - <EMOJI_324> 0.1960739883132334<EMOJI_022> - <EMOJI_028> 0.19591157145392102<EMOJI_022> - <EMOJI_143> 0.19367459051404434<EMOJI_022> - <EMOJI_089> 0.1894972913601391<EMOJI_022> - <EMOJI_319> 0.1853140205685605<EMOJI_022> - <EMOJI_187> 0.18316119166397835
・・
66
(021)での結果
<EMOJI_021> - 雨0.1980766824375306<EMOJI_021> - 降っ 0.160789228797033<EMOJI_021> - <EMOJI_143> 0.15832172025846883<EMOJI_021> - <EMOJI_325> 0.15752899334689507<EMOJI_021> - 暑い 0.15600103135195192<EMOJI_021> - <EMOJI_089> 0.15588927293536636<EMOJI_021> - <EMOJI_144> 0.15288842785042273<EMOJI_021> - <EMOJI_141> 0.15264128047608577<EMOJI_021> - <EMOJI_022> 0.1524110403297163<EMOJI_021> - 晴れ 0.1520281112500744
・・
67
(077)での結果
<EMOJI_077> - ビール0.20100120017122702<EMOJI_077> - <EMOJI_075> 0.16814782000472359<EMOJI_077> - <EMOJI_188> 0.16407662484190644<EMOJI_077> - <EMOJI_134> 0.1598560562097877<EMOJI_077> - 淲0.15753861586037332<EMOJI_077> - <EMOJI_007> 0.1520971768068388<EMOJI_077> - <EMOJI_014> 0.15101611087607572<EMOJI_077> - <EMOJI_162> 0.15081721574211884<EMOJI_077> - <EMOJI_044> 0.14580103348348722<EMOJI_077> - 酒0.13778630432134603
・・
68
(181)での結果
<EMOJI_181> - <EMOJI_150> 0.0998223599336455<EMOJI_181> - <EMOJI_169> 0.09619906986114168<EMOJI_181> - 推し 0.09407484828035773<EMOJI_181> - はる 0.0751037382171799<EMOJI_181> - <EMOJI_008> 0.06918233066750942<EMOJI_181> - メイク0.05804747259025906<EMOJI_181> - こじ 0.05277048261006679<EMOJI_181> - ミ0.05059336124231738<EMOJI_181> - 化粧 0.049448742078198986<EMOJI_181> - <EMOJI_113> 0.04768875635910332
・・
69
絵文字間の相関関係をグラフ化。凝縮度が高くてカオス
相関関係をグラフで可視化
70
Markov Clustering Algorithmを用いて絵文字のクラスタリングを試みました。(分布類似度=2絵文字間の距離≒遷移確率と置き換えて算出。)
※MCL:http://www.micans.org/mcl/
MCLによるクラスタリング
71
実施結果(カッコ<>内は絵文字の注釈表記)
MCLによるクラスタリング
<足あと> <あじさい> <てんとうむし> <しっぽフリフリ> <かたつむり> <自転車> <旗> <クラブ> <電車>
<あじさい> <てんとうむし> <車> <流れ星> <しっぽフリフリ> <右下矢印> <夜の街>
<end> <雪> <流れ星> <かさ> <夜の街>
<あじさい> <雪> <かさ> <クマノミ> <雪> <しっぽフリフリ> <かさ>
<足あと> <宇宙人> <雪> <かさ> <クマノミ> <足あと> <カバン> <しっぽフリフリ>
<とかげ> <あじさい> <かさ> <あじさい> <電車> <かさ>
<雪> <かさ> <ドクロ> <あじさい> <電車> <流れ星> <CD> <ビル>
<流れ星> <お月様> <ビル> <夜の街> <スペード> <ダイヤ> <フラッグ> <クラブ>
<電車> <車> <CD> <病院> <射手座> <山羊座> <乙女座> <牡羊座> <宇宙人> <蠍座> <水瓶座> <獅子座> <蟹座> <牡牛座> <クマノミ> <双子座>
<ヒマワリ> <足あと> <流れ星> <夜の街> <メガネ> <耳> <ドクロ>
<チューリップピンク> <チューリップ黄> <チューリップ紫> <チューリップオレンジ>
<流れ星> <ビル> <夜の街>
<地下鉄> <流れ星> <夜の街> <観覧車> <天使> <CD> <クマ> <カメ> <がま口財布> <満月> <演劇> <チケット> <お金> <ゴルフ>
<メガネ> <メモ> <メモ> <NEW> <てんとうむし> <流れ星> <NEW> <夜の街>
<電車> <流れ星> <病院> <ビル> <夜の街>
72
特におもしろかったものを抜粋
MCLによるクラスタリング
<足あと> <あじさい> <てんとうむし> <しっぽフリフリ> <かたつむり>
<流れ星> <お月様> <ビル> <夜の街>
<チューリップピンク> <チューリップ黄> <チューリップ紫> <チューリップオレンジ>
<メガネ> <メモ> <メモ> <NEW>
<スペード> <ダイヤ> <フラッグ> <クラブ>
<射手座> <山羊座> <乙女座> <牡羊座> <宇宙人> <蠍座> <水瓶座> <獅子座> <蟹座> <牡牛座> <クマノミ> <双子座>
..........
73
• 分布類似度の算出により、各絵文字と意義・用途が似ている絵文字や語の抽出を行うことができた。
• グラフ構造を元にクラスタリングすることで、類似性のあるグループにクラスタリングすることができた。
考察
74
顔文字についても同様に分布類似度を調査。ある顔文字と同じような文脈で用いられている絵/顔文字・単語を抽出。
顔文字の分布類似度解析
75
(`・ω・) での結果
(`・ω・) - キリッ0.1768694301100037(`・ω・) - ⊃ 0.09913242362438676(`・ω・) - ({( 0.09405018119300235(`・ω・) - ぐ0.031062102211042445(`・ω・) - 頑張る0.028857016807085342(`・ω・) - ぬ0.02608930784914413(`・ω・) - σ0.022498088286870093(`・ω・) - つ0.016193426515270032(`・ω・) - ω0.016122858488317616(`・ω・) - くる 0.01345138088760404
・・
76
(^∀^)ノでの結果
(^∀^)ノ - ただいま0.06916344408426699(^∀^)ノ - かえり 0.06890434881805171(^∀^)ノ - らっしゃい 0.06795858079282872(^∀^)ノ - お疲れさま 0.05823929001282186(^∀^)ノ - おっ0.05591209864361552(^∀^)ノ - おやすみなさい 0.055199102468491(^∀^)ノ - シ 0.0529766713691993(^∀^)ノ - 帰り0.04651788654030653(^∀^)ノ - なさい 0.04506786291842584
・・
77
(* ́д`) での結果
(* ́д`) - ハァハァ 0.11168727359492218(* ́д`) - はあ 0.10079146007557346(* ́д`) - はぁ 0.09144542975809382(* ́д`) - 萌え 0.08668152231221557(* ́д`) - あら 0.0828216114116598(* ́д`) - ハア 0.07886784003012988(* ́д`) - あい 0.07516063088790395(* ́д`) - д0.04393643491834669(* ́д`) - ハァ 0.04391789518745296(* ́д`) - うん 0.041770270015884854
・・
78
(/ω\) での結果
(/ω\) - 照 0.16208491557582996(/ω\) - /// 0.12872038557250623(/ω\) - 照れる 0.1280711164456965(/ω\) - 恥ずかしい 0.11152828905321341(/ω\) - イヤ 0.09964963425187295(/ω\) - きゃ 0.09765195595553885(/ω\) - きゃー 0.09551633971030135(/ω\) - いえいえ 0.08766541396665446(/ω\) - \0.0857860000269694(/ω\) - かっこいい 0.07871911676808412
・・
79
\(^0^)/での結果
\(^0^)/ - オワタ 0.09445225976273072\(^0^)/ - おめでとう 0.036873637365873665\(^0^)/ - ああ 0.026846223878548046\(^0^)/ - 0 0.024911172513660745\(^0^)/ - 終わっ 0.019634091253330398\(^0^)/ - ありがとう 0.01680880907554066\(^0^)/ - ^ 0.016789481994256183\(^0^)/ - ぜ 0.016144113065194438\(^0^)/ - ください 0.015391342223916664\(^0^)/ - くれ0.01494851710964888
・・
80
Google Docsに約200種分の結果を公開しています。興味のある方はよかったら参照ください。http://docs.google.com/leaf?id=0B5kuQ0wVMAkMNmRhMzM3YzYtYjNlOS00YWI0LWFhYjktZDM2MDFiNWQwY2Zh&hl=ja&authkey=CLbOpdEE
その他の結果
81
• 顔文字についても、分布類似度の算出により意義・用途が似ている絵文字や語の抽出を行うことができた。
考察
82
まとめ
83
• 分布類似度という概念を用いると似た語同士の抽出を行うことができます。(一般的な単語、絵文字、顔文字関わらず)
• n-gramコーパスデータがあると、上記のような自然言語処理を行うのにとても便利です。
まとめ
84
• 100%の精度は難しいですが(そもそも人間にも無理)、大規模なデータを統計的に扱うことである程度の類義語や意味の自動獲得は既に可能な領域にあります。
• 身の回りの言葉まわりの処理を自動化していきましょう。手作業を減らしましょう。サービスにも活かしましょう。
自然言語処理は自動化できる
85
ご清聴ありがとうございました。
86