09/10/2018, 23:34

Tìm kiềm tiếng Việt

Chào các bạn,

Mình đang phải xử lý về tìm kiếm tiếng Việt, tức là có thể tìm kiếm có dấu và không dấu. Ví dụ:

Tìm keyword: non có thể cho ra kết quả có từ nón, nôn...

Hiện tại mình có 2 cách xử lý
- Khi truy vấn để tìm kiếm chuyển dữ liệu thành không dấu và tìm kiếm
- Khi lưu dữ liệu vào database(dữ liệu này không lớn lắm), ta thêm 1 field để lưu dữ liệu đấy nhưng là không dấu. Nếu làm theo cách này thì việc tìm kiếm sẽ trở nên rất đơn giản.

Các bạn, có ý tuởng gì, hoặc là đã xử lý vấn đề này rồi xin cho mình biết được không?

Cảm ơn các bạn.
pcdinh viết 01:49 ngày 10/10/2018
Bạn viết 1 lớp derivative stemming cho tiếng Việt để xử lý.
conmalele viết 01:35 ngày 10/10/2018
Quote Được gửi bởi pcdinh View Post
Bạn viết 1 lớp derivative stemming cho tiếng Việt để xử lý.
Bác làm như ai cũng là thánh ấy, nói 1 cái là viết được ngay. Tiếng Việt khó hơn tiếng Anh khá nhiều

http://forums.searchenginewatch.com/...read.php?t=258

Có lẽ để đơn giản thì nên tạo 1 bảng dữ liệu chứa các chữ rồi sau đó so sánh để lấy ra

CoDau ___ KhongDau
à ___ a
á ___ a
...
pcdinh viết 01:47 ngày 10/10/2018
Tiếng Việt dễ hơn. Đọc lại thuật toán stemming đi. Cái khó là fuzzy cơ. Ka ka
mozo viết 01:43 ngày 10/10/2018
Quote Được gửi bởi pcdinh View Post
Bạn viết 1 lớp derivative stemming cho tiếng Việt để xử lý.
Ngữ pháp tiếng Anh khác so với tiếng Việt, nên theo mình nghĩ ở trường hợp này chỉ cần viết 1 hàm chuyển từ tiếng Việt có dấu sang không dấu thồi mà(điều này không khó), đâu cần phải dùng thuật toán streaming.
mr47 viết 01:49 ngày 10/10/2018
Với vấn đề của bạn thì tớ nghĩ làm như thế cũng ổn rồi. Bạn cũng có thể xác định xem từ khóa có dấu hay không ? Nếu có thì tìm ở field có dấu, không thì tìm ở field không dấu.

Stemming không giải quyết được gì trong trường hợp này.
Bài liên quan
0