Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LT@PythonBeginners沖縄
Search
Aipa
November 17, 2018
Technology
1
980
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
Gemini CLI x gcloud CLI x Chrome DevTools MCP で、Google Cloudに乗っているアプリケーションのバグFixをいい感じにする
commander_aipa
0
62
ピンチヒッターです。なにか話します
commander_aipa
0
140
おれたちはいつDXできるのか
commander_aipa
1
84
ウンケーニオキタコワイハナシ
commander_aipa
0
140
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
200
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
160
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
commander_aipa
0
210
Dの意思は神を殺す
commander_aipa
0
110
ファインチューニングがしたい
commander_aipa
0
210
Other Decks in Technology
See All in Technology
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
340
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
420
学習データって増やせばいいんですか?
ftakahashi
2
300
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
110
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
270
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.4k
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
590
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
1.8k
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
700
eBPFとwaruiBPF
sat
PRO
4
2.5k
文字列の並び順 / Unicode Collation
tmtms
3
520
Overture Maps Foundationの3年を振り返る
moritoru
0
170
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
For a Future-Friendly Web
brad_frost
180
10k
The Cult of Friendly URLs
andyhume
79
6.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Become a Pro
speakerdeck
PRO
31
5.7k
Side Projects
sachag
455
43k
KATA
mclloyd
PRO
32
15k
[SF Ruby Conf 2025] Rails X
palkan
0
510
What's in a price? How to price your products and services
michaelherold
246
12k
Statistics for Hackers
jakevdp
799
230k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
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