Isi kandungan:

Pembantu Diaktifkan Suara - MAX: 10 Langkah
Pembantu Diaktifkan Suara - MAX: 10 Langkah

Video: Pembantu Diaktifkan Suara - MAX: 10 Langkah

Video: Pembantu Diaktifkan Suara - MAX: 10 Langkah
Video: cara aktifkan equalizer realme 2024, November
Anonim
Pembantu Diaktifkan Suara - MAX
Pembantu Diaktifkan Suara - MAX

Hai dalam Instructable ini saya akan membincangkan cara membuat bot chat MAX (namakan diri saya !!!)

Dengan beberapa pelaksanaan anda dapat membuat suara chatbot ini dikendalikan atau dengan penggunaan pelbagai perisian anda dapat menjadikannya sebagai pembantu suara. Saya di sini tidak akan membincangkannya kerana setiap orang dapat membuat pelaksanaan ini dengan mudah.

Jadi semua tolong sokong saya …….

Pengajaran pertama saya !!!!!!!

Rasa gugup dengan apa yang akan berlaku …………….

Langkah 1: Mengetahui Peraduan

Mengetahui Mengenai Peraduan
Mengetahui Mengenai Peraduan
Mengetahui Mengenai Peraduan
Mengetahui Mengenai Peraduan

Hai Jurutera dan Pereka …….

Saya sendiri seorang pelajar Sains Komputer suka bermain permainan dan selalu memberi inspirasi pada komputer. Bercakap sebentar saya suka mengetahui bagaimana semua perkara ini berfungsi. Oleh itu, saya terus mencari, googling (sebenarnya saya juga menggunakan Yahoo !!! !!!) untuk mencari dan mempelajari perkara-perkara.

Oleh itu, suatu hari saya datang di hadapan skrin Instructables. Ia benar-benar menggembirakan saya melalui pelbagai projek dengan pelbagai idea mengenai pelbagai aspek. Kemudian dari hari itu saya terus mengikutinya. Halaman peraduan benar-benar menggembirakan saya kerana mementingkan hadiah dan projek yang telah dihantar oleh pelbagai orang di sekitar dunia.

CABARAN AKTIF SUARA adalah platform pertama saya dalam menulis Karangan.

Hadiah sangat menggembirakan saya (Yeah !!! Terlalu banyak ……..).

Saya juga ingin berkongsi pengetahuan saya dalam bidang Komputer dan teknologi kepada orang lain mengenai bagaimana pelbagai perkara berfungsi.

Dalam Instructable ini saya menunjukkan kepada anda cara Membina pembantu suara anda sendiri.

Oleh kerana ini adalah Instruksiku yang pertama mungkin ada banyak kesilapan (walaupun saya rasa semua ini telah diperbaiki), jadi maafkanlah untuk itu.

JADI…

Mari kita mulakan perjalanan ………………

Langkah 2: Di Mana Saya Tahu Mengenai Perkara?

Di mana saya tahu mengenai perkara itu?
Di mana saya tahu mengenai perkara itu?
Di mana saya tahu mengenai perkara itu?
Di mana saya tahu mengenai perkara itu?
Di mana saya tahu mengenai perkara itu?
Di mana saya tahu mengenai perkara itu?

Ini akan menjadi persoalan utama yang mungkin saya fikirkan oleh kebanyakan fikiran anda ………

Saya sangat meminati Kecerdasan Buatan [AI] sejak saya bersekolah, dari itu saya telah banyak mencari sumber untuk belajar dan mengembangkan model saya sendiri.

Pada mulanya ia sangat sukar (keadaan sebenar) kerana saya faham ia adalah subjek yang sangat luas dan sama sekali tidak mudah dikendalikan.

Buku-buku yang dicari merangkumi:

  1. Kecerdasan Buatan Pendekatan Moden
  2. Artificial. Intelligence.in.the.21st. Century.2nd. Edition
  3. Pembelajaran yang mendalam

Ini adalah buku yang sangat bagus (ya pasti) tetapi sama sekali tidak mudah untuk memahami perkara-perkara yang telah ditulis. Kemudian saya menyimpannya dan terus mencari sumber yang memberikan idea ringkas mengenai apa ia benar-benar mewakili dan cara untuk melakukannya.

Kemudian saya mendapat minat dalam hal itu. Sepanjang percutian selepas bersekolah saya mula belajar mengenainya dengan lebih mendalam.

Pada masa itu saya juga belajar pelbagai bahasa pengaturcaraan (C ++, C, Python, Java….), Yang terlalu menarik.

Semasa membaca lebih lanjut mengenai topik itu, saya memahami satu Perkara Penting ………………..

Bahasa pengaturcaraan ADALAH ASAS UNTUK SETIAP PROSES PEMBELAJARAN MESIN

Pembelajaran Mesin adalah proses penerapan AI

Dengan pemahaman yang tinggi mengenai bahasa pengaturcaraan dan pelbagai perkara yang dapat dilakukan bergantung kepada pengaturcara untuk membuat komputer untuk melakukan apa sahaja untuk kita.

Oleh itu, saya memutuskan untuk membuat asas yang baik pada bahasa-bahasa yang membuat saya memahami konsep yang terdapat pada buku yang telah saya sebutkan

Anda juga boleh melakukan itu ……

Terdapat begitu banyak laman web yang terdapat di dalam web untuk mengajar bahasa pengaturcaraan secara bebas

Oleh itu, anda boleh melayari internet untuk memahami lebih lanjut mengenainya jika anda mahu ………

Langkah 3: Mari Kita Mulakan

Saya sebelum mula menulis Instructable yang saya fikirkan untuk menulis sesuatu yang difahami oleh:

  1. Orang yang mempunyai pengalaman dengan pengekodan
  2. Orang yang tidak mempunyai latar belakang pengekodan

Oleh itu, saya rasa saya telah melakukan perkara itu tanpa kesilapan (semoga).

Oleh itu, saya telah memutuskan untuk membina bot sembang yang boleh bercakap dengan pengguna dan dapat bertindak balas mengikut perbincangan kami.

Program (set arahan) tidak dapat difikirkan sendiri. Ia mempunyai pangkalan data (tempat di mana data disimpan) fakta dan peraturan, yang dicari pada saat bercakap untuk memberikan respons terbaik yang dapat dilakukan sehubungan dengan pengguna.

Ia berfungsi dengan proses pencocokan bergantung pada hal-hal yang dimasukkan, hanya dalam kes yang jarang, keseluruhan ayat dipadankan dengan ayat yang lengkap.

Langkah 4: Bagaimana Sebenarnya Ia Berfungsi?

Langkah 1:

MAX mengetahui sama ada pengguna telah memberikan sebarang input kosong. Sekiranya pengguna diberi input sedemikian rupa, ia mengambil fakta dari pangkalan data statik untuk bertindak balas.

Oh maaf ……

Saya terlupa berkata,

Pangkalan Data Statik: Tempat di mana tanggapan dalam bangunan disimpan. Respons seperti:

1. Apabila MAX tidak memahami tentang apa yang dibincangkan oleh pengguna.

2. Apabila pengguna mengulangi dirinya.

3. Untuk pernyataan ucapan.

4. Apabila pengguna tidak menaip apa-apa dan terus menekan Enter.

Kata kunci: perkataan yang mempunyai makna khas.

Langkah 2:

Terdapat beberapa tindak balas terbina yang dapat dikenali oleh MAX dengan mudah dan senang. Ia mendapati adanya ayat seperti itu setelah mengenal pasti input pengguna dan mengingat kata kunci yang berkaitan.

Langkah 3:

Sekiranya tidak ada ayat bawaan yang dijumpai walaupun setelah pecahan ayat yang diberikan, maka MAX mencari kata kunci tertentu untuk menentukan konteksnya. Sekiranya tidak ada konteks yang dijumpai, maka tujuannya seterusnya adalah menjadikan pengguna untuk membincangkan topik dengan lebih sengaja dengan cara tertentu.

Langkah 4:

Dari Pangkalan Data Statik yang telah kita bicarakan, ia akan mengambil respons yang bergantung kepada apa yang telah dibincangkan oleh pengguna.

Langkah 5:

Saya ada keperluan untuk mengubah kata-kata yang akan dilakukannya sendiri (seperti Penukaran MY ke ANDA dll …)

Langkah 5: Biarkan Kami Kod …………

Saya menggunakan Turbo C IDE 3.0 kerana ini adalah IDE [Integrated Developmental Environment]

Sebelum pengekodan, mari kita lihat struktur contoh Fail Data.

MAX mengenali kata kunci tertentu.

Sekiranya kata kunci ini terdapat dalam input yang diberikan oleh pengguna, maka respons yang sesuai dipilih dari file data dan dipilih dan ditampilkan di layar.

Kata kunci dipisahkan dalam fail data daripada respons oleh @ KWD @ token.

Token adalah bahagian terkecil dari setiap aspek pengaturcaraan.

Token ini menunjukkan baris seterusnya adalah kata kunci dan bukan tindak balas.

@ KWD @ HELLO

HI, BAGAIMANA ANDA

HELLO DEAR!

SAYA SANGAT

BAGAIMANA KERJA ANDA?

BERAPAKAH UMUR KAMU?

@ KWD @

SAYA AKAN

ANDA AKAN LAKUKAN. SAYA PERCAYA TERLALU…

ADAKAH ANDA MAMPU MELAKUKANNYA?

ADAKAH ANDA AMANAH SAYA?

@ KWD @

YA

ADAKAH ANDA PASTI ?

BAGAIMANA ANDA BOLEH PASTI?

@ KWD @

TIADA

ANDA Nampaknya sangat pesimis.

TIDAK PERNAH MENGATAKAN TIDAK…

TIDAK PERNAH KATA

TIDAK PERNAH MUDAH

TIDAK PERNAH MENARIK !!!!

TIDAK PERNAH MENGATAKAN SAYA TIDAK BOLEH MELAKUKAN INI

TIDAK PERNAH OPTIMISTIK

@ KWD @

KOMPUTER

SAYA TAHU CARA KERJA PADA KOMPUTER.

ANDA SEMASA MENGGUNAKAN KOMPUTER. BETUL?

Contohnya, 'Hello', dari kamus di atas, MAX akan memberikan salah satu respons berikut:

HI, BAGAIMANA YOUHELLO DEAR!

SAYA SANGAT

BAGAIMANA KERJA ANDA?

BERAPAKAH UMUR KAMU?

Langkah 6: Kelas

Setelah perkara ini jelas, mari kita tentukan Struktur Data yang akan kita gunakan.

Kami membuat dua kelas:

progstr - Ini digunakan untuk menyimpan maklumat berkaitan input pengguna.

resp - Ini digunakan untuk menyimpan maklumat mengenai pelbagai respons

progstr kelas {

awam:

char penggunaip [MAX_USER_INPUT];

kata kunci char [30];

int keyfound;

int keyno;

int nullip;

// pembina

progstr () {keyno = -1; nullip = 0; keyfound = 0;

}

} ip;

resp kelas

{

int tot_resp;

int last_resp;

balas char [MAX_RESP_NO] [MAX_RESP_LEN];

kata char [MAX_KWD_LEN];

awam:

// pembina

resp ()

{

tot_resp = 0;

last_resp = -1;

}

int getcount ()

{

kembalikan last_resp;

}

batal kata tambah (char str [MAX_KWD_LEN])

{

strcpy (perkataan, str);

}

kata kunci char * ()

{

kata balik;

}

kekosongan tambah (char str [MAX_RESP_LEN])

{

strcpy (balasan [++ last_resp], str);

}

// ditakrifkan kemudian

void display_resp (int num);

batal quit_display_resp (int num);

};

Melihat ke kelas pertama, Userip array watak digunakan untuk menyimpan ayat yang diberikan oleh pengguna.

Kata kunci array lain digunakan untuk menyimpan kata kunci, jika ada, terdapat dalam input tersebut. Sekiranya kata kunci dijumpai, kami membuat int keyfound kepada 1 yang lain, kata kunci itu tetap 0, kerana ia diinisialisasi menjadi 0 di Constructor.

keyno menyimpan nombor kesesuaian kata kunci yang sesuai.

nullip menunjukkan sama ada pengguna telah memberikan sebarang input Null, dia hanya menekan enter tanpa melakukan perkara lain.

Sekarang mari kita datang ke kelas kedua, resp.

Anggota data pertama, tot_resp menunjukkan jumlah respons keseluruhan untuk kata kunci yang diberikan.

Balasan sebenarnya disimpan dalam jawapan [MAX_RESP_NO] [MAX_RESP_LEN] dan kata kunci yang sesuai disimpan dalam kata larik.

Konstruktor: Ini digunakan untuk menginisialisasi jumlah respons hingga 0. Mengapa last_resp diinisialisasi menjadi -1 akan jelas apabila anda melihat fungsi add_resp.

int getcount ():

Fungsi ini digunakan untuk menghitung berapa banyak respons yang ada untuk kata kunci tertentu.

batal tambah kata (char str [MAX_KWD_LEN]):

Ini digunakan untuk menambahkan kata kunci.

char * getword ():

Digunakan untuk mengembalikan kata kunci untuk objek tertentu dari kelas.

batal addresp (…):

Ini digunakan untuk menambahkan respons yang sesuai dengan kata kunci yang diberikan.

void display_resp (int):

Ini digunakan untuk menunjukkan respons kepada pengguna yang sesuai dengan nombor indeks yang diberikan untuk respons. (sebenarnya ia lebih daripada itu!).

batal quit_display_resp (int):

Perbezaan antara fungsi ini dan fungsi di atas adalah bahawa ia digunakan pada akhirnya ketika pengguna berhenti. Jadi, ia tidak mengembalikan permintaan kepada pengguna.

Langkah 7: Fungsi

batal inisialisasi_global ()

{

strcpy (wordin [0], "ARE");

strcpy (kata-kata [0], "AM");

strcpy (wordin [1], "AM");

strcpy (wordout [1], "ARE");

strcpy (wordin [2], "DI SINI");

strcpy (wordout [2], "WAS");

strcpy (wordin [3], "WAS");

strcpy (perkataan [3], "DI SINI");

strcpy (wordin [4], "ANDA");

strcpy (wordout [4], "ME");

strcpy (wordin [5], "I");

strcpy (wordout [5], "ANDA");

strcpy (wordin [6], "ANDA");

strcpy (wordout [6], "MY");

strcpy (wordin [7], "MY");

strcpy (perkataan [7], "ANDA");

strcpy (wordin [8], "SAYA");

strcpy (wordout [8], "ANDA TELAH");

strcpy (wordin [9], "ANDA TELAH");

strcpy (wordout [9], "AKU SUDAH");

strcpy (wordin [10], "AKU");

strcpy (perkataan [10], "ANDA");

strcpy (wordin [11], "ANDA");

strcpy (wordout [11], "AKU");

strcpy (wordin [12], "ME");

strcpy (perkataan [12], "ANDA");

strcpy (wordin [13], "ANDA");

strcpy (wordout [13], "ME");

}

Marilah kita menulis fungsi untuk memaparkan respons kepada pengguna. Pernyataan if pertama dalam for loop digunakan untuk membuat kesalahan menaip yang disengajakan untuk membuatnya kelihatan lebih manusiawi seperti;-). Satu watak dipilih secara rawak untuk kesalahan menaip. Kes khas seperti New Line dan Backspace dipertimbangkan secara berasingan. (Fikirkan mengapa?). Sekarang saya memperkenalkan sesuatu yang baru. Watak khas - *. Char * mewakili semua teks yang ditemui SELEPAS kata kunci yang dikenal pasti, dan sebelum salah satu tanda baca berikut.

Sebagai contoh, pertimbangkan input pengguna

AMIT> BOLEH SAYA PERGI KE INDOR TOMORROW?

MAX> APA JIKA ANDA TIDAK PERGI KE INDOR TOMORROW?

Bahagian yang digarisbawahi tidak disimpan dalam kamus, sebaliknya diambil dari input pengguna. Dalam fail MAX. Dat, kami menyimpan maklumat ini sebagai

BOLEHKAH SAYA

APA JIKA ANDA TIDAK *

Star (*) meminta program untuk menyalin apa sahaja yang ditaip selepas kata kunci (di sini BOLEH SAYA) dalam input pengguna, sebagaimana adanya. Saya harap sekarang fungsi * sebagai kata kunci khas sudah jelas. Oleh itu, marilah kita mempertimbangkan kes yang lebih rumit.

AMIT> BOLEH SAYA BOLEH BELANJA?

MAX> APA JIKA ANDA TIDAK PERGI KE BELANJA?

Kita juga mesti melakukan transformasi. Apabila kita memikirkan transformasi, ayat itu terbahagi kepada 3 bahagian berikut:

  • Teks Sebelum Kata Transposisi. (di sini, PERGI KE BELANJA DENGAN)
  • Kata kunci Transposed. (di sini, ANDA, sebagai ganti SAYA)
  • Teks Selepas Kata Kunci Transposisi. (disini saya ?)

Langkah 8: Kes Dapat Diatasi Oleh ………

Langkah 9: Mencari Kata Kunci dalam Input Pengguna

MAX_KEY menunjukkan bilangan kata kunci dalam fail DAT.

Kami di sini hanya mencari sama ada kata kunci terdapat dalam Input Pengguna.

Langkah 10: Kesimpulannya

Itu sahaja ………

Anda telah berjaya !!!!!!!

Saya rasa semua orang memahami perkara itu dengan jelas ……

Disyorkan: