# സാധാരണ സ്വാഭാവിക ഭാഷാ പ്രോസസ്സിംഗ് ടാസ്കുകളും സാങ്കേതിക വിദ്യകളും
മിക്കവാറും *സ്വാഭാവിക ഭാഷാ പ്രോസസ്സിംഗ്* ടാസ്കുകൾക്കായി, പ്രോസസ്സ് ചെയ്യേണ്ട ടെക്സ്റ്റ് വിഭജിച്ച്, പരിശോധിച്ച്, ഫലങ്ങൾ നിയമങ്ങളുമായി ഡാറ്റാ സെറ്റുകളുമായി ക്രോസ് റഫറൻസ് ചെയ്യണം. ഈ ടാസ്കുകൾ പ്രോഗ്രാമറിന് ടെക്സ്റ്റിലെ _അർത്ഥം_ അല്ലെങ്കിൽ _ഉദ്ദേശ്യം_ അല്ലെങ്കിൽ വെറും _പരിഭാഷയുടെ ആവൃത്തി_ കണ്ടെത്താൻ സഹായിക്കുന്നു.
## [പ്രീ-ലെക്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/)
ടെക്സ്റ്റ് പ്രോസസ്സിംഗിൽ ഉപയോഗിക്കുന്ന സാധാരണ സാങ്കേതിക വിദ്യകൾ കണ്ടെത്താം. മെഷീൻ ലേണിങ്ങുമായി ചേർന്ന്, ഈ സാങ്കേതിക വിദ്യകൾ വലിയ തോതിലുള്ള ടെക്സ്റ്റ് കാര്യക്ഷമമായി വിശകലനം ചെയ്യാൻ സഹായിക്കുന്നു. എന്നാൽ ML ഈ ടാസ്കുകളിൽ പ്രയോഗിക്കുന്നതിന് മുമ്പ്, NLP വിദഗ്ധൻ നേരിടുന്ന പ്രശ്നങ്ങൾ മനസ്സിലാക്കാം.
## NLP-യ്ക്ക് സാധാരണമായ ടാസ്കുകൾ
നിങ്ങൾ പ്രവർത്തിക്കുന്ന ടെക്സ്റ്റ് വിശകലനം ചെയ്യാനുള്ള വ്യത്യസ്ത മാർഗ്ഗങ്ങൾ ഉണ്ട്. നിങ്ങൾ ചെയ്യാവുന്ന ടാസ്കുകൾ ഉണ്ട്, ഈ ടാസ്കുകൾ വഴി ടെക്സ്റ്റിന്റെ മനസ്സിലാക്കലും നിഗമനങ്ങളും വരുത്താൻ കഴിയും. സാധാരണയായി ഈ ടാസ്കുകൾ ഒരു ക്രമത്തിൽ നടത്തപ്പെടുന്നു.
### ടോക്കനൈസേഷൻ
ഏതാണ്ട് എല്ലാ NLP ആൽഗോരിതങ്ങൾക്കും ആദ്യം ചെയ്യേണ്ടത് ടെക്സ്റ്റ് ടോക്കണുകളായി, അല്ലെങ്കിൽ വാക്കുകളായി വിഭജിക്കുക എന്നതാണ്. ഇത് ലളിതമായതായി തോന്നിയാലും, പദവിരാമം, വ്യത്യസ്ത ഭാഷകളിലെ വാക്കുകളും വാക്യവിരാമങ്ങളും പരിഗണിക്കേണ്ടത് സങ്കീർണ്ണമാക്കാം. വ്യത്യസ്ത മാർഗ്ഗങ്ങൾ ഉപയോഗിച്ച് വിഭജനം നിർണയിക്കേണ്ടിവരും.

> **Pride and Prejudice** എന്ന പുസ്തകത്തിലെ ഒരു വാക്യം ടോക്കൺ ചെയ്യുന്നു. ഇൻഫോഗ്രാഫിക് [Jen Looper](https://twitter.com/jenlooper)
### എംബെഡ്ഡിംഗ്സ്
[വേർഡ് എംബെഡ്ഡിംഗ്സ്](https://wikipedia.org/wiki/Word_embedding) നിങ്ങളുടെ ടെക്സ്റ്റ് ഡാറ്റ സംഖ്യാത്മകമായി മാറ്റാനുള്ള ഒരു മാർഗ്ഗമാണ്. സമാന അർത്ഥമുള്ള വാക്കുകൾ അല്ലെങ്കിൽ ഒരുമിച്ച് ഉപയോഗിക്കുന്ന വാക്കുകൾ കൂട്ടമായി ക്ലസ്റ്റർ ചെയ്യപ്പെടുന്ന രീതിയിൽ എംബെഡ്ഡിംഗ്സ് ചെയ്യപ്പെടുന്നു.

> "I have the highest respect for your nerves, they are my old friends." - **Pride and Prejudice** എന്ന വാക്യത്തിനുള്ള വാക്കുകളുടെ എംബെഡ്ഡിംഗ്സ്. ഇൻഫോഗ്രാഫിക് [Jen Looper](https://twitter.com/jenlooper)
✅ വാക്കുകളുടെ എംബെഡ്ഡിംഗ്സ് പരീക്ഷിക്കാൻ [ഈ രസകരമായ ടൂൾ](https://projector.tensorflow.org/) പരീക്ഷിക്കൂ. ഒരു വാക്കിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ സമാന വാക്കുകളുടെ ക്ലസ്റ്ററുകൾ കാണാം: 'toy' 'disney', 'lego', 'playstation', 'console' എന്നിവയുമായി ക്ലസ്റ്റർ ചെയ്യുന്നു.
### പാർസിംഗ് & പാർട്ട്-ഓഫ്-സ്പീച്ച് ടാഗിംഗ്
ടോക്കൺ ചെയ്ത ഓരോ വാക്കും വാക്കിന്റെ ഭാഗമായി ടാഗ് ചെയ്യാം - നാമം, ക്രിയ, വിശേഷണം എന്നിവ. `the quick red fox jumped over the lazy brown dog` എന്ന വാക്യം fox = നാമം, jumped = ക്രിയ എന്നിങ്ങനെ POS ടാഗ് ചെയ്യാം.

> **Pride and Prejudice** എന്ന വാക്യം പാർസ് ചെയ്യുന്നു. ഇൻഫോഗ്രാഫിക് [Jen Looper](https://twitter.com/jenlooper)
പാർസിംഗ് വാക്യത്തിലെ വാക്കുകൾ തമ്മിൽ എങ്ങനെ ബന്ധപ്പെട്ടിരിക്കുന്നു എന്ന് തിരിച്ചറിയലാണ് - ഉദാഹരണത്തിന് `the quick red fox jumped` എന്നത് വിശേഷണം-നാമം-ക്രിയ ക്രമമാണ്, ഇത് `lazy brown dog` എന്ന ക്രമത്തിൽ നിന്ന് വേർതിരിച്ചിരിക്കുന്നു.
### വാക്കുകളും വാചകങ്ങളും ആവൃത്തി
വലിയ ടെക്സ്റ്റ് വിശകലനം ചെയ്യുമ്പോൾ, ഓരോ വാക്കിന്റെയും വാചകത്തിന്റെയും ആവൃത്തി എത്രയാണെന്ന് ഒരു നിഘണ്ടു നിർമ്മിക്കുന്നത് ഉപകാരപ്രദമാണ്. `the quick red fox jumped over the lazy brown dog` എന്ന വാചകത്തിൽ the എന്ന വാക്കിന്റെ ആവൃത്തി 2 ആണ്.
വാക്കുകളുടെ ആവൃത്തി എണ്ണുന്ന ഒരു ഉദാഹരണം നോക്കാം. റുഡ്യാർഡ് കിപ്ലിങ്ങിന്റെ കവിത The Winners-ൽ താഴെ പറയുന്ന വരികൾ ഉണ്ട്:
```output
What the moral? Who rides may read.
When the night is thick and the tracks are blind
A friend at a pinch is a friend, indeed,
But a fool to wait for the laggard behind.
Down to Gehenna or up to the Throne,
He travels the fastest who travels alone.
```
വാചകങ്ങളുടെ ആവൃത്തി ആവശ്യാനുസരണം കേസ് ഇൻസെൻസിറ്റീവ് അല്ലെങ്കിൽ കേസ് സെൻസിറ്റീവ് ആകാം, `a friend` എന്ന വാചകത്തിന്റെ ആവൃത്തി 2 ആണ്, `the` 6 ആണ്, `travels` 2 ആണ്.
### എൻ-ഗ്രാമുകൾ
ഒരു ടെക്സ്റ്റ് നിശ്ചിത നീളമുള്ള വാക്കുകളുടെ ക്രമങ്ങളായി വിഭജിക്കാം, ഒറ്റ വാക്ക് (യൂണിഗ്രാം), രണ്ട് വാക്കുകൾ (ബൈഗ്രാമുകൾ), മൂന്ന് വാക്കുകൾ (ട്രൈഗ്രാമുകൾ) അല്ലെങ്കിൽ ഏതെങ്കിലും എണ്ണം വാക്കുകൾ (എൻ-ഗ്രാമുകൾ).
ഉദാഹരണത്തിന് `the quick red fox jumped over the lazy brown dog` എന്ന വാചകത്തിൽ എൻ-ഗ്രാം സ്കോർ 2 ഉപയോഗിച്ചാൽ താഴെ പറയുന്ന എൻ-ഗ്രാമുകൾ ഉണ്ടാകും:
1. the quick
2. quick red
3. red fox
4. fox jumped
5. jumped over
6. over the
7. the lazy
8. lazy brown
9. brown dog
ഇത് ഒരു സ്ലൈഡിംഗ് ബോക്സ് പോലെ വാക്യത്തിൽ സ്ലൈഡ് ചെയ്യുന്നതായി കാണിക്കാം. 3 വാക്കുകളുടെ എൻ-ഗ്രാമുകൾക്ക് ഉദാഹരണം, ഓരോ വാക്യത്തിലും എൻ-ഗ്രാം ബോൾഡ് ചെയ്തിരിക്കുന്നു:
1. **the quick red** fox jumped over the lazy brown dog
2. the **quick red fox** jumped over the lazy brown dog
3. the quick **red fox jumped** over the lazy brown dog
4. the quick red **fox jumped over** the lazy brown dog
5. the quick red fox **jumped over the** lazy brown dog
6. the quick red fox jumped **over the lazy** brown dog
7. the quick red fox jumped over **the lazy brown** dog
8. the quick red fox jumped over the **lazy brown dog**

> എൻ-ഗ്രാം മൂല്യം 3: ഇൻഫോഗ്രാഫിക് [Jen Looper](https://twitter.com/jenlooper)
### നാമവാചക വാചകങ്ങൾ എക്സ്ട്രാക്ഷൻ
മിക്കവാറും വാക്യങ്ങളിൽ ഒരു നാമം ഉണ്ട്, അത് വാക്യത്തിന്റെ വിഷയം അല്ലെങ്കിൽ വസ്തുവാണ്. ഇംഗ്ലീഷിൽ, സാധാരണയായി 'a' അല്ലെങ്കിൽ 'an' അല്ലെങ്കിൽ 'the' മുൻപിൽ വരുന്നതായി തിരിച്ചറിയാം. വാക്യത്തിന്റെ അർത്ഥം മനസ്സിലാക്കാൻ ശ്രമിക്കുമ്പോൾ 'നാമവാചക വാചകം എക്സ്ട്രാക്റ്റ് ചെയ്യൽ' എന്നത് സാധാരണ ടാസ്കാണ്.
✅ "I cannot fix on the hour, or the spot, or the look or the words, which laid the foundation. It is too long ago. I was in the middle before I knew that I had begun." എന്ന വാക്യത്തിൽ നാമവാചക വാചകങ്ങൾ തിരിച്ചറിയാമോ?
`the quick red fox jumped over the lazy brown dog` എന്ന വാക്യത്തിൽ 2 നാമവാചക വാചകങ്ങൾ ഉണ്ട്: **quick red fox** and **lazy brown dog**.
### സന്റിമെന്റ് അനാലിസിസ്
ഒരു വാക്യം അല്ലെങ്കിൽ ടെക്സ്റ്റ് സന്റിമെന്റ് അനാലിസിസ് ചെയ്യാം, അതായത് അത് എത്രത്തോളം *സ pozitive* അല്ലെങ്കിൽ *negative* ആണെന്ന്. സന്റിമെന്റ് *പോളാരിറ്റി*യും *ഓബ്ജക്റ്റിവിറ്റി/സബ്ജക്റ്റിവിറ്റി*യും ഉപയോഗിച്ച് അളക്കുന്നു. പോളാരിറ്റി -1.0 മുതൽ 1.0 വരെ (നെഗറ്റീവ് മുതൽ പോസിറ്റീവ് വരെ) അളക്കുന്നു, 0.0 മുതൽ 1.0 വരെ (മികച്ച ഓബ്ജക്റ്റീവ് മുതൽ ഏറ്റവും സബ്ജക്റ്റീവ് വരെ) അളക്കുന്നു.
✅ പിന്നീട് നിങ്ങൾക്ക് മെഷീൻ ലേണിങ്ങ് ഉപയോഗിച്ച് സന്റിമെന്റ് നിർണയിക്കുന്ന വ്യത്യസ്ത മാർഗ്ഗങ്ങൾ പഠിക്കാം, എന്നാൽ ഒരു മാർഗ്ഗം മനുഷ്യ വിദഗ്ധൻ പോസിറ്റീവ് അല്ലെങ്കിൽ നെഗറ്റീവ് ആയി വർഗ്ഗീകരിച്ച വാക്കുകളും വാചകങ്ങളും ഉള്ള ലിസ്റ്റ് ഉപയോഗിച്ച് ആ മോഡൽ ടെക്സ്റ്റിൽ പ്രയോഗിച്ച് പോളാരിറ്റി സ്കോർ കണക്കാക്കുകയാണ്. ചില സാഹചര്യങ്ങളിൽ ഇത് എങ്ങനെ പ്രവർത്തിക്കുമെന്ന് നിങ്ങൾക്ക് കാണാമോ? ചിലപ്പോൾ കുറവായി?
### ഇൻഫ്ലെക്ഷൻ
ഇൻഫ്ലെക്ഷൻ ഒരു വാക്കിന്റെ ഏകവചനം അല്ലെങ്കിൽ ബഹുവചനം കണ്ടെത്താൻ സഹായിക്കുന്നു.
### ലെമ്മറ്റൈസേഷൻ
*ലെമ്മ* എന്നത് വാക്കുകളുടെ ഒരു കൂട്ടത്തിനുള്ള മൂല വാക്ക് അല്ലെങ്കിൽ ഹെഡ്വേഡ് ആണ്, ഉദാഹരണത്തിന് *flew*, *flies*, *flying* എന്നവയ്ക്ക് *fly* എന്ന ക്രിയയുടെ ലെമ്മ ഉണ്ട്.
NLP ഗവേഷകർക്കായി ചില ഉപകാരപ്രദമായ ഡാറ്റാബേസുകളും ലഭ്യമാണ്, പ്രത്യേകിച്ച്:
### വേഡ്നെറ്റ്
[WordNet](https://wordnet.princeton.edu/) പല ഭാഷകളിലെ ഓരോ വാക്കിനും പദസമാനാർത്ഥങ്ങൾ, വിരുദ്ധാർത്ഥങ്ങൾ, മറ്റ് വിവരങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു ഡാറ്റാബേസ് ആണ്. വിവർത്തനങ്ങൾ, സ്പെൽ ചെക്കറുകൾ, ഭാഷാ ഉപകരണങ്ങൾ നിർമ്മിക്കുമ്പോൾ ഇത് വളരെ ഉപകാരപ്രദമാണ്.
## NLP ലൈബ്രറികൾ
സൗഭാഗ്യവശാൽ, ഈ സാങ്കേതിക വിദ്യകൾ എല്ലാം നിങ്ങൾ തന്നെ നിർമ്മിക്കേണ്ടതില്ല, കാരണം സ്വാഭാവിക ഭാഷാ പ്രോസസ്സിംഗ് അല്ലെങ്കിൽ മെഷീൻ ലേണിങ്ങിൽ വിദഗ്ധരല്ലാത്ത ഡെവലപ്പർമാർക്കും ഇത് എളുപ്പത്തിൽ ഉപയോഗിക്കാവുന്ന മികച്ച Python ലൈബ്രറികൾ ലഭ്യമാണ്. അടുത്ത പാഠങ്ങളിൽ ഇതിന്റെ കൂടുതൽ ഉദാഹരണങ്ങൾ ഉൾപ്പെടും, എന്നാൽ ഇവിടെ അടുത്ത ടാസ്കിന് സഹായകമായ ചില ഉദാഹരണങ്ങൾ പഠിക്കാം.
### വ്യായാമം - `TextBlob` ലൈബ്രറി ഉപയോഗിച്ച്
TextBlob എന്ന ലൈബ്രറി ഉപയോഗിക്കാം, കാരണം ഇത് ഈ തരം ടാസ്കുകൾ കൈകാര്യം ചെയ്യാൻ സഹായിക്കുന്ന APIകൾ ഉൾക്കൊള്ളുന്നു. TextBlob "വലിയ [NLTK](https://nltk.org)യും [pattern](https://github.com/clips/pattern) ഉം ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു." അതിന്റെ APIയിൽ വലിയ തോതിൽ ML ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
> കുറിപ്പ്: TextBlob-ന് അനുയോജ്യമായ [ക്വിക്ക് സ്റ്റാർട്ട്](https://textblob.readthedocs.io/en/dev/quickstart.html#quickstart) ഗൈഡ് പരിചയസമ്പന്നരായ Python ഡെവലപ്പർമാർക്ക് ശുപാർശ ചെയ്യുന്നു
*നാമവാചക വാചകങ്ങൾ* തിരിച്ചറിയാൻ ശ്രമിക്കുമ്പോൾ, TextBlob നാമവാചക വാചകങ്ങൾ കണ്ടെത്താൻ വിവിധ എക്സ്ട്രാക്ടറുകൾ നൽകുന്നു.
1. `ConllExtractor` നോക്കൂ.
```python
from textblob import TextBlob
from textblob.np_extractors import ConllExtractor
# പിന്നീട് ഉപയോഗിക്കാൻ Conll എക്സ്ട്രാക്ടർ ഇറക്കുമതി ചെയ്ത് സൃഷ്ടിക്കുക
extractor = ConllExtractor()
# പിന്നീട് നിങ്ങൾക്ക് ഒരു നൗൺ ഫ്രേസ് എക്സ്ട്രാക്ടർ ആവശ്യമുള്ളപ്പോൾ:
user_input = input("> ")
user_input_blob = TextBlob(user_input, np_extractor=extractor) # ഡിഫോൾട്ട് അല്ലാത്ത എക്സ്ട്രാക്ടർ വ്യക്തമാക്കിയിരിക്കുന്നു
np = user_input_blob.noun_phrases
```
> ഇവിടെ എന്താണ് നടക്കുന്നത്? [ConllExtractor](https://textblob.readthedocs.io/en/dev/api_reference.html?highlight=Conll#textblob.en.np_extractors.ConllExtractor) "ConLL-2000 പരിശീലന കോർപ്പസ് ഉപയോഗിച്ച് ട്രെയിൻ ചെയ്ത ചങ്ക് പാർസിംഗ് ഉപയോഗിക്കുന്ന നാമവാചക വാചക എക്സ്ട്രാക്ടറാണ്." ConLL-2000 2000-ലെ Computational Natural Language Learning സമ്മേളനത്തെ സൂചിപ്പിക്കുന്നു. ഓരോ വർഷവും NLP പ്രശ്നം പരിഹരിക്കാൻ ഒരു വർക്ക്ഷോപ്പ് സംഘടിപ്പിച്ചിരുന്നു, 2000-ൽ അത് നാമ ചങ്കിംഗ് ആയിരുന്നു. വാൾ സ്ട്രീറ്റ് ജേർണലിൽ പരിശീലനം നടത്തി, "വിഭാഗങ്ങൾ 15-18 പരിശീലന ഡാറ്റയായി (211727 ടോക്കണുകൾ) 20-ാം വിഭാഗം ടെസ്റ്റ് ഡാറ്റയായി (47377 ടോക്കണുകൾ)" ഉപയോഗിച്ചു. ഉപയോഗിച്ച പ്രക്രിയകൾ [ഇവിടെ](https://www.clips.uantwerpen.be/conll2000/chunking/) കാണാം, ഫലങ്ങൾ [ഇവിടെ](https://ifarm.nl/erikt/research/np-chunking.html).
### ചലഞ്ച് - NLP ഉപയോഗിച്ച് നിങ്ങളുടെ ബോട്ട് മെച്ചപ്പെടുത്തൽ
മുൻപത്തെ പാഠത്തിൽ നിങ്ങൾ വളരെ ലളിതമായ ഒരു Q&A ബോട്ട് നിർമ്മിച്ചു. ഇപ്പോൾ, നിങ്ങളുടെ ഇൻപുട്ട് സന്റിമെന്റ് അനാലിസിസ് ചെയ്ത് അതിനനുസരിച്ച് പ്രതികരണം പ്രിന്റ് ചെയ്ത് മാർവിൻ കൂടുതൽ സഹാനുഭൂതിയുള്ളവനാക്കാം. കൂടാതെ, ഒരു `noun_phrase` തിരിച്ചറിയുകയും അതിനെക്കുറിച്ച് കൂടുതൽ ചോദിക്കുകയും ചെയ്യണം.
മികച്ച സംഭാഷണ ബോട്ട് നിർമ്മിക്കുമ്പോൾ നിങ്ങളുടെ ഘട്ടങ്ങൾ:
1. ഉപയോക്താവിന് ബോട്ടുമായി എങ്ങനെ ഇടപഴകണമെന്ന് നിർദ്ദേശങ്ങൾ പ്രിന്റ് ചെയ്യുക
2. ലൂപ്പ് ആരംഭിക്കുക
1. ഉപയോക്തൃ ഇൻപുട്ട് സ്വീകരിക്കുക
2. ഉപയോക്താവ് പുറത്തുപോകാൻ ആവശ്യപ്പെട്ടാൽ, പുറത്തുകടക്കുക
3. ഉപയോക്തൃ ഇൻപുട്ട് പ്രോസസ്സ് ചെയ്ത് അനുയോജ്യമായ സന്റിമെന്റ് പ്രതികരണം നിർണയിക്കുക
4. സന്റിമെന്റിൽ നാമവാചക വാചകം കണ്ടെത്തിയാൽ അത് ബഹുവചനം ആക്കുകയും ആ വിഷയം കുറിച്ച് കൂടുതൽ ചോദിക്കുകയും ചെയ്യുക
5. പ്രതികരണം പ്രിന്റ് ചെയ്യുക
3. ഘട്ടം 2-ലേക്ക് മടങ്ങുക
TextBlob ഉപയോഗിച്ച് സന്റിമെന്റ് നിർണയിക്കുന്ന കോഡ് സ്നിപ്പെറ്റ് ഇവിടെ. സന്റിമെന്റ് പ്രതികരണത്തിന് നാല് *ഗ്രേഡിയന്റുകൾ* മാത്രമേ ഉള്ളൂ (നിങ്ങൾക്ക് കൂടുതൽ വേണമെങ്കിൽ ഉണ്ടാക്കാം):
```python
if user_input_blob.polarity <= -0.5:
response = "Oh dear, that sounds bad. "
elif user_input_blob.polarity <= 0:
response = "Hmm, that's not great. "
elif user_input_blob.polarity <= 0.5:
response = "Well, that sounds positive. "
elif user_input_blob.polarity <= 1:
response = "Wow, that sounds great. "
```
നിങ്ങൾക്ക് സഹായകമായ ചില സാമ്പിൾ ഔട്ട്പുട്ട് (ഉപയോക്തൃ ഇൻപുട്ട് > അടിയന്തിര വരികളിലാണ്):
```output
Hello, I am Marvin, the friendly robot.
You can end this conversation at any time by typing 'bye'
After typing each answer, press 'enter'
How are you today?
> I am ok
Well, that sounds positive. Can you tell me more?
> I went for a walk and saw a lovely cat
Well, that sounds positive. Can you tell me more about lovely cats?
> cats are the best. But I also have a cool dog
Wow, that sounds great. Can you tell me more about cool dogs?
> I have an old hounddog but he is sick
Hmm, that's not great. Can you tell me more about old hounddogs?
> bye
It was nice talking to you, goodbye!
```
ടാസ്കിന് ഒരു സാധ്യതയുള്ള പരിഹാരം [ഇവിടെ](https://github.com/microsoft/ML-For-Beginners/blob/main/6-NLP/2-Tasks/solution/bot.py) കാണാം
✅ അറിവ് പരിശോധിക്കൽ
1. സഹാനുഭൂതിയുള്ള പ്രതികരണങ്ങൾ ബോട്ട് അവരെ യഥാർത്ഥത്തിൽ മനസ്സിലാക്കിയതായി 'മോഷ്ടിക്കുമോ' എന്ന് നിങ്ങൾ കരുതുന്നുണ്ടോ?
2. നാമവാചക വാചകം തിരിച്ചറിയുന്നത് ബോട്ടിനെ കൂടുതൽ 'വിശ്വസനീയമാക്കുമോ'?
3. ഒരു വാക്യത്തിൽ നിന്ന് 'നാമവാചക വാചകം' എടുക്കുന്നത് എന്തുകൊണ്ട് ഉപകാരപ്രദമാണ്?
---
മുൻ അറിവ് പരിശോധിക്കൽയിൽ ബോട്ട് നടപ്പിലാക്കി ഒരു സുഹൃത്തിന്മേൽ പരീക്ഷിക്കൂ. അത് അവരെ മോഷ്ടിക്കുമോ? നിങ്ങൾക്ക് നിങ്ങളുടെ ബോട്ട് കൂടുതൽ 'വിശ്വസനീയമാക്കാനാകുമോ'?
## 🚀ചലഞ്ച്
മുൻ അറിവ് പരിശോധിക്കൽയിലെ ഒരു ടാസ്ക് എടുത്ത് നടപ്പിലാക്കാൻ ശ്രമിക്കൂ. ബോട്ട് ഒരു സുഹൃത്തിന്മേൽ പരീക്ഷിക്കൂ. അത് അവരെ മോഷ്ടിക്കുമോ? നിങ്ങൾക്ക് നിങ്ങളുടെ ബോട്ട് കൂടുതൽ 'വിശ്വസനീയമാക്കാനാകുമോ'?
## [പോസ്റ്റ്-ലെക്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/)
## അവലോകനം & സ്വയം പഠനം
അടുത്ത കുറച്ച് പാഠങ്ങളിൽ നിങ്ങൾ സന്റിമെന്റ് അനാലിസിസിനെക്കുറിച്ച് കൂടുതൽ പഠിക്കും. [KDNuggets](https://www.kdnuggets.com/tag/nlp) പോലുള്ള ലേഖനങ്ങളിൽ ഈ രസകരമായ സാങ്കേതിക വിദ്യയെക്കുറിച്ച് ഗവേഷണം നടത്തുക.
## അസൈൻമെന്റ്
[ഒരു ബോട്ട് സംസാരിപ്പിക്കുക](assignment.md)
---
**അസൂയാ**:
ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.