Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
iOSエンジニアのためのNLP基礎
Search
akatsuki174
September 17, 2017
Technology
2.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOSエンジニアのためのNLP基礎
iOSDC2017での登壇資料です。
akatsuki174
September 17, 2017
More Decks by akatsuki174
See All by akatsuki174
逆向きUIの世界 〜iOSアプリのRTL言語対応〜
akatsuki174
1
710
逆向きUIの世界〜AndroidアプリのRTL言語対応〜
akatsuki174
1
1.2k
私が変えてきたこと、変えなかったこと
akatsuki174
2
1.1k
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
300
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
160
Appleにおけるプライバシーの全容を把握する
akatsuki174
0
6.4k
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
530
オフライン勉強会ぼっち対策
akatsuki174
1
750
Xcode 15の新機能
akatsuki174
0
2.9k
Other Decks in Technology
See All in Technology
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
120
人間はどの意思決定を手放せるのか
kawasima
15
8k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
20k
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
520
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.9k
Genieを崇めよ
kameitomohiro
0
170
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
130
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2.8k
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.2k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
1k
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
330
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
580
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Six Lessons from altMBA
skipperchong
29
4.5k
The SEO identity crisis: Don't let AI make you average
varn
0
560
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Transcript
iOSΤϯδχΞͷͨΊͷ NLPجૅ @akatsuki174
ࣗݾհ • ਢ౻ຘ • iOSΤϯδχΞ • גࣜձࣾZaimॴଐ • iOSDC 2017ίΞελοϑ
• Twitter, Qiita, SlideShare, Github, SpeakerDeck →akatsuki174
ࠓͷεϥΠυ ɾSpeakerdeckͷϦϯΫΛઌఔTwitterͰྲྀ͠·ͨ͠ ɾݟͮΒ͍ɺޙͰݟฦ͍͕ͨ͋͠Εͪ͜Βࢀর ɹΑΖ͓͘͠ئ͍͠·͢ ʢ࣌ؒͳ͍ͷͰεϥΠυαΫαΫਐΊ·͢ʣ ΞΧϯτ @akatsuki174Ͱ͢
ࠓͷεϥΠυ ※iOS11ͷग़͖ͯ·͕͢ɺެ։͞Ε͍ͯΔใΛ ݩʹεϥΠυΛ࡞͍ͬͯ·͢ɻ
ࢲͱࣗવݴޠॲཧ ɾେֶͷଔۀݚڀͰΏΔΏΔ1ؒʢॏཁޠఆʣ ɾ࠷ॳͷձࣾͰ2,3ϲ݄ʢτϐοΫఆʣ ɾ2ࣾͰΏΔΏΔยखؒʢݕࡧνϡʔχϯάʣ
͜ͷηογϣϯͷత ɾNLP APIͲͷΑ͏ͳͷͳͷ͔ͬͯΒ͏ ɾࣗવݴޠॲཧʹগ͠ͰڵຯΛ࣋ͬͯΒ͏
͜ͷηογϣϯͷେ NLP APIΛઆ໌ͭͭͦ͠ͷཪଆͰΘΕ͍ͯΔ ࣗવݴޠॲཧͷٕज़ʹ͍ͭͯհ͠·͢
ͦͦࣗવݴޠॲཧͬͯʁ
ࣗવݴޠͱ ʮਓ͕͓ؒޓ͍ʹίϛϡχέʔγϣϯΛߦ͏ͨΊͷ ࣗવൃੜతͳݴޠʯ by Wikipedia 㱻ਓݴޠʢϓϩάϥϛϯάݴޠʣͳͲ https://ja.wikipedia.org/wiki/ࣗવݴޠ
ࣗવݴޠॲཧͱ ʮਓ͕ؒৗతʹ͍ͬͯΔࣗવݴޠΛίϯϐϡʔλʹ ॲཧͤ͞ΔҰ࿈ͷٕज़Ͱ͋ΓɺਓೳͱݴޠֶͷҰʯ by Wikipedia https://ja.wikipedia.org/wiki/ࣗવݴޠॲཧ
ࣗવݴޠॲཧͷ׆༻ྫ ɾػց༁ ɾ͔ͳࣈม ɾରγεςϜʢνϟοτϘοτʣ ɾใநग़ɺใݕࡧ
ࣗવݴޠॲཧͷશମ૾ େنσʔλ࣌ʹٻΊΒΕΔࣗવݴޠॲཧ https://www.slideshare.net/pfi/ss-11474303
ࣗવݴޠॲཧͷશମ૾ େنσʔλ࣌ʹٻΊΒΕΔࣗવݴޠॲཧ https://www.slideshare.net/pfi/ss-11474303 ΈΜͳͷେ͖ͳ ܗଶૉղੳ ୯ޠׂͷҰ
ࣗવݴޠॲཧͷશମ૾ େنσʔλ࣌ʹٻΊΒΕΔࣗવݴޠॲཧ https://www.slideshare.net/pfi/ss-11474303 NLP API͕ѻ͏ ൣғ͜͜ΒΜ
WWDC2017Ͱͷ ηογϣϯ༰ʹ͍ͭͯ
[WWDC 2017] Natural Language Processing and your Apps ɾϑΝʔετύʔςΟΞϓϦͰͲͷΑ͏ͳ׆༻͕͞ΕΔ͔ ɾࣗવݴޠॲཧͷجૅతͳઆ໌
ɾNLP APIͱ ɾNLP API׆༻ྫ ɾNLP APIΛ͏ϝϦοτ ɾσόοά࣌ͷώϯτ
[WWDC 2017] Natural Language Processing and your Apps ɾϑΝʔετύʔςΟΞϓϦͰͲͷΑ͏ͳ׆༻͕͞ΕΔ͔ ɾࣗવݴޠॲཧͷجૅతͳઆ໌
ɾNLP APIͱ ɾNLP API׆༻ྫ ɾNLP APIΛ͏ϝϦοτ ɾσόοά࣌ͷώϯτ
Natural Language Processing and your Apps / https://developer.apple.com/videos/play/wwdc2017/208/ iMessageΛ։͘ ݻ༗໊ࢺ͕มީิ
ʹग़ͯ͜ͳ͍
Natural Language Processing and your Apps / https://developer.apple.com/videos/play/wwdc2017/208/ χϡʔεΞϓϦΛ։͘ ͖ͬ͞ม͠Α͏ͱ
ͨ͠ݻ༗໊ࢺؚ͕·Ε ͍ͯΔχϡʔεΛಡΉ
Natural Language Processing and your Apps / https://developer.apple.com/videos/play/wwdc2017/208/ iMessageʹΔ ͖ͬ͞ग़ͯ͜ͳ͔ͬͨ
ݻ༗໊ࢺ͕ม ީิʹʂʂ
ͦͷଞηογϣϯ༰ʹؔ͢Δ ৄ͍͠ใQiitaͰɻ
͔͜͜ΒNLP APIʹԊͬͯ ࣗવݴޠॲཧͦͷͷʹ͍ͭͯ ͍ͨ͠ͱࢥ͍·͢ɻ
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़ ຊޠඇରԠ
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़
ݴޠఆ ɾԿΛ͢Δʹͯ͠ݴޠ͕Θ͔Βͳ͚ΕԿͰ͖ͳ͍ ɾͦͷͨΊʢݴޠͷఆ͕ඞཁͳ߹ʣҰ൪࠷ॳʹ ɹߦΘΕΔλεΫ ɾจࣈN-gramΛ׆༻ͯ͠ఆΛߦ͏͜ͱ͕ଟ͍༷ࢠ
N-gramʹΑΔݴޠఆ ɾݴޠఆͩͬͯͦΜͳ؆୯͡Όͳ͍ ɾɾಉ͡ޠɺޠ܈ͷݴޠΑ͘ࣅ͍ͯΔ ɾͦ͜ͰN-gramͷొ ɾNจࣈ(or N୯ޠ)͝ͱʹ۠Γɺͦͷմ͕ͲͷݴޠͰΑ͘ ɹݟΒΕΔ͔Λఆʢ㲈ྨʣ
จࣈN-gramʹΑΔݴޠఆͷྫ ɾN = 1 ɹcafé ʢϑϥϯεޠʣ ɹˠ ӳޠʹʮéʯͱ͍͏දهͳ͍͔Β… etc ɾN
= 2 ɹthe peopleʢӳޠʣɹ ɹˠʮthʯͱ͍͏ฒͼӳޠʹଟ͍͕υΠπޠʹগͳ͘… etc
iOSʹ͓͚Δݴޠఆ iOS11Ͱ৽ొ ݴޠίʔυͷจࣈྻͰग़ྗ͞ΕΔ
ɾʮHelloʯͱ͍͏จࣈΛݴޠఆ͢Δͱ”it”͕ฦͬͯ͘Δ ɾɾ͔͠͠”en”ͱ͍͏Մೳੑ͋Γ͏Δ ↓ ༧Ίݴޠ͕Θ͔͍ͬͯΔͳΒͪ͜Β͔ΒݴޠΛࢦఆͯ͠ ͋͛ͨํ͕ྑ͍ ؾΛ͚ͭΔ͖͜ͱ
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़
ʮτʔΫϯʯʮτʔΫϯԽʯ ɾτʔΫϯʢ㲈ࣈ۟ʣ ɹςΩετதͷ୯ޠͱ۟ಡͷ͜ͱ ɾτʔΫϯԽʢ㲈ࣈ۟ղੳʣʢ㱭 ܗଶૉղੳʣ ɹࣗવݴޠϓϩάϥϛϯάݴޠͳͲͷจࣈྻΛղੳͯ͠ ɹτʔΫϯΛಘΔ͜ͱ ɹ˞ܗଶૉղੳͷղੳରࣗવݴޠͷΈ
iOSʹ͓͚ΔτʔΫφΠζ
ຊޠʹઓʂ
·͋͜Μͳ͜ͱ͋ΔΑͶ…ʁ
ࡶஊɿίϯύΠϥ͕ίʔυΛʮཧղʯ͢Δʹ ࣈ۟ղੳɺߏจղੳɺ࣮ߦίʔυੜͳͲͷաఔΛܦͯ ίϯύΠϥίʔυΛղऍ͢Δ
ࡶஊɿίϯύΠϥ͕ίʔυΛʮཧղʯ͢Δʹ ࣈ۟ղੳͷաఔͰιʔείʔυΛϓϩάϥϜ্ͷ ࠷খ୯Ґʢҙຯͷ͋Δ୯Ґʣʹׂ͢Δ ྫɿwhile (abc < 10) { abc +=
1 } (͜ͷྫจڐ͍ͯͩ͘͠͞) while / ( / abc / < / 10 / ) / { / abc / += / 1 / } /* hoge */ ͳͲͷίϝϯτҰմͱͯ͠ѻ͏
ࡶஊɿίϯύΠϥ͕ίʔυΛʮཧղʯ͢Δʹ ߏจղੳͷաఔͰɺ༩͑ΒΕͨτʔΫϯྻ͔Βߏจنଇʹ ͕ͨͬͯ͠ߏจΛղੳ͢Δ 1 + 3 * ( 9 -
3 ) + - *
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़
ࢺλά͚ ɾ୯ޠʹରͯ͠ࢺΛ͚͍ͭͯ͘͜ͱ ɾ׆༻ྫʢࣙॻΞϓϦʣɿςΩετதͷ͋Δ୯ޠ͕ ɹಈࢺͳͷ໊͔ࢺͳͷ͔͕Θ͔͍ͬͯΕ ɹΑΓదͳ༁ΛৼΔ͜ͱ͕Ͱ͖Δɹ
ͲͷΑ͏ʹࢺΛܾఆͯ͠Δʁ ɾܗଶૉతͳख͕͔Γ͔Β ɹhappiness → ܗ༰ࢺ, establishment → ໊ࢺ ɾ౷ޠʢ㲈ߏจʣతͳख͕͔Γ͔Β ɹӳޠͰܗ༰ࢺ໊ࢺͷલɺbeಈࢺͷޙʹஔ͔ΕΔ
ɹ͜ͱ͕ଟ͍ɺͳͲ ɾҙຯతͳख͕͔Γ͔Β ɹ໊ࢺͱɺਓɺॴɺࣄͷ໊લͰ͋ΔɺͳͲ
iOSʹ͓͚Δλά͚
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़
ϨϯϚԽ ࣙॻͷݟग़͠ޠΛநग़͢Δॲཧ ྫɿpresided → presideʢաڈܗ͔Βݱࡏܗʣ ɹɹhours → hourʢෳܗ͔Β୯ܗʣ
iOSʹ͓͚ΔϨϯϚԽ աڈܗ͔Βݱࡏܗʹͳ͍ͬͯΔ খจࣈʹͳ͍ͬͯͳ͍
NLP APIͷॲཧͷྲྀΕ ݴ ޠ ఆ τ ʛ Ϋ ϯ
Խ ࢺ λ ά ͚ Ϩ ϯ Ϛ Խ ݻ ༗ ද ݱ ந ग़
ݻ༗දݱநग़ ɾݻ༗໊ࢺʢਓ໊ɺ໊ʣɺ࣌ؒදݱʢɺ࣌ࠁʣͳͲ ɹΛςΩετ͔Βநग़͢Δٕज़ ɾςΩετʹ͓͍ͯݻ༗දݱॏཁใͳͷͰ ɹใநग़νϟοτϘοτͳͲͷରγεςϜʹ͓͍ͯ ɹ׆༻͞Ε͍ͯΔ
ݻ༗දݱநग़ͷख๏ ɾࣝϕʔεख๏ ɾ౷ܭతख๏
ࣝϕʔεख๏ ɾنଇʢύλʔϯʣΛਓखͰ࡞͠ɺͦΕʹͯ·Δ ɹͷΛநग़͢Δ ɹྫɿ໊ࢺʴʮ͞Μʯˠਓ໊ ɹɹɹ໊ࢺʴʮࢢʯˠ໊ ɾنଇΛཏతʹߏங͠Α͏ͱ͢Δͱലେͳίετ͕͔͔Δ
౷ܭతख๏ ɾڭࢣ͋ΓֶशΛͤ͞ɺநग़نଇΛࣗಈֶश͢ΔΑ͏ʹ͢Δ ɾSVMʢSupport Vector Machine / ࣝผؔʣCRF ɹʢConditional Random Fields
/ ࣝผϞσϧʣ͕༗໊
iOSʹ͓͚Δݻ༗දݱநग़ joinNamesΛઃఆ͍ͯ͠ΔͷͰ ෳ߹ޠͰநग़Մʂ
·ͱΊ
·ͱΊ ɾNLP APIཪଆͷࣗવݴޠॲཧΛҙࣝ͠ͳͯ͘खܰʹ ɹ͏͜ͱ͕Ͱ͖Δ ɾࣗવݴޠॲཧԞਂָ͍ͯ͘͠ʂʂʂ
ิɿؔ࿈ࢿྉҰཡ ɾNLP APIͰ͍Ζ͍Ζࢼͯ͠Έͨʢۙެ։ʣ ɹʢNDAͷؔͰʣ ɾNatural Language APIͱͦͷཪଆΛ͘[શ൛] https://speakerdeck.com/akatsuki174/natural-language- apitosofalseli-ce-wosi-ku-wan-quan-ban ɾࣗવݴޠॲཧͱΞϓϦ
http://qiita.com/akatsuki174/items/9f273ecfd29245a9f39d
ऴΘΓɻ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͋ͱɺϦδΣΫτίϯདྷͯͶɻ
དྷͦ͏ͳ࣭ͱճ ※͋͘·Ͱࢲͷ༧ͱߟ͑Ͱ͋Γɺ ճͷਖ਼֬ੑอূ͠·ͤΜɻ
NLP APIͲ͜Ͱ͏ͷʁ ͍͍࣭Ͱɺ͍࣭͠Ͱ͢Ͷɻ ͿͬͪΌ͚ϩʔΧϧͰࣗવݴޠॲཧΛΔ໘ͦΜͳ ͳ͍ͱࢥ͍·͢ɻ Ͱ͕͢ɺ͋͑ͯڍ͛Δͱͨ͠Β࣍ͷϝϦοτ͕͋Δͱࢥ͍· ͢ɻ
ϩʔΧϧͰNLPΛΔϝϦοτ ɾΦϑϥΠϯͰ͑Δ ɾɾจষೖྗ͕සൟʹൃੜ͢ΔΞϓϦͳΒ෦ʹࣙॻ࣋ͬͯ ɹɹNLP APIΛ͍͍͔ͬͯ ɾɾݴޠఆ͔͠Θͳ͍໘ͳΒɺΘ͟Θ͟αʔόαΠυ ɹɹ͔Βݺͳ͍͍ͯ͘ͷྑ͍…͔ʁ ɾΩʔϘʔυΞϓϦͳΒࠓ·ͰΑΓॲཧָʹॻ͚Δ͔ʁ
ߟ͑ΔͳɺՄೳੑΛײ͡Ζ i M e s s a g e N
e w s NLPͰॲཧͨ͠ͷΛڞ༗͢Δ෦
ߟ͑ΔͳɺՄೳੑΛײ͡Ζ i M e s s a g e N
e w s NLPͰॲཧͨ͠ͷΛڞ༗͢Δ෦ y o u r a p p