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
950
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
110
おれたちはいつDXできるのか
commander_aipa
1
62
ウンケーニオキタコワイハナシ
commander_aipa
0
110
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
160
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
120
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
commander_aipa
0
190
Dの意思は神を殺す
commander_aipa
0
93
ファインチューニングがしたい
commander_aipa
0
190
サクッと検索サーバを用意する
commander_aipa
0
200
Other Decks in Technology
See All in Technology
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.3k
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
180
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
セキュリティの民主化は何故必要なのか_AWS WAF 運用の 10 の苦悩から学ぶ
yoh
1
150
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
740
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
970
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
220
Agentic Workflowという選択肢を考える
tkikuchi1002
1
510
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
6
740
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
140
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Why Our Code Smells
bkeepers
PRO
337
57k
GitHub's CSS Performance
jonrohan
1031
460k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Thoughts on Productivity
jonyablonski
69
4.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How STYLIGHT went responsive
nonsquared
100
5.6k
Embracing the Ebb and Flow
colly
86
4.7k
It's Worth the Effort
3n
185
28k
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