Gói phần tử parsing Element

Một phần của tài liệu Phân tích cú pháp trong tổng hợp tiếng nói tiếng việt (Trang 63)

4.1.3.Tổ chức lưu trữ dữ liệu

4.2.3.2. Gói phần tử parsing Element

Là gói để quản lý thông tin của các phần tử trong quá trình phân tích, bao gồm hai loại phần tử tương ứng với hai thuật toán A* và CYK-Beam search:

4.2.3.2.1. Lớp CYK Element

Đây là lớp quản lý thông tin về phần tử được sử dụng trong quá trình phân tích cú pháp bằng thuật toán CYK – Beam search.

Bảng 4-10. Bảng mô tả của lớp Element

Thuộc tính

Phạm vi: Private

Kiểu: String

Tên: sLeft Lưu trữ nhãn từ loại trong phân tích CYK. Phạm vi: private

Kiểu: String

Tên: sWait

Lưu biến wait tương ứng với phần tử trong phân tích CYK. Phạm vi: private

Kiểu: int

Tên: iPos1

Lưu vị trí của ô đầu tiên tạo ra phần tử. Phạm vi: private

Kiểu: int

Tên: iIndex1, iIndex2

Lưu chỉ số của hai ô thành phần tạo ra phần tử.

Phạm vi: private

Kiểu: float

Tên: in_side

Xác suất inside của phần tử.

Phạm vi: private

Kiểu: float

Tên: out_side

Xác suất outside của phần tử.

Phạm vi: private

Kiểu: String

Lưu thành phần cuối cùng trong luật phân

Tên: sLast tích Phương

thức Tất cả các phương thức get và set của các thuộc tính trên

4.2.3.2.2. Lớp Cell

Đây là lớp để quản lý thông tin về một ô trong quá trình phân tích cú pháp CYK- Beam search.

Bảng 4-11. Bảng mô tả của lớp Cell

Thuộc tính Phạm vi: Private Kiểu: ArrayList<Element> Tên: arlElem Lưu trữ tập các phần tử được chứa trong ô.

Phương thức

Phạm vi: public

Kiểu: ArrayList<Element>

Tên+tham số: getArrElem() Trả về tập của ô. arlElem

Phạm vi: public

Kiểu: Element

Tên+tham số: getElement(int i) Trả về phần tử thứ i trong ô. Phạm vi: public

Kiểu: void

Tên+tham số: removeElement(int i) Xóa phần tử thứ i ra khỏi ô. Phạm vi: public

Kiểu: int

Tên+tham số: size()

Trả về số phần tử chứa trong ô. Phạm vi: public

Kiểu: int

Tên+tham số: sizeUsed()

Trả về số phần tử chưa bị cắt tỉa bởi beam search trong ô. Phạm vi: public

Kiểu: void

Tên+tham số: add(Element elem) Thêm phần tử elem vào ô. Phạm vi: public

Kiểu: void

Tên+tham số: addWord(Word w)

Thêm phần tử có chứa từ w vào trong ô.

4.2.3.2.3. Lớp AstarElement

Như tên gọi của mình, lớp này để quản lý thông tin về phần tử sẽ được sử dụng trong quá trình phân tích cú pháp bằng giải thuật A*.

Bảng 4-12. Bảng mô tả của lớp AstarElement

Phạm vi: Private

Kiểu: String

Tên: sCar Lưu trữ nhãn từ loại của phần tử. Phạm vi: private

Kiểu: int

Tên: start

Lưu vị trí bắt đầu của phần tử trong câu.

Thuộc tính Phạm vi: private Kiểu: int Tên: end Lưu vị trí kết thúc của phần tử trong câu. Phạm vi: private Kiểu: ArrayList<AStarElement> Tên: subElement Lưu các phần tử thành phần tạo ra phần tử trong quá trình phân tích. Phạm vi: private Kiểu: float Tên: in_side

Xác suất inside của phần tử.

Phạm vi: private

Kiểu: float

Tên: out_side

Xác suất outside của phần tử. Phạm vi: private Kiểu: ArrayList<AStarElement> Tên: outsideElem Lưu các giá trị để tính xác suất outside Phạm vi: private Kiểu: float Tên: Prob

Lưu xác suất của luật mà element sử dụng để sinh ra các

element thành phần. Phương

thức

Tất cả các phương thức get và set của các thuộc tính trên Phạm vi: public

Kiểu: void

Tên+tham số:

contract( AStarRule rule,

ArrayList<AStarElement> as)

Hàm làm nhiệm vụ thiết lập một danh sách phần tử hợp thành cho phần tử đang được xét với một luật cú pháp. Phạm vi: public Kiểu: String Tên+tham số: getWord() Trả về từ loại tương ứng với nhãn trong trường hợp phần tử là nút lá. Phạm vi: public Kiểu: boolean Tên+tham số: isWord()

Kiểm tra xem phần tử đang xét có phải là nút lá từ loại không

Một phần của tài liệu Phân tích cú pháp trong tổng hợp tiếng nói tiếng việt (Trang 63)

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

(89 trang)
w