Nghiên cứu và ứng dụng các nền tảng phát triển hệ thống ngữ nghĩa mở Nghiên cứu và ứng dụng các nền tảng phát triển hệ thống ngữ nghĩa mở Nghiên cứu và ứng dụng các nền tảng phát triển hệ thống ngữ nghĩa mở luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Nguyễn Xuân Cƣờng NGHIÊN CỨU VÀ ỨNG DỤNG CÁC NỀN TẢNG PHÁT TRIỂN HỆ THỐNG NGỮ NGHĨA MỞ Chuyên ngành: Kỹ thuật phần mềm LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS CAO TUẤN DŨNG HÀ NỘI – 2019 LỜI CAM ĐOAN Tôi – Nguyễn Xuân Cường – cam kết luận văn cơng trình nghiên cứu thân tơi hướng dẫn PGS.TS Cao Tuấn Dũng Các kết nêu luận văn trung thực, chép tồn văn cơng trình khác Hà Nội, ngày 27 tháng 04 năm 2019 Học viên Nguyễn Xuân Cường LỜI CAM ĐOAN DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ DANH MỤC HÌNH DANH MỤC BẢNG MỞ ĐẦU 10 Mục đích nghiên cứu luận văn 10 Nội dung luận văn 10 Các đóng góp khoa học luận văn 10 Chương 1: Kiến thức tảng 11 1.1 Tổng quan Web ngữ nghĩa 11 1.1.1 Khái niệm 11 1.1.2 Kiến trúc Web ngữ nghĩa 11 1.1.3 Vai trò thành phần Web ngữ nghĩa 12 1.1.4 Ontology [7] 15 1.1.5 Metadata [9] 17 1.1.6 SPARQL [5] 17 1.2 Bài toán phát triển hệ thống ngữ nghĩa 18 1.2.1 Mơ hình phát triển hệ thống Web ngữ nghĩa 18 1.2.2 Mơ hình phát triển hệ thống tìm kiếm ngữ nghĩa 20 1.3 Tiểu kết chương 21 Chương 2: Các tảng phát triển hệ thống ngữ nghĩa mở 22 2.1 Vai trò tảng ngữ nghĩa mở 22 2.2 Nền tảng dotnetRDF 23 2.2.1 Tổng quát dotnetRDF 23 2.2.2 Kiến trúc 24 2.2.3 Khả ứng dụng dotnetRDF 27 2.3 Nền tảng Open Semantic Framework (OSF) 27 2.3.1 Tổng quát OSF 27 2.3.2 Kiến trúc OSF 28 2.3.3 Khả ứng dụng OSF 36 2.4 Nền tảng Open Semantic Search (OSS) 39 2.4.1 Tổng quát OSS 39 2.4.2 Kiến trúc OSS 42 2.4.3 Khả ứng dụng OSS 46 2.5 Đánh giá tảng ngữ nghĩa mở 47 2.6 Tiểu kết chương 48 Chương 3: Thử nghiệm ứng dụng quản lý thông tin văn sử dụng Open Semantic Search 49 3.1 Bài tốn quản lý thơng tin văn 49 3.2 Các thành phần ứng dụng 50 3.3.1 Django Framework 50 3.3.2 ETL 54 3.3.3 Solr 58 3.3.4 Xây dựng ứng dụng thử nghiệm 64 3.3 Các kết 73 3.4 Tiểu kết chương 75 Chương KẾT LUẬN 77 TÀI LIỆU THAM KHẢO 78 PHỤ LỤC 80 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết đầy đủ Từ viết tắt, thuật ngữ OSF Open Semantic Framework OSS Open Semantic Search CMA Content Management Application CDA Content Delivery Application URI Uniform Resource Identifier CRUD Create Read Update Delete HTML Hypertext Markup Language API CSR CSRF Application Programming Interface Cross-Site Scripting Cross-Site Request Forgery RDF Resource Description Framework RDFS Resource Description Framework Schema OWL Web Ontology Language SPQRQL SPARQL Protocol and Query Language OSF Open Semantic Framework OSS Open Semantic Search RIF Rule Interchange Format URL Uniform Resource Locator JSON JavaScript Object Noattion JSON-LD JavaScript Object Noattion for Linked Data RDFa Resource Description Framework in Attributes CMS Content Managerment System WOA Web-Oriented Architecture HTTP HyperText Transfer Protocol SKOS Simple Knowledge Organization System UML Unified Modeling Language XML eXtensible Markup Language UI User Interface MVT Models Views Temples DBA Database Administrator DIH Data Import Handler ETL Extract Transform Load OCR Optical Character Recognition DANH MỤC HÌNH Hình 1-1 Kiến trúc tầng cơng nghệ ngữ nghĩa [2] 12 Hình 1-2 Đồ thị ví dụ RDF 13 Hình 1-3 Các mức độ ngữ nghĩa [8] 16 Hình 1-4 Mơ hình triển khai ứng dụng ngữ nghĩa [10] 19 Hình 1-5 Kiến trúc máy tìm kiếm [11] 20 Hình 2-1 Quá trình phát triển hệ Web [12] 23 Hình 2-2 Dự án lõi dotnetRDF 24 Hình 2-3 Chi tiết project dotnetRDF 25 Hình 2-4 Các lớp DataTable dotnetRDF 25 Hình 2-5 Các lớp Virtuoso 25 Hình 2-6 Các class Fulltext 26 Hình 2-7 Truy vấn SPIN 26 Hình 2-8 Web dotnetRDF 27 Hình 2-9 Kiến trúc tầng OSF [14] 29 Hình 2-10 Kiến trúc tầng chi tiết OSF [15] 30 Hình 2-11 Giao diện OSS 42 Hình 3-1 Mơ hình MVT (Models – Views – Templates) Django [22] 51 Hình 3-2 Chuyển đổi từ Model sang Bảng sở liệu [22] 52 Hình 3-3 Kiến trúc Solr [18] 59 Hình 3-4 Tải liệu vào Solr [18] 60 Hình 3-5 Sơ đồ trình tự ứng dụng 67 Hình 3-6 Các thành phần ứng dụng 69 Hình 3-7 Các mơ-đun OSS 70 Hình 3-8 Mơ-đun crawler OSS 70 Hình 3-9 Ánh xạ OntoNotes5 SpaCy 71 Hình 3-10 Kết thực thể PERSON 71 Hình 3-11 Giao diện tìm kiếm theo tác giả 73 Hình 3-12 Kết tìm kiếm tài liệu theo tác giả Eduard Hovy 73 Hình 3-13 Một số tổ chức nhận diện 74 DANH MỤC BẢNG Bảng 2-1 Các dịch vụ Web OSF 32 Bảng 2-2 Các dự án OSS [16] 41 Bảng 2-3 Bảng đánh giá tảng 48 Bảng 3-1 Bảng thích tên thực thể OntoNotes [17] 57 Bảng 3-2 Cấu trúc thư mục Solr 61 Bảng 3-3 Bảng số thuộc tính trường schema.xml 62 Bảng 3-4 Các thành phần quan trọng schema.xml 62 Bảng 3-5 Bảng cấu tham số cấu hình solrconfig.xml 63 Bảng 3-6 Một số API sử dụng Solr 64 Bảng 3-7 Các trường hợp sử dụng ứng dụng 65 Bảng 3-8 Bảng Senario ứng dụng 66 Bảng 3-9 Thông tin cấu hình solrconfig.xml 68 Bảng 3-10 Cấu hình plugin quan trọng ETL 68 Bảng 3-11 Bảng API tìm kiếm sử dụng Thử nghiệm 72 Bảng 3-12 Kết tìm kiếm 74 Bảng 3-13 Đánh giá kết thử nghiệm 75 LỜI CẢM ƠN Để hồn thành luận văn tốt nghiệp này, em xin chân thành cảm ơn thầy hướng dẫn luận văn tốt nghiệp, PGS.TS Cao Tuấn Dũng, môn Công nghệ phần mềm, trường đại học Bách Khoa Hà Nội Thầy nhiệt tình hướng dẫn, truyền đạt kiến thức cần thiết định hướng cho em trình thực đề tài Em xin chân thành cảm ơn thầy cô giáo môn Công nghệ phần mềm, trường Đại học Bách Khoa Hà Nội Dù cố gắng luận văn chắn khơng tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp thầy Em xin chân thành cảm ơn! MỞ ĐẦU Mục đích nghiên cứu luận văn Luận văn có nhiệm vụ cụ thể sau: Tìm hiểu cơng nghệ Web ngữ nghĩa vai trò hệ thống thông tin đại Nghiên cứu, tổng hợp thông tin tảng phát triển công nghệ ngữ nghĩa mở, đánh giá khả ứng dụng triển khai, ưu nhược điểm Lựa chọn tảng – xây dựng thử nghiệm tính xử lý thơng tin với hỗ trợ ngữ nghĩa Đề xuất đưa hướng dẫn, kinh nghiệm triển khai hệ thống với công nghệ ngữ nghĩa sử dụng tảng mở Nội dung luận văn Nội dung luận văn bao gồm chương: Chương 1: Tổng quan Web ngữ nghĩa toán phát triển hệ thống Web ngữ nghĩa Chương tìm hiểu lý thuyết Web ngữ nghĩa khái niệm Web ngữ nghĩa, tham khảo số mơ hình hệ thống ứng dụng Web ngữ nghĩa nghiên cứu Chương 2: Các tảng phát triển hệ thống ngữ nghĩa mở Chương tìm hiểu tảng hỗ trợ lập trình, xây dựng hệ thống ngữ nghĩa dotnetRDF, Open Semantic Search, Open Semantic Framework Chương 3: Thử nghiệm ứng dụng quản lý thông tin văn sử dụng Open Semantic Search Chương sử dụng tảng Open Semantic Search để phân tích tài liệu, thực tìm kiếm tài liệu đưa vào phân tích Chương Kết luận Các đóng góp khoa học luận văn Luận có hai đóng góp sau: Dựa nghiên cứu ba tảng dotnetRDF, Open Semantic Framework, Open Semantic Search đưa đánh giá cụ thể tảng giúp nhà phát triển có lựa chọn thích hợp với trường hợp sử dụng Đưa kinh nghiệm sử dụng triển khai tảng Open Semantic Search việc tìm kiếm tài liệu văn 10 thơng tin cấu hình Bảng số cấu hình Solr sử dụng ứng dụng thử nghiệm Bảng 3-9 Thông tin cấu hình solrconfig.xml Tên trường Giá chị cấu hình dataDir ${solr.data.dir:} updateLog ${solr.ulog.dir} autoCommit maxTime=1500, openSearcher=false maxBooleanClauses 1024 lockType ${solr.lock.type:native} Để thực cấu hình etl cầu vào tệp etl.config thư mục etc/opensemanticsearch Trong tệp etl.config có chứa cấu hình mặc định khơng muốn sử dụng plugin thêm ký tự „#‟ đầu plugin xóa bỏ chúng Để thực ứng dụng tác giả thực số cấu sau: Bảng 3-10 Cấu hình plugin quan trọng ETL Tên Plugin Cấu hình Ý nghĩa sử dụng export config['export'] = 'export_solr' Lựa chọn Solr Elastic Searh lưu trữ tìm kiếm Solr config['solr'] 'http://localhost:8983/solr/' = Cấu hình địa máy chủ Solr Solr core config['index'] 'opensemanticsearch' = Đặt tên cho Solr core enhance_rdf config['plugins'].append('enhanc e_rdf') Đọc thông tin từ tệp rdf xml enhance_pdf_ocr config['plugins'].append('enhanc e_pdf_ocr') Nhận diện ký tự từ tệp pdf enhance_ner_spacy config['plugins'].append('enhanc e_ner_spacy') Cho phép nhận diện tên thực thể SpaCy ocr_lang Cấu hình ngơn ngữ nhận diện OCR config['ocr_lang'] = 'eng+deu' 68 Bước 2: Lập trình ứng dụng Tìm kiếm Nhập tài liệu UI etl.py SOLR SpaCy OntoNotes ETL Hình 3-6 Các thành phần ứng dụng Dựa tìm hiểu từ đầu luận văn tác giả lập trình ứng dụng sử dụng tính OSS ETL chuyên để xử lý văn Hình ảnh bên tương tác thành phần ứng dụng Ứng dụng có thành phần giao diện người sử dụng (UI) xây dựng html, css phần php cung cấp giao diện cho phép người dùng đưa vào tệp tài liệu, từ khóa tìm kiếm, thao tác với ứng dụng Khi cài đặt OSS mã nguồn chương trình lưu trữ địa /var/lib/opensemanticsearch thư mục có nhiều mơ-đun OSS annotate, api, crawler, csv_manager, files, hypothesis, ontologies, morphology, thesaurus,… mô-đun thực chức riêng annotate thực việc ghi thích ngữ nghĩa, ontologies làm nhiệm vụ quản lý ontology, theraurus thực việc tìm kiếm thơng tin, quản lý ngữ nghĩa Ứng dụng thử nghiệm không thực 69 thay đổi mơ-đun khác thực thêm mã chương trình vào mơ-đun crawler Hình 3-7 Các mơ-đun OSS OSS xây dựng dựa mơ hình MVT tất các mơ-đun /var/lib/opensemanticsearch có mơ hình MVT Tệp models.py model mô-đun crawler, thư mục templates chứa tệp html để xây dựng thành phần UI mô-đun [mã thực thi Phụ lục 1], thư mục static chứa java script, css, tệp views.py thực khai báo thêm phương thức custom_crawl sử dụng api ETL etl-file để thực gọi đến ứng dụng ETL địa usr/lib/python3/dist-packages/opensemanticetl/etl.py để thực việc phân tích tài liệu đưa vào [mã thực thi Phụ lục 2] Dữ liệu sau phân tích đưa vào Solr để lập mục Khi người dùng thực tìm kiếm phương thức search() tương tác với Solr thông qua API Solr trả kết Hình 3-8 Mơ-đun crawler OSS 70 ETL bắt đầu thực xử lý tài liệu tệp etl.py Trong tệp thực đọc plugin cấu hình, plugin thực nhiệm vụ riêng Nếu cấu hình cho phép nhận diện ký tự OCR plugin tải lên Khi ứng dụng tải vào tệp pdf đọc thơng tin văn tệp Nếu cấu hình SpaCy cho phép sử dụng ứng dụng phân tích nhận diện thực thể PERSON, ORGANIZATION, LOCATION,… bảng 3-1 chương Việc sử dụng tính ngữ nghĩa ứng dụng thực OntoNotes mà SpaCy kế thừa dụng Chính việc sử dụng OntoNotes cho phép từ chuỗi liệu đầu vào mà Spacy phân tích liệu mô tả người, liệu thuộc tổ chức, liệu thuộc vị trí địa lý,… Hình 3-9 Ánh xạ OntoNotes5 SpaCy Dữ liệu sau phân tích SpaCy có dạng Json, sau đưa trở lại etl.py đưa đến Solr Solr chịu trách nhiệm tổ chức lưu trữ, đánh mục Khi có truy vấn gửi từ người sử dụng Solr trả kết tương ứng, chúng hiển thị lên giao diện sử dụng Hình bên minh họa thực thuộc PERSON nhận diện văn xuất lưu trữ Solr Hình 3-10 Kết thực thể PERSON 71 Trong tệp enhance_ner_spacy.py phương thức process thực đọc cấu hình từ tệp cấu hình, kết nối đến Tika server để xử lý liệu đưa vào đầu tập dạng json r = response.json() danh sách vị trí đầu tiên, vị trí cuối thực thể Dựa kết thực thể cắt phương thức entity = text[ int(ent['start']) : int(ent['end']) ] entity = entity.strip() tập thực thể đưa đến etl etl.append(data, mapping[entity_class], entity) Trong tệp etl.py có phương thức def append(data, facet, values) thực đưa tất liệu append vào chuẩn bị đưa đến Solr để lập mục lưu trữ Solr Sử dụng API Solr để truy vấn liệu phân tích, tìm kiếm nào? Tìm kiếm thơng tin gì? Định dạng kết trả ,… thực Solr OSS tích hợp Solr tìm kiếm phụ thuộc vào Solr Như nhận thấy OSS tảng ngữ nghĩa mở có tính tìm kiếm chức chức phát triển nội OSS mà tích hợp phần mềm khác Nhìn từ thực tế sử dụng ETL nhận thấy ETL chất khơng phải cơng cụ hồn tồn phát triển nhóm tác giả mà tích hợp từ mơ-đun có sẵn khác để hồn thành nhiệm vụ quan trọng phân tích liệu từ nhiều nguồn khác nhau, chuẩn hóa chúng để đưa vào Solr Elastic Search phục vụ tìm kiếm Trong ETL lại không thiết phải xây dựng ontology, thích ngữ nghĩa,… mà thực mô-đun khác OntoNotes Dưới tác giả xin đưa số API sử dụng ứng dụng thử nghiệm, API tạo hoàn toàn API Solr Bảng 3-11 Bảng API tìm kiếm sử dụng Thử nghiệm Ý nghĩa API Tìm kiếm tất thơng tin liệu http://localhost:8983/solr/opensemanticsearch/sele Solr ct?q=*.* Tìm kiếm tất thơng tin có http://localhost:8983/solr/opensemanticsearch/sele trường author_ss, person_ss, ct?q=*.*&facet=true&facet.field=author_ss&facet organization_ss Solr field=person_ss&facet.field=organization_ss&row s=0' 72 Một cách tổng quát OSS giúp liên kết tảng mã ngồn mở khác phát hành vào Thơng qua OSS người dùng sử dụng nhiều cơng cụ mã nguồn mở khác 3.3 Các kết Chuẩn bị liệu Dữ liệu sử dụng báo, tạp chí khoa học viết ngơn ngữ tiếng Anh với định dạng tệp pdf docx,… Dưới số trường hợp thử nghiệm mà tác giả thực kèm theo kết đồng thời số đánh giá chủ quan thử nghiệm Thực tìm kiếm Trường hợp 1: Tìm kiếm theo tác giả viết Đưa vào phân tích hai tài liệu 09OntoNotes-GALEBook.pdf tác giả Eduard Hovy Programming The Semantic Web tác Toby Segaran sau thực phân tích tài liệu ETL thực thể author_ss có hai đối tượng Eduard Hovy Toby Segaran Hình 3-11 Giao diện tìm kiếm theo tác giả Hình 3-12 Kết tìm kiếm tài liệu theo tác giả Eduard Hovy 73 Trường hợp 2: Tìm kiếm theo tên thực thể Người ETL phân tích danh sách thực thể người từ sử dụng Solr để tìm kiếm tài liệu có chứa tên thực thể tìm Đưa vào tệp liệu 09OntoNotes-GALEBook.pdf 09OntoNotesGALEBook.docx (được chuyển đổi từ tệp 09OntoNotes-GALEBook.pdf sang định dạng docx) Sử dụng ETL để phân tích hai tệp Bảng 3-12 Kết tìm kiếm Thứ tự Tên tệp Từ khóa Kết 09OntoNotes-GALEBook.pdf Ralph Weischedel Tìm thấy 09OntoNotes-GALEBook.pdf Mitchell Marcus 09OntoNotes-GALEBook.docx Ralph Weischedel Tìm thấy 09OntoNotes-GALEBook.docx Mitchell Marcus Tìm thấy Tìm thấy Trường hợp 3: Tìm kiếm theo tên thực thể tổ chức, cơng ty, quốc gia Hình 3-13 Một số tổ chức nhận diện Từ hình 3-13 nhận thấy việc nhận diện thực thể tổ chức chưa xác trường hợp “0.0.2”, “1.5 -| ”, “98.5” khó tên tổ chức, công ty, hay tên quốc gia Đây hạn chế công cụ 74 nhận diện thực thể SpaCy chưa có kết nhận diện xác hồn tồn Với ứng dụng khơng địi hỏi q cao khả nhận diện thực thể kết chấp nhận được, việc nhận diện không bị thiếu mà thừa thực thể không liên quan đến tổ chức mà Đánh giá: Bảng 3-13 Đánh giá kết thử nghiệm Ưu điểm Hạn chế Tìm kiếm thông tin tài Chỉ hỗ trợ số ngơn ngữ, chưa có tiếng liệu, tìm tài liệu theo từ khóa Việt đưa vào theo thực thể Xử lý nhận dạng nhiều tệp văn Ontology hoàn toàn phụ thuộc vào bản, đặc biệt tệp pdf, OntoNote liệu từ trang Web lệnh etl-web uri Dế dàng sử dụng API Solr đề lập SpaCy khơng nhận diện thực thể trình ứng dụng hồn tồn Ví dụ ORGANIZATION đưa khơng hồn tồn xác, phụ thuộc vào mơ-đun OCR Phân tích liệu văn nhanh, hỗ trợ người sử dụng tạo mục tay cho Solr Elastic Search 3.4 Tiểu kết chƣơng Chương thực tìm hiểu cơng nghệ giúp xây dựng ứng dụng sử dụng tảng OSS Django, ETL, Solr thực xây dựng thử nghiệm quản lý, tìm kiếm tài liệu báo, tạp chí Trong q trình thực tác giả đúc rút số kinh nghiệm xây dựng ứng dụng sử dụng mã nguồn mở Đầu tiên việc lựa chọn tảng triển khai hỗ trợ từ nhà phát triển, tảng khơng cịn nhận hỗ trợ từ cộng đồng nhóm tác giả triển khai, cài đặt sử dụng tiềm ẩn nhiều rủi ro, cịn 75 nhiều lỗi xấu triển khai ứng dụng Việc tìm hiểu OSF khiến tác giả tốn nhiều thời gian cơng sức mà khơng có kết Các tảng mở thường sử ngôn Java, Python, PHP,… để sử dụng hiệu người sử dụng nên có tìm hiểu ngôn ngữ Với OSS công cụ, plugin chủ yếu viết Python kiến thức Python giúp người sử dụng đọc đoạn mã, hiểu chức plugin Đặc biệt ứng dụng OSS ln dùng tệp cấu hình chương trình thực thi đọc cấu hình thực chức Do cần xem xét cẩn trọng tệp cấu hình tránh thời gian tìm hiểu tảng Để dễ dàng sử dụng OSS người sử dụng cần có kiến thức Django, framework giúp hỗ trợ xây dựng trang Web ngôn ngữ Python Những kiến thức kiến trúc, khả ứng dụng, tương tác thành phần Django giúp người lập trình dễ dàng hiểu chức trọng OSS Django framework tương đối mẻ có nhiều ưu điểm tính liên kết thành phần không chặt chẽ, việc tách rời sở liệu với thành phần logic khiến dễ dàng triển khai khơng phụ thuộc vào sở liệu Trong tương lại Django sử dụng phổ biến Cuối việc tận dụng cơng cụ mã nguồn mở có sẵn giúp giải nhiều toán sử dụng OCR giúp xử lý tệp, sử dụng Tika Server để phân tích nội dung tài liệu, sử dụng SpaCy Standford để nhận diện thực thể, … OSS trở lên mạnh mẽ phần khả tích hợp công cụ khác hiệu Trong suốt trình thực đề tài giúp tác giả có kinh nghiệm q giá tìm hiểu ứng dụng cơng cụ mã nguồn mở từ việc tìm hiểu tài liệu tảng, từ việc khai thác cấu hình tảng, từ việc kết hợp công cụ khác vào tảng, đến việc sử dụng Với kết thu luận văn phần mang lại giá trị tham khảo cho nhà phát triển lựa chọn tảng mã nguồn mở vào việc ứng dụng cơng nghệ ngữ nghĩa Trong tương lại tương lai gần cơng nghệ ngữ nghĩa đóng vai trò quan trọng nữa, kết thu từ luận văn giúp ích cho nhà phát triển tham khảo có lựa chọn phù hợp vào toán thực tế 76 Chƣơng KẾT LUẬN Các đóng góp khoa học luận văn Dựa nghiên cứu ba tảng dotnetRDF, Open Semantic Framework, Open Semantic Search đưa đánh giá cụ thể tảng giúp nhà phát triển có lựa chọn thích hợp với trường hợp sử dụng Đưa kinh nghiệm sử dụng triển khai tảng Open Semantic Search việc tìm kiếm tài liệu văn Hƣớng phát triển Trong luận văn tác giả chưa thể thực việc tự xây dựng Ontology riêng ứng dụng vào OSS, luận văn dừng lại việc sử dụng OntoNotes ontology hoàn toàn phụ thuộc vào OntoNotes Để hoàn thiện tác giả định hướng xây dựng ontology riêng biệt phù hợp với toán cụ thể Tiếp đến sử dụng công cụ tạo annotation tự động tay giúp tạo thích ngữ nghĩa từ đưa kết tìm kiếm ngữ nghĩa xác Từ annotation sử dụng câu truy vấn SPARQL để tìm kiếm thơng tin giúp đưa kết liên quan dựa ontology thiết kế Open Semantic Search có nhiều ứng dụng khác khả tìm kiếm ngữ nghĩa (Thesaurus and Grammar), tìm kiếm tồn văn bản, tìm kiếm khám phá, … Mà tác giả chưa có đủ thời gian để thực định hướng phát triển mà tác giả mong muốn thực tương lai để khai thác mạnh OSS Trên toàn nội dung luận văn tác giả dù cố gắng hồn thiện tốt khơng tránh khỏi sai xót, mong nhận ý kiến đóng góp hội đồng bảo vệ Xin chân thành cảm ơn! 77 TÀI LIỆU THAM KHẢO [1] Tim Berners-Lee, James Hendler and Ora Lassila, "The Semantic Web," Scientific American, p 1, 2001 [2] (2018, Dec.) Wikipedia https://en.wikipedia.org/wiki/Semantic_Web_Stack [Online] [3] WikiPedia Resource Description Framework https://en.wikipedia.org/wiki/Resource_Description_Framework [Online] [4] WikiPedia RDF Schema [Online] https://en.wikipedia.org/wiki/RDF_Schema [5] WikiPedia SPARQL [Online] https://en.wikipedia.org/wiki/SPARQL [6] WikiPedia Rule Interchange Format https://en.wikipedia.org/wiki/Rule_Interchange_Format [7] Natalya F Noy and Deborah L McGuinness Ontology Development 101: A Guide to Creating Your First Ontology [Online] https://protege.stanford.edu/publications/ontology_development/ontology101-noymcguinness.html [8] Fredrik Halvorsen, Management., 2008 [9] Semantic Web technology in Human [Online] Resource Wiki Metadata [Online] https://en.wikipedia.org/wiki/Metadata [10] Jan Jannink, Prasenjit Mitra, Gio Wiederhold Stefan Decker (2000) An Information Food Chain for Advanced Applications on the WWW [Online] http://infolab.stanford.edu/pub/gio/2000/FoodChain.htm [11] Olegs Verhodubs, "TOWARDS THE ONTOLOGY WEB SEARCH ENGINE," TOWARDS THE ONTOLOGY WEB SEARCH ENGINE [12] Nova Spivack and Radar Networks (2007) Nova Spivack [Online] http://www.novaspivack.com/technology/web-3-0-the-best-official-definitionimaginable [13] dotNetRDF Project (2019) dotnetRDF [Online] https://www.dotnetrdf.org/ [14] Open Semantic Framework http://opensemanticframework.org/overview/ 78 [Online] [15] OSF Wiki (2014) Open Semantic Framework [Online] http://wiki.opensemanticframework.org/index.php/OSF_Reference_Architecture [16] Open Semantic Search Open https://github.com/opensemanticsearch [17] Ralph Weischedel, Sameer Pradhan, Lance Ramshaw, Jeff Kaufman, Michelle Franchini, Mohammed El-Bachouti ,Nianwen Xue,Martha Palmer, Jena D Hwang, Claire Bonial, Jinho Choi, Aous Mansouri, Maha Foster and Abdel-aati Hawwary ,Mitchell Marcus, Ann Taylor, "OntoNotes Release 5.0 with OntoNotes DB Tool v0.999 beta," pp 4-53, Sep 2012 [18] Semantic Search [Online] Hrishikesh Vijay Karambelkar, Scaling Big Data with Hadoop and Solr., 2015 [19] Colin Evans, and Jamie Taylor Toby Segaran, Programming the Semantic Web.: 2009 [20] Dean Allemang - Jim Hendler, Semantic Web for the Working Ontologist Effective Modeling ỉn RDFS and OWL [21] Open Semantic Framework Open Semantic http://opensemanticframework.org/overview/ [22] Mastering Django (2019) The Django https://djangobook.com/django-tutorials/django-overview/ Book [Online] [23] Apache Software Foundation (2017) Apache https://lucene.apache.org/solr/guide/6_6/a-quick-overview.html [Online] 79 Framework [Online] PHỤ LỤC Mã thực thi gọi API Solr Mã thực thị ETL def custom_crawl_file(request): fileName = request.GET.get("files") os.system('etl-file ' + fileName) res = JsonResponse({"status":"Crawled successfully!"}) res["Access-Control-Allow-Origin"] = "*" res["Access-Control-Allow-Methods"] = "GET, OPTIONS" res["Access-Control-Max-Age"] = "1000" res["Access-Control-Allow-Headers"] = "X-Requested-With, Content-Type" return res 82 ... Web ngữ nghĩa, tham khảo số mơ hình hệ thống ứng dụng Web ngữ nghĩa nghiên cứu Chương 2: Các tảng phát triển hệ thống ngữ nghĩa mở Chương tìm hiểu tảng hỗ trợ lập trình, xây dựng hệ thống ngữ nghĩa. .. 21 Chƣơng 2: Các tảng phát triển hệ thống ngữ nghĩa mở 2.1 Vai trị tảng ngữ nghĩa mở Cơng nghệ ngày phát triển, hàng ngày, hàng tháng ln có phát mới, ý tưởng công nghệ đời, phát triển nhanh hạ... 1.2 Bài toán phát triển hệ thống ngữ nghĩa 1.2.1 Mơ hình phát triển hệ thống Web ngữ nghĩa Khi thực đề tài tác giả tìm hiểu tham khảo để tài nghiên cứu công nghệ Web ngữ nghĩa nghiên cứu trước từ