Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
双曲空間への単語埋め込みと QAサービスでの自然言語処理を 用いた推薦システムについて
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryusuke_Tanaka
April 24, 2019
Technology
630
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.7k
An Effective Approach to Unsupervised Machine Translationの紹介
ryusuketa
0
130
Universal Decompositional Semantics on Universal Dependencies
ryusuketa
0
93
Learning Dual Retrieval Module for Semi-supervised Relation Extractionの紹介
ryusuketa
0
100
動画視聴を整数倍(最大値)で_効率化するchrome extension作った
ryusuketa
0
89
Other Decks in Technology
See All in Technology
MCP Appsを作ってみよう
iwamot
PRO
4
660
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
110
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
480
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
190
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.1k
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.2k
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
130
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
21
7k
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
130
【2026年版】 ベクトル検索䛸 Embedding最前線
mocobeta
0
170
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.1k
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
エンジニアに許された特別な時間の終わり
watany
107
250k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
410
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Fireside Chat
paigeccino
42
3.9k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
WCS-LA-2024
lcolladotor
0
630
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
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サービスへの応用を考えた ・再現できませんでした 論文が小保方ってなければ僕の実力不足・・・