Mình tình cờ ngang qua một câu hỏi trên facebook về việc tách chữ tiếng Việt ra.
Ví dụ text gốc là thể này:
Dịch vụ miễn phí của Google dịch nhanh các từ, cụm từ và trang web giữa tiếng Việt và hơn 100 ngôn ngữ khác.
Nay bị biến thành:
DịchvụmiễnphícủaGoogledịchnhanhcáctừ,cụmtừvàtrangwebgiữatiếngViệtvàhơn100ngônngữkhác.
Mình đã thử dùng regex để tách như sau:
(?<first>ph|th|tr|ch|nh|ng|kh|gh|ngh)(?!(b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z|ph|th|tr|ch|nh|ng|kh|gh|ngh|\s))(?!b|c|d|đ|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)
${first}
(?<last>[^\s|n](ph|th|tr|ch|nh|ng|kh|gh|ngh))
${last}
Kết quả:
Dịch vụmiễn phícủaGoogledịch nhanh cáctừ,cụmtừvà trang webgiữatiếng Việtvàhơn100 ngôn ngữ khác.
Nhưng xử lý vẫn chưa được các dạng từ-từ có cấu trúc với các ký tự không phải ph|th|tr|ch|nh|ng|kh|gh|ngh
(phụ âm + nguyên âm) + (nguyên âm + phụ âm)
(phụ âm + nguyên âm) + (phụ âm + nguyên âm + phụ âm)
Anh chị nào có ý kiến gì để giúp tách nó ra không ạ
Ví dụ text gốc là thể này:
Dịch vụ miễn phí của Google dịch nhanh các từ, cụm từ và trang web giữa tiếng Việt và hơn 100 ngôn ngữ khác.
Nay bị biến thành:
DịchvụmiễnphícủaGoogledịchnhanhcáctừ,cụmtừvàtrangwebgiữatiếngViệtvàhơn100ngônngữkhác.
Mình đã thử dùng regex để tách như sau:
(?<first>ph|th|tr|ch|nh|ng|kh|gh|ngh)(?!(b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z|ph|th|tr|ch|nh|ng|kh|gh|ngh|\s))(?!b|c|d|đ|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)
${first}
(?<last>[^\s|n](ph|th|tr|ch|nh|ng|kh|gh|ngh))
${last}
Kết quả:
Dịch vụmiễn phícủaGoogledịch nhanh cáctừ,cụmtừvà trang webgiữatiếng Việtvàhơn100 ngôn ngữ khác.
Nhưng xử lý vẫn chưa được các dạng từ-từ có cấu trúc với các ký tự không phải ph|th|tr|ch|nh|ng|kh|gh|ngh
(phụ âm + nguyên âm) + (nguyên âm + phụ âm)
(phụ âm + nguyên âm) + (phụ âm + nguyên âm + phụ âm)
Anh chị nào có ý kiến gì để giúp tách nó ra không ạ