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
akatsuki174
September 17, 2017
Technology
2
2.1k
iOSエンジニアのためのNLP基礎
iOSDC2017での登壇資料です。
akatsuki174
September 17, 2017
Tweet
Share
More Decks by akatsuki174
See All by akatsuki174
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
180
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
84
Appleにおけるプライバシーの全容を把握する
akatsuki174
0
5.6k
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
450
オフライン勉強会ぼっち対策
akatsuki174
1
640
Xcode 15の新機能
akatsuki174
0
2.8k
AndroidにもSelect Photosがやってきた
akatsuki174
0
1.3k
Famm Android改善記
akatsuki174
0
380
Flutterアプリ開発にネイティブコードはどこまで求められるのか
akatsuki174
2
4.9k
Other Decks in Technology
See All in Technology
TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?
mnakabayashi
0
190
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
160
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
原則から考える保守しやすいComposable関数設計
moriatsushi
3
480
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
340
vLLM meetup Tokyo
jpishikawa
1
250
Whats_new_in_Podman_and_CRI-O_2025-06
orimanabu
3
180
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
240
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
110
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
430
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
24
8.8k
実践! AIエージェント導入記
1mono2prod
0
110
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing for humans not robots
tammielis
253
25k
Being A Developer After 40
akosma
90
590k
Optimizing for Happiness
mojombo
379
70k
Documentation Writing (for coders)
carmenintech
71
4.9k
Designing for Performance
lara
609
69k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Reviewing Like a Champion
maltzj
524
40k
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