Orodha ya maudhui:

Jinsi ya kutengeneza A.I. Sehemu ya 2: 9 Hatua
Jinsi ya kutengeneza A.I. Sehemu ya 2: 9 Hatua

Video: Jinsi ya kutengeneza A.I. Sehemu ya 2: 9 Hatua

Video: Jinsi ya kutengeneza A.I. Sehemu ya 2: 9 Hatua
Video: Jinsi ya Kutengeneza Video kwa kutumia AI : inatakiwa Picha moja tu 2024, Novemba
Anonim
Jinsi ya kutengeneza A. I. Sehemu ya 2
Jinsi ya kutengeneza A. I. Sehemu ya 2

Hii ni sehemu ya 2 kuhusu hatua nilizochukua kujenga AI kwenye kompyuta ya windows, nikitumia hifadhidata ya bure, Zana ya ukuzaji wa Programu na bure iliyojengwa katika injini ya TTS ambayo inakuja na Windows.

Neno "Windows" ni la Microsoft.

Neno "Joka" ni la Nuance.

Hatua ya 1: Jinsi ya Kutengeneza Sehemu ya AI 2

Jinsi ya Kutengeneza Sehemu ya AI 2
Jinsi ya Kutengeneza Sehemu ya AI 2

Chagua lugha ya programu na upate zana

Kuna lugha nyingi za programu. Baadhi ni maalum kwa A. I. Ninayopenda ni Basic Basic, kwa hivyo ndivyo nilivyotumia. Mimi pia hufanya kazi na hifadhidata ya seva ya SQL, kwa hivyo nilitumia hiyo pia.

Unaweza kupakua matoleo ya bure ya haya kutoka kwa wavuti ya Microsoft. Tafuta tu "EXPRESS" kwenye wavuti ya Microsoft. [Visual Studio Express na SQL Express Express]

Lugha zingine ambazo unaweza kututaka ni: Python, C #, C ++, Java, Prolog, Lisp, IPL

na wengine wengi. AIML ni "Lugha ya Markup" ambayo inavutia sana.

Nilitaka mpango bora wa "utambuzi wa usemi" kuliko ule unaokuja na Windows, kwa hivyo nilinunua programu ya DRAGON. Ninatumia programu ya kawaida ya "Nakala-kwa-usemi" iliyokuja na Windows.

Hatua ya 2: Tengeneza Mfumo wako:

Tengeneza Mfumo wako
Tengeneza Mfumo wako

Gawanya miradi yako mikubwa katika rundo la miradi midogo. Niligawanya nambari yangu ya programu kuwa moduli.

Niligawanya nambari yangu katika moduli tofauti ili kazi fulani iwe rahisi kupata.

Nina moduli zilizoitwa "Mchakato wa Kuingiza Mchakato", "Mchakato wa AI", "Utoaji wa Mchakato", "Kiolesura cha Mtumiaji" na zingine chache. Baadhi ya kazi zangu zinahitaji kupatikana kwa moduli zingine zote za nambari, kwa hivyo ninaweka kazi hizo katika moduli ya "kawaida" ambapo kila kitu kinashirikiwa

Hatua ya 3: Kazi ambazo Zinajengwa Katika Lugha ya Programu:

Kazi Zinazojengwa Katika Lugha ya Programu
Kazi Zinazojengwa Katika Lugha ya Programu

Lugha tofauti zinaweza kuwa na majina tofauti kwa haya, lakini lugha zote za kiwango cha juu zina kazi sawa.

LCase au ToLower: Inabadilisha kamba kuwa kesi zote ndogo. Ninabadilisha kila kitu kuwa kesi ndogo kabla ya kufanya utaftaji wa hifadhidata - hata ingawa vitu vingi ni "visivyo na hisia" - Kwa hali tu.

Badilisha: Badilisha kamba ndani ya kamba ndani ya kamba nyingine. Unaweza kubadilisha kamba na kamba tupu "" kuiondoa. Ninaondoa vipindi, alama za kuuliza, koma na alama zingine za uandishi.

Kugawanyika: Kugawanya kamba kwenye vipande vya mtu binafsi na kuziweka kwenye safu. Kazi hii itagawanya kamba kwenye tabia yoyote, au "Delimiter". Niligawanya sentensi kwenye "mhusika wa nafasi" "" kutengeneza safu ya maneno. Hii inaitwa "Tokenizing" na AI Gurus.

Ninatumia maneno ya kibinafsi kujenga maswali yaliyotumiwa kutafuta hifadhidata. (Zaidi juu ya hii katika nakala yangu inayofuata)

Hatua ya 4: Changanya Kazi za Kujengwa Ili Kuunda Kazi Zako mwenyewe

Huu ni mfano "msingi wa kuona". Tumia lugha yako ya programu kujenga kitu kama hiki.

Kwa kweli, utahitaji kuandika nambari nyingi, na ujenge kazi nyingi, ukitumia lugha ya programu unayochagua.

Hatua ya 5: Je! Moduli Je! "Kichakataji Ingizo"

Je! Moduli Zinafanya Nini? "Kichakataji Ingizo"
Je! Moduli Zinafanya Nini? "Kichakataji Ingizo"

Kunaweza kuwa na njia mia tofauti za kuuliza AI swali lilelile. Kwa mfano; "Ni saa ngapi?", "Je! Unayo wakati?" "Je! Unajua ni saa ngapi?", "Je! Unaweza kuniambia saa za sasa za siku?" Kwa kuwa mtumiaji anauliza tu wakati, mimi hubadilisha yoyote ya Pembejeo hizi kuwa Pato moja linaloitwa "Wakati wa Kuuliza" kwa kutumia hifadhidata ya "angalia".

Unaweza kuandika nambari ili kuzunguka meza hadi ipate mechi, au ikiwa unatumia hifadhidata ya SQL, unaweza kuandika swala la SQL, kama …

"Chagua Pato kutoka kwa TableName ambapo Ingizo =" "chochote"

… Na kisha ninatuma pato, "Saa ya Swala", kwa moduli inayofuata ya nambari; "Mchakato wa AI"

Mbali na maswali, kuna njia nyingi za kusema "Hello"

Halo, Hujambo, kuna nini, hujambo, hola, vipi?, Salamu, karibu, salamu, howdy….

Yote haya yamepunguzwa kuwa "Salamu"

Msindikaji wa AI anapoona "Salamu" hutuma "Salamu" kwa processor ya pato, ambayo itachukua salamu isiyo ya kawaida kutoka kwa meza ya hifadhidata, na kuisema kwa sauti.

Hatua ya 6: "Msindikaji wa AI"

"Msindikaji wa AI"
"Msindikaji wa AI"

Mchakato wa AI ni moduli kubwa zaidi ya nambari. Ni kubwa sana kwamba niligawanya katika sehemu pia.

Ingizo hukaguliwa ili kuona ikiwa mtumiaji alizungumza amri, au aliuliza swali. Pia, AI inaweza kuwa katika yoyote ya "Njia" kadhaa ambayo inamaanisha kuwa nambari ya "Mchakato wa AI" inatarajia mtumiaji KUJIBU swali, badala ya KUULIZA swali.

Ikiwa mtumiaji hakuzungumza amri na AI haiko katika "Njia" maalum basi huunda na kutekeleza rundo la maswali, nje ya mchanganyiko wa maneno kwenye "safu ya maneno". Matokeo yote ya swala yamehifadhiwa kwenye jedwali, na kila matokeo ya swala hupewa "alama" juu ya jinsi matokeo yanavyofanana na yale ambayo mtumiaji alikuwa ameyazungumza. Jedwali limepangwa na alama, na matokeo na alama ya juu kabisa hupelekwa kwa pato, ikiwa inazidi kizingiti fulani. Ikiwa alama zote ziko chini ya kizingiti, AI inaweza kujibu kwa "Sijui" au "Hiyo haihesabu"

Hatua ya 7: Jedwali la "pato na alama"

The
The

Pato la AI kutoka kwa pembejeo yangu "Je! Kuku alifanya nini?"

Hatua ya 8: "Prosesa ya Pato"

"Prosesa ya Pato"
"Prosesa ya Pato"

Hii inafanya vitu kadhaa "visivyohusiana" vinavyoonekana lakini vyote vinahusiana na kupata maandishi kutoka kwa Msindikaji wa AI kwenda kwa mtumiaji.

Hapa kuna orodha.

1. Maandishi kutoka kwa hifadhidata yanaweza kuwa katika hali zote ndogo, na hayana alama zozote. Subroutines itabadilisha herufi ya kwanza, na kuweka kipindi au alama ya swali mwisho.

2. Subroutine nyingine itarudisha herufi katika vipingamizi, au kubadilisha mikazo kuwa maneno kamili (yaani "cant" inabadilishwa na "haiwezi")

3. Injini ya kusema-kwa-hotuba haitamki maneno kadhaa jinsi ninavyopenda, kwa hivyo "Prosesa ya Pato" hubadilisha maneno hayo na tahajia ya fonetiki.. Nina hifadhidata "tazama" meza za kushikilia haya, sawa na ile katika "processor ya kuingiza"

4. Ikiwa AI haipati jibu linalofaa kwenye hifadhidata, inaweza kusema "Sijui" lakini sitaki iseme hivi tena na tena. Watu halisi hutofautiana majibu yao. Kwa hivyo kuna meza iliyo na misemo ya "Pato la Kawaida" na kazi ambayo huchagua moja kwa nasibu (na haitachukua ile ile mara mbili mfululizo.)

5. Injini ya bure ya "maandishi-kwa-hotuba" (TTS) haimpi programu programu chaguzi nyingi kwa jinsi sentensi zinavyosemwa, lakini unayo udhibiti kidogo juu ya uwanja na kasi ya fonimu. Neno hili ni "Prosody". Niliongeza nambari kadhaa za "prosody" kwenye maandishi kwenye hifadhidata yangu, na wakati "Prosesa ya Pato" inapoona hizi, hubadilisha lami na kasi katika injini ya TTS kila neno linapozungumzwa.

6. Wakati mwingine TTS ni ngumu tu kuelewa, kwa hivyo badala ya kuzungumza maneno kwa sauti, mimi pia huwaonyesha kwa herufi kubwa kwenye onyesho langu la kompyuta. Sehemu hii ya "Muunganisho wa Mtumiaji" ni gridi ya taifa inayoonyesha mistari 6 ya mwisho ya mazungumzo, (Uingizaji wa Mtumiaji na pato la AI) na kusogea juu kama laini mpya zinaongezwa..

Hatua ya 9: Endelea kuifanyia kazi

Endelea Kuifanyia Kazi
Endelea Kuifanyia Kazi

Ingizo langu lilikuwa "Usimwambie mtu yeyote"

Bado ninafanya kazi kwenye mfumo wangu wa AI, na labda haitawahi "kufanywa" kweli. Ninapoongeza huduma zaidi, nitaandika nakala zaidi.

Labda maoni yangu mengine yatakupa moyo kujenga AI ambayo ni bora kuliko yangu

Ilipendekeza: