SlideShare una empresa de Scribd logo
1 de 23
“Two Knives Cut Better Than One:
Chinese Word Segmentation with
Dual Decomposition”
Mengqiu Wang, Rob Voigt, Christopher D. Manning
ACL読み会2014@PFI
株式会社Preferred Infrastructure 岩田 英一郎(@eiichiroi)
2014 年 7 月 12 日
※スライド中の図・表は上記の論文から引用しました
自己紹介
 岩田 英一郎(@eiichiroi)
– 元さいたまの競技プログラマー(引退済み)
 経歴
– 2009年 PFIでアルバイト開始
– 2010年 埼玉大学 大学院 修了
– 2010年 PFI入社
 仕事
– ソフトウェアエンジニア
 検索エンジンや自然言語処理ツールの開発・保守(主に繋ぎ込み担当)
 研究開発の成果を製品へ取り込む
 自然言語処理初心者(重要!)
– 単語分割の論文を読み始めて一週間…
2
論文の要旨
 (中国語の)単語分割を双対分解で解くと良いよ
 既存の手法
– 文字ベースのモデル
– 単語ベースのモデル
– 文字ベース/単語ベースの手法を組み合わせたモデル
 提案手法
– 文字ベース/単語ベースの手法を組み合わせて双対分解で解く
 提案手法の利点
– 実装が簡単
– SIGHAN 2003, 2005のデータセットの6/7で最高精度を達成
– 文字ベース/単語ベースのモデルをそのまま使える(再学習不要)
3
単語分割とは
 単語分割とは、単語の区切りを求める処理
– 素敵な例文が欲しいです。
– 素敵_な_例文_が_欲しい_です_。
 日本語や中国語、タイ語では単語の区切りに空白を入れない
– 分かち書きしない言語では重要な処理
4
単語分割の意義
 後続の処理に大きな影響を与える重要なタスク
– 品詞タグ付け
– 構文解析
– 機械翻訳
 高い精度で切れないと困る
– うまく切れていない例 →
 新しい技術を創りだす
 エンジニアカンパニー
 最新の研究成果の性能は高い
– F値は0.95前後
5
※会社HPのリニューアル直後のFacebookのサムネール
既存手法の概要
1. 文字ベースのモデル
– 文字単位で単語の区切りかどうかを判別する
– ◯ 未知語 × 広い文脈
2. 単語ベースのモデル
– 辞書を元に単語の分割方法を探索する
– ◯ 広い文脈 × 未知語
3. 文字ベース/単語ベースの組み合わせのモデル
– ◯ 未知語、広い文脈 × 複雑、計算コストが高い
 まだ課題は残っている
6
既存手法(1) - 文字ベースのモデル
 系列ラベリングとして定式化 [Xue, 2003]
– 各文字に対して、単語の境界かどうかのラベルを付ける
– CRFがstate-of-the-art [Lafferty et al., 2001] [Tseng et al., 2005]
 動的計画法でyを求められる
 ◯ 未知語に強い
– 周辺文字のn-gram
– 形態論的な接尾辞・接頭辞
 × 広い文脈を捉えにくい
– マルコフ性の仮定
7
x: 文字列
y: ラベル列(0 or 1の列)
θ: パラメータ(素性関数の重み)のベクトル
f: 素性関数のベクトル
Z: 確率分布にするための係数(定数)
0 1 2 3 4 5 6 7 8 9
x 私 の 名 前 は 中 野 で す 。
y 1 1 0 1 1 0 1 0 1 1
既存手法(2) - 単語ベースのモデル
 スコア関数を使って単語分割の候補(リスト)を探索
– 辞書を使った最大マッチング [Chen and Liu, 1992]
– 線形モデル(average perceptron) [Collins, 2002] [Zhang and Clark, 2007]
 探索空間GEN(x)は広い
– Beam Searchで探索
 各ステップで上位k件以外は枝刈り
– 1文字読んだら、単語分割の各候補に対して ([“私の”], [“私”, “の”]) + “名”
 最後の単語にくっ付ける [“私の名”], [“私”, “の名”]
 その文字から新しい単語を始める [“私の”, “名”], [“私”, “の”, “名”]
– ※最後の単語が辞書に含まれるものだけ
– 一番長い範囲を扱う素性は単語bigram(動的計画法だと解の空間が広すぎる)
8
x: 文字列
y: ラベル列(0 or 1の列)
F(y|x): ラベル列yで分割したときのスコア
GEN(x): 文字列xのラベル列の候補
α: パラメータベクトル
Φ: 素性ベクトル
既存手法(3) - 文字ベース/単語ベースの組み合わせ
のモデル
 モデルが複雑な手法 [Sun et al., 2009]
– 学習に時間がかかる
 特徴のbagging(?) [Wang et al., 2006], [Sun, 2010]
– 最適な分割を求めるのに時間がかかる
 双対分解によるモデルの組み合わせの様々な問題への適用
– 係り受け解析
– 対訳系列タグ付け
– 単語のアライメント
 単語分割に双対分解を適用してみよう
9
提案手法 (1/4)
- モデルを組み合わせる
 基本的なアイデア
– 文字ベース/単語ベースの両方のモデルが合意できる単語分割を見つける
 目的関数
 yc: 文字ベースのCRFで求めた単語分割
 yw: 単語ベースのパーセプトロンで求めた単語分割
 制約付きの凸最適化問題を解くには…?
– ラグランジュの未定乗数法!
10
提案手法 (2/4)
- ラグランジュ緩和後の双対問題を考える
 元の目的関数
 ラグランジュ緩和
– ui: 位置iの乗数
– 位置iでの分割が異なっているときのペナルティ
 ラグランジュ緩和した後の目的関数
– 等式の制約を外せる
 双対問題を考える
– 主問題と双対問題の最適解は同じ
11
提案手法 (3/4)
- ラグランジュ緩和後の双対問題を考える
 双対問題を考える
– 主問題と双対問題の最適解は同じ
 主問題が最大化なら
 双対問題は最小化
 maxを含んでいるので微分できない
– 劣勾配は計算できる
 劣勾配を計算してuを更新する
– 分割が一致するか、一定回数更新するまで
12
提案手法 (4/4)
- 双対分解で一番良い分割を求めるアルゴリズム
13
実験
 モデルの組み合わせとハイパーパラメーター
– 文字ベースのモデル
 Stanford CRF segmenter [Tseng et al., 2005]
 L2正則化項のλは3
– 単語ベースのモデル
 Perceptron segmenter [Zhang and Clark, 2007]
 学習はビームサイズ200で10イテレーション
– 双対分解
 最大イテレーションはT = 100
 ステップ幅は0.1
 データセット
– SIGHAN 2003, 2005
14
結果 (1/3) – ベースのモデルとの性能比較
15
 P: 精度
 R: 再現率
 F1: F値
 Roov: 未知語に対する再現率
 C: 分割の一貫性(※低い方が良い)
• 4種類のドメインに対してロバスト
• 未知語に対するブレが少ない
• -> ROOV
• 分割の一貫性が高い
• 後段の精度向上に繋がる
• -> C
結果 (2/3) – 他の手法との性能比較
 6/7のデータセットで
– F値が最高精度を達成
16
結果 (3/3) – モデル間で分割が一致するまでの時間
 100イテレーションで
– 99.1%のデータで分割が一致
 最初のイテレーションで
– 77.4%のデータで分割が一致
17
エラー分析 (1/2)
 ベースモデル両方が異なる分割方法で間違えても正解できるケース
– CRF: 分割がたりない
– PCRT: 分割しすぎ
 同じ文字からなる名前の分割
– 日本語で言うと「仲里依紗」?
 仲 / 里依紗 (なか / りいさ)
18
※ 仲里依紗の画像は
削除されました
エラー分析 (2/2)
 ベースモデル両方が同じ分割方法で間違えても正解できるケース
– CRF: 分割がたりない
– PCRT: 分割がたりない
 “一点点”
– “A little bit”
 なぜか?
– 分割方法を決めるときに情報を共有できるから
 他にも、双対分解で正解できる400以上の例があった
 ただし、手法上、ベースモデルの間違いは再現しやすい
– 上記の例は大丈夫だけど、ダメなケースもあるのではないか?
– 詳細は書かれていなかった
19
まとめ (論文の要旨の再掲)
 (中国語の)単語分割を双対分解で解くと良いよ
 既存の手法
– 文字ベースのモデル
– 単語ベースのモデル
– 文字ベース/単語ベースの手法を組み合わせたモデル
 提案手法
– 文字ベース/単語ベースの手法を組み合わせて双対分解で解く
 提案手法の利点
– 実装が簡単
– SIGHAN 2003, 2005のデータセットの6/7で最高精度を達成
– 文字ベース/単語ベースのモデルをそのまま使える(再学習不要)
20
参考文献 (1/2) – 論文
 Mangqiu Wang, Rob Voigt, Christopher D. Manning. “Two
Knives Cut Better Than One: Chinese Word Segmentation
with Dual Decomposition”. ACL 2014
– 本論文
 Referencesの論文で特に参考にしたもの
– Huihsin Tseng, Pichuan Chang, Galen Andrew, Daniel Jurafsky,
Christopher Manning. “A Conditional Random Field Segmenter for Sighan
Bakeoff 2005”. 4-th SIGHAN workshop on Chinese language Processing
 文字ベースの中国語の単語分割器。ベースに使用したモデル
– Yue Zhang, Stephen Clark. “Chinese Segmentation with a Word-Based
Perceptron Algorithm”. ACL 2007
 単語ベースの中国語の単語分割器。ベースに使用したモデル
21
参考文献 (2/2) – ブログ
 双対分解による構造学習
– http://research.preferred.jp/2010/11/dual-decomposition/
– 弊社の岡野原による双対分解の解説
– とても詳しく書かれており、参考にしました
 劣微分を用いた最適化手法について(1)〜(4)、(完)
– http://research.preferred.jp/2010/11/subgradient-optimization-1/
– 弊社の徳永による劣微分の解説
– 論文では劣微分の値を使って最適化しているので、劣微分について理解するた
めに参考にしました
22
Copyright © 2006-2014
Preferred Infrastructure All Right Reserved.

Más contenido relacionado

La actualidad más candente

Lt python腕試しネタ
Lt python腕試しネタLt python腕試しネタ
Lt python腕試しネタkiwofusi
 
2011 icse-reverse engineering feature models
2011 icse-reverse engineering feature models2011 icse-reverse engineering feature models
2011 icse-reverse engineering feature modelsn-yuki
 
Neural Architecture for Named Entity Recognition
Neural Architecture for Named Entity RecognitionNeural Architecture for Named Entity Recognition
Neural Architecture for Named Entity RecognitionHiroki Nakayama
 
入門トピックモデル + Google colab で試せる実装
入門トピックモデル + Google colab で試せる実装入門トピックモデル + Google colab で試せる実装
入門トピックモデル + Google colab で試せる実装pon get
 
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017Motohiro Ueki
 
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」Hokuto Tateyama
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 Yuki Arase
 
[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...
[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...
[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...Deep Learning JP
 
Derivative models from BERT
Derivative models from BERTDerivative models from BERT
Derivative models from BERTJunya Kamura
 
日本語の語彙平易化評価セットの構築
日本語の語彙平易化評価セットの構築日本語の語彙平易化評価セットの構築
日本語の語彙平易化評価セットの構築Kodaira Tomonori
 

La actualidad más candente (11)

Lt python腕試しネタ
Lt python腕試しネタLt python腕試しネタ
Lt python腕試しネタ
 
2011 icse-reverse engineering feature models
2011 icse-reverse engineering feature models2011 icse-reverse engineering feature models
2011 icse-reverse engineering feature models
 
Neural Architecture for Named Entity Recognition
Neural Architecture for Named Entity RecognitionNeural Architecture for Named Entity Recognition
Neural Architecture for Named Entity Recognition
 
入門トピックモデル + Google colab で試せる実装
入門トピックモデル + Google colab で試せる実装入門トピックモデル + Google colab で試せる実装
入門トピックモデル + Google colab で試せる実装
 
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
 
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
 
[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...
[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...
[DL Hacks]Pretraining-Based Natural Language Generation for Text Summarizatio...
 
Derivative models from BERT
Derivative models from BERTDerivative models from BERT
Derivative models from BERT
 
日本語の語彙平易化評価セットの構築
日本語の語彙平易化評価セットの構築日本語の語彙平易化評価セットの構築
日本語の語彙平易化評価セットの構築
 
Jacet2014ykondo_final
Jacet2014ykondo_finalJacet2014ykondo_final
Jacet2014ykondo_final
 

Similar a ACL読み会2014@PFI "Two Knives Cut Better Than One: Chinese Word Segmentation with Dual Decomposition"

Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Atsuhiro Kubo
 
20190407 第7章 事例研究:自然言語処理における素性
20190407 第7章 事例研究:自然言語処理における素性20190407 第7章 事例研究:自然言語処理における素性
20190407 第7章 事例研究:自然言語処理における素性Kazuki Motohashi
 
FBSフレームワーク
FBSフレームワークFBSフレームワーク
FBSフレームワークAsato Shimotaki
 
Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Works Applications
 
TAPL 勉強会(紹介編)
TAPL 勉強会(紹介編)TAPL 勉強会(紹介編)
TAPL 勉強会(紹介編)none_toka
 
分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計yamahige
 
Interop2017
Interop2017Interop2017
Interop2017tak9029
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)Yuki Sako
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門You&I
 
サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27Kensuke Mitsuzawa
 
Generating word clouds in python
Generating word clouds in pythonGenerating word clouds in python
Generating word clouds in pythonAyakaHonda1
 
「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリtomohiroimaizumi
 
GhostTweet
GhostTweetGhostTweet
GhostTweetayatsuka
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築hirokiky
 
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションさくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションantibayesian 俺がS式だ
 
jjug_night_20161121
jjug_night_20161121jjug_night_20161121
jjug_night_20161121Naoya Kojima
 
JAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSIONJAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSION陽平 山口
 

Similar a ACL読み会2014@PFI "Two Knives Cut Better Than One: Chinese Word Segmentation with Dual Decomposition" (20)

Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
20190407 第7章 事例研究:自然言語処理における素性
20190407 第7章 事例研究:自然言語処理における素性20190407 第7章 事例研究:自然言語処理における素性
20190407 第7章 事例研究:自然言語処理における素性
 
FBSフレームワーク
FBSフレームワークFBSフレームワーク
FBSフレームワーク
 
Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器
 
TAPL 勉強会(紹介編)
TAPL 勉強会(紹介編)TAPL 勉強会(紹介編)
TAPL 勉強会(紹介編)
 
分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計
 
Interop2017
Interop2017Interop2017
Interop2017
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27サポーターズ勉強会スライド 2018/2/27
サポーターズ勉強会スライド 2018/2/27
 
Generating word clouds in python
Generating word clouds in pythonGenerating word clouds in python
Generating word clouds in python
 
「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ
 
GhostTweet
GhostTweetGhostTweet
GhostTweet
 
XP movement In Japan
XP movement In JapanXP movement In Japan
XP movement In Japan
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築
 
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションさくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
 
jjug_night_20161121
jjug_night_20161121jjug_night_20161121
jjug_night_20161121
 
JAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSIONJAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSION
 
作文入門
作文入門作文入門
作文入門
 

Más de Preferred Networks

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57Preferred Networks
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Preferred Networks
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Preferred Networks
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...Preferred Networks
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Preferred Networks
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2Preferred Networks
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演Preferred Networks
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)Preferred Networks
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)Preferred Networks
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るPreferred Networks
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Preferred Networks
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会Preferred Networks
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50Preferred Networks
 

Más de Preferred Networks (20)

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
 

ACL読み会2014@PFI "Two Knives Cut Better Than One: Chinese Word Segmentation with Dual Decomposition"

  • 1. “Two Knives Cut Better Than One: Chinese Word Segmentation with Dual Decomposition” Mengqiu Wang, Rob Voigt, Christopher D. Manning ACL読み会2014@PFI 株式会社Preferred Infrastructure 岩田 英一郎(@eiichiroi) 2014 年 7 月 12 日 ※スライド中の図・表は上記の論文から引用しました
  • 2. 自己紹介  岩田 英一郎(@eiichiroi) – 元さいたまの競技プログラマー(引退済み)  経歴 – 2009年 PFIでアルバイト開始 – 2010年 埼玉大学 大学院 修了 – 2010年 PFI入社  仕事 – ソフトウェアエンジニア  検索エンジンや自然言語処理ツールの開発・保守(主に繋ぎ込み担当)  研究開発の成果を製品へ取り込む  自然言語処理初心者(重要!) – 単語分割の論文を読み始めて一週間… 2
  • 3. 論文の要旨  (中国語の)単語分割を双対分解で解くと良いよ  既存の手法 – 文字ベースのモデル – 単語ベースのモデル – 文字ベース/単語ベースの手法を組み合わせたモデル  提案手法 – 文字ベース/単語ベースの手法を組み合わせて双対分解で解く  提案手法の利点 – 実装が簡単 – SIGHAN 2003, 2005のデータセットの6/7で最高精度を達成 – 文字ベース/単語ベースのモデルをそのまま使える(再学習不要) 3
  • 4. 単語分割とは  単語分割とは、単語の区切りを求める処理 – 素敵な例文が欲しいです。 – 素敵_な_例文_が_欲しい_です_。  日本語や中国語、タイ語では単語の区切りに空白を入れない – 分かち書きしない言語では重要な処理 4
  • 5. 単語分割の意義  後続の処理に大きな影響を与える重要なタスク – 品詞タグ付け – 構文解析 – 機械翻訳  高い精度で切れないと困る – うまく切れていない例 →  新しい技術を創りだす  エンジニアカンパニー  最新の研究成果の性能は高い – F値は0.95前後 5 ※会社HPのリニューアル直後のFacebookのサムネール
  • 6. 既存手法の概要 1. 文字ベースのモデル – 文字単位で単語の区切りかどうかを判別する – ◯ 未知語 × 広い文脈 2. 単語ベースのモデル – 辞書を元に単語の分割方法を探索する – ◯ 広い文脈 × 未知語 3. 文字ベース/単語ベースの組み合わせのモデル – ◯ 未知語、広い文脈 × 複雑、計算コストが高い  まだ課題は残っている 6
  • 7. 既存手法(1) - 文字ベースのモデル  系列ラベリングとして定式化 [Xue, 2003] – 各文字に対して、単語の境界かどうかのラベルを付ける – CRFがstate-of-the-art [Lafferty et al., 2001] [Tseng et al., 2005]  動的計画法でyを求められる  ◯ 未知語に強い – 周辺文字のn-gram – 形態論的な接尾辞・接頭辞  × 広い文脈を捉えにくい – マルコフ性の仮定 7 x: 文字列 y: ラベル列(0 or 1の列) θ: パラメータ(素性関数の重み)のベクトル f: 素性関数のベクトル Z: 確率分布にするための係数(定数) 0 1 2 3 4 5 6 7 8 9 x 私 の 名 前 は 中 野 で す 。 y 1 1 0 1 1 0 1 0 1 1
  • 8. 既存手法(2) - 単語ベースのモデル  スコア関数を使って単語分割の候補(リスト)を探索 – 辞書を使った最大マッチング [Chen and Liu, 1992] – 線形モデル(average perceptron) [Collins, 2002] [Zhang and Clark, 2007]  探索空間GEN(x)は広い – Beam Searchで探索  各ステップで上位k件以外は枝刈り – 1文字読んだら、単語分割の各候補に対して ([“私の”], [“私”, “の”]) + “名”  最後の単語にくっ付ける [“私の名”], [“私”, “の名”]  その文字から新しい単語を始める [“私の”, “名”], [“私”, “の”, “名”] – ※最後の単語が辞書に含まれるものだけ – 一番長い範囲を扱う素性は単語bigram(動的計画法だと解の空間が広すぎる) 8 x: 文字列 y: ラベル列(0 or 1の列) F(y|x): ラベル列yで分割したときのスコア GEN(x): 文字列xのラベル列の候補 α: パラメータベクトル Φ: 素性ベクトル
  • 9. 既存手法(3) - 文字ベース/単語ベースの組み合わせ のモデル  モデルが複雑な手法 [Sun et al., 2009] – 学習に時間がかかる  特徴のbagging(?) [Wang et al., 2006], [Sun, 2010] – 最適な分割を求めるのに時間がかかる  双対分解によるモデルの組み合わせの様々な問題への適用 – 係り受け解析 – 対訳系列タグ付け – 単語のアライメント  単語分割に双対分解を適用してみよう 9
  • 10. 提案手法 (1/4) - モデルを組み合わせる  基本的なアイデア – 文字ベース/単語ベースの両方のモデルが合意できる単語分割を見つける  目的関数  yc: 文字ベースのCRFで求めた単語分割  yw: 単語ベースのパーセプトロンで求めた単語分割  制約付きの凸最適化問題を解くには…? – ラグランジュの未定乗数法! 10
  • 11. 提案手法 (2/4) - ラグランジュ緩和後の双対問題を考える  元の目的関数  ラグランジュ緩和 – ui: 位置iの乗数 – 位置iでの分割が異なっているときのペナルティ  ラグランジュ緩和した後の目的関数 – 等式の制約を外せる  双対問題を考える – 主問題と双対問題の最適解は同じ 11
  • 12. 提案手法 (3/4) - ラグランジュ緩和後の双対問題を考える  双対問題を考える – 主問題と双対問題の最適解は同じ  主問題が最大化なら  双対問題は最小化  maxを含んでいるので微分できない – 劣勾配は計算できる  劣勾配を計算してuを更新する – 分割が一致するか、一定回数更新するまで 12
  • 14. 実験  モデルの組み合わせとハイパーパラメーター – 文字ベースのモデル  Stanford CRF segmenter [Tseng et al., 2005]  L2正則化項のλは3 – 単語ベースのモデル  Perceptron segmenter [Zhang and Clark, 2007]  学習はビームサイズ200で10イテレーション – 双対分解  最大イテレーションはT = 100  ステップ幅は0.1  データセット – SIGHAN 2003, 2005 14
  • 15. 結果 (1/3) – ベースのモデルとの性能比較 15  P: 精度  R: 再現率  F1: F値  Roov: 未知語に対する再現率  C: 分割の一貫性(※低い方が良い) • 4種類のドメインに対してロバスト • 未知語に対するブレが少ない • -> ROOV • 分割の一貫性が高い • 後段の精度向上に繋がる • -> C
  • 16. 結果 (2/3) – 他の手法との性能比較  6/7のデータセットで – F値が最高精度を達成 16
  • 17. 結果 (3/3) – モデル間で分割が一致するまでの時間  100イテレーションで – 99.1%のデータで分割が一致  最初のイテレーションで – 77.4%のデータで分割が一致 17
  • 18. エラー分析 (1/2)  ベースモデル両方が異なる分割方法で間違えても正解できるケース – CRF: 分割がたりない – PCRT: 分割しすぎ  同じ文字からなる名前の分割 – 日本語で言うと「仲里依紗」?  仲 / 里依紗 (なか / りいさ) 18 ※ 仲里依紗の画像は 削除されました
  • 19. エラー分析 (2/2)  ベースモデル両方が同じ分割方法で間違えても正解できるケース – CRF: 分割がたりない – PCRT: 分割がたりない  “一点点” – “A little bit”  なぜか? – 分割方法を決めるときに情報を共有できるから  他にも、双対分解で正解できる400以上の例があった  ただし、手法上、ベースモデルの間違いは再現しやすい – 上記の例は大丈夫だけど、ダメなケースもあるのではないか? – 詳細は書かれていなかった 19
  • 20. まとめ (論文の要旨の再掲)  (中国語の)単語分割を双対分解で解くと良いよ  既存の手法 – 文字ベースのモデル – 単語ベースのモデル – 文字ベース/単語ベースの手法を組み合わせたモデル  提案手法 – 文字ベース/単語ベースの手法を組み合わせて双対分解で解く  提案手法の利点 – 実装が簡単 – SIGHAN 2003, 2005のデータセットの6/7で最高精度を達成 – 文字ベース/単語ベースのモデルをそのまま使える(再学習不要) 20
  • 21. 参考文献 (1/2) – 論文  Mangqiu Wang, Rob Voigt, Christopher D. Manning. “Two Knives Cut Better Than One: Chinese Word Segmentation with Dual Decomposition”. ACL 2014 – 本論文  Referencesの論文で特に参考にしたもの – Huihsin Tseng, Pichuan Chang, Galen Andrew, Daniel Jurafsky, Christopher Manning. “A Conditional Random Field Segmenter for Sighan Bakeoff 2005”. 4-th SIGHAN workshop on Chinese language Processing  文字ベースの中国語の単語分割器。ベースに使用したモデル – Yue Zhang, Stephen Clark. “Chinese Segmentation with a Word-Based Perceptron Algorithm”. ACL 2007  単語ベースの中国語の単語分割器。ベースに使用したモデル 21
  • 22. 参考文献 (2/2) – ブログ  双対分解による構造学習 – http://research.preferred.jp/2010/11/dual-decomposition/ – 弊社の岡野原による双対分解の解説 – とても詳しく書かれており、参考にしました  劣微分を用いた最適化手法について(1)〜(4)、(完) – http://research.preferred.jp/2010/11/subgradient-optimization-1/ – 弊社の徳永による劣微分の解説 – 論文では劣微分の値を使って最適化しているので、劣微分について理解するた めに参考にしました 22
  • 23. Copyright © 2006-2014 Preferred Infrastructure All Right Reserved.