GitHub ได้เปิดการพัฒนาในการใช้การเรียนรู้ของเครื่องสำหรับการค้นหาและวิเคราะห์โค้ด

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

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

ชุดข้อมูลที่เสนอประกอบด้วยลิงก์แสดงความคิดเห็นโค้ดมากกว่า 2 ล้านลิงก์ ซึ่งจัดทำขึ้นตามข้อความต้นฉบับของไลบรารีแบบเปิดที่มีอยู่ รหัสครอบคลุมข้อความต้นฉบับที่สมบูรณ์ของแต่ละฟังก์ชันหรือวิธีการ และความคิดเห็นจะอธิบายการดำเนินการที่ดำเนินการโดยฟังก์ชัน (มีเอกสารประกอบโดยละเอียด) ปัจจุบันชุดข้อมูลได้เตรียมไว้สำหรับ Python, JavaScript, Ruby, Go, Java และ PHP มีตัวอย่างการใช้ชุดข้อมูลที่เสนอสำหรับการฝึกอบรมโครงข่ายประสาทเทียมประเภทต่างๆ รวมถึง ประสาทถุงของคำ, ร.น., ความสนใจตนเอง (เบิร์ต) และ 1D-CNN+ลูกผสมการเอาใจใส่ตนเอง.

เพื่อพัฒนากลไกการค้นหาภาษาธรรมชาติ ชุดของ CodeSearchNet Challenge ได้ถูกจัดเตรียมเพิ่มเติม ซึ่งรวมถึง
ปกติ 99 ข้อความค้นหาพร้อมคำอธิบายประกอบของผู้เชี่ยวชาญประมาณ 4 รายการ ซึ่งอธิบายการผูกโค้ดที่เป็นไปได้มากที่สุดในชุดข้อมูล CodeSearchNet Corpus ซึ่งครอบคลุมวิธีการและฟังก์ชันประมาณ 6 ล้านวิธี (ขนาดที่กำหนด ประมาณ 20 กิกะไบต์) CodeSearchNet Challenge สามารถใช้เป็นเกณฑ์มาตรฐานในการประเมินประสิทธิภาพของวิธีการบางอย่างในการค้นหาโค้ดภาษาธรรมชาติ การใช้เครื่องมือ KubeFlow เตรียมไว้
ตัวอย่าง เครื่องมือค้นหารหัส

ที่มา: opennet.ru

เพิ่มความคิดเห็น