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
project yamcha phase 1
Search
andmohiko
November 18, 2018
Programming
1
110
project yamcha phase 1
学生の一行プロフィールをベクトル化して類似度の高いものを探す
andmohiko
November 18, 2018
Tweet
Share
More Decks by andmohiko
See All by andmohiko
Mantine + React Hook Form + Zod でフォームをつくる
andmohiko
0
720
文章のベクトル化
andmohiko
0
420
Predicting categories of news articles
andmohiko
0
120
kobachi presentation
andmohiko
0
210
Other Decks in Programming
See All in Programming
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
160
チームの境界をブチ抜いていけ
tokai235
0
230
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.6k
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
46k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
Ktorで簡単AIアプリケーション
tsukakei
0
110
理論と実務のギャップを超える
eycjur
0
180
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
120
Software Architecture
hschwentner
6
2.3k
SODA - FACT BOOK(JP)
sodainc
1
8.9k
One Enishi After Another
snoozer05
PRO
0
160
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
YesSQL, Process and Tooling at Scale
rocio
173
15k
RailsConf 2023
tenderlove
30
1.3k
Fireside Chat
paigeccino
41
3.7k
We Have a Design System, Now What?
morganepeng
53
7.8k
Practical Orchestrator
shlominoach
190
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Why Our Code Smells
bkeepers
PRO
340
57k
Typedesign – Prime Four
hannesfritz
42
2.8k
BBQ
matthewcrist
89
9.9k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Transcript
やみつき飲茶な熱帯夜 Project yamcha phase 1 2018/09/11 いとぅー
あうとらいん • 目的 • 理論 • 手法 • 結果 •
考察 • 今後の展望
目的 人事が今までにスカウトを打った学生と似ている学生をキャッチコ ピーを使って探し出す。 つまりキャッチコピーが似ている人を探し当てたい。
目的 人事が今までにスカウトを打った学生と似ている学生をキャッチコ ピーを使って探し出す。 つまりキャッチコピーが似ている人を探し当てたい。 自然言語において「似ている」とは 数学的にどういうことか?
自然言語において「似ている」とは、 文章をベクトルに変換し、そのベクトル同士の類似度を測る。 doc2vecという手法を使うが、 doc2vecについて説明するためにまずword2vecについて説明する。 理論
理論 word2vecのせつめー word2vecとは... 大量のテキストデータを解析し、 各単語の意味をベクトル表現化する手法 ↑これを「単語の分散表現を得る」という 単語をベクトル化することで、 ・単語同士の意味の近さを計算 ・単語同士の意味を足したり引いたりとい うことが可能になる。
理論 word2vecのせつめー word2vecとは... 大量のテキストデータを解析し、 各単語の意味をベクトル表現化する手法 ↑これを「単語の分散表現を得る」という 単語をベクトル化することで、 ・単語同士の意味の近さを計算 ・単語同士の意味を足したり引いたりとい うことが可能になる。
king - man + woman = queen となる!!!
理論 word2vecのせつめー word2vecとは... 大量のテキストデータを解析し、 各単語の意味をベクトル表現化する手法 ←これを「単語の分散表現を得る」という 単語をベクトル化することで、 ・単語同士の意味の近さを計算 ・単語同士の意味を足したり引いたりとい うことが可能になる。
king - man + woman = queen となる!!! word2vecを文章レベルに 拡張したものがdoc2vecである
理論 ベクトルの類似度を測るにはコサイン類似度を使う。 cosθが ・1ならベクトルの方 向が一致、 ・-1なら方向が真逆と いうことになる θ θ
手法 • 使用したデータ TRUNKのレジュメに記入されたユーザーのキャッチコピーと自己紹介 • データセットの作り方 キャッチコピーと自己紹介をただ学習させるのか、 同じ文脈としてstringをくっつくる方がよいのか。 • 特徴量の作り方
全ての単語を使用するか、 名詞のみ取り出すか、 名詞と動詞を取り出すか。
結果 jupyter notebookをご覧ください
結果 • 単語は名詞と動詞と形容詞を取り出して使うのがよい • データセットはシンプルにキャッチコピーと自己紹介を学習させるのがよい
考察 & 反省まとめ • 「似ている」とされたキャッチコピーは「なんとなく似てるかも...?」「うーん」「あー」く らいなものが取ってこれた。 →テキストデータが増えればここの精度は上がるはず • 逆に「似ていない」とされたキャッチコピーはしっかり似ていない 明らかに「ちげーな」って思うやつははじくことができた
• データ整形の時間を辞書追加の時間にすればよかった
• 「なんとなく近いかも」くらいなものを取り出すことに成功したので、 現状のものをAPI化してプロダクトに埋め込む • API化に向けてコードを書き直す • それに伴って発生する課題 ◦ 新しいユーザーが追加される →学習し直すタイミング
◦ キャッチコピーや自己紹介が更新された時の旧文章の扱い 今後の展望と課題