Isi kandungan:

Cara Membuat A.I. Bahagian 4: 3 Langkah
Cara Membuat A.I. Bahagian 4: 3 Langkah

Video: Cara Membuat A.I. Bahagian 4: 3 Langkah

Video: Cara Membuat A.I. Bahagian 4: 3 Langkah
Video: “Duduk Macam Lelaki” – Netizen Terkejut Lihat Rupa Terkini Anak Perempuan Sharifah Shahira 2024, November
Anonim
Cara Membuat A. I. Bahagian 4
Cara Membuat A. I. Bahagian 4

Pada hari yang lain saya bercakap dengan A. I., dan saya berkata kepada

itu, "Saya pergi ke atas untuk makan malam, kita mengadakan STEAK".

Walau bagaimanapun, perisian Pengenalan Ucapan (SR) menafsirkan ini sebagai "… kita mengalami STAKE"

Saya mengalami masalah yang serupa (tetapi berbeza) sebelumnya ketika saya bercakap mengenai gambar, dan saya mengucapkan perkataan "GAMBAR". Perisian SR menafsirkan ini sebagai "PITCHER"

Perbaikan untuk ini adalah latihan semula perisian SR. (Atau mungkin sebutan saya)

Tetapi apabila saya mengucapkan perkataan STEAK atau STAKE, saya mengucapkannya dengan cara yang sama, dan melatih semula perisian SR tidak akan membantu dalam kes seperti ini.

Langkah 1:

Satu idea untuk menyelesaikan "Masalah Homonim".

Saya harus melihat kata "dalam konteks" untuk menentukan ejaan mana yang akan digunakan. Otak manusia melakukan ini dengan mudah, dan anda bahkan tidak tahu bahawa anda melakukannya.

Ini bermaksud kata-kata lain dalam ayat diperiksa, dan otak anda memutuskan ejaan mana yang paling sesuai. Sekarang, bagaimana saya melakukan ini dalam kod?

A. I saya program menguraikan ayat ke dalam susunan kata-kata individu menggunakan fungsi Visual Basic (VB) "Split". [MyArray = Split (InputSentence, ““)]

Setiap kata dalam larik dapat diperiksa untuk melihat apakah itu mungkin homonim dengan melihat pada jadual pangkalan data yang berisi senarai homonim.

Sudah tentu, membuat jadual lain bermaksud kita perlu mengisinya dengan data, dan kita juga harus dapat mengekalkan data dalam jadual juga.

Subrutin pembelajaran kendiri dapat dibuat kemudian untuk mengimbas sejumlah teks, mencari kata-kata dalam jadual Homonim saya, dan menangkap kata-kata "konteks" yang lain. Hmmmmm, mungkin beberapa jadual diperlukan …

Menulis "Instructables" ini membantu saya "memikirkan" penyelesaian untuk cabaran pengaturcaraan.

Langkah 2:

Imej
Imej

Struktur jadual HomonymContext

Idea pertama saya adalah jadual yang mengandungi kata-kata, ejaan alternatif, dan kata-kata "Konteks". Ideanya adalah mencari kalimat yang berisi homonim, untuk kata lain yang memberikan "konteks", sehingga program dapat menentukan ejaan mana yang akan digunakan. Jadual juga mengandungi lajur bernama "WordDef" untuk menyimpan definisi kata, yang lebih untuk manusia menjaga jadual daripada A. I. kod.

Untuk mencari setiap perkataan, saya boleh menggunakan kod VB dan kod SQL seperti…

Untuk setiap Word di MyArray

Pertanyaan = "Pilih Kata dari tblHomonynContext di mana perkataan = '" & word & "'"

jika pertanyaan ini mengembalikan hasilnya, maka kata itu adalah homonim

Seterusnya

Ini hanya kod semu pada masa ini - saya belum menulis kod yang tepat, atau mengetahui semua butirannya. Jangan ragu untuk mengambil idea saya, dan menerapkannya menggunakan bahasa pengaturcaraan kegemaran anda sendiri.

Langkah 3:

Imej
Imej

Sekiranya ayat input anda mengandungi homonim, anda boleh sekarang

laksanakan kod VB yang akan memeriksa kata-kata lain dalam ayat anda, dengan kata-kata konteks dalam hasil pertanyaan.

Anda juga dapat melakukan semua ini dalam prosedur tersimpan SQL, yang dapat dijalankan lebih cepat.

Fungsi VB "InStr ()" akan mengembalikan angka yang lebih besar daripada sifar, jika satu rentetan terkandung dalam rentetan lain, atau akan mengembalikan sifar, rentetan itu TIDAK terkandung di dalam yang lain.

Instr () sebenarnya mengembalikan kedudukan rentetan terkandung. Sekiranya anda hanya ingin mengetahui apakah String1 mengandungi String2, anda boleh menggunakan kod seperti "If InStr (String1, String2)> 0 …"

Anda harus membina kod ini dalam bahasa pengaturcaraan kegemaran anda.

Jadual HomonymContext bukan reka bentuk yang sangat baik. Ini memiliki banyak data berulang, dan ini dianggap "Tidak Normalisasi" oleh pereka pangkalan data. Cara yang lebih baik untuk melaksanakan fungsi ini adalah dengan menggunakan dua jadual, dalam hubungan ibu bapa-anak. Satu jadual (The Parent) akan memuat senarai homonim, definisi mereka, dan juga Row ID. ID Baris ini digunakan sebagai kunci untuk "Jadual kanak-kanak" yang akan mengandungi kata-kata dan kata konteksnya.

Ini akan lebih mudah untuk ditanyakan (dan dipertahankan) daripada reka bentuk asal saya.

Disyorkan: