$30 off During Our Annual Pro Sale. View Details »

[X-Tech] 音声・言語処理を使ったエンドユーザー向けサービスを少人数で開発する

[X-Tech] 音声・言語処理を使ったエンドユーザー向けサービスを少人数で開発する

Yoshiyuki Kakihara

March 13, 2018
Tweet

More Decks by Yoshiyuki Kakihara

Other Decks in Technology

Transcript

  1. Ի੠ɾݴޠॲཧΛ࢖ͬͨΤϯυϢʔβʔ
    ޲͚αʔϏεΛগਓ਺Ͱ։ൃ͢Δ
    δϣΠζגࣜձࣾ ֟ݪ঵೭

    View Slide

  2. Twitter: y15a_

    View Slide

  3. 5FSSB5BML
    "*ӳޠεϐʔΩϯάΞϓϦ

    View Slide

  4. ACTFL 2017
    Audience
    Award

    View Slide

  5. ࠾఺෇͖ͷεϐʔΩϯάΞϓϦ

    View Slide

  6. ಛ௃
    • Ի੠͖ͭνϟοτϘοτ

    • ৬छɾۀछɾࢼݧผͷϩʔϧϓϨΠϯά

    • ൃԻɺϦεχϯάɺจ๏ͳͲ߲໨ผͷධՁγεςϜ

    • ࡶஊϚγϯͰ͸ͳ͘ɺϛογϣϯܕ

    • ݸਓ޲͚ʹ΋ग़ͯ͠·͕͢ɺ࠷ֶۙߍɾاۀݚम޲͚͕৳ͼͯ·͢

    View Slide

  7. ιϑτ΢ΣΞΤϯδχΞίʔε
    • ࢓༷ͷٞ࿦ɺίʔυϨϏϡʔɺͳͲͷձ࿩Ϩοε
    ϯ

    • 90ͷγφϦΦ

    • ωΠςΟϒͷιϑτ΢ΣΞΤϯδχΞ͕ࢀը

    • ←͸Πϯϑϥ԰͞Μͱͷંি

    View Slide

  8. ίʔνϯάػೳ
    • ൃԻͷχΨςΛࣗಈతʹղੳ

    • ۤखͳԻૉʢࢠԻ/฼ԻʣΛಛఆ

    • ϦΞϧλΠϜϑΟʔυόοΫ෇͖ͷൃԻυϦϧΛ
    ֤ਓ޲͚ʹࣗಈੜ੒

    View Slide

  9. Ի੠ΛؚΉੜσʔλ
    ਪఆӳޠྗ
    ڭࡐ/՝୊σʔλ
    ਪ࿦Τϯδϯ
    ਪનΤϯδϯ
    ֶशΞΫςΟϏςΟ
    ύʔιφϥΠζ͞Εͨڭࡐ
    ίʔνϯάػೳͷϑϩʔ

    View Slide

  10. ελʔτΞοϓʹߜΔ
    • ࠾༻ʢ૊৫ͮ͘Γʣɾٕज़։ൃɾΞϓϦ։ൃɾࣄۀ։ൃΛಉ࣌ʹ΍Δ

    • ΍Δ͜ͱΛݫબ͢Δ

    • ΞʔΩςΫνϟ΋ՄೳͳݶΓγϯϓϧʹ

    • ӡ༻ɾܧଓ։ൃΛϥΫʹ

    • ͱ͍ͬͯઃܭʹ࣌ؒΛ͔͚ͯ΋͍ΒΕͳ͍

    View Slide

  11. +
    WebϓϩηεɺWorkerϓϩηεɺ
    ΩϡʔɺΦʔτεέʔϧɺRDBɺcron
    S3ɺEC2ɺLambdaɺPolly

    View Slide

  12. S3
    • આ໌ෆཁ

    • େྔͷԻ੠σʔλΛஔ͔ͤͯ΋Β͍ͬͯ·͢

    View Slide

  13. Lambda
    • Ի੠ܥͷલॲཧ

    • WebϓϩηεΛհ͞ͳ͍Ͱ࢖͑Δͷ͕خ͍͠

    View Slide

  14. Amazon Polly
    • Ի੠߹੒

    • ΈΜͳ஌ͬͯΔͱࢥ͍·͕͢ඇৗʹΠΠͰ͢

    • XMLͰࡉ੍͔͍ޚ͕Ͱ͖Δͷ΋ྑ͍

    • ͓͍҆ʢຊ౰ʹ͍͍ͷʁʣ

    • NNʹΑΔ͞ΒͳΔ඼࣭޲্ָ͕͠Έ

    View Slide

  15. EC2
    • ݴޠॲཧܥͷαϒγεςϜ

    • ݴޠϞσϧɺύʔαͳͲͳͲ

    • 1ϓϩηεͰRAMΛ਺ेGB࢖ͬͨΓɺσΟεΫ͕ॏཁͩͬͨΓ -> Webϓ
    ϩηεʢ=Herokuʣʹ͸ஔ͚ͳ͍

    • ΋ͪΖΜֶशʹ΋

    • HerokuͱϦʔδϣϯἧ͓͑ͯ͘ͱḿΔ

    View Slide

  16. Ի੠ จࣈྻ
    ϝλσʔλ
    ಠࣗϓϩτίϧ

    View Slide

  17. Finite State Machine
    AIͷঢ়ଶᶃ
    AIͷঢ়ଶᶄ AIͷঢ়ଶᶅ
    • εςʔτϚγϯ

    • Ϣʔβʔൃ࿩ΛؚΉಛఆͷτϦΨʹΑ
    ΓભҠ

    • ΋ͪΖΜɺແཧͳભҠΛ͢ΔΘ͚ʹ͸
    ͍͔ͳ͍ʢձ࿩͕੒Γཱͨͳ͍ʣ

    • ঢ়ଶભҠͷ൑ఆϚγϯͷຏ͖͜Έͱ੍
    ࡞πʔϧɾΦϖϨʔγϣϯ͕؊

    View Slide

  18. ϓϩτίϧઃܭํ਑
    • Ϣʔβ/ηογϣϯݸผͷঢ়ଶ͸ʢՄೳͳݶΓʣΫϥΠΞϯταΠυ

    • จࣈྻ to จࣈྻ

    • ্ه̎ͭΛकΔ͜ͱͰ௨ৗͷHTTPͱ࣮ͯ͠૷͕Մೳ

    • ঢ়ଶભҠͷ൑அʹඞཁͳจ຺৘ใ͸͋Β͔͡Ίॲཧˠ౎౓DB͔ΒಡΈग़
    ͠

    • ී௨ͷΞϓϦతʹ࣮૷Ͱ͖Δʂ

    View Slide

  19. ౰ॳɺର߅Ҋͩͬͨ΋ͷ
    • Websocket + Duplex Protocol Ͱ࣮૷

    • Node.js? ͍΍͍΍TornadoͰ͠ΐʂ

    • ஗ԆΛ࠷খʹͰ͖Δ = ϦΞϧͷձ࿩ͬΆ͍

    • αʔόʔଆͷϓϩηεʢRAMʣͰঢ়ଶΛอ࣋͢Δඞཁ͋Γ

    • ͦ΋ͦ΋ֶशऀʹ௿஗Ԇ͸ඞཁͳ͔ͬͨ = ։ൃෛՙ͚ͩਹΉ

    • ෆ࠾༻

    View Slide

  20. ൃԻධՁ
    • Ի੠ೝࣝʹ࢖͏ԻڹϞσϧΛվ଄

    • ׬શʹΫϥΠΞϯτʢεϚϗʣ্Ͱಈ͔ͯ͠·͢

    • C++ϥΠϒϥϦʹJava/Swift͔ΒόΠϯυ

    • Ϩεϙϯεྑ͠ɺΠϯϑϥෛՙۃখʢӡ༻΋ඞཁͳ͠ʂʣ

    • Statelessͳର࿩ϓϩτίϧ/ΞʔΩςΫνϟͱͷ૬ੑ΋Α͠

    View Slide

  21. ͱ͜Ζ͕

    View Slide

  22. ͜͜·Ͱͷ·ͱΊ
    • Heroku + AWS ͷ૊Έ߹Θͤ

    • ઃܭɾ࣮૷Λ޻෉ͯ͠ɺग़དྷΔ͚ͩΠϯϑϥͰۤ࿑͠ͳ͍Α͏ʹ

    • ࠓޙ͸ɺϒϥ΢βରԠͷͨΊʹαʔόαΠυͷߏ੒ΛΑΓް͘

    • ࣗવݴޠॲཧʹ࢖͏΋Ζ΋ΖͷDevOps΋ؤு͍͖͍ͬͯͨ

    View Slide

  23. ࣗવݴޠॲཧɺษڧձ΍ͬͯ·͢
    • େֶͰ࢖͏ڭՊॻΛ಄͔Β

    • https://joyz.connpass.com

    • ݪஶ͸ӳޠͰ͕͢ɺҙ༁ͨ͠ࢿྉ
    Λٞ࿦͠ͳ͕Βͳ͍͖ͧͬͯ·͢

    • ࣍ճ͸φΠʔϒϕΠζʹΑΔηϯν
    ϝϯτղੳ

    View Slide

  24. View Slide

  25. View Slide