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
iOSエンジニアのためのNLP基礎
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
640
逆向きUIの世界〜AndroidアプリのRTL言語対応〜
akatsuki174
1
1.1k
私が変えてきたこと、変えなかったこと
akatsuki174
2
1.1k
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
280
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
150
Appleにおけるプライバシーの全容を把握する
akatsuki174
0
6.3k
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
520
オフライン勉強会ぼっち対策
akatsuki174
1
730
Xcode 15の新機能
akatsuki174
0
2.9k
Other Decks in Technology
See All in Technology
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.1k
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
150
生成 AI 実践ガイド (概略版) AIガバナンス編
asei
0
140
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
330
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
240
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
260
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
760
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
120
入門!AWS Blocks
ysuzuki
1
170
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
130
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
130
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
4
580
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Visualization
eitanlees
152
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Typedesign – Prime Four
hannesfritz
42
3.1k
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