17 มกราคม 2558

Published มกราคม 17, 2558 by with 0 comment

แปลภาษาด้วย Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปแปลภาษาด้วย Python กันครับ
ก่อนเริ่มเขียนโปรแกรมเรามารู้จักภาษามากกว่านี้ครับ
ภาษา คือ อะไร?
ภาษา คือ กริยาอาการที่แสดงออกมาแล้วสามารถทำความเข้าใจกันได้ สื่อความหมายให้อีกฝ่ายหนึ่งเข้าใจ แบ่งออกเป็น 2 ประเภท

  1. วัจนภาษา (ภาษาถ้อยคำ)
  2. อวัจนภาษา (ภาษาที่ไม่ใช้ถ้อยคำ)
ภาษาที่ผมจะพูดถึง คือ วัจนภาษา (ภาษาถ้อยคำ) มนุษย์มีการสื่อสารกันโดยใช้ภาษาเป็นหลัก แต่เนื่องด้วยเหตุผลหลายประการ ไม่ว่าจะเป็นสภาพภูมิศาสตร์ สังคม วัฒนธรรม ความเชื่อ ทำให้ภาษาของมนุษย์ไม่เหมือนกัน เช่น ภาษาไทยกับภาษาอังกฤษ ครับ

ในการจะติดต่อกับประเทศอื่น ๆ ที่ใช้ภาษาไม่เหมือนกัน จึงต้องมีล่ามหรือนักแปล ปัจจุบัน เทคโนโลยีได้พัฒนามาจนถึงปัจจุบันนี้ เราสามารถสื่อสารกันได้แบบเบี้องต้นด้วยเครื่องมือแปลภาษาของคอมพิวเตอร์ ในวงการอินเทอร์เน็ตได้มีผู้ให้บริการด้านภาษา เช่น Google แปลภาษา ออกเครื่องมือให้นักพัฒนานำความสามารถไปใช้กับโปรแกรมภายนอก บทความนี้จะพาผู้อ่านไปแปลภาษาด้วย Python กันครับ

ผมขอแนะนำโมดูล goslate เป็นโมดูลที่นำ Google Translate มาใช้งานร่วมกับ Python รองรับทั้ง Python 2 และ Python 3 (License: MIT) https://pypi.python.org/pypi/goslate

สามารถติดตั้งได้ง่าย ๆ โดยใช้คำสั่ง pip ดังนี้ครับ
pip install goslate

ในการใช้งานสามารถใช้งานได้ง่าย ๆ ดังนี้ครับ

gs.translate('ข้อความ', 'รหัสภาษา เช่น en คือ ภาษาอังกฤษ th คือ ภาษาไทย')

ตัวอย่าง


>>> import goslate
>>> gs = goslate.Goslate()
>>> print(gs.translate('hello world', 'th')) #
สวัสดีชาวโลก
>>> print(gs.translate('สวัสดีชาวโลก', 'en'))
Hello world!


ตัวอย่างการนำไปประยุกต์ใช้

นำโมดูล SpeechRecognition มาใช้รับเสียงจากชาวต่างชาติ แล้วใช้โมดูล goslate มาแปลเป็นข้อความภาษาไทย


import goslate
import speech_recognition as sr
gs = goslate.Goslate()
r = sr.Recognizer()
with sr.Microphone() as source:                # เรียกใช้  Microphone พื้นฐานของระบบ
    audio = r.listen(source)                   # รับเสียงเข้ามาแล้วประมวลผลส่งไปยัง Google Speech Recognition API
try:
    a = r.recognize(audio)
    b = gs.translate(a, 'th')     # แสดงข้อความจากเสียงด้วย Google Speech Recognition
    print(b)
except LookupError:                            # ประมวลผลแล้วไม่รู้จักหรือเข้าใจเสียง
        print("Could not understand audio")


ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)