ในบทความปัจจุบันนี้ เราขอแสดงให้คุณเห็นว่าคุณสามารถใช้ regular expressions เพื่อรับประโยชน์จากการประมวลผลเอกสารอัตโนมัติได้อย่างไร ซึ่งสิ่งนี้ใช้ได้โดยเฉพาะกับเอกสารจากบริษัทในทุกอุตสาหกรรม
เราแสดงตัวอย่างที่ชัดเจนของ regular expressions และอธิบายทีละขั้นตอนว่ามีความหมายอย่างไรและคุณสามารถนำไปใช้ได้อย่างไร
ด้วยวิธีนี้ คุณสามารถเพิ่มประสิทธิภาพการทำงาน ลดข้อผิดพลาดของมนุษย์ผ่านความแม่นยำที่สูงขึ้น ลดต้นทุนปัจจุบัน รักษาความสมบูรณ์ของข้อมูล และปรับปรุงความปลอดภัยของข้อมูล
บทความปัจจุบันนี้เป็นการขยายความจากส่วนแรกเกี่ยวกับการประมวลผลเอกสารอัจฉริยะ ที่นี่จะพาคุณไปยังบทความโดยตรง.
การแยกองค์ประกอบข้อมูลที่เฉพาะเจาะจงจากเอกสารอาจเป็นงานที่แพงและใช้เวลานานมาก บ่อยครั้ง สแกนเอกสารจะถูกส่งไปยังบริษัทรับจ้างป้อนข้อมูลขนาดใหญ่ ซึ่งข้อมูลจะถูกป้อนด้วยมือ
อย่างไรก็ตาม มีข้อเสียหลายประการของแนวทางนี้ ดังนี้:
- สิ่งนี้อาจทำให้ความปลอดภัยของเอกสารตกอยู่ในความเสี่ยง
- เกิดความล่าช้าในกระบวนการทำงาน
- เมื่อเทียบกับการแยกข้อมูลอัตโนมัติ การทำดัชนีด้วยมือเป็นกระบวนการที่ช้า
- การทำดัชนีด้วยมือไม่สามารถขยายขนาดได้ดีในโครงการขนาดใหญ่
- การทำดัชนีด้วยมืออาจนำข้อผิดพลาดเข้าสู่ข้อมูล
- หากเอกสารมีการเปลี่ยนแปลง กระบวนการทั้งหมดจะเริ่มใหม่ทั้งหมด
และอีกมากมาย
แม้ว่าการสแกนจะแพร่หลายมากขึ้น แต่ธุรกรรมทางธุรกิจจำนวนมากยังคงอาศัยเอกสารบนกระดาษ มีการประมาณการว่า 85% ของใบแจ้งหนี้ยังคงออกในรูปแบบกระดาษ
นอกจากนี้ ยังมีเอกสารกระดาษจำนวนมหาศาลที่ต้องจัดเก็บในคลังสินค้าขนาดใหญ่!
นิพจน์ปกติ (Regular Expression) คืออะไร?
นิพจน์ปกติ หรือที่รู้จักกันในชื่อ "REGEX" เป็นเครื่องมืออันทรงพลังสำหรับการค้นหาและจัดการกับข้อความ ทำให้สามารถระบุและแก้ไขรูปแบบที่ซับซ้อนในข้อความได้
นิพจน์ปกติประกอบด้วยตัวอักษรทั่วไปและเมตาอักขระพิเศษที่มีฟังก์ชันเฉพาะ
นิพจน์ปกติยังสามารถใช้แทนที่หรือจัดการกับข้อความได้ ตัวอย่างเช่น นิพจน์ปกติสามารถใช้เพื่อ...
เป็นเครื่องมืออันทรงพลังมากสำหรับการประมวลผลคำและการทำให้กระบวนการทำงานอัตโนมัติ
นิพจน์ปกติสามารถช่วยทำให้ธุรกิจอัตโนมัติได้อย่างไร?
การเพิ่มขึ้นของเอกสารดิจิทัลในรูปแบบต่างๆ กฎการตั้งชื่อที่แตกต่างกัน และระบบค้นหาที่ไม่เพียงพอ ทำให้กระบวนการค้นหาและกระบวนการดึงข้อมูลเอกสารจากเนื้อหาเฉพาะเจาะจงซับซ้อนขึ้น โดยเฉพาะเมื่อเกี่ยวข้องกับเอกสารที่ไม่ได้จัดหมวดหมู่ การค้นหาจะขาดความแม่นยำและใช้เวลานาน
นิพจน์ปกติ (regex) ให้วิธีการที่รวดเร็วและทรงพลังในการค้นหา ดึงข้อมูล และแทนที่ข้อมูลเฉพาะในเอกสาร โดยพื้นฐานแล้ว นิพจน์ปกติคือสตริงข้อความพิเศษที่ใช้เพื่ออธิบายรูปแบบการค้นหา
นี่คือวิธีการค้นหาและอ่านเนื้อหาเอกสารสำหรับสตริงอักขระที่กำหนด นิพจน์ปรกติ (Regular expressions) เป็นวิธีการกำหนดรูปแบบในข้อมูลโดยใช้สัญลักษณ์พิเศษ
วิธีการ Regex เหมาะสมที่สุดสำหรับเอกสารซึ่งตำแหน่งของค่าที่ต้องการอ่านอาจเปลี่ยนแปลงได้ และแม่แบบเอกสารแบบง่ายไม่สามารถทำงานได้
คุณสามารถพบรายการนิพจน์ง่ายๆ ใน ComDesk.

ฉันจะสร้างนิพจน์ปรกติได้อย่างไร?
นิพจน์ปรกติสามารถประกอบขึ้นได้หลายวิธี ขึ้นอยู่กับประเภทของรูปแบบที่กำลังค้นหา
ใช้เมตาอักขระเช่น ., *, +, ?, ^, $, [], และ [a-z] เพื่อแสดงประเภทของอักขระหรือรูปแบบเฉพาะ
ใช้ส่วนที่เลือกได้: ใช้เครื่องหมายคำถาม (?) หรือดาว (*) เพื่อทำให้ส่วนของรูปแบบเป็นตัวเลือกได้
ใช้กลุ่ม: ใช้วงเล็บเพื่อจัดกลุ่มส่วนของรูปแบบและจัดการเป็นหน่วยเดียวกัน
ควรทราบว่ากฎของนิพจน์ปรกติอาจแตกต่างกันไปตามภาษาโปรแกรม ดังนั้นจึงสำคัญที่ต้องอ่านเอกสารประกอบของเครื่องมือที่ใช้ RegEx ที่เขียนสำหรับ PaperOffice ต้องเข้ากันได้กับ ECMAScript และ PCRE2
เคล็ดลับ
ยังมีวิดีโอบน YouTube ในหัวข้อ "การจัดเก็บเอกสารอัตโนมัติ ส่วนที่ 3 / REGEX & ตัวแปร / การจัดการเอกสารใบแจ้งหนี้" ซึ่งอธิบายกระบวนการนี้อย่างง่ายและชัดเจน:
ฉันจะดึงข้อมูลจากเอกสารโดยใช้ REGEX ได้อย่างไร?
ตัวอย่างเชิงปฏิบัติ
ในบทความนี้ เราแสดงให้เห็นว่าคุณสามารถดึงข้อมูลใดๆ จากเอกสารได้โดยใช้ regular expressions แบบหลายองค์ประกอบใน PaperOffice และจัดเก็บข้อมูลนั้นเป็น keyword ของเอกสารโดยอัตโนมัติ
ด้านล่างนี้เรามีตัวอย่างเอกสารที่มีวันที่เฉพาะเจาะจง เอกสารนี้เป็นใบแจ้งหนี้ รูปแบบวันที่ในเอกสารของเราจัดรูปแบบดังนี้:

เดือน ซึ่งประกอบด้วยตัวอักษร แต่ตัวแรกจะเป็นตัวพิมพ์ใหญ่ ตามด้วยช่องว่าง จากนั้นเป็นวันตามด้วยเครื่องหมายจุลภาค ช่องว่างอีกครั้ง และตามด้วยปี
ตัวอย่างเช่น:Sep 20, 2019หรือMar 05, 2022
ในการดึงวันที่นี้ เราสามารถใช้ regular expression (REGEX) ต่อไปนี้:
([A-Z][a-z]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
มาแยกแยะ expression นี้เป็นกลุ่มย่อย แต่ละกลุ่มถูกคั่นด้วยวงเล็บเดี่ยว().
ในกลุ่มแรกเราค้นหาตัวอักษรเดือน 3 ตัว: ([A-Z][a-z]{2})
([A-Z][a-z]{2})\s(0[1-9]|[12][0-9]|3[01]),\s (20\d{2})
ดึงเดือน
- [A-Z]สตริงนี้หมายถึงเรากำลังมองหาตัวพิมพ์ใหญ่จาก A-Z ตัวอย่างเช่น ตัวอักษร"S"จากSeptควรสังเกตว่าตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะถูกพิจารณาแยกกัน
- [a-z]{2}สตริงนี้หมายถึงเรากำลังมองหาตัวพิมพ์เล็กสองตัวจาก a-z นั่นคือepจาก "Sep".
จากนั้นเราค้นหาช่องว่างด้วยสตริงต่อไปนี้:\s
([A-Z][a-z]{2})\s(0[1-9]|[12][0-9]|3[01]),\s (20\d{2})
แยกวันที่
ในกลุ่มที่สอง ให้มองหาการระบุวันเป็นตัวเลข: (0[1-9]|[12][0-9]|3[01])
([A-Z][a-z]{2})\s(0[1-9]|[12][0-9]|3[01]),\s (20\d{2})
วันต้องถูกแยกด้วยข้อความที่แตกต่างกันสามส่วน
เนื่องจากเราไม่ทราบว่าวันที่ใดจะปรากฏในเอกสาร มันอาจเป็น วันที่หนึ่ง (01) หรือ วันที่สุดท้าย (31) ของเดือน ดังนั้นคุณจึงต้องพิจารณาตัวเลือกที่แตกต่างกันตามนั้น
สิ่งเหล่านี้ถูกแยกด้วยอักขระ "|".
ตัวอย่าง: (1|2|3) = 1 หรือ 2 หรือ 3.
รายการของอักขระที่อนุญาตจะตามมาในวงเล็บเหลี่ยม วงเล็บเหลี่ยมหลายชุดจับกับอักขระหลายตัว หากนิพจน์ต้องการอธิบายอักขระหลายตัว ให้ต่อพวกมันติดกันตามลำดับ จากนั้นการป้อนข้อมูลจะถูกเปรียบเทียบกับนิพจน์ของคุณจากซ้ายไปขวา
แน่นอนว่าไม่จำเป็นต้องระบุตัวเลขทั้งหมด อย่างไรก็ตาม โดยรวมแล้ว นิพจน์ในวงเล็บเหลี่ยมทั้งหมดหมายถึงอักขระเพียงตัวเดียว
-
0[1-9]สตริงนี้หมายความว่าตัวเลขสามารถขึ้นต้นด้วย "0" ตามด้วยตัวเลขจาก 1 ถึง 9 ดังนั้นเราจะได้ตัวเลขใดๆ ตั้งแต่ 01 - 09.
สตริงนี้จะมองหารูปแบบตัวเลขที่ขึ้นต้นด้วยศูนย์ หากเอกสารของคุณโดยปกติมีวันที่ "5 มีนาคม 2022" ซึ่งไม่มีเลข "0" นำหน้าเลข "5" ให้ละเว้น "0" ในสตริง
- [12][0-9]สตริงนี้หมายความว่าตัวเลขสามารถขึ้นต้นด้วย "1" หรือ "2" ตามด้วยตัวเลขใดๆ จาก 0 ถึง 9 ผลลัพธ์อาจเป็นตัวเลขใดๆ ตั้งแต่ 10 ถึง 29
- 3[01]สตริงนี้หมายความว่าตัวเลขอาจขึ้นต้นด้วย "3" ตามด้วย "0" หรือ "1" ผลลัพธ์อาจเป็น 30 หรือ 31
หลังจากกำหนดตัวเลือกสำหรับวันแล้ว ควรกำหนดนิพจน์สำหรับปี
ตอนนี้เราหาเครื่องหมายจุลภาคและช่องว่าง: ,\s
([A-Z][a-z]{2})\s(0[1-9]|[12][0-9]|3[01]),\s (20\d{2})
แยกปี
ในกลุ่มสุดท้ายเราหาปี: (20\d{2})
([A-Z][a-z]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
เราเริ่มหาปีใดๆ แต่ทราบว่าต้องมีค่า ≥ 2000
- 20สตริงนี้หมายความว่าเรากำลังหาปีใดๆ ที่ขึ้นต้นด้วย "20" พอดี
- \d{2}สตริงนี้หมายความว่าเรากำลังหาตัวเลขสองหลักที่เป็นไปได้ คือตั้งแต่ "00" ถึง "99"
ตัวอย่างเช่น ตัวอักษร \d ตรงกับหลักเลขระหว่าง 0 ถึง 9 ในขณะที่ตัวอักษร \d{2} ตรงกับตัวเลขสองหลัก

หากใช้ regular expression ใน PaperOffice ผลลัพธ์สุดท้ายคือวันที่ "Sep 20, 2019".
ด้วยวิธีนี้ สามารถดึงวันที่ใดๆ ออกจากเอกสารได้โดยไม่จำเป็นต้องรู้ค่าเดิม กลุ่มเหล่านี้ยังสามารถนำไปใช้ที่อื่นและย้ายได้อย่างอิสระเพื่ออ่านรูปแบบวันที่อื่นๆ
นี่คือตัวอย่างเพิ่มเติม:

วันที่เริ่มต้นด้วยวัน ตามด้วยเดือน ซึ่งประกอบด้วยตัวอักษร แต่ตัวแรกจะเขียนด้วยตัวพิมพ์ใหญ่เสมอ ตามด้วยจุด ช่องว่างหนึ่งช่อง และตามด้วยปี
ในการแยกวันที่นี้ สามารถใช้ regular expression (REGEX) ที่อธิบายไว้ข้างต้นได้ โดยมีการเพิ่มเติมเล็กน้อย เนื่องจากในตัวอย่างที่สอง มี "จุด" อยู่หลังเดือน
สามารถระบุได้ด้วยสตริงต่อไปนี้: \.
ดังนั้น expression สมบูรณ์จะดูเป็นดังนี้:
(0[1-9]|[12][0-9]|3[01])\s([A-Z][a-z]{2})\.\s(20\d{2})
คุณสามารถตรวจสอบ regex ที่สร้างได้เสมอโดยไปที่ https://regex101.com หน้าเพื่อตรวจสอบร่วมกับข้อความที่แทรกของคุณ Regex101 จะไม่เพียงแต่ตรวจสอบว่า regex ของคุณถูกต้องหรือไม่ แต่ยังจะอธิบาย regular expression ส่วนใหญ่ให้คุณทราบด้วย
และดังนั้นคุณสามารถใช้ชุดอักขระที่แตกต่างกันสำหรับสิ่งใดๆ ได้
อ่านหมายเลขคำสั่งซื้อด้วย REGEX
เป็นตัวอย่างเพิ่มเติม เราต้องการอ่านหมายเลขคำสั่งซื้อจากเอกสาร

หมายเลขคำสั่งซื้อในเอกสารของเราจัดรูปแบบดังนี้:
ซึ่งเริ่มต้นด้วยตัวพิมพ์ใหญ่ XYB, ตามด้วยขีดกลาง ตามด้วยตัวเลข 8 ตัว อีกหนึ่งขีดกลาง และสุดท้ายเป็นตัวพิมพ์ใหญ่สุ่ม 3 ตัว
ตัวอย่างหมายเลขคำสั่งซื้อได้แก่:
XYB-12316723-LSH
XYB-98456723-JRD
ในการแยกหมายเลขคำสั่งซื้อนี้ เราสามารถใช้ regular expression ต่อไปนี้:
XYB-\d{8}-[A-Z]{3}
มาวิเคราะห์ expression นี้ทีละส่วนกัน
ก่อนอื่นเราหาตัวอักษรพิมพ์ใหญ่ 3 ตัวแรกที่มีเครื่องหมายขีดกลาง: XYB-
XYB\d{8}-[A-Z]{3}
หลังจากนั้นเราหาเลข 8 หลักตามด้วยขีดคั่นอีกตัวหนึ่ง: \d{8}-
XYB-\d{8}-[A-Z]{3}
ตัว \d ตามที่อธิบายไว้ก่อนหน้านี้ ตรงกับเลขหลักตั้งแต่ 0 ถึง 9 ในขณะที่ \d{8} ตรงกับตัวเลขแปดหลัก
และสุดท้ายเรากำลังมองหาตัวอักษรพิมพ์ใหญ่ใดๆ 3 ตัว: [A-Z]{3}
XYB-\d{8}-[A-Z]{3}
นี่คือวิธีที่ PaperOffice จะมองหมายเลขคำสั่งซื้อต่อไปนี้:
XYB-12316723-LSH
XYB-98456723-JRD
XYB-975432671829
ZYB-12342176-ZHD
สองตัวแรก XYB-12316723-LSH และ XYB-98456723-JRD
ระบุได้.
เราได้เตรียม ลิงก์ไปยัง Regex101 สำหรับตัวอย่างนี้ ซึ่งแสดงนิพจน์ปรกติที่อธิบายไว้ข้างต้นพร้อมตัวอย่าง 4 ตัวอย่าง คุณจะเห็นว่าหมายเลขคำสั่งซื้อที่กำหนดให้เพียงสองรายการเท่านั้นที่ตรงตามข้อกำหนดของเรา
อ่านหมายเลขสินค้าด้วย REGEX
หมายเลขสินค้าในเอกสารของเรามีรูปแบบดังนี้:
เริ่มต้นด้วยตัวอักษรพิมพ์ใหญ่สองตัว ตามด้วยขีดคั่น แล้วตามด้วยเลข 6 หลัก

ตัวอย่างหมายเลขสินค้าได้แก่:
MS-863398
DS-452829
เพื่อแยกหมายเลขสินค้าเหล่านี้ออกมา เราสามารถใช้นิพจน์ปรกติต่อไปนี้:
[A-Z]{2}-\d{6}
PaperOffice สามารถทำให้เอกสารของคุณเป็นดิจิทัลและผสานรวมกับระบบของคุณเพื่อทำให้การแยกข้อมูลจากใบแจ้งหนี้และเอกสารอื่นๆ เป็นไปโดยอัตโนมัติ โดยไม่ต้องเขียนและบำรุงรักษาโค้ดจำนวนมาก
ติดต่อเราเพื่อพูดคุยเกี่ยวกับกรณีการใช้งานของคุณและเรียนรู้เพิ่มเติมว่า PaperOffice สามารถช่วยให้คุณมีความได้เปรียบในการแข่งขันในยุคดิจิทัลได้อย่างไร
เริ่มต้นใช้งานง่ายกว่าที่คุณคิด
คุณยังกังวลว่าจะไม่ประสบความสำเร็จอยู่หรือไม่? อ่านกรณีศึกษาจากลูกค้าของเราเกี่ยวกับการผสานรวม PaperOffice เข้ากับชีวิตธุรกิจของคุณ และพิสูจน์ความเรียบง่ายด้วยตัวเอง หรือสมัครติดตั้งทดสอบเลย
สำนักงานไร้กระดาษเหมาะสำหรับใครบ้าง?
คำตอบที่รวดเร็วและง่ายสำหรับคำถามนี้คือ: สำหรับทุกบริษัท ทุกภาคส่วนธุรกิจและขนาดต่างได้รับประโยชน์จากสำนักงานไร้กระดาษ ตั้งแต่ SMEs และสตาร์ทอัพไปจนถึงบริษัทขนาดใหญ่ อย่างไรก็ตาม การเปลี่ยนแปลงนี้มีคุณค่าเป็นพิเศษสำหรับบริษัทขนาดเล็กและขนาดกลาง: การลดความพยายามและต้นทุนในการประมวลผลช่วยปลดปล่อยงบประมาณที่จำเป็นสำหรับการเร่งการเติบโตเพิ่มเติม
ฉันสามารถใช้ผู้ให้บริการ DMS แบบคลาวด์สำหรับสำนักงานไร้กระดาษของฉันได้หรือไม่?
ไม่ได้ ปัจจัยอีกประการหนึ่งที่ทุกคนพูดถึงตั้งแต่ GDPR มีผลบังคับใช้ในปี 2018 อย่างน้อยที่สุดคือความเป็นส่วนตัวของข้อมูล โซลูชันและซอฟต์แวร์ DMS ถูกใช้เพื่อประมวลผล จัดการ และจัดเก็บเอกสารที่มักมีข้อมูลที่ละเอียดอ่อนและเป็นส่วนตัว หากมีการละเมิด GDPR ผู้บัญญัติกฎหมายกำหนดโทษปรับสูง
-
ประโยชน์ที่ได้อาจ justify ความพยายามและต้นทุน
การทำงานแบบดิจิทัลและการนำเอกสารเก่าเข้าสู่ยุคใหม่จะเป็นการลงทุนที่ดีที่สุดเพื่อประหยัดเวลา เงิน และความเครียดได้อย่างมากในอนาคต -
คุณต้องการคนที่มีความรู้
คุณไม่จำเป็นต้องมีผู้เชี่ยวชาญด้านไอทีในองค์กรของตัวเองเพื่อใช้ประโยชน์จากข้อดีของการทำดิจิทัลทั้งหมด
สิ่งที่คุณต้องการคือพันธมิตรที่เหมาะสมที่อยู่เคียงข้างคุณ ซึ่งด้วยความเชี่ยวชาญของเขาสามารถดำเนินการตามที่คุณต้องการได้อย่างแม่นยำ หลีกเลี่ยงการสร้างความกลัวและเลือกทดลองใช้งานจริงแทนที่จะเป็นนำเสนอด้วย PowerPoint ที่ดูหรูหราแต่ไม่ได้ทดสอบอย่างแท้จริง -
ฮาร์ดแวร์มักมีอยู่แล้ว
ประสบการณ์แสดงให้เห็นว่าเกือบทุกองค์กรหรือบริษัทมีเครื่องถ่ายเอกสารขนาดใหญ่ที่ไม่ได้ใช้ศักยภาพอย่างเต็มที่ อุปกรณ์เหล่านี้รองรับการสแกนจำนวนมาก ทนต่อคลิปหนีบกระดาษ และสามารถเป็นพื้นฐานสำหรับการเริ่มต้นทำดิจิทัลโดยไม่ต้องลงทุนซื้อสแกนเนอร์ใหม่ -
Cheaper than expected with the right DMS
ประหยัดกว่าที่คาดไว้เมื่อเลือก DMS ที่เหมาะสม หลีกเลี่ยงกับดักค่าใช้จ่ายในระบบ DMS/ECM ที่ทำให้คุณตกอยู่ภายใต้การควบคุมของผู้ผลิตโดยสิ้นเชิง อย่าประนีประนอมเมื่อพูดถึงความสามารถในการจัดการระบบของคุณเอง เช่น การสอนระบบให้รู้จักเอกสารและการตั้งค่าต่างๆ ด้วยตนเอง หากต้องการความช่วยเหลือ ผู้ผลิตยินดีที่จะช่วยเหลือ แต่จงรักษาความเป็นอิสระไว้ -
Digital automation is the future
กระบวนการในอนาคตจะเหมือนกันทั้งหมด แต่จะทำงานอัตโนมัติอย่างสมบูรณ์
มีใบแจ้งหนี้เข้ามา? กระบวนการทำงานจะถูกกระตุ้นและทุกอย่างดำเนินไปตามที่กำหนด
ค้นหาในโฟลเดอร์ทั้งหมด 1,000 โฟลเดอร์? ไม่มีปัญหา เพราะคุณมี Google ของคุณเอง!
