ในโลกปัจจุบัน องค์กรต่างๆ การใช้งานเอกสารต่างๆ มากมายทุกวัน การประมวลผลเอกสารได้รับความสนใจอย่างมากในโลกของระบบอัตโนมัติ เนื่องจากเป็นงานที่ซ้ำซากจำเจซึ่งต้องใช้เวลาและความพยายามอย่างมาก เอกสารมีรูปแบบต่างกัน : แบบที่มีโครงสร้าง กึ่งมีโครงสร้าง และไม่มีโครงสร้าง การใช้เทมเพลตเพื่อดึงข้อมูลจากเอกสารที่มีโครงสร้างนั้นทำได้ง่าย เนื่องจากเป็นไปตามโครงสร้างเดียวกันในเอกสารทั้งหมด

เทคโนโลยีในปัจจุบันช่วยให้เราใช้โมเดลการเรียนรู้ของเครื่องต่างๆ เพื่อดึงข้อมูลจากเอกสารกึ่งโครงสร้าง เช่น ใบแจ้งหนี้ ใบสั่งซื้อ ฯลฯ อย่างไรก็ตาม การดึงข้อมูลจากเอกสารที่ไม่มีโครงสร้างอาจทำได้ยากเล็กน้อยเนื่องจากเอกสารไม่เป็นไปตามรูปแบบ ในบทความนี้ คุณจะค้นพบวิธีที่ UiPath ตั้งชื่อโมเดลการรับรู้เอนทิตีทำให้ผู้ใช้สามารถดึงข้อมูลเอนทิตีจากเอกสารที่ไม่มีโครงสร้างได้

สิ่งที่ต้องเตรียม

  1. ความเข้าใจ UiPath Document Understanding Framework
  2. เข้าใจภาพรวมของ UiPath AI Center™ และการใช้งาน
  3. เตรียมระบบพร้อมใช้งาน (การทดลองใช้แพลตฟอร์มคลาวด์ที่สร้างขึ้นใหม่ หรือ แพลตฟอร์ของมองค์กร)

การจำลองสถานการณ์

ลองพิจารณาสถานการณ์ง่ายๆ ที่เราจำเป็นต้องดึงข้อมูลบางอย่างจากสัญญาทางกฎหมาย ดังที่เราทราบ สัญญาทางกฎหมายนั้นไม่มีโครงสร้างและไม่เป็นไปตามรูปแบบใดรูปแบบหนึ่ง ดังนั้น ข้อมูลที่มีอยู่ในเอกสารทางกฎหมายฉบับหนึ่งอาจไม่อยู่ในเอกสารทางกฎหมายอื่น หรืออาจมีอยู่ในรูปแบบอื่น ในสถานการณ์สมมติของเราที่นี่ เราจะดูที่ข้อมูลเป็นหลัก เช่น ชื่อบริษัท ชื่อพนักงาน ชื่อผู้ขาย และวันที่มีผลในเอกสาร ต่อไปนี้คือตัวอย่างเอกสารทางกฎหมายบางส่วนที่เราวางแผนจะใช้สำหรับกรณีการใช้งานนี้

การจับข้อมูลชื่อนิติบุคคล

การรู้จำชื่อเอนทิตีเป็นกระบวนการในการระบุและแยกหน่วยข้อมูล เช่น ชื่อ ของบุคคล องค์กร ค่าตัวเลข ข้อมูลวันที่และเวลา ตำแหน่งทางภูมิศาสตร์ เป็นต้น แบบจำลองที่ใช้สำหรับ NER สามารถระบุข้อมูลดังกล่าวจากสตริงที่กำหนดและจัดหมวดหมู่ตาม ประเภทของมัน UiPath AI Center™ นำเสนอโมเดล NER ที่ฝึกไว้ล่วงหน้าและโมเดล NER แบบกำหนดเองภายใต้แพ็คเกจที่พร้อมใช้งานทันที ซึ่งเราสามารถลองใช้ปลั๊กอินและเล่นเพื่อดึงข้อมูลที่เรากำลังดูอยู่ในสถานการณ์นี้

เราสามารถใช้โมเดล NER ที่ผ่านการฝึกอบรมล่วงหน้าสำหรับกรณีการใช้งานนี้

อย่างไรก็ตาม หากคุณต้องการระบุข้อมูลที่คุณกำหนดเอง คุณสามารถสร้างโมเดล NER ของคุณเองผ่าน UiPath ได้อย่างง่ายดาย อย่างไรก็ตาม นี่เป็นหัวข้อสำหรับบทความอื่น โมเดลที่จัดทำโดย UiPath สามารถดึงข้อมูลต่อไปนี้จากสตริงที่กำหนด

  • PERSON – names of people  
  • GEO – geo locations  
  • DATE – time and date  
  • MONEY – currency information in a string (figures and amount in text)  
  • ORG – Organization names  
  • GPO – Geopolitical information and many more

Step 1.1. สร้างโปรเจค  AI Center™

เมื่อคุณลงชื่อเข้าใช้และเข้าสู่ AI Center™ คุณจะเข้าสู่หน้าแรกของ AI Center™ ซึ่งแสดงโครงการทั้งหมดที่คุณสร้างขึ้น มาสร้างโครงการใหม่โดยคลิกที่ปุ่มสร้างโครงการที่ด้านบนขวาและตั้งชื่อที่มีความหมาย

เมื่อสร้างโปรเจ็กต์แล้ว ไปที่โปรเจ็กต์เพื่อเริ่มกำหนดค่า

Step 1.2. สร้างแพ็คเกจ NER

แผงด้านซ้ายของ AI Center™ ประกอบด้วยขั้นตอนทั้งหมดที่แบบจำลอง ML

เนื่องจากเราใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าซึ่งไม่ต้องการการฝึกอบรมเพิ่มเติม เราจึงสามารถข้ามชุดข้อมูล ส่วนการติดTagข้อมูล ไปที่ส่วนแพ็คเกจ ML และไปที่ส่วนแพ็คเกจสำเร็จรูป

ไปที่หมวดการวิเคราะห์ภาษาเพื่อค้นหาโมเดล NER ทำตามขั้นตอนด้านล่างเพื่อสร้างแพ็คเกจ เลือกรุ่น NER และดูหน้ารายละเอียด

คลิกที่ปุ่มสีน้ำเงินส่งเพื่อเริ่มสร้างแพ็คเกจ ระบุชื่อที่สื่อความหมาย เช่น “Pkg_NER” และคลิกที่ปุ่ม Create เพื่อสร้างแพ็คเกจ

เมื่อคุณทำตามขั้นตอนข้างต้นเสร็จแล้ว คุณจะเห็นแพ็คเกจที่สร้างขึ้นภายใต้ส่วนแพ็คเกจ ML ใน AI Center™

Step 1.3. สร้าง ML Skill

ไปที่ส่วน ML Skills ใน AI Center™ และทำตามขั้นตอนด้านล่างเพื่อสร้างทักษะ NER คลิกที่ตัวเลือก Create New เพื่อไปยังหน้าการสร้างทักษะ

ระบุชื่อทักษะที่มีความหมาย เช่น “Skill_NER” สำหรับสถานการณ์ เลือกแพ็คเกจ NER ที่สร้างจากเมนูดร็อปดาวน์ภายใต้แพ็คเกจ ML เลือกตัวเลือกเวอร์ชันหลักที่มีเวอร์ชันล่าสุดที่มีอยู่ในแพ็คเกจ เลือกเวอร์ชันรองที่มีเวอร์ชันเก่าที่สุด (ควรเป็นศูนย์) คลิกที่ปุ่มสร้างเพื่อเริ่มใช้งานทักษะ

เมื่อคุณทำตามขั้นตอนข้างต้นแล้ว คุณจะเห็นโมเดลถูกปรับใช้ในส่วนทักษะ ML จะใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์และรอจนกว่าสถานะจะเปลี่ยนเป็น “ว่าง” คุณจะต้องรีเฟรชหน้าด้วยตนเองเพื่อดูการเปลี่ยนแปลงสถานะ

Step 2 เตรียมแนวคิดสำหรับการใช้ Document Understanding

ตอนนี้เรามาดูวิธีสร้างเวิร์กโฟลว์ใน Studio กัน สร้างกระบวนการใหม่อย่างง่ายใน UiPath Studio และเพิ่มแพ็กเกจเพิ่มเติมต่อไปนี้

  • UiPath.DocumentUnderstanding.ML.Activities 
  • UiPath.IntelligentOCR.Activities
  • UiPath.OCR.Activities 

นอกเหนือจากการ แพ็กเกจ ด้านบน เราจำเป็นต้องมีการ แพ็กเกจ เพิ่มเติมอีกสองรายการเพื่อใช้โมเดล NER เพิ่มการแพ็กเกจต่อไปนี้

  • UiPath.MLServices.Activities 
  • UiPath.WebAPI.Activities

Step 3 สร้างเวิร์กโฟลว์

เรามีสิ่งสำคัญอย่างหนึ่งที่ต้องจำไว้ที่นี่ โฟลว์การทำความเข้าใจเอกสารสามารถสร้างข้อมูลที่ตรวจสอบแล้วสำหรับเราผ่านตัวแยกหลายตัว เช่น ML Extractor, Form Extractor เป็นต้น ข้อมูลที่แยกออกมาทั้งหมดนั้นมักจะถูกบันทึกในไฟล์ Excel ด้วยชื่อคอลัมน์ที่กำหนดไว้ เราสามารถใช้ไฟล์ Excel เดียวกันเพื่อเก็บข้อมูล NER และทำการปรับเปลี่ยนข้อมูลในภายหลัง NER ใช้สำหรับข้อมูลที่ไม่มีโครงสร้าง ดังนั้นจึงต้องมีการสร้างตรรกะหลังจากดึงข้อมูล

Step 3.1. สร้าง Taxonomy

ไม่ว่าเอกสารจะมีโครงสร้างหรือไม่ก็ตาม ให้สร้าง Taxonomy ด้วยฟิลด์ที่เราต้องการ ในกรณีของเรา เราสามารถใช้ฟิลด์ต่อไปนี้

Step 3.2 สร้างเวิร์กโฟลว์

ทำตามขั้นตอนด้านล่างเพื่อสร้างเวิร์กโฟลว์ของเรา ใช้ Ativity Build Data Table บิวด์เพื่อเก็บข้อมูล NER ตามที่แสดงในภาพหน้าจอต่อไปนี้

ลากและวาง Load Taxonomy Activity และกำหนดค่าเพื่อรับ Taxnomy

รวมเอกสารทั้งหมดที่เราต้องการประมวลผลไว้ในโฟลเดอร์ชื่อ “Input Files”

ทีนี้ มาใช้งาน For Each file กัน เพื่อวนซ้ำไฟล์ในโฟลเดอร์ดังที่แสดงในภาพหน้าจอต่อไปนี้

ใช้กิจกรรมเอกสารดิจิทัลเพื่อแปลงเอกสารเป็นรูปแบบดิจิทัลตามที่แสดงในภาพหน้าจอด้านบน

Drag and Drop ML Skill Activity และกำหนดค่าให้เชื่อมต่อกับ ML Skill ใน AI Center™ คุณสามารถเชื่อมต่อโดยเลือกโหมดการเชื่อมต่อเป็น Robot หรือ Endpoint (คุณต้องทำให้โมเดลเป็นแบบสาธารณะเพื่อใช้ปลายทาง) ใช้วิธีการเชื่อมต่อ Robot และเลือก ML Skill โดยคลิกที่ปุ่มรีเฟรชและเลือกรุ่นจากตัวเลือกแบบDropdown

โมเดลต้องทำให้สตริงเป็นอินพุตและจัดเตรียมสตริงอาร์เรย์ JSON เป็นเอาต์พุต กำหนดค่ากิจกรรมดังต่อไปนี้

เมื่อได้ผลลัพธ์แล้ว เราจำเป็นต้องแปลงการตอบสนองเพื่อเข้าถึงโครงสร้างอาร์เรย์และองค์ประกอบต่างๆ ในการแปลง ให้ใช้ Deserialize JSON Array Activity และกำหนดค่าตามที่แสดงในภาพหน้าจอต่อไปนี้

เมื่อเราแปลงแล้ว เราก็สามารถวนซ้ำรายการในอาร์เรย์ได้อย่างง่ายดาย ตอนนี้ ลองใช้กิจกรรม For Each เพื่อวนซ้ำผ่าน Json Array ที่ถูกแปลง ประเภทของอาร์กิวเมนต์ For Each Activity คือ Newtonsoft.Json.Linq.JObject

วาง Add Data Row Activity ใน For Each Activity  ตามที่แสดงในภาพหน้าจอต่อไปนี้

กำหนดค่า Add Data Row Activity เพื่อรับข้อมูลที่เราต้องการดังนี้ คอลัมน์ “Type” ระบุเอนทิตีที่เป็นค่าเฉพาะ และคอลัมน์ “Text” ระบุค่าที่ระบุพร้อมกับ Confidence ที่ระบุไว้ในคอลัมน์ “Confidence”

ตอนนี้คุณสามารถใช้ Write-Range Activity เพื่อเขียนข้อมูล NER ที่มีอยู่ในตารางข้อมูลไปยังแผ่นงาน Excel เดียวกันกับที่ใช้ในการจัดเก็บข้อมูลที่ดึงออกมาโดยวิธีการแยกข้อมูลด้วยความเข้าใจในเอกสาร ตามแนวทางปฏิบัติที่ดีที่สุด ให้ใช้ชีตแยกต่างหากในไฟล์ Excel เดียวกันเสมอสำหรับการส่งออกข้อมูล NER เริ่มต้น ข้อมูลที่เขียนในไฟล์ Excel จะมีลักษณะดังนี้

ส่งออกข้อมูล NER

ข้อมูลทั้งหมดที่โมเดลสามารถค้นหาได้ผ่านข้อความเอกสาร เมื่อดึงข้อมูลแล้ว เราจำเป็นต้องเขียนตรรกะทางธุรกิจทั่วไปที่ใช้กับเอกสารทั้งหมดเพื่อดึงเฉพาะข้อมูลที่เราต้องการเท่านั้น ตรรกะนี้เขียนขึ้นอย่างหมดจดตามรูปแบบที่เราระบุในข้อมูลที่แยกออกมา เราสามารถกรองข้อมูลได้อย่างง่ายดายโดยใช้ประเภท (เช่น PERSON, ORG, DATE) และแยกค่าโดยใช้ลำดับของค่า โปรดทราบว่าค่าทั้งหมดจะถูกดึงออกมาตามลำดับที่คุณเห็นในเอกสารจากบนลงล่าง นอกจากนี้ จะง่ายกว่าเสมอหากคุณใช้แผ่นงาน Excel เป็นแผ่นงาน จนกว่าคุณจะเตรียมข้อมูลและอัปเดตแผ่นงานอื่นที่มีการจัดหมวดหมู่ตามที่แสดงด้านล่าง

เมื่อคุณมีข้อมูลในรูปแบบนี้แล้ว เราจะสามารถใช้โครงสร้างนี้เพื่อส่งข้อมูลไปยังแอปพลิเคชันหรือกระบวนการอัตโนมัติอื่นๆ ได้อย่างง่ายดาย

หากคุณต้องการดูข้อมูลเพิ่มเติมขั้นตอนการทำที่เป็นวิดีโอสามารถดูได้ที่ Part 1 ลิงค์ และ Part 2 ลิงค์

บทสรุป

การประมวลผลเอกสารไม่ได้ตรงไปตรงมาเสมอไป เนื่องจากความซับซ้อนของเอกสารที่สร้างขึ้นสำหรับแต่ละแผนก อย่างไรก็ตาม ด้วยความสามารถที่ UiPath นำเสนอด้วยการทำความเข้าใจเอกสารและ AI Center™ การประมวลผลที่ซับซ้อนจำนวนมากจึงกลายเป็นเรื่องง่าย NER เป็นหนึ่งในโมเดล AI ที่ช่วยให้ผู้ใช้สามารถดึงข้อมูลจากเอกสารที่ไม่มีโครงสร้างตามที่อธิบายไว้ในบทความนี้ นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติม ที่นี่ และ ที่นี่เกี่ยวกับกรณีการใช้งาน NER และวิธีการใช้แบบจำลองนี้

นามผู้เขียนบทความ : Lahiru Fernando เป็นผู้อำนวยการและหัวหน้า RPA ของ Boundaryless Group

ขอขอบคุณบทความอ้างอิงจากเว็บไซต์ Uipath ด้วย : UiPath Document Understanding with NER