KR20170037593A - Recommendation Reply Apparatus and Method - Google Patents

Recommendation Reply Apparatus and Method Download PDF

Info

Publication number
KR20170037593A
KR20170037593A KR1020170036570A KR20170036570A KR20170037593A KR 20170037593 A KR20170037593 A KR 20170037593A KR 1020170036570 A KR1020170036570 A KR 1020170036570A KR 20170036570 A KR20170036570 A KR 20170036570A KR 20170037593 A KR20170037593 A KR 20170037593A
Authority
KR
South Korea
Prior art keywords
data
unit
sentences
predetermined
message
Prior art date
Application number
KR1020170036570A
Other languages
Korean (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 주식회사 플런티코리아
Priority to KR1020170036570A priority Critical patent/KR20170037593A/en
Publication of KR20170037593A publication Critical patent/KR20170037593A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F17/27
    • G06F17/30528
    • G06F17/30705
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/30

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to an apparatus and a method of recommending a reply, capable of providing adaptive reply candidates by utilizing collected data. According to an embodiment of the present invention, an apparatus of recommending a reply includes: a data collection unit, which collects conversation-pair data including data on a parent sentence corresponding to a question and data on a child sentence corresponding to a reply to the question, a data pre-processing unit which pre-processes the collected conversation-pair data; a vectorization unit, which places each data subject to the pre-process to a specific point on coordinates formed by preset axes; a clustering unit which performs clustering using information on the positioned specific point and merges likelihood sentences, which are included in one clustering, with each other according to preset merging methods; a ranking unit which scores an appropriate degree in response to a message received with respect to each sentence included in the clustering after the merging is performed; a grouping unit which groups sentences having a score higher than a preset score or the preset number of sentences according to a preset grouping criteria in order of higher scores; and a candidate replay providing unit which does not continuously provide sentences belonging to the same group as recommended replies, but sequentially provides sentences belonging to mutually different groups.

Description

답변 추천 장치 및 방법{Recommendation Reply Apparatus and Method}{Recommendation Reply Apparatus and Method}

본 발명은 답변 추천 장치 및 방법에 관한 것이다. 보다 자세하게는, 수집된 데이터를 활용하여 적응적인 답변 후보들을 제공하기 위한 답변 추천 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for recommending answers. More particularly, the present invention relates to an answer recommendation apparatus and method for providing adaptive answer candidates by utilizing collected data.

랩탑, 스마트폰, 스마트 패드와 같이 한 손으로 들고 다닐 수 있는 이동식 스마트 디바이스가 범용화됨과 더불어, 최근에는, 사용자가 항상 착용할 수 있는 스마트 글래스(glasses), 스마트 워치(watch), 스마트 링(ring), 스마트 넥클리스(necklace) 등의 웨어러블(wearable) 디바이스도 서서히 그 사용 범위가 넓어지고 있다.Mobile smart devices that can be carried with one hand such as laptops, smart phones and smart pads have become commonplace. In recent years, smart glasses, smart watches, smart rings, ), Smart necklaces, and other wearable devices are gradually being widened.

이러한 웨어러블 디바이스는 사용자의 몸에 어색함이 없이 상시적으로 착용되어야 하기 때문에 그 형태나 크기에 있어서 물리적인 제약을 받게 된다.Such a wearable device is physically restricted in its shape and size because it must be worn at all times without any discomfort to the user's body.

예를 들면, 사용자의 손목에 착용되어야 하는 스마트 워치의 형태나 크기는 전통적인 손목시계의 그것으로부터 크게 벗어나지 않도록 설계되기 때문에, 웨어러블 디바이스에는 랩탑이나 스마트 패드에 장착되는 것과 같은 큰 크기의 디스플레이가 장착되기 어렵다. For example, since the shape or size of a smart watch that must be worn on the wearer's wrist is designed not to deviate significantly from that of a traditional wristwatch, a wearable device is equipped with a large-sized display such as a laptop or smart pad it's difficult.

도 1은 웨어러블 디바이스에서 제공되는 사용자 인터페이스의 예를 나타내는 도면이다.1 is a diagram showing an example of a user interface provided in a wearable device.

따라서, 도 1에서 확인할 수 있는 바와 같이, 웨어러블 디바이스는 상대적으로 작은 크기의 디스플레이만을 포함하게 되며 전통적인 키보드와 같이 다양한 사용자 조작이나 메시지를 입력하는 데에 필요한 사용자 인터페이스를 온전하게 제공하기 어렵다. 도 1과 같이 전통적인 키보드와 같은 형태의 사용자 인터페이스를 웨어러블 디바이스를 통해 제공하게 될 경우 크기가 작음으로 인하여 사용자는 정확한 입력을 하는 것이 극도로 힘들게 된다.Therefore, as can be seen from FIG. 1, the wearable device includes only a display of a relatively small size, and it is difficult to provide a user interface necessary for inputting various user operations or messages, such as a conventional keyboard. As shown in FIG. 1, when a user interface such as a conventional keyboard is provided through a wearable device, it is extremely difficult for the user to input the correct input due to its small size.

도 2는 웨어러블 디바이스를 통하여 메시지를 전송하는 일 예를 나타내는 종래 방법에 관한 도면이다.2 is a diagram of a conventional method of transmitting an example message via a wearable device.

도 2를 참조하면, 위와 같은 문제점을 완화하기 위한 종래기술로서, 대표적인 상용구를 미리 저장해 둔 상태에서 그 저장된 상용구의 범위 내에서만 메시지를 입력할 수 있도록 하는 사용자 인터페이스를 제공하는 기술이 소개된 바 있다.Referring to FIG. 2, as a conventional technique for alleviating the above-mentioned problem, there has been disclosed a technique of providing a user interface that allows a representative user to input a message only within a range of a stored customized phrase, .

하지만, 이러한 종래기술에 의하면, 사용자가 현재 처한 상황에 관한 맥락(context) 정보가 전혀 고려되지 않은 상용구만이 제공되어 사용자가 자신의 의도에 부합하는 자연스러운 메시지를 작성하기 어렵다는 한계가 존재한다.However, according to the related art, there is a limitation that it is difficult to create a natural message corresponding to the user's own intention by providing only a boilerplate in which context information regarding the current situation of the user is not considered at all.

또한, 사용자 의도에 부합하는 상용구를 제공하기 위하여 대량의 상용구를 제공하는 경우 대량의 상용구 중 사용자의 의도에 부합하는 사용구를 선택하는 것이 어려운 문제도 존재한다.Also, when providing a large number of common phrases in order to provide a common phrase that matches the user's intention, there is also a problem that it is difficult to select a user phrase that matches the intention of a user among a large number of common phrases.

본 발명이 해결하고자 하는 기술적 과제는 사용자가 답변 등의 메시지를 작성하는 상황에 관한 맥락(Context) 정보를 참조하여 사용자가 작성할 것으로 기대되는 추천 메시지를 제공할 수 있는 답변 추천 장치 및 방법을 제공하는 것을 목적으로 한다.The present invention provides an answer recommendation apparatus and method that can provide a recommendation message that a user is expected to create by referring to context information about a situation in which a user creates a message such as an answer .

또한, 본 발명이 해결하고자 하는 다른 기술적 과제는 사용자의 의도에 부합하는 메시지를 선택하는 것이 용이할 수 있도록 하는 답변 추천 장치 및 방법을 제공하는 것을 목적으로 한다.It is another object of the present invention to provide an apparatus and method for recommending an answer that facilitates selecting a message corresponding to a user's intention.

또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 시간, 장소, 사용자의 상황, 사용자의 화법, 사용자의 말투 또는 트렌드 등을 반영하여 사용자에게 답변 메시지를 추천할 수 있는 답변 추천 장치 및 방법을 제공하는 것을 목적으로 한다.Another object of the present invention is to provide an apparatus and method for recommending an answer message to a user by reflecting a time, a place, a user's situation, a user's speech, a user's speech or trend, .

또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 수신한 메시지에 대한 응답으로 특정 어플리케이션을 실행시키거나 실행을 추천할 수 있는 답변 추천 장치 및 방법을 제공하는 것을 목적으로 한다.It is another object of the present invention to provide an apparatus and method for recommending an execution of a specific application in response to a received message or recommending execution of the application.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 제1 태양(Aspect)에 따른 답변 추천 장치는, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 데이터 수집부; 상기 수집된 대화쌍 데이터를 전처리하는 데이터 전처리부; 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 벡터화부; 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 문장들 중 전부 또는 일부를 병합하는 클러스터링부; 상기 클러스터 별로 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 점수화하는 랭킹부; 상기 점수가 제1 기 설정된 점수보다 높은 클러스터나 상기 점수가 높은 순서로 기 설정된 개수의 클러스터를 기 설정된 그룹핑 기준에 따라서 그룹핑하는 그룹핑부; 및 상기 그룹핑 결과, 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공하는 추천 답변 제공부를 포함할 수 있다.According to a first aspect of the present invention, there is provided an answer recommendation apparatus including: an answer recommendation apparatus for generating answer pair data consisting of data on a parent sentence corresponding to a question and data on a child sentence corresponding to the answer of the question; A data collecting unit for collecting the data; A data preprocessing unit for preprocessing the collected conversation pair data; A vectorization unit for positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis; A clustering unit that performs clustering using the information on the specific location and merges all or a part of the sentences included in one clustering according to a predetermined merging method; A ranking unit for scoring an appropriate degree as a response to the received message for each cluster according to a first predetermined scoring method; A grouping unit for grouping clusters in which the score is higher than a first predetermined score or a predetermined number of clusters in descending order of score according to a predetermined grouping criterion; And a recommendation reply providing unit for sequentially providing sentences included in the clusters belonging to the same group, as a result of the grouping, without sequentially providing the sentences as recommendation answers.

일 실시예에 따르면, 상기 데이터 수집부는, 소셜 네트워크 서비스(SNS, Social Network Service) 상에서 대화쌍 데이터를 수집하고, 상기 데이터 전처리부는, 상기 소셜 네트워크 서비스 상에서 수집한 대화쌍 데이터에서 상기 소셜 네트워크 서비스 데이터 특성을 제거할 수 있다.According to one embodiment, the data collecting unit collects conversation pair data on a social network service (SNS), and the data preprocessing unit extracts conversation pair data from the conversation pair data collected on the social network service, You can remove the property.

일 실시예에 따르면, 상기 데이터 전처리부는, 상기 소셜 네트워크 서비스 데이터의 특성이 제거된 대화쌍 데이터에 대하여 문장을 토큰 단위로 분리하고, 상기 토큰 단위 별로 품사 태깅(POS Tagging)을 수행할 수 있다.According to an embodiment, the data preprocessor may perform POS tagging on the token unit by separating the sentence into token pairs for the conversation pair data from which the characteristics of the social network service data have been removed.

일 실시예에 따르면, 상기 데이터 전처리부는, 상기 품사 태깅이 수행된 대화쌍 데이터에서 개체 추출 및 메타 정보 맵핑을 수행할 수 있다.According to an embodiment, the data preprocessing unit may perform object extraction and meta-information mapping in the speech pair data in which the part-of-speech tagging has been performed.

일 실시예에 따르면, 상기 기 설정된 축은, 문장의 종류 및 문장에 포함된 단어의 특징 중 적어도 어느 하나를 포함할 수 있다.According to an exemplary embodiment, the predetermined axis may include at least one of a type of a sentence and a feature of a word included in the sentence.

일 실시예에 따르면, 상기 랭킹부는, 상기 클러스터의 사이즈가 클수록 높은 점수로 점수화할 수 있다.According to one embodiment, as the size of the cluster is larger, the ranking unit can score a higher score.

일 실시예에 따르면, 상기 랭킹부는, 상기 그룹핑된 클러스터 내에 존재하는 문장들 별로 제2 기 설정된 점수화 방법에 따라서 점수화 할 수 있다.According to an embodiment, the ranking unit may score according to a second predetermined scoring method for each sentence existing in the grouped cluster.

일 실시예에 따르면, 상기 추천 답변 제공부는, 상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 기반하여 시각적으로 차이점을 두어 제공할 수 있다.According to an embodiment, the recommendation answer provider may visually provide a difference based on scores scored according to the second predetermined scoring method.

일 실시예에 따르면, 상기 추천 답변 제공부가 상기 시각적으로 차이점을 두어 제공하는 것은, 상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 따라서 배치 순서, 글자 크기, 터치 영역의 크기, 글자 색상, 글자 배경 색상 및 글자 해상도 중 적어도 어느 하나를 상이하게 하여 제공할 수 있다.According to an embodiment, the recommendation answer providing unit visually provides the difference by arranging the arrangement order, the letter size, the size of the touch area, the character color, the letter, and the character according to the score scored according to the second predetermined scoring method It is possible to provide at least one of the background color and the character resolution differently.

일 실시예에 따르면, 상기 추천 답변 제공부는, 상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 기반하여 청각적으로 차이점을 두어 제공할 수 있다.According to an embodiment, the recommendation answer provider may provide auditory difference based on the scores scored according to the second predetermined scoring method.

일 실시예에 따르면, 상기 추천 답변 제공부가 상기 청각적으로 차이점을 두어 제공하는 것은, 상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 따라서 볼륨, 인토네이션 및 톤 중 적어도 어느 하나를 상이하게 하여 제공할 수 있다.According to an embodiment of the present invention, the recommendation answer providing unit provides the auditory difference by providing at least one of volume, intonation, and tone in accordance with the score scored according to the second predetermined scoring method can do.

일 실시예에 따르면, 상기 그룹핑부는, 상기 좌표계 상에서 클러스터가 배치된 영역에 대한 정보 및 상기 클러스터 내에 포함된 문장들의 문맥적 내용 중 적어도 어느 하나를 이용하여 그룹핑할 수 있다.According to one embodiment, the grouping unit may group information by using at least one of information about an area where clusters are arranged on the coordinate system and contextual contents of sentences included in the cluster.

일 실시예에 따르면, 상기 그룹핑부는, 상기 수신된 메시지의 수신 시간, 상기 수신된 메시지의 수신 위치, 상기 메시지를 수신한 사용자의 성별 및 상기 메시지를 수신한 사용자의 나이 중 적어도 어느 하나를 더 이용하여 그룹핑할 수 있다.According to one embodiment, the grouping unit further uses at least one of a receiving time of the received message, a receiving position of the received message, a gender of a user who has received the message, and an age of a user who has received the message .

일 실시예에 따르면, 상기 그룹핑부에 의하여 그룹핑되는 정도는, 상기 그룹핑의 대상이 되는 클러스터의 수에 따라서 변경될 수 있다.According to an embodiment, the degree of grouping by the grouping unit may be changed according to the number of clusters to be grouped.

일 실시예에 따르면, 상기 데이터 수집부는, 상기 수신된 메시지에 대한 상기 사용자의 답변에 관한 정보를 수집하고, 상기 랭킹부는, 상기 사용자의 답변에 관한 정보를 상기 점수화에 이용할 수 있다.According to one embodiment, the data collection unit collects information on the user's answer to the received message, and the ranking unit can use information on the user's answer for the scoring.

일 실시예에 따르면, 상기 데이터 수집부는, 특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집하고, 상기 랭킹부는, 상기 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 상기 어플리케이션 실행 정보를 기반으로 상기 어플리케이션 별로 점수화하며, 상기 추천 답변 제공부는, 제2 기 설정된 점수 보다 높은 점수를 가진 어플리케이션 실행을 상기 특정 메시지와 동일하거나 상기 유사한 메시지에 대한 추천 답변으로 제공할 수 있다.According to one embodiment, the data collecting unit collects information on an application executed immediately after receiving a specific message, and when the ranking unit receives again a similar message with the same or predetermined similarity criterion as the specific message, And the recommendation answer providing unit may provide an application execution having a score higher than a second predetermined score as a recommendation reply to the same message or the similar message as the specific message.

일 실시예에 따르면, 상기 데이터 수집부는, 특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집하고, 상기 랭킹부는, 상기 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 상기 어플리케이션 실행 정보를 기반으로 상기 어플리케이션 별로 점수화하며, 상기 답변 추천 장치는, 상기 특정 메시지와 동일하거나 상기 유사한 메시지를 수신한 경우 상기 점수가 가장 높은 어플리케이션을 자동적으로 실행하는 어플리케이션 실행부를 더 포함할 수 있다.According to one embodiment, the data collecting unit collects information on an application executed immediately after receiving a specific message, and when the ranking unit receives again a similar message with the same or predetermined similarity criterion as the specific message, The response recommendation apparatus may further include an application execution unit that automatically executes an application having the highest score when receiving the same message or the similar message as the specific message, based on the application execution information .

상기 기술적 과제를 달성하기 위한 본 발명의 제2 태양(Aspect)에 따른 답변 추천 장치는, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 데이터 수집부; 상기 수집된 대화쌍 데이터를 전처리하는 데이터 전처리부; 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 벡터화부; 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 유사한 문장들을 병합하는 클러스터링부; 상기 병합 이후에 상기 클러스터링 내에 포함된 문장 별로 수신된 메시지에 대한 답변으로 적합한 정도를 점수화하는 랭킹부; 상기 점수가 기 설정된 점수보다 높은 문장이나 상기 점수가 높은 순서로 기 설정된 개수의 문장을 기 설정된 그룹핑 기준에 따라서 그룹핑하는 그룹핑부; 및 상기 그룹핑 결과, 동일한 그룹에 속한 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 문장들을 순차적으로 제공하는 추천 답변 제공부를 포함할 수 있다.According to a second aspect of the present invention, there is provided an apparatus for recommending answers, comprising: data for a parent sentence corresponding to a question; conversation pair data consisting of data for a child sentence corresponding to an answer of the question; A data collecting unit for collecting the data; A data preprocessing unit for preprocessing the collected conversation pair data; A vectorization unit for positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis; A clustering unit that performs clustering using information on the specific location and merges similar sentences included in one clustering according to a predetermined merging method; A ranking unit for scoring an appropriate degree as a response to a message received for each sentence included in the clustering after the merging; A grouping unit for grouping a sentence having a score higher than a predetermined score or a predetermined number of sentences having a higher score in accordance with a predetermined grouping criterion; And a recommendation answer providing unit that sequentially provides sentences belonging to different groups without providing consecutive sentences belonging to the same group as a recommendation answer as a result of the grouping.

일 실시예에 있어서, 상기 랭킹부는, 상기 병합된 문장 별로 상기 수신된 메시지 다음으로 나타날 확률을 계산하고, 상기 계산된 확률을 상기 병합된 문장 별 점수화에 이용할 수 있다.In one embodiment, the ranking unit may calculate a probability of appearing after the received message for each of the merged sentences, and may use the calculated probability for the combined sentence-based scoring.

상기 기술적 과제를 달성하기 위한 본 발명의 제3 태양(Aspect)에 따른 답변 추천 방법은, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 단계; 상기 수집된 대화쌍 데이터를 전처리하는 단계; 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 단계; 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 유사한 문장들을 병합하는 단계; 상기 병합 이후에 상기 클러스터링 내에 포함된 문장 별로 수신된 메시지에 대한 답변으로 적합한 정도를 점수화하는 단계; 상기 점수가 기 설정된 점수보다 높은 문장이나 상기 점수가 높은 순서로 기 설정된 개수의 문장을 기 설정된 그룹핑 기준에 따라서 그룹핑하는 단계; 및 상기 그룹핑 결과, 동일한 그룹에 속한 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 문장들을 순차적으로 제공하는 단계를 포함할 수 있다.According to a third aspect of the present invention, there is provided an answer recommendation method comprising the steps of: inputting data of a parent sentence corresponding to a question and data of a child sentence corresponding to an answer of the question; ; Pre-processing the collected conversation pair data; Positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis; Performing clustering using the information on the specific location, and merging similar sentences included in one clustering according to a predetermined merge method; Scoring an appropriate degree as a response to a message received for each sentence included in the clustering after the merging; Grouping a sentence having a score higher than a predetermined score or a predetermined number of sentences having a higher score in accordance with a predetermined grouping criterion; And sequentially providing the sentences belonging to the same group as a result of the grouping, the sentences belonging to different groups without sequentially providing the sentences as a recommendation answer.

상기 기술적 과제를 달성하기 위한 본 발명의 제4 태양(Aspect)에 따른 답변 추천 방법은, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 단계; 상기 수집된 대화쌍 데이터를 전처리하는 단계; 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 단계; 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 문장들 중 전부 또는 일부를 병합하는 단계; 상기 클러스터 별로 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 점수화하는 단계; 상기 점수가 제1 기 설정된 점수보다 높은 클러스터나 상기 점수가 높은 순서로 기 설정된 개수의 클러스터를 기 설정된 그룹핑 기준에 따라서 그룹핑하는 단계; 상기 그룹핑 결과, 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공하는 단계를 포함할 수 있다.According to a fourth aspect of the present invention, there is provided an answer recommendation method comprising the steps of: extracting data of a parent sentence corresponding to a question and conversation pair data consisting of data on a child sentence corresponding to the answer of the question ; Pre-processing the collected conversation pair data; Positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis; Performing clustering using information on the specific point located at the position, and merging all or a part of the sentences included in one clustering according to a predetermined merging method; Scoring an appropriate degree as a response to the received message for each cluster according to a first predetermined scoring method; Grouping the clusters in which the score is higher than a first predetermined score or a predetermined number of clusters in descending order of score according to a predetermined grouping criterion; And sequentially providing the sentences included in the clusters belonging to the different group, instead of continuously providing the sentences included in the cluster belonging to the same group as a result of the grouping.

상기 기술적 과제를 달성하기 위한 본 발명의 제5 태양(Aspect)에 따른 컴퓨터프로그램은, 하드웨어와 결합되어 답변 추천 방법을 수행하기 위하여 매체에 저장될 수 있다.According to a fifth aspect of the present invention, a computer program may be stored in a medium for performing an answer recommendation method in combination with hardware.

상기와 같은 본 발명에 따르면 메시지를 작성하는 상황에 관한 맥락(Context) 정보를 참조하여 사용자가 작성할 것으로 기대되는 추천 메시지를 제공할 수 있다.According to the present invention as described above, a recommendation message expected to be created by a user can be provided by referring to Context information on a situation of creating a message.

또한, 상기와 같은 본 발명에 따르면 사용자의 의도에 부합하는 메시지를 선택하는 것이 용이할 수 있다.In addition, according to the present invention as described above, it is easy to select a message that matches the intention of the user.

또한, 상기와 같은 본 발명에 따르면 시간, 장소, 사용자의 상황, 사용자의 화법, 사용자의 말투 또는 트렌드 등을 반영하여 사용자에게 답변 메시지를 추천할 수 있다.In addition, according to the present invention, the answer message can be recommended to the user by reflecting time, place, user's situation, user's speech, user's speech or trend.

또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 수신한 메시지에 대한 응답으로 특정 어플리케이션을 실행시키거나 실행을 추천할 수 있다.Another problem to be solved by the present invention is to execute a specific application or to recommend execution in response to a received message.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood to those of ordinary skill in the art from the following description.

도 1은 웨어러블 디바이스에서 제공되는 사용자 인터페이스의 예를 나타내는 도면이다.
도 2는 웨어러블 디바이스를 통하여 메시지를 전송하는 일 예를 나타내는 종래 방법에 관한 도면이다.
도 3 및 4는 본 발명의 일 실시예에 따른 답변 추천 장치가 적용되는 환경을 개략적으로 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 답변 추천 장치(100)에 관한 블록도이다.
도 6 내지 8은 데이터 전처리부에 의하여 대화쌍 데이터가 전처리되는 예를 나타내는 도면이다.
도 9는 전처리된 데이터가 벡터화된 일 예를 나타내는 도면이다.
도 10은 클러스터링부에 의하여 클러스터링된 일 예를 나타내는 도면이다.
도 11은 수신되는 메시지를 참조하여 클러스터링한 예를 나타내는 도면이다.
도 12는 랭킹부가 문장에 대한 점수화를 수행하는 일 예를 나타내는 도면이다.
도 13은 추천 답변을 그룹핑한 결과를 나타내는 도면이다.
도 14는 추천 답변 별로 시각적 차이점을 두어 제공하는 일 예를 나타내는 도면이다.
도 15는 본 발명의 다른 실시예에 따른 답변 추천 방법에 관한 순서도이다.
도 16은 본 발명의 일 실시예에 따른 답변 추천 장치의 하드웨어 구성의 일 예를 나타내는 도면이다.
1 is a diagram showing an example of a user interface provided in a wearable device.
2 is a diagram of a conventional method of transmitting an example message via a wearable device.
3 and 4 are views schematically showing an environment to which an answer recommendation apparatus according to an embodiment of the present invention is applied.
5 is a block diagram of an answer recommendation apparatus 100 according to an embodiment of the present invention.
6 to 8 are diagrams showing an example in which the conversation pair data is preprocessed by the data preprocessing unit.
9 is a diagram showing an example in which preprocessed data is vectorized.
10 is a diagram showing an example of clustering by a clustering unit.
11 is a diagram showing an example of clustering with reference to a received message.
FIG. 12 is a diagram showing an example in which the ranking unit performs scoring on the sentence.
13 is a diagram showing a result of grouping the recommendation answers.
14 is a diagram showing an example of providing visual differences for each of the recommendation answers.
15 is a flowchart illustrating an answer recommendation method according to another embodiment of the present invention.
16 is a diagram illustrating an example of a hardware configuration of an answer recommendation apparatus according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise. The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification.

본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함될 수 있다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.In this specification, a singular form may include plural forms unless specifically stated in the phrase. It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / Or additions.

도 3 및 4는 본 발명의 일 실시예에 따른 답변 추천 장치가 적용되는 환경을 개략적으로 나타내는 도면이다.3 and 4 are views schematically showing an environment to which an answer recommendation apparatus according to an embodiment of the present invention is applied.

도 3을 참조하면, 답변 추천 장치(100)는 단말(1000)에 포함될 수 있다.Referring to FIG. 3, the answer recommendation apparatus 100 may be included in the terminal 1000.

단말(1000)은 데스크탑 컴퓨터, 워크스테이션, PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 텔레비전, 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크(telematics network)를 구성하는 다양한 전자 장치들 중 하나, 스마트 카드, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공될 수 있다.The terminal 1000 may be a desktop computer, a workstation, a personal digital assistant (PDA), a portable computer, a wireless phone, a mobile phone, a smart phone, a portable multimedia player (PMP), a portable game machine, a navigation device, a black box, a digital camera, a television, a device capable of transmitting and receiving information in a wireless environment, One of various electronic devices constituting the computer network, one of various electronic devices constituting a computer network, one of various electronic devices constituting a telematics network, a smart card, or various components constituting a computing system Or one of various components of an electronic device, such as one of < RTI ID = 0.0 > a < / RTI >

각종 디바이스(2000)는 스마트 글래스(glasses), 스마트 워치(watch), 스마트 링(ring) 또는 스마트 넥클리스(necklace) 등 웨어러블 디바이스가 될 수 있다.The various devices 2000 may be wearable devices such as smart glasses, smart watches, smart rings, or smart necklaces.

답변 추천 장치(100)를 포함하는 단말(1000)은 통신망(10)을 통해 각종 디바이스(2000)와 데이터를 송수신할 수 있다.The terminal 1000 including the answer recommendation apparatus 100 can transmit and receive data to and from the various devices 2000 through the communication network 10. [

통신망(10)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(10)은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(10)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.The communication network 10 may be constructed without regard to communication modes such as wired communication and wireless communication and may be a LAN (Local Area Network), a Metropolitan Area Network (MAN), a Wide Area Network (WAN) ), And the like. Preferably, the communication network 10 referred to herein may be the well-known Internet or World Wide Web (WWW). However, the communication network 10 may include, at least in part, a known wire / wireless data communication network, a known telephone network, or a known wire / wireless television communication network without limitation.

또는, 다변 추천 장치를 포함하는 단말은 각종 디바이스(2000)와 직접 연결 또는 블루투스 등을 통하여 데이터를 송수신할 수도 있다.Alternatively, the terminal including the multifamily recommendation apparatus may transmit / receive data via direct connection with the various devices 2000 or through Bluetooth or the like.

답변 추천 장치(100)는 도 4와 같이 웨어러블 디바이스(2100)에 포함될 수도 있다.The answer recommendation apparatus 100 may be included in the wearable device 2100 as shown in FIG.

답변 추천 장치(100)는 웨어러블 디바이스(2100)에 내장되어 사용자가 웨어러블 디바이스(2100)를 통하여 답변 메시지를 작성하는데 도움을 줄 수 있다.The answer recommendation apparatus 100 is built in the wearable device 2100 and can help a user to write a response message through the wearable device 2100. [

답변 추천 장치(100)에 관하여 도 5를 참조하여 보다 상세하게 설명한다.The answer recommendation apparatus 100 will be described in more detail with reference to FIG.

도 5는 본 발명의 일 실시예에 따른 답변 추천 장치(100)에 관한 블록도이다.5 is a block diagram of an answer recommendation apparatus 100 according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 답변 추천 장치(100)는 데이터 수집부(110), 데이터 전처리부(120), 벡터화부(130), 클러스터링부(140), 랭킹부(150), 그룹핑부(160) 및 추천 답변 제공부(170)를 포함하며, 어플리케이션 실행부(180)를 더 포함할 수 있다.5, an answer recommendation apparatus 100 according to an exemplary embodiment of the present invention includes a data collecting unit 110, a data preprocessing unit 120, a vectorizing unit 130, a clustering unit 140, a ranking unit 150, a grouping unit 160, and a recommendation response providing unit 170, and may further include an application execution unit 180.

데이터 수집부(110)는 사용자들 간 메시지를 수신하고 그에 응답하여 발신한 메시지를 대화쌍 데이터로 수집할 수 있다.The data collection unit 110 may receive the messages between the users and collect the messages sent in response thereto as conversation pair data.

대화쌍 데이터는 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어 질 수 있다.The conversation pair data may be composed of data on the parent sentence corresponding to the question and data on the child sentence corresponding to the answer to the question.

질문에 해당하는 부모 문장은 예를 들면 수신한 메시지에 포함된 문장일 수 있다. 상기 질문의 답변에 해당하는 자식 문장은 예를 들면 상기 수신한 메시지에 대한 답변 메시지에 포함된 문장일 수 있다.The parent sentence corresponding to the question may be, for example, the sentence contained in the received message. The child sentence corresponding to the answer to the question may be, for example, a sentence included in the answer message for the received message.

또한, 데이터 수집부(110)는 트위터와 같은 소셜 네트워크 서비스(SNS, Social Network Service), 블로그 등 온라인을 통하여 획득할 수 있는 데이터로부터 대화쌍 데이터를 수집할 수 있다.Also, the data collection unit 110 may collect conversation pair data from data that can be acquired through online, such as a social network service (SNS) such as Twitter, a blog, and the like.

소셜 네트워크 서비스로부터 수집되는 대화쌍 데이터도 특정인이 작성한 게시물에 포함된 문장이 질문에 해당하는 부모 문장이 될 수 있으며, 특정인이 작성한 게시물에 답변한 게시물에 포함된 문장이 질문의 답변에 해당하는 자식 문장이 될 수 있다.The data of a conversation pair collected from a social network service may also be a parent sentence corresponding to a question in a post written by a specific person, and a sentence included in a post answered in a post made by a specific person may be a child It can be a sentence.

여기서 질문에 해당하는 부모 문장은 반드시 "?" 마크 등이 존재하여야 하는 문장은 아니며 평서문 등 다양한 형식의 문장이 될 수 있으며 대화의 선후 관계, 문맥 또는 흐름을 고려하여 판단될 수 있다. 또한, 부모 문장 및 자식 문장은 반드시 문장이 아닐 수 있으며 하나 또는 둘 이상의 단어로 구성될 수도 있다.Here, the parent sentence corresponding to the question must be "?" Marks and the like should not exist, but they can be various types of sentences such as a pseudonym and can be judged by taking into consideration the relationship, context or flow of the conversation. In addition, parent sentences and child sentences may not necessarily be sentences and may consist of one or more words.

데이터 수집부(110)는 반드시 대화쌍 데이터만을 수집하는 것은 아니나 문맥의 흐름, 상황 파악 등을 위하여 가급적 대화쌍 데이터를 수집하는 것이 바람직하다.The data collecting unit 110 does not necessarily collect only the conversation pair data, but preferably collects conversation pair data as much as possible in order to understand the flow of the context, the situation, and the like.

데이터 전처리부(120)는 수집된 대화쌍 데이터를 전처리하여 데이터를 관리하고 답변 후보 데이터를 생성할 수 있다.The data preprocessing unit 120 preprocesses the collected conversation pair data to manage data and generate answer candidate data.

구체적으로 데이터 전처리부(120)는 수집된 대화쌍 데이터의 표현을 정제하고 목적에 맞는 대화쌍을 추출할 수 있다.Specifically, the data preprocessing unit 120 may refine the expression of the collected conversation pair data and extract a conversation pair matching the purpose.

데이터 전처리부(120)에 의하여 전처리된 대화쌍 데이터는 수신된 메시지에 적합한 답변 후보 데이터를 생성하고 추천 답변을 도출하는데 이용될 수 있다.The conversation pair data preprocessed by the data preprocessing unit 120 can be used to generate answer candidate data suitable for the received message and to derive a recommendation answer.

답변 후보 데이터는 수신된 메시지의 답변이 될 가능성이 조금이라도 존재하는 답변에 관한 데이터를 의미한다. 추천 답변은 답변 후보 데이터 중 벡터화부(130), 클러스터링부(140) 및 랭킹부(150)를 거쳐 사용자의 의도에 부합하고 사용자에 의하여 선택될 가능성이 높은 답변으로 사용자에게 시각적 및/또는 청각적으로 제공되는 문장이다.Answer candidate data means data about an answer that exists even if there is a possibility that the received message is an answer. The recommendation answer is a response that is likely to be selected by the user in accordance with the intention of the user through the vectorizing unit 130, the clustering unit 140 and the ranking unit 150 among the answer candidate data and may be visually and / .

보다 구체적으로 도 6 내지 8을 참조하여 데이터 전처리부(120)의 동작에 관하여 설명한다.More specifically, the operation of the data preprocessing unit 120 will be described with reference to FIGS.

도 6 내지 8은 데이터 전처리부에 의하여 대화쌍 데이터가 전처리되는 예를 나타내는 도면이다.6 to 8 are diagrams showing an example in which the conversation pair data is preprocessed by the data preprocessing unit.

도 6을 참조하면, 트위터라는 소셜 네트워크 서비스에 게시된 게시물을 통하여 수집된 대화쌍 데이터(61)를 데이터 전처리부(120)에 의하여 소셜 네트워크 서비스 특성에 따른 노이즈를 제거하고 문장을 토큰 단위로 분리할 수 있다.Referring to FIG. 6, the data preprocessing unit 120 removes the noise based on the characteristics of the social network service and separates the sentence into token units by using the conversation pair data 61 collected through the post posted on the social network service called tweeter can do.

구체적으로, 데이터 전처리부(120)는 수집된 대화쌍 데이터(61)에서 멘션(@) 및 해시태그(#) 등 소셜 네트워크 서비스 특성에 따른 노이즈를 제거하고 문장을 토큰 단위로 분리할 수 있다.Specifically, the data preprocessing unit 120 removes noises according to social network service characteristics such as mentions (@) and hash tags (#) in the collected conversation pair data 61 and separates the sentences in token units.

도 6에서 데이터 전처리부(120)가 대화쌍 데이터 중 부모 문장에 해당하는 "@twitter_user1 Come toOsha Thai!"(62)를 전처리한 데이터는 "Come to Osha Thai!"(65)가 된다.6, the data preprocessed by the data preprocessing unit 120 of "@ twitter_user1 Come to Osha Thai!" 62 corresponding to the parent sentence of the conversation pair data becomes "Come to Osha Thai!" 65.

또한, 데이터 전처리부(120)가 대화쌍 데이터 중 자식 문장에 해당하는 "@twitter_user2 OK!#Osha Thai is reallygood!"(63)을 전처리한 데이터는 "OK! Osha Thai is really good!"(66)이 된다.Also, the data preprocessed by the data preprocessing unit 120 for "@ twitter_user2 OK! #Osha Thai is really good!" 63 corresponding to the child sentence of the conversation pair data is "OK! Osha Thai is really good! ).

데이터 전처리부(120)는 대화쌍 데이터의 전처리 과정으로 품사(POS)를 태깅하는 과정을 포함할 수 있다. 품사 태깅에 관하여 도 7을 참조하면, 데이터 전처리부(120)가 대화쌍 데이터(71) 중 부모 문장에 해당하는 "@twitter_user1 I'm coming late. Sorry!"(72)를 품사 태깅한 데이터는 "명사_동사_현재분사_형용사_명사_감탄사" (75)가 될 수 있다. 또한, 데이터 전처리부(120)가 대화쌍 데이터(71) 중 자식 문장에 해당하는 "@twitter_user2 You are forgiven! It's fine"(66)을 품사 태깅한 데이터는 "명사_동사_과거분사_감탄사_명사_동사_형용사"(76)가 될 수 있다.The data preprocessing unit 120 may include a step of tagging a part-of-speech (POS) by preprocessing the conversation pair data. Referring to FIG. 7, the data preprocessing unit 120 performs a tagging process of "@ twitter_user1 I'm coming late. Sorry!" 72 corresponding to a parent sentence among the conversation pair data 71 Can be "noun_ verb_ current noun adjective noun noun admiration" (75). Also, the data preprocessing unit 120 tags the "@ twitter_user2 You are forgiven! It's fine" (66) corresponding to the child sentence among the conversation pair data 71 as "noun_verb Noun "," verb "," adjective "(76).

"명사_동사_현재분사_형용사_명사_감탄사"(75)는 약칭을 사용하여 "N V VP A N !"와 같이 나타내어 저장할 수도 있다."Noun_verb_current_jar_adjective_nottle_expression" (75) may be represented as "N V VP A N!" By abbreviation.

데이터 전처리부(120)는 대화쌍 데이터의 전처리 과정으로 개체를 추출하고 메타 정보를 태깅하는 과정을 포함할 수 있다.The data preprocessing unit 120 may include a process of extracting an entity and tagging the meta information by preprocessing the conversation pair data.

예를 들면, 수집된 대화쌍 데이터 중 부모 문장이 "@twitter_user1 Are you going to buy the new iPhone"이고 자식 문장이 "@twitter_user2 Yes! I think so. There's a promotion on Apple Store located at Union Square."인 경우 데이터 전처리부(120)는 "제품명:iPhone_메타정보:{url: http://apple.com/iPhone}, 상점명:Apple Store, 지역명:Union Square_메타정보:{GPS: (37.0, -122.0)}"(84)이라는 개체 추출 및 메타 정보를 태깅하여 대화쌍 데이터를 관리할 수 있다.For example, if the parent sentence of the collected conversation pair data is "@ twitter_user1 Are you going to buy the new iPhone" and the child sentence is "@ twitter_user2 Yes! I think so. , The data preprocessing unit 120 obtains the product name "iPhone_meta information: {url: http://apple.com/iPhone}, shop name: Apple Store, area name: Union Square_meta information: {GPS: , -122.0)} "(84) and tag the meta information to manage the conversation pair data.

데이터 전처리부(120)에 의하여 전처리된 대화쌍 데이터의 일 예는 도 8을 참조하여 이해할 수 있다.One example of the conversation pair data preprocessed by the data preprocessing unit 120 can be understood with reference to FIG.

도 8을 참조하면, 수집된 대화쌍 데이터(81)("@twitter_user1 Come to Osha Thai!"(82) 및 "@twitter_user2 Ok! #Osha Thai is really good"(83))에 대하여 데이터 전처리부(120)에 의하여 전처리된 최종 데이터(84)가 제시되고 있다.Referring to FIG. 8, a data preprocessing unit (hereinafter referred to as a " twitter_user1 Come to Osha Thai! ") 82 and a " @ twitter_user2 Ok! # Osha Thai is really good" The final data 84 preprocessed by the processor 120 is shown.

전처리된 최종 데이터(84)를 보면, 부모 문장 정보, 자식 문장 정보, 품사 태깅 정보, 개체 정보 및 메타 정보 등이 포함된 것을 알 수 있다.The preprocessed final data 84 includes parent sentence information, child sentence information, part-of-speech tagging information, entity information, and meta information.

데이터 전처리부(120)는 추가적으로 대화쌍 데이터에서 주소, 전화번호, 주민등록 번호 등의 개인 정보에 해당하는 데이터를 제거하는 과정을 포함할 수도 있다.The data preprocessing unit 120 may further include a process of removing data corresponding to personal information such as an address, a telephone number, and a resident registration number from the conversation pair data.

다시 도 5를 참조하면, 벡터화부(130)는 전처리된 데이터들을 기 설정된 둘 이상의 축으로 구성된 평면 또는 공간 좌표계 상의 특정 지점에 전처리된 데이터 별로 위치시킬 수 있다. 전처리된 데이터들을 좌표계 상의 특정 지점에 위치시키는 것을 벡터화 한다고 명명한다. 또는, 벡터화부(130)는 전처리된 데이터들을 기 설정된 하나의 축으로 구성된 좌표계 상의 특정 지점에 전처리된 데이터 별로 위치시킬 수도 있다.Referring again to FIG. 5, the vectorization unit 130 may place the preprocessed data on a plane, which is composed of two or more predetermined axes, or a preprocessed data at a specific point on a spatial coordinate system. Positioning the preprocessed data at a specific point on the coordinate system is called vectorization. Alternatively, the vectorization unit 130 may position the preprocessed data for each preprocessed data at a specific point on a coordinate system constituted by a predetermined axis.

전처리된 데이터들 전부 또는 일부가 답변 후보 데이터가 될 수 있다.All or some of the preprocessed data may be answer candidate data.

구체적으로 전처리된 데이터들 중에서 현재 수신된 메시지에 따라서 답변 후보 데이터가 결정될 수 있다.The answer candidate data can be determined according to the currently received message among the preprocessed data.

기 설정된 축은 문장의 종류(예를 들면, 평서문, 의문문, 명령문, 감탄문, 기원문) 및/또는 문장에 포함된 단어의 특징(장소, 시간, 인물, 사건, 물건 분류, 인물의 직업)에 관한 것이나 그 조합일 수 있다.The predefined axis is about the type of sentence (eg, a statement, a question, a statement, an admonition, a sentence) and / or a feature of a word (place, time, person, event, It may be a combination thereof.

벡터화부(130)는 전처리된 데이터들을 모두 벡터화 할 수 있다. 기 설정된 축에 의하여 생성되는 좌표계는 둘 이상일 수 있다. 즉, 벡터화부(130)는 전처리된 제1 데이터를 제1 좌표계 상에서 벡터화하고, 제2 좌표계 상에서도 벡터화할 수 있다.The vectorization unit 130 may vectorize all the preprocessed data. The coordinate system generated by the predetermined axis may be two or more. That is, the vectorization unit 130 can vectorize the preprocessed first data on the first coordinate system and vectorize the second coordinate system on the second coordinate system.

또는, 벡터화부(130)는 수신된 메시지 또는 부모 문장에 따라서 전처리된 데이터 중에서 수신된 메시지 또는 부모 문장과 관련된 일부 데이터만을 벡터화 할 수도 있다.Alternatively, the vectorization unit 130 may vector only the received message or some data related to the parent sentence among the preprocessed data according to the received message or the parent sentence.

벡터화부(130)는 유사한 의미를 가진 문장이 유사한 위치에 존재하도록 각각의 문장을 벡터화하는 것이 바람직하다. 각 문장들이 유사한 의미를 가지고 있는지 여부는 좌표계를 형성하는 기 설정된 축의 정보 및 특성에 따라서 결정될 수 있다.The vectorization unit 130 preferably vectorizes each sentence such that the sentences having similar meanings exist at similar positions. Whether or not each sentence has a similar meaning can be determined according to information and characteristics of a predetermined axis forming a coordinate system.

도 9는 전처리된 데이터가 벡터화된 일 예를 나타내는 도면이다.9 is a diagram showing an example in which preprocessed data is vectorized.

도 9를 참조하면, 벡터화부(130)는 전처리된 데이터(91)로 문장 "Did you have lunch?", "Did you have dinner?" 및 "Did you have time?"를 제1 축(96), 제2 축(97) 및 제3 축(98)의 특성을 이용하여 매칭되는 좌표에 각각의 문장을 위치(92, 93, 94)시킬 수 있다. 도 9에서 식사와 관련된 의문문인 "Did you have lunch?", "Did you have dinner?"는 좌표계 상에서 유사한 위치에 존재하는 것을 볼 수 있다. 시간과 관련된 의문문인 "Did you have time?"은 다소 먼 거리의 위치에 존재하는 것을 볼 수 있다.Referring to FIG. 9, the vectorizer 130 generates the sentences "Did you have lunch? &Quot;," Did you have dinner? 93, and 94 to the coordinates that match "Did you have time?" Using the characteristics of the first axis 96, the second axis 97, and the third axis 98, . In Figure 9, we can see that the question "Did you have lunch?" And "Did you have dinner?", Which are related to the meal, reside at similar positions in the coordinate system. You can see that "Did you have time?", A question related to time, exists somewhat farther away.

다만, 이러한 각 문장의 위치는 기 설정된 축이 변경됨에 따라서 변경될 수 있다. 즉, 기 설정된 축이 변경되면 문장 간 유사도도 변경될 수 있다.However, the position of each of these sentences can be changed as the predetermined axis is changed. That is, if the predetermined axis is changed, the degree of similarity between sentences can also be changed.

기 설정된 축은 수신된 메시지에 따라서 변경될 수 있으며, 시스템 설정, 업데이트 등에 따라서도 변경될 수 있다.The preset axis can be changed according to the received message, and can also be changed according to system setting, update, and the like.

다시 도 5를 참조하면, 클러스터링부(140)는 벡터화부(130)에 의하여 벡터화된 정보를 이용하여 클러스터링을 수행할 수 있다. 또한, 클러스터링부(140)는 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 전처리된 데이터가 나타내는 문장들 중에서 기 설정된 수준 이상으로 유사한 문장들을 병합할 수 있다. 기 설정된 방법은 온톨로지, 기존에 공지된 방법, 단어의 유사성에 대하여 미리 설정된 정보 등을 이용하여 유사한 문장들을 병합할 수 있다.Referring again to FIG. 5, the clustering unit 140 may perform clustering using the vectorized information by the vectorizing unit 130. FIG. In addition, the clustering unit 140 may merge similar sentences at a predetermined level or more among the sentences indicated by the preprocessed data included in one clustering according to a predetermined merging method. The predetermined method can combine similar sentences using an ontology, a previously known method, preset information on the similarity of words, and the like.

구체적으로 클러스터링부(140)는 유사한 문장들을 하나의 클러스터로 나타낼 수 있다. 클러스터링부(140)는 문장의 유사도를 좌표계에서 문장이 위치한 좌표 정보를 이용하여 파악할 수 있다. 예를 들어 클러스터링부(140)는 특정 지점에서 기 설정된 거리 내에 존재하는 문장을 하나의 클러스터링으로 나타낼 수 있다. 또는 클러스터링부(140)는 문장이 위치한 좌표 간의 거리가 기 설정된 거리 이하인 문장들을 하나의 클러스터링으로 나타낼 수도 있다.Specifically, the clustering unit 140 may represent similar sentences as one cluster. The clustering unit 140 can grasp the similarity degree of the sentence using the coordinate information in which the sentence is located in the coordinate system. For example, the clustering unit 140 may represent a sentence existing within a predetermined distance at a specific point in one clustering. Alternatively, the clustering unit 140 may represent the sentences in which the distance between the coordinates at which the sentence is located is equal to or less than a predetermined distance, as one clustering.

도 10은 클러스터링부에 의하여 클러스터링된 일 예를 나타내는 도면이다.10 is a diagram showing an example of clustering by a clustering unit.

도 10을 참조하면, 도 9에서 벡터화된 각 데이터에 해당하는 문장들의 유사성 정도에 기반하여 클러스터링한 예를 볼 수 있다.Referring to FIG. 10, an example of clustering based on the similarity degree of the sentences corresponding to the vectorized data in FIG. 9 can be seen.

도 10을 보면 상대적으로 근처에 위치한 "Did you have lunch?"와 "Did you have dinner?"는 동일한 제1 클러스터(101)에 포함된 것을 볼 수 있다. "Did you have time?"은 "Did you have lunch?" 및 "Did you have dinner?"와 상대적으로 먼 위치에 있으며 다른 클러스터인 제2 클러스터(102)에 포함된 것을 볼 수 있다.10, it can be seen that "Did you have lunch?" And "Did you have dinner?" Which are relatively nearby are included in the same first cluster 101. "Did you have lunch?" And "Did you have dinner?" And are included in the second cluster 102, which is a different cluster.

앞서 설명한 바와 같이 유사성 정도는 각 축(96, 97, 98)의 설정 정보에 따라서 결정될 수 있다. 각 축(96, 97, 98)의 설정 정보는 새로 수신되는 메시지의 시간, 장소, 사용자 정보 및 상대방 정보 등에 따라서 변경될 수 있다As described above, the degree of similarity can be determined according to the setting information of the axes 96, 97, and 98. [ The setting information of each axis 96, 97, and 98 may be changed according to the time, location, user information, counterpart information, etc. of the newly received message

도 11은 수신되는 메시지를 참조하여 클러스터링한 예를 나타내는 도면이다.11 is a diagram showing an example of clustering with reference to a received message.

도 11을 참조하면, 수신된 메시지(113)는 "How are you?"이다.Referring to Fig. 11, the received message 113 is "How are you? &Quot;.

이에 대하여 제3 클러스터에 포함된 데이터들이 나타내는 문장은 "I'm fine"(111a), "Great!"(111b) 및 "Good! You?"(111c)이다. 이는 수신된 메시지(113)에 대한 답변으로 긍정적인 답변에 해당하는 유사성이 존재한다.In contrast, the sentences indicated by the data included in the third cluster are "I'm fine" 111a, "Great!" 111b and "Good! You?" 111c. There is a similarity to the positive answer as the answer to the received message (113).

제4 클러스터에 포함된 데이터가 나타내는 문장은 "Not so bad..."(112a)이다. 이는 제3 클러스터에 비해서 덜 긍정적인 답변이거나 중립적인 답변에 해당한다. 도 11에서 각 축(113, 114, 115)은 도 10에서 각 축(96, 97, 98)과는 다른 특성의 축일 수 있다. 즉, 도 11에서 각 축(113, 114, 115)은 "How are you"를 부모 문장으로 하였을 때 자식 문장에 해당하는 문장들 중 긍정, 중립, 부정 정도를 나타내는 축을 포함할 수 있다.The sentence indicated by the data contained in the fourth cluster is "Not so bad ..." (112a). This is a less positive or neutral answer than the third cluster. In FIG. 11, the axes 113, 114, and 115 may be axes of different characteristics from the axes 96, 97, and 98 in FIG. That is, in FIG. 11, each axis 113, 114, and 115 may include an axis indicating affirmative, neutral, and negative degrees among the sentences corresponding to the child sentence when "How are you" as the parent sentence.

다시 도 5로 되돌아가면, 랭킹부(150)는 클러스터 별로 점수화를 수행할 수 있다.Returning to FIG. 5, the ranking unit 150 may perform scoring on a cluster-by-cluster basis.

구체적으로 랭킹부(150)는 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 클러스터 별로 점수화를 수행할 수 있다.Specifically, the ranking unit 150 may perform scoring according to a cluster according to a first predetermined scoring method as an answer to the received message.

또는, 랭킹부(150)는 병합된 문장 별로 점수화를 수행할 수도 있다.Alternatively, the ranking unit 150 may perform scoring on the merged sentence.

구체적으로 랭킹부(150)는 수신된 메시지에 대한 답변으로 적합한 정도를 제2 기 설정된 점수화 방법에 따라서 병합된 문장 별로 점수화를 수행할 수 있다.Specifically, the ranking unit 150 may perform scoring according to a merged sentence according to a second pre-determined scoring method according to the degree of the answer to the received message.

병합된 문장은 유사한 문장들이 하나의 문장으로 병합된 것을 의미하며, 클러스터 내에 포함된 문장으로 병합되지 않고 그대로 존재하는 문장도 점수화를 수행하는 병합된 문장에 포함되는 것으로 본다.The merged sentence means that similar sentences are merged into one sentence, and the sentence that is not merged into the sentence contained in the cluster is also considered to be included in the merged sentence performing the scoring.

즉, 특정 클러스터 내에 서로 유사한 문장 "A", "B" 및 "C"와 다소 상이한 문장 "D" 및 "E"가 존재하여 유사한 문장 "A", "B" 및 "C"는 "A"로 병합된 경우, 랭킹부(150)가 점수화를 수행하는 병합된 문장은 "A", "D", "E"가 될 수 있다. 병합된 문장은 반드시 존재하는 문장 중 어느 하나가 되어야 하는 것은 아니다. 예를 들어, 유사한 문장 "A", "B" 및 "C"는 문장 "F"로 병합될 수도 있다.A ", " B "and" C "are" A " The merged sentence in which the ranking unit 150 performs scoring can be "A "," D ", and "E ". The merged sentence does not necessarily have to be one of the existing sentences. For example, similar phrases "A "," B ", and "C" may be merged into the sentence "F ".

또는, 랭킹부(150)는 클러스터 별로 점수화를 수행한 후 제1 기 설정된 점수 이상을 가진 클러스터 내에 존재하는 문장들에 대하여 2차적으로 점수화를 수행할 수도 있다.Alternatively, the ranking unit 150 may score the clusters in the clusters having a score greater than or equal to the first predetermined score after performing the scoring for each cluster.

랭킹부(150)는 클러스터의 사이즈가 클수록 높은 점수로 점수화할 수 있다. 왜냐하면 클러스터의 사이즈가 크다는 것은 수신된 메시지에 대한 답변으로 가장 많이 선택되어 유사한 문장들이 많다는 것을 의미할 수 있기 ?문이다.The ranking unit 150 can score a higher score as the cluster size is larger. Because the cluster size is large, can it mean that there are many similar sentences most often selected as the answer to the received message?

랭킹부(150)는 최종적으로 수신된 메시지에 대한 답변으로 적합한 문장을 결정하기 위한 것이므로 제1 기 설정된 점수화 방법 및 제2 기 설정된 점수화 방법에는 수신된 메시지의 의도, 시간, 장소, 상황을 고려하여 점수화를 수행할 수 있다.Since the ranking unit 150 is for deciding an appropriate sentence as a response to the finally received message, the first predetermined scoring method and the second predetermined scoring method are performed in consideration of the intention, time, place, and situation of the received message Scoring can be performed.

도 12는 랭킹부가 문장에 대한 점수화를 수행하는 일 예를 나타내는 도면이다.FIG. 12 is a diagram showing an example in which the ranking unit performs scoring on the sentence.

랭킹부(150)는 도 12를 참조하여 설명하는 방법만으로 점수화 하지 않으며 다른 방법들도 복합적으로 이용하여 점수화를 수행한다.The ranking unit 150 does not score only by the method described with reference to FIG. 12, but performs scoring by using other methods in combination.

도 12를 참조하면, 랭킹부(150)는 문장을 부모 문장과 자식 문장으로 엮어 현재 문장이 나왔을 때 다음 문장(단어를 포함할 수 있음)이 나올 확률을 계산하여 점수화에 이용할 수 있다.Referring to FIG. 12, the ranking unit 150 may combine a sentence with a parent sentence and a child sentence to calculate a probability that the next sentence (which may include a word) is present when the current sentence appears, and use it for scoring.

구체적으로 단어 관계를 예로 들어 설명하면, "How"라는 단어는 이전 단어가 존재하지 않기 때문에 "How"자체로 부사임을 판단 할 수 밖에 없지만, "are"은 "How"란 단어에 종속적으로 존재하고, "you"는 "How are"에 종속적으로 존재할 수 있다. "You"라는 단어는 부사+동사 뒤에 나왔기 때문에 명사로 쓰였을 확률이 높다. 이를 대화쌍 데이터에서 부모 문장과 자식 문장으로 엮어 학습하게 되면 부사(R)+동사(V)+명사(N)로 구성된 "how+are+you"라는 문장(121)이 나왔을 때 뒤에 이어질 단어 및 품사를 예측 가능할 수 있게 된다. 예를 들면, "how+are+you"에 이어서 "thanks" 가 나오게 될 확률은 낮으며 따라서 점수도 낮게 평가된다.Specifically, the word "How" can not be judged as an adverb by "How" itself because the word "How" does not exist, but "are" depends on the word "How" , and "you" can be dependent on "How are". The word "You" is likely to have been used as a noun since it comes after the adverb + verb. When you learn the sentence pair data from the parent sentence and the child sentence, you can see the word "how + are + you" (121) with adverb (R) + verb (V) + noun The part of speech can be predicted. For example, the probability of "thanks" following "how + are + you" is low and therefore the score is also evaluated to be low.

랭킹부(150)는 이러한 문장 구조를 이용한 확률 계산뿐만 아니라 클러스터의 크기, 유사한 문장의 빈도 수, 수집된 대화쌍 데이터 중 관련된 문장의 빈도 수 등 다양한 정보와 방법을 이용하여 클러스터 별 및/또는 문장 별로 점수화를 수행하여 수신된 메시지에 적합한 추천 답변으로 도출할 수 있다.The ranking unit 150 calculates the probability of each cluster and / or the sentence by using various information and methods such as the size of the cluster, the frequency of similar sentences, and the frequency of related sentences among the collected conversation pair data, It is possible to derive a recommendation answer suitable for the received message.

랭킹부(150)에 의하여 점수화되고 기 설정된 점수화 이상의 문장은 추천 답변으로 도출될 수 있다.The sentences scored by the ranking unit 150 and predetermined scoring can be derived as a recommendation answer.

또는, 랭킹부(150)에 의하여 점수화된 것 중 점수가 높은 순서로 기 설정된 개수만큼의 문장이 추천 답변으로 도출될 수도 있다.Alternatively, a predetermined number of sentences in the order of scores scored by the ranking unit 150 may be derived as a recommendation answer.

또는, 랭킹부(150)에 의하여 점수화되고 기 설정된 점수화 이상의 문장 중 점수가 높은 순서로 기 설정된 개수만큼이 추천 답변으로 도출될 수도 있다.Alternatively, a predetermined number of scores scored by the ranking unit 150 and having a higher score among sentences having a predetermined scoring or more may be derived as a recommendation answer.

랭킹부(150)에 의하여 점수가 높은 클러스터가 결정된 경우 결정된 클러스터 내에 포함된 문장들을 추천 답변으로 도출할 수 있다.When the cluster having a high score is determined by the ranking unit 150, the sentences included in the determined cluster can be derived as a recommendation answer.

클러스터 별로 점수화하거나 클러스터 별로 점수화 한 후 일정 점수 이상의 클러스터에 대하여만 2차 적으로 문장 별로 점수화 한 경우에는 문장 별로 점수화하는 것보다 연산량이 감소될 수 있다.If the cluster is scored or scored cluster by cluster, then only the cluster with a certain score or more is scored second by sentence, the amount of computation can be reduced than by scoring by sentence.

또한, 랭킹부(150)는 클러스터 별로 점수화 한 후 일정 점수 이상의 클러스터에 대해서 2차적으로 문장 별로 점수화 하여 각각의 클러스터에서 적어도 하나 이상의 문장을 추천 답변으로 도출할 수 있다. 이러한 경우, 추천 답변의 다양성을 향상시킬 수 있다.In addition, the ranking unit 150 scales the clusters according to the clusters, scans the clusters having a predetermined score or more, and secondarily scores the clusters according to sentences, and derives at least one sentence in each cluster as a recommendation answer. In this case, the variety of recommendations can be improved.

추천 답변으로 도출된 것은 추천 답변 제공부(170)에 의하여 추천 답변을 선택하여 상대방에게 답변 하고자 하는 사용자에게 시각적 및/또는 청각적으로 제공될 수 있다.The recommendation answer may be provided visually and / or audibly to the user who selects the recommendation answer by the recommendation answerer 170 and answers the partner.

다만, 추천 답변 제공부(170)가 랭킹부(150)에 의하여 도출된 추천 답변을 사용자에게 시각적 및/또는 청각적으로 제공하기 전에 그룹핑을 수행하고 추천 답변들을 재정렬한 후 사용자에게 제공할 수 있다.However, the recommendation reply providing unit 170 performs grouping before providing the recommendation answer derived by the ranking unit 150 to the user visually and / or audibly, rearranges the recommendation answers, and provides the recommendation reply to the user .

구체적으로, 그룹핑부(160)가 랭킹부(150)에 의하여 추천된 문장들을 기 설정된 그룹핑 기준에 따라서 그룹핑할 수 있다.Specifically, the grouping unit 160 may group the sentences recommended by the ranking unit 150 according to a predetermined grouping criterion.

그룹핑부(160)는 축 정보, 좌표계 상에서 클러스터가 배치된 영역에 대한 정보 및/또는 클러스터 내 포함된 문장들의 문맥적 내용 등을 이용하여 유사한 답변을 그룹핑 할 수 있다.The grouping unit 160 may group similar answers using the axis information, the information on the region where the clusters are arranged on the coordinate system, and / or the contextual contents of the sentences included in the cluster.

또는, 그룹핑부(160)는 추천 답변의 내용을 고려하여 그룹핑을 수행할 수 있다.Alternatively, the grouping unit 160 may perform grouping in consideration of the contents of the recommendation reply.

예를 들어, 그룹핑부(160)는 추천 답변을 긍정 그룹과 부정 그룹으로 그룹핑할 수 있다.For example, the grouping unit 160 may group the recommendation responses into the positive group and the negative group.

또는, 그룹핑부(160)는 추천 답변을 긍정적, 부정적, 흥분, 안정의 4가지 기준으로 분류할 수도 있다. 예를 들어 추천 답변의 내용이 분노, 화, 실망, 불쾌, 불안에 해당하는 경우 {부정적, 흥분}에 해당하는 제1 그룹으로 그룹핑 될 수 있다. 또는 추천 답변의 내용이 환희, 기쁨, 명량에 해당하는 경우 {긍정적, 흥분}에 해당하는 제2 그룹으로 그룹핑 될 수 있다.Alternatively, the grouping unit 160 may classify the recommendation answers into four criteria of positive, negative, excitement, and stability. For example, if the content of the referral response is anger, anger, disappointment, discomfort, or anxiety, it can be grouped into a first group corresponding to {negative, excitement}. Or if the content of the recommendation answer corresponds to the joy, joy, or brightness, it can be grouped into a second group corresponding to {positive, excitement}.

추천 답변의 내용이 절망, 권태, 침울에 해당하는 경우 {부정적, 안정}에 해당하는 제3 그룹으로 그룹핑 될 수 있다. 추천 답변의 내용이 평정, 평안, 만족에 해당하는 경우 {긍정적, 안정}에 해당하는 제4 그룹으로 그룹핑 될 수 있다.If the content of the referral response corresponds to despair, boredom, or depression, it can be grouped into a third group corresponding to {negative, stable}. If the content of the recommendation answers is calm, peaceful, satisfying, it can be grouped into the fourth group corresponding to {positive, stable}.

그룹핑부(160)는 추천 답변에 해당하는 문장에 포함된 단어를 온톨로지 등을 이용하여 분노, 화, 환희, 기쁨 등에 해당하는지 판단할 수 있다.The grouping unit 160 can determine whether the word included in the sentence corresponding to the recommendation answer is anger, speech, joy, joy, etc. using an ontology or the like.

그룹핑부(160)는 수신된 메시지의 내용에 따라서 추천 답변을 그룹핑하는 기준을 변경할 수 있다.The grouping unit 160 may change a criterion for grouping the recommendation responses according to the contents of the received message.

예를 들면, 추천 답변을 그룹핑하는 기준으로 시간이나 위치와 같은 외부 컨텍스트나 성별이나 나이와 같은 사용자 정보와 관련된 기준이 추가될 수 있다.For example, criteria based on user information, such as an external context such as time or location, or gender or age, may be added as a basis for grouping referral responses.

또한, 그룹핑하는 기준은 추천 답변의 수에 따라서 증감될 수 있다. 즉, 추천 답변이 많은 경우 그룹핑하는 기준이 증가할 수 있다. 반대로 추천 답변이 적은 경우 그룹핑하는 기준이 감소할 수도 있다.Also, the grouping criterion can be increased or decreased according to the number of recommended answers. That is, if there are many suggestions, grouping criteria may increase. Conversely, fewer referral responses may reduce the grouping criteria.

그룹핑하는 기준은 CPU 등 리소스, 디바이스의 종류, 디스플레이 장치의 크기 등에 따라서 변경될 수도 있다.The grouping criterion may be changed depending on the resources such as the CPU, the type of the device, the size of the display device, and the like.

도 13은 추천 답변을 그룹핑한 결과를 나타내는 도면이다.13 is a diagram showing a result of grouping the recommendation answers.

도 13에서 추천 답변(131)은 랭킹부(150)의 결과에 따라서 도출된 답변을 그룹핑한 결과를 알 수 있다.In FIG. 13, the recommendation answer 131 can know the result of grouping the answers derived according to the result of the ranking unit 150.

그룹핑부(160)는 추천 답변(132a 내지 135c)들을 긍정, 진행 중, 모름, 부정에 관한 내용인지 여부를 기준으로 그룹핑한 예이다.The grouping unit 160 is an example of grouping the recommendation replies 132a to 135c on the basis of whether they are affirmative, in progress, unknown, or negative.

긍정에 해당하는 제1 그룹(132)에는 "Yes, I did."(132a), "Yep."(132b) 및 Yeah.(132c)가 포함된 것을 볼 수 있다. 제2 그룹(133)에는 "I am eating now."(133a), "I am having now."(133b) 및 "I am trying to have."(133c)가 포함된 것을 볼 수 있다. 제3 그룹(134)에는 "It's secret."(134a), "I don't know."(134b) 및 "I forgot."(134c)가 포함된 것을 볼 수 있다. 제4 그룹(135)에는 "Not yet."(135a), "No, I didn't"(135b) 및 "Nope."(135c)가 포함된 것을 볼 수 있다.The first group 132 corresponding to the affirmative includes "Yes, I did." 132a, "Yep." 132b, and Yeah 132c. The second group 133 includes "I am eating now." 133a, "I am having now." 133b and "I am trying to have." 133c. It can be seen that the third group 134 includes "It's secret." 134a, "I do not know." 134b and "I forgot." 134c. "Not yet." 135a, "No, I did not" 135b and "Nope." 135c are included in the fourth group 135.

추천 답변 제공부(170)는 동일한 그룹에 속한 문장들은 추천 답변으로 사용자에게 연속적으로 제공하지 않고, 서로 다른 그룹에 속한 문장들을 순차적으로 제공할 수 있다.The recommendation reply providing unit 170 may sequentially provide sentences belonging to different groups without continuously providing the sentences belonging to the same group as recommendation answers to the user.

예를 들면, 도 13에서 추천 답변(131)을 재정렬하여 추천 답변 제공부(170)는 재정렬된 추천 답변(136)을 제공할 수 있다.For example, in FIG. 13, the recommended answers 131 may be rearranged, and the recommended answers providing unit 170 may provide the rearranged recommended answers 136.

구체적으로, 제1 그룹(132)에 포함된 문장 중 하나인 "Yes, I did."(132a)를 사용자에게 최우선적으로 제공하고 그 다음으로 제2 그룹(133)에 포함된 문장 중 하나인 "I am eating now."(133a)을 제공할 수 있다. 그리고 그 다음으로 제3 그룹(134)에 포함된 문장 중 하나인 "It's secret."(134a)를 제공할 수 있다. 재정렬된 추천 답변(136)을 보면 동일한 그룹에 속한 문장이 연속되어 제공되지 않는 것을 볼 수 있다.Specifically, one of the sentences contained in the first group 132, "Yes, I did." 132a, is provided to the user first, and then one of the sentences included in the second group 133 Quot; I am eating now. "(133a). And then provide one of the sentences contained in the third group 134, "It's secret." 134a. In the reordered recommendation answer 136, it can be seen that sentences belonging to the same group are not provided in succession.

즉, 제1 그룹(132)에 포함된 3개의 문장(132a, 132b, 132c)이 랭킹부(150)에 의하여 가장 높은 점수를 받은 3개의 문장이라고 하더라도 상기 3개의 문장(132a, 132b, 132c)을 사용자에게 우선적으로 제공하지 않고 다른 그룹에 포함된 문장과 섞어서 제공할 수 있다.That is, even if the three sentences 132a, 132b, and 132c included in the first group 132 are the three sentences having the highest scores by the ranking unit 150, the three sentences 132a, 132b, Can be provided in combination with sentences included in other groups without being given priority to the user.

이를 통하여 사용자는 사용자가 답변하고자 하는 내용을 용이하게 선택할 수 있다. 즉, 사용자가 부정의 내용으로 답변하고자 하더라도 추천 답변이 재정렬되지 않는 경우 부정의 내용에 해당하는 문장(135a, 135b, 135c)이 후순위에 존재하므로 선택이 용이하지 않을 수 있다. 그러나, 추천 답변의 내용이 서로 유사한 것들끼리 연속하여 제공하지 않고 다른 그룹에 속한 문장을 하나씩 하나씩 제공하여 사용자가 용이하게 선택할 수 있는 답변의 내용의 폭을 다양하게 할 수 있다. Through this, the user can easily select the contents to be answered by the user. That is, when the user does not rearrange the recommended answers even though he / she intends to reply with the contents of the negative, since the sentences 135a, 135b, and 135c corresponding to the contents of the negative are present in the subordinate, selection may not be easy. However, the contents of the recommendation reply may not be provided successively to each other, but the sentences belonging to the different group may be provided one by one so that the width of the contents of the answer that the user can easily select can be varied.

만약 랭킹부(150)에 의하여 클러스터가 점수화되고 클러스터에 대하여 그룹핑된 경우에는, 추천 답변 제공부(170)는 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공할 수 있다.If the clusters are scored by the ranking unit 150 and grouped with respect to the clusters, the recommendation answer providing unit 170 determines that the sentences included in the clusters belonging to the same group are not successively provided as recommendation answers, And can sequentially provide the sentences included in the cluster to which it belongs.

다시 도 5를 참조하면, 추천 답변 제공부(170)는 재정렬된 추천 답변을 사용자에게 시각적 및/또는 청각적으로 제공하는 과정에서 중요도에 따라서 추천 답변 마다 시각적 및/또는 청각적으로 차이점을 두어 사용자에게 제공할 수 있다.Referring again to FIG. 5, in the process of visually and / or auditorily providing the re-arranged recommended answers to the users, the recommended answers providing unit 170 visually and / .

중요도는 랭킹부(150)에 의하여 점수화된 점수가 높은 경우 중요도가 높다고 판단할 수 있다.If the score scored by the ranking unit 150 is high, it can be determined that the importance is high.

추천 답변 제공부(170)가 추천 답변 마다 시각적으로 차이점을 두는 방법은 추천 답변의 순서, 추천 답변 글자의 크기, 추천 답변 문장의 터치 영역의 크기, 추천 답변 글자의 색상, 추천 답변 배경색의 색상 및 추천 답변 문장의 해상도 등을 이용하여 추천 답변 별로 시각적 차이점을 두어 사용자에게 제공할 수 있다.Recommendation Answer The way in which the tutor 170 visually differentiates between the recommended answers includes the order of the recommended answers, the size of the recommended answers, the size of the touch area of the suggested answers, the color of the recommended answers, Suggested answers You can provide visual differences for each answer by using the resolution of the sentence.

도 14는 추천 답변 별로 시각적 차이점을 두어 제공하는 일 예를 나타내는 도면이다.14 is a diagram showing an example of providing visual differences for each of the recommendation answers.

도 14를 참조하면, 추천 답변 제공부(170)는 추천 답변들(141) 중에서 랭킹부(150)에 의하여 점수화된 점수가 높은 문장일수록 글자 크기를 크게하여 추천 답변(141a, 141b, 141c)을 사용자에게 제공하는 것을 볼 수 있다.Referring to FIG. 14, the recommendation reply providing unit 170 increases the size of a sentence having a high score scored by the ranking unit 150 among the recommended answers 141 to thereby transmit the recommended answers 141a, 141b, and 141c You can see what it provides to the user.

또는, 추천 답변 제공부(170)가 추천 답변 마다 청각적으로 차이점을 두는 방법은 볼륨, 인토네이션 및 톤 등을 이용하여 추천 답변 별로 청각적 차이점을 두어 사용자에게 제공할 수 있다.Alternatively, the method in which the recommendation ancillary unit 170 sets auditory difference for each recommendation answer can provide the auditory difference for each recommendation answer using volume, intonation, tone, etc., and provide it to the user.

추천 답변 중에서 사용자가 선택한 답변에 관한 정보는 데이터 수집부(110)에 의하여 수집되어 답변 추천 장치(100)에 의하여 추천 답변을 선정하는 과정에서 이용될 수 있다. 즉, 추천 답변 중에서 사용자가 선택한 답변에 관한 정보는 피드백 정보로 활용될 수 있다.The information about the answers selected by the user among the recommended answers may be collected by the data collection unit 110 and used in the process of selecting the recommended answers by the answer recommendation apparatus 100. [ That is, the information about the answer selected by the user among the recommended answers can be utilized as the feedback information.

추천 답변 제공부(170)는 추천 답변으로 어플리케이션 실행을 사용자에게 제안할 수 있다. 이를 위하여 데이터 수집부(110)는 특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집할 수 있다. 랭킹부(150)는 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 어플리케이션 실행 정보를 기반으로 어플리케이션 별로 점수화를 수행할 수 있다.The recommendation reply providing unit 170 can suggest the application execution to the user as a recommendation reply. To this end, the data collection unit 110 may collect information about the executed application immediately after receiving the specific message. The ranking unit 150 may perform scoring for each application based on the application execution information when receiving a message similar to the specific message or a similar message based on the predetermined similarity criterion.

추천 답변 제공부(170)는 제2 기 설정된 점수 보다 높은 점수를 가진 어플리케이션 실행을 특정 메시지와 동일하거나 유사한 메시지에 대한 추천 답변으로 제공할 수 있다.The recommendation reply provider 170 can provide the application execution having a score higher than the second predetermined score as a recommendation reply to the same or similar message as the specific message.

예를 들면, 추천 답변 제공부(170)는 "집에 올 때 맥주 사와"라는 수신 메시지에 대한 추천 답변으로 알람 어플리케이션 실행을 추천할 수 있다. 또는, 추천 답변 제공부(170)는 "7시에 강남에서 만나"라는 수신 메시지에 스케줄링 어플리케이션 실행을 추천할 수 있다.For example, the recommendation reply providing unit 170 can recommend the execution of the alarm application as a recommendation reply to the received message "to come home ". Alternatively, the recommendation reply providing unit 170 can recommend execution of the scheduling application in the reception message "Meet at Gangnam at 7 o'clock ".

또는, 답변 추천 장치(100)는 어플리케이션 실행부(180)를 더 포함할 수 있다.Alternatively, the answer recommendation apparatus 100 may further include an application execution unit 180.

어플리케이션 실행부(180)는 수신된 메시지에 대한 응답으로 자동적으로 특정 어플리케이션을 실행할 수 있다.The application execution unit 180 can automatically execute a specific application in response to the received message.

예를 들면, "너무 더워"라는 수신된 메시지에 대한 응답으로 에어컨 온도를 낮추기 위한 어플리케이션을 실행 할 수 있다.For example, you can run an application to lower the air conditioner temperature in response to a received message that is "too hot."

어플리케이션 실행부(180)는 수신된 메시지에 대한 답변으로 특정 어플리케이션을 실행하는 선택을 한 데이터를 기반으로 자동적으로 어플리케이션을 실행하기 위한 조건 만족 여부를 판단할 수 있다. 예를 들어, "너무 더워"와 동일하거나 유사한 문장의 메시지를 기 설정된 횟수 이상 수신하여 모두 에어컨 온도를 낮추기 위한 어플리케이션을 실행한 경우에는 자동적으로 어에컨 온도를 낮추기 위한 어플리케이션을 실행할 수 있다.The application execution unit 180 can determine whether a condition for automatically executing an application based on the selected data to execute a specific application is satisfied by a response to the received message. For example, when an application for receiving a message of the same or similar sentence as "too hot " is received a predetermined number of times or more and all the air conditioner temperature is lowered, an application for automatically lowering the air conditioner temperature can be executed.

이하, 도 15를 참조하여 본 발명의 다른 실시예에 따른 답변 추천 방법을 설명한다. 본 실시예는 연산 수단을 구비한 컴퓨팅 장치에 의하여 수행 될 수 있다. 상기 컴퓨팅 장치는, 예를 들어 본 발명의 일 실시예에 따른 답변 추천 장치(100)일 수 있다. 상기 답변 추천 장치(100)의 구성 및 동작에 대하여는 도 1 내지 도 14를 참조하여 설명한 내용을 통해 이해할 수 있다.Hereinafter, an answer recommendation method according to another embodiment of the present invention will be described with reference to FIG. The present embodiment can be performed by a computing device having computing means. The computing device may be, for example, the answer recommendation apparatus 100 according to an embodiment of the present invention. The configuration and operation of the answer recommendation apparatus 100 can be understood through the description with reference to FIG. 1 to FIG.

도 15는 본 발명의 다른 실시예에 따른 답변 추천 방법에 관한 순서도이다.15 is a flowchart illustrating an answer recommendation method according to another embodiment of the present invention.

도 15를 참조하면, 컴퓨팅 장치가 소셜 네트워크 서비스 등을 통하여 대화쌍 데이터를 수집할 수 있다(S100).Referring to FIG. 15, a computing device can collect conversation pair data through a social network service or the like (S100).

컴퓨팅 장치가 수집된 데이터를 전처리할 수 있다(S200).The computing device may preprocess the collected data (S200).

컴퓨팅 장치가 전처리된 데이터를 좌표계 특정 지점과 매칭하여 벡터화할 수 있다(S300).The computing device may vectorize the preprocessed data to a coordinate system specific point (S300).

컴퓨팅 장치가 벡터화 정보 등을 이용하여 유사한 문장들에 대하여 클러스터링을 수행할 수 있다(S400). 컴퓨팅 장치가 클러스터링 내에서 기 설정된 유사도 이상으로 유사한 문장들을 병합할 수 있다(S500).The computing device may perform clustering on similar sentences using vectorization information or the like (S400). The computing device may merge similar sentences beyond the predetermined similarity within the clustering (S500).

컴퓨팅 장치가 클러스터링 또는 병합된 문장에 대하여 점수화를 수행할 수 있다(S600). 컴퓨팅 장치가 점수화 정보를 이용하여 추천 답변 후보를 도출할 수 있다(S700).The computing device may perform scoring on the clustering or merged sentence (S600). The computing device may derive a recommendation answer candidate using the scored information (S700).

컴퓨팅 장치가 도출된 추천 답변 후보들을 기 설정된 그룹핑 기준에 따라서 그룹핑을 수행할 수 있다(S800). 컴퓨팅 장치는 추천 답변을 재정렬한 후 사용자에게 제공할 수 있다(S900).The computing device may perform grouping of the derived recommendation answer candidates according to a predetermined grouping criterion (S800). The computing device may rearrange the recommendation response and provide it to the user (S900).

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지될 수 있음을 이해하여야 한다.Although the operations are shown in the specific order in the figures, it should be understood that operations need not necessarily be performed in the particular order shown or in sequential order, or that all of the illustrated operations must be performed to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of the various configurations in the above-described embodiments should not be understood as such a separation being essential, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products .

예를 들면, 그룹핑부(160)에 의하여 수행되는 그룹핑 과정은 랭킹부(150)보다 먼저 동작할 수 있다. 구체적으로, 추천 답변 후보 또는 답변 후보가 그룹핑부(160)에 의하여 그룹핑된 후 랭킹부(150)가 그룹 별 별로 그룹에 포함된 문장들을 점수화할 수 있다. 또한, 벡터화부(130), 클러스터링부(140), 랭킹부(150) 및 그룹핑부(160) 중 적어도 어느 하나는 수신된 메시지의 정보, 수집된 데이터, 답변 후보의 종류나 양, 기 설정된 축의 정보 등에 따라서 동작 과정이 생략되거나 동작 순서가 변경될 수 있다.For example, the grouping process performed by the grouping unit 160 may be performed prior to the ranking unit 150. Specifically, after the recommendation candidate or the answer candidate is grouped by the grouping unit 160, the ranking unit 150 may score sentences included in the group by group. At least one of the vectorizing unit 130, the clustering unit 140, the ranking unit 150, and the grouping unit 160 may include information on the received message, collected data, the type and amount of the answer candidates, The operation procedure may be omitted or the operation order may be changed according to the information or the like.

도 16은 본 발명의 일 실시예에 따른 답변 추천 장치의 하드웨어 구성의 일 예를 나타내는 도면이다.16 is a diagram illustrating an example of a hardware configuration of an answer recommendation apparatus according to an embodiment of the present invention.

본 실시예에 따른 답변 추천 장치(100)는 도 16의 구성을 가질 수 있다.The answer recommendation apparatus 100 according to the present embodiment may have the configuration shown in FIG.

본 발명의 다른 실시예에 따른 답변 제공 방법을 수행할 수 있는 컴퓨팅 장치도 도 16의 구성을 가질 수 있다.A computing device capable of performing the method of providing an answer according to another embodiment of the present invention may also have the configuration of FIG.

도 16에 도시된 바와 같이, 답변 추천 장치(100)는 답변 추천 프로세서(161), 스토리지(162), 메모리(163) 및 네트워크 인터페이스(164)를 포함할 수 있다.As shown in FIG. 16, the answer recommendation apparatus 100 may include an answer recommendation processor 161, a storage 162, a memory 163, and a network interface 164.

또한, 답변 추천 장치(100)는 답변 추천 프로세서(161) 및 메모리(163)와 연결되어 데이터 이동 통로가 되는 시스템 버스(165)를 포함할 수 있다.The answer recommendation apparatus 100 may also include a system bus 165 connected to the answer recommendation processor 161 and the memory 163 and serving as a data movement path.

네트워크 인터페이스(164)에는 다른 컴퓨팅 장치가 연결 될 수 있다. 예를 들면, 네트워크 인터페이스(164)에 연결되는 다른 컴퓨팅 장치는 디스플레이 장치, 사용자 단말 등이 될 수 있다.Other computing devices may be coupled to the network interface 164. For example, other computing devices connected to the network interface 164 may be a display device, a user terminal, or the like.

네트워크 인터페이스(164)는 이더넷, FireWire, USB 등이 될 수 있다.The network interface 164 may be Ethernet, FireWire, USB, or the like.

스토리지(162)는 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자, 하드 디스크 등으로 구현될 수 있으나 이에 한정되지는 않는다.The storage 162 may be implemented as a non-volatile memory device such as a flash memory, a hard disk, or the like, but is not limited thereto.

스토리지(162)는 답변 추천용 컴퓨터 프로그램(162a)의 데이터를 저장한다. 답변 추천용 컴퓨터 프로그램(162a)의 데이터는 바이너리 실행 파일 및 기타 리소스 파일을 포함할 수 있다.The storage 162 stores the data of the answer recommendation computer program 162a. The data of the answer recommending computer program 162a may include a binary executable file and other resource files.

또한, 스토리지는 축에 관한 정보(162b), 병합 기준과 병합 방법에 관한 정보(162c), 그룹핑 기준에 관한 정보(162d) 및 점수화 방법에 관한 정보(162e)도 저장할 수 있다.The storage may also store information 162b about axes, information about merging criteria and merging method 162c, information about grouping criteria 162d, and information about scoring methods 162e.

메모리(163)는 답변 추천용 컴퓨터 프로그램(162a)를 로딩한다. 답변 추천용 컴퓨터 프로그램(162a)은 답변 추천 프로세서(161)에 제공 되고, 답변 추천 프로세서(161)에 의하여 실행 된다.The memory 163 loads the answer recommendation computer program 162a. An answer recommendation computer program 162a is provided to the answer recommendation processor 161 and executed by the answer recommendation processor 161. [

답변 추천 프로세서(161)는 답변 추천용 컴퓨터 프로그램(162a)을 실행할 수 있는 프로세서이다. 다만, 답변 추천 프로세서(161)는 답변 추천용 컴퓨터 프로그램(162a)만을 실행할 수 있는 프로세서는 아닐 수 있다. 예를 들면, 답변 추천 프로세서(161)는 답변 추천용 컴퓨터 프로그램(162a) 외에 다른 프로그램을 실행할 수도 있다.The answer recommendation processor 161 is a processor capable of executing an answer recommendation computer program 162a. However, the answer recommendation processor 161 may not be a processor capable of executing only the answer recommendation computer program 162a. For example, the answer recommendation processor 161 may execute a program other than the answer recommending computer program 162a.

답변 추천용 컴퓨터 프로그램(162a)은, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 과정, 상기 수집된 대화쌍 데이터를 전처리하는 과정, 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 과정, 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 유사한 문장들을 병합하는 과정, 상기 병합 이후에 상기 클러스터링 내에 포함된 문장 별로 수신된 메시지에 대한 답변으로 적합한 정도를 점수화하는 과정, 상기 점수가 기 설정된 점수보다 높은 문장이나 상기 점수가 높은 순서로 기 설정된 개수의 문장을 기 설정된 그룹핑 기준에 따라서 그룹핑하는 과정 및 상기 그룹핑 결과, 동일한 그룹에 속한 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 문장들을 순차적으로 제공하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.The answer recommendation computer program 162a includes the steps of collecting data on parent sentences corresponding to the questions and conversation pair data composed of data on the child sentences corresponding to the answers to the questions, A predetermined point on a coordinate system constituted by predetermined axes for each of the preprocessed data; performing clustering using information on the specified specific point; and performing a similar sentence included in one clustering according to a predetermined merging method A step of scoring an appropriate degree as a response to a message received for each sentence included in the clustering after the merging, a step of scoring a sentence having a score higher than a predetermined score or a predetermined number According to the predetermined grouping criterion The process of rupping and the grouping result, the sentence belonging to the same group may include a set of operations to perform a process of providing the statements belonging to different groups do not provide a continuous response like in sequence.

또는, 답변 추천용 컴퓨터 프로그램(162a)은, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 과정, 상기 수집된 대화쌍 데이터를 전처리하는 과정, 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 과정, 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 문장들 중 전부 또는 일부를 병합하는 과정, 상기 클러스터 별로 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 점수화하는 과정, 상기 점수가 제1 기 설정된 점수보다 높은 클러스터나 상기 점수가 높은 순서로 기 설정된 개수의 클러스터를 기 설정된 그룹핑 기준에 따라서 그룹핑하는 과정 및 상기 그룹핑 결과 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.Alternatively, the answer recommendation computer program 162a may include a step of collecting conversation pair data including data on parent sentences corresponding to the questions and data on child sentences corresponding to the answers to the questions, A step of pre-processing the preprocessed data, a step of positioning the preprocessed data at a specific point on a coordinate system constituted by predetermined axes, clustering using information on the specified specific point, A step of merging all or a part of sentences, a step of scoring an appropriate degree as a response to a message received on a cluster-by-cluster basis according to a first predetermined scoring method, a step of scoring a cluster having a score higher than a first predetermined score, Set up a predetermined number of clusters in the order of And a step of successively providing sentences included in the clusters belonging to different groups without continuously providing the sentences included in the cluster belonging to the same group as a recommendation answer as a result of the grouping Lt; / RTI >

지금까지 도 5의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.Up to this point, each of the components in FIG. 5 may refer to software or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the components are not limited to software or hardware, and may be configured to be in an addressable storage medium and configured to execute one or more processors. The functions provided in the components may be implemented by a more detailed component or may be implemented by a single component that performs a specific function by combining a plurality of components.

지금까지 도 1 내지 도 15를 참조하여 설명된 본 발명의 실시예는 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터 프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치, 노트북, 스마트폰, 태블릿 피씨와 같은 모바일 컴퓨팅 장치 및 스마트 와치, 스마트 안경과 같은 웨어러블 컴퓨팅 장치를 모두 포함한다.The embodiments of the present invention described above with reference to Figs. 1 to 15 can be performed by the execution of a computer program embodied in computer readable code. The computer program may be transmitted from a first computing device to a second computing device via a network, such as the Internet, and installed in the second computing device, thereby enabling it to be used in the second computing device. The first computing device and the second computing device may include a server device, a fixed computing device such as a desktop PC, a mobile computing device such as a notebook, a smart phone, a tablet PC, and a wearable computing device such as a smart watch, do.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

Claims (22)

질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 데이터 수집부;
상기 수집된 대화쌍 데이터를 전처리하는 데이터 전처리부;
상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 벡터화부;
상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 문장들 중 전부 또는 일부를 병합하는 클러스터링부;
상기 클러스터 별로 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 점수화하는 랭킹부;
상기 점수가 제1 기 설정된 점수보다 높은 클러스터나 상기 점수가 높은 순서로 기 설정된 개수의 클러스터를 기 설정된 그룹핑 기준에 따라서 그룹핑하는 그룹핑부; 및
상기 그룹핑 결과, 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공하는 추천 답변 제공부를 포함하는, 답변 추천 장치.
A data collecting unit for collecting the data of the parent sentence corresponding to the question and the conversation pair data including the data of the child sentence corresponding to the answer of the question;
A data preprocessing unit for preprocessing the collected conversation pair data;
A vectorization unit for positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis;
A clustering unit that performs clustering using the information on the specific location and merges all or a part of the sentences included in one clustering according to a predetermined merging method;
A ranking unit for scoring an appropriate degree as a response to the received message for each cluster according to a first predetermined scoring method;
A grouping unit for grouping clusters in which the score is higher than a first predetermined score or a predetermined number of clusters in descending order of score according to a predetermined grouping criterion; And
And a recommendation answer providing unit for sequentially providing sentences included in the clusters belonging to the same group, as a result of the grouping, without sequentially providing sentences as recommendation answers.
제1 항에 있어서,
상기 데이터 수집부는,
소셜 네트워크 서비스(SNS, Social Network Service) 상에서 대화쌍 데이터를 수집하고,
상기 데이터 전처리부는,
상기 소셜 네트워크 서비스 상에서 수집한 대화쌍 데이터에서 상기 소셜 네트워크 서비스 데이터 특성을 제거하는, 답변 추천 장치.
The method according to claim 1,
Wherein the data collecting unit comprises:
Collects conversation pair data on a social network service (SNS)
The data pre-
And removes the social network service data characteristic from the conversation pair data collected on the social network service.
제2 항에 있어서,
상기 데이터 전처리부는,
상기 소셜 네트워크 서비스 데이터의 특성이 제거된 대화쌍 데이터에 대하여 문장을 토큰 단위로 분리하고, 상기 토큰 단위 별로 품사 태깅(POS Tagging)을 수행하는, 답변 추천 장치.
3. The method of claim 2,
The data pre-
Separates sentences into token units for the conversation pair data from which the characteristics of the social network service data have been removed, and performs POS tagging for each token unit.
제3 항에 있어서,
상기 데이터 전처리부는,
상기 품사 태깅이 수행된 대화쌍 데이터에서 개체 추출 및 메타 정보 맵핑을 수행하는, 답변 추천 장치.
The method of claim 3,
The data pre-
And performs object extraction and meta-information mapping in the conversation pair data in which the part-of-speech tagging has been performed.
제1 항에 있어서,
상기 기 설정된 축은,
문장의 종류 및 문장에 포함된 단어의 특징 중 적어도 어느 하나를 포함하는, 답변 추천 장치.
The method according to claim 1,
The pre-
A type of a sentence, and a feature of a word included in the sentence.
제1 항에 있어서,
상기 랭킹부는,
상기 클러스터의 사이즈가 클수록 높은 점수로 점수화하는, 답변 추천 장치.
The method according to claim 1,
The ranking unit includes:
And the higher the size of the cluster, the higher the score.
제1 항에 있어서,
상기 랭킹부는,
상기 그룹핑된 클러스터 내에 존재하는 문장들 별로 제2 기 설정된 점수화 방법에 따라서 점수화 하는, 답변 추천 장치.
The method according to claim 1,
The ranking unit includes:
And scoring according to a second predetermined scoring method for each sentence existing in the grouped cluster.
제7 항에 있어서,
상기 추천 답변 제공부는,
상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 기반하여 시각적으로 차이점을 두어 제공하는, 답변 추천 장치.
8. The method of claim 7,
The recommendation reply providing unit,
And provides a visual difference based on the score scored according to the second predetermined scoring method.
제8 항에 있어서,
상기 추천 답변 제공부가 상기 시각적으로 차이점을 두어 제공하는 것은,
상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 따라서 배치 순서, 글자 크기, 터치 영역의 크기, 글자 색상, 글자 배경 색상 및 글자 해상도 중 적어도 어느 하나를 상이하게 하여 제공하는, 답변 추천 장치.
9. The method of claim 8,
It is preferable that the recommendation answer provider provides the above-
Wherein the display section provides at least one of a layout order, a font size, a size of a touch area, a font color, a font background color, and a font resolution differently according to a score scored according to the second predetermined scoring method.
제7 항에 있어서,
상기 추천 답변 제공부는,
상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 기반하여 청각적으로 차이점을 두어 제공하는, 답변 추천 장치.
8. The method of claim 7,
The recommendation reply providing unit,
And provides the auditory difference based on the scores scored according to the second predetermined scoring method.
제10 항에 있어서,
상기 추천 답변 제공부가 상기 청각적으로 차이점을 두어 제공하는 것은,
상기 제2 기 설정된 점수화 방법에 따라서 점수화된 점수에 따라서 볼륨, 인토네이션 및 톤 중 적어도 어느 하나를 상이하게 하여 제공하는, 답변 추천 장치.
11. The method of claim 10,
It is preferable that the recommendation answer provider provides the above-
And provides at least one of volume, intonation and tone differently according to the score scored according to the second predetermined scoring method.
제1 항에 있어서,
상기 그룹핑부는,
상기 좌표계 상에서 클러스터가 배치된 영역에 대한 정보 및 상기 클러스터 내에 포함된 문장들의 문맥적 내용 중 적어도 어느 하나를 이용하여 그룹핑하는, 답변 추천 장치.
The method according to claim 1,
The grouping unit,
Wherein the grouping is performed using at least one of information about an area where clusters are arranged on the coordinate system and contextual contents of sentences included in the cluster.
제12 항에 있어서,
상기 그룹핑부는,
상기 수신된 메시지의 수신 시간, 상기 수신된 메시지의 수신 위치, 상기 메시지를 수신한 사용자의 성별 및 상기 메시지를 수신한 사용자의 나이 중 적어도 어느 하나를 더 이용하여 그룹핑하는, 답변 추천 장치.
13. The method of claim 12,
The grouping unit,
Wherein the grouping unit further groups at least one of a received time of the received message, a received location of the received message, a gender of the user who received the message, and an age of the user who received the message.
제1 항에 있어서,
상기 그룹핑부에 의하여 그룹핑되는 정도는,
상기 그룹핑의 대상이 되는 클러스터의 수에 따라서 변경되는, 답변 추천 장치.
The method according to claim 1,
The degree of grouping by the grouping unit may be,
And changes according to the number of clusters to be grouped.
제1 항에 있어서,
상기 데이터 수집부는,
상기 수신된 메시지에 대한 상기 사용자의 답변에 관한 정보를 수집하고,
상기 랭킹부는,
상기 사용자의 답변에 관한 정보를 상기 점수화에 이용하는, 답변 추천 장치.
The method according to claim 1,
Wherein the data collecting unit comprises:
Collecting information about the user's response to the received message,
The ranking unit includes:
And uses information about the user's answer for the scoring.
제1 항에 있어서,
상기 데이터 수집부는,
특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집하고,
상기 랭킹부는,
상기 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 상기 어플리케이션 실행 정보를 기반으로 상기 어플리케이션 별로 점수화하며,
상기 추천 답변 제공부는,
제2 기 설정된 점수 보다 높은 점수를 가진 어플리케이션 실행을 상기 특정 메시지와 동일하거나 상기 유사한 메시지에 대한 추천 답변으로 제공하는, 답변 추천 장치.
The method according to claim 1,
Wherein the data collecting unit comprises:
Collects information on the executed application immediately after receiving a specific message,
The ranking unit includes:
If the similar message is similar to the specific message or is similar to the predetermined message, the message is scored on the basis of the application execution information,
The recommendation reply providing unit,
And provides an application execution having a score higher than a second predetermined score as a recommendation reply to the same message or the similar message as the specific message.
제1 항에 있어서,
상기 데이터 수집부는,
특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집하고,
상기 랭킹부는,
상기 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 상기 어플리케이션 실행 정보를 기반으로 상기 어플리케이션 별로 점수화하며,
상기 답변 추천 장치는,
상기 특정 메시지와 동일하거나 상기 유사한 메시지를 수신한 경우 상기 점수가 가장 높은 어플리케이션을 자동적으로 실행하는 어플리케이션 실행부를 더 포함하는, 답변 추천 장치.
The method according to claim 1,
Wherein the data collecting unit comprises:
Collects information on the executed application immediately after receiving a specific message,
The ranking unit includes:
If the similar message is similar to the specific message or is similar to the predetermined message, the message is scored on the basis of the application execution information,
The answer recommendation apparatus comprises:
Further comprising an application execution unit that automatically executes an application having the highest score when the same message as the specific message or the similar message is received.
질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 데이터 수집부;
상기 수집된 대화쌍 데이터를 전처리하는 데이터 전처리부;
상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 벡터화부;
상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 유사한 문장들을 병합하는 클러스터링부;
상기 병합 이후에 상기 클러스터링 내에 포함된 문장 별로 수신된 메시지에 대한 답변으로 적합한 정도를 점수화하는 랭킹부;
상기 점수가 기 설정된 점수보다 높은 문장이나 상기 점수가 높은 순서로 기 설정된 개수의 문장을 기 설정된 그룹핑 기준에 따라서 그룹핑하는 그룹핑부; 및
상기 그룹핑 결과, 동일한 그룹에 속한 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 문장들을 순차적으로 제공하는 추천 답변 제공부를 포함하는, 답변 추천 장치.
A data collecting unit for collecting the data of the parent sentence corresponding to the question and the conversation pair data including the data of the child sentence corresponding to the answer of the question;
A data preprocessing unit for preprocessing the collected conversation pair data;
A vectorization unit for positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis;
A clustering unit that performs clustering using information on the specific location and merges similar sentences included in one clustering according to a predetermined merging method;
A ranking unit for scoring an appropriate degree as a response to a message received for each sentence included in the clustering after the merging;
A grouping unit for grouping a sentence having a score higher than a predetermined score or a predetermined number of sentences having a higher score in accordance with a predetermined grouping criterion; And
And a recommendation answer providing unit for sequentially providing sentences belonging to different groups without continuously providing sentences belonging to the same group as a result of the grouping.
제18 항에 있어서,
상기 랭킹부는,
상기 병합된 문장 별로 상기 수신된 메시지 다음으로 나타날 확률을 계산하고, 상기 계산된 확률을 상기 병합된 문장 별 점수화에 이용하는, 답변 추천 장치.
19. The method of claim 18,
The ranking unit includes:
Calculating a probability of appearing after the received message for each of the merged sentences, and using the calculated probability for the combined sentence-based scoring.
질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 단계;
상기 수집된 대화쌍 데이터를 전처리하는 단계;
상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 단계;
상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 유사한 문장들을 병합하는 단계;
상기 병합 이후에 상기 클러스터링 내에 포함된 문장 별로 수신된 메시지에 대한 답변으로 적합한 정도를 점수화하는 단계;
상기 점수가 기 설정된 점수보다 높은 문장이나 상기 점수가 높은 순서로 기 설정된 개수의 문장을 기 설정된 그룹핑 기준에 따라서 그룹핑하는 단계; 및
상기 그룹핑 결과, 동일한 그룹에 속한 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 문장들을 순차적으로 제공하는 단계를 포함하는, 답변 추천 방법.
Collecting conversation pair data including data on parent sentences corresponding to the questions and data on child sentences corresponding to the answers of the questions;
Pre-processing the collected conversation pair data;
Positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis;
Performing clustering using the information on the specific location, and merging similar sentences included in one clustering according to a predetermined merge method;
Scoring an appropriate degree as a response to a message received for each sentence included in the clustering after the merging;
Grouping a sentence having a score higher than a predetermined score or a predetermined number of sentences having a higher score in accordance with a predetermined grouping criterion; And
And sequentially providing sentences belonging to different groups without continuously providing sentences belonging to the same group as a result of the grouping as a recommendation answer.
질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 단계;
상기 수집된 대화쌍 데이터를 전처리하는 단계;
상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 단계;
상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 문장들 중 전부 또는 일부를 병합하는 단계;
상기 클러스터 별로 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 점수화하는 단계;
상기 점수가 제1 기 설정된 점수보다 높은 클러스터나 상기 점수가 높은 순서로 기 설정된 개수의 클러스터를 기 설정된 그룹핑 기준에 따라서 그룹핑하는 단계;
상기 그룹핑 결과, 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공하는 단계를 포함하는, 답변 추천 방법.
Collecting conversation pair data including data on parent sentences corresponding to the questions and data on child sentences corresponding to the answers of the questions;
Pre-processing the collected conversation pair data;
Positioning the preprocessed data at a specific point on a coordinate system configured by a predetermined axis;
Performing clustering using information on the specific point located at the position, and merging all or a part of the sentences included in one clustering according to a predetermined merging method;
Scoring an appropriate degree as a response to the received message for each cluster according to a first predetermined scoring method;
Grouping the clusters in which the score is higher than a first predetermined score or a predetermined number of clusters in descending order of score according to a predetermined grouping criterion;
And sequentially providing the sentences included in the clusters belonging to the same group as a result of the grouping, and sequentially providing the sentences included in the clusters belonging to different groups without continuously providing the sentences included as the recommendation answer.
하드웨어와 결합되어,
제20 항 및 제21 항 중 어느 한 항의 방법을 수행하기 위하여 매체에 저장된 컴퓨터프로그램.
Combined with hardware,
21. A computer program stored on a medium for performing the method of any one of claims 20 and 21.
KR1020170036570A 2017-03-23 2017-03-23 Recommendation Reply Apparatus and Method KR20170037593A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170036570A KR20170037593A (en) 2017-03-23 2017-03-23 Recommendation Reply Apparatus and Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170036570A KR20170037593A (en) 2017-03-23 2017-03-23 Recommendation Reply Apparatus and Method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150109119A Division KR101720972B1 (en) 2015-04-16 2015-07-31 Recommendation Reply Apparatus and Method

Publications (1)

Publication Number Publication Date
KR20170037593A true KR20170037593A (en) 2017-04-04

Family

ID=58588605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170036570A KR20170037593A (en) 2017-03-23 2017-03-23 Recommendation Reply Apparatus and Method

Country Status (1)

Country Link
KR (1) KR20170037593A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119918A (en) * 2017-04-26 2018-11-05 주식회사 엘지유플러스 Sound-based information providing appratus and method thereof
KR101944353B1 (en) * 2017-12-20 2019-04-17 주식회사 카카오 Method and apparatus for providing chatbot builder user interface
KR101975419B1 (en) * 2018-11-26 2019-05-07 (주)위세아이텍 Device and method for terminology clustering informal text data for big data analysis
KR20200033009A (en) * 2018-09-19 2020-03-27 네이버 주식회사 Method of providing automatic answer
KR102153259B1 (en) * 2020-03-24 2020-09-08 주식회사 데이터스트림즈 Data domain recommendation method and method for constructing integrated data repository management system using recommended domain
KR20210007128A (en) * 2019-07-10 2021-01-20 주식회사 인텔로이드 Method for providing next sentence using dialogue database and Voice Dialogue device performing thereof
WO2022177089A1 (en) * 2021-02-17 2022-08-25 삼성전자주식회사 Electronic device and control method therefor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119918A (en) * 2017-04-26 2018-11-05 주식회사 엘지유플러스 Sound-based information providing appratus and method thereof
KR101944353B1 (en) * 2017-12-20 2019-04-17 주식회사 카카오 Method and apparatus for providing chatbot builder user interface
KR20200033009A (en) * 2018-09-19 2020-03-27 네이버 주식회사 Method of providing automatic answer
KR101975419B1 (en) * 2018-11-26 2019-05-07 (주)위세아이텍 Device and method for terminology clustering informal text data for big data analysis
WO2020111395A1 (en) * 2018-11-26 2020-06-04 (주) 위세아이텍 Device and method for term clustering of unstructured text data for big data analysis
KR20210007128A (en) * 2019-07-10 2021-01-20 주식회사 인텔로이드 Method for providing next sentence using dialogue database and Voice Dialogue device performing thereof
KR102153259B1 (en) * 2020-03-24 2020-09-08 주식회사 데이터스트림즈 Data domain recommendation method and method for constructing integrated data repository management system using recommended domain
WO2022177089A1 (en) * 2021-02-17 2022-08-25 삼성전자주식회사 Electronic device and control method therefor

Similar Documents

Publication Publication Date Title
US20160306800A1 (en) Reply recommendation apparatus and system and method for text construction
US12010073B2 (en) Systems and processes for operating and training a text-based chatbot
KR20170037593A (en) Recommendation Reply Apparatus and Method
US10628432B2 (en) Personalized deep models for smart suggestions ranking
Zahour et al. A system for educational and vocational guidance in Morocco: Chatbot E-Orientation
US10832131B2 (en) Semantic similarity for machine learned job posting result ranking model
US11074521B2 (en) Career path recommendation engine
KR101720972B1 (en) Recommendation Reply Apparatus and Method
US10855784B2 (en) Entity based search retrieval and ranking
US10956414B2 (en) Entity based query filtering
US20190034793A1 (en) Semantic clustering based retrieval for candidate set expansion
US20180285824A1 (en) Search based on interactions of social connections with companies offering jobs
US11204973B2 (en) Two-stage training with non-randomized and randomized data
US10956515B2 (en) Smart suggestions personalization with GLMix
US20170046748A1 (en) Method and system for personifying a brand
McTear et al. The dawn of the conversational interface
US10796095B2 (en) Prediction of tone of interpersonal text communications
US11734589B2 (en) Virtual assistant negotiation system and method thereof
US10459997B1 (en) Ranking search results based on members? posting activity and content
EP3834162A1 (en) Dynamic and continous onboarding of service providers in an online expert marketplace
CN111444321B (en) Question answering method, device, electronic equipment and storage medium
US20190095531A1 (en) Job flavor faceting
Langer et al. A text based drug query system for mobile phones
Bird Improving customer service chatbots with attention-based transfer learning
CN111444338A (en) Text processing device, storage medium and equipment

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment
E601 Decision to refuse application