Luận văn Phát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích văn bản tiếng Việt

MỤC LỤC

MỤC LỤC 1

LỜI NÓI ĐẦU 2

Chương 1. Giới thiệu chung xử lý ngôn ngữ tự nhiên và phân tích văn bản tiếng Việt 5

1.1. Tổng quan về xử lý ngôn ngữ tự nhiên 5

1.2. Một số bài toán cơ bản phân tích văn bản 7

1.2.1. Một số phương pháp giải các bài toán cơ bản: tách câu, tách từ, gán nhãn từ loại và phân tích cú pháp 8

1.2.1.1. Bài toán tách câu 8

1.2.1.2. Bài toán tách từ 9

1.2.1.3. Bài toán gán nhãn từ loại 11

1.2.1.4. Bài toán phân tích cú pháp 12

1.3. Kho ngữ liệu 13

Chương 2. Các công cụ phân tích văn bản tiếng Việt 14

2.1. Bài toán tách câu và công cụ vnSentDetector 14

2.2. Bài toán tách từ và công cụ vnTokenizer 15

2.3. Bài toán gán nhãn từ loại và công cụ vnQtag 17

2.4. Bài toán phân tích cú pháp và công cụ vnParser 20

Chương 3. Phát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích văn bản tiếng Việt 24

3.1. Giới thiệu 24

3.2. Nội dung và quy trình dựng kho ngữ liệu có chú giải cú pháp (treebank) 25

3.3. Mô hình chú giải cú pháp SynAF 29

3.3.1. Một số mô hình mã hóa cấu trúc cú pháp 29

3.3.2. Mô hình chú giải cú pháp SynAF 33

3.3.3 Mô hình chú giải cú pháp tiếng Việt - vnSynAF 35

3.4. Bộ công cụ hỗ trợ xây dựng kho ngữ liệu tiếng Việt - vnSynAF 36

KẾT LUẬN 41

 

 

doc43 trang | Chia sẻ: netpro | Lượt xem: 3077 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Phát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích văn bản tiếng Việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iữa hướng dựa trên thống kê và dựa trên từ điển nhằm tận dụng các mặt mạnh của các phương pháp này. Tuy nhiên hướng tiếp cận 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 để giải bài toá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 qủa nhất định được minh chứng thông qua một số công trình nghiên cứu đã được công bố, như của tác giả Lê An Hà [2003] xây dựng tập ngữ liệu thô 10MB bằng cách sử dụng phương pháp qui hoạch động để cựa đại hóa xác suất xuất hiện của các ngữ. Rồi công trình nghiên cứu của H.Nguyễn [2005] làm theo hướng tiếp cận là thay vì sử dụng ngữ liệu thô, công trình tiếp cận theo hướng xem Internet như một kho ngữ liệu khổng lồ, sau đó tiến hành thống kê và sử dụng thuật giải di truyền để tìm cách tách từ tối ưu nhất, và một số công trình của một số tác giả khác. Khi so sánh kết qủa của tác giả Lê An Hà và H.Nguyễn thì thấy công trình của H.Nguyễn cho được kết qủa tốt hơn khi tiến hành tách từ, tuy nhiên thời gian xử lý lâu hơn. Ưu điểm nổi bật của hướng tiếp cận dựa trên nhiều ký tự là tính đơn giản, dễ ứng dụng, ngoài ra còn có thuận lợi là ít tốn chi phí cho thao tác tạo chỉ mục và xử lý nhiều câu truy vấn. 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. 1.2.1.3. Bài toán 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. 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%. 1.2.1.4. Bài toán 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 kết thú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. 1.3. Kho ngữ liệu Trong các phương để giải các bài toán cơ bản của phân tích ngôn ngữ thì phương pháp thống kê trên một tập dữ liệu mẫu được các nhà nghiên cứu đặc biệt quan tâm hơn cả. Một mặt là do phương pháp dễ triển khai thực hiện và được sử dụng rộng rãi trong nhiều ngôn ngữ khác nhau (Anh, Pháp, Trung, Nhật, Thái,…). Mặt nữa là ngày nay với sự phát triển mạnh của công nghệ phần cứng, những khó khăn hạn chế về không gian lưu trữ cũng như tốc độ xử lý được cải thiện. Máy tính có thể tính toán và xử lý cho kết quả một cách nhanh chóng. Và phương pháp thống kê này cho kết quả ổn định và độ chính xác cao nếu có tập dữ liệu mẫu đủ lớn. Tập dữ liệu mẫu này chính là kho ngữ liệu. Có các loại kho ngữ liệu về câu, từ, từ được gán nhãn, câu được gán nhãn cú pháp. Trong đó kho dữ liệu về các câu được gán nhãn cú pháp là đầy đủ nhất, từ đây có thể đễ dàng rút được các dữ liệu mẫu về câu, từ hay từ được gán nhãn. Các kho ngữ liệu này ngoài việc dùng để làm dữ liệu huấn luyện các mô hình xử lý ngôn ngữ tự động, nó còn có một vai trò quan trọng khác là để đánh giá, kiểm chứng hiệu quả của các mô hình. Bộ công cụ trong đề tài nghiên cứu luận văn này chính là để hỗ trợ xây dựng kho ngữ liệu câu tiếng Việt có chú giải cú pháp (gán nhãn cú pháp). Việc xây dựng kho ngữ liệu này được thực hiện bởi các chuyên gia ngôn ngữ là các nhà nghiên cứu xử lý ngôn ngữ, các nhà ngôn ngữ học. Việc thực hiện là thủ công bằng tay hoặc bán tự động bằng việc sử dụng các công cụ đã có như tách câu, tách từ, gán nhãn từ loại, gán nhãn cú pháp được tích hợp vào chương trình. Chương 2. Các công cụ phân tích văn bản tiếng Việt Trong chương này em giới thiệu một số công cụ phân tích văn bản tiếng Việt đã có áp dụng cho các bài toán cơ bản: tách câu, tách từ, gán nhãn từ loại và phân tích cú pháp. Đây là những công cụ được xây dựng bằng ngôn ngữ Java mã nguồn mở, có thể dễ dàng mở rộng, tích hợp được vào các hệ thống khác. 2.1. Bài toán tách câu và công cụ vnSentDetector Đặt bài toán Cho một văn bản tiếng Việt bất kỳ. Hãy phân tách văn bản đó ra thành các đơn vị câu độc lập. Bài toán tách câu đặt ra với mục đích xây dựng công cụ tự động tách các câu trong một văn bản tiếng Việt bất kỳ một cách chính xác nhất có thể. Công cụ tách câu vnSententDetector của hai tác giả Lê Hồng Phương và Hồ Tường Vinh được xây dựng dựa trên mô hình xác suất với Maximum Entropy. Mô hình này được đào tạo trên tạp dữ liệu được huấn luyện gồm có 4.800 câu tiếng Việt. Bộ dữ liệu này được các nhà ngôn ngữ học thuộc trung tâm từ điển học Việt Nam (Vietlex) xây dựng thủ công bằng tay. Với phương pháp này, theo bài báo mà các tác giả đã công bố thì độ chính xác đạt được 95%. Ý tưởng của phương pháp là xây dựng mô hình xác suất ước lượng lớp b xảy ra trong ngữ cảnh c, p(b,c). Trong đó: b {no, yes}, αj là những tham số chưa biết của mô hình và mỗi αj có ứng một đặc trưng mô hình fj, π là một hằng số. Gọi ={no,yes} là tập khả năng của các lớp, là tập khả năng về các ngữ cảnh. Khi đó các đặc trưng fj là hàm nhị phân . Các hàm này dùng để mã hóa thông tin ngữ cảnh. Xác suất để biết ranh giới câu trong ngữ cảnh c được cho bởi p(yes,c). αj được chọn để cực đại hàm likelihood của tập dữ liệu mẫu. Mô hình sử dụng luật quyết định đơn giản để xác định khả năng ranh giới câu. Ranh giới hiện tại là khả năng ranh giới câu nếu và chỉ nếu p(yes,c) >0.5, trong đó: và c là ngữ cảnh có chứa khả năng là ranh giới câu. Một phần quan trọng của phương pháp là lựa chọn các đặc trưng fj. Các đặc trưng của mô hình Maximum Entropy có thể mã hóa bất kỳ thông tin nào có ích cho việc xác định các ranh giới câu. Các khả năng ranh giới câu được xác định bằng cách quét văn bản theo các chuỗi ký tự được ngăn cách bởi kí tự trắng mà trong đó có chứa một trong các ký hiệu “.”, “!” hoặc “?” 2.2. Bài toán tách từ và công cụ vnTokenizer Đặt bài toán Cho một câu tiếng Việt bất kỳ, hãy tách câu đó thành những đơn vị từ vựng (từ), hoặc chỉ ra những âm tiết nào không có trong từ điển (phát hiện đơn vị từ vựng mới). Giới thiệu công cụ vnTokenizer vnTokenizer là công cụ tách từ tiếng Việt được nhóm tác giả Nguyễn Thị Minh Huyền, Vũ Xuân Lương và Lê Hồng Phương phát triển dựa trên phương pháp so khớp tối đa (Maximum Matching) với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt. Công cụ được xây dựng bằng ngôn ngữ Java, mã nguồn mở. Có thể đễ dàng sửa đổi nâng cấp và tích hợp vào các hệ thống phân tích văn bản tiếng Việt khác. Quy trình thực hiện tách từ theo phương pháp khớp tối đa: Hình 1. Quy trình tách từ Đầu vào của công cụ tách từ vnTokenizer là một câu hoặc một văn bản được lưu dưới dạng tệp. Đầu ra là một chuỗi các đơn vị từ được tách. Các đơn vị từ bao gồm các từ trong từ điển cũng như các chuỗi số, chuỗi kí từ nước ngoài, các hình vị ràng buộc (gồm các phụ tố), các dấu câu và các chuỗi kí tự hỗn tạp khác trong văn bản (ISO, 2008). Các đơn vị từ không chỉ bao gồm các từ có trong từ điển, mà cả các từ mới hoặc các từ được sinh tự do theo một quy tắc nào đó (như phương thức thêm phụ tố hay phương thức láy) hoặc các chuỗi kí hiệu không được liệt kê trong từ điển. Công cụ sử dụng tập dữ liệu đi kèm là tập từ điển từ vựng tiếng Việt, danh sách các đơn vị từ mới bổ sung, được biểu diễn bằng ôtômat tối tiểu hữu hạn trạng thái, tệp chứa các biểu thức chính quy cho phép lọc các đơn vị từ đặc biệt (xâu dạng số, ngày tháng,…), và các tệp chứa các thống kê unigram và bigram trên kho văn bản tách từ mẫu. Với các đơn vị từ đã có trong từ điển, khi thực hiện tách từ cũng được xử lý hiện tượng nhập nhằng bằng cách kết hợp với các thống kê unigram và bigram. Chẳng hạn trong tiếng Việt thường gặp các trường hợp nhập nhằng như: - Xâu AB vừa có thể hiểu là 1 đơn vị từ, vừa có thể là chuỗi 2 đơn vị từ A-B. - Xâu ABC có thể tách thành 2 đơn vị AB-C hoặc A-BC. Đánh giá kết quả Kết quả đánh giá của công cụ được cho là ổn định đối với nhiều loại văn bản/ văn phong khác nhau. Độ chính xác trung bình đạt được là khoảng 94%. 2.3. Bài toán gán nhãn từ loại và công cụ vnQtag Đặt bài toán tổng quát Cho một câu tiếng Việt đã được tách thành các đơn vị độc lập. Gán cho mỗi đơn vị từ đó một nhãn từ loại ngôn ngữ. Đã có một số công cụ gán nhãn từ loại được xây dựng như vnQtag, vnTagger và JvnTagger. Trong đó vnQtag được xây dựng từ năm 2003 theo phương pháp xác suất và đã được công bố rộng rãi trong cộng đồng các nhà nghiên cứu xử lý ngôn ngữ tiếng Việt. Gần đây có vnTagger [Lê Hồng Phương, 2009] và JvnTagger [Phan Xuân Hiếu, VLSP, 2009] được xây dựng theo phương pháp học máy thống kê (Maxmimum Entropy và Conditional Rundom Fields), sử dụng bộ ngữ liệu mẫu Vietreebank [Nguyễn Phương Thái, VLSP] để huấn luyện mô hình học. Trong đề tài này em mới sử dụng tích hợp công cụ gán nhãn vnQtag vào công cụ hỗ trợ xây dựng kho ngữ liệu phân tích văn bản tiếng Việt. Giới thiệu nguồn gốc công cụ vnQtag vnQtag là công cụ gán nhãn từ loại cho văn bản tiếng Việt đã tách từ, được phát triển bởi nhóm tác giả Nguyễn Thị Minh Huyền, Vũ Xuân Lương và Lê Hồng Phương dựa trên xác suất, 2003, sử dụng bộ ngữ liệu mẫu đã gán nhãn. Việc thực hiện gán nhãn được thực hiện qua thao tác dòng lệnh (môi trường DOS) và được tiến hành qua hai bước: huấn luyện và gán nhãn. Gán nhãn theo xác suất Ý tưởng của phương pháp gán nhãn từ loại xác suất là xác định phân bố xác suất trong không gian kết hợp giữa dãy các từ Sw và dãy các nhãn từ loại St. Sau khi đã có phân bố xác suất này, bài toán loại bỏ nhập nhằng từ loại cho một dãy các từ được đưa về bài toán lựa chọn một dãy từ loại sao cho xác suất điều kiện P(St | Sw) kết hợp dãy từ loại đó với dãy từ đã cho đạt giá trị lớn nhất. Theo công thức xác suất Bayes ta có: P(St | Sw) = P(Sw | St).P(St)/P(Sw). Ở đây dãy các từ Sw đã biết, nên thực tế chỉ cần cực đại hoá xác suất P(Sw|St).P(St). Với mọi dãy St = t1t2 ... tN và với mọi dãy Sw = w1w2 ... wN : P(w1w2... wN|t1t2...tN) = P(w1|t1t2...tN) P(w2|w1,t1t2...tN)...P(wN|w1...wN-1, t1t2...tN) P(t1t2...tN) = P(t1)P(t2|t1) P(t3 | t1t2) ... P(tN|t1...tN-1) Người ta đưa ra các giả thiết đơn giản hoá cho phép thu gọn mô hình xác suất về một số hữu hạn các tham biến. Đối với mỗi P(wi|w1... wi-1, t1t2...tN), giả thiết khả năng xuất hiện một từ khi cho một nhãn từ loại là hoàn toàn xác định khi biết nhãn đó, nghĩa là P(wi|w1... wi-1, t1t2...tN) = P(wi|ti). Như vậy xác suất P(w1w2... wN|t1t2...tN) chỉ phụ thuộc vào các xác suất cơ bản có dạng P(wi| ti): P(w1w2... wN | t1t2...tN) = P(w1 | t1)P(w2 | t2) ... P(wN | tN) Đối với các xác suất P(ti|t1...ti-1), giả thiết khả năng xuất hiện của một từ loại là hoàn toàn xác định khi biết các nhãn từ loại trong một lân cận có kích thước k cố định, nghĩa là: P(ti|t1...ti-1)= P(ti | ti-k...ti-1). Nói chung, các bộ gán nhãn thường sử dụng giả thiết k bằng 1 (bigram) hoặc 2 (trigram). Như vậy mô hình xác suất này tương đương với một mô hình Markov ẩn, trong đó các trạng thái ẩn là các nhãn từ loại (hay các dãy gồm k nhãn nếu k > 1), và các trạng thái hiện (quan sát được) là các từ trong từ điển. Với một kho văn bản đa gán nhãn mẫu, các tham số của mô hình này dễ dàng được xác định nhờ thuật toán Viterbi. Dữ liệu mẫu Bộ gán nhãn QTAG là một bộ gán nhãn trigram. QTAG sử dụng kết hợp hai nguồn thông tin: một từ điển từ chứa các từ kèm theo danh sách các nhãn có thể của chúng cùng với tần suất xuất hiện tương ứng; và một ma trận gồm các bộ ba nhãn từ loại có thể xuất hiện liền nhau trong văn bản với các tần số xuất hiện của chúng. Cả hai loại dữ liệu này thu được dễ dàng dựa vào kho văn bản mẫu đã gán nhãn. Các loại dấu câu và các kí hiệu khác trong văn bản được xử lý như các đơn vị từ vựng, với nhãn chính là dấu câu tương ứng. Thuật toán gán nhãn từ loại Về mặt thuật toán, QTAG làm việc trên một cửa sổ chứa 3 từ, sau khi đã bổ sung thêm 2 từ giả ở đầu và cuối văn bản. Các từ được lần lượt đọc và thêm vào cửa sổ mỗi khi cửa sổ di chuyển từ trái sang phải, mỗi lần một vị trí. Nhãn được gán cho mỗi từ đã lọt ra ngoài cửa sổ là nhãn kết quả cuối cùng. Thủ tục gán nhãn như sau: 1. Đọc từ (token) tiếp theo 2. Tìm từ đó trong từ điển 3. Nếu không tìm thấy, gán cho từ đó tất cả các nhãn (tag) có thể 4. Với mỗi nhãn có thể 5. Tính Pw = P(tag|token) là xác suất từ token có nhãn tag 6. Tính Pc = P(tag|t1,t2), là xác suất nhãn tag xuất hiện sau các nhãn t1, t2, là nhãn tương ứng của hai từ đứng trước từ token. 7. Tính Pw,c = Pw * Pc, kết hợp hai xác suất trên. 8. Lặp lại phép tính cho hai nhãn khác trong cửa sổ Sau mỗi lần tính lại (3 lần cho mỗi từ), các xác suất kết quả được kết hợp để cho ra xác suất toàn thể của nhãn được gán cho từ. Vì các giá trị này thường nhỏ, nên chúng được tính trong biểu thức logarit cơ số 10. Giá trị xác suất tính được cho mỗi nhãn tương ứng với một từ thể hiện độ tin cậy của phép gán nhãn này cho từ đang xét. 2.4. Bài toán phân tích cú pháp và công cụ vnParser Đặt bài toán tổng quát Cho một câu tiếng Việt. Phân tích cú pháp đưa ra mô tả về quan hệ và vai trò ngữ pháp của các từ, các cụm từ (hoặc ngữ) trong câu, đồng thời đưa ra hình thái của câu. Đầu vào của giai đoạn này là câu đã được phân tách từ, trong đó mỗi từ có đặc điểm hình thái xác định. Quá trình kiểm tra cú pháp tiến hành phân tích và tổ hợp các từ ở đầu vào, dựa trên các luật cú pháp để loại bỏ các trường hợp bất quy tắc và từng bước dựng lên cấu trúc cú pháp (cây phân tích) của câu. Kết quả cần đạt được là hình thái của câu. Bộ công cụ vnParser Công cụ phân tích cú pháp vnParser được tác giả Lê Hồng Phương trình bày trong khóa luận tốt nghiệp cử nhân khoa học, 2002, với cơ sở lý thuyết là sử dụng phương pháp phân tích từ trên xuống cho các mạng chuyển đệ quy (RTN – recursive transition networks). Công cụ sử dụng 2 loại dữ liệu ngôn ngữ là: Từ điển từ vựng tiếng Việt có kèm theo chú giải từ loại, là các nhãn từ loại có thể. Từ điển này có khoảng 37.000 từ được cung cấp bởi các chuyên gia ngôn ngữ thuộc trung tâm từ điển học Việt Nam (Vietlex). Tập các luật cú pháp cho ngôn ngữ tiếng Việt, là các quy tắc sinh ngôn ngữ. Tác giả mới thử nghiệm chạy thành công với tập luật đơn giản phân tích được một số câu tiếng Việt. Để công cụ vnParser chạy tốt thì rất cần có bộ dữ liệu ngôn ngữ đủ chuẩn và đủ lớn có thể bao phủ được hầu hết các từ ngữ tiếng Việt thuộc nhiều lĩnh vực khác nhau. Ý tưởng thực hiện Về tư tưởng của phương pháp là xây dựng một hệ các ôtômat, là các mạng chuyển đệ quy: Từ các quy tắc của văn phạm, xây dựng các ôtômat hữu hạn trạng thái. Từ các từ và các nhãn trong từ điển, các nhãn ở đây chính là các trạng thái kết của văn phạm đã cho. Xây dựng các ôtômat cho các trạng thái kết này với mỗi cung chuyển sẽ sinh ra một từ. Với hệ ôtômat này, áp dụng kỹ thuật phân tích từ trên xuống cho một câu cần phân tích đầu vào ta sẽ có kết quả xác định ôtômat có đoán nhận được câu hay không. Ví dụ: xét văn phạm đơn giản: 1. S → NP (Aux) V (NP) PP* 1’. S → Aux NP V (NP) PP* 2. NP → (Det) (Quant) Adj* N* N PP* 3. PP → Prep NP Văn phạm này định nghĩa một ngôn ngữ phi ngữ cảnh trên bảng chữ cái {Aux, V, Det, Quant, Adj, N, Prep}. Ở đây có một mở rộng so với thông thường là các ngoặc tròn, chứa các phần tử tuỳ chọn, và dấu hoa thị dùng để chỉ ký hiệu đi kèm với nó có thể không có hoặc xuất hiện nhiều hơn một lần. Các vế phải của các quy tắc cũng có thể được xem như định nghĩa của các biểu thức của các ngôn ngữ chính quy, hay các biểu thức chính quy, tương ứng trên các bảng chữ cái {NP, Aux, V, PP} đối với quy tắc 1, {Det, Quant, Adj, N, PP} đối với quy tắc 2 và {Prep, PP} đối với quy tắc 3. Từ các quy tắc của văn phạm, ta xây dựng được các ôtômát hữu hạn trạng thái tương đương: Từ tập từ điển, ví dụ có các quy tắc viết lại: Det → 'a' Det → 'the' Det → 'some' Ta có thể xây dựng dạng chuyển như sau và gắn kết quả vào mạng văn phạm tương tự như A1-A3: Để minh họa rõ hơn một quá trình phân tích, ta xét văn phạm sau: Với bộ từ vựng: ART the, a NUMBER one PRONOUN one ADJ wild, green NOUN dogs, man, saw, green VERB cried, saw, broke, faded, man Khi đó, với câu cần phân tích: 1 The 2 wild 3 dogs 4 cried 5 Sẽ được phân tích như sau: Bước Nốt hiện tại Vị trí hiện tại Ðiểm trả về Cung được đi 1. S 1 nil S/1 2. NP 1 {S1} NP/1 3. NP1 2 {S1} NP1/1 4. NP1 3 {S1} NP1/2 5. NP2 4 {S1} NP2/1 6. S1 4 nil S1/1 7. S2 5 nil N2/1 Ở bước thứ 7, khi mà quá trình phân tích đã đi được hết câu (vị trí 5), điểm trả về là rỗng tức là các trạng thái lưu trữ tạm thời trong quá trình phân tích đã hết thì quá trình phân tích thành công. Chương 3. Phát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích văn bản tiếng Việt 3.1. Giới thiệu Kho văn bản mà trong đó mỗi câu được chú giải cấu trúc cú pháp là nguồn tài nguyên rất hữu ích trong lĩnh vực xử lý ngôn ngữ tự nhiên. Kho văn bản này được gọi là treebank. Treebank có nhiều ứng dụng quan trọng như đánh giá, kiểm định các công cụ xử lí ngôn ngữ tự động, các phần mềm dịch máy, tóm tắt văn bản, các hệ thống hỏi đáp… Các hệ thống treebank cho các thứ tiếng được nghiên cứu nhiều như Anh, Pháp, Hoa… đã được xây dựng từ lâu, đối với tiếng Việt, việc xây dựng treebank đang là công việc mới bắt đầu. Trong lĩnh vực XLNN tự nhiên, nguồn tài nguyên ngôn ngữ đóng vai trò rất quan trọng trong việc nghiên cứu và phát triển các phương pháp và công cụ tự động. Việc chuẩn hoá vấn đề mã hoá tài nguyên ngôn ngữ nói chung và mã hoá treebank nói riêng nhằm mở rộng đến mức tối đa phạm vi sử dụng và khai thác tài nguyên là vấn đề rất quan trọng. Gần đây một số dự án xây dựng kho ngữ liệu trên thế giới đưa vấn đề chuẩn hóa lên hàng đầu. Đặc biệt là dự án European eContent LIRICS đã và đang xử lý quá trình chuẩn hóa quốc tế về chú giải tài nguyên cú pháp - SynAF (Syntactic Annotation Framework). Mô hình SynAF được thiết kế dựa vào cả hai cấu trúc phụ thuộc và cấu trúc thành phần, bên cạnh đó thì danh mục dữ liệu (danh sách bộ nhãn gán cho các nút, các cung) trên sơ đồ cũng được xây dựng theo một chuẩn để dễ dàng sử dụng, có thể ánh xạ, tham chiếu sang bộ danh mục của các nước khác nhau một cách dễ dàng. Có hai cách thường được sử dụng để mã hóa cây cú pháp. Cách thứ nhất đơn giản, sử dụng cấu trúc dấu ngoặc. Theo cách này mỗi thành phần cú pháp sẽ có một cặp dấu ngoặc bao quanh. Ngay sau dấu ngoặc đầu tiên là ký hiệu ngữ pháp và các thuộc tính (nếu có), tiếp theo là danh sách các thành phần cú pháp con. Cách thứ hai là sử dụng lược đồ mã hóa XML (eXtended Markup Language). Cách này đa được nghiên cứu kỹ lưỡng và được áp dụng vào một số dự án về xử lý ngôn ngữ của Châu Âu. Vấn đề xây dựng kho ngữ liệu chuẩn cho tiếng Việt đang là vần đề cấp thiết. Việc xây dựng công cụ hỗ trợ cho việc mã hóa XML theo chuẩn hóa quốc tế cũng là một nhiềm vụ cần thiết trong việc xây dựng treebank cho tiếng Việt. 3.2. Nội dung và quy trình dựng kho ngữ liệu có chú giải cú pháp (treebank) Kho ngữ liệu (treebank) là ngân hàng các câu được chú giải cấu trúc ngữ pháp. Quy trình xây dựng treebank thường tuân theo các bước sau: Tìm hiểu: Xác định tiếp cận xây dựng treebank phù hợp với ngôn ngữ đang được xem xét. Tức là lựa chọn một lược đồ giải thích cấu trúc cú pháp phù hợp. Có hai loại lược đồ chú giải cấu trúc cú pháp là chú giải theo cấu trúc thành phần và chú giải theo cấu trúc phụ thuộc. Loại thứ nhất quan tâm đến cấu trúc ngữ đoạn trong câu trong khi loại thứ hai chủ yếu quan tâm đến sự phụ thuộc ngữ pháp giữa các từ trong câu. Tùy vào đặc điểm ngôn ngữ học khác nhau mà lược đồ chú giải của các ngôn ngữ khác nhau. Với tiếng Việt là ngôn ngữ đơn lập, cấu tạo từ cũng phức tạp (đơn và đa âm tiết) nên lựa chọn phù hợp là lược đồ chú giải theo cấu trúc thành phần. Các lược đồ chú giải cấu trúc theo thành phần thường có các đặc điểm: Về mức độ gán nhãn: tách từ, gán nhãn từ loại và gán nhãn cú pháp Nhãn cú pháp gồm có cả nhãn chức năng Đảm bảo sự nhận diện các quan hệ ngữ pháp cơ bản: quan hệ chủ vị, phụ thuộc, đẳng lập, bổ ngữ, phụ ngữ, đề ngữ, … Thiết kế tập nhãn và tài liệu hướng dẫn gán nhãn Xây dựng công cụ Thu thập văn bản thô: thường được lấy từ các loại sách, báo, tap chí. Chẳng hạn như treebank tiếng Anh chọn báo Wall Street Journal, treebank tiếng Trung chọn báo XinHua. Thực hiện gán nhãn Với tiếng Việt, treebank được nghiên cứu xây dựng trong khuôn khổ đề tài VLSP và có tên là vietreebank. Mục tiêu của vietreebank là xây dựng được lược đồ giải thích cú pháp được 10.000 câu. Tập nhãn của vietreebank được thiết kế gồm có: Tập nhãn từ loại. Về nguyên tắc, các thông tin về từ có thể được chứa trong nhãn từ loại bao gồm: từ loại cơ sở (danh từ, động từ, v.v.), thông tin hình thái (số ít, số nhiều, thì, ngôi, v.v.), thông tin về phân loại con (ví dụ động từ đi với danh từ, động từ đi với mệnh đề, v.v.), thông tin ngữ nghĩa, hay một số thông tin cú pháp khác. Với đặc điểm của tiếng Việt, tập nhãn từ loại chỉ chứa thông tin về từ loại cơ sở mà không bao gồm các thông tin như hình thái, phân loại con, v.v. Các nhãn từ loại: STT Tên Chú thích N Danh từ Nc Danh từ chỉ loại V Động từ A Tính từ P Đại từ D Định từ M Số từ R Phụ từ … … … Tập nhãn các thành phần cú pháp. Tập nhãn này chứa các nhãn mô tả các thành phần cú pháp cơbản là cụm từ và mệnh đề. Nhãn thành phần cú pháp là thông tin cơ bản nhất trên cây cú pháp, nó tạo thành xương sống của cây cú pháp. Các nhãn cụm từ: STT Tên Chú thích NP Cụm danh từ VP Cụm động từ AP Cụm tính từ RP Cụm phụ từ PP Cụm giới từ QP Cụm từ chỉ số lượng WHNP Cụm danh từ nghi vấn (ai, cái gì, con gì, v.v.) … … Các nhãn mệnh đề: STT Tên Chú thích S Câu trần thuật (khẳng định hoặc phủ định) SQ Câu hỏi SE Câu cảm thán SC Câu mệnh lệnh SBAR Mệnh đề phụ (bổ nghĩa cho danh từ, động từ, và tính từ) … … Tập nhãn chức năng ngữ pháp. Nhãn chức năng của một thành phần cú pháp cho biết vai trò của nó trong thành phần cú pháp mức cao hơn. Nhãn chức năng cú pháp được gán cho các thành phần chính trong câu như chủ ngữ, vị ngữ, tân ngữ. Nhờ thông tin do nhãn chức năng cung cấp ta có thể xác định các loại q

Các file đính kèm theo tài liệu này:

  • docPhát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích văn bản tiếng Việt.doc
Tài liệu liên quan