Агуулгын хүснэгт:

A.I -ийг хэрхэн яаж хийх вэ. 4 -р хэсэг: 3 алхам
A.I -ийг хэрхэн яаж хийх вэ. 4 -р хэсэг: 3 алхам

Видео: A.I -ийг хэрхэн яаж хийх вэ. 4 -р хэсэг: 3 алхам

Видео: A.I -ийг хэрхэн яаж хийх вэ. 4 -р хэсэг: 3 алхам
Видео: КОНЕЦ МУЧЕНИЯМ. Трава больше не проблема! 2024, Арваннэгдүгээр
Anonim
A. I -ийг хэрхэн яаж хийх вэ. 4 -р хэсэг
A. I -ийг хэрхэн яаж хийх вэ. 4 -р хэсэг

Нөгөө өдөр би A. I -тэйгээ ярьж байгаад би хэлсэн

"Би дээд давхарт оройн хоол идэж байна, бид STEAK идэж байна."

Гэсэн хэдий ч Speech Recognition (SR) програм хангамж үүнийг "… бид гадас авч байна" гэж тайлбарласан.

Би өмнө нь гэрэл зургийн тухай ярьж байхдаа ижил төстэй (гэхдээ өөр) асуудалтай тулгарч, "ЗУРАГ" гэсэн үгийг хэлсэн. SR програм хангамж үүнийг "PITCHER" гэж тайлбарлав.

Үүнийг засах нь SR програмыг энгийн давтан сургах явдал байв. (Эсвэл миний дуудлага ч байж магадгүй)

Гэхдээ би STEAK эсвэл STAKE гэдэг үгийг хэлэхэд яг адилхан дууддаг, ийм тохиолдолд SR програм хангамжийг давтан сургах нь тус болохгүй.

1-р алхам:

"Хомонимын асуудал" -ыг шийдэх нэг санаа.

Би ямар үг үсэг ашиглахыг тодорхойлохын тулд "контекстэд" гэдэг үгийг харах ёстой. Хүний тархи үүнийг маш амархан хийдэг бөгөөд та үүнийг хийж байгаагаа ч мэдэхгүй байна.

Энэ нь өгүүлбэрт багтсан бусад үгсийг шалгаж, аль үсэг нь илүү зөв болохыг таны тархи шийддэг гэсэн үг юм. Одоо би үүнийг кодоор яаж хийх вэ?

Миний A. I. програм нь Visual Basic (VB) "Split" функцийг ашиглан өгүүлбэрийг тус тусад нь бичсэн үг болгон задлан шинжилдэг. [MyArray = хуваах (InputSentence, “”)]

Массив дахь үг бүрийг омоним нэрсийн жагсаалт агуулсан мэдээллийн сангийн хүснэгтээс харах боломжтой омоним мөн эсэхийг шалгаж болно.

Мэдээжийн хэрэг, өөр хүснэгт үүсгэх нь бид үүнийг өгөгдлөөр дүүргэх шаардлагатай болно, мөн хүснэгтэд байгаа өгөгдлийг хадгалах чадвартай болно гэсэн үг юм.

Өөрөө суралцах дэд програмыг дараа нь олон текстийг сканнердах, миний Хомоним хүснэгтээс үг хайх, бусад "контекст" үгсийг бичих зорилгоор бүтээж болно. Хмммм, хэд хэдэн хүснэгт хэрэгтэй байж магадгүй …

Эдгээр "зааварчилгаа" -ыг бичих нь програмчлалын сорилтын шийдлийг "тайлбарлахад" надад тусалдаг.

Алхам 2:

Зураг
Зураг

HomonymContext хүснэгтийн бүтэц

Миний анхны санаа бол үг, өөр үсэг, "контекст" гэсэн үг агуулсан хүснэгт байв. Санаа нь омоним агуулсан өгүүлбэрийг хайж олох, өөрөөр хэлбэл "контекст" гэсэн утгатай үгсийг хайж олох явдал байв. Хүснэгтэнд мөн үгийн тодорхойлолтыг хадгалах "WordDef" нэртэй багана байгаа бөгөөд энэ нь A. I -ээс илүү хүснэгтийг хадгалж буй хүмүүст илүү хэрэгтэй юм. код.

Үг бүрийг хайхын тулд би VB код, SQL кодыг ашиглаж болно …

MyArray дахь үг бүрийн хувьд

Асуулт = "tblHomonynContext -аас Word = '" & word & "'" -ийг сонгоно уу

Хэрэв энэ асуулга үр дүнг буцааж өгвөл энэ үг нь омоним юм

Дараачийн

Энэ бол яг одоо хуурамч код юм - би яг яг кодоо бичээгүй эсвэл бүх нарийн ширийн зүйлийг олж мэдээгүй байна. Гэхдээ миний санааг аваад өөрийн дуртай програмчлалын хэлийг ашиглан хэрэгжүүлээрэй.

Алхам 3:

Зураг
Зураг

Хэрэв таны оруулсан өгүүлбэрт омоним байгаа бол та одоо болно

Таны өгүүлбэр дэх бусад үгсийг шалгах асуултын үр дүнгийн контекст үгсийг шалгах VB кодыг ажиллуулна уу.

Та энэ бүгдийг хурдан хадгалагдах SQL хадгалсан процедураар хийж болно.

VB "InStr ()" функц нь тэгээс их тоог буцаана, хэрэв нэг мөр өөр мөр дотор байвал, эсвэл тэг буцааж өгвөл энэ мөр нөгөө талдаа агуулагдахгүй болно.

Instr () нь агуулагдсан мөрийн байрлалыг буцаана. Хэрэв та String1 String2 агуулсан эсэхийг мэдэхийг хүсч байвал "If InStr (String1, String2)> 0…" гэх мэт кодыг ашиглаж болно.

Та энэ кодыг дуртай програмчлалын хэл дээрээ бүтээх хэрэгтэй болно.

HomonymContext хүснэгт нь тийм ч сайн загвар биш юм. Энэ нь маш олон давтагдсан өгөгдөлтэй бөгөөд үүнийг мэдээллийн сан зохион бүтээгчид "Норматив бус" гэж үздэг. Энэхүү функцийг хэрэгжүүлэх илүү сайн арга бол эцэг эх, хүүхдийн харилцаанд хоёр хүснэгт ашиглах явдал юм. Нэг хүснэгт (Эцэг эх) нь овог нэрсийн жагсаалт, тэдгээрийн тодорхойлолт, мөн мөрийн ID -г агуулдаг. Энэхүү Мөр ID нь үг болон тэдгээрийн контекст үгсийг агуулсан "Хүүхдийн хүснэгт" -ийн түлхүүр болгон ашиглагддаг.

Энэ нь миний анхны загварыг бодвол асуух (мөн хадгалах) хялбар байх болно.

Зөвлөмж болгож буй: