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
120
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
740
文章のベクトル化
andmohiko
0
440
Predicting categories of news articles
andmohiko
0
130
kobachi presentation
andmohiko
0
210
Other Decks in Programming
See All in Programming
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
CSC307 Lecture 03
javiergs
PRO
1
490
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
AI時代の認知負荷との向き合い方
optfit
0
160
ぼくの開発環境2026
yuzneri
0
230
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
CSC307 Lecture 05
javiergs
PRO
0
500
dchart: charts from deck markup
ajstarks
3
990
Patterns of Patterns
denyspoltorak
0
1.4k
Implementation Patterns
denyspoltorak
0
290
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
180
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Deep Space Network (abreviated)
tonyrice
0
49
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Leo the Paperboy
mayatellez
4
1.4k
Site-Speed That Sticks
csswizardry
13
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
Marketing to machines
jonoalderson
1
4.6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
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化に向けてコードを書き直す • それに伴って発生する課題 ◦ 新しいユーザーが追加される →学習し直すタイミング
◦ キャッチコピーや自己紹介が更新された時の旧文章の扱い 今後の展望と課題