fbpx

Хэлний загварууд нь машин орчуулга, яриа таних, бичвэр үүсгэх зэрэг олон эх хэл боловсруулах (NLP) хэрэглээнд өргөн ашиглагддаг. Эдгээр загварын хамгийн энгийн бөгөөд өргөн хэрэглэгддэг хувилбар бол Bigram загвар юм.

Bigram загвар гэдэг нь хоёр үгийн дарааллын магадлалыг тооцоолдог хэлний загвар юм. Өөрөөр хэлбэл, тухайн үгийг өмнөх үгтэй нь хамт авч үзэн дараагийн үгийн магадлалыг тодорхойлдог.

Жишээ нь “Би ном уншиж байна” гэсэн өгүүлбэр дээр Bigram загварыг хэрэглэвэл дараах магадлалуудыг тооцно:

  • P(“ном” | “Би”)

  • P(“уншиж” | “ном”)

  • P(“байна” | “уншиж”)

Жишээ Python код:
Нэрнүүд агуулсан 32 мянган дата дээр авч үзвэл:

Дээрх дата доторх биграмыг  python толь бичигт ашиглан тоолж, хамгийн их давтагдсан 5 bigram-ыг харахад “n” үсгийн дараа үг төгссөн тохиолдол хамгийн их харагдаж байна.

Дээрх үр дүнг Tensor-уудыг ашиглан дүрсэлж илүү ойлгомжтой байдлаар харж болно. an = 5438 → “an” гэсэн хослол 5438 удаа тохиолдсон.

  • Хар хөх/тод цэнхэр: өндөр давтамж (их ашиглагддаг хослолууд)

  • Цайвар цэнхэр эсвэл цагаан: бага давтамж эсвэл огт байхгүй хослол

Bigram-ийн хослолуудын магадлалыг тооцоолж, PyTorch -ийн Generator ашиглан давталтаар 30 ширхэг текст мөр (sequence) үүсгэж байна.

  • Үг үүсгэх процесс нь <S> (эхлэл тэмдэг) үсгээс эхэлж, bigram магадлал дээр үндэслэн дараагийн үсгийг сонгож, <E> (төгсгөл тэмдэг) ирэхэд зогсоно.

Ийм байдлаар bigram дээр тулгуурлан “жинхэнэ нэр” мэт уншигдах  үгсийг үүсгэж болно.

Leave a Reply