برنامه نویسی

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

تشخیص زبان یا وقتی می خواهیم زبانی را که با او ملاقات کردیم ، چه زبانی را تشخیص دهیم ، زبان را تشخیص دهیم؟ به عنوان مثال ، ما ممکن است بین کانجی ژاپنی و الفبای چینی اشتباه گرفته شود؟ 😵‍💫 تشخیص زبان می تواند به ما در جداسازی کمک کند.

که امروز سعی خواهیم کرد ماشین یادگیری استفاده از زبان با استفاده از پیتون و ویژگی های ترجمه را با هم اضافه کنید

چیزی که بدون آن نمی توانیم زندگی کنیم داده ها (داده ها) بله ، اطلاعات بیشتر مدل بسیار دقیق تر خواهد بود.
مجموعه داده هایی که امروز سعی خواهیم کرد انجام دهیم از Kaggle است. در این مورد ، 22 اطلاعات زبان محبوب وجود خواهد داشت ، هر زبان 1000 جمله خواهد داشت. این اطلاعات برای تمرین مدل ها بسیار مناسب است.
داده های Kaggle

  1. با وارد کردن شروع می شودکتابخانهدر پایتون لازم است و مجموعه داده های ما را بارگیری می کند
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())
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

  1. بیایید ببینیم که در این مجموعه داده ارزش دارد تهی آیا شما آنجا هستید؟ 🤔
data.isnull().sum()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

  1. بررسی کنید که اکنون زبان این مجموعه داده چیست؟
data["language"].value_counts()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر
این مجموعه داده بسیار متعادل است و ارزش از دست رفته ندارد. آماده استفاده برای آموزش!

  1. مدل تشخیص زبان ، اکنون ما اطلاعات را در مجموعه آموزش و مجموعه آزمایش جدا خواهیم کرد.
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)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

  1. اکنون می توانیم از این مدل برای تشخیص زبان استفاده کنیم. بگذارید کاربر پیام را پر کند!
user = input("Enter a Text: ")
data = cv.transform([user]).toarray()
output = model.predict(data)
print(output)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر
از نتایج به وضوح ، این مدل کار می کند ، اما می توان آن را فقط در جملات/کلمات یا زبانهایی که در مجموعه داده ها قرار دارند ، شناسایی کرد.تنها

ترجمه

بیایید آن را افزایش دهید ترجمه متنی که کاربر وارد کرده است باید خوب باشد 🫠 (می تواند از تشخیص ادامه یابد)
این مثال از کتابخانه API Google Translate استفاده می کند زیرا استفاده از آن آسان و رایگان است. 😋

  1. ابتدا کتابخانه را نصب کنید
pip install googletrans==4.0.0-rc1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. زبان هایی را به عنوان کتابخانه اضافه کنید که به ما کمک می کند زبان کلیدی را آسانتر بنویسیم ، مانند {'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()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

  1. از مترجم کلاس شیء ایجاد کنید.
translator = Translator()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. دستور داده شده است متن کاربر را ترجمه کند که او را زودتر پر می کند. نتایج در متغیر ترجمه شده ذخیره می شوند ، که با اطلاعات مورد نظر است.
  • Translate.Text = متن ترجمه شده

  • ترجمه. src = زبان اصلی که سیستم می تواند آن را تشخیص دهد
    همین !!

translated = translator.translate(user, dest=lang_code)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. نتایج متن ترجمه شده را نشان دهید
print(f"Translated to [{lang_code}]:", translated.text)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

پایان
برای این مقاله می توانیم با استفاده از پایتون و اطلاعات مناسب ، یک مدل زبان با یادگیری ماشین ایجاد کنیم. و هنگام کار با Google Translate API ، می توانید به راحتی متن را به زبان های مختلف ترجمه کنید. این آزمایش برای مبتدیانی که می خواهند تمرین کنند مناسب است. و در آینده به برنامه واقعی گسترش دهید

Ref: (https://thecleverprogrammer.com/2021/10/30/language-detection-with-machine-learning/)
و همکارانش

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا