Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pythonで始める ドキュメント・インテリジェンス入門 / Introduction to ...

Avatar for yag_ays yag_ays
October 15, 2021

Pythonで始める ドキュメント・インテリジェンス入門 / Introduction to Document Intelligence with Python

ビジネス文書をデータ化し構造や内容を理解するアプリケーションはドキュメント・インテリジェンスと呼ばれ、画像処理や自然言語処理といった複数の要素技術を組み合わせて開発する必要があります。何が必要でどう実現すれば良いのかといった第一歩を、Pythonでの具体的な構築事例とともに紹介します。

https://2021.pycon.jp/time-table/?id=273795

Avatar for yag_ays

yag_ays

October 15, 2021
Tweet

More Decks by yag_ays

Other Decks in Programming

Transcript

  1. 2 Ԟా ༟थ Yuki Okuda Recruit → Sansan → Ubie

    @yag_ays ࣗݾ঺հ https://yag-ays.github.io/
  2. © Ubie, Inc. 3 ຊൃදʹ͍ͭͯ • ֓ཁ • υΩϡϝϯτɾΠϯςϦδΣϯεͷ֓ཁͷ঺հ •

    PythonΛ࢖ͬͨ։ൃࣄྫΛ௨ͯ͡ɺඞཁͱͳΔٕज़ཁૉʹ͍ͭͯ঺հ • ࣮ࡍͷαʔϏε։ൃ౳ʹऔΓ૊Ήʹ͋ͨͬͯͷɺൃలతͳ࿩୊΍ؔ࿈τϐοΫΛ঺հ • ର৅ͱ͢Δਓ • OCR΍ը૾ղੳΛ࢖ͬͨΞϓϦέʔγϣϯΛ࡞Γ͍ͨ։ൃऀ • ը૾ॲཧ΍ࣗવݴޠॲཧͷ࣮αʔϏεԠ༻ʹڵຯ͋Δݚڀऀ΍ֶੜ • اۀʹ͓͍ͯυΩϡϝϯτɾΠϯςϦδΣϯεΛར༻࣮ͨ͠αʔϏεͷཱҊ΍ਪਐʹؔΘΔํ • ࢿྉ • GitHub: https://github.com/yagays/di-pyconjp2021
  3. © Ubie, Inc. 4 • ݸਓతͳࢥߟͷ੔ཧͱ৘ใڞ༗ • ࢲࣗ਎͕ݱ৬ͰܞΘ͍ͬͯΔܦݧ͔ΒɺຊλεΫͷ೉͠͞΍Ԟਂ͞ͳͲͷ஌ݟΛڞ༗͍ͨ͠ • ମܥཱͬͨࢿྉ͕ଘࡏͤͣɺࢲࣗ਎͔ͳΓۤ࿑ͨ͠ܦݧ

    • υΩϡϝϯτɾΠϯςϦδΣϯεͱ͍͏֓೦ͷීٴ • υΩϡϝϯτɾΠϯςϦδΣϯεͱ͍͏໊લͱɺ͜ͷ෼໺ࣗମͷೝ஌Λ޿Ί͍ͨ • গ͠Ωϟονʔͳ໊લͰ͸͋Δ͕ɺڞ௨ͷݴ༿͕ੜ·Εͯ࢖ΘΕΕ͹خ͍͠ • औΓ૊Ήاۀ΍ਓ͕૿͑ɺ͜ͷ෼໺͕ൃల͠ɺͦΕʹ·ͭΘΔٕज़తͳ৘ใ΍׆ൃͳٞ࿦͕ग़ ͯ͘ΔΑ͏ͳະདྷΛ࡞Γ͍ͨ • اۀ͝ͱʹಠࣗʹ஌ݟ͕ஷΊΒΕ͍ͯΔঢ়ଶ͔Βɺڞ௨͢ΔཁૉͷOSSԽ΍஌ݟͷڞ༗΁ ຊൃදͷ໨త
  4. © Ubie, Inc. 6 υΩϡϝϯτɾΠϯςϦδΣϯεͷఆٛ The ability to read, understand

    and interpret business documents, collectively referred to as “Document Intelligence” ϏδωεจॻΛಡΈɺཧղ͠ɺղऍ͢ΔೳྗΛɺ૯শͯ͠ʮυΩϡϝϯτɾ ΠϯςϦδΣϯεʯͱݺͼ·͢ “Workshop on Document Intelligence”ΑΓ https://sites.google.com/view/di2019/home
  5. © Ubie, Inc. 7 ৘ใͷഔମͱͯ͠ͷɺൃ࿩͞Εͨݴ༿ɺॻ͖ه͞Εͨॻྨ • ਓͷίϛϡχέʔγϣϯํ๏ • ੠ʹΑΔձ࿩΍ɺจࣈ΍จষ •

    ର࿩ʹΑΔҙࢥૄ௨͕ॏཁ • Ϗδωεͷίϛϡχέʔγϣϯํ๏ • ܗʹ࢒ΔϞϊͱͯ͠ͷॻྨ • ৘ใͷਖ਼֬͞΍ᐆດੑͷഉআ͕ॏཁ
  6. 8 “ϏδωεॻྨΛಡΈɺཧղ͠ɺղऍ͢Δೳྗ”ͱ͸ ੥ٻॻ Ϗδωεॻྨ ߏ଄Խ͞Εͨ৘ใ yyגࣜձࣾ ླ໦࣍࿠ ޚத ͝੥ٻֹۚ 100,000ԁ

    ਺ྔ ୯Ձ ֹۚ 1 ঎඼A 100 700 70,000 2 ঎඼B 30 1,000 30,000 ߹ܭ 100,000 XXגࣜձࣾ ౦ژ౎ઍ୅ా۠ઍ୅ా1-1 ాதҰ࿠ 2021/10/15 • ͜͜Ͱ͸ʮਓ͕ؒ͋Β͔͡ΊఆΊͨߏ଄ʹԊͬͯɺ৘ใΛਖ਼֬ʹऔಘ͢Δػೳʯͱఆٛ͢Δ • ಡΉɿը૾্ʹҹࣈ͞ΕͨจࣈΛɺܭࢉػ͕ѻ͏͜ͱͷͰ͖Δจࣈίʔυͷྻʹม׵Ͱ͖Δ • ཧղɿྻڍ͞Εͨจࣈͷू߹ΛɺݴޠϞσϧ΍ॱং৘ใ͔ΒΤϯςΟςΟ͝ͱʹू໿Ͱ͖Δ • ղऍɿΤϯςΟςΟؒͷ૬ରతͳҐஔؔ܎͔Βɺਓ͕ؒҙਤͨ͠ߏ଄ʹ࠶ߏ੒Ͱ͖Δ OCR͞Εͨจࣈ ੥ٻॻ YYגࣜձࣾ 2021/10/15 ঎඼B ঎඼A 100 ߹ܭ 700 30,000 ాதҰ࿠ ླ໦࣍࿠ޚத ਺ྔ ୯Ձ ֹۚ 30 100,000 70,000
  7. © Ubie, Inc. 9 • छྨ • ੥ٻॻɺྖऩॻɺܖ໿ॻ • ໊ࢗ

    • Ϩγʔτ • ੑ࣭ • PC΍ػցʹΑͬͯ࡞੒͞ΕΔ • ϓϦϯλʔʹΑΓɺࢴ΍ײ೤ࢴʹҹ࡮͞ΕΔ • ఆΊΒΕͨϑΥʔϚοτ͸ແ͍ • هࡌ߲໨͸ఆ·͍ͬͯΔ͕ɺҐஔ͸ൺֱతࣗ༝ • ը૾ͷαΠζ͕ෆఆ • ಺༰ʹΑΓɺෳ਺ϖʔδ΍ॎ௕ʹهड़͞ΕΔ Ϗδωεॻྨͷ۩ମࣄྫͱੑ࣭
  8. © Ubie, Inc. 10 • ೉͕͠͞௚ײతʹཧղͮ͠Β͍෼໺ • ͓ͦΒ࣮͘ࡍʹ΍ͬͨ͜ͱͷͳ͍ιϑτ΢ΣΞΤϯδχΞʹͱͬͯ΋ಉ༷ʢࢲ΋ͦ͏Ͱͨ͠ʣ • ೉͕͠͞ཧղ͞Εͳ͍എܠ

    • ݩʑPCͰ࡞੒͞Εͨ΋ͷͰ͋Γɺ៉ྷͳϑΥϯτ΍ϨΠΞ΢τͰҹࣈ͞Ε͍ͯΔ • ೉͍͠ͷ͸จࣈͷಡΈऔΓͰ͸ͳ͘ɺ୯ޠͷҙຯཧղͱϨΠΞ΢τʹΑΔߏ଄ͷղऍ • ॻྨͷॲཧ͸࣮ࡍͷۀ຿ͱີ઀ʹؔ࿈͕͋ΓɺࣗಈԽ΍ఆܕԽ͕Մೳͦ͏ʹݟ͑Δ • ܭࢉػ͕ಘҙͱ͢Δʮಉ͜͡ͱΛ܁Γฦ͠ߦ͏͜ͱʯ͕௨༻͠ͳ͍ྖҬ • ۙ೥ͷػցֶशͷൃలͱ࣮Ԡ༻ͱൺֱ͞ΕΔ • ࣗಈӡస΍ػց຋༁ͳͲͱൺֱ͢Δͱɺॲཧతʹ͸୯७ͦ͏ʹݟ͑Δ ܭࢉػ͕ॻྨΛॲཧ͢ΔͳΜͯ؆୯ͳΜ͡Όͳ͍ʁ
  9. © Ubie, Inc. 12 ࠓճͷετʔϦʔ • ϨγʔτΛࣗಈతʹಡΈऔͬͯσʔλΛऔಘ͢Δ ΞϓϦέʔγϣϯΛ࡞Δ • Ոܭ฽ΞϓϦͷΑ͏ͳ΋ͷΛ૝ఆ

    • ཁ݅ • ೖྗɿϨγʔτը૾ • ࠨਤͷΑ͏ͳεΩϟϯ͞Εͨ៉ྷͳը૾ • Ϩγʔτͷछྨ͸͜͜Ͱ͸ߟ͑ͳ͍ • ग़ྗɿϨγʔτʹهࡌ͞Ε͍ͯΔ֤छ৘ใ • ߪೖ೔෇΍ߪೖ঎඼໊ɺ߹ܭֹۚͳͲ
  10. © Ubie, Inc. 13 • υΩϡϝϯτɾΠϯςϦδΣϯε͸՝୊ʹΑͬͯඞཁͳ޻ఔ͕େ͖͘มΘΔ • ࠓճ͸Ұ൪γϯϓϧͳ୊ࡐͱલఏ৚݅Λ༻͍ͯઆ໌ • ར༻ٕज़ͷબఆ

    • ͳΔ΂͘खܰʹ࣮ݱͰ͖ΔΑ͏ʹɺOCR͸Ϋϥ΢υϕϯμʔͷAPIαʔϏεΛར༻͢Δ • PythonͰ։ൃΛߦ͏ཧ༝ • ը૾ॲཧ΍จࣈྻॲཧͷػೳ͕ϥΠϒϥϦͱͯ͠ఏڙ͞Εɺ؆୯ʹར༻࣮͠૷Ͱ͖Δ • ػցֶशͱͷ਌࿨ੑͷߴ͞ • ΢ΣϒΞϓϦέʔγϣϯ։ൃ΍ՄࢹԽπʔϧͳͲ։ൃ͢Δ্Ͱͷαϙʔτπʔϧͷ։ൃ͕༰қ ՝୊ઃఆͷഎܠ
  11. © Ubie, Inc. 14 • ࢴ͔Βը૾΁ͷը૾ͷಡΈࠐΈ • ࠓճ͸εΩϟφͰεΩϟϯ͞ΕͨલఏͰͷը૾ॲཧ • ར༻ύοέʔδ:

    Pillow, Numpy • OCRʹΑΔจࣈى͜͠ • ࠓճ͸Google Cloud Vision APIͷจࣈೝࣝAPIΛར༻ • ར༻ύοέʔδ: google-cloud-vision • ։ൃ؀ڥ • ΢ΣϒϕʔεͷΠϯλϥΫςΟϒͳ։ൃ؀ڥɻը૾ͷද͕ࣔ༰қ • ར༻ύοέʔδ: Jupyter Notebook / JupyterLab Pythonʹ͓͚Δٕज़બఆ
  12. © Ubie, Inc. 15 • ը૾ॲཧͷಋೖ • ը૾ͷಡΈࠐΈ • NumpyΛ࢖ͬͯը૾ͷத਎ΛݟΔ

    • OCR • APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠ • OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ • ಡΈऔͬͨจࣈͷ࠲ඪ৘ใ • Vision APIಛ༗ͷOCRͷػೳ ໨࣍ • ৘ใநग़ • ৘ใநग़ͷର৅ͱͳΔཁૉͷ෼ྨ • ਖ਼نදݱʹΑΔ೔෇΍঎඼໊ͷநग़ • ݻ༗දݱநग़ʹΑΔ೔෇΍࣌ؒͷநग़ • จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • จࣈྻͷ૬ରతͳҐஔؔ܎Λ༻͍ͨɺ঎඼ ͝ͱʹߪೖͨ͠ݸ਺ͷநग़ • ࣮૷࣌ͷTips • ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳ Appͷߏங
  13. © Ubie, Inc. 16 • ը૾ॲཧͷಋೖ • ը૾ͷಡΈࠐΈ • NumpyΛ࢖ͬͯը૾ͷத਎ΛݟΔ

    • OCR • APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠ • OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ • ಡΈऔͬͨจࣈͷ࠲ඪ৘ใ • Vision APIಛ༗ͷOCRͷػೳ ໨࣍ • ৘ใநग़ • ৘ใநग़ͷର৅ͱͳΔཁૉͷ෼ྨ • ਖ਼نදݱʹΑΔ೔෇΍঎඼໊ͷநग़ • ݻ༗දݱநग़ʹΑΔ೔෇΍࣌ؒͷநग़ • จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • จࣈྻͷ૬ରతͳҐஔؔ܎Λ༻͍ͨɺ঎඼ ͝ͱʹߪೖͨ͠ݸ਺ͷநग़ • ࣮૷࣌ͷTips • ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳ Appͷߏங
  14. © Ubie, Inc. 17 ը૾ΛಡΈࠐΉ • PillowʹΑΔը૾ಡΈࠐΈ • pngϑΝΠϧͷը૾ΛಡΈࠐΉ •

    ը૾ͷදࣔ • ը૾ϑΝΠϧ͕ಡΈࠐ·Ε͍ͯΔ͜ ͱΛ֬ೝ͢Δ • Jupyter NotebookͰ͸ը૾͕දࣔ͞ ΕΔ
  15. © Ubie, Inc. 18 NumpyΛ࢖ͬͯը૾ͷத਎ΛݟΔ x࣠ y࣠ (0,0) (365,0) (0,390)

    • ը૾ͷத਎Λ֬ೝ͢Δ • NumpyΛ࢖ͬͯଟ࣍ݩ഑ྻʹม׵ • ഑ྻͷத਎ • (ߴ͞, ෯, νϟϯωϧ) (365,390)
  16. © Ubie, Inc. 19 APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠ • [ׂѪ] ४උͱͯ͠ͷGCPͱAPIͷ༗ޮԽ • ެࣜυΩϡϝϯτΛࢀߟ

    • Google Cloud Vision APIʹϦΫΤετ Λ౤͛Δ • ը૾ΛόΠφϦܗࣜͰಡΈࠐΉ • ΫϥΠΞϯτͷΠϯελϯεΛ࡞੒ ͠ɺը૾Λ౤͛Δ • ݴޠώϯτͱͯ͠೔ຊޠΛઃఆ
  17. © Ubie, Inc. 21 ಡΈऔͬͨจࣈͷ࠲ඪ৘ใ • 1จࣈ୯ҐͰಡΈऔͬͨsymbolͷத਎ • propertyɿϝλ৘ใ •

    bounding_boxɿۣܗྖҬ • Vertices: ࠲ඪ • Textɿจࣈྻ • Confidenceɿ֬৴౓ 0 (347, 360) (356, 360) (357, 382) (348, 382) bounding_box[0] bounding_box[1] bounding_box[2] bounding_box[3]
  18. © Ubie, Inc. 22 Vision APIಛ༗ͷOCRͷػೳ block paragraph word symbol

    • Vision APIͰ͸4ͭͷཻ౓ͷಡΈऔΓ݁Ռ͕ར༻Ͱ͖Δ • block > paragraph > word > symbolͷॱͰɺಡΈऔΓ୯Ґ͕ࡉ͔͘ͳΔ
  19. © Ubie, Inc. 23 • ը૾ॲཧͷಋೖ • ը૾ͷಡΈࠐΈ • NumpyΛ࢖ͬͯը૾ͷத਎ΛݟΔ

    • OCR • APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠ • OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ • ಡΈऔͬͨจࣈͷ࠲ඪ৘ใ • Vision APIಛ༗ͷOCRͷػೳ ໨࣍ • ৘ใநग़ • ৘ใநग़ͷର৅ͱͳΔཁૉͷ෼ྨ • ਖ਼نදݱʹΑΔ೔෇΍঎඼໊ͷநग़ • ݻ༗දݱநग़ʹΑΔ೔෇΍࣌ؒͷநग़ • จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • จࣈྻͷ૬ରతͳҐஔؔ܎Λ༻͍ͨɺ঎඼ ͝ͱʹߪೖͨ͠ݸ਺ͷநग़ • ࣮૷࣌ͷTips • ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳ Appͷߏங
  20. © Ubie, Inc. 24 ৘ใநग़ͷର৅ͱͳΔཁૉͷ෼ྨ Θ͔Δ Θ͔Βͳ͍ จࣈྻ͚ͩͰ ΤϯςΟςΟ͕ ඞཁ

    ෆཁ ߲໨໊ͱͷରԠ෇͚͕ ߪೖͨ͠ݸ਺ ֹۚ (߹ܭͳͲ) ॅॴ, ೔෇, ൢചళฮ
  21. © Ubie, Inc. 25 ਖ਼نදݱʹΑΔ೔෇΍঎඼໊ͷநग़ • நग़ର৅ • ೔෇ɺॅॴɺ঎඼໊ͳͲͷɺจࣈྻ୯ମ ͰҙຯΛ࣋ͭ

    • จࣈྻʹରͯ͠ػցతʹॲཧ͢Δ͜ͱ͕ ՄೳͰɺ • ߟ͑ΒΕΔΞϓϩʔν • ਖ਼نදݱͰϧʔϧΛهड़͠நग़ • ࣙॻΛ༻ҙ͠จࣈྻதʹؚ·ΕΔ͔൑ఆ • ݻ༗දݱநग़ϞσϧΛ༻͍ͯநग़
  22. © Ubie, Inc. 26 ݻ༗දݱநग़ʹΑΔ೔෇΍࣌ؒͷநग़ • ݻ༗දݱநग़ Named Entity Extraction

    • จࣈྻʹؚ·ΕΔಛఆͷݻ༗දݱΛநग़ ͢ΔࣗવݴޠॲཧͷΞϓϩʔν • ਓ໊΍૊৫໊ɺֹۚɺ࣌ؒͳͲ • Spacy + GiNZAΛ༻͍ͨݻ༗දݱநग़ • Spacy͸ۙ೥ྲྀߦΓͷࣗવݴޠॲཧύο έʔδ • GiNZAΛ࢖͏͜ͱͰ͋Β͔͡Ίެ։͞Ε ͍ͯΔσʔλΛ༻ֶ͍ͯश͞Εͨػցֶ शϞσϧΛར༻Ͱ͖Δ
  23. © Ubie, Inc. 27 จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • ߲໨஋͚ͩͰ͸Կͷ஋͔͕෼͔Βͳ͍ • ˇ6,100 ͱ

    ߹ܭ ͕ؔ࿈͋Δͱඥ෇͚Δ ඞཁ͕͋Δ • ߟ͑ΒΕΔΞϓϩʔν • Ϩγʔτ͸1ߦͷதʹ߲໨ͱ஋Λهࡌ͞ ΕΔͱԾఆ͢Δ • ʮ߹ܭʯͱ࠲ඪతʹಉҰߦͷจࣈΛൈ͖ ग़͢ • ਺ࣈΛ߹ܭʹରԠ͢Δֹۚͱ͢Δ
  24. © Ubie, Inc. 28 จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • ߲໨஋͚ͩͰ͸Կͷ஋͔͕෼͔Βͳ͍ • ˇ6,100 ͱ

    ߹ܭ ͕ؔ࿈͋Δͱඥ෇͚Δ ඞཁ͕͋Δ • ߟ͑ΒΕΔΞϓϩʔν • Ϩγʔτ͸1ߦͷதʹ߲໨ͱ஋Λهࡌ͞ ΕΔͱԾఆ͢Δ • ʮ߹ܭʯͱ࠲ඪతʹಉҰߦͷจࣈΛൈ͖ ग़͢ • ਺ࣈΛ߹ܭʹରԠ͢Δֹۚͱ͢Δ ߲໨஋
  25. © Ubie, Inc. 29 จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • ߲໨஋͚ͩͰ͸Կͷ஋͔͕෼͔Βͳ͍ • ˇ6,100 ͱ

    ߹ܭ ͕ؔ࿈͋Δͱඥ෇͚Δ ඞཁ͕͋Δ • ߟ͑ΒΕΔΞϓϩʔν • Ϩγʔτ͸1ߦͷதʹ߲໨ͱ஋Λهࡌ͞ ΕΔͱԾఆ͢Δ • ʮ߹ܭʯͱ࠲ඪతʹಉҰߦͷจࣈΛൈ͖ ग़͢ • ਺ࣈΛ߹ܭʹରԠ͢Δֹۚͱ͢Δ ߲໨஋ ߲໨໊ ߲໨஋
  26. © Ubie, Inc. 30 จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ 1. “߹ܭ”ͱॻ͔Εͨ୯ޠΛൈ͖ग़ ͠ɺͦͷྖҬͷ࠲ඪΛಘΔ 2. ಘΒΕͨy࠲ඪؒͷը૾Λ੾Γ

    ग़͠ɺͦ͜ʹ߹ܭֹ͕ۚॻ͔Ε ͍ͯΔ͜ͱΛ֬ೝ͢Δ 3. ର৅ൣғʹؚ·Ε͍ͯΔจࣈ ͷΈΛൈ͖ग़͠ɺͦΕΒͷจࣈ Λ݁߹͢Δ
  27. © Ubie, Inc. 31 จࣈྻͷ૬ରతͳҐஔؔ܎Λ༻͍ͨɺ঎඼͝ͱʹߪೖͨ͠ݸ਺ͷநग़ • จࣈྻ͚ͩͰ͸ΤϯςΟςΟ͕෼͔Βͳ͍ • ݸ਺Ͱ͋Δ͜ͱ͸ɺจࣈྻ͚ͩͰ͸൑ఆ Ͱ͖ͳ͍

    • ਓؒ͸पғͷจ຺͔Βྨਪ͍ͯ͠Δ ߏ଄Խ͞Εͨهࡌํ๏ • ҉໧తʹදܗࣜʹͳ͍ͬͯΔ • ߦͱྻʹͦΕͧΕҙຯ͕͋Δ • ߟ͑ΒΕΔΞϓϩʔν • ϨγʔτͷλΠϓతʹɺ߲໨໊ͱֹۚͷ ؒʹ͸ݸ਺͕ॻ͔ΕΔͱԾఆ͢Δ • ߹ܭֹۚͱಉ͡Α͏ʹɺ਺஋Λऔಘ͢Δ • (ࠓճ͸ίʔυ͸ׂѪ)
  28. © Ubie, Inc. 32 จࣈྻͷ૬ରతͳҐஔؔ܎Λ༻͍ͨɺ঎඼͝ͱʹߪೖͨ͠ݸ਺ͷநग़ ߲໨໊ • จࣈྻ͚ͩͰ͸ΤϯςΟςΟ͕෼͔Βͳ͍ • ݸ਺Ͱ͋Δ͜ͱ͸ɺจࣈྻ͚ͩͰ͸൑ఆ

    Ͱ͖ͳ͍ • ਓؒ͸पғͷจ຺͔Βྨਪ͍ͯ͠Δ ߏ଄Խ͞Εͨهࡌํ๏ • ҉໧తʹදܗࣜʹͳ͍ͬͯΔ • ߦͱྻʹͦΕͧΕҙຯ͕͋Δ • ߟ͑ΒΕΔΞϓϩʔν • ϨγʔτͷλΠϓతʹɺ߲໨໊ͱֹۚͷ ؒʹ͸ݸ਺͕ॻ͔ΕΔͱԾఆ͢Δ • ߹ܭֹۚͱಉ͡Α͏ʹɺ਺஋Λऔಘ͢Δ • (ࠓճ͸ίʔυ͸ׂѪ) No.1 2 3 ݸ਺ ֹۚ
  29. © Ubie, Inc. 33 • ը૾ॲཧͷಋೖ • ը૾ͷಡΈࠐΈ • NumpyΛ࢖ͬͯը૾ͷத਎ΛݟΔ

    • OCR • APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠ • OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ • ಡΈऔͬͨจࣈͷ࠲ඪ৘ใ • Vision APIಛ༗ͷOCRͷػೳ ໨࣍ • ৘ใநग़ • ৘ใநग़ͷର৅ͱͳΔཁૉͷ෼ྨ • ਖ਼نදݱʹΑΔ೔෇΍঎඼໊ͷநग़ • ݻ༗දݱநग़ʹΑΔ೔෇΍࣌ؒͷநग़ • จࣈྻͱ࠲ඪ৘ใΛ༻͍ͨ߹ܭֹۚͷநग़ • จࣈྻͷ૬ରతͳҐஔؔ܎Λ༻͍ͨɺ঎඼ ͝ͱʹߪೖͨ͠ݸ਺ͷநग़ • ࣮૷࣌ͷTips • ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳ Appͷߏங
  30. © Ubie, Inc. 34 ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳAppͷߏங • ը૾ͱจࣈͱ࠲ඪΛߦ͖དྷ͢Δ • ։ൃ͢Δ্Ͱ͸ɺݩը૾ͱOCR͞Εͨจ ࣈ͓Αͼ࠲ඪΛ্ख͘௚ײతʹѻ͑Δ͔

    ͕ॏཁʹͳΔ • PlotlyʹΑΔՄࢹԽ • Plotly͸ΠϯλϥΫςΟϒͳάϥϑඳࣸ ϥΠϒϥϦ • ը૾Λഎܠʹઃఆ͠ɺOCRͰಡΈऔͬͨ จࣈΛ࠲ඪ্ͷҐஔʹඳࣸ͢Δ https://zenn.dev/yag_ays/articles/1142050914d510
  31. © Ubie, Inc. 36 • ࠓճͷετʔϦʔͱ࣮૷σϞͰՄೳʹͳͬͨ͜ͱ • ಛఆͷϨγʔτը૾ʹରͯ͠ࢦఆͨ͠ཁૉͷ৘ใΛऔಘͰ͖Δ • ࣮ࡍͷαʔϏεల։Λߟ͑ͨͱ͖ʹੜ͡Δ՝୊

    • ༷ʑͳϑΥʔϚοτͷϨγʔτʹରԠ͍ͨ͠ • Ϣʔβ͕खೖྗ͢ΔखؒΛۃྗແ͍ͨ͘͠ • ͢΂ͯͷϨγʔτͷλΠϓΛऩू͠໢ཏతʹύλʔϯΛه ड़͢Δ͜ͱ͸ෆՄೳ • εϚʔτϑΥϯͷΧϝϥ͔ΒͷࡱӨʹରԠ͍ͨ͠ • Ϣʔβ͕ࡱӨ͢Δ = ը૾ͷ࣭ΛίϯτϩʔϧͰ͖ͳ͍ • ஫໨͢ΔϨγʔτͷྖҬΛೝࣝ͠੾Γग़͠ɺ֯౓΍ํ޲ Λ৘ใநग़͠΍͍͢Α͏ิਖ਼͢Δඞཁ͕͋Δ ͔͜͜Βઌͷ൚༻తͳϨγʔτಡΈऔΓαʔϏεʹ޲͚ͯ ௨ৗͷը૾ ܏͖࿪Μͩը૾ Ө͕ೖΓࠐΜͩը૾ ଞͷϨγʔτ͕ ೖΓࠐΜͩը૾
  32. © Ubie, Inc. 37 ଟ͘ͷαʔϏεʹ͓͍ͯඞཁͱ͞ΕΔશମͷྲྀΕ ը૾ ߏ଄Խ͞Εͨ৘ใ • ը૾ͷϊΠζআڈ •

    ௒ղ૾ • ஫໨ྖҬͷநग़ • ࿪Έิਖ਼ • ܏͖ิਖ਼ • จࣈݕग़ • จࣈೝࣝ • ୯ޠ΍จষͷ࠶ߏ੒ • ݻ༗දݱநग़ • ߲໨໊ͱ߲໨஋ͷରԠ෇͚ • දͷநग़ͱղੳ • ςϯϓϨʔτ൑ఆ • OCRΤϥʔิਖ਼ ৘ใநग़ จࣈಡΈऔΓ OCR લॲཧ ޙॲཧ
  33. © Ubie, Inc. 38 • End-to-EndͰ1ͭͷػցֶशϞσϧ͕͢΂ͯΛแׅ͢Δະདྷ͸·ͩઌͷ࿩ʢݸਓతͳҙݟʣ • OCR΍৘ใநग़ͳͲෳ਺ͷٕज़Λ૊Έ߹Θͤͳ͍ͱɺҰͭͷγεςϜΛ࡞Δ͜ͱ͕Ͱ͖ͳ͍ • લஈͷOCRॲཧͷਫ਼౓͕ɺޙஈͷ৘ใநग़ͷॲཧͷਫ਼౓ʹେ͖͘ґଘ͢Δঢ়ଶ

    • ҰํͰɺݸʑͷٕज़͕σΟʔϓϥʔχϯάʹΑΓਫ਼౓޲্͍ͯ͠Δ • จࣈಡΈऔΓਫ਼౓Λ޲্ͤ͞ΔΑ͏ͳը૾ͷิਖ਼ٕज़ʢ௒ղ૾ʣ • ೔ຊޠͷݴޠϞσϧతʹલޙͷจ຺Λߟྀͨ͠OCR • จࣈྻʹՃ͑ͯը૾্ͷ࠲ඪ৘ใΛಉ࣌ʹ૊ΈࠐΜͩॻྨ൛BERT (Layout LM) ݸʑͷٕज़͕·ͩ·ͩൃల్্ *1 https://speakerdeck.com/sansandsoc/recent-topics-on-character-super-resolution *2 https://speakerdeck.com/line_devday2019/naver-clova-ocr *3 Xu, Yiheng, et al. "Layoutlm: Pre-training of text and layout for document image understanding." Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020.
  34. © Ubie, Inc. 39 • Ϋϥ΢υϕϯμʔ֤ࣾʹΑΓɺ൚༻తͳจॻղੳͷαʔϏε͕ఏڙ͞Ε࢝Ί͍ͯΔ • GCP: Document AI

    • Amazon: Amazon Textract • Microsoft: Azure Computer Vision • ߴ౓ͳγεςϜߏஙͷॿ͚ʹͳΔ͕ɺґવͱͯ͠λεΫʹର͢ΔυϝΠϯ஌ࣝͱ։ൃ͸ඞཁ • ڞ௨ԽͰ͖ͳ͍ΠϯλʔϑΣΠε෦෼ͷ։ൃ • ը૾ͷಡΈࠐΈɺநग़݁ՌͷॲཧͳͲ • αʔϏεݻ༗ͷࣄલ஌ࣝΛͲΕ͚ͩ֎෦αʔϏεͱ࿈ܞͰ͖Δͷ͔ʁͱ͍͏՝୊ • ྫʣॻྨʹهࡌ͞Ε͏Δ঎඼໊ͷϦετ • ਫ਼౓ධՁͱͦͷղऍ • αʔϏεશମͰͲͷఔ౓ͷ͔֬Β͠͞Ͱ݁Ռ͕ಘΒΕΔͷ͔ʁͱ͍͏ධՁํ๏ • Ͳ͜·Ͱਫ਼౓Λ্͛Ε͹঎༻తʹར༻ՄೳʹͳΔ͔ͱ͍ͬͨղऍͱ൑அ Ϋϥ΢υϕϯμʔʹΑΔ൚༻తͳղੳAPIͷఏڙͱར༻
  35. © Ubie, Inc. 41 • υΩϡϝϯτɾΠϯςϦδΣϯεͱ͍͏෼໺ͷ঺հ • “ϏδωεจॻΛಡΈɺཧղ͠ɺղऍ͢Δೳྗ” • Ϗδωεʹ͓͚Δ৘ใ఻ୡͷखஈͱͯ͠ͷॻྨ

    • ਓ޻஌ೳ͕͜Ε͚ͩ੮רͨ͠ݱࡏͰ΋ɺະͩʹ਺ଟ͘ͷνϟϨϯδ͕࢒͞ΕͨྖҬ • ϨγʔτಡΈऔΓͷࣄྫΛ௨ͨ͡Ұ࿈ͷྲྀΕͷ঺հ • PythonΛར༻ͨ͠ը૾ͷಡΈࠐΈ΍OCRɺ৘ใநग़ • ը૾ॲཧ΍จࣈྻॲཧɺՄࢹԽɺػցֶशͱͷ਌࿨ੑͷߴ͞ • υΩϡϝϯτΠϯςϦδΣϯεͷ͜Ε͔Βͷల๬ͷ঺հ • ࠓճ঺հٕͨ͠ज़͸਺ଟ͘ͷॲཧͷதͷ΄ΜͷҰ෦ • Ϋϥ΢υϕϯμʔʹΑΓ൚༻తͳٕज़͕ఏڙ͞Εͯ΋ɺ։ൃऀ͕औΓ૊Ή༨஍͸େ͖͘࢒ͬͯ ͍Δ ·ͱΊ
  36. 42 We Are Hiring!!! • UbieͰ͸ΤϯδχΞΛઈࢍ࠾༻தʂ • ػցֶशΤϯδχΞ • σʔλΤϯδχΞ,

    σʔλΞφϦετ • ιϑτ΢ΣΞΤϯδχΞ, etc. • υΩϡϝϯτɾΠϯςϦδΣϯεͷαʔϏε։ൃΛ Ұॹʹ΍ͬͯ͘ΕΔํΛืू͍ͯ͠·͢ 🙏 • ·ͣ͸ؾܰʹΧδϡΞϧ໘ஊ͠·͠ΐ͏ • ࣄۀ΍૊৫ɺ։ൃମ੍ͳͲԿͰ΋͓౴͑͠·͢ https://note.com/ubie/n/n454a0d04a1eb