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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sugaya takehiro
September 12, 2018
Technology
930
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
みんなのPython勉強会#38登壇資料 tf-idfを使ったグロースハック
sugaya takehiro
September 12, 2018
Other Decks in Technology
See All in Technology
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
170
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
630
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.3k
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
190
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
130
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
550
Lightning近況報告
kozy4324
0
210
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
150
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
110
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
440
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
210
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
860
Into the Great Unknown - MozCon
thekraken
41
2.6k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Abbi's Birthday
coloredviolet
2
8.1k
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Ͱ؆୯ʹͩ͢͜ͱ͕Ͱ͖Δ • จষͷத͔ΒಛޠΛநग़Ͱ͖Δ • ͬ͘͟ΓͱέΔ/έͳ͍ΩʔϫʔυͷΛ͔ͭΊΔ •
ςΩετͷཁྨͷ࠷ॳͷҰาʹ͓͢͢Ί • ࠓճهࣄͷࣄྫ͕ͩɺϝϧϚΨɾϓογϡ௨ͳͲ Ͱ͑Δͣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ