April 24, 2024

నేచురల్ లాంగ్వేజి ప్రాసెసింగ్

నేచురల్ లాంగ్వేజి ప్రాసెసింగ్ (Natural Language Processing) అంటే ఏమిటి? అన్న ప్రశ్నకు తేలిగ్గా జవాబు చెప్పాలంటే, కృత్రిమ మేధ కు(ఆర్టిఫిషియల్ ఇంటెలిజన్స్) సంబంధించిన పరిశోధనకు గల ఉపశాఖల్లో ఒకటిగా చెప్పవచ్చు. క్లుప్తంగా దీన్ని ఎన్నెల్పీ అందాము. ఎన్నెల్పీ అన్న సంక్షిప్త నామం న్యూరో లింగిస్టిక్ ప్రోగ్రామింగ్ (Neuro Linguistic Programming) అన్న శాఖకు కూడా వాడతారు కానీ, ఈ వ్యాసం లో ఎన్నెల్పీ అంటే మాత్రం‌ సహజ భాషా ప్రవర్తనం (బూదరాజు ఆధునికవ్యవహారకోశం ప్రకారం ప్రాసెసింగ్ అంటే – ప్రవర్తనం, విశ్లేషణ) అన్న వివరణే వాడుకుందాం!

మళ్ళీ, అసలు ఎన్నెల్పీ అంటే ఏమిటి? అన్న ప్రశ్న వేసుకుందాం – బూదరాజు గారి పుణ్యమా అని, వాడుకలో ఉన్నా,లేకున్నా, ఒక సమానార్థకం దొరికింది కదా – దాన్ని ఒకసారి పరిశీలిద్దాం.’సహజ భాషా ప్రవర్తనం’ – ఇందులో సహజ భాష అంటే – మనుషుల సహజ భాష, కంప్యూటరు భాష కాదు. కనుక, లోతుల్లోకి వెళ్ళి విశ్లేషించకుండా, తేలిగ్గా అర్థమయ్యేలా చెప్పాలంటే-కంప్యూటరుకు మనం మాట్లాడుకునే భాష (లు) అర్థమయ్యేలా తర్ఫీదునిచ్చి, భాషా ప్రవర్తనం సంబంధమైన పనులు దానిచేత చేయించుకోడానికి దాన్ని సిద్ధం చేయడాన్ని ఎన్నెల్పీగా అర్థం చేసుకోవచ్చు. అలాంటి పనులేవి? అంటారా? ఇప్పుడు మీరీ‌ వ్యాసం చదువుతున్నారు అంటేనే మీరు ఎన్నెల్పీ ని ప్రత్యక్షంగానో, పరోక్షంగానో, ఎప్పుడో ఒకసారి ఉపయోగించిన వారే అయి ఉంటారు. దైనందిన ఆన్లైన్ జీవితంలో మనకి తెలియకుండానే ఎన్నెల్పీ ని ఉపయోగిస్తూ ఉంటాము. ఉదాహరణకి, మీలో చాలామంది గూగుల్ ప్రతిలేఖిని (Transliterator, మళ్ళీ బూదరాజు గారే!)వాడే ఉంటారు – అది ఎన్నెల్పీ ని ఉపయోగించే పనిముట్టు. అలాగే, మైక్రోసాఫ్ట్ వర్డ్ లోనో, మరెందులోనో, ఆంగ్లంలో‌టైపు చేస్తూ ఉంటే -మీరేదన్నా ఒక పదాన్ని తప్పుగా రాస్తే, వెంటనే, కొన్ని పదాలను సూచిస్తుంది ఆ మృదులాంత్రం‌(Software, ఈసారి మాత్రం బ్లాగర్లే!). ఒక్కోసారి, మీ వ్యాకరణాన్ని కూడా సరిచేస్తుంది. గమనించారా? అది ఎన్నెల్పీ కలిగించిన సౌకర్యం. జీఆర్‌ఈ వంటి పరీక్షల్లో మీకు ఆటోమేటిగ్గా మీ గత జవాబు స్థాయిని బట్టి కొత్త ప్రశ్నలు పుడుతూ ఉంటాయి కద – అక్కడా కొంత ఎన్నెల్పీ ఉంది. అలాగే, భాషా పరిజ్ఞానాన్ని పరీక్షించేందుకు సృష్టించే మల్టిపుల్ ఛాయిస్ ప్రశ్నల్లోనూ ఎన్నెల్పీ ఉపయోగించవచ్చు (ఎన్నెల్పీ ఉపయోగించకుండా కూడా చేయొచ్చు లెండీ!). మనందరం తరుచుగా రోజూ ఉపయోగించే గూగుల్ (పోనీ, బింగ్!) వంటి శోధనా యంత్రాల్లో‌పైకి కనబడకుండా బోలెడు ఎన్నెల్పీ ఉంది (వివరంగా కావాలంటే, మరెప్పుడైనా!). ఈ రెండింటినీ తయారు చేసిన గూగుల్, మైక్రోసాఫ్టుల పరిశోధనా శాఖల్లో ఎన్నెల్పీ కి హేమాహేమీలతో నిండిన పెద్ద పెద్ద గ్రూపులు ఉన్నాయి. ఇక్కడ భాషా ప్రవర్తనం అంటే – రాత రూపంలో ఉన్న భాష మాత్రమే అని గ్రహించగలరు. మాట్లాడే భాష గురించి పరిశోధించే శాస్త్రాన్ని – స్పీచ్ ప్రాసెసింగ్ అంటారు. రెంటి మధ్యా ఎంత దగ్గరి సంబంధం ఉందో, అంత దూరం కూడా ఉంది.

అసలెందుకు దీనికి ఇంత ప్రాముఖ్యం? అంటారా?
మీరు గూగుల్ ట్రాంస్లేట్ వాడారా? మీరు ఒక భాషలో రాసిన వాక్యాలు మరో భాషలోకి మార్చిపెట్టే మృదులాంత్రం అది. ప్రస్తుతానికి ఐరోపా భాషలకి సుమారుగా పనిచేస్తుందనుకుంటాను. ఇతరత్రా భాషలకి ఇంకా అభివృద్ధి చెందుతూ ఉంది అని నాఅభిప్రాయం. ఎంచక్కా – మనం‌ఏదన్నా కొత్త ప్రాంతానికి వెళ్తే, అక్కడి భాష రాకున్నా కూడా, అవతల రోడ్లపై ఉన్న పేర్లేమిటో, అడ్రసులేమిటో, ఫలానా చోట ఏం రాసి ఉందో – ఇదంతా మనకి ఏ ఆంగ్లంలోకో మారి తెలిసిపోతే ఎంత బాగుంటుంది? ఇదంతా నిజం చేసేందుకు పని చేసే ఎన్నెల్పీ ఉపశాఖను – ‘యాంత్రిక అనువాద ప్రక్రియ’ (Machine Translation, నా సొంత అనువాదం) అని చెప్పవచ్చు. దీని గురించి వివరంగా తరువాతెప్పుడన్నా రాసేందుకు ప్రయత్నిస్తాను. ఇప్పటి వ్యాసంలో అవన్నీ రాస్తే, గందరగోళం కలగడం తప్ప ఏమీ అవదు!

అలాగే, పది పేజీల వ్యాసం‌ఒకటి పరమ నెమ్మదిగా ‘సా….గి విసిగిస్తూంటే, ఎపుడన్నా – ‘అబ్బ! ఎవరన్నా ఇదంతా చదివి అసలు సంగతేమిటో చెప్పేస్తే బాగుండు’ అనిపించిందా? ఎన్నెల్పీ లోని టెక్స్నిక్స్ ఉపయోగించి, దీన్ని సాకారం చేసే విధానాన్ని – ‘టెక్స్ట్ సమ్మరైజేషన్’ అంటారు. ఎన్నెల్పీ ప్రయోజనాల్లో ఇదీ ఒకటి.

మనకి గూగుల్ సర్చిలో రకరకాలుగా వెదికినా కావాల్సింది దొరకని సమయాల్లో ఎప్పుడో ఒకప్పుడు కలిగే ఆలోచన – ‘నేను ప్రశ్న ఇచ్చేస్తే, అదే వెదుక్కుని జవాబు మాత్రం నాకు చూపిస్తే ఎంత బాగుంటుంది?’ అని. ఈ సమస్య ను ఎలా పరిష్కరించాలి, అని శోధించే విభాగాన్ని – ‘క్వశ్చన్ – ఆన్సరింగ్’ (question – answering) అంటారు. దీని మూలాలూ ఎన్నెల్పీ లోనే. సమాచార యుగంలో, టన్నుల కొద్దీ డేటా రోజూ కొత్తగా పుట్టుకొచ్చేస్తూ ఉంటే, పైన చెప్పిన మూడు ఉదాహరణల్లోని పరికరాలు ఎంత ఉపయోగపడతాయో : నేను మళ్ళీ ప్రత్యేకం చెప్పనక్కర్లేదనుకుంటాను. అందుకే, ఎన్నెల్పీ పరిశోధనలకు ప్రాముఖ్యం!

ఎన్నెల్పీ అంటే – ఎక్కడో‌ఒంటిస్థంభం మేడలో నివసించే యువరాణిలా కాదు. దాని పుట్టుక మొదలుకుని ఇప్పటిదాకా ఎన్నో శాస్త్రాలతో కలిసి పనిచేస్తూనే ఉంది. ఉదాహరణకి కొన్ని – లింగ్విస్టిక్స్(Linguistics), స్టాటిస్టిక్స్(Statistics), ఇన్‌ఫర్మేషన్ సైన్స్(Information Science), కాగ్నిటివ్ సైన్స్(Cognitive Science), ఆల్గారిథంస్(Algorithms), డాటా మైనింగ్(Data mining) ఇలా, ఇలా ఎన్నో శాఖోపశాఖల మధ్య సంభాషణలలోనే ఎన్నెల్పీ ఎదుగుదల ఉంది.
ఈ వ్యాసంలో నిజానికి, ఎన్నెల్పీ ఎలా వచ్చింది? దీని పుట్టు పూర్వత్తరాలేమిటి? అసలు ఏది ఎన్నెల్పీ కాదు? వంటి విషయాలు ప్రస్తావించలేదు. ఎన్నెల్పీ ఎందుకు సులువు కాదు? కంప్యూటరుకు భాష నేర్పడం ఎందుకు కష్టం? అన్న విషయం చర్చించలేదు. కారణాలు మూడు:- ఇలా చెప్పుకుంటూ పోతే, కలగాపులగమై, ఏం చెప్తున్నానో నాకర్థం కాదు (తెలుగులో ఇలాంటివి రాయడం అలవాటు లేక)… ఏం చదువుతున్నారో మీకర్థం కాదు (నా రాతలు చదవలేక)- సాంకేతికాంశాలపై వ్యాసం ఎలా రాయాలా? అన్నది నాకింకా వంటబట్టలేదు. వీలువెంబడి, కొంచెం వివరంగా, అప్పుడప్పుడూ రాద్దాం అన్న ఆలోచన.

2007లో ఐఐఎస్సీలో మైక్రోసాఫ్టు రిసర్చి వారి సమ్మర్ స్కూల్ ఒకటి జరిగింది, ఎన్నెల్పీ పై. దేశవిదేశాల నుండీ, ముఖ్యంగా మైక్రోసాఫ్ట్ రిసర్చి విదేశీ శాఖల నుండి శాస్త్రజ్ఞులు,వివిధ విశ్వవిద్యాలయాల అధ్యాపకులు దీనిలో‌లెక్చర్లిచ్చారు. అప్పుడు దానికి ఎంపికైన దాదాపు యాభైమంది స్టూడెంట్లలో నేనూ ఒక దాన్ని. అక్కడ ఒక ఉపన్యాసంలో ఐఐఎస్సీ అసోసియేట్ డైరెక్టర్ డాక్టర్ ఎన్.బాలకృష్ణన్ (బాల్కీ గా ప్రసిద్ధులు) మాట్లాడుతూ, ఎన్నెల్పీ మూలాలను పదిహేడు-పద్దెనిమిదో‌శతాబ్దాలనాటి – లీబ్నిట్స్ , డీ కార్ట్ ల పరిశోధనల దాకా పట్టుకెళ్ళారు. ‘ఔరా!’ అనుకున్నానే కానీ, అప్పుడు ఆయన చెప్పిన పాయింటేవిటో గుర్తు రావట్లేదిప్పుడు. వెబ్ లో సరిగా సమాచారం దొరకట్లేదు. అయితే, వీళ్ళు ఆ కాలంలో, భాషానువాదం చేసే యంత్రాల గురించి ఊహించారనుకుంటాను. మరెప్పుడైనా వివరాలు తెలిస్తే, మీకూ చెబుతాను.

ఇంతకీ, ఎన్నెల్పీ ఆధునిక చరిత్ర అని చెప్పుకొస్తే, అది ట్యూరింగ్ దగ్గర మొదలవుతుంది, నేను చదివినంతలో. ‘కంప్యూటింగ్ మెషినరీ అండ్ ఇంటెలిజెన్స్’ (Computing machinery and intelligence) అన్న తన వ్యాసంలో మనిషికీ-యంత్రానికీ మధ్య సంభాషణ నడిపినపుడు, యంత్రం‌మనిషిని బోల్తా కొట్టించి, తనతో మాట్లాడుతున్నది మరో మనిషని నమ్మించగలగడం – యంత్రం తెలివికి ప్రాతిపదికగా పేర్కొన్నారు. ఇది కాక, ఎన్నెల్పీ చరిత్రగా ఎటుచూసినా, యంత్రానువాద చరిత్రే కనిపిస్తుంది. ముప్పైలలో ప్రతిపాదించిన అనువాద ప్రకియ లో‌నిఘంటువు తప్పిస్తే మరేం లేదు. ఆపై మరొక ప్రతిపాదన వచ్చింది – ఇందులో, నిఘంటువుతోపాటు ఎస్పరాంటో ఆధారంగా, కొంత వ్యాకరణాంశాలను కూడా చేర్చారట. ఆపై, ఇక క్రమంగా ఎదుగుతూ, గూగుల్ అనువాద పరికరం పుణ్యమా అని ఇప్పుడు అందరికీ తెలిసింది. (ఈ భాగం లో రాసిన వివరాలు వికీ లంకె లోవి.[5])

అయితే, మనుషుల భాషను అర్థం చేసుకునే యంత్రాల గురించి మాట్లాడుకునేటప్పుడు -జాన్ సియర్లే ప్రతిపాదించిన చైనీస్ రూం కథ కూడా చెప్పుకోవాలి [3][4]. దీన్ని ‘ట్యూరింగ్ మెషీన్ ‘ వివరణను ప్రశ్నిస్తూ పుట్టిన వాదన అనవచ్చేమో! ఒక యంత్రం మనిషితో చాలా తెలివిగా సంభాషణ నడపగలిగిందంటే, అది నిజంగా భాషని అర్థం చేసుకునే అలా ప్రవర్తిస్తోందా? లేకపోతే, ఏమాత్రం మేధ అవసరం లేకుండానే ఇలాంటి యంత్రాన్ని సృష్టించవచ్చా? అన్న అంశం చుట్టూ తిరిగే వాదం‌ఇది. ఉదాహరణకి, ఒక చోట చైనీస్ లో జరిగే సంభాషణలూ, ఏ వాక్యానికి ఏది జవాబు చెప్పాలి? ఇటువంటి వివరాలన్నీ ఉన్న ఒక ‘డేటాబేస్’ లాంటిది ఉంది అనుకుందాము. ఏ ప్రశ్నకి ఏ జవాబు చూపాలి అన్నది ఒక ప్రోగ్రాంలో కోడ్ చేయబడి ఉందనుకుందాం. సియర్లే ఈ ప్రోగ్రాంతో సహా తలుపులు వేసుకుని లోపల కూర్చున్నాడనుకుందాం. గది బయట నుంచి, అతనికి నుంచి చైనీస్ అభ్యర్థనలు వస్తూ ఉంటే అతను ఈ ప్రోగ్రాం సహాయంతో వాళ్ళకి జవాబులిస్తూ సంభాషిస్తాడన్నమాట. ఇప్పుడిక్కడ ఈ ప్రోగ్రాం గానీ, సియర్లీ గానీ చైనీస్ లో నైపుణ్యం సాధించినట్లే నా? – ఇది ‘చైనీస్ రూం ఆర్గూమెంట్ ‘ గా పేరొందింది.

ఇక, మనుషుల్తో మాట్లాడుతున్నామా? అని భ్రమింపజేసే ప్రోగ్రాములున్నాయి. తొలితరం కృత్రిమ మేధ పరిశోధనల్లో భాగంగా, ఇటువంటివి వెలువడ్డాయి. ఉదాహరణకి -ఎలిజా. ఎమ్మైటీ‌కి చెందిన జోసెఫ్ వీజన్బామ్ రూపొందించిన రొజేరియన్ సైకోథెరపిస్టు ను సిములేట్ చేసే ప్రోగ్రాం ఇది. ఈ సైకోథెరపిస్టులు సాధారణంగా, పేషంట్ల సమస్యలు వింటూ, వాటి గురించే, కాస్త వాక్యాలు అటూ ఇటూ‌మార్చి ప్రశ్నలు వేస్తూ‌ఉంటారట. ఎలిజా కూడా అలాగే, మనతో సంభాషించగలదు. ఉదాహరణకి – ‘నాకు తలనొప్పిగా ఉంది’ అన్నామనుకోండి, ‘అవునా, పాపం. ఎందుకు తలనొప్పిగా ఉంది?’… ఇలాగన్నమాట. తొలి తరం ఎన్నెల్పీ గా వీటిని కొన్నిసార్లు అభివర్ణించినా, నిజానికి వీటిలో ఎన్నెల్పీ లేదు. ఎలిజా కేవలం మనుషుల వాక్య నిర్మాణాల ఆధారంగా తయారు చేసిన కొన్ని మాదిరి వాక్యాలతో, మనం మాట్లాడిన వాక్యాల్లోని పదాలనే కాస్త అటూ,ఇటూ‌మార్చి, మనతో సంభాషిస్తూ ఉంటుంది. ఈ టెంప్లేట్ లు ముందే ప్రోగ్రాం‌కాబడి ఉంటాయి. ఇటీవలే ఒక పాత వ్యాసం చదివాను. అందులో, ఇటువంటి మూడు ప్రోగ్రాముల గురించి చెబుతూ (ఏలిజా,పారీ,రాక్టర్), వీటి మధ్య జరిగిన సంభాషణలను కూడా రాసారు. రెండు ప్రోగ్రాములు మానవభాషలో సంభాషించుకునే అద్భుత దృశ్యం నేడే చూడాలనుకుంటే, మొదటి రెఫరెంసులో చూడండి. వీటిలో రాక్టర్ కవిత్వం కూడా చెబుతుంది! అలాగే, ఆలిస్ అన్నది ఎలిజాకి కజిన్ వంటిది. దీనిపై ఆధారపడ్డ కొన్ని బాట్లను ఇక్కడ[2] చూసి సంభాషించవచ్చు. నిజానికి, ఇందాకే అన్నట్లు, ఈ ప్రోగ్రాముల్లో కృత్రిమ మేధ అంటూ ఉన్నది చాలా స్వల్పం. అయినా కూడా,కొన్ని సందర్భాల్లో మోసపోతారు లెండి మనుషులు, రాబర్ట్ ఎప్స్టీన్ గారిలా [6]. ఇలాంటి ఒక ఆధునికమైన ప్రోగ్రాం ఈయనతో ఆన్ లైన్ డేటింగ్ కోసం ప్రయత్నిస్తున్న అమ్మాయిలా చాట్ చేసింది. కొన్నాళ్ళు బానే గడిచింది కానీ, తరువాత్తరువాత, అవతలి వైపు నుంచి వస్తున్న జవాబులు చూసి, ఈయనకి అనుమానం కలిగి, ఒకరోజు అర్థం పర్థం లేని రాతలేవో రాసి మెయిల్ చేశాడు. అయినా కూడా, జవాబులో ఎప్పట్లాగే తన జాబుతో సంబంధం లేని సంగతులని ప్రస్తావించడంతో అర్థమైంది ఆయనకు – తాను ఇన్నాళ్ళూ‌ఒక ప్రోగ్రాంతో సంభాషిస్తున్నాడని. కంప్యూటర్ జీవి అయిన ఆయనే మోసపోగలిగినప్పుడు,మామూలు మనుషులెంత చెప్పండి?

మళ్ళీ‌మొదటికొస్తే, ఎన్నెల్పీ చరిత్ర ఎలా చెప్పాలా? అని కొంత చదువుతూ ఉంటే, పైన చెప్పిన విషయాలు చెప్పాలని తోచిం. కాబట్టి – బహుశా, యంత్రానువాదమే ప్రాతిపదికగానే మొదలై ఉండొచ్చు ఈ శాఖ. కానీ, కాలక్రమంలో, పరిశోధనలు జరిగే కొద్దీ, దీని ప్రయోజనం ఇతర విషయాల్లోకీ వ్యాపించింది. ఉదాహరణకి ‌శోధనాయంత్రాలనే తీసుకొండి – ఇదివరకటి వ్యాసంలోనే అన్నట్లు, ఎన్నెల్పీ వల్ల వీటికి గల ప్రయోజనం అంతా ఇంతా కాదు. అదనమాట ప్రస్తుతానికి సంగతి. ఈ వ్యాసం రాయడానికి ఉపయోగపడ్డ వ్యాసాల లంకెలు కింద ఇచ్చాను. ఇవి కాక, ఈసారి వెనుకటిలా కాక, కొన్ని వికీ వ్యాసాలు కూడా చదివాను. ఇంకా ఇంకా ఈ విషయం పై చర్చించే అవకాశం ఉంది కానీ…అదంతా చదివేందుకు నాకు సమయం చిక్కలేదింకా!‌

1.http://www.stanford.edu/group/SHR/4-2/text/dialogues.html
2.http://www.alicebot.org/
3.http://globetrotter.berkeley.edu/people/Searle/searle-con4.html
4.http://en.wikipedia.org/wiki/Chinese_room
5.http://en.wikipedia.org/wiki/History_of_natural_language_processing
6.’From Russia With Love: How I got fooled (and somewhat humiliated) by a computer’ http://drrobertepstein.com/downloads/FROM_RUSSIA_WITH_LOVE-Epstein-Sci_Am_Mind-Oct-Nov2007.pdf

4 thoughts on “నేచురల్ లాంగ్వేజి ప్రాసెసింగ్

  1. This is very interesting article. Can you continue further to next part. I think “Microsoft Kinect” (codename Project Natal) uses NLP also along with guesture recognition.

  2. నా ఈ వ్యాసం లో టైపోలు అవీ చాలా కనిపిస్తున్నాయి . అందులోనూ, ‘క్వశ్చెన్ ఆన్సరింగ్’ లాంటి పదాలు నేను ఆంగ్లం లో ఉంచేసాను. అవి తిరిగి తెలుగులో కనిపిస్తున్నాయి . కాస్త సరిచేయడం ఎలాగో చెబుదురూ??

Comments are closed.