1. Trang chủ
  2. » Công Nghệ Thông Tin

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

27 651 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 361,35 KB

Nội dung

Tuy nhiên,bộ phận tách câu cần phải có nhiều thông tin về ngữ cảnh hơn trong trường hợpviệc chấm câu xuất hiện ở một câu con trong dấu ngoặc đơn hoặc dấu ngoặckép, như trong trường hợp 2

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công Nghệ Thông Tin Và Truyền Thông

BÁO CÁO BÀI TẬP LỚN Môn: Xử Lý Ngôn Ngữ Tự Nhiên

Đề tài: Xác định biên giới câu

Nhóm sinh viên thực hiện:

Chu Gia Khôi SHSV: 20081409

Trần Bá Tùng SHSV: 20083041

Hà Nội, 5/2012

Trang 2

M c L c ục Lục ục Lục

Mở đầu………3

1 TÁCH CÂU BẰNG CÁC HEURISTICS 5

1.1 Xử lý dấu chấm 5

1.2 Xử lý dấu câu trong ngoặc 6

2 TÁCH CÂU BẰNG MẠNG NEURAL 7

2.1 Bộ phận tách token 8

2.2 Bộ phận xác định từ loại 10

2.3 Xây dựng mảng mô tả cho một từ 14

2.4 Kiến trúc của mạng 16

2.5 Kết quả 19

2.6 Kết hợp bộ phân tích cú pháp 24

2.7 Nhận xét 25

Kết Luận ……….26

Tài liệu tham khảo……….….27

Trang 3

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ôngdụ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ữngdấ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 dotí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âutrong 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ĩ Ví dụ như dấu chấm, nó có thể biểu thị như một dấu chấm thập phân,một cụm từ viết tắt, sự kết thúc câu văn hoặc ngay cả từ viết tắt nằm ở cuối câuvăn Một dấu chấm hỏi hay dấu chấm than có thể xuất hiện trong dấu ngoặcđơn, ngoặc kép hay cũng như ở cuối câu Sự mập mờ của các dấu chấm câu nàyđược minh họa qua các ví dụ sau:

 The group included Dr J.M Freeman and T Boone Pickens Jr.

 “This issue crosses party lines and crosses philosophical lines!” said

 Rep John Rowland (R., Conn.).

 It was due Friday 5 p.m Saturday would be too late.

 She has an appointment at 5 p.m Saturday to get her car fixed.

Trong trường hợp 1 và 2, từ nằm ngay trước hoặc nằm ngay sau dấu chấmcâu cho ta những thông tin quan trọng về vai trò của dấu trong câu Tuy nhiên,bộ phận tách câu cần phải có nhiều thông tin về ngữ cảnh hơn trong trường hợpviệc chấm câu xuất hiện ở một câu con trong dấu ngoặc đơn hoặc dấu ngoặckép, như trong trường hợp 2; hay khi chữ viết tắt xuất hiện ở cuối câu như trong

Trang 4

trường hợp 3 và 4 Để nhận diện dấu chấm câu, người ta có thể dùng cácheuristics hoặc các mô hình học phức tạp hơn, như: mạng neural, TBL,Maximum Entropy.

Trang 5

1 TÁCH CÂU BẰNG CÁC HEURISTICS

Sau khi nhận được đoạn văn đã được lọc các ký tự dư thừa, các ký tự phụ,bộ phận tách câu bắt đầu phân tích dựa trên cách chấm câu và ngữ nghĩa củamột số từ để tách các câu ra riêng biệt

1.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áctrườ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)

Để có thể phân biệt các trường hợp trên, ta có thể dựa vào một số đặctrư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ầnliề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ựngmột danh sách các từ viết tắt để tra cứu khi cần

Trang 6

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.

Những quy luật trên đây là những quy luật chung nhất trong cách trìnhbày văn bản tiếng Anh Do dựa chủ yếu vào cách trình bày văn bản nên cóđiểm yếu là dễ nhầm lẫn khi văn bản đưa vào có cách trình bày khác chuẩn; và

do không hiểu nghĩa câu nên không thể phân biệt một số trường hợp mơ hồ nhưtrong ví dụ:

1- It was due Friday 5 p.m Saturday would be too late.

2- She has an appointment at 5 p.m Saturday to get her car fixed.

Để xác định được dấu chấm (in đậm) trong 2 trường trên có phải là dấuchấm hết câu hay không cũng là 1 việc không đơn giản đối với máy, thậm chíđối với người mà trình độ tiếng Anh chưa vững Trong cả hai trường hợp, từngay trước hoặc ngay sau dấu chấm câu cho ta những thông tin quan trọng vềvai trò của dấu trong câu Tuy nhiên, bộ phận tách câu sẽ phải cần nhiều thôngtin về ngữ cảnh và cú pháp hơn trong trường hợp sự chấm câu xuất hiện ở mộtcâu con như trong trường hợp 1

1.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éttrong đ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

Trang 7

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.

2 TÁCH CÂU BẰNG MẠNG NEURAL

Đây là cách tiếp cận do D.Palmer đưa ra với độ chính xác rất cao (cỡ 99,5

%) bằng cách sử dụng một mạng neural với thông tin đầu vào là những từ xungquanh dấu báo hiệu kết thúc câu (gọi là ngữ cảnh của dấu báo hiệu đó) và đầu

ra là một giá trị cho phép xác định đó có phải là kết thúc câu hay không Vớicách tiếp cận này, chúng ta sẽ biễu diễn ngữ cảnh xung quanh một dấu chấmcâu (chẳng hạn từ và từ loại của 3 từ trước và 3 từ sau dấu chấm) bằng một dãycác vector xác suất, mỗi vector xác suất đại diện cho một từ thuộc ngữ cảnh đó.Xác suất sử dụng cho mỗi từ trong ngữ cảnh là xác suất lớn nhất trong số cácxác suất của các từ loại có thể có của từ đó, xác suất này có được từ một tựđiển chứa dữ liệu về tần suất của từng từ loại cho mỗi từ Vector ngữ cảnh haycòn được gọi là mảng mô tả được sử dụng làm đầu vào cho một mạng neuralvới các trọng số đã được huấn luyện trên ngữ liệu đã tách câu Đầu ra củamạng neural sau đó được sử dụng để xác định vai trò của dấu chấm câu trongcâu (là kết thúc câu hay không) Gọi f là giá trị của hàm sigmoid đầu ra củamạng neural Nếu f < t1 thì ta kết luận dấu chấm này không phải là chấm câu,còn nếu f > t2 thì đây là dấu chấm câu (với 0 < t1 ≤ t2 < 1 ) Còn nếu t1 ≤ f ≤ t2thì ta không thể kết luận đây có là dấu chấm câu hay không Lúc này, ta có thểnhờ đến tầng xử lý khác để quyết định, như mô hình dưới:

Trang 8

Cấu trúc tổng quát của mô hình tách câu sử dụng mạng neural như sau:

Hình : Tách câu bằng mạng neural

Như vậy, hệ thống sẽ bao gồm 4 tầng xử lý là: tách token, xác định từloại, xây dựng mảng mô tả và tính giá trị kết quả đầu ra bằng mạng neural:

2.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ố (một chữ số có chứa dấu chấm là dấu chấm thập phân được xem nhưlà một token), hoặc một ký tự không nằm trong bảng chữ cái (như dấu chấmcâu, dấu ngoặc kép, các ký tự mở rộng, …) 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áctoken này được dùng để làm đầu vào cho bộ phận tìm kiếm từ loại để nó tínhvector xác suất

Trang 9

Như vậy, từ một văn bản đưa vào, đầu tiên bộ phận tách token sẽ dựa vàocác khoảng trống có trong văn bản để tách ra thành các chuỗi con, những chuỗicon này có thể là một token theo định nghĩa ở trên, cũng có thể là hợp củanhiều token Chính vì thế cho nên chúng ta không thể sử dụng nó ngay được màvới mỗi chuỗi con như vậy, chúng ta phải xác định xem nó có đúng là token haykhông, nếu đúng thì sử dụng nó để đưa vào cho tầng sau, nếu không thì chúng

ta phải chia nhỏ nó ra thành các token trước khi đưa vào cho tầng sau 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 2token là “that” và “is” Đó là trường hợp người ta sử dụng lược (apostrophe).Nếu trong văn bản có thể người ta đánh câu trước và câu sau liền nhau chẳnghạn như: “… on the drive.Specify a minus…” thì khi đó chúng ta cũng phải chiachuỗi “drive.Specify” thành 3 token là “drive”, “.” và “specify”

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 Làm thếnào để nhận biết ra được điều này? Để đơn giản, bộ phận tách token có chứamộ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ộttrong các từ viết tắt này thì nó được xem là một token và chúng ta khỏi phảitách nhỏ nó ra Hơn nữa, các token sau khi được tách ra phải có ý nghĩa, nghĩalà chúng phải có trong từ điển, lợi dụng đặc điểm này, chúng ta biết được khinào thì phải chia nhỏ thành nhiều token, khi nào thì không

Ta có thể mô tả vắn tắ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

Trang 10

 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âutrong chuỗi con Nếu tồn tại một chuỗi con có trong từ điển thì ta được ntoken, nếu không thì ta được một token

 Bước 5: Quay lại bước 1

2.2 Bộ phận xác định từ loại

* 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ằngnhiều cách khác nhau Một cách đơn giản nhất và dễ nhận thấy nhất là sử dụngnhững từ đơn ngay phía trước và phía sau dấu câu, chẳng hạn như trong ví dụsau, ta sử dụng ngữ cảnh gồm ba từ phía trước và ba từ phía sau dấu chấm câu:

at the plant He had thought

Để xác định được dấu chấm câu trong ví dụ trên có thực sự là kết thúccâu hay không, ta cần phải xem xét các từ trong ngữ cảnh đó có khả năng kếtthúc hay bắt đầu của một câu hay không Cũng vậy, trong một ngôn ngữ nào đóthì khi xem xét một dấu chấm câu, ta cũng phải xác định tất cả các từ thuộc ngữcảnh của dấu chấm câu đó và ta cần xác định rằng các từ đó có khả năng là kếtthúc hay bắt đầu của một câu hay không Tuy nhiên để làm được việc này trongmỗi ngôn ngữ thì sẽ mất rất nhiều thời gian và cần một lượng dữ liệu lưu trữ lớnđể chứa thông tin phục vụ cho việc xác định trên, mặc khác những thông tin này

Trang 11

lại không hữu ích cho việc xử lý ở những tầng tiếp theo của hệ thống như đã môtả ở trên.

Để giải quyết khó khăn trên, chúng ta đưa ra một cách tiếp cận khác 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ừ Theo cách này thì ngữ cảnhtrong ví dụ trên được biễu diễn bằng một dãy tuần tự các từ loại như sau:

preposition article noun (trước dấu chấm)

pronoun verb verb (sau dấu chấm)

Việc yêu cầu xác định chỉ một từ loại duy nhất cho mỗi từ nảy sinh mộtquá trình xử lý vòng, nguyên nhân là bởi vì phần lớn các bộ phận xác định từloại yêu cầu phải xác định trước ranh giới của từng câu trong văn bản, nghĩa làviệc tách câu phải được làm xong trước khi xác định từ loại ! Trong khi ở đây,

ta mới bắt đầu thực hiện việc tác câu Chính vì vậy yêu cầu xác định một từloại cho mỗi từ duy nhất là vô lý

Để loại bỏ quá trình xử lý vòng này và loại bỏ sự cần thiết phải có 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ácsuấ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ừ đó.Chẳng hạn như từ một từ nào đó có các xác suất là: 10% xuất hiện như từ loại

A, 20% xuất hiện như từ loại B, 30% xuất hiện như từ loại C và 40% xuất hiệnnhư từ loại D thì ta sử dụng xác suất cao nhất là 40% (xác suất mà từ xuất hiệnnhư từ loại D) Vì vậy, mỗi từ trong ngữ cảnh sẽ được biễu diễn bằng một dãycác từ loại có thể có của nó và kèm theo xác suất tương ứng của từ xuất hiện

Trang 12

như từ loại đó Xét tiếp ví dụ ở trên, ngữ cảnh biễu diễn cho nó có dạng nhưsau:

preposition(1.0) article(1.0) noun(0.8)/verb(0.2)

pronoun(1.0) verb(1.0) noun(0.1)/verb(0.9)

Ngữ cảnh này nói lên rằng “at” và “the” có xác suất xuất hiện như

preposition và article (theo thứ tự đó) là 1.0, “plant” có xác suất xuất hiện như noun là 0.8, như verb là 0.2, tương tự như vậy “he” và “had” có xác suất xuất hiện như pronoun và verb (theo thứ tự đó) là 1.0, “thought” có xác suất xuất hiện như noun là 0.1, như verb là 0.9 Những xác suất này được tính dựa cơ sở

trên sự xuất hiện của các từ trong một văn bản đã được phân từ loại Chính vìvậy, nó phụ thuộc vào văn bản này Những thông tin như vậy rất có ích vì nókhông những được dùng trong chương trình này, mà còn thường xuyên được sửdụng bởi chương trình phân từ loại và chính vì vậy nó có thể đã có sẵn để ta cóthể sử dụng được và không cần lưu trước một lượng lớn Chính vì lý do này, tachọn xấp xỉ ngữ cảnh trong hệ thống tách câu bằng cách sử dụng xác suất lớnnhất

* 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ừ Những từ trongtự điển bao gồm hình thái gốc và theo sau bằng một dãy các từ loại có thể cócùng với tần suất xuất hiện tương ứng của nó Bộ phận tìm kiếm từ loại của hệtiền xử lý có nhiệm vụ tìm một từ trong tự điển và nếu tìm thất thì nó trả về dãytừ loại của từ đó cùng với tần suất xuất hiện tương ứng cho mỗi từ loại Chẳng

Trang 13

hạn, với từ “well” trong tiếng Anh, bộ phận tìm kiếm sẽ trả về kết quả có dạngnhư sau:

JJ/15 NN/18 QL/68 RB/634 UH/22 VB/5

Kết quả trên nói lên rằng từ “well” xuất hiện 15 lần như một adjective,

18 lần như một singular noun, 68 lần như một qualifier, 634 lần như một adverb,

22 lần như một interjection và 5 lần như một singular verb Từ đây, ta có thểtính được xác suất tương ứng của các từ loại của từ “well” như sau:

Heuristics cho những từ không tìm thấy trong tự điển:

Nếu một từ không tìm thấy trong từ điển, hệ thống sẽ sử dụng cácheuristics sau để cố gắng tìm ra từ loại hợp lý nhất và gán cho từ đó Cácheuristics đó bao gồm:

Những token chứa một con số (0 9) được giả định là chữ số

Trang 14

Bất kỳ token nào bắt đầu bằng một dấu chấm (.), chấm than (!), hoặcchấm hỏi (?) thì được gán một nhãn: “dấu có khả năng kết thúc câu” Phươngpháp này giải quyết được những dấu kết thúc câu dạng như “?!”.

Từ có chứa một dấu chấm (.) ở giữa được giả định là từ viết tắt (ví dụ:e.g., Mr., Mrs., …)

Những từ viết hoa không phải luôn luôn là danh từ riêng (proper noun)ngay cả khi nó xuất hiện ở một vị trí không phải là vị trí đầu câu (ví dụ từ

“American” thường được sử dụng như một tính từ) Những từ như vậy không cótrong tự điển được gán một xác suất là 0.9 cho danh từ riêng

Những từ viết hoa xuất hiện trong tự điển nhưng không được xem nhưdanh từ riêng vẫn có thể là danh từ riêng Do vậy những từ này được gán mộtxác suất là 0.5 cho danh từ riêng

Cuối cùng, từ sẽ được gán cho một danh sách tất cả các từ loại có thể cócủa hệ thống với xác suất chia đều cho mỗi từ loại

Những heuristics này có thể được thay đổi dễ dàng và thích hợp với từngngôn ngữ mới cụ thể Chẳng hạn xác suất của một từ viết hoa là danh từ riêngtrong tiếng Anh cao hơn trong tiếng Đức

2.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 vectorxác suất để số hóa việc mô tả token Vector này còn được gọi là “mảng mô tả”.Từ điển có thể chứa từ 70 đến 80 từ loại cho nên việc đầu tiên chúng ta cần làmlà ánh xạ những từ loại này thành những từ loại tổng quát hơn Chẳng hạn

Ngày đăng: 23/10/2014, 23:25

HÌNH ẢNH LIÊN QUAN

Hình : Tách câu bằng mạng neural. - báo cáo sư lỹ ngôn ngữ tự nhiên đề tài xác định biên giới câu
nh Tách câu bằng mạng neural (Trang 7)
Bảng : Xác định kích thước ngữ cảnh tối ưu. - báo cáo sư lỹ ngôn ngữ tự nhiên đề tài xác định biên giới câu
ng Xác định kích thước ngữ cảnh tối ưu (Trang 19)
Bảng sau đây cho biết kết quả thống kê được về số lỗi của hai loại trên: - báo cáo sư lỹ ngôn ngữ tự nhiên đề tài xác định biên giới câu
Bảng sau đây cho biết kết quả thống kê được về số lỗi của hai loại trên: (Trang 20)
Bảng : Kết quả với các mức ngưỡng khác nhau. - báo cáo sư lỹ ngôn ngữ tự nhiên đề tài xác định biên giới câu
ng Kết quả với các mức ngưỡng khác nhau (Trang 23)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w