project นี้เป็น project ที่เกิดจากการทำใหม่จาก project สหกิจศึกษาเนื่องจากปัญหาของ windows update ที่ทำให้ไฟล์บางส่วนนั้นหายไป
สามารถดูเล่มรายงานโปรเจคสหกิจก่อนที่จะทำโปรเจคนี้ใหม่ได้ที่ : Link to Google Drive
ไฟล์แนบที่มาพร้อมอีเมล์สมัครงานนั้นมักจะประกอบไปด้วย resume transcript และใบเซอร์ โดยทั้ง 3 อย่างนี้มีรูปแบบที่แตกต่างกัน การใช้คนมาคัดแยกอาจเป็นเรื่องง่าย
แต่ถ้าอีเมล์สมัครงานนั้นถูกส่งมามากๆ ล่ะต้องเป็นปัญหาอย่างแน่นนอน ทาง MFEC ได้เล็งเห็นถึงปัญหานี้ จึงเป็นได้จัดทำ ProJec MDU (PROJECT MFEC DOCUMENT UNDERSTANDING) ขึ้น โดยการใช้ AI มาช่วยในการลดเวลาคัดแยกเอกสารเหล่านี้
- สามารถแปลงไฟล์ใเอกสารห้สามารถรองรับการทำ image classification ได้
- สามารถจัดเก็บไฟล์์เอกสารไฟล์นั้น หรือแต่ละหน้าของไฟล์นั้นที่ถูกทำนายผลแล้ว ตามประเภทที่ได้ถูกทำการทำนาย
- ไฟล์เอกสารที่ถูกจัดเก็บสามารถนำไปทำการ OCR เพื่อสกัดข้อมูลจากเอกสาร
- ตำแหน่ง : data engineer
- ลักษณะงาน : เป็นผู้พัฒนาระบบในการส่งข้อมูล จัดการกับข้อมูลก่อนที่จะเข้าสู่ระบบจัดเก็บข้อมูล และ ออกแบบวิธีจัดเก็บ เน้นความรู้ทางด้านการใช้เครื่องมือเกี่ยวกับ Big Data และการเลือกใช้ storage เพื่อการจัดเก็บข้อมูล
ควรมีการสร้าง Directory Tree ตามนี้ก่อนเพื่อนรองรับการจัดเก็บไฟล์ในโมดูลนี้
| ชื่อโฟลเดอร์ | คำอธิบาย |
|---|---|
| DocDirectory | เป็นโฟลเดอร์แม่ในการจัดเก็บกระบวนการและจัดเก็บเอกสารภายใน |
| predictedfile | เป็นไฟล์เดอร์ที่รองรับเอกสารที่ถูกทำนายผลแล้วและจัดเก็บเอกสารต้นฉบับด้วย |
| TMPfile | เป็นโฟล์เดอร์จัดเก็บไฟล์ชั่วคราวมี 4 โฟลเดอร์ย่อยได้แก่ convertedJPG เป็นโฟลเดอร์ที่จัดเก็บไฟล์เป็น JPG convertedPDF เป็นโฟลเดอร์ที่จัดเก็บไฟล์เป็น PDF docclass โฟลเดอร์จัดเก็บ เอกสารหน้าที่ถูกทำนายแล้วตามโฟลเดอร์ชื่อ class splitedPDF จัดเก็บเอกสาร PDF ที่มีหลายหน้าโดยจะแบ่งหน้าและจัดเก็บในนี้ |
การคัดแยกเอกสารนั้นจำเป็นต้องใช้โมเดลจากการทำ image classification และทำการนำไปทำการ ocr จึงจำเป็นต้องแปลงไฟล์เป็น 2 แบบ คือ ไฟล์ .jpg และ .pdf โดยหลักการแปลงไฟล์ จะทำการแปลงไฟล์ที่นำเข้ามาเป็น 2 ประเภทตามที่บอกไว้ในข้างต้น โดยเงื่อนไขไฟล์ที่นำเข้าจะประกอบไปด้วย
-
ไฟล์ .pdf จะทำการแบ่งหน้า ให้แต่หน้าเป็นไฟล์เดี่ยว แล้วจัดเก็บที่ /splitedPDF แล้วแบ่งแต่ละหน้าเป็น .jpg
-
ไฟล์ .doc/.docx จะแปลงไฟล์ให้เป็น .pdf ก่อน แล้วจัดเก็บที่ จากนั้นก็นำไฟล์ .pdf ที่ได้มานั้นเข้ากระบวนการเดียวกับ ไฟล์ .pdf
-
ไฟล์ รูปภาพ จะแปลงเป็นไฟล์ .pdf และ .jpg
-
ไฟล์อื่นๆ จะไม่เข้า process
โดยไฟล์ .pdf และ .jpg ที่หน้าเดียวกันจะมีชื่อเหมือนกัน ต่อมาจะนำไฟล์ .jpg แต่ละหน้าที่ได้มาทำนายผลว่าเป็นเอกสาร class อะไรผ่านการทำ image classification เมื่อได้ชื่อ class เอกสารหน้านั้นแล้วก็ทำการจัดเก็บไฟล์ .pdf ชื่อเดียวกันตามประเภทของเอกสารหน้านั้นที่ได้ทำนายออกมา เมื่อเอกสารที่ถูกทำนายออกมาอยู่ใน class เดียวกันหลายหน้าก็จะรวมกันเป็นไฟล์เดียวกัน
ในการทำ image classification นั้นมีปัญหาที่ไฟล์ที่มี text จำนวนมากในเอกสารถูกทำนายเป็น resume เป็นส่วนใหญ่ ในความคิดเห็นส่วนตัวนั้นคิดว่าควรใช้การทำ text classification เข้ามาเข้าช่วยเนื่องจากเอกสารหลายๆ ใบในแต่ละประเภทมี text ที่แตกต่างกัน
- Anaconda.Navigator
https://www.anaconda.com/- PyTorch
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch- pathlib
pip install pathlib- pdf2image
pip install pdf2image- poppler
conda install -c conda-forge poppler- PyPDF2
pip install PyPDF2- Pillow
pip install Pillow
