การประมวลผลภาษาธรรมชาติ (NLP) ซึ่งเป็นการผสมผสานระหว่างการเรียนรู้ของเครื่องและภาษาศาสตร์ได้กลายเป็นหนึ่งในวิชาที่ได้รับการวิจัยมากที่สุดในสาขา ปัญญาประดิษฐ์ . ในช่วงไม่กี่ปีที่ผ่านมามีการบรรลุเป้าหมายใหม่ ๆ มากมายโดยรุ่นใหม่ล่าสุดคือ OpenAI’s GPT-2 ซึ่งสามารถผลิต บทความที่เป็นจริงและสอดคล้องกันเกี่ยวกับหัวข้อใด ๆ จากข้อมูลสั้น ๆ .
ความสนใจนี้ได้รับแรงหนุนจากแอปพลิเคชันเชิงพาณิชย์จำนวนมากที่ออกสู่ตลาดในช่วงไม่กี่ปีที่ผ่านมา เราพูดคุยกับผู้ช่วยประจำบ้านของเราที่ใช้ NLP เพื่อถอดเสียงข้อมูลและเพื่อทำความเข้าใจคำถามและคำสั่งของเรา บริษัท จำนวนมากขึ้นเรื่อย ๆ เปลี่ยนความพยายามในการสื่อสารกับลูกค้าไปสู่แชทบอทอัตโนมัติ ตลาดออนไลน์ใช้เพื่อระบุบทวิจารณ์ปลอม บริษัท สื่อพึ่งพา NLP ในการเขียนบทความข่าว บริษัท จัดหางานจับคู่ CV กับตำแหน่งยักษ์ใหญ่ในโซเชียลมีเดียจะกรองเนื้อหาที่แสดงความเกลียดชังโดยอัตโนมัติและ บริษัท กฎหมายใช้ NLP เพื่อวิเคราะห์สัญญา
การฝึกอบรมและการปรับใช้โมเดลแมชชีนเลิร์นนิงสำหรับงานเช่นนี้เป็นแบบ กระบวนการที่ซับซ้อนในอดีต ซึ่งต้องใช้ทีมผู้เชี่ยวชาญและโครงสร้างพื้นฐานราคาแพง แต่ความต้องการแอพพลิเคชั่นดังกล่าวสูงทำให้ผู้ให้บริการรายใหญ่สามารถพัฒนาบริการที่เกี่ยวข้องกับ NLP ซึ่งช่วยลดภาระงานและต้นทุนโครงสร้างพื้นฐานได้อย่างมาก เฉลี่ย ค่าบริการคลาวด์ ลดลงมาหลายปีแล้วและคาดว่าแนวโน้มนี้จะยังคงดำเนินต่อไป
ผลิตภัณฑ์ที่ฉันจะแนะนำในบทความนี้เป็นส่วนหนึ่งของบริการ Google Cloud และเรียกว่า“ Google Natural Language API” และ“ Google AutoML Natural Language”
Google Natural Language API เป็นอินเทอร์เฟซที่ใช้งานง่ายสำหรับชุดโมเดล NLP อันทรงพลังซึ่งได้รับการฝึกอบรมล่วงหน้าจาก Google เพื่อทำงานต่างๆ เนื่องจากโมเดลเหล่านี้ได้รับการฝึกฝนในคลังเอกสารขนาดใหญ่จำนวนมากประสิทธิภาพของมันจึงค่อนข้างดีตราบใดที่ใช้กับชุดข้อมูลที่ไม่ได้ใช้ประโยชน์จากภาษาแปลก ๆ
ข้อได้เปรียบที่ใหญ่ที่สุดของการใช้โมเดลที่ผ่านการฝึกอบรมล่วงหน้าผ่าน API คือไม่จำเป็นต้องใช้ชุดข้อมูลการฝึกอบรม API ช่วยให้ผู้ใช้เริ่มทำการคาดการณ์ได้ทันทีซึ่งอาจมีประโยชน์มากในสถานการณ์ที่มีข้อมูลป้ายกำกับเพียงเล็กน้อย
Natural Language API ประกอบด้วยห้าบริการที่แตกต่างกัน:
สำหรับข้อความหนึ่ง ๆ การวิเคราะห์ไวยากรณ์ของ Google จะส่งคืนรายละเอียดของคำทั้งหมดพร้อมด้วยชุดข้อมูลทางภาษาที่หลากหลายสำหรับแต่ละโทเค็น ข้อมูลสามารถแบ่งออกเป็นสองส่วน:
ส่วนหนึ่งของคำพูด: ส่วนนี้ประกอบด้วยข้อมูลเกี่ยวกับสัณฐานวิทยาของแต่ละโทเค็น สำหรับแต่ละคำการวิเคราะห์แบบละเอียดจะถูกส่งกลับซึ่งประกอบด้วยประเภท (คำนามคำกริยา ฯลฯ ) เพศกรณีทางไวยากรณ์กาลอารมณ์ทางไวยากรณ์เสียงทางไวยากรณ์และอื่น ๆ อีกมากมาย
ตัวอย่างเช่นสำหรับประโยคอินพุต “ คอมพิวเตอร์ครั้งหนึ่งเคยเอาชนะฉันด้วยการเล่นหมากรุก แต่มันไม่ตรงกับฉันที่คิกบ็อกซิ่ง” (Emo Philips) การวิเคราะห์ส่วนของคำพูดคือ:
ถึง | แท็ก: IT |
'คอมพิวเตอร์' | tag: NOUN number: SINGULAR |
'ครั้งเดียว' | แท็ก: ADV |
'ตี' | tag: VERB mood: INDICATIVE tense: PAST |
'ผม' | tag: PRON case: ACCUSATIVE number: SINGULAR person: FIRST |
ที่ | แท็ก: ADP |
'หมากรุก' | tag: NOUN number: SINGULAR |
',' | แท็ก: POINT |
'แต่' | แท็ก: CONJ |
'มัน' | tag: PRON case: NOMINATIVE gender: NEUTER number: SINGULAR person: THIRD |
'เป็น' | แท็ก: อารมณ์แปรปรวน: ตัวเลขบ่งชี้: คนโสด: กาลที่สาม: อดีต |
'ไม่' | แท็ก: IT |
'การแข่งขัน' | tag: NOUN number: SINGULAR |
'สำหรับ' | แท็ก: ADP |
'เตะ' | tag: NOUN number: SINGULAR |
'มวย' | tag: NOUN number: SINGULAR |
'.' | แท็ก: POINT |
ต้นไม้พึ่งพา: ส่วนที่สองของการส่งคืนเรียกว่าแผนผังการพึ่งพาซึ่งอธิบายโครงสร้างทางวากยสัมพันธ์ของแต่ละประโยค แผนภาพต่อไปนี้ของคำพูดของ Kennedy ที่มีชื่อเสียงแสดงให้เห็นถึงโครงสร้างการพึ่งพาดังกล่าว สำหรับแต่ละคำลูกศรจะระบุว่าคำใดถูกแก้ไข
ไลบรารี Python ที่ใช้กันทั่วไป nltk และ สปา มีฟังก์ชันที่คล้ายกัน คุณภาพของการวิเคราะห์นั้นสูงอย่างต่อเนื่องในทั้งสามตัวเลือก แต่ Google Natural Language API นั้นใช้งานง่ายกว่า การวิเคราะห์ข้างต้นสามารถรับได้โดยใช้โค้ดเพียงไม่กี่บรรทัด (ดูตัวอย่างเพิ่มเติมด้านล่าง) อย่างไรก็ตามในขณะที่ spaCy และ nltk เป็นโอเพนซอร์สดังนั้นการใช้ Google Natural Language API จะต้องเสียค่าใช้จ่ายหลังจากคำขอฟรีจำนวนหนึ่ง (ดูส่วนค่าใช้จ่าย)
นอกเหนือจากภาษาอังกฤษแล้วการวิเคราะห์วากยสัมพันธ์ยังรองรับภาษาเพิ่มเติมอีกสิบภาษา: จีน (ประยุกต์) จีน (ดั้งเดิม) ฝรั่งเศสเยอรมันอิตาลีญี่ปุ่นเกาหลีโปรตุเกสรัสเซียและสเปน .
บริการวิเคราะห์ไวยากรณ์ส่วนใหญ่จะใช้ในช่วงต้นของขั้นตอนการผลิตเพื่อสร้างคุณลักษณะที่ป้อนเข้าสู่โมเดลการเรียนรู้ของเครื่องในภายหลัง ในทางตรงกันข้ามบริการวิเคราะห์ความรู้สึกสามารถใช้ได้ทันที
การวิเคราะห์ความรู้สึกของ Google จะแสดงความคิดเห็นทางอารมณ์ที่เกิดขึ้นภายในข้อความที่ให้ไว้ API ส่งคืนค่าสองค่า: 'คะแนน' อธิบายถึงความเอนเอียงทางอารมณ์ของข้อความจาก -1 (เชิงลบ) ถึง +1 (บวก) โดย 0 เป็นค่ากลาง
'ขนาด' วัดความแรงของอารมณ์
ลองดูตัวอย่างบางส่วน:
อินพุตประโยค | ผลลัพธ์ความเชื่อมั่น | การตีความ |
รถไฟไปลอนดอนออกเวลาสี่โมงเย็น | คะแนน: 0.0 ขนาด: 0.0 | คำพูดที่เป็นกลางโดยสิ้นเชิงซึ่งไม่มีอารมณ์ใด ๆ เลย |
โพสต์บล็อกนี้ดี | คะแนน: 0.7 ขนาด: 0.7 | ความรู้สึกเชิงบวก แต่ไม่แสดงออกอย่างรุนแรง |
โพสต์บล็อกนี้ดี มันเป็นประโยชน์มาก ผู้เขียนน่าทึ่งมาก | คะแนน: 0.7 ขนาด: 2.3 | ความรู้สึกเดียวกัน แต่แสดงออกมากขึ้น |
โพสต์บล็อกนี้ดีมาก ผู้เขียนคนนี้มักจะเป็นนักเขียนที่น่ากลัว แต่ที่นี่เขาโชคดี | คะแนน: 0.0 ขนาด: 1.6 | ขนาดแสดงให้เราเห็นว่ามีอารมณ์ที่แสดงออกมาในข้อความนี้ แต่ความรู้สึกแสดงให้เห็นว่าพวกเขาผสมกันและไม่ได้เป็นบวกหรือลบอย่างชัดเจน |
รูปแบบการวิเคราะห์ความรู้สึกของ Google ได้รับการฝึกฝนเกี่ยวกับชุดข้อมูลขนาดใหญ่มาก น่าเสียดายที่ไม่มีข้อมูลเกี่ยวกับโครงสร้างโดยละเอียด ฉันอยากรู้เกี่ยวกับประสิทธิภาพในโลกแห่งความเป็นจริงดังนั้นฉันจึงทดสอบกับส่วนหนึ่งของไฟล์ ชุดข้อมูลบทวิจารณ์ภาพยนตร์ขนาดใหญ่ ซึ่งสร้างขึ้นโดยนักวิทยาศาสตร์จากมหาวิทยาลัยสแตนฟอร์ดในปี 2554
โดยทั่วไปแล้วไฟล์นามสกุล java, c และ cpp จะใช้สำหรับข้อใดต่อไปนี้
ฉันสุ่มเลือกบทวิจารณ์ภาพยนตร์เชิงบวกและเชิงลบ 500 เรื่องจากชุดทดสอบและเปรียบเทียบความเชื่อมั่นที่คาดการณ์ไว้กับป้ายกำกับบทวิจารณ์จริง เมทริกซ์ความสับสนมีลักษณะดังนี้:
ความเชื่อมั่นในเชิงบวก | ความเชื่อมั่นเชิงลบ | |
รีวิวดีๆ | 470 | 30 |
รีวิวไม่ดี | 29 | 471 |
ดังตารางแสดงให้เห็นว่าแบบจำลองนี้ถูกต้องประมาณ 94% ของเวลาสำหรับบทวิจารณ์ภาพยนตร์ที่ดีและไม่ดี นี่ไม่ใช่ประสิทธิภาพที่ไม่ดีสำหรับโซลูชันสำเร็จรูปโดยไม่ต้องปรับแต่งปัญหาใด ๆ
บันทึก: การวิเคราะห์ความรู้สึกมีให้บริการในภาษาเดียวกับการวิเคราะห์ไวยากรณ์ยกเว้นภาษารัสเซีย
การวิเคราะห์เอนทิตีคือกระบวนการตรวจจับเอนทิตีที่รู้จักเช่นบุคคลสาธารณะหรือจุดสังเกตจากข้อความที่กำหนด การตรวจจับเอนทิตีมีประโยชน์มากสำหรับงานการจัดประเภทและการสร้างแบบจำลองหัวข้อทุกประเภท
API ภาษาธรรมชาติของ Google ให้ข้อมูลพื้นฐานเกี่ยวกับแต่ละเอนทิตีที่ตรวจพบและยังให้ลิงก์ไปยังบทความ Wikipedia ที่เกี่ยวข้องหากมีอยู่ นอกจากนี้ยังมีการคำนวณคะแนน Salience คะแนนสำหรับเอนทิตีนี้ให้ข้อมูลเกี่ยวกับความสำคัญหรือความเป็นศูนย์กลางของเอนทิตีนั้นต่อข้อความเอกสารทั้งหมด คะแนนที่ใกล้ 0 มีความสำคัญน้อยกว่าในขณะที่คะแนนที่ใกล้เคียงกับ 1.0 นั้นมีความสำคัญสูง
เมื่อเราส่งคำขอไปยัง API ด้วยประโยคตัวอย่างนี้: “ โรเบิร์ตเดอนีโรพูดกับมาร์ตินสกอร์เซซีในฮอลลีวูดในวันคริสต์มาสอีฟในเดือนธันวาคม 2554” เราได้รับผลดังต่อไปนี้:
ตรวจพบเอนทิตี | ข้อมูลเพิ่มเติม |
โรเบิร์ตเดอนีโร | ประเภท: 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 | type: DATE Year: 2011 Month: 12 salience: 0.0 wikipedia_url: - |
2554 | ประเภท: NUMBER salience: 0.0 wikipedia_url: - |
อย่างที่คุณเห็นเอนทิตีทั้งหมดได้รับการระบุและจัดประเภทอย่างถูกต้องยกเว้นปี 2011 จะปรากฏขึ้นสองครั้ง นอกจากนี้ในฟิลด์ในผลลัพธ์ตัวอย่าง API การวิเคราะห์เอนทิตียังตรวจจับองค์กรงานศิลปะสินค้าอุปโภคบริโภคหมายเลขโทรศัพท์ที่อยู่และราคา
หากมีแบบจำลองสำหรับการตรวจจับเอนทิตีและการวิเคราะห์ความรู้สึกเป็นเรื่องธรรมดาที่จะก้าวไปอีกขั้นและรวมเข้าด้วยกันเพื่อตรวจจับอารมณ์ที่มีต่อเอนทิตีต่างๆในข้อความ
ในขณะที่ Sentiment Analysis API จะค้นหาการแสดงอารมณ์ทั้งหมดในเอกสารและรวมเอาไว้การวิเคราะห์ความคิดเห็นของเอนทิตีจะพยายามค้นหาการอ้างอิงระหว่างส่วนต่างๆของเอกสารกับเอนทิตีที่ระบุจากนั้นจึงระบุอารมณ์ในส่วนข้อความเหล่านี้ไปยังเอนทิตีที่เกี่ยวข้อง
ตัวอย่างเช่นข้อความแสดงความคิดเห็น: “ ผู้เขียนเป็นนักเขียนที่น่ากลัว ในทางกลับกันผู้อ่านก็ฉลาดมาก” นำไปสู่ผลลัพธ์:
เอนทิตี | ความเชื่อมั่น |
ผู้เขียน | Salience: 0.8773350715637207 Sentiment: magnitude: 1.899999976158142 คะแนน: -0.8999999761581421 |
ผู้อ่าน | Salience: 0.08653714507818222 Sentiment: magnitude: 0.8999999761581421 คะแนน: 0.8999999761581421 |
จนถึงขณะนี้การวิเคราะห์ความเชื่อมั่นของเอนทิตีใช้ได้เฉพาะกับภาษาอังกฤษญี่ปุ่นและสเปนเท่านั้น
สุดท้าย Google Natural language API มาพร้อมกับรูปแบบการจัดประเภทข้อความแบบพลักแอนด์เพลย์
วิธีใช้ directive ใน angularjs
แบบจำลองได้รับการฝึกอบรมเพื่อจัดประเภทเอกสารนำเข้าเป็นชุดประเภทใหญ่ ๆ หมวดหมู่เป็นแบบลำดับชั้นที่มีโครงสร้างเช่น หมวดหมู่ “ งานอดิเรกและงานยามว่าง” มีหมวดหมู่ย่อยหลายประเภทซึ่งหนึ่งในนั้นจะเป็น “ งานอดิเรกและงานยามว่าง / กิจกรรมกลางแจ้ง” ซึ่งมีหมวดหมู่ย่อยเช่น “ งานอดิเรกและงานยามว่าง / กลางแจ้ง / ตกปลา”
นี่คือข้อความตัวอย่างจากโฆษณากล้อง 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 อาจไม่สามารถใช้ได้กับผู้ใช้ส่วนใหญ่
ข้อ จำกัด อีกประการหนึ่งของรูปแบบการจัดหมวดหมู่คือใช้ได้กับข้อความภาษาอังกฤษเท่านั้น
ข้อได้เปรียบที่สำคัญของ 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 สิ่งนี้มีข้อดีคือไม่มีค่าใช้จ่ายคงที่สำหรับเซิร์ฟเวอร์การปรับใช้ใด ๆ ข้อเสียคืออาจมีราคาแพงสำหรับชุดข้อมูลขนาดใหญ่มาก
ตารางนี้แสดงราคา (ต่อ 1,000 คำขอ) ขึ้นอยู่กับจำนวนคำขอรายเดือน:
หากเอกสารมีอักขระมากกว่า 1,000 ตัวจะนับเป็นหลายคำขอ ตัวอย่างเช่นหากคุณต้องการวิเคราะห์ความรู้สึกของเอกสาร 10,000 ฉบับซึ่งแต่ละฉบับมีอักขระ 1,500 ตัวคุณจะถูกเรียกเก็บเงิน 20,000 คำขอ เนื่องจาก 5,000 คนแรกฟรีค่าใช้จ่ายทั้งหมดจะเท่ากับ 15 เหรียญ การวิเคราะห์เอกสารหนึ่งล้านฉบับที่มีขนาดเท่ากันจะมีราคา 1,995 เหรียญ
Google Natural Language API เป็นตัวเลือกที่สะดวกมากสำหรับการแก้ปัญหาที่รวดเร็วทันใจ ความรู้ทางเทคนิคน้อยมากและไม่จำเป็นต้องมีความเข้าใจเกี่ยวกับโมเดลการเรียนรู้ของเครื่อง
ข้อเสียเปรียบหลักคือความไม่ยืดหยุ่นและการไม่สามารถเข้าถึงโมเดลได้ ไม่สามารถปรับโมเดลให้เป็นงานหรือชุดข้อมูลเฉพาะได้
ในสภาพแวดล้อมจริงงานส่วนใหญ่อาจต้องใช้โซลูชันที่ปรับแต่งให้เหมาะสมมากกว่าที่ฟังก์ชัน Natural Language API ที่เป็นมาตรฐานจะมีให้
สำหรับสถานการณ์นี้ Google AutoML Natural Language เหมาะกว่า
หาก API ภาษาธรรมชาติไม่ยืดหยุ่นเพียงพอสำหรับวัตถุประสงค์ทางธุรกิจของคุณ AutoML ภาษาธรรมชาติ อาจเป็นบริการที่เหมาะสม AutoML เป็นบริการ Google Cloud ใหม่ (ยังอยู่ในรุ่นเบต้า) ที่ช่วยให้ผู้ใช้สร้างโมเดลการเรียนรู้ของเครื่องที่กำหนดเองได้ ตรงกันข้ามกับ Natural Language API โมเดล AutoML จะได้รับการฝึกอบรมเกี่ยวกับข้อมูลของผู้ใช้ดังนั้นจึงเหมาะกับงานเฉพาะ
โมเดลแมชชีนเลิร์นนิงที่กำหนดเองสำหรับการจัดประเภทเนื้อหามีประโยชน์เมื่อหมวดหมู่ที่กำหนดไว้ล่วงหน้าซึ่งพร้อมใช้งานจาก Natural Language API นั้นกว้างเกินไปหรือไม่สามารถใช้ได้กับกรณีการใช้งานหรือโดเมนความรู้เฉพาะของคุณ
บริการ AutoML ต้องใช้ความพยายามมากขึ้นสำหรับผู้ใช้ส่วนใหญ่เป็นเพราะคุณต้องจัดเตรียมชุดข้อมูลเพื่อฝึกโมเดล อย่างไรก็ตามการฝึกอบรมและการประเมินโมเดลในระบบอัตโนมัติโดยสมบูรณ์และไม่จำเป็นต้องมีความรู้ด้านแมชชีนเลิร์นนิง กระบวนการทั้งหมดสามารถทำได้โดยไม่ต้องเขียนโค้ดใด ๆ โดยใช้ Google Cloud Console แน่นอนว่าหากคุณต้องการทำขั้นตอนเหล่านี้โดยอัตโนมัติมีการรองรับภาษาโปรแกรมทั่วไปทั้งหมด
บริการ AutoML ครอบคลุมกรณีการใช้งานสามกรณี กรณีการใช้งานทั้งหมดนี้รองรับเฉพาะภาษาอังกฤษในตอนนี้
แม้ว่าตัวจำแนกข้อความของ Natural Language API จะผ่านการฝึกอบรมมาแล้วและด้วยเหตุนี้จึงมีชุดหมวดหมู่ข้อความคงที่ แต่การจัดประเภทข้อความ AutoML จะสร้างโมเดลการเรียนรู้ของเครื่องที่กำหนดเองโดยมีหมวดหมู่ที่คุณระบุไว้ในชุดข้อมูลการฝึกอบรมของคุณ
ดังที่เราได้เห็นแล้วการวิเคราะห์ความรู้สึกของ Natural Language API ทำงานได้ดีในกรณีการใช้งานทั่วไปเช่นบทวิจารณ์ภาพยนตร์ เนื่องจากแบบจำลองความรู้สึกได้รับการฝึกฝนในคลังข้อมูลทั่วไปประสิทธิภาพอาจลดลงสำหรับเอกสารที่ใช้ภาษาเฉพาะโดเมนจำนวนมาก ในสถานการณ์เหล่านี้ AutoML Sentiment Analysis ช่วยให้คุณสามารถฝึกอบรมรูปแบบความคิดเห็นที่ปรับแต่งตามโดเมนของคุณ
ในหลายบริบททางธุรกิจมีหน่วยงานเฉพาะโดเมน (สัญญาทางกฎหมายเอกสารทางการแพทย์) ที่ Natural Language API จะไม่สามารถระบุได้ หากคุณมีชุดข้อมูลที่มีการทำเครื่องหมายเอนทิตีคุณสามารถฝึกตัวแยกเอนทิตีแบบจำลองที่กำหนดเองด้วย AutoML หากชุดข้อมูลมีขนาดใหญ่เพียงพอโมเดลการแยกเอนทิตีที่ได้รับการฝึกอบรมจะสามารถตรวจจับเอนทิตีที่มองไม่เห็นก่อนหน้านี้ได้ด้วย
การใช้ AutoML ทั้งสามเป็นกระบวนการสี่ขั้นตอนและคล้ายกันมากสำหรับทั้งสามวิธี:
การเตรียมชุดข้อมูล
ชุดข้อมูลต้องอยู่ในรูปแบบเฉพาะ (CSV หรือ JSON) และต้องเก็บไว้ในที่เก็บข้อมูล สำหรับรูปแบบการจัดหมวดหมู่และความรู้สึกชุดข้อมูลประกอบด้วยคอลัมน์เพียงสองคอลัมน์คือข้อความและป้ายกำกับ สำหรับรูปแบบการแยกเอนทิตีชุดข้อมูลต้องการข้อความและตำแหน่งของเอนทิตีทั้งหมดในข้อความ
การฝึกโมเดล
การฝึกโมเดลเป็นไปโดยอัตโนมัติ หากไม่มีคำแนะนำให้เป็นอย่างอื่น AutoML จะแยกชุดการฝึกอบรมออกเป็นชุดฝึกการทดสอบและการตรวจสอบความถูกต้องโดยอัตโนมัติ ผู้ใช้สามารถตัดสินใจการแยกนี้ได้เช่นกัน แต่นั่นเป็นวิธีเดียวที่จะมีอิทธิพลต่อการฝึกโมเดล ส่วนที่เหลือของการฝึกอบรมเป็นแบบกล่องดำโดยอัตโนมัติ
การประเมินผล
เมื่อการฝึกเสร็จสิ้น AutoML จะแสดงความแม่นยำและคะแนนการเรียกคืนรวมทั้งเมทริกซ์ความสับสน น่าเสียดายที่ไม่มีข้อมูลเกี่ยวกับโมเดลดังกล่าวทำให้ยากที่จะระบุสาเหตุของโมเดลที่มีประสิทธิภาพไม่ดี
คาดการณ์
เมื่อคุณพอใจกับประสิทธิภาพของโมเดลแล้วโมเดลสามารถปรับใช้งานได้อย่างสะดวกด้วยการคลิกเพียงไม่กี่ครั้ง ขั้นตอนการปรับใช้ใช้เวลาเพียงไม่กี่นาที
กระบวนการฝึกอบรมค่อนข้างช้าอาจเป็นเพราะโมเดลต้นแบบมีขนาดใหญ่มาก ฉันได้ฝึกฝนงานการจำแนกประเภทการทดสอบขนาดเล็กโดยมีตัวอย่าง 15,000 ตัวอย่างและ 10 หมวดหมู่และการฝึกอบรมใช้เวลาหลายชั่วโมง ตัวอย่างในโลกแห่งความเป็นจริงที่มีชุดข้อมูลที่ใหญ่กว่านั้นทำให้ฉันต้องใช้เวลาหลายวัน
แม้ว่า Google จะไม่ได้เผยแพร่รายละเอียดใด ๆ เกี่ยวกับโมเดลที่ใช้ แต่ฉันก็เดาได้ว่า โมเดล BERT ของ Google ใช้กับการดัดแปลงขนาดเล็กสำหรับแต่ละงาน การปรับรุ่นใหญ่อย่าง BERT เป็นกระบวนการที่มีค่าใช้จ่ายสูงโดยเฉพาะอย่างยิ่งเมื่อมีการตรวจสอบความถูกต้องข้ามกันเป็นจำนวนมาก
ฉันทดสอบโมเดลการจำแนก AutoML ในตัวอย่างจริงเทียบกับโมเดลที่ฉันพัฒนาขึ้นเองซึ่งอิงจาก BERT น่าแปลกที่โมเดล AutoML ทำงานได้แย่กว่าโมเดลของฉันเองอย่างมากเมื่อได้รับการฝึกฝนกับข้อมูลเดียวกัน AutoML มีความแม่นยำ 84% ในขณะที่โมเดลของฉันทำได้ 89%
นั่นหมายความว่าในขณะที่ใช้ AutoML อาจสะดวกมากสำหรับงานที่มีความสำคัญด้านประสิทธิภาพคุณควรลงทุนเวลาและพัฒนาโมเดลด้วยตัวเอง
การกำหนดราคา AutoML สำหรับการคาดการณ์ด้วย $ 5 ต่อ 1,000 ระเบียนข้อความนั้นแพงกว่า Natural Language API อย่างมาก นอกจากนี้สำหรับการฝึกอบรมแบบจำลอง AutoML จะเรียกเก็บเงิน 3 เหรียญต่อชั่วโมง แม้ว่าสิ่งนี้จะไม่สำคัญในช่วงแรก แต่สำหรับกรณีการใช้งานที่ต้องมีการฝึกอบรมซ้ำบ่อยครั้งสิ่งนี้สามารถเพิ่มได้เป็นจำนวนมากโดยเฉพาะอย่างยิ่งเนื่องจากการฝึกอบรมดูเหมือนจะค่อนข้างช้า
ลองใช้ตัวอย่างเดียวกับ Natural Language API:
คุณต้องการวิเคราะห์ความรู้สึกของเอกสาร 10,000 ฉบับซึ่งแต่ละฉบับมีอักขระ 1,500 ตัวดังนั้นคุณจะถูกเรียกเก็บเงิน 20,000 คำขอ สมมติว่าการฝึกโมเดลนี้ใช้เวลา 20 ชั่วโมงซึ่งมีค่าใช้จ่าย 48 เหรียญ การทำนายจะไม่ทำให้คุณเสียค่าใช้จ่ายใด ๆ เนื่องจากคำขอ 30,000 รายการแรกนั้นฟรี สำหรับชุดข้อมูลขนาดเล็กเช่นนี้ AutoML ประหยัดมาก
อย่างไรก็ตามหากชุดข้อมูลของคุณมีขนาดใหญ่ขึ้นและคุณจำเป็นต้องคาดการณ์ความเชื่อมั่นที่มีขนาดเท่ากันหนึ่งล้านชุดจะมีราคา 9,850 เหรียญซึ่งค่อนข้างแพง สำหรับชุดข้อมูลขนาดใหญ่เช่นนี้คุณควรพัฒนาแบบจำลองของคุณเองโดยไม่ต้องใช้ AutoML
Google AutoML Natural Language มีประสิทธิภาพมากกว่า Natural Language API มากเนื่องจากช่วยให้ผู้ใช้ฝึกโมเดลที่ปรับแต่งสำหรับชุดข้อมูลและโดเมนเฉพาะของตน
ใช้งานง่ายและไม่ต้องใช้ความรู้ด้านแมชชีนเลิร์นนิง ข้อเสียสองประการคือต้นทุนที่สูงขึ้นและความจำเป็นในการจัดหาชุดข้อมูลคุณภาพสูงซึ่งจำเป็นต้องฝึกโมเดลที่ทำงานได้ดี
AutoML beta รองรับงาน NLP เพียงสามงานในตอนนี้ (การจัดหมวดหมู่การวิเคราะห์ความรู้สึกการแยกเอนทิตี) และรองรับเฉพาะเอกสารภาษาอังกฤษเท่านั้น เมื่อบริการนี้ออกอย่างสมบูรณ์ฉันคาดว่าจะมีการเพิ่มภาษาอื่น ๆ และงาน NLP เมื่อเวลาผ่านไป
การวิเคราะห์ความรู้สึกเป็นกระบวนการในการระบุความคิดเห็นในข้อความโดยคำนวณ โมเดลแมชชีนเลิร์นนิงได้รับการฝึกฝนเกี่ยวกับชุดของข้อความที่มีความรู้สึกที่เป็นที่รู้จักและเรียนรู้ว่าสำนวนใดมีความสัมพันธ์กับทัศนคติของผู้เขียนต่อหัวข้อ จากนั้นโมเดลสามารถตรวจจับความรู้สึกในข้อความที่มองไม่เห็น
การจัดประเภทข้อความเป็นกระบวนการจัดประเภทเอกสารข้อความโดยอัตโนมัติเป็นกลุ่มจำนวน จำกัด ตัวแยกประเภทข้อความคือโมเดลการเรียนรู้ของเครื่องที่ได้รับการฝึกฝนให้ตรวจจับความคล้ายคลึงกันระหว่างข้อความ คุณสมบัติของพวกเขามักจะขึ้นอยู่กับคำศัพท์และลำดับคำของเอกสารข้อความอินพุต
ข้อใดต่อไปนี้เกี่ยวกับผู้ซื้อที่บ่งชี้ว่าผู้ซื้อมีอำนาจต่อรองสูง
NLP API คืออินเทอร์เฟซสำหรับโมเดลการประมวลผลภาษาธรรมชาติที่มีอยู่ API ใช้เพื่อส่งเอกสารข้อความไปยังโมเดลและรับเอาต์พุตโมเดลเป็นการส่งคืน Google นำเสนอ NLP API ให้กับหลายรุ่นสำหรับงานที่แตกต่างกันเช่นการวิเคราะห์ความรู้สึกและการจัดประเภทข้อความ
API ภาษาธรรมชาติบนคลาวด์เป็นบริการของ Google ที่นำเสนออินเทอร์เฟซสำหรับ NLP หลายรุ่นซึ่งได้รับการฝึกอบรมในองค์กรข้อความขนาดใหญ่ API สามารถใช้สำหรับการวิเคราะห์เอนทิตีการวิเคราะห์ไวยากรณ์การจัดประเภทข้อความและการวิเคราะห์ความรู้สึก