Sisällysluettelo:

Kuinka tehdä A.I. Osa 2: 9 vaihetta
Kuinka tehdä A.I. Osa 2: 9 vaihetta

Video: Kuinka tehdä A.I. Osa 2: 9 vaihetta

Video: Kuinka tehdä A.I. Osa 2: 9 vaihetta
Video: Celia äänikirjat lukemisesteisille, osa 2: Palvelun käyttöönotto 2024, Heinäkuu
Anonim
Kuinka tehdä A. I. Osa 2
Kuinka tehdä A. I. Osa 2

Tämä on osa 2 vaiheista, jotka otin tekoälyn rakentamiseen Windows -tietokoneeseen käyttämällä ilmaista tietokantaa, ohjelmointikehitystyökalua ja Windowsin mukana tulevaa ilmaista sisäänrakennettua TTS -moottoria.

Sana "Windows" kuuluu Microsoftille.

Sana "lohikäärme" kuuluu Nuanceen.

Vaihe 1: Kuinka tehdä tekoäly osa 2

Kuinka tehdä tekoäly osa 2
Kuinka tehdä tekoäly osa 2

Valitse ohjelmointikieli ja hanki työkaluja

Ohjelmointikieliä on monia. Jotkut ovat erikoistuneet A. I. Suosikkini on Visual Basic, joten sitä käytin. Työskentelen myös SQL -palvelintietokantojen kanssa, joten käytin myös sitä.

Voit ladata näistä ilmaisia versioita Microsoftin verkkosivustolta. Etsi vain "EXPRESS" Microsoftin verkkosivustolta. [Visual Studio Express ja SQL server Express]

Muita kieliä, joita saatat haluta meille, ovat: Python, C#, C ++, Java, Prolog, Lisp, IPL

ja monet muut. AIML on”merkintäkieli”, joka on erittäin mielenkiintoinen.

Halusin paremman "puheentunnistusohjelman" kuin Windowsin, joten ostin DRAGON -ohjelmiston. Käytän Windowsin mukana toimitettua vakiotyyppistä”puheesta puheeksi” -ohjelmaa.

Vaihe 2: Suunnittele järjestelmäsi:

Suunnittele järjestelmäsi
Suunnittele järjestelmäsi

Jaa suuret projektisi joukko pienempiä projekteja. Jaoin ohjelmakoodin moduuleiksi.

Jaoin koodini eri moduuleihin, jotta tietty toiminto on helpompi löytää.

Minulla on moduuleja nimeltä "Prosessitulo", "Prosessi AI", "Prosessilähtö", "Käyttöliittymä" ja muutamia muita. Joidenkin toimintojeni on oltava kaikkien muiden koodimoduulien käytettävissä, joten laitan nämä toiminnot”yhteiseen” moduuliin, jossa kaikki on jaettu

Vaihe 3: Ohjelmointikielelle rakennetut toiminnot:

Ohjelmointikielelle rakennetut toiminnot
Ohjelmointikielelle rakennetut toiminnot

Eri kielillä voi olla eri nimet näille, mutta kaikilla korkean tason kielillä on samanlaiset toiminnot.

LCase tai ToLower: Muuntaa merkkijonon pieniksi kirjaimiksi. Muun kaiken pieniksi kirjaimiksi ennen tietokantahaun tekemistä-vaikka suurin osa asioista eivät ole kirjainkoolla merkitseviä-joka tapauksessa.

Korvaa: Korvaa merkkijonon sisällä oleva merkkijono toiseksi merkkijonoksi. Voit korvata merkkijonon tyhjällä merkkijonolla “”. Pääsen eroon pisteistä, kysymysmerkeistä, pilkuista ja muista välimerkkeistä.

Split: Jakaa merkkijonon yksittäisiksi paloiksi ja asettaa ne taulukkoon. Tämä toiminto jakaa merkkijonon mihin tahansa merkkiin tai "Erottimeen". Jaoin lauseen "välihahmoon" "" tehdäkseni sanaryhmän. AI -gurut kutsuvat tätä "Tokenizingiksi".

Käytän yksittäisiä sanoja tietokannan etsimiseen käytettävien kyselyiden luomiseen. (Lisää tästä seuraavassa artikkelissani)

Vaihe 4: Yhdistä sisäänrakennetut toiminnot ja luo omat toiminnot

Tämä on "visuaalinen perus" -esimerkki. Käytä ohjelmointikieltäsi tällaisen rakentamiseen.

Tietenkin sinun on kirjoitettava paljon koodia ja rakennettava monia toimintoja valitsemallasi ohjelmointikielellä.

Vaihe 5: Mitä moduulit tekevät? "Tuloprosessori"

Mitä moduulit tekevät? "Tuloprosessori"
Mitä moduulit tekevät? "Tuloprosessori"

AI: lta voi kysyä saman kysymyksen sadalla eri tavalla. Esimerkiksi; "Paljonko kello on?", "Onko sinulla aikaa?" "Tiedätkö, paljonko kello on?", "Voitko kertoa minulle kellonajan?" Koska käyttäjä vain pyytää aikaa, muutan minkä tahansa näistä tuloista yhdeksi lähtöksi nimeltä "Kyselyaika" käyttämällä tietokannan "haku" -taulukkoa.

Voit kirjoittaa koodin silmukkaan taulukon läpi, kunnes se löytää osuman, tai jos käytät SQL -tietokantaa, voit kirjoittaa SQL -kyselyn, kuten…

"Valitse Output TableName -kohdasta, jossa Input =" "mitä tahansa""

… Ja sitten lähetän tuloksen”Kyselyaika” seuraavaan koodimoduuliin; "Käsittele AI"

Kysymysten lisäksi on monia tapoja sanoa "Hei"

Hei, hei, mitä kuuluu, hei, hola, miten voit ?, tervehdys, tervetuloa, tervehdys, moikka….

Kaikki nämä on lyhennetty tervehdykseen

Kun tekoälyprosessori näkee tervehdyksen, se lähettää "tervehdyksen" tulostusprosessorille, joka valitsee satunnaisen tervehdyksen tietokantataulukosta ja puhuu sen ääneen.

Vaihe 6: "AI -prosessori"

"AI -prosessori"
"AI -prosessori"

Process AI on suurin koodimoduuli. Se on niin suuri, että jaoin sen myös osiin.

Syöttö tarkistetaan, puhuiko käyttäjä komennon vai esittikö hän kysymyksen. Lisäksi tekoäly voi olla missä tahansa useista "tiloista", mikä tarkoittaa, että "prosessi AI" -koodi odottaa käyttäjän VASTAAVAN kysymykseen sen sijaan, että kysyisi.

Jos käyttäjä ei puhunut komentoa ja tekoäly ei ole erityisessä "tilassa", se rakentaa ja suorittaa joukon kyselyitä "sanaryhmän" sanojen yhdistelmistä. Kaikki kyselytulokset tallennetaan taulukkoon, ja jokaiselle kyselytulokselle annetaan "pisteet" siitä, kuinka tarkasti tulos vastaa käyttäjän puhetta. Taulukko lajitellaan pisteiden mukaan, ja korkeimman pistemäärän tulos lähetetään lähtöön, jos se ylittää tietyn kynnyksen. Jos kaikki pisteet ovat kynnyksen alapuolella, tekoäly voi vastata sanoilla "En tiedä" tai "Se ei laske"

Vaihe 7: "Tulos ja pisteet" -taulukko

The
The

Tekoälyn tulos tulostani "Mitä kana teki?"

Vaihe 8:”Lähtöprosessori”

"Lähtöprosessori"
"Lähtöprosessori"

Tämä tekee useita "toisiinsa liittymättömiä" näköisiä asioita, mutta ne kaikki liittyvät tekstin saamiseen tekoälyprosessorista käyttäjälle.

Tässä on luettelo.

1. Tietokannan teksti voi olla pieniä ja ilman välimerkkejä. Aliohjelmat alkavat isolla kirjaimella ja asettavat pisteen tai kysymysmerkin loppuun.

2. Toinen aliohjelma laittaa heittomerkit takaisin supistuksiin tai muuttaa supistukset takaisin kokonaisiksi sanoiksi (eli "ei voi" korvataan sanalla "ei voi")

3. Tekstistä puheeksi -moottori ei ääntä joitain sanoja haluamallasi tavalla, joten”tulostusprosessori” korvaa nämä sanat foneettisella oikeinkirjoituksella. "syöttöprosessorissa"

4. Jos tekoäly ei löydä sopivaa vastausta tietokannasta, se voi sanoa”en tiedä”, mutta en halua sen sanovan tätä uudestaan ja uudestaan. Todelliset ihmiset vaihtelevat vastauksiaan. Joten on taulukko, jossa on”Common Output” -lauseita ja toiminto, joka valitsee yhden satunnaisesti (eikä koskaan valitse samaa kahdesti peräkkäin.)

5. Ilmainen tekstistä puheeksi -moottori (TTS) ei anna ohjelmoijalle paljon vaihtoehtoja lauseiden puhumiseen, mutta hallitset hieman sävelkorkeutta ja foneemien nopeutta. Termi tälle on "Prosody". Lisäsin joitakin "prosodia" -koodeja tietokantani tekstiin, ja kun "tulostusprosessori" näkee ne, se säätää TTS -moottorin äänenvoimakkuutta ja nopeutta jokaisen sanan puhuttua.

6. Joskus TTS: ää on vain vaikea ymmärtää, joten sanojen ääneen puhumisen lisäksi näytän ne myös isoilla kirjaimilla tietokoneen näytöllä. Tämä käyttöliittymän osa on ruudukko, joka näyttää keskustelun kuusi viimeistä riviä (käyttäjän syöttö ja tekoäly) ja vierittää ylöspäin, kun uusia rivejä lisätään.

Vaihe 9: Jatka työskentelyä

Jatka työskentelyä
Jatka työskentelyä

Kirjoitukseni oli "Älä kerro kenellekään"

Työskentelen edelleen tekoälyjärjestelmäni parissa, eikä sitä todennäköisesti koskaan todella tehdä. Kun lisään ominaisuuksia, kirjoitan lisää artikkeleita.

Ehkä jotkut ideoistani inspiroivat sinua rakentamaan tekoälyn, joka on parempi kuin minun

Suositeltava: