Nhận biết lớp thực thể

Một phần của tài liệu Nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin web có ngữ nghĩa (Trang 79 - 90)

Thông tin trên các tài liệu Web hiện tại được biểu diễn dưới dạng văn bản thô mà chỉ có con người mới đọc và hiểu được. Do đó, để máy tính có thể hiểu và xử lý được thông tin này, cần phải nhúng thông tin vào các trang web thông qua chú thích ngữ nghĩa. Chú thích

Gán nhãn từ loại dựa vào các luật ràng buộc cú pháp và văn phong

Tập luật nhận diện 48 nhãn từ loại, dạng ngày tháng

năm và dạng số Danh sách các từ

Gán nhãn từ loại dựa vào mô hình thông kê

Danh sách kết quả

Kho ngữ liệu tiếng Việt

ngữ nghĩa được định nghĩa là một dạng siêu dữ liệu đặc trưng, được sinh ra để hỗ trợ các cách thức truy cập và sử dụng thông tin trong tài liệu. Ở đây đề tài tập trung vào các thực thể có tên xuất hiện trong tài liệu như một phần quan trọng trong ngữ nghĩa của chúng, và ngữ nghĩa là lớp của các thực thể đó ([87]).

Như đã giới thiệu ở Chương 2, một trong những dự án lớn về rút trích thông tin là GATE. GATE cung cấp các công cụ hỗ trợ cho quá trình rút trích thông tin như thành phần phân đoạn từ, gán từ lớp tiếng Anh, so trùng cụm từ, văn phạm so trùng mẫu. Gần đây, sự ra đời và phát triển của Web có ngữ nghĩa đã dẫn đến việc xây dựng hàng loạt công cụ chú thích. Ví dụ như OntoAnnotate ([126]), một hệ thống hỗ trợ xây dựng Web có ngữ nghĩa, bao gồm cả công cụ chú thích bằng tay và chú thích tự động. SHOE ([53]) là một trong những hệ thống đầu tiên thêm chú thích ngữ nghĩa vào các trang Web.

AeroDAML ([69]) sinh tự động các chú thích ngữ nghĩa dựa trên một Ontology, trong đó người dùng có thể kiểm tra các chú thích này. Chú thích ngữ nghĩa cho tài liệu sử dụng Ontology và cơ sở tri thức cũng đã được đề cập đến trong ([24]) và ([64]). Trọng tâm của Annotea ([64]) là cung cấp một công cụ chú thích ngữ nghĩa bằng tay cho nội dung các trang Web, trong khi [24] hướng đến dịch vụ mở và do vậy đã quay trở lại mô hình ý niệm của tài liệu. S-CREAM ([52]) đặc biệt rút trích ra các quan hệ giữa các thực thể nhờ vào kỹ thuật học máy. Cũng tương tự với hệ thống này là MnM ([131]), với các chú thích ngữ nghĩa được nhúng vào trong tài liệu và tham chiếu đến Ontology và cơ sở tri thức.

Nhìn chung, các kỹ thuật chú thích ngữ nghĩa nói trên đều thiếu việc sử dụng một cây Ontology ở mức cao và việc dùng cơ sở tri thức phục vụ cho việc rút trích như đã bàn tới trong [11]. Từ nhu cầu trên, hệ thống quản lý thông tin và tri thức KIM đã đưa ra một cách nhìn mới về rút trích thông tin trên Web có ngữ nghĩa, như được trình bày chi tiết trong [68]. Phương pháp này dựa trên cây Ontology và một số mẫu văn phạm dựa trên ngôn ngữ JAPE của GATE như đã giới thiệu ở Chương 2.

Điểm phân biệt VN-KIM IE với các hệ thống khác là hệ thống này rút trích thông tin viết bằng tiếng Việt, với những đặc thù về ngôn ngữ. Dựa trên kiến trúc GATE, VN-KIM IE nhận ra lớp của các thực thể có tên và tham chiếu đến thực thể tương ứng trong cơ sở tri thức, nếu có. Theo hướng tiếp cận này, mã nguồn mở GATE được biến đổi để có thể sử dụng được các thông tin lưu trữ trong Ontology và cơ sở tri thức cụ thể mà đề

tài xây dựng. Việc làm này, theo kinh nghiệm của dự án KIM, là không đơn giản vì tất cả các lớp xử lý của hệ thống đều phải được lập trình lại, tuy nhiên vẫn ít tốn kém hơn nếu phải phát triển từ đầu tất cả các công cụ xử lý ngôn ngữ tự nhiên mà GATE đã có.

Hình 4.3.1 minh họa các thành phần xử lý tuần tự tài liệu của VN-KIM, cho đến khi các chú thích ngữ nghĩa của thực thể có tên mà tài liệu đề cập đến được sinh ra. Các bước tiền xử lý ngôn ngữ tự nhiên đã được trình bày ở trên. Hai bước chính còn lại là so trùng cụm từ và so trùng mẫu.

Hình 4.3.1 Sơ đồ các bước chú thích ngữ nghĩa trong VN-KIM

Quá trình rút trích

Ở bước so trùng cụm từ, các chuỗi Token được gán nhãn là tên riêng sau bước gán nhãn từ loại được so trùng với các tên khác nhau của các thực thể trong cơ sở tri thức, từ đó sinh ra các chú thích tạm thời cho các thực thể trong cơ sở tri thức xuất hiện trong tài liệu. Ví dụ, trong tài liệu đầu vào có chuỗi “Hà Nội” và trong cơ sở tri thức thì chuỗi này có thể là bí danh của ba thực thể khác nhau (thủ đô “Hà Nội”, di tích thành cổ “Hà Nội”, địa điểm du lịch “Hà Nội”). Như vậy có ba chú thích được sinh ra ứng với chuỗi này. Mỗi chú thích bao gồm lớp thực thể và địa chỉ liên kết với thực thể tương ứng trong cơ sở tri thức. Quá trình này sẽ đảm bảo cho hệ thống nhận diện được các thực thể trong cơ sở tri thức xuất hiện trong tài liệu.

Nội dung tài liệu

Phân đoạn từ

Tách câu

So trùng cụm từ

So trùng mẫu Ontology

Cơ sở tri thức và Ngữ liệu

Chú thích ngữnghĩa

……

...

Gán nhãn từloại Nội dung tài liệu

Trong GATE, thành phần Gazetteer thực hiện việc so trùng chính xác một cụm từ với cơ sở tri thức có sẵn. Tuy nhiên, Gazetteer của GATE dùng cho tiếng Anh nên chưa hỗ trợ Ontology và thông tin lưu trữ trong cơ sở tri thức của VN-KIM. Ngoài ra, Gazetteer của GATE còn một số nhược điểm như phân biệt chữ hoa và chữ thường, còn hạn chế về kích thước từ điển, và cơ chế so trùng chưa nhanh. Do đó, thành phần này được xây dựng lại trong VN-KIM IE, được gọi là VN Hash Gazetteer.

Để tránh sự phân biệt chữ hoa và thường như trong GATE, và sự không nhất quán trong cách viết tắt các danh từ riêng và bỏ dấu thanh trong tiếng Việt, chúng tôi chuẩn hóa cụm từ trước khi đem so trùng. Trong bước chuẩn hóa này, tất cả các cách viết tên riêng trong dữ liệu đầu vào sẽ được đưa về một dạng chuẩn qui ước duy nhất, như đã thực hiện khi xây dựng cơ sở tri thức của VN-KIM trình bày ở Chương 3. Thêm vào đó, chúng tôi sử dụng kỹ thuật băm các tên thực thể để tăng tốc độ so trùng, vì số lượng các thực thể có trong cơ sở tri thức rất lớn.

Tiếp theo, ở bước so trùng mẫu, tập luật viết dựa trên văn phạm JAPE được sử dụng hiệu chỉnh lại các thông tin nhận dạng bởi thành phần so trùng cụm từ và nhận dạng thêm các thực thể có tên không có trong cơ sở tri thức. Việc nhận dạng thêm này được thực hiện trên cơ sở các cách viết tên thực thể trong tiếng Việt. Ví dụ như chuỗi bắt đầu bằng một tiền tố công ty (như “công ty”, “xí nghiệp”, “hãng”), theo sau là một cụm từ chỉ loại hình công ty (như “liên doanh”, “TNHH”), cuối cùng là một chuỗi các từ viết hoa chữ cái đầu, thì chuỗi đó có thể là bí danh của một thực thể thuộc về lớp công ty. Một ví dụ cho trường hợp này là chuỗi “Công ty TNHH Hòa Bình”.

Văn phạm so trùng mẫu đã chứng tỏ sự tương thích với xử lý ngôn ngữ tự nhiên và rút trích thông tin. Bộ xử lý văn phạm JAPE là một phần của kiến trúc GATE, cho phép đặc tả các luật so trùng trên những mẫu chú thích. Vì thế chúng ta có thể định ra các hành động và các chuyển đổi sẽ xảy ra nếu một luật so trùng với một cụm từ trong văn bản.

Chúng tôi đã điều chỉnh bộ xử lý JAPE nhằm điều khiển các thông tin liên quan đến Ontology và so trùng các mẫu chú thích.

GATE cung cấp một số luật văn phạm JAPE có sẵn trong thành phần có tên gọi ANNIE, giúp nhận ra và so trùng một số lớp cơ bản như con người, nơi chốn, tổ chức, ...

Tuy nhiên, tập luật này áp dụng cho các thực thể có tên tiếng Anh và dựa trên thành phần

gán nhãn từ loại tiếng Anh sẵn có của GATE. Vì thế, chúng tôi đã đặc tả một tập luật mới hoàn toàn so với ANNIE để áp dụng cho các thực thể có tên tiếng Việt.

Trong tập luật này, mỗi luật được mô tả thông qua đặc tả lớp của các thực thể trong mẫu. Quá trình so trùng dùng nguyên tắc viết tên thực thể chính quy và không chính quy để xác định chú thích phù hợp có cùng lớp (hay thuộc lớp con) với lớp trong mẫu văn phạm. Nhờ vậy chúng ta có thể xác định một mẫu tham chiếu đến một lớp cha bên trên (ví dụ lớp tổ chức) cho phép tất cả các lớp con bên dưới (tổ chức thương mại, tổ chức giáo dục đào tạo, tổ chức nhà nước và các lớp tổ chức khác) cũng so trùng được với luật văn phạm trên.

Tuy nhiên, việc xây dựng tập luật này cho tiếng Việt là không đơn giản vì vẫn chưa tồn tại một chuẩn trong việc viết các danh từ riêng tiếng Việt trên báo chí hiện nay. Bên cạnh đó, việc xác định lớp cho các thực thể có tên không chỉ đơn thuần dựa vào từ điển, vì có nhiều thực thể khác nhau có cùng tên. Ví dụ để xác định xem thực thể “Sài Gòn” mà tài liệu đề cập đến là một thành phố, một con sông hay một nhà máy bia, không chỉ cần phải xét ngữ cảnh nơi từ đó xuất hiện mà còn phải xét đến các nguyên tắc không chính quy trong việc viết tên riêng tiếng Việt. Chẳng hạn như đối với câu “Tôi làm việc ở Sài Gòn”

thì theo ý nghĩa chính quy của câu không nhất thiết thực thể “Sài Gòn” phải là thành phố mà cũng có thể là nhà máy bia.

Hiện tại, VN-KIM IE có gần 300 luật so trùng mẫu viết bằng văn phạm JAPE. Các luật này được phân thành từng nhóm chạy tuần tự, thực hiện các bước xử lý khác nhau, cho đến khi xác định được lớp của một thực thể và liên hệ nó với thông tin mô tả trong cơ sở tri thức nếu có. Hình 4.3.2 mô tả các bước xử lý chi tiết trong giai đoạn so trùng mẫu.

Các trường hợp đặc trưng cho từng bước xử lý này sẽ được cho ví dụ như trình bày sau đây.

Hình 4.3.2 Các bước xử lý chi tiết của so trùng mẫu trong VN-KIM IE

Bước đầu tiên là loại bỏ các từ có viết hoa chữ đầu bị nhận diện sai. Thông thường, một tên thực thể bắt đầu bằng chữ hoa, nhưng điều ngược lại không đúng, vì đó có thể là một từ đầu câu. Ví dụ, trong “Bình minh trên đỉnh Hàm Rồng”, chuỗi “Bình minh” có thể tình cờ trùng với tên của một thực thể trong cơ sở tri thức, và bị nhận diện sai bởi VN Hash Gazetteer, nhưng thực tế thì không phải. Để giải quyết vấn đề này, thông tin do thành phần gán nhãn từ loại tiếng Việt được sử dụng. Theo đó, nếu một chuỗi không phải là một tên riêng, thì loại bỏ tất cả các chú thích đã được gán vào nó trước đó, như qui định bởi luật ở Hình 4.3.3.

Rule: NotProperNoun (

(NotNp) ):word -->

{

/* Get all annotations corresponding to word * remove all temporal annotations

* the same as Not Np */

}

Hình 4.3.3 Một luật loại bỏ chú thích sai cho chuỗi có viết hoa chữ đầu

Bước thứ hai là nhận diện các thực thể mà tên của chúng phủ lấp nhau. Ví dụ, trong

“Giám đốc Công ty FPT Trương Gia Bình”, có hai thực thể chấp nhận được là Công ty FPTGiám đốc Trương Gia Bình. Trong trường hợp này, “Giám đốc Công” có thể bị

Loại bỏ các từ viết hoa chữ đầu bị nhận diện

sai

Nhận diện các tên thực thể phủ lấp

nhau

Nhận diện dựa trên ngữ liệu

Nhận diện dựa trên ngữ cảnh Loại bỏ các chú thích

mâu thuẫn Sinh ra các chú thích

cuối cùng Văn bản tiếng Việt

VN Hash Gazetteer

Chú thích ngữ nghĩa

VN POS Tagger

nhận diện sai là một giám đốc tên “Công”, trong khi chú thích đúng của toàn bộ chuỗi này chỉ đến một con người. Hình 4.3.4 cho thấy hai luật cùng để giải quyết trường hợp này.

Luật thứ nhất nhận diện tên người và gán chú thích con người cho nó, còn luật thứ hai sử dụng chú thích này để nhận diện tên tổ chức đi trước.

Rule: PersonFull Priority: 500 // F.W. Jones // Fred Jones (

{LastName} // Vietnamese lastname comes first ({Token.orth == upperInitial})* // zero or more tokens with

// initial upper-case

{FirstName} // Firstname

):person -->

{

/* Generate annotation TempPerson for person */

}

Rule: Spur_PersonTitle_Org (

(JOB_TITLE) // job title: director (

({Token.orth == upperInitial})+ // one or more tokens with

):orgName // initial upper-case

({TempPerson}):personPure // person fullname ):person

-->

{

/* Generate annotation TempOrganization for orgName */

}

Hình 4.3.4 Hai luật nhận diện các tên thực thể phủ lấp nhau

Bước thứ ba là nhận diện thực thể có tên dựa trên ngữ liệu. Như đã giới thiệu trong Chương 3, cơ sở tri thức của VN-KIM còn chứa ngữ liệu để cung cấp thông tin về cấu trúc và ngữ cảnh để nhận diện các thực thể mới hoặc phân giải các tên thực thể mập mờ. Ví dụ, trong “sông Sài Gòn”, nhờ có tiền tố “sông” mà hệ thống nhận biết được “Sài Gòn” trong trường hợp này chỉ đến một con sông chứ không phải một thành phố. Hình 4.3.5 mô tả một luật nhận biết một thực thể công ty dựa trên cấu trúc tên của nó. Nó phát biểu là, một chuỗi bắt đầu bằng một tiền tố chỉ công ty, theo sau là một kiểu quản lý công ty và một loại hình kinh doanh, và một số Token có viết hoa chữ đầu, là tên của một công ty.

Rule: CompanyX (

(Company_Prefix)

(Company_Administration_Type)?

(Company_Business_Type)?

(

({Token.orth == upperInitial})+

):orgPure )

:orgName -->

{

/* Generate annotation TempOrganization for orgName * with feature class as Company

* and feature kind as organizationPlus * means recognized by lexical resource */

}

Hình 4.3.5 Một luật nhận diện thực thể dựa trên ngữ liệu

Bước thứ tư là nhận diện thực thể dựa trên ngữ cảnh xung quanh các tên. Ví dụ, các giới từ như “ở” hoặc “tại” đứng trước một tên là dấu hiệu cho thấy nhiều khả năng đó là tên của một nơi chốn, như với “… ở Cao Bằng …”. Một ví dụ khác về ngữ cảnh là các liên từ như “và” hay “hoặc”, nhờ đó nếu một thực thể đã được nhận diện và đứng cạnh một thực thể khác thì nhiều khả năng hai thực thể thuộc cùng một lớp, như với “… các công ty Kinh Đô và Thăng Long …”. Một luật như vậy được mã hoá như ở Hình 4.3.6 phát biểu là, nếu một liên từ nằm giữa một thực thể tổ chức và một số Token có viết chữ hoa đầu, thì chuỗi Token đó là tên của một thực thể cùng lớp với thực thể tổ chức kia.

Rule: OrganizationContext (

({TempOrganization.kind == organizationPlus}):availableOrg {Token.string == "và"}

) (

(({Token.orth == upperInitial})+) ):org

-->

{

/* Generate annotation TempOrganization for org * with feature class the same as availableOrg * and feature kind as organizationPlus */

}

Hình 4.3.6 Một luật nhận diện thực thể dựa trên ngữ cảnh

Bước thứ năm là loại bỏ các chú thích gây mâu thuẫn. Sau các bước nói trên, một tên thực thể có thể được gán nhiều chú thích khác nhau dựa trên các dấu hiệu khác nhau ở từng bước. Một chú thích với một lớp tổng quát hơn lớp của một chú thích khác sẽ được lược bớt. Trường hợp có các chú thích mâu thuẫn nhau, độ ưu tiên giữa các dấu hiệu được tính đến để giải quyết mâu thuẫn. Ví dụ, chuỗi “Đại học Tôn Đức Thắng”, sau bước so trùng cụm từ “Tôn Đức Thắng” được gán cả chú thích con người và chú thích trường đại học theo cơ sở tri thức hiện có, và sau đó ở bước nhận diện dựa trên ngữ liệu cũng được gán chú thích trường đại học. Trong trường hợp này, chú thích dựa trên ngữ liệu mang tính quyết định, loại bỏ tất cả các chú thích mâu thuẫn khác. Hình 4.3.7 diễn đạt luật này, trong đó TempLocation kí hiệu một chú thích nơi chốn tạm thời và đặc tính locationPlus có nghĩa là đó là một chú thích dựa trên ngữ liệu.

Rule: Remove_Overlap_Location (

{TempLocation.kind == locationPlus}

) :loc -->

{

/* Remove all the temporal annotations inside loc */

}

Hình 4.3.7 Một luật giải quyết các chú thích gây mâu thuẫn

Bước cuối cùng là chuyển tất cả các chú thích tạm thời thành các chú thích chính thức. Các chú thích về các thực thể đã có trong cơ sở tri thức sẽ được thừa kế lớp và địa chỉ của chúng. Các thực thể mới thì được phân lớp theo chú thích mà không có tham khảo đến cơ sở tri thức. Hình 4.3.8 minh họa một luật cho các chú thích con người tạm thời.

Rule: PersonFinal (

{TempPerson}

) :person -->

{

/* Generate annotation Person for person * which inherit all features of person */

}

Hình 4.3.8 Một luật sinh ra chú thích cuối cùng

Một phần của tài liệu Nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin web có ngữ nghĩa (Trang 79 - 90)

Tải bản đầy đủ (PDF)

(208 trang)