สารบัญ:

วิธีการสร้างเอไอ ตอนที่ 2: 9 ขั้นตอน
วิธีการสร้างเอไอ ตอนที่ 2: 9 ขั้นตอน

วีดีโอ: วิธีการสร้างเอไอ ตอนที่ 2: 9 ขั้นตอน

วีดีโอ: วิธีการสร้างเอไอ ตอนที่ 2: 9 ขั้นตอน
วีดีโอ: รีวิวฟีเจอร์ของ ClipDrop โปรแกรมสร้างและปรับแต่งรูปภาพด้วย AI สำหรับเหล่า Creator 🚨ใช้งานได้ FREE🚨 2024, กรกฎาคม
Anonim
วิธีการสร้างเอไอ ตอนที่ 2
วิธีการสร้างเอไอ ตอนที่ 2

นี่เป็นส่วนที่ 2 เกี่ยวกับขั้นตอนที่ฉันทำเพื่อสร้าง AI บนคอมพิวเตอร์ที่ใช้ Windows โดยใช้ฐานข้อมูลฟรี เครื่องมือพัฒนาการเขียนโปรแกรม และเอ็นจิ้น TTS ในตัวที่มาพร้อมกับ Windows ฟรี

คำว่า "Windows" เป็นของ Microsoft

คำว่า "มังกร" เป็นของ Nuance

ขั้นตอนที่ 1: วิธีสร้าง AI ตอนที่ 2

วิธีทำ AI ตอนที่ 2
วิธีทำ AI ตอนที่ 2

เลือกภาษาโปรแกรมและรับเครื่องมือบางอย่าง

มีภาษาโปรแกรมมากมาย บางคนเชี่ยวชาญด้าน A. I. สิ่งที่ฉันชอบคือ Visual Basic ดังนั้นนั่นคือสิ่งที่ฉันใช้ ฉันยังทำงานกับฐานข้อมูลเซิร์ฟเวอร์ SQL ดังนั้นฉันจึงใช้มันเช่นกัน

คุณสามารถดาวน์โหลดเวอร์ชันฟรีเหล่านี้ได้จากเว็บไซต์ของ Microsoft เพียงค้นหาคำว่า “EXPRESS” บนเว็บไซต์ของ Microsoft [Visual Studio Express และ SQL Server Express]

ภาษาอื่นๆ ที่คุณอาจต้องการให้เราทราบ ได้แก่ Python, C#, C++, Java, Prolog, Lisp, IPL

และอื่น ๆ อีกมากมาย. AIML เป็น “ภาษามาร์กอัป” ที่น่าสนใจมาก

ฉันต้องการโปรแกรม "การรู้จำเสียง" ที่ดีกว่าโปรแกรมที่มาพร้อมกับ Windows ดังนั้นฉันจึงซื้อซอฟต์แวร์ DRAGON ฉันกำลังใช้โปรแกรม "แปลงข้อความเป็นคำพูด" มาตรฐานที่มาพร้อมกับ Windows

ขั้นตอนที่ 2: ออกแบบระบบของคุณ:

ออกแบบระบบของคุณ
ออกแบบระบบของคุณ

แบ่งโปรเจ็กต์ใหญ่ของคุณออกเป็นโปรเจ็กต์ย่อยๆ ฉันแบ่งรหัสโปรแกรมออกเป็นโมดูล

ฉันแบ่งโค้ดของฉันออกเป็นโมดูลต่างๆ เพื่อให้ค้นหาฟังก์ชันเฉพาะได้ง่ายขึ้น

ฉันมีโมดูลชื่อ "Process Input", "Process AI", "Process Output", "User Interface" และอื่นๆ อีกสองสามโมดูล ฟังก์ชันบางอย่างของฉันจำเป็นต้องสามารถเข้าถึงได้จากโมดูลโค้ดอื่นๆ ทั้งหมด ดังนั้นฉันจึงใส่ฟังก์ชันเหล่านั้นในโมดูล "ทั่วไป" ที่ทุกอย่างถูกแชร์

ขั้นตอนที่ 3: ฟังก์ชั่นที่สร้างขึ้นในภาษาการเขียนโปรแกรม:

ฟังก์ชั่นที่สร้างขึ้นในภาษาการเขียนโปรแกรม
ฟังก์ชั่นที่สร้างขึ้นในภาษาการเขียนโปรแกรม

ภาษาต่างๆ อาจมีชื่อต่างกันสำหรับภาษาเหล่านี้ แต่ภาษาระดับสูงทั้งหมดมีฟังก์ชันที่คล้ายคลึงกัน

LCase หรือ ToLower: แปลงสตริงเป็นตัวพิมพ์เล็กทั้งหมด ฉันแปลงทุกอย่างเป็นตัวพิมพ์เล็กก่อนทำการค้นหาฐานข้อมูล แม้ว่าส่วนใหญ่จะ "ไม่คำนึงถึงขนาดตัวพิมพ์" - เผื่อไว้

แทนที่: แทนที่สตริงภายในสตริงเป็นสตริงอื่น คุณสามารถแทนที่สตริงด้วยสตริงว่าง “” เพื่อกำจัดมัน ฉันจะกำจัดจุด เครื่องหมายคำถาม จุลภาค และเครื่องหมายวรรคตอนอื่นๆ

แยก: แยกสตริงออกเป็นชิ้น ๆ และใส่ลงในอาร์เรย์ ฟังก์ชันนี้จะแยกสตริงบนอักขระใดๆ หรือ "ตัวคั่น" ฉันแบ่งประโยคเป็น "อักขระช่องว่าง" "" เพื่อสร้างอาร์เรย์ของคำ สิ่งนี้เรียกว่า “Tokenizing” โดย AI Guru

ฉันใช้คำแต่ละคำเพื่อสร้างข้อความค้นหาที่ใช้ค้นหาฐานข้อมูล (เพิ่มเติมเกี่ยวกับเรื่องนี้ในบทความหน้าของฉัน)

ขั้นตอนที่ 4: รวมฟังก์ชันในตัวเพื่อสร้างฟังก์ชันของคุณเอง

นี่เป็นตัวอย่าง "ภาพพื้นฐาน" ใช้ภาษาการเขียนโปรแกรมของคุณเพื่อสร้างสิ่งนี้

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

ขั้นตอนที่ 5: โมดูลทำอะไรได้บ้าง “อินพุทโปรเซสเซอร์”

โมดูลทำอะไร? “อินพุทโปรเซสเซอร์”
โมดูลทำอะไร? “อินพุทโปรเซสเซอร์”

อาจมีหลายร้อยวิธีในการถามคำถามเดียวกันกับ AI ตัวอย่างเช่น; “ตอนนี้กี่โมงแล้ว” “คุณมีเวลาไหม” “คุณรู้ไหมว่าตอนนี้กี่โมง”, “คุณช่วยบอกเวลาปัจจุบันของวันได้ไหม” เนื่องจากผู้ใช้เพียงแค่ขอเวลา ฉันจึงแปลงอินพุตเหล่านี้เป็นเอาต์พุตเดียวที่เรียกว่า "เวลาสืบค้น" โดยใช้ตาราง "ค้นหา" ของฐานข้อมูล

คุณสามารถเขียนโค้ดเพื่อวนซ้ำผ่านตารางจนกว่าจะพบรายการที่ตรงกัน หรือหากคุณใช้ฐานข้อมูล SQL คุณสามารถเขียนแบบสอบถาม SQL เช่น…

“เลือกผลลัพธ์จาก TableName โดยที่ Input = ‘” อะไรก็ตาม ‘”

…จากนั้นฉันก็ส่งออก "เวลาสืบค้น" ไปยังโมดูลโค้ดถัดไป “กระบวนการ AI”

นอกจากคำถามแล้ว มีวิธีพูด “สวัสดี” ได้หลายวิธี

ฮัลโหล ฮัลโหล ว่าไง เฮ้ ฮัลโหล เป็นไงบ้าง ทักทาย ยินดีต้อนรับ ทักทาย สวัสดี ….

ทั้งหมดนี้ลดเหลือเพียง “การทักทาย”

เมื่อโปรเซสเซอร์ AI เห็น "Greeting" จะส่ง "Greeting" ไปยังเอาต์พุตโปรเซสเซอร์ ซึ่งจะเลือกคำทักทายแบบสุ่มจากตารางฐานข้อมูลและพูดออกมาดัง ๆ

ขั้นตอนที่ 6: “ตัวประมวลผล AI”

“เอไอโปรเซสเซอร์”
“เอไอโปรเซสเซอร์”

กระบวนการ AI เป็นโมดูลรหัสที่ใหญ่ที่สุด มันใหญ่มากจนฉันแบ่งออกเป็นส่วน ๆ เช่นกัน

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

หากผู้ใช้ไม่พูดคำสั่งและ AI ไม่ได้อยู่ใน "โหมด" พิเศษ ระบบจะสร้างและดำเนินการค้นหาจำนวนมาก จากการรวมกันของคำใน "อาร์เรย์คำ" ผลลัพธ์ของแบบสอบถามทั้งหมดจะถูกเก็บไว้ในตาราง และผลลัพธ์ของแบบสอบถามแต่ละรายการจะได้รับ "คะแนน" ว่าผลลัพธ์ตรงกับสิ่งที่ผู้ใช้พูดมากเพียงใด ตารางจะถูกจัดเรียงตามคะแนน และผลลัพธ์ที่มีคะแนนสูงสุดจะถูกส่งไปยังผลลัพธ์ หากเกินเกณฑ์ที่กำหนด หากคะแนนทั้งหมดต่ำกว่าเกณฑ์ AI อาจตอบสนองด้วย "ฉันไม่รู้" หรือ "ที่ไม่คำนวณ"

ขั้นตอนที่ 7: ตาราง "ผลลัพธ์และคะแนน"

NS
NS

ผลลัพธ์ของ AI จากการป้อนข้อมูลของฉัน "ไก่ทำอะไร"

ขั้นตอนที่ 8: “ตัวประมวลผลเอาต์พุต”

“โปรเซสเซอร์เอาต์พุต”
“โปรเซสเซอร์เอาต์พุต”

สิ่งนี้ทำสิ่งต่าง ๆ ที่ดู "ไม่เกี่ยวข้อง" หลายอย่าง แต่ทั้งหมดนั้นเกี่ยวข้องกับการส่งข้อความจากตัวประมวลผล AI ไปยังผู้ใช้

นี่คือรายการ

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

2. รูทีนย่อยอื่นจะใส่อะพอสทรอฟีกลับเข้าไปในการหดตัว หรือแปลงการหดตัวกลับเป็นคำเต็ม (เช่น “ลาดเท” จะถูกแทนที่ด้วย “ไม่สามารถ”)

3. เครื่องมือแปลงข้อความเป็นคำพูดไม่ออกเสียงคำบางคำตามที่ฉันชอบ ดังนั้น "ตัวประมวลผลเอาต์พุต" จึงแทนที่คำเหล่านั้นด้วยการสะกดแบบออกเสียง ฉันมีตารางฐานข้อมูล "ค้นหา" เพื่อเก็บคำเหล่านี้ คล้ายกับตาราง ใน "ตัวประมวลผลอินพุต"

4. หาก AI ไม่พบคำตอบที่เหมาะสมในฐานข้อมูล อาจพูดว่า "ฉันไม่รู้" แต่ฉันไม่ต้องการให้มันพูดซ้ำแล้วซ้ำเล่า คนจริงต่างตอบสนองของพวกเขา ดังนั้นจึงมีตารางที่มีวลี "ผลลัพธ์ทั่วไป" และฟังก์ชันที่สุ่มเลือกหนึ่งรายการ (และจะไม่เลือกชุดเดียวกันสองครั้งติดต่อกัน)

5. เครื่องมือ "แปลงข้อความเป็นคำพูด" (TTS) ฟรีไม่ได้ให้ตัวเลือกมากมายแก่โปรแกรมเมอร์สำหรับวิธีพูดประโยค แต่คุณสามารถควบคุมระดับเสียงและความเร็วของหน่วยเสียงได้เพียงเล็กน้อย คำศัพท์สำหรับสิ่งนี้คือ "Prosody" ฉันได้เพิ่มโค้ด “prosody” ลงในข้อความในฐานข้อมูลของฉัน และเมื่อ “Output Processor” เห็นสิ่งเหล่านี้ มันจะปรับ pitch และความเร็วในเอ็นจิ้น TTS เมื่อมีการพูดแต่ละคำ

6. บางครั้ง TTS ก็เข้าใจยาก ดังนั้นนอกจากการพูดออกเสียงแล้ว ฉันยังแสดงเป็นตัวอักษรขนาดใหญ่บนหน้าจอคอมพิวเตอร์ด้วย ส่วนนี้ของ “อินเทอร์เฟซผู้ใช้” เป็นตารางที่แสดง 6 บรรทัดสุดท้ายของการสนทนา (อินพุตของผู้ใช้ & เอาต์พุต AI) และเลื่อนขึ้นเมื่อมีการเพิ่มบรรทัดใหม่

ขั้นตอนที่ 9: ทำงานต่อไป

ทำงานต่อไป
ทำงานต่อไป

ข้อมูลของฉันคือ "อย่าบอกใคร"

ฉันยังคงทำงานเกี่ยวกับระบบ AI ของฉันอยู่ และมันอาจจะไม่มีวัน "เสร็จสิ้น" อย่างแท้จริง เมื่อฉันเพิ่มคุณสมบัติเพิ่มเติม ฉันจะเขียนบทความมากขึ้น

บางทีความคิดบางอย่างของฉันอาจเป็นแรงบันดาลใจให้คุณสร้าง AI ที่ดีกว่าของฉัน

แนะนำ: