Xem mẫu

  1. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 ĐỀ XUẤT HỆ THỐNG THÔNG MINH HỖ TRỢ TÌM KIẾM VIỆC LÀM CONCEPTION OF AN INTELLIGENT SYSTEM FOR JOB SEARCH Nguyễn Văn Bình Trường Cao đẳng Công nghệ Thông tin, Đại học Đà Nẵng Email: binhsht@gmail.com TÓM TẮT Nhu cầu sử dụng các công cụ để tìm kiếm thông tin trên mạng Internet là rất lớn, trong đó có tìm kiếm việc làm. Hiện nay có nhiều đơn vị hỗ trợ tư vấn việc làm trực tiếp, hoặc cung cấp thông tin tuyển dụng thông qua các trang web tìm kiếm việc làm. Tuy nhiên các chức năng tìm kiếm việc làm đều theo từ khóa nên kết quả tìm được chưa cung cấp đầy đủ thông tin liên quan. Web ngữ nghĩa là sự mở rộng của web hiện tại bằng cách cho phép người dùng tìm kiếm, chia sẻ, và kết hợp thông tin dễ dàng hơn. Sử dụng công nghệ web ngữ nghĩa có thể xây dựng các hệ thống tìm kiếm thông minh dựa trên ngữ nghĩa của nội dung thông tin mà máy tính có thể hiểu và suy luận được. Bài báo nghiên cứu và đề xuất giải pháp xây dựng và triển khai hệ thống thông minh hỗ trợ tìm kiếm việc làm sử dụng công nghệ web ngữ nghĩa. Từ khóa: web ngữ nghĩa; tìm kiếm việc làm; ontology; bộ ba; tìm kiếm ABSTRACT Demands for tools to search for information on the Internet are very great, including job search. There are many organizations supporting directly employment counseling, or providing recruitment information through the job search site. However, the search functions with keyword-based on these websites usually provide insufficient information. The semantic web drives the evolution of the current Web by enabling users to find, share, and combine information more easily. Using the semantic web technologies can construct the intelligent search system based on the semantic content of information that computers can understand and inferences. This paper deals with a research and proposals for solutions to building intelligent systems to support job search using this technology. Key words: semantic web; job search; ontology; triple; search 1. Đặt vấn đề tả cụ thể về tiêu đề, tên công ty tuyển dụng, vị trí Ngày nay, World Wide Web (WWW) đã tuyển dụng, yêu cầu công việc, thu nhập và các trở thành một kho tàng thông tin khổng lồ, chứa thông tin liên quan khác. Người dùng có thể xem đựng, xử lý và cung cấp gần như bất cứ thông tin nội dung tuyển dụng theo các danh mục được thông dụng nào cho người dùng Internet trên thiết kế sẵn, hoặc sử dụng công cụ tìm kiếm trên khắp thế giới. Sự tiện dụng của các dịch vụ tìm trang web. Các công cụ tìm kiếm này chỉ hỗ trợ kiếm và cung cấp thông tin cũng đã tạo ra thói tìm kiếm theo từ khóa kèm theo một số lựa chọn quen của con người trong việc khai thác thông cứng các điều kiện, ví dụ như có thêm danh sách tin. Thay vì tìm kiếm thông tin trên sách, báo, sổ xuống để lựa chọn loại công việc là “Toàn các tài liệu in ấn, con người đã chuyển sang tìm thời gian” hay “Bán thời gian”. Như vậy, nếu kiếm thông tin từ WWW và có được kết quả chỉ một người có khả năng lập trình C++ khi tìm sau vài thao tác đơn giản. kiếm công việc có yêu cầu phù hợp với bản thân bằng cách nhập từ khóa “C++” thì kết quả sẽ Cung cấp thông tin tuyển dụng, việc làm không hiển thị những công việc có yêu cầu về kỹ làm một trong những ứng dụng phổ biến trên năng lập trình hướng đối tượng. mạng Internet. Hiện nay có nhiều website thường xuyên đăng tải các tin tức tuyển dụng Việc tìm kiếm bằng từ khóa như trên có mới như careerlink.vn, vietnamworks.com, thể xem là một hình thức tìm kiếm thụ động, bởi timviecnhanh.com… Các website này cung cấp vì hệ thống chỉ tìm kiếm và so khớp các từ được bản tin tuyển dụng dưới dạng các bài viết, có mô đưa ra mà không hiểu ý nghĩa của các từ đó hoặc 1
  2. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 mối liên hệ giữa các khái niệm, từ đó có thể bỏ Web ngữ nghĩa (semantic web) là sự mở sót nhiều kết quả liên quan khác. Vì vậy mà kết rộng của web hiện tại mà trong đó thông tin quả thu được chỉ là một danh sách các thông tin được định nghĩa rõ ràng sao cho con người và có chứa từ khóa, người dùng phải tự tiếp tục đọc máy tính có thể cùng làm việc với nhau một cách và tìm kiếm thủ công từ danh sách này để có hiệu quả hơn. Mục tiêu của Web có ngữ nghĩa là được kết quả mong muốn. Ngoài ra, cơ chế tìm để phát triển các chuẩn chung và công nghệ cho kiếm theo từ khóa không giải quyết được các câu phép máy tính có thể hiểu được nhiều hơn thông truy vấn phức tạp và mang tính trừu tượng cao. tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn Để giải quyết vấn đề này, bài báo sẽ đề việc khám phá thông tin, tích hợp dữ liệu và tự xuất xây dựng một hệ thống thông minh hỗ trợ động hóa các công việc [1]. tìm kiếm việc làm. Hệ thống này được xây dựng Với web ngữ nghĩa, việc tìm kiếm sẽ dễ dựa trên lý thuyết và các công cụ của web ngữ dàng nếu mọi thứ được đặt trong ngữ cảnh. Ý nghĩa, xây dựng dữ liệu thông tin việc làm có bổ tưởng chính yếu là toàn bộ ngữ cảnh mà người sung thêm ngữ nghĩa cho các tài nguyên và khái sử dụng được biết đến. Mục tiêu của web ngữ niệm để máy tính có thể hiểu và tự động xử lý, nghĩa là phát triển các tiêu chuẩn và kỹ thuật để tìm kiếm việc làm một cách thông minh. giúp máy tính hiểu nhiều thông tin trên Web, để Bài báo sẽ tập trung đề xuất giải pháp xây máy tính tìm ra các thông tin dồi dào hơn, tích dựng ontology cho các ứng dụng lưu trữ và tìm hợp, duyệt dữ liệu, và tự động hóa các thao tác. kiếm việc làm cùng với mô hình hoạt động của Với web ngữ nghĩa, chúng ta không những nhận hệ thống tìm kiếm việc làm thông minh. được những thông tin chính xác hơn khi tìm kiếm thông tin từ máy tính, mà máy tính còn có 2. Nghiên cứu tổng quan thể tích hợp thông tin từ nhiều nguồn khác nhau, Sự phổ biến và bùng nổ thông tin trên biết so sánh các thông tin với nhau. WWW đã đặt ra một thách thức mới là làm thế Cơ chế cho phép chia sẻ và trao đổi ngữ nào để khai thác được thông tin trên Web một nghĩa của thông tin được biết đến và sử dụng lâu cách hiệu quả, mà cụ thể là làm sao để máy tính nhất là ontology. Ontology là bản mô tả một có thể trợ giúp xử lý tự động được chúng. Muốn cách tường minh các khái niệm trong một miền vậy, trước hết máy tính phải hiểu được thông tin ứng dụng nào đó cùng với quan hệ giữa những trên các tài liệu Web, trong khi ở thế hệ Web khái niệm này. Ontology cung cấp từ vựng hiện tại thông tin được biểu diễn dưới dạng chỉ chung cho việc trao đổi thông tin giữa các ứng con người mới đọc hiểu được. dụng và dịch vụ Web. Bản thân phần ngữ nghĩa Thực tế hiện nay, phần lớn các công ty, của Web có ngữ nghĩa bao gồm ontology và giá doanh nghiệp đều đăng thông tin tuyển dụng của trị cụ thể của khái niệm định nghĩa trong đơn vị mình lên các trang web giới thiệu việc ontology. Để biểu diễn ontology và dữ liệu cần làm. Con người đã thay đổi cách thức cung cấp có ngôn ngữ thích hợp. Trong quá trình hình và tìm kiếm việc làm bằng cách tận dụng tính ưu thành Web có ngữ nghĩa, nhiều ngôn ngữ như việt của mạng Internet. Điều này giúp cho các vậy đã được đề xuất và phát triển, trong đó được doanh nghiệp tuyển dụng tiết kiệm thời gian, tiết biết đến nhiều nhất là RDF và RDFS [7], kiệm chi phí và dễ dàng chọn lọc các ứng viên DAML+OIL [8]. tiềm năng, còn người tìm việc nhanh chóng tìm RDF (Resource Description Framework) được các thông tin phù hợp, chính xác. là cơ chế cho phép mô tả dữ liệu về dữ liệu Trên cơ sở thông tin mà người tìm việc (metadata). RDF coi các đối tượng trên Web cung cấp từ các trang web, các doanh nghiệp có (trang Web, đoạn văn, người, các đối tượng thể xây dựng hệ thống tuyển dụng trực tuyến một khác) là các tài nguyên. Mỗi tài nguyên được mô cách hiệu quả. Ý tưởng về xây dựng hệ thống tìm tả bởi bộ ba đối tượng - thuộc tính – giá trị. Ví kiếm việc làm thông minh và tuyển dụng trực dụ, mệnh đề “Công ty A có địa chỉ là B” sẽ được tuyến có thể được xây dựng bằng web ngữ nghĩa. mô tả bởi bộ ba: (Công ty A, địa chỉ, B). 2
  3. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 RDF Schema (RDFS) là một biến thể đơn Bước 2: Xem xét việc sử dụng lại các giản sử dụng cơ chế RDF. RDFS cho phép mô tả ontology có sẵn. Trước khi bắt đầu xây dựng các thuộc tính đặc thù cho ứng dụng, đồng thời ontology, cần xét đến khả năng sử dụng lại các định nghĩa lớp các đối tượng có cùng thuộc tính ontology đã có. Nếu có thể sử dụng lại một phần đó. Việc định nghĩa lớp đối tượng với thuộc tính các ontology đã có, chi phí bỏ ra cho quá trình và quan hệ rất cần thiết cho việc xây dựng xây dựng ontology sẽ giảm đi rất nhiều. ontology. Bước 3: Liệt kê các thuật ngữ quan trọng. Hiện nay nhiều ontology bằng tiếng Việt Cần bắt đầu từ các thuật ngữ chuyên ngành để đã được xây dựng cho các lĩnh vực khác nhau xây dựng thành các lớp trong ontology tương như OVL [5], ontology thông tin khoa học công ứng. Việc liệt kê các thuật ngữ còn cho thấy nghệ [2]. Trong lĩnh vực việc làm và tuyển dụng được phần nào tổng quan về các khái niệm trong đã có các đề xuất ontology cho hệ thống tự động lĩnh vực đó, giúp cho các bước tiếp theo được đánh giá hồ sơ và tuyển dụng trực tuyến [4], tuy thuận lợi. nhiên vẫn chưa có đề xuất các ontology hoàn Bước 4: Xác định các lớp và phân cấp của thiện phù hợp với tình hình tại Việt Nam. các lớp. Tìm hiểu về ngữ nghĩa của các thuật 3. Đề xuất xây dựng hệ thống ngữ đã có để có được các mô tả cho thuật ngữ đó, định vị cho các lớp mới, loại bỏ ra khỏi 3.1. Thiết kế ontology ontology nếu nằm ngoài phạm vi của ontology Việc tiếp cận ngữ nghĩa tài nguyên Web hay hợp nhất với các lớp đã có nếu có nhiều thông qua các ontology trở nên mềm dẻo hơn vì thuật ngữ có ngữ nghĩa như nhau. Ngoài ra người sử dụng có thể lựa chọn bộ từ vựng và các không phải thuật ngữ nào cũng mang tính chất ràng buộc trong các ontology. Ví dụ, các ứng như một lớp. dụng trong các miền khác nhau có thể sử dụng Có một số phương pháp tiếp cận trong các ontology khác nhau. Đặc biệt, các ontology việc xác định phân cấp của các lớp: Phương có thể được sử dụng để đặc tả ý nghĩa của các tài pháp từ trên xuống (top-down), Phương pháp từ nguyên Web (thông qua các chú thích) bằng dưới lên (bottom-up), Phương pháp kết hợp cách xác nhận các tài nguyên như các trường Bước 5: Xác định các thuộc tính. hợp cụ thể của một số khái niệm quan trọng và khẳng định các tài nguyên có quan hệ với các tài Bước 6: Xác định ràng buộc của các thuộc nguyên khác thông qua một số thuộc tính quan tính. Cần phải xác định các ràng buộc cho một trọng đã định nghĩa trong các ontology. thuộc tính càng chặt chẽ càng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của Từ vựng trong một ontology có thể được các ứng dụng sử dụng Ontology này. biểu diễn bằng các khái niệm và các quan hệ được đặt tên và các định nghĩa khái niệm có thể Bước 7: Tạo các thực thể. Việc tạo thực được biểu diễn bằng các giới thiệu tương đương. thể cho một lớp là quá trình điền các thông tin Các giả định cơ sở có thể được biểu diễn bằng vào các thuộc tính của lớp đó. các tiên đề khái niệm và quan hệ khái quát. Đôi Việc xây dựng ontology cũng cần phải khi một ontology tương ứng với một cơ sở tri tính đến khả năng mở rộng lĩnh vực quan tâm thức logic mô tả. trong tương lai, khả năng kế thừa các hệ thống Quy trình phát triển ontology là một quy ontology có sẵn, cũng như tính linh động để trình gồm nhiều bước, tuy nhiên vẫn chưa có ontology có khả năng mô tả tốt nhất các quan hệ một phương pháp chuẩn hóa nào để phát triển phức tạp trong thế giới thực. các ontology. Quy trình phát triển dưới đây gồm Quy trình xây dựng ontology này được áp 7 bước do Stanford Center for Biomedical dụng để tạo ontology cho hệ thống tìm kiếm việc Informatics Research đưa ra. làm. Thông tin việc làm liên quan đến nhiều lĩnh Bước 1: Xác định lĩnh vực và phạm vi của vực khác nhau như đào tạo, ngành nghề, địa ontology. điểm, khả năng… 3
  4. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 Trong cơ sở dữ liệu quan hệ truyền thống, có số điện thoại 3849361 dữ liệu được lưu dưới dạng các bảng. Trong mỗi C1 bảng, mỗi hàng là một bản ghi không có giới hạn về số lượng các trường. Bảng mô tả thông tin có địa chỉ tỉnh/TP Đà Nẵng công ty tuyển dụng có dạng như sau: D1 Bảng 1. Thông tin công ty tuyển dụng số nhà khu vực ID Tên C.Ty Địa chỉ Điện thoại 74 Bạch Đằng Thành thị C1 Gameloft 74 Bạch Đằng 3849361 Hình 2. Mở rộng thông tin địa chỉ C2 FPT software KCN An Đồn 3958777 Từ yêu cầu của bài toán lưu trữ thông tin Để có thể xây dựng ontology, dữ liệu cần và tìm kiếm việc làm, chúng tôi xác định các lớp được chia nhỏ để lưu trữ dưới dạng các bộ ba: chính trong ontology tìm kiếm việc làm là: Công Bảng 2. Mô tả các bộ 3 ty, Địa điểm, Vị trí tuyển dụng, Yêu cầu công việc, Ngành đào tạo, Trình độ, Ngoại ngữ, Kỹ Đối tượng Thuộc tính Giá trị năng. C1 Tên gọi Gameloft Từ việc xác định các khái niệm và các bộ C1 Địa chỉ 74 Bạch Đằng ba, chúng ta có tương ứng các thuộc tính như: tên gọi, địa chỉ, điện thoại, yêu cầu công việc, có C1 Điện thoại 3849361 ngành đào tạo, có trình độ, có kỹ năng, có ngoại ngữ… Sơ đồ tóm lược biểu diễn ontology hệ Tập hợp các bộ ba này tạo thành đồ thị thống tìm kiếm việc làm thể hiện ở Hình 3. RDF với các nút là “Đối tượng” và “Giá trị”, các cung là “Thuộc tính”. Các thuộc tính ở đây đều Ở đây chúng tôi sử dụng công cụ Protégé có giá trị cụ thể thuộc kiểu chuỗi. và thành phần bổ sung OntoGraf để thiết kế và hiển thị ontology cho hệ thống tìm kiếm việc làm. Protégé là một phần mềm mã nguồn mở có số điện thoại 3849361 Java cho phép người dùng tạo ra các ontology để C1 phát triển web ngữ nghĩa theo đúng chuẩn của ngôn ngữ W3C OWL. có địa chỉ 74 Bạch Đằng 3.2. Xây dựng dữ liệu về thông tin tuyển dụng Hình 1. Đồ thị các bộ ba thông tin về công ty Sau khi hoàn thành việc xây dựng Trong trường hợp cần thể hiện chi tiết hơn ontology, vấn đề quan trọng là xây dựng và cập các thông tin, có thể mở rộng ontology bằng nhật thường xuyên dữ liệu thông tin tuyển dụng cách xác định thêm các lớp liên quan khác hoặc vào hệ thống. Giả sử các thông tin tuyển dụng sử dụng ontology có sẵn nào đó. Ví dụ cần thể được lấy từ các website tuyển dụng hiện có. Có hiện chi tiết địa chỉ công ty, thuộc tỉnh, thành hai phương pháp thực hiện: phố nào, khu vực nào, có thể biểu diễn bằng đồ - Cập nhật thủ công: Xây dựng ứng dụng thị ở Hình 2. Địa chỉ D1 là một đối tượng có các cho phép người quản trị nhập các thông tin việc thuộc tính tỉnh, khu vực, số nhà. làm hàng ngày. Phương pháp này thực hiện đơn giản, ứng dụng xây dựng dễ dàng, tuy nhiên việc cập nhật dữ liệu thủ công sẽ mất nhiều thời gian, công sức, đồng thời dữ liệu có thể không đầy đủ. 4
  5. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 Hình 3. Phân cấp lớp trong Ontology - Rút trích thông tin và cập nhật tự động: việc làm thể hiện ở Hình 4. Sau khi tạo ra các sử dụng các phương pháp rút trích thông tin để ontology và phần ngữ nghĩa đã được chú giải xây dựng mô đun tự động và liên tục rút trích dữ phải được lưu vào kho chứa. Những kho này liệu trang các trang web, sau đó chú thích ngữ thực chất là cơ sở dữ liệu cho phép lưu các mô tả nghĩa tự động cho các thực thể. Dữ liệu được thu trên ngôn ngữ RDFS hay DAML+OIL và cho thập và cập nhật hoàn toàn tự động, nhanh phép truy vấn để trích xuất dữ liệu. Một trong chóng, tuy nhiên lập trình phức tạp. Đã có các những kho chứa điển hình là Sesame. mô đun tương tự được xây dựng như mô đun chú Tại máy tìm kiếm, để truy vấn và tìm giải trang web tự động sử dụng kỹ thuật tách kiếm các thực thể trong cơ sở dữ liệu ontology, thông tin văn bản [3]. cần sử dụng ngôn ngữ truy vấn dữ liệu SPARQL Mô hình hoạt động của hệ thống tìm kiếm hoặc SeRQL, đồng thời có thể sử dụng các Hình 4. Mô hình hoạt động của hệ thống 5
  6. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 framework mã nguồn mở để lập trình như Jena, ontology và giải pháp xây dựng hệ thống. Trong Sesame (Java), RAP RDF API (PHP), đó tập trung trình bày cách thức và các bước xây LinqToRDF, OwlDotNetApi (.NET) [6]. dựng ontology tìm kiếm việc làm, phần cốt lõi của một ứng dụng web ngữ nghĩa. Tuy nhiên 4. Kết luận những nội dung đề cập mới chỉ dừng lại ở mức Sử dụng công nghệ web ngữ nghĩa, máy độ nghiên cứu tổng quan về vấn đề. tính có thể hiểu được thông tin, các khái niệm và Trong tương lai, chúng tôi sẽ tiếp tục phát mối liên hệ giữa chúng, nhờ đó có thể tạo ra các triển xây dựng hệ thống hoàn chỉnh dựa trên các ứng dụng tìm kiếm thông minh và chính xác. nghiên cứu này với mong muốn mang lại một Bài báo đã phân tích đặc điểm của một hệ công cụ tư vấn việc làm thông minh, hiệu quả thống tìm kiếm việc làm, đề xuất xây dựng cho người sử dụng. TÀI LIỆU THAM KHẢO [1] Cao Hoàng Trụ, “Nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin Web có ngữ nghĩa”, Đề tài khoa học và công nghệ cấp nhà nước KC01.21. [2] Trần Đình Khang, Vũ Tuyết Trinh, Đỗ Đức Thành, Đỗ Thị Ngọc Quỳnh, Một phương pháp tìm kiếm dựa trên Ontology phục vụ quản lý thông tin khoa học công nghệ, Bộ môn Hệ thống Thông tin, Trường Đại học Bách khoa Hà Nội, http://www.lrc.ctu.edu.vn/pdoc/16/139%20%20cntt.pdf [3] Từ Minh Phương, Trịnh Hữu Kiên, Công cụ hỗ trợ tạo ngữ nghĩa trang Web sử dụng kỹ thuật tách thông tin từ văn bản, https://code.google.com/p/semanticwebgroup/downloads/detail?name= CongCuHoTroTachThongTinTuVanBan.pdf [4] Christian Bizer, Ralf Heese, Malgorzata Mochol, Radoslaw Oldakowski, Robert Tolksdorf, Rainer Eckstein, The Impact of Semantic Web Technologies on Job Recruitment Processes, Freie Universität Berlin, http://page.mi.fu-berlin.de/mochol/papers/wi2005.pdf [5] Dang Tuan Nguyen, Tri Phi-Minh Nguyen, Building and Evaluation of a Universal Ontology for Vietnamese Language, The 3rd International Conference on Advanced Computer Theory and Engineering 2010 (ICACTE 2010), August 20-22, 2010, Chengdu, China. [6] John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez, “Semantic web programming”, Wiley, 2009. [7] Thomas B. Passin, “Explorer’s guide to the semantic web”, Manning, 2004. [8] Toby Segaran, Colin Evans, Jamie Taylor, “Programming the Semantic web”, O’reilly, 2009. (BBT nhận bài: 02/10/2013, phản biện xong: 27/12/2013) 6
nguon tai.lieu . vn