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
700
文章のベクトル化
andmohiko
0
410
Predicting categories of news articles
andmohiko
0
110
kobachi presentation
andmohiko
0
190
Other Decks in Programming
See All in Programming
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
11k
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
640
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
20
8.2k
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
530
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
440
What's new in AppKit on macOS 26
1024jp
0
120
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
450
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
960
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
140
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
生成AI時代のコンポーネントライブラリの作り方
touyou
1
250
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
740
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Rails Girls Zürich Keynote
gr2m
95
14k
Become a Pro
speakerdeck
PRO
29
5.4k
Music & Morning Musume
bryan
46
6.6k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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化に向けてコードを書き直す • それに伴って発生する課題 ◦ 新しいユーザーが追加される →学習し直すタイミング
◦ キャッチコピーや自己紹介が更新された時の旧文章の扱い 今後の展望と課題