పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

శిక్షణ సమయంలో మా విద్యార్థులకు ఏమి జరుగుతుందో మరియు ఈ సంఘటనలు ఫలితాన్ని ఎలా ప్రభావితం చేస్తాయో అర్థం చేసుకోవడం మాకు చాలా ముఖ్యం, కాబట్టి మేము కస్టమర్ జర్నీ మ్యాప్‌ను రూపొందించాము - కస్టమర్ అనుభవం యొక్క మ్యాప్. అన్నింటికంటే, అభ్యాస ప్రక్రియ అనేది నిరంతర మరియు సమగ్రమైనది కాదు, ఇది విద్యార్థి యొక్క ఒకదానితో ఒకటి అనుసంధానించబడిన సంఘటనలు మరియు చర్యల గొలుసు, మరియు ఈ చర్యలు వేర్వేరు విద్యార్థులలో చాలా తేడా ఉంటుంది. ఇప్పుడు అతను తన పాఠాన్ని పూర్తి చేసాడు: అతను తరువాత ఏమి చేస్తాడు? ఇది హోంవర్క్‌కి వెళ్తుందా? ఇది మొబైల్ అప్లికేషన్‌ను ప్రారంభిస్తుందా? అతను కోర్సు మారుస్తాడా, ఉపాధ్యాయులను మార్చమని అడుగుతాడా? మీరు నేరుగా తదుపరి పాఠానికి వెళతారా? లేక నిరాశతో వెళ్లిపోతాడా? ఈ మ్యాప్‌ను విశ్లేషించడం ద్వారా, కోర్సు విజయవంతంగా పూర్తి చేయడానికి దారితీసే నమూనాలను గుర్తించడం సాధ్యమేనా లేదా దానికి విరుద్ధంగా విద్యార్థి యొక్క "డ్రాప్అవుట్" కు దారితీస్తుందా?

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

సాధారణంగా, CJMని నిర్మించడానికి ప్రత్యేకమైన, చాలా ఖరీదైన క్లోజ్డ్-సోర్స్ సాధనాలు ఉపయోగించబడతాయి. కానీ మేము సాధారణమైన దానితో ముందుకు రావాలనుకుంటున్నాము, కనీస ప్రయత్నం అవసరం మరియు వీలైతే ఓపెన్ సోర్స్ అవసరం. కాబట్టి మార్కోవ్ గొలుసులను ఉపయోగించాలనే ఆలోచన వచ్చింది - మరియు మేము విజయం సాధించాము. మేము మ్యాప్‌ను రూపొందించాము, విద్యార్థుల ప్రవర్తనపై డేటాను గ్రాఫ్ రూపంలో అన్వయించాము, గ్లోబల్ వ్యాపార సమస్యలకు పూర్తిగా అస్పష్టమైన సమాధానాలను చూశాము మరియు లోతుగా దాగి ఉన్న బగ్‌లను కూడా కనుగొన్నాము. మేము ఇదంతా ఓపెన్ సోర్స్ పైథాన్ స్క్రిప్ట్ సొల్యూషన్స్ ఉపయోగించి చేసాము. ఈ కథనంలో నేను చాలా స్పష్టమైన ఫలితాలతో రెండు కేసుల గురించి మాట్లాడతాను మరియు స్క్రిప్ట్‌ను అందరితో పంచుకుంటాను.

కాబట్టి, మార్కోవ్ గొలుసులు సంఘటనల మధ్య పరివర్తనాల సంభావ్యతను చూపుతాయి. వికీపీడియా నుండి ఇక్కడ ఒక ఆదిమ ఉదాహరణ:

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

ఇక్కడ “E” మరియు “A” అనేవి ఈవెంట్‌లు, బాణాలు వాటి మధ్య పరివర్తనాలు (ఒక ఈవెంట్ నుండి అదే పరివర్తనతో సహా) మరియు బాణాల బరువులు పరివర్తన సంభావ్యత ("బరువు నిర్దేశించిన గ్రాఫ్").

మీరు ఏమి ఉపయోగించారు?

సర్క్యూట్ ప్రామాణిక పైథాన్ కార్యాచరణతో శిక్షణ పొందింది, ఇది విద్యార్థుల కార్యాచరణ లాగ్‌లతో అందించబడింది. ఫలితంగా మ్యాట్రిక్స్‌పై గ్రాఫ్ నెట్‌వర్క్‌ఎక్స్ లైబ్రరీ ద్వారా రూపొందించబడింది.

లాగ్ ఇలా కనిపిస్తుంది:

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

ఇది మూడు నిలువు వరుసల పట్టికను కలిగి ఉన్న csv ఫైల్: విద్యార్థి id, ఈవెంట్ పేరు, అది జరిగిన సమయం. క్లయింట్ యొక్క కదలికలను గుర్తించడానికి, మ్యాప్‌ను రూపొందించడానికి మరియు చివరికి మార్కోవ్ గొలుసును పొందడానికి ఈ మూడు ఫీల్డ్‌లు సరిపోతాయి.

లైబ్రరీ నిర్మించబడిన గ్రాఫ్‌లను .dot లేదా .gexf ఆకృతిలో అందిస్తుంది. మునుపటిదాన్ని దృశ్యమానం చేయడానికి, మీరు ఉచిత Graphviz ప్యాకేజీని ఉపయోగించవచ్చు (gvedit సాధనం), మేము .gexf మరియు Gephiతో పని చేసాము, కూడా ఉచితం.

తర్వాత నేను మార్కోవ్ చైన్‌లను ఉపయోగించడంలో రెండు ఉదాహరణలను ఇవ్వాలనుకుంటున్నాను, ఇది మా లక్ష్యాలు, విద్యా ప్రక్రియలు మరియు స్కైంగ్ పర్యావరణ వ్యవస్థను తాజాగా పరిశీలించడానికి మాకు వీలు కల్పించింది. బాగా, దోషాలను పరిష్కరించండి.

మొదటి కేసు: మొబైల్ అప్లికేషన్

ప్రారంభించడానికి, మేము మా అత్యంత ప్రజాదరణ పొందిన ఉత్పత్తి-జనరల్ కోర్సు ద్వారా విద్యార్థుల ప్రయాణాన్ని అన్వేషించాము. ఆ సమయంలో, నేను Skyeng పిల్లల విభాగంలో పని చేస్తున్నాను మరియు మొబైల్ అప్లికేషన్ మా పిల్లల ప్రేక్షకులతో ఎంత ప్రభావవంతంగా పని చేస్తుందో చూడాలనుకుంటున్నాము.

లాగ్‌లను తీసుకొని వాటిని స్క్రిప్ట్ ద్వారా రన్ చేస్తే, నాకు ఇలాంటివి వచ్చాయి:

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

ప్రారంభ నోడ్ ప్రారంభం జనరల్, మరియు దిగువన మూడు అవుట్‌పుట్ నోడ్‌లు ఉన్నాయి: విద్యార్థి “నిద్రలోకి జారుకున్నాడు,” కోర్సును మార్చాడు మరియు కోర్సును ముగించాడు.

  • నిద్రపోయాడు, “నిద్రపోయాను” - దీని అర్థం అతను ఇకపై తరగతులు తీసుకోవడం లేదు, చాలా మటుకు అతను పడిపోయాడు. మేము ఆశాజనకంగా ఈ స్థితిని "నిద్ర" అని పిలుస్తాము, ఎందుకంటే... సిద్ధాంతపరంగా, అతను ఇప్పటికీ తన అధ్యయనాలను కొనసాగించే అవకాశాన్ని కలిగి ఉన్నాడు. మాకు చెత్త ఫలితం.
  • జనరల్‌ని వదిలేశారు, కోర్సు మార్చారు - జనరల్ నుండి వేరొకదానికి మారారు మరియు మా మార్కోవ్ గొలుసు కోసం కోల్పోయారు.
  • పూర్తి చేసిన కోర్సు, కోర్సు పూర్తయింది - ఆదర్శ పరిస్థితి, వ్యక్తి 80% పాఠాలను పూర్తి చేశాడు (అన్ని పాఠాలు అవసరం లేదు).

సక్సెస్ ఫుల్ క్లాస్ నోడ్‌లోకి ప్రవేశించడం అంటే టీచర్‌తో కలిసి మా ప్లాట్‌ఫారమ్‌లో పాఠాన్ని విజయవంతంగా పూర్తి చేయడం. ఇది కోర్సులో పురోగతిని నమోదు చేస్తుంది మరియు కావలసిన ఫలితాన్ని చేరుకుంటుంది - "కోర్సును పూర్తి చేసింది." విద్యార్థులు వీలైనంత ఎక్కువ హాజరు కావడం మాకు ముఖ్యం.

మొబైల్ అప్లికేషన్ (యాప్ సెషన్ నోడ్) కోసం మరింత ఖచ్చితమైన పరిమాణాత్మక ముగింపులను పొందడానికి, మేము ప్రతి చివరి నోడ్‌ల కోసం ప్రత్యేక గొలుసులను నిర్మించాము మరియు ఆపై అంచు బరువులను జతగా పోల్చాము:

  • అనువర్తన సెషన్ నుండి దానికి తిరిగి;
  • యాప్ సెషన్ నుండి విజయవంతమైన తరగతికి;
  • విజయవంతమైన తరగతి నుండి యాప్ సెషన్ వరకు.

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో
ఎడమ వైపున కోర్సు పూర్తి చేసిన విద్యార్థులు, కుడి వైపున "నిద్రలోకి జారుకున్నవారు" ఉన్నారు.

ఈ మూడు అంచులు విద్యార్థి యొక్క విజయానికి మరియు మొబైల్ యాప్‌ను ఉపయోగించడం మధ్య సంబంధాన్ని చూపుతాయి. నిద్రలోకి జారుకున్న విద్యార్థుల కంటే కోర్సు పూర్తి చేసిన విద్యార్థులు అప్లికేషన్‌తో బలమైన కనెక్షన్‌ని కలిగి ఉంటారని మేము ఆశించాము. అయితే, వాస్తవానికి మేము సరిగ్గా వ్యతిరేక ఫలితాలను పొందాము:

  • మేము వివిధ వినియోగదారుల సమూహాలు మొబైల్ అప్లికేషన్‌తో విభిన్నంగా పరస్పర చర్య చేసేలా చూసుకున్నాము;
  • విజయవంతమైన విద్యార్థులు మొబైల్ అప్లికేషన్‌ను తక్కువ తీవ్రతతో ఉపయోగిస్తారు;
  • నిద్రపోయే విద్యార్థులు మొబైల్ అప్లికేషన్‌ను మరింత చురుకుగా ఉపయోగిస్తారు.

దీని అర్థం నిద్రపోయే విద్యార్థులు మొబైల్ అప్లికేషన్‌లో ఎక్కువ సమయం గడపడం ప్రారంభిస్తారు మరియు చివరికి ఎప్పటికీ దానిలోనే ఉంటారు.

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

మొదట మేము ఆశ్చర్యపోయాము, కానీ దాని గురించి ఆలోచించిన తర్వాత, ఇది పూర్తిగా సహజమైన ప్రభావం అని మేము గ్రహించాము. ఒక సమయంలో, నేను రెండు సాధనాలను ఉపయోగించి నా స్వంతంగా ఫ్రెంచ్‌ని అభ్యసించాను: మొబైల్ అప్లికేషన్ మరియు YouTubeలో వ్యాకరణ ఉపన్యాసాలు. మొదట, నేను వాటి మధ్య సమయాన్ని 50 నుండి 50 నిష్పత్తిలో విభజించాను. కానీ అప్లికేషన్ మరింత సరదాగా ఉంటుంది, గేమిఫికేషన్ ఉంది, ప్రతిదీ సరళంగా, వేగంగా మరియు స్పష్టంగా ఉంటుంది, కానీ ఉపన్యాసంలో మీరు దానిని లోతుగా పరిశోధించాలి, ఏదైనా వ్రాయండి , నోట్‌బుక్‌లో ప్రాక్టీస్ చేయండి. క్రమంగా, నేను నా స్మార్ట్‌ఫోన్‌లో ఎక్కువ సమయం గడపడం ప్రారంభించాను, దాని వాటా 100% వరకు పెరిగే వరకు: మీరు దానిపై మూడు గంటలు గడిపినట్లయితే, మీరు పూర్తి చేసిన పని యొక్క తప్పుడు అనుభూతిని సృష్టిస్తారు, దీని కారణంగా మీరు వెళ్లి ఏదైనా వినడానికి ఇష్టపడరు. .

అయితే ఇది ఎలా ఉంటుంది? అన్నింటికంటే, మేము ప్రత్యేకంగా మొబైల్ అప్లికేషన్‌ను సృష్టించాము, దానిలో ఎబ్బింగ్‌హాస్ వక్రరేఖను నిర్మించారు, దానిని గేమిఫై చేసారు, దానిని ఆకర్షణీయంగా చేసారు, తద్వారా ప్రజలు దానిలో సమయం గడుపుతారు, కానీ అది వారి దృష్టిని మరల్చుతుందా? వాస్తవానికి, కారణం ఏమిటంటే, మొబైల్ అప్లికేషన్ బృందం దాని పనులను చాలా బాగా ఎదుర్కొంది, దాని ఫలితంగా ఇది చల్లని, స్వయం సమృద్ధిగల ఉత్పత్తిగా మారింది మరియు మన పర్యావరణ వ్యవస్థ నుండి బయటపడటం ప్రారంభించింది.

పరిశోధన ఫలితంగా, మొబైల్ అప్లికేషన్‌ను ఏదో ఒకవిధంగా మార్చాల్సిన అవసరం ఉందని స్పష్టమైంది, తద్వారా ఇది ప్రధాన అధ్యయనం నుండి దృష్టి మరల్చదు. మరియు పిల్లలు మరియు పెద్దలు ఇద్దరూ. ప్రస్తుతం ఈ పని జరుగుతోంది.

రెండవ సందర్భం: ఆన్‌బోర్డింగ్ బగ్‌లు

కొత్త విద్యార్థిని నమోదు చేసేటప్పుడు ఆన్‌బోర్డింగ్ అనేది ఐచ్ఛిక అదనపు ప్రక్రియ, భవిష్యత్తులో సంభావ్య సాంకేతిక సమస్యలను తొలగిస్తుంది. ప్రాథమిక దృష్టాంతంలో ఒక వ్యక్తి ల్యాండింగ్ పేజీలో నమోదు చేసుకున్నాడని, అతని వ్యక్తిగత ఖాతాకు ప్రాప్యతను పొందాడని మరియు పరిచయ పాఠాన్ని అందించాడని ఊహిస్తుంది. అదే సమయంలో, పరిచయ పాఠంలో ఎక్కువ శాతం సాంకేతిక ఇబ్బందులను మేము గమనించాము: బ్రౌజర్ యొక్క తప్పు వెర్షన్, మైక్రోఫోన్ లేదా ధ్వని పనిచేయదు, ఉపాధ్యాయుడు వెంటనే పరిష్కారాన్ని సూచించలేరు మరియు ఇది వచ్చినప్పుడు ఇవన్నీ చాలా కష్టం. పిల్లలకు. అందువల్ల, మేము మీ వ్యక్తిగత ఖాతాలో అదనపు అప్లికేషన్‌ను అభివృద్ధి చేసాము, ఇక్కడ మీరు నాలుగు సాధారణ దశలను పూర్తి చేయవచ్చు: మీ బ్రౌజర్, కెమెరా, మైక్రోఫోన్‌ని తనిఖీ చేయండి మరియు పరిచయ పాఠం సమయంలో తల్లిదండ్రులు సమీపంలో ఉంటారని నిర్ధారించండి (అన్నింటికంటే, వారు చెల్లించే వారు. వారి పిల్లల చదువు).

ఈ కొన్ని ఆన్‌బోర్డింగ్ పేజీలు ఇలాంటి గరాటును చూపించాయి:

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో
1: మూడు కొద్దిగా భిన్నమైన (క్లయింట్‌ను బట్టి) లాగిన్ మరియు పాస్‌వర్డ్ ఎంట్రీ ఫారమ్‌లతో ప్రారంభ బ్లాక్.
2: అదనపు ఆన్‌బోర్డింగ్ విధానాన్ని అంగీకరిస్తున్న చెక్‌బాక్స్.
2.1-2.3: తల్లిదండ్రుల ఉనికి, Chrome వెర్షన్ మరియు ధ్వని కోసం తనిఖీ చేయండి.
3: చివరి బ్లాక్.

ఇది చాలా సహజంగా కనిపిస్తుంది: మొదటి రెండు దశల్లో, చాలా మంది సందర్శకులు వెళ్లిపోతారు, వారు ఏదో పూరించాల్సిన అవసరం ఉందని గ్రహించి, దాన్ని తనిఖీ చేయండి, కానీ సమయం లేదు. క్లయింట్ మూడవ దశకు చేరుకున్నట్లయితే, అతను దాదాపు ఫైనల్‌కు చేరుకుంటాడు. గరాటుపై ఏదైనా అనుమానించడానికి ఒక్క కారణం కూడా లేదు.

అయినప్పటికీ, మేము మా ఆన్‌బోర్డింగ్‌ను క్లాసిక్ వన్-డైమెన్షనల్ ఫన్నెల్‌లో కాకుండా మార్కోవ్ చైన్‌ని ఉపయోగించి విశ్లేషించాలని నిర్ణయించుకున్నాము. మేము మరికొన్ని ఈవెంట్‌లను ఆన్ చేసి, స్క్రిప్ట్‌ను రన్ చేసి, దీన్ని పొందాము:

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

ఈ గందరగోళంలో, ఒక విషయం మాత్రమే స్పష్టంగా అర్థం చేసుకోవచ్చు: ఏదో తప్పు జరిగింది. ఆన్‌బోర్డింగ్ ప్రక్రియ సరళమైనది, ఇది డిజైన్‌లో అంతర్లీనంగా ఉంటుంది, దానిలో కనెక్షన్‌ల వెబ్ ఉండకూడదు. మరియు ఇక్కడ వినియోగదారు దశల మధ్య విసిరివేయబడ్డారని వెంటనే స్పష్టమవుతుంది, వాటి మధ్య ఎటువంటి పరివర్తనాలు ఉండకూడదు.

పరిష్కారాలను మూల్యాంకనం చేయడంలో మరియు బగ్‌లను కనుగొనడంలో మేము మార్కోవ్ గొలుసులను ఎలా ఉపయోగిస్తాము. పైథాన్ స్క్రిప్ట్‌తో

ఈ వింత చిత్రానికి రెండు కారణాలు ఉండవచ్చు:

  • షాల్స్ లాగ్ డేటాబేస్‌లోకి ప్రవేశించాయి;
  • ఉత్పత్తిలోనే తప్పులు ఉన్నాయి - ఆన్‌బోర్డింగ్.

మొదటి కారణం చాలావరకు నిజం, కానీ దానిని పరీక్షించడం చాలా శ్రమతో కూడుకున్నది మరియు లాగ్‌లను సరిదిద్దడం UXని మెరుగుపరచడంలో సహాయపడదు. కానీ రెండవదానితో, అది ఉనికిలో ఉంటే, అత్యవసరంగా ఏదో చేయవలసి ఉంటుంది. అందువల్ల, మేము నోడ్‌లను చూడటానికి, ఉనికిలో ఉండకూడని అంచులను గుర్తించడానికి మరియు వాటి సంభవించిన కారణాల కోసం వెతకడానికి వెళ్ళాము. కొంతమంది వినియోగదారులు ఇరుక్కుపోయి సర్కిల్‌లలోకి వెళ్లినట్లు మేము చూశాము, మరికొందరు మధ్యలో నుండి ప్రారంభానికి పడిపోయారు మరియు మరికొందరు సూత్రప్రాయంగా మొదటి రెండు దశల నుండి బయటపడలేరు. మేము డేటాను QAకి బదిలీ చేసాము - మరియు అవును, ఆన్‌బోర్డింగ్‌లో తగినంత బగ్‌లు ఉన్నాయని తేలింది: ఇది అటువంటి ఉప ఉత్పత్తి, కొంచెం క్రచ్, ఇది తగినంత లోతుగా పరీక్షించబడలేదు, ఎందుకంటే... మేము ఎటువంటి సమస్యలను ఊహించలేదు. ఇప్పుడు రికార్డింగ్ ప్రక్రియ మొత్తం మారిపోయింది.

ఈ కథ QA రంగంలో మార్కోవ్ గొలుసుల యొక్క ఊహించని అనువర్తనాన్ని మాకు చూపింది.

మీరే ప్రయత్నించండి!

నాది పోస్ట్ చేసాను మార్కోవ్ గొలుసుల శిక్షణ కోసం పైథాన్ స్క్రిప్ట్ పబ్లిక్ డొమైన్‌లో - మీ ఆరోగ్యం కోసం దీన్ని ఉపయోగించండి. GitHub పై డాక్యుమెంటేషన్, ఇక్కడ ప్రశ్నలు అడగవచ్చు, నేను ప్రతిదానికీ సమాధానం ఇవ్వడానికి ప్రయత్నిస్తాను.

బాగా, ఉపయోగకరమైన లింకులు: NetworkX లైబ్రరీ, గ్రాఫ్విజ్ విజువలైజర్. మరియు ఇక్కడ హబ్రేపై ఒక కథనం ఉంది మార్కోవ్ గొలుసుల గురించి. వ్యాసంలోని గ్రాఫ్‌లు ఉపయోగించి తయారు చేయబడ్డాయి గెఫీ.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి