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
みんなのPython勉強会#38登壇資料 tf-idfを使ったグロースハック
Search
sugaya takehiro
September 12, 2018
Technology
1
880
みんなのPython勉強会#38登壇資料 tf-idfを使ったグロースハック
sugaya takehiro
September 12, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
チェックツールを導入したけど使ってもらえなかった話 #GAADjp
lycorptech_jp
PRO
1
160
Cline&CursorによるAIコーディング徹底活用―Live Vibe Coding付き
pharma_x_tech
3
870
VueUseから学ぶ実践TypeScript #TSKaigi #TSKaigi2025
bengo4com
3
370
OCI Full Stack Disaster Recovery サービス概要
oracle4engineer
PRO
1
140
分解し、導き、託す ログラスにおける“技術でリードする” 実践の記録
hryushm
1
650
OpenTelemetry SpanProcessor を Let's カスタマイズ!
phaya72
1
110
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
17k
主要ライブラリの実例に学ぶ、TypeScriptで実現する型安全な座標定義
tiroljpn
1
110
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
210
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
29
8.2k
KubeCon + CloudNativeCon Europe 2025 Recap: The GPUs on the Bus Go 'Round and 'Round / Kubernetes Meetup Tokyo #70
pfn
PRO
0
180
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
1
340
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
183
22k
Balancing Empowerment & Direction
lara
0
50
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Navigating Team Friction
lara
185
15k
Designing for humans not robots
tammielis
253
25k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
440
Designing for Performance
lara
608
69k
For a Future-Friendly Web
brad_frost
177
9.7k
Transcript
͍·͞Β͚ͩͲPythonͰtf-idfͬͯΈͨ UGJEGΛͬͯ ΞϓϦͷάϩʔεΛͯ͠Έͨ
ΤϯδχΞ σʔλΞφϦετ Ϗδωε ຊ͍Β͍ͯ͠Δํ
ࣗݾհ • Takehiro Sugara @sugartaker • ੲϦαʔνձࣾͰ ੳɾࣄۀ։ൃ͍ͯ͠·ͨ͠ • ࠓϔϧεέΞΞϓϦͷ
άϩʔεϋοΫΛ͍ͯ͠·͢
ಥવͰ͕͢ɺࢲ͋ΔࣈΛͱͯάϩʔεͤ͞·ͨ͠ ඪ
1 0 2 ࢲͷମॏͰ͢ దਖ਼ମॏ
ࠓ͢͜ͱ • ࣗݾհ • tf-idfΛͬͯΞϓϦͷάϩʔεΛͯ͠Έͨ
͜Μͳ͜ͱ͋Γ·ͤΜ͔ʁ • Ϛʔέ୲ऀ • ݁ہͲΜͳײ͡ͷࠂόφʔ͕͍͍ͷʁ • ηʔϧε୲ऀ • ݁ہͲΜͳײ͡ͷϝϧϚΨɾϓογϡ௨͕͍͍ͷʁ •
ϥΠλʔ • ݁ہͲΜͳײ͡ͷهࣄ͕͍͍ͷʁ
͜Μͳ͜ͱ͋Γ·ͤΜ͔ʁ ਖ਼Ϧιʔε͕Γͳͯ͘ࡉ͔͍ͱ͜Ζ·ͰΈͯΒΕͳ͍ʂ
'J/$Ͱ͋Γ·ͨ͠
ͦͦ'J/$ͬͯͲΜͳձࣾʁ
ʮ༧ϔϧεέΞºςΫϊϩδʔʯʹಛԽͨ͠ϔϧεςοΫϕϯνϟʔ l"CPVU'J/$z
ɹ FiNC͕ఏڙՄೳͳιϦϡʔγϣϯ 'J/$͕ఏڙ͍ͯ͠ΔαʔϏε FiNCΞϓϦ ʢToC͚ΞϓϦʣ FiNC for Business ʢToB͚αʔϏεʣ FiNC
Fit ʢύʔιφϧδϜʣ FiNC Mall ʢECαΠτʣ
ɹ FiNC͕ఏڙՄೳͳιϦϡʔγϣϯ 'J/$͕ఏڙ͍ͯ͠ΔαʔϏε FiNCΞϓϦ ʢToC͚ΞϓϦʣ FiNC for Business ʢToB͚αʔϏεʣ FiNC
Fit ʢύʔιφϧδϜʣ FiNC Mall ʢECαΠτʣ
ɹ FiNC͕ఏڙՄೳͳιϦϡʔγϣϯ 'J/$ΞϓϦ͕ఏڙ͍ͯ͠ΔαʔϏε ϝσΟΞ ϥΠϑϩά νϟοτϘοτ αϒεΫϦϓγϣϯ
ɹ FiNC͕ఏڙՄೳͳιϦϡʔγϣϯ 'J/$ΞϓϦ͕ఏڙ͍ͯ͠ΔαʔϏε ϝσΟΞ ϥΠϑϩά νϟοτϘοτ αϒεΫϦϓγϣϯ
ɹ FiNC͕ఏڙՄೳͳιϦϡʔγϣϯ 'J/$ΞϓϦ͕ఏڙ͍ͯ͠ΔαʔϏε ϝσΟΞ • 20181݄͔Βελʔτ • ϔϧεέΞؔ࿈ͷهࣄΛܝࡌ͍ͯ͠Δ
՝ ݁ہͲΜͳײ͡ͷهࣄ͕͍͍ͷʁ ϥΠλʔ
՝ • ݸʑͷίϯςϯπͷCTRɾ͓ؾʹೖΓɾࡏ࣌ؒΘ͔Δ • ͰશମతʹͲΜͳίϯςϯπ͕έΔͷ͔ײ֮తʹ͔͠Θ͔Βͳ͍
ղܾࡦ • ͲΜͳ୯ޠ͕ೖͬͨهࣄͩͱέ͍͢ͷ͔Λఆྔతʹग़͢
UGJEGΛͬͯΈͨ
UGJEGͱʁ • tf-idfͱʁ • Term Frequency Inverse Document Frequencyͷུ •
จষͷத͔ΒಛޠΛநग़͜ͱ͕Ͱ͖Δ • tf-idfΛ͏ཧ༝ • ʢݹయతͳख๏͚ͩͲʣ • ܭࢉ͍͢͠ • આ໌͍͢͠ • ͺͬͱग़ͤΔ
UGJEGͷϩδοΫ • tfɿରจষͷର୯ޠͷग़ݱճ ɹɹ/ ରจষͷશͯͷ୯ޠͷग़ݱճ ɹˠͦͷ୯ޠ͕ͦͷจষʹͲΕ͚ͩଟ͘ग़ݱ͍ͯ͠Δ͔ • idfɿlog(૯จষ / ର୯ޠ͕ग़ݱ͢Δจষʣ+
1 ɹɹˠͦͷ୯ޠ͕શମͷจষʹରͯ͠ͲΕ͚ͩϨΞ͔ • tf-idfɿtf * idf
45&1 ϩʔσʔλ ࡞ ܗଶૉղੳ tf-idfΛ ܭࢉ
ϩʔσʔλͷ࡞ จষ༰ จষ1 ࢲPythonͷຊΛಡΉ จষ2 ࢲຊ͕͖ͩ จষ3 ࢲPythonͷຊΛಡΈͳ͕Β PythonͷίʔυΛॻ͘
ܗଶૉղੳ จষ༰ จষ1 ࢲPythonͷຊΛಡΉ จষ2 ࢲຊ͕͖ͩ จষ3 ࢲPythonͷຊΛಡΈͳ͕Β PythonͷίʔυΛॻ͘
ܗଶૉղੳ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Pythonίʔυ
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF ࢲ 1/5 = 0.2 Python 2/5 = 0.4 ຊ 1/5 = 0.2 ίʔυ 1/5 = 0.2
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF ࢲ 1/5 = 0.2 Python 2/5 = 0.4 ຊ 1/5 = 0.2 ίʔυ 1/5 = 0.2 ରจষͷର୯ޠͷग़ݱճ ɹɹ/ ରจষͷશͯͷ୯ޠͷग़ݱճ →ͦͷ୯ޠ͕ͦͷจষʹͲΕ͚ͩଟ͘ग़ݱ͍ͯ͠Δ͔
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58 log(૯จষ / ର୯ޠ͕ग़ݱ͢Δจষʣ+ 1 →ͦͷ୯ޠ͕શମͷจষʹରͯ͠ͲΕ͚ͩϨΞ͔
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF TF-IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 0.20 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 0.63 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 0.20 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58 0.52
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF TF-IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 0.20 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 0.63 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 0.20 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58 0.52 TF * IDF
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF TF-IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 0.20 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 0.63 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 0.20 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58 0.52
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF TF-IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 0.20 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 0.63 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 0.20 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58 0.52 ͜ͷจষͰ Pythonͱ͍͏୯ޠ ͕ಛతʂ
UGJEGͷܭࢉ จষ༰ จষ1 ࢲ Python ຊ จষ2 ࢲ ຊ จষ3
ࢲ Python ຊ Python ίʔυ TF IDF TF-IDF ࢲ 1/5 = 0.2 log2(3/3) + 1 = 1 0.20 Python 2/5 = 0.4 log2(3/2) + 1 = 1.58 0.63 ຊ 1/5 = 0.2 log2(3/3) + 1= 1 0.20 ίʔυ 1/5 = 0.2 log2(3/1) + 1= 2.58 0.52 ͜ͷจষͰ Pythonͱ͍͏୯ޠ ͕ಛతʂ
՝ • ݸʑͷίϯςϯπͷCTRɾ͓ؾʹೖΓɾࡏ࣌ؒΘ͔Δ • ͰશମతʹͲΜͳίϯςϯπ͕ड͚Δͷ͔ײ֮తʹ͔͠Θ͔Βͳ͍
͔ͭͯ͜Μͳ͜ͱ͕͋Γ·ͨ͠ هࣄ༰ KPI هࣄ1 μΠΤοτʹӡಈ͕ॏཁ ྑ͍ هࣄ2 μΠΤοτదͳӡಈͱӫཆɺ ಛʹ࣭ͷ੍ݶ͕ޮՌత ྑ͍
هࣄ3 ࣭ΛμΠΤοτதʹ৯ͨ͘ͳͬͨΒʁ ѱ͍ هࣄ4 ӫཆΛؾʹͯ͠μΠΤοτɺ ӫཆ࣭όϥϯεΑ͘ઁऔ͠Α͏ ѱ͍
͔ͭͯ͜Μͳ͜ͱ͕͋Γ·ͨ͠ هࣄ༰ KPI هࣄ1 μΠΤοτʹӡಈ͕ॏཁ ྑ͍ هࣄ2 μΠΤοτదͳӡಈͱӫཆɺ ಛʹ࣭ͷ੍ݶ͕ޮՌత ྑ͍
هࣄ3 ࣭ΛμΠΤοτதʹ৯ͨ͘ͳͬͨΒʁ ѱ͍ هࣄ4 ӫཆΛؾʹͯ͠μΠΤοτɺ ӫཆ࣭όϥϯεΑ͘ઁऔ͠Α͏ ѱ͍
͔ͭͯ͜Μͳ͜ͱ͕͋Γ·ͨ͠ هࣄ༰ KPI هࣄ1 μΠΤοτʹӡಈ͕ॏཁ ྑ͍ هࣄ2 μΠΤοτదͳӡಈͱӫཆɺ ಛʹ࣭ͷ੍ݶ͕ޮՌత ྑ͍
هࣄ3 ࣭ΛμΠΤοτதʹ৯ͨ͘ͳͬͨΒʁ ѱ͍ هࣄ4 ӫཆΛؾʹͯ͠μΠΤοτɺ ӫཆ࣭όϥϯεΑ͘ઁऔ͠Α͏ ѱ͍ μΠΤοτهࣄ͕ ͍͍Μ͡Όͳ͍ʁ
͔ͭͯ͜Μͳ͜ͱ͕͋Γ·ͨ͠ هࣄ༰ KPI هࣄ1 μΠΤοτʹӡಈ͕ॏཁ ྑ͍ هࣄ2 μΠΤοτదͳӡಈͱӫཆɺ ಛʹ࣭ͷ੍ݶ͕ޮՌత ྑ͍
هࣄ3 ࣭ΛμΠΤοτதʹ৯ͨ͘ͳͬͨΒʁ ѱ͍ هࣄ4 ӫཆΛؾʹͯ͠μΠΤοτɺ ӫཆ࣭όϥϯεΑ͘ઁऔ͠Α͏ ѱ͍ ຊ μΠΤοτهࣄ ྑ͍ͷѱ͍ͷ ͋Δ
UGJEGͩͯ͠ΈΔ هࣄ༰ KPI هࣄ1 μΠΤοτʹӡಈ͕ॏཁ ྑ͍ هࣄ2 μΠΤοτదͳӡಈͱӫཆɺ ಛʹ࣭ͷ੍ݶ͕ޮՌత ྑ͍
هࣄ3 ࣭ΛμΠΤοτதʹ৯ͨ͘ͳͬͨΒʁ ѱ͍ هࣄ4 ӫཆΛؾʹͯ͠μΠΤοτɺ ӫཆ࣭όϥϯεΑ͘ઁऔ͠Α͏ ѱ͍
UGJEGͩͯ͠ΈΔ هࣄ༰ KPI هࣄ1 μΠΤοτ ӡಈ ྑ͍ هࣄ2 μΠΤοτ ӡಈ
ӫཆ ࣭ ྑ͍ هࣄ3 ࣭ μΠΤοτ ѱ͍ هࣄ4 ӫཆ μΠΤοτ ӫཆ ࣭ ѱ͍
UGJEGͩͯ͠ΈΔ هࣄ༰ KPI هࣄ1 μΠΤοτ ӡಈ ྑ͍ هࣄ2 μΠΤοτ ӡಈ
ӫཆ ࣭ ྑ͍ هࣄ3 ࣭ μΠΤοτ ѱ͍ هࣄ4 ӫཆ μΠΤοτ ӫཆ ࣭ ѱ͍
UGJEGͩͯ͠ΈΔ هࣄ༰ KPI هࣄ1 هࣄ2 μΠΤοτ ӡಈ μΠΤοτ ӡಈ ӫཆ
࣭ ྑ͍ هࣄ3 هࣄ4 ࣭ μΠΤοτ ӫཆ μΠΤοτ ӫཆ ࣭ ѱ͍
UGJEGͩͯ͠ΈΔ tf-idf μΠΤοτ ӡಈ ӫཆ ࣭ هࣄ1 هࣄ2 ※KPIྑ͍ 0.54
0.75 0.27 0.27 هࣄ3 هࣄ4 ※KPIѱ͍ 0.56 0 0.58 0.58
UGJEGͩͯ͠ΈΔ tf-idf μΠΤοτ ӡಈ ӫཆ ࣭ هࣄ1 هࣄ2 ※KPIྑ͍ 0.54
0.75 0.27 0.27 هࣄ3 هࣄ4 ※KPIѱ͍ 0.56 0 0.58 0.58 ӡಈͷهࣄ͕ Αͦ͞͏ʂ
ࢪࡦ ྑ͛͞ͳ୯ޠ͔ΒੜίϯςϯπΛ࡞͢Δ
݁Ռ DAUҰਓ͋ͨΓͷPV্͕ʂ
·ͱΊ • tf-idf • PythonͰ؆୯ʹͩ͢͜ͱ͕Ͱ͖Δ • จষͷத͔ΒಛޠΛநग़Ͱ͖Δ • ͬ͘͟ΓͱέΔ/έͳ͍ΩʔϫʔυͷΛ͔ͭΊΔ •
ςΩετͷཁྨͷ࠷ॳͷҰาʹ͓͢͢Ί • ࠓճهࣄͷࣄྫ͕ͩɺϝϧϚΨɾϓογϡ௨ͳͲ Ͱ͑Δͣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ