เมื่อเร็ว ๆ นี้ Amazon Machine Learning Solutions Lab (MLSL) ได้สร้างเครื่องมือสำหรับใส่คำอธิบายประกอบข้อความด้วยการรู้จำชื่อเอนทิตี (NER) และป้ายกำกับความสัมพันธ์โดยใช้ ความจริงของ Amazon SageMaker. คำอธิบายประกอบใช้เครื่องมือนี้เพื่อติดป้ายกำกับข้อความกับเอนทิตีที่มีชื่อและเชื่อมโยงความสัมพันธ์ จึงสร้างชุดข้อมูลสำหรับการฝึกอบรมโมเดลแมชชีนเลิร์นนิง (ML) การประมวลผลภาษาธรรมชาติ (NLP) ที่ล้ำสมัย สิ่งสำคัญที่สุดคือ ตอนนี้ลูกค้า AWS ทุกรายสามารถใช้งานแบบสาธารณะได้แล้ว
กรณีการใช้งานของลูกค้า: Booking.com
Booking.com เป็นหนึ่งในแพลตฟอร์มการท่องเที่ยวออนไลน์ชั้นนำของโลก การทำความเข้าใจว่าลูกค้าพูดถึงอะไรเกี่ยวกับรายการอสังหาริมทรัพย์ของบริษัทกว่า 28 ล้านรายการบนแพลตฟอร์มนั้นเป็นสิ่งจำเป็นสำหรับการรักษาประสบการณ์ที่ยอดเยี่ยมของลูกค้า ก่อนหน้านี้ Booking.com สามารถใช้เฉพาะการวิเคราะห์ความรู้สึกแบบดั้งเดิมเพื่อตีความรีวิวที่ลูกค้าสร้างขึ้นในวงกว้าง เมื่อเร็วๆ นี้ Booking.com ต้องการยกระดับความเฉพาะเจาะจงของการตีความเหล่านี้ โดยหันมาใช้ MLSL เพื่อขอความช่วยเหลือในการสร้างชุดข้อมูลที่มีคำอธิบายประกอบแบบกำหนดเองสำหรับฝึกโมเดลการวิเคราะห์ความคิดเห็นตามแง่มุมต่างๆ
การวิเคราะห์ความรู้สึกแบบดั้งเดิมคือกระบวนการจัดประเภทข้อความในเชิงบวก เชิงลบ หรือเป็นกลางเป็น a ความรู้สึกเอกพจน์. วิธีนี้ใช้ได้ผลเพื่อทำความเข้าใจในวงกว้างว่าผู้ใช้พอใจหรือไม่พอใจกับประสบการณ์หนึ่งๆ ตัวอย่างเช่น ด้วยการวิเคราะห์ความรู้สึกแบบดั้งเดิม ข้อความต่อไปนี้อาจถูกจัดประเภทเป็น "เป็นกลาง":
การพักที่โรงแรมเป็นสิ่งที่ดี พนักงานเป็นกันเองและห้องพักสะอาด แต่เตียงของเราค่อนข้างอึดอัด
การวิเคราะห์ความรู้สึกตามแง่มุมช่วยให้เข้าใจเนื้อหาที่เหมาะสมยิ่งขึ้น ในกรณีของ Booking.com แทนที่จะทำรีวิวลูกค้าโดยรวมและจัดหมวดหมู่อย่างเป็นหมวดหมู่ แทนที่จะใช้ความคิดเห็นของลูกค้าในภาพรวมแล้วกำหนดเป็นประเด็นเฉพาะเจาะจง ตัวอย่างเช่น บทวิจารณ์ของลูกค้าเกี่ยวกับโรงแรมหนึ่งๆ อาจชมเชยสระว่ายน้ำและพื้นที่ออกกำลังกายที่สะอาดหมดจด แต่ให้คำติชมเชิงวิจารณ์เกี่ยวกับร้านอาหารและเลานจ์
ถ้อยแถลงซึ่งจัดอยู่ในประเภท "เป็นกลาง" โดยการวิเคราะห์ความรู้สึกแบบดั้งเดิม ด้วยการวิเคราะห์ความคิดเห็นตามแง่มุม จะกลายเป็น:
การพักที่โรงแรมเป็นสิ่งที่ดี พนักงานเป็นกันเองและห้องพักสะอาด แต่เตียงของเราค่อนข้างอึดอัด
- โรงแรม: บวก
- พนักงาน: บวก
- ห้อง: บวก
- เตียง: ลบ
Booking.com พยายามสร้างแบบจำลองการวิเคราะห์ความรู้สึกตามแง่มุมที่กำหนดขึ้นเอง ซึ่งจะบอกว่าส่วนใดของประสบการณ์ที่ผู้เข้าพักได้รับ (จากรายการมากกว่า 50 แง่มุม) บวก, เชิงลบ,หรือ เป็นกลาง.
ก่อนที่ Booking.com จะสร้างชุดข้อมูลการฝึกอบรมสำหรับโมเดลนี้ พวกเขาต้องการวิธีใส่คำอธิบายประกอบ เครื่องมือคำอธิบายประกอบของ MLSL มอบโซลูชันแบบกำหนดเองที่จำเป็นมาก การตรวจสอบโดยมนุษย์ดำเนินการกับบทวิจารณ์โรงแรมชุดใหญ่ จากนั้น ผู้สร้างคำอธิบายประกอบจะกรอกคำอธิบายประกอบที่มีชื่อเอนทิตีบนช่วงข้อความและวลีของความรู้สึกและประสบการณ์ของแขก ก่อนที่จะเชื่อมโยงช่วงที่เหมาะสมเข้าด้วยกัน
รูปแบบตามมุมมองใหม่ช่วยให้ Booking.com ปรับแต่งทั้งที่พักและรีวิวให้เหมาะกับลูกค้า การเน้นด้านบวกและด้านลบของที่พักแต่ละแห่งช่วยให้ลูกค้าสามารถเลือกคู่ที่ลงตัวได้ นอกจากนี้ ลูกค้าแต่ละกลุ่มให้ความสนใจเกี่ยวกับแง่มุมต่างๆ ของที่พัก และโมเดลใหม่เปิดโอกาสให้แสดงบทวิจารณ์ที่เกี่ยวข้องมากที่สุดสำหรับแต่ละแบบ
ข้อกำหนดการติดฉลาก
แม้ว่า Ground Truth จะมีความสามารถในการใส่คำอธิบายประกอบข้อความ NER ในตัว แต่ก็ไม่ได้ให้ความสามารถในการเชื่อมโยงเอนทิตีเข้าด้วยกัน เมื่อคำนึงถึงสิ่งนี้ Booking.com และ MLSL จึงดำเนินการตามข้อกำหนดระดับสูงต่อไปนี้สำหรับเครื่องมือการติดฉลากข้อความการจดจำชื่อนิติบุคคลที่มีชื่อใหม่ ซึ่ง:
- ยอมรับเป็นอินพุต: ข้อความ, ป้ายกำกับเอนทิตี, ป้ายกำกับความสัมพันธ์และ ป้ายกำกับการจำแนกประเภท.
- เลือกที่จะยอมรับเป็นข้อมูลที่ใส่คำอธิบายประกอบล่วงหน้าด้วยป้ายกำกับก่อนหน้าและคำอธิบายประกอบความสัมพันธ์.
- นำเสนอคำอธิบายประกอบด้วยข้อความที่ไม่มีคำอธิบายประกอบหรือมีคำอธิบายประกอบล่วงหน้า
- อนุญาตให้ผู้ทำหมายเหตุประกอบไฮไลต์และหมายเหตุประกอบข้อความตามอำเภอใจด้วยป้ายกำกับเอนทิตี
- อนุญาตให้คำอธิบายประกอบสร้างความสัมพันธ์ระหว่างคำอธิบายประกอบเอนทิตีสองรายการ
- ช่วยให้คำอธิบายประกอบนำทางไปยังป้ายชื่อเอนทิตีจำนวนมากได้อย่างง่ายดาย
- รองรับการจัดกลุ่มป้ายกำกับเอนทิตีเป็นหมวดหมู่
- อนุญาตความสัมพันธ์ที่ทับซ้อนกัน ซึ่งหมายความว่าส่วนข้อความที่มีคำอธิบายประกอบเดียวกันสามารถเกี่ยวข้องกับส่วนข้อความที่มีคำอธิบายประกอบอื่นๆ ได้มากกว่าหนึ่งส่วน
- อนุญาตให้มีคำอธิบายประกอบป้ายกำกับเอนทิตีที่ทับซ้อนกัน ซึ่งหมายความว่าคำอธิบายประกอบสองรายการสามารถซ้อนทับข้อความชิ้นเดียวกันได้ ตัวอย่างเช่น ข้อความ "Seattle Space Needle" สามารถมีทั้งคำอธิบายประกอบ "Seattle" → "สถานที่" และ "Seattle Space Needle" → "สถานที่ท่องเที่ยว"
- รูปแบบเอาต์พุตเข้ากันได้กับรูปแบบอินพุต และสามารถป้อนกลับไปยังงานติดฉลากที่ตามมาได้
- รองรับข้อความที่เข้ารหัส UTF-8 ที่มีอีโมจิและอักขระหลายไบต์อื่นๆ
- รองรับภาษาจากซ้ายไปขวา
ตัวอย่างคำอธิบายประกอบ
พิจารณาเอกสารต่อไปนี้:
เราชอบที่ตั้งของโรงแรมนี้! เลานจ์บนชั้นดาดฟ้าทำให้เรามองเห็นสเปซนีดเดิ้ลได้อย่างสมบูรณ์แบบ นอกจากนี้ยังอยู่ห่างจากตลาด pike place และริมน้ำด้วยการเดินทางโดยรถยนต์ระยะสั้น ๆ
อาหารมีให้บริการผ่านรูมเซอร์วิสเท่านั้น ซึ่งน่าผิดหวังเล็กน้อย แต่ก็สมเหตุสมผลในโลกหลังการระบาดใหญ่
โดยรวมแล้วเป็นประสบการณ์ที่ราคาสมเหตุสมผล
การโหลดเอกสารนี้ลงในคำอธิบายประกอบ NER ใหม่จะนำเสนอผู้ปฏิบัติงานด้วยอินเทอร์เฟซต่อไปนี้:
ในกรณีนี้ หน้าที่ของคนงานคือ:
- ป้ายกำกับที่เกี่ยวข้องกับสถานที่ให้บริการ (สถานที่ ราคา อาหาร ฯลฯ)
- ป้ายกำกับเอนทิตีที่เกี่ยวข้องกับความคิดเห็น (บวก ลบ หรือเป็นกลาง)
- เชื่อมโยงเอนทิตีที่มีชื่อที่เกี่ยวข้องกับที่พักกับคีย์เวิร์ดที่เกี่ยวข้องกับความรู้สึกเพื่อบันทึกประสบการณ์ของแขกได้อย่างถูกต้อง
ความเร็วของคำอธิบายประกอบเป็นข้อพิจารณาที่สำคัญของเครื่องมือ การใช้ลำดับของแป้นพิมพ์ลัดที่ใช้งานง่ายและรูปแบบลายเส้นของเมาส์ เครื่องมืออธิบายประกอบสามารถขับเคลื่อนอินเทอร์เฟซและ:
- เพิ่มและลบคำอธิบายประกอบเอนทิตีที่มีชื่อ
- เพิ่มความสัมพันธ์ระหว่างเอนทิตีที่มีชื่อ
- ข้ามไปที่จุดเริ่มต้นและจุดสิ้นสุดของเอกสาร
- ส่งเอกสาร
นอกจากนี้ยังมีการรองรับฉลากที่ทับซ้อนกัน ตัวอย่างเช่น, Seattle Space Needle
: ในประโยคนี้ Seattle
มีคำอธิบายประกอบทั้งในฐานะที่ตั้งโดยตัวมันเองและเป็นส่วนหนึ่งของชื่อสถานที่ท่องเที่ยว
คำอธิบายประกอบที่สมบูรณ์ให้การวิเคราะห์ข้อมูลที่สมบูรณ์และเหมาะสมยิ่งขึ้น:
ความสัมพันธ์สามารถกำหนดค่าได้หลายระดับ ตั้งแต่หมวดหมู่เอนทิตีไปจนถึงหมวดหมู่เอนทิตีอื่นๆ (เช่น จาก "อาหาร" ถึง "ความรู้สึก") หรือระหว่างเอนทิตีแต่ละประเภท ความสัมพันธ์ถูกกำหนดโดยตรง ดังนั้นผู้ทำหมายเหตุประกอบจึงสามารถเชื่อมโยงแง่มุมต่างๆ เช่น อาหารกับความรู้สึก แต่ไม่ใช่ในทางกลับกัน (เว้นแต่จะเปิดใช้งานอย่างชัดแจ้ง) เมื่อวาดความสัมพันธ์ เครื่องมือคำอธิบายประกอบจะสรุปป้ายกำกับและทิศทางของความสัมพันธ์โดยอัตโนมัติ
การกำหนดค่าเครื่องมือคำอธิบายประกอบ NER
ในส่วนนี้ เราจะพูดถึงวิธีปรับแต่งเครื่องมือคำอธิบายประกอบของ NER สำหรับกรณีการใช้งานเฉพาะของลูกค้า ซึ่งรวมถึงการกำหนดค่า:
- ข้อความที่ป้อนเพื่ออธิบาย
- ป้ายกำกับเอนทิตี
- ป้ายความสัมพันธ์
- ป้ายกำกับการจำแนกประเภท
- ข้อมูลที่มีคำอธิบายประกอบล่วงหน้า
- คำแนะนำผู้ปฏิบัติงาน
เราจะกล่าวถึงรูปแบบเฉพาะของเอกสารอินพุตและเอาต์พุต พร้อมทั้งให้ตัวอย่างบางส่วนของแต่ละรูปแบบ
รูปแบบเอกสารอินพุต
เครื่องมือคำอธิบายประกอบ NER ต้องการเอกสารอินพุตรูปแบบ JSON ต่อไปนี้ (ฟิลด์ที่มีเครื่องหมายคำถามถัดจากชื่อเป็นตัวเลือก)
โดยสรุป รูปแบบการป้อนข้อมูลมีลักษณะดังนี้:
- แต่ละ
entityLabels
orclassificationLabels
(หรือทั้งสองอย่าง) จำเป็นต้องใส่คำอธิบายประกอบ - If
entityLabels
จะได้รับแล้วrelationshipLabels
สามารถเพิ่ม - อนุญาตให้ใช้ความสัมพันธ์ระหว่างป้ายกำกับเอนทิตี/ประเภทต่างๆ หรือผสมกัน
- "แหล่งที่มา" ของความสัมพันธ์คือเอนทิตีที่ลูกศรชี้นำเริ่มต้น ในขณะที่ "เป้าหมาย" คือตำแหน่งที่มุ่งไป
สนาม | ชนิดภาพเขียน | รายละเอียด |
ข้อความ | เชือก | ที่จำเป็น. ป้อนข้อความสำหรับคำอธิบายประกอบ |
โทเค็นแถว | สตริง[][] | ไม่จำเป็น. โทเค็นที่กำหนดเองของข้อความที่ป้อน อาร์เรย์ของอาร์เรย์ของสตริง อาร์เรย์ระดับบนสุดแทนแต่ละแถวของข้อความ (ตัวแบ่งบรรทัด) และอาร์เรย์ระดับที่สองแทนโทเค็นในแต่ละแถว อักขระ/อักษรรูนทั้งหมดในข้อความที่ป้อนจะต้องคิดเป็น tokenRows รวมถึงช่องว่างใดๆ |
รหัสเอกสาร | เชือก | ไม่จำเป็น. ค่าทางเลือกสำหรับลูกค้าในการติดตามเอกสารที่มีคำอธิบายประกอบ |
ป้ายกำกับเอนทิตี | วัตถุ[] | จำเป็นหากการจัดหมวดหมู่ป้ายกำกับว่างเปล่า อาร์เรย์ของป้ายกำกับเอนทิตี |
entityLabels[].ชื่อ | เชือก | ที่จำเป็น. ชื่อที่แสดงป้ายกำกับเอนทิตี |
entityLabels[].หมวดหมู่ | เชือก | ไม่จำเป็น. ชื่อหมวดหมู่ป้ายกำกับเอนทิตี |
entityLabels[].ชื่อย่อ | เชือก | ไม่จำเป็น. แสดงข้อความนี้เหนือเอนทิตีที่มีคำอธิบายประกอบแทนชื่อเต็ม |
enterLabels[].shortCategory | เชือก | ไม่จำเป็น. แสดงข้อความนี้ในรายการดร็อปดาวน์ของคำอธิบายประกอบเอนทิตีแทนตัวอักษรสี่ตัวแรกของชื่อหมวดหมู่ |
entityLabels.สี | เชือก | ไม่จำเป็น. รหัสสีฐานสิบหกที่มีคำนำหน้า “#” หากว่าง ระบบจะกำหนดสีให้กับป้ายกำกับเอนทิตีโดยอัตโนมัติ |
ป้ายชื่อความสัมพันธ์ | วัตถุ[] | ไม่จำเป็น. อาร์เรย์ของป้ายชื่อความสัมพันธ์ |
ป้ายกำกับความสัมพันธ์[].ชื่อ | เชือก | ที่จำเป็น. ชื่อที่แสดงป้ายกำกับความสัมพันธ์ |
ความสัมพันธ์Labels[].allowedRelationships | วัตถุ[] | ไม่จำเป็น. อาร์เรย์ของค่าที่จำกัดชนิดของป้ายกำกับเอนทิตีต้นทางและปลายทางที่สามารถกำหนดความสัมพันธ์นี้ได้ แต่ละรายการในอาร์เรย์คือ "OR'ed" ด้วยกัน |
ความสัมพันธ์Labels[].allowedRelationships[].sourceEntityLabelCategories | สตริง[] | จำเป็นต้องตั้งค่า sourceEntityLabelCategories หรือ sourceEntityLabels อย่างใดอย่างหนึ่ง (หรือทั้งสองอย่าง) รายการประเภทป้ายกำกับนิติบุคคลแหล่งที่มาสำหรับความสัมพันธ์นี้ |
relationLabels[].allowedRelationships[].targetEntityLabelCategories | สตริง[] | จำเป็นต้องตั้งค่า targetEntityLabelCategories หรือ targetEntityLabels (หรือทั้งสองอย่าง) รายการประเภทป้ายกำกับนิติบุคคลเป้าหมายสำหรับความสัมพันธ์นี้ |
ความสัมพันธ์Labels[].allowedRelationships[].sourceEntityLabels | สตริง[] | จำเป็นต้องตั้งค่า sourceEntityLabelCategories หรือ sourceEntityLabels อย่างใดอย่างหนึ่ง (หรือทั้งสองอย่าง) รายการประเภทป้ายกำกับเอนทิตีแหล่งที่มาทางกฎหมายสำหรับความสัมพันธ์นี้ |
ความสัมพันธ์Labels[].allowedRelationships[].sourceEntityLabels | สตริง[] | จำเป็นต้องตั้งค่า targetEntityLabelCategories หรือ targetEntityLabels (หรือทั้งสองอย่าง) รายการประเภทป้ายกำกับนิติบุคคลเป้าหมายสำหรับความสัมพันธ์นี้ |
หมวดหมู่ฉลาก | สตริง[] | จำเป็นหาก entityLabels ว่างเปล่า รายการป้ายจำแนกระดับเอกสาร |
คำอธิบายประกอบเอนทิตี | วัตถุ[] | ไม่จำเป็น. อาร์เรย์ของคำอธิบายประกอบเอนทิตีเพื่อใส่คำอธิบายประกอบล่วงหน้ากับข้อความที่ป้อนด้วย |
เอนทิตีคำอธิบายประกอบ[].id | เชือก | ที่จำเป็น. ตัวระบุเฉพาะสำหรับคำอธิบายประกอบเอนทิตีนี้ ใช้เพื่ออ้างอิงเอนทิตีนี้ในคำอธิบายประกอบความสัมพันธ์ |
เอนทิตี Annotations[].start | จำนวน | ที่จำเป็น. เริ่มการชดเชยรูนของคำอธิบายประกอบเอนทิตีนี้ |
เอนทิตีคำอธิบายประกอบ[].end | จำนวน | ที่จำเป็น. สิ้นสุดการชดเชยรูนของคำอธิบายประกอบเอนทิตีนี้ |
เอนทิตีคำอธิบายประกอบ[].ข้อความ | เชือก | ที่จำเป็น. เนื้อหาข้อความระหว่างการเริ่มต้นและสิ้นสุดการชดเชยรูน |
เอนทิตีคำอธิบายประกอบ[].label | เชือก | ที่จำเป็น. ชื่อป้ายกำกับเอนทิตีที่เกี่ยวข้อง (จากชื่อใน entityLabels) |
EntityAnnotations[].labelCategory | เชือก | ไม่จำเป็น หมวดหมู่ป้ายกำกับเอนทิตีที่เกี่ยวข้อง (จากหมวดหมู่ในentityLabels) |
คำอธิบายประกอบความสัมพันธ์ | วัตถุ[] | ไม่จำเป็น. อาร์เรย์ของคำอธิบายประกอบความสัมพันธ์ |
คำอธิบายประกอบความสัมพันธ์[].sourceEntityAnnotationId | เชือก | ที่จำเป็น. ID คำอธิบายประกอบเอนทิตีต้นทางสำหรับความสัมพันธ์นี้ |
คำอธิบายประกอบความสัมพันธ์[].targetEntityAnnotationId | เชือก | ที่จำเป็น. ID คำอธิบายประกอบเอนทิตีเป้าหมายสำหรับความสัมพันธ์นี้ |
ความสัมพันธ์คำอธิบายประกอบ[].label | เชือก | ที่จำเป็น. ชื่อป้ายกำกับความสัมพันธ์ที่เกี่ยวข้อง |
การจัดหมวดหมู่คำอธิบายประกอบ | สตริง[] | ไม่จำเป็น. อาร์เรย์ของการจำแนกประเภทเพื่ออธิบายประกอบเอกสารล่วงหน้าด้วย |
เมตา | วัตถุ | ไม่จำเป็น. พารามิเตอร์การกำหนดค่าเพิ่มเติม |
meta.คำแนะนำ | เชือก | ไม่จำเป็น. คำแนะนำสำหรับคำอธิบายประกอบการติดฉลากในรูปแบบ Markdown |
meta.disableส่งการยืนยัน | บูล | ไม่จำเป็น. ตั้งค่าเป็นจริงเพื่อปิดใช้งานโมดอลยืนยันการส่ง |
meta.multiClassification | บูล | ไม่จำเป็น. ตั้งค่าเป็น "จริง" เพื่อเปิดใช้งานโหมดหลายป้ายสำหรับการจำแนกประเภทฉลาก |
ต่อไปนี้คือตัวอย่างเอกสารบางส่วนเพื่อให้เข้าใจรูปแบบการป้อนข้อมูลนี้ได้ดีขึ้น
เอกสารที่ยึดตามสคีมานี้มีให้กับ Ground Truth เป็นรายการแต่ละรายการในรายการอินพุต
รูปแบบเอกสารเอาต์พุต
รูปแบบเอาต์พุตได้รับการออกแบบเพื่อให้ป้อนกลับงานคำอธิบายประกอบใหม่ได้อย่างง่ายดาย ฟิลด์ตัวเลือกในเอกสารเอาต์พุตจะถูกตั้งค่าหากฟิลด์เหล่านั้นถูกตั้งค่าในเอกสารอินพุตด้วย ข้อแตกต่างระหว่างรูปแบบอินพุตและเอาต์พุตคือ meta
วัตถุ.
สนาม | ชนิดภาพเขียน | รายละเอียด |
meta.ถูกปฏิเสธ | บูล | ถูกตั้งค่าเป็นจริงหากตัวบันทึกย่อปฏิเสธเอกสารนี้ |
meta.rejectedเหตุผล | เชือก | เหตุผลของ Annotator สำหรับการปฏิเสธเอกสาร |
meta.รูน | สตริง[] | อาร์เรย์ของรูนบัญชีสำหรับอักขระทั้งหมดในข้อความที่ป้อน ใช้เพื่อคำนวณจุดเริ่มต้นและจุดสิ้นสุดของคำอธิบายประกอบเอนทิตี |
นี่คือตัวอย่างเอกสารเอาต์พุตที่มีคำอธิบายประกอบ:
หมายเหตุอักษรรูน:
“อักษรรูน” ในบริบทนี้คืออักขระที่สามารถไฮไลท์ได้ตัวเดียวในข้อความ รวมถึงอักขระแบบหลายไบต์ เช่น อิโมจิ
- เนื่องจากภาษาการเขียนโปรแกรมที่แตกต่างกันแสดงถึงอักขระหลายไบต์ที่แตกต่างกัน การใช้ "รูน" เพื่อกำหนดอักขระที่สามารถไฮไลท์ได้ทุกตัวเป็นองค์ประกอบอะตอมเดียว หมายความว่าเรามีวิธีที่ชัดเจนในการอธิบายการเลือกข้อความใดก็ตาม
- ตัวอย่างเช่น Python ถือว่าธงชาติสวีเดนเป็นอักขระสี่ตัว:
แต่ JavaScript ถือว่าอีโมจิตัวเดียวกันเป็นอักขระสองตัว
เพื่อขจัดความคลุมเครือใดๆ เราจะถือว่าธงชาติสวีเดน (และอีโมจิอื่นๆ ทั้งหมด และอักขระแบบหลายไบต์) เป็นองค์ประกอบอะตอมเดียว
- ออฟเซ็ต: ตำแหน่งรูนสัมพันธ์กับข้อความป้อน (เริ่มต้นด้วยดัชนี 0)
ทำคำอธิบายประกอบ NER ด้วยความจริงพื้นฐาน
ในฐานะบริการติดฉลากข้อมูลที่มีการจัดการเต็มรูปแบบ Ground Truth สร้างชุดข้อมูลการฝึกอบรมสำหรับ ML สำหรับกรณีการใช้งานนี้ เราใช้ Ground Truth เพื่อส่งชุดเอกสารข้อความไปยังกลุ่มคนทำงานสำหรับคำอธิบายประกอบ สุดท้าย เราตรวจสอบคุณภาพ
สามารถกำหนดค่า Ground Truth เพื่อสร้างงานการติดฉลากข้อมูลโดยใช้เครื่องมือ NER ใหม่เป็นเทมเพลตแบบกำหนดเอง
โดยเฉพาะอย่างยิ่ง เราจะ:
- สร้างพนักงานติดฉลากส่วนตัวของผู้ปฏิบัติงานเพื่อดำเนินงานคำอธิบายประกอบ
- สร้างรายการอินพุต Ground Truth ด้วยเอกสารที่เราต้องการใส่คำอธิบายประกอบ แล้วอัปโหลดไปยัง บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3)
- สร้างงานก่อนการติดฉลากและงานหลังการติดฉลาก ฟังก์ชัน Lambda
- สร้างงานติดฉลาก Ground Truth โดยใช้เทมเพลต NER แบบกำหนดเอง
- ใส่คำอธิบายประกอบเอกสาร
- ผลการตรวจทาน
แหล่งข้อมูลเครื่องมือ NER
สามารถดูรายการทรัพยากรอ้างอิงและเอกสารตัวอย่างทั้งหมดได้ในแผนภูมิต่อไปนี้:
ป้ายกำกับการสร้างกำลังคน
Ground Truth ใช้พนักงานติดฉลาก SageMaker เพื่อจัดการพนักงานและแจกจ่ายงาน สร้างทีมงานส่วนตัว ทีมงานที่เรียกว่า ner-worker-team และมอบหมายตัวเองให้กับทีมโดยใช้คำแนะนำที่พบใน สร้างบุคลากรส่วนตัว (คอนโซล Amazon SageMaker).
เมื่อคุณเพิ่มตัวเองในทีมงานส่วนตัวและยืนยันอีเมลแล้ว ให้จด URL พอร์ทัลของผู้ปฏิบัติงานจาก AWS Management Console:
- นำทางไปยัง
SageMaker
- นำทางไปยัง
Ground Truth → Labeling workforces
- เลือก
Private
แถบ - หมายเหตุ URL
Labeling portal sign-in URL
เข้าสู่ระบบพอร์ทัลของผู้ปฏิบัติงานเพื่อดูและเริ่มงานเกี่ยวกับงานการติดฉลาก
รายการอินพุต
รายการข้อมูลอินพุต Ground Truth เป็นไฟล์บรรทัด JSON ซึ่งแต่ละบรรทัดมีงานของผู้ปฏิบัติงานคนเดียว ในกรณีของเรา แต่ละบรรทัดจะมีเอกสารอินพุตที่เข้ารหัส JSON เดียวซึ่งมีข้อความที่เราต้องการให้คำอธิบายประกอบและสคีมาคำอธิบายประกอบของ NER
ดาวน์โหลดรายการอินพุตตัวอย่าง reviews.manifest
ราคาเริ่มต้นที่ https://assets.solutions-lab.ml/NER/0.2.1/sample-data/reviews.manifest
หมายเหตุ: แต่ละแถวในรายการอินพุตต้องมีคีย์ระดับบนสุด source
or source-ref
. คุณสามารถเรียนรู้เพิ่มเติมใน ใช้ไฟล์ Manifest อินพุต ในคู่มือนักพัฒนา Amazon SageMaker
อัปโหลดรายการอินพุตไปยัง Amazon S3
อัปโหลดรายการอินพุตนี้ไปยังบัคเก็ต S3 โดยใช้ AWS Management Console หรือจากบรรทัดคำสั่ง ซึ่งจะเป็นการแทนที่ your-bucket
ด้วยชื่อบัคเก็ตจริง
ดาวน์โหลดเทมเพลตผู้ปฏิบัติงานที่กำหนดเอง
ดาวน์โหลดเทมเพลตผู้ปฏิบัติงานแบบกำหนดเองของเครื่องมือ NER จาก https://assets.solutions-lab.ml/NER/0.2.1/worker-template.liquid.html โดยการดูแหล่งที่มาและบันทึกเนื้อหาในเครื่องหรือจากบรรทัดคำสั่ง:
สร้างงานก่อนการติดฉลากและงานหลังการติดฉลาก ฟังก์ชัน Lambda
ดาวน์โหลดตัวอย่างงานติดฉลากล่วงหน้าฟังก์ชัน Lambda: smgt-ner-pre-labeling-task-lambda.py
ราคาเริ่มต้นที่ https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-pre-labeling-task-lambda.py
ดาวน์โหลดตัวอย่างงานติดฉลากล่วงหน้าฟังก์ชัน Lambda: smgt-ner-post-labeling-task-lambda.py
ราคาเริ่มต้นที่ https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-post-labeling-task-lambda.py
- สร้างงานติดฉลากล่วงหน้าฟังก์ชัน Lambda จาก AWS Management Console:
- นำทางไปยัง
Lambda
- เลือก
Create function
- ระบุ
Function name
assmgt-ner-pre-labeling-task-lambda
- เลือก
Runtime
→Python 3.6
- เลือก
Create function
- In
Function code
→lambda_hanadler.py
วางเนื้อหาของsmgt-ner-pre-labeling-task-lambda.py
- เลือก
Deploy
- นำทางไปยัง
- สร้างงานหลังการติดฉลากฟังก์ชัน Lambda จาก AWS Management Console:
- นำทางไปยัง
Lambda
- เลือก
Create function
- ระบุ
Function name
assmgt-ner-post-labeling-task-lambda
- เลือก
Runtime
→Python 3.6
- แสดง
Change default execution role
- เลือก
Create a new role from AWS policy templates
- ป้อน
Role name
:smgt-ner-post-labeling-task-lambda-role
- เลือก
Create function
- เลือก
Permissions
แถบ - เลือก
Role name
:smgt-ner-post-labeling-task-lambda-role
เพื่อเปิดคอนโซล IAM - เพิ่มสองนโยบายให้กับบทบาท
- เลือก
Attach policies
- แนบไฟล์
AmazonS3FullAccess
นโยบาย - เลือก
Add inline policy
- เลือก
JSON
แถบ - วางนโยบายแบบอินไลน์ต่อไปนี้:
- เลือก
- กลับไปที่
smgt-ner-post-labeling-task-lambda
หน้าการกำหนดค่าฟังก์ชันแลมบ์ดา - เลือก
Configuration
แถบ - In
Function code
→ ลambda_hanadler.py
วางเนื้อหาของsmgt-ner-post-labeling-task-lambda.py
- เลือก
Deploy
- นำทางไปยัง
สร้างงานการติดฉลาก Ground Truth
จาก AWS Management Console:
- ไปที่
Amazon SageMaker
บริการ - นำทางไปยัง
Ground Truth
→Labeling Jobs
. - เลือก
Create labeling job
- ระบุก
Job Name
- เลือก
Manual Data Setup
- ระบุตำแหน่งชุดข้อมูลอินพุตที่คุณอัปโหลดรายการอินพุตก่อนหน้านี้ (เช่น s
3://your-bucket/ner-input/sample-smgt-input-manifest.jsonl
) - ระบุตำแหน่งชุดข้อมูลเอาต์พุตเพื่อชี้ไปยังโฟลเดอร์อื่นในบัคเก็ตเดียวกัน (เช่น
s3://your-bucket/ner-output/
) - ระบุ
IAM Role
โดยการเลือกCreate new role
- อนุญาตให้บทบาทนี้เข้าถึงบัคเก็ต S3 ใดก็ได้โดยเลือก
S3 buckets you specify
→Any S3 bucket
เมื่อสร้างนโยบาย - ในหน้าต่าง AWS Management Console ใหม่ ให้เปิด
IAM
คอนโซลและเลือกRoles
- ค้นหาชื่อบทบาทที่คุณเพิ่งสร้าง (เช่น
AmazonSageMaker-ExecutionRole-20210301T154158
) - เลือกชื่อบทบาทเพื่อเปิดบทบาทในคอนโซล
- แนบนโยบายสามข้อต่อไปนี้:
- เลือกแนบนโยบาย
- แนบไฟล์
AWSLambda_FullAccess
ถึงบทบาท - เลือก
Trust Relationships
→Edit Trust Relationships
- แก้ไขความสัมพันธ์ที่เชื่อถือได้ JSON
- แทนที่
YOUR_ACCOUNT_NUMBER
ด้วยหมายเลขบัญชี AWS ที่เป็นตัวเลขของคุณ เพื่ออ่าน: - บันทึกความสัมพันธ์ที่ไว้วางใจ
- อนุญาตให้บทบาทนี้เข้าถึงบัคเก็ต S3 ใดก็ได้โดยเลือก
- กลับไปที่งาน Ground Truth ใหม่ในหน้าต่าง AWS Management Console ก่อนหน้า: ภายใต้
Task Category
ให้เลือกCustom
- เลือก
Next
- เลือก
Worker types
:Private
- เลือก
Private team
:ner-worker-team
ที่สร้างขึ้นในส่วนก่อนหน้านี้ - ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร
Custom labeling task setup
พื้นที่ข้อความ ล้างเนื้อหาเริ่มต้นและวางในเนื้อหาของworker-template.liquid.html
ไฟล์ที่ได้มาก่อนหน้านี้ - ระบุ
Pre-labeling task Lambda function
ด้วยฟังก์ชันที่สร้างไว้ก่อนหน้านี้:smgt-ner-pre-labeling
- ระบุ
Post-labeling task Lambda function
ด้วยฟังก์ชันที่สร้างไว้ก่อนหน้านี้:smgt-ner-post-labeling
- เลือก
Create
ใส่คำอธิบายประกอบเอกสาร
เมื่อสร้างงาน Ground Truth แล้ว เราสามารถเริ่มทำหมายเหตุประกอบเอกสารได้ เปิดพอร์ทัลผู้ปฏิบัติงานสำหรับบุคลากรของเราที่สร้างขึ้นก่อนหน้านี้ (ใน AWS Management Console ให้ไปที่ SageMaker
, Ground Truth → Labeling workforces
, Private
และเปิดไฟล์ Labeling portal sign-in URL
)
ลงชื่อเข้าใช้และเลือกงานการติดฉลากงานแรกในตาราง จากนั้นเลือก “เริ่มทำงาน” เพื่อเปิดคำอธิบายประกอบ ทำคำอธิบายประกอบของคุณและเลือกส่งในเอกสารตัวอย่างทั้งสามฉบับ
ผลการตรวจทาน
เมื่อคำอธิบายประกอบของ Ground Truth ทำงานเสร็จสิ้น ผลลัพธ์จะพร้อมใช้งานในบัคเก็ต S3 เอาต์พุต:
เมื่องานทั้งหมดสำหรับงานติดฉลากเสร็จสมบูรณ์ เอาต์พุตรวมจะพร้อมใช้งานใน output.manifest
ไฟล์อยู่ที่นี่:
ไฟล์ Manifest เอาต์พุตนี้เป็นไฟล์บรรทัด JSON ที่มีเอกสารข้อความที่มีคำอธิบายประกอบหนึ่งรายการต่อบรรทัดใน “รูปแบบเอกสารเอาต์พุต” ที่ระบุไว้ก่อนหน้านี้ ไฟล์นี้เข้ากันได้กับ "รูปแบบเอกสารอินพุต" และสามารถป้อนโดยตรงไปยังงาน Ground Truth ที่ตามมาสำหรับคำอธิบายประกอบอีกรอบ อีกทางหนึ่งคือสามารถแยกวิเคราะห์และส่งไปยังงานฝึกอบรม ML บางสถานการณ์ที่เราอาจใช้คำอธิบายประกอบรอบที่สอง ได้แก่:
- แบ่งกระบวนการคำอธิบายประกอบออกเป็นสองขั้นตอน โดยที่ตัวอธิบายประกอบตัวแรกระบุคำอธิบายประกอบเอนทิตี และตัวอธิบายประกอบตัวที่สองดึงความสัมพันธ์
- นำตัวอย่างของเรา
output.manifest
และส่งไปยังผู้บันทึกย่อคนที่สองที่มีประสบการณ์มากกว่าเพื่อตรวจสอบเป็นการตรวจสอบการควบคุมคุณภาพ
เทมเพลตคำอธิบายประกอบความจริงพื้นฐานที่กำหนดเอง
เครื่องมือคำอธิบายประกอบ NER ที่อธิบายไว้ในเอกสารนี้ถูกนำมาใช้เป็นเทมเพลตคำอธิบายประกอบ Ground Truth แบบกำหนดเอง ลูกค้า AWS สามารถสร้างอินเทอร์เฟซคำอธิบายประกอบที่กำหนดเองได้โดยใช้คำแนะนำที่นี่:
สรุป
เมื่อทำงานร่วมกัน Booking.com และ Amazon MLSL สามารถพัฒนาเครื่องมือบันทึกข้อความข้อความอันทรงพลังที่สามารถสร้างการจดจำชื่อเอนทิตีที่ซับซ้อนและบันทึกย่อความสัมพันธ์ได้
เราขอแนะนำให้ลูกค้า AWS ที่มีกรณีการใช้งานคำอธิบายประกอบข้อความ NER ลองใช้เครื่องมือที่อธิบายไว้ในโพสต์นี้ หากคุณต้องการความช่วยเหลือเร่งการใช้ ML ในผลิตภัณฑ์และบริการของคุณ โปรดติดต่อ ห้องปฏิบัติการโซลูชันแมชชีนเลิร์นนิงของ Amazon.
เกี่ยวกับผู้เขียน
แดน โนเบิล เป็นวิศวกรพัฒนาซอฟต์แวร์ที่ Amazon ซึ่งเขาช่วยสร้างประสบการณ์ผู้ใช้ที่น่าพึงพอใจ ในเวลาว่าง เขาชอบอ่านหนังสือ ออกกำลังกาย และผจญภัยกับครอบครัว
ปรีโนนิส เป็น Deep Learning Architect ที่ Amazon ML Solutions Lab ซึ่งเขาทำงานร่วมกับลูกค้าในแนวดิ่งต่างๆ และช่วยให้พวกเขาเร่งเส้นทางการโยกย้ายระบบคลาวด์ของพวกเขา และเพื่อแก้ปัญหา ML ของพวกเขาโดยใช้โซลูชันและเทคโนโลยีที่ล้ำสมัย
นิหริกา ชยันธี เป็นวิศวกรส่วนหน้าของ AWS ซึ่งเธอพัฒนาโซลูชันคำอธิบายประกอบแบบกำหนดเองสำหรับลูกค้า Amazon SageMaker นอกเวลางาน เธอชอบไปพิพิธภัณฑ์และออกกำลังกาย
อามิท เบก้า เป็นผู้จัดการการเรียนรู้ของเครื่องที่ Booking.comด้วยประสบการณ์กว่า 15 ปีในการพัฒนาซอฟต์แวร์และการเรียนรู้ของเครื่อง เขาหลงใหลในผู้คนและภาษา และคอมพิวเตอร์ยังคงงงงวยทั้งสองอย่างได้อย่างไร
- '
- 100
- 11
- 7
- เกี่ยวกับเรา
- เข้า
- ลงชื่อเข้าใช้
- การบัญชี
- ข้าม
- การกระทำ
- นอกจากนี้
- เพิ่มเติม
- ทั้งหมด
- อเมซอน
- อเมซอน แมชชีนเลิร์นนิง
- อเมซอน SageMaker
- ความคลุมเครือ
- การวิเคราะห์
- AREA
- ใช้ได้
- ใช้ได้กับทุกคน
- AWS
- การเริ่มต้น
- กำลัง
- สร้าง
- การก่อสร้าง
- ซึ่ง
- กรณี
- การจัดหมวดหมู่
- เมฆ
- รหัส
- ชุด
- ซับซ้อน
- คอมพิวเตอร์
- องค์ประกอบ
- การพิจารณา
- ปลอบใจ
- เนื้อหา
- เนื้อหา
- ได้
- การสร้าง
- วิกฤติ
- ประสบการณ์ของลูกค้า
- ลูกค้า
- ข้อมูล
- การเรียนรู้ลึก ๆ
- พัฒนา
- ผู้พัฒนา
- พัฒนาการ
- ต่าง
- เอกสาร
- ไม่
- อย่างง่ายดาย
- ผล
- อีเมล
- Emoji
- ส่งเสริม
- วิศวกร
- ฯลฯ
- ตัวอย่าง
- การปฏิบัติ
- คาดว่า
- ประสบการณ์
- ประสบการณ์
- ครอบครัว
- เฟด
- ข้อเสนอแนะ
- สาขา
- ในที่สุด
- ชื่อจริง
- ออกกำลังกาย
- อาหาร
- รูป
- พบ
- เต็ม
- ฟังก์ชัน
- GIF
- ไป
- แขก
- ให้คำแนะนำ
- ช่วย
- จะช่วยให้
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- เน้น
- ส่งไปโรงแรม
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTTPS
- AMI
- การดำเนินการ
- สำคัญ
- รวมทั้ง
- ดัชนี
- เป็นรายบุคคล
- IT
- JavaScript
- การสัมภาษณ์
- การเดินทาง
- คีย์
- การติดฉลาก
- ป้ายกำกับ
- ภาษา
- ภาษา
- ใหญ่
- ชั้นนำ
- เรียนรู้
- การเรียนรู้
- กฎหมาย
- ชั้น
- ระดับ
- Line
- LINK
- ของเหลว
- รายการ
- รายชื่อ
- ในท้องถิ่น
- ที่ตั้ง
- ที่ต้องการหา
- เรียนรู้เครื่อง
- การจัดการ
- เครื่องหมาย
- ตลาด
- การจับคู่
- Meta
- ใจ
- ML
- แบบ
- ข้อมูลเพิ่มเติม
- พิพิธภัณฑ์
- ชื่อ
- ภาษาธรรมชาติ
- ประมวลผลภาษาธรรมชาติ
- จำเป็น
- NLP
- ตัวเลข
- เสนอ
- ชดเชย
- ออนไลน์
- เปิด
- เปิด
- โอกาส
- อื่นๆ
- คน
- วลี
- เวที
- แพลตฟอร์ม
- นโยบาย
- นโยบาย
- สระ
- พอร์ทัล
- การโพสต์การแพร่ระบาด
- ที่มีประสิทธิภาพ
- ราคา
- หลัก
- ส่วนตัว
- กระบวนการ
- ผลิตภัณฑ์
- การเขียนโปรแกรม
- การเขียนโปรแกรมภาษา
- คุณสมบัติ
- ให้
- ให้
- หลาม
- คุณภาพ
- คำถาม
- การอ่าน
- ความสัมพันธ์
- ความต้องการ
- ทรัพยากร
- แหล่งข้อมูล
- ร้านอาหาร
- ผลสอบ
- ทบทวน
- รีวิว
- ห้องพัก
- sagemaker
- ประหยัด
- ขนาด
- ความรู้สึก
- ความรู้สึก
- บริการ
- ชุด
- สั้น
- ง่าย
- So
- ซอฟต์แวร์
- การพัฒนาซอฟต์แวร์
- โซลูชัน
- แก้
- ช่องว่าง
- ความเร็ว
- เริ่มต้น
- คำแถลง
- เข้าพัก
- การเก็บรักษา
- สนับสนุน
- เป้า
- เทคโนโลยี
- ที่มา
- เวลา
- ร่วมกัน
- tokenization
- ราชสกุล
- เครื่องมือ
- ด้านบน
- ระดับบนสุด
- ลู่
- แบบดั้งเดิม
- การฝึกอบรม
- การเดินทาง
- รักษา
- ถือว่า
- วางใจ
- us
- ผู้ใช้
- ความคุ้มค่า
- รุ่น
- รายละเอียด
- อะไร
- ภายใน
- งาน
- ทำงาน
- แรงงาน
- กำลังแรงงาน
- การทำงาน
- ออกกำลังกาย
- โรงงาน
- โลก
- ของโลก
- จะ
- ปี