YAiTRON - Machine friendly dictionary
posted on 17 Apr 2006 23:48 by veer in FLOSS
เนื่องจากว่าใน License
ของ Lexitron นั้น ผลิตภัณฑ์ที่นำ Lexitron มาขยายผลนั้นห้ามใช้ชื่อ
Lexitron ยกเว้นแต่จะได้รับอนุญาตจาก Nectec ผมก็เลยปรึกษาใน IRC
จึงได้มงคลนามมาจากท่านอาจารย์ kitty ว่า YAiTRON มาจาก Yet another (Lex)
iTRON
ต้องบอกก่อนว่า YAiTRON is created by the adaptation of LEXiTRON developed by NECTEC (http://www.nectec.or.th/) ตาม License และ YAiTRON ก็ใช้ License เดียวกันนี้ด้วยเพราะแค่คิดชื่อก็เหนื่อยละ
เพื่อความสะดวกในการใช้ computer มาประมวลผลใน YAiTRON เราพยายามทำสิ่งต่างๆ ได้แก่:

ใน Lexitron สำหรับ entry นึงใน dictionary มี xml ในลักษณะข้างล่าง
ขัน
ขัน 2
tighten
V
screw tight; wrench
คลาย, ผ่อน
อย่าลืมขันตะปูให้แน่นหน่อยนะ
ทำให้ตึงหรือให้แน่น
10376
ขัน
ขัน
2
ในอนาคต บาง tag อย่าง synonym antonym translation-var คำหลายๆ คำโดนยัดใน tag เดียว เราก็พยายามจะแยกมันออกมาเพื่อความสะดวกในการคนหา(โดยโปรแกรม) แต่ก็ยังมีปัญหาว่าบางทีคำแบ่งด้วย comma บ้าง semi-colon บ้าง ก็คงต้องนั่งแก้กันไป อีกส่วนหนึ่งคือคำแปลที่อยู่ในวงเล็บมักจะไม่ใช่คำแปล แต่เป็นกรณีตัวอย่างที่น่าจะเอาไปใช้ด่า ซึ่งน่าจะเป็นตอนหน้า วันนี้ 18:22 ละ :-P
ลองเอาผลงานวันนี้ไปดูก่อนละกันครับ[download]
เปลี่ยนไปที่ http://basaasa.googlecode.com/files/yaitron-20081202.tei.bz2 แทนครับ ไฟล์นี้พยายามทำให้เป็นแบบ TEI
edit @ 2006/04/18 00:28:50
edit @ 2006/07/02 19:16:39
ต้องบอกก่อนว่า YAiTRON is created by the adaptation of LEXiTRON developed by NECTEC (http://www.nectec.or.th/) ตาม License และ YAiTRON ก็ใช้ License เดียวกันนี้ด้วยเพราะแค่คิดชื่อก็เหนื่อยละ
เพื่อความสะดวกในการใช้ computer มาประมวลผลใน YAiTRON เราพยายามทำสิ่งต่างๆ ได้แก่:
- การรวม dictionary ภาษาไทยและอังกฤษให้อยู่ใน structure เดียวกัน (เสร็จแล้ว)
- การทำข้อมูลให้เป็นไปตาม TEI และ CDM มากขึ้น จะใช้ DML มา link ตามท่าใน paper ก็ไม่น่าจะใช้ได้ เจอ syntactic category รวมอยู่ใน headword เลยก็น่าจะจอดแล้ว(เสร็จแล้ว)
- พยายามแยกข้อมูลที่อยู่ปนๆ กันใน text ก่อนเดียวกันออกมาให้หมดจะได้ประมวลผลง่ายขึ้น (ยังทำอยู่)

ใน Lexitron สำหรับ entry นึงใน dictionary มี xml ในลักษณะข้างล่าง
ขัน
ขัน 2
tighten
V
screw tight; wrench
คลาย, ผ่อน
อย่าลืมขันตะปูให้แน่นหน่อยนะ
ทำให้ตึงหรือให้แน่น
10376
- ... เป็นจุดเริ่มต้นและสิ้นสุด entry
- tentry คือคำที่จะปรากฎตอนเราเปิด dictionary ในที่นี้ก็คือ "ขัน 2" เนื่องจากว่าขันมีหลายขัน ทั้งไก่ขัน ขันเงิน ขันตะปู ก็เลยต้องมี "ขัน 1" "ขัน 2" ตามใน screenshot นะครับ
- tsearch ก็เป็นช่องที่เก็บคำที่เอาไว้สืบค้น ใครจะไปรู้ว่าขันไหนเป็น"ขัน 1" "ขัน 2" ตอนจะ search ก็ต้องพิมพ์แค่ "ขัน" ก็พอ
- eentry คือคำแปลภาษาอังกฤษ
- tcat คือชนิดของคำ เช่น V ในตัวอย่าง แทน "กริยา"
- tenglish คุณ poonlap บอกว่าเป็นคำแปลที่มีความใกล้เคียง
- tant ก็คำตรงข้าม
- tsyn ก็คำที่มีความหมายเหมือนกัน
- tsample ก็เป็นตัวอย่าง
- tdef เป็นคำจำกัดความ
- id ก็ id อะ
- นอกจากนั้นยังมี tnum อีก tnum ก็คือพวกลักษณะนาม ที่ใช้คู่กับคำนามคำนั้น เช่น ผ้า ใช้กับลักษณะนามว่า ผืน
- notes เอาไว้ใส่หมายเหตุ
- entry ทั้งหมดอยู่ใน tag ชื่อ entry และมี attribute ชื่อ lang ไว้บอกภาษา
- คำหลักเก็บไว้ใน tag ชื่อ headword อย่างในกรณีตัวอย่างก็จะเป็นแบบข้างล่าง
ขัน
- มันก็จะมีปัญหาตามมาอีกว่า 2 หละหายไปไหน 2 จะถูกเก็บไว้ใน แทน ผมก็ไม่ค่อยมั่นใจนักว่าควรใช้ tag นี้หรือเปล่า ต่อไปอาจจะเปลี่ยนเป็น แบบ TEI ก็อาจจะดีกว่า ถ้าใครมีความรู้ก็ช่วยแนะนำด้วยนำครับ ก็จะเป็นแบบข้างล่าง เพื่อที่ "ขัน 2" จะได้ไม่ต้องไปงงกับ "สงครามโลกครั้งที่ 2" ถ้าคนอ่านก็สบายหละครับ แต่ YAiTRON กะเอาไว้ใช้ในโปรแกรม
ขัน
2
- tsearch เราก็จะเปลี่ยนเป็น กล่าวคือเป็น headword แบบอื่นๆ เราจะเก็บ headword-var ก็ต่อเมื่อ tentry กับ tsearch ไม่เท่ากัน (หลังจากตัด sense ออกแล้ว) ในที่นี้ก็ไม่ต้องม
- eentry เราจะใช้ พร้อมบอกภาษาแทน เช่น tighten
- tenglish เปลี่ยนเป็น
- tant, tsyn ก็เปลี่ยนเป็น antonym synonym ตามลำดับ
- tsample เปลี่ยนเป็น example ตาม CDM
- notes เปลี่ยนเป็น note ตาม CDM และ TEI
- tdef ก็เปลี่ยนเป็น definition
- tnum ก็เป็น classifier
- id เป็น
ในอนาคต บาง tag อย่าง synonym antonym translation-var คำหลายๆ คำโดนยัดใน tag เดียว เราก็พยายามจะแยกมันออกมาเพื่อความสะดวกในการคนหา(โดยโปรแกรม) แต่ก็ยังมีปัญหาว่าบางทีคำแบ่งด้วย comma บ้าง semi-colon บ้าง ก็คงต้องนั่งแก้กันไป อีกส่วนหนึ่งคือคำแปลที่อยู่ในวงเล็บมักจะไม่ใช่คำแปล แต่เป็นกรณีตัวอย่างที่น่าจะเอาไปใช้ด่า ซึ่งน่าจะเป็นตอนหน้า วันนี้ 18:22 ละ :-P
ลองเอาผลงานวันนี้ไปดูก่อนละกันครับ
เปลี่ยนไปที่ http://basaasa.googlecode.com/files/yaitron-20081202.tei.bz2 แทนครับ ไฟล์นี้พยายามทำให้เป็นแบบ TEI
edit @ 2006/04/18 00:28:50
edit @ 2006/07/02 19:16:39
edit @ 16 Nov 2009 18:55:26 by veer