KR20170037593A - Recommendation Reply Apparatus and Method - Google Patents
Recommendation Reply Apparatus and Method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000007781 pre-processing Methods 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 31
- 238000013077 scoring method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 10
- 238000013480 data collection Methods 0.000 abstract description 6
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 206010048909 Boredom Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G06F17/27—
-
- G06F17/30528—
-
- G06F17/30705—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social 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
Description
본 발명은 답변 추천 장치 및 방법에 관한 것이다. 보다 자세하게는, 수집된 데이터를 활용하여 적응적인 답변 후보들을 제공하기 위한 답변 추천 장치 및 방법에 관한 것이다.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
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
단말(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
답변 추천 장치(100)를 포함하는 단말(1000)은 통신망(10)을 통해 각종 디바이스(2000)와 데이터를 송수신할 수 있다.The terminal 1000 including the
통신망(10)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(10)은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(10)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.The
또는, 다변 추천 장치를 포함하는 단말은 각종 디바이스(2000)와 직접 연결 또는 블루투스 등을 통하여 데이터를 송수신할 수도 있다.Alternatively, the terminal including the multifamily recommendation apparatus may transmit / receive data via direct connection with the
답변 추천 장치(100)는 도 4와 같이 웨어러블 디바이스(2100)에 포함될 수도 있다.The
답변 추천 장치(100)는 웨어러블 디바이스(2100)에 내장되어 사용자가 웨어러블 디바이스(2100)를 통하여 답변 메시지를 작성하는데 도움을 줄 수 있다.The
답변 추천 장치(100)에 관하여 도 5를 참조하여 보다 상세하게 설명한다.The
도 5는 본 발명의 일 실시예에 따른 답변 추천 장치(100)에 관한 블록도이다.5 is a block diagram of an
도 5를 참조하면, 본 발명의 일 실시예에 따른 답변 추천 장치(100)는 데이터 수집부(110), 데이터 전처리부(120), 벡터화부(130), 클러스터링부(140), 랭킹부(150), 그룹핑부(160) 및 추천 답변 제공부(170)를 포함하며, 어플리케이션 실행부(180)를 더 포함할 수 있다.5, an
데이터 수집부(110)는 사용자들 간 메시지를 수신하고 그에 응답하여 발신한 메시지를 대화쌍 데이터로 수집할 수 있다.The
대화쌍 데이터는 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어 질 수 있다.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
소셜 네트워크 서비스로부터 수집되는 대화쌍 데이터도 특정인이 작성한 게시물에 포함된 문장이 질문에 해당하는 부모 문장이 될 수 있으며, 특정인이 작성한 게시물에 답변한 게시물에 포함된 문장이 질문의 답변에 해당하는 자식 문장이 될 수 있다.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
데이터 전처리부(120)는 수집된 대화쌍 데이터를 전처리하여 데이터를 관리하고 답변 후보 데이터를 생성할 수 있다.The
구체적으로 데이터 전처리부(120)는 수집된 대화쌍 데이터의 표현을 정제하고 목적에 맞는 대화쌍을 추출할 수 있다.Specifically, the
데이터 전처리부(120)에 의하여 전처리된 대화쌍 데이터는 수신된 메시지에 적합한 답변 후보 데이터를 생성하고 추천 답변을 도출하는데 이용될 수 있다.The conversation pair data preprocessed by the
답변 후보 데이터는 수신된 메시지의 답변이 될 가능성이 조금이라도 존재하는 답변에 관한 데이터를 의미한다. 추천 답변은 답변 후보 데이터 중 벡터화부(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
보다 구체적으로 도 6 내지 8을 참조하여 데이터 전처리부(120)의 동작에 관하여 설명한다.More specifically, the operation of the
도 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
구체적으로, 데이터 전처리부(120)는 수집된 대화쌍 데이터(61)에서 멘션(@) 및 해시태그(#) 등 소셜 네트워크 서비스 특성에 따른 노이즈를 제거하고 문장을 토큰 단위로 분리할 수 있다.Specifically, the
도 6에서 데이터 전처리부(120)가 대화쌍 데이터 중 부모 문장에 해당하는 "@twitter_user1 Come toOsha Thai!"(62)를 전처리한 데이터는 "Come to Osha Thai!"(65)가 된다.6, the data preprocessed by the
또한, 데이터 전처리부(120)가 대화쌍 데이터 중 자식 문장에 해당하는 "@twitter_user2 OK!#Osha Thai is reallygood!"(63)을 전처리한 데이터는 "OK! Osha Thai is really good!"(66)이 된다.Also, the data preprocessed by the
데이터 전처리부(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
"명사_동사_현재분사_형용사_명사_감탄사"(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
예를 들면, 수집된 대화쌍 데이터 중 부모 문장이 "@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
데이터 전처리부(120)에 의하여 전처리된 대화쌍 데이터의 일 예는 도 8을 참조하여 이해할 수 있다.One example of the conversation pair data preprocessed by the
도 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
전처리된 최종 데이터(84)를 보면, 부모 문장 정보, 자식 문장 정보, 품사 태깅 정보, 개체 정보 및 메타 정보 등이 포함된 것을 알 수 있다.The preprocessed
데이터 전처리부(120)는 추가적으로 대화쌍 데이터에서 주소, 전화번호, 주민등록 번호 등의 개인 정보에 해당하는 데이터를 제거하는 과정을 포함할 수도 있다.The
다시 도 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
다만, 이러한 각 문장의 위치는 기 설정된 축이 변경됨에 따라서 변경될 수 있다. 즉, 기 설정된 축이 변경되면 문장 간 유사도도 변경될 수 있다.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
구체적으로 클러스터링부(140)는 유사한 문장들을 하나의 클러스터로 나타낼 수 있다. 클러스터링부(140)는 문장의 유사도를 좌표계에서 문장이 위치한 좌표 정보를 이용하여 파악할 수 있다. 예를 들어 클러스터링부(140)는 특정 지점에서 기 설정된 거리 내에 존재하는 문장을 하나의 클러스터링으로 나타낼 수 있다. 또는 클러스터링부(140)는 문장이 위치한 좌표 간의 거리가 기 설정된 거리 이하인 문장들을 하나의 클러스터링으로 나타낼 수도 있다.Specifically, the
도 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
앞서 설명한 바와 같이 유사성 정도는 각 축(96, 97, 98)의 설정 정보에 따라서 결정될 수 있다. 각 축(96, 97, 98)의 설정 정보는 새로 수신되는 메시지의 시간, 장소, 사용자 정보 및 상대방 정보 등에 따라서 변경될 수 있다As described above, the degree of similarity can be determined according to the setting information of the
도 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
다시 도 5로 되돌아가면, 랭킹부(150)는 클러스터 별로 점수화를 수행할 수 있다.Returning to FIG. 5, the
구체적으로 랭킹부(150)는 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 클러스터 별로 점수화를 수행할 수 있다.Specifically, the
또는, 랭킹부(150)는 병합된 문장 별로 점수화를 수행할 수도 있다.Alternatively, the
구체적으로 랭킹부(150)는 수신된 메시지에 대한 답변으로 적합한 정도를 제2 기 설정된 점수화 방법에 따라서 병합된 문장 별로 점수화를 수행할 수 있다.Specifically, the
병합된 문장은 유사한 문장들이 하나의 문장으로 병합된 것을 의미하며, 클러스터 내에 포함된 문장으로 병합되지 않고 그대로 존재하는 문장도 점수화를 수행하는 병합된 문장에 포함되는 것으로 본다.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
또는, 랭킹부(150)는 클러스터 별로 점수화를 수행한 후 제1 기 설정된 점수 이상을 가진 클러스터 내에 존재하는 문장들에 대하여 2차적으로 점수화를 수행할 수도 있다.Alternatively, the
랭킹부(150)는 클러스터의 사이즈가 클수록 높은 점수로 점수화할 수 있다. 왜냐하면 클러스터의 사이즈가 크다는 것은 수신된 메시지에 대한 답변으로 가장 많이 선택되어 유사한 문장들이 많다는 것을 의미할 수 있기 ?문이다.The
랭킹부(150)는 최종적으로 수신된 메시지에 대한 답변으로 적합한 문장을 결정하기 위한 것이므로 제1 기 설정된 점수화 방법 및 제2 기 설정된 점수화 방법에는 수신된 메시지의 의도, 시간, 장소, 상황을 고려하여 점수화를 수행할 수 있다.Since the
도 12는 랭킹부가 문장에 대한 점수화를 수행하는 일 예를 나타내는 도면이다.FIG. 12 is a diagram showing an example in which the ranking unit performs scoring on the sentence.
랭킹부(150)는 도 12를 참조하여 설명하는 방법만으로 점수화 하지 않으며 다른 방법들도 복합적으로 이용하여 점수화를 수행한다.The
도 12를 참조하면, 랭킹부(150)는 문장을 부모 문장과 자식 문장으로 엮어 현재 문장이 나왔을 때 다음 문장(단어를 포함할 수 있음)이 나올 확률을 계산하여 점수화에 이용할 수 있다.Referring to FIG. 12, the
구체적으로 단어 관계를 예로 들어 설명하면, "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
랭킹부(150)에 의하여 점수화되고 기 설정된 점수화 이상의 문장은 추천 답변으로 도출될 수 있다.The sentences scored by the
또는, 랭킹부(150)에 의하여 점수화된 것 중 점수가 높은 순서로 기 설정된 개수만큼의 문장이 추천 답변으로 도출될 수도 있다.Alternatively, a predetermined number of sentences in the order of scores scored by the
또는, 랭킹부(150)에 의하여 점수화되고 기 설정된 점수화 이상의 문장 중 점수가 높은 순서로 기 설정된 개수만큼이 추천 답변으로 도출될 수도 있다.Alternatively, a predetermined number of scores scored by the
랭킹부(150)에 의하여 점수가 높은 클러스터가 결정된 경우 결정된 클러스터 내에 포함된 문장들을 추천 답변으로 도출할 수 있다.When the cluster having a high score is determined by the
클러스터 별로 점수화하거나 클러스터 별로 점수화 한 후 일정 점수 이상의 클러스터에 대하여만 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
추천 답변으로 도출된 것은 추천 답변 제공부(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
구체적으로, 그룹핑부(160)가 랭킹부(150)에 의하여 추천된 문장들을 기 설정된 그룹핑 기준에 따라서 그룹핑할 수 있다.Specifically, the
그룹핑부(160)는 축 정보, 좌표계 상에서 클러스터가 배치된 영역에 대한 정보 및/또는 클러스터 내 포함된 문장들의 문맥적 내용 등을 이용하여 유사한 답변을 그룹핑 할 수 있다.The
또는, 그룹핑부(160)는 추천 답변의 내용을 고려하여 그룹핑을 수행할 수 있다.Alternatively, the
예를 들어, 그룹핑부(160)는 추천 답변을 긍정 그룹과 부정 그룹으로 그룹핑할 수 있다.For example, the
또는, 그룹핑부(160)는 추천 답변을 긍정적, 부정적, 흥분, 안정의 4가지 기준으로 분류할 수도 있다. 예를 들어 추천 답변의 내용이 분노, 화, 실망, 불쾌, 불안에 해당하는 경우 {부정적, 흥분}에 해당하는 제1 그룹으로 그룹핑 될 수 있다. 또는 추천 답변의 내용이 환희, 기쁨, 명량에 해당하는 경우 {긍정적, 흥분}에 해당하는 제2 그룹으로 그룹핑 될 수 있다.Alternatively, the
추천 답변의 내용이 절망, 권태, 침울에 해당하는 경우 {부정적, 안정}에 해당하는 제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
그룹핑부(160)는 수신된 메시지의 내용에 따라서 추천 답변을 그룹핑하는 기준을 변경할 수 있다.The
예를 들면, 추천 답변을 그룹핑하는 기준으로 시간이나 위치와 같은 외부 컨텍스트나 성별이나 나이와 같은 사용자 정보와 관련된 기준이 추가될 수 있다.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
그룹핑부(160)는 추천 답변(132a 내지 135c)들을 긍정, 진행 중, 모름, 부정에 관한 내용인지 여부를 기준으로 그룹핑한 예이다.The
긍정에 해당하는 제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
추천 답변 제공부(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
구체적으로, 제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
즉, 제1 그룹(132)에 포함된 3개의 문장(132a, 132b, 132c)이 랭킹부(150)에 의하여 가장 높은 점수를 받은 3개의 문장이라고 하더라도 상기 3개의 문장(132a, 132b, 132c)을 사용자에게 우선적으로 제공하지 않고 다른 그룹에 포함된 문장과 섞어서 제공할 수 있다.That is, even if the three
이를 통하여 사용자는 사용자가 답변하고자 하는 내용을 용이하게 선택할 수 있다. 즉, 사용자가 부정의 내용으로 답변하고자 하더라도 추천 답변이 재정렬되지 않는 경우 부정의 내용에 해당하는 문장(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
만약 랭킹부(150)에 의하여 클러스터가 점수화되고 클러스터에 대하여 그룹핑된 경우에는, 추천 답변 제공부(170)는 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공할 수 있다.If the clusters are scored by the
다시 도 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
추천 답변 제공부(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
또는, 추천 답변 제공부(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
추천 답변 제공부(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
추천 답변 제공부(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
어플리케이션 실행부(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
도 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
도 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
본 발명의 다른 실시예에 따른 답변 제공 방법을 수행할 수 있는 컴퓨팅 장치도 도 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
또한, 답변 추천 장치(100)는 답변 추천 프로세서(161) 및 메모리(163)와 연결되어 데이터 이동 통로가 되는 시스템 버스(165)를 포함할 수 있다.The
네트워크 인터페이스(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
또한, 스토리지는 축에 관한 정보(162b), 병합 기준과 병합 방법에 관한 정보(162c), 그룹핑 기준에 관한 정보(162d) 및 점수화 방법에 관한 정보(162e)도 저장할 수 있다.The storage may also store
메모리(163)는 답변 추천용 컴퓨터 프로그램(162a)를 로딩한다. 답변 추천용 컴퓨터 프로그램(162a)은 답변 추천 프로세서(161)에 제공 되고, 답변 추천 프로세서(161)에 의하여 실행 된다.The memory 163 loads the answer
답변 추천 프로세서(161)는 답변 추천용 컴퓨터 프로그램(162a)을 실행할 수 있는 프로세서이다. 다만, 답변 추천 프로세서(161)는 답변 추천용 컴퓨터 프로그램(162a)만을 실행할 수 있는 프로세서는 아닐 수 있다. 예를 들면, 답변 추천 프로세서(161)는 답변 추천용 컴퓨터 프로그램(162a) 외에 다른 프로그램을 실행할 수도 있다.The
답변 추천용 컴퓨터 프로그램(162a)은, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 과정, 상기 수집된 대화쌍 데이터를 전처리하는 과정, 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 과정, 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 유사한 문장들을 병합하는 과정, 상기 병합 이후에 상기 클러스터링 내에 포함된 문장 별로 수신된 메시지에 대한 답변으로 적합한 정도를 점수화하는 과정, 상기 점수가 기 설정된 점수보다 높은 문장이나 상기 점수가 높은 순서로 기 설정된 개수의 문장을 기 설정된 그룹핑 기준에 따라서 그룹핑하는 과정 및 상기 그룹핑 결과, 동일한 그룹에 속한 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 문장들을 순차적으로 제공하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.The answer
또는, 답변 추천용 컴퓨터 프로그램(162a)은, 질문에 해당하는 부모 문장에 대한 데이터와 상기 질문의 답변에 해당하는 자식 문장에 대한 데이터로 이루어진 대화쌍 데이터를 수집하는 과정, 상기 수집된 대화쌍 데이터를 전처리하는 과정, 상기 전처리된 데이터 별로 기 설정된 축으로 구성된 좌표계 상의 특정 지점에 위치시키는 과정, 상기 위치된 특정 지점에 관한 정보를 이용하여 클러스터링 수행하고 기 설정된 병합 방법에 따라서 하나의 클러스터링 내에 포함된 문장들 중 전부 또는 일부를 병합하는 과정, 상기 클러스터 별로 수신된 메시지에 대한 답변으로 적합한 정도를 제1 기 설정된 점수화 방법에 따라서 점수화하는 과정, 상기 점수가 제1 기 설정된 점수보다 높은 클러스터나 상기 점수가 높은 순서로 기 설정된 개수의 클러스터를 기 설정된 그룹핑 기준에 따라서 그룹핑하는 과정 및 상기 그룹핑 결과 동일한 그룹에 속한 클러스터 내에 포함된 문장들은 추천 답변으로 연속적으로 제공하지 않고 서로 다른 그룹에 속한 클러스터 내에 포함된 문장들을 순차적으로 제공하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.Alternatively, the answer
지금까지 도 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.
상기 데이터 수집부는,
소셜 네트워크 서비스(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.
상기 데이터 전처리부는,
상기 소셜 네트워크 서비스 데이터의 특성이 제거된 대화쌍 데이터에 대하여 문장을 토큰 단위로 분리하고, 상기 토큰 단위 별로 품사 태깅(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.
상기 데이터 전처리부는,
상기 품사 태깅이 수행된 대화쌍 데이터에서 개체 추출 및 메타 정보 맵핑을 수행하는, 답변 추천 장치.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.
상기 기 설정된 축은,
문장의 종류 및 문장에 포함된 단어의 특징 중 적어도 어느 하나를 포함하는, 답변 추천 장치.The method according to claim 1,
The pre-
A type of a sentence, and a feature of a word included in the sentence.
상기 랭킹부는,
상기 클러스터의 사이즈가 클수록 높은 점수로 점수화하는, 답변 추천 장치.The method according to claim 1,
The ranking unit includes:
And the higher the size of the cluster, the higher the score.
상기 랭킹부는,
상기 그룹핑된 클러스터 내에 존재하는 문장들 별로 제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.
상기 추천 답변 제공부는,
상기 제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.
상기 추천 답변 제공부가 상기 시각적으로 차이점을 두어 제공하는 것은,
상기 제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.
상기 추천 답변 제공부는,
상기 제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.
상기 추천 답변 제공부가 상기 청각적으로 차이점을 두어 제공하는 것은,
상기 제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.
상기 그룹핑부는,
상기 좌표계 상에서 클러스터가 배치된 영역에 대한 정보 및 상기 클러스터 내에 포함된 문장들의 문맥적 내용 중 적어도 어느 하나를 이용하여 그룹핑하는, 답변 추천 장치.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.
상기 그룹핑부는,
상기 수신된 메시지의 수신 시간, 상기 수신된 메시지의 수신 위치, 상기 메시지를 수신한 사용자의 성별 및 상기 메시지를 수신한 사용자의 나이 중 적어도 어느 하나를 더 이용하여 그룹핑하는, 답변 추천 장치.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.
상기 그룹핑부에 의하여 그룹핑되는 정도는,
상기 그룹핑의 대상이 되는 클러스터의 수에 따라서 변경되는, 답변 추천 장치.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.
상기 데이터 수집부는,
상기 수신된 메시지에 대한 상기 사용자의 답변에 관한 정보를 수집하고,
상기 랭킹부는,
상기 사용자의 답변에 관한 정보를 상기 점수화에 이용하는, 답변 추천 장치.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.
상기 데이터 수집부는,
특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집하고,
상기 랭킹부는,
상기 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 상기 어플리케이션 실행 정보를 기반으로 상기 어플리케이션 별로 점수화하며,
상기 추천 답변 제공부는,
제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.
상기 데이터 수집부는,
특정 메시지를 수신한 직후 실행된 어플리케이션에 관한 정보를 수집하고,
상기 랭킹부는,
상기 특정 메시지와 동일하거나 기 설정된 유사성 기준에서 유사한 메시지를 다시 수신한 경우 상기 어플리케이션 실행 정보를 기반으로 상기 어플리케이션 별로 점수화하며,
상기 답변 추천 장치는,
상기 특정 메시지와 동일하거나 상기 유사한 메시지를 수신한 경우 상기 점수가 가장 높은 어플리케이션을 자동적으로 실행하는 어플리케이션 실행부를 더 포함하는, 답변 추천 장치.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.
상기 랭킹부는,
상기 병합된 문장 별로 상기 수신된 메시지 다음으로 나타날 확률을 계산하고, 상기 계산된 확률을 상기 병합된 문장 별 점수화에 이용하는, 답변 추천 장치.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.
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)
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 |
-
2017
- 2017-03-23 KR KR1020170036570A patent/KR20170037593A/en not_active Application Discontinuation
Cited By (8)
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 |