Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > รบกวนด้วยค่ะ ขั้นตอนการตัดคำแบบ Longest Matching ได้โปรเจคมาค่ะ อ.สั่งให้ทำโปรแกรมแปลภาษา



 

รบกวนด้วยค่ะ ขั้นตอนการตัดคำแบบ Longest Matching ได้โปรเจคมาค่ะ อ.สั่งให้ทำโปรแกรมแปลภาษา

 



Topic : 044403



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์




ได้โปรเจคมาค่ะ อ.สั่งให้ทำโปรแกรมแปลภาษา กรณีนี้ได้ Eng เป็น Thai ประมาณว่าแปลได้ทั้งประโยค แต่ยังงงๆ เพราะมั้นต้องได้ใช้การเปรียบเทียบกับฐานข้อมูล และ ต้องใช้การตัดคำ ซึ่งยังไม่เคยศึกษามาก่อน ไม่รู้ว่าจะต้องเขียนโค้ดการเปรียบเทียบและตัดคำยังไง ? กรณีนี้ได้ใช้ ภาษา c# ตอนนี้กำลังศึกษาในการเขียน ว่าจะเขียนยังไงให้สามารถเปรียบเทียบและแปลได้ แนวทางที่ได้มาตามข้างล่างนี้เลยยยยย

ขั้นตอนการตัดคำแบบ Longest Matching
1.ข้อความ N
2.ขนาด N != 0
3.คัดลอกข้อความ N เก็บในข้อความ K
4.นำข้อความ K เปรียบเทียบกับฐานข้อมูล
5.
ไม่พบ ตัดข้อความ K ตัวอักษรตัวสุดท้ายออก 1 ตัว(K-1) กลับไปทำข้อ 4
พบ ตัดข้อความขนาด K ใน N กลับไปทำข้อ 3

รบกวนด้วยนะค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-06-23 13:06:25 By : nongngi View : 2260 Reply : 10
 

 

No. 1



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


นี่ไม่คิดจะลองเขียนก่อนหรือครับ






Date : 2010-06-23 13:13:06 By : tungman
 


 

No. 2



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์


ก้อลองเขียนแล้วอ่ะค่ะ แต่เขียนโปรแกรมไม่เก่ง เลยขอคำแนะนำด้วยอ่ะค่ะ
Date : 2010-06-23 13:43:35 By : nongngi
 

 

No. 3



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


แล้วจะให้ช้วยอะไร ?
Date : 2010-06-23 14:04:48 By : tungman
 


 

No. 4

Guest



Date : 2010-12-02 20:50:57 By : octo
 


 

No. 5



โพสกระทู้ ( 437 )
บทความ ( 0 )



สถานะออฟไลน์


ผมไม่เข้าใจว่าทำไมอาจารย์สมัยนี้ชอบยัดเยียดให้นักศึกษาทำในสิ่งที่มันมีอยู่เต็มไปหมดในท้องตลาด ขนาด Google ยังแปลได้เลย แล้วอันนี้อย่างโหด แปลทั้งประโยค แกรมม่าต้องได้อีก เอาแค่ยัดศัพท์เข้าไปในฐานข้อมูล จำแนกชนิดว่าเป็น ประธาน กริยา .... ปีนึงจะเสร็จหรือเปล่า ไหนจะ เรื่องยุบยิบ อย่าง ไอ้เจ้า The อีก แค่ให้แปลออกมาได้ก็ว่ายากแล้ว ไหนต้องทำให้แปลได้เร็วอีก ผมว่า จขกท. ทำอันอื่นเถอะครับอันนี้มันขอบเขต มากเกินไปจริงๆ
Date : 2010-12-03 08:35:36 By : kaimuk
 


 

No. 6



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


เห็นด้วยกับคุณไข่มากค่ะ
Date : 2010-12-03 08:56:30 By : blurEyes
 


 

No. 7



โพสกระทู้ ( 162 )
บทความ ( 0 )



สถานะออฟไลน์


ลองบอก Arjan sample ให้ดูก่อน
Date : 2010-12-03 11:13:09 By : superpheak
 


 

No. 8



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


มีแปลไทยเป็นอังกฤษไหม ถ้ามีขอเปลี่ยนหัวข้อเลย ไม่เสร็จแน่ ไม่ได้ขู่ เพราะมันต้องใช้ db ใหญ่มาก
Date : 2010-12-03 12:54:19 By : PlaKriM
 


 

No. 9



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


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
 


 

No. 10



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


DB พจนานุกรมeng>thai ของ เนคเทค มีแจกฟรีนะครับลองหาดู ถ้าจำไม่ผิดเป็น xml สู้ๆ
Date : 2010-12-03 17:56:59 By : 13crowns
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนด้วยค่ะ ขั้นตอนการตัดคำแบบ Longest Matching ได้โปรเจคมาค่ะ อ.สั่งให้ทำโปรแกรมแปลภาษา
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่