KR102063242B1 - 검색장치 및 프로그램 - Google Patents

검색장치 및 프로그램 Download PDF

Info

Publication number
KR102063242B1
KR102063242B1 KR1020190080919A KR20190080919A KR102063242B1 KR 102063242 B1 KR102063242 B1 KR 102063242B1 KR 1020190080919 A KR1020190080919 A KR 1020190080919A KR 20190080919 A KR20190080919 A KR 20190080919A KR 102063242 B1 KR102063242 B1 KR 102063242B1
Authority
KR
South Korea
Prior art keywords
answer
chatbot
question
data
unit
Prior art date
Application number
KR1020190080919A
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 제이이 인터네셔널 코포레이션
Application granted granted Critical
Publication of KR102063242B1 publication Critical patent/KR102063242B1/ko

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/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사용자의 질문 등에 대응하여 적절한 챗봇 서비스를 특정하고 출력할 수 있게 할 수 있는 검색 장치를 제공한다.
검색 장치는 입력 텍스트에 대한 답변을 생성하여 출력하는 챗봇 서버 장치에서 답변 데이터를 검색하는 답변 추출부와, 답변 데이터 기억부에 저장되어있는 답변 데이터의 특징을 분석하고, 그 분석 결과인 챗봇 특징 데이터를 챗봇 식별 정보와 연관해서 답변 데이터 기억부에 기록하는 답변 분석부와, 외부로부터 접수한 질문의 특징을 분석하고, 그 분석 결과인 질문 특징 데이터를 출력하는 질문 분석부와, 챗봇 특징 데이터와 질문 특징 데이터 간의 적합도를 구하는 매칭 평가부와, 매칭 평가부가 구한 적합도에 따라 질문에 적합한 챗봇 서버 장치의 정보를 출력하는 검색 결과 출력부를 구비한다.

Description

검색장치 및 프로그램{Searching device and searching program}
본 발명은 검색 장치 및 프로그램에 관한 것이다.
최근 채팅 시스템을 이용하여 정보를 제공하는 방법이 보급되고 확대되는 경향이 보인다. 채팅 시스템은 텍스트의 상호 작용에 의해 사용자 등과의 사이의 대화를 위한 시스템이다. 또한, 인공 지능 기술을 적용하여 사람의 개입 없이 자동으로 사용자의 질문 등에 대응하는 채팅 시스템의 보급도 기대된다.
특허문헌 1은 입력 텍스트와 응답 텍스트와의 관계 패턴을 학습하고 학습된 모델을 이용하여 새로운 입력 텍스트에 대응하는 응답을 자동으로 생성하는 응답 시스템 기술이 기재되어있다.
특허문헌 1: 일본 특허 제6218057호 공보
상기된 바와 같이, 인공 지능 등의 기술을 이용하여 사람을 거치지 않고 자동으로 응답하는 서버 장치의 기능을, 이하에서는 편의적으로 "챗봇'(chatbot)이라고 부른다. 챗봇을 이용하여 사용자에게 필요한 지식을 자동으로 저장하고, 사용자로부터 보내지는 입력 텍스트에 대해 더 잘 정제된 응답 텍스트의 생성을 할 수 있도록 기계 학습을 행하는 것이 가능해진다. 그런데 이러한 챗봇이 보급되면서 새로운 과제가 생긴다. 그것은 다수의 챗봇의 서비스가 인터넷상에서 제공되기 때문에 사용자의 관심사에 대해 가장 적절하게 대응할 수 있는 챗봇을 쉽게 찾아낼 수 없다는 과제가 있다.
챗봇이 아닌 일반 웹 페이지에 관해서는 소위 검색 엔진은 방대한 웹 페이지의 정보를 자동으로 수집하고 인덱싱하고 그 정보를 일반에 제공하고 있다. 그러나 종래 기술에 따른 검색 엔진은 반드시 챗봇의 정보를 효율적으로 수집하고 적절한 형태로 정보를 제공할 수 있는 것은 아니다. 이는 일반 웹 페이지와 챗봇은 정보의 제공 방법에 큰 차이가 있기 때문이다.
챗봇이 아닌 일반 웹 페이지뿐만 아니라 챗봇에 관해서도, 사용자의 관심사 등에 따라 적절한 서비스를 검색할 수 있도록 하는 것이 강하게 요구된다. 또한, 사용자가 적절한 챗봇을 쉽게 찾아내는 수 있도록 하는 것으로, 챗봇을 이용한 서비스 전체 유용성이 더욱 높아질 것으로 기대된다.
본 발명은 상기와 같은 과제 인식에 따라 행해진 것이며, 사용자의 질문 등에 대응하여 적절한 챗봇의 서비스를 확인하고 출력할 수 있게 할 수 있는 검색 장치 및 그 프로그램을 제공하고자 하는 것이다.
[1]상기의 과제를 해결하기 위한 본 발명의 양태에 따른 검색 시스템은: 입력 텍스트에 대한 답변을 생성하여 출력하는 챗봇 서버 장치로부터 상기 챗봇 서버 장치가 출력하는 상기 답변의 데이터인 답변 데이터를 취득하는 답변 추출부와, 상기 답변 추출부가 취득한 상기 답변 데이터를 취득원 챗봇 서버 장치를 식별하기 위한 챗봇 식별 정보와 연관해서 기억하는 답변 데이터 기억부와, 상기 답변 데이터 기억부에 기억되어있는 상기 답변 데이터의 특징을 분석하고, 그 분석 결과인 챗봇 특징 데이터를 상기 챗봇 식별 정보와 연관해서 상기 답변 데이터 기억부에 기록하는 답변 분석부와, 외부로부터 접수한 질문의 특징을 분석하고, 그 분석 결과인 질문 특징 데이터를 출력하는 질문 분석부와, 상기 챗봇 특징 데이터와 상기 질문 특징 데이터 간의 적합도를 구하는 매칭 평가부와, 상기 매칭 평가부가 구한 상기 적합도에 따라 상기 질문에 적합한 상기 챗봇 서버 장치의 정보를 출력하는 검색 결과 출력부를 구비하는 것이다.
[2] 또한, 본 발명의 일 양태는 상기 검색 장치에 있어서, 상기 챗봇 특징 데이터는 상기 답변 데이터가 나타내는 사물의 속성 명과 속성 값 쌍의 집합이고, 상기 질문 특징 데이터는 상기 질문이 나타내는 사물의 속성 명과 속성 값 쌍의 집합인 것이다.
[3] 또한, 본 발명의 일 양태는 상기 검색 장치에 있어서, 상기 적합도는 상기 챗봇 특징 데이터와 상기 질문 특징 데이터 사이에서의, 동일한 상기 속성 명에 있어서의 상기 속성 값의 일치하는 정도에 근거한다.
[4] 또한, 본 발명의 일 양태는 상기 검색 장치에 있어서, 상기 답변 추출부는 상기 챗봇 서버 장치에 대해 대표적인 입력 텍스트의 내용을 전송하고, 상기 대표적인 입력 텍스트에 대응하여 상기 챗봇 서버 장치가 출력하는 상기 답변 데이터를 취득하는 것이다.
[5] 또한, 본 발명의 일 양태는 상기 검색 장치에 있어서, 상기 검색 결과 출력부는 상기 챗봇 서버 장치에 대한 액세스를 위한 액세스 정보를 포함하여 상기 챗봇 서버 장치의 정보를 출력하는 것이다.
[6] 또한, 본 발명의 일 양태는 컴퓨터를, 입력 텍스트에 대한 답변을 생성하여 출력하는 챗봇 서버 장치에서, 상기 챗봇 서버 장치가 출력하는 상기 답변의 데이터인 답변 데이터를 취득하는 답변 추출부와, 상기 답변 추출부가 취득한 상기 답변 데이터를 취득원 챗봇 서버 장치를 식별하는 챗봇 식별 정보와 연관해서 기억하는 답변 데이터 기억부와, 상기 답변 데이터 기억부에 저장되어 있는 상기 답변 데이터의 특징을 분석하고, 그 분석 결과인 챗봇 특징 데이터를 상기 챗봇 식별 정보와 연관해서 상기 답변 데이터 기억부에 기록하는 답변 분석부와, 외부로부터 접수한 질문의 특징을 분석하고, 그 분석 결과인 질문 특징 데이터를 출력하는 질문 분석부와, 상기 챗봇 특징 데이터와 상기 질문 특징 데이터 간의 적합도를 구하는 매칭 평가부와, 상기 매칭 평가부가 구한 상기 적합도에 따라 상기 질문에 적합한 상기 챗봇 서버 장치의 정보를 출력하는 검색 결과 출력부를 구비하는 검색 장치로서 기능시키기 위한 프로그램이다.
본 발명에 의하면, 챗봇 서비스의 내용에 적합한 형태로 그 검색 엔진을 실현할 수 있다. 즉, 종래 기술에서는 불가능했던 방식으로, 사용자 등으로부터의 질문에 대응하고, 챗봇 서비스에 대한 정보를 출력할 수 있게 된다.
도 1은 본 발명의 실시예에 따른 챗봇 검색 장치의 개략 기능 구성을 나타내는 블록도이다.
도 2는 동 실시예에 따른 챗봇 검색 장치가 작동하는 환경인 전체 시스템의 개략적인 구성을 나타내는 블록도이다.
도 3은 동 실시예가 처리의 대상으로 하는 챗봇 서버 장치의 개략 기능 구성을 나타내는 블록도이다.
도 4는 동 실시예에 따른 관리 정보 기억부가 기억하는 챗봇 테이블의 데이터 구성을 나타내는 개략도이다.
도 5는 동 실시예에 따른 답변 데이터베이스 기억부가 기억하는 답변 테이블의 데이터 구성을 나타내는 개략도이다.
도 6은 동 실시예에 따른 답변 데이터베이스 기억부가 기억하는 답변 분석 결과 테이블의 데이터 구성을 나타내는 개략도이다.
도 7은 동 실시예에 따른 챗봇 검색 장치가 챗봇 서버 장치에서 답변 데이터를 추출한 답변 데이터를 답변 데이터베이스 기억부내에 기록하기 위한 처리 절차를 나타내는 흐름도이다.
도 8은 동 실시예에 따른 답변 데이터베이스 기억부에 다수의 챗봇 서버 장치를 분석한 결과 데이터가 유지되는 상황에서 단말 장치로부터 송신되는 질문에 대응하여 검색 결과를 구하여 출력하는 처리 절차를 나타내는 흐름도이다.
[실시예]
본 실시예에 따른 챗봇 검색 장치는, 예를 들어 사용자가 입력하는 질문(쿼리)에 따라 그 질문에 적합한 챗봇 서버 장치의 정보를 출력하는 것이다. 이를 통해 사용자는 자신의 목적 등에 적합한 챗봇 서버 장치에 액세스하고 채팅 서비스를 이용할 수 있게된다.
본 실시예에서는, 챗봇 서비스 장치 및 그 서비스가 제공하는 정보의 특징을 엔티티(entity) ID와 엔티티 구성 요소의 쌍의 형식으로 표현하고 활용한다. 이것은 사물 등을 그 속성 정보에 의해 파악하는 것을 전제로 하는 것이다. 그리고 엔티티 ID는 속성 명이다. 또한, 엔티티 구성 요소는 속성 값이다. 즉, 본 실시예에서는, 챗봇 서버 장치 및 서비스의 특징을 나타내는 정보로서 엔티티 ID와 엔티티 구성 요소의 쌍의 집합을 축적한다. 또한, 사용자의 질문(쿼리)의 특징을 나타내는 정보도 그 질문에 대한 엔티티 ID와 엔티티 구성 요소의 쌍의 집합으로 표현한다. 그리고 이러한 양방의 쌍의 집합의 매칭평가(일치 여부에 대한 평가)를 실시하는 것으로, 질문에 대한 적합도가 높은 챗봇 서비스 장치 및 그 서비스를 구하여 출력하도록 한다.
도 1은 본 실시예에 따른 챗봇 검색 장치의 개략 기능 구성을 나타내는 블록도 이다. 도시한 바와 같이, 챗봇 검색 장치(1)는 서비스부(10)와, 질문 분석부(20)와, 검색부(30)와, 답변 데이터베이스 기억부(41)와, 관리 정보 기억부(32)와, 답변 추출부(50)와, 답변 분석부(60)를 포함하여 구성된다. 이러한 각 기능부는 예를 들어, 전자 회로를 이용하여 실현된다. 또한, 각 기능부는 필요에 따라 반도체 메모리나 자기 디스크 장치 등의 기억 수단을 내부에 구비해도 된다. 또한 각 기능을 컴퓨터 및 프로그램에 의해 실현하도록 하여도 된다.
서비스부(10)는 검색요구원 장치(검색을 요구하는 장치)에 대한 인터페이스(예를 들어, 휴먼 인터페이스)를 제공한다. 구체적으로는 검색하기 위한 질문을 외부 장치로부터 통신 등으로 수신하여 그 질문에 대응하는 검색 결과의 데이터를 해당 외부 장치에 반송한다.
질문 분석부(20)는 서비스부(10)가 접수한 질문(검색 데이터, 검색어, 쿼리 등이라 함)을 분석하여 질문 특징 데이터를 추출한다. 즉, 질문 분석부(20)는 외부로부터 접수한 질문의 특징을 분석하고, 그 분석 결과인 질문 특징 데이터를 출력한다. 질문 특징 데이터는 질문의 특징을 나타내는 것이다. 본 실시예에서, 질문 특징 데이터는 질문이 나타내는 사물의 속성 명 ("엔티티 ID"라고도 함)과 속성 값 ("엔티티 구성 요소"라고도 함) 쌍의 집합이다. 그러나 다른 형식으로 질문 특징 데이터를 표현해도 된다. 구체적으로 질문 분석부(20)는 질문 엔티티 분류부(21), 질문 구성 요소 추출부(22)를 포함하여 구성된다. 질문 엔티티 분류부(21)는 질문에 포함된 엔티티 ID를 분류하고 출력한다. 질문 구성 요소 추출부(22)는 질문 엔티티 분류부(21)가 출력한 엔티티 ID에 대응하여, 엔티티 구성 요소를 추출하여 출력한다.
상기 질문 분석부(20)는 예를 들어, 문장의 의미 해석 기법을 이용하여 질문 문장을 분석한다. 이를 위해 질문 분석부(20)는 분석 대상 문장의 구문 분석을 실시해, 구문 트리를 생성한다. 또한, 질문 분석부(20)는 엔티티 ID가 될 수 있는 개념의 집합을 사전 데이터로 미리 보유하고 있다. 그 사전은 예를 들어, "위치", "메뉴", "가격", "개점 시간", "폐점 시간" 등의 항목을 엔티티 ID가 될 수 있는 개념으로 보유하고 있다. 여기에서 예시한 엔티티 ID가 될 수 있는 개념은 음식점에 관한 것이지만, 질문 분석부(20)는 다른 업종에 대해서도 동일한 방식의 사전 데이터를 미리 보유하고 있다. 또한, 질문 분석부(20)가 보유하고 있는 사전 데이터는 개념 사이의 관계를 나타내는 데이터를 포함한다. 예를 들어, "시부야역앞"이라는 개념은 "위치"라는 개념의 예(하위 개념)이다. 또한, "우동"이라는 개념은 "메뉴"라는 개념의 예(하위 개념)이다. 질문 분석부(20)는 사전 데이터를 참조하여 분석 대상의 질문 문장에서 엔티티 구성 요소 (위의 예에서는 "시부야역앞"이나 "우동")를 추출하고, 그 엔티티 구성 요소에 대응 엔티티 ID를 추출한다. 예를 들어, "시부야역앞"이라는 엔티티 구성 요소에 대응하는 엔티티 ID는 "위치"이다. 또한 "우동"이라는 엔티티 구성 요소에 대응하는 엔티티 ID는 "메뉴"이다.
검색부(30)는, 질문 분석부(20)에 의한 분석 처리의 결과로 얻어지는 질문 특징 데이터에 기초하여, 질문 특징 데이터와의 사이에 적합도가 높은 챗봇 특징 데이터를 찾는다. 검색부(30)는 적합도가 높은 순으로 챗봇 서버 장치(71)의 정보를 검색 결과의 정보로 출력한다. 검색부(30)는 검색 결과의 정보를 서비스부(10)에 전달한다. 구체적으로는 검색부(30)는 매칭 평가부(31)와, 검색 결과 출력부(32)를 포함하여 구성된다. 매칭 평가부(31)는 질문 특징 데이터와 챗봇 특징 데이터 간의 매칭평가를 하고 일치도 수치를 산출한다. 즉, 매칭 평가부(31)는 챗봇 특징 데이터와 질문 특징 데이터 간의 적합도를 구한다. 검색 결과 출력부(32)는 매칭 평가부(31)가 산출한 일치도 (이것을 "적합도"로 한다)에 따라 챗봇 ID를 정렬 (예를 들어 내림차순 정렬)하여 출력한다. 즉, 검색 결과 출력부(32)는 매칭 평가부(31)가 구한 적합도에 따라 원래 외부에서 받은 질문에 적합한 챗봇 서버 장치(71)의 정보를 출력한다. 또한, 검색 결과 출력부(32)는 챗봇 ID와 연결된 URL을 관리 정보 기억부(32)로부터 판독하여 함께 출력한다. 예를 들어, 검색 결과 출력부(32)는 관리 정보 기억부(42)로부터 판독한 상기 URL을 HTML (Hypertext Markup Language) 하이퍼링크의 형식을 이용하여 출력한다. 즉, 검색 결과 출력부(32)는 챗봇 서버 장치(71)에 대한 액세스(access)를 위한 액세스 정보를 포함하는 형태로, 챗봇 서버 장치(71)의 정보를 출력한다.
답변 데이터베이스 기억부(41)는 챗봇 서버 장치(71)의 답변의 내용예의 데이터 (답변 데이터)와 그 답변 데이터의 분석 결과의 데이터 (챗봇 특징 데이터)를 저장하는 데이터베이스이다. 즉, 답변 데이터베이스 기억부(41)는 답변 추출부(50)가 취득한 답변 데이터를, 취득원(취득대상인) 챗봇 서버 장치(71)를 식별하기 위한 챗봇 식별 정보와 연관해서 기억하는 것이다. 또한, 답변 데이터베이스 기억부(41)를 "답변 데이터 기억부"라고도 칭한다. 관리 정보 기억부(32)는 관리를 위한 정보를 기억하는 것이다. 관리 정보 기억부(32)가 기억하는 데이터는 챗봇 서버 장치(71)마다 액세스 정보(구체적으로는, URL)가 포함된다.
답변 추출부(50)는 챗봇 서버 장치(71)에서 답변 데이터를 추출하고 추출한 답변 데이터를 답변 데이터베이스 기억부(41) 내의 테이블에 기록한다. 즉, 답변 추출부(50)는, 입력 텍스트에 대한 답변을 생성하여 출력하는 챗봇 서버 장치(71)에서, 챗봇 서버 장치(71)가 출력하는 답변의 데이터인 답변 데이터를 취득하는 것이다. 구체적으로는 답변 추출부(50)는 챗봇 서버 장치(71)에 소정의 질문을 던지고 그 질문에 대응하는 응답 텍스트를 수신한다. 답변 추출부(50)는 복수의 질문을 챗봇 서버 장치(71)에 전송할 수도 있다. 이러한 질문을 "대표 질문"이라고 부른다. 대표 질문 내용 (텍스트 데이터)는 미리 준비해 두도록 한다. 또한, 답변 추출부(50)는 대표 질문과 답변의 쌍으로, 답변 데이터를 답변 데이터베이스 기억부(41)에 기록한다. 즉, 답변 추출부(50)는, 한 방법으로서, 챗봇 서버 장치(71)에 대해서 대표적인 입력 텍스트(대표 질문) 내용을 전송하고, 그 대표적인 입력 텍스트에 대응해서 챗봇 서버 장치(71)가 출력하는 상기 답변 데이터를 취득한다. 또한, 상기 방법 대신 답변 추출부(50)가 일괄 데이터(batch data) 전송 방식으로 챗봇 서버 장치(71)에서 답변 데이터를 취득할 수 있도록 해도 좋다. 이 경우, 챗봇 서버 장치(71)는 대표 질문의 텍스트와 그것에 대응하는 답변 텍스트의 쌍의 집합의 데이터를 미리 보유하고 있으며, 그 데이터를 답변 추출부(50)의 요청에 따라 전송한다. 이 경우, 챗봇 서버 장치(71)는 일반 채팅 서비스의 인터페이스와는 별도로 답변 데이터의 일괄 전송을 위한 특별한 인터페이스를 미리 가지고 있다. 또한, 대표 질문과 답변의 쌍의 집합 데이터는 예를 들어, 챗봇 서버 장치(71)가 후술하는 기계 학습 처리시에 이용한 학습 데이터이다. 답변 추출부(50)의 이 기능에 의해 답변 데이터베이스 기억부(41)는 챗봇 서버 장치(71) 마다 대표 질문(입력 텍스트)과 답변(응답 텍스트)의 쌍의 집합의 데이터를 저장할 수 있다.
답변 분석부(60)는 답변 데이터베이스 기억부(41)가 보유하고 있는 답변 데이터를 분석하고, 그 분석 결과를 답변 데이터베이스 기억부(41)에 기록한다. 보다 구체적으로는 답변 분석부(60)는 답변 데이터베이스 기억부(41)에 기억(저장)되어 있는 답변 데이터의 특징을 분석하고, 그 분석 결과인 챗봇 특징 데이터를 챗봇 식별 정보와 연관해서 답변 데이터베이스 저장부(41)에 기록한다. 챗봇 특징 데이터는 개별 챗봇 서버 장치(71)의 또는 그 서비스 내용의 특징을 나타내는 것이다. 본 실시예에서는, 챗봇 특징 데이터는 답변 데이터가 나타내는 사물의 속성 명과 속성 값 쌍의 집합이다. 그러나 다른 형식으로 챗봇 특징 데이터를 표현해도 좋다. 구체적으로는 답변 분석부(60)는 답변 엔티티 분류부(61)와 답변서 구성 요소 추출부(62)를 포함하여 구성된다. 답변 엔티티 분류부(61)는 대표 질문과 답변의 쌍에 따라 엔티티를 분류하고 그 대표 질문과 답변의 쌍에 연관하는 엔티티 ID를 출력한다. 엔티티 ID는 즉, 속성 명이다. 답변 구성 요소 추출부(62)는 대표 질문과 답변의 쌍에 기초해서 엔티티 구성 요소를 추출하여 출력한다. 엔티티 구성 요소는 상기 엔티티 ID에 해당하는 속성 값이다. 즉, 답변 분석부(60)는 전체적으로 대표 질문과 답변의 쌍의 집합을 바탕으로 엔티티 ID와 엔티티 구성 요소의 쌍의 집합을 구하고 출력한다. 구체적으로는 답변 분석부(60)는 엔티티 ID와 엔티티 구성 요소의 쌍 집합을 답변 데이터베이스 기억부(41) 내에 포함된 답변 분석 결과 테이블에 기록한다.
상기 답변 분석부(60)는 상기 질문 분석부(20)와 마찬가지로, 예를 들어, 문장의 의미 해석 기법을 이용하여 대표 질문 및 답변 문장을 분석한다.
도 2는 챗봇 검색 장치가 작동하는 환경인 전체 시스템의 개략적인 구성을 나타내는 블록도 이다. 도시한 바와 같이, 이 시스템은 챗봇 검색 장치(1)와, 챗봇 서버 장치(71-1, 71-2, 71-3, ...)와, 단말 장치(72-1, 72-2, 72-3, ...)가 인터넷(70)에서 상호 연결된 형태로 구성된다. 또한, 챗봇 서버 장치(71-1, 71-2, 71-3, ...)를 간단하게 챗봇 서버 장치(71)로 언급할 수 있다. 또한, 단말 장치(72-1, 72-2, 72-3, ...)를 간단히 단말 장치(72)로 언급할 수 있다. 이 도에서는 하나의 챗봇 검색 장치(1)와 세 개의 챗봇 서버 장치(71)와 세 개의 단말 장치(72)를 나타내고 있다. 그러나 각 장치의 대수는 임의로 선택될 수 있다.
챗봇 검색 장치(1)의 기능은 도 1을 참조하여 설명한 바와 같다. 챗봇 검색 장치(1)는 미리, 챗봇 서버 장치(71)에 대한 정보를 축적하고 분석한다. 챗봇 검색 장치(1)는 단말 장치(72)로부터 전송되는 질문의 텍스트에 따라 그 질문에 대응하는 적절한 단수 또는 복수의 챗봇 서버 장치(71)의 정보를 단말 장치(72)에 돌려준다. 챗봇 검색 장치(1)는 인터넷(70)을 통해 다른 장치와의 사이에서 통신을 할 수 있다.
챗봇 서버 장치(71)는 단말기 장치(72)에 대해서 챗봇 서비스를 제공한다. 즉, 챗봇 서버 장치(71)는 단말기 장치(72)에서 송신되는 입력 텍스트에 대해서 그 입력 텍스트에 대응하는 적절한 응답 텍스트를 단말기 장치(72)에 돌려준다. 또 챗봇 서버 장치(71)는 예컨대 챗봇 검색 장치(1)의 요구에 응해서 자기가 가진 대화 내용에 관한 정보를 챗봇 검색 장치(1)에 넘겨준다. 챗봇 서버 장치(71)는 인터넷(70)을 통해서 다른 장치와 통신을 할 수 있다. 챗봇 서버 장치(71)는 예를 들면 서버형 컴퓨터를 이용해서 실현된다. 챗봇 서버 장치(71)는 인간이 입력한 텍스트를 응답 텍스트로 반환하는 것은 아니고 컴퓨터 처리로서 생성한 텍스트를 응답 텍스트로서 단말기 장치(72)에 반환하는 것이다. 챗봇 서버 장치(71)의 내부 기능 구성의 개략에 대해서는 나중에 다른 도면을 참조하면서 설명한다.
단말 장치(72)는 챗봇 서버 장치(71)에 텍스트를 전송한다. 그리고 그 텍스트에 대한 응답으로서 챗봇 서버 장치(71)로부터 송신되는 응답 텍스트를 수신한다. 단말 장치(72)는 챗봇 서버 장치(71)와의 사이에서의 상기 텍스트의 송수신을 여러 번 반복해도 좋다. 그러면 단말 장치(72)와 챗봇 서버 장치(71) 사이에 대화가 성립한다. 단말 장치(72)는 예를 들어, 사용자에 의해 조작된다. 단말 장치(72)가 챗봇 서버 장치(71)에 보내는 문자는 키보드나 터치 패널, 음성 인식 수단 등을 이용하여 사용자가 입력한 것이어도 좋다. 단말 장치(72)는 인터넷(70)을 통해 다른 장치와의 사이에서 통신을 할 수 있다. 단말 장치(72)는 예를 들어, 데스크탑 PC (개인용 컴퓨터)나 노트북 PC와 태블릿이나 스마트폰, 손목 시계형 단말기나 웨어러블 단말 장치 및 기타 정보 기기를 이용하여 실현된다.
단말 장치(72)는 또한 챗봇 검색 장치(1)에 질문 텍스트를 송신한다. 질문 텍스트는 사용자에 의해 입력된 것이어도 좋다. 그리고 단말 장치(72)는 그 질문의 텍스트에 대한 응답으로 챗봇 검색 장치(1)에서 단수 또는 복수의 챗봇 서버 장치(71)의 정보를 수신한다. 단말 장치(72)가 챗봇 검색 장치(1)에서 수신하는 정보에 해당 챗봇 서버 장치(71)에 접근(access)을 위한 액세스 정보 (예를 들어, URL (Uniform Resource Locator))가 포함 된다. 단말 장치(72)는 그 액세스 정보를 이용하여 해당 챗봇 서버 장치(71)에 액세스할 수 있게 된다. 즉, 단말 장치(72)는 챗봇 검색 장치(1)에 보낸 질문의 텍스트에 대응하는 챗봇 서버 장치(71)의 정보를 수신하여 챗봇 서버 장치(71)에 쉽게 접근할 수 있게 된다 .
도 3은 챗봇 서버 장치의 개략 기능 구성을 나타내는 블록도 이다. 도시한 바와 같이, 챗봇 서버 장치(71)는 입력부(81)와, 답변 생성부(82)와, 출력부(83)와, 인공 지능 기능부(84)와, 참조 정보 기억부(85)를 포함하여 구성된다.
입력부(81)는 외부 장치 (단말 장치(72) 등)에서 텍스트 입력을 수신한다. 입력부(81)는 입력 텍스트를 답변 생성부(82)에 전달한다. 답변 생성부(82)는 입력부(81)에서 전달된 입력 텍스트에 응해 답변을 생성한다. 구체적으로는 답변 생성부(82)는 입력 텍스트를 인공 지능 기능부(84)에 전달한다. 답변 생성부(82)는 인공 지능 기능부(84)로부터 출력되는 텍스트를 답변으로 생성한다. 또한, 답변 생성부(82)는 참조 정보 기억부(85)로부터 읽어낸 정보를 인공 지능 기능부(84)로부터 출력되는 텍스트에 부가할 수 있다. 답변 생성부(82)는 이렇게 생성된 답변을 응답 텍스트로 출력한다. 답변 생성부(82)는 응답 텍스트를 출력부(83)에 전달한다. 출력부(83)는 답변 생성부(82)에서 전달되는 응답 텍스트를 원래 외부 장치(단말 장치(72) 등)에 반송한다.
인공 지능 기능부(84)는 답변 생성부(82)에서 전달되는 입력 텍스트를 입력받아 입력 텍스트에 대응하는 응답 텍스트(답변)를 출력한다. 인공 지능 기능부(84)는 그 입출력 관계에 관한 모델을 기억하고 있다. 인공 지능 기능부(84)는 그 모델에 대한 기계 학습 처리를 미리 하고 있다. 즉, 인공 지능 기능부(84)는 예를 들어, 입력 텍스트와 응답 텍스트의 쌍을 학습용 데이터(바른 예와 나쁜 예 모두 사용할 수 있다)로 사용하여 미리 기계 학습 처리를 실시해, 학습된 모델을 보유하고 있다. 이러한 모델이 학습 되어 있기 때문에, 인공 지능 기능부(84)는 입력 텍스트에 대응하는 적절한 답변 (응답 텍스트)를 출력할 수 있다. 인공 지능 기능부(84)는 임의의 방법을 사용하여 기계 학습을 실시할 수 있다. 인공 지능 기능부(84)는 예를 들어, 신경망 기법을 사용한다. 신경망을 사용하는 경우, 인공 지능 기능부(84)는 신경망의 노드의 가중치 계수 (전단 노드에서 여러 출력 값에 따라 가중치 합(weighed sum)을 산출할 때의 가중치)를 학습 결과로서 기억하고 있다. 신경망을 사용하는 경우, 학습 방법으로는 역전파법 (오차역전파법)을 사용할 수 있다. 또한, 신경망을 비롯해 인공 지능과 기계 학습 기법 자체로는 기존의 기술을 사용할 수 있다.
참조 정보 기억부(85)는 인공 지능 기능부(84)가 출력하는 답변 (응답 텍스트)에 부가하는 정보를 기억(저장)하는 것이다. 예를 들어, 참조 정보 기억부(85)는 은행의 계좌별 잔액 정보를 보유하는 데이터베이스 시스템이다. 이 경우, 인공 지능 기능부(84)는 계좌의 잔액을 문의하는 입력 텍스트에 대해 예를 들어 "잔액은 X 엔입니다."라는 변수가 있는 답변을 출력한다. 여기서 X는 숫자 데이터로 대체되는 변수이다. 즉, 참조 정보 기억부(85)는 계좌별 잔액의 수치를 기억하고 있다. 참조 정보 기억부(85)가 기억하고 있는 특정 계좌의 잔액(숫자)은, 변수 X를 대체하기 위해 참조될 수 있다. 여기에서는 예로 참조 정보 기억부(85)가 은행 계좌의 잔액 정보를 기억하는 경우를 설명했지만, 참조 정보 기억부(85)가 기억하는 정보의 종류는 이에 한정되지 않고 임의이다. 즉, 참조 정보 기억부(85)는 인공 지능 기능부(84)가 출력하는 응답 텍스트에 부가하는 정보를 기억한다.
이상의 구성을 가짐으로써, 챗봇 서버 장치(71)는 입력 텍스트에 대응하는 적절한 대응 텍스트(답변)을 반환할 수 있다.
도 4는 관리 정보 기억부(42)가 기억하는 챗봇 테이블의 데이터 구성을 나타내는 개략도이다. 도시한 바와 같이, 이 테이블은 표 형식의 데이터이며, 챗봇 ID와 URL 항목이 있다. 챗봇 ID는 챗봇 서버 장치(71)에 부여된 식별 정보이다. URL은 그 챗봇 서버 장치(71)의 소재를 나타내는 정보이다. 이 테이블의 각 행은 하나의 챗봇에 대응하고 있다. 이 챗봇 테이블을 참조하여 특정 챗봇 ID에 해당하는 URL 정보를 취득하는 것이 가능하다.
이 도에 표시된 데이터의 예로 챗봇 ID "CHATBOT-0001"이 존재한다. 그리고 챗봇 ID "CHATBOT-0001"에 대응하는 URL은 "https://chat-a.xxxxxxxx.co.jp/"이다. 챗봇 테이블은 다른 챗봇 ID에 대한 데이터도 보유한다.
도 5는 답변 데이터베이스 기억부(41)가 기억하는 답변 테이블의 데이터 구성을 나타내는 개략도이다. 도시한 바와 같이, 이 테이블은 표 형식의 데이터이며, 챗봇 ID, 대표 질문, 답변 항목이 있다. 챗봇 ID는 상기와 같이 챗봇 서버 장치(71)를 식별하기 위한 정보이다. 대표 질문은 답변 추출부(50)가 챗봇 서버 장치(71)에서 답변 데이터를 취득하는 경우에 사용하는 대표 질문의 데이터이다. 답변은 그 챗봇 서버 장치(71)가 그 대표 질문에 대응하여 출력하는 답변 (응답 텍스트)이다. 이 답변 테이블의 데이터는 답변 추출부(50)에 의해 챗봇 서버 장치(71)에서 취득하며 답변 추출부(50)에 의해 기록된다. 또한, 답변 테이블의 데이터는 답변을 분석할 때 답변 분석부(60)에 의해 참조된다.
이 도에 표시된 데이터의 예로 챗봇 ID "CHATBOT-0001"과 관련하여 "가게의 위치는 어디입니까?"라는 대표 질문이 존재한다. 이 대표 질문에 대응하는 답변은 "시부야 역 앞에 있습니다"라는 것이다. 답변 테이블은 챗봇 ID "CHATBOT-0001"에 대해 다른 대표 질문과 해당 답변의 데이터도 보유하고 있다. 또한, 답변 테이블은 다른 챗봇 ID 관해서도 대표 질문과 답변의 쌍 데이터를 보유하고있다.
도 6은 답변 데이터베이스 기억부(41)가 기억하는 답변 분석 결과 테이블의 데이터 구성을 나타내는 개략도이다. 도시한 바와 같이, 이 테이블은 표 형식의 데이터이며, 챗봇 ID와 엔티티 ID와 엔티티 구성 요소의 각 항목이 있다. 챗봇 ID는 상기와 같이 챗봇 서버 장치(71)를 식별하기 위한 정보이다. 여기에서 엔티티 ID는 답변 데이터를 기반으로 답변 엔티티 분류부(61)가 분석한 결과 얻어진 것이다. 또한, 여기에서 엔티티 구성 요소는 같은 답변 데이터를 기반으로 답변 구성 요소 추출부(62)가 추출한 결과 얻어진 것이다.
이 도에 표시된 데이터의 예로 챗봇 ID "CHATBOT-0001"에 대해 답변 분석 결과 테이블은 다음 데이터를 보유한다. 즉, 엔티티 ID "위치"에 대응하여 엔티티 구성 요소 "시부야역앞"을 보유한다. 이 쌍은 도 5 내에서 보여준 대표 질문 "가게의 위치는 어디입니까?"와 답변 "시부야역앞에 있습니다"라는 쌍을 답변 분석부(60)가 분석함으로써 얻어진 것이다. 즉, 엔티티 ID "메뉴"에 대응해서 엔티티 구성 요소 "우동"을 보유한다. 이 쌍은 도 5 내에서 보여준 대표 질문 "어떤 음식을 판매하고 있습니까?"와 답변 "당점은 우동 전문점입니다"라는 쌍을 답변 분석부(60)가 분석하여 얻은 것이다. 즉, 엔티티 ID "개점 시간"에 대응하여 엔티티 구성 요소 "오전 8시"를 보유한다. 이 쌍은 도 5 내에서 보여준 대표 질문 "영업은 몇시부터입니까?"와 답변 "오전 8시부터입니다"는 쌍을 답변 분석부(60)가 분석함으로써 얻어진 것이다.
답변 분석 결과 테이블은 챗봇 ID "CHATBOT-0001"에 관하여 다른 엔티티 ID 및 엔티티 구성 요소의 쌍을 보유할 수 있다. 또한, 답변 분석 결과 테이블은 다른 챗봇 ID 관해서도 마찬가지로, 엔티티 ID와 엔티티 구성 요소의 쌍의 집합의 데이터를 유지한다.
다음은 챗봇 검색 장치(1)의 처리 절차에 대해 설명한다.
도 7은 챗봇 검색 장치(1)가, 챗봇 서버 장치(71)에서 답변 데이터를 추출한 답변 데이터를 답변 데이터베이스 기억부(41)에 기록하기 위한 처리 절차를 나타내는 흐름도이다. 해당 흐름도의 단계 S11에서 답변 추출부(50)는 챗봇 서버 장치(71)에서 답변 데이터를 추출한다. 답변 추출부(50)는 취득한 답변 데이터를 답변 데이터베이스 기억부(41)의 답변 테이블에 기록한다. 다음 단계 S12에서 답변 분석부(60)는 답변 데이터베이스 기억부(41)의 답변 테이블에 보관된 데이터를 분석하여 챗봇 ID 각각에 대해 엔티티 ID와 엔티티 구성 요소의 쌍 집합을 구한다. 이것이 답변 분석 결과 데이터이다. 그리고 답변 분석부(60)는 이 답변 분석 결과 데이터를 답변 분석 결과 테이블에 기록한다.
도 8은 답변 데이터베이스 기억부(41)에 다수의 챗봇 서버 장치(71)를 분석한 결과 데이터가 유지되는 상황에서, 단말 장치(72)로부터 전송되는 질문에 대응하여 검색 결과를 구하고 출력하는 처리 절차를 나타내는 흐름도이다.
해당 흐름도의 단계 S21에서 서비스부(10)는 외부 장치 (단말 장치(72) 등)에서 질문을 수신한다. 질문은 예를 들어, 텍스트 (문자열)로 표현되어 있다. 서비스부(10)는 접수한 질문을 질문 분석부(20)에 전달한다.
다음 단계 S22에서 질문 분석부(20)는 전달된 질문을 분석하고 질문의 특징을 나타내는 질문 특징 데이터를 추출한다. 예를 들어 질문이 "좀 급한데 ..., 시부야역앞에서 오전 8시 이후에 우동이나 소바를 먹을 수 있는 곳을 소개해줄래?" 라고 할 경우, 질문 분석부(20)는 이 질문에서 질문 특징 데이터를 추출한다. 그 질문 특징 데이터는 엔티티 ID와 엔티티 구성 요소의 쌍 집합이며, 다음의 세 쌍으로 이루어진다. 첫째, 엔티티 ID "위치"와 엔티티 구성 요소 "시부야역앞"의 쌍; 둘째, 엔티티 ID "메뉴"와 엔티티 구성 요소 "우동, 소바"의 쌍; 셋째, 엔티티 ID "개점 시간"과 엔티티 구성 요소 "오전 8시"의 쌍.
다음 단계 S23에서 검색부(30)의 매칭 평가부(31)는, 질문과 챗봇의 매칭 평가를 실시한다. 구체적으로는 매칭 평가부(31)는 단계 S22에서 추출한 질문 특징 데이터와 답변 데이터베이스 기억부(41)의 답변 분석 결과 테이블(도 6)이 보유하고 있는 챗봇 특징 데이터의 매칭 평가를 실시하고(일치 여부를 실시하고), 양자 간의 적합도를 산출한다. 예를 들어, 매칭 평가부(31)는 위의 질문 특징 데이터와 도 6에 나타낸 챗봇 ID "CHATBOT-0001"의 챗봇 서버 장치(71)의 챗봇 특징 데이터를 다음과 같이 매칭 평가한다. 즉, 상기 양자간에 엔티티 ID "위치"에 대한 일치율은 100%이다. 또한, 엔티티 ID "메뉴"에 대한 일치율은 50% (질문 특징 데이터에 포함된 두 항목 중 하나만 챗봇 특징 데이터에 포함)이다. 또한, 엔티티 ID "개점시간"에 대한 일치율은 100%이다. 이 경우 매칭 평가부(31)는 이러한 3개의 엔티티 ID의 일치 비율 평균값을 산출하고, 전체 일치율을 84%(단, 소수점 이하는 반올림)로 산출한다. 매칭 평가부(31)는 다른 챗봇 ID에 대해서도 질문과의 일치율을 구한다.
이와 같이, 본 실시예에서는 매칭 평가부(31)는 챗봇 특징 데이터와 질문 특징 데이터 간의, 동일한 속성 명(엔티티 ID) 들에 있어서의 속성 값(엔티티 구성 요소)의 일치 정도에 따른 적합도를 구한다. 그러나 매칭 평가부가 다른 방법(계산식 등)으로 챗봇 특징 데이터와 질문 특징 데이터 간의 적합도를 구하도록 해도 좋다.
다음 단계 S24에서 검색부(30)의 검색 결과 출력부(32)는 매칭 평가부(31)가 산출한 챗봇 ID 별 전체 일치율(이를 평가 점수로 한다)에 따라 챗봇 ID를 정렬(예를 들어 내림차순 순으로 정렬)을 한다. 다음 단계 S25에서 검색 결과 출력부(32)는 단계 S24에서 정렬된 후의, 챗봇 서버 장치(71)의 정보를 검색 결과로 출력한다. 검색 결과는 검색 결과 출력부(32)에서 서비스부(10)로 보내지며, 질문원 외부 장치(단말 장치(72) 등)로 전송된다. 또한, 검색 결과 출력부(32)는 이 때, 챗봇 ID에 대응하는 액세스 정보(URL)를 관리 정보 기억부(32)(도 4)에서 읽고, 검색 결과 정보에 부가하여 출력한다.
이상 설명한 바와 같이, 본 실시예에 따르면 답변 데이터베이스 기억부(41)에 미리 챗봇 서버 장치(71)마다의 특징을 나타내는 정보(답변 데이터 및 분석 결과 데이터)를 축적해놓을 수 있다. 그리고 외부의 단말 장치(72)등의 질문을 접수했을 때 질문 특징 데이터와 챗봇 특징 데이터의 매칭평가에 의해 받은 질문에 대한 적합도가 높은 챗봇 서버 장치(71)의 정보를 적절하게 질문원 장치에 제공할 수있게된다.
또한, 상술한 실시예에서 챗봇 검색 장치 및 챗봇 서버 장치와 단말 장치의 적어도 일부의 기능을 컴퓨터로 실현할 수 있다. 이 경우 이 기능을 실현하기 위한 프로그램을 컴퓨터 판독 가능한 기록 매체에 기록하여 이 기록 매체에 기록된 프로그램을 컴퓨터 시스템에 로드하고 실행함으로써 실현하여도 좋다. 또한, 여기서 말하는 "컴퓨터 시스템"은 OS 나 주변기기 등의 하드웨어를 포함한다. 또한, "컴퓨터 판독 가능한 기록 매체"란, 플렉서블 디스크, 광 자기 디스크, ROM, CD-ROM, DVD-ROM, USB 메모리 등의 이동가능매체, 컴퓨터 시스템에 내장되는 하드 디스크 등의 저장 장치 등을 말한다. 또한 "컴퓨터 판독 가능한 기록 매체"는 인터넷 등의 네트워크나 전화 회선 등의 통신 회선을 통해 프로그램을 송신하는 경우의 통신선처럼 일시적으로 동적으로 프로그램을 유지하는 것, 이 경우 서버와 클라이언트가 되는 컴퓨터 시스템 내부의 휘발성 메모리처럼 일정 시간 프로그램을 보유하고 있는 것도 포함할 수 있다. 또한, 상기 프로그램은 전술한 기능의 일부를 실현하기 위한 것으로서도 좋고, 또한 전술한 기능을 컴퓨터 시스템에 이미 기록되어있는 프로그램과 함께 실현할 수 있는 것이어도 좋다.
이상, 본 발명의 실시예를 도면을 참조하여 상세히 설명했지만, 구체적인 구성은 이 실시예에 한정되는 것이 아니고, 본 발명의 요지를 벗어나지 않는 범위의 설계 등도 포함된다.
본 발명은, 예를 들면 소위 검색 엔진을 제공하는 사업이나 그런 기술을 이용한 서비스업 등 전반에 걸쳐 사용할 수 있다. 그러나 본 발명의 이용 범위는 여기에 예시한 것에는 제한되지 않는다.
1 챗봇 검색 장치
10 서비스부
20 질문 분석부
21 질문 엔티티 분류부
22 질문 구성 요소 추출부
30 검색부
31 매칭 평가부
32 검색 결과 출력부
41 답변 데이터베이스 기억부(답변 데이터 기억부)
42 관리 정보 기억부
50 답변 추출부
60 답변 분석부
61 답변 엔티티 분류부
62 답변 구성 요소 추출부
70 인터넷
71, 71-1, 71-2, 71-3 챗봇 서버 장치
72-1, 72-2, 72-3 단말 장치
81 입력부
82 답변 생성부
83 출력부
84 인공 지능 기능부
85 참조 정보 기억부

Claims (6)

  1. 입력 텍스트에 대한 답변을 생성하여 출력하는 챗봇 서버 장치에서 상기 챗봇 서버 장치가 출력하는 상기 답변의 데이터인 답변 데이터를 취득하는 답변 추출부와;
    상기 답변 추출부가 취득한 상기 답변 데이터를, 취득원 챗봇 서버 장치를 식별하기 위한 챗봇 식별 정보와 연관해서 기억하는 답변 데이터 기억부와;
    상기 답변 데이터 기억부에 저장되어있는 상기 답변 데이터의 특징을 분석하고, 그 분석 결과인 챗봇 특징 데이터를 상기 챗봇 식별 정보와 연관해서 상기 답변 데이터 기억부에 기록하는 답변 분석부와;
    상기 답변 데이터 기억부에 상기 챗봇 특징 데이터가 유지되어 있는 상황에서 외부로부터 접수한 질문의 특징을 분석하고, 그 분석 결과인 질문 특징 데이터를 출력하는 질문 분석부와;
    상기 챗봇 특징 데이터와 상기 질문 특징 데이터 간의 적합도를 구하는 매칭 평가부와;
    상기 매칭 평가부가 구한 상기 적합도에 따라 상기 질문에 적합한 상기 챗봇 서버 장치의 정보를 출력하는 검색 결과 출력부를 구비하는, 검색 장치.
  2. 제1항에 있어서,
    상기 챗봇 특징 데이터는 상기 답변 데이터가 나타내는 사물의 속성 명과 속성 값 쌍의 집합이며, 상기 질문 특징 데이터는 상기 질문이 나타내는 사물의 속성 명과 속성 값 쌍의 집합인, 검색 장치.
  3. 제2항에 있어서,
    상기 적합도는 상기 챗봇 특징 데이터와 상기 질문 특징 데이터 사이에서의, 동일한 상기 속성 명들에서의 상기 속성 값의 일치 정도에 따른 것인, 검색 장치.
  4. 제1항 내지 제3항중 어느 한 항에 있어서,
    상기 답변 추출부는 상기 챗봇 서버 장치에 대해 대표적인 입력 텍스트의 내용을 전송하고, 상기 대표적인 입력 텍스트에 대응하여 상기 챗봇 서버 장치가 출력하는 상기 답변 데이터를 취득하는, 검색 장치.
  5. 제1항 내지 제3항중 어느 한 항에 있어서,
    상기 검색 결과 출력부는 상기 챗봇 서버 장치에 대한 액세스를 위한 액세스 정보를 포함하여 상기 챗봇 서버 장치의 정보를 출력하는, 검색 장치.
  6. 컴퓨터를,
    입력 텍스트에 대한 답변을 생성하여 출력하는 챗봇 서버 장치에서 상기 챗봇 서버 장치가 출력하는 상기 답변의 데이터인 답변 데이터를 취득하는 답변 추출부와;
    상기 답변 추출부가 취득한 상기 답변 데이터를, 취득원 챗봇 서버 장치를 식별하기 위한 챗봇 식별 정보와 연관해서 기억하는 답변 데이터 기억부와;
    상기 답변 데이터 기억부에 저장되어있는 상기 답변 데이터의 특징을 분석하고, 그 분석 결과인 챗봇 특징 데이터를 상기 챗봇 식별 정보와 연관해서 상기 답변 데이터 기억부에 기록하는 답변 분석부와;
    상기 답변 데이터 기억부에 상기 챗봇 특징 데이터가 유지되어 있는 상황에서 외부로부터 접수한 질문의 특징을 분석하고, 그 분석 결과인 질문 특징 데이터를 출력하는 질문 분석부와;
    상기 챗봇 특징 데이터와 상기 질문 특징 데이터 간의 적합도를 구하는 매칭 평가부와;
    상기 매칭 평가부가 구한 상기 적합도에 따라 상기 질문에 적합한 상기 챗봇 서버 장치의 정보를 출력하는 검색 결과 출력부를 구비하는, 검색 장치로서 기능 시키기 위한 매체에 저장된 프로그램.

KR1020190080919A 2018-07-06 2019-07-04 검색장치 및 프로그램 KR102063242B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2018-129224 2018-07-06
JP2018129224A JP6537211B1 (ja) 2018-07-06 2018-07-06 検索装置およびプログラム

Publications (1)

Publication Number Publication Date
KR102063242B1 true KR102063242B1 (ko) 2020-01-08

Family

ID=67144681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190080919A KR102063242B1 (ko) 2018-07-06 2019-07-04 검색장치 및 프로그램

Country Status (9)

Country Link
US (1) US20210224303A1 (ko)
EP (1) EP3819784A4 (ko)
JP (1) JP6537211B1 (ko)
KR (1) KR102063242B1 (ko)
CN (1) CN112219198A (ko)
AU (1) AU2019298610B2 (ko)
CA (1) CA3102069A1 (ko)
TW (1) TW202016760A (ko)
WO (1) WO2020009211A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6670916B1 (ja) * 2018-12-03 2020-03-25 楽天株式会社 情報処理装置、情報処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6218057A (ja) 1985-07-17 1987-01-27 Sumitomo Electric Ind Ltd リ−ドフレ−ム加工方法
JP2016212541A (ja) * 2015-05-01 2016-12-15 株式会社ATR−Trek 対話装置、対話方法、及びそのコンピュータプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121457A (ja) 1982-01-14 1983-07-19 Nec Corp 情報処理装置
JP2007249899A (ja) * 2006-03-20 2007-09-27 Fujitsu Ltd 検索処理プログラム
JP5436152B2 (ja) * 2009-11-10 2014-03-05 日本電信電話株式会社 質問応答装置、質問応答方法、質問応答プログラム
KR102094934B1 (ko) * 2014-11-19 2020-03-31 한국전자통신연구원 자연어 질의 응답 시스템 및 방법
US11516153B2 (en) * 2016-01-25 2022-11-29 Expensify, Inc. Computer system providing a chat engine
US10528632B2 (en) * 2016-07-19 2020-01-07 Microsoft Technology Licensing, Llc Systems and methods for responding to an online user query
US20180052842A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Intelligent online personal assistant with natural language understanding
US10437841B2 (en) * 2016-10-10 2019-10-08 Microsoft Technology Licensing, Llc Digital assistant extension automatic ranking and selection
CN106815321A (zh) * 2016-12-27 2017-06-09 深圳前海勇艺达机器人有限公司 基于智能聊天机器人的聊天方法及装置
JP2018129224A (ja) 2017-02-09 2018-08-16 東京エレクトロン株式会社 プラズマ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6218057A (ja) 1985-07-17 1987-01-27 Sumitomo Electric Ind Ltd リ−ドフレ−ム加工方法
JP2016212541A (ja) * 2015-05-01 2016-12-15 株式会社ATR−Trek 対話装置、対話方法、及びそのコンピュータプログラム

Also Published As

Publication number Publication date
EP3819784A4 (en) 2022-03-30
CN112219198A (zh) 2021-01-12
JP2020009117A (ja) 2020-01-16
US20210224303A1 (en) 2021-07-22
CA3102069A1 (en) 2020-01-09
JP6537211B1 (ja) 2019-07-03
TW202016760A (zh) 2020-05-01
WO2020009211A1 (ja) 2020-01-09
AU2019298610B2 (en) 2022-08-04
AU2019298610A1 (en) 2020-11-26
EP3819784A1 (en) 2021-05-12

Similar Documents

Publication Publication Date Title
KR101938790B1 (ko) 자동 응답 서버 장치, 단말 장치, 응답 시스템 응답 방법 및 프로그램
JP6007088B2 (ja) 大量のコメント文章を用いた質問回答プログラム、サーバ及び方法
US8554540B2 (en) Topic map based indexing and searching apparatus
JP5711674B2 (ja) 大量のコメント文章を用いた質問回答プログラム、サーバ及び方法
CN110795542B (zh) 对话方法及相关装置、设备
US9104780B2 (en) System and method for natural language processing
KR20160055930A (ko) 연속적인 소셜 커뮤니케이션에 사용되는 콘텐츠를 능동적으로 구성하기 위한 시스템 및 방법
CN101496003A (zh) 社交网络中用户的兼容性评分
CN110472008B (zh) 智能交互方法以及装置
US20120143895A1 (en) Query pattern generation for answers coverage expansion
CN114238573A (zh) 基于文本对抗样例的信息推送方法及装置
EP2613275B1 (en) Search device, search method, search program, and computer-readable memory medium for recording search program
KR102063242B1 (ko) 검색장치 및 프로그램
CN110633410A (zh) 信息处理方法及装置、存储介质、电子装置
JP2020067864A (ja) 知識検索装置、知識検索方法、および、知識検索プログラム
CN112257517B (zh) 一种基于景点聚类和群体情感识别的旅游景点推荐系统
JP7438808B2 (ja) ニーズマッチング装置およびプログラム
KR102130145B1 (ko) 예약어 및 속성 언어 간의 연관도를 이용한 정보 제공 방법 및 장치
CN113449165A (zh) 搜索引擎优化方法、装置、设备及存储介质
KR20190005494A (ko) 검색 행동 패턴에 기반한 검색어 추천 시스템
KR101871739B1 (ko) 어플리케이션의 대표 키워드 결정 방법 및 어플리케이션의 대표 키워드 결정 시스템
Najid et al. Extracting tweets using R in the context of ethical issues
WO2002001411A1 (en) Sense-of-value information providing system
JP2021131576A (ja) 事例カタログ管理装置及び事例カタログ構築方法
JP6533496B2 (ja) 説明表現出力装置、説明表現出力方法、及びプログラム

Legal Events

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