Mundarija:

A.I.ni qanday qilish kerak 4 -qism: 3 qadam
A.I.ni qanday qilish kerak 4 -qism: 3 qadam

Video: A.I.ni qanday qilish kerak 4 -qism: 3 qadam

Video: A.I.ni qanday qilish kerak 4 -qism: 3 qadam
Video: 🔥 SAMSUNG TELEFONI TEZ ISHLAYDIGAN QILISH 2024, Iyul
Anonim
A. I.ni qanday qilish kerak 4 -qism
A. I.ni qanday qilish kerak 4 -qism

Boshqa kuni men A. I. bilan gaplashdim va men aytdim

u: "Men kechki ovqat uchun yuqoriga ketyapman, bizda STEAK bor".

Biroq, Nutqni tanib olish (SR) dasturiy ta'minoti buni "… bizda STAYK bor" deb izohladi.

Men fotosurat haqida gapirganda, men shunga o'xshash (lekin boshqacha) muammoga duch keldim va "RASM" so'zini aytdim. SR dasturi buni "PITCHER" deb izohladi.

Buni tuzatish SR dasturiy ta'minotini oddiy qayta tayyorlash edi. (Yoki, ehtimol mening talaffuzim)

Lekin STEAK yoki STAKE so'zlarini aytganda, men ularni xuddi shunday talaffuz qilaman va SR dasturini qayta o'qitish bunday holatlarda yordam bermaydi.

1 -qadam:

"Homonim muammosini" hal qilish uchun bitta fikr.

Qaysi imlo ishlatilishini aniqlash uchun men "kontekstda" so'ziga qarashim kerak. Inson miyasi buni juda oson bajaradi va siz buni qilayotganingizni ham bilmaysiz.

Bu shuni anglatadiki, jumladagi boshqa so'zlar tekshiriladi va sizning miyangiz qaysi imlo yaxshiroq ko'rinishini hal qiladi. Endi buni kodda qanday qilishim mumkin?

Mening A. I. dastur Visual Basic (VB) "Split" funktsiyasidan foydalanib, jumlani alohida so'zlar qatoriga ajratadi. [MyArray = Split (InputSentence, “”)]

Qatordagi har bir so'zni homonimlar ro'yxatini o'z ichiga olgan ma'lumotlar bazasi jadvaliga qarab, mumkin bo'lgan homonim ekanligini tekshirish mumkin.

Albatta, boshqa jadval yaratish shuni anglatadiki, biz uni ma'lumotlar bilan to'ldirishimiz kerak, shuningdek jadvaldagi ma'lumotlarni saqlay olamiz.

O'z -o'zidan o'rganiladigan dastur keyinchalik matnni skanerlash, mening omonim jadvalimdagi so'zlarni qidirish va boshqa "kontekstli" so'zlarni yozib olish uchun tuzilishi mumkin. Hmmmmm, ehtimol bir nechta jadval kerak …

"Ko'rsatmalar" ni yozish menga dasturlash muammosini hal qilishda yordam beradi.

2 -qadam:

Rasm
Rasm

HomonymContext jadvalining tuzilishi

Mening birinchi fikrim so'zlar, muqobil imlo va "kontekst" so'zlarini o'z ichiga olgan jadval edi. Gap shundaki, omonim o'z ichiga olgan jumlani qidirish, boshqa so'z bilan aytganda, "kontekst" beradigan, dastur qaysi imlodan foydalanish kerakligini aniqlay oladi. Jadvalda so'z ta'rifini ushlab turish uchun "WordDef" deb nomlangan ustun ham bor, bu jadvalni boshqaruvchi odam uchun A. Idan ko'ra ko'proq. kod

Har bir so'zni qidirish uchun men VB kodi va SQL kodidan foydalanishim mumkin …

MyArray -dagi har bir so'z uchun

So'rov = "tblHomonynContext -dan Word ni tanlang, bu erda word = '" & word & "'"

agar bu so'rov natijani qaytarsa, bu so'z omonimdir

Keyingi

Bu hozircha yolg'on kod - men hali aniq kodni yozmaganman yoki barcha tafsilotlarni aniqlaganim yo'q. Lekin mening fikrimni qabul qilib, uni o'zingiz yoqtirgan dasturlash tilidan foydalanib amalga oshiring.

3 -qadam:

Rasm
Rasm

Agar siz kiritgan jumlada homonim bo'lsa, endi mumkin

so'rov natijalaridagi kontekstli so'zlar bilan jumlangizdagi boshqa so'zlarni tekshiradigan VB kodini bajaring.

Bundan tashqari, bularning barchasini tezroq bajarilishi mumkin bo'lgan SQL saqlangan protsedurasida qilishingiz mumkin.

VB "InStr ()" funktsiyasi noldan kattaroq raqamni qaytaradi, agar bitta satr boshqa qatorda bo'lsa yoki u nol qaytarsa, u boshqasida YO'Q.

Instr () aslida o'z ichiga olgan satr o'rnini qaytaradi. Agar siz String1 tarkibida String2 mavjudligini bilmoqchi bo'lsangiz, "If InStr (String1, String2)> 0…" kabi kodni ishlatishingiz mumkin.

Siz ushbu kodni sevimli dasturlash tilida yaratishingiz kerak bo'ladi.

HomonymContext jadvali unchalik yaxshi dizayn emas. U juda ko'p takrorlangan ma'lumotlarga ega va bu ma'lumotlar bazasi dizaynerlari tomonidan "normallashmagan" deb hisoblanadi. Ushbu funktsiyani amalga oshirishning eng yaxshi usuli, ota-ona munosabatlarida ikkita jadvaldan foydalanish bo'ladi. Bitta jadvalda (ota -ona) omonimlar ro'yxati, ularning ta'riflari va qator identifikatori bo'lishi mumkin. Bu qator identifikatori so'zlar va ularning kontekstli so'zlarini o'z ichiga oladigan "Bolalar jadvalining" kaliti sifatida ishlatiladi.

Bu mening original dizaynimdan ko'ra so'roq qilish (va saqlab qolish) osonroq bo'lardi.

Tavsiya: