クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜

クックパッド特売情報
における自然言語処理
∼固有表現抽出を利用した検索システム∼
YANS 第 10 回シンポジウム (2015/09/05 )
クックパッド株式会社
買物情報事業部
Takeshi Arabiki (@a_bicky)
お話しすること
•ものをつくること
•ものを動かすこと
•現実の問題を知ること
•足りない技術を生み出すこと
お話しすること
•ものをつくること
•ものを動かすこと
•現実の問題を知ること
•足りない技術を生み出すこと
クックパッド特売情報
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
•いわゆるチラシサービスの一種
•店舗さんが商品情報を投稿
クックパッド特売情報
商品検索の使いどころ
商品検索の使いどころ
•各ユーザに限定すると商品数が少ない
‣ e.g. 登録している店舗の商品
‣ 1件しかヒットしないことがよくある
•ユーザが意図的に検索するわけではない
‣ より適合率(精度)が求められる
特殊な検索事情
商品検索の
初期の課題
投稿された商品名 キーワード
たまねぎドレッシング
フルーツゼリー みかん
たまねぎ
ドレッシング
フルーツ
ゼリー
みかん
形態素単位のインデキシング
投稿された商品名 キーワード
たまねぎドレッシング
フルーツゼリー みかん
たまねぎ
ドレッシング
フルーツ
ゼリー
みかん
形態素単位のインデキシング形態素単位のインデキシング
「たまねぎ」を使ったレシピに掲出
「みかん」を使ったレシピに掲出
固有表現抽出を利用した
検索システム
投稿された商品名 キーワード
固有表現単位のインデキシング
たまねぎドレッシング
商品名
フルーツゼリー みかん
味商品名
たまねぎドレッシング
フルーツゼリー
みかん:TASTE
固有表現抽出を使うメリット
•適合率が上がる
•正規表現と違って文字列全体を考慮できる
•似たパターンの未知データにも対応可能
固有表現抽出の方法
•MeCab+IPAdic による形態素解析と正規化
‣ コストを商品名に最適化
‣ 辞書に代表表記の情報も登録
•CRFsuite による固有表現抽出
‣ 形態素解析した結果を素性に利用
‣ タグとして商品名、味、産地 etc.
% mecab -d dic	
薄切り	
薄切り 名詞,サ変接続,*,*,*,*,薄切り,ウスギリ,ウスギリ	
EOS	
薄切	
薄切 名詞,サ変接続,*,*,*,*,薄切,ウスギリ,ウスギリ,薄切り,薄切り,ウスギリ	
EOS	
形態素解析結果と代表表記
学習データの作成
商品検索の
現在の課題
商品名の形態素解析の難しさ
•かつおたたき
•ロース肉薄切り
•名詞の間にある接頭詞・名詞接尾
‣ e.g.「徳用焼き餃子」「生姜焼き徳用」
商品名の形態素解析の難しさ
•かつおたたき  → かつ/お/たたき
•ロース肉薄切り → ロース/肉薄/切り
•名詞の間にある接頭詞・名詞接尾
‣ e.g.「徳用焼き餃子」「生姜焼き徳用」
知識ベースの構築
•同義語
‣ 「パクチー」と「コリアンダー」
•一般名と品種・商品名
‣ 「じゃがいも」と「メークイン」
•原料
‣ 「卵黄」と「卵」
商品検索クエリの最適化
•材料は「豚肉」だけど「豚肉薄切り」かも
‣ 「豚肉ブロック」は掲出させたくない
•材料名のクレンジング
‣ 材料名の括弧の中身は必要かどうか
‣ e.g.(薄切り)、(あれば)
課題は
たくさん
最も深刻
な問題
人手不足
ブレークスルー
http://www.nii.ac.jp/dsc/idr/cookpad/cookpad.html
お話しすること
•ものをつくること
•ものを動かすこと
•現実の問題を知ること
•足りない技術を生み出すこと
•ものをつくること
•ものを動かすこと
•現実の問題を知ること
•足りない技術を生み出すこと
自然言語処理で
世界中の食卓に
笑顔を!
1 of 31

More Related Content

What's hot(20)

イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima23.8K views
テスト駆動開発のはじめ方テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
Shuji Watanabe27.3K views
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone48.3K views
MLOps入門MLOps入門
MLOps入門
Hiro Mura2.1K views
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT
Akabane Hiroyuki16.9K views
解説!30分で分かるLEAN ANALYTICS解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
しくみ製作所7.2K views

More from Takeshi Arabiki(17)

開発の心得開発の心得
開発の心得
Takeshi Arabiki5K views
R による文書分類入門R による文書分類入門
R による文書分類入門
Takeshi Arabiki30.7K views
Rのデータ構造とメモリ管理Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理
Takeshi Arabiki15.2K views
HTML5 Canvas で学ぶアフィン変換HTML5 Canvas で学ぶアフィン変換
HTML5 Canvas で学ぶアフィン変換
Takeshi Arabiki8.9K views
twitteRで快適Rライフ!twitteRで快適Rライフ!
twitteRで快適Rライフ!
Takeshi Arabiki8.4K views
RではじめるTwitter解析RではじめるTwitter解析
RではじめるTwitter解析
Takeshi Arabiki23.6K views
R版Getopt::Longを作ってみたR版Getopt::Longを作ってみた
R版Getopt::Longを作ってみた
Takeshi Arabiki3K views
Rデータフレーム自由自在Rデータフレーム自由自在
Rデータフレーム自由自在
Takeshi Arabiki24.3K views
HMM, MEMM, CRF メモHMM, MEMM, CRF メモ
HMM, MEMM, CRF メモ
Takeshi Arabiki12K views
RデバッグあれこれRデバッグあれこれ
Rデバッグあれこれ
Takeshi Arabiki8K views
はじめてのまっぷりでゅ〜すはじめてのまっぷりでゅ〜す
はじめてのまっぷりでゅ〜す
Takeshi Arabiki2.3K views
TwitterのデータをRであれこれTwitterのデータをRであれこれ
TwitterのデータをRであれこれ
Takeshi Arabiki13.5K views
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備
Takeshi Arabiki2.8K views

Recently uploaded(8)

クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜