గత ఆరు నెలలుగా నేను ఎలాంటి ప్రాథమిక మౌలిక సదుపాయాలు లేకుండా మోసాన్ని (మోసపూరిత కార్యకలాపాలు, మోసం మొదలైనవి) ఎదుర్కోవడానికి ఒక వ్యవస్థను రూపొందిస్తున్నాను. మా సిస్టమ్లో మేము కనుగొన్న మరియు అమలు చేసిన నేటి ఆలోచనలు అనేక మోసపూరిత కార్యకలాపాలను గుర్తించడంలో మరియు విశ్లేషించడంలో మాకు సహాయపడతాయి. ఈ వ్యాసంలో, సాంకేతిక భాగానికి వెళ్లకుండా, మేము అనుసరించిన సూత్రాల గురించి మరియు మా సిస్టమ్ యొక్క ప్రస్తుత స్థితిని సాధించడానికి మేము ఏమి చేసాము అనే దాని గురించి మాట్లాడాలనుకుంటున్నాను.
మా సిస్టమ్ యొక్క సూత్రాలు
మీరు "ఆటోమేటిక్" మరియు "మోసం" వంటి పదాలను విన్నప్పుడు, మీరు అపాచీ ఫౌండేషన్ ఎకోసిస్టమ్ మరియు డేటా సైన్స్ ఫీల్డ్ నుండి మెషిన్ లెర్నింగ్, అపాచీ స్పార్క్, హడూప్, పైథాన్, ఎయిర్ఫ్లో మరియు ఇతర టెక్నాలజీల గురించి ఎక్కువగా ఆలోచించడం ప్రారంభిస్తారు. ఈ సాధనాలను ఉపయోగించడంలో సాధారణంగా ప్రస్తావించబడని ఒక అంశం ఉందని నేను భావిస్తున్నాను: మీరు వాటిని ఉపయోగించడం ప్రారంభించే ముందు వాటికి మీ ఎంటర్ప్రైజ్ సిస్టమ్లో కొన్ని ముందస్తు అవసరాలు అవసరం. సంక్షిప్తంగా, మీకు డేటా లేక్ మరియు గిడ్డంగిని కలిగి ఉన్న ఎంటర్ప్రైజ్ డేటా ప్లాట్ఫారమ్ అవసరం. కానీ మీకు అలాంటి ప్లాట్ఫారమ్ లేకపోతే మరియు ఇంకా ఈ అభ్యాసాన్ని అభివృద్ధి చేయాల్సిన అవసరం ఉంటే? నేను క్రింద పంచుకున్న క్రింది సూత్రాలు పని చేసే ఆలోచనలను కనుగొనడం కంటే మన ఆలోచనలను మెరుగుపరచడంపై దృష్టి పెట్టగల స్థితికి చేరుకోవడానికి మాకు సహాయపడింది. అయితే, ఇది ప్రాజెక్ట్ పీఠభూమి కాదు. సాంకేతికత మరియు ఉత్పత్తి కోణం నుండి ప్రణాళికలో ఇంకా చాలా విషయాలు ఉన్నాయి.
సూత్రం 1: మొదట వ్యాపార విలువ
మేము మా ప్రయత్నాలన్నింటిలో "వ్యాపార విలువ"ని ముందంజలో ఉంచుతాము. సాధారణంగా, ఏదైనా స్వయంచాలక విశ్లేషణ వ్యవస్థ అధిక స్థాయి ఆటోమేషన్ మరియు సాంకేతిక సంక్లిష్టతతో సంక్లిష్ట వ్యవస్థల సమూహానికి చెందినది. మీరు దీన్ని మొదటి నుండి సృష్టించినట్లయితే పూర్తి పరిష్కారాన్ని రూపొందించడానికి చాలా సమయం పడుతుంది. మేము వ్యాపార విలువను మొదటి స్థానంలో ఉంచాలని మరియు సాంకేతిక పరిపూర్ణతను రెండవదిగా ఉంచాలని నిర్ణయించుకున్నాము. నిజ జీవితంలో, మేము అధునాతన సాంకేతికతను సిద్ధాంతంగా అంగీకరించడం లేదని దీని అర్థం. ప్రస్తుతానికి మనకు బాగా పని చేసే సాంకేతికతను మేము ఎంచుకుంటాము. కాలక్రమేణా, మేము కొన్ని మాడ్యూళ్ళను మళ్లీ అమలు చేయవలసి ఉంటుందని అనిపించవచ్చు. ఇది మేము అంగీకరించిన రాజీ.
సూత్రం 2: ఆగ్మెంటెడ్ ఇంటెలిజెన్స్
మెషిన్ లెర్నింగ్ సొల్యూషన్స్ను అభివృద్ధి చేయడంలో లోతుగా పాలుపంచుకోని చాలా మంది వ్యక్తులు మనుషులను భర్తీ చేయడమే లక్ష్యంగా భావించవచ్చని నేను పందెం వేస్తున్నాను. వాస్తవానికి, మెషిన్ లెర్నింగ్ సొల్యూషన్స్ పరిపూర్ణంగా లేవు మరియు కొన్ని ప్రాంతాలలో మాత్రమే భర్తీ సాధ్యమవుతుంది. మేము అనేక కారణాల వల్ల ఈ ఆలోచనను మొదటి నుండి తిరస్కరించాము: మోసపూరిత కార్యాచరణపై అసమతుల్య డేటా మరియు మెషిన్ లెర్నింగ్ మోడల్ల కోసం లక్షణాల యొక్క సమగ్ర జాబితాను అందించలేకపోవడం. దీనికి విరుద్ధంగా, మేము మెరుగైన మేధస్సు ఎంపికను ఎంచుకున్నాము. ఇది కృత్రిమ మేధస్సు యొక్క ప్రత్యామ్నాయ భావన, ఇది AI యొక్క సహాయక పాత్రపై దృష్టి పెడుతుంది, కాగ్నిటివ్ టెక్నాలజీలు మానవ మేధస్సును భర్తీ చేయడానికి బదులుగా మెరుగుపరచడానికి ఉద్దేశించబడిన వాస్తవాన్ని నొక్కి చెబుతుంది. [1]
దీని ప్రకారం, ప్రారంభం నుండి పూర్తి మెషీన్ లెర్నింగ్ సొల్యూషన్ను అభివృద్ధి చేయడానికి భారీ ప్రయత్నం అవసరం, ఇది మా వ్యాపారం కోసం విలువను సృష్టించడం ఆలస్యం చేస్తుంది. మేము మా డొమైన్ నిపుణుల మార్గదర్శకత్వంలో పునరుక్తిగా పెరుగుతున్న మెషిన్ లెర్నింగ్ అంశంతో సిస్టమ్ను రూపొందించాలని నిర్ణయించుకున్నాము. అటువంటి వ్యవస్థను అభివృద్ధి చేయడంలో సవాలు చేసే భాగం ఏమిటంటే, అది మోసపూరితమైన కార్యకలాపమా కాదా అనే విషయంలో మాత్రమే కాకుండా మా విశ్లేషకులకు కేసులను అందించాలి. సాధారణంగా, కస్టమర్ ప్రవర్తనలో ఏదైనా క్రమరాహిత్యం అనేది అనుమానాస్పద కేసుగా పరిగణించబడుతుంది, నిపుణులు ఏవిధంగానైనా దర్యాప్తు చేసి ప్రతిస్పందించాలి. ఈ నివేదించబడిన కేసులలో కొంత భాగాన్ని మాత్రమే మోసం అని వర్గీకరించవచ్చు.
సూత్రం 3: రిచ్ అనలిటిక్స్ ప్లాట్ఫారమ్
సిస్టమ్ వర్క్ఫ్లో యొక్క ఎండ్-టు-ఎండ్ వెరిఫికేషన్ మా సిస్టమ్లో అత్యంత సవాలుగా ఉండే భాగం. విశ్లేషకులు మరియు డెవలపర్లు విశ్లేషణ కోసం ఉపయోగించే అన్ని మెట్రిక్లతో చారిత్రక డేటా సెట్లను సులభంగా పొందాలి. అదనంగా, డేటా ప్లాట్ఫారమ్ ఇప్పటికే ఉన్న కొలమానాల సెట్ను కొత్త వాటితో పూర్తి చేయడానికి సులభమైన మార్గాన్ని అందించాలి. మేము సృష్టించే ప్రక్రియలు మరియు ఇవి సాఫ్ట్వేర్ ప్రక్రియలు మాత్రమే కాదు, మునుపటి కాలాలను సులభంగా తిరిగి లెక్కించడానికి, కొత్త కొలమానాలను జోడించడానికి మరియు డేటా సూచనను మార్చడానికి మమ్మల్ని అనుమతించాలి. మా ఉత్పత్తి వ్యవస్థ ఉత్పత్తి చేసే మొత్తం డేటాను సేకరించడం ద్వారా మేము దీన్ని సాధించగలము. ఈ సందర్భంలో, డేటా క్రమంగా ఇబ్బందిగా మారుతుంది. మేము ఉపయోగించని డేటాను మేము నిల్వ చేసి, రక్షించుకోవాలి. అటువంటి దృష్టాంతంలో, డేటా కాలక్రమేణా మరింత అసంబద్ధం అవుతుంది, కానీ దానిని నిర్వహించడానికి మా ప్రయత్నాలు ఇంకా అవసరం. మాకు, డేటా హోర్డింగ్ అర్ధవంతం కాదు, కాబట్టి మేము వేరే విధానాన్ని తీసుకోవాలని నిర్ణయించుకున్నాము. మేము వర్గీకరించాలనుకుంటున్న లక్ష్య ఎంటిటీల చుట్టూ నిజ-సమయ డేటా స్టోర్లను నిర్వహించాలని మరియు అత్యంత ఇటీవలి మరియు సంబంధిత కాలాలను తనిఖీ చేయడానికి అనుమతించే డేటాను మాత్రమే నిల్వ చేయాలని మేము నిర్ణయించుకున్నాము. ఈ ప్రయత్నానికి సవాలు ఏమిటంటే, మా సిస్టమ్ వైవిధ్యమైనది, బహుళ డేటా స్టోర్లు మరియు సాఫ్ట్వేర్ మాడ్యూల్లు స్థిరమైన పద్ధతిలో పనిచేయడానికి జాగ్రత్తగా ప్రణాళిక అవసరం.
మా సిస్టమ్ యొక్క డిజైన్ భావనలు
మా సిస్టమ్లో నాలుగు ప్రధాన భాగాలు ఉన్నాయి: ఇంజెషన్ సిస్టమ్, కంప్యూటేషనల్, BI విశ్లేషణ మరియు ట్రాకింగ్ సిస్టమ్. అవి నిర్దిష్ట, వివిక్త ప్రయోజనాలను అందిస్తాయి మరియు నిర్దిష్ట డిజైన్ విధానాలను అనుసరించడం ద్వారా మేము వాటిని వేరుగా ఉంచుతాము.
కాంట్రాక్ట్ ఆధారిత డిజైన్
అన్నింటిలో మొదటిది, భాగాలు వాటి మధ్య ఆమోదించబడిన నిర్దిష్ట డేటా నిర్మాణాలపై (ఒప్పందాలు) మాత్రమే ఆధారపడాలని మేము అంగీకరించాము. ఇది వాటి మధ్య ఏకీకృతం చేయడాన్ని సులభతరం చేస్తుంది మరియు భాగాల యొక్క నిర్దిష్ట కూర్పు (మరియు క్రమాన్ని) విధించదు. ఉదాహరణకు, కొన్ని సందర్భాల్లో ఇది అలర్ట్ ట్రాకింగ్ సిస్టమ్తో ఇన్టేక్ సిస్టమ్ను నేరుగా ఇంటిగ్రేట్ చేయడానికి అనుమతిస్తుంది. అటువంటి సందర్భంలో, ఇది అంగీకరించిన హెచ్చరిక ఒప్పందానికి అనుగుణంగా చేయబడుతుంది. ఏదైనా ఇతర కాంపోనెంట్ ఉపయోగించగల ఒప్పందాన్ని ఉపయోగించి రెండు భాగాలు ఏకీకృతం చేయబడతాయని దీని అర్థం. ఇన్పుట్ సిస్టమ్ నుండి ట్రాకింగ్ సిస్టమ్కు హెచ్చరికలను జోడించడానికి మేము అదనపు ఒప్పందాన్ని జోడించము. ఈ విధానానికి ముందుగా నిర్ణయించిన కనీస సంఖ్యలో ఒప్పందాలను ఉపయోగించడం అవసరం మరియు సిస్టమ్ మరియు కమ్యూనికేషన్లను సులభతరం చేస్తుంది. ముఖ్యంగా, మేము "కాంట్రాక్టు ఫస్ట్ డిజైన్" అనే విధానాన్ని తీసుకుంటాము మరియు దానిని స్ట్రీమింగ్ ఒప్పందాలకు వర్తింపజేస్తాము. [2]
ప్రతిచోటా ప్రసారం
సిస్టమ్లో స్థితిని సేవ్ చేయడం మరియు నిర్వహించడం అనివార్యంగా దాని అమలులో సంక్లిష్టతలకు దారి తీస్తుంది. సాధారణంగా, స్థితి ఏదైనా భాగం నుండి ప్రాప్యత చేయబడాలి, అది స్థిరంగా ఉండాలి మరియు అన్ని భాగాలలో అత్యంత ప్రస్తుత విలువను అందించాలి మరియు ఇది సరైన విలువలతో నమ్మదగినదిగా ఉండాలి. అదనంగా, తాజా స్థితిని తిరిగి పొందడానికి నిరంతర నిల్వకు కాల్లను కలిగి ఉండటం వలన I/O ఆపరేషన్ల సంఖ్య మరియు మా నిజ-సమయ పైప్లైన్లలో ఉపయోగించే అల్గారిథమ్ల సంక్లిష్టత పెరుగుతుంది. దీని కారణంగా, వీలైతే, మా సిస్టమ్ నుండి పూర్తిగా రాష్ట్ర నిల్వను తీసివేయాలని మేము నిర్ణయించుకున్నాము. ఈ విధానానికి అవసరమైన మొత్తం డేటాను ప్రసారం చేయబడిన డేటా బ్లాక్ (సందేశం)లో చేర్చడం అవసరం. ఉదాహరణకు, మేము కొన్ని పరిశీలనల మొత్తం సంఖ్యను (నిర్దిష్ట లక్షణాలతో కార్యకలాపాలు లేదా కేసుల సంఖ్య) లెక్కించాల్సిన అవసరం ఉంటే, మేము దానిని మెమరీలో లెక్కించి, అటువంటి విలువల స్ట్రీమ్ను రూపొందిస్తాము. డిపెండెంట్ మాడ్యూల్స్ స్ట్రీమ్ను ఎంటిటీలుగా విభజించడానికి మరియు తాజా విలువలపై పనిచేయడానికి విభజన మరియు బ్యాచింగ్లను ఉపయోగిస్తాయి. ఈ విధానం అటువంటి డేటా కోసం నిరంతర డిస్క్ నిల్వను కలిగి ఉండవలసిన అవసరాన్ని తొలగించింది. మా సిస్టమ్ కాఫ్కాను సందేశ బ్రోకర్గా ఉపయోగిస్తుంది మరియు దీనిని KSQLతో డేటాబేస్గా ఉపయోగించవచ్చు. [3] కానీ దానిని ఉపయోగించడం వలన మా పరిష్కారం కాఫ్కాతో ముడిపడి ఉంటుంది మరియు మేము దానిని ఉపయోగించకూడదని నిర్ణయించుకున్నాము. మేము ఎంచుకున్న విధానం సిస్టమ్లో పెద్ద అంతర్గత మార్పులు లేకుండా కాఫ్కాను మరొక సందేశ బ్రోకర్తో భర్తీ చేయడానికి అనుమతిస్తుంది.
ఈ కాన్సెప్ట్ అంటే మనం డిస్క్ స్టోరేజ్ మరియు డేటాబేస్లను ఉపయోగించకూడదని కాదు. సిస్టమ్ పనితీరును పరీక్షించడానికి మరియు విశ్లేషించడానికి, మేము వివిధ కొలమానాలు మరియు రాష్ట్రాలను సూచించే డిస్క్లో గణనీయమైన డేటాను నిల్వ చేయాలి. ఇక్కడ ముఖ్యమైన విషయం ఏమిటంటే, నిజ-సమయ అల్గారిథమ్లు అటువంటి డేటాపై ఆధారపడవు. చాలా సందర్భాలలో, సిస్టమ్ ఉత్పత్తి చేసే నిర్దిష్ట కేసులు మరియు ఫలితాలను ఆఫ్లైన్ విశ్లేషణ, డీబగ్గింగ్ మరియు ట్రాకింగ్ కోసం మేము నిల్వ చేసిన డేటాను ఉపయోగిస్తాము.
మా సిస్టమ్ యొక్క సమస్యలు
మేము నిర్దిష్ట స్థాయికి పరిష్కరించిన కొన్ని సమస్యలు ఉన్నాయి, కానీ వాటికి మరింత ఆలోచనాత్మకమైన పరిష్కారాలు అవసరం. ఇప్పుడు నేను వాటిని ఇక్కడ ప్రస్తావించాలనుకుంటున్నాను ఎందుకంటే ప్రతి పాయింట్ దాని స్వంత కథనానికి విలువైనది.
మా స్వయంచాలక డేటా విశ్లేషణ, ఆవిష్కరణ మరియు అన్వేషణ కోసం అర్థవంతమైన మరియు సంబంధిత డేటాను సేకరించేందుకు మద్దతిచ్చే ప్రక్రియలు మరియు విధానాలను మేము ఇంకా నిర్వచించవలసి ఉంది.
తాజా డేటాతో దాన్ని అప్డేట్ చేయడానికి సిస్టమ్ను స్వయంచాలకంగా సెటప్ చేసే ప్రక్రియలో మానవ విశ్లేషణ ఫలితాలను పొందుపరచడం జరుగుతుంది. ఇది మా మోడల్ను నవీకరించడమే కాకుండా, మా ప్రక్రియలను నవీకరించడం మరియు మా డేటాపై మన అవగాహనను మెరుగుపరుస్తుంది.
IF-ELSE మరియు ML యొక్క నిర్ణయాత్మక విధానం మధ్య సమతుల్యతను కనుగొనడం. ఎవరో చెప్పారు: "ML అనేది నిరాశకు గురైన వారికి ఒక సాధనం." మీ అల్గారిథమ్లను ఎలా ఆప్టిమైజ్ చేయాలో మరియు మెరుగుపరచాలో మీకు అర్థం కానప్పుడు మీరు MLని ఉపయోగించాలనుకుంటున్నారని దీని అర్థం. మరోవైపు, నిర్ణయాత్మక విధానం ఊహించని క్రమరాహిత్యాలను గుర్తించడానికి అనుమతించదు.
డేటాలోని కొలమానాల మధ్య మా పరికల్పనలు లేదా సహసంబంధాలను పరీక్షించడానికి మాకు సులభమైన మార్గం అవసరం.
సిస్టమ్ నిజమైన సానుకూల ఫలితాల యొక్క అనేక స్థాయిలను కలిగి ఉండాలి. మోసం కేసులు వ్యవస్థకు సానుకూలంగా పరిగణించబడే అన్ని కేసులలో ఒక భాగం మాత్రమే. ఉదాహరణకు, విశ్లేషకులు అన్ని అనుమానాస్పద కేసులను ధృవీకరణ కోసం స్వీకరించాలనుకుంటున్నారు మరియు వాటిలో ఒక చిన్న భాగం మాత్రమే మోసాలు. అసలు మోసం లేదా అనుమానాస్పద ప్రవర్తన అనే దానితో సంబంధం లేకుండా సిస్టమ్ అన్ని కేసులను సమర్థంగా విశ్లేషకులకు అందించాలి.
డేటా ప్లాట్ఫారమ్ ఎగిరినప్పుడు రూపొందించబడిన మరియు లెక్కించిన గణనలతో చారిత్రక డేటా సెట్లను తిరిగి పొందగలగాలి.
కనీసం మూడు వేర్వేరు వాతావరణాలలో ఏదైనా సిస్టమ్ భాగాలను సులభంగా మరియు స్వయంచాలకంగా అమలు చేయండి: ఉత్పత్తి, ప్రయోగాత్మక (బీటా) మరియు డెవలపర్ల కోసం.
మరియు చివరిది కాని కాదు. మేము మా మోడల్లను విశ్లేషించగల గొప్ప పనితీరు పరీక్ష ప్లాట్ఫారమ్ను రూపొందించాలి. [4]