ビジネス文書をデータ化し構造や内容を理解するアプリケーションはドキュメント・インテリジェンスと呼ばれ、画像処理や自然言語処理といった複数の要素技術を組み合わせて開発する必要があります。何が必要でどう実現すれば良いのかといった第一歩を、Pythonでの具体的な構築事例とともに紹介します。
https://2021.pycon.jp/time-table/?id=273795
PythonͰ࢝ΊΔυΩϡϝϯτɾΠϯςϦδΣϯεೖ2021/10/15Ubieגࣜձࣾ @yag_ays
View Slide
2Ԟా ༟थYuki OkudaRecruit → Sansan → Ubie@yag_aysࣗݾհhttps://yag-ays.github.io/
© Ubie, Inc. 3ຊൃදʹ͍ͭͯ• ֓ཁ• υΩϡϝϯτɾΠϯςϦδΣϯεͷ֓ཁͷհ• PythonΛͬͨ։ൃࣄྫΛ௨ͯ͡ɺඞཁͱͳΔٕज़ཁૉʹ͍ͭͯհ• ࣮ࡍͷαʔϏε։ൃʹऔΓΉʹ͋ͨͬͯͷɺൃలతͳؔ࿈τϐοΫΛհ• ରͱ͢Δਓ• OCRը૾ղੳΛͬͨΞϓϦέʔγϣϯΛ࡞Γ͍ͨ։ൃऀ• ը૾ॲཧࣗવݴޠॲཧͷ࣮αʔϏεԠ༻ʹڵຯ͋Δݚڀऀֶੜ• اۀʹ͓͍ͯυΩϡϝϯτɾΠϯςϦδΣϯεΛར༻࣮ͨ͠αʔϏεͷཱҊਪਐʹؔΘΔํ• ࢿྉ• GitHub: https://github.com/yagays/di-pyconjp2021
© Ubie, Inc. 4• ݸਓతͳࢥߟͷཧͱใڞ༗• ࢲ͕ࣗݱ৬ͰܞΘ͍ͬͯΔܦݧ͔ΒɺຊλεΫͷ͠͞Ԟਂ͞ͳͲͷݟΛڞ༗͍ͨ͠• ମܥཱͬͨࢿྉ͕ଘࡏͤͣɺࢲ͔ࣗͳΓۤ࿑ͨ͠ܦݧ• υΩϡϝϯτɾΠϯςϦδΣϯεͱ͍͏֓೦ͷීٴ• υΩϡϝϯτɾΠϯςϦδΣϯεͱ͍͏໊લͱɺ͜ͷࣗମͷೝΛΊ͍ͨ• গ͠Ωϟονʔͳ໊લͰ͋Δ͕ɺڞ௨ͷݴ༿͕ੜ·ΕͯΘΕΕخ͍͠• औΓΉاۀਓ͕૿͑ɺ͜ͷ͕ൃల͠ɺͦΕʹ·ͭΘΔٕज़తͳใ׆ൃͳ͕ٞग़ͯ͘ΔΑ͏ͳະདྷΛ࡞Γ͍ͨ• اۀ͝ͱʹಠࣗʹݟ͕ஷΊΒΕ͍ͯΔঢ়ଶ͔Βɺڞ௨͢ΔཁૉͷOSSԽݟͷڞ༗ຊൃදͷత
5υΩϡϝϯɾτΠϯςϦδΣϯεͱ
© 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
© Ubie, Inc. 7ใͷഔମͱͯ͠ͷɺൃ͞Εͨݴ༿ɺॻ͖ه͞Εͨॻྨ• ਓͷίϛϡχέʔγϣϯํ๏• ʹΑΔձɺจࣈจষ• ରʹΑΔҙࢥૄ௨͕ॏཁ• Ϗδωεͷίϛϡχέʔγϣϯํ๏• ܗʹΔϞϊͱͯ͠ͷॻྨ• ใͷਖ਼֬͞ᐆດੑͷഉআ͕ॏཁ
8“ϏδωεॻྨΛಡΈɺཧղ͠ɺղऍ͢Δೳྗ”ͱٻॻϏδωεॻྨ ߏԽ͞Εͨใyyגࣜձࣾླ࣍ ޚத͝ٻֹۚ 100,000ԁྔ ୯Ձ ֹۚ1 A 100 700 70,0002 B 30 1,000 30,000߹ܭ 100,000XXגࣜձࣾ౦ژઍా۠ઍా1-1ాதҰ2021/10/15• ͜͜Ͱʮਓ͕ؒ͋Β͔͡ΊఆΊͨߏʹԊͬͯɺใΛਖ਼֬ʹऔಘ͢Δػೳʯͱఆٛ͢Δ• ಡΉɿը૾্ʹҹࣈ͞ΕͨจࣈΛɺܭࢉػ͕ѻ͏͜ͱͷͰ͖ΔจࣈίʔυͷྻʹมͰ͖Δ• ཧղɿྻڍ͞Εͨจࣈͷू߹ΛɺݴޠϞσϧॱংใ͔ΒΤϯςΟςΟ͝ͱʹूͰ͖Δ• ղऍɿΤϯςΟςΟؒͷ૬ରతͳҐஔ͔ؔΒɺਓ͕ؒҙਤͨ͠ߏʹ࠶ߏͰ͖ΔOCR͞ΕͨจࣈٻॻYYגࣜձࣾ2021/10/15BA100߹ܭ700 30,000ాதҰླ࣍ޚதྔ୯Ձֹۚ30100,000 70,000
© Ubie, Inc. 9• छྨ• ٻॻɺྖऩॻɺܖॻ• ໊• Ϩγʔτ• ੑ࣭• PCػցʹΑͬͯ࡞͞ΕΔ• ϓϦϯλʔʹΑΓɺࢴײࢴʹҹ͞ΕΔ• ఆΊΒΕͨϑΥʔϚοτແ͍• هࡌ߲ఆ·͍ͬͯΔ͕ɺҐஔൺֱతࣗ༝• ը૾ͷαΠζ͕ෆఆ• ༰ʹΑΓɺෳϖʔδॎʹهड़͞ΕΔϏδωεॻྨͷ۩ମࣄྫͱੑ࣭
© Ubie, Inc. 10• ͕͠͞ײతʹཧղͮ͠Β͍• ͓ͦΒ࣮͘ࡍʹͬͨ͜ͱͷͳ͍ιϑτΣΞΤϯδχΞʹͱͬͯಉ༷ʢࢲͦ͏Ͱͨ͠ʣ• ͕͠͞ཧղ͞Εͳ͍എܠ• ݩʑPCͰ࡞͞ΕͨͷͰ͋Γɺ៉ྷͳϑΥϯτϨΠΞτͰҹࣈ͞Ε͍ͯΔ• ͍͠ͷจࣈͷಡΈऔΓͰͳ͘ɺ୯ޠͷҙຯཧղͱϨΠΞτʹΑΔߏͷղऍ• ॻྨͷॲཧ࣮ࡍͷۀͱີʹؔ࿈͕͋ΓɺࣗಈԽఆܕԽ͕Մೳͦ͏ʹݟ͑Δ• ܭࢉػ͕ಘҙͱ͢Δʮಉ͜͡ͱΛ܁Γฦ͠ߦ͏͜ͱʯ͕௨༻͠ͳ͍ྖҬ• ۙͷػցֶशͷൃలͱ࣮Ԡ༻ͱൺֱ͞ΕΔ• ࣗಈӡసػց༁ͳͲͱൺֱ͢Δͱɺॲཧతʹ୯७ͦ͏ʹݟ͑Δܭࢉػ͕ॻྨΛॲཧ͢ΔͳΜͯ؆୯ͳΜ͡Όͳ͍ʁ
11!!! Α͘Θ͔Βͳ͍͕ɺͱΓ͋͑ͣͬͯΈΑ͏ !!!
© Ubie, Inc. 12ࠓճͷετʔϦʔ• ϨγʔτΛࣗಈతʹಡΈऔͬͯσʔλΛऔಘ͢ΔΞϓϦέʔγϣϯΛ࡞Δ• ՈܭΞϓϦͷΑ͏ͳͷΛఆ• ཁ݅• ೖྗɿϨγʔτը૾• ࠨਤͷΑ͏ͳεΩϟϯ͞Εͨ៉ྷͳը૾• Ϩγʔτͷछྨ͜͜Ͱߟ͑ͳ͍• ग़ྗɿϨγʔτʹهࡌ͞Ε͍ͯΔ֤छใ• ߪೖߪೖ໊ɺ߹ܭֹۚͳͲ
© Ubie, Inc. 13• υΩϡϝϯτɾΠϯςϦδΣϯε՝ʹΑͬͯඞཁͳఔ͕େ͖͘มΘΔ• ࠓճҰ൪γϯϓϧͳࡐͱલఏ݅Λ༻͍ͯઆ໌• ར༻ٕज़ͷબఆ• ͳΔ͘खܰʹ࣮ݱͰ͖ΔΑ͏ʹɺOCRΫϥυϕϯμʔͷAPIαʔϏεΛར༻͢Δ• PythonͰ։ൃΛߦ͏ཧ༝• ը૾ॲཧจࣈྻॲཧͷػೳ͕ϥΠϒϥϦͱͯ͠ఏڙ͞Εɺ؆୯ʹར༻࣮͠Ͱ͖Δ• ػցֶशͱͷੑͷߴ͞• ΣϒΞϓϦέʔγϣϯ։ൃՄࢹԽπʔϧͳͲ։ൃ͢Δ্Ͱͷαϙʔτπʔϧͷ։ൃ͕༰қ՝ઃఆͷഎܠ
© Ubie, Inc. 14• ࢴ͔Βը૾ͷը૾ͷಡΈࠐΈ• ࠓճεΩϟφͰεΩϟϯ͞ΕͨલఏͰͷը૾ॲཧ• ར༻ύοέʔδ: Pillow, Numpy• OCRʹΑΔจࣈى͜͠• ࠓճGoogle Cloud Vision APIͷจࣈೝࣝAPIΛར༻• ར༻ύοέʔδ: google-cloud-vision• ։ൃڥ• ΣϒϕʔεͷΠϯλϥΫςΟϒͳ։ൃڥɻը૾ͷද͕ࣔ༰қ• ར༻ύοέʔδ: Jupyter Notebook / JupyterLabPythonʹ͓͚Δٕज़બఆ
© Ubie, Inc. 15• ը૾ॲཧͷಋೖ• ը૾ͷಡΈࠐΈ• NumpyΛͬͯը૾ͷதΛݟΔ• OCR• APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠• OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ• ಡΈऔͬͨจࣈͷ࠲ඪใ• Vision APIಛ༗ͷOCRͷػೳ࣍• ใநग़• ใநग़ͷରͱͳΔཁૉͷྨ• ਖ਼نදݱʹΑΔ໊ͷநग़• ݻ༗දݱநग़ʹΑΔ࣌ؒͷநग़• จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• จࣈྻͷ૬ରతͳҐஔؔΛ༻͍ͨɺ͝ͱʹߪೖͨ͠ݸͷநग़• ࣮࣌ͷTips• ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳAppͷߏங
© Ubie, Inc. 16• ը૾ॲཧͷಋೖ• ը૾ͷಡΈࠐΈ• NumpyΛͬͯը૾ͷதΛݟΔ• OCR• APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠• OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ• ಡΈऔͬͨจࣈͷ࠲ඪใ• Vision APIಛ༗ͷOCRͷػೳ࣍• ใநग़• ใநग़ͷରͱͳΔཁૉͷྨ• ਖ਼نදݱʹΑΔ໊ͷநग़• ݻ༗දݱநग़ʹΑΔ࣌ؒͷநग़• จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• จࣈྻͷ૬ରతͳҐஔؔΛ༻͍ͨɺ͝ͱʹߪೖͨ͠ݸͷநग़• ࣮࣌ͷTips• ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳAppͷߏங
© Ubie, Inc. 17ը૾ΛಡΈࠐΉ• PillowʹΑΔը૾ಡΈࠐΈ• pngϑΝΠϧͷը૾ΛಡΈࠐΉ• ը૾ͷදࣔ• ը૾ϑΝΠϧ͕ಡΈࠐ·Ε͍ͯΔ͜ͱΛ֬ೝ͢Δ• Jupyter NotebookͰը૾͕දࣔ͞ΕΔ
© Ubie, Inc. 18NumpyΛͬͯը૾ͷதΛݟΔx࣠y࣠(0,0)(365,0)(0,390)• ը૾ͷதΛ֬ೝ͢Δ• NumpyΛͬͯଟ࣍ݩྻʹม• ྻͷத• (ߴ͞, ෯, νϟϯωϧ)(365,390)
© Ubie, Inc. 19APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠• [ׂѪ] ४උͱͯ͠ͷGCPͱAPIͷ༗ޮԽ• ެࣜυΩϡϝϯτΛࢀߟ• Google Cloud Vision APIʹϦΫΤετΛ͛Δ• ը૾ΛόΠφϦܗࣜͰಡΈࠐΉ• ΫϥΠΞϯτͷΠϯελϯεΛ࡞͠ɺը૾Λ͛Δ• ݴޠώϯτͱͯ͠ຊޠΛઃఆ
© Ubie, Inc.20OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ
© 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]
© Ubie, Inc. 22Vision APIಛ༗ͷOCRͷػೳblock paragraph word symbol• Vision APIͰ4ͭͷཻͷಡΈऔΓ݁Ռ͕ར༻Ͱ͖Δ• block > paragraph > word > symbolͷॱͰɺಡΈऔΓ୯Ґ͕ࡉ͔͘ͳΔ
© Ubie, Inc. 23• ը૾ॲཧͷಋೖ• ը૾ͷಡΈࠐΈ• NumpyΛͬͯը૾ͷதΛݟΔ• OCR• APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠• OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ• ಡΈऔͬͨจࣈͷ࠲ඪใ• Vision APIಛ༗ͷOCRͷػೳ࣍• ใநग़• ใநग़ͷରͱͳΔཁૉͷྨ• ਖ਼نදݱʹΑΔ໊ͷநग़• ݻ༗දݱநग़ʹΑΔ࣌ؒͷநग़• จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• จࣈྻͷ૬ରతͳҐஔؔΛ༻͍ͨɺ͝ͱʹߪೖͨ͠ݸͷநग़• ࣮࣌ͷTips• ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳAppͷߏங
© Ubie, Inc. 24ใநग़ͷରͱͳΔཁૉͷྨΘ͔ΔΘ͔Βͳ͍จࣈྻ͚ͩͰΤϯςΟςΟ͕ඞཁ ෆཁ໊߲ͱͷରԠ͚͕ߪೖͨ͠ݸֹۚ (߹ܭͳͲ) ॅॴ, , ൢചళฮ
© Ubie, Inc. 25ਖ਼نදݱʹΑΔ໊ͷநग़• நग़ର• ɺॅॴɺ໊ͳͲͷɺจࣈྻ୯ମͰҙຯΛ࣋ͭ• จࣈྻʹରͯ͠ػցతʹॲཧ͢Δ͜ͱ͕ՄೳͰɺ• ߟ͑ΒΕΔΞϓϩʔν• ਖ਼نදݱͰϧʔϧΛهड़͠நग़• ࣙॻΛ༻ҙ͠จࣈྻதʹؚ·ΕΔ͔ఆ• ݻ༗දݱநग़ϞσϧΛ༻͍ͯநग़
© Ubie, Inc. 26ݻ༗දݱநग़ʹΑΔ࣌ؒͷநग़• ݻ༗දݱநग़ Named Entity Extraction• จࣈྻʹؚ·ΕΔಛఆͷݻ༗දݱΛநग़͢ΔࣗવݴޠॲཧͷΞϓϩʔν• ਓ໊৫໊ɺֹۚɺ࣌ؒͳͲ• Spacy + GiNZAΛ༻͍ͨݻ༗දݱநग़• SpacyۙྲྀߦΓͷࣗવݴޠॲཧύοέʔδ• GiNZAΛ͏͜ͱͰ͋Β͔͡Ίެ։͞Ε͍ͯΔσʔλΛ༻ֶ͍ͯश͞ΕͨػցֶशϞσϧΛར༻Ͱ͖Δ
© Ubie, Inc. 27จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• ߲͚ͩͰԿͷ͔͕͔Βͳ͍• ˇ6,100 ͱ ߹ܭ ͕ؔ࿈͋Δͱඥ͚Δඞཁ͕͋Δ• ߟ͑ΒΕΔΞϓϩʔν• Ϩγʔτ1ߦͷதʹ߲ͱΛهࡌ͞ΕΔͱԾఆ͢Δ• ʮ߹ܭʯͱ࠲ඪతʹಉҰߦͷจࣈΛൈ͖ग़͢• ࣈΛ߹ܭʹରԠ͢Δֹۚͱ͢Δ
© Ubie, Inc. 28จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• ߲͚ͩͰԿͷ͔͕͔Βͳ͍• ˇ6,100 ͱ ߹ܭ ͕ؔ࿈͋Δͱඥ͚Δඞཁ͕͋Δ• ߟ͑ΒΕΔΞϓϩʔν• Ϩγʔτ1ߦͷதʹ߲ͱΛهࡌ͞ΕΔͱԾఆ͢Δ• ʮ߹ܭʯͱ࠲ඪతʹಉҰߦͷจࣈΛൈ͖ग़͢• ࣈΛ߹ܭʹରԠ͢Δֹۚͱ͢Δ߲
© Ubie, Inc. 29จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• ߲͚ͩͰԿͷ͔͕͔Βͳ͍• ˇ6,100 ͱ ߹ܭ ͕ؔ࿈͋Δͱඥ͚Δඞཁ͕͋Δ• ߟ͑ΒΕΔΞϓϩʔν• Ϩγʔτ1ߦͷதʹ߲ͱΛهࡌ͞ΕΔͱԾఆ͢Δ• ʮ߹ܭʯͱ࠲ඪతʹಉҰߦͷจࣈΛൈ͖ग़͢• ࣈΛ߹ܭʹରԠ͢Δֹۚͱ͢Δ໊߲߲ ߲
© Ubie, Inc. 30จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़1. “߹ܭ”ͱॻ͔Εͨ୯ޠΛൈ͖ग़͠ɺͦͷྖҬͷ࠲ඪΛಘΔ2. ಘΒΕͨy࠲ඪؒͷը૾ΛΓग़͠ɺͦ͜ʹ߹ܭֹ͕ۚॻ͔Ε͍ͯΔ͜ͱΛ֬ೝ͢Δ3. ରൣғʹؚ·Ε͍ͯΔจࣈͷΈΛൈ͖ग़͠ɺͦΕΒͷจࣈΛ݁߹͢Δ
© Ubie, Inc. 31จࣈྻͷ૬ରతͳҐஔؔΛ༻͍ͨɺ͝ͱʹߪೖͨ͠ݸͷநग़• จࣈྻ͚ͩͰΤϯςΟςΟ͕͔Βͳ͍• ݸͰ͋Δ͜ͱɺจࣈྻ͚ͩͰఆͰ͖ͳ͍• ਓؒपғͷจ຺͔Βྨਪ͍ͯ͠ΔߏԽ͞Εͨهࡌํ๏• ҉తʹදܗࣜʹͳ͍ͬͯΔ• ߦͱྻʹͦΕͧΕҙຯ͕͋Δ• ߟ͑ΒΕΔΞϓϩʔν• ϨγʔτͷλΠϓతʹɺ໊߲ͱֹۚͷؒʹݸ͕ॻ͔ΕΔͱԾఆ͢Δ• ߹ܭֹۚͱಉ͡Α͏ʹɺΛऔಘ͢Δ• (ࠓճίʔυׂѪ)
© Ubie, Inc. 32จࣈྻͷ૬ରతͳҐஔؔΛ༻͍ͨɺ͝ͱʹߪೖͨ͠ݸͷநग़໊߲• จࣈྻ͚ͩͰΤϯςΟςΟ͕͔Βͳ͍• ݸͰ͋Δ͜ͱɺจࣈྻ͚ͩͰఆͰ͖ͳ͍• ਓؒपғͷจ຺͔Βྨਪ͍ͯ͠ΔߏԽ͞Εͨهࡌํ๏• ҉తʹදܗࣜʹͳ͍ͬͯΔ• ߦͱྻʹͦΕͧΕҙຯ͕͋Δ• ߟ͑ΒΕΔΞϓϩʔν• ϨγʔτͷλΠϓతʹɺ໊߲ͱֹۚͷؒʹݸ͕ॻ͔ΕΔͱԾఆ͢Δ• ߹ܭֹۚͱಉ͡Α͏ʹɺΛऔಘ͢Δ• (ࠓճίʔυׂѪ)No.123ݸ ֹۚ
© Ubie, Inc. 33• ը૾ॲཧͷಋೖ• ը૾ͷಡΈࠐΈ• NumpyΛͬͯը૾ͷதΛݟΔ• OCR• APIܦ༝ͰͷOCRʹΑΔจࣈى͜͠• OCRʹΑΔจࣈى݁͜͠ՌΛ֬ೝ• ಡΈऔͬͨจࣈͷ࠲ඪใ• Vision APIಛ༗ͷOCRͷػೳ࣍• ใநग़• ใநग़ͷରͱͳΔཁૉͷྨ• ਖ਼نදݱʹΑΔ໊ͷநग़• ݻ༗දݱநग़ʹΑΔ࣌ؒͷநग़• จࣈྻͱ࠲ඪใΛ༻͍ͨ߹ܭֹۚͷநग़• จࣈྻͷ૬ରతͳҐஔؔΛ༻͍ͨɺ͝ͱʹߪೖͨ͠ݸͷநग़• ࣮࣌ͷTips• ։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳAppͷߏங
© Ubie, Inc. 34։ൃΛαϙʔτ͢ΔΠϯλϥΫςΟϒͳAppͷߏங• ը૾ͱจࣈͱ࠲ඪΛߦ͖དྷ͢Δ• ։ൃ͢Δ্Ͱɺݩը૾ͱOCR͞Εͨจࣈ͓Αͼ࠲ඪΛ্ख͘ײతʹѻ͑Δ͔͕ॏཁʹͳΔ• PlotlyʹΑΔՄࢹԽ• PlotlyΠϯλϥΫςΟϒͳάϥϑඳࣸϥΠϒϥϦ• ը૾Λഎܠʹઃఆ͠ɺOCRͰಡΈऔͬͨจࣈΛ࠲ඪ্ͷҐஔʹඳࣸ͢Δhttps://zenn.dev/yag_ays/articles/1142050914d510
35͜ͷઌͷυΩϡϝϯτɾΠϯςϦδΣϯεͷٕज़ͱະདྷ
© Ubie, Inc. 36• ࠓճͷετʔϦʔͱ࣮σϞͰՄೳʹͳͬͨ͜ͱ• ಛఆͷϨγʔτը૾ʹରͯ͠ࢦఆͨ͠ཁૉͷใΛऔಘͰ͖Δ• ࣮ࡍͷαʔϏεల։Λߟ͑ͨͱ͖ʹੜ͡Δ՝• ༷ʑͳϑΥʔϚοτͷϨγʔτʹରԠ͍ͨ͠• Ϣʔβ͕खೖྗ͢ΔखؒΛۃྗແ͍ͨ͘͠• ͯ͢ͷϨγʔτͷλΠϓΛऩू͠ཏతʹύλʔϯΛهड़͢Δ͜ͱෆՄೳ• εϚʔτϑΥϯͷΧϝϥ͔ΒͷࡱӨʹରԠ͍ͨ͠• Ϣʔβ͕ࡱӨ͢Δ = ը૾ͷ࣭ΛίϯτϩʔϧͰ͖ͳ͍• ͢ΔϨγʔτͷྖҬΛೝࣝ͠Γग़͠ɺ֯ํΛใநग़͍͢͠Α͏ิਖ਼͢Δඞཁ͕͋Δ͔͜͜Βઌͷ൚༻తͳϨγʔτಡΈऔΓαʔϏεʹ͚ͯ௨ৗͷը૾ ͖Μͩը૾Ө͕ೖΓࠐΜͩը૾ଞͷϨγʔτ͕ೖΓࠐΜͩը૾
© Ubie, Inc. 37ଟ͘ͷαʔϏεʹ͓͍ͯඞཁͱ͞ΕΔશମͷྲྀΕը૾ߏԽ͞Εͨใ• ը૾ͷϊΠζআڈ• ղ૾• ྖҬͷநग़• Έิਖ਼• ͖ิਖ਼• จࣈݕग़• จࣈೝࣝ• ୯ޠจষͷ࠶ߏ• ݻ༗දݱநग़• ໊߲ͱ߲ͷରԠ͚• දͷநग़ͱղੳ• ςϯϓϨʔτఆ• OCRΤϥʔิਖ਼ใநग़จࣈಡΈऔΓOCRલॲཧޙॲཧ
© 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 imageunderstanding." Proceedings of the 26th ACM SIGKDD International Conference onKnowledge Discovery & Data Mining. 2020.
© Ubie, Inc. 39• Ϋϥυϕϯμʔ֤ࣾʹΑΓɺ൚༻తͳจॻղੳͷαʔϏε͕ఏڙ͞Ε࢝Ί͍ͯΔ• GCP: Document AI• Amazon: Amazon Textract• Microsoft: Azure Computer Vision• ߴͳγεςϜߏஙͷॿ͚ʹͳΔ͕ɺґવͱͯ͠λεΫʹର͢ΔυϝΠϯࣝͱ։ൃඞཁ• ڞ௨ԽͰ͖ͳ͍ΠϯλʔϑΣΠε෦ͷ։ൃ• ը૾ͷಡΈࠐΈɺநग़݁ՌͷॲཧͳͲ• αʔϏεݻ༗ͷࣄલࣝΛͲΕ͚ͩ֎෦αʔϏεͱ࿈ܞͰ͖Δͷ͔ʁͱ͍͏՝• ྫʣॻྨʹهࡌ͞Ε͏Δ໊ͷϦετ• ਫ਼ධՁͱͦͷղऍ• αʔϏεશମͰͲͷఔͷ͔֬Β͠͞Ͱ݁Ռ͕ಘΒΕΔͷ͔ʁͱ͍͏ධՁํ๏• Ͳ͜·Ͱਫ਼Λ্͛Ε༻తʹར༻ՄೳʹͳΔ͔ͱ͍ͬͨղऍͱஅΫϥυϕϯμʔʹΑΔ൚༻తͳղੳAPIͷఏڙͱར༻
40·ͱΊ
© Ubie, Inc. 41• υΩϡϝϯτɾΠϯςϦδΣϯεͱ͍͏ͷհ• “ϏδωεจॻΛಡΈɺཧղ͠ɺղऍ͢Δೳྗ”• Ϗδωεʹ͓͚Δใୡͷखஈͱͯ͠ͷॻྨ• ਓೳ͕͜Ε͚ͩ੮רͨ͠ݱࡏͰɺະͩʹଟ͘ͷνϟϨϯδ͕͞ΕͨྖҬ• ϨγʔτಡΈऔΓͷࣄྫΛ௨ͨ͡Ұ࿈ͷྲྀΕͷհ• PythonΛར༻ͨ͠ը૾ͷಡΈࠐΈOCRɺใநग़• ը૾ॲཧจࣈྻॲཧɺՄࢹԽɺػցֶशͱͷੑͷߴ͞• υΩϡϝϯτΠϯςϦδΣϯεͷ͜Ε͔Βͷలͷհ• ࠓճհٕͨ͠ज़ଟ͘ͷॲཧͷதͷ΄ΜͷҰ෦• ΫϥυϕϯμʔʹΑΓ൚༻తͳٕज़͕ఏڙ͞Εͯɺ։ൃऀ͕औΓΉ༨େ͖͍ͬͯ͘Δ·ͱΊ
42We Are Hiring!!!• UbieͰΤϯδχΞΛઈࢍ࠾༻தʂ• ػցֶशΤϯδχΞ• σʔλΤϯδχΞ, σʔλΞφϦετ• ιϑτΣΞΤϯδχΞ, etc.• υΩϡϝϯτɾΠϯςϦδΣϯεͷαʔϏε։ൃΛҰॹʹͬͯ͘ΕΔํΛืू͍ͯ͠·͢ 🙏• ·ͣؾܰʹΧδϡΞϧ໘ஊ͠·͠ΐ͏• ࣄۀ৫ɺ։ൃମ੍ͳͲԿͰ͓͑͠·͢ https://note.com/ubie/n/n454a0d04a1eb