Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Сургалтын үеэр оюутнууддаа юу тохиолдох, эдгээр үйл явдал үр дүнд хэрхэн нөлөөлж байгааг ойлгох нь бидний хувьд чухал тул бид Хэрэглэгчийн аялалын газрын зураг буюу хэрэглэгчийн туршлагын газрын зургийг бүтээдэг. Эцсийн эцэст, сургалтын үйл явц нь тасралтгүй, салшгүй зүйл биш, энэ нь харилцан уялдаатай үйл явдал, оюутны үйл ажиллагааны гинжин хэлхээ бөгөөд эдгээр үйлдлүүд нь янз бүрийн оюутнуудын дунд ихээхэн ялгаатай байж болно. Одоо тэр хичээлээ дуусгасан: тэр дараа нь юу хийх вэ? Энэ нь гэрийн даалгаварт явах уу? Энэ нь гар утасны програмыг эхлүүлэх үү? Тэр курсээ солих уу, багшаа солих уу? Та дараагийн хичээл рүү шууд орох уу? Эсвэл тэр урам хугаран явах болов уу? Энэхүү газрын зурагт дүн шинжилгээ хийснээр тухайн хичээлийг амжилттай дүүргэх, эсхүл эсрэгээрээ оюутныг “сургууль таслахад” хүргэдэг зүй тогтолыг тодорхойлох боломжтой юу?

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Ихэвчлэн CJM-ийг бүтээхэд тусгайлсан, маш үнэтэй хаалттай эхийн хэрэгслийг ашигладаг. Гэхдээ бид энгийн, хамгийн бага хүчин чармайлт шаарддаг, боломжтой бол нээлттэй эх сурвалжтай зүйл хийхийг хүссэн. Тиймээс Марковын гинжийг ашиглах санаа гарч ирсэн бөгөөд бид амжилтанд хүрсэн. Бид газрын зураг бүтээж, сурагчдын зан байдлын талаархи мэдээллийг график хэлбэрээр тайлбарлаж, дэлхийн бизнесийн асуудлуудад тодорхой бус хариултуудыг олж харсан, тэр ч байтугай гүн далд алдаануудыг олсон. Бид энэ бүхнийг нээлттэй эхийн Python скрипт шийдлүүдийг ашиглан хийсэн. Энэ нийтлэлд би эдгээр маш тодорхой бус үр дүн бүхий хоёр тохиолдлын талаар ярьж, скриптийг хүн бүртэй хуваалцах болно.

Тиймээс Марковын хэлхээ нь үйл явдлуудын хооронд шилжих магадлалыг харуулж байна. Википедиагийн энгийн жишээ энд байна:

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Энд "E" ба "А" нь үйл явдлууд, сумнууд нь тэдгээрийн хоорондох шилжилтүүд (үйл явдлын нэг үйл явдал руу шилжих шилжилтийг оруулаад), сумны жин нь шилжилтийн магадлал юм ("жигнэсэн чиглүүлсэн график").

Та юу ашигласан бэ?

Уг хэлхээг оюутны үйл ажиллагааны бүртгэлээр тэжээгддэг стандарт Python функцээр сургасан. Үүссэн матриц дээрх графикийг NetworkX номын сан байгуулав.

Лог дараах байдлаар харагдаж байна.

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Энэ бол оюутны ID, үйл явдлын нэр, болсон цаг гэсэн гурван баганаас бүрдсэн хүснэгтийг агуулсан csv файл юм. Эдгээр гурван талбар нь үйлчлүүлэгчийн хөдөлгөөнийг хянах, газрын зураг зурах, эцэст нь Марковын гинжийг авахад хангалттай.

Номын сан нь .dot эсвэл .gexf форматаар хийсэн графикуудыг буцаана. Эхнийхийг төсөөлөхийн тулд та үнэгүй Graphviz багцыг (gvedit хэрэгсэл) ашиглаж болно, бид .gexf болон Gephi-тэй хамтран ажиллаж байсан, мөн үнэгүй.

Дараа нь би Марковын гинжийг ашиглах хоёр жишээг хэлмээр байна, энэ нь бидэнд зорилго, боловсролын үйл явц, Skyeng экосистемийг шинэчлэн харах боломжийг олгосон. За, алдаагаа засаарай.

Эхний тохиолдол: гар утасны програм

Эхлээд бид хамгийн алдартай бүтээгдэхүүн болох Ерөнхий курсээр дамжуулан оюутны аялалыг судалсан. Тэр үед би Skyeng-ийн хүүхдийн тасагт ажиллаж байсан бөгөөд гар утасны програм нь хүүхдүүдийнхээ үзэгчидтэй хэр үр дүнтэй ажиллаж байгааг харахыг хүссэн юм.

Бүртгэлүүдийг аваад скриптээр дамжуулан ажиллуулахад би иймэрхүү зүйлийг олж авлаа:

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Эхлэх зангилаа нь Start General бөгөөд доод талд нь гурван гаралтын зангилаа байдаг: оюутан "унтаж," чиглэлээ өөрчилсөн, курсээ дуусгасан.

  • Унтаж унтлаа, "унтлаа" - энэ нь тэр хичээлээ хийхээ больсон, унасан байх магадлалтай гэсэн үг юм. Бид энэ байдлыг өөдрөгөөр “унтаж байна” гэж нэрлэдэг, учир нь... онолын хувьд тэрээр үргэлжлүүлэн суралцах боломжтой хэвээр байна. Бидний хувьд хамгийн муу үр дүн.
  • Генералыг хаясан, чиглэлээ өөрчилсөн - генералаас өөр зүйл рүү шилжиж, манай Марковын гинжин хэлхээнд төөрсөн.
  • Төгссөн курс, Хичээлээ төгссөн - хамгийн тохиромжтой нөхцөл, хүн хичээлийнхээ 80% -ийг дүүргэсэн (бүх хичээл шаардлагагүй).

Амжилттай ангид орно гэдэг нь багштай хамт платформ дээрх хичээлээ амжилттай дүүргэнэ гэсэн үг. Энэ нь курсын явц, хүссэн үр дүнд хүрэх хандлагыг бүртгэдэг - "Хичээл дууссан." Оюутнууд аль болох оролцох нь бидний хувьд чухал.

Хөдөлгөөнт програмын (апп сессийн зангилаа) илүү нарийвчлалтай тоон дүгнэлт гаргахын тулд бид эцсийн зангилаа тус бүрд тусдаа хэлхээ үүсгэж, ирмэгийн жинг хоёроор нь харьцуулсан:

  • програмын сессээс түүн рүү буцах;
  • програмын сессээс амжилттай анги хүртэл;
  • амжилттай ангиас эхлээд програмын сесс хүртэл.

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй
Зүүн талд нь курс төгссөн оюутнууд, баруун талд нь "унтсан" хүмүүс байна.

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

  • Бид өөр өөр бүлгүүд гар утасны програмтай харилцан адилгүй харьцдаг эсэхийг шалгасан;
  • амжилттай оюутнууд гар утасны програмыг бага эрчимтэй ашигладаг;
  • Унтсан оюутнууд гар утасны програмыг илүү идэвхтэй ашигладаг.

Энэ нь нойрмоглож буй оюутнууд гар утасны програмд ​​илүү их цаг зарцуулж, эцэст нь үүрд мөнхөд үлддэг гэсэн үг юм.

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Эхлээд бид гайхаж байсан ч бодсоны эцэст энэ нь байгалийн жам ёсны үр нөлөө гэдгийг ойлгосон. Нэгэн удаа би гар утасны программ болон YouTube дээрх дүрмийн лекц гэсэн хоёр хэрэгслийг ашиглан франц хэлийг бие даан судалж байсан. Эхлээд би тэдний хооронд цагийг 50-50 харьцаагаар хуваасан. Гэхдээ програм нь илүү хөгжилтэй, тоглоомын хэлбэрүүд байдаг, бүх зүйл энгийн, хурдан бөгөөд ойлгомжтой байдаг, гэхдээ лекц дээр та үүнийг сайтар судалж, ямар нэгэн зүйл бичих хэрэгтэй. , дэвтэр дээрээ дадлага хийнэ. Аажмаар би ухаалаг гар утсандаа илүү их цаг зарцуулж эхэлсэн бөгөөд түүний эзлэх хувь 100% хүртэл өсөх болно: хэрэв та үүнд гурван цаг зарцуулвал та ажил дууссан гэсэн хуурамч мэдрэмжийг төрүүлдэг бөгөөд үүнээс болж та очиж, юу ч сонсох хүсэлгүй болно. .

Гэхдээ энэ нь яаж байж болох вэ? Эцсийн эцэст бид гар утасны програмыг тусгайлан бүтээсэн, дотор нь Эббингаусын муруйг барьсан, үүнийг тоглож, хүмүүс цагийг өнгөрөөх үүднээс сэтгэл татам болгосон, гэхдээ энэ нь зөвхөн тэдний анхаарлыг сарниулж байна уу? Чухамдаа гар утасны програмын баг даалгавраа дэндүү сайн даван туулж, үр дүнд нь дажгүй, бие даасан бүтээгдэхүүн болж, манай экосистемээс тасарч эхэлсэнтэй холбоотой юм.

Судалгааны үр дүнд гар утасны аппликейшнийг үндсэн хичээлээс сатааруулахгүйн тулд ямар нэгэн байдлаар өөрчлөх шаардлагатай болсон нь тодорхой болсон. Мөн хүүхэд, насанд хүрэгчид хоёулаа. Одоогоор энэ ажил хийгдэж байна.

Хоёр дахь тохиолдол: суулгах алдаа

Нэвтрэх нь шинэ оюутныг бүртгэх нэмэлт нэмэлт журам бөгөөд ирээдүйд гарч болзошгүй техникийн асуудлуудыг арилгах болно. Үндсэн хувилбар нь тухайн хүн буух хуудсанд бүртгүүлж, хувийн данс руугаа нэвтэрч, холбоо барьж, танилцуулах хичээлийг өгсөн гэж үздэг. Үүний зэрэгцээ, танилцуулах хичээлийн үеэр техникийн бэрхшээлүүдийн ихээхэн хувийг бид тэмдэглэж байна: хөтөчийн буруу хувилбар, микрофон эсвэл дуу чимээ ажиллахгүй, багш тэр даруй шийдлийг санал болгож чадахгүй бөгөөд энэ нь ялангуяа хэцүү байдаг. хүүхдүүдэд. Тиймээс бид таны хувийн дансанд нэмэлт програм боловсруулсан бөгөөд та дөрвөн энгийн алхамыг хийх боломжтой: хөтөч, камер, микрофоноо шалгаж, танилцуулах хичээлийн үеэр эцэг эхчүүд ойрхон байх болно гэдгийг баталгаажуулах (эцсийн эцэст тэд төлбөр төлдөг хүмүүс юм. тэдний хүүхдүүдийн боловсрол).

Эдгээр хэд хэдэн нэмэлт хуудаснууд нь иймэрхүү юүлүүрийг харуулсан:

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй
1: бага зэрэг өөр (үйлчлүүлэгчээс хамаарч) нэвтрэх болон нууц үг оруулах гурван маягт бүхий эхлэх блок.
2: нэмэлт элсэлтийн горимыг зөвшөөрч буй шалгах нүд.
2.1-2.3: Эцэг эх байгаа эсэх, Chrome хувилбар болон дуу байгаа эсэхийг шалгана уу.
3: эцсийн блок.

Энэ нь маш байгалийн харагдаж байна: эхний хоёр алхамд зочдын ихэнх нь бөглөх, шалгах зүйл байгааг мэдээд орхидог, гэхдээ цаг хугацаа байхгүй. Хэрэв үйлчлүүлэгч гурав дахь шатанд хүрсэн бол тэр бараг л финалд хүрнэ. Юүлүүр дээр ямар нэгэн зүйл сэжиглэх ганц шалтгаан байхгүй.

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

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Энэ эмх замбараагүй байдалд зөвхөн нэг л зүйлийг тодорхой ойлгож болно: ямар нэг зүйл буруу болсон. Нэвтрэх үйл явц нь шугаман бөгөөд энэ нь дизайнд байдаг тул ийм холболтын сүлжээ байх ёсгүй. Эндээс хэрэглэгч ямар ч шилжилт хийх ёсгүй алхамуудын хооронд шидэгдэж байгаа нь шууд тодорхой харагдаж байна.

Бид шийдлийг үнэлэх, алдааг олоход Марковын гинжийг хэрхэн ашигладаг. Python скрипттэй

Энэ хачирхалтай зураг хоёр шалтгаан байж болно:

  • модлог өгөгдлийн сан руу сэгсэрч орсон;
  • Бүтээгдэхүүн өөрөө алдаатай байдаг - онгоцонд суулгах.

Эхний шалтгаан нь үнэн байх магадлалтай, гэхдээ үүнийг турших нь маш их хөдөлмөр шаарддаг бөгөөд бүртгэлийг засах нь UX-ийг сайжруулахад тус болохгүй. Гэхдээ хоёр дахь нь байгаа бол яаралтай ямар нэг зүйл хийх шаардлагатай байв. Тиймээс бид зангилаануудыг үзэж, байх ёсгүй ирмэгийг тодорхойлж, тэдгээрийн үүсэх шалтгааныг хайж олохоор явлаа. Зарим хэрэглэгчид гацаж, дугуйлан алхаж, зарим нь дундаас эхнээсээ унаж, зарим нь зарчмын хувьд эхний хоёр алхамаас гарч чадахгүй байгааг бид харсан. Бид QA-д өгөгдлийг шилжүүлсэн - тийм ээ, онгоцонд суулгахад хангалттай алдаа байсан нь тогтоогдсон: энэ бол ийм дайвар бүтээгдэхүүн, бага зэрэг таяг, үүнийг хангалттай гүнзгий туршиж үзээгүй, учир нь ... Бид ямар ч асуудал гарна гэж бодоогүй. Одоо бичлэг хийх үйл явц бүхэлдээ өөрчлөгдсөн.

Энэхүү түүх нь QA салбарт Марковын гинжин хэлхээний гэнэтийн хэрэглээг харуулсан.

Та өөрөө туршаад үзээрэй!

Би өөрийнхөө бичгийг нийтэлсэн Марковын хэлхээг сургах Python скрипт нийтийн эзэмшилд - эрүүл мэнддээ ашиглаарай. GitHub дээрх баримт бичиг, асуултуудыг эндээс асууж болно, би бүх зүйлд хариулахыг хичээх болно.

За, хэрэгтэй холбоосууд: NetworkX номын сан, Graphviz дүрслэгч. Бас энд Хабрегийн тухай нийтлэл байдаг Марковын гинжний тухай. Өгүүллийн графикийг ашиглан хийсэн болно Гефи.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх