Thai Input Method on Mobile Phone

เรื่องนี้เคยคุยกับ @pittaya และอีกหลายๆ คนตอนไป GoogleDevFestBkk ไว้บ้างนิดหน่อย

ประเด็นคือ เรากำลังจะเข้าสู่ยุคที่ใช้โทรศัพท์มือถือเป็นอุปกรณ์หลักสำหรับเข้าถึงอินเทอร์เน็ตในเร็ววัน เริ่มมีอุปกรณ์ที่ใช้งานได้จริงจังอย่าง iPhone, BlackBerry Storm หรือ T-Mobile G1 ออกมาให้เห็น ความก้าวหน้าที่สำคัญอันหนึ่งของอุปกรณ์พวกนี้คือ input method ที่ก้าวหน้ากว่ามือถือแบบเก่าๆ ที่ใช้ numpad 12 ปุ่ม เช่น มีระบบสัมผัสพร้อม soft keyboard หรือว่าคีย์บอร์ดจริงแบบ QWERTY เต็มขั้น ทำให้การพิมพ์หรือป้อนข้อมูลบนมือถือนั้นง่ายขึ้นกว่าเดิมมาก ตัวอย่างที่ชัดเจนคือ ผมเคยได้ยินว่ามีคนพิมพ์นิยายทั้งเรื่องด้วย iPhone มาแล้ว

ปัญหาคือ input method เหล่านี้มันออกแบบมาสำหรับเฉพาะภาษาอังกฤษ (หรือถ้าพูดให้ถูกคือภาษาตระกูลละติน) พอเอามาใช้ป้อนภาษาไทย มันไม่ถึงกับเจ๊ง แต่ก็ไม่เนียนเหมือนป้อนภาษาอังกฤษ

ตัวอย่างแรก soft keyboard ของ iPhone นั้น ถ้าต้องการป้อนตัวพิมพ์ใหญ่ ให้กด shift หนึ่งทีจะเป็นการ toggle โหมดตัวพิมพ์ใหญ่ พอพิมพ์ตัวอักษรใดๆ สักตัวแล้ว โหมดจะถูกเปลี่ยนกลับอัตโนมัติเป็นตัวพิมพ์เล็ก ถ้าต้องการพิมพ์ตัวใหญ่อีกก็ต้องทำซ้ำกระบวนการเดิม ฟังดูแล้วยุ่งยากกว่าการพิมพ์ด้วยคีย์บอร์ดบนคอมพิวเตอร์อยู่พอสมควร

เหตุผลของการออกแบบแบบนี้ เป็นเพราะ

  1. คีย์บอร์ดของ iPhone ต้องจิ้มลงไปบนจอ การกดค้างทำได้ยากกว่าคีย์บอร์ดจริง (ไม่มี feedback ว่าเรากำลังกดค้างอยู่ — ผมไม่เคยใช้จอสัมผัสแบบ haptic ไม่รู้ว่าแก้ปัญหานี้ได้แค่ไหน)
  2. iPhone ออกแบบมาให้ใช้นิ้วโป้ง 2 นิ้วในการพิมพ์ ดังนั้นถ้าใช้วิธี นิ้วโป้งซ้ายกด Shift ค้างไว้ จะพิมพ์ตัวอักษรในฝั่งซ้ายมือ (เช่น ASDF) ไม่ได้เพราะมือต้องกดค้างอยู่
  3. ธรรมชาติของภาษาอังกฤษนั้นใช้ตัวพิมพ์ใหญ่น้อยมาก เอาเข้าจริงแล้วเราไม่จำเป็นต้องใช้ตัวใหญ่เลย ก็สามารถเขียนข้อความที่ต้องการสื่อได้ ดูสุภาพหรือไม่นั้นเป็นอีกเรื่องหนึ่ง แต่อย่างน้อยข้อความที่เป็นตัวพิมพ์เล็กล้วนๆ มันอ่านรู้เรื่องแน่นอน เมื่อนานๆ ทีใช้ที การกดปุ่มเพื่อ toggle จึงไม่ใช่ปัญหานัก

แต่ภาษาไทยมันไม่ใช่แบบนั้นสิครับ ไม่ว่าจะยังไงก็มีกรณีที่ต้องกด Shift เสมอ (ที่ใช้บ่อยหน่อยก็ตัวการันต์) ถ้าเราลองจินตนาการว่าพิมพ์ภาษาไทยบน iPhone หรือมือถืออื่นๆ ที่มีลักษณะเดียวกัน ต้องกด Shift เพื่อ toggle ซ้ำแล้วซ้ำอีกคงไม่สนุกนัก

ตัวอย่างที่สองคือ การป้อนภาษาไทยบนมือถือปัจจุบันที่ใช้ Numpad 12 ปุ่ม โดยปกติแล้ว การป้อนข้อความบน Numpad มีสองวิธีใหญ่ๆ คือ พิมพ์เองตรงๆ หรือใช้ T9

วิธีพิมพ์เองตรงๆ นั้นมีปัญหากับภาษาไทย เพราะว่ามีอักขระเยอะ (44 ตัว+สระ+วรรณยุกต์) กดเลื่อนกันทีมือหงิก (ลองกดปุ่ม * ที่มือถือส่วนมาก map กับสระดูได้ กว่าจะเลื่อนไปถึงตัว ไ ก็กดสัก 7-8 ที)

ส่วนการใช้ T9 ก็ไม่ได้ดีกว่ากันเท่าไรนัก เพราะว่าลักษณะรูปคำของภาษาไทยนั้นคล้ายกันมาก เช่น อักษรนำ-สระหน้า/หลัง-ตัวสะกด (e.g. ก-า-ร, ม-แ-ว, น-า-น) ทำให้ sequence ของการกดปุ่มนั้นมีโอกาสซ้ำกันสูง ผลก็คือรายการคำที่ขึ้นมาให้เลือกจะยาวมาก กว่าจะเลื่อนไปถึงคำที่ต้องการก็ต้องกดกันยิก

ถ้าใครมีมือถือที่มี T9 ภาษาไทยลองเปิดมาเล่นดูได้ครับ (ผมเข้าใจว่าการเรียงปุ่มภาษาไทยของมือถือแต่ละค่ายจะไม่เหมือนกันซะทีเดียว ตัวอย่างของผมนี้ใช้ Sony Ericsson) คำว่า “การ” “ขาย” “กาย” “งาม” “กาล” “ขาล” พวกนี้จะต้องกด “2-*-7” เหมือนกันทั้งหมด และรายการสะกดคำของ sequence ปุ่มแบบนี้ ยาวถึง 23 อัน (นี่เรายังไม่สนใจกรณีของสระบน-ล่าง หรือ วรรณยุกต์ด้วยซ้ำ)

มือถือผมเป็น Numpad และผมก็เจอปัญหานี้ เวลาพิมพ์ข้อความลงใน Twitter ผ่านมือถือ (ไม่ว่าจะใช้ m.twitter.com, jibjib หรือ SMS ก็ตาม เพราะใช้ input method แบบเดียวกัน) ผมจึงเลือกที่จะพิมพ์ภาษาอังกฤษเพราะมันพิมพ์ได้เร็วกว่ามาก ข้อเสียก็คือเราไม่สามารถบรรยายประโยคบางอย่างได้ตรงนัก ส่งผลให้ข้อมูลบางอย่างไม่ถูกส่งออกไป หรือตีความได้ยาก (เช่น ชื่อคนหรือสถานที่)

กล่าวโดยสรุปคือ: ถ้าประสบการณ์ในการพิมพ์ภาษาไทยบนมือถือมันยุ่งยากและซับซ้อนกว่าภาษาอังกฤษ มันจะส่งผลต่อเนื่องตามเป็นลูกโซ่ไปยังประเด็นอื่นๆ ที่ใหญ่กว่า เช่น จำนวนเนื้อหาภาษาไทย, อัตราการใช้งานอินเทอร์เน็ตผ่านมือถือของคนไทย, digital divide, ความสามารถในการแข่งขันทางธุรกิจ (ตัวอย่างคือดีลงานไม่ทัน เพราะไม่สามารถพิมพ์ตอบอีเมลผ่านมือถือเป็นภาษาไทยได้สะดวก ต้องรอกลับไปใช้คอมพิวเตอร์) ฯลฯ

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

ภาษาอื่นที่มีตัวอักขระเยอะๆ อย่างจีนหรือญี่ปุ่น แก้ปัญหานี้โดยการพิมพ์ตัวอักขระละติน แล้วให้ซอฟต์แวร์ “เดา” ว่าเราต้องการพิมพ์ตัวอักษรจีน/ญี่ปุ่นตัวไหน ซึ่งเขาสามารถทำได้เพราะว่ามีวิธีการถอดเสียงภาษาอังกฤษ (romanization) ที่เป็นมาตรฐานเดียวกัน (เช่น pinyin) ในขณะที่ภาษาไทยสะกดกันตามสบาย ไม่มีทางเดาถูกเวลาสะกดชื่อสถานที่

หมายเหตุ: ปัญหาเรื่อง romanization นี้ ผมเคยเขียนไว้บ้างแล้วใน Problem of Location-Based Service in Thailand

ในเมื่อ QWERTY บนมือถือ, Numpad, T9, การเดาข้อความ ไม่เวิร์คด้วยข้อจำกัดจากธรรมชาติของภาษาไทย ผมคิดว่าสุดท้ายแล้วเราต้องคิดหาวิธีที่มัน “นอกกรอบ” มากๆ (แต่อาจเวิร์ค) ซึ่งผมยังคิดไม่ออก จำได้ว่ามีอยู่พักนึงมีคนคิดวิธีเรียงปุ่มภาษาไทยใน Numpad ที่อิงกับลักษณะการม้วนหัวของตัวอักษร (เหมือนจะเป็นค่าย Orange/True) ถึงแม้ว่าสุดท้ายมันจะไม่เป็นที่นิยม แต่เราต้องการไอเดียสร้างสรรค์แบบนี้มากๆ เพื่อทดลองว่าอะไรเวิร์คไม่เวิร์ค

ไอเดียอันนึงที่ผมมีคือ มีปุ่ม Shift แยกไว้ข้างหลังตัวเครื่อง แล้วใช้นิ้วชี้ (ซึ่งเดิมทีไม่ได้ใช้ทำอะไร) กดค้างเวลาต้องการพิมพ์ตัวอักษรระดับสอง (เหมือนเวลาเราเล่นเกม กด L1/L2 ทำนองนั้น) ซึ่งจะแก้ปัญหาเรื่อง toggle และให้ความรู้สึกไม่ต่างจากการพิมพ์คีย์บอร์ดบนคอมพิวเตอร์มากนัก แต่ก็มีข้อเสียตรงที่เราต้องการฮาร์ดแวร์พิสดารเป็นพิเศษ (แอปเปิลหรือโนเกียจะยอมทำให้ไหม?)

ช่วยกันคิดหน่อยก็ดีครับ เพื่ออนาคตในการใช้เน็ตบนมือถือของพวกเรา!!

ตรงใช้นิ้วชี้ ใช้กล้องแทน จะกินแบตไปไหม?

เรามีการแบ่งตัวอักษรเป็นหมวดๆเหมือนกันนะครับ ไม่รู้ว่าใครยังจำได้ไหม

จะ ฉะ ชะ

อะไรซักอย่าง ถ้าขุดขึ้นมา น่าจะใช้ได้ ว่าแต่จะมีคนขุดรึเปล่า

เป็นเรื่องที่ผมปวดหัวทุกทีเวลาจะพิมพ์ไทยเหมือนกัน
เสนอเล่นๆ ให้คิดต่อ เอาหลัก สัทศาสตร์มั๊ย http://www.geocities.com/thaielves/articles/ThaiTengwar.html
เหลือแค่ 6 ปุ่มแรก ได้วรรณยุกต์ แล้วสะกดเสียงอ่านเอา แล้วค่อยเดาศัพท์

ถ้ายังยึดตาม romainzation ล่ะ? ถึงแม้เราไม่มี standard ตายตัว แต่ผมคิดว่าเราคงสะกดได้ใกล้เคียงกันอยู่ในระดับนึง คืออาจจะมีไม่เกิน 3-5 variation ในการสะกดคำๆนึงเป็นภาษาคาราโอเกะ (ละติน) เนื่องจากตอนนี้อุปกรณ์พวกนี้มันเร็วขึ้นมากแล้ว ก็ให้มันรวมเอาหลายๆ romanji มาแปลเป็นไทยได้

เช่นคำว่า Kae Kea ก็จะเดาว่าเป็น เก๋ เหมือนกันหมด อะไรประมาณนั้น

ทั้งหมดนี้จากสมมุตฐานว่า แพทเทิร์นการเขียนภาษาคาราโอเกะน่าจะมีความคล้ายคลึงกันบ้าง

อันนี้ผมยังไม่ได้คิดละเอียดนะครับ อาจจะไม่เวิร์คก็ได้ all comments are welcome

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

อันนี้พื้นฐานความคิดผมคือ เราคงไม่สามารถไปปรับเปลี่ยน hardware เกี่ยวกับ keyboard ของอุปกรณ์พวกนี้ได้ (ง่ายนัก) คือคงทำได้แต่อาจจะไม่คุ้มค่าในทางการตลาดจนรักษา product line แบบเฉพาะนี้ไว้ได้ เพราะงั้นเราน่าจะหาวิธีการอะไรก็ได้ที่อิงกับภาษาอังกฤษครับ

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

ส่วนตัวผมชอบระบบ graffiti มากที่สุดนะ
learning curve น้อย ถ้าเป็นแล้ว เขียนได้เร็วมากกว่าพิมพ์คีย์บอร์ดอีก
ข้อเสียคือ พอเขียนมากๆแล้วพาลมาติดกับลายมือที่เขียนจริงๆด้วยซิ

ถ้าเป็น touchscreen แนวๆ dasher อาจจะเวิร์ค ไม่รู้ว่ามีคนลองเอาภาษาไทยมาทำหรือยัง

http://www.inference.phy.cam.ac.uk/dasher/

เฉพาะเรื่อง shift เฉยๆ น่าจะพอมีทางเลือกได้หลายวิธี
เช่น จิ้มค้างที่ตัวอักษรเป็นการเลือกตัวอักษรแบบ shift, หรือไม่ก็จิ้มคู่, หรือจิ้มแล้วปัดขั้น, ฯลฯ

แต่เห็นด้วยอย่างยิ่งครับว่าปัญหาการ input ภาษาไทยโดยรวมน่าจะต้องมาช่วยกันหาทางแก้ไข
มันน่าจะมีวิธีอะไรที่ดีกว่าที่เป็นอยู่

ชอบ Graffiti ของ Palm มากเหมือนกันครับ
ไม่เคย input ภาษาไทยบน handheld ด้วยอะไรได้เร็วเท่านั้นอีกเลย
http://en.wikipedia.org/wiki/Graffiti_(Palm_OS)

การถอดเสียงของไทยผมว่าวุ่นมากเลยนะ (ถึงแม้สุดท้ายราชบัณฑิตจะออกมากำหนดวิธีถอดเสียงแล้วก็ตาม)

เอาง่ายๆ เช่น “ธนบุรี” เราจะพิมพ์ Thonburi หรือ Dhonburi ดี (คำหลังนี้สะกดแบบชื่อมหาวิทยาลัยแห่งหนึ่ง) หรือสมมติว่าพิมพ์คำว่า Thon ไป เออตกลง มันจะ “ธน” หรือ “ทน” กันแน่ แล้วถ้าเจอคำประหลาดๆ เช่น เกษะโกมล (ชื่อสะพาน) ที่ป้ายบนสะพานเขียนว่า Ke Sa Ko Mol แต่ป้ายของกรุงเทพฯ เขียนว่า Ke Sa Ka Ma La แบบนี้เราจะเลือกอย่างไรดี?

ทางที่พอจะเป็นไปได้ที่นึกออกก็น่าจะสอน Software ให้รู้ว่าเรากด Shift ค้างอยู่นะ ถ้า Hardware มันมีความสามารถพอคล้ายๆ กับ Physical keyboard จริงผมว่ามันก็ตัดปัญหาตรงนี้ไปได้นะ (ส่วนตัวคิดว่า Graffiti มันดูยุ่งยากเกินไปถึงแม้มันจะตัดปัญหาหลายๆ เรื่องได้อย่างง่ายก็ตาม และเมื่อเลือกมาใช้มันก็ดูไม่ต่างจากการมานั่งกด Shift แล้วพิมพ์ตัวอักษรไทยเลย เว้นแต่จะชำนาญการเขียนสุดๆ)

แต่เอาเข้าจริงๆ เราจำเป็นจริงๆ ที่จะต้องใช้โทรศัพท์เคลื่อนที่ในการพิมพ์อะไรที่ซับซ้อนยุ่งยากขนาดนั้นเชียวหรือ?

เออ มีใครมีผลวิจัยไหมว่า การพิมพ์บนแป้นพิมพ์กับการเขียน อะไรเร็วกว่ากัน

กดตัวอักษรค้างไว้ แล้วมี Dropdown ขึ้นมา คงช่วยได้ แต่ไม่มีค่าย virtual keyboard เล่นด้วยแน่ๆ

ผมว่า T9 ยังเป็นวิธีที่เวิร์คที่สุด
หรือเพราะผมติดวิธี Input บนมือถือญี่ปุ่นไปแล้วก็ได้

เรื่องของเรื่องคือ แบบญี่ปุ่นนี่ เค้ามีมาตรฐาน "ระดับนึง"
(คือไม่ได้เหมือนกันหมดทุกเจ้า)

เช่นปุ่ม 1 ก็ map เข้ากับแถว あ ที่มี (あいうえお)
ปุ่ม 2 map เข้ากับแถว か (かきくけこ)
...
ปุ่ม 9 map เข้ากับแถว ら (らりるれろ)
ปุ่ม 0 map กับ わをん (อันนี้แล้วแต่ยี่ห้อ)

ทีนี้ญี่ปุ่นเค้ามีตัวคันจิ ซึ่งเวลา input แบบธรรมดาๆ เนี่ย
สมมติว่าต้องการพิมพ์คำว่า "日本" ที่แปลว่าญี่ปุ่น (อ่านว่า にほん - nihon)
ก็ต้องกด
ปุ่ม 5 2 ครั้ง
ปุ่ม 6 5 ครั้ง
ปุ่ม 0 3 ครั้ง
แล้วกดปุ่มแปลงเป็นตัวคันจิอีกอย่างน้อยหนึ่งที ซึ่งปกติจะกดปุ่มลงเอา
ถ้าคำที่อ่านว่า nihon มีหลายตัว ก็ต้องกดปุ่มลงไปเรื่อยๆ จนกว่าจะเจอตัวที่ต้องการ แล้วค่อยกดปุ่ม OK

เท่าที่ใช้งานมา ผมว่ามือถือ Nokia MAP ตัวอักษรกับปุ่มได้ค่อนข้างดี
คือ
ปุ่ม 1 ก-ฅ
ปุ่ม 2 ฆ-ฉ
ปุ่ม 3 ช-ญ
ปุ่ม 4 ฎ-ณ
ปุ่ม 5 ด-ธ
ปุ่ม 6 น-ฝ
ปุ่ม 7 พ-ย
ปุ่ม 8 ร-ษ
ปุ่ม 9 ส-ฮ
ส่วนสระจะให้กด * กับ # ถ้าจำไม่ผิด (คือ Map สระกับวรรณยุกต์ไว้ 2 ปุ่ม)

ปัญหาคือ แต่ละค่ายมันไม่เหมือนกัน
ถ้าพื้นฐานมันเหมือนกันทุกค่าย แบบมือถือญี่ปุ่น
คิดว่าคนคงจะคุ้นเคย (เพราะถูกบังคับกลายๆ) แล้วก็พิมพ์กันได้เร็ว
ยิ่งถ้าใช้ควบคู่กับ T9 จะดีมาก (ลองใช้กับ Nokia แล้ว ถือว่าพิมพ์ไทยได้เร็วพอตัว)

กลายเป็นว่าภาษาไทยอักษรเยอะเกินไป?
คนพิมพ์จำตำแหน่งลำดับไม่ได้ เลยพิมพ์ยาก

เสริมไอเดียผมนิดนึงครับ คือจะคล้ายๆกับภาษาญี่ปุ่นแบบที่คุณ Oakeyman ว่านั่นล่ะครับ คือถ้าพิมพ์ Thon กับ Dhon จะมีทั้ง ทน และ ธน โผล่มาให้เลือกเป็นตัวห้อยๆ หรืออาจจะใช้วิธ๊กด * เพื่อสลับคำแบบ T9 ก็ได้ครับ

ไอเดียจริงๆผมเอามาจาก input method ภาษาจีนครับ ที่คุณ Oakeyman บอกแสดงว่าญี่ปุ่นก็คงใช้วิธีเดียวกัน

แสดงว่าญี่ปุ่นก็กดยากใช่เล่นนะ คำแค่ 2 พยางค์ ต้องกดตั้ง 10 ครั้งกว่าจะได้ ไม่ทราบว่าพอใช้ T9 ต้องกดประมาณกี่ครั้งเหรอครับ

@somsak
Japanese Input บนมือถือ ไม่ได้ใช้พิมพ์แบบ Romanized เหมือนบน PC นะครับ

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options