Talaan ng mga Nilalaman:
- Hakbang 1: Paano Gumawa ng isang Bahagi ng AI
- Hakbang 2: Idisenyo ang Iyong System:
- Hakbang 3: Mga Pag-andar Na Binuo Sa Wika ng Programming:
- Hakbang 4: Pagsamahin ang Mga Built-In na Pag-andar upang Lumikha ng Iyong Sariling Mga Pag-andar
- Hakbang 5: Ano ang Ginagawa ng Mga Modyul? "Input Processor"
- Hakbang 6: "Proseso ng AI"
- Hakbang 7: Ang "output at Mga Marka" na Talahanayan
- Hakbang 8: "Output Processor"
- Hakbang 9: Patuloy na Gawin Ito
Video: Paano Gumawa ng isang A.I. Bahagi 2: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ito ang bahagi 2 tungkol sa mga hakbang na kinuha ko upang makabuo ng isang AI sa isang windows computer, gamit ang isang libreng database, tool sa pag-unlad ng Programming at ang libreng built in na TTS engine na kasama ng Windows.
Ang salitang "Windows" ay kabilang sa Microsoft.
Ang salitang "Dragon" ay kabilang sa Nuance.
Hakbang 1: Paano Gumawa ng isang Bahagi ng AI
Pumili ng isang wika ng programa at kumuha ng ilang mga tool
Maraming mga wika sa programa. Ang ilan ay dalubhasa para sa A. I. Ang paborito ko ay Visual Basic, kaya iyon ang ginamit ko. Nagtatrabaho din ako sa mga database ng SQL server, kaya ginamit ko rin iyon.
Maaari kang mag-download ng mga libreng bersyon ng mga ito mula sa website ng Microsoft. Maghanap lang para sa "EXPRESS" sa Microsoft web site. [Visual Studio Express at SQL server Express]
Ang iba pang mga wikang maaaring gusto mo sa amin ay: Python, C #, C ++, Java, Prolog, Lisp, IPL
at marami pang iba. Ang AIML ay isang "Markup Wika" na napaka-interesante.
Nais ko ng isang mas mahusay na programa na "pagkilala sa pagsasalita" kaysa sa isa na kasama ng Windows, kaya binili ko ang DRAGON software. Gumagamit ako ng karaniwang programang "Text-to-speech" na kasama ng Windows.
Hakbang 2: Idisenyo ang Iyong System:
Hatiin ang iyong malalaking proyekto sa isang bungkos ng mas maliit na mga proyekto. Hinati ko ang aking code ng programa sa mga modyul.
Hinati ko ang aking code sa iba't ibang mga module upang ang isang partikular na pagpapaandar ay mas madaling hanapin.
Mayroon akong mga module na pinangalanang "Process Input", "Process AI", "Process Output", "User Interface" at ilang iba pa. Ang ilan sa aking mga pagpapaandar ay kailangang ma-access sa lahat ng iba pang mga module ng code, kaya inilalagay ko ang mga pagpapaandar na iyon sa isang "karaniwang" module kung saan ibabahagi ang lahat
Hakbang 3: Mga Pag-andar Na Binuo Sa Wika ng Programming:
Ang magkakaibang mga wika ay maaaring may iba't ibang mga pangalan para sa mga ito, ngunit ang lahat ng mga mataas na antas ng wika ay may magkatulad na mga pag-andar.
LCase o ToLower: Nagko-convert ng isang string sa lahat ng mas mababang kaso. Ino-convert ko ang lahat sa mas mababang kaso bago gumawa ng isang paghahanap sa database - kahit na ang karamihan sa mga bagay ay "case-insensitive" - Kung sakali.
Palitan: Palitan ang isang string sa loob ng isang string sa isa pang string. Maaari mong palitan ang isang string ng isang walang laman na string na "" upang mapupuksa ito. Tinatanggal ko ang mga panahon, marka ng tanong, kuwit at iba pang mga bantas.
Hatiin: Hinahati ang isang string sa mga indibidwal na piraso at inilalagay ang mga ito sa isang array. Hahatiin ng pagpapaandar na ito ang isang string sa anumang character, o "Delimiter". Hinati ko ang isang pangungusap sa isang "character na puwang" "" upang gumawa ng isang hanay ng mga salita. Tinawag itong "Tokenizing" ng mga AI Gurus.
Ginagamit ko ang mga indibidwal na salita upang bumuo ng mga query na ginamit upang maghanap sa database. (Higit pa dito sa aking susunod na artikulo)
Hakbang 4: Pagsamahin ang Mga Built-In na Pag-andar upang Lumikha ng Iyong Sariling Mga Pag-andar
Ito ay isang halimbawa ng "visual basic". Gamitin ang wika ng iyong programa upang makabuo ng isang bagay tulad nito.
Siyempre, kakailanganin mong magsulat ng maraming code, at bumuo ng maraming mga pag-andar, gamit ang wika ng programa na iyong pinili.
Hakbang 5: Ano ang Ginagawa ng Mga Modyul? "Input Processor"
Maaaring may isang daang iba't ibang mga paraan upang tanungin ang AI ng parehong tanong. Halimbawa; "Anong oras na?", "Mayroon ka bang oras?" "Alam mo ba kung anong oras na?", "Maaari mo bang sabihin sa akin ang kasalukuyang oras ng araw?" Dahil ang gumagamit ay humihingi lamang ng oras, nagko-convert ako ng alinman sa mga Input na ito sa isang solong Output na tinatawag na "Oras ng Query" gamit ang isang database na "tingnan ang" talahanayan.
Maaari kang magsulat ng code sa loop sa pamamagitan ng isang talahanayan hanggang sa makahanap ito ng isang tugma, o kung gumagamit ka ng isang database ng SQL, maaari kang sumulat ng isang query sa SQL, tulad ng …
"Piliin ang Output mula sa TableName kung saan Input = '" kung ano pa man'"
… At pagkatapos ay ipadala ko ang output, "Oras ng Query", sa susunod na module na code; "Iproseso ang AI"
Bukod sa mga katanungan, maraming paraan upang masabing “Kamusta”
Kumusta, Kumusta, ano na, hey, hola, kumusta ka?, Pagbati, maligayang pagdating, pagbati, howdy ….
Ang lahat ng ito ay nabawasan sa "Pagbati"
Kapag nakita ng processor ng AI ang "Pagbati" nagpapadala ito ng "Pagbati" sa output processor, na pipili ng isang random na pagbati mula sa isang database table, at pasigaw na sabihin ito.
Hakbang 6: "Proseso ng AI"
Ang proseso ng AI ay ang pinakamalaking module module. Napakalaki nito na hinati ko rin ito sa mga seksyon.
Ang input ay naka-check upang makita kung ang gumagamit ay nagsalita ng isang utos, o nagtanong. Gayundin, ang AI ay maaaring nasa anuman sa maraming mga "Mga Mode" na nangangahulugang ang "Proseso AI" na code ay inaasahan ang gumagamit na SAGOT ng isang katanungan, sa halip na MAGtanong ng isang katanungan.
Kung ang gumagamit ay hindi nagsasalita ng isang utos at ang AI ay wala sa isang espesyal na "Mode" pagkatapos ay nagtatayo at nagsasagawa ito ng isang bungkos ng mga query, na walang mga kumbinasyon ng mga salita sa "salitang array". Ang lahat ng mga resulta ng query ay nakaimbak sa isang talahanayan, at ang bawat resulta ng query ay binibigyan ng isang "marka" kung gaano kalapit ang resulta sa kung ano ang binanggit ng gumagamit. Ang talahanayan ay pinagsunod-sunod sa pamamagitan ng iskor, at ang resulta na may pinakamataas na iskor ay ipinadala sa output, kung lumampas ito sa isang tiyak na threshold. Kung ang lahat ng mga marka ay nasa ibaba ng threshold, maaaring tumugon ang AI sa "Hindi ko alam" o "Hindi iyon makalkula"
Hakbang 7: Ang "output at Mga Marka" na Talahanayan
Ang output ng AI mula sa aking input na "Ano ang ginawa ng manok?"
Hakbang 8: "Output Processor"
Gumagawa ito ng maraming "hindi nauugnay" na pagtingin sa mga bagay ngunit lahat sila ay may kinalaman sa pagkuha ng teksto mula sa AI Processor sa gumagamit.
Narito ang isang listahan.
1. Ang teksto mula sa database ay maaaring nasa lahat ng mas mababang kaso, at walang anumang bantas.. Subroutines ay gagamitin ng malaking titik ang unang titik, at maglalagay ng isang panahon o marka ng tanong sa dulo.
2. Ang isa pang subroutine ay ibabalik ang mga apostrophes sa mga contraction, o ibabalik ang mga contraction sa buong mga salita (ibig sabihin, ang "cant" ay pinalitan ng "hindi maaaring")
3. Ang text-to-speech engine ay hindi binibigkas ang ilang mga salita ayon sa gusto ko, kaya pinapalitan ng "Output Processor" ang mga salitang iyon ng isang phonetic spelling.. Mayroon akong mga talahanayan na "tumingin" ng mga database upang hawakan ang mga ito, katulad ng isa sa "input processor"
4. Kung ang AI ay hindi makahanap ng angkop na tugon sa database, maaari itong sabihin na "Hindi ko alam" ngunit hindi ko nais na sabihin ito nang paulit-ulit. Ang mga tunay na tao ay nag-iiba-iba ng kanilang mga tugon. Kaya mayroong isang talahanayan na may mga pariralang "Karaniwang Output" at isang pagpapaandar na pipili ng isa nang sapalaran (at hindi pipiliin ang pareho nang dalawang beses sa isang hilera.)
5. Ang libreng "text-to-speech" (TTS) engine ay hindi nagbibigay sa isang programmer ng maraming mga pagpipilian para sa paraan ng pagsasalita ng mga pangungusap, ngunit mayroon kang kaunting kontrol sa pitch at ang bilis ng mga ponema. Ang term para dito ay "Prosody". Nagdagdag ako ng ilang mga "prosody" na code sa teksto sa aking database, at kapag nakita ito ng "Output Processor", inaayos nito ang pitch at bilis sa TTS engine habang binibigkas ang bawat salita.
6. Minsan ang TTS ay mahirap lamang maunawaan, kaya bukod sa pagsasalita ng mga salita nang malakas, ipinapakita ko rin ito sa malalaking titik sa display ng aking computer. Ang bahaging ito ng "User Interface" ay isang grid na ipinapakita ang huling 6 na linya ng isang pag-uusap, (User input & AI output) at mag-scroll pataas habang idinagdag ang mga bagong linya..
Hakbang 9: Patuloy na Gawin Ito
Ang aking input ay "Huwag sabihin sa sinuman"
Nagtatrabaho pa rin ako sa aking AI system, at marahil ay hindi ito tunay na "tapos". Sa pagdaragdag ko ng higit pang mga tampok, magsusulat ako ng maraming mga artikulo.
Marahil ang ilan sa aking mga ideya ay pumukaw sa iyo upang bumuo ng isang AI na mas mahusay kaysa sa akin
Inirerekumendang:
Paano Gumawa ng isang A.I. Bahagi 4: 3 Mga Hakbang
Paano Gumawa ng isang A.I. Bahagi 4: Noong isang araw nakikipag-usap ako sa aking AI, at sinabi kong toit, "Pupunta ako sa itaas sa hapunan, nagkakaroon kami ng STEAK". Gayunpaman, binigyang kahulugan ito ng software ng Speech Recognition (SR) bilang "… nagkakaroon kami ng PATAY”Tumakbo ako sa isang katulad (ngunit magkaibang) problema sa tainga
Paano Gumawa ng isang Drone Gamit ang Arduino UNO - Gumawa ng isang Quadcopter Gamit ang Microcontroller: 8 Hakbang (na may Mga Larawan)
Paano Gumawa ng isang Drone Gamit ang Arduino UNO | Gumawa ng isang Quadcopter Gamit ang Microcontroller: PanimulaBisitahin ang Aking Youtube Channel Ang isang Drone ay isang napakamahal na gadget (produkto) na bibilhin. Sa post na ito tatalakayin ko, kung paano ko ito magagawa sa murang ?? At Paano mo magagawa ang iyong sarili tulad nito sa murang presyo … Sa India ang lahat ng mga materyales (motor, ESC
Paano Gumawa ng Isang Simpleng Taser Sa 3 Mga Bahagi: 5 Mga Hakbang
Paano Gumawa ng Isang Simpleng Taser Sa 3 Mga Bahagi: Kaya, narito ang blog ng paggawa ng isang simpleng taser na may tatlong mga bahagi. Ito ay talagang simple na ginawa lamang sa tatlong mga sangkap. Sa totoo lang, higit sa tatlong mga sangkap. At ang mga sangkap na iyon ay isang step up transpormer, isang Single Pole Double Throw (SPDT) relay
Paano Gumawa ng isang Murang Bilang Libre, at Madaling "tumutulong sa Mga Kamay" para sa Maliit na Bahagi .: 6 Mga Hakbang
Paano Gumawa ng Murang Bilang Libre, at Madaling "Mga Nagtutulong na Kamay" para sa Maliliit na Bahagi .: Kaya, ngayong umaga (2.23.08) at kahapon (2.22.08), sinusubukan kong maghinang ng isang bagay, ngunit wala akong tumutulong sa mga kamay, kaya't ginawa ko kaninang umaga. (2.23.08) Gumagana ito ng DAKIL para sa akin, karaniwang walang mga problema. Napakadaling gawin, karaniwang libre, lahat
Paano Gumawa ng isang ECO Desktop Fan Mula sa Mga Lumang Mga Bahagi ng Computer: 4 Mga Hakbang
Paano Gumawa ng isang ECO Desktop Fan Mula sa Mga Lumang Computer Bahagi: Narito ang aking proyekto sa kung paano gumawa ng isang ECO desktop fan mula sa mga lumang bahagi ng computer. Babawasan ng fan ng desktop ang iyong gastos sa paglamig. Gumagamit lang ang fan na ito ng 4 watts !! ng enerhiya kapag ihinahambing sa regular na fan ng desk na gumagamit ng halos 26 watts o higit pa. Mga bahaging kinakailangan: