Tách Từ Có Nghĩa Trong Tiếng Việt [Archive] - Diễn Đàn Tin Học

Diễn Đàn Tin Học > Lập trình > Các vấn đề khác trong lập trình > Data Structures + Algorithms > Tách từ có nghĩa trong tiếng việt PDA

View Full Version : Tách từ có nghĩa trong tiếng việt

manh_kqha26-10-2010, 15:48Các Pro cho em hỏi vấn đề này với! phương pháp tách từ có nghĩa trong tiếng Việt, nhập một câu vào chẳng hạn: "Con khỉ ăn chuối" thì cần tách các từ có nghĩa :"Con", "Khỉ","ăn", "Chuối". Em phải làm đồ ắn môn học về đề tài nay, mong các anh chi giúp đỡ! Thanks! khongngunghochoi26-10-2010, 17:17Sau khi tách các từ dựa trên ký tự phân cách khoảng trắng, bạn sẽ phải loại bỏ các dấu câu chẳng hạn như dấu chấm, dấu phẩy... Sau đó được các từ đơn gọi là token. So token với một danh sách từ tiếng Việt để biết nó có nghĩa hay không. snoob26-10-2010, 17:40tui thấy trong tiếng việt từ đơn nào cũng có nghĩa hết mà ? scooby30-10-2010, 11:03Tôi nghĩ bạn không hiểu lắm về đề tài và kiến thức tiếng Việt còn ít. Tôi sẽ giải thích sơ qua như sau: - đơn vị nhỏ nhất của TV gọi là âm tiết - cái mà ta hay gọi là từ đơn - từ của tiếng Việt cấu tạo từ một hoặc vài âm tiết trở lên Như vậy câu "học sinh học sinh học" bao gồm các âm tiết "học", "sinh", "học", "sinh", "học". Còn nếu chia thành các từ thì bao gồm "học sinh", "học", "sinh học". Nếu chỉ tách câu thành các âm tiết thì quá dễ: căn cứ vào khoảng trống, dấu chấm phẩy mà tách là xong. Còn nếu muốn chia thành các từ có nghĩa thì rắc rối hơn nhiều và hầu như chẳng có phương pháp nào 100% cả. Có nhiều phương pháp, dễ nhất và cũng có tỷ lệ đúng rất cao là tra theo từ điển (tìm các cụm từ có trong từ điển TV). Vài gợi ý. Chúc em thành công. manh_kqha01-11-2010, 15:46Tôi nghĩ bạn không hiểu lắm về đề tài và kiến thức tiếng Việt còn ít. Tôi sẽ giải thích sơ qua như sau: - đơn vị nhỏ nhất của TV gọi là âm tiết - cái mà ta hay gọi là từ đơn - từ của tiếng Việt cấu tạo từ một hoặc vài âm tiết trở lên Như vậy câu "học sinh học sinh học" bao gồm các âm tiết "học", "sinh", "học", "sinh", "học". Còn nếu chia thành các từ thì bao gồm "học sinh", "học", "sinh học". Nếu chỉ tách câu thành các âm tiết thì quá dễ: căn cứ vào khoảng trống, dấu chấm phẩy mà tách là xong. Còn nếu muốn chia thành các từ có nghĩa thì rắc rối hơn nhiều và hầu như chẳng có phương pháp nào 100% cả. Có nhiều phương pháp, dễ nhất và cũng có tỷ lệ đúng rất cao là tra theo từ điển (tìm các cụm từ có trong từ điển TV). Vài gợi ý. Chúc em thành công. Thanks anh! vấn đề chính của đề bài là làm việc với các từ đơn mà anh gọi là âm tiêt đó! [=========> Bổ sung bài viết <=========] Và vì thế làm sao biết một âm tiết có nghĩa hay không? vì không phải âm tiết nào cũng có nghĩa. Vi' dụ trong từ "Hỗ trợ" thì hình như từ "Hỗ" không có nghĩa. hihi snoob01-11-2010, 16:03Như vậy câu "học sinh học sinh học" bao gồm các âm tiết "học", "sinh", "học", "sinh", "học". Còn nếu chia thành các từ thì bao gồm "học sinh", "học", "sinh học". Cái này đưa google cũng bó tay nói chi mình, ví dụ trên có thể phân tích thành "học"," sinh học","sinh học" hoặc "học sinh","học sinh", "học". Nói chung phân tích từ còn phải dựa vào ngữ cảnh, ngữ pháp v.v.v. Đợi khi nào cái google translate hoàn thiện nổi thì mới tính tiếp manh_kqha01-11-2010, 20:53vâng em hiểu. Có cách nào biết được 1 âm tiết co' nghĩa hay không có nghĩa không ạ? ví dụ đầu vào là câu: "Anh hỗ trợ em". như vậy làm sao biết được từ hỗ là vô nghĩa để loại ra khỏi kết quả trả về ạ? Please, help me! scooby02-11-2010, 20:24Có sự nhập nhằng ở đây. Một âm tiết nếu không sai chính tả thì thường đã có một nghĩa nào đó. Nhưng theo suy nghĩ thông thường thì một từ (có thể bao gồm 1 hoặc nhiều âm tiết) mới tính là có nghĩa. Tôi đoán ý thầy của em muốn "có nghĩa" là tìm xem âm tiết thuộc có thuộc một từ 1 âm tiết nào đó không. Để làm được việc này thì chỉ có mỗi cách là dùng từ điển tiếng Việt, lọc lấy các từ chỉ có 1 âm tiết rồi đem so sánh. Tuy nhiên các từ điển TV hiện tại số từ thường khá ít, không thật đủ cho bài toàn này. Em có thể kết hợp với tìm thủ công, sau khi kiểm tra bằng từ điển thì xem lại một lượt các âm tiết bị loại và thêm thủ công các âm tiết có nghĩa vào từ điển. Có lẽ chỉ cần làm vài lần là có thể trả bài cho thầy được rồi (còn nếu muốn nghiên cứu làm bài bản hơn thì khá tốn công đấy). manh_kqha03-11-2010, 14:05Dạ. thanks anh nhiều. Nhưn trong lập trình thì đâu thể làm thủ công được ạ. Phải có phương pháp hay một cách nào đó để chương trình của mình hiểu được âm nào có nghĩa, âm nào không có nghĩa chứ ạ. Nếu làm bằng tay thì cách của anh là ok rồi. scooby04-11-2010, 12:33Chương trình tất nhiên chạy tự động, nhưng data cho chương trình phải bổ xung bằng tay. Chẳng có chương trình gì mà "hiểu" được một thứ gì đó ngay đâu. Tất cả đều do người lập trình đứng đằng sau "dậy" nó. star21504-11-2010, 16:09dùng 1 từ điển để tra.rồi lập trình ra bamboo_tk17-02-2011, 15:34Bài toán tách từ có thể dựa vào các cách sau: 1. Dùng luật(bao gồm các cách sau) - Longest Matching, Greedy Matching Models. - Mô hình khớp tối đa: mô hình này được chia thành khớp tối đa tiến và khớp tối đa lùi. Đối với phương pháp này thì chúng ta cần phải xây dựng một từ điển càng hoàn chỉnh càng tốt. Mô hình này dựa vào từ điển. 2. Dùng thống kê Giải pháp này dựa vào ngữ cành từ xung quanh để đưa ra quyết định phù hợp, có hai vấn đề cần được giải quyết: độ rộng ngữ cảnh, và cách áp dụng thống kê. Ngữ cảnh càng rộng thì thuật toán càng phức tạp. Luôn có thể áp dụng mô hình first-order HMM, giải pháp này phụ thuộc rất nhiều vào ngữ liệu huấn luyện. 3. Cách khác Là sự lai tạo giữa các mô hình trên và các mô hình trên WFST và TBL, thời gian xử lí các vấn đề này khá cao nhưng mà hiệu suất của mô hình này khá cao. thanhtina827-02-2011, 21:24http://vlsp.vietlp.org:8080/demo/?page=parser Trang Web này hỗ trợ tách từ Tiêng Việt rất chính xác(97%). Các bạn có thể download source code về tìm hiểu. Mình cũng đang tìm hiểu về nó. Source code viết bằng java. Soure code: http://vlsp.vietlp.org:8080/demo/?page=resources bamboo_tk03-03-2011, 17:22Bạn có thể đưa sourse code lên được không ạ. Cám ơn bạn nhiều. ZecyEngence04-03-2011, 06:58медицина для вас РїРѕРёСЃРє лекарств (http://zdravomed.net.ru/) MichaelTuanAnh04-03-2011, 08:59Bạn có thể đưa sourse code lên được không ạ. Cám ơn bạn nhiều. source code dơnload ở đây nè http://vlsp.vietlp.org:8080/demo/?page=resources megaownage08-03-2011, 11:11Không có giải thuật nào giải quyết được vấn đề nếu người ra đề không xác định rõ luật lệ. Muốn tách từ 'có ý nghĩa' thì đầu tiên hết phải thống nhất luật, như thế nào là từ có ý nghĩa. Có người nói 'hỗ' trong 'hỗ trợ' không có ý nghĩa. Nhưng cũng có người lại cho rằng không đúng vì chữ hỗ rõ ràng có nghĩa là phụ theo. Chính thức ra thì tiếng Việt cũng có một vài từ không có nghĩa nếu đi một mình. Hầu hết những từ này là loại diễn tả trạng thái hoặc tượng thanh. Ví dụ chữ 'ton' trong 'lon ton'. Hay rắc rối hơn nữa là hai chữ 'nằng' và 'nặc' trong 'nằng nặc', chữ nằng mà không có nặc thì sai, nhưng nặc không có nằng thì vẫn đi được với 'danh'. Muốn làm chuyện tách từ, trước hết phải tìm ra được một danh sách đầy đủ các từ rắc rối này đã! pmq13419-03-2011, 00:51http://vlsp.vietlp.org:8080/demo/?page=parser Trang Web này hỗ trợ tách từ Tiêng Việt rất chính xác(97%). Các bạn có thể download source code về tìm hiểu. Mình cũng đang tìm hiểu về nó. Source code viết bằng java. Soure code: http://vlsp.vietlp.org:8080/demo/?page=resources Cảm ơn bạn rất nhiều, mình đang code phần này không ngờ đã có tool sẵn, đúng là buồn ngủ lại gặp chiếu manh =)) vongcohay22-03-2011, 12:41Bài toán tách từ có thể dựa vào các cách sau: 1. Dùng luật(bao gồm các cách sau) - Longest Matching, Greedy Matching Models. - Mô hình khớp tối đa: mô hình này được chia thành khớp tối đa tiến và khớp tối đa lùi. Đối với phương pháp này thì chúng ta cần phải xây dựng một từ điển càng hoàn chỉnh càng tốt. Mô hình này dựa vào từ điển. 2. Dùng thống kê Giải pháp này dựa vào ngữ cành từ xung quanh để đưa ra quyết định phù hợp, có hai vấn đề cần được giải quyết: độ rộng ngữ cảnh, và cách áp dụng thống kê. Ngữ cảnh càng rộng thì thuật toán càng phức tạp. Luôn có thể áp dụng mô hình first-order HMM, giải pháp này phụ thuộc rất nhiều vào ngữ liệu huấn luyện. 3. Cách khác Là sự lai tạo giữa các mô hình trên và các mô hình trên WFST và TBL, thời gian xử lí các vấn đề này khá cao nhưng mà hiệu suất của mô hình này khá cao. Bạn ơi cho mình hỏi là cách xây dựng bộ từ điển như thế nào? làm thủ công?Bạn có thể hướng dẫn cho mình xây dựng cấu trúc của từ điển này và hướng dẫn mình làm một file từ điển được không? Thanks bamboo_tk31-03-2011, 14:46Hiện nay có một số từ điển tiếng Việt khá hoàn chỉnh. Cái này bạn có thể tìm trên mạng. Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.

Từ khóa » Tách Từ Trong Tiếng Việt