Tải bản đầy đủ (.pptx) (22 trang)

slike thuyết trình báo cáo sư lỹ ngôn ngữ tự nhiên đề tài xác định biên giới câu

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 (160.25 KB, 22 trang )

Đề 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
Nội Dung Trình Bày
1. Mở đầu
2. Tách câu bằng các HEURISTICS
2.1 Xử lý dấu chấm
2.2 Xử lý dấu câu trong ngoặc
5. Tách câu bằng mạng NEURAL
3.1 Bộ phận tách token
3.2 Bộ phận xác định từ loại
3.3 Xây dựng mảng mô tả cho một từ
3.4 Kiến trúc mạng
3.5 Nhận xét
4. Demo chương trình
1. 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.
2. Tách câu bằng các HEURISTICS
2.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 )
2.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.
2.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.
3. Tách Câu Bằng Mạng NEURAL
3.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.
3.1 Bộ phận tách token


Ví dụ chuỗi con “that’s” không phải là một token mà chúng ta
phải chia nó ra thành 2 token là “that” và “is”

Nhưng nếu có một chuỗi con như: “e.g” thì chúng ta không thể
tách thành 3 token là “e”, “.” và “g” được mà phải giữ nguyên
đó là một token t i vì ạ
1. 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
3.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.
3.2 Bộ Phận xác định từ loại

3.2.1 Bi u Di n Ng C 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ừ đó.
3.2.2 Từ 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ể
3.3 Xây dựng mảng mô tả cho một từ

3.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ó.
Thuậ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
3.4 Kiến trúc mạng
3.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 đó
Kiến Trúc Mạng NEURAL

cho Việc Tách Câu
3.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%.
4. Demo chương trình

×