รบกวนด้วยค่ะ ขั้นตอนการตัดคำแบบ Longest Matching ได้โปรเจคมาค่ะ อ.สั่งให้ทำโปรแกรมแปลภาษา
นี่ไม่คิดจะลองเขียนก่อนหรือครับ
Date :
2010-06-23 13:13:06
By :
tungman
ก้อลองเขียนแล้วอ่ะค่ะ แต่เขียนโปรแกรมไม่เก่ง เลยขอคำแนะนำด้วยอ่ะค่ะ
Date :
2010-06-23 13:43:35
By :
nongngi
แล้วจะให้ช้วยอะไร ?
Date :
2010-06-23 14:04:48
By :
tungman
Date :
2010-12-02 20:50:57
By :
octo
ผมไม่เข้าใจว่าทำไมอาจารย์สมัยนี้ชอบยัดเยียดให้นักศึกษาทำในสิ่งที่มันมีอยู่เต็มไปหมดในท้องตลาด ขนาด Google ยังแปลได้เลย แล้วอันนี้อย่างโหด แปลทั้งประโยค แกรมม่าต้องได้อีก เอาแค่ยัดศัพท์เข้าไปในฐานข้อมูล จำแนกชนิดว่าเป็น ประธาน กริยา .... ปีนึงจะเสร็จหรือเปล่า ไหนจะ เรื่องยุบยิบ อย่าง ไอ้เจ้า The อีก แค่ให้แปลออกมาได้ก็ว่ายากแล้ว ไหนต้องทำให้แปลได้เร็วอีก ผมว่า จขกท. ทำอันอื่นเถอะครับอันนี้มันขอบเขต มากเกินไปจริงๆ
Date :
2010-12-03 08:35:36
By :
kaimuk
เห็นด้วยกับคุณไข่มากค่ะ
Date :
2010-12-03 08:56:30
By :
blurEyes
ลองบอก Arjan sample ให้ดูก่อน
Date :
2010-12-03 11:13:09
By :
superpheak
มีแปลไทยเป็นอังกฤษไหม ถ้ามีขอเปลี่ยนหัวข้อเลย ไม่เสร็จแน่ ไม่ได้ขู่ เพราะมันต้องใช้ db ใหญ่มาก
Date :
2010-12-03 12:54:19
By :
PlaKriM
Code (C#)
public StringBuilder thaifromeng = new StringBuilder();
private string Eng2Thai(string engtext)
{
StringBuilder sb = new StringBuilder();
string eng = engtext;
string[] engarr = eng.Split(' ');
foreach (string e in engarr)
{
sb.Append(Eng2ThaiTranslate(e));
}
return sb.ToString();
}
private string Eng2ThaiTranslate(string eng)
{
//ไปลองทำ database ที่เก็บค่าคำแปล ดูครับ
//SELECT * FROM TABLE WHERE KEY = 'eng'
return "";
}
private void buttonTha2Eng_Click(object sender, EventArgs e)
{
Thai2Eng();
}
private static bool Thai2Eng(string thatext)
{
if (thatext.Length != 0)
{
//นั่นคืออะไร? >>> What is that?
StringBuilder sb = new StringBuilder();
string t = string.Empty;
for (int i = 0; i < thatext.Length; i++)
{
//ทอลองตัด string ไปแปลดู
sb.Append(thatext.Substring(0, i));
//ลองแปลดู
t = Thai2EngTranslate(sb.ToString());
//ถ้าแปลได้ ก็จะเข้า if
if (t != "")
{
//ตัดประโยคเพื่อจะไปแปลคำต่อไป
thatext = thatext.Substring(i, thatext.Length - 1);
this.thaifromeng.Append(t);
this.thaifromeng.Append(" ");
//break ออกจาก for loop
break;
}
}
//recusive ค่าไปหาความหมายคำต่อไป
Thai2Eng(thatext);
}
else
{
//return true เพื่อบอกว่าเสร็จแล้วน่ะ แต่ถ้าส่งค่า thatext = "" มันก็จะ return true เหมือนกัน
return true;
}
}
private string Thai2EngTranslate(string tha)
{
//ไปลองทำ database ที่เก็บค่าคำแปล ดูครับ
//SELECT * FROM TABLE WHERE KEY = 'tha'
//ถ้ามีข้อมูลใน database จะ return ค่าออกมา ถ้าไม่ได้ ก็ return "" ค่าว่าง
return "";
}
ทุกครั้งที่ผมเข้ามาอ่านโปรเจ็คน้องๆ แล้ว ผมรู้สึกว่า แล้วถ้าเป็นผมเอง จะทำได้ไหม ?
หนทางยังอีกยาวไกลครับน้อง ยังมีอีกหลายอย่างที่น้องต้องคิด แต่ถ้าน้องสามารถมี
logic อยู่ในหัวได้ ว่าเราจะทำอะไร ทำอย่างไร พี่ว่าน้องประสพความสำเร็จไปก้าวหนึ่งแล้ว
Eng > Thai ง่ายหน่อย ตรงที่คำมันแบ่งด้วย space จึงแปลเป็นคำๆ ไป โปรแกรม แปลประโยคสมัยก่อน
ก็แปลกันแบบนกแก้วนกขุนทองเหมือนกัน ต้องมีการเรียนรู้กันมากมาย ทำให้โปรแกรมเราฉลาดขึ้น ก็เหมือน
กับเด็กที่ต้องเรียนหนังสือจึงจะเข้าใจความหมายประโยคได้ ความจริง computer มันฉลาดขึ้นได้ ด้วย ฐานข้อมูล
ขนาดใหญ่และเร็วมากๆและการเก็บสถิติ
Thai > Eng ยากหน่อย เพราะภาษาไทย คำเขียนติดกันไปหมด จึงต้องแบ่งคำไปแปล แปลไปเรื่อยๆ ช้า
และกิน memory มาก แปลผิดถูก คำประสมมากมาย ก็แปลกันไป นกแก้วนกขุนทองก็ยังดี
น้องลองพยายามทำเองดูก่อน แล้วไปถามอาจารย์ ว่า "มีที่ยากกว่านี้มั้ย 555 อันนี้ง่ายไป อาจารย์เฉลยเถอะ"
Date :
2010-12-03 17:03:54
By :
numenoy
DB พจนานุกรมeng>thai ของ เนคเทค มีแจกฟรีนะครับลองหาดู ถ้าจำไม่ผิดเป็น xml สู้ๆ
Date :
2010-12-03 17:56:59
By :
13crowns
Load balance : Server 05