Nghiên cứu từ vựng

Một phần của tài liệu Luận án tiến sĩ: Xử lý tiếng việt (Trang 67 - 150)

Kho ngữ liệu xây dựng từ Internet là nguồn tài nguyên lớn và hữu ích cho các nghiên cứu và các ứng dụng của của lý ngôn ngữ tự nhiên. Trong đó, sử dụng cho nghiên cứu từ vựng là việc cần thiết đối với mỗi ngôn ngữ, mục tiêu mà nghiên cứu từ vựng nhắm tới là để xem xét ngữ cảnh, nghiên cứu hành vi của mỗi từ, cụ thể

là:

- Tìm kiếm các cụm từ xung quanh một từ

- Khả năng xuất hiện của các từ xung quanh một từ

- Các mẫu ngữ pháp xuất hiện xung quanh một từ

- Sắp xếp các từ theo các tiêu chí khác nhau

- Xác định các kho ngữ liệu con cho việc tìm kiếm

- Xác định từ hiếm

- So sánh nghĩa của các từ gần giống nhau…

Để khai thác thông tin về từ vựng phục vụ cho các mục tiêu trên đòi hỏi phải xây dựng hệ thống truy cập kho ngữ liệu [69]. Hiện nay trên thế giới tồn tại nhiều hệ thống truy vấn kho ngữ liệu, trong đó, hệ thống Sketch Engine đã được sử dụng tốt cho việc nghiên cứu từ vựng xây dựng từ điển của nhiều ngôn ngữ khác nhau [24, 25, 26] như tiếng Anh, tiếng Pháp, tiếng Trung… nhưng vẫn chưa được sử

52

dụng cho tiếng Việt. Để sử dụng được hệ thống Sketch Engine cho tiếng Việt, cần phải xây dựng được ngữ liệu tiếng Việt bao gồm kho ngữ liệu đã tách từ và gán nhãn từ loại cùng bộ quan hệ ngữ pháp cơ bản tiếng Việt tương thích với hệ thống. 4.1.2 Sketch Engine

Các công cụ truy vấn kho ngữ liệu hỗ trợ thống kê từ vựng thường bị ảnh hưởng bởi các vấn đề sau [25]:

1. Sự thiếu cân bằng giữa các từ thông thường trong danh sách từđồng xuất hiện so với các từ hiếm (ít xuất hiện trong kho ngữ liệu).

2. Các danh sách từ thường bao gồm các dạng từ, tức là các từđã biến đổi (hợp giống, số, v.v.) thay vì là các từ chuẩn (lemma).

3. Việc quyết định xét bao nhiêu từ nằm bên trái hoặc bên phải một từ là ngẫu nhiên.

4. Trong danh sách thường có nhiễu (những từ không đáng quan tâm về mặt ngôn ngữ học).

5. Trong cùng một danh sách có thể có nhiều loại từ với vai trò hoàn toàn khác nhau như chủ ngữ của một động từ, bổ ngữ của động từđó, trạng từ, phụ động từ hay giới từ. . .

Các hệ thống truy vấn kho ngữ liệu phổ biến đều đã giải quyết được vấn đề

thứ nhất và thứ hai. Vấn đề thứ nhất là một trong các thống kê tính trội13, các hệ

thống truy vấn hiện đại có thể sử dụng một tham sốđể điều chỉnh tỉ suất đồng xuất hiện của các từ [26]. Tham số này có thể được chọn sẵn trong hệ thống hoặc cho phép người dùng lựa chọn. Vấn đề thứ hai liên quan tới việc xác định từ nguyên thể

của văn bản, sau đó áp dụng các danh sách từ nguyên thể này thay vì các dạng từ

biến đổi khác.

Hệ thống Sketch Engine là một trong những hệ thống truy vấn kho ngữ liệu phục vụ cho việc nghiên cứu và phân tích ngôn ngữ, đã được sử dụng cho nhiều ngôn ngữ khác trên thế giới. Trong đó, Word Sketch, tiền thân của hệ thống Sketch

53

Engine, có khả năng giải quyết ba vấn đề còn lại. Thay vì chỉ đưa ra tất cả các ngữ

cảnh văn bản xung quanh một từ trong tiếng Anh, Word Sketch cho phép người sử

dụng xem xét ngữ cảnh theo quan hệ ngữ pháp và cung cấp thống kê về tần suất xuất hiện các từ theo mỗi quan hệ ngữ pháp.

Word Sketch đã được A.Kilgarriff [25] phát triển thành hệ thống Sketch Engine - hệ thống có thể nhận đầu vào là kho ngữ liệu của bất cứ ngôn ngữ nào cùng với bộ mẫu ngữ pháp tương ứng. Ngoài chức năng của Word Sketch, hệ thống còn cung cấp thêm các chức năng:

Thesaurus: Cho phép tra cứu các từđồng và phản nghĩa. (adsbygoogle = window.adsbygoogle || []).push({});

Sketch Difference: Cho phép so sánh thông tin của hai từ tương tự nhau. Hiện thời, Skech Engine đã trở thành một hệ thống truy vấn kho ngữ liệu đã

được thử nghiệm trên nhiều ngôn ngữ khác nhau (Anh, Séc, Nhật, Trung, Nga,...) và được đánh giá là có hiệu quả tốt trong việc xây dựng từđiển, việc nghiên cứu và thực hành ngôn ngữ.

4.1.3 Ngữ liệu trong Sketch Engine

Sketch Engine đòi hỏi phải xây dựng được ngữ liệu của mỗi ngôn ngữ cụ thể

cho hệ thống, đó là bộ quan hệ ngữ pháp cơ bản của mỗi ngôn ngữ được biểu diễn thông qua ngôn ngữ truy vấn kho ngữ liệu bên cạnh kho ngữ liệu lớn của các văn bản đã được chú giải ít nhất ở mức từ loại. Để xác định quan hệ ngữ pháp giữa các từ, Sketch Engine cần biết làm thế nào tìm được các từ kết nối với nhau theo một quan hệ ngữ pháp trong ngôn ngữ đang xét. Sketch Engine cho phép làm việc này theo 2 cách:

1. Kho ngữ liệu đầu vào đã được phân tích cú pháp và thông tin về từ có quan hệ ngữ pháp nào với các từ khác đã được nhúng trong kho ngữ liệu. Hiện tại, các kho ngữ liệu có chú giải cú pháp phụ thuộc đã hoàn toàn được hỗ trợ. Các cây cú pháp thành phần cần có thành phần chính của các ngữđoạn được đánh dấu. Đối với tiếng Việt chưa tồn tại kho ngữ liệu kích thước lớn chú giải đầy đủ thông tin cú

54

pháp phụ thuộc, thành phần nên không thể xác định được quan hệ ngữ pháp giữa các từ theo cách này.

2. Kho ngữ liệu đầu vào chưa được phân tích cú pháp và Sketch Engine hỗ trợ

quá trình xác định các thành phần quan hệ ngữ pháp. Trong trường hợp này, các chuyên gia sẽ định nghĩa từng quan hệ ngữ pháp [124], sử dụng Sketch Engine để

kiểm tra và phát triển nó, và cuối cùng đưa bộ quan hệ ngữ pháp vào hệ thống Sketch Engine. Sau đó người sử dụng có thể sử dụng Sketch Engine để tìm được tất cả các từ có quan hệ ngữ pháp thông qua chức năng Word Sketch. Trong luận án sử

dụng cách này, bởi ở chương 2 cho thấy có thể thu thập được kho ngữ liệu tiếng Việt có kích thước lớn từ Internet, vì vậy chỉ cần xây dựng thêm bộ quan hệ ngữ

pháp dựa trên đặc điểm ngữ pháp cơ bản tiếng Việt. 4.1.3.1. Ngôn ngữ truy vấn kho ngữ liệu

Ngôn ngữ truy vấn kho ngữ liệu [123] sử dụng trong Sketch Engine được phát triển bởi nhóm từ vựng và kho ngữ liệu tại IMS, trường Đại học Stuttgart vào những năm 1990. Ngôn ngữ này bao gồm các truy vấn vào kho ngữ liệu để mô tả tài liệu, mỗi truy vấn là một biểu thức chính quy trên các biểu thức thuộc tính (thuộc tính word cho từ hoặc tag cho nhãn từ loại).

Các toán tửđiều khiển của biểu thức chính qui là toán tử kết nối (&), hoặc(|), toán tử * (toán tử * phù hợp với bất cứ một số bất kỳ sự lặp lại, bao gồm cả 0), toán tử + (phù hợp với ít nhất 1 lần lặp lại), toán tử quãng {n, k} phù hợp với trường hợp lặp nằm giữa n và k lần, nếu không có k thì có ít nhất n lần lặp được thực hiện.

Mỗi biểu thức thuộc tính là một biểu thức logic được bao quanh bởi cặp dấu ngoặc vuông. Mẫu của nó là: [Biểu thức logic], trong đó Biểu thức logic có khuôn dạng là string hoặc “attribute_name operator string” với attribute_name là tên thuộc tính, operator là toán tử phù hợp (=) hoặc phủđịnh (! =), string là một xâu cụ

thể hoặc một biểu thức chính quy.

4.1.3.2. Định dạng tập quan hệ ngữ pháp

Bộ quan hệ ngữ pháp cơ bản của mỗi ngôn ngữđược lưu trong mỗi tệp và gọi là tệp “gramrel”, đây là tệp văn bản bao gồm các truy vấn thể hiện các mối quan hệ cú

55

pháp, mỗi một dạng truy vấn còn gọi là 1 gramrel. Sauđây trình bày cấu trúc chung của một tệp quan hệ ngữ pháp [25]:

- Lời dẫn giải, chú thích là các dòng bắt đầu bằng kí tự (#). Các dòng trống là bỏ qua

- Các dòng bắt đầu với kí tự (=) là tên của gramrel. Một tên gramrel có thể

bao gồm bất cứ kí tự nào ngoại trừ dấu gạch chéo (/) cho gramrels kép (xem bên dưới), các khoảng trắng phía sau bị loại bỏ.

- Sau tên gramrel là các truy vấn của gramrel, mỗi 1 truy vấn trên 1 dòng riêng biệt.

- Một truy vấn gramrel chính qui phải bao gồm 2 vị trí nhãn "1:" và "2:". Mỗit truy vấn nên viết trên 1 dòng, sử dụng ngoặc (\) trên phần kết thúc của dòng để chẻ 1 truy vấn thành nhiều dòng.

- Các dòng bắt đầu với (*) là các chỉ dẫn quá trình

*DEFAULTATTR: Tập các thuộc tính mặc định cho đánh giá truy vấn. Chỉ dẫn này là kích hoạt tới tận kết thúc tệp hoặc tới chỉ dẫn *DEFAULTATTR tiếp theo

*STRUCTLIMIT: Giới hạn kết quả của truy vấn tới một cấu trúc, ví dụ tới một câu. Chỉ dẫn này là kích hoạt tới tận kết thúc tệp hoặc tới chỉ dãn *STRUCTLIMIT tiếp theo

*SYMMETRIC: Đánh giá các truy vấn với các nhãn "1:" và "2:" (2 nhãn được đổi chỗ). Chỉ thị này được kích hoạt tới dòng gramrel tiếp. Các truy vấn được viết theo chỉ thị này là các truy vấn đối xứng, phù hợp với quan hệ có hai trạng thái tương đương với nhau như là các cấu trúc liên kết với các liên từ (và, hoặc) (adsbygoogle = window.adsbygoogle || []).push({});

*DUAL: Tương tự với *SYMMETRIC nhưng nó ảnh hưởng đến các gramrels. Nó định nghĩa một cặp (2 gramrels) mối liên hệ (ví dụ: after_modifies_N/N_front_modifier) cùng từ một tập các truy vấn gramrel. Tên các gramrel cách nhau bởi (/). Tất cả các truy vấn là được đánh giá cho

56

gramrel đầu tiên và sau đó là gramrel thứ 2 với các nhãn "1:" và "2:" là được

đổi chỗ. Đây là truy vấn đối ngẫu, có nghĩa là nếu như w1 ở trong mối quan hệ modifies_N tới w2 thì w2 cũng ở trong mối quan hệ là từ bổ nghĩa tới w1. *TRINARY được sử dụng cho nhiều mối quan hệ. Tên của gramrel trong trường hợp này sẽ bao gồm “%s” và các truy vấn tương ứng sẽ bao gồm 3 nhãn, trong đó nhãn thứu 3 được sử dụng cho nhiều mối quan hệ.

4.2 Xây dựng ngữ liệu tiếng Việt cho Sketch Engine

Để hệ thống Sketch Engine sử dụng được cho tiếng Việt thì hệ thống đòi hỏi phải có kho ngữ liệu thô (xây dựng ở chương 2), kho ngữ liệu này sẽđược tách từ

và gán nhãn từ loại, đồng thời phải xây dựng được bộ quan hệ ngữ pháp cơ bản tiếng Việt được biểu diễn thông qua ngôn ngữ truy vấn kho ngữ liệu để tích hợp vào Sketch Engine phục vụ cho chức năng Word Sketch của hệ thống. Ngoài việc sử

dụng công cụ gán nhãn từ loại tiếng Việt của nhóm tác giả Lê Hồng Phương NCS

đã xây dựng được bộ quan hệ ngữ pháp tiếng Việt. 4.2.1 Tách từ và gán nhãn từ loại

Để thu được kho ngữ liệu mà trong đó các văn bản đã được chú giải cú pháp (tách từ và gán nhãn từ loại) thì cần phải xây dựng (hoặc sử dụng) phần mềm tách từ và gán nhãn từ loại tự động phù hợp với ngôn ngữ của kho ngữ liệu. Đối với tiếng Việt hiện nay đã có một số phần mềm gán nhãn tự động cho kết quả khá tốt. Như bộ gán nhãn từ loại QTAG đã được nhóm tác giả Nguyễn Thị Minh Huyền sửa

đổi từ bản gán nhãn cho tiếng Anh (do nhóm nghiên cứu Corpus Research thuộc trường đại học tổng hợp Birmingham phát triển) để thích nghi với việc thao tác trên văn bản tiếng Việt, cũng như cho phép sử dụng từđiển từ vựng có thông tin từ loại bên cạnh việc sử dụng kho văn bản đã gán nhãn [7]. Bộ gán nhãn QTAG là một bộ

gán nhãn tri-gram, sử dụng phương pháp gán nhãn xác suất, QTAG sử dụng từđiển từ vựng gồm 37454 mục từ, mỗi mục từ có kèm theo dãy tất cả các từ loại mà nó có thể có. VNQTAG được huấn luyện và kiểm thử bằng các văn bản thuộc một số thể

57

lượt từ, sử dụng hai bộ nhãn từ loại với độ mịn khác nhau: bộ thứ nhất gồm 9 nhãn từ vựng và 10 nhãn cho các loại kí hiệu, bộ nhãn thứ hai gồm 48 nhãn từ vựng và 10 nhãn cho các loại kí hiệu. Kết quả thử nghiệm tốt nhất với các tập mẫu đa xây dựng

đạt tới độ chính xác ~94% đối với bộ nhãn thứ nhất, trong khi với bộ nhãn thứ hai chỉ đạt tới ~85%.

Bộ gán nhãn thứ 2 đã được thử nghiệm cho tiếng Việt, đó là bộ gán nhãn JVnTagger của nhóm tác giả Phan Xuân Hiếu [9], bộ gán nhãn này sử dụng dựa trên hai phương pháp học máy thống kê là phương pháp cực đại hóa entropy MEM và Conditional Random Fields (CRFs). Dữ liệu huấn luyện: là tập ngữ liệu VietTreebank bao gồm hơn 10.000 câu tiếng Việt được gán nhãn từ loại bởi các chuyên gia ngôn ngữ trong đó số lượng từ là 220.761, số lượng từ vựng là 13.747. Sử dụng bộ nhãn từ loại 18 nhãn. Kết quả gán nhãn trung bình với mô hình MEM là 93.18% và CRF là 93.17% và khi chạy mô hình MEM cho tho thời gian ít hơn CRF. Bộ gán nhãn thứ 3, đó là bộ gán nhãn từ loại cho tiếng Việt có tên là Vntager dựa trên mô hình MEM của nhóm tác giả Lê Hồng Phương [81], công cụ này sử

dụng phần mềm tách từ vnTokenizer, được huấn luyện sử dụng dữ liệu treebank tiếng Việt [78]. Độ chính xác được tác giảđánh giá là 93.4%. VnTagger xây dựng dựa trên mô hình Maximum Entropy, mô hình này đã được sử dụng rộng rãi trong nhiều ứng dụng của xử lý ngôn ngữ tự nhiên như là dịch máy, phân tích cú pháp thống kê, gán nhãn từ loại. Đối với tiếng Việt, để thu được kho ngữ liệu chú giải mức từ loại và hướng tới chuẩn mã hóa XML, trong luận án đã đề xuất sử dụng phần mềm gán nhãn từ loại tiếng Việt có tên là vnTagger [113] có độ chính xác là 93.4% trên tập dữ liệu huấn luyện VietTreebank.

4.2.2 Xây dựng bộ quan hệ ngữ pháp tiếng Việt

Đối với tiếng Việt, chúng ta chưa có kho ngữ liệu lớn đã phân tích cú pháp nên phải sử dụng khả năng thứ hai để xây dựng tập các quan hệ ngữ pháp. Hệ hình thức dùng cho các quan hệ ngữ pháp của Sketch Engine dựa trên cơ sở các mẫu xâu theo biểu thức chính quy, do đó phù hợp với các ngôn ngữ có trật tự từổn định, như

58

trò quan trọng, về cấu trúc ngữ pháp cơ bản tiếng Việt được tham khảo tại tài liệu [12, 16]. Sau đây sẽ trình bày bộ quan hệ ngữ pháp tiếng Việt thông qua các truy vấn tương ứng với cấu trúc ngữ pháp cơ bản tiếng Việt mà luận án đã xây dựng, đó là, cụm danh từ, cụm động từ, cụm phó từ, cụm giới từ, liên hợp và câu đơn.

4.2.2.1. Cụm danh từ

Cụm danh từ là một ngữ mà danh từ làm chính tố

Cấu tạo của cụm danh từ: <Phần phụ trước>< Phần Trung tâm><Phần phụ

sau> a. Phần phụ trước Phần này có tối đa ba thành phần: <vị trí -3> <vị trí -2> <vị trí -1> Ở vị trí -3 là định từ chỉ tổng lượng như “tất cả”, “hết thảy”, v.v. Ở vị trí -2 là số từ. Ở vị trí -1 là danh từ chỉ loại.

Sau đây là các truy vấn quan hệ ngữ pháp trong trường hợp bắt lấy phần phụ

phía trước bổ nghĩa cho danh từ và bắt lấy danh từđược bổ nghĩa bởi các phần phụ ởở phía trước. *DUAL #nhân kép #(Nc-H Mảnh) (N đất) (PP (E-H của) (NP (N-H đạn) (N-H bom)))) =N_after_Nucleus/N_front_Nucleus 1:"Nc|Nu" 2:"Np|N" 1:"Nc" 2:"N" *DUAL =front_modifies_N/N_after_modifier 2:"M|L|P" "M|L|P"{0,2} 1:"N.?" b. Phần phụ sau Phần này gồm có hai loại phụ tố: <Phụ tố hạn định> < phụ tố chỉ định>

59

Phụ tố hạn định có thể do nhiều từ loại khác nhau đảm nhiệm: Tính từ, danh từ, động từ, danh từ số lượng.

Sau đây là các truy vấn quan hệ ngữ pháp bắt lấy phần phụ phía sau bổ nghĩa cho danh từ và bắt lấy danh từđược bổ nghĩa bởi phần phụ phía sau. (adsbygoogle = window.adsbygoogle || []).push({});

*DUAL =after_modifies_N/N_front_modifier 1:"N" "N"{0,1} 2:"A" #năm 1996 1:"N" 2:"M" 1:"N" "N"{0,1} 2:N.?" 1:"N" "Nc"{0,1}" 2:"Np" # Cái máy tính của cơ quan #Bài hát của hải quân Việt Nam

Một phần của tài liệu Luận án tiến sĩ: Xử lý tiếng việt (Trang 67 - 150)