Mở Đầu• Trong một văn bản bằng tiếng Anh hay bằng bất kỳ một ngôn ngữ thông dụng nào khác, thông thường thì người ta dùng dấu chấm ., chấm than !, chấm hỏi?. 2.1 Xử Lý Dấu ChấmĐể có thể
Trang 1Đề Tài: Xác Định Biên Giới Câu
Nhóm sinh viên thực hiện
• Phạm Khương Duy SHSV: 20080459
• Đặng Vũ Hạnh SHSV: 20080899
• Chu Gia Khôi SHSV: 20081409
• Lê Công Quyền SHSV: 20082136
• Trần Bá Tùng SHSV: 20083041
Trang 2Nội Dung Trình Bày
Trang 31 Mở Đầu
• Trong một văn bản bằng tiếng Anh hay bằng bất kỳ một ngôn ngữ thông dụng nào khác, thông thường thì người ta dùng dấu chấm (.), chấm than (!), chấm hỏi (?) và một số dấu khác nữa để nhận biết kết thúc câu (ta gọi những dấu này là những dấu báo hiệu kết thúc câu hay dấu chấm câu)
• Tuy nhiên do tính nhập nhằng của dấu báo hiệu kết thúc câu (chẳng hạn như dấu kết thúc câu trong từ viết tắt, …) nên việc xác định ranh giới câu không đơn giản như chúng ta nghĩ.
• Để nhận diện dấu chấm câu, người ta có thể dùng các heuristics hoặc các mô hình học phức tạp hơn, như: mạng neural, TBL, Maximum Entropy.
Trang 42 Tách câu bằng các HEURISTICS
Trang 52.1 Xử Lý Dấu Chấm
Dấu chấm “.” là dấu có nhiều trường hợp mơ hồ nhất Sau đây là các trường hợp dấu chấm xuất hiện:
• 1 Dấu chấm kết thúc câu văn.
• 2 Dấu chấm thập phân trong chữ số (1,234.567)
• 3 Dấu chấm biểu thị sự viết tắt (Mr., Dr.,…)
• 4 Dấu chấm trong các trường hợp khác như số tài khoản, địa chỉ Internet, email…
(www.abc.com hay nbc@hcm.vnn.vn )
Trang 62.1 Xử Lý Dấu Chấm
Để có thể phân biệt các trường hợp trên, ta có thể dựa vào một số đặc trưng riêng trong cách trình bày của từng trường hợp sau:
• 1 Nếu dấu chấm không thuộc các trường hợp còn lại (trường hợp 2,3 và 4), thì dấu hiệu để nhận biết kết thúc câu sẽ là: “luôn có ít nhất một khoảng trắng sau dấu chấm và ký tự tiếp theo nếu là chữ cái sẽ được viết hoa.”
• 2 Ta có thể nhận biết dấu chấm thập phân bằng cách đọc toàn bộ phần liền trước và liền sau dấu chấm để phát hiện số có dấu chấm thập phân.
• 3 Để nhận biết dấu chấm trong trường hợp các từ viết tắt, ta xây dựng một danh sách các từ viết tắt để tra cứu khi cần.
• 4 Trường hợp này là trường hợp có các cách trình bày đa dạng nhất, nhưng vẫn có tính chất chung là dấu chấm không bao giờ nằm cuối từ, luôn ở giữa hai ký tự nào đó (nghĩa là không có khoảng trắng liền sau) nên có thể dễ dàng phân biệt.
Trang 72.2 Xử Lý Dấu Câu trong Ngoặc
- Khi bộ tách câu gặp dấu mở ngoặc đơn, hoặc ngoặc kép, thì nó sẽ quét trong đoạn văn đang xét để tìm dấu đóng tương ứng
+ Nếu tìm thấy, toàn bộ phần trong ngoặc sẽ được giữ nguyên, và tìm dấu kết thúc câu tiếp theo ngoài dấu ngoặc
+ Nếu không tìm thấy dấu đóng tương ứng, dấu mở sẽ bị bỏ qua và xử lý tiếp ký tự sau dấu mở như bình thường.
Trang 83 Tách Câu Bằng Mạng NEURAL
Trang 93.1 Bộ phận tách token
• Token là một dãy tuần tự các ký tự trong
bảng chữ cái, hoặc dãy tuần tự các con số
hoặc một ký tự không nằm trong bảng chữ
cái.
• Nhiệm vụ của bộ phận tách token là chia văn bản đầu vào (là một dãy các ký tự) ra thành các token rời rạc, các token này được dùng để làm đầu vào cho bộ phận tìm kiếm từ loại để nó tính vector xác suất.
Trang 101 Bộ phận tách token có chứa một danh sách các từ viết tắt thông dụng, nếu một chuỗi con nào đó thuộc một trong các từ viết tắt này thì nó được xem là một token và chúng ta khỏi phải tách nhỏ nó ra
2 Các token sau khi được tách ra phải có ý nghĩa, nghĩa là chúng phải có trong từ điển
Trang 113.1 Bộ phận tách token
Mô tả thuật toán tách văn bản thành các token như sau:
• Bước 1: Tách một chuỗi con từ văn bản đầu vào (nhờ vào khoảng trắng)
• Bước 2: Nếu chuỗi con không tồn tại (hết văn bản) thì kết thúc.
• Bước 3: Kiểm tra xem chuỗi con tồn tại trong từ điển hay không Nếu có trong từ điển thì ta được một token và chuyển đến bước 5.
• Bước 4: Tách chuỗi con thành n chuỗi con (n >= 1) nhờ vào các dấu câu trong chuỗi con Nếu tồn tại một chuỗi con có trong từ điển thì ta được n token, nếu không thì ta được một token.
• Bước 5: Quay lại bước 1.
Trang 123.2 Bộ Phận xác định từ loại
Trang 133.2.1 Bi u Di n Ng C nh ểu Diễn Ngữ Cảnh ễn Ngữ Cảnh ữ Cảnh ảnh
+ Ngữ cảnh xung quanh một dấu chấm câu có thể
được biễu diễn bằng nhiều cách khác nhau
+ Ở đây, chúng ta đưa ra một cách tiếp cận là xấp
xỉ ngữ cảnh xung quanh một dấu chấm câu
+ Ngữ cảnh có thể được xấp xỉ bằng việc sử dụng
một từ loại duy nhất cho mỗi từ
+ Mỗi từ trong ngữ cảnh có thể được xấp xỉ bằng
xác suất cao nhất trong tất cả các xác suất của từng từ loại có thể có của từ đó.
Trang 143.2.2 Từ iển Dữ Liệu Điển Dữ Liệu
+ Một thành phần quan trọng của hệ thống tách câu bằng mạng neural là tự điển dữ liệu chứa tần suất xuất hiện của các từ loại của các từ
+ Nếu một từ không tìm thấy trong từ điển, hệ thống sẽ sử dụng các heuristics sau để cố gắng tìm ra từ loại hợp lý nhất và gán cho từ đó
+ Những heuristics này có thể được thay đổi dễ dàng và thích hợp với từng ngôn ngữ mới cụ thể
Trang 153.3 Xây dựng mảng mô tả cho một từ
Trang 163.3 Xây Dựng Mảng Mơ Tả cho Một Từ
• Với mỗi token trong văn bản đầu vào chúng ta cần xây dựng một vector xác suất để số hóa việc mô tả token
• Những từ loại trả về bởi bộ phận tìm kiếm được ánh xạ thành 18 từ loại tổng quá cộng với mảng mô tả của từ còn chứa thêm hai cờ cho biết từ đó có bắt đầu bằng một ký tự hoa hay không và từ đó có đi sau một dấu chấm câu hay không Như vậy có tất cả hai mươi thành phần trong mỗi mảng mô tả cho một từ
• Khi đó tần suất cho mỗi từ loại được cộng lại từ các tần suất của các từ loại ánh xạ về nó
Trang 17Thuật Toán Xây Dựng Mảng Mô Tả
cho Một Từ
• Bước 1: Tìm kiếm từ trong từ điển
• Bước 2: Kiểm tra xem từ có trong từ điển hay không Nếu không có thì chuyển sang bước 4
• Bước 3: Ánh xạ các từ loại của từ tìm được thành 18 từ loại tổng quát
Chuyển sang bước 5
• Bước 4: Heuristics cho những từ không tìm thấy
• Bước 5: Cộng thêm 2 cờ như đã trình bày ở trên và được mảng mô tả
Tính kết quả bằng mạng neural
Trang 183.4 Kiến trúc mạng
Trang 193.4 Kiến Trúc Mạng
• Đầu vào của mạng là k * 20 đơn vị nhập
• Đầu ra của mạng là một giá trị đơn nằm trong khoảng từ 0 đến 1, nó biểu thị cho khả năng kết thúc câu của dấu báo hiệu kết thúc câu xuất hiện trong ngữ cảnh đó
Trang 20Kiến Trúc Mạng NEURAL
cho Việc Tách Câu
Trang 213.5 Nhận Xét
• Một điểm mạnh của phương pháp tiếp cận theo mạng neural để tách câu như đã trình bày ở trên là nó có thể tương thích được với các loại văn bản không có một thể thức chuẩn như văn bản chỉ toàn là chữ hoa hoặc văn bản chỉ toàn là chữ thường
• Sau khi chuyển các văn bản trên thành dạng chữ hoa, hệ thống cho ra kết quả là 97.4%.
Trang 224 Demo chương trình