KR20170018620A - 유사 문장 식별 방법 및 이를 적용한 식별 장치 - Google Patents
유사 문장 식별 방법 및 이를 적용한 식별 장치 Download PDFInfo
- Publication number
- KR20170018620A KR20170018620A KR1020150112482A KR20150112482A KR20170018620A KR 20170018620 A KR20170018620 A KR 20170018620A KR 1020150112482 A KR1020150112482 A KR 1020150112482A KR 20150112482 A KR20150112482 A KR 20150112482A KR 20170018620 A KR20170018620 A KR 20170018620A
- Authority
- KR
- South Korea
- Prior art keywords
- similarity
- sentence
- degree
- unit
- words
- Prior art date
Links
Images
Classifications
-
- G06F17/2705—
-
- G06F17/271—
-
- G06F17/277—
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
유사 문장을 식별하는 유사 문장 식별 방법 및 이를 적용한 식별 장치를 제공한다. 본 식별 방법은, 복수의 입력 문장을 복수의 대화 의도 클래스 중 하나의 대화 의도 클래스로 분류하는 단계; 입력 문장의 핵심 어구를 추출하는 단계; 핵심 어구 사이의 의미적 유사도를 측정하는 단계; 및 측정된 핵심 어구 사이의 의미적 유사도를 이용하여 입력 문장 사이의 최종 유사도를 측정하는 단계;를 포함한다.
Description
본 발명은 식별 방법 및 이를 적용한 예측 장치에 관한 것으로, 더욱 상세하게는 기계번역기법을 이용하여 유사 문장을 식별하는 식별 방법 및 이를 적용한 식별 장치에 관한 것이다.
유사 문장을 인식하는 것은 자연언어 처리 시스템의 수많은 적용 예들에서 중요한 단면이다. 이에 따라, 텍스트에서 유사 문장을 식별하는 다양한 방법이 연구되었고, 특히 기계번역기법을 사용하여 유사 문장을 식별하고 생성하는 것이 가능하다.
하지만, 대화문에서 나타나는 발화들은 텍스트의 문장보다 대부분 길이가 짧아서 발화 내 나타나는 공통적인 단어가 적다. 이로 인해, 긴 텍스트를 가정하는 기존의 유사 문장 식별 방법을 적용하기 어렵다. 또한, 대화문의 발화의 경우, 화자가 처해 있는 상황과 대화의 문맥에 따라 동일한 발화라고 하더라도 의미가 상이할 수 있다.
따라서, 대화문에서 두 발화간의 의미적 유사성 측정을 위해서는 발화의 의도 및 문장 내에서 단어 사이의 의미적 유사성, 발화의 구조 등을 고려할 필요성이 존재한다.
따라서, 대화문에서 두 발화 사이의 의미적 유사성 측정을 위해 문서 검색 기술에 이용되는 문장보다 짧은 문장의 의미적 유사도 측정 방법의 필요성이 대두된다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 대화문에서 나타나는 발화에 대하여 유사한 의미를 가진 발화를 식별하는 방법 및 이를 적용한 식별 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른, 유사 문장 식별 방법은 복수의 단어를 포함하는 문장을 입력받고, 입력된 문장의 유형을 판단하여 입력된 문장의 핵심 어구를 추출할 수 있다. 추출된 핵심 어구에 포함된 단어 사이의 유사도를 산출하고, 추출된 단어 사이의 유사도를 이용하여 입력된 문장의 유형 중 동일한 유형의 문장 사이의 유사도를 산출하고, 산출된 문장 사이의 유사도가 기 설정된 값 이상인 경우, 동일한 유형의 문장과 유사 문장으로 판단할 수 있다.
그리고, 핵심 어구를 추출하는 단계는 대화 주제 관련 명사 리스트를 추출하고, 추출된 대화 주제 관련 명사 리스트와 NLP 구문 분석기를 이용하여 핵심 어구 단위를 추출하는 식별 방법일 수 있다.
또한, 상기 핵심 어구 단위를 추출하는 단계는 대화 주제 관련 명사 리스트를 이용하여 입력 문장에 포함된 단어 사이의 의존 관계 그래프를 산출하고, 의존 관계 그래프를 이용하여 핵심 어구 단위를 산출하는 식별 방법일 수 있다.
그리고, 대화 주제 관련 명사 리스트는 상기 입력 문장 단위에서 tf-idf가 기 설정된 값 이상인 명사들 중 대화 주제와 관련된 명사들의 리스트인 식별 방법일 수 있다.
또한, 단어 사이의 유사도를 산출하는 단계는 단어의 표면적 유사도, 의미적 유사도, 문맥적 유사도 중 적어도 하나 이상의 유사도 값의 평균을 측정하는 것을 특징으로 하는 식별 방법일 수 있다.
그리고, 문장 사이의 유사도를 산출하는 단계는 핵심 어구 및 단어 사이의 유사도를 이용하여 문장 사이의 유사도를 산출하는 것을 특징으로 하는 식별 방법일 수 있다.
한편, 본 발명의 일 실시 예에 따른 식별 장치는 복수의 단어를 포함하는 문장을 입력받는 입력부, 입력된 문장의 유형을 판단하는 유형 판단부, 입력된 문장의 핵심 어구를 추출하는 핵심 어구 추출부, 추출된 핵심 어구에 포함된 단어 사이의 유사도를 산출하는 단어 유사도 산출부, 단어 사이의 유사도를 이용하여 입력된 문장의 유형 중 동일한 유형의 문장 사이의 유사도를 산출하는 문장 유사도 산출부 및 산출된 유사도가 기 설정된 값 이상인 경우, 입력 문장의 유형과 동일한 유형의 문장과 유사 문장으로 판단하는 유사 문장 판단부를 포함하는 식별 장치일 수 있다.
그리고, 핵심 어구 추출부는 대화 주제 관련 명사 리스트를 추출하고, 추출된 대화 주제 관련 명사 리스트 및 NLP 구문 분석기를 이용하여 핵심 어구 단위를 추출하는 식별 장치일 수 있다.
또한, 핵심 어구 추출부는 대화 주제 관련 명사 리스트를 이용하여 입력 문장에 포함된 단어 사이의 의존 관계 그래프를 산출하고, 산출된 의존 관계 그래프를 이용하여 핵심 어구 단위를 저장하는 식별 장치일 수 있다.
그리고, 대화 주제 관련 명사 리스트는 입력 문장 단위에서 tf-idf가 기 설정된 값 이상인 명사들 중 대화 주제와 관련된 명사들의 리스트인 식별 장치일 수 있다.
또한, 단어 유사도 산출부는 단어의 표면적 유사도, 의미적 유사도, 문맥적 유사도 중 적어도 하나 이상의 유사도 값의 평균을 측정하는 식별 장치일 수 있다.
그리고, 문장 유사도 산출부는 기 핵심 어구 및 단어 사이의 유사도를 이용하여 입력된 문장 사이의 유사도를 산출하는 식별 장치일 수 있다.
상술한 바와 같은 본 발명의 다양한 실시 예에 따르면, 기계번역기법을 이용하여 문장 사이의 유사도를 판단하는 경우보다 더 높은 정확도로 판단하는 것이 가능하다.
도 1은 본 발명의 일 실시 예에 따른, 식별 장치의 구성을 나타내는 블럭도,
도 2는 본 발명의 일 실시 예에 따른, 핵심 어구를 추출하기 위한 단어 사이의 의존 관계 그래프를 도시한 도면,
도 3은 본 발명의 일 실시 예에 따른, 단어 사이의 유사도를 추출하기 위한 단어-서술어 행렬을 도시한 도면,
도 4는 본 발명의 일 실시 예에 따른, 핵심 어구를 추출하는 방법을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시 예에 따른, 유사 문장을 식별하는 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른, 핵심 어구를 추출하기 위한 단어 사이의 의존 관계 그래프를 도시한 도면,
도 3은 본 발명의 일 실시 예에 따른, 단어 사이의 유사도를 추출하기 위한 단어-서술어 행렬을 도시한 도면,
도 4는 본 발명의 일 실시 예에 따른, 핵심 어구를 추출하는 방법을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시 예에 따른, 유사 문장을 식별하는 방법을 설명하기 위한 흐름도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
이하, 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른, 식별 장치의 구성을 나타내는 블럭도이다. 도 1에 도시된 바와 같이, 유사 문장을 식별하는 식별 장치(100)는 입력부(110), 유형 판단부(120), 핵심 어구 추출부(130), 단어 유사도 산출부(140), 문장 유사도 산출부(150), 유사 문장 판단부(160)를 포함한다.
입력부(110)는 복수의 단어를 포함하는 문장을 입력받는다. 입력부(110)는 마이크 등을 통하여 음성을 입력받을 수 있고, 키보드 등을 통하여 텍스트를 입력 받을 수 있다. 마이크, 키보드 등은 일 실시 예에 불과하고, 다양한 입력 장치 일 수 있다.
유형 판단부(120)는 입력된 복수의 단어를 포함하는 문장의 발화 의도를 기준으로 입력된 복수의 단어를 포함하는 문장의 유형을 판단한다. 유형 판단부(120)는 입력된 문장의 유형을 판단하기 위하여 기존의 대화 의도 분류 방법을 이용할 수 있다. 기존의 대화 의도 분류 방법으로는 N-Gram 알고리즘 등이 있을 수 있다.
핵심 어구 추출부(130)는 입력된 복수의 단어를 포함하는 문장의 핵심 어구를 추출한다. 구체적으로, 핵심 어구 추출부(130)는 대화 주제 관련 명사 리스트를 추출한다. 대화 주제 관련 명사 리스트는 대화 주제와 관련된 명사의 리스트를 의미한다. 핵심 어구 추출부(130)는 입력된 문장에서 tf-idf(Term Frequency - Inverse Document Frequency)가 기 설정된 값 이상인 명사들 중 사용자 명령에 의해 선택된 명사들을 대화 주제 관련 명사 리스트로 추출한다.
tf-idf는 정보 검색과 텍스트 마이닝에서 이용하는 가중치이다. 구체적으로, 복수의 문서로 이루어진 문서군이 있는 경우, tf-idf는 어떤 단어가 특정 문서 내에서 중요한 정도를 나타내는 통계적 수치이다. tf(term frequency)는 단어 빈도를 나타내며, tf값이 높을수록 문서에서 중요할 수 있다. df(document frequency)는 문서 빈도를 나타내며, df값이 높을수록 여러 문서에 기재된 단어이므로 df값의 역수인 idf(inverse document frequency)를 이용한다. 예를 들어, 대화의 주제가 "Troubleshooting for smartphone"이라면, 대화 주제 관련 명사 리스트는 device, phone, power button 등을 포함할 수 있다.
대화 주제 관련 명사 리스트가 추출되면, 핵심 어구 추출부(130)는 추출된 대화 주제 관련 명사 리스트와 NLP 구문 분석기를 이용하여 핵심 어구 단위를 추출한다. 핵심 어구 단위는 명사구, 서술어, 부대상황 등일 수 있다.
구체적으로, 핵심 어구 추출부(130)는 입력 문장에 포함된 명사들 중 추출된 대화 주제 관련 명사 리스트에 해당하는 명사와 일치하는 명사의 존재 여부를 확인한다. 입력 문장에 추출된 대화 주제 관련 명사 리스트에 해당하는 명사가 포함되어 있는 경우, 핵심 어구 추출부(130)는 도 2에 도시된 바와 같이, 문장 내 단어 사이의 의존 관계 그래프를 산출한다.
구체적으로, 핵심 어구 추출부(130)는 구문 분석기를 이용하여 입력 문장을 분석함으로써 의존 관계 그래프를 산출한다. 핵심 어구 추출부(130)는 의존 관계 그래프를 이용하여 관련 명사구를 서술하는 서술어와 해당 서술의 부대상황을 추출하여 하나의 핵심 어구 단위로 저장한다.
예를 들어, 입력 문장이 "Connect the device to the wall charger and hold the power button for 60 seconds"인 경우, 입력 문장에는 대화 주제 관련 명사 리스트에 해당하는 "device", "power button"이 포함되어 있다. 입력 문장에 대화 주제 관련 명사 리스트에 해당하는 명사가 포함되어 있으므로, 핵심 어구 추출부(130)는 의존 관계 그래프를 산출할 수 있다. 의존 관계 그래프의 dobj(280,295)는 서술관계를 나타내고, prep_to(285), prep-for(299)는 전치사 관계를 나타낸다. 핵심 어구 추출부(130)는 dobj(280,295)를 이용하여 device(215)에 대하여는 connect(205)를 서술어로 판단하고, power button(255,260)에 대하여는 hold(245)를 서술어로 판단한다. 또한, 핵심 어구 추출부(130)는 prep_to(285) 및 prep-for(299)를 이용하여 to the wall charger(220,225,230,235) 및 for 60 seconds(265,270,275)를 부대상황으로 판단한다. 따라서, 핵심 어구 추출부(130)는 <"device(215)", "connect(205)", "to the wall charger(220,225,230,235)">와 <"power button(255,260)", "hold(245)", "for 60 seconds(265,270,275)">를 핵심 어구 단위로 추출한다.
단어 유사도 산출부(140)는 핵심 어구 추출부(130)에서 추출된 핵심 어구에 포함된 단어 사이의 유사도를 산출한다. 구체적으로, 단어 유사도 산출부(140)는 기존의 단어 사이의 유사도 측정방법 중 단어 사이의 표면적 유사도, 의미적 유사도, 문맥적 유사도 등 여러 측면에서의 단어 사이의 유사도를 고려한다. 즉, 여러 측면에서의 단어 사이의 유사도를 산출하여 최종적인 유사도를 측정한다.
최종적인 유사도를 측정하기 위하여, 단어 유사도 산출부(140)는 도 3에 도시된 바와 같은 함수식을 이용하여 여러 측면에서의 단어 유사도 값의 평균(S)을 산출한다. 단어 사이의 유사도 값이 기 설정된 값인 에러 문턱치보다 낮으면, 단어 유사도 산출부(140)는 그 값이 오류일 확률이 높은 것으로 판단하고 제외한다. 즉, 단어 유사도 산출부(140)는 기 설정된 값이 에러 문턱치보다 큰 값을 갖는 값만을 이용하여 평균(S)를 산출한다.
수학식 1을 살펴보면, max^k는 주어진 값 중 가장 큰 k 번째의 값을 주는 함수이고, 는 여러 측면에서의 단어 사이의 유사도 측정 값 중 i번째 유사도 측정 값을 의미한다. 단어 사이의 유사도를 측정하는 함수 는 기존의 단어 사이의 유사도 측정 방법 중 단어 사이의 문맥적 유사도 측정 방법만을 이용할 수 있다. 핵심 어구 추출부(130)에서 추출된 핵심 어구 사이의 관련 명사구와 서술어 사이의 동시 발생 성질을 이용할 수 있다. 이때, 관련 명사구와 의존 관계에 있는 서술어들이 동일한 문장 내에서 나타나는 확률분포가 유사한 경우, 단어 유사도 산출부(140)는 두 명사구는 유사한 의미를 가진다고 판단하여 유사한 의미의 명사구로 판단한다. 또한, 서술어와 의존관계에 있는 명사구들이 동일한 문장 내에서 나타나는 확률분포가 유사한 경우, 단어 유사도 산출부(140)는 두 서술어는 유사한 의미를 가진다고 판단하여 유사한 의미의 서술어로 판단한다. 예를 들어, 특정 대화에서 "smart phone" 명사구는 "connect", "charge", "touch"등의 서술어의 빈도수가 높을 수 있다.
본 발명의 일 실시 예에서, 단어 유사도를 산출하기 위하여 단어 유사도 산출부(140)는 한 문장 내에서 의존 관계에 있는 명사와 서술어 쌍의 빈도수를 원소 값으로 하는 명사-서술어 행렬을 생성할 수 있다. 단어 유사도 산출부(140)는 생성된 명사-서술어 행렬을 이용하여 유사한 의미의 명사를 판단한다.
명사와 서술어 사이의 동시 발생 성질을 이용하여 유사한 명사를 식별하는 방법은 도 3에 도시된 바와 같다. 도 3을 참조하여 유사한 명사를 식별하는 방법을 살펴보면, 단어 유사도 산출부(140)는 핵심 어구 추출부(130)에서 추출된 핵심 어구를 이용하여 명사와 서술어를 추출할 수 있다. 단어 유사도 산출부(140)는 명사-서술어 행렬(370)을 생성할 수 있다. 구체적으로, 단어 유사도 산출부(140)는 명사구를 기준으로 해당 명사와 함께 사용된 서술어 쌍의 수를 명사-서술어 행렬의 (명사, 서술어) 위치의 원소에 카운트할 수 있다. 예를 들어, 단어 유사도 산출부(140)는 device, tablet 등의 명사를 열로 나타내고, connect, charge 등의 서술어를 행으로 나타낼 수 있다. device와 connect가 함께 사용된 수가 1이면, 단어 유사도 산출부(140)는 device와 connect의 원소를 1로 할 수 있다. 단어 유사도 산출부(140)는 동일한 방법으로 명사-서술어 행렬을 완성할 수 있다.
단어 유사도 산출부(140)는 명사-서술어 행렬의 행 벡터로 두고, 각각의 벡터의 원소 값들을 기준으로 tf-idf 값으로 변환한 행렬(380)을 생성할 수 있다. 단어 유사도 산출부(140)는 행 벡터의 모든 쌍에 대하여 코사인 유사도를 산출할 수 있다. 이때, 가장 높은 코사인 유사도를 갖는 k개를 유사한 명사로 산출할 수 있다. 이때, 코사인 유사도는 내적 공간의 두 벡터간 각도의 코사인 값을 이용하여 측정된 벡터간의 유사한 정도를 의미한다. 코사인 유사도는 복수의 차원에 적용 가능하다. 따라서 복수의 단어 각각을 하나의 차원으로 구성하고, 단어의 출현 회수를 벡터값으로 하여 단어 사이의 유사도를 측정하는 데 유용하다. 또한, k는 입력된 사용자 명령에 따라 바뀔 수 있다.
결과적으로, 단어 유사도 산출부(140)는 생성한 tf-idf 값으로 이루어진 행렬(380)을 이용하여 코사인 유사도를 산출함으로써 (device,tablet), (device,phone), (tablet,phone), (button,home)을 유사한 단어로 산출할 수 있다.
단어 유사도 산출부(140)는 유사한 방법으로 유사한 서술어를 산출할 수 있다. 단어 유사도 산출부(140)는 핵심 어구 추출부(130)에서 추출된 핵심 어구를 이용하여 명사와 서술어를 추출할 수 있다. 단어 유사도 산출부(140)는 서술어를 기준으로 해당 서술어와 함께 사용된 명사 상의 수를 서술어-명사 행렬의 (서술어, 명사) 위치의 원소에 카운트할 수 있다. 단어 유사도 산출부(140)는 서술어-명사 행렬의 행 벡터로 두고, 각각의 벡터의 원소 값들을 기준으로 tf-idf 값으로 변환할 수 있다. 단어 유사도 산출부(140)는 행 벡터의 모든 상에 대하여 코사인 유사도를 산출할 수 있다. 이때, 가장 높은 코사인 유사도를 갖는 k개를 유사한 서술어로 산출할 수 있다. 마찬가지로, k는 입력된 사용자 명령에 따라 바뀔 수 있다.
문장 유사도 산출부(150)는 입력된 문장의 유사도를 측정한다. 구체적으로, 문장 유사도 산출부(150)는 문장의 유사도를 측정하기 위하여 입력 문장을 bag-of-words 모델로 나타낼 수 있다. 이때, bag-of-words 모델은 문서를 자동으로 분류하기 위한 방법일 수 있다. bag-of-words 모델은 문서에 포함된 단어들의 분포를 이용하여 해당 문서가 어떤 종류의 문서인지 판단하기 위해 사용되는 모델이다. 예를 들어, device, tablet, phone 등의 단어가 포함되어 있다면, bag-of-words 모델은 해당 문서가 디스플레이 장치에 관한 문서로 분류할 수 있다. 문장 유사도 산출부(150)는 종래 환언을 위한 문장 사이의 유사도를 측정하는 방법을 활용하여 문장 사이의 유사도를 산출할 수 있다.
이때, 수학식 2의 maxSim 함수는 단어 유사도 산출부(140)에서 산출된 단어 사이의 유사도를 나타내는 WordSim을 이용할 수 있다. 문장 유사도 산출부(150)는maxSim(w,T)를 이용하여 단어 w와 문장 T에서의 단어들 중 단어 유사도 값이 가장 큰 값을 출력할 수 있다.
문장 유사도 산출부(150)는 수학식 3을 이용하여 단어 유사도 산출부(140)에서 산출된 단어와 단어 사이의 유사도 값을 원소로 하는 행렬 W를 생성한다. 문장 유사도 산출부(150)는 비교하고자 하는 문장의 핵심 어구에 해당하는 단어들로 이진 벡터 a, b를 만든다. 문장 유사도 산출부(150)는 이진 벡터 a, b의 유사도를 산출하여 최종 문장 사이의 유사도를 산출할 수 있다.
유사 문장 판단부(160)은 입력 문장이 유형 판단부(120)에서 같은 유형으로 분류한 문장에 대해서 유사 문장인지 여부를 판단한다. 구체적으로, 문장 유사도 판단부(150)에서 산출된 문장 사이의 유사도가 기 설정된 값 이상인 경우, 유사 문장 판단부(160)는 입력 문장이 동일한 유형의 문장과 유사 문장으로 판단할 수 있다.
도 4는 본 발명의 일 실시 예에 따른, 핵심 어구를 추출하는 방법을 나타내는 흐름도이다. 식별 장치(100)는 대화 주제 관련 명사 리스트를 추출한다(S410). 대화 주제 관련 명사 리스트에서 대화 주제와 관련없는 명사를 제외하는 사용자 명령이 입력되면, 식별장치(100)는 제외되지 않은 명사를 대화 주제 관련 명사 리스트로 생성한다.
대화 주제 관련 명사 리스트가 생성되면, 식별 장치(100)는 대화 주제 관련 명사 리스트와 NLP 구문 분석기를 이용하여 핵심 어구 단위를 추출한다(S420). 핵심 어구 단위는 관련된 명사구, 서술어, 부대상황 등 일수 있다. 식별 장치(100)는 핵심 어구 단위를 추출하기 위하여 입력 문장에 포함된 단어 사이의 의존 관계 그래프를 산출한다.
도 5는 본 발명의 일 실시 예에 따른, 입력 문장의 유사 여부를 판단하는 방법을 나타내는 흐름도이다. 식별 장치(100)는 복수의 단어를 포함하는 복수의 문장을 입력받을 수 있다(S510). 문장이 입력되면, 식별 장치(100)는 입력 문장의 유형을 판단할 수 있다(S520). 식별 장치(100)는 문장의 여러 유형 중 입력된 문장이 해당하는 유형을 판단할 수 있다.
식별 장치(100)는 입력된 문장의 핵심 어구를 추출할 수 있다(S530). 핵심 어구를 추출하기 위하여, 식별 장치(100)는 대화 주제 관련 명사 리스트를 추출할 수 있다. 대화 주제 관련 명사 리스트를 추출하면, 식별 장치(100)는 대화 주제 관련 명사 리스트와 NLP 구문 분석기를 이용하여 핵심 어구를 추출할 수 있다. 구체적으로, 식별 장치(100)는 대화 주제 관련 명사 리스트와 NLP 구문 분석기를 이용하여 입력 문자에 포함된 단어 사이의 의존 관계 그래프를 산출할 수 있다. 식별 장치(100)는 의존 관계 그래프를 이용하여 관련 명사구를 서술하는 서술어와 해당 서술의 부대상황을 추출하여 하나의 핵심 어구 단위로 추출할 수 있다.
식별 장치(100)는 핵심 어구에 포함된 단어 사이의 유사도를 산출할 수 있다(S540). 식별 장치(100)는 단어의 표면적 유사도, 의미적 유사도, 문맥적 유사도 등을 이용하여 나열된 유사도들을 기초로 하여 단어 사이의 유사도를 산출할 수 있다. 식별 장치(100)는 나열된 유사도들을 기초로 하기 위하여 명사-서술어 행렬 및 서술어-명사 행렬을 이용할 수 있다.
식별 장치(100)는 문장 유사도를 산출한다(S550). 식별 장치(100)는 문장의 유사도를 산출하기 위하여 종래 환언을 위한 문장 사이의 유사도를 측정하는 방법을 이용할 수 있다. 한 예로, 식별 장치(100)는 입력 문장을 bag-of-words 모델로 나타낼 수 있다.
산출된 문장 유사도의 값이 기 설정된 값 이상인 경우, 식별 장치(100)는 입력 문장을 입력 문장과 동일한 유형의 문장과 유사한 문장으로 판단한다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
110: 입력부
120: 유형 판단부
130: 핵심어구 추출부
140: 단어 유사도 산출부
150: 문장 유사도 산출부
160: 유사 문장 판단부
120: 유형 판단부
130: 핵심어구 추출부
140: 단어 유사도 산출부
150: 문장 유사도 산출부
160: 유사 문장 판단부
Claims (12)
- 유사 문장 식별 방법에 있어서,
복수의 단어를 포함하는 문장을 입력받는 단계;
상기 입력된 문장의 유형을 판단하는 단계;
상기 입력된 문장의 핵심 어구를 추출하는 단계;
상기 추출된 핵심 어구에 포함된 단어 사이의 유사도를 산출하는 단계;
상기 단어 사이의 유사도를 이용하여 상기 입력된 문장의 유형 중 동일한 유형의 문장 사이의 유사도를 산출하는 단계; 및
상기 산출된 유사도가 기 설정된 값 이상인 경우, 상기 동일한 유형의 문장과 유사 문장으로 판단하는 단계;를 포함하는 식별 방법. - 제1항에 있어서,
상기 핵심 어구를 추출하는 단계는,
대화 주제 관련 명사 리스트를 추출하는 단계; 및
상기 추출된 대화 주제 관련 명사 리스트와 NLP 구문 분석기를 이용하여 핵심 어구 단위를 추출하는 단계;를 더 포함하는 식별 방법. - 제2항에 있어서,
상기 핵심 어구 단위를 추출하는 단계는,
상기 대화 주제 관련 명사 리스트를 이용하여 상기 입력 문장에 포함된 단어 사이의 의존 관계 그래프를 산출하는 단계; 및
상기 의존 관계 그래프를 이용하여 핵심 어구 단위를 저장하는 단계;를 포함하는 식별 방법. - 제2항에 있어서,
상기 대화 주제 관련 명사 리스트는 상기 입력 문장 단위에서 tf-idf가 기 설정된 값 이상인 명사들 중 대화 주제와 관련된 명사들의 리스트인 것을 특징으로 하는 식별 방법. - 제1항에 있어서,
상기 단어 사이의 유사도를 산출하는 단계는,
단어의 표면적 유사도, 의미적 유사도, 문맥적 유사도 중 적어도 하나 이상의 유사도 값의 평균을 측정하는 것을 특징으로 하는 식별 방법. - 제1항에 있어서,
상기 문장 사이의 유사도를 산출하는 단계는,
상기 핵심 어구 및 상기 단어 사이의 유사도를 이용하여 상기 문장 사이의 유사도를 산출하는 것을 특징으로 하는 식별 방법. - 유사 문장 식별 장치에 있어서,
복수의 단어를 포함하는 문장을 입력받는 입력부;
상기 입력된 문장의 유형을 판단하는 유형 판단부;
상기 입력된 문장의 핵심 어구를 추출하는 핵심 어구 추출부;
상기 추출된 핵심 어구에 포함된 단어 사이의 유사도를 산출하는 단어 유사도 산출부;
상기 단어 사이의 유사도를 이용하여 상기 입력된 문장의 유형 중 동일한 유형의 문장 사이의 유사도를 산출하는 문장 유사도 산출부; 및
상기 산출된 유사도가 기 설정된 값 이상인 경우, 상기 동일한 유형의 문장과 유사 문장으로 판단하는 유사 문장 판단부;를 포함하는 식별 장치. - 제7항에 있어서,
상기 핵심 어구 추출부는,
대화 주제 관련 명사 리스트를 추출하고, 추출된 대화 주제 관련 명사 리스트 및 NLP 구문 분석기를 이용하여 핵심 어구 단위를 추출하는 식별 장치. - 제8항에 있어서,
상기 핵심 어구 추출부는,
상기 대화 주제 관련 명사 리스트를 이용하여 상기 입력 문장에 포함된 단어 사이의 의존 관계 그래프를 산출하고, 상기 산출된 의존 관계 그래프를 이용하여 핵심 어구 단위를 저장하는 식별 장치. - 제8항에 있어서,
상기 대화 주제 관련 명사 리스트는 상기 입력 문장 단위에서 tf-idf가 기 설정된 값 이상인 명사들 중 대화 주제와 관련된 명사들의 리스트인 식별 장치. - 제7항에 있어서,
상기 단어 유사도 산출부는,
단어의 표면적 유사도, 의미적 유사도, 문맥적 유사도 중 적어도 하나 이상의 유사도 값의 평균을 측정하는 식별 장치. - 제7항에 있어서,
상기 문장 유사도 산출부는,
상기 핵심 어구 및 상기 단어 사이의 유사도를 이용하여 상기 문장 사이의 유사도를 산출하는 식별 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150112482A KR20170018620A (ko) | 2015-08-10 | 2015-08-10 | 유사 문장 식별 방법 및 이를 적용한 식별 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150112482A KR20170018620A (ko) | 2015-08-10 | 2015-08-10 | 유사 문장 식별 방법 및 이를 적용한 식별 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170018620A true KR20170018620A (ko) | 2017-02-20 |
Family
ID=58265285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150112482A KR20170018620A (ko) | 2015-08-10 | 2015-08-10 | 유사 문장 식별 방법 및 이를 적용한 식별 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170018620A (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180110713A (ko) * | 2017-03-29 | 2018-10-11 | 중앙대학교 산학협력단 | 문서 유사도 분석 장치 및 방법 |
KR20190050180A (ko) * | 2017-11-02 | 2019-05-10 | 서강대학교산학협력단 | 과학문서의 핵심어구 추출방법 및 장치 |
KR20200086986A (ko) * | 2019-01-10 | 2020-07-20 | 주식회사 케이티 | 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램 |
WO2021017721A1 (zh) * | 2019-08-01 | 2021-02-04 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
KR20210069298A (ko) * | 2019-12-03 | 2021-06-11 | 주식회사 엘지유플러스 | 대화 분절 문장의 복원을 위한 장치 및 방법 |
KR20220027273A (ko) * | 2019-09-03 | 2022-03-07 | 미쓰비시덴키 가부시키가이샤 | 정보 처리 장치, 컴퓨터 판독 가능한 기록 매체 및 정보 처리 방법 |
KR20230141456A (ko) * | 2022-03-30 | 2023-10-10 | 주식회사 와이즈넛 | 주제어 추출 기반의 도메인 특화 데이터 클렌징 장치 및 그 방법 |
-
2015
- 2015-08-10 KR KR1020150112482A patent/KR20170018620A/ko unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180110713A (ko) * | 2017-03-29 | 2018-10-11 | 중앙대학교 산학협력단 | 문서 유사도 분석 장치 및 방법 |
KR20190050180A (ko) * | 2017-11-02 | 2019-05-10 | 서강대학교산학협력단 | 과학문서의 핵심어구 추출방법 및 장치 |
KR20200086986A (ko) * | 2019-01-10 | 2020-07-20 | 주식회사 케이티 | 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램 |
WO2021017721A1 (zh) * | 2019-08-01 | 2021-02-04 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
KR20220027273A (ko) * | 2019-09-03 | 2022-03-07 | 미쓰비시덴키 가부시키가이샤 | 정보 처리 장치, 컴퓨터 판독 가능한 기록 매체 및 정보 처리 방법 |
KR20210069298A (ko) * | 2019-12-03 | 2021-06-11 | 주식회사 엘지유플러스 | 대화 분절 문장의 복원을 위한 장치 및 방법 |
KR20230141456A (ko) * | 2022-03-30 | 2023-10-10 | 주식회사 와이즈넛 | 주제어 추출 기반의 도메인 특화 데이터 클렌징 장치 및 그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20170018620A (ko) | 유사 문장 식별 방법 및 이를 적용한 식별 장치 | |
CN107480143B (zh) | 基于上下文相关性的对话话题分割方法和系统 | |
Nozza et al. | Measuring harmful sentence completion in language models for LGBTQIA+ individuals | |
CN107180084B (zh) | 词库更新方法及装置 | |
US20170169008A1 (en) | Method and electronic device for sentiment classification | |
KR101983975B1 (ko) | 문장 분류에 기반하는 문서 자동분류 방법 및 그 장치 | |
US9600469B2 (en) | Method for detecting grammatical errors, error detection device for same and computer-readable recording medium having method recorded thereon | |
TWI536183B (zh) | 語言歧義消除系統及方法 | |
US20170004820A1 (en) | Method for building a speech feature library, and method, apparatus, device, and computer readable storage media for speech synthesis | |
CN110096599B (zh) | 知识图谱的生成方法及装置 | |
Zhang et al. | Research on the Majority Decision Algorithm based on WeChat sentiment classification | |
CN112183117A (zh) | 一种翻译评价的方法、装置、存储介质及电子设备 | |
Van Der Westhuizen et al. | Synthesising isiZulu-English Code-Switch Bigrams Using Word Embeddings. | |
CN112329433A (zh) | 文本通顺度检测方法、装置、设备及计算机可读存储介质 | |
Yuwana et al. | On part of speech tagger for Indonesian language | |
Jaech et al. | What your username says about you | |
CN117556050B (zh) | 数据分类分级方法、装置、电子设备及存储介质 | |
KR102109866B1 (ko) | 합성곱 신경망에 의한 발화 임베딩을 사용한 유사도 측정 기반의 채팅 말뭉치 확장을 위한 장치 및 방법 | |
Lin et al. | Lexicon guided attentive neural network model for argument mining | |
Oudah et al. | Person name recognition using the hybrid approach | |
Bechara et al. | Semantic textual similarity in quality estimation | |
CN109446318A (zh) | 一种确定汽车维修文档主题的方法及相关设备 | |
KR102519955B1 (ko) | 토픽 키워드의 추출 장치 및 방법 | |
CN113742448A (zh) | 知识点生成方法、装置、电子设备、计算机可读存储介质 | |
KR101612629B1 (ko) | 사용자의 문법 이해 정도에 기반한 문법 오류 피드백 제공 방법 및 이를 수행하는 장치 |