Beyond translation with AI 🇸🇬
มารู้จัก Ez Translation with DeepL จากงาน City JS 2023 กัน
นี่คงเป็น ช่วงท้ายๆ ที่คุณ Estee tey พูดไว้ใน talk ของ Ez Translation with DeepL คงเป็นประโยคที่ ทัชหัวใจ จนอยากนำมันมาเขียนไว้ในเป็นบทความเลยล่ะ
…
เกริ่นนำสักนิดละกัน เนื่องจากช่วงกรกฏาคม ที่ผ่านมาป๊อบเองและเพื่อนๆ ได้มีโอกาสไปเข้าร่วมงาน CityJS Singapore 2023 🇸🇬 ที่คนธรรมดาอย่างชาว ODDS เป็น sporncerให้ (ขอกราบงามๆ 🙏) เลยขอหยิบยกหัวข้อนี้ มาพูดกันหน่อย
เริ่มต้น session นี้ ด้วยการพาเราไปรู้จักกระบวนการแปล ตั้งแต่ต้นน้ำยันปลายน้ำ เลยทีเดียว ที่ใน talk ครั้งนี้จะทำให้เราสัมผัส ว่า “การแปลมันทำงานยังไง แล้วเราจะเอา DeepL เข้ามาช่วยในการแปลได้ยังไงกัน”
โดยขอสรุปเนื้อหาเป็น 2 part ใหญ่ๆ แบบนี้
Part 1 — How to string storage
Part 2 —Take a tour of DeepL
….
Part1 — How to string storage
เราจะพาคุณย้อนกลับไป ตรง Basic สุดของการแปล ว่าหากเราต้องการที่ให้หน้าเว็บของเรา สามารถที่จะแสดงข้อความ จากภาษาหนึ่ง ไปยังอีกภาษาหนึ่งได้นั้น มันเกิดขึ้นมาได้ยังไงกัน
วิธีแรก ที่โคตรง่ายเลย คือ การสร้าง constant ขึ้นมา เพื่อเก็บค่าของภาษานั้นไว้
แล้วถ้ามี หลายภาษาล่ะ? โอเคเราก็ตั้ง ชื่อตัวแปรไปตามภาษานั้นๆ เลย 😊
จาก code ดังกล่าว ก็นำมาสู่ปัญหาที่ว่า ถ้าเกิดมีหลายคำล่ะ ? ตัวแปรน่าจะเยอะมากเลยนะ 😲 ก็เลยมีคนเห็นว่า นั่นไงมันมี pattern คล้ายๆกัน เลยเริ่มนำ object เข้ามาใช้
จนสุดท้าย ก็เกิด i18n ที่เป็น standard ที่ผู้คนนิยมใช้กันมากที่สุดในการเก็บ แต่ละภาษาไว้ในรูปแบบของ json file
Part 2 — Take a tour of DeepL
เมื่อคุณรู้จักแล้วว่า คำศัพท์ของแต่ละภาษาถูกจัดเก็บอย่างไร งั้นเรามาดูต่อว่า มีเครื่องมือ ใดบ้างที่เราใช้ในการแปล
ตัวแรก คงต้อง ยกให้คนนี้เลย Transifex ซึ่งมีคนเคลมว่าเป็น higher actual professional translator เลยนะ ซึ่งดีมาก แต่แอบแพงไปนิด 🥲💰
เลยมีคนนำเสนอ DeepL ที่โดนเคลมว่าเป็น The world’s most accurate translator. และยังแม่นยำกว่า google translate ตั้ง 6 เท่า 😲 ในภาษาญี่ปุ่นและเยอรมัน (มีทั้งแบบฟรีและเสียเงินเลย)
โดยที่ DeepL เองก็เป็นระบบ machine translation ที่ใช้เทคนิคการเรียนรู้เชิงลึก (deep-learning) เพื่อทำให้การแปลมีคุณภาพสูง ซึ่งดูสถิติ ได้จากรูปด้านล่างเลย
ต่อมา เขายกตัวอย่าง 2 project ที่เอา DeepL มาใช้งานจริงๆ อย่างใน วิดีโอ ด้านล่างเป็นผลงานของ Local SG ที่แปลงเสียง anime waifu โดยที่พากษ์เสียงแค่ภาษาอังกฤษ แต่ตัวละครสามารถพูดเป็นภาษาญี่ปุ่นได้ด้วย
และอีก project หนึ่ง ที่ชาว X อย่างเราเห็นกันบ่อยใน Twitter ก็มีการเอา DeepL เข้ามาใช้งานด้วย
….
มาต่อกัน หลังจากเรารู้จักวิธีการจัดเก็บข้อมูลของแต่ละภาษาแล้ว และรู้จัก DeepL แล้ว ก็เข้าสู่ช่วงการนำ DeepL เข้ามาใช้จริงๆใน project
โดยการลง lib ตัวหนึ่ง ที่มีชื่อว่า “vue -i18n-next” ที่จะช่วยเราในการ config ให้การแปลภาษาง่ายขึ้น
หลังจาก เราลง config เสร็จ ก็มาลองใช้งาน DeepL ผ่าน github action กัน โดยหลังจากที่เราเปิด PR เสร็จ เราก็จะรู้ได้ชุดของ text ในภาษาอื่นมาด้วยเลย โดยที่เราเองก็เพียงระบุแค่เพียง ภาษาอังกฤษ ไว้เท่านั้น!!! 🤩
แต่ตอนนี้ทาง DeepL ยังไม่ support ภาษาไทย 🇹🇭 และรองรับ payment แบบไทยนะ แต่ก็น่าจะเป็น concept คร่าวๆให้เราได้เห็นอีกมุมของการแปล ว่ามีอะไรแบบนี้ด้วย
…
วนกลับมาที่ ท้ายๆ ของ session นี้ นอกจากเนื้อหาทั้ง 2 part ที่กล่าวไปแล้วนั้น ส่วนตัวค่อนข้างประทับใจใน mindset ของ speaker ที่พยายามสอดแทรกความเอาใจใส่ อย่าง Quote ที่บอกว่า
“Not everyone will have a browser that provides built-in translation by default. It would be good for every app to offer localization in some way or another.”
สุดท้าย ขอบคุณเพื่อนๆ ที่ไปด้วยกันมาก และขอบคุณผู้อ่านทุกท่านที่อ่านกันมาจนจบ จริงๆภายในงานยังมีอีกหลาย session ที่น่าสนใจ ตามอ่านได้ที่นี่เลย
…
Ref:
ชม Talk เต็มๆได้ที่นี่เลย https://www.youtube.com/watch?v=9bc-z-WTqKA