NLP ด้วย API ภาษาธรรมชาติของ Google Cloud

เผยแพร่แล้ว: 2022-03-11

การประมวลผลภาษาธรรมชาติ (NLP) ซึ่งเป็นการผสมผสานระหว่างการเรียนรู้ของเครื่องและภาษาศาสตร์ ได้กลายเป็นหนึ่งในวิชาที่มีการวิจัยอย่างหนักที่สุดในสาขาปัญญาประดิษฐ์ ในช่วงไม่กี่ปีที่ผ่านมา มีเหตุการณ์สำคัญใหม่ๆ เกิดขึ้นมากมาย โดยรูปแบบใหม่ล่าสุดคือ GPT-2 ของ OpenAI ซึ่งสามารถผลิตบทความที่สมจริงและสอดคล้องกันเกี่ยวกับหัวข้อใดก็ได้จากข้อมูลสั้นๆ

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

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

ผลิตภัณฑ์ที่ฉันจะแนะนำในบทความนี้เป็นส่วนหนึ่งของบริการ Google Cloud และเรียกว่า "Google Natural Language API" และ "Google AutoML Natural Language"

API ภาษาธรรมชาติของ Google

Google Natural Language API เป็นอินเทอร์เฟซที่ใช้งานง่ายสำหรับชุดโมเดล NLP ที่มีประสิทธิภาพ ซึ่งได้รับการฝึกอบรมล่วงหน้าโดย Google เพื่อทำงานต่างๆ เนื่องจากโมเดลเหล่านี้ได้รับการฝึกอบรมเกี่ยวกับคลังเอกสารขนาดใหญ่ ประสิทธิภาพของโมเดลจึงมักจะค่อนข้างดีตราบใดที่ใช้กับชุดข้อมูลที่ไม่ได้ใช้ภาษาที่แปลกประหลาด

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

Natural Language API ประกอบด้วยห้าบริการที่แตกต่างกัน:

  • การวิเคราะห์ไวยากรณ์
  • การวิเคราะห์ความเชื่อมั่น
  • การวิเคราะห์นิติบุคคล
  • การวิเคราะห์ความเชื่อมั่นของนิติบุคคล
  • การจัดประเภทข้อความ

การวิเคราะห์ไวยากรณ์

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

ส่วนของคำพูด: ส่วนนี้มีข้อมูลเกี่ยวกับสัณฐานวิทยาของโทเค็นแต่ละตัว สำหรับแต่ละคำ การวิเคราะห์แบบละเอียดจะถูกส่งกลับซึ่งประกอบด้วยประเภทของคำ (นาม กริยา ฯลฯ) เพศ กรณีของไวยากรณ์ ความตึงเครียด อารมณ์ทางไวยากรณ์ เสียงตามหลักไวยากรณ์ และอื่นๆ อีกมากมาย

ตัวอย่างเช่น สำหรับประโยคอินพุต "คอมพิวเตอร์เคยเล่นหมากรุกฉัน แต่มันไม่เหมาะกับฉันเลยที่คิกบ็อกซิ่ง" (Emo Philips) การวิเคราะห์ส่วนหนึ่งของคำพูดคือ:

อา แท็ก: DET
'คอมพิวเตอร์' แท็ก: NOUN number: sINGULAR
'ครั้งหนึ่ง' แท็ก: ADV
'ชนะ' แท็ก: กริยา อารมณ์: บ่งบอกถึงกาล: PAST
'ฉัน' แท็ก: PRON กรณี: จำเลย หมายเลข: เอกพจน์ บุคคล: FIRST
ที่ แท็ก: ADP
'หมากรุก' แท็ก: NOUN number: sINGULAR
',' แท็ก: PUNCT
'แต่' แท็ก: CONJ
'มัน' แท็ก: PRON กรณี: เพศที่กำหนด: NEUTER หมายเลข: เอกพจน์ บุคคล: THIRD
'เคยเป็น' แท็ก: กริยา อารมณ์: บ่งบอก จำนวน: เอกพจน์ บุคคล: กาลที่สาม: PAST
'ไม่' แท็ก: DET
'การแข่งขัน' แท็ก: NOUN number: sINGULAR
'สำหรับ' แท็ก: ADP
'เตะ' แท็ก: NOUN number: sINGULAR
'มวย' แท็ก: NOUN number: sINGULAR
'.' แท็ก: PUNCT

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

ตัวอย่างต้นไม้พึ่งพา

ไลบรารี Python ที่ใช้กันทั่วไป nltk และ spaCy มีฟังก์ชันการทำงานที่คล้ายคลึงกัน คุณภาพของการวิเคราะห์นั้นสูงอย่างต่อเนื่องในทั้งสามตัวเลือก แต่ Google Natural Language API นั้นใช้งานง่ายกว่า การวิเคราะห์ข้างต้นสามารถรับได้โดยใช้โค้ดเพียงไม่กี่บรรทัด (ดูตัวอย่างด้านล่างเพิ่มเติม) อย่างไรก็ตาม แม้ว่า spaCy และ nltk เป็นโอเพ่นซอร์สและดังนั้นจึงไม่เสียค่าใช้จ่าย การใช้ Google Natural Language API จะมีค่าใช้จ่ายหลังจากมีคำขอฟรีจำนวนหนึ่ง (ดูส่วนค่าใช้จ่าย)

นอกเหนือจากภาษาอังกฤษแล้ว การวิเคราะห์วากยสัมพันธ์ยังรองรับภาษาเพิ่มเติมอีก 10 ภาษา ได้แก่ จีน (ตัวย่อ) จีน (ตัวเต็ม) ฝรั่งเศส เยอรมัน อิตาลี ญี่ปุ่น เกาหลี โปรตุเกส รัสเซีย และสเปน

การวิเคราะห์ความเชื่อมั่น

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

การวิเคราะห์ความรู้สึกของ Google จะให้ความคิดเห็นทางอารมณ์ที่มีอยู่ภายในข้อความที่ให้ไว้ API ส่งกลับค่าสองค่า: "คะแนน" อธิบายความเอนเอียงทางอารมณ์ของข้อความจาก -1 (เชิงลบ) ถึง +1 (บวก) โดยที่ 0 เป็นค่ากลาง

“ขนาด” วัดความแรงของอารมณ์

มาดูตัวอย่างกัน:

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

โมเดลการวิเคราะห์ความรู้สึกของ Google ได้รับการฝึกอบรมเกี่ยวกับชุดข้อมูลขนาดใหญ่มาก ขออภัย ไม่มีข้อมูลเกี่ยวกับโครงสร้างโดยละเอียด ฉันอยากรู้เกี่ยวกับประสิทธิภาพในการใช้งานจริงของมัน ดังนั้นฉันจึงทดสอบกับชุดข้อมูล Large Movie Review Dataset ซึ่งสร้างโดยนักวิทยาศาสตร์จากมหาวิทยาลัยสแตนฟอร์ดในปี 2011

ฉันสุ่มเลือกบทวิจารณ์ภาพยนตร์เชิงบวกและเชิงลบ 500 เรื่องจากชุดทดสอบ และเปรียบเทียบความเชื่อมั่นที่คาดการณ์ไว้กับป้ายกำกับบทวิจารณ์จริง เมทริกซ์ความสับสนมีลักษณะดังนี้:

ความรู้สึกเชิงบวก ความรู้สึกเชิงลบ
รีวิวดีๆ 470 30
รีวิวไม่ดี 29 471

ตามตาราง นางแบบมีเวลาประมาณ 94% ของเวลาสำหรับการวิจารณ์ภาพยนตร์ที่ดีและไม่ดี นี่ไม่ใช่ประสิทธิภาพที่แย่สำหรับโซลูชันที่พร้อมใช้งานทันทีโดยไม่ต้องปรับแก้สำหรับปัญหาที่กำหนด

หมายเหตุ: การวิเคราะห์ความคิดเห็นมีให้บริการในภาษาเดียวกับการวิเคราะห์ไวยากรณ์ ยกเว้นภาษารัสเซีย

การวิเคราะห์นิติบุคคล

การวิเคราะห์เอนทิตีเป็นกระบวนการในการตรวจจับหน่วยงานที่รู้จัก เช่น บุคคลสาธารณะหรือจุดสังเกตจากข้อความที่กำหนด การตรวจหาเอนทิตีมีประโยชน์มากสำหรับงานประเภทและการสร้างแบบจำลองหัวข้อทุกประเภท

Google Natural Language API ให้ข้อมูลพื้นฐานเกี่ยวกับแต่ละเอนทิตีที่ตรวจพบ และยังให้ลิงก์ไปยังบทความ Wikipedia ที่เกี่ยวข้องหากมีอยู่ นอกจากนี้ยังมีการคำนวณคะแนนเด่น คะแนนนี้สำหรับเอนทิตีให้ข้อมูลเกี่ยวกับความสำคัญหรือศูนย์กลางของเอนทิตีนั้นกับข้อความในเอกสารทั้งหมด คะแนนที่ใกล้ 0 มีความสำคัญน้อยกว่า ในขณะที่คะแนนที่ใกล้กับ 1.0 มีความสำคัญอย่างมาก

เมื่อเราส่งคำขอไปยัง API ด้วยประโยคตัวอย่างนี้: “Robert DeNiro พูดกับ Martin Scorsese ในฮอลลีวูดในวันคริสต์มาสอีฟในเดือนธันวาคม 2011” เราได้รับผลลัพธ์ดังต่อไปนี้:

นิติบุคคลที่ตรวจพบ ข้อมูลเพิ่มเติม
โรเบิร์ต เดอ นีโร พิมพ์ : PERSON salience : 0.5869118 wikipedia_url : https://en.wikipedia.org/wiki/Robert_De_Niro
ฮอลลีวูด ประเภท : LOCATION salience : 0.17918482 wikipedia_url : https://en.wikipedia.org/wiki/Hollywood
มาร์ติน สกอร์เซซี่ พิมพ์ : LOCATION salience : 0.17712952 wikipedia_url : https://en.wikipedia.org/wiki/Martin_Scorsese
คริสต์มาสอีฟ พิมพ์ : PERSON salience : 0.056773853 wikipedia_url : https://en.wikipedia.org/wiki/Christmas
ธันวาคม 2554 ประเภท : DATE ปี: 2011 เดือน: 12 salience : 0.0 wikipedia_url : -
2011 พิมพ์ : NUMBER salience : 0.0 wikipedia_url : -

อย่างที่คุณเห็น เอนทิตีทั้งหมดได้รับการระบุและจัดประเภทอย่างถูกต้อง ยกเว้นว่า 2011 ปรากฏสองครั้ง นอกเหนือจากฟิลด์ในเอาต์พุตตัวอย่างแล้ว API การวิเคราะห์เอนทิตียังจะตรวจจับองค์กร งานศิลปะ สินค้าอุปโภคบริโภค หมายเลขโทรศัพท์ ที่อยู่ และราคาอีกด้วย

การวิเคราะห์ความเชื่อมั่นของนิติบุคคล

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

แม้ว่า API การวิเคราะห์ความคิดเห็นจะค้นหาการแสดงอารมณ์ทั้งหมดในเอกสารและรวมเข้าด้วยกัน การวิเคราะห์ความเชื่อมั่นของเอนทิตีพยายามค้นหาการพึ่งพาระหว่างส่วนต่างๆ ของเอกสารกับเอนทิตีที่ระบุ จากนั้นจึงระบุอารมณ์ในส่วนข้อความเหล่านี้กับเอนทิตีที่เกี่ยวข้อง

ตัวอย่างเช่น ข้อความแสดงความคิดเห็น: “ผู้เขียนเป็นนักเขียนที่แย่มาก ในทางกลับกันผู้อ่านฉลาดมาก” นำไปสู่ผลลัพธ์:

นิติบุคคล ความรู้สึก
ผู้เขียน Salience: 0.8773350715637207 ความรู้สึก: ขนาด: 1.899999976158142 คะแนน: -0.8999999761581421
ผู้อ่าน Salience: 0.08653714507818222 ความรู้สึก: ขนาด: 0.8999999761581421 คะแนน: 0.8999999761581421

การวิเคราะห์ความเชื่อมั่นของเอนทิตีจนถึงขณะนี้ใช้ได้กับภาษาอังกฤษ ญี่ปุ่น และสเปนเท่านั้น

การจัดประเภทข้อความ

สุดท้ายนี้ API ภาษาธรรมชาติของ Google มาพร้อมกับโมเดลการจัดประเภทข้อความแบบพลักแอนด์เพลย์

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

นี่คือตัวอย่างข้อความจากโฆษณากล้อง Nikon:

“เซนเซอร์รูปแบบ DX ขนาดใหญ่ 24.2 MP ของ D3500 จับภาพที่มีรายละเอียดครบถ้วนและภาพยนตร์ Full HD แม้ว่าคุณจะถ่ายในที่แสงน้อย เมื่อผสานกับพลังการเรนเดอร์ของเลนส์ NIKKOR ของคุณ คุณจะเริ่มสร้างภาพบุคคลที่มีศิลปะด้วยการเบลอพื้นหลังที่นุ่มนวล ได้อย่างสบายๆ”

Google API ส่งคืนผลลัพธ์:

หมวดหมู่ ความมั่นใจ
ศิลปะและความบันเทิง/ทัศนศิลป์และการออกแบบ/การถ่ายภาพและศิลปะดิจิทัล 0.95
งานอดิเรกและการพักผ่อน 0.94
คอมพิวเตอร์และอิเล็กทรอนิกส์/อุปกรณ์อิเล็กทรอนิกส์สำหรับผู้บริโภค/กล้องและอุปกรณ์ถ่ายภาพ 0.85

ทั้งสามหมวดหมู่นี้สมเหตุสมผล แม้ว่าเราจะจัดอันดับรายการที่สามให้สูงกว่ารายการที่สองโดยสังหรณ์ใจ อย่างไรก็ตาม เราต้องพิจารณาว่าส่วนป้อนข้อมูลนี้เป็นเพียงส่วนสั้นๆ ของเอกสารโฆษณากล้องแบบเต็ม และประสิทธิภาพของรูปแบบการจัดหมวดหมู่ก็ดีขึ้นด้วยความยาวของข้อความ

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

ข้อจำกัดอีกประการของรูปแบบการจัดหมวดหมู่คือใช้งานได้กับข้อความภาษาอังกฤษเท่านั้น

วิธีใช้ API ภาษาธรรมชาติ

ข้อได้เปรียบที่สำคัญของ Google Natural Language API คือการใช้งานง่าย ไม่จำเป็นต้องใช้ทักษะการเรียนรู้ของเครื่องและแทบไม่มีทักษะการเขียนโปรแกรมเลย บนเว็บไซต์ Google Cloud คุณสามารถค้นหาข้อมูลโค้ดสำหรับการเรียกใช้ API สำหรับภาษาต่างๆ มากมาย

ตัวอย่างเช่น โค้ด Python ที่ใช้เรียก API การวิเคราะห์ความรู้สึกนั้นสั้นดังนี้:

 from google.cloud import language_v1 from google.cloud.language_v1 import enums import six def sample_analyze_sentiment(content): client = language_v1.LanguageServiceClient() if isinstance(content, six.binary_type): content = content.decode('utf-8') type_ = enums.Document.Type.PLAIN_TEXT document = {'type': type_, 'content': content} response = client.analyze_sentiment(document) sentiment = response.document_sentiment print('Score: {}'.format(sentiment.score)) print('Magnitude: {}'.format(sentiment.magnitude))

ฟังก์ชัน API อื่นๆ ถูกเรียกในลักษณะเดียวกัน โดยเพียงแค่เปลี่ยน client.analyze_sentiment เป็นฟังก์ชันที่เหมาะสม

ค่าใช้จ่ายโดยรวมของ Google Natural Language API

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

ตารางนี้แสดงราคา (ต่อ 1,000 คำขอ) ขึ้นอยู่กับจำนวนคำขอรายเดือน:

ตารางแสดงค่าใช้จ่ายของ Google Natural Language API

หากเอกสารมีอักขระมากกว่า 1,000 ตัว จะนับเป็นคำขอหลายรายการ ตัวอย่างเช่น หากคุณต้องการวิเคราะห์ความรู้สึกของเอกสาร 10,000 ฉบับ ซึ่งแต่ละฉบับมี 1,500 อักขระ คุณจะถูกเรียกเก็บเงิน 20,000 คำขอ เนื่องจากฟรี 5,000 คนแรก ค่าใช้จ่ายทั้งหมดจะเท่ากับ $15 การวิเคราะห์เอกสารขนาดเดียวกันหนึ่งล้านฉบับจะมีค่าใช้จ่าย 1,995 ดอลลาร์

สะดวกแต่ไม่ยืดหยุ่น

Google Natural Language API เป็นตัวเลือกที่สะดวกมากสำหรับโซลูชันที่พร้อมใช้งานทันที จำเป็นต้องมีความรู้ด้านเทคนิคเพียงเล็กน้อยและไม่จำเป็นต้องเข้าใจโมเดลการเรียนรู้ของเครื่อง

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

ในสภาพแวดล้อมจริง งานส่วนใหญ่อาจต้องการโซลูชันที่ปรับให้เหมาะสมมากกว่าที่ฟังก์ชัน Natural Language API มาตรฐานสามารถให้ได้

สำหรับสถานการณ์นี้ ภาษาธรรมชาติของ Google AutoML เหมาะสมกว่า

ภาษาธรรมชาติของ Google AutoML

หาก Natural Language API ไม่ยืดหยุ่นเพียงพอสำหรับวัตถุประสงค์ทางธุรกิจของคุณ AutoML Natural Language อาจเป็นบริการที่เหมาะสม AutoML คือบริการ Google Cloud ใหม่ (ยังอยู่ในรุ่นเบต้า) ที่ช่วยให้ผู้ใช้สร้างโมเดลการเรียนรู้ของเครื่องที่ปรับแต่งได้ ตรงกันข้ามกับ Natural Language API โมเดล AutoML จะได้รับการฝึกอบรมเกี่ยวกับข้อมูลของผู้ใช้ ดังนั้นจึงเหมาะสมกับงานเฉพาะ

โมเดลการเรียนรู้ของเครื่องที่กำหนดเองสำหรับการจัดประเภทเนื้อหาจะมีประโยชน์เมื่อหมวดหมู่ที่กำหนดไว้ล่วงหน้าซึ่งมีให้จาก Natural Language API นั้นกว้างเกินไปหรือไม่สามารถใช้ได้กับกรณีการใช้งานหรือโดเมนความรู้เฉพาะของคุณ

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

ภาษาธรรมชาติของ Google AutoML ทำอะไรได้บ้าง

บริการ AutoML ครอบคลุมกรณีการใช้งานสามกรณี กรณีการใช้งานทั้งหมดเหล่านี้รองรับเฉพาะภาษาอังกฤษเท่านั้นในตอนนี้

1. การจัดประเภทข้อความ AutoML

ในขณะที่ตัวแยกประเภทข้อความของ Natural Language API นั้นได้รับการฝึกอบรมมาล่วงหน้า ดังนั้นจึงมีชุดหมวดหมู่ข้อความคงที่ การจัดประเภทข้อความ AutoML จะสร้างแบบจำลองการเรียนรู้ของเครื่องที่ปรับแต่งเอง พร้อมหมวดหมู่ที่คุณระบุในชุดข้อมูลการฝึกของคุณ

2. การวิเคราะห์ความเชื่อมั่น AutoML

ดังที่เราได้เห็น การวิเคราะห์ความรู้สึกของ Natural Language API นั้นใช้งานได้ดีในกรณีการใช้งานทั่วไป เช่น บทวิจารณ์ภาพยนตร์ เนื่องจากโมเดลความเชื่อมั่นได้รับการฝึกฝนในคลังข้อมูลทั่วไป ประสิทธิภาพอาจลดลงสำหรับเอกสารที่ใช้ภาษาเฉพาะโดเมนเป็นจำนวนมาก ในสถานการณ์เหล่านี้ AutoML Sentiment Analysis ช่วยให้คุณฝึกโมเดลความคิดเห็นที่ปรับแต่งให้เข้ากับโดเมนของคุณได้

3. การสกัดเอนทิตี AutoML

ในบริบททางธุรกิจจำนวนมาก มีหน่วยงานเฉพาะของโดเมน (สัญญาทางกฎหมาย เอกสารทางการแพทย์) ที่ Natural Language API จะไม่สามารถระบุได้ ถ้าคุณมีชุดข้อมูลที่มีการทำเครื่องหมายเอนทิตี คุณสามารถฝึกตัวแยกเอนทิตีแบบจำลองแบบกำหนดเองด้วย AutoML หากชุดข้อมูลมีขนาดใหญ่เพียงพอ โมเดลการแยกเอนทิตีที่ได้รับการฝึกจะสามารถตรวจจับเอนทิตีที่มองไม่เห็นก่อนหน้านี้ได้เช่นกัน

วิธีใช้ AutoML Natural Language

การใช้ AutoML ทั้งสามนั้นเป็นกระบวนการสี่ขั้นตอน และคล้ายกันมากสำหรับวิธีการทั้งสาม:

  1. การเตรียมชุดข้อมูล
    ชุดข้อมูลต้องอยู่ในรูปแบบเฉพาะ (CSV หรือ JSON) และต้องจัดเก็บไว้ในที่เก็บข้อมูล สำหรับแบบจำลองการจัดประเภทและความเชื่อมั่น ชุดข้อมูลมีเพียงสองคอลัมน์ คือ ข้อความและป้ายกำกับ สำหรับแบบจำลองการแยกเอนทิตี ชุดข้อมูลต้องการข้อความและตำแหน่งของเอนทิตีทั้งหมดในข้อความ

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

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

  4. คาดการณ์
    เมื่อคุณพอใจกับประสิทธิภาพของโมเดลแล้ว ก็สามารถปรับใช้โมเดลได้อย่างสะดวกด้วยการคลิกเพียงไม่กี่ครั้ง กระบวนการปรับใช้ใช้เวลาเพียงไม่กี่นาที

ประสิทธิภาพของโมเดล AutoML

ขั้นตอนการฝึกค่อนข้างช้า อาจเป็นเพราะโมเดลต้นแบบมีขนาดใหญ่มาก ฉันฝึกอบรมงานการจัดประเภทการทดสอบเล็กๆ ด้วยตัวอย่าง 15,000 ตัวอย่างและ 10 หมวดหมู่ และการฝึกอบรมใช้เวลาหลายชั่วโมง ตัวอย่างในชีวิตจริงที่มีชุดข้อมูลที่ใหญ่กว่านั้นใช้เวลาหลายวัน

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

ฉันทดสอบโมเดลการจำแนกประเภท AutoML ในตัวอย่างจริงกับแบบจำลองที่ฉันพัฒนาขึ้นเองซึ่งอิงตาม BERT น่าแปลกที่โมเดล AutoML ทำงานได้แย่กว่าโมเดลของฉันอย่างมาก เมื่อฝึกด้วยข้อมูลเดียวกัน AutoML มีความแม่นยำถึง 84% ในขณะที่โมเดลของฉันทำได้ถึง 89%

ซึ่งหมายความว่าในขณะที่ใช้ AutoML อาจสะดวกมาก สำหรับงานสำคัญด้านประสิทธิภาพ คุณควรลงทุนเวลาและพัฒนาแบบจำลองด้วยตัวเอง

ราคา AutoML

ราคา AutoML สำหรับการคาดคะเนที่ $5 ต่อ 1,000 บันทึกข้อความนั้นแพงกว่า Natural Language API อย่างมาก นอกจากนี้ สำหรับการฝึกโมเดล AutoML จะเรียกเก็บเงิน $3 ต่อชั่วโมง แม้ว่าสิ่งนี้จะเล็กน้อยในตอนเริ่มต้น แต่สำหรับกรณีการใช้งานที่ต้องมีการฝึกขึ้นใหม่บ่อยครั้ง สิ่งนี้สามารถรวมกันได้เป็นจำนวนมาก โดยเฉพาะอย่างยิ่งเนื่องจากการฝึกดูเหมือนจะค่อนข้างช้า

แผนภูมิราคา AutoML

ลองใช้ตัวอย่างเดียวกันกับ Natural Language API:

คุณต้องการวิเคราะห์ความรู้สึกของเอกสาร 10,000 ฉบับ ซึ่งแต่ละฉบับมี 1,500 อักขระ ดังนั้นคุณจะถูกเรียกเก็บเงิน 20,000 คำขอ สมมติว่าการฝึกโมเดลใช้เวลา 20 ชั่วโมง ซึ่งมีค่าใช้จ่าย 48 ดอลลาร์ การคาดการณ์จะไม่เสียค่าใช้จ่ายใดๆ เนื่องจากคำขอ 30,000 รายการแรกนั้นฟรี สำหรับชุดข้อมูลขนาดเล็กเช่นนี้ AutoML นั้นประหยัดมาก

อย่างไรก็ตาม หากชุดข้อมูลของคุณใหญ่ขึ้น และคุณจำเป็นต้องคาดการณ์ความรู้สึกของหนึ่งล้านที่มีขนาดเท่ากัน ก็จะมีราคา 9,850 ดอลลาร์ ซึ่งค่อนข้างแพง สำหรับชุดข้อมูลขนาดใหญ่เช่นนี้ คุณควรพัฒนาโมเดลของคุณเองในการปรับใช้โดยไม่ต้องใช้ AutoML

Google Natural Language API กับ AutoML Natural Language

Google AutoML Natural Language มีประสิทธิภาพมากกว่า Natural Language API มาก เนื่องจากช่วยให้ผู้ใช้ฝึกโมเดลที่ปรับแต่งสำหรับชุดข้อมูลและโดเมนเฉพาะของตนได้

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

AutoML รุ่นเบต้ารองรับงาน NLP เพียงสามงานในขณะนี้ (การจัดประเภท การวิเคราะห์ความคิดเห็น การแยกเอนทิตี) และรองรับเฉพาะเอกสารภาษาอังกฤษเท่านั้น เมื่อบริการนี้เผยแพร่โดยสมบูรณ์ ฉันคาดว่าจะเพิ่มภาษาอื่นๆ และงาน NLP เมื่อเวลาผ่านไป

การเปรียบเทียบตัวประมวลผลภาษาธรรมชาติ

แผนภูมิเปรียบเทียบโปรเซสเซอร์ภาษาธรรมชาติ

ที่เกี่ยวข้อง: การใช้ประโยชน์สูงสุดจากโมเดลที่ผ่านการฝึกอบรมมาแล้ว