Giới Thiệu Nội Dung Đề Tài
Tổng quan về hệ thống
Từ khi chuyển sang nền kinh tế thị trường, Việt Nam đã có những bước lớn trong việc xây dựng một mô hình thị trường chứng khoán mạnh Mặc dù sinh sau đẻ muộn, nhưng lại có thể rút ra được các bài học kinh nghiệp quý giá của các cuộc khủng hoảng tài chính chứng khoán của Hồng Kông, và một số nước Châu Á cuối thế kỷ 20, biết vận dụng các mô hình nền chứng khoán mạnh như Mỹ, Anh để phù hợp với mô hình của Việt Nam Với sự học hỏi và vận dụng sáng suốt đó, chúng ta đã dành được rất nhiều sự thắng lợi trong quá trình xây dựng một nền chứng khoán mạnh, bền vững ở Việt Nam.
Thị trường chứng khoán Việt Nam ra đời và phát triển từ năm 2000 Hiện nay thị trường chứng khoán đã trở thành một môi trường kinh doanh lớn, với tổng giá trị thị trường chiếm hơn 50% GDP và sự tham gia giao dịch chứng khoán của hàng nghìn người Đặc biêt trong kinh doanh giao dịch chứng khoán thì một yếu tố cực kì quan trọng là thông tin Đó là rất nhiều thông tin về : tình hình giao dịch cổ phiếu trong quá khứ, tình hình kinh doanh của công ty phát hành cổ phiếu , kết quả giao dịch của thị trường theo thời gian Các thông tin này rất phong phú và đến từ nhiều nguồn khác nhau Việc tổng hợp thông tin tự động và trong thời gian ngắn nhất là rất quan trọng với các nhà kinh doanh chứng khoán, giúp họ đưa ra các thông tin mua, bán kịp thời ,hiệu quả là rất cần thiết Ở Việt Nam hiện nay các thông tin chứng khoán được tổng hợp đa số bởi sự tham gia của nhiều người và thường được lưu trong cơ sở dữ liệu quan hệ , do đó sẽ mất rất nhiều thời gian ,công sức để phân tích ,tổng hợp thông tin đưa ra báo cáo ,có khi phải sửa cả cơ sở dữ liệu , mã nguồn để đưa ra báo cáo Việc in ra báo cáo gặp rất nhiều kkhos khăn ,việc đưa ra báo cáo thị trường theo thời gian đòi hỏi phải rà soát lại các dữ liệu đã lưu ,rất dễ sai xót trong quá trình xử lý ,nhập dữ liệu ,đọc dữ liệu
Với những khó khăn này ,việc : Xây dựng Ontology sinh báo cáo tự động chứng khoán là rất cần , chúng em kì vọng sẽ tạo ra một hệ thống tự động ở mức cao trong việc thu thập thông tin chứng khoán, phân tích tổng hợp và cung cấp cho người dùng trong thời gian ngắn nhất Đây thực sự là hướng đi mới , có tính ứng dụng thiết thực đối với thị trường chứng khoán Việt Nam
Việc ứng dụng thành công Ontology vào thị trường chứng khoán còn đem lại khả năng áp dụng Ontology cho các nguồn thông tin khác Trước hết đó sẽ là các nguồn thông tin về giao dịch tương tự như thị trường chứng khoán: giao dịch vàng,tiền tệ, giao dịch nhà đất, Mở rộng hơn nữa, có thể ứng dụng Ontology để quản lý nguồn thông tin tri thức phong phú từ nhiều lĩnh vực của đời sống (kinh tế, giáo
1 0 dục, y học, ) mà một hướng đi ban đầu có thể từ bài toán được đặt ra trong đồ án tốt nghiệp này.
Khảo sát và giải pháp cho đề tài
1.2.1 Khảo sát Ở các mô hình cũ ,sinh báo cáo do các chuyên gia phân tích, các trang web thuờng lấy thông tin từ trên mạng, hay thông qua các kênh cung cấp thông tin như các trung tâm giao dịch chứng khoán (HOSE hay HASTC) hay các dịch vụ cung cấp thông tin (VNDirect hay FPTS) Các thông tin này thường tồn tài dưới dạng số liệu thông dang số hay các bản ghi đơn thuần Các trang web sau khi tiếp nhận các thông tin này thường để nguyên, không thêm bớt gì rồi đưa trả về cho phía người sử dụng Điều này gây khó khăn trong việc tìm hiểu và trợ giúp các người xem là các nhà đầu tư chứng khoán , còn với những người xem đơn thuần thì họ chỉ có thể hiểu đơn thuần là những con số Một số trang có khác hơn khi đưa thêm các thông tin tư vấn của chuyên gia vào, mặc dù ý định thực hiện là tốt nhưng như đã phân tích ở trên thì cách thức thực hiện này cũng nảy sinh nhiều lỗi Và những điều này là giảm đi sức mạnh của công nghệ thông tin và mô hình mạng toàn cầu trong việc phục vụ cho nhu cầu con người Bạn có thể thấy về cơ bản mô hình cung cấp thông tin chứng khoán.
Hình 1.1: Mô hình hệ thống web chứng khoán hiện tại
Với hệ thống xây dựng hệt hống phân phối thông tin chứng khoán tự động
BKS ,để sinh báo cáo tự động luôn giúp nhà đầu tư có những quyết định nhanh ,hợp lý , mà không mất nhiều công sức xây dựng báo cáo ,tất cả hoàn đều tự ddoognj sinh ra a.Mô hình hệ thống:
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Khi phát triển với mô hình mới, về mặt cấu trúc nó vẫn phải tồn tại đủ các thành phần của cấu trúc cũ, nhưng được thêm thành phần Ontology vào Thành phần này có vai trò thu thập thông tin, xử lý thông tin, suy diễn nếu cần và kết quả trả về thường là các thông tin có ích, đã qua sàng lọc và kiểm tra.
Hình 1.2: Mô hình hệ thống web chứng khoán của đồ án
Theo hình trên, bạn sẽ Ontology không đơn thuần chỉ là một gồm nhiều ontology khác nahu ,liên kết lại Mỗi Ontology sẽ thu thập các thông tin riêng cho công việc mình cần xử lý, tính toàn và sẽ trả về tập kết quả phù hợp Đây là mô hình chuyển tiếp thông tin ủa hệ thống :
Hình 1.3: Mô hình chuyển tiếp dữ liệu b Mô hình toàn hệ thống:
Hình 1.4: Mô hình toàn hệ thống
Tên Đồ Án và Phân Công Công Việc
Vậy là chúng ta đã có khái niệm chung về mô hình bài toán cho hệ thống BKS , dưới đây tôi có ý định tập trung vào việc tổng hợp lại những gì chúng tôi – những thành viên phát triển dự án BKS nói chung và riêng bản thân tôi,xây dựng onology sinh báo cáo tự động
Theo đó, tên đề tài của chúng tôi được xây dựng có tên là:
“Hệ thống xây dựng thông tin chứng khoán tự động cho hệ thống BKS”
1.3.2 Phân công công việc Đây là đề tài của nhiều thành viên cùng tham gia , đề tài gồm bốn thành viên tham gia ,với sơ đồ công việc như sau :
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Hình 1.5: Mô hình phân công công việc
1 Vũ Tiến Dũng xây dựng Cổng thông tin điện tử cho hệ thống BKS
2 Lê Văn Đức: xây dựng ontology về giá và chỉ số.
3 Nguyễn Thu Hằng: xây dựng ontology về báo cáo tài chính.
4 Đào Thị Thu : xây dựng ontology sinh báo cáo tự động
1.3.3 Nhiệm vụ cụ thể của tôi trong đề tài này :
- Xây dựng Ontology cho lĩnh vực kinh doanh chứng khoán.
- Nghiên cứu cài đặt các kĩ thuật trích chọn và tổng hợp thông tin với sự trợ giúp của Ontology.
- Ứng dụng trong xây dựng hệ thống tổng hợp thông tin chứng khoán tự động.
- Công nghệ : Jena, Protégé, ngôn ngữ OWL, RDF/RDFS, Java
1.3.4 Nội dung đồ án tốt nghiệp
Trước hết em đã nghiên cứu về Ontology, một khái niệm còn khá mới mẻ hiện nay Quá trình nghiên cứu Ontology bao gồm tìm hiểu chi tiết về khái niệm, nguồn gốc Ontology, về các phương pháp xây dựng Ontology, chu trình sống của Ontology Nghiên cứu về các ngôn ngữ hiện thực Ontology như: RDF/RDFS, OWL và tìm hiểu ứng dụng ngày càng rộng rãi của Ontology trong khoa học và thực tiễn.
Tiếp đó là những tìm hiểu sơ lược về thị trường chứng khoán Việt Nam Các khái niệm chính, các vấn đề quan trọng đối với nhà đầu tư chứng khoán.
Trên cơ sở đó một Ontology sinh báo cáo tự động cho chứng khoán đã được thiết kế và xây dựng Các dữ liệu giao dịch cổ phiếu sẽ được tự động nhập vào Ontology thông qua nguồn là hai ontology báo cáo tài chính và giá chứng khoán , kết quả sẽ được tự động suy diễn và cung cấp dịch vụ cho hệ thống hiển thị Ontology có khả năng kết hợp với những Ontology khác (như Ontology về báo cáo tài chính , ontology Giá chứng khoán ) để cung cấp một hệ thống báo cáo tư vấn chứng khoán tự động.
Phân loại tài liệu là một lĩnh vực quan trọng trong khai phá dữ liệu (Data Mining) Nó có ứng dụng to lớn trong thời đại bùng nổ thông tin và thông tin Internet toàn cầu hiện nay Việc phân loại bằng tay, sử dụng con người là chủ yếu ngày càng trở lên khó khăn và không thể đáp ứng nổi Có nhiều nghiên cứu về tự động Data Mining và phân loại tài liệu đã được đưa vào trong đồ án, trong đó tập trung vào hướng sử dụng Ontology Đồ án nêu ra một nghiên cứu, thiết kế và cài đặt Ontology sử dụng trong phân loại tin chứng khoán của Việt Nam Các tin tức , báo cáo thị trường chứng khoán từ nhiều nguồn (hai trung tâm giao dịch chứng khoán Hà Nội và thành phố
Hồ Chí Minh, các báo điện tử) được lấy về và ,được trích chọn ra cụm từ phù hợp xây dựng ontology mẫu báo cáo
Nhận xét
Như vậy qua chương 1 , chúng tôi đã phân công công việc cho từng thành viên trong nhóm , mỗi thành viên đều đã xác đinh được các công việc , công nghệ cần tìm hiểu , để hoàn thành tốt công việc của mình
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Tổng quan về Ontology
Giới thiệu Ontology
Năm 1991 tổ chức ARPA đã đề xuất một cải tiến mới trong việc xây dựng một hệ thống thông minh Họ đã đề xuất ra rằng ,xây dựng một hệ cơ sơ tri thức ngày nay thường kết thúc bằng việc tạo ra một cơ sở tri thức mới từ những thông tin rải rác thu nhập được , nên có thể tái sử dụng tri thức Người phát triển hệ thống chỉ cần quan tâm đến lĩnh vực của họ với các bộ suy diễn thực hiện nhiệm vụ đó Do đó dễ dàng xây dựng hệ thống lớn , it tốn kém hơn.
Từ đó họ đã phát triển một cơ sở khái niệm để xây dựng kỹ thuật cho phép tái sử dụng và chia sẻ tri thức , Ontology được phát triển từ đó
Ontology đã có sự phát triển hết sức mạnh mẽ , không chỉ trong phòng thí nghiệm nghiên cứu ,mà nó đã được coi là một công cụ hết sức đắc lực cho các chuyên gia trong hầu hết mọi lĩnh vực Ontology đã xuất hiện trên Web ,tổ chức World Wide Web ,một trong những tổ chức đề xuất và phát triển XML đã và đang phát triển RDF –một ngôn ngữ cho phép mô tả tri thức trên Web giúp trang web có thể hiểu được bởi các Agent tìm kiếm thông tin
Hiện nay , rất nhiều các quy định nhằm chuẩn hóa các Ontology để các chuyên gia có thề dùng chhia sẻ ,giải thích tri thức trong lĩnh vức của họ như y tế , nguồn nhân lực….
Ontology và các vấn đề liên quan đến việc xây dựng Ontology
Ontology là một mô hình dữ liệu trình bày một tập các khái niệm trong một miền và mối quan hệ giữa các khái niệm đó Nó được sử dụng để lập luận về các đối tượng trong miền đó Ngày nay, Ontology được sử dụng rất nhiều trong các lĩnh vực liên quan đến ngữ nghĩa như trí tuệ nhân tạo , semantic web, công nghệ phần mềm, v.v…
Trong phần này, chúng tôi sẽ trình bày tổng hợp về một số các phương pháp xây dựng Ontology, giới thiệu , đánh giá một số bộ công cụ hỗ trợ Ontology và các ngôn ngữ Ontology hiện nay Sau quá trình tìm hiểu, so sánh và đánh giá nhằm tìm ra lựa chọn phù hợp với việc xây dựng Ontology sinh báo cáo chứng khoán tự động được trình bày ở mục sau
Tổng quan về Ontology
2.3.1 Tổng quan về web ngữ nghĩa
World Wide Web (gọi tắt là Web) ra đời năm 1989 bởi Tim Berners-Lee đã trở thành một phương tiện trao đổi thông tin cực kì rộng lớn giữa mọi người trên thế giới Lượng thông tin số được truyền tải trên Web có số lượng cực lớn và vô cùng phong phú, bao gồm rất nhiều định dạng, thể loại: từ kinh tế, văn hóa, xã hội, chính trị đến giải trí, tin tức, trao đổi thông tin,
Hầu hết nội dung Web ngày nay chỉ thích hợp cho con người sử dụng Tức là chỉ con người mới hiểu được ý nghĩa của nội dung đó và lọc ra theo ý muốn của mình để sử dụng Gắn liền với Web là HTML (Hyper Text Markup Language), một ngôn ngữ đánh dấu được sử dụng để hiển thị nội dung trên trang web Sử dụng HTML , chúng ta có thể dễ dàng yêu cầu máy tính thể hiện một đoạn text theo kiểu đậm hay đổi màu chữ nhưng không thể cho máy tính biết được đó là đoạn text về một người hay một địa danh Công nghệ Web ngữ nghĩa ra đời (cũng từ ý tưởng của Tim Berners-Lee) cho phép biểu diễn và trao đổi thông tin với đầy đủ ý nghĩa của chúng, tạo ra khả năng xử lý tự động dữ liệu trên Web.
Tim Berners-Lee định nghĩa như sau:
“Semantic Web như một sự mở rộng của web hiện tại mà trong đó thông tin được xử lý một cách tự dộng bằng máy tính, làm cho máy tính và con người có thể hợp tác với nhau”
Web ngữ nghĩa thường được mô tả dưới dạng các “lớp bánh” (layer cake) như hình dưới đây:
Hình 2.1 : Mô hình Semantic web
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Lớp Unicode & URI: nhằm bảo đảm việc sử dụng tập kí tự quốc tế và cung cấp phương tiện nhằm định danh các đối tượng trong Semantic Web
Lớp XML cùng với các định nghĩa về namespace và schema (lược đồ) bảo đảm rằng chúng ta có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa trên XML khác
Lớp RDF [RDF] và RDFSchema [RDFS] : ta có thể tạo các phát biểu (statement) để mô tả các đối tượng với những từ vựng và định nghĩa của URI, và các đối tượng này có thể được tham chiếu đến bởi những từ vựng và định nghĩa của URI ở trên Đây cũng là lớp mà chúng ta có thể gán các kiểu (type) cho các tài nguyên và liên kết Và cũng là lớp quan trọng nhất trong kiến trúc Semantic Web Lớp Ontology: hỗ trợ sự tiến hóa của từ vựng vì nó có thể định nghĩa mối liên hệ giữa các khái niệm khác nhau
Lớp Digital Signature: được dùng để xác định chủ thể của tài liệu (vd: tác giả của một tài liệu hay một lời tuyên bố)
Các lớp Logic, Proof, Trust: đang trong giai đoạn nghiên cứu và các thể hiện của các ứng dụng giản đơn đang được xây dựng Lớp Logic cho phép viết ra các luật (rule) trong khi lớp Proof thi hành các luật và cùng với lớp Trust đánh giá nhằm quyết định ứng dụng nên hay không nên tin tưởng/chấp nhận (trust) chứng cớ (proof)
Ontology tạo nên xương sống cho Web ngữ nghĩa Nó cho phép máy tính hiểu được thông tin qua sự liên kết giữa thông tin và các khái niệm trong Ontology, ngoài ra còn là sự giao tiếp giữa các thông tin qua sự liên kết trong Ontology hay giữa các Ontology Ontology sẽ được giải thích chi tiết qua các phần dưới Lớp trên cùng là các ứng dụng chạy trên nền Web ngữ nghĩa và cung cấp giao diện với người sử dụng, đưa cho họ thông tin cần thiết theo yêu cầu
Ontotlogy là chìa khóa đối với semantic web , vì chúng cung cấp một tập từ vựng và ngữ nghĩa chú thích
Khái niệm Ontology bắt nguồn từ tiếng Hy Lạp cổ gồm hai từ ontos và logos Được giới thiệu vào thế kỷ 19 bởi một nhà triết học người Đức , nghĩa của nó là “ bản thể học ” Theo cách nhìn của triết học :”Đó là một môn khoa học về nhận thức ,cụ thể hơn là một nhánh của siêu hình học về tự nhiên và bản chất của thế giới ,nhằm xem xét các vấn đề về sự tồn tại hay không tồn tại của các sự vật ”.
Trong lĩnh vực trí tuệ nhân tạo có rất nhiều định nghĩa về Ontology , Ontology phát triển trong trí tuệ nhân tạo để tri thức dễ dàng chia sẻ và tái sử dụng tri thức
Kể từ đầu thập niên 90 của thế kỷ XX , Ontology đã trở thành đề tài nghiên cứu phổ
1 8 biến đối với các tổ chức nghiên cứu trí tuệ nhân tạo về tri thức , xử lý ngôn ngữ tự nhiên , hình ảnh , y tế
Gần đây khái niệm Ontology đã trở nên phổ biến hơn nhiều trong các lĩnh vực như những hệ thống thông tin hợp tác , phục hồi thông tin , quản lý tri thức Mục đích của ontology là hướng đến tri thức miền , nên sự phát triển của nó thường là một quá trình xử lý kéo theo nhiều yếu tố khác.
Từ lúc ra đời đến nay ,Ontology có rất nhiều định nghĩa , một định nghĩa được chấp nhận rộng rãi về Ontology là : “Một Ontology là một đặc tả chính xác và hình thức về một khái niệm của một miền thông tin được quan tâm ” (c.f Gruber, 1993). Định nghĩa này nhấn mạnh hai điểm chính:
Đó là các khái niệm được hình thức hóa và bởi vậy cho phép suy diễn (reasoning) bởi máy tính
Thứ hai nó nhấn mạnh mỗi Ontology được xây dựng cho một vài miền thông tin cần quan tâm , có như thế nó mới thể hiện được vai trò và tác dụng của nó
Ontology thể hiện sự hiểu biết chung về một miền, các ứng dụng có thể dùng sự hiểu biết chung này để giao tiếp với nhau
Hiện nay có nhiều ontology lớn như :
DOLCE (Descriptive Ontology for Linguistic and Cognitive Engineering)
SUMO (Suggested Upper Merged Ontology)
Ontology là hệ biểu diễn ngữ nghĩa nên cung cấp khả năng hiểu tri thức cho máy tính, tạo điều kiện xây dựng các hệ thống xử lý tự động.
Ontology có khả năng tích hợp Điều này cho phép những Ontology về các miền thông tin khác nhau có thể tích hợp, trộn lẫn, ánh xạ với nhau, tạo sự liên giao tiếp giữa các ứng dụng khác nhau.
Ontology có thể dùng lại Điều này giúp cho việc xây dựng Ontology mới được giảm nhẹ công sức, đồng thời tạo ra khả năng mở rộng dịch vụ của các ứng dụng một cách dễ dàng nhất là dịch vụ Web (Web services)
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Xây dựng ontology
Ngày nay, việc nghiên cứu quá trình xây dựng ontology ngày càng được quan tâm nhiều hơn Có rất nhiều nhóm sau quá trình nghiên cứu đã đưa ra các phương pháp khác nhau nhằm xây dựng Ontology
Phương pháp Ushold & King được xây dựng dựa trên việc phát triển
Enterprise Ontology Phương phỏp nõy chủ yếu tập trung vào việc giửp người phỏt triển từ mục đích của ontology có thể có những hướng phát triển như thế nâo, sau đó đánh giá và viết tài liệu cho ontology Trong quá trình xây dựng, người dùng có thể tích hợp các ontology có sẵn vào ontology đang xây dựng Ba cách tiếp cận sau được đưa ra nhằm định nghĩa các khái niệm chính trong ontology: o Top-down: Bắt đầu với việc định nghĩa nhiều khái niệm chung và tiếp theo chia các khái niệm thành các loại chi tiết hơn. o Bottom-up: Bắt đầu với việc định nghĩa các lớp chi tiết hơn và sau đó nhóm các lớp thành các khái niệm tổng quát hơn. o Lai (hybrid): giống như trong cách tiếp cận của phương pháp MethOntology.
Phương pháp được xây dựng không phụ thuộc vào ứng dụng, nghĩa là mục đích xây dựng ontology độc lập với quá trình xây dựng chúng, không phụ thuộc vào nhau
Phương pháp tiếp theo được phát triển bởi Gruninger và Fox, được phát triển thông qua dự án ontology Toronto Virtual Enterprise (TOVE) Hệ thống này được xây dựng bắt nguồn từ tư tưởng về sự phát triển hệ thống dựa trên tri thức, sử dụng first order logic Trong phương pháp nây, các khái niệm nổi bật nhất được định nghĩa trước tiên, sau đó làm chi tiết và tổng quát hóa các khái niệm đó theo các hướng thích hợp Như vậy, phương pháp này bắt đầu từ một số các khái niệm ở mức cao rồi đến các khái niệm ở mức thấp và tổng quát ở các mức cao hơn Phương pháp này sử dụng cách tiếp cận middle-out để định nghĩa các khái niệm và một phần phụ thuộc vào ứng dụng sau này của ontology, nghĩa lâ trước khi xây dựng ontology, người dùng cần quyết định mục đích sử dụng và tích hợp ontology vào ứng dụng gì
METHONTOLOGY là một phương pháp xây dựng Ontology được phát triển từ phòng nghiên cứu trí tuệ nhân tạo của trường ĐH Polytechnic Madrid Phương pháp nây cho phép người sử dụng có thể xây dựng một ontology mới dựa trên bản mẫu thiết kế mới hoặc có thể sử dụng những ontology có sẵn Bộ framework
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48 của METHONTOLOGY có thể giúp người dùng xây dựng cấu trúc ontology ở mức độ tri thức và bao gồm: định nghĩa quy trợnh phỏt triển ontology, một số kỹ thuật trong quá trình xây dựng quy trình trên (ví dụ quản lý và lập lịch, quản lý chất lượng, thu thập dữ liệu và tri thức, quản lý cấu hợnh, v.v.) Phương phỏp luận này sử dụng chiến lược hybrid và không phụ thuộc vào ứng dụng
Ngôn ngữ biểu diễn onbtology
Sau khi đã tạo lập được mô hình Ontology chúng ta có thể bắt tay vào mô hình hóa một cách cụ thể Ontology này Vấn đề đặt ra , cần lựa chọn ngôn ngữ nào phù hợp nhất cho việc mô hình hóa Ontology
Các ngôn ngữ Ontology bao gồm: LOOM, LISP, Ontolingua, XML, SHOE, OIL, DAML+OIL và OWL
Ngôn ngữ ontology hiện nay có thể được chia làm ba loại: định ngữ tập từ vựng sử dụng ngôn ngữ tự nhiên (object based-knowledge representation languages) như UML, và ngôn ngữ dựa trên first order predicate logic như Description Logics Ngôn ngữ ontology cần phải tương thích với những công cụ khác, tự nhiên và dễ học, tương thích với các chuẩn hiện tại của web như XML, XML Schema, RDF và UML Dưới đãy là một số các ngôn ngữ web-based
EXtensible Markup Language (XML) là một chuẩn mở dùng để biểu diễn dữ liệu từ W3C, có tính mềm dẻo và mạnh hơn so với HTML RDF (Resource Description Framework) được phát triển như một framework giúp mô tả vâ trao đổi các dữ liệu metadata
SHOE (Simple HTML Ontology Extensions) được xây dựng vâo năm 1996 tại trường ĐH Maryland, như một mở rộng của HTML để có thể hợp nhất các tri thức ngữ nghĩa trên các văn bản web hiện tại thông qua việc chú thích các trang HTML OIL (Ontology Inference Layer) là mở rộng của RDF, được phát triển bởi dự án ON-To_Knowledge, là ngôn ngữ mô tả và trao đổi cho ontology Ngôn ngữ này được kết hợp bởi ngôn ngữ dạng frame-based, formal sematics và reasoning service từ description logics; được chia làm ba mức đối tượng lớp (các thực thể cụ thể), mức firstmeta (định nghĩa theo ontology) vâ mức second-meta (các mối quan hệ)
DAML+OIL được phát triển dựa trên dự án DARPA năm 2000 Cả OIL và DAML+OIL đều cho phép mô tả các khái niệm, các taxonomy, các quan hệ nhị phân, chức năng và thực thể
RDF/RDFS là ngôn ngữ biểu diễn ontology được thảo luận đầu tiên vì cấu trúc đơn giản và sự chấp nhận rộng rãi trong cộng đồng Web ngữ nghĩa bởi vì sự phù hợp cũng như khả năng mở rộng của nó
RDF (Resource Description Framework) là một khuôn dạng biểu diễn tri thức có nguồn gốc là để mô tả siêu thông tin (metainformation) về các tài nguyên trên mạng toàn cầu (WWW) nên có tên là khung mô tả tài nguyên RDF phiên bản 1.0 là một khuyến cáo chính thức của W3C Đơn vị xây dựng cơ bản của RDF là resources và literals Một resource có thể là bất cứ thực thể gì cần biểu diễn trong khi một literal là một thực thể tự mô tả, ví dụ một giá trị nào đó Literal không có định danh trong khi resource được định danh duy nhất và biểu diễn bởi URI (Uniform Resource Identifier) Cấu trúc tri thức được biểu diễn như một tập các xác thực (assertions) hay statements trong RDF. Statement được biểu diễn bởi bộ ba {subject, predicate, object}, trong đó resource có thể nằm trong cả ba vị trí nhưng literal chỉ có thể ở object
RDF-S (RDF Schema) là một mở rộng của RDF để mô tả từ vựng RDF Dưới đây chúng ta sẽ đi qua bộ từ vựng của RDF-S và tóm tắt ngữ nghĩa của nhiều loại cấu trúc. rdfs:Resource: Mọi URI hoặc nút trống (blank node) xuất hiện như là subject, predicate hay object trong một statement đều là thành viên của rdfs:Resource, lớp của tất cả resources. rdfs:Class: Đây là tập các lớp (Class) và tất cả thành viên của nó đều là con của rdfs:Resource Các thành viên của rdfs:Class bao gồm rdfs:Resource, rdfs:Literal, rdfs:Property và chính rdfs:Class. rdfs:Literal: là lớp của tất cả literals. rdfs:domain và rdfs:range: Trong RDF(S), thuộc tính (properties) và lớp là những thực thể tách biệt rdfs:domain và rdfs:range phục vụ để định nghĩa liên kết giữa một thuộc tính và lớp mà nó áp dụng (domain) với lớp để nó lấy giá trị (range). rdfs:subClassOf: Cung cấp khả năng biểu diễn quan hệ phân cấp các lớp trong
RDF(S). rdfs:Property: là lớp biểu diễn các property trong RDF(S) RDF(S) cũng cung cấp cách biểu diễn quan hệ cha-con là rdfs:subPropertyOf
RDF/RDFS chưa có đủ các cấu trúc để mô tả Ontology với những cấu trúc phức tạp Chính vì thế đã có nhiều ngôn ngữ Ontology được xây dựng và phát triển. Trước đây có ngôn ngữ DAML+OIL được tài trợ phát triển bởi các tổ chức của cả Mỹ và châu Âu Ngôn ngữ được sử dụng rộng rãi hiện nay và được tổ chức W3C bảo trợ là OWL (Ontology Web Language) OWL là ngôn ngữ biểu diễn tri thức được sử dụng để xây dựng Ontology OWL dựa trên RDF/RDFS, được viết ra
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48 dưới dạng cú pháp RDF/XML nhưng nó cung cấp khả năng biểu diễn đầy đủ và giầu có hơn RDF/RDFS OWL là được coi là một trong các công nghệ nền tảng đằng sau Web ngữ nghĩa và được sử dụng trong cả lĩnh vực thương mại và học thuật.
1Tại sao phải dùng OWL
OWL là một ngôn ngữ bổ sung cú pháp cho phép mô tả hầu hết các khái niệm và cá khía cạnh về ngữ nghĩa của các khái niệm đó cũng như các thuộc tính OWL là ngôn ngữ dùng để biểu diễn dữ liệu cấu trúc cho cá website nhằm hỗ trợ cho việc tìm kiếm ,thu nhập dữ liệu tự động trên lượng dữ liệu web khổng lồ Tuy nhiên việc sử dụng OWL với cú pháp đầy đủ để biểu diễn ngữ nghĩa của dữ liệu cần thiết và phù hợp cho các ứng dụng quản lý tri thức ,tìm kiếm ngữ nghĩa
2 Ba ngôn ngữ con của OWL
OWL cung cấp ba ngôn ngữ con được thiết kế cho các giao tiếp riêng của việ cài đặt và sử dụng
- OWL Lite cung cấp tập các đặc tính giới hạn, có thể chưa đầy đủ cho mọi ứng dụng nhưng được thiết kế để đảm bảo tốc độ xử lý tương đối hiệu quả OWL Lite cung cấp quan hệ phân cấp (subClass) và các ràng buộc (constraint) đơn giản (như ràng buộc 0,1) Chính vì việc hạn chế trong biểu diễn mà OWL Lite không được sử dụng phổ biến.
- OWL DL, tập cha của OWL Lite, được dựa trên một dạng của logic bậc một (first order logic) là Description Logic OWL DL được thiết kế để cung cấp khả năng diễn đạt cao nhất mà vẫn giữ được sự đầy đủ về mặt tính toán, sự đơn định và khả năng áp dụng thuật toán suy diễn thực tế Chính vì các khả năng này mà OWL DL được sử dụng phổ biến nhất.
- OWL Full là dạng ngôn ngữ đầy đủ nhất của OWL OWL Full được thiết kế để đảm bảo sự tương thích với RDFS và không hạn chế gì trong việc biểu diễn tri thức.
Ví dụ OWL Full cho phép một lớp vừa là một tập các thể hiện lại vừa có thể là một thể hiện; điều này không được cho phép trong OWL DL Chính vì khả năng biểu diễn mạnh mẽ như vậy nên OWL Full có nhược điểm là có thể không đơn định và không tìm thuật toán suy diễn đầy đủ.
Có sự tương thích xuôi giữa các dạng của OWL với nhau:
Mọi Ontology OWL Lite hợp lệ đều là Ontology OWL DL hợp lệ.
Mọi Ontology OWL DL hợp lệ đều là Ontology OWL Full hợp lệ.
Mọi kết luận OWL Lite đúng là một kết luận OWL DL đúng
Mọi kết luận OWL DL đúng là một kết luận OWL Full đúng
Công cụ xây dựng ontology
Bộ công cụ xây dựng và phát triển Ontology bao gồm các tool hỗ trợ và môi trường giúp người dùng có thể xây dựng một Ontology mới từ bản thiết kế mới hoặc sử dụng lại những Ontology mới có sẵn Một số môi trường phát triển được xây dựng từ trước như Ontosaurus, Ontolingua và WebOnto Những bộ công cụ mới được sử dụng nhiều gần đây bao gồm OntoEdit, OilED,WebODE, Chimera DAG- Edit và Protégé
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Các bộ công cụ trên (Ontolingua server, Ontosaurus and WebOnto) được xây dựng đơn thuần nhằm hỗ trợ duyệt và biên tập các Ontology được viết bằng những ngôn ngữ riêng (Ontolingua, LOOM và OCML) Những bộ công cụ editor này hiện nay không còn đáp ứng đủ nhu cầu của người sử dụng Thế hệ mới các bộ công cụ xây dựng Ontology có nhiều ưu việt cũng như tính năng hơn hẳn các bộ công cụ này, ví dụ như khả năng mở rộng, hệ thống kiến trúc các thành phần - giúp người dùng có thể cung cấp thêm các tính năng cho môi trường phát triển một cách dễ dàng
Protégé là một trong những bộ công cụ được sử dụng rộng rãi nhất hiện nay, được phát triển bởi trường ĐH Stanford Bộ công cụ này được phát triển dựa trên hai mục tiêu: có thể tương thích với các hệ thống khác, dễ dàng sử dụng và hỗ trợ các công cụ trích chọn thông tin Phần chính của môi trường này là một ontology editor Bên cạnh đó, Protégé còn bao gồm rất nhiều các plugins nhằm hỗ trợ chức năng như quản lý nhiều ontology, inference service, ontology language importation/ exportation (hỗ trợ về vấn đề ngôn ngữ ontology)
Protege là một trình soạn thảo Ontology miễn phí, mã nguồn mở và là framework dựa trên trên tri thức Nền Protege cung cấp 2 cách để mô hình ontology :
Trình soạn thảo Protege-Frames cho phép người dùng xây dựng và phân phối Ontology dựa trên frame, theo giao thức Open Knowledge Base Connectivity (OKBC)
Trình soạn thảo Protege-OWL là một mở rộng của Protege để trợ giúp cho OWL Protege-OWL cho phép người sử dụng : nạp và lưu các ontology dạng OWL và RDF; soạn thảo và quan sát các lớp, thuộc tính; thực hiện suy diễn, Protege-OWL được tích hợp chặt chẽ với Jena và cung cấp API để nhà phát triển tùy biến các thành phần giao diện và dịch vụ Web ngữ nghĩa bất kì.
Trong đồ án này em sử dụng Protege-OWL để soạn thảo Ontology Những hướng dẫn trong việc tạo Ontology dùng Protege-OWL như sau :
* Trước hết bộ soạn thảo Protege-OWL được gắn với quá trình cài đặt “đầy đủ” của Protege Protege-OWL sẽ được cài đặt như một “plug-in” cho Protege.
Tạo mới một project trong Protege-OWL ta sẽ đến một hộp thoại yêu cầu chọn kiểu lưu trữ cho ontology : “OWL/RDF Files” hay “OWL/RDF Database” Chọn kiểu lưu trữ cho phù hợp với ứng dụng (lưu trong files hay trong cơ sở dữ liệu quan hệ).
Hình 2.3 : Tạo mới project ,chọn kiểu lưu trữ
* Bên cạnh đó Protege-OWL còn cho phép chúng ta nạp một Ontology vào bằng cách chỉ đến file OWL hoặc RDF File này có thể cục bộ hoặc nằm trên Web và được nạp vào thông qua URL.
Hình 2.4 : load một file ontology mới
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Khi đã tạo một project, chúng ta có thể thực hiện xây dựng các lớp, thuộc tính và thể hiện cho Ontology Protege-OWL mở sẵn các tab : Metadata, OWL Classes, Properties, Individuals Tab Metadata để xây dựng phần Header cho Ontology như : khai báo namespace, khai báo ontology được import, các chú thích cho
Ontology (rdfs:label, owl:versionInfo, rdfs:comment, owl:backwardCompatibleWith, ) Tab OWL Classes cho phép xây dựng cây phân cấp các lớp như : tạo lớp cùng với các chú thích cho nó, tạo lớp con (subClass), tạo lớp anh em (siblingClass).
Hình 2.5 Tạo các lớp ,thuộc tính trong ontology
Tab Properties cho phép xây dựng các thuộc tính kiểu đối tượng (ObjectProperty) và kiểu dữ liệu (DatatypeProperty) Mỗi thuộc tính được xác định : tên, chú thích,Domain, Range, tính chất (Transitive, Functional, Symmetric, InverseFunctional).
Hình 2.6 : tạo các thuộc tính của onology
- Tab Individual cho phép tạo thể hiện cho mỗi lớp.
Sau khi tạo xong Ontology thì Protege-OWL cho phép ghi lại ontology đó dưới dạng RDF/ XML Ngoài ra còn có thể ghi ra các dạng khác như : N3, N-Triple, Turtle.
* Các khả năng đáng chú ý khác mà Protege-OWL hỗ trợ : Truy vấn Ontology bằng SPARQL, thể hiện hình ảnh sơ đồ Ontology Việc truy vấn được thực hiện trực tiếp trên Protege-OWL với câu lệnh truy vấn do người dùng đánh vào Hình ảnh sơ đồ Ontology được thể hiện nhờ plugin Jambalaya
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Kết chương
Sau khi kết thúc chương này , chúng ta đã hoàn thành việc nghiên cứa về ontology , cac công cụ xây dựng ontology , các bước để xây dựng onology …từ đó định hướng ra cách xây dựng ontology cho hệ thống
Sau khi xem xét và so sánh một số các bộ công cụ, chúng tôi nhận thấy Protégé OWL plugin có sự kết hợp tốt Sự ổn định và khả năng mở rộng của Protégé là một đặc điểm quan trọng nổi trội của Protégé so với các bộ công cụ khác Thực tế hiện nay đã có khoảng 150,000 frame ontology được xây dựng và sử dụng trên Protégé cho thấy sự thông dụng và tính năng của nó Bên cạnh việc cung cấp một giao diện người dùng , Protégé còn có hệ thống kiến trúc theo module mở , khả năng mở rộng phát triển cao Bên cạnh đó, các bộ plug-in cung cấp nhiều chức năng và mềm dẻo khiến cho việc xây dựng và phát triển ontology trên nền Protégé trở nên dễ dàng hơn rất nhiều
Ngôn ngữ xây dựng ontology là OWL , được phát triển từ DAML+OIL, có nhiều tính năng giúp diễn đạt ngữ nghĩa hơn XML, RDF và RDF-S OWL ưu việt hơn so với các ngôn ngữ Ontology khác nhờ khả năng cung cấp ngữ nghĩa nghi thức (formal semantics), hỗ trợ xây dựng reasoner ( built-in reasonging support) , diễn đạt tốt, khả năng phãn tích cao
Jena và ngôn ngữ truy vấn SPARQL
Các khái niệm cơ bản
RDF là viết tắt của : Resource Description Frameword , là một bộ mô tả các tài nguyên trên web.
RDF là khung sườn cho xử lý metadata ,nó mô tả mối quan hệ giữa cá tài nguyên thong qua các thuộc tính và các giá trí , RDF được xây dựng dựa trên :
1 Resource : mọi thứ được mô tả bởi RDF là một tài nguyên
(resource) Mỗi tài nguyên có một URI ,và có thể có toàn bộ trang web ,hoặc một phần
2 Property : là một thuộc tính hoặc quan hệ riêng biệt được dùng để mô tả tài nguyên
3 Statement : dùng để kết nối giữa resource và một property và một giá trị của nó Ba phần này được coi như : subject ,predicate và object Đặc biệt giá trị của câu có thể là một chuỗi ký tự ,hoặc một resource
Một statement có thể được xem như là một đồ thị trong RDF
Model là một tập các đồ thị RDF đưa ra một tập các statement có thể được thao tác và truy vấn
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Jena
Jena là một Java framework để xây dựng các ứng dụng web ngữ nghĩa Nó cung cấp môi trường lập trình cho RDF, RDF-S, OWL, SPARQL và bao gồm một máy suy diễn dựa trên luật (rule-based inference engine) Jena là mã nguồn mở và được thực hiện dưới chương trình HP Labs Semantic Web Programme.
Đọc và viết RDF trong các dạng RDF/XML, N3 và N-Triples
Lưu trữ trong bộ nhớ hoặc trong cơ sở dữ liệu
Jena có các lớp đối tượng để mô tả các thuộc tính , tài nguyên của mô hình a) RDF API : Jena cung cấp một Java API cho RDF Resource Description Framework (RDF) là một chuẩn (theo khuyến nghị của W3C) để mô tả tài nguyên. RDF được biểu diễn dưới dạng đồ thị các nút và cung Ví dụ một mô tả về con người đơn giản (dạng VCARD) được biểu diễn trong RDF :
Jena cung cấp Java API có thể được sử dụng để tạo ra và xử lý đồ thị RDF như thế này Jena có các lớp để biểu diễn đồ thị, tài nguyên, thuộc tính và literals Các giao tiếp biểu diễn tài nguyên, thuộc tính và literals được gọi lần lượt là Resource, Property và Literal Trong Jena, một đồ thị được gọi là một mô hình và biểu diễn bởi giao tiếp Model.
Mã tạo ra đồ thị hay mô hình trên như sau :
// some definitions static String personURI = "http://somewhere/JohnSmith"; static String fullName = "John Smith";
Resource johnSmith = model.createResource(personURI);
// add the property johnSmith.addProperty(VCARD.FN, fullName);
Bắt đầu bằng việc tạo ra một Model rỗng, sử dụng phương thức createDefaultModel của lớp ModelFactory để tạo ra một mô hình nằm trong bộ nhớ. Jena cung cấp các cài đặt khác của giao tiếp Model, ví dụ tạo ra mô hình trong cơ sở dữ liệu, cũng dựa trên lớp ModelFactory
* Statement : Mỗi cung trong đồ thị RDF được gọi là một statement Mỗi statement mang một mô tả về tài nguyên Một statement có 3 phần :
subject là tài nguyên mà từ đó cung hướng ra ngoài
predicate là thuộc tính trên nhãn của cung
object là tài nguyên hay literal mà cung trỏ đến
Jena cung cấp giao tiếp Statement để truy nhập đến subject, predicate, object của một statement Cách lấy ra dữ liệu như sau :
// list the statements in the Model
// print out the predicate, subject and object of each statement while (iter.hasNext()) {
Statement stmt = iter.nextStatement(); // get next statement
Resource subject = stmt.getSubject(); // get the subject
Property predicate = stmt.getPredicate(); // get the predicate
RDFNode object = stmt.getObject(); // get the object
System.out.print(subject.toString());
System.out.print(" " + predicate.toString() + " ");
* Đọc và viết RDF : Jena có các phương thức để đọc và viết RDF dạng XML Cái này được sử dụng để lưu RDF dạng file và sau đó đọc trở lại.
Viết RDF dạng XML : model.write(System.out);
Nếu muốn viết dạng N3 hay N-Triples thì cung cấp tham số cho phương thức write. Đọc và RDF :
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
// use the FileManager to find the input file
InputStream in = FileManager.get().open( inputFileName ); if (in == null) { throw new IllegalArgumentException(
// read the RDF/XML file model.read(in, "");
Jena cung cấp API để sử dụng các ngôn ngữ tạo Ontology như RDF-S, DAML+OIL và OWL Jena Ontology API là độc lập với ngôn ngữ, tên lớp Java không đề cập đến ngôn ngữ sử dụng (ví dụ OntClass hay ObjectProperty) Để thể hiện sự khác biệt giữa các khả năng biểu diễn khác nhau, mỗi ngôn ngữ có một
Profile, mà nó sẽ đưa ra danh sách các cấu trúc được phép và URI của các lớp và thuộc tính Profile được gắn với một mô hình ontology và được thể hiện trong lớp
OntModel, lớp mở rộng của Model.
Statement mà đối tượng Java về ontology nhìn thấy phụ thuộc vào statement trong đồ thị RDF bên dưới và statement có thể được suy diễn.
Hình 3.2 : Statement mà Ontology Model nhìn thấy
* Tạo ra ontology model : Ontology model được tạo ra thông qua lớpModelFactory của Jena Cách đơn giản nhất là :
Cái này sẽ tạo ra một ontology model với các thiết đặt mặc định Đó là : ngôn ngữ OWL, lưu trong bộ nhớ và suy diễn RDFS Có thể có nhiều lựa chọn trong việc tạo model Ví dụ tạo model trong bộ nhớ với ngôn ngữ DAML như sau :
OntModel m = ModelFactory.createOntologyModel( OntModelSpec.DAML_MEM );
3.2.3 Xử lý tài liệu Ontology và import :
Thuật ngữ tài liệu được sử dụng để chỉ một ontology được viết ra dưới dạng RDF/XML hay N3 Chúng ta nạp một tài liệu Ontology vào trong ontology model theo cách tương tự như mô hình Jena thông thường, sử dụng phương thức read Có thể đọc từ địa chỉ URL, một stream hay một reader (file hay cơ sở dữ liệu) Để xử lý việc import một tài liệu Ontology khác thì lớp DocumentManager cần được sử dụng Mỗi tài liệu Ontology được import sẽ được giữ trong một cấu trúc đồ thị tách biệt Mỗi Ontology model có một bộ quản lý tài liệu (document manager) để thực hiện và xử lý tài liệu ontology.
Ví dụ đọc vào ontology về camera được lưu cục bộ :
OntDocumentManager dm = m.getDocumentManager(); dm.addAltEntry( "http://www.xfront.com/owl/ontologies/camera/",
"file:" + JENA + "src-examples/data/camera.owl" ); m.read( "http://www.xfront.com/owl/ontologies/camera/" );
* Class : class là khối xây dựng cơ bản của một ontology Một class được biểu diễn trong Jena bởi đối tượng OntClass Lấy ra một class bằng cách gọi getOntClass() trên Ontology model :
OntClass camera = m.getOntClass( camNS + "Camera" );
Ngoài ra ta có thể tạo ra một đối tượng OntClass trực tiếp :
OntClass pinCamera = m.createClass( camNS + "PinholeCamera" );
* Property : Một thuộc tính trong một ontology model là mở rộng của lớp Java
RDF Property, lớp biểu diễn nó là OntProperty
Ví dụ truy nhập thuộc tính của một class :
OntClass Camera = newM.createClass( camNS + "Camera" );
OntClass Body = newM.createClass( camNS + "Body" );
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
ObjectProperty part = newM.getObjectProperty( camNS + "part" );
DatatypeProperty body = newM.getDatatypeProperty( camNS + "body" );
Trong Jena, ObjectProperty và DatatypeProperty là các loại con của OntProperty
Một lớp được coi là tập các thể hiện (trong Jena gọi là Individual) Thế nên cách lấy ra các thể hiện của một lớp là :
ExtendedIterator ei = c.listIndividuals(); while(ei.hasNext){
Ngôn ngữ truy vấn SPARQL
SPARQL là một ngôn ngữ truy vấn và giao thức để truy cập tài liệu RDF Là
“ngôn ngữ truy vấn”, SPARQL hướng dữ liệu nghĩa là nó chỉ truy vấn thông tin được giữ trong mô hình mà không cung cấp sự suy diễn nào Tất nhiên khi được sử dụng trong Jena thì chính mô hình Jena đã cung cấp khả năng suy diễn trong đó
Hầu hết các dạng của câu truy vấn SPARQL chứa một tập hợp các mẫu bộ ba được gọi là mẫu đồ thị cơ bản Các mẫu bộ ba này giống như bộ ba của một RDF statement ngoại trừ rằng subject, predicate hay object có thể là các biến Một mẫu đồ thị cơ bản đối sánh được với một đồ thị con của dữ liệu RDF khi mà các RDF term từ đồ thị con đó có thể thay thế cho biến và kết quả trả về là đồ thị RDF tương đương với đồ thị con.
Ví dụ dưới đây chỉ ra một câu truy vấn SPARQL tìm tiêu đề (title) của một quyển sách từ đồ thị dữ liệu đã cho Câu truy vấn gồm 2 phần: mệnh đề SELECT xác định biến xuất hiện trong kết quả truy vấn, và mệnh đề WHERE cung cấp mẫu đồ thị cơ bản để đối sánh đồ thị dữ liệu
"SPARQL
?title
- Với mã ngôn ngữ : SELECT ?v WHERE { ?v ?p "cat"@en }
- Với kiểu dữ liệu số : SELECT ?v WHERE { ?v ?p 42 }
-Với kiểu dữ liệu bất kì : SELECT ?v WHERE { ?v ?p
"abc"^^ }
* Xây dựng đồ thị RDF :
SPARQL có một vài dạng truy vấn Dạng SELECT trở lại giá trị Dạng CONSTRUCT trở lại một đồ thị RDF Đồ thị được xây dựng dựa trên một template để tạo ra các bộ ba RDF theo mẫu đồ thị cơ bản :
PREFIX foaf:
PREFIX org:
Câu lệnh SPARQL FILTER sẽ cung cấp khả năng giới hạn giá trị cho các biến trong câu truy vấn
- Giới hạn giá trị xâu:
PREFIX dc:
- Giới hạn giá trị số :
PREFIX dc:
PREFIX ns:
** Sử dụng SPARQL trong Jena
API để sử dụng SPARQL trong Jena là gói com.hp.hpl.jena.query Các gói khác chứa các phần khác của hệ thống như: máy thực hiện, bộ phân tích, testing, Hầu hết ứng dụng sẽ chỉ cần gói chính, chỉ có những yêu cầu như xây dựng câu truy vấn theo chương trình hay thay đổi hành vi của máy thực hiện truy vấn thì mới cần các gói khác.
Các lớp sử dụng chính trong gói com.hp.hpl.jena.query là :
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Query : một lớp biểu diễn cho chính câu truy vấn Đối tượng của lớp Query thông thường được tạo ra bằng cách gọi một trong các phương thức của
QueryFactory mà chúng cung cấp sự truy nhập đến các bộ phân tích câu truy vấn.
QueryExecution : biểu diễn cho một sự thực hiện câu truy vấn
QueryExecutionFactory : một nơi để lấy về thể hiện của QueryExecution.
DatasetFactory : một nơi để tạo ra Dataset, bao gồm tạo ra DataSource (một Dataset có thể cập nhật)
Cho câu truy vấn SELECT :
QuerySolution : một kết quả đơn của truy vấn
ResultSet : tất cả QuerySolution, là một bộ lặp
ResultSetFormatter : chuyển một ResultSet về nhiều dạng; text, RDF
Ví dụ xây dựng và thực hiện câu lệnh truy vấn trên một model : import com.hp.hpl.jena.query.* ;
Query query = QueryFactory.create(queryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, model) ; try {
ResultSet results = qexec.execSelect() ; for ( ; results.hasNext() ; )
RDFNode x = soln.get("varName") ; // Get a result variable by name.
Resource r = soln.getResource("VarR"); // Get a result variable - must be a resource Literal l = soln.getLiteral("VarL") ; // Get a result variable - must be a literal
Ví dụ xây dựng và thực hiện câu truy vấn CONSTRUCT :
Query query = QueryFactory.create(queryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, model) ;
Model resultModel = qexec.execConstruct() ; qexec.close() ;
XML
XML (viết tắt Extensible Markup Language, "Ngôn ngữ Đánh dấu Mở rộng") là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ đánh dấu khác Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau Mục đích chính của XML là đơn giản hóa việc chia
4 2 sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, XHTML, SVG, và cXML) được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về hình thức của chúng. Đặc điểm
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp dụng một cấu trúc kiểu cây cho thông tin đó Tại mức căn bản, mọi thông tin đều thể hiện dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó Về mặt đó,
XML tương tự với các biểu thức S (S-expression) của ngôn ngữ lập trình LISP ở chỗ chúng đều mô tả các cấu trúc cây mà trong đó mỗi nút có thể có một danh sách tính chất của riêng mình.
Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện RFC3023 định nghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễn bằng XML mà không nói gì đến ngữ nghĩa của dữ liệu.
Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một giản đồ tùy biến được, XML cung cấp một cơ sở cú pháp cho việc tạo lập các ngôn ngữ đánh dấu dựa XML theo yêu cầu Cú pháp chung của các ngôn ngữ đó là cố định — các tài liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm hiểu XML ít ra cũng phải có khả năng đọc (phân tích cú pháp - parse) và hiểu bố cục tương đối của thông tin trong các tài liệu đó Giản đồ chỉ bổ sung một tập các ràng buộc cho các quy tắc cú pháp Các giản đồ thường hạn chế tên của phần tử và thuộc tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng một ký tự Đây là điểm khác biệt giữa XML và HTML. HTML có một bộ các phần tử và thuộc tính không mềm dẻo, chỉ có một tác dụng và nói chung là không thể dùng cho mục đích khác.
Sơ lược về cú pháp
Cú pháp XML cơ bản cho một phần tử là
nội dung
Dưới đây là ví dụ về một công thức nấu ăn viết bằng XML:
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
2
3 Bánh mì cơ bản
4 Bột mì
5 Men
6 Nước
7 Muối
9 Trộn tất cả các nguyên liệu với nhau và nhào kĩ
10 Phủ một mảnh vải, ủ một tiếng đồng hồ trong phòng ấm.
11 Nhào lại, đổ vào khuôn, cho vào lò nướng.
Dòng đầu tiên là Khai báo XML (XML declaration): đó là một dòng không bắt buộc, với nhiệm vụ thông báo phiên bản XML đang được sử dụng (thường là phiên bản 1.0), và còn có thể chứa thông tin về mã hóa ký tự và các phụ thuộc bên ngoài.
Phần còn lại của tài liệu này chứa các phần tử lồng nhau, một số phần tử trong đó có các thuộc tính và nội dung Một phần tử thường bao gồm hai thẻ (tag), một thẻ bắt đầu và một thẻ kết thúc, có thể bao quanh văn bản và các phần tử khác Thẻ bắt đầu bao gồm một cái tên đặt trong một cặp ngoặc nhọn, như ""; thẻ kết thúc bao gồm chính cái tên đó đặt trong một cặp ngoặc nhọn, với một dấu gạch chéo đứng trước, như "" Nội dung của phần tử là tất cả những gì nằm giữa thẻ bắt đầu và thẻ kết thúc, bao gồm văn bản và các phần tử (con) khác Dưới đây là một phần tử XML hoàn chỉnh, với thẻ bắt đầu, nội dung văn bản, và thẻ kết thúc:
11 Nhào lại, đổ vào khuôn, cho vào lò nướng.
Bên cạnh nội dung, một phần tử có thể chứa các thuộc tính — các cặp tên - giá trị được đặt trong thẻ bắt đầu, ngay sau tên phần tử Giá trị của thuộc tính phải được đặt trong cặp nháy đơn hoặc nháy kép, mỗi tên thuộc tính chỉ được xuất hiện một lần trong mỗi phần tử.
4 Bột mì
Trong ví dụ này, phần tử nguyên_liệu có hai thuộc tính: lượng với giá trị "3", và đơn vị với giá trị "ca" Trong cả hai trường hợp, cũng như tên và nội dung của các phần tử, tại cấp độ đánh dấu, tên và giá trị của các thuộc tính cũng chỉ là dữ liệu text
— các giá trị "3" và "ca" không phải một số lượng và một đơn vị đo lường mà chỉ là các chuỗi ký tự mà tác giả tài liệu có thể dùng để biểu diễn những thứ đó.
Ngoài văn bản, các phần tử còn có thể chứa các phần tử khác:
9 Trộn tất cả các nguyên liệu với nhau và nhào kĩ
10 Phủ một mảnh vải, ủ một tiếng đồng hồ trong phòng ấm.
11 Nhào lại, đổ vào khuôn, cho vào lò nướng.
Trong đó, phần tử chỉ_dẫn chứa ba phần tử bước XML đòi hỏi rằng các phần tử phải được lồng nhau một cách đúng đắn — các phần tử không được có phần xen vào nhau Ví dụ, đoạn dưới đây không phải XML định dạng đúng (well-formed
XML) vì các phần từ em và strong xen vào nhau:
1
2
Normal emphasized strong emphasized strong
Mỗi tài liệu XML phải có đúng một phần tử gốc tại bậc trên cùng (còn gọi là phần tử văn bản), do đó đoạn sau cũng sẽ là một tài liệu XML định dạng sai:
2
3 Đồ vật thứ nhất
4 Đồ vật thứ hai
XML cung cấp cú pháp đặc biệt để biểu diễn một phần tử với nội dung rỗng Thay vì viết một thẻ bắt đầu và một thẻ kết thúc ngay sau đó, tài liệu có thể chứa thẻ phần tử rỗng mà trong đó dấu gạch chéo đứng ngay sau tên phần tử Hai ví dụ sau là tương đương về chức năng:
:
XML cung cấp hai phương pháp biểu diễn các ký tự đặc biệt: các tham chiếu thực thể (entity reference) và các tham chiếu ký tự số (numeric character reference).
Trong XML, một thực thể (entity) là một thân dữ liệu được đặt tên với dữ liệu thường là text, chẳng hạn một ký tự đặc biệt.
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Kết luận
Chương này đã hoàn thành nghiên cứu các thư viện Jena trong Java để thao tác với Ontology ,gồm các bước : o Tạo Model o Đọc Ontology o Đọc các thể hiện ontology o Đọc các thuộc tính ontology
Ngoài ra , khi nghiên cứu ngôn ngữ truy vấn ontology là SPARQL , sẽ giúp truy nhập nhiều thuộc tính ontology nhanh ,chính xác
Phân tích và thiết kế các báo cáo
Tổng quan về thị trường chứng khoán
4.1.1 Các khái niệm cơ bản
Thị trường chứng khoán trong điều kiện của nền kinh tế hiện đại, được quan niệm là nơi diễn ra các hoạt động giao dịch mua bán chứng khoán trung và dài hạn. Việc mua bán này được tiến hành ở thị trường sơ cấp khi người mua mua được chứng khoán lần đầu từ những người phát hành, và ở những thị trường thứ cấp khi có sự mua đi bán lại các chứng khoán đã được phát hành ở thị trường sơ cấp Như vậy, xét về mặt hình thức, thị trường chứng khoán chỉ là nơi diễn ra các hoạt động trao đổi, mua bán, chuyển nhượng các loại chứng khoán, qua đó thay đổi chủ thể nắm giữ chứng khoán.
2 Các chủ thể tham gia thị trường chứng khoán
Các tổ chức và cá nhân tham gia thị trường chứng khoán có thể được chia thành các nhóm sau: nhà phát hành, nhà đầu tư và các tổ chức có liên quan đến chứng khoán a) Nhà phát hành
Nhà phát hành là các tổ chức thực hiện huy động vốn thông qua thị trường chứng khoán Nhà phát hành là người cung cấp các chứng khoán - hàng hoá của thị trường chứng khoán b) Nhà đầu tư
Nhà đầu tư là những người thực sự mua và bán chứng khoán trên thị trường chứng khoán Nhà đầu tư có thể được chia thành 2 loại: nhà đầu tư cá nhân và nhà đầu tư có tổ chức c) Các tổ chức kinh doanh trên thị trường chứng khoán
- Quỹ đầu tư chứng khoán
- Các trung gian tài chính d) Các tổ chức có liên quan đến thị trường chứng khoán
- Cơ quan quản lý Nhà nước
- Sở giao dịch chứng khoán
- Hiệp hội các nhà kinh doanh chứng khoán
- Tổ chức lưu ký và thanh toán bù trừ chứng khoán
Tổng quan về thị trường chứng khoán Việt Nam
Phân loại các báo cáo chứng khoán
Xây dựng form báo cáo
Mô hình cho bài toán
- Công ty dịch vụ máy tính chứng khoán
- Các tổ chức tài trợ chứng khoán
- Công ty đánh giá hệ số tín nhiệm
Khi một công ty gọi vốn, số vốn cần gọi đó được chia thành nhiều phần nhỏ bằng nhau gọi là cổ phần Người mua cổ phần gọi là cổ đông Cổ đông được cấp một giấy chứng nhận sở hữu cổ phần gọi là cổ phiếu và chỉ có công ty cổ phần mới phát hành cổ phiếu Như vậy, cổ phiếu chính là một chứng thư chứng minh quyền sở hữu của một cổ đông đối với một công ty cổ phần và cổ đông là người có cổ phần thể hiện bằng cổ phiếu
Cổ phiếu Bluechip được coi là các cổ phiếu có giá trị vốn hóa lớn nhất trên thị trường Những cổ phiếu này cũng được mua bán với số lượng rất lớn nên có ảnh hưởng nhiều đến chỉ số chứng khoán Cổ phiếu Bluechip đều của các công ty có lượng vốn và doanh thu lớn nhất phát hành nên rất được các nhà đầu tư quan tâm.
Ví dụ một số Bluechip trên sàn thành phố Hồ Chí Minh là: FPT, SSI, VNM,
1 Giá tham chiếu: a Giá tham chiếu của cổ phiếu là bình quân gia quyền các giá thực hiện qua phương thức giao dịch báo giá của ngày có giao dịch gần nhất. b Đối với các cổ phiếu mới niêm yết hoặc cổ phiếu bị tạm ngừng giao dịch trong ngày đầu tiên giao dịch hoặc ngày giao dịch trở lại sẽ giao dịch không biên độ. Trong ngày giao dịch tiếp theo, giá tham chiếu của cổ phiếu này sẽ được tính như mục (a) ở trên.
2 Giá trần, giá sàn, giá đóng cửa, mở cửa, giá cao nhất, thấp nhất:
- Giá trần = giá tham chiếu + biên độ giao dịch giá.
- Giá sàn = giá tham chiếu – biên độ giao dịch giá.
- Giá đóng cửa là giá khớp lệnh của cổ phiếu khi kết thúc ngày giao dịch.
- Giá mở cửa là giá được xác định khi khớp lệnh mở đầu ngày giao dịch.
- Giá cao nhất là giá khớp lệnh cao nhất trong ngày giao dịch.
- Giá thấp nhất là giá khớp lệnh thấp nhất trong ngày giao dịch.
3 Nguyên tắc giao dịch: Các giao dịch phải được thực hiện thông qua công ty chứng khoán thành viên của Trung tâm GDCK Hà Nội hoặc Thành phố Hồ Chí Minh.
4 Phương thức giao dịch: Giao dịch báo giá và giao dịch thỏa thuận
[Theo Trung tâm giao dịch chứng khoán Hà Nội : http://www.hastc.org.vn]
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
4.1.3 Các chỉ số chứng khoán
Chỉ số giá cổ phiếu là thông tin rất quan trong đối với hoạt động của thị trường, đối với nhà đầu tư và đánh giá kinh tế bởi nó thể hiện tình hình hoạt động của thị trường chứng khoán Tất cả các thị trường chứng khoán đều xây dựng hệ thống chỉ số giá cổ phiếu cho riêng mình Chỉ số giá cổ phiếu là thông tin thể hiện giá chứng khoán bình quân hiện tại so với giá bình quân thời kỳ gốc đã chọn Giá bình quân thời kỳ gốc thường được lấy là 100 hoặc 1.000 Ví dụ chỉ số HASTC- Index lấy gốc là 100 điểm tại thời điểm ngày 14/7/2005 Công thức tính :
Tổng giá trị thị trường hiện tại (GTn)
Tổng giá trị thị trường gốc (GTo)
Các chỉ số quan trọng trong phân tích chứng khoán :
- Nhóm hệ số giá trị : EPS, P/E, P/B, D/E.
- Nhóm các hệ số tài chính : ROE, ROA,
1 Chỉ số EPS – Earning Per Share
EPS = thu nhập trên một cổ phiếu
Tổng thu nhập sau thuế - tổng số cổ tức của CP ưu đãi
Tổng số CP đang lưu hành Nhận xét :
EPS cho phép khả năng sinh lợi của công ty trên mỗi cổ phần mà cổ đông đóng góp là bao nhiêu.
Chỉ số EPS càng cao thì khả năng sinh lời càng lớn và ngược lại
So sánh chỉ số EPS qua các thời kì sẽ cho chúng ta biết được tốc độ tăng trưởng của doanh nghiệp đang phân tích
2 Chỉ số P/E – Thị giá/Thu nhập cổ phiếu (CP)
Thị giá hiện tại của CP
Thu nhập của CP (EPS)
P/E cho biết nhà đầu tư sẵn sàng trả giá cao hơn cho CP bao nhiêu lần.P/E càng cao thì chứng tỏ CP được thị trường đánh giá cao và ngược lại So sánh chỉ số P/E giữa các công ty cùng ngành để đánh giá giá trị của CP mình đang quan tâm.
Theo quan điểm “bảo thủ” , P/E dưới 10 thì nên mua, nếu đang nắm CP có P/
E từ 10-12 thì nên mua tiếp, P/E từ 12-18 cũng nên mua nếu thì trường đang tăng trưởng tốt, P/E trên 18 thì nên bán Tuy nhiên P/E có thể được chấp nhận cao nếu lợi nhuận công ty tốt.
3 Chỉ số P/B – Price to Book
P/B = thị giá CP / giá trị sổ sách
Giá trị hiện tại của CP (stock price)
Tổng giá trị tài sản – giá trị tài sản vô hình và nợ
P/B là công cụ để tìm kiếm được các CP có giá thấp mà phần lớn thị trường bỏ qua Nếu một công ty đang bán CP với giá thấp hơn giá trị ghi sổ của nó (tức là P/B < 1) thì có 2 trường hợp xảy ra : hoặc là thị trường đang nghĩ giá trị tài sản công ty bị thổi phồng quá mức, hoặc thu nhập trên tài sản của công ty là quá thấp.
Chỉ số P/B có ích khi xem xét các công ty có vốn lớn hoặc công ty tài chính còn giá trị ghi sổ thì không có ý nghĩa nhiều với công ty dịch vụ vì tài sản hữu hình của họ không cao.
Các chỉ số liên quan trực tiếp đến giá cả cổ phiếu là : EPS, P/E và P/B.
4.2 Một số ứng dụng về chứng khoán sử dụng Ontology trên thế giới
- TOWL (Time OWL) : Là 1 dự án xây dựng hệ thống dự đoán diễn biễn thị trường chứng khoán dựa trên các tin tức đã được phát ra Hệ thống sử dụng một Ontology có thể xử lý yếu tố thời gian của các tin Kết hợp với một thành phần xử lý ngôn ngữ tự nhiên để xử lý tin tức được trích ra từ các trang phát tin chứng khoán (Routers, ) và đưa vào một Ontology cơ sở tri thức Một thành phần gọi là trader sẽ truy vấn Ontology cơ sở tri thức, đánh giá theo các luật giao dịch được đặt trước và đưa ra kết quả là đánh giá về một công ty nào đó trong danh mục đầu tư.
Source Market Watch 9:46 AM ET 7/25/2006
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
- DIP (Data, Information and Process Integration with Semantic Web Services) :Đây là một dự án về Semantic Web của cộng đồng châu Âu Trong dự án này, đã phát triển Stock Market Ontology, như là một phần của Financial Ontology và được tạo ra cho Bankinter, một case-study về eBanking trong DIP Ứng dụng này bao gồm một ứng dụng về thị trường chứng khoán, cung cấp một số dịch vụ như: xem chỉ số thị trường, xem giá giao dịch, tìm kiếm, xem tin tức, xây dựng và quản lý danh mục đầu tư.
Tổng quan về hệ thống BKS
BKS là một hệ thống phân phối thông tin chứng khoán tự động trên nền tảng Ontology Mục đích của hệ thống này là thu thập tự động các thông tin chứng khoán bao gồm: thông tin giao dịch cổ phiếu trên hai (2) sàn giao dịch HASTC và HOSE, thông tin báo cáo tài chính của các công ty niêm yết , tin tức chứng khoán lấy từ hai sàn giao dịch và từ các báo điện tử Các thông tin thu thập sẽ được chuyển vào các Ontology: Ontology giao dịch, Ontology báo cáo tài chính, Ontology sự kiện để xử lý Kết quả xử lý sẽ được lưu vào cơ sở dữ liệu BKS Ngoài ra, từ các Ontology đã xây dựng và một Ontology Mẫu báo cáo tư vấn thì hệ thống sẽ tự động sinh ra các báo cáo tư vấn chứng khoán cho người sử dụng, các mẫu báo cáo này có thể tùy biến.
Minh họa các chức năng chính của hệ thống BKS:
Hình 4.1 : Sơ đồ phân rã chức năng của hệ thống BKS
Về mặt kiến trúc thì hệ thống BKS được xây dựng gồm hai phần. o Phần Front-End là một Portal người dùng, chịu trách nhiệm cung cấp nội dung cho người sử dụng o Phần Back-End chịu trách nhiệm xử lý Ontology và cung cấp dữ liệu cho phần Front-End.
Portal người dùng được viết trên nền DotNetNuke Framework, sử dụng ngôn ngữ lập trình C#.Net Phần Back-End sử dụng JENA framework và ngôn ngữ lập trình Java Hai phần này của hệ thống trước mắt giao tiếp thông qua cơ sở dữ liệu BKS và file XML báo cáo tư vấn tự động Mô hình tổng quan của hệ thống được thể hiện trên Hình bên dưới.
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Hình 4.2 : mô hình tổng quan hệ thống BKS
DotNetNuke Framework (.Net programming language)
File XML báo cáo tư vấn tự động
JENA Framework (Java programming language)
Nguồn thông tin chứng khoán
(2 sàn giao dịch HOSE và HASTC, các báo điện tử)
Sự kiện Mẫu báo cáo tự
Giao dịch CP Báo cáo tài
Trong đó : xây dựng oontology sinh báo cáo tự đọng đưa ra file XMl chính là phần cong việc của em
Phân loại các báo cáo
Ngày nay, nền kinh tế của nước ta đang trên đà phát triển, nhiều công ty, doanh nghiệp được thành lập ,đặc biêt việc ứng dụng công nghệ thông tin đang ngày càng được phát triển , mỗi doanh nghiêp , tổ chức các nhân đều có website của riêng mình ,trong đó thông tin luôn được cập nhật liên tục , trực tuyến Đặc biệt thị trường chứng khoán cũng trong chuỗi ứng dụng đó , các nhà đầu tư luôn cần những thông tin chính xác , nhanh về tình hình thị trường , về các công ty niêm yết trên thị trường , về tình hình mua bán của từng loại cổ phiếu và các công ty chứng khoán đã kịp thời đáp ứng nhu cầu đó , mỗi công ty ,tổ chức đều có website của riêng mình Trên mỗi trang web đều có đầy đủ thông tin về thị trường do các chuyên gia về tài chính ,chứng khoán phân tích từng ngày
Từ thực tiễn đó , trong đồ án này ,chúng tôi đã áp dụng công nghệ xây dựng cổng thông tin phân phối thông tin chứng khoán tự động , người dùng có thể xem được các thông tin trực tuyến về giá cổ phiếu ,bảng cá cổ phiếu tăng giảm trong ngày , và cả sự xếp hạng mức độ hấp dẫn của các cổ phiếu để đầu tư , đặc biệt người dùng có thể xem các báo cáo tự động ,tùy biến về thị trường , về các công ty theo thời gian Hệ thống sẽ cập nhật dữ liệu về thị trường liên tục ,để sinh ra báo cáo tự động Để sinh ra các báo cáo tự động , trước hết tôi đã tìm hiểu các dạng báo cáo về chứng khoán trên một số trang web đang được truy cập nhiều hiện nay như : http://www.fpts.com.vn của công ty cổ phần chứng khoán FPT http://www.vnds.com.vn của công ty cổ phần chứng khoán VNDirect http:// www cbv.vn của công ty chứng khoán Biển Việt. http://www.hastc.org.vn của trung tâm giao dịch chứng khaosn Hà nội http://www.vse.org.vn của sở giao dịch chứng khoán Hồ Chí Minh http :// www.tvsi.com.vn của công ty cổ phần chứng khoán Tân Việt
Sau khi tìm hiểu các báo cáo của họ , tôi đã đưa ra một số loại báo cáo thường được đưa ra cho người dùng tham khảo đó là các báo cáo :
Tổng hợp giao dịch của thị trường theo ngày
Tổng hợp giao dịch nhà đầu tư nước ngoài theo ngày
Tổng hợp giao dịch các công ty
4.4.1 Báo cáo toàn thị trường theo ngày
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Trên thị trường chứng khoán , các bản báo cáo tổng kết thị trường luôn được nhà đầu tư quan tâm , từ các số liệu phân tích trên báo cáo , người dùng sẽ có những nhận định về tình hình thị trường đó là :
Chẳng hạn với thông tin về chỉ số : phân tích được ,tình hình thì trường lên xuống theo Index , nếu chỉ số tăng , thị trường tốt , chỉ số giảm , thị trường đang xấu đi Do đó có quyết định đầu tư phù hợp , báo cáo này luôn cần thiết cho người dùng , cho các công ty để có thể tổng hợp thông tin chính xác
Từ các báo cáo nghiên cứu trên trang web , tôi rút ra cấu trúc báo cáo về thị trường theo ngày như sau :
1.Tiêu đề : tên báo cáo
Về chỉ số : chi tiết về Index của tứng thị trường (Hà nội HASTC- Index, Hồ Chí Minh VN-Index ), thay đổi so với phiên giao dịch trước
Về khối lượng giao dịch : chi tiết về khối lượng giao dịch từng thị trường
Về giá trị giao dich : giá trị giao dịch từng sanh (Hà nội –
HASTC ,Hồ Chí Minh - HOSE)
Về giá thay đổi lớn nhất : đưa ra công ty có giá tăng , giảm nhiều nhất trên từng thị trường
Vế số lượng giá : hiển thi số lượng cổ phiếu tăng ,giảm ,giữ giá của từng thị trường.
Về các thông báo kết quả kinh doanh của các doanh nghiêp : các thông tin tài chính về lợi nhuận , doanh thu , tổng tài sản
Về các tin niêm yết : thông tin về bổ sung cổ phiếu ,tin đấu giá các cổ phiếu mới
Về giao dịch nhà đầu tư nước ngoài.
Bảng : các bảng cổ phiếu tăng giá nhiều nhất, giảm giá nhiều nhất , cổ phiếu khối lượng giao dịch lớn nhất toàn thị trường
4.4.2 Báo cáo thị trường theo tuần
Báo cáo này luôn cần thiết , bất kể nhà đầu tư nào cũng cần biết thong tin thị trường sau một số phiên giao dịch , ,họ sẽ có cái nhìn trực quan về thị trường , đa số các nhà đầu tư đều muốn biết tình hình chung các cổ phiếu tuần này thế nào : tăng giảm với tuần trước thế nào , do đó một số trang web đã tổng hợp đưa ra dạng báo cáo chung như sau :
1 Về chỉ số : đưa ra kết quả giao dịch phiên cuối ,so sánh với phiên cuối tuần trước ,tỉ lệ thay đổi thế nào
2 Về khối lượng giao dịch : tương tự chỉ số
3 Về giá trị giao dịch : tương tự
4 Về bình quân giao dịch : bình quân về giá trị giao dịch , khối lượng giao dịch so với tuần trước
5 Bảng : các cổ phiếu tăng giá nhiều nhất ,giảm giá nhiều nhất trong 5 phiên này.
4.4.3 Báo cáo giao dịch nhà đầu tư nước ngoài Đây là báo cáo hết sức cần thiết , doquyết định nhà đầu tư nước ngoài luôn ảnh hưởng rất lướn đến tình hình thị trường , các nhà đầu tư trong nước cần biết thông tin về loại chứng khoán nhà đầu tư nước ngoài mua và bán có quyết định đầu tư phù hợp
Cấu trúc báo cáo nhà đầu tư nước ngoài như sau :
Về khối lượng bán ra : tổng khối lượng bán ra theo số lượng cổ phiếu , giá trị tương ứng
Về khối lượng bán ra nhiều nhất : cổ phiếu được bán ra nhiều nhất theo giá trị
Về khối lượng mua vào : tổng khối lượng mua vào theo số lượng và giá trị tương ứng
Về khối lượng mua nhiều nhất :cổ phiếu được nhà đầu tư ngoại mua nhiều nhất
Bảng : bảng cổ phiếu nhà đầu tư ngoại mua nhiều nhất , bán nhiều nhất
Xây dựng form báo cáo
Sau khi đã nghiên cứu các form báo cáo tôi xác định các form chung cho báo cáo cần in ra từ ontology Xây dựng báo cáo gồm cac bước :
1 Xác định loại báo cáo
2 Xác định cấu trúc báo cáo
3 Xác định các đoạn văn tương ứng trong báo cáo
Xác định các câu văn tương ứng trong báo cáo
Xác định các từ mô tả thường gặp trong câu báo cáo
4.5.1 Form báo cáo toàn thị trường
Báo cáo về tình hình giao dịch toàn thị trường theo thời gian
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Từ cấu trúc chung của các loại báo cáo tham khảo , áp dụng vào xây dựng báo cáo này , em xây dựng ra form chung của báo cáo này gồm : i Về chỉ số : thay đổi index ,khối lượng giao dịch, giá trị giao dịch từng sàn giao dịch ii Về giá
1 Về số lượng thay đổi giá : số lượng cổ phiếu tăng ,giảm giá ứng với từng thị trường Hà Nội , Hồ Chí Minh
2 Về giá cổ phiếu thay đổi lơn nhất : đưa ra cổ phiếu tăng ,giảm giá nhiều nhất với từng thị trường iii Về tin báo cáo tài chính : thông tin báo cáo tài chính theo quý của từng doanh nghiệp ,qua đó nhà đầu tư biết được doanh thu ,lợi nhuận của họ iv Diễn biến giao dịch : gồm các bảng về giá ,khối lượng giao dịch thị trường
3 Các đoạn văn (paragraph)trong báo cáo
3.1 Xác định câu văn trong đoạn văn Để tạo ra các báo cáo với câu văn phù hợp ,phải xác định câu văn tương ứng từng đoạn báo cáo phù hợp dựa vào các báo cáo tham khảo Ứng với mỗi đoạn trong báo cáo được cấu tạo từ những câu văn nhỏ hơn Chẳng hạn khi in ra đoạn văn về cổ phiếu tăng giá nhiều nhất ngày
“HASTC Cổ phiếu SDT tăng giá mạnh nhất phiên , đạt 46.0 nghìn đồng /cổ phiếu , tăng 2.0 %so với phiên trước đó ” Đoạn văn trên được tạo thành từ những câu con sau
1 “ HASTC Cổ phiếu SDT tăng giá mạnh nhất phiên ”
2 “ đạt 46.0 nghìn đồng /cổ phiếu”
3 “ tăng 2.0 %so với phiên trước đó”
Mỗi câu văn tạo thành đoạn văn sẽ có một giá trị tương ứng được nhập từ Ontology Giá chứng khoán hoặc báo cáo tài chính
Ta có các câu văn tạo thành các paragraph như sau Đoạn văn chỉ số :
1 câu văn về Index :HASTC-Index , VN-Index , thứ tự 1
2 câu văn về khối lượng giao dịch : ứng với từng sàn giao dịch ,thứ tự 2
3 câu văn về giá trị giao dịch ,thứ tự 3. Đoạn văn giá chứng khoán Đoạn văn về số lượng thay đổi giá : câu văn về số lượng tăng giá ,số lượng giảm giá ,số lượng đứng giá
5 8 Đoạn văn về giá thay đổi nhiều nhất : câu văn về tên cổ phiếu , giá đóng cửa , tỉ lệ thay đổi của cổ phiếu Đoạn văn mô tả báo cáo tài chính : gồm các câu văn mô tả doanh thu ,lợi nhuận , tổng tài sản
3.2 Xác định các từ thường găp trong câu mô tả
Tùy vào từng đoạn văn sẽ có các câu mô tả khác nhau , từ mô tả tương ứng Trong báo cáo này sẽ có các từ tương ứng với đoạn như sau : Đoạn văn về chỉ số
Câu mô tả tương ứng chỉ số : đưa các cụm từ tương ứng vào thuộc tính
4.5.2 Form báo cáo theo tuần
1 Loại báo cáo : báo cáo theo thời giam về toàn thị trường hoặc giao dịch của nhà đầu tư nước ngoài
2 Cấu trúc báo cáo trong ontology
Về chỉ số : mô tả thay đổi chỉ số phiên cuối cùng với phiên cuối tuần trước
Về khối lượng giao dịch : mô tả thay đổi khối lượng giao dịch với phiên cuối 5 phiên trước
Về giá trị giao dịch : tương tự
Về thống kê 5 phiên gần nhất Thống kê bình quân về giá trị giao dịch ,khối lượng giao dịch 5 phiên so với tuần trước
Các đoạn văn mô tả tương ứng trong báo cáo
3.1 Các câu văn trong đoạn văn
Tương ứng với mỗi lớp trong ontology là một đoạn văn mô tả đó là :
Câu văn mô tả chỉ số kết thúc phiên
Câu văn mô tả về số điểm thay đổi so với tuần trước
Câu văn mô tả tỉ lệ % thy đổi so với tuần trước.
2.Câu văn mô tả khối lượng giao dịch : mô tả về khối lượng giao dịch kết thúc phiên cuối
3 Câu văn mô tả giá trị giao dịch : mô tả về giá trị giao dịch kết thúc phiên cuối
4 Đoạn văn mô tả thống kê bình quân Đoạn về khối lượng giao dịch
Câu mô tả KLGD bình quân 5 phiên này
Câu mô tả tỉ lệ thay đổi Đoạn mô tả giá trị giao dịch
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Câu mô tả GTGD bình quân 5 phiên này
Câu mô tả tỉ lệ thay đổi
3.2 các từ trong câu mô tả Đoạn văn về chỉ số : giống như báo cáo toàn thị trường theo ngày , câu mô tả được đưa vào thuộc tính “comotatang”,”comotagiam” như sau :
Mô hình cho bài toán
Khi cần phân tích ,tao ra các báo cáo theo yêu cầu , các công ty nói chung ,nhà đầu tư nói riêng mất rất nhiều thời gian ,công sức ,để thu nhập ,xử lý dữ liệu ,trình bày bảng biểu ,đồ thị ,thậm chí phải tiến hành sử lại cơ sở dữ liệu ,cập nhật mã nguồn …., làm chậm quá trình ra quyết định
Vì vậy cần phải xây dựng một ứng dụng cho phép người dùng thực hiện xem báo cáo nhanh nhất dựa vào các chỉ tiều xác định ,đó chính là bài toán xây dựng báo cáo tự động cho hệ thống phân phoie thông tin chứng khaosn tự động Để giải quyết bài toán trên , chúng ta xây dựng ontology sinh báo cáo tự động cho chứng khoán
Ontology đã bắt đầu được sử dụng cho các ứng dụng về thị trường chứng khoán trên thế giới và đã phát huy vai trò của nó như một hệ thống lưu trữ và xử lý tri thức chứng khoán.
Thị trường chứng khoán Việt Nam đang dần từng bước bắt nhịp với thị trường chứng khoán thế giới Số lượng các website chứng khoán ngày càng tăng lên Nhu cầu xây dựng một hệ thống tri thức về chứng khoán rõ ràng là rất cần thiết nhưng hiện chưa có nơi đâu làm được Với mong muốn đó, hệ thống phân phối thông tin chứng khoán dựa trên Ontology (hệ thống BKS) đã được nghiên cứu và xây dựng.Đây có thể coi là một thử nghiệm đầu tiên trong việc áp dụng Ontology vào thị trường chứng khoán Việt Nam.
Thiết kế chương trình sinh báo cáo tự động cho hệ thống BKS
Giới thiệu bài toán
Hệ thống sinh báo cáo tự động từ Ontology cho hệ thống phân phối thông tin chứng khoán tự động , được áp dụng trong hệ thống BKS với muc đích sinh báo cáo tùy biến ,tự động cho người dùng Hệ thống sinh ra file XML tương ứng từng loại báo cáo ,nội dung các đoạn văn của báo cáo sẽ được đặt trong cá thẻ XML Mỗi lần tầng giao diện cần hiển thị báo cáo , sẽ vào thư mục tương ứng để đọc ra file XML báo cáo đó , tùy vào quyền truy nhập của người dùng , người quản trị sẽ cho họ được xem một sô hoặc tất cả các phần trong báo cáo
Hệ thống sinh báo cáo tự động là vì , khi nào các Ontology về giá chứng khoán ,Báo cáo tài chính có dữ liệu mới ,nó sẽ sinh ra báo cáo tương ứng với các dữ liệu đó Trong Ontology mẫu báo cáo ,luôn có sẵn các câu mô tả tương ứng các loại dữ liệu ,do người thiết kế Ontology tạo ra
Trong các hệ thống sinh báo cáo tự động đã có từ trước dữ liệu luôn tồn tại sẵn có trong Ontology , do đó việc truy xuất để đọc ra câu báo cáo thuận tiện hơn , các giá trị thuộc tính truy xuất nhanh hơn
Hệ thống sinh báo cáo tự động cho hệ thống BKS được xây dựng từ 3 Ontology : Ontology mẫu báo cáo , Ontology Giá chứng khoán , Ontology báo cáo tài chính Do đó chương trình sinh báo cáo tự động được xây dựng từ đầu : báo cáo được sinh tự động từ Ontology mẫu báo cáo , sau khi đọc dữ liệu từ hai Ontology Giá và Báo cáo tài chính trình Đây là bài toán rất hay do dữ liệu luôn được cập nhật liên tục theo phiên giao dịch , số liệu trong Ontology thay đổi liên tục ,do đó các báo cáo được sinh ra luôn thay đổi theo sô liệu nhập vào ,hệ thống sẽ luôn cập nhật được các loại báo cáo mà không tốn thời gian phân tích ,truy nhập cơ sở dữ liệu , số liệu trong báo cáo luôn chính xác
Hệ thống Ontology báo cáo tìa chính ,giá chứng khoán luôn cập nhật dữ liệu liên tục từ hai thị trường HASTC ,HOSE và một số trang web như fpts.com.vn Để thuận tiện cho việc cập nhật , truy vấn ontology theo thời gian , mỗi lần có giá trị mới sẽ add các giá trị này vào Ontology tương ứng , dữ liệu cũ sẽ bị xóa đi ,do đó truy vấn đọc dữ liệu sẽ không phải lo về xử lý thời gian nhiều , dữ liệu mới luôn được sinh ra báo cáo tương ứng theo thời gian thực tế
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Hệ thống đưa báo cáo tự động , sẽ phải xử lý việc đọc dữ liệu ,sao cho đọc đúng giá trị từ đúng Ontology sinh ra nó Do đó phải xây dựng Ontology phù hợp truy xuất lấy ra đúng giá trị đó , một phần bởi vì giữa hai Ontology giá chứng khoán và báo cáo tài chính vẫn có sự liên hệ với nhau , có nhiều thuộc tính trùng giá tri Đặc biệt khi sinh ra một đoạn văn cho báo cáo , các giá trị nhập về Ontology mẫu báo cáo thường liên quan đến nhau như : tên cổ phiếu ,giá đóng cửa , tỉ lệ thay đổi , mà Ontology lại lưu giá trị của tất cả cấc cổ phiếu , phải xử lý truy vấn phù hợp
Hơn nữa ,Ontology giá luôn cập nhật dữ liệu theo phien ,Ontology báo cáo tài chính chỉ lưu thông tin báo cáo tài chính theo một thời gian nhát định , không thay đổi theo ngày , do đó luôn phải xử lý thời gian phù hợp để không đọc dữ liệu trùng lặp Ta có thể thấy rõ hai Ontology này ở hình đưới :
Hình : mô hình Ontology giá chứng khoán
Hình : Ontology báo cáo tài chính
Dữ liệu được lưu trữ theo ngày ,do đó khi cần đưa ra báo cáo về thời gian :
5 phien liên nhau ,theo tuần ,theo tháng , để tránh việc phải vào cơ sở dữ liệu ,phân tích dữ liệu tốn thời gian ,công sức , chương trình sẽ xử lý để có thể đọc dữ liệu nhanh mà không pharui vào cơ sở dữ liệu Đó là một trong những khó khăn cho hệ thống sinh báo cáo tự động cho hệ thống BKS , chúng ta cần xây dựng Ontology mẫu báo cáo phù hợp để tiện truy vấn
Sau khi tìm hiểu các nguồn thông tin là các báo cáo trên thị trường , xây dựng onotology cho hệ thống Việc xây dựng có thể do con người hoàn toàn thực hiện, bán tự động hoặc tự động Có nhiều phương pháp đã được đề nghị trong xây dựng Ontology Xây dựng Onology sao cho phục vụ cho việc truy nhập dữ liệu của onotlogy khác , thêm vào thuuộc tính tướng ứng của mình , sinh báo cáo tự động ,nhanh và ý nghĩa
Trong bài toàn này , tôi áp dụng xây dựng ontology theo các bước như mô hình dưới đây o Determine Scope : xác định phạm vi ,lĩnh vự của ứng dụng o Consider Reuse : tái sử dụng các nguồn thông tin đã có , các ontology về chứng khoán , về sinh báo cáo tự động o Enumerate terms :liệt kê các thuật ngữ quan trong của ứng dụng ,xây dựng thành các thuộc tính ,lốp trong Ontology
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48 o Define Taxonomy : xác định cây phân cấp các lớp trong Ontology o Define Properties : định nghĩa cá thuộc tính , các term còn lại sau khi xây dựng lớp phân casp o Define Facets : định nghĩa các kiểu của thuộc tính : kiểu đối tượng ,dữ liệu ,Float , string… o Define Instance : tạo ra các thể hiện của cá lớp , đẻ lưu thông tin
Hình 5.1 : Mô hình các bước xây dựng ontology
Bước 1 : Xác định lĩnh vực và phạm vi Ontology
Lĩnh vực : lĩnh vực mà chúng ta xây dựng Ontology này là tập các thông tin về chứng khoán : đó là các thông tin về thị trường , giá chứng khoán , tình hhinhf các công ty
Phạm vi : Trong Ontology này , chúng ta tập trung vào xây dựng các form báo cáo cho chứng khoán , form về báo cáo thị trường ,về tình hình các công ty ,dựa vào các báo cáo từ các trang web chứng khoán trên thị trường
Bước 2 : Xem xét về khả năng dùng lại Ontology
Khi xây dựng Ontology ,chúng ta luôn phải tìm hiểu các Ontology đã được xây dựng ,xác định các khái niệm trong lĩnh vực này trước đó ,để có thể kế thừa , sử dụng lại , giảm được thời gian ,công sức xây dựng Ontology mới
Trong thời gian qua các ontology chứa các khái niệm , mối quan hệ về chứng khoán không nhiều , kể cả các ontology về sinh báo cáo tự động , do đó cũng có những khái niệm về chứng khoán , báo cáo đang tồn tại , nhưng ứng dụng Ontology trong sinh báo cáo tự động của chúng ta là ứng dụng với các khái niệm chưa tồn tại trước đó ,vì vậy việc xây dựng các khái niệm trong Ontology là mới hoàn toàn Sau này khi ta cần bổ sung thêm các khái niệm mới , câu văn mới , loại báo cáo mới chúng ta có thể sử dụng các khái niệm sẵn có để tạo báo cáo mới nhanh chóng ,thuận tiện
Bước 3 : Liệt kê các term(thuật ngữ ) quan trọng cho xây dựng ontology
Các câu truy vấn quan trọng trong chương trình
Do chương trình thường xuyên phải truy nhập dữ liệu từ các ontology khác nahu ,do đó truy nhập băng SPARQL
1 truy vấn lấy ra giá trị “chỉ số” với đúng thị trường “marketName”, của lớp
String qStrStock = "PREFIX stock:\n" + "PREFIX xsd: \n"
2 Đưa ra giá trị các thuộc tính : tenCP, giadongcua, của thuộc tính
String queryStr = "PREFIX stock:\n"
+"WHERE {?x stock:hasSessionStock ?stock \n" +"?stock stock:hasMarket ?market \n "
Kết quả
Sau khi chạy với kết quả của phiên giao dịch ngày 4-4-2008 , chúng tôi đã in ra file XML có dạng như hình sau :
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Hình 5.11 : file xml in ra báo cáo
Tiến hành xây dựng onology mẫu báo cáo từ các loại báo cáo tham khảo Thao tác Ontology bằng Jena , truy vấn bằng ngôn ngữ SPARQL , để sinh ra câu báo cáo tự động ,hợp lý
Chương trình đã xử lý các hàm phù hợp in ra báo cáo theo đúng yêu cầu , đảm bảo cho lớp trên có thể phân quyền cho người dùng dựa vào cá thể XML
Kết luận và phương hướng phát triển:
Tổng kết Đồ án này đã thực hiện việc nghiên cứu những vấn đề cơ bản sau:
Các báo cáo về thị trường chứng khoán
Cơ sở lý thuyết về Ontology
Nghiên cứu các Ontology về chứng khoán
Thư viện Jena của Java
Ngôn ngữ truy vấn SPARQL
Thiết kế xây dựng Ontology sinh báo cáo tự động cho hệ thống phân phối thông tin chứng khoán tự động.
Truy vần Ontology bằng Jena đưa ra báo cáo tự động Đồ án đã đề xuất một giải pháp hữu hiệu cho hệ thống phân phối thong tin chứng khoán tự động
Trước hết chúng tôi xem xét nhu cầu tìm hiểu thông tin của các nhà đầu tư ,luôn cần thông tin nhanh ,chính xác ,để có quyết định đầu tư phù hợp Từ đó áp dụng Ontology xây dựng hệ thống phân phối thông tin chứng khoán tự động
Do thời gian làm đồ án có hạn, nên đồ án mới chỉ hoàn thiện ở mức sơ bộ Còn rất nhiều vấn đề mà chúng ta có thể làm để nâng cao chất lượng của bài toán sinh báo cáo tự động , cũng như xây dựng các phân hệ hoàn thiện hơn:
Hoàn thiện thêm nhiều câu văn cho báo cáo để đạt hiệu quả tốt hơn Ví dụ như: thay thế khi mô tả câu về chỉ số tăng điểm có thế dùng các câu như :”hôm nay VN-Index đảo chiều” ,”FPT tiếp túc tăng phiên thứ 8 liên tiếp” ,”VN-Index tăng mạnh phiên này ” , xây dựng thêm các hàm xử lý trích chọn câu phù hợp
Thiết kế đưa thêm ra các dạng báo cáo
Cải thiện các thuộc tính để có hiệu năng tốt hơn Ví dụ như , để tránh trùng lặp chủ ngữ “VN-Index phiên này đạt 833 điểm , VN-Index tăng 3% so với phiên trước ” Bằng cách thêm các thuộc tính ….
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
PHỤ LỤC 1: CÁC KẾT QUẢ
Tên lớp Tên thuộc tính Ý nghĩa
BaoCao coGiaTri coGiaTriSoSan h coMoTa coTenClass coTenThuocTi nh coThuTu
Mô tả lớp tạo câu báo cáo Theo đung thứ tự
BaoCaoThaydo i coGiaTri coMoTaGiam coMoTaTang coTenClass coTenThuocTi nh coThuTu
Lớp tạo câu báo cáo mô tả tăng ,giảm
Cokieubang Coloaibang cotenbang Đưa ra tên cá bảng cần đưa vào
NguonThongTi n cogiatriNTT coloplayTT colopNTT cothuoctinhNT T cothuoctinhsuy dien cotopNTT
Mô tả: dựa vào thuộc tính suy diễn lấy từ lớp NTT , lấy ra thuộc tính NTT ,hoặc lấy ra top dựa vào topNTT
Lớp đưa ra câu về chỉ số
Lớp đưa ra câu về giá trị giao dịch StatementKLG coKLGD Lớp đưa ra câu về khối lượng giao dịch
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
Nhat coClass coCongTy coGiaDongCua coThayDoiTan g coThiTruong coThuocTinh
Lớp đưa ra câu về công ty có giá tăng nhất
Nhat coClass coCongTy coGiaDongCua coThayDoiTan g coThiTruong coThuocTinh
Lớp đưa ra câu về công ty có giá giảm nhiều nhất
StatementTong so coClass coSoDungGia coSoGiamGia coSoTangGia CoThiTruong CoThuocTinh
Mô tả câu về số lượng chứng khoán tăng ,giảm ,giá
Hình2 : bảng lớp ,thuộc tính tương ứng trong Ontology
Danh mục các tài liệu tham khảo
[DaviesStuderWarren2006] John Davies, Rudi Studer, Paul Warren,
SemanticWeb Technologies Trends and Research in Ontology-based Systems, John
[DIP2005] D10.7: Financial Ontology, DIP Project, 06/10/2005.
[Fernandez1999] Fernández-López, M.: "Overview of Methodologies for Building
Ontologies" "Proc Workshop on Ontologies and Problem-Solving Methods".
[Gruber1993] Gruber T 1993 A translation approach to portable ontologies.
Knowledge Acquisition 5(2):199–220, http://ksl-web.stanford.edu/KSL_Abstracts/KSL-92-71.html
[GuZhou2006] Huazhen Gu, Kuanjiu Zhou, Text Classification Based on Domain
Ontology, Journal of Communication and Computer, May 2006, Volume 3, No.5
Sinh viên thực hiên : Đào Thị Thu Lớp CNPM_K48
[Mika2002] Péter Mika, Applied Ontology-based Knowledge Management, A Master's Thesis, Vrije Universiteit, Amsterdam, 2002-07-23
[Mining2008] Data Mining with Ontologies: Implementations, Findings, and
[NoyMcGuiness2003] Noy, F.N., & McGuinnes, D.L (2003) Ontology development 101: A guide to create your first ontology Retrieved 2003 from http://ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinnes.doc
[StaabStuder2004] Staab S, Studer R (Eds) 2004 Handbook on Ontologies.
International Handbooks on Information Systems Springer.
[UscholdKING1995] Uschold M, King M 1995 Towards a methodology for building ontologies In Workshop on Basic Ontological Issues in Knowledge
Sharing International Joint Conference on Artificial Intelligence, 1995
[Economy] Báo điện tử Economy: http://vneconomy.vn
[Protege] Protégé-OWL Editor : http://protege.stanford.edu/
[Jena] JENA : http://jena.sourceforge.net/
[MethOntology] MethOntology : http://rhizomik.net/~Eroberto/thesis/html
[OWL] OWL : http://www.w3.org/TR/owl-features/
[SPARQL] SPARQL : http://www.w3.org/TR/rdf-sparql-query/
[VSM] Wikipeadia : http://en.wikipedia.org/wiki/Vector_Space_Model
Các trang web về chứng khoán trong nước :
[FPTS] EZ-Search FPTS : https://ezsearch.fpts.com.vn/
[HASTC] Trung tâm giao dịch chứng khoán Hà nội : http://www.hastc.org.vn/ [HOSE] Trung tâm giao dich chung khoan TP.HCM : http://www.vse.org.vn/
[VBS] Chứng khoán Biển Việt : http://www.cbv.vn