با استفاده از پایتون ، زبان و ترجمه تشخیص ایجاد کنید.

تشخیص زبان یا وقتی می خواهیم زبانی را که با او ملاقات کردیم ، چه زبانی را تشخیص دهیم ، زبان را تشخیص دهیم؟ به عنوان مثال ، ما ممکن است بین کانجی ژاپنی و الفبای چینی اشتباه گرفته شود؟ 😵💫 تشخیص زبان می تواند به ما در جداسازی کمک کند.
که امروز سعی خواهیم کرد ماشین یادگیری استفاده از زبان با استفاده از پیتون و ویژگی های ترجمه را با هم اضافه کنید
چیزی که بدون آن نمی توانیم زندگی کنیم داده ها (داده ها) بله ، اطلاعات بیشتر مدل بسیار دقیق تر خواهد بود.
مجموعه داده هایی که امروز سعی خواهیم کرد انجام دهیم از Kaggle است. در این مورد ، 22 اطلاعات زبان محبوب وجود خواهد داشت ، هر زبان 1000 جمله خواهد داشت. این اطلاعات برای تمرین مدل ها بسیار مناسب است.
داده های Kaggle
- با وارد کردن شروع می شودکتابخانهدر پایتون لازم است و مجموعه داده های ما را بارگیری می کند
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
data = pd.read_csv("https://raw.githubusercontent.com/amankharwal/Website-data/master/dataset.csv")
print(data.head())
- بیایید ببینیم که در این مجموعه داده ارزش دارد تهی آیا شما آنجا هستید؟ 🤔
data.isnull().sum()
- بررسی کنید که اکنون زبان این مجموعه داده چیست؟
data["language"].value_counts()
این مجموعه داده بسیار متعادل است و ارزش از دست رفته ندارد. آماده استفاده برای آموزش!
- مدل تشخیص زبان ، اکنون ما اطلاعات را در مجموعه آموزش و مجموعه آزمایش جدا خواهیم کرد.
x = np.array(data["Text"])
y = np.array(data["language"])
cv = CountVectorizer()
X = cv.fit_transform(x)
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.33,random_state=42)
از آنجا که ما می خواهیم طبقه بندی چند طبقه) با استفاده از بیزهای ساده لوح چندوجهی برای حل مشکل فرکانس کلمات در هر زبان/کلاس برای محاسبه احتمال متن جدید که احتمالاً به هر زبانی وجود دارد ، کمک کند.
model = MultinomialNB()
model.fit(X_train,y_train)
model.score(X_test,y_test)
- اکنون می توانیم از این مدل برای تشخیص زبان استفاده کنیم. بگذارید کاربر پیام را پر کند!
user = input("Enter a Text: ")
data = cv.transform([user]).toarray()
output = model.predict(data)
print(output)
از نتایج به وضوح ، این مدل کار می کند ، اما می توان آن را فقط در جملات/کلمات یا زبانهایی که در مجموعه داده ها قرار دارند ، شناسایی کرد.تنها
ترجمه
بیایید آن را افزایش دهید ترجمه متنی که کاربر وارد کرده است باید خوب باشد 🫠 (می تواند از تشخیص ادامه یابد)
این مثال از کتابخانه API Google Translate استفاده می کند زیرا استفاده از آن آسان و رایگان است. 😋
- ابتدا کتابخانه را نصب کنید
pip install googletrans==4.0.0-rc1
- زبان هایی را به عنوان کتابخانه اضافه کنید که به ما کمک می کند زبان کلیدی را آسانتر بنویسیم ، مانند {'en': 'انگلیسی' ، 'th': 'thai' ، …} برای استفاده برای دیدن چه زبانی برای ترجمه.
from googletrans import LANGUAGES
print("🔤 Languages available for translation:") #ภาษาที่สามารถแปลได้มีอะไรบ้าง
for code, name in LANGUAGES.items():
print(f"{code} = {name.capitalize()}")
ورودی را از کاربر دریافت کنید که چه زبانی را می خواهید ترجمه کنید.
lang_code = input("\nEnter target language code (e.g., en, th, fr): ").strip()
- از مترجم کلاس شیء ایجاد کنید.
translator = Translator()
- دستور داده شده است متن کاربر را ترجمه کند که او را زودتر پر می کند. نتایج در متغیر ترجمه شده ذخیره می شوند ، که با اطلاعات مورد نظر است.
-
Translate.Text = متن ترجمه شده
-
ترجمه. src = زبان اصلی که سیستم می تواند آن را تشخیص دهد
همین !!
translated = translator.translate(user, dest=lang_code)
- نتایج متن ترجمه شده را نشان دهید
print(f"Translated to [{lang_code}]:", translated.text)
پایان
برای این مقاله می توانیم با استفاده از پایتون و اطلاعات مناسب ، یک مدل زبان با یادگیری ماشین ایجاد کنیم. و هنگام کار با Google Translate API ، می توانید به راحتی متن را به زبان های مختلف ترجمه کنید. این آزمایش برای مبتدیانی که می خواهند تمرین کنند مناسب است. و در آینده به برنامه واقعی گسترش دهید
Ref: (https://thecleverprogrammer.com/2021/10/30/language-detection-with-machine-learning/)
و همکارانش