กลับไปหน้าบทความ

อ่าน 4 นาที

การเขียนโปรแกรมภาษาธรรมชาติ

การเขียนโปรแกรมภาษาธรรมชาติ ( NLP ) เป็น วิธี การเขียนโปรแกรม โดยใช้ ออนโทโลยี ช่วยโดยใช้ประโยค ภาษาธรรมชาติ เช่น ภาษา อังกฤษ [ 1 ] เอกสารที่มีโครงสร้างพร้อมเนื้อหา ส่วนต่างๆ...

การเขียนโปรแกรมภาษาธรรมชาติ

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )

การเขียนโปรแกรมภาษาธรรมชาติ ( NLP ) เป็น วิธี การเขียนโปรแกรม โดยใช้ ออนโทโลยีช่วยโดยใช้ประโยคภาษาธรรมชาติ เช่น ภาษาอังกฤษ[ 1 ]เอกสารที่มีโครงสร้างพร้อมเนื้อหา ส่วนต่างๆ และส่วนย่อยสำหรับคำอธิบายประโยค ก่อให้เกิดเอกสาร NLP ซึ่งแท้จริงแล้วคือโปรแกรมคอมพิวเตอร์การเขียนโปรแกรมภาษาธรรมชาติไม่ควรสับสนกับการเชื่อมต่อภาษาธรรมชาติหรือการควบคุมด้วยเสียง ซึ่งโปรแกรมจะถูกเขียนขึ้นก่อนแล้วจึงสื่อสารผ่านภาษาธรรมชาติโดยใช้อินเทอร์เฟซที่เพิ่มเข้ามา ใน NLP ฟังก์ชันการทำงานของโปรแกรมจะถูกจัดระเบียบเพื่อกำหนดความหมายของประโยคเท่านั้น ตัวอย่างเช่น NLP สามารถใช้เพื่อแสดงความรู้ทั้งหมดของหุ่นยนต์อัตโนมัติ เมื่อทำเช่นนั้นแล้ว ผู้ใช้สามารถเขียนสคริปต์งานของหุ่นยนต์เพื่อให้หุ่นยนต์สามารถดำเนินการได้อย่างอิสระในขณะที่ปฏิบัติตามกฎพฤติกรรมที่กำหนดไว้ตามที่ผู้ใช้หุ่นยนต์กำหนด หุ่นยนต์ดังกล่าวเรียกว่าหุ่นยนต์โปร่งใส[ 2 ]เนื่องจากเหตุผลของหุ่นยนต์นั้นโปร่งใสต่อผู้ใช้และสิ่งนี้สร้างความไว้วางใจในหุ่นยนต์ การใช้ภาษาธรรมชาติและอินเทอร์เฟซผู้ใช้ภาษาธรรมชาติได้แก่Inform 7ซึ่งเป็นภาษาการเขียนโปรแกรมธรรมชาติสำหรับการสร้างนิยายเชิงโต้ตอบShakespeareซึ่งเป็น ภาษาการเขียนโปรแกรมธรรมชาติ เฉพาะกลุ่มในรูปแบบของบทละครของวิลเลียม เชกสเปียร์และWolfram Alphaซึ่งเป็นเครื่องมือความรู้เชิงคำนวณที่ใช้การป้อนข้อมูลภาษาธรรมชาติ วิธีการบางอย่างสำหรับการสังเคราะห์โปรแกรมนั้นอิงตามการเขียนโปรแกรมภาษาธรรมชาติ[ 3 ]

การตีความ

หน่วยที่เล็กที่สุดของข้อความใน NLP คือประโยค แต่ละประโยคเขียนขึ้นโดยใช้แนวคิดจากออนโทโลยีพื้นฐาน คุณลักษณะในออนโทโลยีนั้น และวัตถุที่มีชื่อเขียนด้วยตัวพิมพ์ใหญ่ในข้อความ NLP ทุกประโยคจะถูกแปลงเป็นคำสั่งเรียกใช้ในภาษาโปรแกรมระดับสูง พื้นฐาน เช่นMATLAB , Octave , SciLab , Pythonเป็นต้น อย่างชัดเจน

ภาษาเชิงสัญลักษณ์ เช่นWolfram Languageสามารถประมวลผลการตีความคำถามโดยใช้ประโยคได้ ซึ่งช่วยให้สามารถร้องขอแบบโต้ตอบได้ เช่นเดียวกับการใช้งานในWolfram Alpha [ 4 ] [ 5 ] ความแตกต่างระหว่างสิ่งเหล่านี้กับ NLP คือ NLP สร้างโปรแกรมเดียวหรือไลบรารีของรูทีนที่เขียนโปรแกรมผ่านประโยคภาษาธรรมชาติโดยใช้ออนโทโลยีที่กำหนดโครงสร้างข้อมูลที่มีอยู่ในภาษาโปรแกรมระดับสูง

ตัวอย่างข้อความจากโปรแกรมประมวลผลภาษาธรรมชาติภาษาอังกฤษมีดังนี้:

ถ้า U_ คือ 'smc01-control' ให้ดำเนินการดังต่อไปนี้ กำหนดค่าน้ำหนักพื้นผิว Alpha เป็น "[0.5, 0.5]" กำหนดค่าเริ่มต้นให้เมทริกซ์ Phi เป็น 'เมทริกซ์เอกลักษณ์' กำหนดให้ J เป็น 'เมทริกซ์ความเฉื่อย' ของ Spc01 คำนวณเมทริกซ์ J2 เป็นเมทริกซ์ผกผันของ J คำนวณค่าความคลาดเคลื่อนของความเร็วตำแหน่ง Ve และค่าความคลาดเคลื่อนของความเร็วเชิงมุม Oe จากสถานะไดนามิก X และค่าอ้างอิงการนำทาง Xnow กำหนดพื้นผิวเลื่อนข้อต่อ G2 จากค่าความคลาดเคลื่อนของความเร็วตำแหน่ง Ve และค่าความคลาดเคลื่อนของความเร็วเชิงมุม Oe โดยใช้ค่าน้ำหนักพื้นผิว Alpha คำนวณฟังก์ชันสัญญาณเรียบ SG2 จากพื้นผิวเลื่อนข้อต่อ G2 ด้วยเกณฑ์สัญญาณ 0.01 คำนวณแรงไดนามิกพิเศษ F จากสถานะไดนามิก X และค่าน้ำหนักพื้นผิว Alpha คำนวณแรงบิดควบคุม T และแรงควบคุม U จากเมทริกซ์ J2 ค่าน้ำหนักพื้นผิว Alpha แรงไดนามิกพิเศษ F และฟังก์ชันสัญญาณเรียบ SG2 เสร็จสิ้นการดำเนินการตามเงื่อนไข

ซึ่งกำหนดรูปแบบการควบคุมป้อนกลับโดยใช้วิธี การควบคุมแบบสไลด์โหมด

รูปแบบซอฟต์แวร์

การเขียนโปรแกรมด้วยภาษาธรรมชาติเป็นวิธีการเขียนซอฟต์แวร์แบบจากบนลงล่าง โดยมีขั้นตอนดังต่อไปนี้:

  • นิยามของออนโทโลยี  – อนุกรมวิธาน – ของแนวคิดที่จำเป็นในการอธิบายงานในหัวข้อที่กล่าวถึง แต่ละแนวคิดและคุณลักษณะทั้งหมดจะถูกกำหนดด้วยคำพูดในภาษาธรรมชาติ ออนโทโลยีนี้จะกำหนดโครงสร้างข้อมูลที่ NLP สามารถใช้ในประโยคได้
  • นิยามประโยคระดับสูงสุดอย่างน้อยหนึ่งประโยคโดยใช้แนวคิดจากออนโทโลยี ประโยคเหล่านี้จะถูกนำไปใช้ในภายหลังเพื่ออ้างถึงกิจกรรมที่สำคัญที่สุดในหัวข้อนั้น ๆ
  • การกำหนดความหมายของประโยคระดับบนสุดแต่ละประโยคโดยพิจารณาจากลำดับของประโยค
  • กำหนดความหมายของประโยคระดับล่างแต่ละประโยคโดยใช้ประโยคอื่นหรือโดยใช้ประโยคง่ายๆ ในรูปแบบ"เรียกใช้โค้ด "..."โดยที่ ... หมายถึงโค้ดในภาษาโปรแกรมระดับสูงที่เกี่ยวข้อง
  • ทำซ้ำขั้นตอนก่อนหน้าจนกว่าจะไม่มีประโยคใดที่ยังไม่ได้กำหนดความหมาย ในระหว่างกระบวนการนี้ แต่ละประโยคสามารถจัดประเภทให้เป็นส่วนหนึ่งของเอกสารที่จะสร้างเป็นรูปแบบ HTML หรือ Latex เพื่อสร้างโปรแกรมภาษาธรรมชาติฉบับสุดท้ายได้
  • ทดสอบความหมายของแต่ละประโยคโดยการเรียกใช้โค้ดโดยใช้ตัวอย่างทดสอบ
  • จัดเตรียมคลังคำสั่งเรียกใช้ฟังก์ชัน (ในภาษาโปรแกรมระดับสูงพื้นฐาน) ซึ่งจำเป็นในการกำหนดความหมายของประโยคระดับต่ำบางประโยค
  • ระบุชื่อเรื่อง ข้อมูลผู้แต่ง และเรียบเรียงประโยคเหล่านั้นลงในไฟล์HTMLหรือLaTeX
  • เผยแพร่โปรแกรมภาษาธรรมชาติในรูปแบบเว็บเพจบนอินเทอร์เน็ต หรือในรูปแบบ ไฟล์ PDFที่สร้างจากเอกสาร LaTeX

คุณค่าในการเผยแพร่ของโปรแกรมและเอกสารภาษาธรรมชาติ

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

การมีส่วนร่วมของโปรแกรมภาษาธรรมชาติต่อความรู้ของเครื่องจักร

คลาสออนโทโลยีคือโปรแกรมภาษาธรรมชาติที่ไม่ใช่แนวคิดในความหมายที่มนุษย์ใช้กัน แนวคิดใน NLP คือตัวอย่าง (ตัวอย่างย่อย) ของแนวคิดทั่วไปของมนุษย์ แต่ละประโยคในโปรแกรมภาษาธรรมชาติจะเป็น (1) การระบุความสัมพันธ์ในแบบจำลองโลก หรือ (2) การดำเนินการในสภาพแวดล้อม หรือ (3) การดำเนินการตามขั้นตอนการคำนวณ หรือ (4) การเรียกใช้กลไกการตอบคำถาม

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

ปัญญาประดิษฐ์ในการเขียนโปรแกรมภาษาธรรมชาติ

นักวิจัยได้เริ่มทดลองกับสภาพแวดล้อมการเขียนโปรแกรมภาษาธรรมชาติที่ใช้ข้อความแจ้งเป็นภาษาธรรมดา จากนั้นใช้ AI (โดยเฉพาะแบบจำลองภาษาขนาดใหญ่) เพื่อแปลงภาษาธรรมชาติให้เป็นรหัสที่เป็นทางการ ตัวอย่างเช่น Spatial Pixel ได้สร้างสภาพแวดล้อมการเขียนโปรแกรมภาษาธรรมชาติเพื่อแปลงภาษาธรรมชาติให้เป็นรหัส P5.js ผ่าน API ของ OpenAI ในปี 2021 OpenAI ได้พัฒนาสภาพแวดล้อมการเขียนโปรแกรมภาษาธรรมชาติสำหรับแบบจำลองภาษาขนาดใหญ่สำหรับการเขียนโปรแกรมของพวกเขาที่เรียกว่า Codex

ดูเพิ่มเติม

ภาษาโปรแกรมที่มีไวยากรณ์คล้ายภาษาอังกฤษ

ภาษาโปรแกรมที่มีคำศัพท์หรือไวยากรณ์คล้ายภาษาธรรมชาติอื่นๆ

บรรณานุกรม

หนังสือ
  • การเขียนโปรแกรมภาษาธรรมชาติสำหรับเอเจนต์และอุปกรณ์หุ่นยนต์: การเผยแพร่สำหรับเอเจนต์และมนุษย์เป็นภาษาอังกฤษโดย SM Veres, ISBN 978-0-9558417-0-5ลอนดอน มิถุนายน 2551
  • ไดจ์กสตรา, เอ็ดสเกอร์ ดับเบิลยู. (1979). "เกี่ยวกับความไร้สาระของ "การเขียนโปรแกรมภาษาธรรมชาติ"" การสร้างโปรแกรม . บันทึกการบรรยายในวิทยาการคอมพิวเตอร์. เล่มที่ 69. หน้า  51–53 . doi : 10.1007/bfb0014656 . ISBN 3-540-09251-X.
  • Lieberman, Henry; Liu, Hugo (2006). "การศึกษาความเป็นไปได้สำหรับการเขียนโปรแกรมด้วยภาษาธรรมชาติ"การ พัฒนา โดยผู้ใช้ปลายทาง ชุดปฏิสัมพันธ์ ระหว่างมนุษย์กับคอมพิวเตอร์ เล่มที่ 9 หน้า  459–473 doi : 10.1007/1-4020-5386-x_20 ISBN 978-1-4020-4220-1.
  • Halpern, Mark (1990). "ภาษาธรรมชาติและความซ้ำซ้อนในการเขียนโปรแกรม". Binding Time: Six Studies in Programming Technology & Milieu . ชุด Ablex ในสาขาวิทยาศาสตร์การคำนวณ. Intellect Books. ISBN 9780893916916.
บทความที่นำเสนอในการประชุม
  • Veres, SM; Molnar, L. (2010). "เอกสารสำหรับเอ เจนต์อัจฉริยะในภาษาอังกฤษ" ปัญญาประดิษฐ์และการประยุกต์ใช้ doi : 10.2316 /p.2010.674-122 ISBN 978-0-88986-817-5.
  • การควบคุมแบบสไลด์โหมดของยานอวกาศอัตโนมัติ (เขียนเป็นภาษาอังกฤษครึ่งหนึ่ง) โดย SM Veres และ NK Lincoln, Proc. TAROS'2008, Towards Autonomous Robotic Systems , เอดินบะระ, 1–3 กันยายน 2008
  • Veres, Sandor M. ( 2010). "ระบบควบคุมอัตโนมัติที่สามารถปฏิบัติภารกิจได้ในมหาสมุทร ในอากาศ และในอวกาศ" เทคโนโลยีสารสนเทศที่ได้รับแรงบันดาลใจจากสมองการศึกษาด้านปัญญาประดิษฐ์เชิงคำนวณ เล่มที่ 266 หน้า  1–10 doi : 10.1007/978-3-642-04025-2_1 ISBN 978-3-642-04024-5.
  • Pulido-Prieto, Oscar; Juárez-Martínez, Ulises (2017). "การสำรวจเทคโนโลยีการเขียนโปรแกรมเชิงธรรมชาติ". ACM Computing Surveys . 50 (5): 1– 35. doi : 10.1145/3109481 . S2CID  2078759 .
การสังเคราะห์โปรแกรมจากข้อกำหนดภาษาธรรมชาติ
  • Raza, Mohammad, Sumit Gulwani และ Natasa Milic-Frayling. " การสังเคราะห์โปรแกรมเชิงองค์ประกอบจากภาษาธรรมชาติและตัวอย่าง " IJCAI. 2015.
  • กรีน, คอร์เดลล์. " บทสรุปของระบบสังเคราะห์โปรแกรม PSI " IJCAI. เล่มที่ 5. 1977.
  • สคริปต์ภาษาอังกฤษ (หยุดใช้งานตั้งแต่ปี 2016)
  • การเขียนโปรแกรมด้วยภาษาอังกฤษแบบง่ายๆภาษาโปรแกรมที่ใช้ประโยคภาษาอังกฤษในรูปแบบ ASCII
  • SEMPRE  – ชุดเครื่องมือสำหรับฝึกฝนตัวแยกวิเคราะห์ความหมาย
  • sysbrain.com  – โปรแกรมแก้ไขภาษาอังกฤษในภาษา C++/ROS สำหรับการเขียนโปรแกรมหุ่นยนต์เพื่อพัฒนาหุ่นยนต์โปร่งใส
  • wy-lang.org  – "ภาษาโปรแกรมสำหรับชาวจีนโบราณ"
  • อินเทอร์เฟซที่เป็นธรรมชาติควรมีความเป็นธรรมชาติมากแค่ไหน?  – ข้อคิดเกี่ยวกับความ "เป็นธรรมชาติ" ของ อินเทอร์เฟซ Ubiquity (ซึ่งหยุดพัฒนาไปตั้งแต่ปี 2009)
  • Metafor แปลงภาษาอังกฤษเป็นโค้ด (หยุดใช้งานตั้งแต่ปี 2005)
  • รูปแบบ ระบบ วิธีการ และแอปพลิเคชันการแสดงความรู้ด้วยคอมพิวเตอร์  – สิทธิบัตรของสหรัฐอเมริกาเกี่ยวกับการเชื่อมโยงไปยังไฟล์ XML .who/what/where/when/how ที่ฝังความรู้ภาษาธรรมชาติ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Natural_language_programming&oldid=1304292549 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเขียนโปรแกรมภาษาธรรมชาติ

การเขียนโปรแกรมภาษาธรรมชาติ ( NLP ) เป็น วิธี การเขียนโปรแกรม โดยใช้ ออนโทโลยี ช่วยโดยใช้ประโยค ภาษาธรรมชาติ เช่น ภาษา อังกฤษ [ 1 ] เอกสารที่มีโครงสร้างพร้อมเนื้อหา ส่วนต่างๆ...

การตีความ

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

รูปแบบซอฟต์แวร์

การเขียนโปรแกรมด้วยภาษาธรรมชาติเป็นวิธีการเขียนซอฟต์แวร์แบบจากบนลงล่าง โดยมีขั้นตอนดังต่อไปนี้:

คุณค่าในการเผยแพร่ของโปรแกรมและเอกสารภาษาธรรมชาติ

โปรแกรมภาษาธรรมชาติ (NLP) คือ คำอธิบาย ที่เป็นทางการและ แม่นยำ ของกระบวนการบางอย่างที่ผู้สร้างได้สร้างขึ้น โปรแกรมนี้อ่านได้โดยมนุษย์ และยังสามารถอ่านได้โดยโปรแกรมช่วยอ่านที่เหมาะสม ตัวอย่างเช่น หน้าเว็บในรูปแบบ NLP สามารถอ่านได้โดยโปรแกรม ช่วยอ่านส่วนบุคคล...