Phương pháp tách câu, tách từ, gán nhãn từ loại và phân tích cú

Một phần của tài liệu Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram (Trang 45 - 54)

phân tích cú pháp.

3.2.2.1 Tách câu.

Vấn đề tách một văn bản ra thành các đơn vị câu độc lập dường như được ít các nhà nghiên cứu quan tâm nhất, mặc dù nó cũng là phần việc quan trọng trong phân tích văn bản. Để tách một văn bản ra thành các đơn vi câu độc lập đối với tiếng Việt không đơn thuần là chỉ dựa vào các dấu hiệu kết câu (dấu chấm ‘.’, dấu chấm than ‘!’ và dấu chấm hỏi ‘?’). Vẫn có những câu tiếng Việt mà các dấu hiệu kết câu đó vẫn chưa phải là kết câu. Ví dụ như “Giá xăng mới tăng lên thành 23.6500 đồng/lít”, hay “Tp.Hà Nội”, “TS.Vũ Tất Thắng”,…

Theo tạp chí Computational Linguistics, đối với các ngôn ngữ Âu – Mỹ, trong thời gần đây có một số bài báo giới thiệu một số phương pháp và hệ thống tách câu. Các phương pháp chủ yếu là dựa trên luật, học máy có giám sát và học máy không giám sát.

Trong văn bản tiếng Anh hay bất kỳ ngôn ngữ thông dụng nào khác, thông thường thì ta chỉ dùng dấu chấm(.), chấm than(!), chấm hỏi(?) và một số dấu khác để nhận biết kết thúc câu. Tuy nhiên do tính nhập nhằng của dấu báo hiệu kết thúc câu (chẳng hạn như kết thúc câu trong từ viết tắt,…) nên việc xác định ranh giới câu không đơn giản chút nào.

Ví dụ 3.1:

1. The group inclided Dr.J.M.Freeman and T. Boone Pickens Jr.

2. “This issue crosses party lines and crosses philosophical lines! said Rep. John Rowland (R.,Conn.).

3. It was due Friday 5 p.m. Saturday would be too late.

4. She has an appointment at 5 p.m. Saturday to get her car fixed.

Trong trường hợp 1 và 2 từ nằm ngay trước hoặc ngay sau dấu chấm câu cho ta những thông tin quan trọng về vai trò của dấu trong câu. Tuy nhiên, bộ phận tách câu cần phải có nhiều thông tin về ngữ cảnh hơn trong trường hợp việc chấm câu xuất hiện ở một câu con trong dấu ngoặc đơn hoặc ngoặc kép như trong trường hợp 2; hay khi chữ viết tắt xuất hiện ở cuối câu như trong trường hợp 3,4. Để nhận diện dấu chấm câu, người ta có thể dùng cách Heuristics hoặc các mô hình học phức tạp hơn như: mạng neural.

Tách câu bằng Heuristics.

Sau khi nhận đoạn văn bản đã được lọc các ký tự dư thừa, các ký tự phụ, bộ phận tách câu bắt đầu phân tích dựa trên cách chấm câu và ngữ nghĩa một số từ để tách ra các câu riêng biệt.

 Xử lý dấu chấm:

Dấu chấm “.” là dấu có nhiều trường hợp mơ hồ nhất. Sau đây sẽ một số ví dụ dấu chấm xuất hiện.

Ví dụ 3.2:

1. Dấu chấm kết thúc câu.

2. Dấu chấm thập phân trong chữ số (1,345.567) 3. Dấu chấm biểu thị sự viết tắt (Mr.,Dr.,…) 4. Dấu chấm trong các trường hợp email (dtha.tinhoctt@bacgiang.edu.vn)

Để có thể phân biệt được các trường hợp trên ta có thể dựa vào một số đặc trưng riêng trong cách trình bày của từng trường hợp:

1. Nếu dấu chấm không thuộc các trường hợp (2,3,4) thì dấu hiệu để nhận biết kết thúc sẽ là: “ Luôn luôn có ít nhất một khoảng trắng sau dấu chấm và ký tự tiếp theo sẽ là chữ cái sẽ được viết hoa”.

2. Ta có thể nhận biết dấu chấm thập phân bằng cách đọc toàn bộ phần liền trước và phần liền sau dấu chấm để phát hiện số có dấu chấm thập phân.

3. Để nhận biết dấu chấm trong các trường hợp các từ viết tắt, ta xây dựng một danh sách các từ viết tắt để tra cứu khi cần.

4. Trường hợp này là trường hợp đa dạng nhất, nhưng vẫn có tính chất chung là dấu chấm không bao giờ nằm cuối từ, luôn ở giữa hai ký tự nào đó ( nghĩa là không có khoảng trắng liền sau) nên có thể dễ dàng phân biệt đươc.

Những quy luật trên đây là những quy luật chung nhất trong cách trình bày văn bản tiếng Anh. Đối với văn bản tiếng Việt, các trường hợp cũng như thế. Do dựa chủ yếu vào cách trình bày văn bản nên có điểm yếu là dễ nhầm lẫn khi văn bản đưa vào có cách trình bày khác chuẩn và do không hiểu nghĩa câu nên không thể phân biệt một số trường hợp mơ hồ như trong ví dụ sau:

Ví dụ 3.3:

1. It was due Friday 5p.m. Saturday would be too late.

2. She has an appointment at 5 p.m. Saturday to get her car fixed.

Để xác định được dấu chấm trong 2 trường hợp trên có phải là dấu chấm hết câu không cũng là việc không đơn giản đối với máy. Thậm chí đối với con người mà trình độ tiếng Anh chưa vững. Trong cả hai trường hợp, từ ngay trước hoặc ngay sau dấu chấm câu cho ta những thông tin quan trọng về vai trò của dấu trong câu.Tuy nhiên bộ phận tách câu sẽ phải cần nhiều thông tin về ngữ cảnh và cú pháp hơn trong trường hợp sự chấm câu xuất hiện ở một câu con như trong trường hợp 1.

Khi bộ tách câu gặp dấu mở ngoặc đơn hoặc ngoặc kép thì nó sẽ quét trong đoạn văn bản đang xét để tìm dấu đóng tương ứng. Nếu tìm thấy, toàn bộ phần trong ngoặc sẽ được giữ nguyên và tìm câu kết thúc câu tiếp theo ngoài dấu ngoặc. Nếu không tìm thấy dấu đóng tương ứng, dấu mở sẽ bị bỏ qua và xử lý tiếp ký tự sau dấu mở như bình thường.

3.2.2.2 Tách từ.

Tách từ là một quá trình xử lí nhằm mục đích xác định ranh giới của các từ trong câu văn, cũng có thể hiểu đơn giản rằng tách từ là quá trình xác định các từ đơn, từ ghép… có trong câu. Đối với xử lí ngôn ngữ, để có thể xác định cấu trúc ngữ pháp của câu, xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là phải xác định được đâu là từ trong câu. Vấn đề này đơn giản đối với con người nhưng đối với máy tính đây là bài toán rất khó giải quyết.

Chính vì lí do đó, tách từ được xem là bước xử lí quan trọng đối với các hệ thống xử lí ngôn ngữ tự nhiên, đặc biệt đối với các ngôn ngữ vùng Đông Á theo loại hình ngôn ngữ đơn lập, ví dụ: tiếng Trung Quốc, tiếng Nhật, tiếng Thái và tiếng Việt. Với các ngôn ngữ thuộc loại hình này ranh giới từ không chỉ đơn giản là những khoảng trắng như tiếng Anh…, mà có sự liên hệ chặt chẽ giữa các tiếng với nhau, một từ có thể cấu tạo bởi một hay nhiều tiếng. Vì vậy, đối với các ngôn ngữ vùng Đông Á vấn đề của bài toán tách từ là khử được sự nhập nhằng trong ranh giới từ.

Trong những năm gần đây có nhiều công trình nghiên cứu để giải quyết bài toán tách từ tiếng Việt. Các nghiên cứu này thường tập trung vào 2 hướng tiếp cận lớn để giải quyết bài toán này là tách từ dựa trên đơn vị từ và tách từ dựa trên âm tiết.

Hướng tiếp cận dựa trên đơn vị từ:

Hướng tiếp cận dựa trên từ với mục tiêu tách được các từ hoàn chỉnh trong câu. Hướng tiếp cận này có thể chia ra theo ba hướng: dựa trên thống kê

(statistics - based), dựa trên từ điển (dictionary – based) và hydrid (kết hợp nhiều phương pháp với hy vọng đạt được những ưu điểm của các phương pháp này)

Hướng tiếp cận dựa trên thống kê: Dựa trên các thông tin như tần số xuất hiện của từ trong tập huấn luyện ban đầu. Hướng tiếp cận này đặc biệt dựa trên tập dữ liệu huấn luyện, nhờ vậy nên hướng tiếp cận này tỏ ra linh hoạt và hữu dụng trong nhiều lĩnh vực khác nhau.

Hướng tiếp cận dựa trên từ điển (dictionary - based): thường được sử dụng trong tách từ. Ý tưởng của hướng tiếp cận này là những cụm từ được tách ra từ văn bản phải được so khớp với các từ trong từ điển. Những hướng tiếp cận khác nhau sẽ sử dụng những loại từ điển khác nhau. Hướng tiếp cận “full word / phrase” cần sử dụng một từ điển hoàn chỉnh để có thể tách được đầy đủ các từ hoặc ngữ trong văn bản. Tùy theo cách chọn để khớp từ (match), hướng tiếp cận “full word/phrase” có thể được chia ra thành khớp dài nhất (longest match – bằng cách duyệt văn bản tuần tự để tìm ra từ dài nhất có trong từ điển) và khớp ngắn nhất (shortest match – bằng cách duyệt văn bản tuần tự và chọn ra từ đầu tiên có trong từ điển. Ngoài hai cách thông dụng là

khớp dài nhất khớp ngắn nhất, He et. al. (1996) còn đề nghị một cách thứ ba là kết hợp (overlap). Trong cách kết hợp này, một chuỗi phát sinh từ văn bản có thể chồng lấp lên chuỗi khác nếu chuỗi đó có trong từ điển (ví dụ, học sinh học, ta sẽ có các token là “học sinh”, “sinh học” chứ không phải chỉ có một cách như khớp dài nhất khớp ngắn nhất). Tại thời điểm hiện tại, hướng tiếp cận khớp dài nhất được xem là phương pháp quan trọng và hiệu quả nhất trong hướng tiếp cận dựa trên từ điển [Foo&Li, 2002]. Trong khi đó hướng tiếp cận “component” lại sử dụng từ điển thành phần. Từ điển thành phần chỉ chứa các thành phần của từ và ngữ như hình vị và các từ đơn giản.

Hướng tiếp cận theo từ điển vẫn còn một số hạn chế trong việc tách từ vì thực hiện hoàn toàn dựa vào từ điển. Nếu như thực hiện thao tác tách từ bằng cách sử dụng từ điển hoàn chỉnh thì trong thực tế việc xây dựng một bộ từ điển như thế là khó thực hiện vì đòi hỏi nhiều thời gian và công sức. Nếu tiếp cận theo hướng sử dụng từ điển thành phần (component dictionary) thì sẽ giảm nhẹ hạn chế, khó khăn khi xây dựng từ điển, vì khi đó chúng ta sẽ sử dụng các hình vị từ và các từ đơn giản và các từ khác để hình thành nên từ, cụm từ hoàn chỉnh.

Hướng tiếp cận theo Hybrid: Với mục đích kết hợp các hướng tiếp cận khác nhau để thừa hưởng được các ưu điểm của nhiều kỹ thuật khác nhau nhằm nâng cao kết quả. Hướng tiếp cận này thường kết hợp giữa hướng dựa trên thống kê và dựa trên từ điển nhằm tận dụng ưu thế chung và các mặt vượt trội riêng của mỗi phương pháp. Tuy nhiên hướng tiếp cận theo Hybrid lại mất nhiều thời gian xử lý, không gian đĩa và đòi hỏi nhiều chi phí.

Hướng tiếp cận dựa trên đơn vị âm tiết

Trong tiếng Việt, hình vị nhỏ nhất là âm tiết (tiếng) được hình thành bởi nhiều ký tự trong bảng chữ cái. Hướng tiếp cận này đơn thuần rút trích ra một số lượng nhất định các tiếng trong văn bản như rút trích từ 1 ký tự (unigram) hay nhiều ký tự (N-gram) và cũng mang lại một số kết quả nhất định. Qua nhiều công trình nghiên cứu của các tác giả đã được công bố, hướng tiếp cận tách từ dựa trên nhiều ký tự, cụ thể là cách tách từ hai ký tự được cho là sự lựa chọn thích hợp.

3.2.2.3 Gán nhãn từ loại.

Gán nhãn từ loại chính là việc xác định chức năng ngữ pháp của từ trong câu. Đây là bước cơ bản khi phân tích sâu văn phạm hay các vấn đề xử lý ngôn ngữ phức tạp khác.

Trong một câu, mỗi từ đóng vai trò quan trọng. Do đó, tùy theo ngữ cảnh trong câu mà mỗi từ có một loại nhãn thích hợp. Để thể hiện chức năng ngữ pháp của mỗi từ, người ta sử dụng nhãn từ loại. Ví dụ: I want to book a book. Từ book có hai nhãn từ loại là động từ và danh từ. Hoặc trong câu: Tôi đi học thì nhãn từ loại của “tôi” là đại từ, còn “đi học” là động từ.

Quá trình gán nhãn có thể được chia thành các bước sau:

 Gán nhãn tiên nghiệm, tức là tìm cho mỗi từ tập tất cả các nhãn từ loại mà nó có thể có. Tập nhãn này có thể thu được từ cơ sở dữ liệu từ điển hoặc kho văn bản đã gán nhãn bằng tay. Đối với một từ mới chưa xuất hiện trong cơ sở ngữ liệu thì có thể dùng một nhãn ngầm định hoặc gắn cho nó tập tất cả các nhãn. Trong các ngôn ngữ biến đổi hình thái người ta cũng dựa vào hình thái từ để đoán nhận lớp từ loại tương ứng của từ đang xét.

 Quyết định kết quả gán nhãn, đó là giai đoạn loại bỏ nhập nhằng, tức là lựa chọn cho mỗi từ một nhãn phù hợp nhất với ngữ cảnh trong tập nhãn tiên nghiệm. Có nhiều phương pháp để thực hiện việc này, trong đó người ta phân biệt chủ yếu các phương pháp dựa vào quy tắc ngữ pháp và các phương pháp xác suất. Ngoài ra còn có các hệ thống sử dụng mạng nơ-ron, các hệ thống lai sử dụng kết hợp tính toán xác suất và ràng buộc ngữ pháp, gán nhãn nhiều tầng.

Về mặt ngữ liệu, các phương pháp phân tích từ loại thông dụng hiện nay dùng một trong các loại tài nguyên ngôn ngữ sau:

- Từ điển và các văn phạm loại bỏ nhập nhằng.

- Kho văn bản đã gán nhãn, có thể kèm theo các quy tắc ngữ pháp xây dựng bằng tay.

- Kho văn bản chưa gán nhãn, có kèm theo các thông tin ngôn ngữ như là tập từ loại và các thông tin mô tả quan hệ giữa từ loại và hậu tố.

- Kho văn bản chưa gán nhãn, với tập từ loại cũng được xây dựng tự động nhờ các tính toán thống kê. Trong trường hợp này khó có thể dự đoán trước về tập từ loại.

Các bộ gán nhãn từ loại dùng từ điển và văn phạm gần giống với một bộ phân tích cú pháp. Các hệ thống học sử dụng kho văn bản để học cách đoán nhận từ loại cho mỗi từ. Từ giữa những năm 1980 các hệ thống này được triển khai rộng rãi vì việc xây dựng kho văn bản mẫu ít tốn kém hơn nhiều so với việc xây dựng một từ điển chất lượng cao và một bộ quy tắc ngữ pháp đầy đủ. Một số hệ thống sử dụng đồng thời từ điển để liệt kê các từ loại có thể cho một từ, và một kho văn bản mẫu để loại bỏ nhập nhằng.

Các bộ gán nhãn thường được đánh giá bằng độ chính xác của kết quả: [số từ được gán nhãn đúng] / [tổng số từ trong văn bản]. Các bộ gán nhãn tốt nhất hiện nay có độ chính xác đạt tới 98%.

3.2.2.4 Phân tích cú pháp.

Các hướng tiếp cận để giải bài toán phân tích cú pháp đều sử dụng văn phạm phi ngữ cảnh để biểu diễn ngôn ngữ, sau đó dùng một số kỹ thuật phân tích để xác định cây phân tích cú pháp. Sở dĩ vậy là vì nó biểu diễn được hầu hết các ngôn ngữ tự nhiên, và nó cũng có đủ hạn chế để xây dựng các trình phân tích câu hiệu quả.

Văn phạm phi ngữ cảnh khi được sử dụng để biểu diễn cấu trúc cú pháp thì các ký hiệu kết thúc tương ứng với các từ trong ngôn ngữ, các ký hiệu không úc tương ứng với các phân loại cú pháp (hay từ loại). Tiên đề biểu diễn phân loại "câu". Các quy tắc sinh biểu diễn các quy tắc ngữ pháp. Ta có thể chia chúng thành các qui tắc từ vựng (chứa ít nhất một ký hiệu kết thúc) và các qui tắc ngữ đoạn (không chứa ký hiệu kết thúc nào). Với mỗi từ trong từ vựng có một tập các qui tắc sinh chứa từ này trong vế phải. Một cây dẫn xuất cũng

được gọi là cây cú pháp cho một phân tích của một ngữ đoạn thành các thành phần kế tiếp.

3.3 DỮ LIỆU THỰC NGHIỆM.

Quá trình huấn luyện được tiến hành trên vài bộ dữ liệu khác nhau. Bộ dữ liệu thứ nhất có kích thước khoảng 20MB được rút ra từ các trang web của Báo Lao Động. Bộ dữ liệu thứ hai có kích thước khoảng 300MB, được rút ra từ trang web của VnExpress. Bộ dữ liệu thứ ba có kích thước khoảng 40MB, với nội dung tổng hợp từ nhiều trang báo khác nhau (các bộ dữ liệu không bao gồm nhau, cũng như không có nội dung trùng lặp).

Thời gian huấn luyện khá ngắn. Với bộ dữ liệu lớn nhất (300MB), máy chỉ tốn gần 2 phút, sinh ra hơn 1 triệu bigram và 4.7 triệu trigram, kích thước tổng cộng hơn 40MB, trong đó chỉ riêng trigram đã chiếm 37MB. Do đó, trong thực tế, để chương trình không chiếm nhiều bộ nhớ khi xử lí, tôi nhận

Một phần của tài liệu Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram (Trang 45 - 54)