Daftar Isi:

Cara Membuat A.I. Bagian 2: 9 Langkah
Cara Membuat A.I. Bagian 2: 9 Langkah

Video: Cara Membuat A.I. Bagian 2: 9 Langkah

Video: Cara Membuat A.I. Bagian 2: 9 Langkah
Video: Cara Membuat Artikel Otomatis Online Gratis Dengan Perplexity AI 2024, November
Anonim
Cara Membuat A. I. Bagian 2
Cara Membuat A. I. Bagian 2

Ini adalah bagian 2 tentang langkah-langkah yang saya ambil untuk membangun AI di komputer windows, menggunakan database gratis, alat pengembangan Pemrograman, dan mesin TTS bawaan gratis yang disertakan dengan Windows.

Kata "Windows" milik Microsoft.

Kata "Naga" milik Nuance.

Langkah 1: Cara Membuat AI Bagian 2

Cara Membuat AI Bagian 2
Cara Membuat AI Bagian 2

Pilih bahasa pemrograman dan dapatkan beberapa alat

Ada banyak bahasa pemrograman. Beberapa khusus untuk A. I. Favorit saya adalah Visual Basic, jadi itulah yang saya gunakan. Saya juga bekerja dengan database server SQL, jadi saya menggunakannya juga.

Anda dapat mengunduh versi gratis ini dari situs web Microsoft. Cukup cari "EXPRESS" di situs web Microsoft. [Visual Studio Express dan SQL server Express]

Bahasa lain yang mungkin Anda inginkan adalah: Python, C#, C++, Java, Prolog, Lisp, IPL

dan banyak lagi. AIML adalah “Bahasa Markup” yang sangat menarik.

Saya menginginkan program "pengenalan ucapan" yang lebih baik daripada yang disertakan dengan Windows, jadi saya membeli perangkat lunak DRAGON. Saya menggunakan program "Text-to-speech" standar yang disertakan dengan Windows.

Langkah 2: Rancang Sistem Anda:

Desain Sistem Anda
Desain Sistem Anda

Bagilah proyek besar Anda menjadi beberapa proyek yang lebih kecil. Saya membagi kode program saya menjadi modul.

Saya membagi kode saya menjadi modul yang berbeda sehingga fungsi tertentu lebih mudah ditemukan.

Saya memiliki modul bernama “Process Input”, “Process AI”, “Process Output”, “User Interface” dan beberapa lainnya. Beberapa fungsi saya harus dapat diakses oleh semua modul kode lainnya, jadi saya menempatkan fungsi-fungsi itu dalam modul "umum" di mana semuanya dibagikan

Langkah 3: Fungsi yang Dibangun Ke dalam Bahasa Pemrograman:

Fungsi yang Dibangun Ke Dalam Bahasa Pemrograman
Fungsi yang Dibangun Ke Dalam Bahasa Pemrograman

Bahasa yang berbeda mungkin memiliki nama yang berbeda untuk ini, tetapi semua bahasa tingkat tinggi memiliki fungsi yang serupa.

LCase atau ToLower: Mengonversi string ke semua huruf kecil. Saya mengonversi semuanya menjadi huruf kecil sebelum melakukan pencarian basis data – meskipun kebanyakan hal “tidak peka huruf besar-kecil” – Untuk berjaga-jaga.

Ganti: Mengganti string di dalam string menjadi string lain. Anda dapat mengganti string dengan string kosong "" untuk menghilangkannya. Saya menghilangkan titik, tanda tanya, koma, dan tanda baca lainnya.

Split: Membagi string menjadi potongan-potongan individual dan menempatkannya ke dalam array. Fungsi ini akan membagi string pada karakter apa pun, atau "Pembatas". Saya membagi kalimat pada "karakter spasi" " " untuk membuat susunan kata. Ini disebut "Tokenizing" oleh AI Gurus.

Saya menggunakan kata-kata individual untuk membuat kueri yang digunakan untuk mencari database. (Selengkapnya tentang ini di artikel saya berikutnya)

Langkah 4: Gabungkan Fungsi Bawaan untuk Membuat Fungsi Anda Sendiri

Ini adalah contoh "visual basic". Gunakan bahasa pemrograman Anda untuk membangun sesuatu seperti ini.

Tentu saja, Anda perlu menulis banyak kode, dan membangun banyak fungsi, menggunakan bahasa pemrograman pilihan Anda.

Langkah 5: Apa yang Dilakukan Modul? "Masukan Prosesor"

Apa yang Dilakukan Modul? "Masukan Prosesor"
Apa yang Dilakukan Modul? "Masukan Prosesor"

Mungkin ada seratus cara berbeda untuk mengajukan pertanyaan yang sama kepada AI. Sebagai contoh; "Jam berapa sekarang?", "Apakah kamu punya waktu?" "Apakah Anda tahu jam berapa sekarang?", "Bisakah Anda memberi tahu saya waktu saat ini?" Karena pengguna hanya menanyakan waktu, saya mengonversi salah satu dari Input ini ke Output tunggal yang disebut "Waktu Kueri" menggunakan tabel "pencarian" database.

Anda dapat menulis kode untuk mengulang melalui tabel hingga menemukan kecocokan, atau jika Anda menggunakan database SQL, Anda dapat menulis kueri SQL, seperti…

"Pilih Output dari TableName di mana Input = '" terserah '"

…Dan kemudian saya mengirim output, “Waktu Kueri”, ke modul kode berikutnya; “Proses AI”

Selain pertanyaan, ada banyak cara untuk mengatakan "Halo"

Hai, Halo, apa kabar, hai, halo, apa kabar?, salam, selamat datang, salam, apa kabar….

Semua ini direduksi menjadi "Salam"

Ketika prosesor AI melihat “Greeting”, ia mengirimkan “Greeting” ke prosesor keluaran, yang akan memilih salam acak dari tabel database, dan mengucapkannya dengan lantang.

Langkah 6: “Prosesor AI”

“Prosesor AI”
“Prosesor AI”

Proses AI adalah modul kode terbesar. Itu sangat besar sehingga saya membaginya menjadi beberapa bagian juga.

Input diperiksa untuk melihat apakah pengguna mengucapkan perintah, atau mengajukan pertanyaan. Juga, AI dapat berada di salah satu dari beberapa "Mode" yang berarti bahwa kode "Process AI" mengharapkan pengguna untuk MENJAWAB pertanyaan, bukan MENJAWAB pertanyaan.

Jika pengguna tidak mengucapkan perintah dan AI tidak dalam "Mode" khusus, maka ia akan membangun dan mengeksekusi banyak kueri, dari kombinasi kata-kata dalam "array kata". Semua hasil kueri disimpan dalam tabel, dan setiap hasil kueri diberi “skor” tentang seberapa dekat hasil tersebut dengan apa yang diucapkan pengguna. Tabel diurutkan berdasarkan skor, dan hasil dengan skor tertinggi dikirim ke output, jika melebihi ambang batas tertentu. Jika semua skor di bawah ambang batas, AI dapat merespons dengan "Saya tidak tahu" atau "Itu tidak dihitung"

Langkah 7: Tabel "keluaran dan Skor"

NS
NS

Output AI dari input saya "Apa yang dilakukan ayam?"

Langkah 8: “Prosesor Keluaran”

"Prosesor Keluaran"
"Prosesor Keluaran"

Ini melakukan beberapa hal yang tampak "tidak terkait" tetapi semuanya harus dilakukan dengan mendapatkan teks dari Prosesor AI ke pengguna.

Berikut adalah daftarnya.

1. Teks dari database mungkin dalam huruf kecil semua, dan tidak memiliki tanda baca.. Subrutin akan menggunakan huruf kapital pada huruf pertama, dan memberikan titik atau tanda tanya di akhir.

2. Subrutin lain akan mengembalikan apostrof menjadi kontraksi, atau mengubah kontraksi kembali menjadi kata lengkap (yaitu "tidak bisa" diganti dengan "tidak bisa")

3. Mesin text-to-speech tidak mengucapkan beberapa kata seperti yang saya suka, jadi "Output Processor" menggantikan kata-kata itu dengan ejaan fonetik.. Saya memiliki tabel database "look up" untuk menampungnya, mirip dengan yang satu ini dalam "prosesor masukan"

4. Jika AI tidak menemukan jawaban yang sesuai di database, ia dapat mengatakan "Saya tidak tahu" tetapi saya tidak ingin dia mengatakan ini berulang-ulang. Orang-orang nyata bervariasi tanggapan mereka. Jadi ada tabel dengan frasa "Keluaran Umum" dan fungsi yang mengambil satu secara acak (dan tidak akan pernah memilih yang sama dua kali berturut-turut.)

5. Mesin “text-to-speech” (TTS) gratis tidak memberikan banyak pilihan kepada programmer untuk cara kalimat diucapkan, tetapi Anda memiliki sedikit kendali atas nada dan kecepatan fonem. Istilah untuk ini adalah "Prosodi". Saya menambahkan beberapa kode "prosody" ke dalam teks di database saya, dan ketika "Output Processor" melihatnya, itu akan menyesuaikan nada dan kecepatan di mesin TTS saat setiap kata diucapkan.

6. Terkadang TTS sulit dimengerti, jadi selain mengucapkan kata-kata dengan keras, saya juga menampilkannya dalam huruf besar di layar komputer saya. Bagian dari "Antarmuka Pengguna" ini adalah kisi yang menunjukkan 6 baris terakhir percakapan, (Input pengguna & keluaran AI) dan bergulir ke atas saat baris baru ditambahkan..

Langkah 9: Terus Bekerja di atasnya

Terus Bekerja di atasnya
Terus Bekerja di atasnya

Masukan saya adalah "Jangan beri tahu siapa pun"

Saya masih mengerjakan sistem AI saya, dan itu mungkin tidak akan pernah benar-benar "selesai". Saat saya menambahkan lebih banyak fitur, saya akan menulis lebih banyak artikel.

Mungkin beberapa ide saya akan menginspirasi Anda untuk membangun AI yang lebih baik dari saya

Direkomendasikan: