KR102271124B1 - 검색 결과 제공 방법 및 장치 - Google Patents

검색 결과 제공 방법 및 장치 Download PDF

Info

Publication number
KR102271124B1
KR102271124B1 KR1020190172640A KR20190172640A KR102271124B1 KR 102271124 B1 KR102271124 B1 KR 102271124B1 KR 1020190172640 A KR1020190172640 A KR 1020190172640A KR 20190172640 A KR20190172640 A KR 20190172640A KR 102271124 B1 KR102271124 B1 KR 102271124B1
Authority
KR
South Korea
Prior art keywords
search result
search
keyword
chatting
standardized
Prior art date
Application number
KR1020190172640A
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 KR1020190172640A priority Critical patent/KR102271124B1/ko
Application granted granted Critical
Publication of KR102271124B1 publication Critical patent/KR102271124B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24528Standardisation; Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시 예에 따르면, 검색 결과 제공 방법에 있어서, 채팅 UI(user interface)를 통해서 입력된 검색 요청을 수신하는 단계; 상기 검색 요청으로부터 표준화된 키워드를 획득하는 단계; 상기 표준화된 키워드에 기초하여 데이터 베이스의 조회를 위한 SQL(structured query language) 코드를 생성하는 단계; 상기 SQL 코드를 이용하여 상기 검색 요청에 대응하는 검색 결과를 상기 데이터 베이스로부터 획득하는 단계; 및 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계;를 포함하는, 방법이 제공된다.

Description

검색 결과 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING SEARCH RESULTS}
본 발명은 검색 결과 제공 방법 및 장치에 관한 것으로, 더욱 상세하게는, 채팅 UI(user interface)를 통해 표준화된 키워드를 기반으로 검색 결과를 획득하고, 획득된 검색 결과를 채팅 UI를 이용하여 제공함으로써, 사용자가 키워드 입력 방식으로 간단하고도 정확하게 질의할 수 있고 채팅방에서 대화하는 방식으로 검색 결과를 간편하게 조회할 수 있도록 지원하는 방법 및 장치에 관한 것이다.
각종 포털 사이트를 비롯하여 키워드 등의 입력을 통해 검색 결과를 획득하는 다양한 방식의 알고리즘이 제안되고 있다. 특히 자연어 검색 등을 통해 사용자가 원하는 검색 결과를 획득하는 다양한 방식이 시도되고 있다.
또한 채팅 방식의 인터페이스의 활용이 점차 높아지고 있는 추세이며 채팅 앱은 단순히 사람과 사람간의 의사 소통을 위한 인터페이스라는 본래 기능을 넘어서 결제, 송금 등 그 기능이 지속적으로 확장되고 있다.
따라서 사용자에게 익숙한 포맷을 이용해서 사용자에게 원하는 정보를 보다 친숙하고 편리하게 제공하는 구체적인 기술에 대한 사회적 니즈가 지속적으로 증가하고 있다.
또한 종래의 자연어 검색의 경우 결과가 부정확하여 검색 결과에 대한 신뢰도 측면에서도 지속적으로 문제가 제기되어 왔다.
한국공개특허 제10-2011-0010306호는 OLAP 기반 중소기업형 고객관계 관리시스템에 관한 것으로, 초기 고객의 주문을 입력하는 고객사 발주등록 단계(S10), 결정된 생산계획에 의한 생산품목 및 목표수량을 입력하는 생산계획서 등록 단계(S20), 주문을 통한 생산계획과 자재소요량을 산출하여 자재구매 및 입고하는 자재등록 단계(S30), 작업현장에서 제작된 품목의 생산 실적을 입력하는 생산실적 관리 단계(S40), 생산된 품목을 고객에 납품하는 판매관리 단계(S50), 생산품목의 품질에 대한 데이터를 생성하는 자주검사 단계(S60), 출하 후 발생되는 사후관리 단계(S70), 상기 각각의 단계를 종합적으로 분석하여 보고서를 제출하는 단계(S80)를 포함한다.
본 발명의 일 실시 예는 검색 결과 제공 방법 및 장치를 제공하여 상기한 종래 기술의 문제점을 해결할 수 있고, 더욱 상세하게는, 채팅 UI(user interface)를 통해 표준화된 키워드를 기반으로 검색 결과를 획득하고, 획득된 검색 결과를 채팅 UI를 이용하여 제공함으로써, 사용자가 키워드 입력 방식으로 간단하고도 정확하게 질의할 수 있고 채팅방에서 대화하는 방식으로 검색 결과를 간편하게 조회할 수 있도록 지원할 수 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
본 개시의 제 1 측면에 따른 검색 결과 제공 방법은 채팅 UI(user interface)를 통해서 입력된 검색 요청을 수신하는 단계; 상기 검색 요청으로부터 표준화된 키워드를 획득하는 단계; 상기 표준화된 키워드에 기초하여 데이터 베이스의 조회를 위한 SQL(structured query language) 코드를 생성하는 단계; 상기 SQL 코드를 이용하여 상기 검색 요청에 대응하는 검색 결과를 상기 데이터 베이스로부터 획득하는 단계; 및 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계;를 포함할 수 있다.
또한, 상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는 상기 데이터 베이스에 적용되는 OLAP(On-Line Analytical Processing)의 API(application programming interface)를 호출하는 단계; 상기 API를 이용하여 상기 표준화된 키워드에 대응되는 리포트를 상기 데이터 베이스로부터 획득하는 단계; 및 상기 리포트로부터 상기 검색 결과를 획득하는 단계;를 포함할 수 있다.
또한, 상기 표준화된 키워드는 상기 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭을 포함할 수 있다.
또한, 상기 표준화된 키워드를 획득하는 단계는 상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 상기 채팅 UI를 통해 하나 이상의 후보 키워드를 제공하는 단계; 및 상기 하나 이상의 후보 키워드 중 어느 하나에 대한 선택 입력에 기초하여 상기 표준화된 키워드를 결정하는 단계;를 포함할 수 있다.
또한, 상기 표준화된 키워드를 획득하는 단계는 상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 기설정된 표준화된 키워드 중 상기 검색 요청에 포함된 키워드에 대한 유사 키워드를 획득하고, 상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는 상기 유사 키워드에 대응하는 상기 검색 결과를 상기 데이터 베이스로부터 획득하고, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는 상기 유사 키워드 및 상기 유사 키워드에 대응하는 상기 검색 결과를 상기 채팅 UI를 이용하여 제공할 수 있다.
또한, 상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는 상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 단계를 포함하고, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는 상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공하는 단계;를 포함할 수 있다.
또한, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는 상기 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하는 단계;를 더 포함할 수 있다.
또한, 상기 검색 결과 제공 방법은 상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하는 단계;를 더 포함하고, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는 상기 결정된 신뢰도를 상기 채팅 UI를 통해 제공하는 단계;를 더 포함할 수 있다.
또한, 상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하는 단계는 상기 표준화된 키워드에 대응되는 상기 복수 개의 검색 결과의 개수 및 상기 가장 높은 우선순위와 두번째로 높은 우선순위의 차이에 대응하는 값에 기초하여 상기 신뢰도를 결정할 수 있다.
또한, 상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는 상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 과거 수신된 검색 요청 히스토리에 대응되는 검색 결과를 획득하는 단계를 포함하고, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는 상기 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하는 단계; 및 상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공하는 단계;를 포함할 수 있다.
본 개시의 제 1 측면에 따른 검색 결과 제공 장치는 채팅 UI(user interface)를 통해서 입력된 검색 요청을 수신하는 통신부; 및 상기 검색 요청으로부터 표준화된 키워드를 획득하고, 상기 표준화된 키워드에 기초하여 데이터 베이스의 조회를 위한 SQL(structured query language) 코드를 생성하고, 상기 SQL 코드를 이용하여 상기 검색 요청에 대응하는 검색 결과를 상기 데이터 베이스로부터 획득하고, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 프로세서;를 포함할 수 있다.
또한, 상기 프로세서는 상기 데이터 베이스에 적용되는 OLAP(On-Line Analytical Processing)의 API(application programming interface)를 호출하고, 상기 API를 이용하여 상기 표준화된 키워드에 대응되는 리포트를 상기 데이터 베이스로부터 획득하고, 상기 리포트로부터 상기 검색 결과를 획득할 수 있다.
또한, 상기 표준화된 키워드는 상기 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭을 포함할 수 있다.
또한, 상기 프로세서는 상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 상기 채팅 UI를 통해 하나 이상의 후보 키워드를 제공하고, 상기 하나 이상의 후보 키워드 중 어느 하나에 대한 선택 입력에 기초하여 상기 표준화된 키워드를 결정할 수 있다.
또한, 상기 프로세서는 상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 기설정된 표준화된 키워드 중 상기 검색 요청에 포함된 키워드에 대한 유사 키워드를 획득하고, 상기 유사 키워드에 대응하는 상기 검색 결과를 상기 데이터 베이스로부터 획득하고, 상기 유사 키워드 및 상기 유사 키워드에 대응하는 상기 검색 결과를 상기 채팅 UI를 이용하여 제공할 수 있다.
또한, 상기 프로세서는 상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하고, 상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공할 수 있다.
또한, 상기 프로세서는 상기 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공할 수 있다.
또한, 상기 프로세서는 상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하고, 상기 결정된 신뢰도를 상기 채팅 UI를 통해 제공할 수 있다.
또한, 상기 프로세서는 상기 표준화된 키워드에 대응되는 상기 복수 개의 검색 결과의 개수 및 상기 가장 높은 우선순위와 두번째로 높은 우선순위의 차이에 대응하는 값에 기초하여 상기 신뢰도를 결정할 수 있다.
또한, 상기 프로세서는 상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 과거 수신된 검색 요청 히스토리에 대응되는 검색 결과를 획득하고, 상기 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하고, 상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공할 수 있다.
본 개시의 제 3 측면은 제 1 측면에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다. 또는, 본 개시의 제 4 측면은 제 1 측면에 따른 방법을 구현하기 위하여 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
본 발명의 일 실시 예에 따르면, 사용자가 키워드 입력 방식으로 간단하고도 정확하게 질의할 수 있고 채팅방에서 대화하는 방식으로 검색 결과를 간편하게 조회할 수 있도록 지원할 수 있다.
또한, 사용자가 채팅방을 통해 OLAP(On-Line Analytical Processing) 기반의 데이터 조회를 간편하게 수행할 수 있고, 이전에 질의한 검색 히스토리를 채팅방을 통해 간편하게 조회 및 관리할 수 있다.
또한, 최근의 검색 결과를 이용하여 이전 질의에 이어서 질의하는 방식으로 연속된 질의가 용이한 효과가 있고, 개별 질의에 적용된 조회 조건의 히스토리가 관리되어 조회 조건의 변경 시 재입력이 필요 없어 사용자 편의성을 향상시키는 효과가 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 일 실시 예에 따른 검색 결과 제공 시스템을 개략적으로 도시한 블록도이다.
도 2는 도 1에 있는 검색 결과 제공 시스템의 일 예를 도시한 블록도이다.
도 3은 도 1에 있는 검색 결과 제공 장치가 채팅 UI를 기반으로 검색 결과를 제공하는 방법의 일 예를 도시한 흐름도이다.
도 4는 도 1에 있는 검색 결과 제공 장치가 채팅 UI를 통해 검색 결과를 제공하는 실시예들을 설명하기 위한 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시 예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
이하 첨부된 도면을 참고하여 실시 예를 상세히 설명하기로 한다.
도 1은 일 실시 예에 따른 검색 결과 제공 시스템을 개략적으로 도시한 블록도이고, 도 2는 도 1에 있는 검색 결과 제공 시스템의 일 예를 도시한 블록도이다.
도 1을 참조하면, 일 실시 예에 따른 검색 결과 제공 시스템은 하나 이상의 사용자 단말(100) 및 검색 결과 제공 장치(200)를 포함할 수 있다.
일 실시 예에 따른 사용자 단말(100)은 사용자에 의해 이용될 수 있는 컴퓨팅 장치에 해당하고, 예를 들면, 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등으로 구현되어 무선 통신망을 통해 검색 결과 제공 장치(200)와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함하거나, 데스크탑 PC, 태블릿 PC, 랩탑 PC 등으로 구현되어 네트워크를 통해 검색 결과 제공 장치(200)와 연결될 수 있는 유무선 통신 장치를 포함할 수도 있다.
일 실시 예에 따른 사용자 단말(100)은 채팅 기반의 검색 서비스를 제공하는 애플리케이션을 설치하여 메모리에 저장할 수 있다. 예를 들어, 검색 결과 제공 장치(200)는 채팅 UI(user interface)를 제공하는 채팅 기반의 검색 서비스 애플리케이션을 직접 제공하거나 별도의 중개 서버(예: 앱 스토어 서버)를 통해 사용자 단말(100)에 제공할 수 있고, 사용자 단말(100)은 사용자의 조작에 기반하여 채팅 기반의 검색 서비스 애플리케이션을 다운로드 및 설치할 수 있으며, 해당 애플리케이션을 통해 검색 결과 제공 장치(200)와 통신할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 서버로 구현되어 네트워크를 통해 단말 또는 다른 서버와 연결될 수 있는 모든 종류의 유무선 통신 장치를 포함할 수 있다. 여기에서, 네트워크는 유선 및 무선 등과 같은 다양한 통신망을 통해 구성될 수 있고, 예를 들면, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 채팅 UI를 통해 사용자 단말(100)과 통신하여 사용자에 의한 검색 요청을 수신할 수 있고, 수신된 검색 요청에 기초하여 데이터 베이스(400)로부터 검색 결과를 획득할 수 있으며, 획득된 검색 결과를 채팅 UI를 통해 사용자 단말(100)에 제공할 수 있다. 이에 관한 내용은 이하에서 보다 상세하게 후술하도록 한다.
도 2를 참조하면, 일 실시 예에 따른 검색 결과 제공 시스템은 하나 이상의 사용자 단말(100), 검색 결과 제공 장치(200), OLAP 서버(300) 및 데이터 베이스(400)를 포함할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 채팅 UI를 통해 사용자 단말(100)로부터 수신된 검색 요청을 기초로 OLAP 서버(300)와 연동하여 데이터 베이스(400)로부터 검색 결과를 획득할 수 있으며, 획득된 검색 결과를 채팅 UI를 통해 사용자 단말(100)에 제공할 수 있다. 이에 관한 내용은 이하에서 보다 상세하게 후술하도록 한다.
일 실시 예에 따른 OLAP 서버(300)는 OLAP(On-Line Analytical Processing)을 기반으로 구현되어 데이터 베이스(400)에 대한 데이터 분석 처리를 수행할 수 있고, 예를 들면, OLAP 을 기반으로 기업의 경영 활동에서 생성된 수많은 데이터를 데이터 베이스(400)에 다차원의 큐브 형태로 저장하고 다차원의 데이터 구조를 기반으로 다차원의 복잡한 질의를 고속으로 분석 및 처리함으로써, 대용량 데이터를 다양한 관점에서 보다 용이하게 추출 및 분석하여 사용자에게 제공할 수 있다.
일 실시 예에 따른 OLAP 서버(300)는 OLAP 기반의 소프트웨어 플랫폼을 통해 구현될 수 있고, 예를 들면, Microstrategy, Oracle BIEE, MS BI, SAP Business Object, BI Matrix 등을 통해 구현될 수 있다.
일 실시 예에 따른 OLAP 서버(300)는 OLAP의 API(application programming interface)를 포함하는 하나 이상의 API를 검색 결과 제공 장치(200)에 제공할 수 있다. 예를 들면, OLAP의 API는 OLAP 기반의 데이터 분석을 통한 리포트의 생성, 리포트의 실행(예: DB 조회) 등의 기능을 제공할 수 있다.
일 실시 예에 따른 데이터 베이스(400)는 복수의 메타 데이터를 저장하는 메타데이터 저장부(410) 및 정보의 조회 또는 분석 대상이 되는 대용량의 데이터(예: 제품 판매량 데이터, 제품 생산량 데이터 등)를 저장하는 데이터 저장부(420)를 포함할 수 있다.
일 실시 예에서, 메타데이터 저장부(410)는 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭을 포함하는 복수의 표준화된 키워드를 저장 및 관리할 수 있다(예: '2019년10월 A제품 판매량', '2019년9월 A공장 생산량' 등).
일 실시 예에서, 데이터 베이스(400)에 접근할 수 있는 데이터베이스 하부 언어를 나타내는 구조화 질의어로 SQL(structured query language) 코드가 이용될 수 있다. 예를 들면, OLAP 서버(300)는 사용자가 분석하고자 하는 분석 항목들(예: 기간, 조직, 상품, 매출액, 생산량 등)을 조회하기 위한 SQL 코드를 생성하고, 해당 분석 항목들과 데이터 베이스(400) 상의 데이터들에 대한 매핑을 수행할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 도 1에 도시된 것처럼 OLAP 서버(300) 및 데이터 베이스(400) 중 적어도 하나를 더 포함할 수 있으며, 예를 들면, OLAP 서버(300) 및 데이터 베이스(400)와 물리적으로 또는 기능적으로 통합되어 구현될 수 있다. 다른 일 실시 예에 따른 검색 결과 제공 장치(200)는 도 2에 도시된 것처럼 OLAP 서버(300) 및 데이터 베이스(400) 중 적어도 하나와 분리되어 구현될 수 있다. 또한, 일 실시 예에 따른 OLAP 서버(300) 및 데이터 베이스(400)는 물리적으로 또는 기능적으로 통합되어 구현될 수 있다.
또한, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 검색 결과 제공 시스템에 더 포함될 수 있다. 예를 들면 검색 결과 제공 시스템은 데이터 베이스(400)에 수집되는 데이터를 획득하는 다양한 단말 또는 서버 등을 더 포함할 수 있다.
도 2에 도시된 것처럼, 일 실시 예에 따른 검색 결과 제공 장치(200)는 통신부(210), 프로세서(220) 및 저장부(230)를 포함할 수 있다.
일 실시 예에 따른 통신부(210)는 채팅 UI를 통해서 입력된 검색 요청을 수신할 수 있다. 예를 들면, 통신부(210)는 사용자 단말(100)에 설치되고 채팅방으로 구현된 채팅 UI를 통해 사용자에 의해 입력된 하나 이상의 키워드를 포함하는 검색 요청을 수신할 수 있으며, 이에 따라, 사용자가 채팅방에 대화하는 방식으로 키워드를 입력하여 질의할 수 있도록 지원할 수 있다.
일 실시 예에 따른 통신부(210)는 네트워크를 통해 사용자 단말(100), OLAP 서버(300) 및 데이터 베이스(400)와 연결될 수 있고, 예를 들면, 다른 디바이스와 통신 가능한 모든 종류의 유무선 통신 장치를 포함할 수 있다.
일 실시 예에 따른 프로세서(220)는 수신된 검색 요청으로부터 표준화된 키워드를 획득할 수 있다. 여기에서, 표준화된 키워드는 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭을 포함할 수 있다. 일 실시 예에서, 메타 데이터의 항목들 각각은 기간(예: 2019년 10월), 조직(예: A공장), 상품(예: A제품), 매출(예: 판매량, 판매금액) 또는 생산(예: 생산량)과 관련된 명칭이 이용될 수 있으나, 이에 제한되지 않으며, 그 밖의 기업의 다양한 활동에서 이용되는 다양한 용어들을 포함할 수 있다. 예를 들면, OLAP 서버(300)는 OLAP을 기반으로 구축되어 기업 별로 해당 기업 내에서 공용되는 비즈니스 명칭을 나타내는 복수의 메타 데이터의 항목들을 메타데이터 저장부(410) 상에 저장 및 관리할 수 있고, 기설정 룰에 따라 데이터 분석을 위해 메타데이터 저장부(410) 상의 메타 데이터의 항목들과 데이터 저장부(420) 상의 다양한 데이터들 간의 대응 관계를 저장 및 관리할 수 있다.
예를 들면, 프로세서(220)는 수신된 검색 요청으로부터 하나 이상의 키워드를 획득하고, 메타데이터 저장부(410)에 접근하여 하나 이상의 키워드를 메타데이터 저장부(410)에 저장된 복수의 표준화된 키워드와 비교하여 대응되는 하나 이상의 표준화된 키워드를 해당 검색 요청에 대한 표준화된 키워드로 결정할 수 있다.
다른 예를 들면, 프로세서(220)는 기설정 주기에 따라 데이터 베이스(400)로부터 메타데이터 저장부(410) 상에 저장된 복수의 메타 데이터의 항목들을 수신하여 저장부(230)에 복수의 표준화된 키워드로서 저장할 수 있고, 사용자 단말(100)로부터 수신된 검색 요청을 저장된 복수의 표준화된 키워드와 비교 분석하여 대응되는 하나 이상의 표준화된 키워드를 해당 검색 요청에 대한 표준화된 키워드로 결정할 수 있다.
일 실시 예에 따른 프로세서(220)는 기저장된 텍스트 분석 알고리즘에 따라 검색 요청(예: '연신 생산')에 포함된 텍스트를 분석하여 키워드(예: '연신', '생산')를 추출할 수 있고, 추출된 키워드(예: '연신')와 기설정 수준(예: 100%, 90%) 이상 일치하는 표준화된 키워드를 해당 키워드와 대응되는 표준화된 키워드로 결정할 수 있다.
일 실시 예에 따른 프로세서(220)는 수신된 검색 요청에서 표준화된 키워드를 획득하지 못한 경우, 채팅 UI를 통해 하나 이상의 후보 키워드를 제공할 수 있고, 제공된 하나 이상의 후보 키워드 중 어느 하나에 대한 선택 입력에 기초하여 표준화된 키워드를 결정할 수 있다.
예를 들면, 프로세서(220)는 수신된 검색 요청(예: '연신 생상')으로부터 추출된 복수의 키워드(예: '연신', '생상') 중 어느 하나(예: '생상')라도 표준화된 키워드와 대응되지 않는 경우에는, 사용자가 표준화된 키워드를 잘못 입력하였음을 나타내는 오류 메시지를 채팅방에 표시하고, 대응되지 않는 키워드(예: '생상')를 구성하는 복수의 음절(예: '생', '상')(또는 음운) 중 어느 하나를 포함하는 표준화된 키워드(예: '생산', '매상')를 후보 키워드로서 채팅방에 표시할 수 있다. 또한, 프로세서(220)는 사용자에 의해 어느 하나의 후보 키워드(예: '생산')가 선택되면 선택된 후보 키워드를 표준화된 키워드로 결정할 수 있다.
다른 예를 들면, 프로세서(220)는 채팅 UI를 통해 검색 요청이 입력될 때, 채팅방의 텍스트 입력 필드(10)에 입력된 키워드가 기저장된 복수의 표준화된 키워드 중 어느 하나라도 일치하지 않는 경우, 입력된 키워드와 기설정 수준 이상 유사한 하나 이상의 후보 키워드를 텍스트 입력 필드(10)의 상부 또는 하부에 표시하여 사용자의 선택 입력을 요청하고, 선택된 어느 하나의 후보 키워드에 기초하여 텍스트 입력 필드(10)에 입력되는 키워드를 자동 완성시킬 수 있다.
이에 따라, 프로세서(220)는 사용자가 OLAP에 따라 정의된 메타 데이터의 항목을 이용하여 질의할 수 있도록 지원할 수 있다.
일 실시 예에 따른 프로세서(220)는 검색 요청에서 표준화된 키워드를 획득하지 못한 경우, 표준화된 키워드 중 검색 요청에 포함된 키워드에 대한 유사 키워드를 획득할 수 있다. 예를 들면, 프로세서(220)는 기저장된 텍스트 분석 알고리즘에 따라 복수의 표준화된 키워드 중 검색 요청에 포함된 키워드와 가장 높은 수준으로 일치하는 하나의 표준화된 키워드를 독출하여 유사 키워드로 결정할 수 있다.
일 실시 예에 따른 프로세서(220)는 획득된 표준화된 키워드에 기초하여 데이터 베이스(400)의 조회를 위한 SQL 코드를 생성하고, 생성된 SQL 코드를 이용하여 검색 요청에 대응하는 검색 결과를 데이터 베이스(400)로부터 획득할 수 있다. 예를 들면, 프로세서(220)는 표준화된 키워드 '연신'과 '생산'을 기저장된 SQL 코드 생성 알고리즘에 적용하여, 메타데이터 저장부(410) 상에 저장된 메타 데이터 '연신' 및 '생산'을 기반으로 데이터 저장부(420) 상에 저장된 '연신' 및 '생산'과 연관된 정보를 조회하기 위한 SQL 코드를 생성할 수 있고, 생성된 SQL 코드를 이용하여 데이터 베이스(400)에 접근하고 데이터를 조회하여 조회된 데이터들을 포함하는 리포트를 생성할 수 있다.
일 실시 예에 따른 프로세서(220)는 데이터 베이스(400)에 적용되는 OLAP의 API를 호출하고, 호출된 API를 이용하여 표준화된 키워드에 대응되는 리포트를 데이터 베이스(400)로부터 획득할 수 있다. 예를 들면, 프로세서(220)는 기저장된 OLAP의 API를 호출하고, OLAP의 API를 통해 데이터 베이스(400)에서 표준화된 키워드 '연신' 및 '생산'에 대한 정보를 조회하기 위한 SQL 코드를 생성할 수 있으며, 생성된 SQL 코드를 통해 OLAP 서버(300)와 연동하여 데이터 베이스(400)에서 표준화된 키워드 '연신' 및 '생산'에 대한 데이터를 분석하여 OLAP 기반의 리포트를 생성할 수 있고, 생성된 리포트를 실행(예: DB 조회)하고 리포트를 리턴 받을 수 있다.
일 실시 예에서, 데이터 베이스(400)에 적용되는 OLAP의 API는 웹 서비스 기반의 클라이언트 OLAP API가 이용될 수 있으나, 이에 제한되지 않고 다양한 API가 이용될 수 있다.
일 실시 예에 따른 프로세서(220)는 획득된 리포트로부터 검색 결과를 획득할 수 있다. 예를 들면, 프로세서(220)는 OLAP의 API를 통해 제공되는 표준화된 키워드 '연신' 및 '생산'에 대한 종합적인 분석 결과(예: 전체 연도별 '연신'의 생산량, 매출액 등)를 포함하는 리포트를 리턴 받을 수 있고, 리포트 중에서 표준화된 키워드 '연신'과 '생산'에 대응되는 최소한의 분석 결과(예: 올해 '연신'의 생산량)를 추출하여, 즉, 사용자가 요청한 검색의 개략적인 결과값을 필터링하여, 검색 결과로 가공할 수 있다.
일 실시 예에 따른 프로세서(220)는 획득된 검색 결과를 채팅 UI를 이용하여 제공할 수 있다. 예를 들면, 프로세서(220)는 리포트로부터 추출된 검색 결과를 채팅방의 메시지 쓰레드에 추가하여 채팅방에 텍스트(예: 숫자)로 표시된 메시지로 시각화할 수 있고, 이에 따라, 사용자가 원하는 결과만을 간편하게 확인하도록 지원할 수 있다.
일 실시 예에 따른 프로세서(220)는 검색 요청(예: '연신 생상')에서 표준화된 키워드가 획득되지 못하여 유사 키워드(예: '생산')가 획득된 경우, 유사 키워드에 대응하는 검색 결과를 데이터 베이스(400)로부터 획득할 수 있고, 유사 키워드 및 유사 키워드에 대응하는 검색 결과를 채팅 UI를 이용하여 제공할 수 있다. 이에 따라, 프로세서(220)는 사용자가 표준화된 키워드를 입력하지 못한 경우에는 어떤 유사 키워드가 이용되었는지 알릴 수 있다.
일 실시 예에 따른 프로세서(220)가 검색 결과를 데이터 베이스(400)로부터 획득하여 채팅 UI를 이용하여 제공하는 동작에 관한 다양한 실시 예들은 이하에서 도 3 내지 도 4를 참조하며 보다 상세히 후술하도록 한다.
일 실시 예에 따른 프로세서(220)는 검색 결과 제공 장치(200)의 동작 전반을 제어하는 CPU(central processor unit)로 구현될 수 있고, 통신부(210) 및 저장부(230)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다.
일 실시 예에 따른 저장부(230)는 표준화된 키워드를 저장할 수 있고, 검색 결과 제공 장치(200)의 동작 전반에 필요한 데이터를 저장할 수 있다. 일 실시 예에서, 저장부(230)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현된 보조기억장치 또는 RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다. 또한, 일 실시 예에서, 저장부(230)는 데이터 베이스(400)를 포함할 수 있고, 또는, 클라우드나 별도의 저장 서버로 구현되어 유무선 통신망을 통해 검색 결과 제공 장치(200)에 필요한 데이터 및 저장 공간을 제공할 수도 있다.
또한, 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 검색 결과 제공 장치(200)에 더 포함될 수 있음을 관련 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 사용자 입력을 수신하거나 출력하기 위한 입출력 인터페이스나 출력 정보를 시각화하기 위한 디스플레이 등을 더 포함할 수 있다. 또한, 다른 실시 예에 따를 경우, 도 2에 도시된 구성요소들 중 일부는 생략될 수 있다.
도 3은 도 1에 있는 검색 결과 제공 장치(200)가 채팅 UI를 기반으로 검색 결과를 제공하는 방법의 일 예를 도시한 흐름도이고, 도 4는 도 1에 있는 검색 결과 제공 장치(200)가 채팅 UI를 통해 검색 결과를 제공하는 실시예들을 설명하기 위한 도면이다.
도 3 내지 도 4는 상술한 모든 실시 예를 참조하여 이해될 수 있다.
단계 S310 에서 일 실시 예에 따른 검색 결과 제공 장치(200)는 채팅 UI를 통해서 입력된 검색 요청을 수신할 수 있다. 도 4를 참조하여 예를 들면, 검색 결과 제공 장치(200)는 사용자 단말(100)에 설치된 채팅 기반의 검색 서비스 애플리케이션을 통해 사용자에게 채팅방으로 구현된 채팅 UI를 제공할 수 있고, 사용자 단말(100)로부터 사용자에 의해 채팅방의 텍스트 입력 필드(10)에 입력된 하나 이상의 키워드를 포함하는 검색 요청 '연신 생산'을 수신할 수 있으며, 수신된 검색 요청에 포함된 하나 이상의 키워드를 채팅방의 메시지 쓰레드에 추가하여 사용자가 입력한 내용을 메시지로 시각화할 수 있다(식별번호 20 참조).
단계 S320 에서 일 실시 예에 따른 검색 결과 제공 장치(200)는 수신된 검색 요청으로부터 표준화된 키워드를 획득할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 수신된 검색 요청 '연신 생산'에 대한 텍스트 분석을 통해 키워드 '연신' 및 '생산'을 추출하고, 추출된 키워드가 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭에 해당되는지 여부를 비교 분석하여 표준화된 키워드 '연신' 및 '생산'을 획득할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 검색 요청에서 표준화된 키워드를 획득하지 못한 경우, 채팅 UI를 통해 하나 이상의 후보 키워드를 제공할 수 있고, 제공된 하나 이상의 후보 키워드 중 어느 하나에 대한 선택 입력에 기초하여 표준화된 키워드를 결정할 수 있다.
단계 S330 에서 일 실시 예에 따른 검색 결과 제공 장치(200)는 표준화된 키워드에 기초하여 데이터 베이스(400)의 조회를 위한 SQL 코드를 생성할 수 있고, 단계 S340 에서 생성된 SQL 코드를 이용하여 검색 요청에 대응하는 검색 결과를 데이터 베이스(400)로부터 획득할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 데이터 베이스(400)에 적용되는 OLAP의 API를 호출하고, 호출된 API를 이용하여 표준화된 키워드에 대응되는 리포트를 데이터 베이스(400)로부터 획득할 수 있으며, 리포트로부터 검색 결과를 획득할 수 있다.
단계 S330 에서 일 실시 예에 따른 검색 결과 제공 장치(200)는 검색 결과를 채팅 UI를 이용하여 제공할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 OLAP의 API를 통해 데이터 베이스(400)로부터 표준화된 키워드 '연신' 및 '생산'에 대응되는 리포트를 생성하고, 생성된 리포트를 실행(예: DB 조회)하여 OLAP 기반의 리포트를 리턴할 수 있으며, 리턴된 리포트로부터 추출된 '연신의 생산량'에 대한 결과값을 채팅방의 메시지 쓰레드에 추가하여 텍스트 메시지의 형태로 시각화할 수 있다(식별번호 30 참조).
이에 따라, 검색 결과 제공 장치(200)는 사용자가 채팅방에 간단하게 OLAP에 따라 정의된 메타 데이터의 항목을 입력하면 채팅방에 해당 항목에 관한 개략적인 정보가 포함된 보고서를 시각화하여 간편하게 OLAP의 분석 항목들 중 원하는 항목만을 선별적으로 간편하게 확인할 수 있도록 지원할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 획득된 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하고, 가장 높은 우선순위에 대응되는 검색 결과를 채팅 UI를 통해 제공할 수 있다.
일 실시 예에서, 검색 결과 제공 장치(200)는 복수 개의 검색 결과 중 가장 최근 값을 기준으로 우선 순위를 결정하여 가장 높은 우선순위에 대응되는 검색 결과를 결정할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 표준화된 키워드 '연신' 및 '생산'에 대해 생산연월에 따라 복수 개의 검색 결과 '연신의 생산수량'이 검색된 경우, 기설정된 우선순위(예: 최근의 생산년월을 적용)에 따라 가장 최근의 생산년월(예: 2019년 10월)의 생산수량에 가장 높은 우선순위를 부여하고, 우선순위에 따라 복수 개의 검색 결과로부터 필터링된 가장 최근의 생산년월(예: 2019년 10월)의 연신의 생산수량을 채팅방에 최종적인 검색 결과로서 제공할 수 있다(식별번호 30 참조).
일 실시 예에서, 우선순위는 최근인 정도, 과거에 제공된 검색 결과에 포함되는지 여부, 과거에 제공된 검색 결과와 유사한 정도 및 데이터 베이스(400) 상에서의 접근 빈도 중 적어도 하나를 포함할 수 있다.
여기에서, 최근인 정도는 검색 결과가 제공된 일자가 최근일수록 비례하는 값으로 수치화될 수 있다. 또한, 과거에 제공된 검색 결과와 유사한 정도는 검색 결과가 과거에 제공된 것과 일치할수록 비례하는 값으로 수치화될 수 있고, 예를 들면, 동일 항목인데 시기만 상이한 경우가 상이한 항목인데 시기만 동일한 경우보다 더 높은 값으로 수치화될 수 있다. 또한, 데이터 베이스(400) 상에서의 접근 빈도는 검색 결과가 과거에 데이터 베이스(400) 상에서 조회된 횟수에 비례하는 값으로 수치화될 수 있고, 사용자들이 많이 검색한 대상인지를 나타낼 수 있다.
일 실시 예에서, 데이터 베이스(400) 상에서의 접근 빈도는 기설정 기간에 대한 최근 접근 건수, 전체 접근 건수, 최근 접근 건수 대비 전체 접근 건수의 비율, 전체 접근 건수 중 기설정 비율(예: 50%)이 모인 시간 구간이 최근인 정도 및 전체 접근 건수 중 기설정 비율(예: 50%)이 모인 시간 구간의 길이 중 하나 이상을 통해 결정될 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 채팅 UI를 통해 제공할 수 있고, 예를 들면, 식별번호 30과 같이, 표준화된 키워드 '연신' 및 '생산'에 대한 복수 개의 검색 결과 중 결과값(예: 생산수량)을 획득하기 위해 적용된 조회조건(예: 생산년월)을 함께 메시지로 제공함으로써, 사용자가 자신이 입력한 키워드 이외에 검색 결과에 적용된 조회조건을 용이하게 확인할 수 있도록 지원할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하고, 결정된 신뢰도를 채팅 UI를 통해 제공할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 표준화된 키워드에 대응되는 복수 개의 검색 결과의 개수 및 가장 높은 우선순위와 두번째로 높은 우선순위의 차이에 대응하는 값에 기초하여 신뢰도를 결정할 수 있다. 예를 들면, 검색 결과 제공 장치(200)는 우선순위로 가장 최근의 값을 적용하는 경우, 가장 높은 우선순위에 대응되는 검색 결과가 최근인 정도를 수치화한 제 1 값과 두번째로 높은 우선순위에 대응되는 검색 결과가 최근인 정도를 수치화한 제 2 값 간의 차이가 클수록 이에 비례하도록 신뢰도를 산출할 수 있다.
일 실시 예에서, 검색 결과 제공 장치(200)는 가장 높은 우선순위에 대응되는 검색 결과가 최근인 정도, 과거에 제공된 검색 결과에 포함되는지 여부, 과거에 제공된 검색 결과와 유사한 정도 및 데이터 베이스(400) 상에서의 접근 빈도 중 적어도 하나에 기초하여 신뢰도를 산출할 수 있고, 예를 들면, 하기의 수학식 1에 따라 신뢰도를 산출할 수 있다.
[수학식 1]
r = a2 + b + c
(여기에서, r은 신뢰도를 나타내고, a는 최근인 정도를 나타내는 정수이고, b는 과거에 제공된 검색 결과와 유사한 정도를 나타내는 정수이고, c는 데이터 베이스(400) 상에서의 접근 빈도를 나타내는 정수임)
일 실시 예에 따른 검색 결과 제공 장치(200)는 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 복수 개의 검색 결과 중 과거 수신된 검색 요청 히스토리에 대응되는 검색 결과를 획득하고, 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 채팅 UI를 통해 제공하고, 가장 높은 우선순위에 대응되는 검색 결과를 채팅 UI를 통해 제공할 수 있다.
예를 들면, 검색 결과 제공 장치(200)는 사용자 별로 검색 요청 히스토리를 저장 및 관리할 수 있고, 검색 요청 '2019년09월'이 수신되어(식별번호 40참조) 표준화된 키워드 '2019년09월'에 기초한 검색 결과를 복수 개 획득한 경우, 해당 사용자의 검색 요청 히스토리에 기초하여 가장 최근의 검색 요청 '연신 생산'(식별번호 20참조)에 따른 필터링 방식(예: '연신', '생산')이 적용된 2019년09월의 연신의 생산수량의 검색 결과에 가장 높은 우선순위에 부여하여 채팅방에 메시지로 제공할 수 있다(식별번호 50참조).
또한, 검색 결과 제공 장치(200)는 이후에도, 검색 요청 '오창 광학'이 수신되어(식별번호 60참조) 표준화된 키워드 '오창' 및 '광학'에 기초한 검색 결과를 복수 개 획득한 경우, 가장 최근의 검색 요청 '2019년09월'(식별번호 40참조) 및 '연신 생산'(식별번호 20참조)에 따른 필터링 방식(예: '2019년09월', '연신', '생산')이 누적되어 적용된 2019년09월 오창 광학 공장에 대한 연신의 생산수량의 검색 결과에 가장 높은 우선순위에 부여하여 채팅방에 메시지로 제공할 수 있다(식별번호 70참조).
이에 따라, 사용자는 최근의 검색 결과를 이용하여 변경하고자 하는 조건만 입력하는 방식으로 데이터의 필터링 조건을 용이하게 변경할 수 있고, 이전 질의에 이어서 질의하는 방식으로 연속된 질의를 할 수 있다.
일 실시 예에 따른 검색 결과 제공 장치(200)는 복수의 사용자들을 포함하는 그룹 별로 채팅방을 제공하고 해당 그룹에 대한 검색 요청 히스토리 및 해당 그룹 내에서 사용자별 검색 요청 히스토리를 각각 관리할 수 있다. 일 실시 예에서, 검색 결과 제공 장치(200)는 그룹의 채팅방에서 사용자의 검색 요청으로부터 획득된 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 사용자 설정에 따라 사용자와 그룹 중 하나의 검색 요청 히스토리에 기초하여 가장 높은 우선순위에 대응되는 검색 결과를 획득할 수 있다.
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, USB, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 사용자 단말
200: 검색 결과 제공 장치
210: 통신부 220: 프로세서
230: 저장부
300: OLAP 서버
400: 데이터 베이스
410: 메타데이터 저장부 420: 데이터 저장부

Claims (21)

  1. 검색 결과 제공 장치에 의해 수행되는 검색 결과 제공 방법에 있어서,
    상기 검색 결과 제공 장치가 채팅 UI(user interface)를 통해서 입력된 검색 요청을 사용자 단말로부터 수신하는 단계;
    상기 검색 결과 제공 장치가 상기 검색 요청으로부터 표준화된 키워드를 획득하는 단계;
    상기 검색 결과 제공 장치가 상기 표준화된 키워드에 기초하여 데이터 베이스의 조회를 위한 SQL(structured query language) 코드를 생성하는 단계;
    상기 검색 결과 제공 장치가 상기 SQL 코드를 이용하여 상기 검색 요청에 대응하는 검색 결과를 상기 데이터 베이스로부터 획득하는 단계; 및
    상기 검색 결과 제공 장치가 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계;를 포함하고,
    상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는
    상기 검색 결과 및 상기 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI에 대응하는 채팅방의 메시지 쓰레드에 추가하여 상기 사용자 단말을 통해 메시지 형태로 디스플레이하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는
    상기 데이터 베이스에 적용되는 OLAP(On-Line Analytical Processing)의 API(application programming interface)를 호출하는 단계;
    상기 API를 이용하여 상기 표준화된 키워드에 대응되는 리포트를 상기 데이터 베이스로부터 획득하는 단계; 및
    상기 리포트로부터 상기 검색 결과를 획득하는 단계;를 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 표준화된 키워드는 상기 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭을 포함하고,
    상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는
    상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 표준화된 키워드와 대응되지 않으면서 기설정 시간 이내의 최근 검색 결과를 획득하는데 이용된 하나 이상의 필터링 방식을 누적 적용하여 상기 복수 개의 검색 결과로부터 상기 검색 결과를 필터링하는 단계를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 표준화된 키워드를 획득하는 단계는
    상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 상기 채팅 UI를 통해 하나 이상의 후보 키워드를 제공하는 단계; 및
    상기 하나 이상의 후보 키워드 중 어느 하나에 대한 선택 입력에 기초하여 상기 표준화된 키워드를 결정하는 단계;를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 표준화된 키워드를 획득하는 단계는
    상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 기설정된 표준화된 키워드 중 상기 검색 요청에 포함된 키워드에 대한 유사 키워드를 획득하고,
    상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는
    상기 유사 키워드에 대응하는 상기 검색 결과를 상기 데이터 베이스로부터 획득하고,
    상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는
    상기 유사 키워드 및 상기 유사 키워드에 대응하는 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는, 방법.
  6. 제 1 항에 있어서,
    상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는
    상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 단계를 포함하고,
    상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는
    상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공하는 단계;를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는
    상기 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하는 단계;를 더 포함하는, 방법.
  8. 제 6 항에 있어서,
    상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하는 단계;를 더 포함하고,
    상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는
    상기 결정된 신뢰도를 상기 채팅 UI를 통해 제공하는 단계;를 더 포함하고,
    상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하는 단계는
    상기 가장 높은 우선순위에 대응되는 검색 결과가 최근인 정도를 나타내는 제 1 값, 과거에 제공된 검색 결과에 포함되는지 여부를 나타내는 제 2 값, 과거에 제공된 검색 결과와 유사한 정도를 나타내는 제 3 값 및 상기 데이터 베이스 상에서의 접근 빈도를 수치화한 제 4 값에 기초하여 상기 신뢰도를 결정하는, 방법.
  9. 제 8 항에 있어서,
    상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하는 단계는
    상기 표준화된 키워드에 대응되는 상기 복수 개의 검색 결과의 개수 및 상기 가장 높은 우선순위와 두번째로 높은 우선순위의 차이에 대응하는 값에 기초하여 상기 신뢰도를 결정하는, 방법.
  10. 제 1 항에 있어서,
    상기 검색 결과를 상기 데이터 베이스로부터 획득하는 단계는
    상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 과거 수신된 검색 요청 히스토리에 대응되는 검색 결과를 획득하는 단계를 포함하고,
    상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 단계는
    상기 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하는 단계; 및
    상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공하는 단계;를 포함하는, 방법.
  11. 검색 결과 제공 장치에 있어서,
    채팅 UI(user interface)를 통해서 입력된 검색 요청을 사용자 단말로부터 수신하는 통신부; 및
    상기 검색 요청으로부터 표준화된 키워드를 획득하고, 상기 표준화된 키워드에 기초하여 데이터 베이스의 조회를 위한 SQL(structured query language) 코드를 생성하고, 상기 SQL 코드를 이용하여 상기 검색 요청에 대응하는 검색 결과를 상기 데이터 베이스로부터 획득하고, 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는 프로세서;를 포함하고,
    상기 프로세서는
    상기 검색 결과 및 상기 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI에 대응하는 채팅방의 메시지 쓰레드에 추가하여 상기 사용자 단말을 통해 메시지 형태로 디스플레이하는, 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는
    상기 데이터 베이스에 적용되는 OLAP(On-Line Analytical Processing)의 API(application programming interface)를 호출하고,
    상기 API를 이용하여 상기 표준화된 키워드에 대응되는 리포트를 상기 데이터 베이스로부터 획득하고,
    상기 리포트로부터 상기 검색 결과를 획득하는, 장치.
  13. 제 12 항에 있어서,
    상기 표준화된 키워드는 상기 OLAP에 따라 정의된 메타 데이터의 항목을 나타내는 명칭을 포함하고,
    상기 프로세서는
    상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 표준화된 키워드와 대응되지 않으면서 기설정 시간 이내의 최근 검색 결과를 획득하는데 이용된 하나 이상의 필터링 방식을 누적 적용하여 상기 복수 개의 검색 결과로부터 상기 검색 결과를 필터링하는, 장치.
  14. 제 11 항에 있어서,
    상기 프로세서는
    상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 상기 채팅 UI를 통해 하나 이상의 후보 키워드를 제공하고,
    상기 하나 이상의 후보 키워드 중 어느 하나에 대한 선택 입력에 기초하여 상기 표준화된 키워드를 결정하는, 장치.
  15. 제 11 항에 있어서,
    상기 프로세서는
    상기 검색 요청에서 상기 표준화된 키워드를 획득하지 못한 경우, 기설정된 표준화된 키워드 중 상기 검색 요청에 포함된 키워드에 대한 유사 키워드를 획득하고,
    상기 유사 키워드에 대응하는 상기 검색 결과를 상기 데이터 베이스로부터 획득하고,
    상기 유사 키워드 및 상기 유사 키워드에 대응하는 상기 검색 결과를 상기 채팅 UI를 이용하여 제공하는, 장치.
  16. 제 11 항에 있어서,
    상기 프로세서는
    상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하고,
    상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공하는, 장치.
  17. 제 16 항에 있어서,
    상기 프로세서는
    상기 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하는, 장치.
  18. 제 16 항에 있어서,
    상기 프로세서는
    상기 가장 높은 우선순위에 대응되는 검색 결과에 대한 신뢰도를 결정하고,
    상기 결정된 신뢰도를 상기 채팅 UI를 통해 제공하고,
    상기 프로세서는
    상기 가장 높은 우선순위에 대응되는 검색 결과가 최근인 정도를 나타내는 제 1 값, 과거에 제공된 검색 결과에 포함되는지 여부를 나타내는 제 2 값, 과거에 제공된 검색 결과와 유사한 정도를 나타내는 제 3 값 및 상기 데이터 베이스 상에서의 접근 빈도를 수치화한 제 4 값에 기초하여 상기 신뢰도를 결정하는, 장치.
  19. 제 18 항에 있어서,
    상기 프로세서는
    상기 표준화된 키워드에 대응되는 상기 복수 개의 검색 결과의 개수 및 상기 가장 높은 우선순위와 두번째로 높은 우선순위의 차이에 대응하는 값에 기초하여 상기 신뢰도를 결정하는, 장치.
  20. 제 11 항에 있어서,
    상기 프로세서는
    상기 표준화된 키워드에 대응되는 복수 개의 검색 결과가 있는 경우, 상기 복수 개의 검색 결과 중 과거 수신된 검색 요청 히스토리에 대응되는 검색 결과를 획득하고,
    상기 복수 개의 검색 결과 중 기설정된 우선순위에 따라 가장 높은 우선순위에 대응되는 검색 결과를 획득하는 과정에서 이용된 필터링 방식을 상기 채팅 UI를 통해 제공하고,
    상기 가장 높은 우선순위에 대응되는 검색 결과를 상기 채팅 UI를 통해 제공하는, 장치.
  21. 제 1 항 내지 제 10 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020190172640A 2019-12-23 2019-12-23 검색 결과 제공 방법 및 장치 KR102271124B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190172640A KR102271124B1 (ko) 2019-12-23 2019-12-23 검색 결과 제공 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190172640A KR102271124B1 (ko) 2019-12-23 2019-12-23 검색 결과 제공 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102271124B1 true KR102271124B1 (ko) 2021-06-30

Family

ID=76602131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190172640A KR102271124B1 (ko) 2019-12-23 2019-12-23 검색 결과 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102271124B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010107111A (ko) * 2000-05-25 2001-12-07 서정연 대화형 db, faq리스트, 웹사이트에 대한 통합형자연어 질의-응답 검색 시스템 및 방법
KR20050001348A (ko) * 2003-06-24 2005-01-06 마이크로소프트 코포레이션 차원 속성과 차원별 다계층구조를 이용한 온라인 분석처리 시스템 및 방법
KR101505858B1 (ko) * 2014-04-10 2015-03-26 (주)비아이매트릭스 대용량 데이터를 용이하게 분석하기 위하여 테이블 관계 및 참조의 템플릿을 검색하여 제공하는 템플릿 기반 온라인 분석보고서 작성 지원 시스템
KR20160066910A (ko) * 2014-12-03 2016-06-13 삼성전자주식회사 서버 장치 및 그의 검색 결과 제공 방법
KR20160114928A (ko) * 2015-03-25 2016-10-06 주식회사 카카오 인터랙션을 통해 키워드를 검색하는 단말, 서버 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010107111A (ko) * 2000-05-25 2001-12-07 서정연 대화형 db, faq리스트, 웹사이트에 대한 통합형자연어 질의-응답 검색 시스템 및 방법
KR20050001348A (ko) * 2003-06-24 2005-01-06 마이크로소프트 코포레이션 차원 속성과 차원별 다계층구조를 이용한 온라인 분석처리 시스템 및 방법
KR101505858B1 (ko) * 2014-04-10 2015-03-26 (주)비아이매트릭스 대용량 데이터를 용이하게 분석하기 위하여 테이블 관계 및 참조의 템플릿을 검색하여 제공하는 템플릿 기반 온라인 분석보고서 작성 지원 시스템
KR20160066910A (ko) * 2014-12-03 2016-06-13 삼성전자주식회사 서버 장치 및 그의 검색 결과 제공 방법
KR20160114928A (ko) * 2015-03-25 2016-10-06 주식회사 카카오 인터랙션을 통해 키워드를 검색하는 단말, 서버 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국공개특허 제10-2011-0010306호는 OLAP 기반 중소기업형 고객관계 관리시스템에 관한 것으로, 초기 고객의 주문을 입력하는 고객사 발주등록 단계(S10), 결정된 생산계획에 의한 생산품목 및 목표수량을 입력하는 생산계획서 등록 단계(S20), 주문을 통한 생산계획과 자재소요량을 산출하여 자재구매 및 입고하는 자재등록 단계(S30), 작업현장에서 제작된 품목의 생산 실적을 입력하는 생산실적 관리 단계(S40), 생산된 품목을 고객에 납품하는 판매관리 단계(S50), 생산품목의 품질에 대한 데이터를 생성하는 자주검사 단계(S60), 출하 후 발생되는 사후관리 단계(S70), 상기 각각의 단계를 종합적으로 분석하여 보고서를 제출하는 단계(S80)를 포함한다.

Similar Documents

Publication Publication Date Title
US11645345B2 (en) Systems and methods for issue tracking systems
RU2679977C1 (ru) Создание запросов для выполнения по многомерным структурам данных
US20180239781A1 (en) Automatically obtaining real-time, geographically-relevant product information from heterogeneus sources
US20140330821A1 (en) Recommending context based actions for data visualizations
US10275495B2 (en) User-dependent ranking of data items
US20150142507A1 (en) Recommendation system for specifying and achieving goals
US20170097940A1 (en) Analytical Search Engine
CN109284323B (zh) 检测数据的管理方法及装置
US10289622B2 (en) Ranking using data of continuous scales
US10255239B2 (en) Ranking based on object data
US20100211895A1 (en) Method for visualization and integration of business intelligence data
US9798833B2 (en) Accessing information content in a database platform using metadata
KR102249466B1 (ko) 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템
US8600982B2 (en) Providing relevant information based on data space activity items
CN111241387A (zh) 提高搜索结果的相关性
US20150262264A1 (en) Confidence in online reviews
KR101762720B1 (ko) 포탈 기반 물관련 정보 제공 시스템
US10289620B1 (en) Reporting and data governance management
US10366089B2 (en) Ranking based on dynamic contextual information
KR102271124B1 (ko) 검색 결과 제공 방법 및 장치
US10394826B1 (en) System and methods for searching query data
US9338062B2 (en) Information displaying method and apparatus
AU2018214042A1 (en) Information displaying method and apparatus
US20190147082A1 (en) Reporting and data governance management
US9053151B2 (en) Dynamically joined fast search views for business objects

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant