CHƯƠNG 1 NỀN TẢNG KIẾN THỨC Bất động sản là một trong những kênh đầu tư được quan tâm nhất hiện nay. Việc đánh giá đúng thực trạng, khuynh hướng thị trường; tìm được bất động sản phù hợp; xác định đúng thời điểm giao dịch mua bán là vấn đề quan tâm của hầu hết nhà đầu tư. Do đó, cần thiết có công cụ hỗ trợ con người tiến hành phân tích trên lượng dữ liệu lớn nằm rải rác ở nhiều nguồn khác nhau để hỗ trợ đưa ra quyết định phù hợp nhất. Để làm được điều đó, chúng ta cần giải quyết ba vấn đề sau: Một là; Chọn lọc, trích xuất được những dữ liệu nào là “phù hợp” từ nhiều nguồn dữ liệu khác nhau.
Đây là công đoạn rất quan trọng ảnh hưởng đến tính hiệu quả (kết quả phân tích sau này là đúng hay sai) và tính hiệu suất (hệ thống phải thực hiện ít hay nhiều tác vụ). Hai là; Biến đổi dữ liệu định dạng không giống nhau từ nhiều nguồn đầu vào để được dữ liệu có thể tích hợp trong quá trình phân tích. Thường thì phải thực hiện rất nhiều công thức chuyển đổi (bao gồm cả thêm bớt) dữ liệu, nên làm sao để thay đổi chính xác và nhanh chóng khi yêu cầu thay đổi là rất quan trọng. Ba là; Việc phân tích sẽ dựa trên nhiều chiều (nhiều trục biến số), nên cần cấu trúc lưu trữ dữ liệu tích hợp một cách thích hợp để việc phân tích đạt hiệu quả và đảm bảo hiệu suất cao.
Để giải quyết các vấn đề trên, tác giả vận dụng Kho dữ liệu và Ontology vào đề tài này, cụ thể như sau: - Kho dữ liệu sẽ giúp giải quyết vấn đề thứ ba ở trên. - Ontology sẽ giúp giải quyết hai vấn đề thứ nhất và thứ hai. Cụ thể là: Cấu trúc của Ontology đặc biệt là khả năng suy diễn sẽ làm cho việc trích xuất (extract) và biến đổi (transform) trở nên tự động hơn, thông minh hơn, và tập trung hơn. Ontology dễ mở rộng và sửa đổi khi có yêu cầu thay đổi.
Ontology cho phép tách biệt tri thức miền với tri thức vận hành, nên việc sửa đổi sẽ dễ dàng hơn đặc biệt là đối với những nhân sự không chuyên về kỹ thuật. 5 Để áp dụng được những cơ sở lý thuyết vào giải quyết ba vấn đề đã nêu ở trên, chương này sẽ trình bày những kiến thức nền tảng phục vụ cho luận văn như là: Ontology, Kho dữ liệu, và Hệ hỗ trợ ra quyết định. GIỚI THIỆU ONTOLOGY 1. Khái niệm chung về Ontology Ontology là quy chuẩn rõ ràng mô tả tập các khái niệm (concept hay còn gọi là class) trong một miền (domain) cụ thể và những mối quan hệ giữa các khái niệm này [6].
Ontology còn kèm theo các ràng buộc, các giả định mô tả các tri thức bổ sung về lĩnh vực đó. Cụ thể, Ontology bao gồm [1]: Một bộ từ vựng để mô tả các khái niệm và quan hệ giữa các khái niệm đó. Các đặc tả ý nghĩa từ vựng. Các ràng buộc mô tả các tri thức bổ sung về lĩnh vực đó.
Yêu cầu về Ontology [1]: Phải thể hiện được kiến thức chung về một lĩnh vực. Cung cấp mô hình có thể thao tác bằng máy. Vai trò của Ontology [1]: Hình thành ngôn ngữ chung để chia sẻ, tái sử dụng tri thức. Tiêu chuẩn hóa, hình thức hóa ý nghĩa của các thuật ngữ qua các khái niệm, là nền tảng để biểu diễn tri thức.
Chia sẻ cách hiểu chung về cấu trúc của thông tin giữa con người và tác nhân phần mềm. Làm cho các giả định của miền ứng dụng trở nên tường minh. Các thành phần chính của Ontology Ontology được sử dụng để mô tả tri thức về thế giới hay một phần trong đó, Ontology gồm các thành phần chính như sau: Lớp (Class): Là kiểu của tập các thực thể, được mô tả logic để định nghĩa các đối tượng của lớp đó. Giữa các lớp có thể có quan hệ kế thừa.
6 Thuộc tính (Property): Là giá trị, đặc điểm của các đối tượng; dùng để xác định quan hệ nhị phân giữa các thực thể. Có ba kiểu thuộc tính như sau: Thuộc tính kiểu dữ liệu (DataType Property): Là giá trị cụ thể có kiểu dữ liệu XML Schema, RDF literal (RDF: Resource Description Framework). Thuộc tính kiểu đối tượng (Object Property): Dùng để liên kết thực thể này với thực thể khác. Thuộc tính chú thích (Annotation Property): Là các thông tin chú thích về lớp, thuộc tính, thực thể, quan hệ.
Cá thể (Individual): Là đối tượng cơ bản của Ontology, một cá thể là một đối tượng thể hiện của một lớp cụ thể nào đó. Mối quan hệ (Relationships): Là cách mà các đối tượng liên kết với nhau. Cơ bản có các quan hệ bên dưới: Quan hệ giữa các lớp Quan hệ giữa các thực thể (đối tượng) Quan hệ giữa một thực thể và một lớp Các thành phần trên kết hợp với nhau dựa trên các quan hệ để tạo nên sức mạnh diễn đạt của Ontology về một miền nào đó. Bộ từ vựng dựa trên RDF (Resource Description Framework), RDFS (Resource Description Framework Schema), OWL (Web Ontology Language) cung cấp khả năng biểu diễn ngữ nghĩa và khả năng suy luận trên Ontology.
Lý do phải xây dựng Ontology Theo Natalya F.Noy [7], có 5 lý do sau để xây dựng Ontology: Thứ nhất, việc chia sẻ tri thức về các cấu trúc thông tin giữa con người và các tác nhân (agent) phần mềm là mục tiêu lớn nhất của Ontology. Ví dụ, một Ontology Bất động sản được xây dựng dựa trên hiểu biết của con người về lĩnh vực BĐS; chúng bao gồm bộ từ vựng, các định nghĩa diễn dịch được bằng máy tính về các khái niệm, và các quan hệ giữa các khái niệm đó. Nếu nhiều nguồn thông tin Bất động sản được lưu trữ trên cơ sở cùng một Ontology đã thiết kế thì máy tính có thể diễn dịch được các khái niệm như con người đã định nghĩa và có thể tự động rút trích thông tin từ nhiều nguồn đó một cách có ngữ nghĩa. 7 Thứ hai, việc xây dựng Ontology cho phép khả năng sử dụng lại tri thức miền.
Ví dụ, khi xây dựng Ontology cho lĩnh vực Bất động sản, nếu đã có Ontology về khu vực, đơn vị hành chính (Tỉnh, Thành Phố, Quận/Huyện, Xã/Phường, Thôn/Ấp, Đường, v.v) thì chúng ta có thể tích hợp để sử dụng lại. Thứ ba, việc xây dựng Ontology tạo ra các giả định (tiên đề) về tri thức miền một cách rõ ràng. Việc mô tả rõ ràng các giả định về tri thức miền làm cho chúng ta có thể thay đổi dễ dàng khi kiến thức miền thay đổi. Nếu các giả định bị mã hóa cứng trong source code thì việc tìm kiếm và sửa đổi sẽ rất khó khăn.
Thêm nữa, với những người dùng mới, mặc dù có thể không hiểu rõ về kỹ thuật, nhưng họ cũng có thể nhanh chóng nắm bắt được các khái niệm, các thuật ngữ, các thông số trong lĩnh vực đó. Thứ tư, việc xây dựng Ontology cho phép tách biệt tri thức miền với tri thức vận hành. Ví dụ, chúng ta đã xây dựng Ontology cho một loại máy gia công cơ khí kiểu PLC (Programmable Logic Controller), trong đó gồm các bộ phận cấu thành và các mối quan hệ giữa những thành phần đó, đây chính là tri thức miền. Chúng ta có thể xây dựng quy trình (lịch trình) cho một cá thể máy này hoạt động theo những yêu cầu nào đó để đáp ứng trên dây chuyền sản xuất, đó chính là tri thức vận hành.
Thứ năm, phân tích suy luận trên tri thức miền. Khi các định nghĩa về các khái niệm trong Ontology được xây dựng, cùng với tập các cá thể được thêm vào Ontology, nó có thể thực hiện suy luận trên đó để sinh ra các tri thức mới, tri thức tiềm ẩn bên trong đó. Ưu điểm của Ontology [8] Những ưu điểm của Ontology: Dựa vào các mối quan hệ thiết yếu giữa các khái niệm, Ontology cho phép lý luận tự động về dữ liệu. Ontology hoạt động giống như bộ não, nó "làm việc" và suy luận về các khái niệm và mối quan hệ theo cách gần với cách con người nhận thức các khái niệm liên quan với nhau.
Ontology cung cấp điều hướng mạch lạc và dễ dàng hơn khi người dùng chuyển từ khái niệm này sang khái niệm khác. Rất dễ mở rộng do các mối quan hệ và kết hợp khái niệm rất dễ thêm vào các Ontology hiện có. Lý do áp dụng Ontology vào đề tài Đặc biệt là trong đề tài này, với những lý do sau mà tôi đã quyết định dùng Ontology để xử lý quy trình ETL trong quá trình xây dựng kho dữ liệu. Công nghệ Web Ngữ nghĩa (Semntic Web) mà Ontology là trung tâm đang ngày càng phát triển, chúng sẽ tạo ra lượng dữ liệu ngữ nghĩa khổng lồ, đó là cơ hội để áp dụng Ontology vào quy trình ETL.
Ontology chia sẻ tri thức dễ dàng, máy tính cũng có thể hiểu và phân tích được dữ liệu, sẽ là điều kiện thuận lợi trong việc áp dụng cho máy học. Có thể sử dụng lại Ontology có sẵn. Dễ dàng mở rộng, sửa đổi. Do tách biệt tri thức miền với tri thức vận hành nên có thể áp dụng lại quy trình cho các lĩnh vực khác (chỉ cần thay đổi ở Ontology).
Áp dụng Ontology sẽ làm cho quy trình ETL tự động hơn, thông minh hơn, và tập trung hơn. Các bước xây dựng Ontology Theo Natalya F. Ngôn ngữ biểu diễn Ontology 1. Cấu trúc Web ngữ nghĩa Phạm vi đề tài liên quan trực tiếp đến các thành phần trong kiến trúc phân tầng của Web ngữ nghĩa.1 bên dưới là kiến trúc tổng quát của Web ngữ nghĩa do W3C đề xuất.
Cấu trúc phân tầng Web ngữ nghĩa (Tham khảo từ W3C Stack 2007) Cấu trúc gồm các thành phần cơ bản với vai trò cụ thể như sau: URI (Uniform Resource Identifiers) và IRI (Internationalized Resource Identifiers) để xác định tài nguyên là duy nhất. IRI bổ sung hỗ trợ quốc tế hóa cho URI bằng cách dùng bảng mã UNICODE. Do đó, mọi URI cũng được xem là IRI. XML (Extensible Markup Language) là ngôn ngữ đánh dấu mở rộng, là một định dạng phổ biến được sử dụng để trao đổi và tích hợp dữ liệu trên Internet.
RDF (Resource Description Framework) gọi là khung mô tả tài nguyên, cung cấp công cụ để biểu diễn tài nguyên và các mối liên kết giữa chúng. Cơ bản, RDF chỉ có 2 kiểu dữ liệu là: URI/IRI và Literal (chuỗi hay kiểu dữ liệu XSD). Mô hình RDF thường được lưu trữ dưới dạng file RDF/XML.