KR20170046611A - 질문문 생성 장치 및 컴퓨터 프로그램 - Google Patents

질문문 생성 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20170046611A
KR20170046611A KR1020167036829A KR20167036829A KR20170046611A KR 20170046611 A KR20170046611 A KR 20170046611A KR 1020167036829 A KR1020167036829 A KR 1020167036829A KR 20167036829 A KR20167036829 A KR 20167036829A KR 20170046611 A KR20170046611 A KR 20170046611A
Authority
KR
South Korea
Prior art keywords
question
word
answer
sentence
generating
Prior art date
Application number
KR1020167036829A
Other languages
English (en)
Other versions
KR102408082B1 (ko
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 코쿠리츠켄큐카이하츠호진 죠호츠신켄큐키코
Publication of KR20170046611A publication Critical patent/KR20170046611A/ko
Application granted granted Critical
Publication of KR102408082B1 publication Critical patent/KR102408082B1/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
    • G06F17/30654
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/338Presentation of query results

Abstract

[과제] 유저가 흥미를 갖는 문제에 대해서, 질문 응답 시스템에서 일정 이상의 정밀도를 갖는 회답이 얻어지는 것이 보증되어 있는 질문문을 용이하게 작성할 수 있도록, 유저를 보조하는 장치를 제공한다.
[해결 수단] 질문문 생성 장치는 질문 응답 시스템과 함께 사용되고, 질문문 생성의 바탕이 되는 단어 등(480)을 수신하는 단어 수신 수단과, 질문문 생성용의 복수개의 엔트리로 이루어지는 질문문 생성용 데이터베이스(502)를 포함한다. 복수개의 엔트리의 각각은, 단어를 키로 해서 질문 응답 시스템에서 사용되는 해당 단어와 공기하는 회답문 패턴을 포함한다. 질문문 생성 장치는 또한, 단어 수신 수단에 의해 수신된 단어 등(480)을 키로 질문문 생성용 데이터베이스(502)로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과 수신된 단어 등(480)으로부터 질문문을 생성하는 질문문 생성부(506)를 포함한다.

Description

질문문 생성 장치 및 컴퓨터 프로그램{QUESTION SENTENCE GENERATION DEVICE AND COMPUTER PROGRAM}
본 발명은 질문 응답 시스템에 관한 것으로서, 특히 질문 응답 시스템을 이용자가 보다 사용하기 쉽게 하는 기술에 관한 것이다.
자연 언어 처리 기술을 응용한 다양한 질문 응답 시스템이 개발되어 왔다. 그러한 시스템에서는 자연 언어문으로 이루어지는 질문문을 시스템에 부여하면, 회답이 자연 언어문으로 주어진다. 컴퓨터 기술 및 네트워크 기술이 장족의 진보를 이룬 현재에서는, 이와 같은 질문 응답 시스템이 널리 이용되게 되는 조건은 갖추어져 있다. 그러나, 일반 유저에게 널리 침투한 질문 응답 시스템은 전무하다고 해도 좋다.
그 이유로서 다양한 것을 생각할 수 있다. 예를 들면, 종래의 질문 응답 시스템에서는 유저는 자신이 흥미가 있는 사항에 관해서 질문문을 만들어 질문 응답 시스템에 주고, 그 회답을 수신한다. 그러나, 이와 같이 질문 응답 시스템에 질문을 해도 적확한 대답이 얻어지는 경우가 적고, 몇번이나 질문을 다시 해야 하는 경우가 많다. 이와 같은 것이 겹치면, 처음에는 질문 응답 시스템에 흥미를 갖고 있던 유저도 결국은 질문 응답 시스템을 이용하지 않게 된다. 또한, 유저가 어떠한 의문을 갖고 있어도, 그것을 구체적인 질문으로 표현하는 것이 불가능한 경우도 많다. 질문 응답 시스템은 어떠한 형태로 구체적인 질문을 하지 않으면 회답은 얻어지지 않는다. 따라서, 어떠한 의문이 있어도 그것을 명확한 질문문의 형태로 하지 않는 한 적확한 회답이 얻어지지 않고, 결국은 질문 응답 시스템을 효율적으로 사용하는 것이 어렵다고 하게 되어 버린다.
한편, 소위 키워드를 사용한 정보 검색이라고 하는 기술도 있다. 이 기술에서는 키워드를 시스템에 부여하면, 그 키워드와 관련이 높은 문장을 데이터베이스로부터 검색하고, 그 문장을 유저에 대하여 표시한다. 이 방법에서도, 적확한 키워드가 발견되지 않으면 질문에 대한 회답으로서 어울리는 정보가 얻어지지 않는다는 문제가 있다. 더군다나 질문에 대하여 핀 포인트의 회답이 얻어지는 것은 아니기 때문에, 검색된 대량의 문서를 읽어야 한다고 하는 문제도 있다.
이러한 키워드 검색을 보조하는 기술로서, 키워드가 입력되면 리얼 타임으로 그 키워드와 동시에 입력될 기회가 많은 키워드를 보조적으로 표시하는, 소위 키워드 서제스트 기능이 있다. 유저는 서제스트된 키워드를 선택함으로써 검색의 정밀도를 높일 수 있다.
그러나, 키워드 서제스트 기능을 사용했다고 해도, 키워드 사이의 관계를 명확히 할 수 없다는 문제가 있다. 복수의 키워드가 어떠한 상황에서 사용되고 있는지를 지정할 수 없는 한, 검색의 정밀도는 어느 정도의 단계에 머문다고 생각된다. 결국, 유저가 대량의 문서를 읽지 않으면 회답이 얻어지지 않는다고 하는 문제는 해결할 수 없다.
종래의 질문 응답 시스템이 유저에게 침투하지 않은 원인은, 질문문을 작성할 때의 비용의 높음이라고 생각된다. 질문 응답 시스템에 있어서, 유저가 자신의 흥미에 따라 적절한 질문문을 작성하는 것은 반드시 용이하지는 않다. 예를 들면, TPP에 흥미가 있지만 무엇을 물으면 좋을지 모르는 유저에 대해서, 종래의 질문 응답 시스템은 무력하다. 또한, 보다 좋은 결과를 얻기 위해서, 유저는 몇번이나 질문문을 고쳐서 만들어 시스템에 물을 필요가 있었다. 질문문을 작성하기 위해서 유저가 시간을 들였다고 해도, 얻어지는 회답이 그 시간에 상응한 것이 아닌 한, 유저가 질문 응답 시스템을 적극적으로 이용하는 일은 없을 것이다.
한편, 키워드 서제스트 기능을 사용한 키워드 검색의 경우, 입력이 키워드의 나열로 된다. 얻어지는 결과도 키워드와의 관련이 높은 문서일지는 모르지만, 유저의 질문에 대한 적절한 회답을 주는 것일 가능성은 높지 않다. 그 결과, 유저는 자신의 의문에 대한 회답을 얻기 위해서 검색 결과 얻어진 문서를 다수 읽을 필요가 있어, 편리성은 낮았다.
따라서, 자연 언어 처리 기술을 이용한 질문 응답 시스템에 있어서 질문문의 작성 비용을 낮게 하고, 유저가 자연 언어문에 의한 적절한 질문문을 용이하게 생성할 수 있도록 하기 위한 기술이 요구되고 있다. 그때, 남의 도움에 의한 회답을 준비하지 않고, 다양한 분야의 유저의 질문에 대해서도 적절한 회답이 얻어지도록 질문문을 생성할 수 있는 것이 바람직하다.
따라서, 본 발명의 목적은 유저가 흥미를 갖는 문제에 대해서 질문 응답 시스템에서 회답을 얻으려고 하고 있을 경우에, 정밀도가 높은 회답이 얻어지도록 질문문을 유저가 용이하게 작성할 수 있도록, 유저를 보조하는 장치 및 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 다른 목적은 유저가 흥미를 갖는 문제에 대해서, 질문 응답 시스템에서 일정 이상의 정밀도를 갖는 회답이 얻어지는 것이 보증되어 있는 질문문을 용이하게 작성할 수 있도록, 유저를 보조하는 장치 및 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 제 1 국면에 의한 질문문 생성 장치는, 질문 응답 시스템과 함께 사용되고 질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하는 단어 수신 수단과, 질문문 생성용의 복수개의 레코드로 이루어지는 질문문 생성용 데이터베이스를 포함한다. 복수개의 레코드의 각각은 단어를 키로 해서 질문 응답 시스템에서 사용되는, 해당 단어와 공기(共起)하는 회답문 패턴을 포함한다. 질문문 생성 장치는 또한, 단어 수신 수단에 의해 수신된 단어를 키로 질문문 생성용 데이터베이스로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과 수신된 단어로부터 질문문을 생성하는 제 1 질문문 생성 수단을 포함한다.
바람직하게는, 질문문 생성 장치는 또한, 단어 또는 회답문 패턴 또는 그 쌍방의 동의 관계 또는 함의 관계를 격납한 동의어 사전과, 질문문 생성 수단이 복수개의 질문문을 생성한 것에 응답하여 동의어 사전을 참조해서 복수개의 질문문을 보다 소수의 질문문으로 집약해서 출력하는 질문문 집약 수단을 포함한다.
보다 바람직하게는 질문문 생성 장치는 또한, 단어 또는 회답문 패턴 또는 그 쌍방을 그것들의 의미에 따라서 체계적으로 분류한 분류 정보를 격납한 시소러스와, 질문문 생성 수단이 복수개의 질문문을 생성한 것에 응답하여, 시소러스를 참조해서 복수개의 질문문을 보다 소수의 질문문으로 집약해서 출력하는 질문문 집약 수단을 포함한다.
더욱 바람직하게는, 단어 수신 수단은 복수의 단어를 수신 가능하고, 질문문 생성용 데이터베이스는 단어 수신 수단에 의해 수신된 복수개의 단어를 키로 해당 복수개의 단어와 공기하는 회답문 패턴을 검색 가능하다.
질문문 생성 수단은 단어 수신 수단에 의해 수신된 단어를 키로 질문문 생성용 데이터베이스로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과 수신된 단어로부터 질문문 및 해당 질문문에 대한 회답문을 생성하는 질문·회답 생성 수단을 포함해도 좋다.
질문 응답 시스템은 팩토이드형의 질문문이 주어지면, 해당 질문문의 패턴과 해당 질문문에 포함되는 단어 또는 단어열을 키로 해서 회답문 생성용 데이터베이스를 검색해서 회답문 후보를 생성하는 팩토이드형 질문 응답 서브시스템을 포함해도 좋다. 질문 응답 시스템의 회답문 생성용 데이터베이스와, 질문문 생성 장치의 상기 질문문 생성용 데이터베이스는 같은 코퍼스로부터 생성된 공통의 레코드를 포함하도록 할 수 있다.
바람직하게는, 질문 응답 시스템은 또한 논팩토이드형의 질문문이 주어지면, 코퍼스로부터 회답문 후보가 되는 패시지를 복수개 추출하여 주어진 질문에 대한 회답으로서의 어울림을 나타내는 스코어를, 미리 학습 완료된 스코어 산출 수단에 의해 산출해서 최상위의 스코어를 갖는 회답문 후보를 상기 주어진 질문에 대한 회답으로서 출력하는 논팩토이드형 질문 응답 서브시스템을 포함한다. 질문문 생성 장치는 또한, 각각이 미리 준비된 질문과 회답이라고 하는 명시적인 구별을 갖지 않는 패시지의 집합 내의 어느 하나의 패시지로부터 생성된 질문문으로서, 해당 질문문이 생성된 바탕이 되는 패시지를 회답으로 하는 복수의 질문문을 기억한 질문문 데이터베이스와, 질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하면, 질문문 데이터베이스를 참조해서 해당 질문문 생성의 바탕이 되는 단어 또는 단어열, 또는 그것들의 동의어 또는 그것들을 함의하는 말과, 질문문 데이터베이스에 기억된 질문문으로부터 새로운 질문문을 생성해서 출력하는 제 2 질문문 생성 수단과, 제 1 및 제 2 질문문 생성 수단이 출력하는 질문문을 정리해서 출력하기 위한 수단을 포함한다.
본 발명의 제 2 국면에 의한 질문문 생성 장치는, 질문 응답 시스템과 함께 사용된다. 질문 응답 시스템은 논팩토이드형의 질문문이 주어지면, 코퍼스로부터 회답문 후보가 되는 패시지를 복수개 추출하여 각 패시지에 상기 질문에 대한 회답으로서의 어울림을 나타내는 스코어를, 미리 학습 완료된 스코어 산출 수단에 의해 산출해서 최상위의 스코어를 갖는 회답문 후보를 상기 질문에 대한 회답으로서 출력하는 논팩토이드형 질문 응답 서브시스템을 포함한다. 질문문 생성 장치는 각각이 코퍼스 내의 어느 하나의 패시지로부터 생성된 질문문이고, 해당 질문문이 생성된 바탕이 되는 패시지를 회답으로 하는 복수의 질문문을 기억한 질문문 데이터베이스와, 질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하면, 질문문 데이터베이스를 참조해서 해당 질문문 생성의 바탕이 되는 단어 또는 단어열, 또는 그것들의 동의어 또는 그것들을 함의하는 말과, 질문문 데이터베이스에 기억된 질문문으로부터 새로운 질문문을 생성해서 출력하는 질문문 생성 수단을 포함한다.
본 발명의 제 3 국면에 의한 컴퓨터 프로그램은, 질문 응답 시스템과 함께 사용되는 질문문 생성 장치로서 컴퓨터를 기능시키는 컴퓨터 프로그램이다. 이 컴퓨터는 질문문 생성용의 복수개의 레코드로 이루어지는 질문문 생성용 데이터베이스에 접속해서 사용된다. 복수개의 레코드의 각각은 단어를 키로 해서 질문 응답 시스템에서 사용되는, 해당 단어와 공기하는 회답문 패턴을 포함한다. 컴퓨터 프로그램은 컴퓨터를 질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하는 단어 수신 수단과, 단어 수신 수단에 의해 수신된 단어를 키로 질문문 생성용 데이터베이스로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과 수신된 단어로부터 질문문을 생성하는 질문문 생성 수단으로서 기능시킨다.
도 1은 본 발명의 실시형태에 의한 질문문 생성 장치를 채용한 질문 응답 시스템을 이용한 네트워크의 전체 구성을 나타내는 개략 블록도이다.
도 2는 본 발명의 실시형태에 의한 질문 응답 시스템의 전체 구성을 나타내는 블록도이다.
도 3은 도 2에 나타내는 질문 응답 시스템 중, 질문 응답 서브시스템의 구성을 나타내는 블록도이다.
도 4는 도 3에 나타내는 질문 응답 서브시스템 중, 팩토이드형 질문 응답 서브시스템의 구성을 나타내는 블록도이다.
도 5는 도 3에 나타내는 질문 응답 서브시스템 중, 논팩토이드형 질문 응답 서브시스템의 구성을 나타내는 블록도이다.
도 6은 도 2에 나타내는 질문 응답 시스템 중, 팩토이드형 질문문 생성 서브시스템의 구성을 나타내는 블록도이다.
도 7은 도 2에 나타내는 질문 응답 시스템 중, 논팩토이드형 질문문 생성 서브시스템의 구성을 나타내는 블록도이다.
도 8은 도 2에 나타내는 질문 응답 시스템에 있어서, 입력에 따라 처리를 나누는 프로그램의 제어 구조를 나타내는 플로우차트이다.
도 9는 도 2에 나타내는 질문 응답 시스템의 초기 화면의 일례를 나타내는 도면이다.
도 10은 도 9에 나타내는 화면에서 단어 등을 입력했을 때에 표시되는 질문 응답 시스템의 화면의 일례를 나타내는 도면이다.
도 11은 본 발명의 실시형태에 의한 질문문 생성 장치를 채용한 질문 응답 시스템을 실현하는 컴퓨터의 하드웨어 구성을 나타내는 블록도이다.
이하의 설명 및 도면에서는, 동일 부품에는 동일한 참조번호를 붙이고 있다. 따라서, 그것들에 대한 상세한 설명은 반복하지 않는다.
[구성]
지금까지 개발되어 온 질문 응답 시스템에서는, 예를 들면 「아베 정권은 무엇을 노리고 있는가」라고 하는 질문에 대해서 「A는 B를 노리고 있다」라고 하는 패턴을 생성하고, 그 패턴과 A=「아베 정권」이라고 하는 2개의 키로 데이터베이스를 검색하여, B에 싱당하는 단어를 회답으로서 얻는다. 데이터베이스는 인터넷의 웹 사이트로부터 다수의 문장을 수집하고, 한쪽의 단어와 패턴을 키로, 다른쪽의 단어를 회답으로서 테이블에 등록함으로써 준비한다. 이 예에서는, 데이터베이스에 「아베 정권은 TPP 참가를 노리고 있다」라고 하는 문장이 있으면, 위와 같은 질문에 대해서 B=「TPP 참가」라고 하는 회답을 데이터베이스로부터 얻을 수 있다.
질문에는 회답으로서 단순한 단어 또는 짧은 프레이즈로 회답할 수 있는 타입의 질문(팩토이드형 질문이라고 불림)과, 이유, 일을 행하는 방법 등, 단어 또는 짧은 프레이즈로는 회답할 수 없는 타입의 질문(논팩토이드형 질문이라고 불림)이 있다. 위에 나타낸 「아베 정권은 무엇을 노리고 있는가」는 팩토이드형 질문의 예이다. 「아베 정권은 왜 TPP를 노리고 있는가」는 논팩토이드형 질문의 예이다. 이하에 설명하는 실시형태에 의한 시스템은 팩토이드형 질문에 대해서도, 논팩토이드형 질문에 대해서도 유저에게 질문예를 제시함으로써, 유저가 적절한 질문을 하기 위한 보조를 행한다.
도 1을 참조하여, 본 발명의 일실시형태에 의한 질문문 생성 시스템을 채용한 질문 응답 시스템(164)은 인터넷(162)에 접속되어 있고, 같은 인터넷(162)에 접속된 모바일 단말(166) 및 컴퓨터(168)로부터 주어지는 질문문에 대하여 적절한 회답을 주기 위한 것이다. 질문 응답 시스템(164)은 그 때문에, 미리 인터넷 상의 웹 사이트의 집합(170)으로부터 다수의 텍스트 데이터를 수집하고, 질문에 대한 응답을 생성하기 위한 데이터베이스(이하 「DB」)를 생성하여 유지하고 있다.
도 2는, 도 1에 나타내는 질문 응답 시스템(164)의 개략 구성을 나타내는 블록도이다. 도 2를 참조하여, 질문 응답 시스템(164)은 인터넷으로부터 수집한 문장으로 이루어지는 질문 응답 시스템용 코퍼스(200)와, 질문 응답 시스템용 코퍼스(200)에 기억된 문장으로부터 질문에 대한 회답 생성용 DB 및 유저가 적절한 질문문을 작성하는 것을 보조하기 위한 질문문 생성용 DB를 생성하기 위한 전처리를 행하는 전처리부(202)와, 질문문이 주어지면 자기가 유지하고 있는 회답 생성용 DB를 검색해서 자연 언어의 회답문을 생성해 출력하는 질문 응답 서브시스템(240)과, 하나 또는 복수의 단어(이하 「단어 등」이라고 부름)가 수신되면, 그 단어 등을 키로 팩토이드형 질문문 생성용 DB를 참조하여 그 단어와 관련되는 단어, 사물 등을 회답으로 하는 복수개의 팩토이드형 질문문을 생성하여 그 리스트를 출력하는 팩토이드형 질문문 생성 서브시스템(242)과, 단어 등을 수신하면 그 단어 등에 의거하여 논팩토이드형 질문문 생성용 DB를 참조하여 그 단어에 관련되는 어떠한 이유, 방법, 정의 등을 묻는 논팩토이드형 질문문을 생성하는 논팩토이드형 질문문 생성 서브시스템(244)과, 질문 응답 시스템의 프론트 엔드(210)와, 전처리부(202)의 출력을 이용하여 질문 응답 서브시스템(240)을 위한 DB를 생성하는 질문 응답 서브시스템용 데이터 생성부(204)와, 전처리부(202)의 출력을 이용하여 팩토이드형 질문문 생성 서브시스템(242)을 위한 DB를 생성하는 팩토이드형 질문문 생성 서브시스템용 데이터 생성부(206)와, 전처리부(202)의 출력을 이용하여 논팩토이드형 질문문 생성 서브시스템(244)을 위한 DB를 생성하는 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부(208)를 포함한다.
프론트 엔드(210)는 인터넷(162)으로의 접속을 제공하는 인터페이스(230)와, 웹 서버(232)와, 웹 사이트 응답용 DB(234)와, 웹 사이트 응답용 프로그램 기억부(236)와, 인터페이스(230) 및 웹 서버(232)를 통해서 다른 단말로부터 주어진 요구에 따라 적절한 프로그램을 웹 사이트 응답용 프로그램 기억부(236)로부터 읽어내고, 웹 사이트 응답용 DB(234)로부터 적절한 데이터를 검색해서 웹페이지를 생성하여 웹 서버(232) 및 인터페이스(230)를 통해서 상대 단말에 회신하는 프로그램 실행계(238)를 포함한다. 프로그램 실행계(238)는 수신된 요구가 질문의 형식이면 질문 응답 서브시스템(240)에 대하여 그 질문을 주고, 질문 응답 서브시스템(240)으로부터 얻어진 회답을 상대 단말에 회신한다. 요구가 단어 등의 형식이면, 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)에 그 단어 등을 주고, 얻어지는 질문문을 상대 단말에 회신한다.
도 3은 질문 응답 서브시스템(240) 및 그 관련 구성을 나타내고 있고, 이 도 3을 참조하여, 전처리부(202)는 질문 응답 시스템용 코퍼스(200) 내의 각 문장을 형태소 해석하여 품사, 활용형, 읽기 등의 문법 정보를 첨부해서 형태소열로서 출력하는 형태소 해석부(280)와, 형태소 해석부(280)가 출력하는 형태소열을 이용하여 문장의 의존 관계를 해석하고, 말을 노드, 그것들 사이의 의존 관계를 에지로 하는 네트워크(그래프) 형식으로 출력하는 의존 해석부(282)를 포함한다.
질문 응답 서브시스템용 데이터 생성부(204)는 단어의 의미 클래스를 기억한 사전(300)과, 사전(300)에 기억된 정보를 사용하여 의존 해석부(282)에 의해 출력되는 의존 관계의 네트워크로부터 여러 가지의 패턴을 추출해서 패턴 사전(304)을 작성함과 아울러, 패턴 수집부(308)의 출력에 의거하여 어느 단어와 패턴 ID가 주어지면, 그 단어와 패턴 ID를 키로 해서 그것들과 공기하는 다른 단어를 검색할 수 있는 형식으로 회답문 후보를 기억하는 회답문 생성용 DB(306)를 생성하는 패턴 수집부(308)와, 의존 해석부(282)의 출력을 받아, 논팩토이드형 질문 응답 서브시스템(332)을 위한 해석 완료 코퍼스(310)를 구축하기 위한 DB 구축부(302)를 포함한다. 회답문 생성용 DB(306)는 상기한 기능을 실현하기 위해서, 본 실시형태에서는 키가 되는 단어 및 패턴 ID와, 검색 대상으로 되는 단어의 3개의 조합으로 이루어지는 다수의 레코드를 고속으로 검색 가능한 형식으로 기억하고 있다.
질문 응답 서브시스템(240)은 팩토이드형의 질문에 대한 회답을 생성하는 팩토이드형 질문 응답 서브시스템(330)과, 논팩토이드형의 질문에 대한 회답을 생성하는 논팩토이드형 질문 응답 서브시스템(332)과, 질문문(260)을 받아 그 질문문이 팩토이드형 질문문인지 논팩토이드형 질문문인지를 판정하여 판정 결과를 출력하는 질문 종별 판정부(334)와, 질문문(260)과 질문 종별 판정부(334)의 출력을 받아, 질문문의 종별에 따라 질문문(260)을 팩토이드형 질문 응답 서브시스템(330)으로의 질문문(340)과, 논팩토이드형 질문 응답 서브시스템(332)으로의 질문문(342)으로 나누는 질문 배분부(336)와, 팩토이드형 질문 응답 서브시스템(330)이 출력하는 회답문(344)과, 논팩토이드형 질문 응답 서브시스템(332)이 출력하는 회답문(346)을 받아, 질문 종별 판정부(334)가 출력하는 질문 종별에 따라 어느 하나를 선택하여 회답문(262)으로서 출력하는 회답 선택부(338)를 포함한다.
팩토이드형의 질문문과 논팩토이드형의 질문문은 그 형태가 다르다. 따라서, 질문 배분부(336)로서는 질문문의 형태에 의거한 룰에 따라서 질문문을 나누는 것을 채용할 수도 있다. 그러나, 본 실시형태에서는 미리 팩토이드형의 질문문과 논팩토이드형의 질문문을 다수 모은 것을 교사 데이터(training data)로 해서, 양자를 판별하도록 기계 학습한 것을 사용한다. 예를 들면, SVM(Support Vectpr Marhine)을 사용할 수 있다.
또한, 도 2에 나타내는 팩토이드형 질문문 생성 서브시스템용 데이터 생성부(206)는 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부(208)와 마찬가지의 구성을 갖는다. 그 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부(208)의 상세에 대해서는 후술한다.
도 4는 팩토이드형 질문 응답 서브시스템(330)의 개략 구성을 나타내는 블록도이다. 팩토이드형 질문 응답 서브시스템(330)은 패턴을 각 패턴 ID와 함께 기억한 패턴 사전(304)과, 상술한 회답문 생성용 DB(306)와, 단어 및 패턴을 그것들의 의미 클래스에 따라서 체계적으로 분류한 시소러스(360)와, 단어간 및 패턴간의 동의어 관계 및 함의 관계를 기억한 동의어·함의 사전(362)과, 질문문(340)을 받아 패턴 사전(304), 시소러스(360) 및 동의어·함의 사전(362)을 이용해서 질문문(340)을 해석하고, 질문문의 패턴을 특정하는 패턴 ID와 질문문 중에 출현하는 단어를 출력하는 질문 해석부(364)와, 질문 해석부(364)의 출력에 의거하여 회답문 생성용 DB(306)로부터 필요한 정보를 인출하기 위한 쿼리문을 생성하는 쿼리 생성부(366)와, 쿼리 생성부(366)가 생성한 쿼리문에 의해 회답문 생성용 DB(306)를 검색하는 회답문 검색부(368)와, 회답문 검색부(368)가 출력하는 회답문으로부터 질문문(340)에 대한 회답문으로서 가장 어울리는 것을 선택하여 회답문(344)으로서 출력하는 회답 선택부(370)를 포함한다. 또한, 패턴 사전(304)은 패턴마다 그 패턴을 갖는 문장에서 질문 응답 시스템용 코퍼스(200)에 출현하는 문장으로의 액세스 정보도 격납하고 있다. 따라서, 패턴 ID를 알면, 그 패턴을 갖는 문장에 용이하게 액세스할 수 있다.
또한, 이하의 기재에서 도입되는 시소러스 및 동의·함의 사전은 모두 시소러스(360) 및 동의어·함의 사전(362)과 마찬가지로 단어에 대해서 뿐만 아니라, 패턴에 대한 그것들의 분류 정보, 및 동의 관계·함의 관계를 각각 기억하고 있다. 또한, 패턴으로서는 「A가 Y를 좋아한다」, 「A가 B를 노리고 있다」와 같은 2개의 변수를 포함하는 패턴뿐만 아니라, 「X를 먹는다」, 「X를 야기한다」와 같은 변수를 1개만 포함하는 패턴도 포함되어 있다. 또한, 변수를 3개 이상 포함하는 패턴을 패턴 사전에 포함시키도록 해도 좋다.
도 5를 참조하여, 논팩토이드형 질문 응답 서브시스템(332)은 상술한 도 2에 나타내는 질문 응답 시스템용 코퍼스(200)로부터 얻어진 해석 완료 코퍼스(310)를 사용한다.
이 해석 완료 코퍼스(310)에 대해서는, 전문 검색을 고속으로 하기 위해서 미리 단어 등에 관한 인덱스를 작성해 둔다. 논팩토이드형 질문 응답 서브시스템(332)은 후술하는 바와 같이, 회답문 후보가 질문문(342)에 대한 회답문으로서 어느 정도 어울릴지를 나타내는 스코어를 출력하기 위한 SVM(402)과, 질문 응답 시스템용 코퍼스(200)를 사용해서 SVM(402)의 학습을 행하는 SVM 학습부(400)와, 해석 완료 코퍼스(310)를 참조해서 질문문(342)에 대한 회답 후보를 생성하고, SVM(402)을 사용해서 랭킹하여 최상위의 회답 후보를 회답문(346)으로서 출력하는 회답문 생성부(404)를 포함한다.
회답문 생성부(404)는 질문문(342)을 수신하여 질문문(342)에 대해서 미리 정한 문법적인 해석을 행하여 질문문(342)에 포함되는 각 단어에 대해서 소성(素性)을 생성하기 위해서 필요한 정보(품사, 활용형, 의존 구조 등)를 출력하는 질문문 해석부(450)와, 질문문 해석부(450)의 출력과 질문문을 사용하여 해석 완료 코퍼스(310)를 전문 검색해서 질문에 대한 소정 개수의 회답 후보문을 추출하는 후보문 검색부(452)와, 후보문 검색부(452)가 추출한 회답 후보문을 그것들의 문법 정보와 함께 기억하는 회답 후보문 기억부(454)를 포함한다. 또한, 여기에서 말하는 「회답 후보문」이란, 통상적인 의미에서의 한 문장으로는 한정되지 않고, 복수개의 문장이라도 좋다. 이하, 이와 같은 한 문장 또는 복수개의 문장의 집합을 「패시지」라고 부른다. 또한, 여기에서 말하는 「문장」이란, 반드시 통상 의미하는 「문장」뿐만 아니라, 문장의 일부를 이루는 문장도 가리키는 것으로 한다.
회답문 생성부(404)는 또한, 질문문(342)과 회답 후보문 기억부(454)에 기억되어 있는 회답 후보문과의 조합의 각각에 대해서, 질문문 해석부(450)가 출력하는 소성과 회답 후보문으로부터 얻어지는 소성을 성분으로 하는 소성 벡터를 생성해서 출력하는 소성 벡터 생성부(456)와, 소성 벡터 생성부(456)가 출력하는 소성 벡터의 각각에 대해서 SVM(402)을 사용하여 스코어링하고, 스코어에 따라서 소성 벡터에 대응하는 회답 후보문을 랭킹해서 회답문(346)으로서 출력하는 회답문 랭킹부(458)를 포함한다.
SVM 학습부(400)는 미리 SVM(402)의 학습을 행하기 위한 것이다. SVM 학습부(400)는 해석 완료 코퍼스(310)로부터 질문 및 회답이 쌍으로 되어 있는 것(이하 QA문)을 추출하는 QA문 추출부(420)와, QA문 추출부(420)가 출력하는 QA문을 기억하는 QA문 기억부(422)를 포함한다. 여기에서 QA문이란, 질문과 그 회답의 세트를 말한다. 인터넷 상에서는, 예를 들면 질문문과 그 회답을 페어로 해서 검색 가능하게 한 사이트, 및 전문 용어의 정의 등을 검색 가능하게 하거나 일람 표시하거나 하는 사이트 등이 존재한다. 이들 사이트로부터 수집한 정보에 간단한 가공을 행함으로써, 많은 QA문을 추출할 수 있다. 이 경우의 회답문은 한 문장이라도 좋지만, 상술한 패시지 단위라도 좋다. QA문 기억부(422)에는 또한, QA문으로서 바른 조합이 아닌 QA문이 기억된다. 이것들 바르지 않은 QA문은 수동으로 입력해도 좋고, 해석 완료 코퍼스(310)로부터 랜덤으로 추출한 2개의 문장을 조합시켜도 좋다. QA문의 각각에는 그들 QA문이 바른 조합인지의 여부를 나타내는 플래그가 부착된다. SVM 학습부(400)는 또한, QA문 기억부(422)에 기억된 각 QA문으로부터 SVM(402)의 지도 학습(supervised learning)을 행하기 위한 학습 데이터를 생성하는 학습 데이터 생성부(424)와, 학습 데이터 생성부(424)가 출력하는 학습 데이터를 기억하는 학습 데이터 기억부(426)와, 학습 데이터 기억부(426)에 기억된 학습 데이터를 이용하여 SVM(402)의 학습을 행하는 학습 처리부(428)를 포함한다. 이와 같은 학습을 행하는 것에 의해, SVM(402)은 주어진 QA문이 바른 QA문인지의 여부를 나타내는 출력과, 그 신뢰도를 나타내는 스코어를 출력하도록 최적화된다.
여기에서의 SVM의 학습 데이터로서 사용되는 소성으로서는 이하와 같은 것이 생각된다. 예를 들면, 질문문이 어떠한 사항의 이유를 묻는 「왜 ~인가」와 같은 형식을 갖는 경우에는, 회답문 후보 내에 「이유」, 「때문이다」, 「근거」 등, 그와 같은 질문문에 대한 적절한 회답인 것을 판정하는 단서가 되는 말(단서어)이 존재한다. 이러한 단서어가 있는지의 여부를 소성의 하나로 할 수 있다. 소성으로서는 이외에도, 질문문 내의 내용어가 어떻게 회답문 중에 나타나고 있는가, 그것들 내용어와 단서어의 위치 관계가 어떻게 되어 있는가, 질문이 어떤 사물에 대한 선악의 판단을 나타내는 것일 경우, 회답문 중에 그 판단과 같은 판단을 나타내는 부분이 있는지의 여부, 질문 중에 존재하는 자립어가 회답문 내에 집중해서 출현하고 있는지의 여부 등을 사용할 수 있다. 일반적으로, 어떤 질문문에 대한 회답으로서 어울리는 회답문 중에는 그 질문문 자체, 또는 그 질문문을 다소 변형한 문장이 존재한다고 생각된다. 또한, 질문문에 대한 회답에 어울리는 회답문 중에는 질문문 중에 존재하는 자립어가 많이 존재하고 있고, 또한 그것들이 통합해서 출현하고 있는 경우가 많다. 단서어의 부근에 그것들이 집중되어 있으면, 회답문은 더욱 질문문에 대한 회답으로서 어울리는 것으로 된다. 따라서, 위에 말한 바와 같은 소성을 회답문의 적격성의 스코어링에 사용하는 것이 바람직하다.
도 6은, 팩토이드형 질문문 생성 서브시스템(242)의 개략 구성을 나타내는 블록도이다. 도 6을 참조하여, 팩토이드형 질문문 생성 서브시스템(242)은 도 4에 나타내는 패턴 사전(304)과 마찬가지로 구축된 사전이며, 단어와 패턴 ID를 키로 질문 응답 시스템용 코퍼스(200)로부터 그 단어를 포함하고 그 패턴 ID에 의해 특정되는 패턴을 갖는 문장을 검색 가능한 패턴 사전(500)과, 복수개의 레코드를 포함하는 테이블로 이루어지는 질문문 생성용 DB(502)와, 단어 등(480)을 받는 후보 검색부(504)와, 후보 검색부(504)로부터 출력된 패턴 ID 및 패턴 사전(500)을 사용해서 질문 응답 시스템용 코퍼스(200)를 검색하고, 대응하는 패턴과 단어 등을 포함하는 회답문을 읽어내서 질문문 형식으로 변형하여 질문문 후보로서 출력하는 질문문 생성부(506)를 포함한다. 질문문 생성용 DB(502)는 도 4에 나타내는 회답문 생성용 DB(306)와 마찬가지로, 질문 응답 시스템용 코퍼스(200)로부터 생성된다. 질문문 생성용 DB(502)는 2개의 단어와, 1개의 패턴 ID의 3개 세트로 이루어지는 다수의 레코드를 고속으로 검색 가능한 형식으로 기억하고 있다. 본 실시형태에서는, 질문문 생성용 DB(502)의 각 레코드의 내용은 도 4에 나타내는 회답문 생성용 DB(306)와 완전히 같고, 레코드수도 같다. 단, 회답문 생성용 DB(306)에서는 한쪽의 단어와 패턴 ID를 키로 다른쪽의 단어를 검색하는 구성인 것에 대해, 질문문 생성용 DB(502)에서는 어떤 단어를 키로 패턴 ID와 다른쪽의 단어를 검색하는 구성으로 되어 있는 점이 다르다. 따라서, 회답문 생성용 DB(306)와 질문문 생성용 DB(502)를 RDB로 구축한다면 SQL문을 바꾸기만 하면 되어 하나의 DB를 양자에서 공용할 수 있다. 본 실시형태에서는 리스폰스를 중시해서 회답문 생성용 DB(306)와 질문문 생성용 DB(502)를 각각의 DB로 하고 있지만, 실질적으로는 양자는 같은 데이터를 이용해서 같은 레코드 구성으로 구축할 수 있으므로, 질문문을 제시하기 위해서 특별한 DB를 새롭게 만들기 위해서 데이터의 수집부터 시작하거나 할 필요가 없다고 하는 효과가 있다.
또한, 질문문 생성용 DB(502)와 회답문 생성용 DB(306)의 레코드의 내용 및 레코드수가 서로 완전히 같을 필요는 없다. 질문문 생성용 DB(502)가 회답문 생성용 DB(306)의 서브셋이면, 질문문 생성용 DB(502)를 사용해서 생성되는 질문문은 반드시 회답문 생성용 DB(306)에서 회답이 발견된다. 따라서, 일정 정밀도로 회답이 얻어지는 것이 보증되어 있는 질문문을 유저에게 제시 가능하게 된다.
또한, 가령, 회답문 생성용 DB(306)에 없는 레코드가 질문문 생성용 DB(502)에 존재하는 경우에도, 그것들에 대한 회답을 회답문 생성용 DB(306)와는 다른 수단에 의해 얻도록 할 수도 있다. 예를 들면, 산술 계산에 대한 회답과 같이, 일정한 알고리즘으로 회답이 얻어지는 질문도 생각된다. 그러한 경우에는 대응하는 레코드가 회답문 생성용 DB(306)에 존재할 필요는 없다. 따라서, 질문문 생성용 DB(502)에는 회답문 생성용 DB(306)의 서브셋 이외의 레코드가 존재하고 있어도 좋다. 이 경우에도, 질문문 생성용 DB(502)를 회답문 생성용 DB(306)의 서브셋으로부터 간단히 생성할 수 있다고 하는 효과는 변하지 않는다.
또한, 상기 실시형태에서는 회답문 생성용 DB(306)의 레코드와 질문문 생성용 DB(502)의 레코드의 내용은 같다. 즉, 회답문 생성용 DB(306)의 레코드의 컬럼 구성과, 질문문 생성용 DB(502)의 컬럼 구성은 같다. 그러나, 양자는 엄밀하게 같을 필요는 없다. 예를 들면, 질문 응답 시스템의 회답 표시에서의 회답의 표시 순서로서 「짧은 회답부터 순서대로 표시」 또는 「회답의 새로운 순서대로 표시」 등의 선택지를 형성할 경우에는, 회답문 생성용 DB(306)의 각 레코드에는 회답의 문자수 또는 회답 레코드의 최초의 수집일과 같은 컬럼을 형성할 경우가 있다. 이것들에 대해서까지 질문문 생성용 DB(502)에 형성할 필요는 없다. 마찬가지의 것은 반대에 대해서도 말할 수 있다.
즉, 회답문 생성용 DB(306)와 질문문 생성용 DB(502)는 레코드의 컬럼 구성도 포함해서, 서로 공통의 부분이 있으면 좋다. 즉, 각 레코드의 컬럼으로서는 본 실시형태에서 설명한 구성을 공통 부분으로 하고, 그것들 이외에 서로 공통이 아닌 컬럼이 존재해도 좋고, DB 전체로서 서로 대응하는, 즉 같은 코퍼스의 같은 부분으로 형성된 공통의 레코드에 추가하여, 그것들 이외의 레코드가 각 DB에 존재해도 좋다.
이와 같은 구성으로 해도, 회답문 생성용 DB(306)를 바탕으로 질문문 생성용 DB(502)를 구축할 수 있다고 하는 효과는 변하지 않는다.
팩토이드형 질문문 생성 서브시스템(242)은 또한, 시소러스(508)와, 동의어·함의 사전(510)과, 질문문을 스코어링 하기 위한 스코어링 룰을 기억한 스코어링 룰 기억부(514)와, 시소러스(508) 및 동의어·함의 사전(510)을 사용하여 질문문 중에서 비슷한 질문을 집약하고, 남은 질문문을 스코어링 룰 기억부(514)에 기억된 룰에 따라서 스코어링하여, 스코어가 높은 질문문을 선택해서 질문문 리스트(482)를 출력하는 질문문 집약·선택부(512)를 포함한다. 질문문 생성용 DB(502)의 각 레코드는 단어를 키로 해서, 그 단어와 공기하는 패턴을 참조할 수 있는 형식으로 되어 있다. 또한, 질문 집약·선택부(512)에 의한 질문문의 집약에서는, 이하와 같은 방법이 사용된다.
·단어의 동의 관계를 이용하여, 동의 관계에 있는 단어를 대표 단어로 통일한다.
·패턴에 대해서도 동의 관계를 이용하여, 동의 관계에 있는 패턴을 대표 패턴으로 통일한다.
·단어 및 패턴의 함의 관계에 대해서도 마찬가지의 처리를 한다. 단, 이 경우, 함의 관계에 있는 2개의 단어의 경우, 의미적으로 상위에 있는 단어, 즉 하위어를 함의하는 말로 통일한다. 패턴에 대해서도 마찬가지이다.
· 이와 같은 치환의 결과, 동일 또는 거의 동일하게 된 질문문에 대해서는, 그 중의 1개를 남기고, 다른 것을 삭제한다.
또한, 대표 단어 및 대표 패턴을 어떤 것으로 할지에 대해서는 미리 시소러스 및 동의·함의 사전에 기억시켜 두면 좋다. 대표 단어 및 대표 패턴은 수동으로 등록해도 좋고, 어떠한 기계 학습에 의해 미리 정하도록 해도 좋다. 또한, 상기한 단어 및 패턴의 통일 순서는 어떤 순서로 행해도 좋다. 단어의 동의 관계에 의한 통일 후에 질문문의 통일을 한다, 등 단계적으로 질문문의 집약을 행하도록 해도 좋다.
스코어링 룰 기억부(514)가 기억하는 스코어링의 룰은 질문문으로서 어떠한 것을 상위로 가지고 올까, 라고 하는 사이트의 폴리시에 관련되는 것이다. 예를 들면, 질문문의 바탕이 된 문장 중에 출현하는 단어의, 시소러스(508)에 의해 지정되는 클래스에 의거하여 스코어링하거나, 출현하는 복수의 단어의 조합에 의해 스코어를 상하시키거나 하는 것이 생각된다. 또한, 원래의 문장에는 존재하고 있었지만, 질문문 중에는 출현하고 있지 않은 단어의 클래스에 의거하여 스코어링 할 수도 있다. 단어의 클래스뿐만 아니라, 전부 또는 일부의 단어마다 스코어링을 위한 어떠한 정보를 첨부해도 좋다. 또한, 스코어링 룰 사이에서의 적용의 우선순위를 정하도록 해도 좋다. 이 스코어링 룰과, 그 룰에 따른 스코어링 계산 방법은 일종의 프로그래밍 언어적 스킴에 따라서 설계된다. 따라서, 스코어링 룰 기억부(514)에 기억되는 스코어링 룰은, 스코어링 룰 책정용의 전용 툴에 의해 작성·갱신할 수 있도록 하는 것이 바람직하다. 물론, 룰이 텍스트 베이스이면 상기한 프로그래밍적 스킴을 이해한 유저에 의해, 예를 들면 텍스트 에디터 등으로 이 룰을 기술할 수도 있다.
도 7은 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부(208) 및 논팩토이드형 질문문 생성 서브시스템(244)의 개략 구성을 나타내는 블록도이다.
도 7을 참조하여, 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부(208)는 도 3에 나타내는 의존 해석부(282)의 출력을 격납한 해석 완료 코퍼스(550)와, 해석 완료 코퍼스(55)에 기억된 각 문서를, 각각이 5문장 정도의 문장을 포함하는 패시지로 분할하는 패시지 분할부(552)와, 패시지로 분할된 문서를 기억하는 분할 완료 코퍼스(554)를 포함한다. 패시지 분할부(552)가 분할하는 패시지는 서로 중복되는 부분을 갖고 있어도 좋다. 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부(208)는 또한, 분할 완료 코퍼스(554)에 기억된 각 패시지로부터 질문문의 형식을 갖는 문장을 질문문 후보로서 추출하는 질문문 후보 추출부(556)와, 분할 완료 코퍼스(554)에 기억된 각 패시지로부터 그 패시지 또는 그 패시지의 일부의 문장을 회답으로 하는 질문문 후보를 생성하는 질문문 후보 생성부(558)와, 질문문 후보 추출부(556) 및 질문문 후보 생성부(558)의 출력의 각각에 대해서, 도 5에 나타내는 논팩토이드형 질문 응답 서브시스템(332)에서 학습 완료한 SVM(402)과 같은 SVM을 이용하여 그 패시지 또는 그 패시지에 포함되는 문장이 회답으로 되는 질문문으로서의 스코어를 산출하는 질문문 후보 스코어 산출부(560)와, 질문문 후보 스코어 산출부(560)가 산출한 스코어가 한계값 이상인 질문문만을 선택하여 질문문 DB(580)를 구축하는 질문문 후보 선택부(562)를 포함한다.
논팩토이드형 질문문 생성 서브시스템(244)은 단어 등을 키로 해서, 그 단어 등을 포함하는 질문문을 검색할 수 있는 형식으로 되어 있는 질문문 DB(580)와, 시소러스(584)와, 동의어·함의 사전(582)과, 질문문을 스코어링할 때의 룰을 기억한 도 6의 스코어링 룰 기억부(514)와 마찬가지의 스코어링 룰 기억부(586)와, 단어 등(480)을 받은 것에 응답하여 질문문 DB(580)로부터 단어 등(480)을 키로 질문문을 읽어 내서 질문문 후보를 복수개 생성하는 질문문 생성부(588)와, 질문문 생성부(588)가 생성한 복수개의 질문문에 대해서 시소러스(584), 및 동의어·함의 사전(582)을 사용해서 동의어, 동종의 의미를 나타내는 단어 및 패턴 등을 집약함으로써 질문문 후보를 집약하고, 또한 스코어링 룰 기억부(586)에 기억된 룰에 의해 질문문의 스코어를 산출하여 질문문을 스코어에 따라서 소트해서 질문문 리스트(484)로서 출력하는 질문문 집약·선택부(590)를 포함한다.
도 8은, 도 2에 나타내는 프로그램 실행계(238)가 단말 장치로부터 어떠한 요구를 받았을 때에, 그 요구에 부가된 유저의 입력에 따라서 질문 응답 서브시스템(240), 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)으로 처리를 나누기 위한 프로그램의 제어 구조를 나타내는 플로우차트이다.
도 8을 참조하여, 프로그램 실행계(238)가 실행하는 배분 프로그램은 입력이 질문문인지의 여부를 판정하고, 판정이 긍정인지 부정인지에 따라 제어의 흐름을 분기시키는 스텝 610과, 스텝 610의 판정이 긍정이었던 것에 응답하여 도 2에 나타내는 질문 응답 서브시스템(240)에 의해 질문문에 대한 회답을 작성시켜, 회답을 리턴값으로 해서 친루틴으로 복귀하는 스텝 612와, 스텝 610의 판정이 부정이었던 것에 응답하여 입력이 단어 등인지의 여부를 판정하고, 판정이 긍정인지 부정인지에 따라 제어의 흐름을 분기시키는 스텝 614와, 스텝 614의 판정이 긍정이었던 것에 응답하여 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)에 단어 등을 건네서 질문문의 배열을 작성시키고 결과를 하나의 배열로 정리해서 리턴값으로 해서 친루틴으로 복귀하는 스텝 616과, 스텝 614의 판정이 부정이었던 것에 응답하여 리턴값을 나타내는 변수에 에러의 종류를 나타내는 값을 대입해서 친루틴으로 복귀하는 스텝 618을 포함한다.
[동작]
이상에 설명한 구성을 갖는 질문 응답 시스템(164)은 이하와 같이 동작한다. 질문 응답 시스템(164)의 동작은, 준비와 서비스시의 2개의 페이즈로 나누어진다. 이하, 순서대로 설명한다.
<준비>
준비 페이즈는 도 4에 나타내는 패턴 사전(304) 및 회답문 생성용 DB(306)의 작성, 도 5에 나타내는 SVM(402)의 학습, 도 6에 나타내는 질문문 생성용 DB(502)의 작성, 도 7에 나타내는 질문문 DB(580)의 작성을 행한다. 또한, 이것들의 처리에 앞서 인터넷 상의 웹 사이트로부터 다수의 문례를 수집해서 질문 응답 시스템용 코퍼스(200)를 작성해 둔다. 또한, 질문 종별 판정부(334)(도 2 참조), 시소러스(360), 동의어·함의 사전(362)(모두 도 4 참조), 시소러스(508), 동의어·함의 사전(510) 및 스코어링 룰 기억부(514)(도 6 참조), 동의어·함의 사전(582), 스코어링 룰 기억부(586) 및 시소러스(584)(도 7 참조) 등도 준비해 두는 것으로 한다.
(1) 패턴 사전(304) 및 회답문 생성용 DB(306)의 작성
도 3을 참조하여, 전처리부(202)의 형태소 해석부(280)는 질문 응답 시스템용 코퍼스(200)에 격납된 각 문장을 형태소 해석하여, 품사 정보 등의 문법 정보가 첨부된 형태소열을 의존 해석부(282)에 준다. 의존 해석부(282)는 주어진 형태소열에 의거하여 원래의 문장의 의존 관계를 해석하고, 의존 관계의 네트워크를 작성한다. 의존 해석부(282)는 작성된 네트워크 상에서 소정의 하한수 이상, 및 소정의 상한수 이하의 노드를 갖는 모든 패스를 추출한다. 이들 패스에 대응하는 단어를 연결함으로써 1개의 프레이즈, 또는 문장이 얻어진다. 의존 해석부(282)는 이와 같이 해서 얻어진 프레이즈 또는 문장을 패턴 수집부(308)에 준다.
질문 응답 서브시스템용 데이터 생성부(204)의 패턴 수집부(308)는 의존 해석부(282)로부터 주어진 프레이즈 및 문장을, 사전(300)을 참조하면서 패턴으로 분류한다. 이 분류에서는, 예를 들면 각 프레이즈 및 문장에 속하는 단어를 그것들이 속하는 클래스로 추상화하고, 같은 클레스에 속하는 단어는 같은 것으로 해서 취급함으로써 동일한 형태의 프레이즈 및 문장을 1개의 패턴으로 집약한다. 패턴 수집부(308)는 이와 같이 해서 얻어진 패턴 및 문장을 이용하여 도 4에 나타내는 패턴 사전(304)을 생성한다. 또한, 이 패턴 사전(304)은 각각 유니크한 패턴 ID가 첨부된 패턴 및 문장으로 이루어진다.
패턴 수집부(308)는 또한, 각 프레이즈 또는 문장에 대해서 그것들에 속하는 단어와, 패턴 ID를 키로 해서 프레이즈 또는 문장을 검색할 수 있는 형식으로 회답문 생성용 DB(306)를 작성한다.
마찬가지로 질문 응답 서브시스템용 데이터 생성부(204)의 DB 구축부(302)는 의존 해석부(282)가 출력하는 프레이즈 및 문장과, 그것들을 전문 검색하기 위한 인덱스를 격납하는 해석 완료 코퍼스(310)를 구축한다.
(2) SVM(402)의 학습
도 5를 참조해서, QA문 추출부(420)는 해석 완료 코퍼스(310)로부터 QA문을 추출하여 QA문 기억부(422)에 격납한다. QA문 추출부(420)에는 또한, 수조작으로 QA문이 추가되어도 좋다. QA문 기억부(422)에는 QA문으로서 바른 조합이 아닌 QA문도 기억된다. 이것들 바르지 않은 QA문은 수동 입력해도 좋고, 해석 완료 코퍼스(310)로부터 랜덤으로 추출한 2개의 문장을 조합시켜도 좋다. QA문의 각각에는 그것들의 QA문이 바른 조합인지의 여부를 나타내는 플래그가 붙여진다. 학습 데이터 생성부(424)는 QA문 기억부(422)에 기억된 각 QA문으로부터 SVM(402)의 지도 학습을 행하기 위한 학습 데이터를 생성하고, 학습 데이터 기억부(426)에 격납한다. 학습 처리부(428)는 학습 데이터 기억부(426)에 기억된 학습 데이터를 이용하여 SVM(402)의 학습을 행한다. 이와 같은 학습을 행함으로써, SVM(402)은 주어진 QA문이 바른 QA문인지의 여부를 나타내는 출력과 그 신뢰도를 나타내는 스코어를 출력하도록 최적화된다.
(3) 팩토이드형 질문문 생성 서브시스템(242)의 질문문 생성용 DB(502)의 작성
도 6을 참조하여, 질문문 생성용 DB(502)는 회답문 생성용 DB(306)(도 3)와 마찬가지의 방법으로 작성된다. 단, 질문문 생성용 DB(502)는 어떤 단어 또는 단어군이 주어지면, 그 단어 또는 단어군을 키로 해서 패턴 ID가 검색되는 데이터베이스 형식이다.
(4) 논팩토이드형 질문문 생성 서브시스템(244)의 질문문 DB(580)
도 7에 나타내는 질문문 DB(580)는 이하와 같이 해서 작성된다. 우선, 해석 완료 코퍼스(550)(도 5에 나타내는 해석 완료 코퍼스(310)와 마찬가지로, 전처리부(202)에 의한 전처리가 완료된 것)에 대해서, 각 문서를 5개 정도의 문장을 단위로 하는 패시지로 분할하여, 분할 완료 코퍼스(554)에 그들 패시지를 격납한다. 질문문 후보 추출부(556)는 각 패시지에 존재하는 단어로부터 생성되는 모든 단어열을 생성하고, 간단한 패턴 변환에 의해 그것들을 질문문 형식으로 변환한다. 예를 들면, 패시지가 「여러분이 아시는 바와 같이 하늘은 푸릅니다.」 및 「이것은 공기 중의 분자가 태양광의 청색 부분을 산란시키는 것에 의하고 있습니다.」와 같은 2개의 문장을 포함할 경우를 상정한다. 이 패시지의 단어로부터는 「여러분이 아시는」, 「하늘은 푸릅니다」, 「이것은 의하고 있습니다」, 「공기 중의 분자가 태양광」, 「공기 중의 분자가 태양광의 청색 부분을 산란시킨다」등 다수의 단어열이 얻어진다. 예를 들면, 이와 같이 해서 얻어진 단어열을 「왜 …인가」라는 형식의 패턴으로 변환하면, 「왜 여러분이 아시는가?」,「왜 하늘은 푸릅니까?」,「왜 이것은 의하고 있습니까?」,「왜 공기 중의 분자가 태양광?」,「왜 공기 중의 분자가 태양광의 청색 부분을 산란시키는가?」 등의 질문문 후보가 얻어진다. 또한, 패시지 중에 질문문에 상당하는 문장 또는 표현이 있으면, 그것들도 추출하여 질문문 후보에 추가한다.
이렇게 하여 얻어진 질문문 후보는 모두 질문문 후보 스코어 산출부(560)에 주어진다. 질문문 후보 스코어 산출부(560)는, 도 3에 나타내는 논팩토이드형 질문 응답 서브시스템(332)의 SVM(402)을 사용하여, 그것들 질문문 후보가 원래의 패시지를 회답으로 하는 질문으로 되어 있는 정도를 나타내는 스코어를 산출해서 출력한다. 질문문 후보 선택부(562)는 각 질문문 후보에 대해서, 질문문 후보 스코어 산출부(560)에 의해 산출된 스코어가 한계값 이상인 것을 선택해서 질문문 DB(580)에 격납한다. 이 질문문 DB(580)는 단어 등을 키로 해서, 그 단어를 포함하는 질문문을 검색할 수 있는 형식으로 되어 있다.
이와 같은 방법으로 질문문을 생성함으로써, 다음과 같은 효과가 얻어진다. 즉, 원래의 패시지에 포함되는 개별의 문장이 단독으로는 어느 질문문의 회답으로는 될 수 없는 경우가 있다. 그와 같은 경우, 개별의 문장으로부터 적절한 질문문을 생성하는 것은 어렵다. 그러나 본 실시형태에 의하면, 패시지 중의 단어를 사용하는 가능한 모든 조합으로 이루어지는 단어열로부터 질문문을 형성하므로, 예를 들면 패시지 중의 복수의 문장을 조합시킨 것이 회답으로 되는 질문문을 얻는 것이 가능하게 된다. 패시지 그 자체가 회답으로 되는 질문문이 얻어지는 경우도 있다.
또한, 상기한 바와 같은 방법에 의하면, 패시지 중의 모든 단어의 조합을 질문문 후보로서 고려하기 때문에, 매우 유연하게 질문문을 생성할 수 있다고 하는 효과도 있다. 그것을 위한 알고리즘도 단순하다. 단어의 조합을 생성할 때에, 어떠한 제한을 걺으로써 특정 조건을 충족시키는 단어의 조합만을 사용하도록 할 수도 있다. 예를 들면, 의존 관계를 갖는 단어의 조합만, 연속하는 단어로 이루어지는 단어열만, 과 같은 제한을 걸 수 있다. 그렇게 함으로써 단어열을 생성할 때의 계산 비용을 억제할 수 있다.
위와 같은 방법에 의해 적절한 질문문을 선택할 수 있는 것은, 다음과 같은 사정을 생각하면 이해할 수 있다. 즉, 논팩토이드형의 질문에 대한 정당한 회답으로 되는(또는 정당한 회답으로 되는 문장을 포함하는) 패시지이면, 그 질문과 의미적으로 동의로 되거나, 또는 유사한, 표현 또는 문장을 포함하고 있을 것이다. 그와 같은 표현 또는 문장을 미리 패시지로부터 추출해 두면, 그 표현 또는 문장을, 그 패시지를 회답으로 하는 어떠한 질문문과도 동의인 질문, 또는 유사한 질문의 대표원으로 할 수 있다, 고 하는 것이다.
<서비스시>
·초기 화면
유저가 예를 들면 도 1에 나타내는 컴퓨터(168)에 있어서 브라우저를 기동시켜, 질문 응답 시스템(164)의 톱 페이지의 어드레스를 입력해서 리턴키를 누른다. 이 결과, 도 2의 인터페이스(230)가 이 요구를 수신하여 웹 서버(232)에 이 요구를 건넨다. 웹 서버(232)는 이 요구에 의해 특별히 프로그램의 지정이 되어 있지 않을 때에는, 톱 페이지를 작성하기 위한 특정 프로그램을 지정해서 프로그램 실행계(238)에 이 요구를 준다.
프로그램 실행계(238)는 웹 사이트 응답용 프로그램 기억부(236)로부터 웹 서버(232)에 의해 지정된 프로그램을 읽어내고, 실행한다. 즉, 프로그램 실행계(238)는 읽어낸 프로그램 중의 명령을 실행하고, 웹 사이트 응답용 DB(234)로부터 필요한 정보와, 프로그램 중에서 출력하는 것이 지정되어 있는 정적인 텍스트를 조합시켜서 톱 페이지를 나타내는 HTML 파일을 생성하여 웹 서버(232)로 되돌린다. 웹 서버(232)는 인터페이스(230)를 통해서 요구를 송신해 온 단말에 이 HTML 파일을 회신한다. 이 HTML 파일에는 특정 기사의 상세 표시를 요구하기 위한 폼이 매입되어 있다. 각 폼에는 그 기사를 특정하는 정보와, 그것을 처리하기 위한 프로그램명이 지정되어 있다. 유저가 특정 기사의 상세를 요구하는 폼에 구비된 버튼을 누르면, 그 기사의 상세 표시를 하기 위한 프로그램명과 상세 표시하기 위해서 필요한 정보가 프론트 엔드(210)로 송신되어 온다. 웹 서버(232)가 이 요구를 프로그램 실행계(238)에 주면, 프로그램 실행계(238)는 지정된 프로그램을 웹 사이트 응답용 프로그램 기억부(236)로부터 읽어내고, 지정된 조건에 따라서 웹 사이트 응답용 DB(234)로부터 기사를 읽어내고, 표시를 위한 HTML 파일을 생성하여 상대 단말에 회신한다. 프론트 엔드(210)는 이렇게 하여 상대 단말로부터의 요구에 따라서 동적으로 화면을 생성하면서 상대 단말에 다양한 정보를 제공한다.
·질문문이 입력되었을 때
질문문이 주어지면 질문 응답 시스템(164)은 이하와 같이 동작한다.
프로그램 실행계(238)는 유저로부터 질문문을 수신하면 그 질문문을 질문 응답 서브시스템(240)에 주고, 그 결과 얻어지는 회답문을 상대 단말에 회신한다. 상대 단말로부터 질문문 대신에 단어 등을 수신하면, 프로그램 실행계(238)는 그 단어 등을 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)에 주어서 질문문의 배열을 생성시킨다. 프로그램 실행계(238)는 그렇게 해서 얻어진 질문문의 배열의 텍스트를 매입한 HTML문을 생성하여, 상대 단말에 회신한다. 이 예에서는, 이 HTML문은 각 질문문이 클릭되면 그 질문문을 프론트 엔드(210)에 송신하는 스크립트가 매입되어 있다.
본 실시형태에서는 질문 응답 시스템(164)을 채용한 웹 사이트의 톱 페이지에 액세스하면, 도 9에 나타내는 바와 같은 화면이 표시된다. 이 예에서는, 이 웹 사이트는 뉴스 사이트인 것으로 한다. 톱 페이지(640)는 다양한 요소로 이루어져 있지만, 이 예에서는 화면의 우중앙 부근에 질문문의 입력 필드(642)가 형성되어 있다. 입력 필드(642)의 바로 위에는 입력 필드(642)에 질문문 또는 흥미를 갖는 단어 등을 입력하도록 알리는 메시지가 표시되어 있다. 입력 필드(642)의 아래에는 광고란, 날씨란, 및 기타 여기에는 도시하고 있지 않은 다양한 정보가 표시된다. 이 입력 필드는, 도 2에 나타내는 특정 프로그램을 실행하도록 지정한 폼의 일부를 이루고 있다. 여기에서, 유저가 입력 필드(642)에 예를 들면, 「아베 정권」이라고 하는 말을 입력한 것으로 한다.
이 단어는, 특정 프로그램명과 함께 질문 응답 시스템(164)의 프론트 엔드(210)에 송신된다. 프론트 엔드(210)의 프로그램 실행계(238)는, 이 특정 프로그램을 웹 사이트 응답용 프로그램 기억부(236)로부터 읽어 내서 실행한다. 이 프로그램은 그 일부의 루틴으로서 도 8에 제어 구조를 나타내는 프로그램을 포함하고 있다. 그 결과, 위에 기재한 것과 같은 조건에서는 도 8의 스텝 610→스텝 614→스텝 616의 경로를 거쳐서 단어 등이 도 2에 나타내는 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)에 주어진다.
도 6을 참조하여, 팩토이드형 질문문 생성 서브시스템(242)의 후보 검색부(504)는 입력되는 단어 등(480)을 키로 해서 질문문 생성용 DB(502)를 검색하고, 그 단어 등과 공기하는 회답문의 패턴 ID를 인출한다. 질문문 생성부(506)는 후보 검색부(504)로부터 주어진 단어 등과 패턴 ID를 이용하여 패턴 사전(500)을 검색함으로써, 그 단어 등과 패턴 ID에 의해 특정되는 패턴을 갖는 문장으로의 액세스 정보를 인출한다. 질문문 생성부(506)는 또한, 이 액세스 정보를 이용하여 질문 응답 시스템용 코퍼스(200)를 액세스하고, 목적의 문장을 인출할 수 있다. 이 결과, 후보 검색부(504)가 출력한 패턴 ID에 상당하는 패턴을 갖고, 또한 단어 등(480)을 포함하는 문장이 질문 응답 시스템용 코퍼스(200)로부터 인출된다. 질문 응답 시스템용 코퍼스(200)에는 다수의 문장이 기억되어 있기 때문에, 통상은 인출되는 문장은 상당한 수가 된다. 질문문 생성부(506)는 이렇게 하여 인출된 문장을 질문문 형식으로 변형한다. 예를 들면, 「아베 정권」이라고 하는 말이 단어 등(480)으로서 주어지고, 질문문 생성용 DB(502)로부터 인출된 패턴 ID가 「A는 B를 노리고 있다」라고 하는 패턴이었다고 한다. 질문 응답 시스템용 코퍼스(200)에 「아베 정권은 TPP 참가를 노리고 있다.」라고 하는 문장이 있던 것으로 한다. 이 문장은 이 「아베 정권」이라고 하는 말을 포함하기 때문에, 질문문 생성부(506)에 의해 질문 응답 시스템용 코퍼스(200)로부터 인출된다. 질문문 생성부(506)는 각 패턴에 대해서 문장을 질문 형식으로 변형하는 규칙을 유지하고 있다. 예를 들면, 「A는 B를 노리고 있다」라고 하는 문장에 대해서는, 예를 들면 (1) 「A가 노리고 있는 것은 무엇입니까」라고 하는 변형, (2) 「B를 노리고 있는 것은 누구입니까」라고 하는 변형 등이 룰로서 유지되어 있다. 여기에서는, 패턴 중의 단어 중, 단어 등(480)에 상당하는 단어가 남은 변형룰을 적용한다. 여기에 든 예에서는, 상기 (1)의 예가 채용되게 되어 「아베 정권이 노리고 있는 것은 무엇입니까」라고 하는 질문문이 생성된다.
질문문 생성부(506)는 질문 응답 시스템용 코퍼스(200)로부터 인출된 각 문장에 대해서, 그 패턴과 단어 등에 따라 상기한 바와 같은 처리에 의해 질문문 후보를 생성하여 질문문 집약·선택부(512)에 준다.
질문 응답 시스템용 코퍼스(200)는 인터넷 상의 웹 사이트로부터 수집한 다수의 문장을 포함하고 있다. 따라서, 같은 문장, 또는 문장의 형태 또는 표현이 다소 다르지만 거의 같은 의미를 나타내고 있는 복수의 문장이 존재하는 것이 통상이다. 그것들을 전부 화면에 표시하면, 유저로서는 오히려 번거로이 느낄 것이다. 질문문으로서는, 가능한 한 다채로운 것을 표시한 쪽이 유저의 질문 작성의 도움이 된다. 그래서 질문문 집약·선택부(512)는 시소러스(508) 및 동의어·함의 사전(510)을 참조해서 동의어를 한쪽의 단어에 집약하거나, 하위 개념을 나타내는 복수의 단어를 그것들의 공통의 상위 개념의 단어로 치환하거나 함으로써 같은 문장으로 된 문장을 집약하거나, 문장의 패턴으로서는 다르지만 내용은 같은 패턴을 어느 하나로 집약하거나 한다. 그 결과, 질문문 후보가 집약된다. 질문 집약·선택부(512)는 또한, 스코어링 룰 기억부(514)에 기억된 스코어링 룰에 따라서 질문문 후보를 스코어링한다. 스코어에 따라서 질문문을 소트하고, 스코어의 상위 소정수의 질문문 후보를 선택해서 질문문 리스트(482)로서 출력한다.
도 7을 참조하여, 논팩토이드형 질문문 생성 서브시스템(244)은 단어 등(480)이 주어지면 이하와 같이 동작한다. 질문문 생성부(588)는 단어 등(480)이 주어지면, 그 단어를 키로 질문문 DB(580)를 검색하여 논팩토이드형의 질문문 후보를 인출한다. 질문문 DB(580)에도, 다수의 질문문이 기억되어 있다. 따라서, 질문문 생성부(588)가 인출하는 질문문 후보는 다수로 되는 것이 통상이다. 질문문 집약·선택부(590)는 이와 같이 다수의 질문문 후보를, 시소러스(584) 및 동의어·함의 사전(582)을 사용해서 집약한다. 질문문 집약·선택부(590)는 또한, 스코어링 룰 기억부(586)에 기억된 스코어링 룰에 따라서 남은 질문문 후보를 스코어링하고 소트하여, 스코어가 높은 소정 개수의 질문문을 선택해서 질문문 리스트(484)로서 출력한다.
다시 도 2를 참조하여, 프로그램 실행계(238)는 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)으로부터 출력되는 질문문의 텍스트와, 질문문이 클릭되었을 때에 그 질문문을 질문 응답 시스템(164)에 송신하는 스크립트를 매입한 HTML 소스 파일을 생성하고, 웹 서버(232) 및 인터페이스(230)를 통해서 상대 단말에 송신한다.
상대 단말에는, 도 10에 나타내어지는 페이지(660)가 표시된다. 페이지(660)에서는 톱 페이지(640)와 달리, 입력 필드(642)의 바로 아래에 「아베 정권」이라고 하는 단어에 의거하여 작성된 복수의 질문문(664)이 표시된다. 이 예에서는, 질문문(664) 중 어느 하나를 선택하면, HTML 파일에 매입된 스크립트에 의해 그 질문문이 입력 필드(642)에 입력되도록 처리되고, 질문 응답 시스템(164)에 그 질문문을 포함하는 요구가 송신된다.
이 경우, 질문 응답 시스템(164)은 다음과 같이 동작한다. 도 2를 참조하여, 이 요구는 인터페이스(230) 및 웹 서버(232)를 통해서 프로그램 실행계(238)에 주어진다. 프로그램 실행계(238)는 도 8에 제어 구조를 나타내는 프로그램을 읽어내서 실행한다.
도 8을 참조하여, 이 경우, 스텝 610의 판정이 긍정으로 되고, 스텝 612에서 그 질문문에 대한 회답이 질문 응답 서브시스템(240)에 의해 생성되어, 상대 단말에 송신된다.
보다 구체적으로는, 도 2를 참조하여 질문문은 프로그램 실행계(238)로부터 질문 응답 서브시스템(240)으로 건네진다. 도 3을 참조하여, 질문문(260)을 받은 질문 종별 판정부(334)는 그 질문이 팩토이드형인지 논팩토이드형인지를 판정하여, 판정 결과를 질문 배분부(336) 및 회답 선택부(338)에 준다.
질문 배분부(336)는 질문이 팩토이드형이면 질문문(340)을 팩토이드형 질문 응답 서브시스템(330)에 주고, 논팩토이드형이면 질문문(342)을 논팩토이드형 질문 응답 서브시스템(332)에 준다.
질문이 팩토이드형이면, 팩토이드형 질문 응답 서브시스템(330)은 이하와 같이 동작한다. 도 4를 참조하여, 질문 해석부(364)는 시소러스(360) 및 동의어·함의 사전(362)을 사용해서 질문문(340)을 해석하고, 질문문(340)에 대응하는 회답문의 패턴의 패턴 ID와, 질문문 중에 출현하는 단어를 특정해서 쿼리 생성부(366)에 준다.
쿼리 생성부(366)는 주어진 패턴 ID와 출현 단어를 키로 해서 회답문 생성용 DB(306)에서 회답 후보를 검색하기 위한 쿼리문을 생성하고, 회답문 검색부(368)에 준다. 회답문 검색부(368)는 그 쿼리문을 회답문 생성용 DB(306)에 투입함으로써 회답문 생성용 DB(306)로부터 회답 후보를 읽어내어 회답 선택부(370)에 준다. 회답 선택부(370)는 읽어낸 회답 후보 중, 질문문(340)에 대한 회답으로서 가장 어울리는 것을 선택하여 회답문(344)으로서 프로그램 실행계(238)에 준다. 이 경우의 회답 선택부(370)에 의한 선택은, 예를 들면 질문문(340)과 회답 후보에서 공유하는 단어의 수, 양자의 패턴 조합, 양자에서 사용되고 있는 단어의 클래스 및 레벨의 조합 등을 사용한 스코어링에 의해 행할 수 있다.
그 결과, 그 질문문에 대응하는 회답문이 질문 응답 시스템(164)으로부터 회신되어 와서 화면에 표시된다.
한편, 질문이 논팩토이드형일 경우, 논팩토이드형 질문 응답 서브시스템(332)은 이하와 같이 동작한다. 도 5를 참조하여, 질문문(342)을 받으면, 질문문 해석부(450)는 질문문에 대하여 미리 정한 문법적인 해석을 행하고, 질문문(342)에 포함되는 자립어인 각 단어에 대해서, 소성을 생성하기 위해서 필요한 정보를 작성해서 출력한다. 후보문 검색부(452)는 출력된 정보에 의거하여 해석 완료 코퍼스(310)를 전문 검색하고, 질문문(342)에 포함되는 각 단어를 포함하는 회답 후보를 소정 개수만 인출해서 그것들의 문법 정보와 함께 회답 후보문 기억부(454)에 격납한다.
소성 벡터 생성부(456)는 질문문 해석부(450)와 회답 후보문 기억부(454)에 기억된 각 회답 후보의 조합마다, 그것들의 문법 정보를 이용하여 학습 데이터 생성부(424)에 의해 생성되는 소성 벡터와 마찬가지의 구성의 소성 벡터를 생성한다. 단, 이 조성 벡터는 학습 데이터 생성부(424)가 생성하는 것과 달리, 이 조합이 바른 조합인지의 여부를 나타내는 플래그를 갖지 않는다.
회답문 랭킹부(458)는 질문문과 각 회답 후보의 조합마다 얻어지는 소성 벡터를 SVM(402)에 주고, SVM(402)으로부터 스코어를 수취한다. 이 스코어는 회답 후보가 질문문에 대한 회답문으로서 어느 정도 어울릴지를 나타내는 것이다. 회답문 랭킹부(458)는 이렇게 하여 얻은 질문문과 각 회답 후보의 조합을 그것들의 스코어에 의해 내림차순으로 랭킹하고, 최상위의 회답문을 회답문(346)으로서 출력한다.
유저가 처음부터 어떠한 질문문을 입력했을 경우에는, 질문 응답 서브시스템(240)이 그 질문문을 상기한 것과 마찬가지로 처리하여 회답을 상대 단말에 회신한다.
[컴퓨터에 의한 실현]
상기한 실시형태에 의한 질문 응답 시스템(164)은 컴퓨터 하드웨어와, 그 위에 실장되는 소프트웨어에 의하여 실현할 수 있다. 도 11을 참조하여, 이 컴퓨터 시스템(930)은 메모리 포트(952) 및 DVD(Digital Versatile Disc) 드라이브(950)를 갖는 컴퓨터(940)와, 키보드(946)와, 마우스(948)와, 모니터(942)를 포함한다. 실제로는 사용하는 데이터베이스가 매우 크고, 또한 질문 응답 시스템용 코퍼스(200)가 대용량의 기억 장치를 필요로 하는 것, 및 리스폰스를 좋게 하기 위해서 복수의 컴퓨터에 의한 분산 처리가 채용된다. 여기에서는 편의적으로 하나의 컴퓨터에 의해 질문 응답 시스템(164)을 실장하는 것으로 해서 설명한다.
컴퓨터(940)는 메모리 포트(952) 및 DVD 드라이브(950)에 추가해서, CPU(중앙 처리 장치)(956)와, CPU(956), 메모리 포트(952) 및 DVD 드라이브(950)에 접속된 버스(966)와, 부트 업 프로그램 등을 기억하는 판독 전용 메모리(ROM)(958)와, 버스(966)에 접속되어 프로그램 명령, 시스템 프로그램, 및 작업 데이터 등을 기억하는 랜덤 액세스 메모리(RAM)(960)를 포함한다. 컴퓨터 시스템(930)은 또한, 타 단말과의 통신을 가능하게 하는 네트워크로의 접속을 제공하는 네트워크 인터페이스(I/F)(944)를 포함한다.
컴퓨터 시스템(930)에 질문 응답 시스템(164)의 각 기능부로서의 동작을 행하게 하기 위한 컴퓨터 프로그램은 DVD 드라이브(950) 또는 메모리 포트(952)에 장착되는 DVD(962) 또는 리무버블 메모리(964)에 기억되고, 또한 하드디스크(954)에 전송된다. 또는, 프로그램은 도시하지 않은 네트워크를 통해서 컴퓨터(940)에 송신되어 하드디스크(954)에 기억되어도 좋다. 프로그램은 실행시에 RAM(960)에 로드 된다. DVD(962)로부터, 리무버블 메모리(964)로부터, 또는 네트워크 I/F(944)를 통해서 직접적으로 RAM(960)에 프로그램을 로드해도 좋다.
이 프로그램은, 컴퓨터(940)에 이 실시형태에 의한 질문 응답 시스템(164)의 각 기능부로서 동작을 행하게 하는 복수의 명령을 포함한다. 이 동작을 행하게 하는데에 필요한 기본적 기능 중 몇가지는 컴퓨터(940) 상에서 동작하는 오퍼레이팅 시스템(OS) 또는 서드 파티의 프로그램, 또는 컴퓨터(940)에 인스톨되는 각종 프로그래밍 툴키트의 모듈에 의해 제공된다. 따라서, 이 프로그램은 이 실시형태의 시스템 및 방법을 실현하는데에 필요한 기능 모두를 반드시 포함하지 않아도 좋다. 이 프로그램은 명령 중, 소망의 결과가 얻어지도록 제어된 방식으로 적절한 기능 또는 프로그래밍 툴키트 내의 적절한 프로그램툴을 호출함으로써, 상기한 논·팩토이드형의 질문 응답 시스템으로서의 동작을 실행하는 명령만을 포함하고 있으면 좋다. 컴퓨터 시스템(930)의 동작은 주지이다. 따라서, 여기에서는 반복하지 않는다.
상기 실시형태에 의한 질문 응답 시스템(164)에 의하면, 유저가 자신이 흥미를 갖고 있는 단어 등을 입력하면, 그 단어 등에 관련된 질문문으로서 질문 응답 시스템에 의해 바른 회답이 얻어질 가능성이 높은 질문의 리스트가 제시된다. 유저는 제시된 질문 중, 자신이 알고 싶은 회답이 얻어질 것 같은 질문문을 클릭함으로써 높은 확률로 그 질문에 대한 회답을 얻을 수 있다. 즉, 질문문의 작성을 반복하지 않고, 용이하게 자신이 알고 싶은 정보를 얻을 수 있다. 또한, 질문을 제시하기 위해서 필요한 자원은 컴퓨터에 의해 자동적으로 준비할 수 있다. 따라서, 대상으로 되는 분야가 넓어도, 상기한 시스템을 용이하게 구축할 수 있다는 효과가 있다.
원래의 질문 응답 시스템(상기 실시형태에서 도 2에 나타내는 질문 응답 서브시스템(240))의 정밀도에 대해서는, 미리 실험에 의해 측정해 둘 수 있다. 예를 들면, 논팩토이드형 질문에 대해서는 도 5에 나타내는 회답문 랭킹부(458)에서 선택할 때의 스코어의 한계값마다, 어느 정도의 정밀도가 얻어지는지를 실험 결과에 의거하여 추정할 수 있다. 팩토이드형의 질문의 경우에는, 질문의 패턴마다 얻어지는 회답의 정밀도가 어느 정도인지에 대해서 미리 측정할 수 있다. 이들 정밀도를 바탕으로 해서, 유저에게 제시하는 질문문을 생성할 때의 스코어의 한계값, 및/또는 질문문 생성에 사용하는 패턴에 제한을 걺으로써, 그 질문 응답 시스템에 있어서 일정 이상의 정밀도를 갖는 회답이 얻어지는 것을 보증할 수 있는 질문문을 생성할 수 있다.
[변형예]
상기 실시형태에서는, 언어를 일본어로 해서 설명했다. 그러나, 본 발명은 그와 같은 실시형태에는 한정되지 않는다. 각종 언어에 따른 사전 등을 사용함으로써, 동일한 구성에 의해 다양한 언어를 위한 질문 응답 시스템 및 그것을 위한 질문문 후보 작성 서브시스템을 실현할 수 있다. 각종 언어를 위한 시스템을 미리 작성해 두고, 입력된 언어를 자동 인식해서 적절한 언어용의 시스템에서 질문문 리스트 및 회답을 출력하도록 해도 좋다.
상기 실시형태에서는, 도 2에 나타내는 팩토이드형 질문문 생성 서브시스템(242) 및 논팩토이드형 질문문 생성 서브시스템(244)은 모두 질문문 리스트를 생성하여 출력하고 있다. 그러나, 본 발명은 그와 같은 실시형태에는 한정되지 않는다. 예를 들면, 각 질문문 후보에 그 질문문에 대한 회답문을 부가하여 HTML 파일을 작성해서 브라우저에 출력해도 좋다. 이 경우, 각 질문문 후보에 대한 회답은 처음부터 표시해도 좋고 표시하지 않아도 좋다. 처음부터는 표시하지 않을 경우, 유저가 질문문을 클릭했을 때에 표시되는 스크립트를 HTML문에 매입해 두어도 좋다.
상기 실시형태에서는 질문문 후보를 완전한 자연 언어문으로서 생성하고 있다. 그러나, 완전한 자연 언어문이 아니라, 예를 들면 자연 언어문 중, 질문에 의한 회답으로서 중요한 단어가 어떠한 심볼(예를 들면, 알파벳의 "X" 등)에 의해 나타내어지는, 긍정문의 형식으로 질문문 후보를 생성해도 좋다.
또한, 상기 실시형태에서는 단어 등이 입력되었을 때에, 그 단어에 관련되는 질문문 후보를 생성하고 있다. 그러나 그것뿐만 아니라, 수식구가 붙은 명사구(체언 종결) 등의 형태의 입력을 처리하도록 해도 좋다.
상기 실시형태에서는 팩토이드형과 논팩토이드형 쌍방의 타입의 질문문을 생성하고 있지만, 어느 한쪽만을 생성하도록 해도 좋다.
상기 실시형태에서는 패턴의 일부 또는 전부를, 의미적인 분류를 나타내는 시소러스와 연관짓고 있다. 이 경우, 그 분류를 사용함으로써 생성되는 질문문을 일부의 의미 클래스와 연관지어진 패턴으로 한정할 수도 있다. 예를 들면, 「B가 발족한다」라고 하는 패턴을 「CREATION」이라고 하는 클래스에 연관지어 두고, CREATION 클래스에 연관지어진 패턴을 포함하는 문장이 얻어진 경우에는, 선두에 「왜」를 부가함으로써 그 이유를 묻는 질문을 생성할 수 있어 고도로 의미적인 처리가 가능하게 된다. 마찬가지의 것은 명사 등에 대해서도 말할 수 있다. 예를 들면, 「아베 정권」이 「정치적 주체」와 같은 클래스에 연관지어져 있는 것으로 한다. 그 경우, 예를 들면 정치적 클래스에 연관지어진 명사를 포함하는 문장이 얻어진 경우에는, 그 목적을 묻는 질문을 생성하거나 할 수 있다. 또한, 「지구온난화」와 같은 단어를 「사회 문제」 클래스로 분류해 두면, 지구온난화라고 하는 단어를 포함하는 문장에 대해서는 패턴의 의미적 분류를 조합함으로써 그 귀결을 묻는다고 하는 질문문을 생성할 수 있다. 또한, 본 발명은 이와 같은 실시형태에는 한정되지 않고, 패턴을 단지 수집하여 분류할 뿐인 시스템으로 할 수도 있다.
또한, 이와 같은 의미적 클래스로의 분류, 및 생성하고 싶은 질문의 방향성, 경향 등을 포함하는 시소러스에 대해서는, 미리 대량의 문서로부터 자동 학습해도 좋다.
상기 실시형태에서는 단어 등이 유저에 의해 주어졌을 경우에 질문문의 후보를 생성해서 제시하고 있다. 그러나, 본 발명은 그와 같은 실시형태에 한정되지 않는다. 예를 들면, 질문문에 대한 회답문이 얻어졌을 때에, 그 회답문에 포함되는 단어를 이용하여 또한 질문문의 후보를 생성해서 유저에게 제시해도 좋다. 이와 같은 방식을 채용하면, 한번 회답이 얻어진 질문에 대해서 더욱 깊은 분석을 하는 것이 가능하게 된다. 즉, 자동 생성된 복수개의 질문문의 회답의 조합에 의해, 더욱 복잡한 질문을 생성할 수 있다.
상기 실시형태에서는 질문문에 대한 회답으로서 단어 또는 회답문을 제시하고 있다. 그러나, 본 발명은 그와 같은 실시형태에는 한정되지 않는다. 예를 들면, 그렇게 해서 얻어진 회답에 관련되는 신문 기사 등의 일부를 동시에 제시해도 좋다.
상기 실시형태에서는, 유저는 구별하고 있지 않다. 그러나, 예를 들면 유저 등록을 함으로써 유저에 의해 선택되는 질문문의 경향을 정보로서 축적해 두고, 그 정보를 유효 이용할 수 있다. 그 결과, 상기한 질문문 생성 시스템에 의해 질문 응답 시스템을 보다 효율적으로 이용할 수 있게 된다. 예를 들면, 유저가 좋아하는 클래스에 속하는 단어를 포함하는 질문문을 리스트의 상위에 제시하거나, 유저가 자주 선택하는 패턴의 질문문을 상위에 제시하거나, 추출해야 할 질문문이 속하는 분야를 지금까지의 유저의 질문 선택 이력에 의거하여 어느 정도 한정해서 나타내거나 할 수도 있다.
상기 실시형태에서는, 질문 후보는 단순한 리스트 형식으로 유저에 대하여 제시한다. 그러나, 제시 방법은 이것에 한정되지 않는다. 예를 들면, 질문 후보를 그것들의 토픽에 의거하여 분류하고, 토픽별로 표시해도 좋다. 시각적으로 각 토픽에 속하는 질문이 표시면 상의 각각의 영역에 분류되어 표시되도록 해도 좋다. 가능하다면 각 영역은 구분해서 표시한다. 이렇게 함으로써 생성된 질문 상호의 관계가 시각적으로 이해 가능하게 되고, 유저에 의한 질문의 선택 작업이 보다 용이해진다.
상기 실시형태에서 논팩토이드형 질문문 후보의 스코어링을 할 때에는, SVM(402)을 사용하고 있다. 그러나, 스코어링에 사용하는 것은 SVM에는 한정되지 않는다. 소위 기계 학습에서 사용되는 방법으로서, 모델을 이용하여 입력에 대한 어떠한 스코어를 출력하는 것이면 어떤 방법으로도 사용할 수 있다.
이번에 개시된 실시형태는 단지 예시이며, 본 발명이 상기한 실시형태에만 제한되는 것은 아니다. 본 발명의 범위는 발명의 상세한 설명의 기재를 참작한 후에 청구범위의 각 청구항에 의해 나타내어지고, 거기에 기재된 문언과 균등한 의미 및 범위 내에서의 모든 변경을 포함한다.
<산업상의 이용 가능성>
본 발명은 자연 언어에서 주어진 질문에 대하여 회답을 제공하는 서비스와, 그것들에서 사용되는 질문 응답 시스템에 이용할 수 있다.
164 : 질문 응답 시스템 232 : 웹 서버
238 : 프로그램 실행계 200 : 질문 응답 시스템용 코퍼스
204 : 질문 응답 서브시스템용 데이터 생성부
206 : 팩토이드형 질문문 생성 서브시스템용 데이터 생성부
208 : 논팩토이드형 질문문 생성 서브시스템용 데이터 생성부
240 : 질문 응답 서브시스템
242 : 팩토이드형 질문문 생성 서브시스템
244 : 논팩토이드형 질문문 생성 서브시스템
304 : 패턴 사전 306 : 회답문 생성용 DB
310, 550 : 해석 완료 코퍼스
330 : 팩토이드형 질문 응답 서브시스템
332 : 논팩토이드형 질문 응답 서브시스템
340, 342 : 질문문 344, 346 : 회답문
360, 508, 584 : 시소러스 362, 510 : 동의어·함의 사전
364 : 질문 해석부 400 : SVM 학습부
402 : SVM 404 : 회답문 생성부
480 : 단어 등 482, 484 : 질문문 리스트
502 : 질문문 생성용 DB 506, 588 : 질문문 생성부
512, 590 : 질문문 집약·선택부

Claims (9)

  1. 질문 응답 시스템과 함께 사용되는 질문문 생성 장치로서,
    질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하는 단어 수신 수단과,
    질문문 생성용의 복수개의 레코드로 이루어지는 질문문 생성용 데이터베이스를 포함하고,
    상기 복수개의 레코드의 각각은 단어를 키로 해서 상기 질문 응답 시스템에서 사용되는, 해당 단어와 공기하는 회답문 패턴을 포함하고,
    상기 질문문 생성 장치는 또한, 상기 단어 수신 수단에 의해 수신된 단어를 키로 상기 질문문 생성용 데이터베이스로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과, 상기 수신된 단어로부터 질문문을 생성하는 제 1 질문문 생성 수단을 포함하는, 질문문 생성 장치.
  2. 제 1 항에 있어서,
    단어 또는 회답문 패턴 또는 그 쌍방의 동의 관계 또는 함의 관계를 격납한 동의어 사전과,
    상기 질문문 생성 수단이 복수개의 질문문을 생성한 것에 응답하여, 상기 동의어 사전을 참조해서 상기 복수개의 질문문을 보다 소수의 질문문으로 집약해서 출력하는 질문문 집약 수단을 더 포함하는, 질문문 생성 장치.
  3. 제 1 항에 있어서,
    단어 또는 회답문 패턴 또는 그 쌍방을 그것들의 의미에 따라서 체계적으로 분류한 분류 정보를 격납한 시소러스와,
    상기 질문문 생성 수단이 복수개의 질문문을 생성한 것에 응답하여, 상기 시소러스를 참조해서 상기 복수개의 질문문을 보다 소수의 질문문으로 집약해서 출력하는 질문문 집약 수단을 더 포함하는, 질문문 생성 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 단어 수신 수단은 복수의 단어를 수신 가능하고,
    상기 질문문 생성용 데이터베이스는 상기 단어 수신 수단에 의해 수신된 복수개의 단어를 키로 해당 복수개의 단어와 공기하는 회답문 패턴을 검색 가능한, 질문문 생성 장치.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 질문문 생성 수단은 상기 단어 수신 수단에 의해 수신된 단어를 키로 상기 질문문 생성용 데이터베이스로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과, 상기 수신된 단어로부터 질문문 및 해당 질문문에 대한 회답문을 생성하는 질문·회답 생성 수단을 포함하는, 질문문 생성 장치.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 질문 응답 시스템은 팩토이드형의 질문문이 주어지면, 해당 질문문의 패턴과 해당 질문문에 포함되는 단어 또는 단어열을 키로 해서 회답문 생성용 데이터베이스를 검색해서 회답문 후보를 생성하는 팩토이드형 질문 응답 서브시스템을 포함하고,
    상기 질문 응답 시스템의 상기 회답문 생성용 데이터베이스와 상기 질문문 생성 장치의 상기 질문문 생성용 데이터베이스는 같은 코퍼스로부터 생성된 공통의 레코드를 포함하는, 질문문 생성 장치.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 질문 응답 시스템은 또한, 논팩토이드형의 질문문이 주어지면 코퍼스로부터 회답문 후보가 되는 패시지를 복수개 추출하여 상기 주어진 질문에 대한 회답으로서의 어울림을 나타내는 스코어를, 미리 학습 완료된 스코어 산출 수단에 의해 산출해서 최상위의 스코어를 갖는 회답문 후보를 상기 주어진 질문에 대한 회답으로서 출력하는 논팩토이드형 질문 응답 서브시스템을 포함하고,
    상기 질문문 생성 장치는 또한,
    각각이 미리 준비된 질문과 회답이라고 하는 명시적인 구별을 갖지 않는 패시지의 집합 내의 어느 하나의 패시지로부터 생성된 질문문이며, 해당 질문문이 생성된 바탕이 되는 패시지를 회답으로 하는 복수의 질문문을 기억한 질문문 데이터베이스와,
    질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하면, 상기 질문문 데이터베이스를 참조해서 해당 질문문 생성의 바탕이 되는 단어 또는 단어열, 또는 그것들의 동의어 또는 그것들을 함의하는 말과, 상기 질문문 데이터베이스에 기억된 질문문으로부터 새로운 질문문을 생성해서 출력하는 제 2 질문문 생성 수단과,
    상기 제 1 및 제 2 질문문 생성 수단이 출력하는 질문문을 통합해서 출력하기 위한 수단을 포함하는, 질문문 생성 장치.
  8. 질문 응답 시스템과 함께 사용되는 질문문 생성 장치로서,
    상기 질문 응답 시스템은 논팩토이드형의 질문문이 주어지면, 코퍼스로부터 회답문 후보가 되는 패시지를 복수개 추출하고, 각 패시지에 상기 주어진 질문에 대한 회답으로서의 어울림을 나타내는 스코어를, 미리 학습 완료된 스코어 산출 수단에 의해 산출하여 최상위의 스코어를 갖는 회답문 후보를 상기 주어진 질문에 대한 회답으로서 출력하는 논팩토이드형 질문 응답 서브시스템을 포함하고,
    상기 질문문 생성 장치는,
    각각이 상기 코퍼스 내의 어느 하나의 패시지로부터 생성된 질문문이며, 해당 질문문이 생성된 바탕이 되는 패시지를 회답으로 하는, 복수의 질문문을 기억한 질문문 데이터베이스와,
    질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하면, 상기 질문문 데이터베이스를 참조해서 해당 질문문 생성의 바탕이 되는 단어 또는 단어열, 또는 그것들의 동의어 또는 그것들을 함의하는 말과, 상기 질문문 데이터베이스에 기억된 질문문으로부터 새로운 질문문을 생성해서 출력하는 질문문 생성 수단을 포함하는, 질문문 생성 장치.
  9. 질문 응답 시스템과 함께 사용되는 질문문 생성 장치로서 컴퓨터를 기능시키는 컴퓨터 프로그램으로서, 해당 컴퓨터는 질문문 생성용의 복수개의 레코드로 이루어지는 질문문 생성용 데이터베이스에 접속해서 사용되고, 상기 복수개의 레코드의 각각은 단어를 키로 해서 상기 질문 응답 시스템에서 사용되는 해당 단어와 공기하는 회답문 패턴을 포함하고,
    상기 컴퓨터 프로그램은 상기 컴퓨터를,
    질문문 생성의 바탕이 되는 단어 또는 단어열을 수신하는 단어 수신 수단과,
    상기 단어 수신 수단에 의해 수신된 단어를 키로 상기 질문문 생성용 데이터베이스로부터 회답문 패턴을 검색하고, 검색된 회답문 패턴과 상기 수신된 단어로부터 질문문을 생성하는 질문문 생성 수단으로서 기능시키는, 컴퓨터 프로그램.
KR1020167036829A 2014-08-21 2015-08-10 질문문 생성 장치 및 컴퓨터 프로그램 KR102408082B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014168702A JP6414956B2 (ja) 2014-08-21 2014-08-21 質問文生成装置及びコンピュータプログラム
JPJP-P-2014-168702 2014-08-21
PCT/JP2015/072622 WO2016027714A1 (ja) 2014-08-21 2015-08-10 質問文生成装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
KR20170046611A true KR20170046611A (ko) 2017-05-02
KR102408082B1 KR102408082B1 (ko) 2022-06-13

Family

ID=55350659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167036829A KR102408082B1 (ko) 2014-08-21 2015-08-10 질문문 생성 장치 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (1) US10380149B2 (ko)
EP (1) EP3185140A4 (ko)
JP (1) JP6414956B2 (ko)
KR (1) KR102408082B1 (ko)
CN (1) CN106663125B (ko)
WO (1) WO2016027714A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056184A (ko) * 2017-11-16 2019-05-24 주식회사 마인즈랩 기계 독해를 위한 질의응답 데이터 생성 시스템
WO2020149541A1 (ko) * 2019-01-14 2020-07-23 주식회사 크라우드웍스 특정 주제에 관한 질문-답변 데이터 셋 자동 생성 방법 및 장치

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469169A (zh) 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 信息处理方法及装置
US10289740B2 (en) * 2015-09-24 2019-05-14 Searchmetrics Gmbh Computer systems to outline search content and related methods therefor
CN105786794B (zh) * 2016-02-05 2018-09-04 青岛理工大学 一种问答对检索方法及社区问答检索系统
CA3024078C (en) * 2016-05-29 2024-04-09 Wix.Com Ltd. Creation and update of hierarchical websites based on collected business knowledge
JP6819990B2 (ja) * 2016-08-16 2021-01-27 国立研究開発法人情報通信研究機構 対話システム及びそのためのコンピュータプログラム
WO2018066489A1 (ja) * 2016-10-07 2018-04-12 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム
JP6929539B2 (ja) * 2016-10-07 2021-09-01 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム
CN106777232B (zh) * 2016-12-26 2019-07-12 上海智臻智能网络科技股份有限公司 问答抽取方法、装置及终端
US10528665B2 (en) * 2017-01-11 2020-01-07 Satyanarayana Krishnamurthy System and method for natural language generation
JP6815899B2 (ja) * 2017-03-02 2021-01-20 東京都公立大学法人 出力文生成装置、出力文生成方法および出力文生成プログラム
JP6218057B1 (ja) * 2017-07-14 2017-10-25 Jeインターナショナル株式会社 自動応答サーバー装置、端末装置、応答システム、応答方法、およびプログラム
WO2019023088A1 (en) * 2017-07-24 2019-01-31 Biomedical Objects, Inc. STRUCTURED NATURAL LANGUAGE KNOWLEDGE SYSTEM
CN108509477B (zh) * 2017-09-30 2019-10-11 平安科技(深圳)有限公司 语义识别方法、电子装置及计算机可读存储介质
US10915560B2 (en) * 2017-11-30 2021-02-09 International Business Machines Corporation Ranking passages by merging features from factoid answers
US10810215B2 (en) * 2017-12-15 2020-10-20 International Business Machines Corporation Supporting evidence retrieval for complex answers
KR101854912B1 (ko) * 2018-03-07 2018-05-04 주식회사 텐디 어플리케이션들 사이의 연관도 분석 방법 및 어플리케이션들 사이의 연관도 분석 장치
US11544605B2 (en) 2018-03-07 2023-01-03 International Business Machines Corporation Unit conversion in a synonym-sensitive framework for question answering
JP7149560B2 (ja) * 2018-04-13 2022-10-07 国立研究開発法人情報通信研究機構 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム
US11170333B2 (en) * 2018-05-31 2021-11-09 CompTIA System and method for an adaptive competency assessment model
JP7087938B2 (ja) * 2018-06-07 2022-06-21 日本電信電話株式会社 質問生成装置、質問生成方法及びプログラム
WO2019235103A1 (ja) * 2018-06-07 2019-12-12 日本電信電話株式会社 質問生成装置、質問生成方法及びプログラム
JP7172226B2 (ja) * 2018-07-20 2022-11-16 株式会社リコー 検索装置、検索方法及び検索プログラム
JP7003020B2 (ja) * 2018-09-18 2022-01-20 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2020057117A (ja) * 2018-09-28 2020-04-09 株式会社リコー 情報処理装置、情報処理方法及びプログラム
US10970322B2 (en) * 2018-11-26 2021-04-06 International Business Machines Corporation Training an artificial intelligence to generate an answer to a query based on an answer table pattern
CN110162604B (zh) * 2019-01-24 2023-09-12 腾讯科技(深圳)有限公司 语句生成方法、装置、设备及存储介质
JP7319504B2 (ja) 2019-01-30 2023-08-02 株式会社東芝 対話システム、対話方法、プログラム、及び記憶媒体
JP2020123131A (ja) * 2019-01-30 2020-08-13 株式会社東芝 対話システム、対話方法、プログラム、及び記憶媒体
JP7230576B2 (ja) * 2019-02-20 2023-03-01 日本電信電話株式会社 生成装置、学習装置、生成方法及びプログラム
JP7474459B2 (ja) * 2019-04-16 2024-04-25 株式会社ユニバーサルエンターテインメント 情報提供システム、及び、情報提供方法
CN110297893B (zh) * 2019-05-16 2024-03-19 平安科技(深圳)有限公司 自然语言问答方法、装置、计算机装置及存储介质
JP7180767B2 (ja) 2019-05-29 2022-11-30 富士通株式会社 応答処理プログラム、応答処理方法および情報処理装置
CN110569342B (zh) * 2019-08-15 2023-04-07 创新先进技术有限公司 问题匹配方法、装置、设备及计算机可读存储介质
CN110765244B (zh) * 2019-09-18 2023-06-06 平安科技(深圳)有限公司 获取应答话术的方法、装置、计算机设备及存储介质
JP7316165B2 (ja) * 2019-09-20 2023-07-27 株式会社日立製作所 情報処理方法および情報処理装置
KR102189894B1 (ko) * 2019-10-10 2020-12-11 주식회사 렉스퍼 외국어 문장 빈칸 추론 문제 자동 생성 방법 및 시스템
US11238074B2 (en) * 2019-10-18 2022-02-01 International Business Machines Corporation Efficient grammatical property alignment for a question answering system
CN110955765A (zh) * 2019-11-22 2020-04-03 中国南方电网有限责任公司 智能助理的语料构建方法、装置、计算机设备和存储介质
CN110968674B (zh) * 2019-12-04 2023-04-18 电子科技大学 基于词向量表征的问题评论对的构建方法
US11256754B2 (en) * 2019-12-09 2022-02-22 Salesforce.Com, Inc. Systems and methods for generating natural language processing training samples with inflectional perturbations
US20220309942A1 (en) * 2019-12-26 2022-09-29 Nec Corporation Information providing method
CN112307160A (zh) * 2020-02-26 2021-02-02 北京字节跳动网络技术有限公司 用于生成信息的方法和装置
CN111428448A (zh) * 2020-03-02 2020-07-17 平安科技(深圳)有限公司 文本生成方法、装置、计算机设备及可读存储介质
CN111858883A (zh) * 2020-06-24 2020-10-30 北京百度网讯科技有限公司 三元组样本的生成方法、装置、电子设备及存储介质
CN111782785B (zh) * 2020-06-30 2024-04-19 北京百度网讯科技有限公司 自动问答方法、装置、设备以及存储介质
CN111858887B (zh) * 2020-07-13 2022-09-20 北京航空航天大学 一种机场服务的社区问答系统
KR102410068B1 (ko) 2021-08-11 2022-06-22 주식회사 보인정보기술 자연어 모델을 기반으로 한 질의-응답 페어 생성 방법 및 이러한 방법을 수행하는 장치
US11860946B2 (en) 2022-01-11 2024-01-02 Kyndryl, Inc. Autonomous webpage content summation
JP7372372B2 (ja) 2022-02-18 2023-10-31 ヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP7462375B2 (ja) 2022-05-12 2024-04-05 Line Works株式会社 サーバ、プログラム、情報処理方法

Citations (4)

* 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리스트, 웹사이트에 대한 통합형자연어 질의-응답 검색 시스템 및 방법
US20050114327A1 (en) * 2003-11-21 2005-05-26 National Institute Of Information And Communications Technology Question-answering system and question-answering processing method
JP2007157006A (ja) * 2005-12-08 2007-06-21 National Institute Of Information & Communication Technology 質問応答装置、質問応答方法および質問応答プログラム
US20090287678A1 (en) * 2008-05-14 2009-11-19 International Business Machines Corporation System and method for providing answers to questions

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058464A (ja) 2001-06-06 2003-02-28 Neogenesis Corp 質問応答システム
JP2006252382A (ja) * 2005-03-14 2006-09-21 Fuji Xerox Co Ltd 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
JP4185500B2 (ja) * 2005-03-14 2008-11-26 株式会社東芝 文書検索システム、文書検索方法及びプログラム
JP4650072B2 (ja) * 2005-04-12 2011-03-16 富士ゼロックス株式会社 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
JP2007141090A (ja) * 2005-11-21 2007-06-07 Fuji Xerox Co Ltd 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
JP2007207127A (ja) * 2006-02-04 2007-08-16 Fuji Xerox Co Ltd 質問応答システム、質問応答処理方法及び質問応答プログラム
JP2007219955A (ja) * 2006-02-17 2007-08-30 Fuji Xerox Co Ltd 質問応答システム、質問応答処理方法及び質問応答プログラム
US8983977B2 (en) * 2006-03-01 2015-03-17 Nec Corporation Question answering device, question answering method, and question answering program
JP5858456B2 (ja) 2011-01-21 2016-02-10 国立研究開発法人情報通信研究機構 情報検索サービス提供装置及びコンピュータプログラム
JP5520259B2 (ja) * 2011-07-05 2014-06-11 ヤフー株式会社 質問例提示装置、方法及びプログラム
JP5825676B2 (ja) * 2012-02-23 2015-12-02 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
CN102663129A (zh) * 2012-04-25 2012-09-12 中国科学院计算技术研究所 医疗领域深度问答方法及医学检索系统
JP5431532B2 (ja) * 2012-06-08 2014-03-05 日本電信電話株式会社 質問応答装置、モデル学習装置、方法、及びプログラム
CN103049433B (zh) * 2012-12-11 2015-10-28 微梦创科网络科技(中国)有限公司 自动问答方法、自动问答系统及构建问答实例库的方法
JP5882241B2 (ja) * 2013-01-08 2016-03-09 日本電信電話株式会社 質問応答用検索キーワード生成方法、装置、及びプログラム

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리스트, 웹사이트에 대한 통합형자연어 질의-응답 검색 시스템 및 방법
US20050114327A1 (en) * 2003-11-21 2005-05-26 National Institute Of Information And Communications Technology Question-answering system and question-answering processing method
JP2007157006A (ja) * 2005-12-08 2007-06-21 National Institute Of Information & Communication Technology 質問応答装置、質問応答方法および質問応答プログラム
US20090287678A1 (en) * 2008-05-14 2009-11-19 International Business Machines Corporation System and method for providing answers to questions
US8275803B2 (en) * 2008-05-14 2012-09-25 International Business Machines Corporation System and method for providing answers to questions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056184A (ko) * 2017-11-16 2019-05-24 주식회사 마인즈랩 기계 독해를 위한 질의응답 데이터 생성 시스템
WO2020149541A1 (ko) * 2019-01-14 2020-07-23 주식회사 크라우드웍스 특정 주제에 관한 질문-답변 데이터 셋 자동 생성 방법 및 장치

Also Published As

Publication number Publication date
EP3185140A4 (en) 2018-03-07
US10380149B2 (en) 2019-08-13
US20170242915A1 (en) 2017-08-24
KR102408082B1 (ko) 2022-06-13
WO2016027714A1 (ja) 2016-02-25
JP2016045652A (ja) 2016-04-04
CN106663125A (zh) 2017-05-10
JP6414956B2 (ja) 2018-10-31
CN106663125B (zh) 2020-06-30
EP3185140A1 (en) 2017-06-28

Similar Documents

Publication Publication Date Title
KR102408082B1 (ko) 질문문 생성 장치 및 컴퓨터 프로그램
US10521463B2 (en) Answering questions via a persona-based natural language processing (NLP) system
Mitra et al. A dual embedding space model for document ranking
JP6095621B2 (ja) 回答候補間の関係を識別および表示する機構、方法、コンピュータ・プログラム、ならびに装置
US9104750B1 (en) Using concepts as contexts for query term substitutions
US20160154885A1 (en) Method for searching a database
Chavula et al. Assessing the impact of vocabulary similarity on multilingual information retrieval for bantu languages
Kolthoff et al. Data-driven prototyping via natural-language-based GUI retrieval
Wu et al. Mobile search behaviors: An in-depth analysis based on contexts, APPs, and devices
Derici et al. A closed-domain question answering framework using reliable resources to assist students
Gul et al. Context-based extraction of concepts from unstructured textual documents
Si et al. An empirical analysis of user behaviour on multilingual information retrieval
Bakar The development of an integrated corpus for Malay language
Nguyen et al. A novel approach for automatic extraction of semantic data about football transfer in sport news
Mohasseb et al. Web queries classification based on the syntactical patterns of search types
KR101238927B1 (ko) 전자도서컨텐츠 검색 서비스 시스템 및 전자도서컨텐츠 검색 서비스 방법
Mohamed et al. Toward multi-lingual information retrieval system based on internet linguistic diversity measurement
Alashti et al. Parsisanj: an automatic component-based approach toward search engine evaluation
JP5696555B2 (ja) プログラム及び情報処理装置
JP2012243130A (ja) 情報検索装置、方法、及びプログラム
Yilmaz et al. Snippet Generation Using Local Alignment for Information Retrieval (LAIR)
Marrero et al. Implementation and Evaluation of a Multilingual Search Pilot in the Europeana Digital Library
Eklou et al. How can the Web help Wikipedia? a study of information complementation of Wikipedia by the Web
Ren User-guided disambiguation for semantic-enriched search
Nolan et al. Exploring Data Science Jobs with Web Scraping and Text Mining

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant