1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng ngôn ngữ tự nhiên để truy vấn cơ sở dữ liệu

13 378 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 152,54 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các bước thực hiện - Phân tích câu hỏi : bước phân tích ý nghĩa câu văn nhập vào, từ đó đưa ra được một câu truy vấn phục vụ cho quá trình tìm kiếm.. Nội dung đang nghiên cứu trong GR2

Trang 1

Báo cáo GR2 : Xử lí ngôn ngữ tự nhiên

Đề tài : Sử dụng ngôn ngữ tự nhiên để truy vấn cơ sở dữ liệu

Giáo viên hướng dẫn : PGS.TS Lê Thanh Hương Sinh viên : Nguyễn Xuân Thiện – 20092579 – IS K54 Việt Nhật

Trang 2

I Tổng quan 3

1 Bài toán 3

2 Các bước thực hiện 3

II Nội dung đang nghiên cứu trong GR2 4

III Pha phân tích câu hỏi 4

1 Gán nhãn từ loại 4

1.1 Bài toán gán nhãn từ loại 4

1.2 Tổng quan về cách tiếp cận giải bài toán 5

1.2.1 Quá trình gán nhãn từ loại 5

1.2.2 Dữ liệu 5

1.2.3 Tách từ 5

1.2.4 Gán nhãn từ loại 10

1.2.5 Chương trình demo gán nhãn từ loại 11

IV Đánh giá kết quả nghiên cứu 13

V Tài liệu tham khảo 13

Trang 3

I Tổng quan

1 Bài toán

Đầu vào là một câu tiếng Việt dưới dạng ngôn ngữ tự

nhiên Cần xử lí phân tích ý nghĩa của câu văn để phục vụ cho việc tìm kiếm từ cơ sở dữ liệu có liên quan

Nội dung:

- Xây dựng một hệ thống cho phép người dùng nhập vào những câu hỏi, câu tìm kiếm dưới dạng ngôn ngữ tự nhiên

và đưa ra những kết quả trả về liên quan

Ví dụ : Người dùng nhập : Tôi muốn ăn hải sản ở Hà Nội

Hệ thống phân tích và tìm trả về những địa điểm nhà hàng hải sản tại Hà Nội

2 Các bước thực hiện

- Phân tích câu hỏi : bước phân tích ý nghĩa câu văn nhập

vào, từ đó đưa ra được một câu truy vấn phục vụ cho quá trình tìm kiếm

- Chính rút thông tin : Chích rút thông tin có liên quan từ

kho dữ liệu trên internet

- Trả về : Trả về thông tin truy vấn từ kết quả của hai bước

trên

Trang 4

Sơ đồ quá trình thực hiện

II Nội dung đang nghiên cứu trong GR2

- Nghiên cứu pha phân tích câu hỏi, cụ thể gồm có tách từ và

gán nhãn từ loại cho câu văn tiếng Việt bất kì.

- Chạy chương trình demo tách từ và gán nhãn từ loại Đánh

giá kết quả

III Pha phân tích câu hỏi

Bài toán phân tích câu hỏi: Phân tích câu hỏi nhận đầu vào là

câu hỏi dưới dạng ngôn ngữ tự nhiên của người dùng, đưa ra

câu truy vấn cho bước trích chọn tài liệu liên quan và các thông tin cần thiết cho bước trích rút câu trả lời.

1 Gán nhãn từ loại

Để phân tích ngữ nghĩa của một câu văn bước đầu tiên ta tiến hành gán nhãn từ loại cho các từ xuất hiện trong câu đó

1.1 Bài toán gán nhãn từ loại

Gán nhãn từ loại là việc xác định các chức năng ngữ pháp của từ trong câu hay là quá trình gán từng từ trong đoạn văn bản với các đánh dấu từ loại hoặc cấu trúc ngữ pháp Đây là

Phân tích câu hỏi

Chích rút thông tin

Kết quả trả về

Trang 5

bước cơ bản trước khi phân tích cú pháp hay các vấn đề xử lý ngôn ngữ phức tạp khác Thông thường, một từ có thể có nhiều chức năng ngữ pháp, ví dụ: trong câu “con ngựa đá đá con ngựa đá”, cùng một từ “đá” nhưng từ thứ nhất và thứ ba giữ chức năng ngữ pháp là danh từ, nhưng từ thứ hai lại là động từ trong câu

1.2 Tổng quan về cách tiếp cận giải bài toán

1.2.1 Quá trình gán nhãn từ loại

Gán nhãn từ loại là một quá trình gồm 3 bước xử lý:

Bước 1 : Tách từ : tách câu nhập vào thành chuỗi các từ

có nghĩa trong tiếng Việt

Bước 2: Gán nhãn tiền nhiệm: Gán cho mỗi từ tất cả các nhãn nó có thể nhận

Bước 3: Quyết định kết quả gán nhãn : Chọn 1 nhãn hợp

lí nhất cho mỗi từ ở trên

1.2.2 Dữ liệu

Để thực hiện gán nhãn từ loại ta phải có kho dữ liệu , chúng có thể là:

- Từ điển tiếng Việt và các văn phạm loại bỏ nhập nhằng

- Kho văn bản đã được gán nhãn sẵ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 được gán nhãn, 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ố

1.2.3 Tách từ

Trang 6

Bài toán.

Cho một câu tiếng Việt bất kỳ, 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 quyết bài toán đặt ra, cần sử dụng tập dữ liệu gồm bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt

Các bước giải quyết

1 Xây dựng ôtômát âm tiết đoán nhận tất cả các âm tiết tiếng Việt

2 Xây dựng ôtômát từ vựng đoán nhận tất cả các từ vựng tiếng Việt

3 Dựa trên các ôtômát nêu trên, xây dựng đồ thị tương ứng với câu cần phân tích và sử dụng thuật toán tìm kiếm trên đồ thị để liệt kê các cách phân tích có thể

Thuật toán xây dựng ôtômát âm tiết

Input: Từ điển âm tiết

Output: Ôtômát âm tiết.

Thuật toán:

1 Đặt trạng thái khởi đầu q0 ;

2 Vòng lặp đọc cho tới khi hết tệp dữ liệu, lấy ra từng âm tiết Gọi các kí tự của âm tiết đó

là c0, c1, , cn-1

a p := q0 ;i := 0;

b Vòng lặp trong khi ( i <= n - 1)

i Lấy ra kí tự ci ;

ii Tìm trong các cung chuyển từ trạng thái p cung trên đó ghi kí tự ci Nếu có cung (p, q) như thế:

1 i := i + 1;

2 p := q;

iii Nếu không có cung (p, q) nào như thế thì thoát khỏi

vòng lặp b

c Với j từ i đến n - 1

i Tạo mới trạng thái q , ghi nhận q là trạng thái không kết;

Trang 7

ii Thêm cung chuyển (p, q) trên đó ghi kí tự cj ;

iii p := q;

d Ghi nhận q là trạng thái kết;

Thuật toán xây dựng ôtômát từ vựng

- Đầu vào : Từ điển từ vựng, ôtômát âm tiết

- Đầu ra : Ôtômát từ vựng.

Thuật toán:

1 Đặt trạng thái khởi đầu q0 ;

2 Vòng lặp đọc cho tới khi hết tệp dữ liệu, lấy ra từng

mục từ word Gọi các âm tiết của word là

s0, s1, sn-1 ;

3 Sử dụng ôtômát âm tiết để đoán nhận các âm tiết trên, được các số hiệu của trạng thái tương ứng là

m0, m1 , mn-1

a p := q0 ;i := 0;

b Vòng lặp trong khi ( i < =n - 1)

i Lấy ra số mi ;

ii Tìm trong các cung chuyển từ trạng thái p cung trên đó ghi số mi Nếu có cung (p, q) như thế :

1 i := i + 1;

2 p := q;

iii.Nếu không có cung (p, q) nào như thế thì thoát khỏi

vòng lặp b

c Với j từ i đến n - 1

Trang 8

i Tạo mới trạng thái q , ghi nhận q là trạng thái không kết;

ii Thêm cung chuyển (p, q) trên đó ghi số mj ;

iii p := q;

d Ghi nhận q là trạng thái kết

Chương trình demo phân tách từ vựng

Chương trình sử dụng thư viện tách từ của Lê Hồng Phương

-Nhập câu hỏi vào file samples/q.txt

-Chạy chương trình

-Kết quả đưa ra các từ được phân tách trong giao diện

console

Trang 9

Một số kết quả:

“Trần Hưng Đạo sống ở thời đại nào”

trần hưng đạo

sống

thời đại

nào

“Thời gian Lí Bí lên ngôi”

thời gian

lí bí

lên ngôi

“Diễn biến cuộc khởi nghĩa Hai Bà Trưng”

diễn biến

khởi nghĩa

hai bà trưng

1.2.4 Gán nhãn từ loại

Phương pháp gán nhãn 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ó:

Trang 10

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 = t1 t2 tN và với mọi dãy Sw = w1 w2 wN :

P(w1 w2 wN | t1 t2 tN) = P(w1 | t1 t2 tN) P(w2 | w1,t1 t2 tN) P(wN | w1 wN-1, t1 t2 tN)

P(t1 t2 tN) = P(t1)P(t2 | t1) P(t3 | t1 t2) 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, t1 t2 tN)

= P(wi | ti)

Như vậy xác suất P(w1 w2 wN | t1 t2 tN) chỉ phụ thuộc vào các xác suất cơ bản có dạng P(wi | ti) : P(w1 w2 wN

| t1 t2 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)

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

Trang 11

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ể tính Pw = P(tag|token) là xác suất

từ token có nhãn tag

5 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

6 tính Pw,c = Pw * Pc, kết hợp hai xác suất trên

7 Lặp lại phép tính cho hai nhãn khác trong cửa sổ

1.2.5 Chương trình demo gán nhãn từ loại

Chương trình sử dụng thư viện tách từ và gán nhãn

từ loại của Lê Hồng Phương

a Kí hiệu từ loại

ví dụ “quả” trong từ “quả cam”

b Thử nghiệm

Chạy chương trình gán nhãn thử nghiệm cho một

số câu tiếng Việt và thu được kết quả như sau:

Trang 12

tôi/P muốn/V ăn/V hải sản/N ở/E Hà Nội/Np

diễn biến/N cuộc/N khởi nghĩa/V Hai Bà Trưng/Np

Như/C bạn/N đã/R biết/V ,/, Biển Đông/Np là/V tuyến/N đường biển/N chiến lược/N /.

Độ chính xác của chương trình đạt khoảng 90% Trong câu thứ 2 bên trên thì có từ “khởi nghĩa” được đánh dấu là động từ nhưng trong văn cảnh này nó phải là danh từ

Trang 13

IV Đánh giá kết quả nghiên cứu

Đạt được:

- Tìm hiểu về thuật toán tách từ, bài toán tách từ

- Tìm hiểu về bài toán gán nhãn từ loại

hoàn thành vào kì sau

Công việc tiếp theo:

- Tiếp tục xây dựng chương trình gán nhãn từ loại

- Nghiên cứu vấn đề phân tích cú pháp.

V Tài liệu tham khảo

Các luận văn tham khảo :

tim_hieu_xu_ly_ngon_ngu_tu_nhien_va_viet_chuong_trinh_m o_pho_AMRxkB9rH1_20130409112033_577

hoc-may-dan-nhan-tu-loai

quan-he-ngu-nghia-hoi-dap-TV

phan-tich-cau-hoi

khai-pha-du-lieu

phân-biệt-nhập-nhằng

Gán nhãn từ loại

Tài liệu web:

http://www.caohocviet.net/forumdisplay.php?40-Xử-lý-ngôn-ngữ-tự-nhiên

Ngày đăng: 01/07/2016, 12:53

HÌNH ẢNH LIÊN QUAN

Sơ đồ quá trình thực hiện - Sử dụng ngôn ngữ tự nhiên để truy vấn cơ sở dữ liệu
Sơ đồ qu á trình thực hiện (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w