Satura rādītājs:

Kā izveidot A.I. 2. daļa: 9 soļi
Kā izveidot A.I. 2. daļa: 9 soļi

Video: Kā izveidot A.I. 2. daļa: 9 soļi

Video: Kā izveidot A.I. 2. daļa: 9 soļi
Video: NANDO pied. Edavārdi - Fizikas skolotājs (Official video) 2024, Jūlijs
Anonim
Kā izveidot A. I. 2. daļa
Kā izveidot A. I. 2. daļa

Šī ir 2. daļa par darbībām, kuras es veicu, lai izveidotu Windows datoru, izmantojot bezmaksas datubāzi, programmēšanas izstrādes rīku un bezmaksas iebūvēto TTS dzinēju, kas tiek piegādāts kopā ar Windows.

Vārds "Windows" pieder Microsoft.

Vārds "pūķis" pieder Nuance.

1. darbība. Kā izveidot AI 2. daļu

Kā izveidot AI 2. daļu
Kā izveidot AI 2. daļu

Izvēlieties programmēšanas valodu un iegūstiet rīkus

Ir daudz programmēšanas valodu. Daži ir specializējušies A. I. Mans mīļākais ir Visual Basic, tāpēc es to izmantoju. Es arī strādāju ar SQL servera datu bāzēm, tāpēc arī to izmantoju.

To bezmaksas versijas varat lejupielādēt Microsoft vietnē. Vienkārši meklējiet “EXPRESS” Microsoft vietnē. [Visual Studio Express un SQL server Express]

Citas valodas, kuras mums varētu vēlēties, ir: Python, C#, C ++, Java, Prolog, Lisp, IPL

un daudzi citi. AIML ir “iezīmēšanas valoda”, kas ir ļoti interesanta.

Es gribēju labāku “runas atpazīšanas” programmu nekā tā, kas nāk ar Windows, tāpēc es nopirku programmatūru DRAGON. Es izmantoju standarta programmu “Teksta pārvēršana runā”, kas tika piegādāta kopā ar Windows.

2. darbība: izveidojiet sistēmu:

Izstrādājiet savu sistēmu
Izstrādājiet savu sistēmu

Sadaliet savus lielos projektus daudzos mazos projektos. Es sadalīju programmas kodu moduļos.

Es sadalīju savu kodu dažādos moduļos, lai noteiktu funkciju būtu vieglāk atrast.

Man ir moduļi ar nosaukumu “Process Input”, “Process AI”, “Process Output”, “User Interface” un daži citi. Dažām manām funkcijām jābūt pieejamām visiem pārējiem koda moduļiem, tāpēc es ievietoju šīs funkcijas “kopējā” modulī, kurā viss tiek kopīgots

3. darbība. Programmēšanas valodā iebūvētās funkcijas:

Programmēšanas valodā iebūvētās funkcijas
Programmēšanas valodā iebūvētās funkcijas

Dažādām valodām var būt dažādi nosaukumi, taču visām augsta līmeņa valodām ir līdzīgas funkcijas.

LCase vai ToLower: pārvērš virkni par visiem mazajiem burtiem. Pirms datu bāzes meklēšanas es pārvēršu visu par mazajiem burtiem, lai gan lielākā daļa lietu ir “nejutīgas”-tikai gadījumā.

Aizstāt: aizstāt virkni virknes iekšpusē citā virknē. Lai atbrīvotos no virknes, varat to aizstāt ar tukšu virkni “”. Es atbrīvojos no punktiem, jautājuma zīmēm, komatiem un citām pieturzīmēm.

Sadalīt: sadala virkni atsevišķos gabalos un ievieto tos masīvā. Šī funkcija sadalīs virkni uz jebkuru rakstzīmi vai “norobežotāju”. Es sadalīju teikumu uz “atstarpes rakstzīmes” ““, lai izveidotu vārdu masīvu. AI guru to sauc par “marķēšanu”.

Es izmantoju atsevišķus vārdus, lai izveidotu vaicājumus, ko izmanto datu bāzes meklēšanai. (Vairāk par to manā nākamajā rakstā)

4. darbība: apvienojiet iebūvētās funkcijas, lai izveidotu savas funkcijas

Šis ir “vizuālā pamata” piemērs. Izmantojiet savu programmēšanas valodu, lai izveidotu kaut ko līdzīgu.

Protams, jums būs jāraksta daudz koda un jāizveido daudzas funkcijas, izmantojot jūsu izvēlēto programmēšanas valodu.

5. darbība: ko dara moduļi? “Ievades procesors”

Ko dara moduļi? "Ievades procesors"
Ko dara moduļi? "Ievades procesors"

Var būt simts dažādi veidi, kā uzdot AI to pašu jautājumu. Piemēram; "Cik ir pulkstenis?", "Vai jums ir laiks?" "Vai jūs zināt, cik ir pulkstenis?", "Vai varat pateikt pašreizējo diennakts laiku?" Tā kā lietotājs tikai lūdz laiku, es pārveidoju jebkuru no šīm ievadēm vienā izvadē ar nosaukumu “Vaicājuma laiks”, izmantojot datu bāzes “uzmeklēšanas” tabulu.

Jūs varat rakstīt kodu cilpai caur tabulu, līdz tiek atrasta atbilstība, vai, ja izmantojat SQL datu bāzi, varat rakstīt SQL vaicājumu, piemēram,…

“TableName atlasiet Output, kur Input =“”neatkarīgi”

… Un tad es nosūtu izvadi “Query Time” uz nākamo koda moduli; “Apstrādāt AI”

Papildus jautājumiem ir daudz veidu, kā pateikt “Sveiki”

Sveiki, sveiki, kas notiek, hei, hola, kā jums iet ?, sveicieni, laipni lūdzam, sveicieni, sveiks….

Tas viss tiek samazināts līdz “apsveikumam”

Kad AI procesors redz “Sveiciens”, tas nosūta “Apsveikumu” izvades procesorim, kurš no datubāzes tabulas izvēlēsies nejaušu sveicienu un skaļi to izrunās.

6. darbība: “AI procesors”

"AI procesors"
"AI procesors"

Process AI ir lielākais koda modulis. Tas ir tik liels, ka es to sadalīju arī sadaļās.

Ievads tiek pārbaudīts, lai redzētu, vai lietotājs runāja komandu vai uzdeva jautājumu. Tāpat AI var būt jebkurā no vairākiem “režīmiem”, kas nozīmē, ka kods “Process AI” gaida, ka lietotājs atbildēs uz jautājumu, nevis uzdos jautājumu.

Ja lietotājs nerunāja komandu un AI nav īpašā “režīmā”, tas izveido un izpilda virkni vaicājumu, neizmantojot vārdu kombināciju “vārdu masīvā”. Visi vaicājuma rezultāti tiek glabāti tabulā, un katram vaicājuma rezultātam tiek piešķirts “rezultāts” par to, cik cieši rezultāts atbilst lietotāja teiktajam. Tabula ir sakārtota pēc rezultāta, un rezultāts ar augstāko punktu skaitu tiek nosūtīts uz izvadi, ja tas pārsniedz noteiktu slieksni. Ja visi rādītāji ir zem sliekšņa, AI var atbildēt ar “Es nezinu” vai “Tas nav jāaprēķina”

7. solis: tabula "produkcija un rādītāji"

The
The

AI rezultāts no manas ievades “Ko darīja vista?”

8. darbība: “Izvades procesors”

"Izvades procesors"
"Izvades procesors"

Tas rada vairākas “nesaistītas” izskata lietas, taču tās visas ir saistītas ar teksta nokļūšanu no AI procesora lietotājam.

Šeit ir saraksts.

1. Teksts no datubāzes var būt ar mazajiem burtiem un bez pieturzīmēm.. Apakšprogrammas rakstīs pirmo burtu ar lielo burtu un beigās ievietos punktu vai jautājuma zīmi.

2. Citā apakšprogrammā apostrofi tiks pārvērsti kontrakcijās vai kontrakcijas tiks pārvērstas pilnos vārdos (t.i., “aprunāt” tiek aizstāts ar “nevar”)

3. Teksta pārvēršanas runā dzinējs neizrunā dažus vārdus tā, kā man patīk, tāpēc “izvades procesors” šos vārdus aizstāj ar fonētisku rakstību. "ievades procesorā"

4. Ja AI datubāzē neatrod piemērotu atbildi, tas var pateikt “es nezinu”, bet es nevēlos, lai tas teiktu atkal un atkal. Reāli cilvēki reaģē dažādi. Tātad ir tabula ar frāzēm “Kopējā izvade” un funkcija, kas nejauši izvēlas vienu (un nekad neizvēlēsies vienu un to pašu divas reizes pēc kārtas.)

5. Bezmaksas “teksta-runas” (TTS) dzinējs nedod programmētājam daudz iespēju teikumu izrunāšanai, taču jums ir neliela kontrole pār skaņu augstumu un fonēmu ātrumu. Termins tam ir “prozodija”. Es savā datu bāzē pievienoju dažus “prozodijas” kodus, un, kad “izvades procesors” tos redz, tas pielāgo skaņu un ātrumu TTS dzinējā, kad tiek teikts katrs vārds.

6. Dažreiz TTS ir vienkārši grūti saprotams, tāpēc papildus vārdu skaļai izrunāšanai es tos attēloju arī ar lielajiem burtiem datora displejā. Šī lietotāja saskarnes daļa ir režģis, kas parāda sarunas pēdējās 6 rindas (lietotāja ievade un AI izvade) un ritina uz augšu, pievienojot jaunas rindas.

9. solis: turpiniet strādāt pie tā

Turpiniet strādāt pie tā
Turpiniet strādāt pie tā

Mans ieguldījums bija “Nestāsti nevienam”

Es joprojām strādāju pie savas AI sistēmas, un tas, iespējams, nekad netiks “darīts”. Pievienojot vairāk funkciju, es rakstīšu vairāk rakstu.

Varbūt dažas no manām idejām iedvesmos jūs veidot AI, kas ir labāks par manu

Ieteicams: