2.3.1. Giới thiệu
Các nghiên cứu rút gọn câu chủ yếu tập trung sử dụng kỹ thuật học có giám sát hoặc sử dụng luật từ vựng hoặc sử dụng các kỹ thuật phân tích ngôn ngữ ở mức sâu dựa trên cây cú pháp. Các phương pháp này có các đặc điểm sau:
- Chi phí cao khi xây dựng kho ngữ liệu phục vụ cho huấn luyện khi dùng tới phương pháp học giám sát hoặc sử dụng luật từ vựng.
- Tốn thời gian do phải xây dựng một cách tỉ mỉ bởi các chuyên gia ngôn ngữ, đặc biệt là xây dựng kho ngữ liệu liên quan tới luật từ vựng,…
- Độ phức tạp tính toán cao.
Bởi những lý do trên mà yêu cầu của đề tài đặt ra sẽ cố gắng giảm thiểu những khó khăn trên và áp dụng trong rút gọn câu tiếng Việt bằng cách:
- Sử dụng kỹ thuật học không giám sát để giảm chi phí.
- Sử dụng kỹ thuật học không giám sát để đỡ tốn thời gian khi xây dựng kho ngữ liệu thủ công.
- Giảm tối đa độ phức tạp khi tính toán bằng cách sử dụng thuật toán quy hoạch động.
2.3.2. Phương pháp biểu diễn văn bản 2.3.2.1. Khái niệm
Biểu diễn văn bản là phương pháp mô tả nội dung hoặc đặc trưng của văn bản [3]. Khi biểu diễn văn bản dưới dạng véc tơ, người ta thường sử dụng thành phần véc tơ biểu diễn tương ứng với các đặc trưng là các từ (thuật ngữ).
Với giá trị của mỗi đặc trưng này gọi là trọng số của từ (thuật ngữ), mô tả tần suất của từ (thuật ngữ) xuất hiện trong văn bản [3].
Định nghĩa 2.1 [Trọng số của từ (thuật ngữ)]:
Trọng số của từ (thuật ngữ) là cách thể hiện mức độ ảnh hưởng của từ (thuật ngữ) đó trong văn bản hoặc trong một tập văn bản [3].
Ví dụ 2.3: Giả sử có một văn bản d liên quan tới lĩnh vực thể thao. Ta tìm thấy bốn thuật ngữ: bóng đá, quần vợt, sân vận động, Chelsea. Tần suất tương ứng là: 8, 6, 7, 2. Véc tơ đặc trưng của văn bản tương ứng với bốn từ này như sau: d=(8, 6, 7, 2).
Một cách tổng quát, véc tơ biểu diễn một văn bản dj được cho như sau:
) ,..., ,
,
( 1,j 2,j 3,j n,j
j w w w w
d = (2-6)
ở đây wi,j là trọng số của từ (thuật ngữ) ti trong văn bản dj. 2.3.2.2. Một số phương pháp biểu diễn văn bản
Trên thực tế, có nhiều phương pháp biểu diễn văn bản khác nhau như: phương pháp Boolean, mô hình xác suất, mô hình không gian véc tơ, LSI,...[3].
Mô hình không gian vector
Cách biểu diễn văn bản thông dụng nhất là thông qua vector biểu diễn
theo mô hình không gian vector (Vector Space Model). Đây là một cách biểu diễn tương đối đơn giản và hiệu quả. Theo mô hình này, mỗi văn bản được biểu diễn thành một vector. Mỗi thành phần của vector là một từ khóa riêng biệt trong tập văn bản gốc và được gán một giá trị là hàm f chỉ mật độ xuất hiện của từ khóa trong văn bản.
Hình 2.1. Mô hình không gian vector
Giả sử ta có một văn bản và nó được biểu diễn bởi vector V(v1,v2, …, vn). Trong đó, vi là số lần xuất hiện của từ khóa thứ i trong văn bản. Ta xét 2 văn bản sau:
VB1: Life is not only life VB2: To life is to fight
Sau khi qua bước tiền xử lý văn bản, ta biểu diễn chúng như sau:
Hình 2.2. Biểu diễn văn bản theo mô hình véc tơ
Trong các cơ sở dữ liệu văn bản, mô hình vector là mô hình biểu diễn văn bản được sử dụng phổ biến nhất hiện nay. Mối quan hệ giữa các trang văn bản được thực hiện thông qua việc tính toán trên các vector biểu diễn vì vậy được thi hành khá hiệu quả. Đặc biệt, nhiều công trình nghiên cứu về mối
quan hệ "tương tự nhau" giữa các trang web (một trong những quan hệ điển hình nhất giữa các trang web) dựa trên mô hình biểu diễn vector.
Mô hình Boolean
Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean. Hàm f tương ứng với từ khóa ti sẽ cho ra giá trị đúng nếu và chỉ nếu từ khóa ti xuất hiện trong văn bản đó.
Mô hình Boolean được xác định như sau:
Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2,… dm}. Mỗi văn bản được biểu diễn dưới dạng một vector gồm n từ khóa T = {t1, t2,…tn}.
Gọi W = {wij} là ma trận trọng số, trong đó wij là giá trị trọng số của từ khóa ti
trong văn bản dj.
=
lai nguoc neu
d trong mat co t
wij neu i j
0 1
(2-7) Trở lại với 2 văn bản trên, áp dụng mô hình Boolean ta có biểu diễn sau:
Hình 2.3. Biểu diễn văn bản theo mô hình Boolean
Mô hình phân tích cú pháp
Trong mô hình này, mỗi văn bản đều phải được phân tích cú pháp và trả lại thông tin chi tiết về chủ đề của văn bản đó. Sau đó, người ta tiến hành đánh chỉ số các chủ đề của từng văn bản. Cách đánh chỉ số trên chủ đề cũng giống như khi đánh chỉ số trên văn bản nhưng chỉ đánh chỉ số trên các từ xuất hiện trong chủ đề.
Các văn bản được quản lý thông qua các chủ đề này để có thể tìm kiếm
được khi có yêu cầu, câu hỏi tìm kiếm sẽ dựa trên các chủ đề trên [3].
Mô hình tần suất
Trong mô hình tần suất, ma trận W = {wij} được xác định dựa trên tần số xuất hiện của từ khóa ti trong văn bản dj hoặc tần số xuất hiện của từ khóa ti
trong toàn bộ cơ sở dữ liệu. Sau đây là một số phương pháp phổ biến:
Phương pháp dựa trên tần số từ khóa (TF – Term Frequency)
Các giá trị wij được tính dựa trên tần số (hay số lần) xuất hiện của từ khóa trong văn bản. Gọi fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó wij được tính bởi một trong ba công thức:
ij
ij f
w = (2-8)
) log(
1 ij
ij f
w = + (2-9)
ij
ij f
w = (2-10)
Trong phương pháp này, trọng số wij tỷ lệ thuận với số lần xuất hiện của từ khóa ti trong văn bản dj. Khi số lần xuất hiện từ khóa ti trong văn bản dj
càng lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào từ khóa ti, hay nói cách khác từ khóa ti mang nhiều thông tin trong văn bản dj.
Ví dụ, khi văn bản xuất hiện nhiều từ khóa máy tính, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực tin học.
- Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse Document
Frequency)
Trong phương pháp này, giá trị wij được tính theo công thức sau:
= −
=
lai nguoc neu
d trong hien xuat t neu h h m
m
wij i i i j
0
) log(
) log(
log
(2-11)
Trong đó m là số lượng văn bản và hi là số lượng văn bản mà từ khóa ti
xuất hiện. Trọng số wij trong công thức này được tính dựa trên độ quan trọng của từ khóa ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là khi nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj
càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lượng thông tin trong nó càng lớn.
- Phương pháp TF × IDF
Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của ma trận trọng số được tính như sau:
+ ≥
=
lai nguoc neu
f h neu f m
wij ij i ij
0
1 )
log(
] log(
1
[ )
(2-12)
Đây là phương pháp kết hợp được ưu điểm của cả hai phương pháp trên. Trọng số wij được tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và độ hiếm của từ khóa ti trong toàn bộ cơ sở dữ liệu.
Cách tìm kiếm:
Các câu hỏi đưa vào sẽ được ánh xạ vector Q(q1,q2,…,qm) theo hệ số của các từ vựng trong nó là khác nhau. Tức là: Khi từ vựng càng có ý nghĩa với nội dung cần tìm thì nó có hệ số càng lớn.
qi = 0 khi từ vựng đó không thuộc danh sách những từ cần tìm.
qi <> 0 khi từ vựng đó thuộc danh sách các từ cần tìm.
Khi đó, cho một hệ thống các từ vựng ta sẽ xác định được các vector tương ứng với từng tài liệu và ứng với mỗi câu hỏi đưa vào ta sẽ có một vector tương với nó cùng những hệ số đã được xác định từ trước. Việc tìm kiếm và quản lý sẽ được thực hiện trên tài liệu này.
2.3.2.3. Phương pháp tính trọng số của từ
Trong các cách tiếp cận tính toán trọng số của từ để biểu diễn văn bản hiện nay. Phương pháp tính trọng số dựa trên tần suất xuất hiện của từ (thuật ngữ) được sử dụng phổ biến hiện nay.
Giả sử có một văn bản d, ma trận T dưới đây mô tả cách biểu diễn của
văn bản d, trong đó wij là trọng số của từ (thuật ngữ) tij , trong đó chỉ số i là câu thứ i trong văn bản d và chỉ số j là vị trí của từ (thuật ngữ) thứ j trong câu i tính từ trái sang.
n m m
m
n n
w w
w
w w
w
w w
w
, 2
, 1 ,
, 2 2
, 2 1 , 2
, 1 2
, 1 1 , 1
...
...
...
...
...
...
...
Hình 2.4. Ma trận biểu diễn văn bản
Để tính trọng số của từ người ta thường dùng kỹ thuật tf_idf. Kỹ thuật tính trọng số này đòi hỏi kho ngữ liệu dùng cho huấn luyện phải lớn. Tuy nhiên, hiện nay kho ngữ liệu tiếng Việt dùng cho phân cụm văn bản còn thiếu, cho nên trong luận văn sử dụng kỹ thuật tính trọng số của từ cải tiến (giá trị thông tin của từ chủ đề), được mô tả theo công thức sau [4]:
C i C
d w
j d
i d
i N
w N w N
w w N
I
j
) ( )
( ) ) (
( = +
∑∈ (2-13)
trong đó:
- I(wi)là giá trị thông tin của từ chủ đề wi trong văn bản d . - Nd(wi) là số lần xuất hiện của từ chủ đề wi trong văn bản d . - NC(wi)là số văn bản xuất hiện từ chủ đề wi trong tập văn bản C.
- NC là tổng số các văn bản trong tập văn bản C.
- d là văn bản cần phân cụm
-w∑j∈dNd(wj) là tổng số lần xuất hiện của tất cả các từ chủ đề wj trong văn bản d.
2.3.3. Kỹ thuật giảm chiều vector biểu diễn trong văn bản tiếng Việt 2.3.3.1. Kỹ thuật giảm chiều véc tơ
Xem xét một số ứng dụng ví dụ như trong một hệ thống xử lý dữ liệu (tín hiệu tiếng nói, ảnh hoặc nhận dạng mẫu nói chung) tập các đặc trưng nếu coi là tập hợp các vec tơ giá trị thực. Giả thiết rằng, hệ thống chỉ hiệu quả nếu
T =
số chiều của mỗi véc tơ riêng lẻ không quá lớn. Vấn đề của giảm chiều xuất hiện khi dữ liệu có số chiều lớn hơn khả năng xử lý của hệ thống [24]. Xét một ví dụ điển hình sau:
- Một hệ thống nhận dạng/ phân loại khuôn mặt dựa trên ảnh đa cấp xám kích cỡ mxn, tương ứng với mxn chiều véc tơ giá trị thực. Trong thực nghiệm, một ảnh có thể có m=n=256 hoặc 65536 chiều. Nếu sử dụng mạng một perceptron đa lớp để thực hiện hệ thống phân loại, trọng số sẽ quá nhiều [24].
- Giả sử một ma trận dữ liệu An bao gồm n hàng (điểm dữ liệu) và trong RD, D là các chiều (các đặc trưng hoặc các thuộc tính). Ma trận A được biểu diễn như hình dưới đây.
Hình 2.5. Ma trận ví dụ
Chi phí tính toán là O(n2D). Trong trường hợp nếu n= 0.6 triệu, D= 70 triệu. . Như vậy, quá lớn cho quá trình xử lý.
Do đó, vấn đề giảm chiều là vấn đề tương đối cần thiết trong các bài toán làm việc với dữ liệu có nhiều đặc trưng ví dụ như ảnh, tiếng nói, văn bản,
…. Vấn đề giảm chiều véc tơ được đơn giản hóa như mô hình dưới đây
Hình 2.6. Mô hình giảm chiều véc tơ
2.3.3.2. Kỹ thuật giảm chiều véc tơ trong biểu diễn văn bản tiếng Việt
Như đã trình bày tại mục trên, đặc trưng phổ biến nhất được sử dụng trong khai phá dữ liệu văn bản là tần suất từ. Khi chuẩn bị trích rút đặc trưng, thuật toán cần xem xét tất các các văn bản trong tập dữ liệu và tạo ra một từ điển tất cả các từ xuất hiện trong các văn bản đó. Mỗi từ trong từ điển được đặt tại một vị trí trong véc tơ đặc trưng đầu ra. Khi các đặc trưng của văn bản được trích rút, giá trị này trong véc tơ đặc trưng sẽ biểu diễn số lần mà từ này xuất hiện trong văn bản. Do vậy số từ sẽ rất lớn.
Khái niệm giảm chiều lần đầu được công bố bởi Bellman (1961).
Bellman cho rằng sẽ rất khó khăn khi tính toán số các đặc trưng khi số lượng từ quá nhiều. Và bài toán về tra cứu thông tin văn bản cũng đề cập tới vấn đề đặc trưng được đề cập lần đầu tiên bởi Koller và Sahami (1997).
Hình dưới đây minh họa một kết quả thực nghiệm của Zervas (1999).
Đồ thị biểu diễn nếu số véc tơ dữ liệu (văn bản) mà tăng thì số véc tơ đặc trưng (từ) cũng tăng theo.
Hình 2.7. Quan hệ giữa văn bản và thuật ngữ
Nếu ta sử dụng ma trận T (mục 2.1.1.2) để biểu diễn văn bản thì số chiều của ma trận T sẽ tương đương với số từ của văn bản.
Ví dụ 2.4: Xét văn bản tiếng Việt gốc gồm một câu với 34 từ:
“Các nhà nghiên cứu thuộc trường Đại học Michigan vừa tạo ra một nguyên mẫu đầu tiên cho hệ thống tính toán quy mô nhỏ, có thể chứa dữ liệu một tuần khi tích hợp chúng vào trong những bộ phận rất nhỏ như mắt người.”
Với văn bản gốc này, chúng ta tính trọng số của 34 từ. Do văn bản này chỉ gồm một câu nên ma trận trọng số T biểu diễn văn bản sẽ gồm một hàng và 34 cột T ={w1,1,w1,2,...,w1,34}. Trong trường hợp tổng quát văn bản gốc thường bao gồm nhiều câu, mỗi câu lại gồm nhiều từ, do đó nếu biểu diễn theo cách như trên, ma trận trọng số biểu diễn văn bản sẽ có số hàng rất lớn, đòi hỏi nhiều thời gian tính toán.
Nhận xét: Đối với văn bản càng gồm nhiều câu và mỗi câu lại gồm nhiều từ, sẽ cần tới thời gian xử lý lớn dẫn đến độ phức tạp tính toán lớn.
Do đó, một số nghiên cứu đã đưa ra một số các phương pháp giảm chiều bằng cách xây dựng tập các thuật ngữ cho mỗi chủ đề, điều này sẽ giảm được độ phức tạp khi tính toán với các ma trận có kích cỡ lớn.
Liu và Motoda (1998), Sebastiani (2002) đều xây dựng các tập từ điển dùng cho vấn đề giảm chiều bằng ba phương pháp chung như sau:
- Từ dừng (stop words) - Stemming
- Lọc thống kê (Statistical filtering)
Hình 2.8. Một mô hình rút gọn đặc trưng văn bản
Trong luận văn này đề cập tới vấn đề giảm chiều của văn bản bằng cách biến đổi ma trận T thành ma trận thưa. Có nghĩa là, một số phần tử trong ma trận T sẽ không xử lý tính toán.
Trong phương pháp này, văn bản trước khi biểu diễn được tách thành hai tập từ độc lập: tập bao gồm các danh từ và tập bao gồm các từ không phải là danh từ. Ma trận T lúc này chỉ lưu giữ và tính toán các từ là danh từ trong văn bản. Bởi trong một văn bản bất kỳ, danh từ là những từ thường chứa nội dung, thông tin của văn bản đó.
Ví dụ 2.5: Xét văn bản đã cho ở Ví dụ 2.1
Tách câu này thành hai tập từ riêng biệt, tập các từ chủ đề và tập các từ còn lại như sau:
Tập từ chủ đề: {nhà, nghiên_cứu, trường, đại_học, Michigan, nguyên_mẫu, hệ_thống, quy_mô, dữ_liệu, tuần, chúng, bộ_phận, mắt, người}.
Tập các từ khác: {Các, thuộc, vừa, tạo, ra, một, đầu_tiên, cho, tính_toán, nhỏ, có_thể, chứa, một, khi, tích_hợp, vào, trong, những, rất, như }.
Ta nhận thấy, các từ “nhà”, “nghiên_cứu”, “trường”, “đại_học”,
“Michigan”, “nguyên_mẫu”, “hệ_thống”, “quy_mô”, “dữ_liệu”, “tuần”,
“chúng”, “bộ_phận”, “ mắt”,” người” là các từ mang thông tin, còn các từ
“Các”, “thuộc”, “vừa”, “tạo”, “ra”, “một”, “đầu_tiên”, “cho”, “tính_toán”,
“nhỏ”, “có_thể”, “ chứa”, “một”, “khi”, “tích_hợp”, “vào”, “trong”, “những”,
“rất”, “như” phản ánh về mặt ngữ nghĩa của câu.
Sử dụng kỹ thuật tách văn bản gốc thành hai tập từ như ở trên, cỡ của ma trận T sẽ giảm xuống, chẳng hạn, với văn bản gốc trong Ví dụ 2.1, thay vì phải sử dụng ma trận T gồm một hàng và 34 cột, chúng ta chỉ cần ma trận T’
gồm một hàng và 14 cột: T'={w1,1,w1,2,...,w1,14}.
2.3.4. Phương pháp rút gọn câu tiếng Việt dựa trên kỹ thuật học không giám sát
Phương pháp rút gọn câu tiếng Việt dựa trên kỹ thuật học không giám sát được mô tả dựa trên mô hình lưới sau đây:
Hình 2.9. Mô hình đồ thị lưới
Trên đồ thị thể hiện một câu gốc gồm có 11 từ, trong đó các từ w4, w6, w8, w9 là các từ chủ đề. Câu rút gọn được sinh ra như sau:
- Đầu tiên bắt đầu từ từ w1, w1 có thể đi tới w2, w3, và dừng lại ở w4 với w4 là từ chủ đề được chọn.
- Tiếp theo tính S12= w1-w2, S13=w1-w3, S14=w1-w4… Lấy đường dẫn lớn nhất. Giữ vị trí để đi tới điểm tiếp theo. Nếu S14=0, quay lại chọn tiếp đường dẫn khác 0. Nếu S124<>0 và S134 <>0 thì chọn đường dẫn có giá trị lớn hơn.
Giá trị của các Si chính là giá trị N-grams.
- Tiếp tục neo tại vị trí w4. Từ w4 lại đi tiếp các từ còn lại.
- Câu rút gọn là hình chiếu của các từ trên đường nằm ngang x.