Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
双曲空間への単語埋め込みと QAサービスでの自然言語処理を 用いた推薦システムについて
Search
Ryusuke_Tanaka
April 24, 2019
Technology
690
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
双曲空間への単語埋め込みと QAサービスでの自然言語処理を 用いた推薦システムについて
【Sansan×エムスリー】自然言語処理勉強会(ライブ配信あり)で発表した内容です。
Ryusuke_Tanaka
April 24, 2019
More Decks by Ryusuke_Tanaka
See All by Ryusuke_Tanaka
医師向けQAサイトのための推薦システム開発
ryusuketa
1
1.8k
An Effective Approach to Unsupervised Machine Translationの紹介
ryusuketa
0
130
Universal Decompositional Semantics on Universal Dependencies
ryusuketa
0
100
Learning Dual Retrieval Module for Semi-supervised Relation Extractionの紹介
ryusuketa
0
110
動画視聴を整数倍(最大値)で_効率化するchrome extension作った
ryusuketa
0
92
Other Decks in Technology
See All in Technology
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
200
Optunaの最新リリースv5.0について
pfn
PRO
0
130
sue445's proposals 2026
sue445
0
120
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
370
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
200
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
300
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
220
価値について
gree_tech
PRO
0
140
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
150
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
160
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
360
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
160
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Abbi's Birthday
coloredviolet
4
10k
First, design no harm
axbom
PRO
2
1.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
Transcript
Copyright © 2015 M3, Inc. All Rights Reserved 双曲空間への単語埋め込みと QAサービスでの自然言語処理を
用いた推薦システムについて エムスリー株式会社 田中 龍亮
自己紹介 ・田中 龍亮(りゅうすけ) ・入社24日目 ・新卒2年目なので第二新卒的なsomething ・学生時代の研究: 音信号からの音源方向の推定(部分空間法ベース) ・twitter やりたい ・今回は論文:Poincaré GloVe:
Hyperbolic Word Embeddingsの 紹介と医療ドメインへの転用について
双曲空間 ざっくりいって ユークリッド空間とは距離の測り方が違う空間 双曲平面もいろいろあるが、MLでは概ねPoincare
BallやLorentz modelが採用される ←Poincare Ball上の直線(測地線)を2次元平面に 起こしてきたもの。 結んだ時に直径になる2点では直線だが、 そうではない点では曲がって見える
なぜ単語埋め込みにいいか ・単語の階層構造を考慮した埋め込みを実現したい →木構造やネットワークを埋め込む →これらは大きくなるほど埋め込み先に大きな空間が必要 ・2次元ユークリッド平面の場合、 半径rの円を考えた時に面積は半径に対してr^2 ・2次元Poincare Ballの場合、 半径r(r<1)に対して面積は1/{(1-r)^2}
半径を1とした時に同じ次元でも無限の面積を持つ空間を作ることが できるので広い空間を必要とする木構造埋め込みに適切
階層構造の学習 一番最初にWordNetのPoincare Ballへの埋め込みを検討した論文[1]では 明示的に階層構造を与えずに、階層構造を捉えられた (哺乳類の例だが、 生物学的意味の階層でない)
外側ほど深い レイヤーの単語として 配置される 哺乳類 げっ歯類 リス 肉食類 トラ ジャガー シェパード ビーグル
Poincaré GloVe: Hyperbolic Word Embeddings • Alexandru Tifrea, Gary Becigneul,
Octavian-Eugen Ganea • 単語埋め込み手法の一つであるGloVeをPoincare Ball(双曲空間)への 埋め込みに拡張した方法を提案 • この発表の大きなContributionは次の2点 ◦ ガウス分布型の単語埋め込みと双曲平面上の埋め込みについて 測地線が一致することに気づいた(数式を示したのは別の論文) ◦ これによってガウス分布型の埋め込みを点で考えることができるようにな り、従来不明瞭だった単語アナロジーを可能にした。 • 理論的なContributionが強い
Poincaré GloVe Glove:単語の共起頻度+行列分解ベースの埋め込み法 ユークリッド空間上のGloVeコスト関数 内積を変形すると距離の差に置き換え可→Poincare Ball上の距離にする Poincaré
ball上のGloVeコスト関数(ノルムはバイアスに吸収させる) nonlinearityの決定はヒューリスティック(実験ではcosh^2とx^2を比較)
Poincare Ball上の距離の取り方 Poincare Ball上の距離 複数のPoincare Ballの直積の距離(の二乗)
それぞれのPoincare Ball上の距離の和
Fisher距離とPoincare上半平面上の測地線 Diagonal Gaussian分布のFisher 距離(Fisher情報量をリーマン計量とした時に 定義される測地線、尤度間の距離)とPoincare上半平面上の距離は対応関係あり[4]
Poincare 上半平面と Poincare Ballの間の写像は定義可能 分布間の距離をPoincare Ball上で測ることが可能
単語のガウス分布型埋め込みと Poincare Ball埋め込みの対応 単語のガウス分布型埋め込み:埋め込み表現に広がりを持たせ、包含関係のような階層 構造表現 →領域で考えたためにw2vではできていたような アナロジーを考えるのが難しくなった 先の検討から
ガウス分布型の埋め込み表現をPoincare Ball上では点で考えることができる! →分布埋め込みでもアナロジーなどのタスクを従来と同様に考えることができる! 実際にアナロジーを行うにはジャイロベクトルを用いる
実験 English Wikipediaから1.4billion tokens取得 189,533のunique tokensの埋め込みを学習 Word
Similarity : 類似度 Analogy : Google benchmark Hypernymy Evaluation : 上位関係に当たる単語の推論 初期化 先に上位50k個のワードの埋め込みから学習し、 そのあと190k個のワードの埋め込みを学習した(Init. trickと呼称)
結果①、Similarity どのタスクでも精度改善
結果②、Analogy どのタスクでも精度改善
結果③:Hypernymy evaluation 縦軸:分散、横軸平均 上位語ほど分散が大きい:
下位語を包含するように分布を学習できている →Poincare Ball上の学習と分布埋め込みの学習が結びついている
結果③:Hypernymy evaluation スピアマン順位相関スコア(推定上下関係と実際の上下関係の相関)
outstandingではないが高いスコア
QAサービス ・Stack Overflow, Quora, Yahoo!知恵袋...
・今回医療従事者向けのQAサービス検討
QAサービスでのユーザの要望 1. 質問したらはやく答えてほしい 2. 類似した質問に対する回答を見つけたい 3. 回答の信頼性を測りたい(これはサービス提供側かも) など...
1. 2.は推薦システムと同じ考え方によって実現可能
質問の推薦システム ・ある質問をした時、 当然専門性の高い人に回答してほしい ・ex. 合併症を患った時の投薬の種類や量について (自専門ではカバーしきれない知識を要求される場合 ・質問内容に専門がマッチする人をみつけてその人に回答をお願いする! ・回答してくれそうな人への質問の推薦システム構築 ・→質問に該当する専門家で、よく回答する人を見つけれこればいい?
Cold-Start problem サービス利用したばかりの人には質問や回答の情報がない →QAの情報は極力使用しない →他サービスの利用情報を用いる
自然言語処理ベースでuserとQを同一空間に埋め込み→推薦 →医療情報なので医療ドメインに向いた埋め込みを考えてみる ・診療科 ・PV ・メルマガ開封 ・.... ・質問内容 ・キーワード ・診療科... user1 user2 Q.1 Q.2 埋め込み空間
医療情報にも階層構造 例えばICD-10分類(WHOが定めた疾患の分類の国際標準) 他にも診療科と疾患の関係も浅い階層構造 →階層構造を考慮できる埋め込みが情報としてよさそう!
→双曲空間への埋め込みは効果あるのでは??? 消化器系の疾患 口腔,唾液腺及び顎の疾患 食道,胃及び十二指腸の疾患 虫唾の疾患 ヘルニア ... 食道炎 胃食道逆流症 食道その他の疾患 ….
やってみた
やってみたかった Poincare Gloveを成功させたい人生だった
やってみたかった 論文と同じデータセットで学習した結果(2D) 頻度の小さいワードは外側にくる傾向はあるが、
Nearest Neighborhoodでは近い単語を拾うことはできなかった 数学的に煩雑だと、入出力の間違いを見つけづらく、デバッグが難しいという感想 ‘word’からの4-NN 'cavalry': 1.000046 'becomes': 1.0000613, 'stephen': 1.0000713 'nodes': 1.0000918 青: 頻度上位 200 tokens 橙: 頻度下位 200 tokens 赤: ‘word’ の埋め込み 緑: ‘word’ に近い10個
まとめ ・Poincare GloVeを紹介した ー理論的知見を得た ・医療ドメインのQAサービスへの応用を考えた ・再現できませんでした 論文が小保方ってなければ僕の実力不足・・・