Giao diện làm việc của công cụ TrEd

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ứng dụng ngôn ngữ truy vấn PML -TQ trong truy vấn Treebank Tiếng Việt (Trang 32 - 34)

3.2 Chuyển đổi VietTreebanksang định dạng PML

Để có thể truy vấn bằng ngôn ngữ truy vấn PML-TQ, các treebank cần đƣợc chuyển đổi sang định dạng PML. Thực hiện việc chuyển đổi kho ngữ liệu tiếng Việt gồm khoảng 10.000 câu từ định dạng Penn sang định dạng PML, một chƣơng trình chuyển mã đã đƣợc phát triển để thực hiện công việc chuyển đổi một cách tự động. Các bƣớc và thủ tục chuyển đổi đƣợc thực hiện nhƣ sau:

Bƣớc 1: Tìm hiểu cách mã hóa. Để có thể chuyển đổi định dạng thì chúng ta cần hiểu sâu về cách cách mã hóa của cả hai định dạng Penn và PML. Các định dạng này đã đƣợc trình bày chi tiết tại chƣơng 2. Bảng so sánh dƣới đây sẽ tóm tắt cấu trúc tƣơng ứng của hai định dạng trên thông qua một ví dụ cụ thể. Cấu trúc Penn Thành phần tƣơng ứng trong cấu trúc PML

(S (NP-SUB (P Tôi)) (VP (V đá)

(NP-DOB (N bóng))) (. .))

Thẻ <cat> lƣu các nhãn phân loại nhƣ S, NP,VP… Thẻ <functions> lƣu các nhãn chức năng SUB, DOB… Thẻ <form> lƣu các giá trị từ Tôi, đá, bóng…

Thẻ <pos> lƣu các nhãn từ loại nhƣ N,V...

Bảng 11. Bảng so sánh cấu trúc Penn với PML tƣơng ứng.

Bƣớc 2: Gom nhóm dữ liệu. Kho ngữ liệu 10.000 câu cú pháp tiếng Việt đƣợc nhóm phát triển chia nhỏ và lƣu thành 175 tệp tin có phần đuôi mở rộng là .prd. Trƣớc khi thực hiện chƣơng trình chuyển đổi, một đoạn mã đƣợc sử dụng để ghép toàn bộ từ các tệp tin riêng lẻ thành một tệp tin duy nhất và đƣợc đặt tên là VietTreebank.prd.

Bƣớc 3: Thực hiện chuyển đổi tự động. Tại bƣớc này các câu cú pháp trong file VietTreebank.prd đƣợc chuyển đổi tự động từ định dạng Penn sang định dạng PML và toàn bộ kết quả của quá trình chuyển đổi đƣợc lƣu vào file tƣơng ứng là VietTreebank.prd.pml. Trong quá trình chuyển đổi, các lỗi trong cấu trúc VietTreebank nhƣ: câu chƣa đƣợc gán nhãn, các ký tự đặc biệt dẫn đến quá trình chuyển đổi chƣơng trình bị lỗi, dấu chấm câu khi chuyển đổi xong chƣa đạt yêu cầu đƣợc chƣơng trình ghi ra file nhật ký để phục vụ việc hậu kiểm về sau.

Lƣu đồ giải thuật của chƣơng trình chuyển đổi đƣợc thể hiện ở hình vẽ dƣới đây.

Bắt đầu

Open source file Đọc dòng kế tiếp

=>$line

$input:= $input+$line

$line:= “\n” + $line

Chuẩn hóa chuỗi $line

$s_count:=0 $sentenceArray:=split ($input, “\n) $terminal_count:=0 $nonterminal_count:=0 $order:=0; $root = { -name => 'LM', -attributes => { id=>$sentence_id }, -up => undef, -children => [], }; $parent = $root;

Split string by Regular Expression

my $node = { -name => 'terminal',

-attributes => { id => $terminal_id }, -children => [

{ -name => 'form', -content=>$form }, { -name => 'pos', -content=>$tag } , { -name => 'order', - content=>$order++ }), ]}; $terminal_count++ $terminal_id = "$sentence_id- t$terminal_count"; $sentence:=$sentenceArray[s_count++]

Lưu $root vào file XML Kết thúc $parent->{-children} = $node $parent = $parent->{-up}; $s_count++ $nonterminal_count++; $node = { -name => 'nonterminal', -attributes => { id => $nonterminal_id }, -children => [], }; $parent = $children;

Tách chuỗi cho nhãn chức năng FUNCTIONS

push @{$node->{-children}}, { -name => 'functions', -children => @functions };

Tách chuỗi cho nhãn phân loại CAT

push @{$node->{-children}}, { -name => 'cat', -content => $cat }, $children;

$parent->{-children}= $node;

$children = { -name => 'children', - children => [], -up => $parent };

+ - - + + - - + - + - + $s_count < $sentenceArray.length()

(POS<space>Form) open braket ( close braket ) $line <>EOF

Là câu mới

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ứng dụng ngôn ngữ truy vấn PML -TQ trong truy vấn Treebank Tiếng Việt (Trang 32 - 34)

Tải bản đầy đủ (PDF)

(84 trang)