Nhƣ đã đề cập ở trên, việc thực hiện gán nhãn vai nghĩa trong tiếng Việt cũng rất phức tạp. Với bƣớc đầu xác định hai nhãn: A0, A1 để chỉ ra vai tác thể và vai bị thể trong câu tiếng Việt. Với kho dữ liệu đƣợc sử dụng trong thƣ mục “Kho ngữ
50
liệu 10.000 cây cú pháp” của vnTreebank, lấy dữ liệu từ file.prd đã đƣợc gán nhãn từ loại theo cấu trúc cây. Ví dụ một câu trong kho dữ liệu:
<s> (S (NP-SUB(Ny-H PV)(Np Tuổi Trẻ)) (VP(R đã)(V-H có mặt) (PP-LOC(E-H ở) (NP(N-H điểm nóng)(P này)))) (. .)) </s>
Hình 3-1. Biểu diễn cây cú pháp
Ta thực hiện theo các bƣớc:
1. Từ kho dữ liệu vnTreebank đọc hết các file.prd trong thƣ mục, sau đó cắt từng câu ra theo từ khóa bắt đầu là <s> và kết thúc là </s>. Lƣu tất cả các câu vào trong một danh sách liên kết.
2. Với mỗi câu ta phân tích và cắt ra theo các dấu “(” và “)” rồi cho vào một cây nhiều nhánh đƣợc tổ chức thông qua các node (cụ thể trong code đƣợc tổ chức thông qua class). Khi đã xây dựng đƣợc cây ta bắt đầu cắt tỉa cây đó thành các cây đơn rồi đi hiệu chỉnh lại các chỉ số của cây đơn đó thành
51
cây chứa các câu đơn hợp lệ. Sau bƣớc này ta thu đƣợc các cây đƣợc lƣu trữ trong một danh sách liên kết.
3. Phân tích từng câu (từng cây đơn) để tìm ra các luật cho từng câu. Khi đó chúng ta bắt đầu đi phân tích từng câu đơn để tìm ra chủ ngữ, động từ và đối tƣợng bị tác động. Đầu tiên ta đi tìm động từ sau đó ta đi tìm chủ ngữ và cuối cùng là đi tìm đối tƣợng bị tác động. Cách tìm ở đây ta quan tâm tới danh từ trung tâm ví dụ nhƣ N-H, NP-H…, động từ trung tâm ví dụ nhƣ V-H, VP-H…
Cách tìm động từ: Dựa vào các từ khóa ở tại chính node đó và node cha của nó để chọn. Ở đây từ khóa ở node con là “V-H” và từ khóa ở node cha là “VP”. Sau đó ta sẽ thu đc 1 tập các node phù hợp và ta sẽ tiến hành chọn node nào có độ cao và ID thấp nhất trong cây đấy. Nếu chỉ thu đc 1 node thì ta sẽ chọn luôn node đó. Nếu không thu đƣợc node nào thì câu đó không hợp lệ và ta lặp lại bƣớc này với cẫu khác.
Tìm chủ ngữ: ta cũng đi tìm tƣơng tự nhƣ động từ chỉ khác là các từ khóa
ở node cha sẽ là “NP-SUB", "NP-SUB-1", "NP-TPC” và từ khóa ở node con là "Np", "N", "P", "NC","Nc". Khi đó ta cũng sẽ thu đƣợc một tập các node thỏa mãn điều kiện trên. Và ta tiến hành chọn node sao cho node có độ cao bằng độ cao của node động từ và chỉ số phải nhỏ hơn và gần chỉ số của động từ.
Tiếp theo ta đi tìm đối tƣợng bị chịu tác động. Vì các đối tƣợng bị động từ tác động lên cũng là danh từ nên các từ khóa của node con và node cha cũng tƣơng tự nhƣ tìm chủ ngữ. Chỉ khác là độ cao của đối tƣợng sẽ cao hơn độ cao của động từ và chủ ngữ. Chỉ số cũng gần và lớn hơn chỉ số của động từ.
4. Sau khi tìm đƣợc chủ ngữ, động từ, đối tƣợng bị tác động ta bắt đầu đi gán vào luật A0 và A1 để ghi ra file làm dữ liệu kiểm thử.
52
5. Chúng ta chỉ thử nghiệm cho các câu đơn nên trong quá trình cắt câu, một số câu ghép ta sẽ cắt câu ghép đó thành các câu đơn và các thành phần dƣ thừa sẽ bị loại bỏ.
6. Sau khi đã tiến hành tạo đƣợc dữ liệu đầu vào theo mẫu trong thebeast cho hệ thống. Ta chạy chƣơng trình Thebeast phần mềm sẽ tự động chạy và áp dụng các thuật toán trong chƣơng 2 để xây dựng mô hình dữ liệu từ tập train.