บทความนี้เราจะมาพูดถึง Language Detection with Machine Learning หรือการตรวจจับภาษาและจำแนกภาษา
Language Detection
ในฐานะมนุษย์สามารถตรวจจับภาษาที่รู้จักได้อย่างง่ายดาย แต่ก็มีข้อจำกัดกับบางภาษาที่ไม่สามารถระบุได้ว่าภาษาที่เห็นเป็นภาษาอะไร แต่มีนักแปลภาษาที่ได้รับความนิยมมากที่สุดในโลกซึ่งมีผู้คนจำนวนมากใช้อยู่
นั่นคือ "Google Translate" นอกจากนี้ยังมี Machine Learning Model เพื่อตรวจจับภาษาที่คุณสามารถใช้ได้ หากไม่ทราบว่าต้องการแปลภาษาใด
ส่วนสำคัญที่สุดของการฝึกอบรมการตรวจจับภาษาให้มีประสิทธิภาพ คือ ข้อมูล ยิ่งมีข้อมูลเกี่ยวกับภาษาหลาย ๆ ภาษามาก การตรวจจับภาษาก็จะทำงานได้แม่นยำมากขึ้นในแบบ Real-time
ในชุดข้อมูลที่ใช้ถูกรวบรวมจาก Kaggle ซึ่งมีข้อมูลเกี่ยวกับภาษายอดนิยม 22 ภาษาและมี 1000 ประโยคในแต่ละภาษา ดังนั้นจะเป็นชุดข้อมูลที่เหมาะสมสำหรับการฝึกอบรมการตรวจจับภาษาด้วยการเรียนรู้ของเครื่อง
Language Detection using Python
ต่อมาเป็นวิธีการฝึก Machine Learning Model โดยใช้ Python
❤️ขั้นตอนที่ 1 นำเข้า Python Libraries และ Dataset
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())
▷ต่อมาให้ลองตรวจสอบว่าDatasetนี้มีค่าว่างหรือไม่ด้วยCodeคำสั่ง
data.isnull().sum()
จะแสดงผลดังนี้

▷ตรวจสอบภาษาในDataset ด้วยCodeคำสั่ง
data["language"].value_counts()
จะแสดงผลดังนี้

❤️ขั้นตอนที่ 2 แบ่งข้อมูลจำแนกคลาสออกเป็นชุดฝึกอบรมกับชุดทดสอบ
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)
เนื่องจากนี่เป็นปัญหาของการจำแนกหลายคลาส ดังนั้นจะใช้ Multinomial Naïve Bayes Algorithm เพื่อฝึก Language Detection Model เนื่องจาก Algorithm นี้ทำงานได้ดีมากในปัญหาการจำแนกประเภทหลายคลาส
model = MultinomialNB()
model.fit(X_train,y_train)
model.score(X_test,y_test)
❤️ขั้นตอนที่ 3 Codeที่ให้ผู้ใช้ป้อนข้อความเพื่อทำการตรวจจับภาษา
user = input("Enter a Text: ")
data = cv.transform([user]).toarray()
output = model.predict(data)
print(output)
เมื่อทำการRun Codeแล้ว จะขึ้นกล่องให้เราใส่ข้อความลงไป👩🏻💻
ผลที่แสดงออกมาเมื่อเรากรอกข้อความลงไป ตัวอย่างเช่น พิมพ์คำว่า "สวัสดีชาวโลก"👽 ภาษาที่แสดงออกมาก็คือ 'Thai'🇹🇭
👉🏻สรุป
Language Detection Model โดยการเขียนด้วย Python เป็น Machine Learning ประเภท Supervised Learning คือมีการใช้Datasetในการสอนเพื่อให้สามารถตรวจจับภาษาได้ว่า ภาษาที่ผู้ใช้กรอกลงไปเป็นภาษาอะไร แต่ข้อจำกัดของโมเดลนี้คือจะสามารถตรวจจับภาษาได้แค่ 22 ภาษา หรือตามในDatasetนั่นเอง
🙏🏻ขอบคุณข้อมูลจากเว็บไซต์https://thecleverprogrammer.com/2021/10/30/language-detection-with-machine-learning/




Top comments (0)