நாமே நம்முடைய சொந்த செய்யறிவை(AI) உருவாக்குதல் -பயிற்சித் தொடர்–பகுதி 9:மொழியின் புரிதலுக்கான இயற்கை மொழி செயலாக்கம் (NLP).

இயற்கை மொழி செயலாக்கம் (NLP) என்பது செய்யறிவின்(AI)ஒரு கவர்ச்சிகரமான துறையாகும், இது மனித மொழியைப் புரிந்துகொள்ளவும், விளக்கமளிக்கவும், உருவாக்கவும் கணினிஇயந்திரங்களுக்கு உதவுகிறது. இந்தக் கட்டுரை NLP இன் அடிப்படைக் கருத்தமைவுகளை ஆராய்கிறது, இதில் உரையின் முன் செயலாக்கம், சொல்லின் உட்பொதிப்புகள் , வகைப்பாடு, மொழிபெயர்ப்பு , சுருக்கமாக்குதல் போன்ற பல்வேறு மொழித் தொடர்பான பணிகளுக்கான கட்மைப்பு மாதிரிகள் ஆகியவை அடங்கும்.
1. NLP என்றால் என்ன?
NLPஎன்பது மனித தொடர்புக்கும் கணினியின் புரிதலுக்கும் இடையிலான இடைவெளியைக் குறைக்கிறது, கணினிஇயந்திரங்களை மனித மொழிகளை புரிந்துகொள்ள அனுமதிக்கிறது இதன்பயன்பாடு பின்வருமாறு:
உரையில் உள்ள உணர்வை பகுப்பாய்வு செய்திடுதல்.
நிகழ்நேரத்தில் மொழிகளை இயந்திரமொழியாகமொழிபெயர்த்திடுதல்.
ஒத்திசைவான, அர்த்தமுள்ள உள்ளடக்கத்தை உருவாக்கிடுதல்.
மிகநீண்ட கட்டுரைகளை சுருக்கமாக ஆக்கிடுதல்.
2. NLP இன் முக்கிய கூறுகள்
அ. உரையில் முன்கூட்டியேயான செயலாக்கம்
ML மாதிரிக்கு உரையை ஊட்டுவதற்கு முன், அதை சரியாக சுத்தம் செய்து கட்டமைக்க வேண்டும். பொதுவான முன்கூட்டியேயான செயலாக்க படிமுறைகள் பின்வருமாறு:
Tokenization: உரையை சிறிய அலகுகளாகப் பிரித்தல் (சொற்கள், சொற்றொடர்கள்).
Stopword நீக்கம்செய்தல்: “is,” “and,” அல்லது “the” போன்ற பொதுவான ஆனால் தகவல் எதுவும் இல்லாத சொற்றொடரின் நிறுத்தம் செய்திடுகின்ற சொற்களை நீக்கம் செய்தல்.
Stemming and Lemmatizatio: சொற்களை அவற்றின் மூல வடிவங்களுக்கு குறைத்தல் (எ.கா., “running” → “run” ஓடுதல் → ஓடு).
உரையில் Vectorization: மாதிரி நுகர்வுக்கு உரையை எண் வடிவமாக மாற்றுதல்.
ஆ. சொல்லின் உட்பொதிப்புகள்
சொல்லின் உட்பொதிப்புகள் உயர் பரிமாண திசையன்(vector) இடத்தில் சொற்களைக் குறிக்கின்றன, அவற்றுக்கிடையேயான சொற்பொருளின் உறவுகளைப் பிடிக்கின்றன.
One-Hot Encoding: ஒரு எளிய ஆனால் அரிதான உருவகிப்பு.
Word2Vec: ஒரே மாதிரியான சொற்களை ஒன்றோடொன்று இணைக்கின்ற உட்பொதித்தல்.
GloVe: இணை நிகழ்வு புள்ளிவிவரங்களையும் உட்பொதிவுகளையும் ஒருங்கிணைக்கிறது.
FastText: உட்பொதிப்புகளை துனைச்சொல்லின் நிலைக்கு விரிவுபடுத்துகிறது, உருவவியல் தகவலைப் பிடிக்கிறது.
இ. வரிசை மாதிரிகள்:
NLP பணிகள் பெரும்பாலும் RNNகள், LSTMகள், GRUகள், மொழிமாற்றிகள் போன்ற மாதிரிகளை சார்ந்து மொழியை செயலாக்கவும் உருவாக்கவும்செய்கின்றன.
3. பொதுவான NLPஇன் பணிகள்
அ. உரையின் வகைப்பாடு
குப்பையான சொற்களை கண்டறிதல் அல்லது உணர்வு பகுப்பாய்வு போன்ற வகைகளை உரைக்கு ஒதுக்குகிறது.
ஆ. இயந்திர மொழிபெயர்ப்பு
கவனத்துடன் அல்லது மொழிமாற்றிகளுடன் seq2seq போன்ற மாதிரிகளைப் பயன்படுத்தி ஒரு மொழியிலிருந்து மற்றொரு மொழிக்கு உரையை மொழிபெயர்க்கிறது.
இ. உரையை சுருக்கமாக்குதல்
பெரிய ஆவணங்களை சுருக்கமான உரையாக சுருக்குமாகஆக்குகிறது. பின்வருமாறு செயல்படுத்திட முடியும்:
பிரித்தெடுத்தல்: முக்கிய சொற்றொடர்களைத் தேர்ந்தெடுக்கிறது.
சுருக்கமாக்குதல்: உரையின் பொருளின் அடிப்படையில் புதிய சொற்றொடர்களை உருவாக்குகிறது.
ஈ. பெயரிடப்பட்ட நிறுவன ஏற்புகைசெய்தல் (NER)
உரையில் பெயர்கள், இருப்பிடங்கள் அல்லது தேதிகள் போன்ற நிறுவனங்களை அடையாளம் காண்கின்றது.
4. Hands-On எடுத்துக்காட்டு: NLP உடன் உணர்வு பகுப்பாய்வு
படிமுறை 1: நூலகங்களை நிறுவுகைசெய்திடுக
pip install nltk scikit-learn tensorflow
படிமுறை 2: நூலகங்களை பதிவிறக்கம் செய்திடுக
import nltk
from sklearn.feature_extraction.text import CountVectorizer
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Embedding, LSTM
nltk.download(‘punkt’)
nltk.download(‘stopwords’)
படிமுறை 3: முன்கூட்டியேயான செயலாக்க உரையாக்கம்செய்திடுக
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

Example text

text = “The movie was fantastic! I really enjoyed it.”

Tokenize and remove stopwords

tokens = word_tokenize(text.lower())
tokens = [word for word in tokens if word.isalnum() and word not in stopwords.words(‘english’)]
print(tokens) # Output: [‘movie’, ‘fantastic’, ‘really’, ‘enjoyed’]
படிமுறை 4: உரையை Vectorize செய்திடுக

Convert text into numerical format

vectorizer = CountVectorizer()
X = vectorizer.fit_transform([” “.join(tokens)]).toarray()
print(X) # Output: Sparse vector representing token counts
படிமுறை 5: ஒரு எளிய உணர்வு வகைப்படுத்தியை உருவாக்கிடுக
model = Sequential([
Embedding(input_dim=1000, output_dim=64, input_length=X.shape[1]),
LSTM(64, return_sequences=False),
Dense(1, activation=’sigmoid’) # Binary classification
])
model.compile(optimizer=’adam’, loss=’binary_crossentropy’, metrics=[‘accuracy’])
model.fit(X, [1], epochs=5) # Example with one positive sentiment label
5. NLP போக்குகளும் கருவிகளும்
அ. மொழிமாற்றிகள்: BERT, GPT , T5 போன்ற நவீன NLP மாதிரிகளின் சூழலை மிகவும் திறம்பட புரிந்துகொள்வதன் மூலம் இந்ததுறையில் புரட்சியை ஏற்படுத்தியுள்ளன.
ஆ. முன் பயிற்சி பெற்ற மாதிரிகள்: Hugging Face மொழிமாற்றிகள் போன்ற முன் பயிற்சி பெற்ற மாதிரிகளைப் பயன்படுத்துவது குறிப்பிடத்தக்க நேரத்தையும் வளங்களையும் மிச்சப்படுத்துகின்றது.
இ. நிகழ்நேரப் பயன்பாடுகள்: குரலொலி உதவியாளர்கள், அரட்டையறைகள், உள்ளடக்கத்தை உருவாக்குபவர்கள் ஆகியோர் மேம்பட்ட NLP நுட்பங்களை பெரிதும் நம்பியுள்ளனர்.
6. NLP இன் பயன்பாடுகள்
மருத்துவத்துறை (Healthcare): நோயாளியின் பதிவு பகுப்பாய்வு தானியங்கியாக்குதல்.
வாடிக்கையாளர் சேவை: உடனடி ஆதரவுக்கான அரட்டையறைகள்.
நிதி: பங்குச் சந்தை கணிப்புகளுக்கான செய்திகளை பகுப்பாய்வு செய்தல்.
உள்ளடக்க உருவாக்கம்: கட்டுரைகள், சுருக்கமாக்குதல்கள் அல்லது ஆக்கப்பூர்வமான உரையை உருவாக்குவதற்கான GPT போன்ற கருவிகள்.
தொடரும்