Thành phần phát hiện kế thừa

Một phần của tài liệu Phát hiện kế thừa văn bản đa ngôn ngữ 04 (Trang 37 - 42)

Thành phần phát hiện kế thừa văn bản được thể hiện như hình vẽ dưới đây:

Hình 10: Thành phần phát hiện kế thừa văn bản

Với từng cặp câu văn bản, đầu tiên, chúng tơi tiến hành tiền xử lý với các module tùy chọn. Sau đĩ, chúng tơi tiến hành trích chọn các đặc trưng và sử dụng các đặc trưng này vào hai bộ phân lớp SVM. Cuối cùng, chúng tơi kết hợp kết quả từ hai bộ phân lớp SVM vàđưa ra phán quyết kế thừa cho từng cặp câu văn bản.

Các bước thự hiện của thành phần phát hiện kế thừa văn bản được thực hiện như sau:

3.2.2.1 Tiền xử lý

Đầu vào: Tập các cặp câu văn bản cĩ được sau khi văn bản thứ hai đã được dịch

sang tiếng Việt bằng việc sử dụng thành phần dịch máy. Tập huấn luyện

Tiền xử lý

Loại bỏ từ dừng Tách từ

Đo độ tương đồng ngữ nghĩa và từ vựng Cosin Manhattan Jaccard ……

Trích chọn đặc trưng Tập kiểm tra SVM1 Kết quả SVM2

Đầu ra: Tập các cặp câu văn bản đã được tách từ và được loại bỏ các từ dừng.

Quá trình tiền xử lý được thực hiện như sau:

 Tách từ: Cặp câu văn bản được tách từ bằng cơng cụ tách từ, tách câu vnTokenizer.

 Loại bỏ từ dừng: Sau khi cặp câu văn bản được tách ra thành các từ thì chúng tơi sẽ loại bỏ các từ dừng xuất hiện trong đĩ.

3.2.2.2 Trích chọn đặc trưng

Đầu vào: Tập các cặp câu văn bản đã được tiền xử lý:được tách từ và được loại bỏ

các từ dừng.

Đầu ra: Các giá trị đặc trưng của từng cặp câu văn.

Chúng tơi tính được 20 đặc trưng thuộc về từ vựng và ngữ nghĩa. Sau đây, chúng tơi xin trình bày một số đặc trưng tiêu biểu.

Cho hai vector:⃗ = ( , ……, ) và ⃗ = ( , ….., ) trong khơng gian vector n chiều. Trong đĩ, n là số các từ phân biệt xuất hiện trong T1, T2 và , là số lần xuất hiện mỗi từ trong số các từ phân biệt T1 và T2.

Ví dụ:

T1: Vụ tai nạn xảy ra làm 50 người bị chết. T2: 50 người bị chết trong vụ tai nạn giao thơng.

Các từ phân biệt trong cả T1 và T2 là: vụ, tai nạn, xảy ra, làm, 50, người, bị, chết, trong, giao thơng. Khi đĩ, giá trị của hai vector ⃗ và ⃗ được thể hiện như sau:

⃗= (1,1,1,1,1,1,1,1,0,0)

⃗ = (1,1,0,0,1,1,1,1,1.1)

Khoảng cách Manhattan: Được biết đến như khoảng cách City Block hay . Khoảng cách này được xác định theo cơng thức sau:

(⃗,⃗) = ∑ | − |

Khoảng cách Euclidean: Khoảng cách này được tính theo cơng thức:

(⃗,⃗) = ∑ ( − )

Độ tương đồng Cosin: Được định nghĩa theo cơng thức sau: Cos(⃗,⃗) = ⃗. ⃗

|| ⃗||.|| ⃗||

Hệ số Matching:Gọi X là tập các từ phân biệt trong văn bản t, Y là tập các từ phân biệt trong giả thuyết h. Khi đĩ, hệ số Matching là |X ∩ Y|

Hệ số Dice:Được định nghĩa theo cơng thức sau: D = .| ∩ |

| |

Hệ số Jaccard:Được định nghĩa theo cơng thức sau: J= | ∩ |

| ∪ |

Chuỗi con chung dài nhất:

Một chuỗi con chung của hai xâu là một chuỗi con các ký tự xuất hiện trong cả hai xâu. Chuỗi con chung dài nhất là một chuỗi con chung cĩ độ dài lớn nhất.

Để tính được độ đo này khi T1 và T2 là những văn bản thì chúng tơi chia nhỏ chúng ra thành các token và coi mỗi token này như là một kí tự và độ dài của T1 và T2 chính là tổng số các token.

Ví dụ:

T1: Vụ tai nạn xảy ra ở Hà Nội làm 50 người bị chết. T2: 50 người bị chết trong vụ tai nạn giao thơng ở Hà Nội.

Khi đĩ, chuỗi con chung dài nhất là: vụ- tai nạn-ở-Hà Nội

Cho hai chuỗi T1 và T2. Theo Levenshtein thì độ độ đo chuỗi con chung dài nhất được tính theo cơng thức:

lcs(T1,T2) = ( ( , ))

( ( ), ( ))

Trong hầu hết các trường hợp thơng thường, min(Length(T1), Length(T2)) bằng với

Length(T2) do đĩ các giá trị được biểu diễn trong đoạn [0,1].

Phần trăm các từ của giả thuyết xuất hiện trong văn bản nguồn.

Cho cặp văn bản T1 và T2. Chúng tơi đếm tổng số từ cùng xuất hiện trong cả T1 và T2. Giả sử gọi W = {w1, w2, …, wk} là tập các từ cùng cĩ mặt trong T1 và T2, W gồm cĩ k phần tử ; Length(T1) là độ dài của văn bản T1 tính theo đơn vị từ.

Khi đĩ, chúng tơi cĩ cơng thức tính phần trăm các từ của giả thuyết xuất hiện trong văn bản nguồn:

=

ℎ( 1)

Khoảng cách Levenshtein (được Vladimir Levenshtein đề ra vào năm 1965) thể hiện khoảng cách khác biệt giữa hai chuỗi kí tự. Khoảng cách Levenshtein giữa chuỗi T2 và chuỗi T1 là số bước ít nhất biến đổi chuỗi T2 thành chuỗi T1 thơng qua ba phép biến đổi là: xĩa một kí tự, thêm một kí tự và thay kí tự này thành kí tự khác.

Ví dụ: Khoảng cách giữa 2 chuỗi “kitten” và “sitting” là 3 vì phải dùng ít nhất ba lần biến

đổi.

1. kitten -> sitten (thay "k" bằng "s") 2. sitten -> sittin (thay "e" bằng "i") 3. sittin -> sitting (thêm kí tự "g")

Khoảng cách Levenshtein được tính tốn bằng cách sử dụng thuật tốn quy hoạch động, tính tốn trên mảng 2 chiều (n+1).(m+1) với m, n là độ dài của chuỗi cần tính. Sau đây là đoạn mã (T2,T1 là chuỗi cần tính khoảng cách và n, m là độ dài của hai chuỗi). int LevenshteinDistance(char h[1..m], char t[1..n])

// d is a table with m+1 rows and n+1 columns declare int d[0..m, 0..n] for i from 0 to m d[i, 0] := i for j from 0 to n d[0, j] := j for i from 1 to m for j from 1 to n {

if h[i] = t[j] then cost := 0 else cost := 1 d[i, j] := minimum(

d[i-1, j] + 1, // xố d[i, j-1] + 1, // thêm d[i-1, j-1] + cost // thay thế

) }

return d[m, n]

3.2.2.3 Phân lớp kế thừa văn bản bằng học máy SVM

Chúng tơi sử dụng học máy SVM cho phán quyết kế thừa văn bản :

Đầu vào : Tập các đặc trưng thu được từ bước trích chọn đặc trưng của từng cặp

câu văn bản T1, T2.

Đầu ra : Tập các cặp câu văn bản đã được gán một trong bốn nhãn kế thừa:

“bidirectional”, “forward”, “backward”, hoặc “no entailment”.

Để gán được bốn loại nhãn kế thừa cho các câu cặp văn bản như đã liệt kê ở trên, chúng tơi sử dụng hai bộ phân lớp SVM nhị phân:

Bộ phân lớp nhị phân SVM1

Đầu vào : Các đặc trưng của từng cặp văn bản T1, T2. Trong đĩ, văn bản T2

đĩng vai trị là giả thuyết.

Đầu ra : Kết quả phân lớp với phương án hai phán quyết kế thừa (“yes”, “no”).

Nhãn “yes” tương đương với T1 kế thừa T2, nhãn “no” tương đương với T1 khơng kế thừa T2.

Bộ phân lớp nhị phân SVM2

Đầu vào : Các đặc trưng của từng cặp văn bản T1, T2. Trong đĩ, văn bản T1

đĩng vai trị là giả thuyết.

Đầu ra : Kết quả phân lớp với phương án hai phán quyết kế thừa (“yes”, “no”).

Nhãn “yes” tương đương với T2 kế thừa T1, nhãn “no” tương đương với T2 khơng kế thừa T1.

Từ kế quả của hai bộ phân lớp SVM, chúng tơi sẽ kết hợp và gán nhãn lại cho tập các cặp câu văn bản như sau :

 Gán nhãn “bidirectional” cho cặp câu văn bản nếu cặp câu văn bản được gán nhãn “yes” trong cả hai bộ phân lớp SVM1 và SVM2.

 Gán nhãn “forward” cho cặpcâu văn bản nếu chúng được gán nhãn “yes” trong bộ phân lớp SVM1 và được gán nhãn “no” trong bộ phân lớp SVM2.

 Gán nhãn “backward” cho cặpcâu văn bản nếu chúng được gán nhãn “no” trong bộ phân lớp SVM1 và được gán nhãn “yes” trong bộ phân lớp SVM2.

 Gán nhãn “no entailment” cho cặp câu văn bản nếu chúng được gán nhãn “no” trong cả hai bộ phân lớp SVM1 và SVM2.

Việc phán quyết kế thừa cho từng cặp câu văn bản – giả thuyết cũng tương tự như việc phân lớp văn bản. Vì thế, để áp dụng được học máy SVM vào bài tốn phát hiện kế thừa văn bản thì chúng tơi coi mỗi cặp câu văn bản nguồn - giả thuyết tương ứng với một mẫu văn bản . Mẫu thuộc lớp dương khi cặp câu văn bản nguồn - giả thuyết cĩ quan hệ kế thừa, và thuộc lớp âm khi cặp câu văn bản nguồn - giả thuyết khơng cĩ quan hệ khơng kế thừa. Tập giá trị các đặc trưng sẽ tương ứng với vector trọng số của . Hai bộ phân lớp SVM này sử dụng các dữ liệu huấn luyện và các nhĩm đặc trưng giống nhau. Nhĩm đặc trưng một bao gồm các độ đo như: khoảng cách Manhattan, khoảng cách Euclidean, độ tương đồng Cosin, hệ số Matching, hệ số Dice, hệ số Jaccard, hệ số Jaro, và một số đặc trưng khác.

Một phần của tài liệu Phát hiện kế thừa văn bản đa ngôn ngữ 04 (Trang 37 - 42)

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

(50 trang)