Tải bản đầy đủ (.pdf) (51 trang)

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ừ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (772.15 KB, 51 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ


Vũ Minh Đức


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Ừ







KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin


HÀ NỘI - 2010






ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ




Vũ Minh Đức


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Ừ






KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin

Cán bộ hƣớng dẫn: Tiến sĩ Nguyễn Phƣơng Thái


HÀ NỘI - 2010






Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
i

LỜI CẢM ƠN


Lời đầu tiên, tôi xin bày tỏ lòng biết ơn chân thành đến các thầy cô giáo trƣờng Đại
học Công Nghệ, Đại học Quốc Gia Hà Nội nói chung và các thầy cô trong bộ môn Khoa
học Máy Tính nói riêng. Trong suốt bốn năm học tập trong trƣờng, các thầy cô không
những tận tình truyền đạt kiến thức mà còn luôn động viên giúp đỡ tôi trong học tập cũng
nhƣ trong cuộc sống.
Đặc biệt, tôi muốn gửi lời cảm ơn sâu sắc đến thầy giáo, tiến sĩ Nguyễn Phƣơng
Thái, ngƣời đã tận tình chỉ bảo, hƣớng dẫn tôi trong suốt quá trình nghiên cứu và hoàn
thiện khóa luận tốt nghiệp.
Tôi cũng xin cảm ơn các bạn sinh viên K51, đã luôn cùng tôi nghiên cứu và học tập,
đã cho tôi những ý kiến đóng góp giá trị trong suốt thời gian học tập cũng nhƣ trong quá
trình nghiên cứu đề tài khóa luận tốt nghiệp.
Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc đến gia đình và bạn bè, những ngƣời luôn
động viên giúp đỡ tôi vƣợt qua những khó khăn trong cuộc sống.
Hà Nội, ngày 21 tháng 5 năm 2010
Sinh viên
Vũ Minh Đức
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
ii


TÓM TẮT KHÓA LUẬN

Trong các chủ đề thuộc lĩnh vực xử lý ngôn ngữ tự nhiên, xử lý nhập nhằng nghĩa
của từ là một chủ đề dành đƣợc nhiều sự quan tâm chú ý của những nhà nghiên cứu, phát
triển, ứng dụng khoa học máy tính. Lý do là mặc dù nếu đứng một mình, xử lý nhập
nhằng nghĩa của từ ít đem lại lợi ích cụ thể trong đời sống hàng ngày, nhƣng nó lại có một
vai trò quan trọng trong nhiều ứng dụng xử lý ngôn ngữ tự nhiên hữu ích khác nhƣ dịch
máy, tìm kiếm thông tin, khai phá dữ liệu, … Do vậy đã có rất nhiều cách tiếp cận để giải
quyết vấn đề xử lý nhập nhằng nghĩa của từ đƣợc đƣa ra nhƣ sử dụng bộ cở sở tri thức, áp

dụng các luật để xử lý nhập nhằng, hoặc sử dụng các thuật toán học máy có giám sát để
phân lớp nghĩa của từ … Trong tất cả các cách tiếp cận trên, lớp phƣơng pháp dựa vào
các thuật toán học máy có giám sát tỏ ra là có đƣợc một kết quả xử lý nhập nhằng tốt
nhất. Tuy vậy lớp phƣơng pháp này có một nhƣợc điểm đó là yêu cầu một bộ dữ liệu huấn
luyện (thƣờng là lớn) các trƣờng hợp xuất hiện của từ đã đƣợc gán nhãn nghĩa sẵn. Nếu
phải chuẩn bị bộ dữ liệu huấn luyện này một cách thủ công thì ta phải tốn rất nhiều công
sức, thời gian và chi phí do vậy tìm kiếm một giải pháp cho phép tự động hóa giai đoạn
này là một nhu cầu thực tế. Nắm bắt đƣợc nhu cầu trên, đề tài khóa luận của tôi đƣợc thực
hiện nhằm mục đích tìm hiểu phƣơng pháp xây dựng một hệ thống xử lý nhập nhằng
nghĩa của từ, đóng vai trò nhƣ một công cụ cho phép mở rộng bộ dữ liệu nhỏ đã gán
nghĩa cho các trƣờng hợp xuất hiện của từ đang cần mở rộng dữ liệu huấn luyện thành
một bộ dữ liệu huấn luyện đủ lớn nhƣng chỉ đòi hỏi rất ít công sức của con ngƣời, hỗ trợ
cho quá trình xử lý nhập nhằng nghĩa của những từ mang nội dung trong ngôn ngữ tự
nhiên.
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
iii


MỤC LỤC

LỜI CẢM ƠN i
TÓM TẮT KHÓA LUẬN ii
MỤC LỤC iii
DANH MỤC HÌNH VẼ vi
DANH MỤC BẢNG BIỂU vii
Chƣơng 1: Mở đầu 1
1.1. Đặt vấn đề 1
1.2. Mục tiêu đề tài 2
1.3. Đối tƣợng và phƣơng pháp nghiên cứu 3
1.4. Cấu trúc khóa luận 5

Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa
của từ 7
2.1. Một nghĩa trong một nhóm từ đồng xuất hiện 7
2.2. Một nghĩa trong một văn bản 8
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng 10
3.1. Thuật toán học máy có giám sát Naive Bayes 10
3.1.1. Giới thiệu về Naïve Bayes 10
3.1.2. Ƣớc lƣợng xác suất 11
3.2. Thuật toán mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ 13
3.2.1. Giới thiệu 13
3.2.2. Các bƣớc của thuật toán 14
3.3. Lựa chọn từ cho nhóm từ đồng xuất hiện trên quan điểm lý thuyết 18
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 19
3.3.2. Xử lý từ trong nhóm từ đồng xuất hiện 19
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
iv

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
20
Chƣơng 4: Cấu trúc và định dạng của dữ liệu 22
4.1. Dữ liệu đầu vào 22
4.1.1. Dữ liệu chuẩn đã gán nghĩa 22
4.1.2. Dữ liệu chƣa gán nghĩa – BNC 23
4.2. Dữ liệu sử dụng trong quá trình chạy chƣơng trình 25
4.3. Định dạng file kết quả thực nghiệm 25
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
5.1. Bộ công cụ NLTK 27
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ừ. 27

5.2.1. Các công cụ chuẩn bị dữ liệu 28
5.2.2. Hàm công cụ test 29
5.2.3. Các hàm phân lớp và mở rộng bộ dữ liệu 30
5.2.4. Các hàm công cụ khác 31
Chƣơng 6: Kết quả thực nghiệm 32
6.1. Dữ liệu thực nghiệm 32
6.2. Thí nghiệm 1 34
6.2.1. Bố trí thí nghiệm 34
6.2.2. Kết quả thực nghiệm 35
6.2.3. Nhận xét 36
6.3. Thí nghiệm 2 37
6.3.1. Bố trí thí nghiệm 37
6.3.2. Kết quả thực nghiệm 38
6.3.3. Nhận xét 38
Chƣơng 7: Kết luận 40
7.1. Các kết quả đạt đƣợc và hạn chế 40
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
v

7.2. Các công việc trong tƣơng lai 41
Tài liệu tham khảo 42

Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
vi


DANH MỤC HÌNH VẼ

Hình 1: Sơ đồ các dữ liệu và công cụ sử dụng trong nghiên cứu, khảo sát phƣơng pháp
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ừ 4

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ừ 15


Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
vii


DANH MỤC BẢNG BIỂU

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 32
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 33
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 33
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 33
Bảng 5: Số lƣợng các từ “line”, “hard”, “serve”, “interest” trong BNC 34
Bảng 6: Kết quả thí nghiệm 1 của từ “line” 35
Bảng 7: Kết quả thí nghiệm 1 của từ “hard” 35
Bảng 8: Kết quả thí nghiệm 1 của từ “serve” 36
Bảng 9: Kết quả thí nghiệm 1 của từ “interest” 36
Bảng 10: Kết quả thí nghiệm 2 của từ “line” 38
Bảng 11: Kết quả thí nghiệm 2 của từ “serve” 38

Chƣơng 1: Mở đầu
1

Chƣơng 1: Mở đầu

1.1. Đặt vấn đề
Xử lý nhập nhằng nghĩa của từ là một trong những vấn đề đƣợc rất nhiều nhà nghiên
cứu trong lĩnh vực xử lý ngôn ngữ tự nhiên quan tâm đến. Vấn đề này đƣợc nêu lên nhƣ

một bài toán riêng biệt lần đầu tiên là vào những năm cuối thập kỷ 40 của thế kỷ 20 và
đƣợc coi nhƣ là một trong những vấn đề lâu đời nhất của lĩnh vực xử lý ngôn ngữ tự
nhiên [1]. Nhận đƣợc nhiều sự quan tâm và từ sớm nhƣ vậy là do xử lý nhập nhằng nghĩa
của từ đóng vai trò quan trọng trong rất nhiều các bài toán khác của xử lý ngôn ngữ tự
nhiên. Ta có thể lấy ví dụ nhƣ trong dịch máy, hệ xử lý nhập nhằng nghĩa của từ làm
nhiệm vụ chọn đúng từ trong ngôn ngữ đích cho những từ trong ngôn ngữ gốc có các cách
dịch sang ngôn ngữ đích là khác nhau với các nghĩa khác nhau [1]. Ngoài ra ta có thể thấy
sự xuất hiện của hệ xử lý nhập nhằng nghĩa của từ trong các hệ thống tìm kiếm thông tin,
khai phá dữ liệu và rất nhiều các ứng dụng hữu ích khác.
Đƣợc quan tâm nhƣ vậy nên ta có thể thấy rất nhiều các phƣơng pháp xử lý nhập
nhằng nghĩa của từ đã đƣợc các nhà nghiên cứu đề xuất. Phƣơng pháp đầu tiên cần nói tới
là phƣơng pháp sử dụng bộ cở sở tri thức để xử lý nhập nhằng nghĩa của từ. Nó không
dùng đến các yếu tố trong văn bản mà hoàn toàn căn cứ vào bộ cơ sở tri thức có sẵn [1].
Điểm yếu của phƣơng pháp này là bộ cơ sở tri thức thƣờng sẽ rất lớn, hơn nữa với sự
phức tạp của ngôn ngữ tự nhiên thì việc dùng các luật để xử lý nhập nhằng cũng chỉ đạt
đƣợc độ chính xác có giới hạn.
Phƣơng pháp dùng các thuật toán không giám sát cũng đang là một hƣớng đi rất
đƣợc chú ý để giải quyết bài toán xử lý nhập nhằng nghĩa của từ. Nó sẽ phân cụm các
trƣờng hợp xuất hiện của từ trong văn bản và từ đó đƣa ra nghĩa của từ [9]. Phƣơng pháp
này có thể là một phƣơng pháp có nhiều cải tiến và hy vọng phát triển trong tƣơng lai tuy
nhiên trong hiện tại nó vẫn chƣa phải phƣơng pháp có độ chính xác cao nhất.
Phƣơng pháp có độ chính xác phân lớp nghĩa của từ cao nhất trong thời điểm hiện
tại vẫn là phƣơng pháp sử dụng các thuật toán học máy có giám sát [9]. Phƣơng pháp này
dựa vào giả thiết rằng văn cảnh xung quanh cho ta đủ cơ sở để có thể kết luận chính xác
Chƣơng 1: Mở đầu
2

nghĩa của một từ [1]. Và do sử dụng các hàm phân lớp dựa trên các thuật toán học có
giám sát, nó đòi hỏi phải có một bộ dữ liệu huấn luyện gồm các trƣờng hợp xuất hiện của
từ đã đƣợc gán nghĩa trƣớc để huấn luyện cho các hàm phân lớp này. Bộ dữ liệu huấn

luyện càng lớn thì khả năng gán nghĩa chính xác cho từ đang cần xử lý nhập nhằng nghĩa
của các hàm phân lớp sau quá trình huấn luyện sẽ càng cao. Tuy vậy, việc phải chuẩn bị
trƣớc bộ dữ liệu huấn luyện lớn là một điểm trừ của phƣơng pháp này, đặc biệt nếu công
việc chuẩn bị dữ liệu phải làm thủ công. Đó thực sự sẽ là một công việc rất nặng nhọc, tốn
rất nhiều thời gian, công sức và có chi phí cao. Từ đó phát sinh nhu cầu phải có một
phƣơng pháp cho phép con ngƣời chỉ cần gán nghĩa thủ công cho một số lƣợng nhỏ các
trƣờng hợp xuất hiện của từ mà đầu ra là một bộ dữ liệu đủ lớn, đủ chính xác để huấn
luyện các hàm phân lớp xử lý nhập nhằng nghĩa của từ. Để đạt đƣợc các yêu cầu đó,
phƣơng pháp này chỉ có thể đƣợc xây dựng dựa vào sức mạnh tự động của máy tính, tức
là, sử dụng máy tính để mở rộng tự động bộ dữ liệu huấn luyện cho quá trình xử lý nhập
nhằng nghĩa của từ.
Nói đến bài toán xử lý nhập nhằng nghĩa của từ thì ta có xử lý nhập nhằng nghĩa cho
những từ mang nội dung (của câu, của văn bản) và cho những từ chức năng (tức là những
từ xuất hiện do yêu cầu về mặt ngữ pháp của ngôn ngữ tự nhiên). Với các từ chức năng
(nhƣ “to”, “from”, “in”, ) ta có thể sử dụng các luật ngữ pháp hay nhiều yếu tố khác để
xác định nghĩa của từ. Tuy nhiên trong giới hạn của khóa luận này, ta chỉ xét đến các từ
có chứa nội dung (nhƣ “line”, “interest”, “hard”, “serve”, ).
1.2. Mục tiêu đề tài
Những vấn đề đã nêu ở trên cho ta thấy đƣợc sự cần thiết của việc nghiên cứu, xây
dựng một công cụ hỗ trợ mở rộng bộ dữ liệu huấn luyện xử lý nhập nhằng nghĩa của từ
(mang nội dung) một cách tự động. Yêu cầu chính của công cụ này là hỗ trợ những ngƣời
chuẩn bị dữ liệu xử lý nhập nhằng nghĩa của từ sao cho họ bỏ ra công sức nhỏ nhất, thời
gian ngắn nhất nhƣng thu đƣợc về một bộ dữ liệu lớn, chính xác, có khả năng sửa lỗi một
phần những sai sót trong quá trình gán nghĩa cho từ trong bộ dữ liệu.
Từ yêu cầu thực tế đó, mục tiêu của đề tài khóa luận là trình bày một thuật toán bán
giám sát xử lý nhập nhằng nghĩa của từ đóng vai trò nhƣ một hệ thống mở rộng bộ dữ liệu
xử lý nhập nhằng nghĩa của từ một cách tự động, do đó con ngƣời chỉ cần chuẩn bị một
lƣợng dữ liệu nhỏ đƣợc gán nghĩa cho các trƣờng hợp xuất hiện của từ đang cần gán
Chƣơng 1: Mở đầu
3


nghĩa cùng với một bộ dữ liệu chƣa gán nghĩa từ, ta sử dụng phƣơng pháp này để mở
rộng bộ dữ liệu gán nghĩa ra một cách tự động, cuối cùng thu đƣợc một bộ dữ liệu mới
lớn hơn nhiều lần đồng thời có độ chính xác đủ tốt, và có khả năng sửa một phần lỗi có
thể có trong dữ liệu gán nghĩa ban đầu.
1.3. Đối tƣợng và phƣơng pháp nghiên cứu
Đối tƣợng nghiên cứu của khóa luận là cách thức áp dụng những đặc tính của từ
trong ngôn ngữ tự nhiên vào quá trình mở rộng tự động bộ dữ liệu nghĩa của từ (mang nội
dung).
Phƣơng pháp nghiên cứu là dựa vào bộ công cụ xử lý ngôn ngữ tự nhiên (nltk) có
sẵn để xây dựng một bộ công cụ cho phép đƣa ra, khảo sát, và khẳng định đƣợc một cách
thức cụ thể để mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ. Trong khóa luận, tiếng
Anh đƣợc lấy làm ví dụ do tiếng Anh đƣợc coi là một ngôn ngữ quốc tế, nhu cầu dịch từ
tiếng Anh ra các ngôn ngữ khác và ngƣợc lại là khá cao. Tuy vậy, phƣơng pháp đƣợc
trình bày có thể áp dụng cho các ngôn ngữ khác ngoài tiếng Anh.
Chƣơng 1: Mở đầu
4


Hình 1: Sơ đồ các dữ liệu và công cụ sử dụng trong nghiên cứu, khảo sát phương pháp
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ừ

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
nltk.classify.naivebayes
Bộ dữ liệu văn
bản

Chuẩn bị dữ
liệu (liệt kê,
định dạng)
Công cụ tự xd
Phân lớp nghĩa
nltk.classify.naivebayes
Dữ liệu chuẩn
chƣa định dạng
Công cụ tự xd
Gán lại nghĩa trong cùng
văn bản, loại bỏ trƣờng
hợp có xác suất thấp
Công cụ tự xây dựng
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)
Điều kiện dừng
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
Dữ liệu gán
nghĩa ban
đầu của từ

đang xét
Chƣơng 1: Mở đầu
5

1.4. Cấu trúc khóa luận
Khóa luận đƣợc tổ chức thành các chƣơng nhƣ sau:
 Chƣơng 1: Mở đầu
Chƣơng này nhằm nêu bật sự cần thiết, ý nghĩa thực tiễn, đối tƣợng, phƣơng
pháp nghiên cứu, mục tiêu của đề tài phƣơng pháp tự động 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ừ.
 Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập
nhằng nghĩa của từ
Chƣơng này chỉ ra những đặc tính của từ liên quan đến nghĩa của nó, giúp ích
cho quá trình mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ một cách tự động.
 Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập
nhằng nghĩa của từ
Chƣơng này nêu lên các thuật toán học máy có giám sát và bán giám sát đƣợc
áp dụng trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ đặc
biệt là khi chỉ có một lƣợng nhỏ dữ liệu huấn luyện ban đầu. Đồng thời, dựa trên lý
thuyết của các thuật toán đã nêu để xem xét đến cách thức lựa chọn và chuyển đổi
những từ thuộc nhóm từ đồng xuất hiện của từ đang cần gán nghĩa thành các thuộc
tính sử dụng cho quá trình phân lớp nghĩa của từ đó.
 Chƣơng 4: Cấu trúc và định dạng của dữ liệu
Chƣơng này giới thiệu định dạng dữ liệu chuẩn dùng để huấn luyện và kiểm
thử bộ xử lý nhập nhằng nghĩa của từ và bộ dữ liệu không gán nhãn dùng cho quá
trình mở rộng tự động bộ dữ liệu huấn luyện chuẩn ban đầu.
 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
Chƣơng này giới thiệu sơ lƣợc về công cụ đƣợc sử dụng để nghiên cứu, 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ừ.

 Chƣơng 6: Kết quả thực nghiệm
Chƣơng 1: Mở đầu
6

Chƣơng này nêu kết quả thực nghiệm. So sánh kết quả khi chỉ dùng dữ liệu
huấn luyện ban đầu và sau khi đã mở rộng đƣợc bộ dữ liệu huấn luyện. Ngoài ra,
chƣơng này còn so sánh kết quả thực nghiệm khi thay đổi một vài lựa chọn về từ
trong nhóm từ đồng xuất hiện với từ đang cần xử lý nhập nhằng hoặc khi thay đổi
số lƣợng các trƣờng hợp xuất hiện của từ trong bộ dữ liệu huấn luyện ban đầu.
Chƣơng 7: Kết luận
Chƣơng này nêu lên và đánh giá những kết quả đã đạt đƣợc, đồng thời đƣa ra
những công việc cần làm trong tƣơng lai để cải tiến mở rộng thêm phƣơng pháp tự
động mở rộng bộ dữ liệu huấn luyện xử lý nhập nhằng nghĩa của từ.
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ
7

Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử
lý nhập nhằng nghĩa của từ

Đặc tính của từ trong ngôn ngữ tự nhiên có rất nhiều. Tuy nhiên ta chỉ quan tâm đến
hai đặc tính giúp ích cho vấn đề mở rộng bộ dữ liệu xử lý nhập nhằng đó là:
 Một nghĩa trong một nhóm từ đồng xuất hiện: Một từ thƣờng chỉ mang một
nghĩa khi xét trong trƣờng hợp nó đi kèm với cùng các từ giống nhau dù trong các câu
khác nhau.
 Một nghĩa trong một văn bản: tức là một từ thƣờng có xu hƣớng mang một
nghĩa trong một văn bản. Rất hiếm trƣờng hợp có từ mang hai hay nhiều nghĩa trong cùng
một văn bản.
Đƣơng nhiên nhƣ đã nói ở trên, hiện tại ta đang chỉ xét đến những từ mang nội
dung, còn những từ chức năng nằm ngoài phạm vi nghiên cứu của khóa luận này.
2.1. Một nghĩa trong một nhóm từ đồng xuất hiện

Một từ có thể có nhiều nghĩa và nghĩa của nó lại phụ thuộc vào văn cảnh mà nó
đƣợc xét. Những từ xung quanh một từ chính là những từ tạo ra văn cảnh cho từ đó.
Chính vì vậy, dù trong hai câu khác nhau, từ vẫn thƣờng có cùng một nghĩa khi cùng đi
kèm với các từ đồng thời xuất hiện trên cả hai câu đó. Nhƣ vậy, đầu mối cho phép ta xác
định nghĩa của từ đang cần xử lý nhập nhằng nghía chính là những từ xung quanh nó.
Đặc tính một nghĩa trong một nhóm từ đồng xuất hiện nêu ở trên đã đƣợc
Yarowsky[6] khảo sát và đánh giá. Tác giả này nghiên cứu trên một tập văn bản 380 triệu
từ bao gồm rất nhiều nguồn và kết quả là độ chính xác trung bình của đặc tính một nghĩa
trong một nhóm từ đồng xuất hiện ở vào khoảng 95%. Tuy vậy, theo Yakowsky, đặc tính
này phụ thuộc vào loại nhóm từ đồng xuất hiện. Nó là một đặc tính rất mạnh khi các từ ta
căn cứ vào nằm liền kề và theo thứ tự với từ đang cần gán nghĩa, tuy nhiên nó bị giảm dần
tính đúng đắn theo khoảng cách. Loại từ ta căn cứ vào là loại từ mang nội dung hay không
cũng là một điểm chú ý. Cụ thể là theo nghiên cứu của Yarowsky, độ chính xác của đặc
tính một nghĩa trên một nhóm từ đồng xuất hiện đạt đến trên 97% đối với những nhóm từ
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ
8

đồng xuất hiện mà những từ của nó gần kề, theo thứ tự với từ đang cần gán nghĩa và là
những từ mang nội dung.
Từ những nhận xét rút ra từ nghiên cứu của Yakowsky, ta thấy rằng để áp dụng hiệu
quả đƣợc đặc tính một nghĩa trong một nhóm từ đồng xuất hiện ta cần phải giải quyết
đƣợc vấn đề là làm sao để chọn đƣợc các từ có giá trị nhất và sử dụng cách thức nào để
chuyển đổi chúng thành các thuộc tính sử dụng trong việc phân lớp nghĩa cho từ ta đang
cần gán nghĩa.
2.2. Một nghĩa trong một văn bản
Một từ thƣờng thống nhất về nghĩa trong cùng một văn bản. Đặc tính này đƣợc
nghiên cứu và đánh giá bởi Gale, Church và Yakowsky [4]. Các tác giả này tiến hành thử
nghiệm bằng cách chọn ngẫu nhiên từ bộ sách giáo khóa của Grolier (Grolier‟s
Encyclopedia) một bộ 82 cặp nhóm từ cùng xuất hiện cho chín từ đa nghĩa là “antenna”,
“campain”, “deposit”, “drum”, “hull”, “interior”, “knife”, “landscape”, và “marine”.

Trong đó 54 cặp đƣợc chọn cùng trong một văn bản. Họ kết luận đƣợc là 94% những cặp
của những từ đa nghĩa này chọn từ cùng một văn bản là có cùng một nghĩa. Với một bộ
văn bản khác là bộ văn bản Brown (Brown Corpus), các từ “antenna”, “drum”, “hull” và
“knife” bị loại bỏ vì chỉ có một nghĩa trong bộ văn bản này. Tuy vậy với 108 cặp nhóm từ
cùng xuất hiện của các từ còn lại nhƣ trong thử nghiệm trƣớc đó, các tác giả đã tiến hành
thực nghiệm để khẳng định thêm đặc tính một nghĩa trên một văn bản. Kết quả là 96% các
cặp này có cùng một nghĩa. Cuối cùng Gale, Church và Yakowsky kết luận đƣợc rằng đặc
tính một nghĩa trong một văn bản là chính xác. Tuy nhiên đặc tính này không mạnh bằng
đặc tính một nghĩa trong một nhóm từ đồng xuất hiện. Tức là nó có thể bị bỏ qua nếu các
từ xung quanh, cùng xuất hiện với từ đang cần gán nghĩa cho ta một khẳng định đủ mạnh
về nghĩa của từ (xác suất xác định dựa vào các yếu tố địa phƣơng lớn hơn một ngƣỡng
nào đó)[7].
Dù có độ ƣu tiên thấp hơn đặc tính một nghĩa trên một nhóm từ đồng xuất hiện
nhƣng đặc tính một nghĩa trong một văn bản có vai trò và tính chất mang tính quyết định
trong quá trình gán nghĩa tự động cho một bộ dữ liệu chƣa gán nghĩa. Cụ thể là nó cho
phép mở rộng bộ dữ liệu gán nghĩa ban đầu thành một bộ dữ liệu rất lớn nhờ vào việc áp
dụng tính chất toàn cục của văn bản mà chỉ dựa vào một số dữ liệu cục bộ đƣợc cung cấp
ban đầu là các trƣờng hợp xuất hiện đã đƣợc gán thủ công trƣớc với các nghĩa của từ đang
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ
9

cần gán nghĩa. Hơn nữa, đặc tính này còn cho phép sửa lỗi có trong các dữ liệu ban đầu
hoặc phát sinh trong quá trình tự động bị gán nghĩa sai. Chi tiết cách thức ứng dụng đặc
tính này trong 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ừ sẽ đƣợc trình bày trong phần thuật toán (chƣơng 3) của khóa luận.
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
10

Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu
xử lý nhập nhằng

3.1. Thuật toán học máy có giám sát Naive Bayes
3.1.1. Giới thiệu về Naïve Bayes
Naive Bayes là một thuật toán phân lớp đơn giản nhƣng hiệu quả. Nó cho phép gán
trực tiếp một nhãn lớp c (ở đây là một nghĩa của từ) từ một tập thuộc tính đầu vào với giả
thiết là các thuộc tính trong tập thuộc tính là độc lập với nhau. Tức là xác suất đồng thời
của chúng bằng tổng các xác suất của từng thuộc tính:



1,

2
, , 


=

(

)

=1
(1)
Để gán nhãn cho một tập các thuộc tính đầu vào, Naive Bayes sẽ xác định xác suất
hậu nghiệm của nhãn lớp c và bộ thuộc tính đầu vào F. Xác suất này theo công thức
Bayes đƣợc tính nhƣ sau
(|) = 




(
1 ,

2 ,


)

=




((
1 ,

2 ,


) |)
(
1 ,

2 ,


)
(2)
Nhƣ vậy, đầu tiên ta cần tính xác suất tiên nghiệm của lớp (). Xác suất này đƣợc
xác định dựa vào các dữ liệu huấn luyện ban đầu. Nếu theo lý thuyết ta có thể tính:





=
()

(3)
Với count(c) là số các trƣờng hợp c đƣợc gán nhãn trong bộ dữ liệu huấn luyện và N
là số nhãn lớp.
Sau khi đã có đƣợc xác suất tiên nghiệm (), ta cần xác định hai xác suất còn lại:






= 


1
, 
2
, , 



) (4)





= 


1
, 
2
, , 


(5)
Nếu theo hai công thức trên thì việc tính toán hai xác suất này trong thực tế là rất
khó. Tuy vậy, theo giả thiết của Naive Bayes về tính độc lập của các thuộc tính, ta có:






= 


1







2










(6)
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
11





= 


1




2







(7)
Khi này việc tính các xác suất 





và () trở nên dễ dàng với việc tính từng
xác suất nhỏ (

|) và (

).
Sau quá trình huấn luyện, ta đã xác định đƣợc hết các xác suất tiên nghiệm (), các
xác suất của các thuộc tính (

) và (

|). Lúc này, nếu đƣa vào một bộ thuộc tính F,
hàm phần lớp Naive Bayes sẽ tính xác suất hậu nghiệm của tất cả các lớp đã đƣợc tính
bằng công thức (2) nhƣ đã trình bày ở trên. Lớp nào có xác suất cao nhất thì sẽ đƣợc chọn
làm nhãn gán cho tập thuộc tính đầu vào F.
Áp dụng trong bài toán xử lý nhập nhằng nghĩa của từ A đang xét, thì ta có c là một
nghĩa thuộc C là tập các nghĩa của từ A. Các f chính là các thuộc tính chuyển hóa từ các
từ thuộc nhóm từ đồng xuất hiện với A.
Giả thiết về sự độc lập của các thuộc tính, ngoài việc làm cho việc tính các xác suất

trở nên đơn giản, còn có một lợi ích khác. Cụ thể Naive Bayes chống lại khá tốt hiện
tƣợng một nhãn lớp do có quá nhiều trong bộ dữ liệu huấn luyện (() lớn) mà có lợi thế
hơn trong quá trình phân lớp. Ta lấy ví dụ, nếu thuộc tính f xuất hiện trong nhóm các
thuộc tính phân lớp từ A với tần xuất trong nghĩa c
1
là 20%, nghĩa c
2
là 12%, nghĩa c
3

7%. Nhƣ vậy, giả sử dù nghĩa c
3
có xác suất xuất hiện lớn hơn c
1
tuy nhiên xác suất hậu
nghiệm của c
3
sẽ phải nhân với 0.07 còn c
1
sẽ chỉ phải nhân với 0.2. Từ đó có khả năng
trƣờng hợp xuất hiện đó của A vẫn đƣợc gán nhãn là c
1
.
3.1.2. Ƣớc lƣợng xác suất
Mặc dù việc tính các xác suất nhƣ trong công thức (3), (6) và (7) khá đơn giản và
thuận tiện tuy vậy đó lại không phải là một lựa chọn tốt trong thực tế. Ta hay xem xét
công thức (3). Công thức này sẽ tính rất chính xác trong điều kiện ta có một tập huấn
luyện có đầy đủ các nghĩa và các nghĩa có tỉ lệ hoàn toàn giống trong thực tế. Tuy nhiên
điều này gần nhƣ là không thể có đƣợc. Vì vậy có thể xảy ra hai trƣờng hợp sau:
 Tập huấn luyện thiếu một nghĩa trong thực tế:

Điều này hoàn toàn có thể xảy ra vì việc thu thập mẫu trong thực tế không thể
hoàn toàn đầy đủ đƣợc và trong trƣờng hợp này giả sử nghĩa còn thiếu là nghĩa c‟,
nhƣ vậy theo công thức (3) ta có xác suất của nghĩa c‟ là:





=
(

)

= 0
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
12

Tức là nếu hàm phân lớp của ta gặp một trƣờng hợp trong thực tế có nghĩa c‟
thì theo công thức (3) và công thức (1), xác suất của nó theo hàm phân lớp sẽ bằng
0, sẽ không có một trƣờng hợp nào đƣợc gán nghĩa c‟ cả.
 Tập huấn luyện chỉ có một nghĩa:
Điều này ít xảy ra nhƣng không phải là không có. Khi đó theo công thức (3)
xác suất của nghĩa đó sẽ bằng 1. Điều này đƣơng nhiên không đúng với thực tế.
Việc tính các xác suất trong các công thức (6) và (7) cũng gặp vấn đề gần tƣơng tự.
Để giải quyết một phần các trƣờng hợp này ngƣời ta đề xuất các biện pháp làm mịn khác
nhau. Các phƣơng pháp này không thể giúp tính toán hoàn toàn chính xác các xác suất
nhƣng chúng cho phép loại bỏ các trƣờng hợp xác suất bằng 0 hoặc bằng 1.
Sau đây là các phƣơng pháp làm mịn đƣợc mô tả cụ thể để giải quyết các vấn đề gặp
phải với công thức (3). Những vấn đề trong việc tính các xác suất trong các công thức (6)
và (7) có thể đƣợc giải quyết một cách tƣơng tự.

3.1.2.1. Ước lượng Laplace
Ƣớc lƣợng Laplace là một trong những ƣớc lƣợng xác suất đơn giản nhất. Nó giả sử
rằng mọi trƣờng hợp đều đã xảy ra ít nhất một lần.




=
() + 1
 + 

Trong đó N là số các trƣờng hợp trong tập huấn luyện và B là số các nghĩa có thể có.
3.1.2.2. Ước lượng hợp lý cực đại
Một trong những điểm không tốt của Ƣớc lƣợng Laplace là nó tính xác suất quá lớn
cho các nghĩa chƣa từng xảy ra. Ƣớc lƣợng hợp lý cực đại hạn chế bớt một phần đó là
thay vì cộng 1 nhƣ Laplace, nó sẽ cộng 0.5 cụ thể nhƣ sau.





=





+ 0.5
 + 0.5


3.1.2.3. Ước lượng Lidstone
Cả ƣớc lƣợng Laplace và ƣớc lƣợng hợp lý cực đại đều là trƣờng hợp đặc biệt của
ƣớc lƣợng Lidstone





=





+ 
+  

Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
13

Trong đó  là một số thƣờng đƣợc lấy trong đoạn [0, 1]. Ƣớc lƣợng Lidstone làm
việc tƣơng tự nhƣ ƣớc lƣợng hợp lý cực đại và ƣớc lƣợng Laplace. 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 N
c
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 toá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 toán Naïve Bayes là thuật toán học khá hiệu quả. Tuy vậy, là một thuật toá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 Naï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 toán phối hợp với Naï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 toá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 toá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 toán danh sách quyết
Chƣơng 3: Các thuật toá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 toá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 Naï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 toá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 toà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 toán
Dữ liệu đầu vào của thuật toá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 toá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 toán có các bƣớc nhƣ sau.
Chƣơng 3: Các thuật toá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 toá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 toà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 Naï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 Naï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 Naïve Bayes đã đƣợc huấn luyện ở trên để tiến hành gán
nghĩa lại cho toà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

×