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
LT@PythonBeginners沖縄
Search
Aipa
November 17, 2018
Technology
1
970
LT@PythonBeginners沖縄
ここでLTしてきた
https://python-beginners-okinawa.connpass.com/event/106466/
Aipa
November 17, 2018
Tweet
Share
More Decks by Aipa
See All by Aipa
ピンチヒッターです。なにか話します
commander_aipa
0
130
おれたちはいつDXできるのか
commander_aipa
1
78
ウンケーニオキタコワイハナシ
commander_aipa
0
130
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
180
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
150
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
commander_aipa
0
200
Dの意思は神を殺す
commander_aipa
0
100
ファインチューニングがしたい
commander_aipa
0
200
サクッと検索サーバを用意する
commander_aipa
0
210
Other Decks in Technology
See All in Technology
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
270
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.5k
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
200
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
140
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.4k
Git in Team
kawaguti
PRO
3
370
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
300
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
500
プレーリーカードを活用しよう❗❗デジタル名刺交換からはじまるイベント会場交流のススメ
tsukaman
0
150
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
The Invisible Side of Design
smashingmag
302
51k
Speed Design
sergeychernyshev
32
1.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
The Language of Interfaces
destraynor
162
25k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Unsuck your backbone
ammeep
671
58k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Balancing Empowerment & Direction
lara
4
690
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Designing Experiences People Love
moore
142
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Transcript
Python Beginners ԭೄ ΞΠύʔୂ@ླྀٿେֶ
ຊ͓͢Δ͜ͱ
ຊ͓͢Δ͜ͱ • ൪ • σʔλΛ֬ೝ͢Δ͜ͱେࣄ • TF-IDF
ࣗݾհ
ࣗݾհ • ΞΠύʔୂ • ͪΎΒσʔλגࣜձࣾ • PyData.OkinawaڞಉΦʔΨφΠβʔ • ࠷ۙͷΠϕϯτ ࢠڙ͕ੜ·Εͨ
൪
൪ • ࣍ͷεϥΠυͰհ͢Δөըʹ͍ͭͯɺ ͦΕͧΕԿσϏϧϚϯ͔͑ͳ͍͞
σϏϧϚϯ(୯Ґ)ͱ https://twitter.com/1gho/status/936593895453900800
͊͞ɺ͍͑ͯͩ͘͞
ਖ਼ղʢҟೝΊΔʣ -10σϏϧϚϯ 0.2σϏϧϚϯ
Կ͕ݴ͍͍ͨͷ͔ʢҰൠ͚ʣ • ύοέʔδࣅ͗͢ → ٗߴͳςΫχοΫͰ ཕΛΧϞϑϥʔδϡ • ཕΛ౿Ήͱ1࣌ؒͱ100ԁ͕ফ͑ͯͳ͘ ͳΔ →
͍ͬͨͳ͍ • ཕΛࣄલʹճආ͢ΔͨΊͷใ͕΄͍͠
Կ͕ݴ͍͍ͨͷ͔ʢݰਓ͚ʣ • ཕͱࢥ͚ͬͨͲ໘ന͍өըͩͬͨͱ͍͏ύλʔϯΑ͋͘Δ • ΈΜͳBڃөըͷϨϏϡʔதʑͯ͘͠Εͳ͍ • ·ͱΊͨϨϏϡʔΛੳͨ͠WebαΠτ࡞Ζ͏ • ͪͳΈʹͲͬͪΈͨʢ͔ͤͬ͘ͳͷͰ͝հʣ •
σΟηϯτ → ಎ۸ด͡ࠐΊΒΕεϦϥʔͱࢥ͍͖ಥવͷఈਓ • έΠϰϑΟΞʔ → ಎ۸γʔϯ̏ɻέΠϰͱɾɾɾʁ
൪ऴΘΓ • ͱΓ͋͑ͣWebαΠτΛ࡞͍ͬͯ·͢ • BڃөըΛϨϏϡʔ͍ͯ͠ΔϒϩάهࣄΛΫϩʔϧ • ϨϏϡʔهࣄʹϥϕϧʢ໘ന͔ͬͨ or ͭ·Βͳ͔ͬͨʣ •
σʔλ֬ೝ • લॲཧ • Ϟσϧߏங • Vue.jsͰαΠτΛߏங
൪ऴΘΓ • ͱΓ͋͑ͣWebαΠτΛ࡞͍ͬͯ·͢ • BڃөըΛϨϏϡʔ͍ͯ͠ΔϒϩάهࣄΛΫϩʔϧ • ϨϏϡʔهࣄʹϥϕϧʢ໘ന͔ͬͨ or ͭ·Βͳ͔ͬͨʣ •
σʔλ֬ೝ • લॲཧ • Ϟσϧߏங • Vue.jsͰαΠτΛߏங
ͦ͏͍͑ɺࠓ͜ͷձʹࣗવݴޠॲཧͷϓϩ͕͍Δͷ Ͱͳʹ͔ࠔͬͨ͜ͱ͋Δਓฉ͍ͯΈΔͱ͍͍͔͠·ͤΜ ※΅͘ϚαΧϦΛ͍ʹདྷ·ͨ͠ ʮϚαΧϦΛ͑Δ΅͘ʯͷ Πϝʔδਤʢ༧ʣ
ϨϏϡʔهࣄʹϥϕϧ ʢ໘ന͔ͬͨ or ͭ·Βͳ͔ͬͨʣ
ϨϏϡʔهࣄʹϥϕϧ • Ϋϩʔϥʔ࡞ͬͯूΊ͖ͯͨөըͷϨϏϡʔ σʔλʹϥϕϧΛߦ͏ • ϥϕϧͱʁ → ྫ͑ը૾Λ֬ೝͨ͠ͱ͖ ʹೣ or
ೣ͡Όͳ͍ͷᝦΛషΔΠϝʔδ • ػցֶश͢Δͱ͖ʹඞཁʹͳΔ
ͤͬͤͱϥϕϧΛ;Δ 0 → ໘ന͔ͬͨ 1 → ͭ·Βͳ͔ͬͨ
ʢ͜ͷ࡞ۀʣ ͭ·Βͳ͔ͬͨ
ͱΓ͋͑ͣΦϫλʢ࡞ۀ͕ʣ • 5αΠτ͔͠ऩू͍ͯ͠ͳ͍͕هࣄશ෦Ͱ650݅ • ͏ͪ607݅ʹϥϕϧΛ͚ͭΔ͜ͱ͕Ͱ͖ͨ • ʮͭ·Βͳ͔ͬͨʯ374݅ʮ໘ന͔ͬͨʯ233݅ • Γ43݅өըͷϨϏϡʔهࣄͰͳ͔ͬͨ •
͍ۙ͏ͪʹ͜͏͍͏࡞ۀࣗಈͰΓ͍ͨ ʢϥϕϧͱ͔ϨϏϡʔ͡Όͳ͍هࣄআ֎ͱ͔ʣ
Ͷ͘͢ͱ
Ͷ͘͢ͱ • ϨϏϡʔੳͷهࣄ͕ݟ͔ͭΒͳ͍ͷͰɺ Γํ͕Θ͔Βͳ͍ • ࣗવݴޠॲཧͰ͙͙ͬͨΒʮ୯ޠग़ݱසʯɺ ʮTF-IDFʯɺʮFastTextʯͰͳΜ͔͍ͬͯΔ هࣄ͕͋ͬͨ • FastTextਫ਼Αͦ͞͏
Α͠ʂ·ͣ FastTextΛࢼͯ͠ΈΑ͏ʂ
ͦΜͳ࣌ظ͕ ΅͘ʹ͋Γ·ͨ͠
σʔλΛ֬ೝ͠Α͏ • ػցֶशઌߦͯ͠Γ͍ͨؾ࣋ͪΘ͔Δ͕ɺσʔλͲ͏ ͍͏ಛΛ͍࣋ͬͯΔͷ͔ɺ֬ೝͤͣʹΔͱ௧͍ʹ ʢಛʹࣄͰʣ • զʑͷతϞσϧΛ࡞Δ͜ͱ͕తͰͳ͍ɺ ϞσϧΛͬͯͳʹ͔Λղܾ͢Δ͜ͱ͕త • σʔλͷ֬ೝ࡞ۀటष͍͕ɺ͜ͷۀքͰͷట༡ͼਖ਼ٛ
σʔλͷ֬ೝ
σʔλͷ֬ೝ • ͭ·Βͳ͍өըͷϨϏϡʔهࣄͬͯɺ ωΨςΟϒͳΩʔϫʔυ͕ଟ͍ͱࢥ͏ • ·ͣɺจষதʹωΨςΟϒͳΩʔϫʔυ͕ ଘࡏ͍ͯ͠Δ͔ɺϥϕϧຖʹूܭͯ͠ΈΔ
өըͷωΨςΟϒΩʔϫʔυ ʢͷ૾ʣ ͦ͘ɺΫιɺฅɺμϝɺBڃɺCڃɺZڃɺνʔ ϓɺ͍҆ɺ໘ന͘ͳ͍ɺͭ·Βͳ͍ɺস͑Δɺ ςϯϙ͕ѱ͍ɺύΫϦɺ࣌ؒͷແବɺۚฦͤɺ ͍ɺ৸མͪɺύοέʔδٗɺύοέʔδͱ ҧ͏ɺ಄͓͔͍͠ɺ͍͍͚ͭͯͳ͍ɺԋٕ͕Լ खɺΦν͕ͳ͍ɺݟॴ͕ͳ͍
ूܭ݁Ռ • ༧௨ΓɺωΨςΟϒͬ Ά͍ͰɺྨͰ͖ͦ͏ ͳงғؾ • લͷϖʔδʹ͋ͬͨͷʹ ӈਤʹͳ͍୯ޠهࣄʹ ଘࡏ͠ͳ͍୯ޠ •
ωΨςΟϒͳ୯ޠ͕ώο τͨ͠Βʮͭ·Βͳ͔ͬ ͨʯͱ༧ଌͯ͠ΈΔ
ωΨςΟϒͳϫʔυ͚ͩͰ༧ଌͯ͠ΈΔ • ୯ޠΛݕࡧ͢Δ͚ͩͰ 60%ͷਫ਼ • ͜ͷ݁ՌΛϕʔεϥΠϯ ͱͯ͠ਐΊΔ • ϋζϨͷσʔλΛ ֬ೝͯ͠ΈΔ
ϋζϨͷ֬ೝ • ʮͭ·Βͳ͔ͬͨʯͷʹʮͭ·Βͳ͔ͬͨʯͱ༧ଌͰ͖ͳ͍ͷɺ༻ҙͨ͠ωΨςΟ ϒͳ୯ޠʹϚον͠ͳ͔͔ͬͨΒ • ྫʣಀ͍ͯ͠Δύλʔϯʮຊ࡞ඇৗʹ೦ͳࢠͰ͋Δʯɺʮ๙ΊΔͱ͜Ζ͕ͳ ͍ʯɺʮָ͘͠ͳ͍ʯ • Ճ͢Εྑ͍ɻ͕ɺͦͷՃΊΜͲ͍͘͞… •
ʮ໘ന͔ͬͨʯͷʹʮͭ·Βͳ͔ͬͨʯͱ༧ଌͯ͠͠·ͬͨͷɺ༻ҙͨ͠ωΨςΟ ϒͳ୯ޠʹϚονͯ͠͠·͔ͬͨΒ • ϨϏϡʔهࣄʹʮBڃʯͱॻ͍ͯ͠·͚ͬͨͩͰɺʮͭ·Βͳ͔ͬͨʯͱྨͯ͠ ͠·͏ͷ·ͣͦ͏ • ୯७ͳΩʔϫʔυϚονϯάͰճආ͢Δ͜ͱ͍͠ͱࢥ͏
ͪͳΈʹ
ʮ໘ന͔ͬͨʯͷʹʮͭ·Βͳ͔ͬͨʯͱ ༧ଌͨ͠ݪҼΛௐΔ1ྫ
ʮ໘ന͔ͬͨʯͷʹʮͭ·Βͳ͔ͬͨʯͱ ༧ଌͨ͠ݪҼΛௐΔ1ྫ http://rottentaste.blog.fc2.com/blog-entry-23.html#more
http://rottentaste.blog.fc2.com/blog-entry-23.html#more ʮ໘ന͔ͬͨʯͷʹʮͭ·Βͳ͔ͬͨʯͱ ༧ଌͨ͠ݪҼΛௐΔ1ྫ
ͳΔ΄Ͳɾɾɾ ʢϥϕϧ͕ؒҧͬͯͨʣ
σʔλΛ֬ೝ͠Α͏ʢ࠶ܝʣ • ͜͏͍͏͜ͱ͕͋Δ • ͜ΕΛং൫Ͱؾͮ͘ͷ͔ɺੳத൫·ͨ ऴ൫Ͱؾͮ͘ͷ͔ͰɺϦΧόϦͷେม͕͞ ҧ͏ • ͥͻɺػցֶश͢Δ·͑ʹσʔλͷ֬ೝΛ
ͪͳΈʮϩϘΫϩίʯ͖Ͱ͢ ޙ৸མ͔ͪͨ͠Β͋Μ·Γ֮͑ͯͳ͍
Ͷ͘͢ͱ͋͘͠ΐΜ
Ͷ͘͢ͱ͋͘͠ΐΜ • ωΨςΟϒͳϫʔυͰྨͰ͖ͦ͏ͳงғؾͳͷΘ͔ͬͨ • ͔͠͠ɺΩʔϫʔυϚονϯά͚ͩͰ͍͜͠ͱΘ͔ͬͨ • ୯ޠग़ݱසΛ֬ೝͯ͠ɺ্Ґ10Ґ·Ͱϥϕϧຖʹൺֱͨ͠Βɺ ͳʹ͔ಛ͕ݟ͑ͳ͍ͩΖ͏͔ • ଟʮαϝʯ͕༏উ͢Δͱ༧
• ୯ޠग़ݱසͳΜͱͳ݁͘Ռ͕༧Ͱ͖ͯɺ͏·͍͔͘ͳͦ͞ ͏ͳͷͰɺॏΈ͚͢Δ͜ͱ͕Ͱ͖ΔTF-IDFͰ֬ೝͯ͠ΈΑ͏͔
୯ޠग़ݱසͷ֬ೝ
୯ޠग़ݱසͷ֬ೝ • ϨϏϡʔهࣄຖʹ୯ޠͷग़ݱසΛܭࢉ͢Δ • ͭ·Βͳ͍өըͲΜͳ୯ޠ͕ଟ͍͔ͳʁ • scikit-learnͷCountVectorizerΛ͏
݁Ռ • ʮαϝʯʮΤΠϦΞϯʯʮκϯϏʯ্͕Ґ • ͏Μɺͬͯͨ • ωΨςΟϒͬΆ͍୯ޠ্Ґʹ͖ͯͳ͍ • ͲͪΒࣅͨΑ͏ͳ୯ޠ্͕ҐʹฒΜͰ͍Δ •
ΫιөըΛ໘ന͍ͱ͍͍ͬͯΔਓ͕͍ΔͨΊ • ͦͦॳճΫϩʔϧ͍ͯ͠Δϒϩάͷ өըδϟϯϧʹภΓ͕… • ͜ͷใͰʮ໘ന͔ͬͨʯʮͭ·Βͳ͔ͬͨʯΛ͚Δͷͦ͠͏Ͱ͋Δ • ໘ന͘ͳ͍өը_wordͷ8Ґͷʮୂʯͬͯͳʹʁ → ͷϒϩάͷ͍ͤͰ͢
TF-IDFͰ୯ޠॏΈ͚
TF-IDFͬͯͳʹʁ • จষதʹؚ·ΕΔ୯ޠͷॏཁΛධՁ͢Δख ๏ͷ̍ͭ • TF͋ΔυΩϡϝϯτdͷ୯ޠtͷग़ݱස • IDFଟ͘ͷυΩϡϝϯτʹଘࡏ͢Δ୯ޠt ɺυΩϡϝϯτdͰॏཁΛԼ͛Δ
TF-IDFͬͯͳʹʁ http://datanerd.hateblo.jp/entry/2017/09/18/201907
ࣜಡΊͳ͍ http://datanerd.hateblo.jp/entry/2017/09/18/201907 ͋ΔυΩϡϝϯτʹؚ·ΕΔ୯ޠͷ× ͋ΔυΩϡϝϯτʹؚ·ΕΔ୯ޠͷ૯ υΩϡϝϯτͷ૯× ͋Δ୯ޠؚ͕·Ε͍ͯΔυΩϡϝϯτͷ w 5'ˠ5FSN'SFRVFODZɺ୯ޠͷग़ݱස w *%'ˠ*OWFSTF%PDVNFOU'SFRVFODZɺٯจॻස
*%' MPH 5' TF-IDFͬͯͳʹʁ(ྫ: ୯ޠ͕ʮϫχʯͷ߹) ΤΠϦΞϯ✕ ϫχ✕ αϝ✕ ϫχ✕ ×
✕ ͋ΔυΩϡϝϯτ શυΩϡϝϯτ ϫχΛؚΉυΩϡϝϯτ✕ × શυΩϡϝϯτ
TF-IDFΛ͏
TF-IDFΛ͏ʢ݁Ռʣ • өըͱͯ͠ͷಛ্͕Ґʹ͖ͯ ͍Δงғؾ • ͔͠͠ʮͭ·Βͳ͔ͬͨʯ ͱ͍͏ಛʹͳ͍ͬͯͳ͍ ͱࢥ͏ • ͏খखೖΕ͕ඞཁͦ͏
• ampͱ͔urlͳͲͷWebͷϝλޠ Έ͍ͨͳϫʔυετοϓϫʔ υʹՃ • ϒϩάͷओͷλΠτϧ໊ͱ͔ ϒϩάಛ༗ͷ໊ࢺՃͯ͠ ͍͍͔
TF-IDFΛͬͯΈͯ • ಛͬΆ͍୯ޠΛ؆୯ʹूܭɺ֬ೝͰ͖ͯΑ͍ɻߟ͕ḿΔ • TF-IDF͕ߴ͍͚ͭͩ͡Όͳͯ͘ɺதؒɺ͍ͰִؒΛ ༻ҙͯ͠୯ޠ֬ೝ͢Δͷ͍͍͔ • ͬͯͯࢥ͕ͬͨɺҧ͏ϒϩάͷهࣄಉ࢜Λ·ͱΊͯTF-IDF͢ Δͬͯ݁ߏཚͳͷͰɾɾɾʁ •
ͦΕͧΕจମ͕ҧ͏͔Βɺ͋ΔϒϩάͰϙδςΟϒͬΆ͍Ωʔ ϫʔυผϒϩάͰωΨςΟϒʹͳ͍ͬͯΔΜ͡Όͳ͍ͩΖ ͏͔ → ࣍ͷΞΫγϣϯͷࢀߟ
ࡶʢͳʣײʢʣ
ࡶײ • ಓʹσʔλͱ͖߹͏͜ͱͰͳΜͱͳ͘ ࣍ͷΞΫγϣϯ͕ݟ͖͑ͯͨ • ·ͩ·ͩࣗવݴޠॲཧྗ͕Γͳ͍ • BڃϥΠϑΛόϥ৭ʹ͢ΔͨΊʹҾ͖ଓ͖ؤுΔ
None