Công cụ hỗ trợ tạo ngữ nghĩa trang Web sử dụng kỹ thuật tách thông tin từ văn bản
Bạn đang xem tài liệu "Công cụ hỗ trợ tạo ngữ nghĩa trang Web sử dụng kỹ thuật tách thông tin từ văn bản", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- cong_cu_ho_tro_tao_ngu_nghia_trang_web_su_dung_ky_thuat_tach.pdf
Nội dung text: Công cụ hỗ trợ tạo ngữ nghĩa trang Web sử dụng kỹ thuật tách thông tin từ văn bản
- Công cụ hỗ trợ tạo ngữ nghĩa trang Web sử dụng kỹ thuật tách thông tin từ văn bản A Toolkit for Creating Semantic Web Contents Using Information Extraction Techniques Từ Minh Phương, Trịnh Hữu Kiên Abstract. The Semantic Web is an extension of the cha đẻ của WWW, Web có ngữ nghĩa là sự mở rộng current Web in which information is given formal and của WWW hiện tại bằng cách thêm vào các mô tả ý explicit meaning. The Semantic Web enables computer nghĩa (hay ngữ nghĩa) của thông tin dưới dạng mà programs to understand information contents and thus chương trình máy tính có thể “hiểu” và do vậy cho facilitates more efficient discovery, automation, integration phép xử lý thông tin hiệu quả hơn [1]. Như vậy, Web and sharing of data. To create Semantic Web contents one có ngữ nghĩa sẽ bao gồm các thông tin (trang Web) needs appropriate tools. In this paper, we describe such a được biểu diễn theo cách truyền thống cùng với ngữ toolkit we have constructed. The most important feature of nghĩa của các thông tin này được biểu diễn một cách the toolkit is that it makes use of information extraction techniques for automatically annotating Webpage contents. tường minh. Việc thêm phần ngữ nghĩa cung cấp thêm Experiments with a real life application show promising tri thức cho các chương trình (các agent), giúp nâng results and demonstrate the usefulness of the toolkit. cao chất lượng phân loại, tìm kiếm, trao đổi thông tin. Muốn xây dựng Web có ngữ nghĩa cần có công cụ I. ĐẶT VẤN ĐỀ hỗ trợ. Trong bài báo này, chúng tôi mô tả bộ công cụ Với nhiều tỷ trang Web phân bố trên hầu hết các mà chúng tôi xây dựng phục vụ mục đích này cùng quốc gia, World Wide Web (WWW) là môi trường tốt với các giải pháp kỹ thuật được lựa chọn và sử dụng. cho việc biểu diễn và truy cập thông tin dạng số. Tuy Phần quan trọng của bộ công cụ là phần tách thông tin nhiên, lượng thông tin khổng lồ đó cũng tạo ra những tự động cho phép rút ngắn thời gian tạo phần ngữ khó khăn lớn trong việc tìm kiếm, chia sẻ thông tin nghĩa cho trang Web. Để minh hoạ cho việc sử dụng trên WWW. Hiện nay, thông tin trên WWW được và thử nghiệm bộ công cụ, bài báo cũng trình bầy một biểu diễn chủ yếu dưới dạng ngôn ngữ tự nhiên (các ứng dụng tìm kiếm thông tin với những trang Web có trang Web trên ngôn ngữ HTML). Cách biểu diễn đó ngữ nghĩa do bộ công cụ tạo ra. phù hợp với con người nhưng lại gây ra nhiều khó khăn cho các chương trình làm nhiệm vụ hỗ trợ tìm II. THÀNH PHẦN CỦA WEB CÓ NGỮ NGHĨA kiếm, chia sẻ và trao đổi tin. Chương trình máy tính Để tiện cho việc mô tả chức năng của bộ công cụ, không “hiểu” được thông tin và dữ liệu biểu diễn dưới phần này sẽ trình bầy sơ lược về các thành phần của dạng thích hợp với con người. Web có ngữ nghĩa. Các thành phần của Web có ngữ Để giải quyết vấn đề này, nhiều tổ chức nghiên cứu nghĩa được chia thành ba nhóm chính như sau: và kinh doanh đã phối hợp nghiên cứu và phát triển − Ontology và các ngôn ngữ dùng để biểu diễn ngữ Web có ngữ nghĩa (Semantic Web). Theo định nghĩa nghĩa thông tin. của Tim Berners_Lee giám đốc tổ chức World Wide − Các công cụ tạo nên phần ngữ nghĩa cũng như cấu Web Consortium ( đồng thời là trúc hạ tầng của Web có ngữ nghĩa.
- − Các ứng dụng sử dụng Web có ngữ nghĩa. bool khi mô tả quan hệ giữc các đối tượng và có nhiều kiểu quan hệ cơ sở hơn so với RDFS. Chức năng từng nhóm được trình bầy dưới đây. 2. Công cụ cho Web có ngữ nghĩa 1. Ngôn ngữ cho Web có ngữ nghĩa Để tạo và sử dụng Web có ngữ nghĩa cần có sự hỗ Cơ chế cho phép chia sẻ và trao đổi ngữ nghĩa của trợ của các loại công cụ sau. thông tin được biết đến và sử dụng lâu nhất là − Công cụ tạo và liên kết ontology. Các công cụ này ontology. Ontology là bản mô tả một cách tường minh cho phép tạo ra khái niệm, thuộc tính của khái niệm, các khái niệm trong một miền ứng dụng nào đó cùng quan hệ và phân cấp giữa các khái niệm. Công cụ với quan hệ giữa những khái niệm này. Ontology loại này thường có giao diện đồ hoạ và tuân theo cung cấp từ vựng chung cho việc trao đổi thông tin chuẩn của ứng dụng Web. Ví dụ điển hình cho công giữa các ứng dụng và dịch vụ Web. Bản thân phần cụ loại này là Protégé [11]. ngữ nghĩa của Web có ngữ nghĩa bao gồm ontology − Công cụ chú giải (annotation tools). Công cụ chú và giá trị cụ thể của khái niệm định nghĩa trong giải cho phép tạo phần ngữ nghĩa, tức là giá trị cụ ontology. Để biểu diễn ontology và dữ liệu cần có thể của khái niệm, thuộc tính và quan hệ từ dữ liệu ngôn ngữ thích hợp. Trong quá trình hình thành Web thông thường phù hợp với một ontology nào đó. Giá có ngữ nghĩa, nhiều ngôn ngữ như vậy đã được đề trị tạo ra có thể được biểu diễn bởi các ngôn ngữ xuất và phát triển, trong đó được biết đến nhiều nhất được nhắc tới ở phần trên. Hiện nay đa số công cụ là RDF và RDFS [2], DAML+OIL [8,9]. chỉ cho phép chú giải bằng tay, do vậy quá trình chú giải thường đòi hỏi nhiều thời gian [6]. RDF và RDF Schema. RDF (Resource Description Framework) là cơ chế cho phép mô tả dữ liệu về dữ − Các kho chứa. Sau khi tạo ra, các ontology và phần liệu (meta data). RDF coi các đối tượng trên Web ngữ nghĩa phải được lưu vào kho chứa. Những kho (trang Web, đoạn văn, người, các đối tượng khác.v.v.) này thực chất là cơ sở dữ liệu cho phép lưu các mô là các tài nguyên. Mỗi tài nguyên được mô tả bởi bộ tả trên ngôn ngữ RDFS hay DAML+OIL và cho ba đối tượng - thuộc tính – giá trị. Ví dụ, mệnh đề phép biến đổi câu truy vấn trên những ngôn ngữ này “Phương là tác giả bài báo tại trang Web nào đó” sẽ thành câu truy vấn SQL. Một trong những kho chứa được mô tả bởi bộ ba: http:// www , tác giả, điển hình là Sesame [7]. “Phương”. RDF Schema (RDFS) là một biến thể đơn − Dịch vụ suy diễn. Dịch vụ suy diễn cho phép tìm ra giản sử dụng cơ chế RDF. RDFS cho phép mô tả các giá trị cụ thể của các khái niệm hoặc thuộc tính thuộc tính đặc thù cho ứng dụng, đồng thời định nghĩa tương ứng với ontology có trong kho chứa. Một ví lớp các đối tượng có cùng thuộc tính đó. Việc định dụ hệ thống suy diễn kiểu này là Ontobroker [5]. nghĩa lớp đối tượng với thuộc tính và quan hệ rất cần 3. Các ứng dụng thiết cho việc xây dựng ontology. Web có ngữ nghĩa cho phép tăng cường chức năng, DAML + OIL. RDF và RDF Schema chỉ cho phép mức độ thông minh và tính tự động hoá của nhiều ứng biểu diễn ngữ nghĩa ở mức độ đơn giản. Để biểu diễn dụng hiện có. Những lĩnh vực ứng dụng đặc biệt hứa ngữ nghĩa bao gồm nhiều đối tượng có quan hệ lôgic hẹn cho Web có ngữ nghĩa là các dịch vụ Web, quản phức tạp với nhau cần các phương tiện biểu diễn lý tri thức và thương mại điện tử [3]. mạnh hơn. DAML (Darpa Agent Markup Language) Dịch vụ Web là các chương trình và thiết bị có thể và OIL (Ontology Interface Layer) là các phương tiện truy cập thông qua hạ tầng WWW. Web có ngữ nghĩa như vậy. DAML+OIL là một mở rộng của RDFS. cung cấp thông tin và tri thức cần thiết cho việc tìm Trong DAML+OIL, ngữ nghĩa được mô tả thông qua kiếm, tương tác, chia sẻ và kết hợp các dịch vụ Web. lôgic mô tả (descriptive logic) cho phép sử dụng lôgic
- Quản lý tri thức liên quan đến việc thu thập, lưu trữ, công cụ có sẵn song chúng tôi cho rằng, việc kết hợp tìm kiếm, truy cập và cung cấp thông tin, tri thức chúng trong một hệ thống thống nhất (với một số trong các tổ chức với mục đích tận dụng tài sản trí tuệ chỉnh sửa nhất định) là cần thiết để hỗ trợ quá trình của chính tổ chức đó. Công việc này đòi hỏi một số tạo lập và truy vấn Web có ngữ nghĩa một cách hoàn chức năng hoàn chỉnh hơn các hệ thống quản lý văn chỉnh và đồng bộ. bản hoặc dữ liệu thông thường như tìm kiếm thông Ngoài những công cụ có sẵn, hệ thống còn có một minh, tự động tách thông tin từ văn bản, liên kết cơ sở số thành phần do chúng tôi tự xây dựng. Quan trọng dữ liệu, từ động tổng hợp văn bản. Những chức năng nhất trong số đó là mô đun chú giải trang Web tự này có thể thực hiện được trên hạ tầng mà Web có động sử dụng kỹ thuật tách thông tin từ văn bản. Chi ngữ nghĩa cung cấp. tiết về việc tách thông tin về văn bản sẽ được trình Sự phát triển mạnh của thương mại điện tử hiện nay bầy chi tiết trong phần sau của bài báo. Để minh hoạ dẫn đến số lượng khổng lồ các giao dịch trên mạng. cho hoạt động của bộ công cụ tạo ngữ nghĩa, một số Để tự động hoá những giao dịch này, phần mềm hỗ môđun tìm kiếm thông tin dựa trên phần ngữ nghĩa trợ cần có khả năng: chuyển đổi giữa những dạng văn vừa tạo ra cũng được bổ sung vào hệ thống. Các thành bản tồn tại trong giao dịch điện tử, hỗ trợ ontology mô phần của toàn hệ thống được thể hiện trên hình 1. tả hàng hoá và dịch vụ cho phép các agent tìm kiếm, Trong hình 1, hình chữ nhật là các khối chức năng, phân loại và thương lượng về hàng hoá. hình elip biểu diễn thông tin hoặc dữ liệu sinh ra từ những khối chức năng đó. Các hình chữ nhật có III. KHÁI QUÁT VỀ BỘ CÔNG CỤ đường bao đậm và nền xám là những thành phần do Mục tiêu của bộ công cụ là hỗ trợ toàn bộ quá trình chúng tôi tự xây dựng, hình với đường bao nhạt là những thành phần có Tạo ngữ nghĩa Công cụ tạo Soạn thảo với RDF trang Web sẵn được tích hợp vào Ontology hệ thống. Các thành phần có sẵn bao gồm bộ Bộ tải RDF Trang Web soạn thảo ontology Ontology Schema Protégé [11], kho chứa mô tả RDF Sesame [7], Bộ sinh chú bộ tải RDF và RDFS, Information Đánh chỉ mục giải dưới một phần máy tìm kiếm dạng RDF Extractor HTML sử dụng từ khoá truyền thống. Chỉ mục Phần tạo ngữ nghĩa Chú giải Bộ tải RDF HTML Kho chứa được thực hiện bởi các Sesame mô đun nằm trong hình Đánh chỉ mục chữ nhật không liền nét truyền thống ở góc trên bên trái. Đây Giao diện RDF & HTML cũng là phần chính của người dùng Search engine Tìm kiếm hệ thống. Phần ngữ nghĩa sinh ra sẽ được sử Hình 1. Bộ công cụ tạo Web có ngữ nghĩa và ứng dụng đi kèm dụng cho ứng dụng tìm tạo lập, lưu trữ và truy vấn phần ngữ nghĩa của trang kiếm thông tin thông minh với máy tìm kiếm và giao Web. Quá trình này đòi hỏi sự hỗ trợ của nhiều công diện thể hiện ở phía dưới hình vẽ. Để đảm bảo tính cụ riêng biệt. Mặc dù nhiều công cụ như vậy là những
- tương thích của phần tìm kiếm cho Web truyền thống IV. TÁCH THÔNG TIN TỪ VĂN BẢN VÀ CHÚ (không có ngữ nghĩa), hệ thống còn bao gồm mô đun GIẢI TỰ ĐỘNG đánh chỉ mục HTML theo từ khoá (ở phía bên phải Nhiệm vụ của khối tách thông tin từ văn bản là phát trên hình 1). hiện những thông tin, dữ liệu tương ứng với các khái Hệ thống hoạt động như sau. niệm trong ontology, tách những thông tin này và chuyển cho khối sinh chú giải. Ví dụ, xét đoạn văn Trước tiên, người sử dụng tạo ra ontology cho một bản sau lấy từ trang Web đăng thông tin tuyển dụng miền ứng dụng cụ thể nhờ công cụ soạn thảo lao động (Để tiện cho việc trình bầy thuật toán, ví dụ ontology. Sau đó ontology được chuyển thành mô tả được sử dụng là tiếng Việt. Trên thực tế, phương pháp trên RDFS và được chứa trong kho chứa Sesame. tách văn bản được đề xuất cho tiếng Anh. Việc nghiên cứu ứng dụng cho tiếng Việt không nằm trong phạm − Sau khi đã tạo được ontology, bước tiếp theo là chú vi bài báo này và có thể được trình bầy trong khuôn giải các trang Web, tức là thêm phần ngữ nghĩa cho khổ những nghiên cứu khác). trang Web bằng cách điền giá trị cho các khái niệm Cần tuyển lập trình viên cho dự án thương và thuộc tính trong ontology bằng thông tin lấy từ mại điện tử. Ứng viên cần có ít nhất bốn năm trang Web. Thông thường, việc chú giải được thực kinh nghiệm, có khả năng làm việc với hệ hiện bằng tay. Với số lượng trang Web lớn, công điều hành Windows và Unix. Ứng viên phải đoạn này đòi hỏi nhiều thời gian và dễ sinh lỗi như sử dụng thành thạo các ngôn ngữ lập trình để thiếu chú giải, chú giải không chính xác. Bộ công Java, Javascript, đặc biệt phải có kinh cụ của chúng tôi cho phép giải quyết vấn đề đó nhờ nghiệm lập trình Java không dưới ba năm. mô đun tách thông tin từ trang Web và tạo chú giải Ưu tiên những ứng viên có kỹ năng làm việc tự động. Để chú giải cho một trang Web, trang Web với cơ sở dữ liệu Oracle. được đưa và mô đun tách thông tin tự động. Dựa trên cấu trúc ontology, mô đun này tách từ trang Giả sử ontology có các khái niệm, thuộc tính và Web những thông tin về giá trị cụ thể của khái niệm quan hệ như mô tả trên hình 2. Quá trình tách thông và thuộc tính chứa trong ontology. tin phải cho kết quả sau: nghề: lập trình viên Thông tin được tách ra ở bước trên được đưa sang lập trình viên: kinh nghiệm :bốn năm kỹ năng: bộ sinh chú giải. Mô đun này có nhiệm vụ tạo các bộ hệ điều hành: Windows, Unix ba RDF mô tả những thông tin được tách ra và chuyển ngôn ngữ: Javascript mô tả vừa được tạo ra sang kho chứa Sesame. Java: kinh nghiệm :ba năm. Có nhiều kỹ thuật tách thông tin được đề cập đến − Song song với quá trình trên, trang Web cũng được trong các nghiên cứu [4,10,12]. Do văn bản cần chú đánh chỉ mục theo từ khoá như cách truyền thống. giải là văn bản có cấu trúc yếu (viết dưới dạng ngôn Cuối cùng, phần ngữ nghĩa được sử dụng trong máy ngữ tự nhiên), đồng thời thông tin tách ra phải có cấu tìm kiếm. Máy tìm kiếm sử dụng ngôn ngữ RQL để trúc như ontology quy định nên chúng tôi đã lựa chọn truy vấn kho chứa, đồng thời kết hợp với cơ chế suy kỹ thuật tách thông tin mô tả trong [4] - kỹ thuật cho diễn dựa trên ngữ nghĩa để đưa ra kết quả tìm kiếm phép thoả mãn tốt nhất hai yêu cầu này. Chúng tôi thông minh. Câu truy vấn có thể được cho dưới dạng cũng thực hiện một số sửa đổi để quá trình tách thông ngôn ngữ tự nhiên. Trong trường hợp đó, phần ngữ tin phù hợp hơn với yêu cầu bộ công cụ [13]. nghĩa của câu truy vấn được tách ra cùng bằng kỹ thuật tương tự như phần tách thông tin phục vụ chú giải.
- khoá có trong văn bản. Kết quả nhận dạng hằng và từ Nghề HĐH rdfs:subClassOf khoá được chứa trong bảng như mô tả ở bước 2. rdfs:domain − Bước 2: Tạo bảng Tên|Giá trị|Vị trí. Những hằng Lập trình Kỹ năng và từ khoá được nhận dạng ở bước trên được chứa viên rdfs:domain rdfs:domain trong một bảng. Mỗi dòng của bảng này chứa tên Kinh của khái niệm hoặc thuộc tính ứng với hằng hay từ Ngôn ngữ Kinh nghiệm nghiệm khoá tìm được, giá trị tìm được, vị trí bắt đầu và kết Hình 2: Một ví dụ ontology (không đầy đủ) thúc trong văn bản. Từ khoá được phân biệt với hằng bằng cách cho tiền tố KEYWORD ở trước. Ví Quá trình tách thông tin bao gồm những bước sau: dụ, từ đoạn văn bản trong ví dụ trên, ta xây dựng − Bước1: Nhận biết hằng và từ khoá. Hằng là giá trị được bảng sau (chỉ thể hiện một phần của bảng) cụ thể của khái niệm hay thuộc tính chứa trong ontology. Từ khoá là từ hoặc cụm từ cho phép xác lập trình viên:kinh nghiệm|bốn năm|80|86 ngôn ngữ:kinh nghiệm|bốn năm|80|86 định hằng thuộc về khái niệm hay thuộc tính nào. KEYWORD lập trình viên:kinh nghiệm|kinh Chẳng hạn, trong ví dụ trên “Java” là một hằng, còn nghiệm|88|98 “ngôn ngữ lập trình” là từ khoá cho biết hằng đó KEYWORD kỹ năng:hệ điều hành|hệ điều hành|126|137 thuộc về thuộc tính “ngôn ngữ” của khái niệm “kỹ kỹ năng:hệ điều hành|Windows|139|145 năng”. kỹ năng:hệ điều hành|Unix|151|154 KEYWORD kỹ năng:ngôn ngữ|ngôn ngữ Hằng và từ khoá được xác định bằng cách sử dụng lập trình|196|213 các quy tắc. Quy tắc ở đây là các mẫu được biểu diễn kỹ năng:ngôn ngữ|Java|212|215 kỹ năng:ngôn ngữ|Javascript|218|227 dưới dạng regular expression (như ở trong Perl) kỹ năng:ngôn ngữ|Java|270|273 nhưng được mở rộng thêm bởi một số từ vựng. Ví dụ, mẫu nhận dạng thời gian kinh nghiệm được cho như − Bước 3: Tạo thông tin ứng với ontology từ bảng sau: trên. Ở bước này, thông tin từ bảng Tên|Giá trị|Vị Lập trình viên: Kinh nghiệm case trí được sử dụng để sinh ra giá trị cho khái niệm và insensitive thuộc tính trong bảng. Thực chất của bước này là constant {extract Số, “[a-zA- giải quyết mâu thuẫn hoặc không rõ ràng về thông Z\s]*\s+năm” }; lexicon {Số case insensitive, filename tin trong bảng bằng cách sử dụng một số quy tắc “number.dat” }; heuristic. Ví dụ, trong bảng trên, ta thấy “bốn năm” keyword {“\bkinh nghiệm\b” } được nhận dạng ở bước 1 vừa thuộc loại kinh end; nghiệm lập trình nói chung, vừa thuộc loại kinh Mẫu trên cho biết thuộc tính “kinh nghiệm” của nghiệm lập trình ngôn ngữ do phù hợp với mẫu của “lập trình viên” được nhận dạng bởi biểu thức bắt đầu cả hai thuộc tính này. Hay “Java” cũng được nhận bởi một “Số”, kết thúc bởi “năm”; “Số” là từ vựng dạng hai lần, trong khi chỉ có thể cho một giá trị vào chứa trong file có tên “number.dat” (từ vựng này liệt kho chứa. Ở đây, ta sử dụng một số heuristic sau: kê các xâu “một”, “hai”, “ba”.v.v.); từ khoá đi kèm là “\bkinh nghiệm\b”. Nếu một khái niệm hoặc thuộc tính chỉ được phép có một giá trị nhưng bảng lại chứa nhiều giá trị thì Các mẫu nhận dạng hằng và từ khoá được chứa chỉ giữ lại giá trị gần từ khoá tương ứng nhất. Ví dụ, trong ontology cùng với mô tả khái niệm và thuộc trong bảng trên có hai hằng cho thuộc tính “lập trình tính. Như vậy, chúng tôi đã mở rộng ontology bình viên:kinh nghiệm” là “ba năm” và “bốn năm”. thường để chứa thêm những thông tin này. Heuristic này cho phép loại giá trị “ba năm” do nằm Khi bắt đầu quá trình tách thông tin, tất cả các mẫu xa từ khoá “lập trình viên : kinh nghiệm”. được lần lượt sử dụng để tìm kiếm các hằng và từ
- Nếu có nhiều hằng trùng nhau thì chỉ giữ lại hằng liệu miễn phí với nhiều ưu điểm như nhanh, không đòi tương ứng với từ khoá gần nhất. Chẳng hạn, trong hỏi nhiều tài nguyên. bảng trên có hai hằng “bốn năm” thì chỉ giữ lại hằng Phần mềm máy chủ Web là Tomcat 4.1 ứng với “lập trình viên:kinh nghiệm” vì nằm gần từ ( Đây là phần mềm khoá này hơn. miễn phí hỗ trợ Servlet / JSP. Nếu có nhiều giá trị hằng / từ khoá lồng nhau thì Phần đánh chỉ mục trang Web và tìm kiếm theo từ chỉ giữ lại hằng / từ khoá dài hơn. Chẳng hạn, từ khoá được xây dựng dựa trên máy tìm kiếm Jakarta khoá “kinh nghiệm lập trình” lồng từ khoá “kinh Lucene ( Đây là máy nghiệm” nhưng lại dài hơn, do đó chỉ giữ lại “kinh tìm kiếm mã nguỗn mở được viết trên Java và hỗ trợ nghiệm lập trình” cho vị trí đó. nhiều tính năng tìm kiếm mở rộng với từ khoá. Nếu một khái niệm chỉ có thể có một giá trị thì chọn 2. Ứng dụng minh hoạ và thử nghiệm hằng đầu tiên xuất hiện trong bảng. Với mục đích minh hoạ và thử nghiệm, hệ thống Các quan hệ một-nhiều thường được thể hiện bởi được sử dụng chú giải các trang Web chứa thông tin các hằng có vị trí lồng nhau trong văn bản. cá nhân và kỹ năng của lập trình viên, sau đó phần tìm kiếm cho phép tìm kiếm thông tin về những người này Trong các quy tắc trên, khoảng cách dùng để so dựa trên ngữ nghĩa hoặc từ khoá. Trước hết, một sáng được tính theo vị trí xuất hiện hằng và từ khoá ontology về nghề lập trình và những kỹ năng, kinh trong văn bản. Sau khi áp dụng những heuristic trên, nghiệm liên quan được tạo ra. Ontology này chỉ cần các hằng còn lại được chuyển sang bộ sinh chú giải để tạo một lần cho tất cả các trang Web. biến đổi về dạng RDF. Sau khi có ontology, người dùng sử dụng giao diện của hệ thống để nhập trang Web cần chú giải. Ở đây V. TRIỂN KHAI VÀ THỬ NGHIỆM có thể tạo mới trang Web và chú giải luôn hoặc tạo 1. Triển khai hệ thống chú giải một trang có sẵn bằng cách tải trang đó lên. Giao diện nhập trang Web cần chú giải được cho trên Hệ thống được triển khai như một ứng dụng Web, hình 3. mọi giao diện đều sử dụng Web form và được hiển thị bằng trình duyệt. Lựa chọn này cho phép xây dựng và lưu trữ phần ngữ nghĩa tập trung trên máy chủ hoặc ngay trên máy cục bộ. Chúng tôi đã sử dụng những ngôn ngữ và công cụ sau để triển khai hệ thống. Ngôn ngữ lập trình là ngôn ngữ Java. Java được lựa chọn do có nhiều ưu điểm: thích hợp với lập trình ứng dụng Web, cụ thể là hỗ trợ Servlet/JSP; là ngôn ngữ hoàn toàn hướng đối tượng; không phụ thuộc phần cứng và hệ điều hành, có thể kết nối với cơ sở dữ liệu thông qua JDBC. Ngoài ra, thư viện chuẩn của Java (từ phiên bản 1.4) hỗ trợ regular expression cần thiết cho phần tách thông tin. Hình 3. Nhập trang Web cần chú giải Hệ thống bao gồm hai cơ sở dữ liệu, một dùng cho Sau khi xác định trang Web cần tạo ngữ nghĩa và kho chứa Sesame và một chứa các thông tin quản lý bấm nút “Create”, bộ sinh tách thông tin sẽ sinh ra của hệ thống. Cả hai đều được xây dựng sử dụng hệ chú giải. Người dùng có thể xem những chú giải được quản trị CSDL MySQL. Đây là hệ quản trị cơ sở dữ tạo ra và có thể chỉnh sửa theo mong muốn. Hình 4
- minh hoạ phần chú giải về kỹ năng của lập trình viên lượng xây dựng ontology ảnh hưởng nhiều nhất tới được tạo ra cho một trang Web ví dụ chất lượng chú giải. Sau khi hiệu chỉnh ontology, với 30 trang Web cá nhân, giá trị của recall và precision tương ứng là 88% và 95%. Các chỉ số recall và precision như vậy là tương đối cao và phù hợp với đặc điểm của phương pháp tách thông tin đã lựa chọn. Kết quả chú giải tự động có thể hiệu chỉnh bằng tay sau đó để cho kết quả tốt nhất. Do nội dung chủ yếu của bài báo là trình bầy về bộ công cụ nên những thử nghiệm nói trên chỉ mang tính chất minh hoạ cho hoạt động của hệ thống. Số lượng mẫu thử được sử dụng, do vậy, không lớn và không đa dạng. Tuy nhiên, kết quả thử nghiệm đầy đủ hơn về hoạt động của thuật toán tách thông tinh từ văn bản đã được trình bầy trong [4] và các bài báo liên quan. Hình 4: Chú giải về kỹ năng được tách từ trang Web VI. KẾT LUẬN Sau khi đã chú giải các trang Web, người dùng có Bài báo trình bầy việc thiết kế và xây dựng bộ công thể tìm kiếm thông tin theo từ khoá và/hoặc theo ngữ cụ hỗ trợ tạo Web có ngữ nghĩa cùng với ứng dụng nghĩa như ví dụ trên hình 5. minh hoạ. Kết quả xây dựng công cụ cho thấy, việc sử dụng kỹ thuật tách thông tin từ văn bản cho phép giảm đáng kể thời gian chú giải thông tin trên trang Web, phần việc chiếm nhiều thời gian nhất khi tạo Web có ngữ nghĩa. Phần chú giải thông tin tự động sử dụng thuật toán tách thông tin có độ chính xác khá cao. Kinh nghiệm xây dựng bộ công cụ cũng cho thấy, việc hiệu chỉnh và tích hợp một số công cụ đã có sẵn cho phép giảm thời gian đồng thời tăng thêm tính năng bộ công cụ và tạo thuận lợi cho người sử dụng so với dùng từng công cụ riêng lẻ. Tuy nhiên, bộ công cụ còn thiếu một số chức năng tự động khác như tự động sinh ontology từ văn bản. Hình 5: Kết quả tìm kiếm kết hợp từ khoá và ngữ nghĩa Phần chú giải tự động trang Web đóng vai trò quan Để thử nghiệm hệ thống, chúng tôi sử dụng 30 trọng trong việc sinh ra ngữ nghĩa cho những trang trang thông tin cá nhân của lập trình viên đang làm Web đã có sẵn. Chất lượng chú giải phụ thuộc nhiều việc tại trung tâm xuất khẩu phần mềm FPT Fsoft và vào quá trình tách thông tin. Theo chúng tôi được biết, một số trang lấy từ Internet. Những trang này được hiện chưa có nghiên cứu nào đề cập tới việc tách chú giải tự động bởi bộ công cụ, sau đó chú giải bằng thông tin từ văn bản tiếng Việt. Phương pháp tách tay và so sánh kết quả. Kết quả được đánh giá theo hai thông tin trình bầy ở trên cũng chỉ được đề xuất cho chỉ số recall (tỷ lệ thông tin tách được/thông tin có tiếng Anh và chưa được nghiên cứu áp dụng cho văn trong văn bản) và precision (tỷ lệ thông tin tách bản tiếng Việt. Tuy nhiên, do đặc điểm của phần tách đúng/thông tin tách được). Thử nghiệm cho thấy, chất thông tin sử dụng khoảng cách giữa các từ, trong khi
- ngữ pháp tiếng Anh và tiếng Việt đều quy định chặt [13] Tu Minh Phuong, Information Extraction and chẽ thứ tự các từ trong câu, thuật toán tách thông tin Evaluation of Candidates with Fuzzy Set techniques, được trình bầy ở trên có thể sử dụng cho văn bản Proc. of Inter. Conf. on Fuzzy syst. and Knowl. discovery, FSKD 2002, Singapore, 2002, pp 481-485. tiếng Việt với một số sửa đổi không lớn. Giả thiết này cần được nghiên cứu thêm và có thể là mục tiêu của những nghiên cứu tiếp theo. PHỤ LỤC Lời cảm ơn: Nghiên cứu được thực hiện với sự hỗ trợ kinh phí của Hội đồng Khoa học tự nhiên. Ví dụ một phần ontology được tạo ra cho ví dụ trong phần 5.2. Ontology được cho dưới dạng giao TÀI LIỆU THAM KHẢO diện Protégé. [1] T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web, Scientific American, May 2001. A. Các thực thể trong Ontology Skills [2] D. Brickley, R.V. Guha, Resource Description Framework (RDF) Schema Specification, World Wide Web Consortium, Proposed recommendation 2001. [3] Y. Ding, D. FenselL, M. Klein, B. Omelayenko, The semantic Web: yet another hip? Data & Knowledge Engineering 41, Elsevier 2002, pp 205–227. [4] D.W. Embley, D.M. Campbell, R.D. Smith, S.W. Liddle, Ontology-Based Extraction and Structuring of Information from Data-Rich Unstructured Documents, Proc. of 1998 ACM Inter. Conf. on Inform. and Knowledge Man., CIKM 1998, USA, pp 52-59. [5] D. Fensel, S. Decker, M. Erdmann, H.-P. Schnurr, R. Studer, A. Witt, Lessons learned from applying AI to the Web, Journal of Cooperative Information Systems B. Định nghĩa các class trong ontology Skills 9 (4) (2000). [6] S. Handschuh, S. Staab, CREAM – Creating metadata for the semantic Web, Computer networks, vol. 42, Elsevier 2003, pp 557-571. [7] [8] [9] [10] N. Kushmeric, Wrapper induction: efficiency and expressiveness, Artificial intelligence, vol.118,2000. [11] N. F. Noy, M. Sintek, S. Decker, M. Crubézy, R. W. Fergerson, M. A. Musen, Creating semantic Web contents with Protégé -2000, IEEE Intelligent systems, 3-4/2001, pp 60-71. [12] S. Soderland, Learning information extraction rules Ngày nhận bài 26/4/2004 for semi-structured and free text. Machine learning, 34. Kluwer Academic Publishers.(1999)
- SƠ LƯỢC TÁC GIẢ TỪ MINH PHƯƠNG TRỊNH HỮU KIÊN Sinh năm 1971 tại Hà Nội. Sinh năm: 1982 Tốt nghiệp đại học tại ĐH Tốt nghiệp Đại học tại Học Bách khoa Taskent năm 1993, viện Bưu chính viễn thông bảo vệ tiến sỹ tại Viện hàn lâm năm 2003. khoa học Uzbekistant, Hiện đang công tác tại Công Taskent, năm 1995 ty phần mềm FPT (Fsoft). Hiện là giảng viên khoa Hướng nghiên cứu: Phát Công nghệ thông tin 1, Học triển các ứng dụng sử dụng trí viện công nghệ Bưu chính tuệ nhân tạo. Viễn thông. Email: trinhhuukien@yahoo.com Hướng nghiên cứu: trí tuệ nhân tạo, hệ tác tử, logic mờ, bioinformatics. Email: phuongtm@fpt.com.vn