KR101469523B1 - 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법 - Google Patents

상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법 Download PDF

Info

Publication number
KR101469523B1
KR101469523B1 KR1020140114549A KR20140114549A KR101469523B1 KR 101469523 B1 KR101469523 B1 KR 101469523B1 KR 1020140114549 A KR1020140114549 A KR 1020140114549A KR 20140114549 A KR20140114549 A KR 20140114549A KR 101469523 B1 KR101469523 B1 KR 101469523B1
Authority
KR
South Korea
Prior art keywords
ontology
user
information
database
search
Prior art date
Application number
KR1020140114549A
Other languages
English (en)
Inventor
황재홍
Original Assignee
한국지질자원연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국지질자원연구원 filed Critical 한국지질자원연구원
Priority to KR1020140114549A priority Critical patent/KR101469523B1/ko
Application granted granted Critical
Publication of KR101469523B1 publication Critical patent/KR101469523B1/ko
Priority to JP2014252426A priority patent/JP5992497B2/ja
Priority to CN201410822555.4A priority patent/CN105786897B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology

Landscapes

  • Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)

Abstract

본 발명은 상황인지(context awareness) 기술에 기반하여 사용자의 관심을 예측하기 위한 방법에 관한 것으로, 본 발명에 따르면, 사용자의 검색요청에 대하여 불필요하게 방대한 검색결과를 제공하여 사용자가 필요한 정보만을 다시 필터링해야 하는 단점이 있었던 종래기술의 검색방식의 문제점을 해결하여, 상황인지 기술에 기반하여 현재 사용자의 상황에서 어떠한 정보가 필요한지를 정확히 예측하고 해당하는 정보를 사용자에게 제공할 수 있도록 하기 위해, 사용자에게 필요한 정보를 정확히 예측하여 제공하기 위한 상황 온톨로지(context ontology) 및 투어 온톨로지(tour ontology)를 구축하고, 핵심 클래스들 간의 관계를 정의하여, 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)을 통해 사용자가 원하는 정보를 정확하게 예측하고 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공된다.

Description

상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법{Context awareness ontology construction method for providing user interest information service based on context awareness}
본 발명은 상황인지(context awareness) 기술에 기반하여 사용자의 관심을 예측하기 위한 방법에 관한 것으로, 더 상세하게는, 상황인지 기술에 기반하여 현재 사용자의 상황에서 어떠한 정보가 필요한지를 정확히 예측하고 해당하는 정보를 사용자에게 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위해, 상황인지에 기반한 상황인식 온톨로지를 구현하는 방법에 관한 것이다.
또한, 본 발명은, 사용자에게 필요한 정보를 정확히 예측하여 제공하기 위해, 상황인지에 기반한 상황 온톨로지(context ontology) 및 투어 온톨로지(tour ontology)를 구축하고 핵심 클래스들 간의 관계를 정의하여, 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)을 통해 사용자가 원하는 정보를 정확하게 예측하고 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스 제공방법에 관한 것이다.
최근, 정보화시대의 도래로 인해 인터넷과 같은 네트워크상에 여러 가지 정보가 존재하고 있으며, 이에, 이러한 수많은 정보들 중에서 어떠한 정보가 유용한 정보인지의 여부를 정확히 판단하고 필요한 정보만을 선택하여 제공하기 위해, 정보를 필터링 하는 기술에 대한 요구가 증가하고 있다.
또한, 최근에는, 기존의 데스크탑 컴퓨터에 더하여, WiFi, 3G, 4G, GPS, 센서 등에 대한 기술의 발달로 인해, 예를 들면, 노트북(Notebook), 태블릿 PC(Tablet PC), PDA(Personal Digital Assistant), PCS(Personal Communications Service) 및 스마트폰(Smart Phone) 등과 같이, 이동성을 고려하는 유비쿼터스 컴퓨팅 기술 및 모바일 컴퓨팅 기술의 발달이 활발하게 진행되고 있다.
아울러, 이러한 추세에 따라, 이러한 모바일 환경에서의 정보검색 방식에도 많은 변화가 야기되고 있으며, 즉, 데스크탑 PC를 사용하는 기존의 정보검색 및 정보전달 방법은 사무실이나 집안과 같은 고정된 공간에서의 정보검색 방법이 주류를 이루었으나, 현재는 다양한 모바일 기기를 만드는 기술이 발달하면서 정보전달 방식들이 이동성과 휴대성을 고려한 정보검색이나 정보전달이 가능한 방법으로 변화되고 있다.
더 상세하게는, 예를 들면, [Kim 2008](참고문헌 1 참조)에 따르면, 유비쿼터스 웹 어플리케이션 환경은 많은 사용자와 데스크탑 컴퓨터, 사무용 기기, 가전제품 등과 같은 다양한 기기들이 웹 어플리케이션을 이용하여 상호작용하는 환경을 의미한다고 정의하였으며, 이러한 환경에서 대다수의 사용자는 이동전화와 같이 휴대할 수 있는 기기를 사용하여 자신이 원하는 서비스를 제공받을 수 있다.
또한, [Michalis 2012](참고문헌 2 참조)에 따르면, 유선을 이용한 정보검색 방법과 무선을 이용한 정보검색 방법을 비교하여, 기존의 고정된 정보검색 방법은 사용자들이 사무실에서 근무하는 시간대나 퇴근 후의 시간을 제외하고는 전반적으로 하락되는 추세를 나타내나, 무선을 이용한 정보검색 방법은 사용자들이 수면을 취하는 시간을 제외하고는 계속 증가하는 추세를 보이고 있음을 나타내고 있다.
이와 같이, 무선 모바일 기기 및 이를 이용한 정보검색 방법들의 발달로 인해 사용자들은 언제 어디서나 원하는 정보를 유용하게 검색하는 것이 가능하게 되었으나, 정작 사용자가 원하는 정보를 검색하였을 때 해당 사용자가 원하는 정확한 정보보다는 원하지 않는 정보들이 더 많이 제공되는 경우가 많은 점은 기존의 데스크탑을 이용한 방법들과 마찬가지인 문제가 있다.
더욱이, 종래의 검색방법들은, 상기한 바와 같이 원하는 관심정보만이 제시되지 않아 사용자가 검색결과를 일일이 필터링해야 하는 번거로움이 있는 데 더하여, 해당 정보의 위치를 알기 위하여는 다시 지도를 검색해야 하는 등, 원하는 정보를 얻기까지 동일한 내용에 대하여 서로 다른 카테고리로 검색을 반복해야 하는 불편함도 있는 것이었다.
따라서 상기한 바와 같은 종래의 모바일 환경에서의 검색방법들의 문제점을 해결하기 위해서는, 언제 어디서나 사용자의 검색 요구에 최적 및 개인화된 정보검색 결과를 제공하는 것을 가능하도록 하기 위해, 현재 사용자의 위치나 주변 상황 등을 활용하여 사용자의 현재 상황을 인지하고 그에 적합한 정보를 제공하는 상황인식 기술에 기반하여, 사용자의 관심도를 예측하고 사용자가 어느 위치에서 어떠한 검색 결과를 원하는가를 보다 정확하게 예측할 수 있도록 하기 위한 상황 온톨로지 모델의 개발이 필요하다.
또한, 스마트폰과 같은 모바일 단말 사용자의 이동성과 휴대성 및 디스플레이의 제한 등을 고려하여 모바일 단말기의 제한된 화면에 적합하도록 보다 정확하고 요약된 검색결과를 제공하기 위해서는, 사용자가 원하는 검색요청이 입력되었을 때 미리 저장되어 있는 상황 온톨로지(context ontology) 데이터베이스에 근거하여 사용자의 질의 패턴과 유사하거나 일치하는 질의패턴을 찾아내고, 사용자가 검색요청한 질의 패턴과 비교한 후 일치하거나 유사한 결과를 제공하는 사용자 질의패턴 검색 시스템을 이용하여 보다 정확하고 신속한 검색 결과를 사용자에게 제공할 수 있도록 구성되는 상황 데이터를 활용한 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)의 개발이 요구된다.
더욱이, 사용자의 검색요청에 대하여 불필요하게 방대한 검색결과를 보여주는 기존의 검색방식의 단점을 극복하고 사용자의 검색요청에 보다 정확하고 간결한 결과를 제공할 수 있도록 하기 위하여는, 사용자의 검색결과에 따라 상황을 인식하여 맞춤형 정보를 제공하는 동시에, 스마트폰과 같은 모바일 기기에 내장되어 있는 GPS 및 지도 기능을 이용하여 사용자의 현재 위치 및 사용자가 원하는 정보의 위치에 대한 정보를 검색결과와 함께 제공함으로써, 사용자가 원하는 정보를 신속 및 정확하게 찾을 수 있도록 구성되는 새로운 정보검색 방법을 제공하는 것이 바람직하나, 종래, 이러한 요구를 모두 만족시키는 장치나 방법은 제시된 바 없었다.
[참고문헌]
1. Kim H.W., Nam J.Y., Lee H., Shin D.M., "A Device Coordination Mechanism with Context Ontology for Ubiquitous Web Application Environment", Journal of Engineering & Technology, Vol.17, 2008.
2. Michalis K., "An Introduction to Android", Tutorial: hy439 & hy539, 2012.
3. Uschold M.F., Jasper R.J., "A Framework for Understanding and Classifying Ontology Applications", Proceedings of the IJCAI-99 Workshop on Ontologies and Problem Solving Methods(KRR5), pp.1-12, 1999.
4. Fischer G., Ostwald J.L., "Knowledge Management: Problems, Promises, Realities, and Challenges", IEEE Intelligent Systems, Vol.16, No.1, pp.60-72, 2001.
5. Hwang H.S., Lee J.Y., "A Study of a Knowledge Inference Algorithm using an Association Mining Method based on Ontologies", Journal of Korea Multimedia Society, Vol.11, No.11 pp.1566-1574, 2008.
6. Mostefaoui S.K., Hirsbrunner B., "Towards a Context-Based Service Composition Framework", Proceedings of the International Conference on Web Services, pp.42-45, ICWS'03, Las Vegas, Nevada, 23-26 June 2003.
7. Yilmaz N., Alptekin G., "An Ontology-Based Data Mining Approach for Strategic Marketing Decisions", The 10th International Conference on Cybernetics and Information Technologies, Systems and Applications: CITSA 2013.
8. Kim J.H., Kim H.C., "Information Retrieval System for Mobile Devices", Journal of the Korean Society of Marine Engineering, Vol. 33, No. 4, pp. 569-577, 2009.
9. Park H.S., Park M.H., Cho S.B., "Information Recommendation in Mobile Environment using a Multi-Criteria Decision Making", Journal of KIISE. Computing Practices and Letters, Vol.14, No.3, pp. 306-310, 2008.
10. Seo H.S., Lee S.Y., "User Behavior Pattern Inference Model for Context-Awareness based Personalization Recommended Services", Thesis(Master's degree), Kongju National Univ. Graduate School: Computer Science Department, 2012.
11. Jeong J.E., "Ontology based Preprocessing Scheme for Mining Data Streams from Sensor Networks", Intelligence Information Research, Vol.15, No.3, pp. 67-80, 2009.
12. Ko S.K., Choi S.M., Eom H.S., Cha J.W., Cho H.C., Kim L.H, Han Y.S., "A Smart Movie Recommendation System", Human Interface and the Management of Information. Interacting with Information Lecture Notes in Computer Science, Vol.6771, pp. 558-566, 2011.
13. Sarkaleh M. K., Mahdavi M., Baniardalan M., "Designing a Tourism Recommender System Based on Location, Mobile Device and User Features in Museum", International Journal of Managing Information Technology(IJMIT), Vol.4, No.2, May 2012.
14. Abraham T., "Knowledge Discovery in Spatio-Temporal Databases", School of Computer and Information Science, University of South of Australia, Ph. D dissertation, 1999.
15. Gu M.S., Hwang J. H., Ryu K. H., "Weigted-FP-Tree Based XML Query Pattern Mining", 6th International Conference, ADMA 2010, Vol.6440, pp. 417-428, 2010.11.
16. Chen, L. Bhowmick, S.S. Chia, L.T., "Mining Maximal Frequently Changing Subtree Patterns from XML Documents", In Proceedings of the 6th International Conference on Data Warehousing and Knowledge Discovery (DaWaK), Zaragoza, Spain, 2004.
17. Chen, L. Bhowmick, S.S. Chia, L.T., "FRACTURE-Mining: Mining Frequently and Concurrently Mutating Structures from Historical XML Documents", Elsevier Science Journal: Data & Knowledge Engineering Volume: 59 Issue: 2 pp. 320-347, 2006.
18. Han, J. Pei, J. Yin, Y., "Mining Frequent Patterns without Candidate Generation", Proceedings of the 2000 ACM SIGMOD international conference on Management of data, 2000.
19. Hunyadi D., "Performance comparison of apriori and FP-growth algorithms in generating association rules", Proceedings of the 5th European conference on European computing conference pp.376-381, 2011.
20. http://www.android.com/
21. http://www.jetbrains.com/webstorm/
[선행기술문헌]
1. 한국 공개특허공보 제10-2013-0097476호 (2013.09.03.)
2. 한국 등록특허공보 제10-1009638호 (2011.01.13.)
3. 한국 등록특허공보 제10-0868331호 (2008.11.05.)
4. 한국 등록특허공보 제10-0688087호 (2007.02.22.)
본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하고자 하는 것으로, 따라서 본 발명의 목적은, 사용자의 검색요청에 대하여 불필요하게 방대한 검색결과를 제공하여 사용자가 필요한 정보만을 다시 필터링해야 하는 단점이 있었던 종래기술의 검색방식의 문제점을 해결하기 위해, 상황인식 기술에 기반하여 사용자의 관심도를 예측하고, 사용자가 어느 위치에서 어떠한 검색을 원하는가를 보다 정확히 예측하기 위한 상황 온톨로지(context ontology) 모델을 구축하며, 이러한 상황 온톨로지 모델에 근거하여 사용자 관심정보를 예측하는 것에 의해 사용자의 검색요청에 대하여 사용자의 관심에 관련된 정보만을 제시하여 보다 정확하고 간결한 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법을 제공하고자 하는 것이다.
또한, 본 발명의 다른 목적은, 스마트폰과 같은 모바일 단말기의 제한된 화면과 적은 메모리의 단점을 극복하기 위해, 상황 온톨로지를 이용한 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)을 이용하여 보다 정확하고 요약된 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법을 제공하고자 하는 것이다.
아울러, 본 발명의 또 다른 목적은, 한 번의 검색만으로 원하는 정보의 내용뿐만 아니라 위치까지도 쉽게 찾을 수 있도록 하기 위해, 사용자의 검색요청 정보에 대한 검색결과를 제공하는 동시에, 모바일 기기에 내장되어 있는 GPS 및 지도 기능을 이용하여 사용자의 현재 위치와 사용자가 요구하는 검색결과의 위치를 검색결과와 함께 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법을 제공하고자 하는 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명에 따르면, 사용자의 검색요청에 대하여 상기 사용자에게 불필요한 정보까지 검색결과로 제공됨으로 인해 상기 사용자가 다시 필요한 정보만을 필터링하여 선택해야 하는 단점이 있었던 종래기술의 검색시스템들의 문제점을 해결하기 위해, 상황인식(Context Awareness) 기술에 기반하여 상기 사용자의 관심정보만을 검색결과로 제시함으로써 기존의 검색시스템에 비해 보다 정확하고 간결한 검색결과를 제공할 수 있도록 구성되는 검색서비스를 구현하기 위한 상황인식 온톨로지(Context Awareness Ontology) 구현방법에 있어서, 상기 사용자의 관심영역에 대한 정보를 수집하여 데이터베이스를 구축하는 사용자 관심정보 데이터베이스 구축단계; 상기 사용자 관심정보 데이터베이스 구축단계에서 구축된 상기 사용자 관심정보 데이터베이스에 저장된 각 데이터들 사이의 관계와 속성을 설정하는 온톨로지 추론단계; 및 상기 온톨로지 추론단계에서 설정된 각 데이터의 관계 및 속성에 근거하여 온톨로지 데이터베이스를 구축하는 온톨로지 데이터베이스 구축단계를 포함하여 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법이 제공된다.
여기서, 상기 온톨로지는, 상기 사용자의 상황정보를, 사용자 식별자 U(User identification), 공간정보 L(Location), 시간정보 T(Time) 및 상기 사용자와 연관된 서비스정보 S(Service)를 포함하는 4개의 차원을 가지는 시공간 상황정보 O={U, L, T, S}로 표현하도록 구성되는 것을 특징으로 한다.
또한, 상기 시간정보는 미리 정해진 일정한 시간 간격으로 구분한 정보이고, 상기 공간정보는 유클리디안 공간상의 좌표 (xi, yi)에 해당하는 일반화된 위치정보이며, 상기 좌표는 상기 사용자가 현재 위치해 있는 지역의 경도 값과 위도 값을 각각 의미하는 것을 특징으로 한다.
아울러, 상기 데이터베이스 구축단계는, 상기 사용자의 관심정보로서 관광지에 대한 정보를 각 지역별로 수집하며, 최상위 클래스로서 루트 클래스(root class)를 지정하고, 각각의 지역을 서브클래스(subclass)로 지정하며, 각각의 상기 지역에 대한 관광지 이름을 각각의 상기 지역에 대한 서브클래스로 지정하고, 각각의 관광지 내에 있는 시설이나 해당 관광지에 대한 상세한 설명을 상기 관광지 이름에 대한 서브클래스로 지정하며, 각각의 상기 지역이나 상기 관광지에 대하여 동의어나 초성검색을 위한 동의어 클래스(equivalent class) 관계를 설정하여, 계층구조를 이루는 관광 데이터베이스를 구축하는 처리가 수행되도록 구성되는 것을 특징으로 한다.
여기서, 상기 관광 데이터베이스는, id, add_1, add_2, add_3, add_4, add_5, tour_site, syn, lat, long를 포함하는 복수의 필드(field)를 포함하여 구성되며, 상기 add_1 필드, 상기 add_2 필드, 상기 add_3 필드, 상기 add_4 필드 및 상기 adde_5 필드는 각각의 관광지의 주소를 나타내고, 상기 tour_site 필드는 관광지 이름을 저장하며, 상기 syn 필드는 동의어나 초성어 처리를 위한 필드이고, 상기 lat 필드와 상기 long 필드는 지도를 설정할 때 필요한 위도와 경도를 각각 의미하도록 구성되는 것을 특징으로 한다.
더욱이, 상기 온톨로지 추론단계는, 관광을 하고자 하는 지역의 이름으로 구성되는 "Place"; 각 지역 내에 있는 관광명소의 이름으로 구성되는 "Attraction"; 각 관광지 안에 있는 건물이나 유물, 유적, 해변 및 식당을 포함하여 구성되는 "Resource"; 및 문화적인 행위를 의미하는 "Cultural activity", 풍경을 즐기는 행위를 의미하는 "Scenery view", 외식을 하는 행위를 의미하는 "Dining out"을 포함하여, 상기 사용자가 각 관광지에서 실제 행하는 행동을 의미하는 "Activity"에 근거하여 각 데이터의 속성을 결정하도록 구성되는 것을 특징으로 한다.
여가서, 상기 온톨로지 추론단계는, 상기 "Place"와 상기 "Attraction"의 속성관계를 "hasAttraction" 및 "IsAttractionOf"으로 지정하고, 상기 "Attraction"과 상기 "Resource"의 속성관계는 "hasResource" 및 "IsResourceOf"으로 지정하며, 상기 "Activity"와 상기 "Resource"의 속성관계는 "hasActivity" 및 "IsActivityOf"으로 지정하도록 구성되는 것을 특징으로 한다.
또한, 상기 온톨로지 추론단계는, 각 클래스를 구성하는 데이터들에 복수의 속성관계가 존재하는 경우 다중 속성관계를 가지는 것으로 간주하도록 구성되는 것을 특징으로 한다.
아울러, 상기 온톨로지 추론단계는, Protege_4.0.2 version을 이용하여 수행되는 것을 특징으로 한다.
더욱이, 상기 온톨로지 데이터베이스 구축단계는, OWL(Web Ontology Language)과 RDF(Resource Description Framework) 및 RDFS(Resource Description Framework Schema Specification)를 이용하여 상기 온톨로지 데이터베이스를 구축하는 처리가 수행되도록 구성되는 것을 특징으로 한다.
또한, 본 발명에 따르면, 상기에 기재된 상황인식 온톨로지 구현방법을 통하여 구축된 상황인식 온톨로지를 이용하여, 검색결과로서 사용자의 관심정보만을 제시하는 것에 의해 기존의 검색방법에 비해 보다 정확하고 간결한 검색결과를 제공하도록 구성됨으로써, 스마트폰이나 태블릿 PC를 포함하는 모바일 환경에 적합하도록 구성되는 것을 특징으로 하는 상황인지 기반 사용자 관심정보 서비스 제공방법이 제공된다.
아울러, 본 발명에 따르면, 상기에 기재된 상황인식 온톨로지 구현방법을 통하여 구축된 상황인식 온톨로지를 이용하여, 검색결과로서 사용자의 관심정보만을 제시하는 것에 의해 기존의 검색시스템에 비해 보다 정확하고 간결한 검색결과를 제공하도록 구성됨으로써, 스마트폰이나 태블릿 PC를 포함하는 모바일 환경에 적합하도록 구성되는 것을 특징으로 하는 상황인지 기반 사용자 관심정보 서비스 시스템이 제공된다.
상기한 바와 같이, 본 발명에 따르면, 상황인식 기술에 기반하여 사용자의 관심도를 예측하고, 사용자가 어느 위치에서 어떠한 검색을 원하는가를 보다 정확히 예측하기 위한 상황 온톨로지 모델을 구축하며, 이러한 상황 온톨로지 모델에 근거하여 사용자 관심정보를 예측하는 것에 의해 사용자의 검색요청에 대하여 사용자의 관심에 관련된 정보만을 제시하여 보다 정확하고 간결한 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공됨으로써, 사용자의 검색요청에 대하여 불필요하게 방대한 검색결과를 제공하여 사용자가 필요한 정보만을 다시 필터링해야 하는 단점이 있었던 종래기술의 검색방식의 문제점을 해결할 수 있다.
또한, 본 발명에 따르면, 상황 온톨로지를 이용한 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)을 이용하여 보다 정확하고 요약된 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공됨으로써, 스마트폰과 같은 모바일 단말기의 제한된 화면과 적은 메모리의 단점을 극복할 수 있다.
아울러, 본 발명에 따르면, 사용자의 검색요청 정보에 대한 검색결과를 제공하는 동시에, 모바일 기기에 내장되어 있는 GPS 및 지도 기능을 이용하여 사용자의 현재 위치와 사용자가 요구하는 검색결과의 위치를 검색결과와 함께 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공됨으로써, 사용자는 한 번의 검색만으로 원하는 정보의 내용뿐만 아니라 위치까지도 쉽게 찾을 수 있다.
도 1은 기존의 데이터 마이닝 방법들의 특징 및 장단점을 표로 비교하여 나타낸 도면이다.
도 2는 특정 관광지를 지역의 범위로 지정하여 상황 온톨로지를 구축하는 과정을 나타내는 플로차트이다.
도 3은 사용자에게 관광지에 대한 서비스를 제공하기 위해 각 지역에 있는 관광지의 상황 인식 데이터를 이용하여 관광 온톨로지 구축을 위해 추론하는 과정을 설명하기 위한 도면이다.
도 4는 도 3에 나타낸 관광 온톨로지의 계층구조 중 일부의 구성을 개략적으로 나타내는 도면이다.
도 5는 온톨로지의 추론을 위해 각 클래스를 구성하는 데이터 값의 속성값과 관계를 설정하는 과정을 설명하기 위한 도면이다.
도 6은 각 클래스를 구성하는 데이터들 간의 다중 속성 관계를 나타내는 도면이다.
도 7은 프로테지(protege)를 이용하여 온톨로지를 추론하는 과정을 개략적으로 나타내는 도면이다.
도 8은 본 발명의 실시예에 따라 구축된 관광 데이터베이스의 일부를 나타내는 도면이다.
도 9는 본 발명의 실시예에 따라 구축된 관광 데이터베이스 테이블의 일부를 나타내는 도면이다.
도 10은 본 발명의 실시예에 따른 관광 온톨로지의 구성을 나타내는 도면이다.
도 11은 도 10에 나타낸 관광 온톨로지의 add_2 class를 펼친 온톨로지 구조를 나타내는 도면이다.
도 12는 도 10에 나타낸 관광 온톨로지의 add_3 class를 펼친 온톨로지 구조를 나타내는 도면이다.
도 13은 도 10에 나타낸 관광 온톨로지의 add_4 class를 펼친 온톨로지 구조를 나타내는 도면이다.
도 14는 본 발명의 실시예에 따라 protege_4.0.2를 이용하여 OWL(Web Ontology Language)과 RDF 및 RDFS를 이용하여 구축한 tour.owl 온톨로지 소스의 일부분을 나타내는 도면이다.
도 15는 본 발명의 실시예에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 16은 XML 질의패턴 트리(Query pattern tree)와 루트를 가진 XML 질의 서브트리(Query Rooted subtree)의 예를 각각 나타내는 도면이다.
도 17은 질의패턴 트리와 루트를 가진 빈발 서브트리의 구성을 각각 나타내는 도면이다.
도 18은 FP-Tree 구축 과정의 프리픽스(prefix)를 공유하는 과정과 각각의 트랜잭션을 나타내는 과정을 개략적으로 나타내는 도면이다.
도 19는 FP-growth 알고리즘을 수행하여 데이터 마이닝을 하는 과정에서 임의의 아이템인 m의 조건부(conditional) FP-Tree를 구축하는 과정을 나타내는 도면이다.
도 20은 조건부 패턴을 찾아가는 과정을 반복적으로 수행한 결과로서 얻어진 조건부 패턴을 표로 정리하여 나타내는 도면이다.
도 21은 사용자가 수행한 한글로 되어 있는 질의를 XML 형태로 작성한 예를 나타내는 도면이다.
도 22는 XQuery를 기반으로 작성한 XML 문서인 Book DTD Tree를 나타내는 도면이다.
도 23은 관광 온톨로지 데이터베이스에서 각 트랜잭션의 빈발 아이템 집합(transaction frequent itemset)을 나타내는 도면이다.
도 24는 각 지역별로 발생되는 빈발 구조를 가지는 관광 온톨로지 데이터베이스를 이용한 FP-tree 구조의 일부를 개략적으로 나타내는 도면이다.
도 25는 글로벌(Global) FP-tree와 관광지역 중의 마라로를 기준으로 하여 조건부(Conditional) FP-tree를 구축한 경우를 각각 나타내는 도면이다.
도 26은 FP-growth 알고리즘 소스의 일부분을 나타낸 도면이다.
도 27은 FP-growth 알고리즘에 최소 지지지도를 0.4로 적용하여 데이터 마이닝을 수행한 결과를 나타내는 도면이다.
도 28은 시맨틱 데이터 마이닝 알고리즘을 이용한 패턴 매칭기법을 활용한 모바일 기반의 정보검색 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 29는 사용자로부터 관광지에 대한 검색요청이 들어왔을 때 수행되는 일련의 처리과정을 개략적으로 나타내는 도면이다.
도 30은 사용자로부터 검색 요청이 들어왔을 때 사용자의 요구사항을 분석하여 사용자의 질의 패턴을 분석하고, 분석한 질의 패턴과 일치하는 패턴을 검색 시스템의 온톨로지 데이터베이스에 저장된 패턴 구조들과 비교를 통해 유사하거나 동일한 패턴 구조를 검색하는 과정에 대하여 설명하는 도면이다.
도 31은 본 발명의 실시예에 따른 시맨틱 데이터 마이닝을 이용한 사용자 관심정보 검색방법의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 32는 검색창의 초기화면을 구현하기 위한 소스의 일부를 나타내는 도면이다.
도 33은 검색버튼에 대한 이벤트 액션을 스크립트 함수로 구현한 소스를 나타내는 도면이다.
도 34는 지도 서비스를 제공하기 위한 맵 버튼 액션을 수행하는 소스의 일부를 나타내는 도면이다.
도 35는 본 발명의 실시예에 따른 모바일 정보검색 시스템의 메인화면의 구성예를 나타내는 도면이다.
도 36은 대전광역시라는 지역값을 검색창에 입력하고 맵 버튼을 클릭하였을 때 해당 지역의 지도가 표시되는 구성 및 검색창에 입력된 입력값에 따라 관련지역의 식당이나 관광지역을 소개하는 화면이 표시되는 구성을 각각 나타내는 도면이다.
도 37은 사용자의 현재 위치값을 위도와 경도 값으로 자동 인식하여 사용자가 현재 위치해 있는 지역의 지도를 위도 및 경도값과 함께 보여주는 맵을 구현하는 맵 구현 소스를 나타내는 도면이다.
도 38은 도 37에 나타낸 바와 같은 소스를 통하여 구현된 결과화면을 나타내는 도면이다.
도 39는 본 발명의 실시예에 따른 온톨로지 데이터베이스에 FP-growth 알고리즘을 적용하여 데이터 마이닝 과정을 수행한 실험결과를 표로 정리하여 나타낸 도면이다.
도 40은 기존의 관계형 데이터베이스에 FP-growth 알고리즘을 적용하여 데이터 마이닝 과정을 수행한 실험결과를 표로 정리하여 나타낸 도면이다.
도 41은 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 최소 지지도 임계값의 변화에 따른 메모리 사용량의 변화 과정을 그래프로 나타낸 도면이다.
도 42는 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 최소 지지도 값의 변화에 따른 빈발 패턴의 개수의 변화를 그래프로 나타내는 도면이다.
도 43은 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 최소 지지도의 변화에 따른 실행시간의 변화를 그래프로 나타내는 도면이다.
도 44는 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 트랜잭션의 변화에 따른 실행시간의 변화를 그래프로 나타내는 도면이다.
도 45는 본 발명의 실시예에 따른 온톨로지 데이터베이스와 기존의 관계형 데이터베이스의 트랜잭션의 변화에 따른 메모리 사용량의 변화를 비교하여 그래프로 나타낸 도면이다.
도 46은 사용자 질의 패턴인 트랜잭션의 변화에 따라 검색 효율을 나타내는 정확도의 변화를 그래프로 나타낸 도면이다.
도 47은 기존의 포털 사이트에서 '계룡산'을 검색창에 입력하였을 때의 검색결과를 표시하는 화면을 나타내는 도면이다.
도 48은 본 발명의 실시예에 따른 모바일 정보검색 시스템에서 '계룡산'을 검색창에 입력하였을 때의 검색결과를 표시하는 화면을 나타내는 도면이다.
도 49는 본 발명의 실시예에 따른 모바일 정보검색 시스템에서 검색어를 입력하였을 때 검색결과와 관련된 상세한 설명 및 주변 지역의 지도를 표시하는 화면을 각각 나타내는 도면이다.
이하, 첨부된 도면을 참조하여, 본 발명에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법의 구체적인 실시예에 대하여 설명한다.
여기서, 이하에 설명하는 내용은 본 발명을 실시하기 위한 하나의 실시예일 뿐이며, 본 발명은 이하에 설명하는 실시예의 내용으로만 한정되는 것은 아니라는 사실에 유념해야 한다.
또한, 이하의 본 발명의 실시예에 대한 설명에 있어서, 종래기술의 내용과 동일 또는 유사하거나 당업자의 수준에서 용이하게 이해하고 실시할 수 있다고 판단되는 부분에 대하여는, 설명을 간략히 하기 위해 그 상세한 설명을 생략하였음에 유념해야 한다.
즉, 본 발명은, 후술하는 바와 같이, 사용자의 검색요청에 대하여 불필요하게 방대한 검색결과를 제공하여 사용자가 필요한 정보만을 다시 필터링해야 하는 단점이 있었던 종래기술의 검색방식의 문제점을 해결하기 위해, 상황인식 기술에 기반하여 사용자의 관심도를 예측하고, 사용자가 어느 위치에서 어떠한 검색을 원하는가를 보다 정확히 예측하기 위한 상황 온톨로지(context ontology) 모델을 구축하며, 이러한 상황 온톨로지 모델에 근거하여 사용자 관심정보를 예측하는 것에 의해 사용자의 검색요청에 대하여 사용자의 관심에 관련된 정보만을 제시하여 보다 정확하고 간결한 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법에 관한 것이다.
아울러, 본 발명은, 스마트폰과 같은 모바일 단말기의 제한된 화면과 적은 메모리의 단점을 극복하기 위해, 상황 온톨로지를 이용한 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)을 이용하여 보다 정확하고 요약된 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법에 관한 것이다.
더욱이, 본 발명은, 한 번의 검색만으로 원하는 정보의 내용뿐만 아니라 위치까지도 쉽게 찾을 수 있도록 하기 위해, 사용자의 검색요청 정보에 대한 검색결과를 제공하는 동시에, 모바일 기기에 내장되어 있는 GPS 및 지도 기능을 이용하여 사용자의 현재 위치와 사용자가 요구하는 검색결과의 위치를 검색결과와 함께 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법에 관한 것이다.
여기서, 본 발명에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법의 구체적인 실시예에 대하여 설명하기 전에, 본 발명에 적용된 온톨로지(Ontology)와 상황인지(Context Awareness) 및 데이터 마이닝 알고리즘(Data Mining Algorithm)의 기본적인 개념에 대하여 설명한다.
먼저, 온톨로지(Ontology)란, 특정한 범위 내의 정보를 개념화하여 논리적인 구조로 개념들을 분류하거나 정의하여 계층구조 형식으로 표현하는 방법을 의미하는 것으로, 종래, [Uschold 1999], [Fischer 2001] 및 [Hwang 2008] 등에 따르면, 온톨로지는 웹과 제공자 등에 의해 산재되어 있는 데이터를 분석하고 통합하기 위한 데이터 표현방법으로 이를 공유된 개념화에 대해 정형화되고 명시적인 명세라고 정의하였으며, 일반적으로 온토로지를 구축하기 위해서 온톨로지를 표현하기 위한 요소들인 RDFS(Resource Description Framework Schema Specification), RDF(Resource Description Framework), OWL(Ontology Web Language)에 대한 기술내용들이 제시되어 있다(참고문헌 3 내지 참고문헌 5 참조).
즉, RDFS는 온톨로지를 나타내기 위한 가장 기본이 되는 언어로서 RDF 응용 언어를 사용하기 위한 기본적인 어휘를 정의해 두고, RDF는 데이터 모델에서 모든 종류의 정보와 메타데이터를 표시할 수 있는 유용한 언어로서 자원과 문장으로 구성된다.
더 상세하게는, RDF 문장은 주어(subject), 서술(predicate(property)), 목적(object(value))으로 구성되며, OWL(Web Ontology Language)은 RDFS와 같은 초기의 온톨로지 언어를 기본으로 작성하는 시맨틱 웹에서 온톨로지를 정의하기 위해 W3C에 의해 제안된 표준 온톨로지 언어로서, 온토로지의 계층구조 표현을 위해 객체 클래스와 클래스간의 상하위 계층 관계를 표현할 수 있으며, 사용자가 임의의 속성을 정의하고 정의한 속성을 클래스에 할당할 수 있어, RDFS보다 좀 더 표준화되어 있고 객체간의 관계에서 논리적인 유추가 가능하며, 마찬가지로 RDF 문장으로 정보를 표현한다.
여기서, 이하에 설명하는 본 발명의 실시예에서도, 관광 온톨로지 데이터베이스를 구축하기 위해서 상기한 바와 같은 RDFS, RDF, OWL 등을 이용하였다.
다음으로, 상황인식(Context Awareness)의 개념에 대하여 설명하면, 상황정보는 사용자의 현재 활동과 같이 개인적인 것일 수도 있으며, 현재 사용 중인 기기와 같이 기술적인 것일 수도 있고, 온도, 위치 또는 시간과 같이 환경적인 것일 수도 있다.
즉, 상황인지 서비스 개인화는 이러한 상황정보의 수집 및 교환을 통해 인식하고 해석 및 추론과 같은 처리 과정을 거쳐 사용자에게 상황에 적절한 맞춤형 서비스를 제공하는 것으로서, 이를 위해서는, 주변의 다양한 상황정보가 적절하게 모델링, 수집 및 분배되어야 한다.
따라서 상황인지 서비스를 제공하기 위해서 수집된 상황정보는 사용자 정보와 결합되어 생활의 한 단위로 나타내어질 수 있는 고차원 정보로 분석 및 추론이 되어야 하며, 이와 같이 적절한 정보를 저장하고 체계적이고 효율적으로 공유하는 방법이 상황인지 시스템의 성공 여부를 결정하는 중요한 기술이다.
아울러, 최근에는, 모바일을 이용하는 사용자가 증가하면서 빠르게 변화하는 환경에 적응할 수 있는 애플리케이션과 서비스에 대한 요구가 높아지고 있으나, 아직까지 이러한 요구에 적합한 상황인식 시스템을 구축하는 것이 어려웠던 문제점을 극복하기 위해, 시맨틱 컨텍스트의 표현, 상황 추론, 지식 공유, 상황분류를 하기 위한 방법으로서 OWL을 이용한 온톨로지 기반의 컨텍스트 모델이 제시된 바 있다.
더 상세하게는, 종래, 다양한 상황 추론이 가능한 상황인식 서비스를 위해, 이른바 SOCAM(Service-Oriented Context-Aware Middleware)이 제시되 sqk 있으며, 즉, 예를 들면, [Mostefaoui 2003]에 따르면, 상황인식 컴퓨팅(context-aware computing)과 에이전트(agent) 기술을 결합한 CB-Sec(Context-Based Service Composition) 프레임워크(framework)가 제시되어 있다(참고문헌 6 참조).
이는, 히스토리(History)를 포함시켜 대부분의 상황인식 어플리케이션에서 상황 파라미터(context parameter)를 로케이션(location) 만을 인정하고 시간적(temporal)인 면을 무시하는 단점을 극복하였고, 기존의 상황 인식에, 사용자의 역할, 신분, 나이, 위치, 선호하는 내용 등을 포함하는 사용자 상황(user context), 네트워크 연결과 주변에 있는 프린터나 디스플레이, 워크스테이션 등을 포함하는 컴퓨팅 상황(Computing context), 일, 주, 달, 계절 등의 시간을 포함하는 시간 상황(Time context), 날씨, 기온 등을 포함하는 물리적 상황(Physical context) 및 사용자, 컴퓨팅, 물리적 상황이 일정 시간 동안 기록되어 서비스를 구성하는데 유용하게 적용될 수 있는 상황 히스토리(context history)의 5가지 요소를 포함시켰다.
계속해서, 데이터 마이닝 기법에 대하여 설명하면, 시맨틱 데이터 마이닝 기법을 적용하기 위해 기존의 텍스트 마이닝 기법을 적용하는 것도 가능하지만, 이하에 설명하는 본 발명의 실시예에 적용된 관광 온톨로지 데이터베이스라는 온톨로지를 이용하여 데이터 마이닝을 수행하기 위해, 여기서는, 온톨로지의 기본 구조를 이루고 있는 XML 문서에 대한 데이터 마이닝 기법에 대하여 설명한다.
즉, 도 1을 참조하면, 도 1은 기존의 데이터 마이닝 방법들의 특징 및 장단점을 표로 비교하여 나타낸 도면이다.
도 1에 나타낸 바와 같이, 종래, 다양한 XML 데이터에 대한 데이터 마이닝 기법과 XML 질의 패턴 마이닝에 대한 여러 기법들이 연구되어 왔으며, 각각의 방법들은 서로 장단점을 가지고 있다.
또한, [Hwang 2008]에 따르면, 현재의 검색 시스템에서는 방대한 데이터로 인하여 너무 많은 검색 결과를 제공하거나 검색 결과를 제공하지 못하는 경우가 있으므로, 이러한 검색 시스템의 단점을 보완하기 위해 OWL 온톨로지 제약조건과 연관 마이닝 기법으로 추론된 연관 지식을 SWRL 추론 언어로 표현하여 Jess 엔진을 통해서 새로운 지식을 발견하여 효율적인 검색을 지원하는 알고리즘을 제안하였으며, 즉, 도메인에 따른 개인별 선호 온톨로지를 구축하고, 개인 선호 데이터를 예제로 하여 연관 및 온톨로지 기반에서 정보를 검색할 때 연관 및 추론 정보를 제공하는 과정을 나타내었다(참고문헌 5 참조).
아울러, [Yilmaz 2013]에 따르면, Apriori 알고리즘을 이용한 온톨로지 기반의 데이터 마이닝 기법을 제시하고 있으며, 즉, 소비자들이 선호하는 운영체제를 결정하기 위해서 데이터마이닝 기법을 기반으로 하는 프레임워크를 제안하는 것으로, 도메인 온톨로지를 구축하고, 사용자들에게 설문지를 조사하여 선호도를 측정한 후, 데이터를 전송하고, 클러스터링을 분석하고 연관규칙 알고리즘을 적용하여 결과를 분석하며, 이때, 온톨로지 구축을 위해서 프로테지(protege)를 이용하였고, Apriori 알고리즘은, 빈발 아이템 집합을 찾고, 그 아이템 집합을 선례(antecedent)와 결과(consequent)의 두 가지로 분류하여 신뢰도(confidence)를 만족하는 규칙을 찾아내는 두 가지 단계로 수행된다(참고문헌 7 참조).
계속해서, 모바일 환경의 정보 검색 시스템에 대하여 설명하면, 최근, 유비쿼터스 기술의 발전으로, 사용자에게 유용한 서비스를 제공해주는 상황인식 기술에 대한 연구로서 사용자의 상황을 인지하여 유용한 정보를 제공하는 상황인식 추천 서비스가 연구되고 있으나, 기존의 상황인식 추천 서비스는 상황에 기반을 둔 추천 정보를 일관된 개념 수준의 정보만으로 추천함으로 인해, 추천된 정보가 사용자의 현재 상황에 맞지 않는 경우 사용자가 추천된 정보에서 원하는 정보를 직접 찾아야 하므로 상당한 노력과 시간이 소요된다.
아울러, 최근, 무선 인터넷 환경의 발달로 인해 단말기를 이용한 인터넷 검색이 활발해지고 있으며, 이러한 검색어 입력을 효율적으로 하기 위해, 키보드 등의 하드웨어의 기능적 측면을 고려한 방법과, 사용자의 즐겨찾기, 저장된 검색어 등을 이용한 소프트웨어의 기능적 측면을 고려한 방법이 제시되었다.
여기서, 온톨로지 모델은 GPS, 조도 센서, 사용자 정보 등 모바일 디바이스의 다양한 상황 정보를 저장하고 관리하기 위한 용도로 사용할 수 있고, 모바일 디바이스는 디바이스에 포함된 하드웨어 센서의 종류에 따라 사용자의 위치, 환경 등에 대한 다양한 종류의 상황 정보를 획득할 수 있으며, 이를 온톨로지 모델로 할당하고 상황 정보간의 의미를 파악하여 원하는 형태의 정보로 가공하거나 상황 추론에 활용할 수 있다.
또한, 모바일 환경은 일반적인 유선 환경과는 다른 특징으로 가지며, 즉, 첫째로, 모바일 환경은 시공간적인 제약이 없으므로 사용자들은 모바일 기기를 휴대하고 다니면서 언제 어디서나 원하는 정보를 찾고자 하는 특성이 있고, 둘째로, 모바일 환경은 매우 개인적으로서 대부분의 모바일 기기는 개인이 소유하고 있고 개인의 취미나 관심분야에 따라 원하는 정보가 서로 다르므로 개인의 특성에 따라 표면적으로 같은 내용이더라도 실질적으로 질의 내용이 다를 수 있는 특성을 가지며, 셋째로, 모바일 기기는 소형으로 입출력에 많은 제약을 가지고 있어 모바일 환경에서 작은 화면을 통해 여러 페이지를 장황하게 보여주는 것보다는 사용자가 원하는 내용만을 추출하여 보여주는 것이 훨씬 효과적이고, 넷째로, 일반적으로 모바일 환경은 자료의 전송률은 유선 환경에 비해 매우 낮으며 가격은 더 비싸며, 다섯째로, 일반적으로 모바일 기기는 메모리와 처리 능력의 한계를 가지고 있어 모바일 기기 자체에서 많은 양의 정보를 처리할 수 없다는 특징이 있다.
따라서 이와 같은 모바일 환경의 특성을 고려하여 모바일 환경에 적합한 정보검색 시스템을 제공할 필요가 있다.
즉, [Kim 2009]에 따르면, 이와 같은 모바일 환경의 특성을 고려하여 문서요약과 사용자 프로파일을 메타검색 모델에 적용한 모바일 정보 검색 모델을 제시하였으며, 이러한 문서요약 기술은 작은 화면과 낮은 전송률 문제를 완화시킬 수 있고 사용자 프로파일은 모바일 환경에서 개인화된 정보검색 모델을 사용할 수 있다(참고문헌 8 참조).
아울러, 정보추천 서비스를 위한 선호도는 상황에 따라 달라질 수 있으므로, 정보추천 서비스를 제공하기 위해서는 먼저 사용자의 컨텍스트 정보를 알아야 한다.
즉, [Park 2008]에 따르면, 모바일 환경에서 다수 사용자의 선호도를 고려한 추천 시스템을 제안하여 음식점 추천에 적용하였으며, 모바일 환경에서 개별 사용자의 선호도를 모델링하기 위해 베이지안 네트워크를 사용하였고, 음식점 추천은 많은 경우 개별 사용자가 아닌 다수 사용자의 선호도를 바탕으로 다수의 선호도를 획득하기 위해 다기준 의사결정방법인 AHP를 이용하였다(참고문헌 9 참조).
이는, 최근 대부분의 사용자가 모바일 디바이스를 보유하게 됨에 따라 모바일 디바이스는 개인의 정보를 접할 수 있는 통로 역할을 할 뿐 아니라, 사용자가 항상 소지하기 때문에 사용자의 컨텍스트 정보를 수집할 수 있는 도구로서의 역할을 할 수 있으며, 이렇게 수집된 정보는 사용자를 위한 정보 추천에 유용하게 사용될 수 있으므로, 모바일 컨텍스트의 추론 또한 정보추천과 관련된 중요한 연구 분야이다.
아울러, 컨텍스트 인식 환경에서 개인화 추천 서비스를 제공하기 위해서는 수집된 컨텍스트 정보를 빠르게 분석하고 효과적으로 사용자의 목적을 추론할 수 있어야 하나, 모바일 장비에서 수집되는 정보는 컨텍스트 환경에 따라 데이터의 차이가 발생함으로 인해 기존의 추론 알고리즘을 그대로 적용하기에는 적합하지 않고 모바일 환경에 적합한 효율적인 알고리즘이 필요하다.
즉, [Seo 2012]에 따르면, 정보의 누락이나 오류 등으로 인한 손실을 최소화하기 위해 나이브베이즈 분류기를 사용하여 행동 패턴을 분류하고, 사용자의 성향을 효과적으로 학습하고 행동 목적을 추론하기 위해 패턴 매칭 기법을 사용하였으며(참고문헌 10 참조), 또한, [Jeong 2009]에 따르면, 다양한 센서의 개발과 센서 네트워크 구축으로 인해 특정 공간의 환경 데이터를 수집하고 보다 유용한 정보 및 지식의 발견을 위해 데이터 마이닝(Data mining) 기법이 활용되는 연구들이 소개되었다(참고문헌 11 참조).
아울러, [Ko 2011]에 따르면, 협력적 여과법(Collaborative filtering method)을 이용하여 많은 사용자들로부터 선호정보를 수집하여 사용자의 관심사항에 대한 자동적인 예측이 가능하도록 장르 관계(Genre correlation)에 기반을 둔 추천시스템을 제안하고 있으며(참고문헌 12 참조), [Sarkaleh 2012]에는, 노트북, 모바일 폰, PCS(personal communication system), PDA(personal digital assistant) 등과 같은 모바일 디바이스는 이동성, 독립성, 개인성, 접근성과 같은 특징이 있으므로, 이러한 기기들을 이용하여 정확한 시간과 장소에서의 학습을 개인화하고, 학습 컨텐츠도 풍부하고 다양화할 수 있으며, GPS(Geographic Position System) 기능을 이용하여 사용자가 원하는 다양한 분야에 대한 정보를 습득하는 것이 가능한 추천시스템을 제안하고 있다(참고문헌 13 참조).
상기한 바와 같이, 종래, 사용자에게 필요하고 관심 있는 정보만을 제공하기 위한 관심정보 추천 시스템에 관한 여러 가지 방법이 제시된 바 있으나, 최근의 모바일 환경에서, 종래기술의 정보검색 방법들은 다음과 같은 문제점이 있는 것이었다.
더 상세하게는, 기존의 데이터 검색방식과 현재 모바일 분야에서 활발하게 적용되고 있는 데이터 검색 방식을 비교하였을 때 가장 큰 차이점은 이동성이라고 할 수 있으며, 즉, 기존의 데이터 검색방법들은, 대부분 데스크탑 PC를 이용하기 때문에 한 장소에 고정되어 모든 검색과 데이터 적용이 이루어져 왔으나, 현대 사회의 이동성과 활동성을 고려할 때 이러한 기존의 데이터 검색 방식은 상당히 비효율적이고 현대 사회의 최첨단 기술들을 따라가지 못하는 방식이라고 할 수 있다.
이에, 상기한 바와 같은 기존의 정보 검색방식들의 단점을 극복하기 위해, 모바일 환경에 적합한 정보 검색방법에 대한 요구가 높아지고 있으며, 또한, 기존의 정보 검색 방식들은 이동성을 고려하지 않음으로 인해 사용자의 현재 위치를 고려하는 시스템을 구축하는 것이 불가능했으나, 최근, 모바일 기술들의 발달로 인해 GPS 기능을 이용하여 현재 사용자의 위치를 찾아내는 상황인식 기법을 정보검색 시스템에 접목하는 것이 가능하므로, 본 발명에서는, 이를 통해 사용자가 질의를 수행하는 현재의 위치를 이용하여 정확한 정보를 전달하는 서비스를 제공하고자 하는 것이다.
즉, 예를 들면, 상황인식에 의해 사용자에게 좀더 정확한 정보전달 서비스를 제공할 수 있도록 하기 위해, 상황인식 온톨로지를 이용하여, 각 지역에 있는 관광 데이터 정보를 수집하여 관광 온톨로지를 구축하고 사용자의 현재 상황에 맞는 정보를 서비스하는 것이 가능하다.
아울러, 기존의 정보검색 시스템에서 검색어를 입력하고 검색결과를 얻었을 때, 사용자가 원하는 정확한 정보보다 관련이 없는 항목들이 더 많이 검색되어 불필요하게 방대한 양의 검색결과를 제공하는 문제점이 있었으므로, 이에, 본 발명에서는, 이러한 문제점을 해결하기 위해, 상황인식 데이터 온톨로지를 구축하여, 사용자 질의에 좀더 정확하고 신속하게 서비스를 제공하기 위해 시맨틱 데이터 마이닝 기법을 이용하였다.
즉, 예를 들면, 관광 온톨로지를 구축하여 사용자들이 자주 질의하는 질의 패턴을 저장하고, 사용자 질의가 수행되었을 때 저장되어 있는 질의 패턴과 사용자 질의와의 매칭 기법을 이용하여 사용자 질의와 일치하거나 유사한 질의 패턴을 사용자에게 제공함으로써 사용자가 실제로 원하는 정보만을 제공하도록 할 수 있다.
더욱이, 기존의 정보검색 시스템은 텍스트 정보를 제공하는 것만이 가능하였으므로, 이에, 본 발명은, 예를 들면, 스마트폰을 비롯한 모바일 기기가 지원하는 구글맵(Google map)과 같은 지도 서비스를 이용하여, 한 번의 검색으로 사용자가 요구하는 정보의 구체적인 지리적 위치까지도 보다 용이하고 빠르게 찾을 수 있는 지도 서비스(Map service)를 제공하고자 하는 것이다.
계속해서, 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 상황인식 정보를 이용한 온톨로지를 구축하는 구체적인 과정에 대하여 상세히 설명한다.
먼저, 상황인식 온톨로지(Context Awareness Ontology)의 기본적인 개념에 대하여 설명하면, 시공간 이동 패턴은 이동하는 객체의 위치 패턴으로 고객의 위치 특성에 따라 개인화되고 적절한 컨텐츠나 서비스 제공을 가능하게 하는 시공간 규칙이며, 이러한 시공간 관계는 시공간 객체와 관련된 사건들 사이의 인과관계(causal relationship)를 탐사하는 데 매우 중요한 의미를 가지므로, 시간과 공간을 함께 고려하는 온톨로지를 통해 사용자의 행동에 대한 적절한 서비스 제공이 가능하게 된다.
이에, 본 발명에서는, 상황정보를 구조화하는 데 유용하고 상호 관계성 및 부분적인 상황의 정보를 표현할 수 있는 온톨로지를 설계하였으며, 이러한 본 발명의 실시예에 따른 온톨로지는, 시간과 공간정보 및 서비스 등과 같은 사용자의 상황정보와 연관된 정보로서, O={U, L, T, S}로 표현한다.
여기서, U(User identification)는 사용자 식별자, L(Location)은 공간정보, T(Time)는 시간정보, S(Service)는 사용자와 연관된 서비스 규칙을 나타낸다.
즉, 사용자 U의 시공간 상황정보는, 사용자의 식별정보, 시간정보, 공간정보 및 서비스 정보로 4개의 차원을 가진다.
더 상세하게는, 사용자의 공간과 시간을 식별하는 시공간 정보는 사용자의 상황정보를 나타내고 상황에 따른 서비스 이력을 구분할 수 있게 하는 기준이 되며, 사용자의 위치정보는 실제 이벤트가 발생한 유효시간에 대한 공간상의 좌표에 대한 일반화 값으로 구성된다.
이때, 시간정보는 일정한 시간 간격으로 구분한 정보이고, 공간정보는 유클리디안 공간상의 좌표 (xi, yi)에 해당하는 일반화된 위치 정보이다.
또한, 위치 일반화는 공간의 좌표값에 대해 일정한 구역(zone)으로 일반화하여 사용자 및 객체의 위치를 식별하며, 여기서, 공간의 좌표는 현재 위치해 있는 지역의 경도 값과 위도 값을 각각 의미한다.
예를 들면, 사용자가 현재 대전광역시 중구 은행동 거리에서 있다면, 사용자의 공간좌표는 대전광역시 중구 은행동의 위치에 해당하는 구역위치 값으로 일반화되어 사용자의 현재 위치의 위도 값과 경도 값을 이용할 수 있다.
계속해서, 온톨로지 데이터베이스 구축을 위해서 필요한 온톨로지 추론과정과 관광 온톨로지를 구축하는 과정에 대해서 설명한다.
먼저, 도 2를 참조하면, 도 2는 특정 관광지를 지역의 범위로 지정하여 상황 온톨로지를 구축하는 과정을 나타내는 플로차트이다.
도 2에 나타낸 바와 같이, 상황 온톨로지를 구축하는 과정은, 먼저, 온톨로지 구축을 위해서 구축하고자 하는 온톨로지의 도메인을 결정한다(단계 S21).
즉, 예를 들면, 관광지에 대한 정보를 제공하는 경우, 사용자들이 원하는 관광지 정보를 찾아내어 각 지역별로 해당되는 관광지에 대한 정보들을 수집한다.
다음으로, 각 주요 개념에 대한 클래스를 구성하며(단계 S22), 이때, 각각의 클래스는 수퍼클래스(superclass)와 서브클래스(subclass) 등으로 구성된 계층구조 형태로 구성된다.
즉, 예를 들면, 최상위 클래스로서 tour_sites라고 하는 루트 클래스(root class)를 지정하고, 그 아래에 각 지역을 서브클래스(subclass)로 지정하여 하위 클래스를 생성하며, 각각의 지역에 대하여 더욱 세밀하게 서브클래스 관계를 설정하여 계층 구조를 이루는 관광 온톨로지를 구축한다.
계속해서, 각 클래스를 구성하는 데이터 값들의 속성을 이용하여 각 데이터들이 어떤 관계와 어떤 특성을 가지고 있는가를 정의하며(단계 S23), 즉, 예를 들면, 각 클래스를 구성하는 지역의 특성이나 그 지역 내에 포함되어 있는 유명한 맛집이나 관광지를 설명하는 내용들을 각 클래스의 속성 관계를 지정한다.
다음으로, 각 클래스들에 해당되는 관광지 이름을 그 관광지가 가지고 있는 특성을 이용하여 속성값을 지정하여 관광지라는 인스턴스(instances)를 생성한다(단계 S24).
이어서, 새로 구축된 관광 온톨로지가 기존의 온톨로지와 공리나 속성 등이 일치하는지의 여부를 검사하는 일관성(consistency) 검사를 수행하며(단계 S25), 이와 같이 하여 구축된 온톨로지는 사용자들의 정보 검색을 위해서 사용된다.
따라서 상기한 바와 같은 과정을 수행하여, 사용자가 현재 사용자 위치에서 원하는 관광지를 검색하고자 할 때 사용자가 요구하는 위치에서 적절한 관광지를 추천해 주기 위해 각 지역별로 관광지를 분류하여 관광 온톨로지를 구축할 수 있다.
계속해서, 상기한 바와 같은 관광 온톨로지를 구축하기 위해, 관광 데이터베이스의 각 클래스의 속성과 관계들을 추론하는 과정에 대해서 설명한다.
일반적으로, 사용자는, 자신들의 위치나 주변 환경에 상관없이 어느 위치에서 어느 환경에서나 최적의 서비스를 받기를 원하며, 이때, 서비스는, 제공 가능한 기기, 위치, 실행 조건 등과 같은 기능에 대한 정보를 추상화하여 기술하고 계층적으로 구조화하는 단위이다.
또한, 기존에 저장되어 있는 서비스 규칙집합에서 사용자의 요구에 맞는 서비스가 존재하지 않는다면 새로운 서비스를 생성하거나 기존의 서비스를 조합하여 제공해 주는 것이 필요하며, 이러한 서비스를 사용자에게 제공하기 위해서는 온톨로지 내에서 각 장소와 각 장소에 있는 관광지, 그리고 각 관광지 내에 있는 식당이나 쇼핑몰, 해변, 산책로 등에 대한 서비스를 제공할 수 있는 내용들에 대해서 추론을 통하여 온톨로지 내의 각 클래스의 속성들을 지정해야 한다.
이러한 관광 온톨로지의 추론과정에 대해서 설명하면, 먼저, 도 3을 참조하면, 도 3은 사용자에게 관광지에 대한 서비스를 제공하기 위해 각 지역에 있는 관광지의 상황인식 데이터를 이용하여 관광 온톨로지 구축을 위해 추론하는 과정을 설명하기 위한 도면이다.
도 3에 있어서, "Place"는 관광을 하고자 하는 지역의 이름을 의미하며, 즉, 예를 들면, 제주특별자치도(Jejudo), 서울특별시(Seoul), 대전광역시(Daejon), 부산광역시(Busan), 충청남도, 충청북도 등과 같이, 지역의 이름으로 구성된다.
또한, "Attraction"은 각 지역 내에 있는 관광지 이름을 의미하며, 즉, 예를 들면, 국립박물관(National museum), 경복궁(Palace), 해운대(Beach), 계룡산, 백화점(Shopping mall) 등과 같은 관광명소의 이름으로 구성된다.
아울러, "Resource"는 각 관광지 안에 있는 건물이나 유물 유적 및 해변 등을 의미하며, 즉, 예를 들면, 경복궁 안에 있는 궁궐(Ancient remains)이나, 민속촌과 같은 곳의 오래된 건물(Old building), 해운대나 제주 우도의 해변, 백화점 내에 있는 식당(Restaurant) 등으로 구성된다.
더욱이, "Activity"는 사용자가 각 관광지에서 실제 행하는 행동을 의미허며, 즉, 예를 들면, "Cultural activity"는 경복궁 안에 있는 궁궐을 방문하는 문화적인 행위를 의미하고, "Scenery view"는 해운대나 제주도의 우도와 한라산과 같은 관광지에서는 아름다운 풍경을 즐기는 행위를 의미하며, "Dining out"은 백화점에 있는 레스토랑에 가서 외식을 하는 행위 등을 의미한다.
또한, 본 발명의 실시예에 있어서, 온톨로지 구축과 온톨로지 추론을 위해서 protege_4.0.2를 이용하였으며, OWL(Web Ontology Language)과 RDF, RDFS 등을 이용하여 관광 온톨로지인 tour.owl을 구축하였다.
계속해서, 도 4를 참조하면, 도 4는 도 3에 나타낸 관광 온톨로지의 계층구조 중 일부의 구성을 개략적으로 나타내는 도면이다.
도 4에 나타낸 바와 같이, 본 발명의 실시예에 따른 온톨로지는, 관광 온톨로지 구축을 위해 각 지역별로 서브클래스(subclass)를 지정하여 그 지역에 속한 더 작은 그룹의 클래스(class)를 지정하였고, 그 아래에 서브클래스로서 관광지 이름을 지정하였으며, 각 관광지 내에 있는 식당이나 그 관광지에 대한 설명을 위해 또 다른 서브클래스를 지정하였다.
또한, 각 지역이나 관광지에 대하여 동의어나 초성 검색을 하기 위해 동의어 처리를 의미하는 동의어클래스(equivalent class) 관계를 설정하였다.
즉, 사용자가 관광지에 대한 검색어를 입력할 때, 유사한 단어나 동의어로 검색 요청을 하거나, 줄임말 형태로 검색하는 경우를 대비하여, 동의어클래스(equivalent class) 관계를 설정하여 사용자에게 항상 정확한 정보 검색결과를 제공할 수 있도록 구성된다.
더 상세하게는, 도 4에 나타낸 바와 같이, 최상위 클래스로서 관광지를 나타내는 "Tour"를 지정하였고, 관광지 아래에는 대전광역시, 충남, 서울특별시, 부산광역시, 제주특별자치도 등의 각 지역을 서브클래스로 지정하였으며, 각 지역의 아래에는 그 지역을 구성하는 서브클래스들로 구성하였다.
즉, 대전광역시 아래에는 동구, 서구, 중구, 유성구, 대덕구 등을 구성하도록 하였고, 제주특별자치도의 경우는 제주시와 서귀포시로 서브클래스를 구성하였으며, 충남의 경우는 공주와 부여 등의 서브 클래스를 구성하였고, 그 아래의 서브클래스는 세부적인 주소값을 지정하였으며, 예를 들면, 대전광역시의 경우는 중구 아래에 은행동, 사정동 등을 서브 클래스로 구성하였고, 서구의 경우는 장안로와 만년동 등으로 구성되며, 제주특별자치도의 경우는 제주시의 아래에 삼도이동, 구좌읍, 중문동 등의 서브 클래스로 구성하였으며, 서귀포시의 아래에는 성산읍, 안덕면 등으로 구성하였다.
아울러, 그 아래의 서브클래스는 관광지명으로 구성하였고, 즉, 대전광역시의 경우 대전광역시 중구 사정동 오월드 등으로 서브 클래스를 구성하였으며, 제주 특별자치도의 경우는 제주특별자치도 제주시 구좌읍 만장굴 등으로 서브 클래스 관계를 구성하였다.
다음으로, 도 5를 참조하면, 도 5는 온톨로지의 추론을 위해 각 클래스를 구성하는 데이터 값의 속성값과 관계를 설정하는 과정을 설명하기 위한 도면이다.
도 5에 나타낸 바와 같이, 관광 온톨로지를 구성하는 각 지역(Place)과 관광지(Attraction)의 관계는 "hasAttraction"과 "IsAttractionOf"의 속성관계를 가지고 있으며, 관광지와 관광지 내에 있는 궁궐과 같은 건물이나 유물, 해변, 산과 같은 "Resource"는 "hasResource"와 "IsResourceOf"의 속성관계를 가지고 있으며, 관광지에서 사용자가 경복궁 궁궐을 둘러보는 행위, 해운대 해변을 산책하는 행위, 계룡산을 등산하는 행위, 그리고 백화점에 가서 쇼핑을 하는 행위 등은 "Activity"로써 "Resource"와의 관계는 "hasActivity"와 "IsActivityOf"의 속성관계를 가지고 있다.
여기서, 각각의 속성관계는 각 클래스를 구성하는 데이터들 간의 다중 속성과 관계를 가지는 경우도 있다.
즉, 도 6을 참조하면, 도 6은 각 클래스를 구성하는 데이터들 간의 다중 속성 관계를 나타내는 도면이다.
도 6에 나타낸 바와 같이, 예를 들면, "서울(Seoul)"이라고 하는 지역과 서울 내에 포함관계를 가지고 있는 "종로(Jongro)"라는 지역은 "hasSubclass"와 "IsSuperclassOf"의 속성관계를 가지고 있고, "종로"라는 지역에는 "경복궁(Kyongbokgung)"과 "인사동(Insadong)"이라는 두 개의 지역이 포함되어 있어 동시에 서브클래스 관계를 가지고 있다.
또한, "종로"라는 지역과 "경복궁"이라는 관광지의 관계는 "hasAttraction"과 "isAttractionOf"의 관계를 가지는 동시에, "종로"라는 지역과 "인사동"이라는 관광지도 "hasAttraction"과 "isAttractionOf"의 관계를 가지고 있다.
따라서 이러한 관계를 다중 속성 관계라 하며, 각 관광지에서 같은 지역 내에 여러 개의 관광지가 있는 경우 이러한 다중 속성 관계를 가지고 있는 것으로 간주한다.
여기서, "경복궁"과 "인사동"이라는 관광지는 같은 장소에 속해 있으므로, "atSamePlace"라는 속성관계를 가지고 있고, "경복궁"이라는 관광지는 관광지 내에 사람들이 둘러볼 수 있는 곳으로 궁궐과 정원이 있기 때문에 다중 Resource 관계를 가지고 있으므로, "경복궁"은 "Palace"와 "Garden"에 대해서 두 번의 "hasResource"와 "isResourceOf"의 속성관계를 각각 가지고 있음을 알 수 있다.
즉, 도 7을 참조하면, 도 7은 프로테지(protege)를 이용하여 온톨로지를 추론하는 과정을 개략적으로 나타내는 도면으로, 도 7a는 각 지역의 서브클래스 관계를 나타내고 있으며, 도 7b는 대전 지역의 각 관광지를 구성하는 서브클래스 관계를 나타내고 있다.
아울러, 최근의 사용자들은 모바일 환경에서 스마트폰의 다양한 어플리케이션을 활용하여 다양한 종류의 유용한 정보검색을 하고 있으며, 이러한 다양한 어플리케이션을 활용한 편리성 중의 한가지로서 GPS 기능을 들 수 있다.
이에, 본 발명은, 모바일 환경에서 검색 요청을 할 경우에 모바일 환경의 특성 중 하나인 GPS 사용이 가능한 장점을 이용하여, GPS 모듈을 이용한 지도 검색을 함께 제공하여 다양한 검색 결과를 제공할 수 있도록 구성될 수 있다.
더 상세하게는, GPS 모듈을 통해서 사용자의 현재 위치를 제공하는 것이 가능하므로, 이를 통해 사용자의 현재 위치 값을 경도와 위도로 측정하고, 측정된 사용자의 현재 위치를 이용하여 현재 사용자가 위치한 지점에서 가능한 관광지 정보를 검색하는 것이 가능하며, 또한, 예를 들면, 구글 맵(Google map)과 같은 지도 서비스를 이용하여, 현재 위치와 검색된 관광지에 대한 지도를 제공하도록 구성될 수 있다.
계속해서, 각 관광지와 해당 관광지의 속성과 관계들을 연결하여 각 클래스간의 관계를 설정하는 상기한 바와 같은 온톨로지 추론과정에 이어서, 상황인식 데이터를 이용하여 모바일 환경에서의 시맨틱 데이터 마이닝 기법을 이용한 정보 검색에 필요한 관광 온톨로지를 구축하는 과정에서 대하여 상세하게 설명한다.
즉, 이하에 설명하는 본 발명의 실시예서는, 관광 온톨로지 구축을 위해 포털 사이트를 비롯한 관광지와 관련한 사이트들을 통해 수집된 관광지와 관련된 정보들을 이용하여 관광 데이터베이스를 구축하였으며, 이때, 데이터베이스는 MS SQL Server 2000 personal version을 이용하여 각 관광지의 주소값을 가지고 test_db 데이터베이스와 tour_db 테이블을 구성하였다.
더 상세하게는, 도 8 및 도 9를 참조하면, 도 8 및 도 9는 상기한 바와 같이 하여 구축된 관광 데이터베이스와 관광 데이터베이스 테이블의 일부를 각각 나타내는 도면이다.
도 8 및 도 9에 나타낸 바와 같이, 예를 들면, tour_db는, id, add_1, add_2, add_3, add_4, add_5, tour_site, syn, lat, long 등의 필드(field)로 구성되어 있다.
여기서, id를 기본키(primary key)로 지정하였고, 예를 들면, 대전광역시의 경우, add_1은 대전광역시, add_2는 중구, 서구, 동구, 유성구 등으로 구성되고, add_3은 사정동, 만년동, 은행동, 장안로 등으로 구성되며, add_4는 대전광역시 중구 침산동의 뿌리공원로를 지정하였고, add_5는 충남 공주시 반포면 동학사 1로의 327번지를 지정하였다.
또한, tour_site에는, 예를 들면, 제주특별자치도 제주시 삼도이동 관덕로 19번지에 위치한 관덕정과 같은 관광지 이름을 지정하였고, syn은 사용자가 관광지 검색을 할 때 동의어와 초성어 처리를 위해 지정된 필드이다.
아울러, lat와 long은 각 지역의 위도와 경도값을 지정하였으며, 여기서, 위도와 경도는, 예를 들면, 구글 맵(google map)을 이용하여, 지도를 보여주기 위한 사용자의 위치값을 설정하기 위해서 지정하였다.
따라서 상기한 바와 같이 하여 구축된 관광지 데이터베이스를 이용하여 관광지 온톨로지를 구축할 수 있으며, 본 실시예에서는, 이러한 온톨로지 구축과 온톨로지 추론을 위해 protege_4.0.2를 이용하였고, OWL(Web Ontology Language)과 RDF, RDFS 등을 이용하여 관광 온톨로지인 tour.owl을 구축하였다.
더 상세하게는, 관광지 온톨로지를 구축하기 위해 tour-sites라는 개념을 최상위 클래스로 하고, 그 하위 클래스로서 tour_db 테이블에 있었던 add_1 field를 지정하였으며, 예를 들면, 대전광역시, 제주특별자치도, 충남, 부산광역시 등을 add_1 클래스로 지정하였다.
즉, 도 10을 참조하면, 도 10은 본 발명의 실시예에 따른 관광 온톨로지의 구성을 나타내는 도면이다.
도 10에 나타낸 바와 같이, tour_sites 온톨로지의 상위 클래스에는 대전광역시, 부산광역시, 제주특별자치도, 충남 등의 클래스가 포함되어 있으며, 그 하위에는, tour_db에 있었던 add_2 클래스를 각 지역을 나타내는 상위 클래스의 서브클래스로 지정하여, 예를 들면, 대전광역시 아래에 중구, 동구, 서구, 대덕구 등을 지정하였고, 제주특별자치도의 경우에는 제주시, 서귀포시 등을 하위 클래스로 지정하였다.
즉, 도 11을 참조하면, 도 11은 상기한 add_2 class를 펼친 온톨로지 구조를 나타내는 도면이다.
다음으로, 서브클래스로서 tour_db 테이블에서 add_3을 지정하였으며, 이러한 add_3 클래스에는, 예를 들면, 대전시 중구에 사정동, 침산동, 은행동을 지정하였고, 제주특별자치도의 경우는 제주특별자치도 아래에 제주시, 제주시 아래에는 이도일동, 삼도이동, 1100로, 조천읍, 구좌읍, 애월읍, 해안동, 한림읍, 용담로, 용담일동, 우도면, 한경면, 수목원길, 용담삼동, 삼양삼동, 일도이동 등을 지정하였다.
즉, 도 12를 참조하면, 도 12는 도 10에 나타낸 관광 온톨로지의 add_3 class를 펼친 온톨로지 구조를 나타내는 도면이다.
더 상세하게는, 도 12에 있어서, 제주특별자치도 지역의 서귀포시에 속하는 남원읍과 그 아래의 서브클래스인 일주동로와, 대정읍과 그 아래의 서브클래스인 마라로, 일주서로 3000번길, 협제해안로와, 동홍동과 그 아래의 서브클래스인 칠십리로 214번길 등의 구조를 나타내고 있다.
계속해서, 그 하위 클래스로서, 예를 들면, 대전광역시, 중구, 사정동의 아래에 사정공원로를 tour_db table의 add_4 클래스로 지정하였고, 그 하위 클래스에, 즉, 대전광역시, 중구, 사정동, 사정공원로의 아래에, 오월드를 tour_site 클래스로 지정하였다.
또한, 오월드라는 tour_site 클래스의 경우는, 동의어 또는 초성 처리를 위해, 'ㅇㅇㄷ'라는 동의어 관계를 지정하기 위해서 동의어 클래스(equivalent class)를 설정하였다.
아울러, 도 13을 참조하면, 도 13은 도 10에 나타낸 관광 온톨로지의 add_4 class를 펼친 온톨로지 구조를 나타내는 도면으로, 충남 부여군 부여읍 능산리의 능산리 고분, 동남리의 궁남지 등의 add_4와 tour_site의 관계를 나타내고 있다.
더욱이, 도 14를 참조하면, 도 14는 protege_4.0.2를 이용하여 OWL(Web Ontology Language)과 RDF 및 RDFS를 이용하여 구축한 tour.owl 온톨로지 소스의 일부분을 나타내는 도면이다.
따라서 상기한 바와 같이 하여, 관광 데이터를 상황데이터로서 이용하여 상황인식 데이터를 이용한 관광 온톨로지의 추론과 구축이 가능해진다.
즉, 도 15를 참조하면, 도 15는 본 발명의 실시예에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법의 전체적인 구성을 개략적으로 나타내는 도면이다.
더 상세하게는, 본 발명의 실시예에 따른 상황인식 온톨로지 구현방법은, 먼저, 사용자의 관심영역에 대한 정보를 수집하여 사용자 관심정보 데이터베이스를 구축하고(단계 S151), 구축된 사용자 관심정보 데이터베이스에 저장된 각 데이터들 사이의 관계와 속성을 설정하는 온톨로지 추론을 수행한 후(단계 S152), 온톨로지 추론단계에서 설정된 각 데이터의 관계 및 속성에 근거하여 상황인식 온톨로지 데이터베이스를 구축하는(단계 S153) 일련의 단계들을 포함하여 구성될 수 있다.
여기서, 상기한 사용자 관심정보 데이터베이스를 구축하고 온톨로지 추론을 행하여 온톨로지 데이터베이스를 구축하는 구체적인 과정은, 도 2 내지 도 14를 참조하여 상기에 설명한 관광 온톨로지를 구축하는 과정과 같이 하여 구현될 수 있으므로, 여기서는, 설명을 간략히 하기 위해 각 단계들의 구체적인 설명은 생략하였음에 유념해야 한다.
계속해서, 상기한 바와 같이 하여 구축된 상황 데이터베이스를 이용하여, 사용자 질의와 유사하거나 동일한 빈발한 패턴을 발견하는 FP-growth 알고리즘에 기반한 시맨틱 데이터 마이닝(Semantic Data Mining) 기법에 대하여 설명한다.
즉, 시맨틱 데이터 마이닝은 다양한 데이터에 대한 논리적인 구성이 가능하며 사용자의 질의에 유용하고 신속 정확한 정보를 주기 위해 숨겨진 패턴을 발견하는 과정을 의미하는 것으로서, 이하에 설명하는 본 발명의 실시예에서는, 기존의 FP-Tree 기반의 FP-growth 알고리즘을 활용하여 사용자에게 적합하고 유용한 정보를 효율적으로 전달하기 위해, 유사한 질의 패턴을 이용한 데이터 마이닝 과정과 상황인식 데이터(Context Awareness Data)를 활용하여 사용자의 질의에 적합한 서비스를 제공하기 위해 시맨틱 데이터 마이닝(Semantic Data Mining)을 수행하는 일련의 과정에 대하여 설명한다.
여기서, 예를 들면, [Gu 2010]에 제시된 바와 같이, 데이터 마이닝 과정을 수행하기 위해서는 이하와 같은 몇 가지의 정의가 필요하다(참고문헌 15 참조).
[정의 1] (XML Query Pattern Tree)
XML 질의패턴 트리는 루트를 가진 서브트리(rooted tree)로서, XQPT = <X.V, X.E>로 구성된다.
여기서, X.V는 정점의 집합(vertex set)이고, X.E는 간선의 집합(edge set)을 각각 의미하며, 루트는 Root(XQPT)로 표현되고, 각각의 간선은 정점인 (v1, v2)에 의해 표현되는데, v1은 v2의 부모(parent)이고, 각각의 정점 v는 {*, //, tagSet}의 값을 가지는 레이블(label)을 가지며, tagSet은 DTD에 있는 모든 요소(element)와 속성(attribute)의 이름 집합을 의미한다.
[정의 2] (XML Query Rooted Subtree)
질의패턴 트리 XQPT = <X.V, X.E>가 주어져 있을 때, XQPT의 서브트리인 루트를 가진 XML 질의 서브트리 XQRST = <X.V', X.E'>는, Root(XQRST) = Root(XQPT)와 X.V' ⊆ X.V, X.E' ⊆ X.E와 같은 포함관계를 가지는 조건을 만족할 때 XQPT의 서브트리가 된다.
즉, 빈발하게 발생하는 유용한 서브 트리의 구조를 찾아내어 XML 질의 서브트리라 하고, 이를 기반으로 유사한 구조를 찾아내는데, 이때 찾아지는 트리를 XML 질의패턴 트리라고 한다.
더 상세하게는, 도 16을 참조하면, 도 16a 및 16b는 XML 질의패턴 트리(Query pattern tree)와 루트를 가진 XML 질의 서브트리(Query Rooted subtree)의 예를 각각 나타내는 도면이다.
도 16에 나타낸 바와 같이, 질의집합(query set)을 질의패턴 트리로 만들고 이를 저장하여 질의패턴 트리의 데이터베이스인 XQPT_DB = {XQPT1, ... XQPTn}을 얻으며, 질의패턴 마이닝(query pattern mining)은 데이터베이스 XQPT_DB에서 최소 지지도(minimum support)를 만족하는 모든 빈발한 루트를 가진 서브트리를 찾아내는 것이다.
즉, XQP_DB에서 루트를 가진 서브트리 XQRST를 포함하는 모든 경우는 빈발도를 나타내는 FRQ(XQRST)로써 표현되며, 여기서, XQRST의 지지도(support) 값을 구하기 위해서는, 이하의 수학식 SUP(XQRST) = FRQ(XQRST)/|XQP_DB|을 이용하여, XQRST의 빈발도를 전체 데이터베이스의 개수로 나누어 구할 수 있다.
또한, 일정한 값을 가진 σ(σ > 0)에 대하여, 만약, XQRST가 SUP(XQRST) ≥ σ라는 조건을 만족한다면, XQRST는 데이터베이스 XQP_DB에서 빈발하다는 것을 의미한다.
예를 들면, 도 17을 참조하면, 도 17은 세 가지의 질의패턴 트리와 루트를 가진 빈발 서브트리의 구성을 각각 나타내는 도면이다.
도 17에 있어서, XQRST는 XQPT1과 XQPT2에서 발생하므로, 루트를 가진 서브트리(Rooted Subtree)의 빈발도는 FRQ(XQRST) = 2가 되고 SUP(XQRST) = 2/3가 된다.
상기한 바와 같이, 빈발 질의패턴을 마이닝하는 과정은 질의의 효율을 높이기 위해 유사한 질의패턴들을 찾아내는 과정이며, 이 과정에서 질의패턴이 서로 유사하게 일치하는가를 찾아내기 위해서는, 이하의 [정의 3]에 나타낸 바와 같은 질의패턴 트리 매칭 과정이 필요하다.
[정의 3] (XML Query Pattern Tree Matching)
질의패턴 트리 XQPT와 루트를 가진 서브트리 XQRST가 주어져 있을 때, 다음의 조건을 만족한다면, XQRST가 XQPT안에 포함된다.
1. XQRST와 XQPT의 루트 노드(root node)는 서로 같은 레이블(label)을 공유한다.
2. 만일 XML 트리구조의 어떤 노드 w ∈ XQRST와 v ∈ XQPT가 서로 일치하면, w.label ≤ v.label의 관계를 가지고, w의 각 서브트리는 XQPT의 서브트리에 포함되는 관계를 가진다.
즉, 사용자에 의해 제기된 질의패턴 구조인 XQRST가 XQPT 구조 사이에서 각 노드간의 관계가 위와 같은 포함관계가 존재할 때 XQRST가 XQPT에 포함된다고 정의할 수 있으며, 사용자의 질의패턴 트리가 빈발 패턴트리가 된다.
이하, 실제 사용자에 의해 다음과 같은 질의가 실행되었다고 가정하고 질의에 대한 답을 찾아가는 과정을 예를 들어 설명한다.
Q1 : 장르(genre)는 액션(action)이고 제작년도(year)가 1994년인 영화 중 주연 배우(actor)가 'Jean Reno' 인 영화의 제목(title)을 찾아라.
상기한 질의에 대한 답을 찾기 위하여는, 이러한 질의를 기반으로 genre, year, actor라는 데이터와 찾고자 하는 값들과 이들의 경로를 표현하여야 한다.
즉, //year="1994" and //genre="action" and //actor="Jean Reno"로 질의를 표현하고, 이와 같은 경로를 하나의 트랜잭션으로 사용하여, 사용자의 질의패턴을 가지고 유사한 패턴을 찾아내는 작업을 FP-growth 알고리즘을 기반으로 하는 시맨틱 데이터 마이닝 과정을 통해 수행한다.
따라서 상기한 바와 같은 기본 정의를 이용하여, XML 데이터에 대한 시맨틱 질의패턴 마이닝은, FP-Tree를 구축하고 빈발하게 발생하는 XML 질의패턴 구조를 찾아내어, 사용자 질의와 유사하거나 일치하는 유용한 서브트리를 발견하는 과정으로 수행된다(참고문헌 16 및 참고문헌 17 참조).
여기서, 상기한 바와 같이 하여 빈발 질의패턴을 마이닝 하기 위해, 본 발명에서는, 기존의 빈발구조를 찾아내는 알고리즘인 Apriori 알고리즘에 비해 시간적 및 공간적으로 보다 효율적인 FP-growth 알고리즘을 사용하였으며, 이와 같이 FP-growth 알고리즘을 이용하여 빈발 트리 패턴에 대한 데이터 마이닝을 수행하기 위해서는, 다음과 같이 하여 FP-Tree를 구축하는 과정이 필요하다(참고문헌 18 참조).
더 상세하게는, FP-Tree를 구축하는 과정은, 먼저, XML 질의패턴을 하나의 트랜잭션으로 정하고, 이러한 트랜잭션들로 이루어진 데이터베이스에서 초기 스캔을 통해서 각 아이템(item)의 빈발도를 조사한다.
여기서, 빈발도는 한 개의 엘리먼트 아이템 집합(items sets)의 지지도 값을 의미한다.
둘째로, 각 트랜잭션에 있는 아이템들을 빈발도에 따라서 내림차순으로 정렬한다.
셋째로, 빈발도에 따라서 내림차순 정렬한 아이템들을 중 사용자가 지정한 최소 지지도(minimum support) 보다 적은 아이템들을 제거한다.
넷째로, 상기 단계에서 빈발하지 않은 아이템들이 트랜잭션 데이터베이스에서 제거된 후 남아있는 아이템을 이용하여 FP-Tree를 구축한다.
여기서, FP-Tree는 프리픽스(prefix) 트리로서, 각 경로(path)는 트리에서 같은 프리픽스(prefix)를 공유하고 있는 트랜잭션들로 표현하고, 각 노드는 하나의 아이템을 나타낸다.
따라서 상기한 바와 같은 과정을 반복적으로 수행하여 FP-Tree를 구축할 수 있다.
즉, 도 18을 참조하면, 도 18은 상기한 바와 같은 과정을 통하여 수행되는 FP-Tree 구축 과정의 프리픽스(prefix)를 공유하는 과정과 각각의 트랜잭션을 나타내는 과정을 개략적으로 나타내는 도면이다.
도 18에 있어서, FP-Tree는 데이터베이스를 압축된 형태로 표현한 것으로, 헤더(Header) 테이블에는 각 아이템과 노드 링크인 포인터가 연결되어 있다.
상기한 바와 같이, FP-Tree를 구축하여 XML 쿼리 빈발 패턴을 찾는 FP-growth 알고리즘을 이용한 데이터 마이닝 과정은, 최소 지지도를 만족하는 아이템을 선택하고 최소 지지도보다 적은 아이템은 제거하는 과정을 수행하여 이루어진다.
또한, 도 19를 참조하면, 도 19는 FP-growth 알고리즘을 수행하여 데이터 마이닝을 하는 과정에서 임의의 아이템인 m의 조건부(conditional) FP-Tree를 구축하는 과정을 나타내는 도면이다.
도 19에 나타낸 바와 같이, 각각의 아이템에 대하여 조건부 트리를 구축하여 조건부 패턴을 찾아가는 과정을 반복적으로 수행한다.
아울러, 도 20을 참조하면, 도 20은 상기한 바와 같은 조건부 패턴을 찾아가는 과정을 반복적으로 수행한 결과로서 얻어진 조건부 패턴을 표로 정리하여 나타내는 도면이다.
다음으로, 사용자에 의하여 질의가 행해졌을 경우에 상기한 바와 같은 데이터마이닝 기법을 적용하는 예를 설명한다.
먼저, 이하와 같은 XQuery Syntax를 기반으로 XML 질의가 주어졌다고 가정한다.
[질의] : 'Kim'이라는 이름을 가진 사람이 쓴 책 중에서 제목과 작가, 가격을 검색하시오.
또한, 도 21을 참조하면, 도 21은 사용자가 수행한 한글로 되어 있는 질의를 XML 형태로 작성한 예를 나타내는 도면이다.
여기서, lastname="Kim"은, "Kim"이라는 사람이 쓴 책 중에서 그 책의 title, author, price를 검색하라는 내용을 의미하며, resultPattern은 질의의 결과에 대한 스키마 패턴을 나타내고, predicates는 질의를 수행하는데 필요한 필터링 조건을 나타내며, documents는 관련된 XML 파일을 의미한다.
아울러, 도 22를 참조하면, 도 22는 상기한 XQuery를 기반으로 작성한 XML 문서인 Book DTD Tree를 나타내는 도면이다.
도 22에 있어서, Book DTD Tree는 트랜잭션으로 이루어진 데이터베이스 형태를 나타내고 있다.
더 상세하게는, 사용자로부터 들어오는 질의에 대한 빈발 질의패턴을 발견하는 데이터 마이닝 과정을 수행하기 위해서는 사용자의 질의에 의해 발생되는 각각의 질의패턴 트리를 하나의 트랜잭션으로 하는 데이터베이스를 먼저 구축하고, 각각의 질의패턴 트리들을 유용한 질의 패턴인가를 검사하고 저장하여 트랜잭션들로 구성된 데이터베이스를 구축한다.
다음으로, 질의패턴 트리들을 저장한 데이터베이스에서 루트를 가진 서브트리를 찾아내고, 이와 유사한 패턴들을 찾아내는 과정으로 데이터 마이닝을 수행한다.
즉, 상기한 바와 같이, 각각의 질의 패턴들로 이루어진 트랜잭션들을 기반으로 FP-Tree 형태의 구조를 생성하고, 이와 같이 생성된 FP-Tree를 기반으로 빈발 패턴 트리를 찾기 위한 FP-Growth 기법을 이용한 데이터 마이닝 과정을 수행하며, 이러한 과정을 통해서 빈발 트리를 마이닝하여 최대 빈발한 서브트리(maximal frequent subtree)를 찾아낸다.
여기서, 이를 찾아내는 과정에서 필요한 트리들의 포함관계에 대한 정의는 다음과 같다.
[정의 4] (Tree Subsumption)
두 개의 서브트리의 집합인 S와 S1이 주어져 있을 때, S = S1 ∪ {t1, t2, ..., tn}의 관계이다.
여기서, ∀i (1 ≤ i ≤n), ∃tj ∈ S1이고, tj < ti면, S1은 S에 포함되며, S1 < S와 같이 표현한다.
[정의 5] (Maximal Frequent Subtree)
서브트리의 집합이 빈발한 서브트리이고 다른 어떤 빈발한 서브트리에 의해 포함된 관계가 아니라면, 그 서브트리 집합은 가장 빈발한 서브트리(Maximal Frequent Subtree)이며, 즉, {maximal FSP} ⊆ {FSP}의 관계가 있다.
상기한 바와 같이, 본 발명의 실시예에서는, 사용자의 질의에 대한 효율성을 증가하기 위해 기존의 연관 규칙 알고리즘을 기반으로 하는 FP-growth 기법을 이용하였으며, FP-growth 기법의 확장은 XML 데이터에 대한 유사 질의패턴을 찾아내는 기법에 추가적으로 빈발하게 발생하는 서브트리와 그렇지 않은 서브트리를 구분하여 빈발하지 않은 서브트리를 제거하는 방식이 적용되었다.
또한, FP-tree 알고리즘을 이용하여 최대 패턴 서브트리(maximal pattern subtree)를 찾아내고, 사용자에 의해 들어오는 질의 패턴을 분석하여 최대 패턴 서브트리와 비교하는 것에 의해 사용자 질의 패턴을 분류하며, 이러한 분류를 통해 사용자 질의패턴과 최대 패턴 서브트리가 일치하는지 여부를 조사하고, 이러한 조사를 계속하여 반복 수행함으로써 사용자 질의로 들어온 서브트리와 최대 패턴 서브트리를 비교하여 최대 패턴 서브트리를 찾아가는 마이닝 과정을 수행한다.
계속해서, 상황 데이터를 이용하여 사용자 질의에 대한 패턴트리를 찾아내는 데이터 마이닝을 수행하는 과정에 대하여 설명한다.
즉, 본 발명의 실시예에서는, 상황 데이터(Context Data)를 이용하여, FP-growth 알고리즘의 패턴트리 데이터마이닝(Pattern Tree Data Mining) 기법을 이용하여 시맨틱 데이터마이닝을 수행하였다.
이때, 상황 데이터로는, 인터넷 포털 사이트와 각 지역별 관광 정보를 가지고 있는 인터넷 사이트를 이용하여 관광 데이터를 수집하였으며, 수집된 관광 데이터를 이용하여 관광 데이터베이스를 구축하고, 널리 사용되고 있는 Protege_4.0.2를 이용하여 관광 온톨로지를 구축하였다.
또한, 관광 온톨로지는, 온톨로지 언어인 OWL(Web Ontology Language)을 이용하여 RDF와 RDFS로 표현하여 tour.owl이라는 온톨로지 데이터베이스를 생성하였으며, 각 지역을 기반으로 하여 그 지역에 해당되는 소규모의 지역을 그 아래에 서브클래스로 지정하고 여러 단계의 서브클래스 아래에 관광지를 또 다른 서브클래스로 지정하였다.
아울러, 관광지와 각 지역의 관계와 속성을 이용하여 서브클래스, 수퍼클래스, 동의어 클래스(equivalent class) 등의 클래스를 지정하고, 각 지역에서, 같은 지역에 있는 여러 관광지의 관계에서는 at the same place와 같은 속성 지정을 하였다.
더욱이, 사용자가 검색요청을 할 때 동의어와 초성어 처리를 위해서 동의어 클래스를 지정하였고, 각 관광지에 해당되는 유명 식당이나 그 관광지에 대한 설명을 포함하는 내용을 속성으로 지정하였으며, 경위도 위치 속성은 구글맵(Google map) 서비스를 이용하여 각 관광지의 상황정보를 사용자에게 제공할 수 있도록 하였다.
따라서 상기한 바와 같이 구축된 온톨로지 데이터베이스는 RDF와 OWL을 이용한 계층구조를 가지며, 그것에 의해, 본 발명에서는, 관광 온톨로지를 이용하여 데이터 마이닝 과정을 수행하기 위해서 XML 데이터 마이닝 기법을 기본 데이터 마이닝 방식으로 이용할 수 있으며, 사용자에게 연관관계가 있는 질의 패턴을 찾아주기 위해, 기존의 FP-growth 알고리즘을 이용하여 사용자의 질의와 같거나 유사한 관광지를 찾아내기 위하여 온톨로지에 저장되어 있는 동일하거나 유사한 패턴을 찾아내는 패턴 트리 데이터 마이닝 기법을 적용하였다.
더 상세하게는, tour를 root로 지정하였고, 관광 데이터베이스를 구성하고 있는 관광지 정보를 이용하여, 각 지역들을 그 다음 서브클래스 관계로 구성하고, 그 아래에 또 다른 서브클래스를 이루도록 관계를 설정하여, 각 지역과 관광지를 구성하는 계층구조를 하나의 트랜잭션으로 지정하였다.
또한, 사용자가 어떤 특정한 지역의 관광지를 검색하고자 할 때, 사용자로부터 들어오는 질의를 구성하고 있는 관광지에 대한 주소값도 온톨로지 데이터베이스에 저장되어 있는 구조처럼 계층 구조를 가지고 있으므로, 사용자 질의의 구조와 온톨로지 데이터 베이스에 저장되어 있는 계층구조를 가진 트랜잭션이 서로 유사하거나 일치하는 트랜잭션을 찾아내는 과정으로 데이터 마이닝 과정을 수행하였다.
아울러, 도 23을 참조하면, 도 23은 관광 온톨로지 데이터베이스에서 각 트랜잭션의 빈발 아이템 집합(transaction frequent itemset)을 나타내는 도면이다.
도 23에 있어서, 각 관광지별로 트랜잭션을 구성하고 특정한 하나의 관광지의 계층구조를 이루고 있는 구조를 각각의 트랜잭션으로 하여 표를 구성하였으며, 트랜잭션 id와 빈발하게 발생하는 트랜잭션을 구성하고 있는 각 관광지의 내용을 나타내고 있다.
더욱이, 도 24를 참조하면, 도 24는 상기한 바와 같이 하여 각 지역별로 발생되는 빈발 구조를 가지는 관광 온톨로지 데이터베이스를 이용한 FP-tree 구조의 일부를 개략적으로 나타내는 도면이다.
도 24에 있어서, 왼쪽에는 각각의 지역명을 이용하여 아이템(item)을 구성하였고, 오른쪽에는 각각의 트랜잭션을 구성하고 있는 아이템을 하나의 노드로 사용하여 노드의 링크를 나타내고 있다.
또한, 각각의 노드를 구성하고 있는 아이템들의 빈발도를 그 옆에 숫자로 표현하였다.
즉, 예를 들면, 관광 온톨로지 데이터베이스에서, 제주특별자치도의 경우 빈발하게 발생하는 경우가 5번 발생하고 있으므로 5라는 숫자로 표기하였고, 서귀포시의 경우는 3번 발생하고 있으므로, 3이라는 빈발도를 가진다고 표현하였으며, 각각의 다른 지역명에 대해서도 이와 같은 표기를 계속하여 FP-tree 구조를 구축하였다.
아울러, 이와 같은 FP-tree를 기반으로 어느 특정한 아이템에 대한 조건부 FP-tree를 구축할 수 있다.
즉, 도 25를 참조하면, 도 25a는 글로벌(Global) FP-tree이고 도 25b는 관광지역 중의 마라로를 기준으로 하여 조건부(Conditional) FP-tree를 구축한 경우를 각각 나타내는 도면이다.
도 25에 나타낸 바와 같이, FP-growth 알고리즘은 구축된 FP-tree를 기반으로 하여 어느 특정한 아이템에 대하여 조건부 FP-tree를 반복적으로 생성하는 과정을 수행하며, 이러한 각 아이템들에 대한 조건부 FP-tree를 생성하는 과정을 반복적으로 수행하여 빈발한 FP-tree 구조를 찾아내는 과정이 데이터 마이닝 과정이다.
더 상세하게는, 예를 들면, 사용자에 의해 "대전광역시 서구 장안로 장태산 휴양림"을 검색하라는 질의가 들어왔을 때, 사용자 질의와 유사한 질의를 찾기 위해서 관광 온톨로지 데이터베이스를 조사하는 과정이 수행이 되는데, 이와 같은 사용자 질의와 동일한 구조가 있는 경우는 사용자에게 정확하고 신속하게 서비스를 수행할 수 있으나, 만약, "대전광역시 서구 장안로" 까지만 일치하는 구조를 찾아내는 경우에는 유사하지만 일치하는 구조는 아니기 때문에 정확하지는 않고 유사한 구조의 결과를 제공할 수 있다.
아울러, 도 26을 참조하면, 도 26은 상기한 바와 같은 과정을 수행하는 FP-growth 알고리즘 소스의 일부분을 나타낸 도면이다(참고문헌 19 참조).
계속해서, 상기한 바와 같은 FP-growth 알고리즘을 적용하여 데이터마이닝이 수행되는 과정에 대해서 좀 더 자세히 설명한다.
우선, 온톨로지 데이터베이스를 데이터마이닝에 적용하기 위해 데이터를 코드화하는 전처리 과정을 수행한다.
이를 위해, 본 발명자들은, 각각의 지역에 해당되는 데이터를 적절한 코드로 변환하고 FP-growth 알고리즘을 적용하여 어떠한 패턴들이 생성되는지 그 과정에 대해서 살펴보았다.
여기서, FP-growth 알고리즘도 연관규칙을 적용하는 Apriori과 마찬가지로, 최소 신뢰도(minimum confidence)와 최소 지지도(minimum support)를 적용하였으므로, 이와 같은 임계값(threshold)을 적용하였을 때 데이터 마이닝을 적용한 결과가 어떻게 나오는가를 살펴보았다.
더 상세하게는, 도 27을 참조하면, 도 27은 FP-growth 알고리즘에 최소 지지지도를 0.4로 적용하여 데이터 마이닝을 수행한 결과를 나타내는 도면이다.
도 27에 나타낸 바와 같이, 데이터베이스에 저장되어 있는 트랜잭션의 개수는 99개이고, 최대 메모리 사용량은 0.96mb이며, 빈번 아이템 집합(frequent itemset)은 27개가 생성되었고, 데이터마이닝을 수행하는데 걸린 시간은 15ms이다.
또한, L1 내지 L5의 5단계를 수행하면서 최소 지지도(minimum support) 값 0.4를 기준으로 각각 지지도 값을 적용하면서 각 단계별로 패턴들이 생성되는 것을 볼 수 있으며, 여기서, 각 패턴에 있는 값들은 데이터베이스에 있는 각 지역의 값을 변형시킨 값을 의미한다.
따라서, 도 27에 있어서는, 제주특별자치도의 서귀포시에 있는 관광지에 대한 빈발 패턴이 가장 자주 발생하는 것으로 볼 수 있다.
이상, FP-growth 알고리즘을 기반으로 상황데이터를 이용하여 데이터 마이닝을 수행하는 과정에 대해서 설명하였으며, 다음으로, 모바일 환경에서 시맨틱 데이터 마이닝 과정을 수행하여 정보 검색이 이루어지는 전반적인 과정에 대하여 상세하게 설명한다.
즉, 본 발명은, 사용자가 현재 위치에서 요구하는 유용한 정보를 정확하고 간결하게 제공해 주기 위해, 각 지역간의 클래스 관계 설정과 속성 설정을 비롯하여 유사한 단어나 같은 의미를 나타내 주는 단어의 관계 설정을 표현하기 위해서 관광 온톨로지를 이용하였으며, 상기한 실시예에서는, 사용자가 원하는 지역의 관광지 정보를 정확하게 전달하기 위해서 관광지 온톨로지를 구축하였다.
또한, 관광지 온톨로지는, 각 지역별로 구분하여 관광지에 대한 정보들을 계층구조를 이용하여 온톨로지로 표현하였고, 예를 들면, 사용자가 현재 대전시 유성구 지역에 위치한 상태에서 "대전시 유성구 지역에 위치한 관광지를 검색하시오"라는 질의를 하였을 때, 온톨로지를 통해서 대전광역시에 포함되어있는 유성구 지역을 검색하여 사용자에게 유성구 내에 포함되어 있는 관광지를 검색 결과로 보여주며, 아울러, 예를 들면, 구글 맵(Google map)과 같이, 모바일 디바이스 내에 장착되어 있는 지도 기능을 통해 현재 위치와 사용자가 원하는 관광지의 지도를 제공하며, 이러한 일련의 과정들을 통합하여 사용자가 원하는 사용자의 위치와 가장 가까운 지역에 있는 관광지에 대한 검색 서비스를 제공하도록 구성될 수 있다.
더욱이, 상기한 바와 같이 FP-growth 알고리즘을 적용하여, 관광 온톨로지 데이터베이스에 있는 데이터에 데이터 마이닝 과정을 수행하여 사용자에게 유용한 정보를 제공하는 것이 가능하며, 이하에서는, 이러한 시맨틱 데이터 마이닝 알고리즘을 적용하여 수행되는 시맨틱 정보검색 과정에 대해서 자세히 설명한다.
먼저, 도 28을 참조하면, 도 28은 시맨틱 데이터 마이닝 알고리즘을 이용한 패턴 매칭기법을 활용한 모바일 기반의 정보검색 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 28에 나타낸 시스템에 있어서, 각각의 모듈이 수행하는 작업과 전체적인 흐름에 대하여 설명하면, 다음과 같다.
첫째로, 사용자가 현재 있는 위치에서 정보검색 요청을 수행한다.
즉, 모바일 기기를 사용하여 사용자로부터 검색 요청이 들어왔을 때, WiFi, 3G, 4G, GPS, Sensor 등을 이용하여 사용자의 현재 위치에 대한 정보가 사용자 검색 요구사항과 함께 전달되어 사용자의 상황정보(Context Information)를 수집한다.
둘째로, 상황 데이터베이스(context database)를 구축한다.
여기서, 본 실시예에서는, 관광지 정보들을 수집하기 위해 각 인터넷 포털 사이트와 각 지역에서 소개하고 있는 관광지 정보를 수집하였으며, 각 지역의 여러 관광지와 그 관광지의 특성과 주소 그리고 주변 식당, 그리고 구글 맵(Google map) 설정을 위해 각 지역의 경도와 위도 값을 수집하였다.
또한, 이와 같이 하여 수집된 데이터는 정제과정과 전처리 과정을 수행하여 상황 데이터베이스(context database)에 저장한다.
셋째로, 상기한 바와 같은 과정을 통해 상황 데이터베이스에 저장된 데이터에 온톨로지 추론과정을 수행하여, 각 데이터 값의 속성과 관계를 설정하여 온톨로지 데이터베이스를 구축한다.
여기서, 온톨로지 추론과정에서, 각 지역의 서브클래스(subclass), 수퍼클래스(superclass) 관계와 동의어나 초성어 처리를 위해서 동의어 클래스(equivalent class) 관계, 각 지역과 관광지 간에 "is attraction of" 속성관계, 같은 지역 내에 속해 있는 관광지의 관계를 표현하는 "at the same place of"와 같은 속성 등이 설정된다.
넷째로, 온톨로지에 저장된 데이터베이스를 이용하여 검색 효율을 높이기 위해 사용자로부터 요구받은 질의와 유사하거나 일치하는 질의 패턴 트리를 찾아내는 시맨틱 데이터 마이닝 과정을 수행한다.
여기서, 사용자에 의해 요청되었던 검색 정보와 상황정보를 이용하여 패턴트리를 찾아내는 과정은, 기존의 FP-Growth 알고리즘을 이용하여 데이터 마이닝 과정이 수행된다.
다섯째로, 상기한 바와 같은 과정을 수행하여 얻어진 결과를 상황인식 모바일 서비스 인터페이스(Context Awareness Mobile Service Interface)를 통하여 사용자가 요구하는 정보에 대한 결과로서 제공하는 서비스를 수행한다.
따라서 상기한 바와 같이 하여 모바일 환경에서 시맨틱 데이터 마이닝 과정을 수행하여 정보검색이 이루어지는 전체적인 프레임 워크를 구현할 수 있으며, 계속해서, 모바일 환경에서 시맨틱 데이터 마이닝 기법을 적용하여 사용자가 원하는 정보를 검색해 주는 전반적인 과정에 대해서 상세하게 설명한다.
즉, 도 29를 참조하면, 도 29는 사용자로부터 관광지에 대한 검색요청이 들어왔을 때 수행되는 일련의 처리과정을 개략적으로 나타내는 도면이다.
더 상세하게는, 도 29에 나타낸 바와 같이, 첫째로, 사용자가 서비스 요청모듈(Service Request Module)을 통해 본인이 검색하고자 하는 관광지에 대한 정보 검색을 요청하면, 온톨로지를 이용한 모바일 검색시스템은 사용자로부터 들어온 검색 요구사항을 분석하여 질의 패턴을 구성한다.
둘째로, 상황처리모듈(Context Process Module)을 통해 사용자의 현재 정보를 수집하며, 즉, 상기한 바와 같이, 사용자가 질의한 정보 내용을 포함하여, WiFi, 3G, 4G, GPS, 센서(Sensor) 등을 통해 사용자가 검색을 요구하는 상황에서의 현재 위치와 사용자의 요구사항에 대해서 알아낸다.
셋째로, 관광 콘텐츠(Tour Contents) DB는, 상기한 상황 데이터베이스(Context Database) 라고 할 수 있는 것으로, 포털 사이트를 비롯한 각 지역의 관광지 소개 사이트에 있는 관광지 정보들을 수집하여 구축한 관광지 데이터베이스이다.
여기서, 관광지 데이터베이스는 전처리 과정을 수행하여 데이터들을 정제하여 관계형 데이터베이스에 저장한 후, 온톨로지 추론 과정을 수행하여 관광지 온톨로지 데이터베이스를 구축한다.
따라서 이와 같이 온톨로지 형태로 저장되어 있는 상황 데이터베이스에 저장되어 있는 질의 패턴을 이용하여, 사용자에 의해 요청된 사용자 질의 패턴과 일치하는 패턴을 찾기 위해, 관광지에 대한 계층구조 관계로 구성된 관광 온톨로지 데이터베이스를 검색하여 유사하거나 동일한 질의 패턴을 찾아내며, 이때, 상기한 바와 같이, FP-growth 알고리즘을 이용한 시맨틱 데이터 마이닝 알고리즘을 이용하여 유사하거나 동일한 질의 패턴을 찾아낸다.
넷째로, 검색모듈(Retrieval Module)을 통해 사용자가 검색 요청한 정보를 온톨로지 데이터베이스에서 질의 패턴을 검색하고, GPS 정보와 함께 사용자가 원하는 검색 결과를 사용자에게 제공한다.
다음으로, 유사하거나 동일한 패턴 트리를 찾아내는 데이터 마이닝 과정에 대하여 설명한다.
먼저, 인터넷 사이트 등을 이용하여 관광지와 관련된 정보들을 수집하여 데이터베이스를 구축하고 이러한 데이터를 이용하여 구축된 온톨로지 데이터베이스를 사용자가 질의를 수행할 때 사용자 질의 패턴을 찾아내는 패턴 데이터베이스(Pattern Database)라 하며, 이러한 패턴 데이터베이스(Pattern Database) 내에는 다양한 패턴들이 저장되어 있어 사용자가 질의를 수행할 때 기존의 패턴들과 비교 과정을 수행하여 일치하는 패턴이나 유사한 패턴 그리고 일치하지 않는 패턴을 찾아내는 과정으로 데이터 마이닝이 수행된다.
따라서 사용자 질의와 일치하거나 유사한 패턴을 찾아내는 경우 사용자에게 정확하고 신속하게 사용자가 원하는 유용한 정보를 제공하는 것이 가능하다.
즉, 도 30을 참조하면, 도 30은 사용자로부터 검색 요청이 들어왔을 때 사용자의 요구사항을 분석하여 사용자의 질의 패턴을 분석하고, 분석한 질의 패턴과 일치하는 패턴을 검색 시스템의 온톨로지 데이터베이스에 저장된 패턴 구조들과 비교를 통해 유사하거나 동일한 패턴 구조를 검색하는 과정에 대하여 설명하는 도면이다.
여기서, 도 30에 있어서, 패턴 데이터베이스는 관광 온톨로지 데이터베이스를 의미한다.
즉, 사용자의 현재 위치에서 관광지에 대한 질의 요청을 하면, 전처리 과정과 온톨로지 추론과정을 수행하여 저장된 관광 온톨로지 데이터베이스에서 현재 사용자가 요청한 질의 패턴과 기존에 패턴 데이터베이스에 저장되어 있는 질의 패턴과의 일치 여부를 조사하여, 일치하는 경우와 유사한 경우 검색 결과로 보여주고, 일치하지 않는 경우 다시 패턴을 찾아가는 방식으로 진행된다.
더 상세하게는, 사용자가 검색 시스템의 검색 창에 본인이 원하는 관광지에 대한 검색 요청을 수행하여 사용자로부터 검색 요청이 들어오면, 사용자의 질의 패턴에 대한 분석과정을 수행하여 사용자 질의 패턴을 생성한다.
이어서, 사용자 질의 패턴이 새로운 패턴인가의 여부에 대해서 검사를 수행하며, 만일 사용자 패턴이 새로운 패턴이라면 기존의 패턴들과 일치하는지 여부를 조사하고, 일치하는 패턴이 있으면 패턴 데이터베이스(pattern database)에 저장되어 있는 일치하는 패턴을 검색 결과로 제시한다.
만약, 새로운 패턴이 패턴 데이터베이스에 있는 패턴과 일치 여부가 조사되지 않으면, 이러한 과정을 다시 한번 수행하고 유사한 패턴이 있으면 유사한 패턴을 검색 결과로 제시하며, 사용자에 의해 질의된 새로운 패턴은 패턴 데이터베이스에 새로운 패턴으로 저장된다.
따라서 상기한 바와 같이, 본 발명의 실시예에 따르면, 상기한 바와 같은 일련의 과정을 반복적으로 수행하여 사용자 질의와 일치하거나 유사한 질의 패턴을 검색 결과로 제시함으로써, 관광 데이터를 상황데이터로서 이용하여 구축된 관광 온톨로지로부터 FP-growth 알고리즘에 기반한 시맨틱 데이터 마이닝 알고리즘을 이용하여 사용자의 관심정보를 찾아는 검색방법의 구현이 가능해지며, 또한, 그것에 의해, 상황인지에 기반한 사용자 관심정보 추천서비스를 제공할 수 있다.
즉, 도 31을 참조하면, 도 31은 본 발명의 실시예에 따른 시맨틱 데이터 마이닝을 이용한 상황인지 기반 사용자 관심정보 검색서비스 제공방법의 전체적인 구성을 개략적으로 나타내는 도면이다.
더 상세하게는, 도 31에 나타낸 바와 같이, 본 발명의 실시예에 따른 시맨틱 데이터 마이닝을 이용한 상황인지 기반 사용자 관심정보 검색서비스 제공방법은, 먼저, 사용자가 자신의 스마트폰이나 태블릿 PC를 포함하는 모바일 단말기를 이용하여 현재 위치에서 관심정보에 대한 검색요청을 송신하면, 사용자의 검색요청과 함께 모바일 단말기의 WiFi, 이동통신망(3G, 4G 등), GPS 및 해당 단말기에 설치된 각종 센서를 이용하여 상기 사용자의 현재 위치에 대한 정보를 함께 수신하고, 이를 상기 사용자의 상황정보(Context Information)로서 수집한다(단계 S311).
다음으로, 수집된 정보들에 정제과정과 전처리 과정을 수행하여 상황 데이터베이스(context database)를 구축하고(단계 S312), 구축된 상황 데이터베이스에 저장된 각각의 데이터에 대하여 온톨로지 추론을 통해 각 데이터 값의 속성과 관계를 설정하여 온톨로지 데이터베이스를 구축한다(단계 S313).
계속해서, 상기한 바와 같은 과정을 통하여 구축된 온톨로지 데이터베이스를 이용하여, 상기한 바와 같은 FP-Growth 알고리즘에 근거하여, 사용자로부터 요구된 질의와 유사하거나 일치하는 질의 패턴 트리를 찾아내는 시맨틱 데이터 마이닝 처리를 수행하고(단계 S314), 이러한 시맨틱 데이터 마이닝 처리단계를 통하여 얻어진 결과를 사용자가 요구한 검색요청에 대한 검색결과로서 사용자의 모바일 단말에 표시한다(단계 S315).
여기서, 상기한 각각의 단계들에서 수행되는 처리들의 보다 구체적인 내용은, 종래기술 문헌 및 도 16 내지 도 30을 참조하여 상기에 설명한 바와 같이 하여 구현할 수 있으므로, 설명을 간략히 하기 위해 여기서는 각각의 단계에 대한 상세한 설명은 생략하였음에 유념해야 한다.
계속해서, 상기한 바와 같은 상황인식 온톨로지를 이용한 모바일 정보검색 시스템을 구현하기 위해서 필요한 환경과 그 구현 과정에 대하여 상세히 설명한다.
즉, 상기한 실시예에서, 본 발명자들은, 관광 데이터를 수집하기 위해 포털 사이트를 비롯한 각 지역의 관광지를 소개하는 사이트를 이용하여 관광지 정보 데이터를 수집하였고, 수집된 정보에 데이터를 정제하는 전처리 과정을 수행하여, 예를 들면, Windows와 같은 운영체제 환경에서 관계형 데이터베이스를 구축하기 위해 MS SQL Server 2000 Personal version을 이용하여 데이터베이스를 구축하였다.
또한, 데이터베이스 내에 id, add_1, add_2, add_3, add_4, add_5, tour_site, syn, lat, long의 필드(field)를 각각 구성하여 데이터를 저장하였으며, 여기서, add_1, add_2, add_3, add_4, adde_5와 같은 각각의 필드들은 각 관광지를 구성하고 있는 주소를 나타내고, tour_site는 관광지 이름을 저장하며, syn은 동의어나 초성어 처리를 위한 필드명이고, lat와 long은 지도(Google map)를 설정할 때 필요한 위도와 경도를 각각 의미한다.
아울러, 본 발명자들은, 이러한 관계형 데이터베이스를 이용하여, 각 데이터들 간의 관계와 속성을 설정하여 관광 온톨로지(Ontology)를 구축하였으며, 이때, 온톨로지 데이터베이스 구축을 위해 Protege_4.0.2 version을 이용하여 온톨로지 구축과 추론을 수행하였고, OWL(Web Ontology Language)과 RDF를 이용하여 온톨로지를 표현하여 tour.owl 온톨로지를 구축하였다.
더욱이, 본 발명자들은, 이와 같이 구축된 온톨로지 데이터베이스를 이용하여, FP-growth 알고리즘을 이용한 시맨틱 데이터 마이닝을 수행하여 모바일 환경의 정보검색 시스템을 구축하였고, 여기서, 모바일 정보검색 시스템을 구현하기 위한 구현 환경은, 예를 들면, [Android 2014](참고문헌 20 참조)에 제시된 바와 같은 Android 4.3 버전과 구글 맵(Google map) 구현을 위해 Google APIs 4.3를 이용하였으며, 모바일 정보검색 시스템의 구현을 위해서는 HTML5, CSS3, JavaScript 등을 이용하였고, 데이터베이스와 서버로 이용하기 위해 대용량 데이터베이스에서 활용되고 있는 Node JS server를 이용하였다.
또한, 안드로이드 프로그래밍은 Java를 기반으로 하고 있으므로 Jdk1.7.0_05를 이용하여 구현환경을 구성하였고, 모바일 환경의 정보검색 시스템 구축을 위한 편집기는, 예를 들면, [WebStorm 2014]에 제시된 바와 같은 WebStrom_7.0.3 version을 이용하였다(참고문헌 21 참조).
여기서, 본 실시예에 적용된 모바일 플랫폼(Mobile Platform)인 안드로이드 프로그래밍의 특징에 대하여 설명하면, 모바일 디바이스를 위한 플랫폼인 안드로이드의 특징은, 첫째로, 안드로이드는 구글이 제작, 공개한 오픈 소스 모바일 플랫폼으로서, 모바일 환경에 최적화된 리눅스 기반의 운영체계와 사용자 인터페이스, 응용 프로그램의 묶음이며, 둘째로, 폐쇄적인 휴대폰 환경에서와는 달리 제약이 최소화된 다양한 어플리케이션 개발 및 운영이 가능한 특징이 있다.
아울러, 안드로이드를 이용한 개발과정의 상세한 내용에 대하여는, 예를 들면, [Michalis 2012](참고문헌 2 참조)와 같은 종래기술 문헌을 참조하여 당업자가 쉽게 이해할 수 있으므로, 여기서는, 설명을 간략히 하기 위해 그 상세한 설명은 생략한다.
즉, 상기한 바와 같이, 본 발명자들은, 인터넷 포털 사이트나 각 지역의 관광정보를 안내해주는 사이트의 정보를 이용하여 관광 데이터베이스를 구축하였고, 이러한 관광 데이터베이스에 id, add_1, add_2, add_3, add_4, add_5, tour_site, syn, lat, long 등의 필드를 구성하였으며, 여기서, 예를 들면, add_1은 "대전광역시", "제주특별자치도", "부산광역시", "충남" 등과 같은 지역의 이름으로 구성한 것으로 하면, add_2는, 대전광역시의 경우 "서구", "동구", "중구", "유성구", "대덕구" 등과 같이 구 이름으로 구성되고, add_3은, 대전광역시 서구에 위치한 "만년동", 대전광역시 중구에 위치한 "은행동" 등과 같이 동 이름을 지정하며, add_4는, 대전광역시 서구 만년동에 위치한 "둔산대로", 충남 공주시 계룡면에 위치한 "중장리"등과 같이 세부주소로 지정하고,, add_5는, 대전광역시 서구 만년동 둔산대로의 "169번지", 충남 공주시 계룡면 중장리에 위치한 "52번지"등과 같은 지번을 지정하도록 구성될 수 있다.
또한, tour_site는, 예를 들면, 대전광역시 서구 만년동 둔산대로 169번지에 위치한 "대전문화예술단지", 충남 공부시 계룡면 중장리 52번지에 위치한 "갑사"와 같은 관광지 이름을 지정하고, syn은, 예를 들면, "대전"을 "한밭"이라고 하거나, "제주"를 "탐라"라고 지정할 때 사용하는 동의어 처리나, 또는, 검색어를 입력할 때 "갑사"의 초성어인 "ㄱㅅ", 대전문화예술단지의 초성어인 "ㄷㅈㅁㅎㅇㅅㄷㅈ" 등과 같이 입력하는 초성어 처리를 위해서 지정될 수 있으며, lat와 long은 지도(Google map)를 표시하기 위해 각 지역의 경도값과 위도값을 지정하도록 구성될 수 있다.
아울러, 상기한 본 발명의 실시예에서는, 이와 같이 저장된 관광 데이터베이스는 관광 온톨로지 데이터베이스를 구축하기 위해서 이용될 수 있으며, 데이터베이스 내의 각 데이터의 속성과 관계들을 이용하여 온톨로지 추론과 온톨로지 구축을 위해 Protege_4.0.2 version을 이용하였고, OWL(Web Ontology Language)과 RDF를 이용하여 tour.owl 이라고 하는 온톨로지 데이터베이스를 구축하였다.
여기서, 온톨로지 추론과정은 각 지역을 나타내는 데이터 값의 속성과 관계들을 지정하며, 즉, 각 지역에 대한 수퍼클래스(superclass)와 서브클래스(subclass) 관계와 다중 포함관계를 지정하고, 동의어와 초성어 처리를 위한 동의어 클래스(equivalent class)를 지정하며, 같은 지역 내에 포함되어 있는 관광지의 경우는 "at the same place of"와 같은 속성관계를 설정하고, 지역 내에 포함되어 있는 관광지의 경우는, 예를 들면, 제주특별자치도 제주시 우도면에 있는 우도라는 관광지는 지역과 관광지 관계에서 "is attraction of"와 같은 속성관계를 설정하도록 구성될 수 있다.
더욱이, 상기한 본 발명의 실시예에서는, 이와 같은 과정으로 구축된 온톨로지 데이터베이스를 이용하여 사용자에게 좀더 정확하고 신속한 정보 검색 결과를 제공하기 위해 FP-Growth 알고리즘을 기반으로 하는 시맨틱 데이터 마이닝(Semantic Data Mining) 과정을 수행하였다.
여기서, 상기한 데이터 마이닝 방법은, 온톨로지 데이터베이스의 각 지역을 구성하고 있는 상위 클래스와 하위 클래스 및 관광지의 계층구조 관계를 하나의 트랜잭션(transaction)으로 간주하여 하나의 패턴 트리를 구성하고 있는 것으로 간주하며, 이와 같이 하여 저장된 패턴 트리를 기반으로, 사용자의 질의가 들어왔을 때 사용자 질의 패턴과 기존에 저장되어 있는 패턴 트리를 비교하여 일치하거나 유사한 패턴 트리를 찾아가는 과정을 통해 진행된다.
따라서 상기한 바와 같이 진행되는 데이터 마이닝 과정을 수행하여, 사용자가 요구하는 검색어에 일치하거나 유사한 검색 결과를 제공할 수 있다.
계속해서, 모바일 환경에서 상기한 바와 같은 FP-Growth 알고리즘을 기반으로 하는 시맨틱 데이터 마이닝 과정을 통하여 사용자의 질의에 대한 검색을 수행하는 데이터 검색 시스템을 구축하는 과정에 대하여 설명한다.
여기서, 이하에 설명하는 본 발명에 실시예에 있어서는, 모바일 환경의 정보검색 시스템 구현을 위해서 HTML5, CSS3, JavaScript 등의 프로그램을 이용하여 검색시스템을 구현하는 경우를 예로 하여 본 발명을 설명하였으나, 본 발명은 반드시 이러한 경우로만 한정되는 것은 아니며, 필요에 따라 얼마든지 다른 언어나 플랫폼으로도 구현 가능한 것임에 유념해야 한다.
즉, 안드로이드(Android) 프로그래밍을 이용하여 시스템을 구현하는 경우에는 안드로이드 운영체제를 가진 기기에서만 실행이 가능하지만, 상기한 바와 같이 HTML5와 CSS3를 이용하여 프로그래밍할 경우에는 안드로이드 운영체제뿐만 아니라 iOS 운영체제에서도 실행이 가능한 장점이 있다.
또한, 이하에 설명하는 본 발명에 실시예에 있어서, 버튼과 같은 이벤트 액션(Event action)과 함수 등의 처리에는 JavaScript를 이용하였으며, 이때, 편집기로 사용한 프로그램은 WebStrom_7.0.3 version을 이용하였다(참고문헌 21 참조).
아울러, 구축된 시스템의 실행을 위해서 Android 4.3 버전을 이용하였으며(참고문헌 20 참조), 각 지역의 지도(Google map) 구현을 위해 Google APIs 4.3 for Google map을 이용하였다.
더 상세하게는, 도 32를 참조하면, 도 32는 검색창의 초기화면을 구현하기 위한 소스의 일부를 나타내는 도면이다.
즉, 도 32에 나타낸 소스는, 검색창에 사용자가 원하는 관광지를 입력하면 다음 페이지에 그 결과가 목록으로 표시되는 처리를 나타내고 있다.
또한, 도 33을 참조하면, 도 33은 검색버튼(search button)에 대한 이벤트 액션(Event action)을 스크립트 함수(Script function)로 구현한 소스를 나타내는 도면이다.
즉, 도 33에 나타낸 소스는, 사용가 검색창에 검색어를 입력하고 그 옆에 있는 버튼을 클릭하거나 메인 화면의 아래쪽에 있는 세 개의 버튼을 클릭하면 페이지가 바뀌어 버튼을 클릭하는 것에 의해 결과값을 화면에 표시하는 동작이 수행되는 버튼액션을 나타내고 있다.
아울러, 도 34를 참조하면, 도 34는 지도(Google map) 서비스를 제공하기 위한 맵 버튼 액션을 수행하는 소스의 일부를 나타내는 도면이다.
즉, 도 34에 나타낸 소스는, btn-map의 이벤트 액션과 함수를 이용하여 구글맵을 보여주는 동작으로, 지역의 위도값과 경도값을 이용하여 각 위치에 해당되는 지도를 보여주는 동작이 수행되는 버튼액션을 나타내고 있다.
더욱이, 도 35를 참조하면, 도 35는 본 발명의 실시예에 따른 모바일 정보검색 시스템의 메인화면의 구성예를 나타내는 도면이다.
도 35에 나타낸 바와 같이, 좌측의 메인화면의 검색창에 지역명이나 관광지명을 입력하고 검색 버튼을 클릭하면 해당 지역이나 관광지에 해당하는 검색 결과가 출력되며, 즉, 예를 들면, '대전'이라고 하는 지역값을 검색창에 입력하면, 우측 화면과 같이 대전과 관계된 관광지 이름이 출력된다.
여기서, 만약, 주소값을 대전광역시의 서브클래스 관계에 있는 다른 값으로 입력하면, 검색결과는 더욱 세밀한 결과값을 제시하게 된다.
또한, 도 35의 우측 화면과 같이, 검색시스템의 메인화면을 제외한 모든 페이지의 하단(footer) 부분에는 복수의 버튼이 표시되도록 구성되며, 즉, 예를 들면, 첫 번째 버튼은 홈으로 돌아가는 버튼이고, 두 번째 버튼은 검색창에 입력된 값을 읽어들여 관련 지역의 맵을 불러오는 맵 버튼이며, 세 번째 버튼은 관련 관광지에 속하는 지역에 있는 식당명이나 관광지에 대한 소개를 해주는 내용의 페이지를 보여주는 버튼이다.
더 상세하게는, 도 36을 참조하면, 도 36은 대전광역시라는 지역값을 검색창에 입력하고 맵 버튼을 클릭하였을 때 해당 지역의 지도가 표시되는 구성 및 검색창에 입력된 입력값에 따라 관련지역의 식당이나 관광지역을 소개하는 화면이 표시되는 구성을 각각 나타내는 도면이다.
여기서, 상기한 맵 버튼은, 상기한 관광 온톨로지에 대한 설명에서 지도(Google map)를 설정하기 위해 데이터베이스에 lat와 long 이라는 필드값으로 설정했던 위도와 경도 값을 이용하여 관련된 지역의 지도를 결과값으로 가져오도록 구성될 수 있다.
또한, 도 37 및 도 38을 참조하면, 도 37은 사용자의 현재 위치값을 위도와 경도 값으로 자동 인식하여 사용자가 현재 위치해 있는 지역의 지도를 위도 및 경도값과 함께 보여주는 맵을 구현하는 맵 구현 소스를 나타내는 도면이고, 도 38은 도 37에 나타낸 바와 같은 소스를 통하여 구현된 결과화면을 나타내는 도면이다.
도 37에 나타낸 바와 같이, 맵 구현 소스는, 사용자의 현재 위치에 해당하는 맵을 구현하기 위해 myLocation 함수를 만들고, 그 안에 navigator.geolocation.getCurrentPosition 함수를 사용하여 사용자의 현재 위치 값을 구하도록 구성될 수 있다.
아울러, 도 38에 나타낸 결과 화면은, 사용자의 현재 위치값으로서 위도 36.30과 경도 127.36의 값을 이용하여, 대전광역시 서구 정림동의 위치값을 구하고 그 주변 지역의 지도를 표시하는 화면을 나타내고 있다.
따라서 상기한 바와 같이 하여 사용자의 현재 위치값을 이용하여 사용자의 현재 위치에서의 정보를 전달하는 동작과 사용자가 검색어를 입력하였을 때 이루어지는 동작을 각각 구현함으로써 모바일 환경에서 시맨틱 데이터 마이닝 기법을 적용한 정보검색 시스템을 구현할 수 있다.
다음으로, 상기한 바와 같이 하여 구현된 모바일 정보검색 시스템을 이용하여 실제로 정보검색을 수행한 실험결과 및 그에 따른 성능평가에 대하여 설명한다.
즉, 본 발명자들은, 상기한 바와 같이 하여 관광 온톨로지 데이터베이스를 구축하고, 해당 데이터베이스 내에 있는 데이터를 이용하여 데이터 마이닝 알고리즘을 적용하여 실험을 수행하였다.
여기서, 이하에 설명하는 본 발명의 실시예에서 수행된 실험은, 각 지역별로 관광지 검색을 위한 시맨틱 데이터 마이닝 기법을 적용한 검색 결과를 얻어내는 것을 목표로 하여, 각 지역과 연관된 관광지를 하나의 트랜잭션으로 두고 자주 빈발하게 발생하는 패턴을 분석하였으며, 또한, 사용자가 원하는 관광지에 대하여 신속하게 검색결과를 제공하기 위해, 정보검색의 정확도에 대하여도 실험을 수행하였다.
먼저, 시맨틱 데이터 마이닝 알고리즘을 적용한 실험결과에 대하여 설명하면, 본 발명자들은, 각 지역과 연관된 관광지 검색을 위해 서로 연관있는 사용자 질의패턴을 찾아주는 알고리즘으로서 FP-growth 알고리즘을 적용하여, 온톨로지 데이터베이스와 기존의 관계형 데이터베이스의 각각의 데이터를 이용하여 성능을 비교 평가하였다.
즉, FP-growth 알고리즘 기반의 시맨틱 데이터 마이닝 알고리즘을 적용하여 두 데이터 간의 빈발패턴을 발견하는 과정과 실행시간 및 메모리 사용량 등을 비교하는 실험평가를 수행하였으며, 이러한 실험평가를 수행하기 위해서 관광 온톨로지 데이터에 대한 전처리 과정을 수행하였다.
더 상세하게는, 첫째로, 각종 포털사이트 및 관광지를 소개하는 사이트에 게시된 각 관광지에 관련된 정보를 수집하여 관광 데이터베이스를 구축하고, 둘째로, 관광 데이터베이스에 저장된 데이터를 이용하여 관광 온톨로지인 tour.owl을 구축하였으며, 여기서, 이러한 온톨로지는 protege_4.0.2를 이용하여 구축되었고, 추론과 표현은 OWL, RDF, RDFS를 이용하였다.
셋째로, 관광 온톨로지 데이터베이스에 대하여 DOM 파서(Parser)를 이용하여 XML 문서의 파싱을 수행하였고, 넷째로, XML 문서의 태그를 추출하여 FP-growth 알고리즘을 수행하기 위해 매핑 테이블을 만들고 각 태그를 코드화하여 마이닝 과정을 수행하였다.
또한, 기존의 관계형 데이터베이스의 데이터의 경우도 관광데이터를 추출하여 상기한 온톨로지 데이터와 유사한 과정으로 전처리 과정을 수행하여 매핑 테이블을 만들고 코드화하여 데이터 마이닝 과정을 수행하였다.
즉, 도 39 및 도 40을 참조하면, 도 39 및 도 40은 본 발명의 실시예에 따른 온톨로지 데이터베이스와 기존의 관계형 데이터베이스에 각각 FP-growth 알고리즘을 적용하여 데이터 마이닝 과정을 수행한 실험결과를 표로 정리하여 나타낸 도면이다.
여기서, 기존의 관계형 데이터의 경우는, 온톨로지 데이터와 달리 최소 지지지도(minimum support) 값을 0.6까지만 적용하여 실험이 가능하고, 더 증가시켰을 경우는 실험이 불가능하여 그 지점까지만 실험을 수행하였다.
더 상세하게는, 도 41을 참조하면, 도 41은 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 최소 지지도 임계(minimum support threshold)값의 변화에 따른 메모리 사용량의 변화 과정을 그래프로 나타낸 도면이다.
즉, 본 발명자들은, 트랜잭션의 개수를 100개로 한정시켜 최소 지지도 값의 변화에 따른 메모리 사용량, 빈발 패턴 개수, 실행 시간 등에 대해서 조사하였으며, 먼저, 두 데이터 간의 최소 지지도 값의 변화에 따라서 메모리 사용량이 어떻게 변화하는가를 살펴본 결과, 도 41에 나타낸 바와 같이, 두 데이터 간의 메모리 사용량은 유사하게 사용되고 있음을 알 수 있다.
따라서 이러한 도 41에 나타낸 실험결과를 통해서, 트랜잭션이 적을 경우에는, 본 발명의 실시예에 따른 온톨로지 데이터베이스의 데이터가 기존의 관계형 데이터베이스의 데이터에 비해 메모리 사용량이 약간 적게 사용되고는 있으나, 비교적 유사하게 사용되고 있는 것을 확인할 수 있다.
다음으로, 도 42를 참조하면, 도 42는 마찬가지로 트랜잭션의 개수를 100개로 한정시켜놓고 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 최소 지지도 값의 변화에 따른 빈발 패턴의 개수의 변화를 그래프로 나타내는 도면이다.
여기서, 이러한 실험은, 어떤 구조의 데이터를 실험 데이터로 사용하는가에 따라서 온톨로지 데이터베이스와 일반 데이터베이스의 사이에 빈발 패턴 구조가 다른 형태를 가진다는 전제하에 수행된 것이며, 도 42에 나타낸 바와 같이, 온톨로지 데이터와 일반 데이터 사이의 빈발 패턴 개수의 변화 과정을 살펴보면, 온톨로지 데이터베이스를 사용하는 경우 일반 데이터에 비해서 빈발 구조가 더 많이 발생하는 것을 확인할 수 있다.
이러한 결과는, 온톨로지 데이터베이스의 경우 일반 데이터베이스에 비해 보다 구조적인 계층구조 형태를 가지는 데이터베이스이므로, 빈발 구조를 더 많이 발생시킬 수 있기 때문이다.
즉, 상기한 바와 같은 온톨로지 데이터베이스를 구축하는 과정에서 온톨로지 추론을 통해 각각의 클래스 관계가 서로 구조적으로 연결되도록 구성되므로, 일반 데이터에 비해서 더 많은 빈발 구조를 가질 수 있으며, 그것에 의해, 본 발명에 따르면, 빈발 패턴을 찾아서 검색결과를 제공하는 경우 더 많은 빈발 구조를 제시할 수 있으므로 보다 나은 검색결과를 제시할 수 있다.
다음으로, 도 43을 참조하면, 도 43은 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 최소 지지도의 변화에 따른 실행시간(run time)의 변화를 그래프로 나타내는 도면이다.
이 실험에서도, 마찬가지로 트랜잭션의 개수는 100개로 한정시켜 실험을 수행하였으며, 도 43에 나타낸 바와 같이, 온톨로지 데이터베이스가 기존의 관계형 데이터에 비해 비교적 실행시간이 적게 걸리는 것으로 나타나고 있다.
여기서, 특이한 점은, 관계형 데이터의 경우 최소 지지도 값이 적을 때와 가장 클 경우에 실행시간이 급속도로 증가하나, 이에 비해 온톨로지 데이터베이스의 경우는 비교적 실행시간의 변화 과정이 최소 지지도 값의 변화와 함께 유사한 실행시간이 걸리는 것을 알 수 있다.
계속해서, 도 44를 참조하면, 도 44는 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 트랜잭션의 변화에 따른 실행시간의 변화를 그래프로 나타내는 도면이다.
즉, 도 44에 있어서, 최소 지지도의 값은 0.4로 고정시키고, 트랜잭션의 개수를 변화시키면서 본 발명의 실시예에 따른 온톨로지 데이터와 기존의 관계형 데이터베이스의 실행시간의 변화를 나타내고 있으며, 트랜잭션의 개수가 증가하면서 두 데이터 간의 실행시간에 차이가 나는 것을 확인할 수 있으며, 본 발명의 실시예에 따른 온톨로지 데이터베이스의 데이터가 기존의 관계형 데이터베이스의 데이터에 비해서 비교적 실행시간이 적게 걸리는 것을 알 수 있다.
따라서 본 발명의 실시예에 따른 온톨로지 데이터베이스를 이용한 정보검색이 기존의 관계형 데이터베이스를 이용한 경우보다 사용자의 검색요청이 들어왔을 때 검색하는데 걸리는 시간이 적게 걸리는 것임을 알 수 있다.
다음으로, 도 45를 참조하면, 도 45는 본 발명의 실시예에 따른 온톨로지 데이터베이스와 기존의 관계형 데이터베이스의 트랜잭션의 변화에 따른 메모리 사용량의 변화를 비교하여 그래프로 나타낸 도면이다.
여기서, 도 45에 나타낸 결과는 최소 지지도는 0.4로 일정하게 하고 트랜잭션의 개수에 변화를 주면서 실험을 실행한 결과이며, 도 45에 나타낸 바와 같이, 두 데이터 간의 트랜잭션의 개수의 변화에 따른 메모리 사용량은 본 발명의 실시예에 따른 온톨로지 데이터베이스의 데이터가 기존의 관계형 데이터베이스의 데이터에 비해서 비교적 적게 사용되는 것을 알 수 있다.
또한, 트랜잭션을 100개로 한정시켰을 때와 비교해 보면, 트랜잭션의 개수가 적을 때보다는 트랜잭션의 개수가 많을 때 본 발명의 실시예에 따른 온톨로지 데이터베이스를 이용하는 경우가 기존의 관계형 데이터베이스를 이용하는 경우보다 메모리 사용량이 더 효율적이라는 것을 알 수 있다.
따라서 모바일 환경에서의 정보검색의 가장 큰 문제점의 하나라고 할 수 있는 모바일 기기의 용량부족을 고려하면, 본 발명의 실시예에 따른 온톨로지 데이터베이스를 사용하는 경우가 더 효율적이라는 것을 알 수 있다.
계속해서, 본 발명의 실시예에 따른 온톨로지 데이터베이스와 기존의 관계형 데이터베이스의 정보검색의 정확도에 대하여 실험을 수행한 결과에 대하여 설명한다.
먼저, 도 46을 참조하면, 도 46은 사용자 질의 패턴인 트랜잭션의 변화에 따라 검색 효율을 나타내는 정확도의 변화를 그래프로 나타낸 도면이다.
즉, 본 발명자들은, 상기한 본 발명의 실시예에 적용된 시맨틱 데이터 마이닝 알고리즘으로서 사용되는 FP-growth 알고리즘을 이용하여 실험 데이터에 대한 정보검색의 정확성을 나타내는 정확도(Accuracy)를 측정하였다.
측정 결과, 도 46에 나타낸 바와 같이, 본 발명의 실시예에 따른 온톨로지 데이터베이스와 기존의 관계형 데이터베이스의 정확도는 트랜잭션의 수가 증가함에 따라 함께 증가하는 것을 확인할 수 있다.
그러나 기존의 포털 사이트나 관광지 관련 사이트의 검색 시스템과 상기한 바와 같이 하여 본 발명의 실시예에 따라 구축된 시맨틱 데이터 마이닝 기법을 이용한 모바일 정보검색 시스템의 정확도를 비교하면, 기존의 시스템의 정확도가 현저하게 낮음을 알 수 있다.
이는, 기존의 시스템은, 검색창에 사용자가 원하는 검색어를 입력하였을 때 사용자가 원하는 검색 내용과 관련이 없는 검색결과를 제공하고 있기 때문이다.
계속해서, 상기에 설명한 본 발명의 실시예에 따른 시맨틱 데이터 마이닝 기법을 적용한 모바일 정보검색 시스템과 기존의 검색 시스템의 차이점을 비교하여 정보검색의 정확도를 살펴보기 위해, 본 발명의 실시예에 따른 모바일 정보검색 시스템과 기존의 포털 사이트에서 각각 관광지를 검색창에 입력하였을 경우의 결과 화면을 비교한 결과에 대하여 설명한다.
즉, 도 47을 참조하면, 도 47은 기존의 포털 사이트에서 '계룡산'을 검색창에 입력하였을 때의 검색결과를 표시하는 화면을 나타내는 도면이다.
더 상세하게는, 기존 시스템의 검색결과는, 도 47에 나타낸 바와 같이, 계룡산이라고 하는 관광지를 검색창에 입력하였을 경우 검색 결과값으로 표시되는 내용들에 실제 관광지와 관련된 내용도 포함되어 있지만, 관련이 전혀 없는 내용들도 검색결과로서 표시되는 경우도 있고, 아울러, PC에 비하면 스마트폰 화면의 크기가 작은 것에 비하여 검색결과는 너무 많은 결과값을 제공하므로, 사용자는 화면의 스크롤을 계속 내려가면서 검색결과를 확인해야 하는 불편함이 있다.
따라서 이와 같은 불편함을 해소하기 위하여는, 검색결과에 사용자가 원하는 검색결과만을 정확하고 편리하게 제공하는 검색시스템이 필요하며, 이에, 본 발명에서는, 상기한 바와 같은 기존의 검색시스템의 문제점들을 해결하기 위해, 시맨틱 데이터 마이닝 기법을 이용한 모바일 정보검색 시스템을 제안하고 구현하였다.
더 상세하게는, 도 48을 참조하면, 도 48은 본 발명의 실시예에 따른 모바일 정보검색 시스템에서 '계룡산'을 검색창에 입력하였을 때의 검색결과를 표시하는 화면을 나타내는 도면이다.
즉, 기존의 검색시스템에서는 계룡산과 관련이 없는 내용들이 결과화면에 제공되어 사용자가 원하는 정보를 일일이 확인하고 선택해서 보아야 하는 단점이 있었으나, 본 발명의 실시예에 따른 모바일 정보검색 시스템은, 도 48에 나타낸 바와 같이, 기존의 검색 시스템의 검색창에 검색어를 입력한 값과 똑같은 계룡산을 입력하였을 때 정확한 값만을 결과값으로 제공한다.
또한, 도 49를 참조하면, 도 49는 본 발명의 실시예에 따른 모바일 정보검색 시스템에서 검색어를 입력하였을 때 검색결과와 관련된 설명 및 주변 지역의 지도를 결과값으로 함께 제공하는 화면을 각각 나타내는 도면이다.
도 49에 나타낸 바와 같이, 본 발명의 실시예에 따른 모바일 정보검색 시스템을 이용하면, 입력된 검색어에 대한 검색결과를 제공하는 것뿐만 아니라, 예를 들면, 관련된 관광지에 대한 보다 구체적인 설명 및 주변 맛집들과 같은 관련정보를 포함하는 주변 지역의 지도가 결과값으로 함께 제공되므로, 기존의 검색시스템에 비하여 검색 결과의 정확도가 더욱 정확하다는 것을 알 수 있다.
따라서 상기한 바와 같이 하여, 모바일 환경에서 상황인식 온톨로지를 이용하여 시맨틱 데이터 마이닝 기법을 적용한 모바일 정보검색 시스템을 구현할 수 있다.
즉, 본 발명에 따르면, 먼저, 상황 데이터를 저장하기 위해, 포털 사이트를 비롯한 각 지역의 관광지 소개 사이트를 통해서 관광정보를 수집하고, 수집된 정보에 전처리 과정을 수행하여 데이터베이스에 저장하며, 이와 같이 하여 저장된 관광 데이터를 이용하여 각 관광지의 관계와 속성 등을 설정하는 온톨로지 추론과정을 수행하여 관광 온톨로지 데이터베이스를 구축하는 사용자 관심정보 서비스 제공을 위한 상황인식 온톨로지 구현방법을 제공할 수 있다.
또한, 본 발명에 따르면, 상기한 바와 같이 하여 구축된 관광 온톨로지 데이터베이스를 이용하여, 사용자에게 좀더 신속하고 정확한 정보 검색 결과를 제공하기 위해 기존의 FP-growth 알고리즘에 기반한 데이터 마이닝 기법을 적용함으로써, 사용자에게서 들어온 사용자 질의 패턴과 관광 온톨로지 데이터베이스에 저장되어 있는 질의 패턴을 비교하여 유사하거나 동일한 구조의 질의에 대해서 신속하게 검색결과를 제공할 수 있도록 구성되는 시맨틱 데이터 마이닝을 이용한 사용자 관심정보 검색서비스 제공방법을 제공할 수 있다.
아울러, 본 발명에 따르면, 상기한 바와 같은 상황인식 온톨로지 및 시맨틱 데이터 마이닝을 이용하여, 모바일 환경에 적합하도록 보다 간결하고 정확한 검색결과를 제시하는 동시에, 사용자의 현재 위치나 사용자가 원하는 정보 검색결과의 위치에 대한 지도 서비스를 함께 수행할 수 있도록 구성되는 모바일 정보검색 서비스를 제공할 수 있다.
또한, 본 발명에 따르면, 온톨로지 추론과정에서 속성설정과 관계 설정을 통하여 동의어나 유사단어, 초성어 처리를 가능하게 하여 검색 서비스를 수행하면서 다양하게 검색어를 입력하는 것이 가능하며, 시맨틱 데이터 마이닝 기법을 적용하는 것에 의해 기존 검색 서비스에서 불필요한 검색결과까지 제공하여 스마트폰 단말기의 화면이 작은 단점을 극복하지 못하는 문제점을 해결할 수 있다.
이상, 상기한 바와 같이 하여, 본 발명의 실시예에 따른 상황인지에 기반한 상황인식 온톨로지 및 이를 이용한 사용자 관심정보 서비스를 구현할 수 있다.
여기서, 상기한 본 발명의 실시예에서는, 사용자에게 관광지에 관심한 관심정보를 예측하고 제공하기 위하여 관광지에 관한 상황인식 온톨로지(Context Awareness Ontology)를 구축하고, 이러한 상황인식 온톨로지에 기반하여 시맨틱 데이터 마이닝 과정(Semantic Data Mining)을 수행하여 사용자에게 보다 정확하고 간결한 결과를 제공함으로써 모바일 환경에 적합하도록 구성되는 관심정보 서비스를 제공하는 경우를 예로 하여 본 발명을 설명하였으나, 본 발명은 이러한 경우로만 한정되는 것은 아니며, 즉, 본 발명은 상기에 설명한 관광지에 대한 관심정보 서비스 이외에, 필요에 따라 얼마든지 다른 분야에 대한 관심정보 서비스의 경우에도 다양하게 적용될 수 있는 것임에 유념해야 한다.
따라서 상기한 바와 같이 하여 본 발명에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법을 구현할 수 있다.
또한, 상기한 바와 같이 하여 본 발명에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법을 구현하는 것에 의해, 본 발명에 따르면, 상황인식 기술에 기반하여 사용자의 관심도를 예측하고, 사용자가 어느 위치에서 어떠한 검색을 원하는가를 보다 정확히 예측하기 위한 상황 온톨로지 모델을 구축하며, 이러한 상황 온톨로지 모델에 근거하여 사용자 관심정보를 예측하는 것에 의해 사용자의 검색요청에 대하여 사용자의 관심에 관련된 정보만을 제시하여 보다 정확하고 간결한 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공됨으로써, 사용자의 검색요청에 대하여 불필요하게 방대한 검색결과를 제공하여 사용자가 필요한 정보만을 다시 필터링해야 하는 단점이 있었던 종래기술의 검색방식의 문제점을 해결할 수 있다.
아울러, 본 발명에 따르면, 상황 온톨로지를 이용한 시맨틱 데이터 마이닝 알고리즘(Semantic Data Mining Algorithm)을 이용하여 보다 정확하고 요약된 검색결과를 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공됨으로써, 스마트폰과 같은 모바일 단말기의 제한된 화면과 적은 메모리의 단점을 극복할 수 있다.
더욱이, 본 발명에 따르면, 사용자의 검색요청 정보에 대한 검색결과를 제공하는 동시에, 모바일 기기에 내장되어 있는 GPS 및 지도 기능을 이용하여 사용자의 현재 위치와 사용자가 요구하는 검색결과의 위치를 검색결과와 함께 제공할 수 있도록 구성되는 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법이 제공됨으로써, 사용자는 한 번의 검색만으로 원하는 정보의 내용뿐만 아니라 위치까지도 쉽게 찾을 수 있다.
이상, 상기한 바와 같은 본 발명의 실시예를 통하여 본 발명에 따른 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법의 상세한 내용에 대하여 설명하였으나, 본 발명은 상기한 실시예에 기재된 내용으로만 한정되는 것은 아니며, 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 설계상의 필요 및 기타 다양한 요인에 따라 여러 가지 수정, 변경, 결합 및 대체 등이 가능한 것임은 당연한 일이라 하겠다.

Claims (12)

  1. 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지(Context Awareness Ontology) 구현방법에 있어서,
    사용자의 관심영역에 대한 정보를 수집하여 데이터베이스를 구축하는 사용자 관심정보 데이터베이스 구축단계;
    상기 사용자 관심정보 데이터베이스 구축단계에서 구축된 상기 사용자 관심정보 데이터베이스에 저장된 각 데이터들 사이의 관계와 속성을 설정하는 온톨로지 추론단계; 및
    상기 온톨로지 추론단계에서 설정된 각 데이터의 관계 및 속성에 근거하여 온톨로지 데이터베이스를 구축하는 온톨로지 데이터베이스 구축단계;를 포함하고,
    상기 온톨로지는,
    상기 사용자의 상황정보를, 사용자 식별자 U(User identification), 공간정보 L(Location), 시간정보 T(Time) 및 상기 사용자와 연관된 서비스정보 S(Service)를 포함하는 4개의 차원을 가지는 시공간 상황정보 O={U, L, T, S}로 표현하도록 구성되며,
    상기 시간정보는 미리 정해진 일정한 시간 간격으로 구분한 정보이고,
    상기 공간정보는 유클리디안 공간상의 좌표 (xi, yi)에 해당하는 일반화된 위치정보이며,
    상기 좌표는 상기 사용자가 현재 위치해 있는 지역의 경도 값과 위도 값을 각각 의미하고,
    상기 데이터베이스 구축단계는,
    상기 사용자의 관심정보로서 관광지에 대한 정보를 각 지역별로 수집하며,
    최상위 클래스로서 루트 클래스(root class)를 지정하고, 각각의 지역을 서브클래스(subclass)로 지정하며,
    각각의 상기 지역에 대한 관광지 이름을 각각의 상기 지역에 대한 서브클래스로 지정하고,
    각각의 관광지 내에 있는 시설이나 해당 관광지에 대한 상세한 설명을 상기 관광지 이름에 대한 서브클래스로 지정하며,
    각각의 상기 지역이나 상기 관광지에 대하여 동의어나 초성검색을 위한 동의어 클래스(equivalent class) 관계를 설정하여, 계층구조를 이루는 관광 데이터베이스를 구축하는 처리가 수행되도록 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서,
    상기 관광 데이터베이스는,
    id, add_1, add_2, add_3, add_4, add_5, tour_site, syn, lat, long를 포함하는 복수의 필드(field)를 포함하여 구성되며,
    상기 add_1 필드, 상기 add_2 필드, 상기 add_3 필드, 상기 add_4 필드 및 상기 add_5 필드는 각각의 관광지의 주소를 나타내고,
    상기 tour_site 필드는 관광지 이름을 저장하며,
    상기 syn 필드는 동의어나 초성어 처리를 위한 필드이고,
    상기 lat 필드와 상기 long 필드는 지도를 설정할 때 필요한 위도와 경도를 각각 의미하도록 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  6. 제 5항에 있어서,
    상기 온톨로지 추론단계는,
    관광을 하고자 하는 지역의 이름으로 구성되는 "Place";
    각 지역 내에 있는 관광명소의 이름으로 구성되는 "Attraction";
    각 관광지 안에 있는 건물이나 유물, 유적, 해변 및 식당을 포함하여 구성되는 "Resource"; 및
    문화적인 행위를 의미하는 "Cultural activity", 풍경을 즐기는 행위를 의미하는 "Scenery view", 외식을 하는 행위를 의미하는 "Dining out"을 포함하여, 상기 사용자가 각 관광지에서 실제 행하는 행동을 의미하는 "Activity"에 근거하여 각 데이터의 속성을 결정하도록 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  7. 제 6항에 있어서,
    상기 온톨로지 추론단계는,
    상기 "Place"와 상기 "Attraction"의 속성관계를 "hasAttraction" 및 "IsAttractionOf"으로 지정하고,
    상기 "Attraction"과 상기 "Resource"의 속성관계는 "hasResource" 및 "IsResourceOf"으로 지정하며,
    상기 "Activity"와 상기 "Resource"의 속성관계는 "hasActivity" 및 "IsActivityOf"으로 지정하도록 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  8. 제 7항에 있어서,
    상기 온톨로지 추론단계는,
    각 클래스를 구성하는 데이터들에 복수의 속성관계가 존재하는 경우 다중 속성관계를 가지는 것으로 간주하도록 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  9. 제 1항에 있어서,
    상기 온톨로지 추론단계는,
    Protege_4.0.2 version을 이용하여 수행되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  10. 제 1항에 있어서,
    상기 온톨로지 데이터베이스 구축단계는,
    OWL(Web Ontology Language)과 RDF(Resource Description Framework) 및 RDFS(Resource Description Framework Schema Specification)를 이용하여 상기 온톨로지 데이터베이스를 구축하는 처리가 수행되도록 구성되는 것을 특징으로 하는 상황인식 온톨로지 구현방법.
  11. 삭제
  12. 삭제
KR1020140114549A 2014-08-29 2014-08-29 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법 KR101469523B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140114549A KR101469523B1 (ko) 2014-08-29 2014-08-29 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법
JP2014252426A JP5992497B2 (ja) 2014-08-29 2014-12-12 コンテキストアウェアネスに基づくユーザ関心情報サービスを提供するための状況認識オントロジー実現方法
CN201410822555.4A CN105786897B (zh) 2014-08-29 2014-12-24 用于提供基于情境感知的用户关注信息的情境感知本体构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140114549A KR101469523B1 (ko) 2014-08-29 2014-08-29 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법

Publications (1)

Publication Number Publication Date
KR101469523B1 true KR101469523B1 (ko) 2014-12-05

Family

ID=52677769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140114549A KR101469523B1 (ko) 2014-08-29 2014-08-29 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법

Country Status (3)

Country Link
JP (1) JP5992497B2 (ko)
KR (1) KR101469523B1 (ko)
CN (1) CN105786897B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102385184B1 (ko) * 2021-04-15 2022-04-12 (주) 알트소프트 지역 포함 관계에 따라 구독 채널이 자동 추가되는 로컬 미디어 서비스 시스템 및 방법
KR102414824B1 (ko) * 2021-12-03 2022-06-30 주식회사 에이젠글로벌 대출자 금융 데이터를 풀링하는 방법 및 이러한 방법을 수행하는 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018098151A1 (en) * 2016-11-23 2018-05-31 Carrier Corporation Building management system having semantics-enabled building system data access
US10686795B2 (en) * 2018-02-20 2020-06-16 Accenture Global Solutions Limited System for controlling access to a plurality of target systems and applications
CN109408646A (zh) * 2018-10-12 2019-03-01 中国科学技术信息研究所 富媒体知识本体构建方法、装置及电子设备
CN110990434B (zh) * 2019-11-29 2023-04-18 国网四川省电力公司信息通信公司 Spark平台分组和Fp-Growth关联规则挖掘方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270747B1 (ko) * 2009-11-19 2013-06-03 한국전자통신연구원 온톨로지 기반의 서비스 추천 장치 및 방법
KR101319603B1 (ko) * 2012-01-31 2013-10-29 한남대학교 산학협력단 모바일 클라우드 환경에서 추천 서비스를 위한 능동적 상황인식 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230151A (ja) * 2001-02-06 2002-08-16 Nippon Telegr & Teleph Corp <Ntt> シナリオ記述装置、シナリオ記述方法、プログラムおよび記録媒体
CN101694629B (zh) * 2009-10-23 2014-03-26 北京邮电大学 一种基于本体的上下文感知应用平台及其工作方法
CN101799835B (zh) * 2010-04-21 2012-07-04 中国测绘科学研究院 一种本体驱动地理信息检索系统和检索方法
CN101901277A (zh) * 2010-08-25 2010-12-01 华中科技大学 一种基于用户情景的动态本体建模方法及系统
CN103064945B (zh) * 2012-12-26 2016-01-06 吉林大学 基于本体的情境搜索方法
JP5509376B1 (ja) * 2013-08-05 2014-06-04 ソノー電機工業株式会社 ユーザの位置を基準にローカルな観光情報を検索する方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270747B1 (ko) * 2009-11-19 2013-06-03 한국전자통신연구원 온톨로지 기반의 서비스 추천 장치 및 방법
KR101319603B1 (ko) * 2012-01-31 2013-10-29 한남대학교 산학협력단 모바일 클라우드 환경에서 추천 서비스를 위한 능동적 상황인식 시스템

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
논문: 한국지리정보학회지 *
논문: 한국지리정보학회지*
논문: 한국지형공간정보학회지 *
논문: 한국지형공간정보학회지*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102385184B1 (ko) * 2021-04-15 2022-04-12 (주) 알트소프트 지역 포함 관계에 따라 구독 채널이 자동 추가되는 로컬 미디어 서비스 시스템 및 방법
WO2022220389A1 (ko) * 2021-04-15 2022-10-20 (주) 알트소프트 지역 포함 관계에 따라 구독 채널이 자동 추가되는 로컬 미디어 서비스 시스템 및 방법
KR102414824B1 (ko) * 2021-12-03 2022-06-30 주식회사 에이젠글로벌 대출자 금융 데이터를 풀링하는 방법 및 이러한 방법을 수행하는 장치

Also Published As

Publication number Publication date
JP2016051460A (ja) 2016-04-11
CN105786897A (zh) 2016-07-20
JP5992497B2 (ja) 2016-09-14
CN105786897B (zh) 2019-05-17

Similar Documents

Publication Publication Date Title
Amato et al. Big data meets digital cultural heritage: Design and implementation of scrabs, a smart context-aware browsing assistant for cultural environments
Bao et al. Recommendations in location-based social networks: a survey
Bhargava et al. Who, what, when, and where: Multi-dimensional collaborative recommendations using tensor factorization on sparse user-generated data
KR101469523B1 (ko) 상황인지에 기반한 사용자 관심정보 서비스를 제공하기 위한 상황인식 온톨로지 구현방법
Yochum et al. Linked open data in location-based recommendation system on tourism domain: A survey
Xu et al. Topic based context-aware travel recommendation method exploiting geotagged photos
KR101469526B1 (ko) 상황인식 온톨로지를 이용한 웹기반 시맨틱 정보검색 시스템
Gasparetti Personalization and context-awareness in social local search: State-of-the-art and future research challenges
Han et al. Adaptive content recommendation for mobile users: Ordering recommendations using a hierarchical context model with granularity
KR101469524B1 (ko) 시맨틱 데이터 마이닝을 이용한 상황인지 기반 사용자 관심정보 검색서비스 제공방법
Liu et al. Recommending attractive thematic regions by semantic community detection with multi-sourced VGI data
Zahálka et al. Interactive multimodal learning for venue recommendation
Grifoni et al. Context-awareness in location based services in the big data era
Wang et al. ST-SAGE: A spatial-temporal sparse additive generative model for spatial item recommendation
Becker et al. MixedTrails: Bayesian hypothesis comparison on heterogeneous sequential data
Haris et al. Mining graphs from travel blogs: a review in the context of tour planning
Wang Intelligent recommendation model of tourist places based on collaborative filtering and user preferences
Sakouhi et al. Dynamic and multi-source semantic annotation of raw mobility data using geographic and social media data
Tekli et al. Semantic to intelligent web era: building blocks, applications, and current trends
Liang Intelligent Tourism Personalized Recommendation Based on Multi-Fusion of Clustering Algorithms
Cong et al. Querying and mining geo-textual data for exploration: Challenges and opportunities
Liang et al. Enhancing scenic recommendation and tour route personalization in tourism using UGC text mining
Yuan et al. A Survey on spatiotemporal and semantic data mining
Haruna et al. Location-aware recommender system: a review of application domains and current developmental processes
Rohilla et al. Random Forest with harmony search optimization for location based advertising

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 5