Luận văn Mở rộng bộ dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ

Với vai trò của một bộ công cụ dành cho những nghiên cứu, khảo sát về phương pháp mở rộng bộ dữ liệu. Bộ công cụ đã làm khá tốt nhiệm vụ của nó trong việc minh họa và chứng minh các kết quả bước đầu của phương pháp. Bộ công cụ cũng đã giúp phát hiện ra tiềm năng ứng dụng quá trình chuyển đổi về dạng từ nguyên thể vào bài toán mở rộng bộ dữ liệu cũng như trong các bài toán xử lý nhập nhằng nghĩa của từ.

pdf51 trang | Chia sẻ: lylyngoc | Lượt xem: 2308 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Mở rộng bộ dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nĩ chỉ tốt hơn ở chỗ thay vì dùng hằng số cố định, nĩ sử dụng một số cĩ thể thay đổi đƣợc. Tuy vậy, chỗ yếu của nĩ đĩ là làm sao để tính đƣợc số ∝ đĩ. 3.1.2.4. Ước lượng Good Turing Ý tƣởng của ƣớc lƣợng Good Turing là ƣớc lƣợng các xác suất của những nghĩa chƣa xuất hiện bằng các nghĩa đã xuất hiện một lần. Với Nc số các nghĩa đã xuất hiện c lần, ta coi nhƣ nĩ đã xuất hiện c* lần 𝑐∗ = (𝑐 + 1) 𝑁𝑐 + 1 𝑁𝑐 Từ đĩ ta cĩ p(c) 𝑝 𝑐 = 𝑐 ∗ 𝑁 3.2. Thuật tốn mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ 3.2.1. Giới thiệu Thuật tốn Nạve Bayes là thuật tốn học khá hiệu quả. Tuy vậy, là một thuật tốn học cĩ giám sát nên nhƣợc điểm lớn nhất của nĩ là nĩ yêu cầu bộ dữ liệu huấn luyện lớn để cĩ thể đạt đƣợc độ chính xác cao trong quá trình phân lớp. Trong khi đĩ, mục tiêu của khĩa luận này là tìm cách để giảm thiểu cơng sức của con ngƣời trong quá trình gán nghĩa bằng tay cho từ. Ta chỉ muốn sử dụng một bộ dữ liệu gán nghĩa ban đầu nhỏ, mà nếu nhƣ thế và cố dùng Nạve Bayes để gán nghĩa thì ta lại khơng đảm bảo đƣợc tính chính xác của bộ dữ liệu đầu ra. Do vậy, ta cần phải cĩ một thuật tốn phối hợp với Nạve Bayes để đảm bảo dùng bộ dữ liệu huấn luyện khơng lớn nhƣng độ chính xác vẫn ở mức yêu cầu. Sau đây tơi sẽ trình bày một thuật tốn cho phép mở rộng bộ dữ liệu đầu vào nhỏ ban đầu để cho kết quả đầu ra là một bộ dữ liệu lớn hơn, cho phép xử lý nhập nhằng nghĩa của từ chính xác hơn. Phƣơng pháp này đã từng đƣợc Yakowsky mơ tả nhƣng ơng sử dụng nĩ kèm với thuật tốn học máy danh sách quyết định[7]. Theo đĩ, ơng sử dụng một danh sách các câu chứa từ đang cần gán nghĩa và những câu cĩ xác suất cao nhất sẽ đƣợc xếp trên cùng, tiếp đĩ là các câu cĩ xác suất nhỏ hơn. Tuy vậy, thuật tốn danh sách quyết Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 14 định thực sự sẽ gặp vấn đề về tìm kiếm và sắp xếp khi danh sách quyết định trở nên lớn hơn, mà điều này là điều ta đang mong muốn do mục đích là mở rộng đƣợc bộ dữ liệu. Một điểm hạn chế khác nữa là danh sách quyết định chỉ dựa vào trƣờng hợp xuất hiện của từ cĩ xác suất cao nhất, phù hợp với trƣờng hợp đang cần gán nghĩa (phù hợp ở đây là cĩ những từ đồng xuất hiện giống với trƣờng hợp xuất hiện của từ đang cần gán nghĩa), do vậy, khả năng phân lớp nghĩa của danh sách quyết định cũng bị hạn chế. Với những hạn chế nĩi trên của thuật tốn danh sách quyết định, tơi muốn đƣa ra một cách sử dụng một hàm phân lớp Nạve Bayes làm nhiệm vụ phân lớp nghĩa dựa vào các nhĩm từ đồng xuất hiện của từ đang cần gán nghĩa, đĩng vai trị làm nhân cho thuật tốn mở rộng bộ dữ liệu xử lý nhập nhằng để phần nào cải tiện đƣợc hiệu suất chung của tồn bộ hệ thống, đồng thời tăng thêm độ chính xác cho bộ dữ liệu huấn luyện đƣợc mở rộng ở đầu ra. 3.2.2. Các bƣớc của thuật tốn Dữ liệu đầu vào của thuật tốn là một bộ dữ liệu huấn luyện nhỏ cĩ các câu chứa từ đang cần gán nghĩa và nghĩa của từ đĩ đã đƣợc gán trƣớc. Thứ hai, ta cần cĩ một bộ dữ liệu chƣa đƣợc gán nghĩa của từ. Bộ dữ liệu này càng lớn thì khả năng mở rộng bộ dữ liệu huấn luyện ban đầu càng cao. Dữ liệu đầu ra của thuật tốn là một bộ dữ liệu lớn, mở rộng từ bộ dữ liệu nhỏ ban đầu. Đi vào chi tiết, thuật tốn cĩ các bƣớc nhƣ sau. Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 15 Hình 2: Sơ đồ các bước của phương pháp mở rộng bộ dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ Dữ liệu chƣa gán nghĩa của từ đang xét Huấn luyện bộ phân lớp Naive Bayes (3.2.2.2) Bộ dữ liệu văn bản Chuẩn bị dữ liệu (liệt kê, định dạng) (3.2.2.1) Phân lớp nghĩa cho từ đang xét dựa vào nhĩm từ đồng xuất hiện (3.2.2.3) Dữ liệu chuẩn chƣa định dạng Gán lại nghĩa dựa vào đặc tình một nghĩa trong một văn bản (3.2.2.4 Bƣớc 1) Dữ liệu gán nghĩa của từ đang xét (mở rộng sau vịng lặp đầu tiên) Chuẩn bị dữ liệu (định dạng) (3.2.2.1) Điều kiện dừng (3.2.2.5) Chƣa thỏa mãn điều kiện dừng, tiếp tục huấn luyện Dữ liệu gán nghĩa mở rộng của từ đang xét Loại bỏ những trƣờng hợp cĩ xác suất quá thấp (3.2.2.4 Bƣớc 2) Dữ liệu gán nghĩa mở rộng Dữ liệu gán nghĩa ban đầu của từ đang xét Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 16 3.2.2.1. Chuẩn bị dữ liệu. Tại bƣớc này ta cần liệt kê và định dạng theo chuẩn nhất định tất cả các câu cĩ chứa từ cần gán nghĩa cĩ trong bộ dữ liệu chƣa gán nghĩa và bộ dữ liệu đã gán nghĩa của từ. Tuy liệt kê nhƣng ta vẫn phải cĩ phƣơng thức để bảo tồn quan hệ khơng thuộc hoặc cùng thuộc một văn bản của các câu. Đồng thời, chọn luơn những từ cĩ thể cĩ khả năng đĩng vai trị là những từ thuộc nhĩm từ đồng xuất hiện, hay là những từ đĩng vai trị làm văn cảnh cho phép ta căn cứ vào để gán nghĩa cho từ đang cần gán nghĩa. Các phƣơng pháp chọn từ thuộc nhĩm từ đồng xuất hiện tơi sẽ trình bày cụ thể ở phần sau của chƣơng này. Tuy nhiên, cĩ một điểm cần lƣu ý là nếu ta chọn phƣơng pháp nào để lấy từ thuộc nhĩm từ đồng xuất hiện thì ta phải thống nhất phƣơng pháp đĩ cho cả bộ dữ liệu đã gán nghĩa và chƣa gán nghĩa để đạt đƣợc hiệu quả cao nhất. 3.2.2.2. Huấn luyện bộ phân lớp Nạve Bayes. Từ dữ liệu đã đƣợc liệt kê, định dạng và chọn từ cĩ khả năng làm làm văn cảnh cho từ cần gán nghĩa của bộ dữ liệu huấn luyện ban đầu đã cĩ từ bƣớc 3.2.2.1, ta tiến hành tạo các bộ thuộc tính để huấn luyện cho bộ phân lớp Nạve Bayes. Theo đĩ mỗi từ trong nhĩm từ đồng xuất hiện của từ đang cần gán nghĩa sẽ đi kèm một giá trị nào đĩ (giá trị này tùy theo cách chuyển đổi các từ từ nhĩm các từ đồng xuất hiện sang tập các thuộc tính) và mỗi cặp (từ, giá trị) đĩ trở thành một thuộc tính. Cách thức chuyển đổi thành thuộc tính nhƣ thế nào cịn tùy thuộc vào loại thơng tin nào của từ trong nhĩm từ đồng xuất hiện với từ đang cần gán nghĩa mà ta muốn giữ lại. Phƣơng thức chuyển đổi thành các thuộc tính là một yếu tố cĩ ảnh hƣởng trực tiếp đến độ chính xác của quá trình phân lớp nghĩa của từ nên cần xem xét một cách cẩn thận. Chi tiết cụ thể về các phƣơng thức này sẽ đƣợc trình bày ở phần sau của chƣơng này. Khi đã cĩ đƣợc tập các thuộc tính, thì từ các cơng thức đã nêu ở trên và các thuộc tính (từ, giá trị) cĩ mặt trong mỗi trƣờng hợp xuất hiện của từ, ta ƣớc lƣợng đƣợc các xác suất hay các mẫu (model) cần thiết cho quá trình phân lớp sau này (nhƣ đã trình bày ở phần 3.1). 3.2.2.3. Phân lớp nghĩa của từ. Ta sử dụng bộ phân lớp Nạve Bayes đã đƣợc huấn luyện ở trên để tiến hành gán nghĩa lại cho tồn bộ dữ liệu bao gồm cả dữ liệu đã gán nghĩa và chƣa gán nghĩa. Bộ phân lớp sẽ tính xác suất của mỗi nghĩa trên mỗi trƣờng hợp xuất hiện của từ và chọn nghĩa cĩ xác suất cao nhất. Việc gán nghĩa lại cả phần dữ liệu huấn luyện là nhằm để gán lại nghĩa Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 17 cho những từ đã cĩ thể bị gán nghĩa sai ban đầu hoặc trong quá trình lặp sau này (Bƣớc 3.2.2.4). Việc phân lớp nghĩa cho các trƣờng hợp xuất hiện của từ đang cần gán nghĩa trong bƣớc này hồn tồn dựa vào các thuộc tính địa phƣơng hay các cặp (từ, giá trị) cĩ đƣợc khi mã hĩa nhĩm từ đồng xuất hiện thành các thuộc tính. Đây chính là bƣớc thể hiện rõ nhất ứng dụng của đặc tính một nghĩa trong một nhĩm từ đồng xuất hiện của từ trong ngơn ngữ tự nhiên. 3.2.2.4. Gán lại nghĩa hoặc loại bỏ những trường hợp sai nhờ vào các thuộc tính tồn cục. Bƣớc này gồm cĩ hai bƣớc nhỏ sau:  Gán lại nghĩa dựa vào đặc tính một nghĩa trong một văn bản: Bƣớc này dựa vào trƣờng hợp xuất hiện của từ đã đƣợc gán nghĩa cĩ xác suất cao nhất trong một văn bản. Nhƣ đã trình bày ở trên, đặc tính một nghĩa trong một văn bản của từ là một đặc tính quan trọng. Vì một từ thƣờng mang một nghĩa trong một văn bản nên ta cĩ thể dựa vào đĩ để mở rộng bộ dữ liệu hoặc sửa lỗi gán nghĩa cĩ trong dữ liệu. Những trƣờng hợp xuất hiện của từ đƣợc gán nghĩa cĩ xác suất quá thấp thƣờng là khơng chính xác. Và khi đĩ khả năng nĩ mang nghĩa của trƣờng hợp đƣợc gán nghĩa cĩ xác suất cao nhất của văn bản là cao hơn. Nhƣ vậy ta thấy rằng, dựa vào đặc tính một nghĩa trong một văn bản của từ, ta vẫn cĩ thể gán nghĩa đƣợc cho các trƣờng hợp xuất hiện của từ mà ta cịn chƣa cĩ thơng tin của chúng để gán nghĩa hoặc là các thơng tin quá ít đến nỗi khơng thể gán nghĩa chính xác.  Loại bỏ các trƣờng hợp cĩ xác suất quá thấp: Dựa vào trƣờng hợp xuất hiện của từ đƣợc gán nghĩa cĩ xác suất cao nhất trong tồn bộ bộ dữ liệu để loại bỏ những trƣờng hợp từ đƣợc gán nghĩa cĩ xác suất nằm dƣới một ngƣỡng nào đĩ (so với xác suất cao nhất kia). Chú ý rằng bộ dữ liệu ở đây là bộ dữ liệu bao gồm cả dữ liệu gán nghĩa ban đầu và dữ liệu gán nghĩa mở rộng từ bộ dữ liệu văn bản chƣa gán nghĩa ở đầu vào. 3.2.2.5. Bước lặp và điều kiện kết thúc Các dữ liệu đƣợc gán nghĩa trong bƣớc 3.2.2.3 và đủ tiêu chuẩn để vƣợt qua bƣớc 3.2.2.4 sẽ trở thành dữ liệu huấn luyện cho bộ phân lớp và quá trình đƣợc lặp lại từ bƣớc 3.2.2.2. Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 18 Vịng lặp kết thúc khi sự thay đổi nhỏ hơn một số cho trƣớc nào đĩ. Chính xác nhất thì ta sẽ phải quan sát sự thay đổi các tham số của hàm phân lớp nhƣ các xác suất về nghĩa của từ, các xác suất của các thuộc tính, các xác suất điều kiện của thuộc tính và từng nhãn lớp (nghĩa của từ đang cần gán nghĩa). Tuy vậy, với số thuộc tính lớn khoảng vài trăm đến vài nghìn thì quan sát đƣợc sự thay đổi của chúng khơng phải việc đơn giản. Một cách dễ hơn để xác định điều kiện kết thúc vịng lặp là quan sát sự thay đổi về số lƣợng của tập dữ liệu mở rộng ở đầu ra. Vì khi bộ phân lớp đã ổn định, các tham số khơng cịn thay đổi (hoặc thay đổi rất ít trong giới hạn nào đĩ) thì xác suất gán nghĩa cho các trƣờng hợp xuất hiện trong tồn bộ dữ liệu sẽ khơng thay đổi. Khi đĩ, tập các trƣờng hợp đƣợc gán nghĩa lại của từ vƣợt qua ngƣỡng cho phép sẽ khơng cịn thay đổi và kết quả là số lƣợng các trƣờng hợp xuất hiện của từ trong bộ dữ liệu mở rộng ở đầu ra sẽ khơng thay đổi nữa. Cách này tuy dễ hơn và nhanh hơn nhiều nhƣng lại thiếu chính xác hơn so với cách trƣớc. Ngồi cách thức xác định điều kiện dừng vịng lặp thì một điểm khác cần lƣu ý ở đây là khơng nhất thiết tất cả các trƣờng hợp xuất hiện của từ trong bộ dữ liệu đã gán nghĩa ban đầu đều sẽ xuất hiện trong tập dữ liệu đầu ra hoặc chúng cũng cĩ thể xuất hiện nhƣng với nghĩa khác nghĩa đã đƣợc gán ban đầu. Điều này là do trong quá trình lặp cĩ thể trƣờng hợp đã gán nghĩa đĩ khơng cịn đủ độ tin cậy (xác suất nhỏ hơn nghƣỡng cho phép) nên đã bị loại ra khỏi tập dữ liệu cuối cùng hoặc đã bị gán nghĩa lại. Nhƣ vậy ta thấy rằng với một bộ dữ liệu chƣa gán nghĩa lớn, đầy đủ các nghĩa của từ thì nếu trong tập dữ liệu huấn luyện ban đầu cĩ một lƣợng nhỏ dữ liệu bị gán nghĩa sai thì trong quá trình mở rộng dữ liệu, nĩ cĩ thể sẽ bị loại ra khỏi tập dữ liệu cuối cùng. Cuối cùng, sau quá trình lặp lại nhiều lần việc gán nghĩa cho bộ dữ liệu hỗn hợp các trƣờng hợp xuất hiện đƣợc gán nghĩa và chƣa đƣợc gán nghĩa của từ cần xét, ta đã thu đƣợc một bộ dữ liệu lớn hơn đƣợc gán nghĩa đầy đủ của từ. Nhƣ vậy, ta đã giảm đƣợc rõ rệt khối lƣợng cơng việc gán nghĩa thủ cơng trƣớc đây. Từ đĩ cho phép chúng ta cĩ đƣợc các bộ dữ liệu lớn hơn trƣớc đây nhiều lần trong một thời gian ngắn hơn nhiều. 3.3. Lựa chọn từ cho nhĩm từ đồng xuất hiện trên quan điểm lý thuyết Từ đặc tính của từ và của thuật tốn học bán giám sát lấy Nạve Bayes làm nhân, đĩng vai trị phân lớp nghĩa của từ theo đặc tính một nghĩa trong một nhĩm từ đồng xuất hiện trong mỗi vịng lặp, ta quay lại xem xét một cách lý thuyết các lựa chọn về cách chọn Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 19 những từ cho nhĩm từ đồng xuất hiện của từ đang cần gán nghĩa nhƣ thế nào. Ở đây cĩ một số vấn đề nhƣ sau: thứ nhất là chọn từ ở khoảng cách nào; thứ hai là những từ đƣợc chọn cĩ cần xử lý trƣớc khi đƣa vào xử lý nhập nhằng nghĩa hay khơng; thứ ba là lựa chọn những thơng tin nào của chúng để chuyển hĩa thành thuộc tính, và thể hiện những thơng tin đĩ nhƣ thế nào. 3.3.1. Khoảng cách lân cận của từ đang cần xử lý nhập nhằng nghĩa Đầu tiên là vấn đề chọn đƣợc những từ nằm trong khoảng cách thích hợp với từ đang cần gán nghĩa. Vì theo đặc tính một nghĩa trong một nhĩm từ đồng xuất hiện của từ, các từ ở khoảng cách càng xa thì càng ít giá trị trong việc khẳng định nghĩa của từ. Vì thế tơi chỉ lấy trong khoảng cách 5 từ so với vị trí của từ đang xét, tức là một nhĩm 10 từ gồm 5 từ trƣớc, 5 từ sau từ đang cần gán nghĩa sẽ đƣợc chọn vào nhĩm từ đồng xuất hiện của nĩ. 3.3.2. Xử lý từ trong nhĩm từ đồng xuất hiện Ngoại trừ các mạo từ, giới từ hay một số nhĩm từ chức năng khác, một từ thƣờng cĩ nhiều thể hiện về mặt hình thái nhƣ số ít, số nhiều của danh từ, hay các động từ cĩ các dạng khác nhau khi cĩ chủ ngữ là số ít hoặc ở các thời khác nhau … Vì vậy, một câu hỏi cần đặt ra là cĩ tiến hành chuyển đổi về gốc nguyên thể của từ hay khơng. Cần xác định rõ là chuyển đổi về từ nguyên thể ở đây là quá trình loại bỏ các hậu tố sao cho từ đƣợc cho trở về dạng nguyên thể. Ví dụ nhƣ: Generations => generation Letters => letter Adding => add Easier => easy … Việc này cho phép ta tránh xử lý những trƣờng hợp từ bị thay đổi do các yêu cầu về ngữ pháp của ngơn ngữ nhƣng thực chất nĩ chỉ là một từ. Tức là nghĩa của nĩ về cơ bản khơng đổi. Mà thực chất nghĩa cơ bản của từ mới là yếu tố giúp xác định văn cảnh của câu. Việc này cĩ hai lợi ích nhƣ sau. Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 20 Lợi ích thứ nhất của việc này đĩ là ta giảm đƣợc số lƣợng các từ thuộc nhĩm từ đồng xuất hiện (hay đúng hơn là giảm hiện tƣợng lặp từ) tức là giảm đƣợc số lƣợng các thuộc tính (các cặp (từ số ít, giá trị), (từ số nhiều, giá trị), ... sẽ chỉ cịn là 1 thuộc tính (từ nguyên thể, giá trị)). Điều này cho phép tăng tốc độ của quá trình huấn luyện và gán nghĩa của Nạve Bayes và tăng tốc độ hội tụ của thuật tốn xử lý nhập nhằng nghĩa của từ bán giám sát. Lợi ích thứ hai là cũng theo giả định về tính độc lập của Nạve Bayes, sử dụng quá nhiều biến thể của từ (coi là từ chứa nội dung) trong nhĩm từ đồng xuất hiện cĩ thể làm giảm hiệu quả phân lớp về mặt lý thuyết. Cụ thể là, giả sử nhƣ ta cĩ các biến thể khác nhau w, w‟, w‟‟ của từ W và chúng đều đƣợc chọn để đƣa vào nhĩm từ đồng xuất hiện phân lớp cho một từ A cĩ nghĩa c ở các trƣờng hợp xuất hiện khác nhau của A nhƣng khi chuyển hĩa thành thuộc tính chúng đều cĩ giá trị x thuộc X (tức là thành các cặp (w, x), (w‟,x), (w‟‟,x) (Tập giá trị X của x đƣợc xác định tùy thuộc vào cách thức chuyển đổi thành thuộc tính). Vì chỉ là những biến thể của W nên chúng đều cĩ nghĩa cW nào đĩ. Giả sử nhƣ tính chung tất cả các biến thể thì W cĩ tới 20% là thuộc nhĩm từ đồng xuất hiện của A cùng đi kèm với giá trị x, tuy nhiên tính riêng từng biến thể thì w cĩ 10%, w‟ cĩ 6% và w‟‟ cĩ 4%. Nhƣ vậy, khi phân lớp, thay vì xác suất ƣớc lƣợng của A cĩ nghĩa c sẽ nhân với 0.2 (là xác suất 𝑝(𝑊𝑥 |𝑐)) (Wx là chỉ thuộc tính với cặp (W,x)) thì do W bị chia thành các biến thể và do giả định độc lập của Nạve Bayes mà khi này con số sẽ là 0.1 (𝑝 𝑤𝑥 𝑐 ), hoặc 0.06 (𝑝 𝑤′𝑥 𝑐 ), hoặc 0.04 (𝑝 𝑤′′𝑥 𝑐 ) lần lƣợt cho các trƣờng hợp từ A xuất hiện với (w, x), (w‟, x), (w‟‟, x). Nhƣ vậy, xác suất phân lớp sẽ giảm đáng kể trong trƣờng hợp để nguyên những biến thể hình thái của các từ trong nhĩm từ đồng xuất hiện so với trƣờng hợp chúng ta chuyển những từ này về dạng nguyên thể. Tĩm lại, về mặt lý thuyết, chuyển từ về dạng nguyên thể cịn cĩ thể giúp tăng thêm độ chính xác cho quá trình phân lớp. 3.3.3. Chuyển đổi từ trong nhĩm từ đồng xuất hiện thành thuộc tính của bộ phân lớp Một cách chuyển đổi đơn giản nhất cho một thuộc tính từ một từ thuộc nhĩm từ đồng xuất hiện đĩ là theo dạng nhị phân. Theo cách này, nếu từ wi xuất hiện trong nhĩm từ đồng xuất hiện của một trƣờng hợp xuất hiện của từ c đang cần gán nghĩa thì ta cĩ thuộc tính (wi, 1), và ngƣợc lại (wi, 0). Nhƣ vậy, cách chuyển đổi này cho phép thể hiện đƣợc thơng tin từ wi cĩ xuất hiện trong nhĩm từ đồng xuất hiện hay khơng. Tuy vậy, nếu Chƣơng 3: Các thuật tốn trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 21 sử dụng cách này thì sẽ xảy ra rất nhiều trƣờng hợp nhập nhằng do cĩ thể cĩ nhiều nhĩm từ đồng xuất hiện của từ đƣợc gán nghĩa khác nhau nhƣng cùng cĩ các từ giống nhau và chỉ khác về vị trí của các từ trong nhĩm. Khi đĩ theo cách chuyển đổi này, tất cả các nhĩm này đều cĩ cùng một bộ thuộc tính. Điều này sẽ hạn chế khả năng phân lớp chính xác của Nạve Bayes. Cách chuyển đổi thứ hai khắc phục nhƣợc điểm của cách chuyển đổi theo dạng nhị phân, đĩ là, ta sẽ căn cứ theo khơng chỉ sự xuất hiện của từ mà cịn theo cả vị trí của từ để xác định các thuộc tính. Cụ thể là nếu các từ xuất hiện trong nhĩm từ đồng xuất hiện của từ c đang cần gán nghĩa theo thứ tự: w1 w2 w3 w4 w5 c w6 w7 w8 w9 w10 Thì ta sẽ cĩ bộ thuộc tính: (w1, -5), (w2, -4), …, (w10, 5) Cĩ thể thấy rằng với cách chuyển đổi thành thuộc tính nhƣ vậy, ta đã bảo tồn đƣợc thơng tin về vị trí của các từ trong nhĩm từ đồng xuất hiện và khơng cịn sự nhập nhằng giữa các nhĩm từ đồng xuất hiện cĩ cùng các từ giống nhau nhƣng khác về vị trí các từ. Ngồi hai cách chuyển đổi từ trong nhĩm từ đồng xuất hiện thành thuộc tính nhƣ ở trên thì ta cịn rất nhiều cách mã hĩa thuộc tính khác nữa cho phép giữ đƣợc nhiều thơng tin hơn nữa của các từ đồng xuất hiện với từ cần gán nghĩa ví dụ nhƣ các thơng tin về từ loại chẳng hạn. Sử dụng đƣợc thêm thơng tin của từ loại sẽ giúp tăng thêm rất nhiều độ chính xác cho bộ phân lớp Naive Bayes. Tuy vậy, đề tài khĩa luận này khơng tập trung vào Naive Bayes và cách thức để hàm phân lớp này đạt đƣợc độ chính xác cao nhất mà chủ yếu đặt trọng tâm vào nghiên cứu, khảo sát phƣơng pháp mở rộng bộ dữ liệu. Chính vì vậy tơi muốn giữ việc chọn thuộc tính ở mức đơn giản cho phép. Chƣơng 4: Cấu trúc và định dạng của dữ liệu 22 Chƣơng 4: Cấu trúc và định dạng của dữ liệu 4.1. Dữ liệu đầu vào Nhƣ đã trình bày ở phần thuật tốn, phƣơng pháp mở rộng dữ liệu đƣợc trình bày trong khĩa luận này là một phƣơng pháp học máy bán giám sát. Phần nhân của phƣơng pháp này là một thuật tốn học cĩ giám sát Nạve Bayes. Vì vậy, ta cần thiết phải cĩ một lƣợng dữ liệu chuẩn (tức là đã gán nghĩa cho mỗi trƣờng hợp xuất hiện của từ đang cần gán nghĩa) dùng để huấn luyện cho Nạve Bayes trong giai đoạn đầu. Ngồi ra ta cịn cần một bộ dữ liệu văn bản lớn khác chƣa đƣợc gán nghĩa dùng trong quá trình mở rộng bộ dữ liệu ban đầu thành bộ dữ liệu đầu ra. Sau đây tơi sẽ trình bày cụ thể về định dạng của hai bộ dữ liệu đã gán nghĩa và chƣa gán nghĩa cho các trƣờng hợp xuất hiện của từ đang cần gán nghĩa đƣợc sử dụng trong thí nghiệm. 4.1.1. Dữ liệu chuẩn đã gán nghĩa Dữ liệu chuẩn sử dụng trong khĩa luận này là bộ dữ liệu cho các từ chứa nội dung hay các từ mang nghĩa của câu và văn bản. Trong đĩ các trƣờng hợp xuất hiện của mỗi từ đƣợc gộp vào cùng một file với tên là từ đang cần gán nghĩa cộng với phần đuơi “.pos”. Từ file đĩ, ta cĩ thể lấy đƣợc các thơng tin về nghĩa của từ, các tên của văn bản nguồn chứa trƣờng hợp từ mang nghĩa đĩ và các câu chứa từ đĩ đã đƣợc phân loại từ loại theo chuẩn Penn Treebank . Cụ thể một đoạn văn bản chứa 1 trƣờng hợp từ “line” cĩ nghĩa “cord” đƣợc định dạng nhƣ sau: the/DT company/NN argued/VBD that/IN its/PRP$ foreman/NN needn/NN 't/NN have/VBP told/VBN the/DT worker/NN not/RB to/TO move/VB the/DT plank/NN to/TO which/WDT his/PRP$ lifeline/NN was/VBD tied/VBN because/IN ''/'' that/WDT comes/VBZ with/IN common/JJ sense/NN ./. ''/'' Chƣơng 4: Cấu trúc và định dạng của dữ liệu 23 the/DT commission/NN noted/VBD ,/, however/RB ,/, that/IN dellovade/NNP hadn/NN 't/NN instructed/VBD its/PRP$ employees/NNS on/IN how/WRB to/TO secure/VB their/PRP$ lifelines/NNS and/CC didn/VBD 't/NN heed/NN a/DT federal/JJ inspector/NN 's/POS earlier/JJR suggestion/NN that/IN the/DT company/NN install/VB special/JJ safety/NN lines/NNS inside/IN the/DT a-frame/NNP structure/NN it/PRP was/VBD building/VBG ./. Trong đĩ id là thơng tin nhận dạng của từ, senseid chứa nghĩa của từ, và nằm giữa hai tag và là các câu chứa từ đang cần gán nghĩa. Từ đang cần gán nghĩa đứng sau tag khi đứng cùng trong câu. Giữa các từ ngăn cách với nhau bởi 1 ký tự trống và trong một từ, phần từ và phần thơng tin từ loại ngăn cách với nhau bởi ký tự “/” 4.1.2. Dữ liệu chƣa gán nghĩa – BNC BNC là viết tắt của British National Corpus. Đây là một bộ văn bản lớn gồm cĩ trên 100 triệu từ thuộc cả ngơn ngữ nĩi và viết, đƣợc tập hợp từ nhiều nguồn. Phiên bản dùng trong khĩa luận là phiên bản mới nhất BNC XML, xuất bản năm 2007 [8]. Khoảng 90% bộ văn bản là những văn bản viết, bao gồm các tờ báo của các vùng và quốc gia, các tạp chí chuyên nghành và tạp chí cho các lứa tuổi với các sở thích khác nhau, các sách học thuật và các tiểu thuyết nổi tiếng, các bức thƣ, các bài luận của các trƣờng học và nhiều thể loại khác[8]. Ngơn ngữ nĩi chiếm khoảng 10% cịn lại trong bộ văn bản BNC. Nĩ gồm những bản ghi lại các cuộc nĩi chuyện của những ngƣời tình nguyện thuộc nhiều lứa tuổi, ngành nghề, tơn giáo, tầng lớp xã hội khác nhau[8]. Bộ BNC XML đƣợc định dạng theo chuẩn XML 1.0, cung cấp nhiều thơng tin về thể loại của văn bản, các ngắt câu, ngắt từ, các thơng tin về từ loại, về dạng nguyên thể của từ. Sau đây là một đoạn trong một file xml của BNC: Chƣơng 4: Cấu trúc và định dạng của dữ liệu 24 CHAPTER 1 „ But , ‟ said Owen , ... Trong đĩ tag biểu thị đây là một đoạn văn bản viết thuộc loại tiểu thuyết. là biểu thị của trang 5. cho biết đây là một Chƣơng 4: Cấu trúc và định dạng của dữ liệu 25 chƣơng mới. cho biết đây là tên chƣơng. cĩ ý nghĩa là một đoạn văn. Các tag và là các từ và các dấu. 4.2. Dữ liệu sử dụng trong quá trình chạy chƣơng trình Khi chạy bộ xử lý nhập nhằng nghĩa của từ, ta cần chuẩn hĩa bộ dữ liệu đã gán nghĩa và chƣa gán nghĩa. Ở mức đơn giản nhất ta cũng cần loại bỏ các dấu câu và từ đang cần gán nghĩa để lấy ra những từ thuộc nhĩm từ đồng xuất hiện. Ở mức cao hơn, để kiểm chứng lý thuyết về việc chuyển từ thuộc nhĩm từ đồng xuất hiện với từ đang cần gán nghĩa về dạng từ nguyên thể, ta cịn cần tiến hành biến đổi dữ liệu ban đầu nhiều hơn nữa. Một số trƣờng hợp cá biệt, nếu vì lý do nào đĩ mà dữ liệu ban đầu chƣa đƣợc gán nhãn từ loại thì ta cịn phải chạy thêm các thuật tốn phân lớp thơng tin từ loại. Do vậy, dữ liệu đầu vào tỏ ra kém hiệu quả nếu ta sử dụng trực tiếp nĩ trong quá trình chạy và kiểm thử bộ xử lý nhập nhằng nghĩa của từ. Vì thế ta cần phải chuyển nĩ về dạng thích hợp hơn, tránh phải chuẩn hĩa đi chuẩn hĩa lại dữ liệu trong quá trình mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ đang cần gán nghĩa. Định dạng của dữ liệu sử dụng giống hồn tồn với dữ liệu chuẩn và chỉ thêm ngay sau tag một tag chứa câu đã đƣợc chuẩn hĩa. Với các văn bản thuộc bộ dữ liệu chƣa gán nghĩa thì phần senseid trong mỗi trƣờng hợp từ sẽ cĩ giá trị là “Unknown” Dữ liệu sau khi chuẩn hĩa đƣợc lƣu lại vào một thƣ mục gồm file chứa dữ liệu huấn luyện (và các file kiểm tra nếu cĩ) cùng với một thƣ mục “Data” chứa tồn bộ file chứa các trƣờng hợp của từ thuộc bộ dữ liệu chƣa đƣợc gán nghĩa. Các trƣờng hợp thuộc cùng một văn bản sẽ đƣợc chứa vào cùng một file. 4.3. Định dạng file kết quả thực nghiệm File chứa kết quả thực nghiệm đƣợc sinh ra trong quá trình chạy bộ cơng cụ khảo sát phƣơng pháp mở rộng dữ liệu. Từ file này ta sẽ đánh giá đƣợc lý thuyết đƣa ra cĩ phù hợp với kết quả thực tế hay khơng. Ví dụ một file thử nghiệm với từ “serve” cĩ dạng nhƣ sau: Chƣơng 4: Cấu trúc và định dạng của dữ liệu 26 Result file InterestTest3/interest_2.result Change of output instance: 31 Number of Loop: 13 Output File: D:\KhoaLuan\Code\InterestTest3\interest.out with 34366 instances Test 1: Correct per Total: 173/235 Test 2: Correct per Total: 1049/1418 Theo đĩ, dịng đầu tiên là dịng chỉ tên của file test. Dịng thứ hai là mức độ thay đổi cuối cùng về số lƣợng các trƣờng hợp đƣợc đƣa ra, số này cĩ thể là dƣơng hay âm tùy thuộc vào số lƣợng tăng hay giảm. Dịng thứ ba chỉ số vịng lặp đã lặp đến khi hàm mở rộng dữ liệu huấn luyện hội tụ. Dịng thứ tƣ là đƣờng dẫn đến file dữ liệu đầu ra và số lƣợng các trƣờng hợp xuất hiện của từ cĩ trong đĩ. Hai dịng cuối cùng là độ chính xác của quá trình thực nghiệm, đo bằng số trƣờng hợp phân lớp đúng với nghĩa đƣợc gán ban đầu của file dữ liệu chuẩn trên tổng số trƣờng hợp trong hai file kiểm tra. Chƣơng 5: Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa 27 Chƣơng 5: Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa. 5.1. Bộ cơng cụ NLTK NLTK (Natural Language Toolkit) là một bộ các thƣ viện và chƣơng trình phong phú viết bằng ngơn ngữ Python. Nĩ bao gồm rất nhiều mơ đun, cho phép thực hiện rất nhiều cơng việc thƣờng gặp trong xử lý ngơn ngữ tự nhiên nhƣ đọc một bộ văn bản, xử lý chuỗi ký tự, phát hiện những nhĩm từ đồng xuất hiện đi cùng nhau, việc gán nhãn từ loại, phân lớp, v.v. [2][10] Để phục vụ cho việc nghiên cứu, khảo sát, chứng minh các lý thuyết trong đề tài khĩa luận, tơi đã dùng một số mơ đun của NLTK nhƣ:  Nltk.corpus.reader.bnc: cho phép đọc bộ dữ liệu BNC.  Nltk.classify.naivebayes: cung cấp bộ phân lớp Nạve Bayes làm phần nhân cho thuật tốn mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ.  Nltk.tag: cung cấp bộ gán nhãn từ loại cho những văn bản thiếu thơng tin từ loại.  Nltk.stem.wordnet: cung cấp bộ chuyển đổi từ về dạng từ nguyên thể. 5.2. Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ. Đây là một cơng cụ do tơi lập trình bằng ngơn ngữ Python với mục đích kiểm tra trong thực tế phƣơng pháp mở rộng bộ dữ liệu cĩ cho lại hiệu quả tốt khơng. Vì đƣợc làm ra nhằm mục đích nghiên cứu nên bộ cơng cụ này cĩ những đặc tính sau đây:  Tính tùy biến cao: Vì để nghiên cứu đƣợc thì việc tùy biến đƣợc các thơng số nhƣ mức độ hội tụ của hàm mở rộng dữ liệu, hay nhƣ cĩ tùy chọn cĩ chuyển các từ trong nhĩm từ đồng xuất hiện về dạng nguyên thể hay khơng, là một điều bắt buộc phải cĩ để cĩ thể khảo sát đƣợc kỹ càng các lý thuyết đã nêu ở trên và so sánh các kết quả giữa chúng. Chƣơng 5: Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa 28  Tính linh hoạt trong sử dụng: Bộ cơng cụ này cĩ tính linh hoạt cao trong việc sử dụng tức là nĩ cho phép dùng kết hợp các mơ đun theo một cách tự do nhất. Điều này cho phép thiết kế nhiều thử nghiệm khác nhau. Sau đây là những phần chính của bộ cơng cụ cĩ liên quan tới việc bố trí thử nghiệm và kiểm tra kết quả độ chính xác, các phần khác khơng liên quan trực tiếp sẽ chỉ đƣợc trình bày sơ lƣợc: 5.2.1. Các cơng cụ chuẩn bị dữ liệu  Hàm splitTrainTestSet(labeledDataFile, trainPerTotalRate, testPerTotalRate): hàm này nhằm chia file dữ liệu chuẩn ban đầu thành hai file dữ liệu huấn luyện và kiểm tra. Sau khi chia các file huấn luyện và kiểm tra sẽ nằm cùng thƣ mục với file dữ liệu chuẩn, trong đĩ, file huấn luyện và file kiểm tra cĩ tên là tên của file dữ liệu chuẩn và phần mở rộng lần lƣợt là “.train” và “.test”. Các tham số của hàm này là: o labeledDataFile là đƣờng dẫn tới file dữ liệu chuẩn. o trainPerTotalRate và testPerTotalRate là tỉ lệ của các trƣờng hợp đƣợc đƣa vào file huấn luyện và kiểm tra so với tổng số các trƣờng hợp cĩ trong file dữ liệu chuẩn.  Hàm createFormatedData(trainDataPath, testDataPath, test2DataPath, corporaPath, newDataPath, nameOfCorpora, labeledWord, needLemmatizing): hàm này nhằm tạo dữ liệu cho các thử nghiệm. Trong đĩ, các dữ liệu huấn luyện ban đầu, dữ liệu kiểm tra và dữ liệu từ bộ văn bản đều đƣợc chuyển đổi sang dạng định dạng quy định ở phần 4.2. Theo đĩ, việc chuyển đổi các từ thuộc nhĩm từ đồng xuất hiện sang dạng nguyên thể hay khơng sẽ đƣợc thống nhất giữa các dữ liệu ban đầu và bộ dữ liệu. Các tham số của hàm cĩ ý nghĩa nhƣ sau: o trainDataPath: đƣờng dẫn đến file huấn luyện (kết quả từ hàm splitTrainTestSet) o testDataPath, test2DataPath: đƣờng dẫn đến các file kiểm tra (kết quả từ hàm splitTrainTestSet và genRandomTestFile) o corporaPath: đƣờng dẫn đến bộ dữ liệu văn bản chƣa gán nghĩa của từ (ở đây là BNC) Chƣơng 5: Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa 29 o newDataPath: đƣờng dẫn cho một thƣ mục mới (chƣa tạo) chứa tồn bộ các dữ liệu đƣợc chuyển đổi. o nameOfCorpora: tên của tập dữ liệu văn bản chƣa gán nghĩa. o labeledWord: từ đang cần đƣợc gán nghĩa để mở rộng bộ xử lý nhập nhằng. o needLemmatizing: nhận giá trị True hoặc False. Nếu là True thì các từ thuộc nhĩm từ đồng xuất hiện từ sẽ đƣợc chuyển đổi về dạng nguyên thể, và ngƣợc lại với False thì các từ đĩ sẽ đƣợc giữ nguyên.  Hàm genRandomTestFile(standardLabeledFile, outputFilePath, trainFile, testPerTotalRate): hàm này cho phép sinh lại file test. Trong đĩ: o standardLabeledFile là đƣờng dẫn đến file dữ liệu chuẩn. o outputFilePath là đƣờng dẫn đến file mới sẽ đƣợc tạo (thƣờng là vào thẳng thƣ mục chứa dữ liệu kiểm tra) o trainFile là đƣờng dẫn đến file huấn luyện đã đƣợc tạo. o testPerTotalRate là tỉ lệ giữa số lƣợng các trƣờng hợp trong tập kiểm tra và tồn bộ tập dữ liệu chuẩn. 5.2.2. Hàm cơng cụ test Hàm testWithFormatedData(formatedDataPath, labeledWord, approxUnchangeFeature, rateWithMaxInFile, rateWithMaxInCorpora) Hàm này đĩng vai trị rất quan trọng khi khảo sát, kiểm tra, đánh giá. Nĩ cho phép ta tùy chỉnh mức giới hạn thay đổi về số lƣợng các trƣờng hợp từ ở file đầu ra. Tức là tùy chỉnh độ hội tụ của hàm mở rộng bộ dữ liệu huấn luyện bằng tham số approx Unchange - -Feature. Với tham số rateWithMaxInFile, hàm này cho phép ta chỉnh ngƣỡng mà nếu thấp hơn ngƣỡng đĩ thì trƣờng hợp trong file sẽ bị gán nghĩa bằng nghĩa của trƣờng hợp cùng trong file cĩ xác suất lớn nhất. Đây là một tỉ lệ, nghĩa là nếu xác suất lớn nhất là maxFileProb thì ngƣỡng sẽ bằng (maxFileProb * rateWithMaxInFile). Tham số rateWithMaxInCorpora lại cho ta chỉnh ngƣỡng theo xác suất lớn nhất của tồn bộ bộ dữ liệu. Những trƣờng hợp nào cĩ xác suất nhỏ hơn ngƣỡng (maxCorporaProb * rateWithMaxInCorpora) sẽ khơng đƣợc đƣa vào tập dữ liệu để huấn luyện tiếp nếu đĩ là khi đang trong vịng lặp. Nếu vịng lặp đã kết thúc trƣờng hợp nào cĩ xác suất nhỏ hơn ngƣỡng thì sẽ khơng cĩ mặt ở file dữ liệu đầu ra. Chƣơng 5: Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa 30 formatedDataPath là đƣờng dẫn đến thƣ mục cĩ chứa dữ liệu đã đƣợc định dạng theo định dạng đƣợc định nghĩa ở mục 4.2. Thƣ mục này chính là thƣ mục newDataPath, đƣợc tạo từ hàm createFormatedData đã trình bày ở mục 5.2.1 labeledWord là từ đang đƣợc gán nghĩa, hay là từ đang đƣợc xử lý nhập nhằng Sau khi hàm này chạy xong thì nĩ sẽ ghi kết quả của cuộc thử nghiệm ra các file word_1_1.result, word_1_2.result, word_2.result vào thƣ mục formatedDataPath, trong đĩ word là từ đang đƣợc xử lý nhập nhằng (labeledWord). o Word_1_1.result chứa kết quả thực nghiệm khi chỉ huấn luyện hàm phân lớp bằng bộ huấn luyện đƣợc trích từ bộ dữ liệu chuẩn ban đầu và kiểm thử bằng file kiểm tra thứ nhất. o Word_1_2.result chứa kết quả thực nghiệm khi chỉ huấn luyện hàm phân lớp bằng bộ huấn luyện đƣợc trích từ bộ dữ liệu chuẩn ban đầu và kiểm thử bằng file kiểm tra thứ hai. o Word_2.result chứa kết quả thực nghiệm khi huấn luyện hàm phân lớp bằng bộ dữ liệu đã đƣợc mở rộng bằng thuật tốn đã nêu ở trên và kiểm thử bằng cả hai file kiểm tra. Chi tiết về định dạng của các file kết quả đƣợc định nghĩa ở phần 4.3, cách thực hiện thí nghiệm cụ thể đƣợc trình bày trong chƣơng 6. 5.2.3. Các hàm phân lớp và mở rộng bộ dữ liệu Các hàm phân lớp và mở rộng bộ dữ liệu đĩng vai trị trung tâm trong tồn bộ bộ cơng cụ. Chúng quyết định đến độ chính xác của bộ dữ liệu đầu ra cĩ nghĩa là quyết định tới sự thành cơng hay thất bại của phƣơng pháp mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ. Trong đĩ, hàm classifyFormatedCorporaWithNaiveBayes là hàm phân lớp NaiveBayes. Nĩ chịu trách nhiệm chính trong việc gán đƣợc nghĩa chính xác trong mỗi vịng lặp của thuật tốn bằng giả thiết một nghĩa trong một nhĩm từ. Hàm extendOneLabeledDataSetWithFormatedCorpora là hàm minh họa cho tồn bộ thuật tốn của phƣơng pháp mở rộng bộ dữ liệu huấn luyện đã đề xuất, áp dụng đặc tính một nghĩa trong một văn bản để mở rộng và chính xác hĩa bộ dữ liệu đầu ra. Nĩ đĩng vai trị chính yếu trong việc tạo đƣợc một bộ dữ liệu đầu ra chính xác nhất. Chƣơng 5: Cơng cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa 31 Thuật tốn của hai hàm trên đã đƣợc nêu chi tiết trong chƣơng 3. 5.2.4. Các hàm cơng cụ khác Cĩ rất nhiều các hàm cơng cụ khác trong bộ cơng cụ tơi đã xây dựng nhƣ các hàm đọc dữ liệu đã định dạng và chƣa định dạng, các hàm chịu trách nhiệm ghi ra file những trƣờng hợp xuất hiện của từ, các hàm chuyển đổi giữa các file định dạng và khơng định dạng ... Tuy vậy vai trị của chúng chỉ là phụ trợ và khơng liên quan nhiều đến các thực nghiệm của ta. Chƣơng 6: Kết quả thực nghiệm 32 Chƣơng 6: Kết quả thực nghiệm Trong các chƣơng trƣớc tơi đã trình bày cụ thể về phƣơng pháp mở rộng bộ dữ liệu huấn luyện cho quá trình xử lý nhập nhằng cũng nhƣ các cách chọn lựa và chuyển đổi những từ cùng xuất hiện với từ đang cần gán nghĩa thành những thuộc tính để phân lớp nghĩa cho các trƣờng hợp xuất hiện của từ này. Tuy vậy, đĩ mới chỉ là lý thuyết, ta cần chứng minh lý thuyết này bằng các thực nghiệm cụ thể. 6.1. Dữ liệu thực nghiệm Tơi tiến hành thực nghiệm trên 4 file dữ liệu chuẩn của 4 từ: “line”, “hard”, “interest”, và “serve”. Trong 4 file dữ liệu này, từng trƣờng hợp xuất hiện của từ đã đƣợc xác định nghĩa cụ thể. Định dạng của 4 file này đƣợc định nghĩa trong phần 4.1.1. Thống kê cụ thể về số lƣợng các trƣờng hợp từ xuất hiện trong file, các nghĩa và số lƣợng các trƣờng hợp trong từng nghĩa, ta cĩ các bảng số liệu sau đây. Nghĩa Số lƣợng Cord 373 Division 374 Product 2217 Text 404 Phone 429 Formation 349 Tổng: 4146 Bảng 1: Các nghĩa và số lƣợng từ tƣơng ứng của từ “line” trong dữ liệu chuẩn Chƣơng 6: Kết quả thực nghiệm 33 Nghĩa Số lƣợng HARD1 3455 HARD2 502 HARD3 376 Tổng: 4333 Bảng 2: Các nghĩa và số lƣợng từ tƣơng ứng của từ “hard” trong dữ liệu chuẩn Nghĩa Số lƣợng Interest_1 361 Interest_2 11 Interest_3 66 Interest_4 178 Interest_5 500 Interest_6 1252 Tổng: 2368 Bảng 3: Các nghĩa và số lƣợng từ tƣơng ứng của từ “interest” trong dữ liệu chuẩn Nghĩa Số lƣợng SERVE2 853 SERVE6 439 SERVE10 1814 SERVE12 1272 Tổng: 4378 Bảng 4: Các nghĩa và số lƣợng từ tƣơng ứng của từ “serve” trong dữ liệu chuẩn Về bộ dữ liệu văn bản dùng trong quá trình mở rộng bộ dữ liệu huấn luyện, tơi sử dụng bộ dữ liệu văn bản BNC nhƣ đã giới thiệu trong phần 4.1.2. Số lƣợng những trƣờng hợp các từ “line”, “hard”, “serve”, “interest” xuất hiện trong BNC đƣợc thống kê trong bảng số liệu sau. Chƣơng 6: Kết quả thực nghiệm 34 Từ Số lƣợng Line 33392 Hard 23571 Serve 15313 Interest 35863 Bảng 5: Số lƣợng các từ “line”, “hard”, “serve”, “interest” trong BNC 6.2. Thí nghiệm 1 Mục đích thực hiện thí nghiệm là để trả lời hai câu hỏi:  Liệu dữ liệu đƣợc mở rộng bằng phƣơng pháp đã nêu cĩ đủ độ tin cậy để cĩ thể dùng để huấn luyện làm tăng độ chính xác cho các hàm phân lớp xử lý nhập nhằng nghĩa của từ hay khơng.  Liệu việc chuyển đổi về từ nguyên thể cĩ làm tăng độ chính xác cho quá trình xử lý nhập nhằng ngữ nghĩa, từ đĩ làm tăng độ chính xác của bộ dữ liệu đầu ra hay khơng. 6.2.1. Bố trí thí nghiệm  Với mỗi từ ta chia tỉ lệ số lƣợng các trƣờng hợp xuất hiện của từ trong file dữ liệu chuẩn thành tập huấn luyện và các tập kiểm tra theo các tỉ lệ khác nhau. Cụ thể tập huấn luyện cĩ tỉ lệ 0.3, tập kiểm tra thứ nhất cĩ tỉ lệ 0.1 và tập kiểm tra thứ hai cĩ tỉ lệ 0.6 so với tồn bộ tập dữ liệu chuẩn. Trong đĩ: o Tập huấn luyện đƣợc chọn ngẫu nhiên trong tập dữ liệu chuẩn nhƣng vẫn đảm bảo tỉ lệ giữa số lƣợng các trƣờng hợp mang các nghĩa khác nhau của từ nhƣ trong tập dữ liệu chuẩn và đảm bảo khơng cĩ trƣờng hợp xuất hiện của từ nào đƣợc chọn 2 lần. o Tập kiểm tra đƣợc chọn nhƣ với tập huấn luyện. Tuy nhiên, những trƣờng hợp của tập kiểm tra và tập huấn luyện đƣợc đảm bảo khơng trùng nhau.  Mỗi lƣợt thực nghiệm bao gồm 2 giai đoạn: o Giai đoạn 1: khơng chuyển các từ thuộc nhĩm từ đồng xuất hiện về từ nguyên thể o Giai đoạn 2: chuyển các từ thuộc nhĩm từ đồng xuất hiện về từ nguyên thể Chƣơng 6: Kết quả thực nghiệm 35  Mỗi giai đoạn lại bao gồm hai lần phân lớp nghĩa cho các trƣờng hợp trong tập kiểm tra và so sánh với nghĩa đã đƣợc xác định từ trƣớc của mỗi trƣờng hợp từ. Từ đĩ đƣa ra tỉ lệ phần trăm phân lớp nghĩa đúng. o Lần 1: Chỉ sử dụng tập huấn luyện đã đƣợc chọn từ tập dữ liệu chuẩn để phân lớp nghĩa cho các trƣờng hợp trong các tập kiểm tra. o Lần 2: Sử dụng phƣơng pháp đã nêu để mở rộng tập huấn luyện đã chọn và tiến hành huấn luyện trên tập mở rộng mới đĩ. Sau đĩ lại kiểm tra tỉ lệ phần trăm chính xác bằng các tập kiểm tra. 6.2.2. Kết quả thực nghiệm Với từng từ, ta cĩ các kết quả thực nghiệm nhƣ sau: Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 46.7% 46.5% 2 x 12 29108 68.6% 64.3% 2 1 x 1 # 46.2% 46.3% 2 x x 11 29335 63.7% 63.1% Bảng 6: Kết quả thí nghiệm 1 của từ “line” Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 76.6% 75.6% 2 x 8 23830 75.7% 73.7% 2 1 x 1 # 77.5% 78.2% 2 x x 8 23709 78.5% 76.5% Bảng 7: Kết quả thí nghiệm 1 của từ “hard” Chƣơng 6: Kết quả thực nghiệm 36 Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 70.9% 69.3% 2 x 7 15532 76.4% 76.5% 2 1 x 1 # 72.9% 70.2% 2 x x 7 15674 78.2% 76.8% Bảng 8: Kết quả thí nghiệm 1 của từ “serve” Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 3.83% 5.78% 2 x 11 33953 70.2% 71.4% 2 1 x 1 # 4.26% 5.15% 2 x x 13 34366 73.6% 74% Bảng 9: Kết quả thí nghiệm 1 của từ “interest” 6.2.3. Nhận xét 6.2.3.1. Hiệu quả của việc mở rộng bộ dữ liệu Từ kết quả thí nghiệm trên, ta thấy hầu hết các trƣờng hợp đều cho thấy mức độ chính xác trong xử lý nhập nhằng nghĩa của các từ đang cần gán nghĩa tăng lên rõ rệt. Đặc biệt đáng ngạc nhiên trong trƣờng hợp thí nghiệm với từ “interest”. Mức tăng từ 65.62% đến 69.34% thật sự đáng ấn tƣợng. Mức tăng rõ ràng trong hầu hết các thí nghiệm là một kết quả đáng mừng, tuy vậy, riêng với trƣờng hợp từ “hard” ta lại ghi nhận đƣợc sự sụt giảm độ chính xác phân lớp nghĩa của từ khi sử dụng bộ dữ liệu mở rộng so với khi chỉ dùng lƣợng nhỏ dữ liệu huấn luyện ban đầu để huấn luyện cho bộ phân lớp. Điều này đặt ra một giả thiết đĩ là nếu dữ liệu huấn luyện ban đầu cung cấp càng nhiều thơng tin cho phép phân lớp chính xác thì đồng thời vai trị của dữ liệu mở rộng từ bộ dữ liệu văn bản chƣa gán nghĩa của từ cĩ thể cũng càng sụt giảm. Đến một mức nào đĩ, việc sử dụng dữ liệu huấn luyện mở rộng sẽ Chƣơng 6: Kết quả thực nghiệm 37 khơng cịn cĩ ý nghĩa, thậm chí cịn làm giảm độ chính xác của kết quả phân lớp nghĩa (nhƣ trƣờng hợp của từ “hard”). Tuy vậy, để cĩ thể khẳng định đƣợc nhận định này, ta cần tiến hành thêm thí nghiệm để kiểm chứng. 6.2.3.2. Hiệu quả của việc chuyển từ trong nhĩm từ đồng xuất hiện về dạng nguyên thể Các thí nghiệm trên cho thấy một mức tăng về độ chính xác tuy khơng nhiều lắm khi ta áp dụng kỹ thuật chuyển từ trong nhĩm từ đồng xuất hiện về dạng nguyên thể. Mức tăng chỉ vào khoảng 2 đến 3 % và trong một số trƣờng hợp cịn ghi nhận mức giảm nhẹ độ chính xác phân lớp nghĩa (từ line bảng 6). Đây là một kết quả thấp hơn mong đợi về mặt lý thuyết (nhƣ đã trình bày ở phần 3.3.2). Tuy vậy, dù chỉ tăng nhẹ nhƣng cũng chứng tỏ đƣợc rằng chuyển từ về dạng nguyên thể cũng đã phần nào giảm bớt đƣợc nhiễu và cải thiện đƣợc độ chính xác của quá trình phân lớp. Điều này khơng phải khơng cĩ ý nghĩa gì mà thực tế khi ta phải phân lớp nghĩa cho một số lƣợng lớn các trƣờng hợp xuất hiện của từ (ít nhất là trên 15000 trƣờng hợp nhƣ trong thí nghiệm này) thì mức tăng độ chính xác thêm 2 đến 3 % theo tơi cũng rất giá trị. 6.3. Thí nghiệm 2 Từ hiện tƣợng sụt giảm độ chính xác phân lớp khi sử dụng dữ liệu huấn luyện mở rộng so với khi sử dụng một lƣợng dữ liệu huấn luyện ban đầu của từ “hard” trong thí nghiệm 1, tơi tiến hành thí nghiệm 2 nhằm trả lời câu hỏi liệu khi vai trị của dữ liệu gán nhãn ban đầu tăng lên thì vai trị của dữ liệu mở rộng thu đƣợc từ phƣơng pháp mở rộng bộ dữ liệu cĩ bị giảm đi hay khơng. 6.3.1. Bố trí thí nghiệm Tơi loại trừ hai từ “hard” và “interest” là hai từ cĩ kết quả quá đặc biệt ở thí nghiệm 1 (từ “hard” ngay từ khi sử dụng dữ liệu huấn luyện ban đầu đã cĩ xác suất phân lớp nghĩa cao, cịn từ “interest” ngƣợc lại lại cĩ kết quả phân lớp nghĩa ban đầu quá thấp so với khi dùng dữ liệu mở rộng). Nhƣ vậy, chỉ cĩ hai từ “line” và “serve” đƣợc thử nghiệm trong thí nghiệm này. Để tăng dần vai trị của dữ liệu huấn luyện ban đầu, tơi tiến hành thí nghiệm tăng dần mức tỉ lệ số trƣờng hợp xuất hiện của từ trong tập huấn luyện so với tổng số các trƣờng hợp xuất hiện của từ trong bộ dữ liệu chuẩn đã gán nghĩa. Cụ thể các mức tăng là 0.1, 0.3, 0.5, 0.7 và 0.9. Đồng thời tơi giữ tỉ lệ số lƣợng các trƣờng hợp trong tập kiểm tra so với tổng số lƣợng các trƣờng hợp trong dữ liệu chuẩn cố định ở mức 0.1. Chƣơng 6: Kết quả thực nghiệm 38 Các tập huấn luyện và kiểm tra vẫn đƣợc chọn theo các tiêu chuẩn của thí nghiệm 1 tức là ngẫu nhiên, khơng cĩ trƣờng hợp cùng xuất hiện trong tập huấn luyện và tập kiểm tra và giữ đúng tỉ lệ giữa số lƣợng các trƣờng hợp mang các nghĩa của từ trong các tập huấn luyện và kiểm tra nhƣ trong tập dữ liệu chuẩn. 6.3.2. Kết quả thực nghiệm Kết quả thực nghiệm trong thí nghiệm 2 với hai từ “line” và “serve” đƣợc thể hiện trong 2 bảng sau: Tỉ lệ train:test Dữ liệu huấn luyện ban đầu Dữ liệu huấn luyện mở rộng Mức độ cải thiện độ chính xác 0.1:0.1 35.5% 49.4% 13.9% 0.3:0.1 47.4% 60.3% 12.9% 0.5:0.1 54.3% 68.4% 14.1% 0.7:0.1 57.4% 68.6% 11.2% 0.9:0.1 61.8% 69.8% 8% Bảng 10: Kết quả thí nghiệm 2 của từ “line” Tỉ lệ train:test Dữ liệu huấn luyện ban đầu Dữ liệu huấn luyện mở rộng Mức độ cải thiện độ chính xác 0.1:0.1 56.2% 69.5% 13.3% 0.3:0.1 66.7% 79.6% 12.9% 0.5:0.1 73.2% 79.1% 5.9% 0.7:0.1 74.3% 81.2% 6.9% 0.9:0.1 77.3% 82.3% 5% Bảng 11: Kết quả thí nghiệm 2 của từ “serve” 6.3.3. Nhận xét Từ các kết quả thí nghiệm trên, ta thấy rằng mức độ cải thiện độ chính xác phân lớp nghĩa của từ nhờ vào bộ dữ liệu mở rộng luơn cao nhất khi tập huấn luyện ban đầu cĩ số lƣợng trƣờng hợp xuất hiện của từ ít (tỉ lệ so với tồn bộ tập dữ liệu chuẩn là 0.1, 0.3, 0.5) Chƣơng 6: Kết quả thực nghiệm 39 và luơn thấp nhất khi tập huấn luyện ban đầu cĩ số lƣợng trƣờng hợp xuất hiện của từ là cao nhất (tỉ lệ 0.9). Nhƣ vậy ta cĩ thể kết luận rằng vai trị của bộ dữ liệu mở rộng dựa vào bộ dữ liệu văn bản chƣa gán nghĩa sẽ giảm đi khi lƣợng thơng tin cần thiết cho phân lớp nghĩa của từ trong dữ liệu huấn luyện ban đầu tăng lên. Chƣơng 7: Kết luận 40 Chƣơng 7: Kết luận 7.1. Các kết quả đạt đƣợc và hạn chế Qua quá trình nghiên cứu về phƣơng pháp mở rộng bộ dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ, nhận thấy đƣợc tầm quan trọng của việc xây dựng một cơng cụ hỗ trợ con ngƣời trong quá trình tạo nên các bộ dữ liệu lớn với cơng sức và thời gian bỏ ra là nhỏ nhất mà vẫn đạt đƣợc kết quả là một bộ dữ liệu tƣơng đối chính xác, việc nghiên cứu và xây dựng một bộ cơng cụ mở rộng bộ dữ liệu nghĩa của từ đã đƣợc tiến hành. Bộ cơng cụ tuy mới ở dạng sơ khai nhƣng đã chứng minh đƣợc rằng phƣơng pháp mở rộng tự động một bộ dữ liệu là cĩ cơ sở lý luận và thực tiễn. Từ đĩ gĩp phần thúc đẩy việc xây dựng một bộ cơng cụ hồn chỉnh trong tƣơng lai. Với vai trị của một bộ cơng cụ dành cho những nghiên cứu, khảo sát về phƣơng pháp mở rộng bộ dữ liệu. Bộ cơng cụ đã làm khá tốt nhiệm vụ của nĩ trong việc minh họa và chứng minh các kết quả bƣớc đầu của phƣơng pháp. Bộ cơng cụ cũng đã giúp phát hiện ra tiềm năng ứng dụng quá trình chuyển đổi về dạng từ nguyên thể vào bài tốn mở rộng bộ dữ liệu cũng nhƣ trong các bài tốn xử lý nhập nhằng nghĩa của từ. Tuy vậy, khơng thể phủ định rằng nghiên cứu về đề tài mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ vẫn cĩ những hạn chế. Hạn chế đầu tiên là về việc mới chỉ ứng dụng đƣợc bộ phân lớp Nạve Bayes vào trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng. Nạve Bayes là một bộ phân lớp tốt nhƣng nĩ cĩ thể khơng mạnh bằng một số bộ phân lớp khác ví dụ nhƣ Maximum Entropy, bằng chứng là trong nghiên cứu một số trƣờng hợp tỉ lệ phân lớp chính xác của nĩ là khơng cao dù đã đƣợc hỗ trợ bởi phƣơng pháp mở rộng bộ dữ liệu. Một yếu tố khác ảnh hƣởng tới độ chính xác của Naive Bayes (và do đo của cả hệ thống mở rộng dữ liệu huấn luyện) đĩ là việc chọn lựa các thuộc tính cịn ở mức đơn giản. Điều này dù là do khơng muốn tập trung quá vào vấn đề chọn lựa thuộc tính, vốn khơng phải vấn đề trọng tâm của đề tài nhƣng đây cũng thực sự là một hạn chế khơng thể bỏ qua. Chính những yếu tố này đã ảnh hƣởng tới độ chính xác của bộ dữ liệu đầu ra. Chƣơng 7: Kết luận 41 Một hạn chế nữa của khĩa luận này là chƣa nghiên cứu đƣợc phƣơng pháp cho phép tự động chọn ngƣỡng xác suất của một văn bản cũng nhƣ của cả bộ dữ liệu văn bản. Một quan sát thƣờng thấy trong thời gian đề tài khĩa luận này đƣợc nghiên cứu đĩ là tùy vào từng từ khác nhau, nếu chọn ngƣỡng thích hợp thì xác suất phân lớp nghĩa lên rất cao và ngƣợc lại. Tuy nhiên nếu chỉ thay đổi bằng cách nhập vào cố định từ đầu thì miền và số lần khảo sát đƣợc khơng cao. Do đĩ trong thí nghiệm tơi chỉ cố định các ngƣỡng tại các giá trị cho kết quả tƣơng đối cao với tất cả các từ thí nghiệm, cụ thể là: dừng vịng lặp khi mức thay đổi về số lƣợng các trƣờng hợp trong bộ dữ liệu đầu ra nhỏ hơn 50; các xác suất nhỏ hơn 0.7 lần xác suất lớn nhất của văn bản maxProbFile sẽ bị gán nghĩa bằng nghĩa của trƣờng hợp cĩ xác suất lớn nhất; và ngƣỡng loại bỏ các trƣờng hợp là nhỏ hơn 0.7 lần xác suất lớn nhất của tồn bộ bộ dữ liệu. Kết quả của đề tài khĩa luận tuy cịn những hạn chế nhất định nhƣ đã trình bày ở trên nhƣng nĩ cũng cĩ ý nghĩa nhƣ một bƣớc kiểm chứng đầu tiên trên con đƣờng xây dựng một cơng cụ mở rộng dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ hồn chỉnh. Hơn thế nữa, qua quá trình nghiên cứu đề tài khĩa luận này, tơi đã đƣợc va chạm, nghiên cứu một vấn đề cụ thể trong thực tế và đã đúc rút đƣợc nhiều kinh nghiệm quý báu, làm nền tảng cho tơi trong cơng tác và nghiên cứu sau này. 7.2. Các cơng việc trong tƣơng lai Tơi dự định tiếp tục nghiên cứu sâu hơn và hồn thiện thêm đề tài khĩa luận này, đặc biệt là trong việc khắc phục những hạn chế nhƣ đã nêu ở phần trên. Cụ thể tơi sẽ tiếp tục nghiên cứu cách thức áp dụng các bộ phân lớp khác vào phƣơng pháp mở rộng bộ dữ liệu cho xử lý nhập nhằng nghĩa của từ, và nghiên cứu sâu hơn về cách thức lựa chọn thuộc tính cho các bài tốn xử lý nhập nhằng nghĩa của từ nĩi chung và của phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa nĩi riêng. Ngồi ra, tơi cũng muốn nghiên cứu cụ thể về cách thức chọn ngƣỡng tự động một cách hiệu quả cho bài tốn này. Tơi hy vọng trong một tƣơng lai khơng xa nữa tơi cĩ thể hồn thiện và đƣa vào sử dụng thực tế một bộ cơng cụ mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ, gĩp phần nhỏ thúc đẩy thêm sự phát triển của các vấn đề khác trong xử lý ngơn ngữ tự nhiên mà đặc biệt là bài tốn dịch máy tự động và từ đĩ, đƣợc đĩng gĩp cơng sức nhỏ bé của mình để xĩa bỏ một phần nào rào cản ngơn ngữ giữa ngƣời dân các nƣớc trên thế giới nĩi chung và giữa ngƣời dân Việt Nam với thế giới nĩi riêng. Chƣơng 7: Kết luận 42 Tài liệu tham khảo [1] Agirre, Eneko; Edmonds, Philip; Word Sense Disambiguation: Algorithms and Applications; Springer, 2006. [2] Bird, Steven; Klein, Ewan; Loper, Edward; Natural Language Processing with Python; O‟Reilly Media, 2009. [3] Duda, Richar O; Hart, Peter E; Stork, David G; Pattern Classifiation Second Edition; Wiley. [4] Gale, William A; Church, Kenneth W; Yakowsky, David; One Sense Per Discourse; AT&T Bell Laboratories, 1992. [5] Jurafsy, Daniel; Martin, James H; Speech and Language Processing; Draft of June 25, 2007. [6] Yakowsky, David; One Sense Per Collocation; Department of Computer and Information Science, University of Pennsylvania, 1993. [7] Yakowsky, David; Unsupervised Word Sense Disambiguation Rivaling Supervised Methods; Department of Computer and Information Science, University of Pennsylvania. [8] http:// [9] _and_knowledge-based_methods [10]

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-MỞ RỘNG BỘ DỮ LIỆU HUẤN LUYỆN CHO QUÁ TRÌNH XỬ LÝ NHẬP NHẰNG NGHĨA CỦA TỪ.pdf