不自然言語処理コンテストLT資料

18
n㌘コーパスデータを用い た絵文字サジェスト」 7/25 at Baidu Office 「不自然言語処理コンテスト」 http://twitter.com/just_do_neet

description

 

Transcript of 不自然言語処理コンテストLT資料

Page 1: 不自然言語処理コンテストLT資料

「n㌘コーパスデータを用いた絵文字サジェスト」

7/25 at Baidu Office 「不自然言語処理コンテスト」http://twitter.com/just_do_neet

Page 2: 不自然言語処理コンテストLT資料

自己紹介某渋谷の緑系の会社のエンジニアです。

自然言語処理の分野には不自然に片足突っ込んでいます。

さだまさしが好きです。

‣ http://twitter.com/just_do_neet

‣ http://ameblo.jp/just-do-neet/

Page 3: 不自然言語処理コンテストLT資料

最近の悩み若者の文化についていけない。

進化しすぎたギャル文字 [pu∂!ノ|ナ]→[friend]

- 諦めた

絵文字

- まだなんとかなるかも

Page 4: 不自然言語処理コンテストLT資料

絵文字を使いこなしたいしかしどう学んだらいいか分からない

自分でなんとかするしかない

Page 5: 不自然言語処理コンテストLT資料

「不自然言語処理コンテスト」

Baidu絵文字入りモバイルウェブコーパス

これしかないわ!

余談はここまでで本題

Page 6: 不自然言語処理コンテストLT資料

Baiduさんのn㌘コーパスを元に絵文字をサジェストするツールを作成してみました。

入力した文字列に最適な絵文字をサジェストするようなものを目指しました。

- 「こんにちは」って入れたら「 」あたりがちゃんとサジェストされて欲しい。

- これで若い女の子と(以下自粛

絵文字サジェストツール

Page 8: 不自然言語処理コンテストLT資料

絵文字サジェスト用の辞書の作成

サジェスト用辞書の検索用データ構造作成

UIの作成

開発の流れ

Page 9: 不自然言語処理コンテストLT資料

絵文字サジェスト用の辞書の作成

- n㌘コーパスを元に辞書候補を抽出

• 絵文字の直前に共起する語

• 絵文字のラベル( なら「晴れ」等)

サジェスト用辞書の検索用データ形式作成

UIの作成

開発の流れ

Page 10: 不自然言語処理コンテストLT資料

n㌘コーパスデータから、<EMOJI_xxx>の直前に出てくる語を抽出。

抽出語のうち最長一致のモノのみ対象とする。

出現頻度のしきい値で枝刈り。

共起する語の抽出

いい 天気 <EMOJI_000> 48         →「いい天気」を抽出<S> おはよう ござい ます <EMOJI_000> 101 →「おはようございます」

「ます」「ございます」「ありがとうございます」があったら、「ありがとうございます」のみを抽出対象にする。

Page 11: 不自然言語処理コンテストLT資料

規定のものについては手動で付与。

絵文字の分布類似度を計算して、分布類似度の高い名詞句をラベルとして自動付与。

絵文字のラベル付与

晴れ→「  」、雨→「  」など。→を参考に。http://www.unicode.org/~scherer/emoji4unicode/snapshot/full.html

モノゴトの固有名詞のみ対応。

分布類似度の算出式は※[朝倉2010]を参考に実施※「素性の相対性による分布類似度計算」 http://nlp.nagaokaut.ac.jp/arc/10/10NLP-asakura.pdf

Page 12: 不自然言語処理コンテストLT資料

こんな感じのものが出来上がります。

※入力文字の後方一致でサジェスト候補を探したいので

語を反転させています。

作成された辞書

はちにんこ ["EMOJI_B36","EMOJI_B60","EMOJI_000","EMOJI_B95"] 393

はてみて ["EMOJI_B05"] 80

はと) ["EMOJI_B85"] 160

はとnexi■ ["EMOJI_B05"] 450

はにるす置設 ["EMOJI_B85"] 365

はのたい輝 ["EMOJI_B05"] 136

はのな題話 ["EMOJI_B05"] 686

はんばんこ ["EMOJI_B60"] 67

はジーペの前直 ["EMOJI_525"] 3330

Page 13: 不自然言語処理コンテストLT資料

絵文字サジェスト用の辞書の作成

サジェスト用辞書の検索用データ形式作成

- 先程作った辞書データをTrie木構造に変換

- 今回はDartsを使ってDouble Array Trie Treeに

• サジェスト候補検索時はCommon Prefix Searchで検索

UIの作成

開発の流れ

Page 14: 不自然言語処理コンテストLT資料

工藤拓氏が開発したツール。超有名。‣ http://chasen.org/~taku/software/darts/

Darts

Page 15: 不自然言語処理コンテストLT資料

絵文字サジェスト用の辞書の作成

サジェスト用辞書の検索用データ形式作成

UIの作成

- しょぼいです(́・ω・`)

• JavaScript(JQuery諸々)で作成。

• サーバー側はJava

開発の流れ

Page 16: 不自然言語処理コンテストLT資料

http://nd-ilab.jp/suggest/sample/baidu/index.html

http://www.youtube.com/watch?v=lSAghUn9B64

結果こんな感じに

Page 17: 不自然言語処理コンテストLT資料

とりあえず何となく動くものができました。

これで女の子と(以下自粛

コーパスが文語文体中心なのでサジェスト候補に若干の違和感があります。

- 口語文の多いコーパスで試してみるともう少し良い結果が出るかも。

所感

Page 18: 不自然言語処理コンテストLT資料

ご清聴ありがとうございました。谢谢大家的收听