โครงการ NLP อันดับต้น ๆ บน Github คุณควรลงมือทำ [2022]
เผยแพร่แล้ว: 2021-01-01ปัญญาประดิษฐ์มีหลายสาขา ซึ่งการประมวลผลภาษาธรรมชาติ (NLP) ได้กลายเป็นเครื่องมือยุคใหม่ที่ทรงพลัง NLP ย้อนกลับไปในปี 1950 เมื่อ Alan Turing เผยแพร่บทความเรื่อง " Computing Machinery and Intelligence " ซึ่งเสนอการทดสอบ (ปัจจุบันรู้จักกันในชื่อการ ทดสอบทัวริง ) ที่เกี่ยวข้องกับการตีความอัตโนมัติและการสร้างภาษามนุษย์ตามธรรมชาติ ถึงกระนั้นก็ตาม NLP เพิ่งได้รับการยอมรับและความนิยมไปทั่วโลกเมื่อไม่นานมานี้
สารบัญ
การประมวลผลภาษาธรรมชาติคืออะไร?
การประมวลผลภาษาธรรมชาตินั้นเกี่ยวกับการอำนวยความสะดวกในการสื่อสารระหว่างคนกับเครื่อง มีจุดมุ่งหมายเพื่อฝึกคอมพิวเตอร์ให้เข้าใจ ตีความ และจัดการภาษามนุษย์ตามธรรมชาติ NLP ดึงแรงบันดาลใจจากหลากหลายสาขาวิชา เช่น ปัญญาประดิษฐ์ วิทยาการคอมพิวเตอร์ และภาษาศาสตร์คอมพิวเตอร์
มนุษย์สื่อสารด้วยภาษาแม่ของตนเอง เช่น อังกฤษ ญี่ปุ่น สเปน ฯลฯ ในขณะที่คอมพิวเตอร์พูดภาษาแม่ ซึ่งเป็นภาษาไบนารี แม้ว่าคอมพิวเตอร์จะไม่เข้าใจภาษามนุษย์ตามธรรมชาติของเรา แต่คนส่วนใหญ่ไม่เข้าใจภาษาเครื่อง
นี่คือจุดที่ NLP เข้าสู่สะพานเชื่อมช่องว่างระหว่างการสื่อสารของมนุษย์และความเข้าใจคอมพิวเตอร์ การประมวลผลภาษาที่เป็นธรรมชาติให้อำนาจและฝึกคอมพิวเตอร์ให้สื่อสารกับมนุษย์ด้วยภาษาแม่ของพวกเขา โดยช่วยให้พวกเขาอ่านข้อความ ฟังคำพูด ตีความข้อความเสียง/ข้อความ วัดความรู้สึก และอื่นๆ อีกมากมาย
ด้วยการขยายตัวของข้อมูลที่เกิดจากการโต้ตอบและการทำธุรกรรมในชีวิตประจำวันในโลกดิจิทัล การประมวลผลภาษาธรรมชาติจึงมีความสำคัญมากขึ้นสำหรับธุรกิจ ต้องขอบคุณ NLP บริษัทต่างๆ ที่สามารถควบคุมข้อมูลดิบทางธุรกิจ การพูดคุยในโซเชียลมีเดีย ฯลฯ ได้ในปริมาณมหาศาล เพื่อให้เข้าใจข้อมูลและตัดสินใจโดยใช้ข้อมูลเป็นหลัก
ในบทความนี้ เราจะแสดงรายการ 12 โครงการ NLP บน GitHub เพื่อสร้างแรงบันดาลใจให้คุณ! การทำงานในโครงการเหล่านี้จะช่วยเสริมสร้างความรู้ในโดเมนของคุณและเพิ่มพูนทักษะในโลกแห่งความเป็นจริงของคุณ

โครงการ GitHub NLP ยอดนิยม
1. การระบุการถอดความ
การตรวจจับการถอดความคือแอปพลิเคชัน NLP ที่ตรวจจับว่าประโยคที่ต่างกันสองประโยคมีความหมายเหมือนกันหรือไม่ มีการใช้กันอย่างแพร่หลายในการแปลด้วยเครื่อง การตอบคำถาม การดึง/ดึงข้อมูล การสรุปข้อความ และการสร้างภาษาธรรมชาติ
นี่เป็นโครงการที่เป็นมิตรสำหรับผู้เริ่มต้น ซึ่งคุณจะต้องสร้างระบบการระบุการถอดความที่สามารถระบุความเหมือนและความแตกต่างระหว่างเอนทิตีที่เป็นข้อความสองแบบได้อย่างแม่นยำ (เช่น ประโยค) โดยใช้การวิเคราะห์วากยสัมพันธ์และความหมายกับพวกเขา
2. ความคล้ายคลึงของเอกสาร
นี่เป็นอีกหนึ่งโปรเจ็กต์ที่เป็นมิตรต่อผู้เริ่มต้นซึ่งมีจุดมุ่งหมายเพื่อหาปริมาณความคล้ายคลึงกันระหว่างเอกสารสองฉบับโดยใช้วิธีการคล้ายคลึงกันของโคไซน์ โดยการค้นหาความคล้ายคลึงกันระหว่างเอกสารทั้งสองฉบับ โครงการนี้จะเน้นหัวข้อทั่วไปของการอภิปราย
ความคล้ายคลึงของโคไซน์แปลงเอกสารสองฉบับเป็นเวกเตอร์เพื่อคำนวณความคล้ายคลึงกันระหว่างเวกเตอร์เหล่านั้น โดยคำนวณความคล้ายคลึงของเอกสารโดยใช้พื้นที่ผลิตภัณฑ์ภายในที่วัดมุมโคไซน์ระหว่างกัน
3. การทำนายข้อความ
ในโปรเจ็กต์นี้ คุณจะต้องสร้างแอปพลิเคชันที่สามารถคาดเดาคำถัดไปเมื่อคุณพิมพ์คำต่างๆ เครื่องมือที่ใช้ในการสร้างโปรเจ็กต์การคาดคะเนข้อความนี้ประกอบด้วยการประมวลผลภาษาธรรมชาติ การทำเหมืองข้อความ และชุดเครื่องมือของ R
โปรเจ็กต์ใช้ตัวประมาณความน่าจะเป็นสูงสุดโดยมี Kneser Ney Smoothing เป็นแบบจำลองการทำนาย การคาดคะเนได้รับการออกแบบในการรวบรวมคำที่จัดเก็บไว้ในฐานข้อมูลที่ใช้สำหรับการฝึกโมเดล คุณสามารถค้นหาชุดทรัพยากรทั้งหมดสำหรับโปรเจ็กต์นี้ได้ที่ GitHub
4. ศาสตร์แห่งอัจฉริยะ
โครงการนี้เป็นส่วนหนึ่งของโครงการ Science of Success จุดมุ่งหมายในที่นี้คือการพิจารณาว่าปัจจัยด้านคำศัพท์เฉพาะสามารถบ่งบอกถึงความสนใจที่บทความได้รับหรือไม่ โดยวัดโดยดัชนีการอ้างอิงที่เป็นมาตรฐาน โดยใช้โฮสต์ของวิทยาศาสตร์ข้อมูลและเครื่องมือวิเคราะห์ NLP
ในระยะเริ่มต้น โครงงานนี้มุ่งเน้นไปที่การศึกษาความแปรปรวนทางเวลาและทางวินัยในความยาวและลักษณะวากยสัมพันธ์ของชื่อบทความใน Web of Science ซึ่งเป็นชุดข้อมูลที่มีบทความมากกว่า 50 ล้านบทความที่ตีพิมพ์ตั้งแต่ปี 1900 ภาพรวมคือการสร้างแบบจำลองเชิงปริมาณ ที่สามารถประเมินผลกระทบของบทความทางวิทยาศาสตร์ต่อชุมชนได้อย่างแม่นยำ
5. ดึงความรู้สึกหุ้นออกจากหัวข้อข่าว
ตามชื่อเรื่อง คุณจะใช้การวิเคราะห์ความเชื่อมั่นในหัวข้อข่าวการเงินจาก Finviz เพื่อสร้างข้อมูลเชิงลึกด้านการลงทุนในโครงการนี้ เทคนิคการวิเคราะห์ความเชื่อมั่นจะช่วยให้คุณเข้าใจและตีความอารมณ์เบื้องหลังพาดหัวข่าว และคาดการณ์ว่าสถานการณ์ในตลาดปัจจุบันเอื้อต่อหุ้นตัวใดตัวหนึ่งหรือไม่
6. บอทอัจฉริยะ
โปรเจ็กต์นี้เกี่ยวข้องกับการสร้างบอทอัจฉริยะที่สามารถแยกวิเคราะห์และจับคู่ผลลัพธ์จากที่เก็บเฉพาะเพื่อตอบคำถาม บอทใช้ WordNet สำหรับการดำเนินการนี้ โดยให้น้ำหนักบริบทของคำถามเกี่ยวกับแท็กในเอกสารที่มีโครงสร้าง (เช่น ส่วนหัว ชื่อตัวหนา ฯลฯ) เนื่องจากยังคงรักษาบริบทไว้ คุณจึงสามารถถามคำถามที่เกี่ยวข้องในหัวข้อเดียวกันได้

ตัวอย่างเช่น หากคุณต้องการสืบค้นบทความ Wikipedia คุณสามารถใช้เทมเพลต “บอกฉันเกี่ยวกับ XYZ” และถามคำถามที่คล้ายกันต่อไปเมื่อมีการสร้างบริบทแล้ว อีกครั้ง คุณสามารถสืบค้นหน้าเว็บโดยระบุ URL ของหน้าเป็นแหล่งที่มา เช่น “ https://www.microsoft.com/en-us/software-download/faq ” วิธีนี้ใช้ได้ผลดีกับหน้าคำถามที่พบบ่อยและถามตอบ
7. CitesCyVerse
โครงการ CitesCyVerse ได้รับการออกแบบบน The Science Citation Knowledge Extractor CitesCyVerse เป็นเครื่องมือโอเพนซอร์ซที่ใช้ประโยชน์จาก Machine Learning และ NLP เพื่อช่วยให้นักวิจัยด้านชีวการแพทย์เข้าใจวิธีที่ผู้อื่นใช้ผลงานของตนโดยการวิเคราะห์เนื้อหาในบทความที่อ้างอิงถึงพวกเขา ด้วยการใช้ ML และ NLP CitesCyVerse จะแยกประเด็นสำคัญและแนวคิดที่กล่าวถึงในเอกสารอ้างอิง สิ่งนี้ทำให้นักวิจัยเข้าใจได้ดีขึ้นว่างานของพวกเขามีอิทธิพลต่อผู้อื่นในชุมชนวิทยาศาสตร์อย่างไร
CitesCyVerse รวม WordClouds ที่สร้างเมฆใหม่จากคำที่คล้ายกันที่กล่าวถึงในเอกสารอ้างอิง นอกจากนี้ยังมีหัวข้อที่ให้คุณสำรวจหัวข้อยอดนิยมสำหรับบทความและสิ่งพิมพ์ที่อ้างถึง CyVerse
8. Data Science Capstone – สคริปต์การประมวลผลข้อมูล
ในโครงการหลัก Data Science คุณจะใช้สคริปต์การประมวลผลข้อมูลเพื่อสาธิตวิศวกรรมข้อมูลแทนการสร้างแบบจำลอง n-gram สคริปต์เหล่านี้สามารถประมวลผลคลังข้อมูลทั้งหมดเพื่อสร้าง n-gram และการนับได้ คุณสามารถใช้ข้อมูลนี้เพื่อพัฒนาอัลกอริธึมข้อความคาดเดาได้
ในการสร้างโปรเจ็กต์นี้ คุณจะต้องใช้ระบบดูอัลคอร์ (เนื่องจากสคริปต์ส่วนใหญ่เป็นเธรดเดี่ยว) ที่มี RAM อย่างน้อย 16GB สำหรับข้อกำหนดของซอฟต์แวร์ คุณต้องมี – Linux (ดีที่สุดหากทดสอบบน Ubuntu 14.04), Python (เวอร์ชัน 2.7), NLTK (เวอร์ชัน 3.0) และ NumPy
อ่าน: แนวคิดและหัวข้อโครงการประมวลผลภาษาธรรมชาติ
9. ตัวสร้างสคริปต์
นี่เป็นโครงการที่น่าตื่นเต้นที่คุณจะสร้าง RNN เพื่อสร้างสคริปต์ทีวีสำหรับรายการยอดนิยม The Simpsons โดยอิงจากชุดข้อมูลสคริปต์ของทั้ง 27 ซีซั่นของรายการ RNNs จะสร้างสคริปต์ใหม่สำหรับฉากเฉพาะที่ Moe's Tavern
โครงการสร้างสคริปต์เป็นส่วนหนึ่งของ Deep Learning Nanodegree ของ Udacity การดำเนินโครงการมีอยู่ใน: dlnd_tv_script_generation.ipynb
10. การทำนายหุ้น Reddit
โครงการนี้พยายามที่จะทำความเข้าใจว่าโพสต์บนโซเชียลมีเดียส่งผลต่อราคาหุ้นในอนาคตอย่างไร ที่นี่ เราจะศึกษาผลกระทบของการโพสต์บนโซเชียลมีเดียบน Reddit โดยเฉพาะ subreddits/forum ที่เน้นการลงทุน โดยใช้วิธีการวิเคราะห์ข้อความ
คุณสามารถใช้ไฟล์ที่เก็บ GitHub เพื่อล้างและใช้การวิเคราะห์ความคิดเห็นกับโพสต์/ความคิดเห็นของ Reddit และใช้ข้อมูลนี้เพื่อสร้างแบบจำลองการถดถอย พื้นที่เก็บข้อมูลยังมีโค้ดที่คุณสามารถใช้สำหรับเว็บแอปพลิเคชันเชิงโต้ตอบที่ใช้สำหรับการแสดงภาพความรู้สึกแบบเรียลไทม์สำหรับตัวแสดงราคาหุ้นเฉพาะและทำการคาดคะเนที่เกี่ยวข้อง
11. Me_Bot
นี่เป็นโปรเจ็กต์ NLP แสนสนุกที่คุณจะพัฒนาบอทชื่อ Me_Bot ที่จะใช้ประโยชน์จากการสนทนา WhatsApp ของคุณ เรียนรู้จากพวกเขา และพูดคุยกับคุณเหมือนกับที่คุณทำกับบุคคลอื่น โดยพื้นฐานแล้ว แนวคิดคือการสร้างบอทที่พูดเหมือนคุณ
คุณต้องส่งออกการแชท WhatsApp จากโทรศัพท์ของคุณและฝึกบ็อตเกี่ยวกับข้อมูลนี้ ในการทำเช่นนั้น คุณต้องไปที่ WhatsApp บนโทรศัพท์ของคุณ เลือกการสนทนาใดๆ และส่งออกจากการตั้งค่าของแอพ จากนั้น คุณสามารถเปลี่ยนไฟล์ “.txt” ที่สร้างไปยังโฟลเดอร์ Me_Bot

12. เครื่องวิเคราะห์อารมณ์คำพูด
โปรเจ็กต์นี้เกี่ยวกับการสร้างแบบจำลอง ML ที่สามารถตรวจจับอารมณ์จากการสนทนาที่เรามีตามปกติในชีวิตประจำวัน โมเดล ML สามารถตรวจจับอารมณ์ต่างๆ ได้ถึงห้าอารมณ์ และเสนอคำแนะนำส่วนบุคคลตามอารมณ์ปัจจุบันของคุณ
เครื่องมือแนะนำตามอารมณ์นี้มีคุณค่ามหาศาลสำหรับหลายอุตสาหกรรม เนื่องจากสามารถใช้เครื่องมือนี้เพื่อขายให้กับผู้ชมที่ตรงเป้าหมายและผู้ซื้อได้ ตัวอย่างเช่น แพลตฟอร์มการสตรีมเนื้อหาออนไลน์สามารถใช้เครื่องมือนี้เพื่อเสนอคำแนะนำเนื้อหาที่ปรับแต่งให้กับแต่ละบุคคลโดยการอ่านอารมณ์และความชอบในปัจจุบัน
อ่านเพิ่มเติม: การเรียนรู้เชิงลึกกับ NLP
บทสรุป
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของรายการของเรา โครงการ NLP ทั้ง 12 โครงการบน GitHub นั้นยอดเยี่ยมสำหรับการพัฒนาทักษะการเขียนโปรแกรมและการพัฒนาโครงการของคุณ สิ่งสำคัญที่สุดคือ การสร้างโปรเจ็กต์จะช่วยให้คุณเชี่ยวชาญในความแตกต่างของการประมวลผลภาษาธรรมชาติ ซึ่งจะช่วยเสริมความรู้ด้านโดเมนของคุณ
หากคุณต้องการพัฒนาทักษะ NLP คุณต้องลงมือทำโครงการ NLP เหล่านี้ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ
อะไรคือความท้าทายหลักของการประมวลผลภาษาธรรมชาติ?
การประมวลผลภาษาธรรมชาติมีความท้าทายมากมาย ปัญหาสำคัญคือการขาดความสามารถในการคำนวณ อัลกอริธึมปัจจุบันถูกสร้างขึ้นเพื่อทำงานในระบบออฟไลน์ซึ่งต้องการพลังในการคำนวณจำนวนมากและอาจใช้เวลาในการประมวลผลมากขึ้น ปัญหาอื่นคือทรัพยากรที่มีอยู่ การสร้างอัลกอริธึมที่สามารถทำงานกับข้อมูลจำนวนเล็กน้อยนั้นไม่ใช่เรื่องง่ายและใช้เวลานานกว่า ความท้าทายอีกประการหนึ่งคือความพร้อมใช้งานของข้อมูลจำนวนมหาศาลที่เราจำเป็นต้องดำเนินการ
NLP รุ่นใดให้ความแม่นยำสูงสุด
ความแม่นยำที่ดีที่สุดสำหรับโมเดล NLP ทำได้โดยการส่งข้อความผ่านชุดตัวกรองที่ซับซ้อนมากขึ้น ชั้นแรกคือการเอาคำหยุด เครื่องหมายวรรคตอน และตัวเลขออก หลังจากนั้น ควรสร้างข้อความทั้งหมดโดยใช้ Stemmer ของ Porter จากนั้นจึงแทนที่คำทั้งหมดด้วยรูปแบบย่อของคำเหล่านั้น จากนั้น ขั้นตอนสุดท้ายคือการลบคำใดๆ ที่ไม่มีอยู่ในคำศัพท์จำนวน 200,000 คำ
tokenization ใน NLP คืออะไร?
Tokenization คือกระบวนการแบ่งประโยคออกเป็นส่วนๆ ที่เรียกว่าโทเค็น หลังจากใช้กระบวนการแล้ว เราสามารถแยกความหมายหรือเจตนาของประโยคได้อย่างง่ายดาย Tokenization เสร็จสิ้นหลังจากทำการแยกประโยค ใน NLP โทเค็นจะใช้สำหรับการประมวลผล การจัดประเภท และการแสดงประโยคต่อไป งาน NLP บางอย่างที่เกี่ยวข้องกับการใช้โทเค็นคือการตรวจหาภาษา การแท็ก POS และการแยกวิเคราะห์