KR102564316B1 - 문서 간 유사 영역을 식별하는 전자 장치, 제어 방법, 및 컴퓨터 프로그램 - Google Patents
문서 간 유사 영역을 식별하는 전자 장치, 제어 방법, 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102564316B1 KR102564316B1 KR1020200185861A KR20200185861A KR102564316B1 KR 102564316 B1 KR102564316 B1 KR 102564316B1 KR 1020200185861 A KR1020200185861 A KR 1020200185861A KR 20200185861 A KR20200185861 A KR 20200185861A KR 102564316 B1 KR102564316 B1 KR 102564316B1
- Authority
- KR
- South Korea
- Prior art keywords
- reference text
- region
- text
- similarity
- score
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- 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/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
전자 장치가 개시된다. 본 전자 장치는, 단어, 음절, 개체명, 패턴 및 위치 정보 중 적어도 하나를 기반으로 텍스트 간의 유사성을 비교하기 위한 복수의 규칙에 대한 정보를 포함하는 메모리, 복수의 규칙 중 기준 텍스트를 통해 제공되는 전자 장치의 기능에 매칭되는 적어도 하나의 규칙을 선택하고, 선택된 규칙을 기반으로 기준 텍스트와 비교대상 텍스트를 비교하는, 프로세서를 포함한다.
Description
본 개시는 문서 간의 유사 영역을 식별하는 전자 장치에 관한 것으로, 보다 상세하게는, 다양한 규칙을 선택적으로 활용하여 유사도를 산정하는 전자 장치에 관한 것이다.
종래 텍스트 간의 유사도를 판단하는 이론/기술들이 다수 개시된 바 있다. 예를 들어, Euclidean Distance, Manhattan Distance, Minkowski Distance, Mean Squared Difference, Cosine Similarity, Pearson Similarity, Jaccard Similarity 등의 언어 처리 방식들이 이용되고 있다.
다만, 기존의 기술들은, 텍스트 전체와 텍스트 전체 간의 유사도를 제공할 뿐, 텍스트 전체에 대하여 다른 텍스트의 어느 부분(영역)이 얼마나 유사한지에 대한 정밀하고 다양한 데이터를 제공하지 못하는 경우가 대부분이었다.
한편, 문서/텍스트 간 비교를 수행하는 목적 및 기능이 다양해짐에 따라, 문서/텍스트 간 비교 방식에 대한 기술 내용 역시 목적/기능에 따라 전문화되고 있다.
본 개시는, 전자 장치의 기능 별로 매핑된 유사도 비교 규칙을 이용하여 텍스트 비교 및 유사 영역 추출을 수행하는 전자 장치 및 제어 방법을 제공한다.
본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 개시의 일 실시 예에 따른 전자 장치는, 단어, 음절, 개체명, 패턴 및 위치 정보 중 적어도 하나를 기반으로 텍스트 간의 유사성을 비교하기 위한 복수의 규칙에 대한 정보를 포함하는 메모리, 상기 복수의 규칙 중 기준 텍스트를 통해 제공되는 전자 장치의 기능에 매칭되는 적어도 하나의 규칙을 선택하고, 상기 선택된 규칙을 기반으로 상기 기준 텍스트와 비교대상 텍스트를 비교하는, 프로세서를 포함한다.
상기 프로세서는, 상기 선택된 규칙을 기반으로 상기 기준 텍스트와 상기 비교대상 텍스트를 비교하여, 상기 비교대상 텍스트 내에서 상기 기준 텍스트와 매칭되는 적어도 하나의 영역을 추출할 수 있다.
이때, 상기 프로세서는, 상기 선택된 규칙을 기반으로, 상기 비교대상 텍스트 내에서 상기 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 기설정된 개수 이상 포함하는 적어도 하나의 제1 영역을 식별하고, 상기 선택된 규칙을 기반으로, 상기 식별된 제1 영역의 상기 기준 텍스트에 대한 유사도를 산출하고, 상기 산출된 유사도가 임계치 이상인 경우, 상기 식별된 제1 영역을 기반으로 상기 기준 텍스트와 매칭되는 영역을 추출할 수 있다.
구체적으로, 상기 프로세서는, 상기 비교대상 텍스트 내에서, 상기 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 제1 개수 이상 포함하고 상기 기준 텍스트에 포함되지 않는 단어 및 개체명을 제2 개수 이상 연속적으로 포함하지 않는, 복수의 제1 영역을 식별하고, 상기 복수의 제1 영역 중 상기 기준 텍스트에 대한 유사도가 상기 임계치 이상인 적어도 하나의 제1 영역을 기반으로 상기 기준 텍스트와 매칭되는 영역을 추출할 수 있다.
이 경우, 상기 프로세서는, 상기 유사도가 상기 임계치 이상인 제1 영역의 길이가 상기 기준 텍스트의 길이에 대한 임계 비율을 초과하는 경우, 상기 제1 영역에 포함되고 상기 임계 비율 내의 길이를 가지는 복수의 제2 영역을 식별하고, 상기 복수의 제2 영역 중 상기 기준 텍스트에 대한 유사도가 상기 임계치 이상인 제2 영역을 상기 기준 텍스트와 매칭되는 영역으로 추출할 수도 있다.
그리고, 상기 프로세서는, 사용자 입력을 기반으로, 상기 규칙에 대한 상기 제1 개수, 상기 제2 개수 및 상기 임계 비율 중 적어도 하나를 설정할 수 있다.
한편, 상기 프로세서는, 상기 기준 텍스트에 포함된 제1 단어가 상기 영역에 포함되는지 여부에 따라 제1 스코어를 산출하고, 상기 제1 단어가 상기 영역에 포함되는 경우, 상기 기준 텍스트에 포함된 제1 단어의 문법적 기능과 상기 영역에 포함된 제1 단어의 문법적 기능이 동일하지 여부에 따라 제2 스코어를 산출하고, 상기 기준 텍스트에 포함된 제2 단어가 상기 영역에 포함되는지 여부에 따라 제3 스코어를 산출하고, 상기 산출된 제1 스코어, 제2 스코어 및 제3 스코어를 기반으로 상기 기준 텍스트에 대한 상기 영역의 유사도를 산출할 수 있다.
또한, 상기 프로세서는, 상기 기준 텍스트에 포함된 개체명과 동일한 유형의 개체명이 상기 영역에 포함되는지 여부에 따라 제4 스코어를 산출하고, 상기 기준 텍스트에 포함된 개체명과 동일한 개체명이 상기 영역에 포함되는지 여부에 따라 제5 스코어를 산출하고, 상기 산출된 제4 스코어 및 제5 스코어를 기반으로 상기 기준 텍스트에 대한 상기 영역의 유사도를 산출할 수 있다.
또한, 상기 프로세서는, 상기 기준 텍스트 및 상기 영역에 공통적으로 포함된 단어, 음절 및 개체명을 포함하는 복수의 요소의 수에 따라 제6 스코어를 산출하고, 상기 기준 텍스트 및 상기 영역에 대하여, 상기 복수의 요소 중 제1 요소 이전에 포함되는 요소의 일치 여부 및 상기 제1 요소 이후에 포함되는 요소의 일치 여부에 따라 제7 스코어를 산출하고, 상기 기준 텍스트 및 상기 영역에 대하여, 상기 복수의 요소 중 제2 요소 이전에 포함되는 요소의 일치 여부 및 상기 제2 요소 이후에 포함되는 요소의 일치 여부에 따라 제8 스코어를 산출하고, 상기 산출된 제6 스코어, 제7 스코어, 및 제8 스코어를 기반으로 상기 기준 텍스트에 대한 상기 영역의 유사도를 산출할 수 있다.
한편, 상기 기준 텍스트를 통해 제공되는 전자 장치의 기능은, 상담 내용의 품질 평가, 유사한 내용의 분류, 문서 간의 교집합 추출, 문서 내 문장의 사용빈도 추출, 검색 중 적어도 하나에 해당할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 단어, 음절, 개체명, 패턴 및 위치 정보 중 적어도 하나를 기반으로 텍스트 간의 유사성을 비교하기 위한 복수의 규칙 중, 기준 텍스트를 통해 제공되는 전자 장치의 기능에 매칭되는 적어도 하나의 규칙을 선택하는 단계, 상기 선택된 규칙을 기반으로 상기 기준 텍스트와 비교대상 텍스트를 비교하는 단계를 포함한다.
본 개시에 따른 전자 장치는 다양한 기능 및 관점에 따른 규칙들을 이용하여 문서 간 유사도를 식별하고, 유사도를 기반으로 유사 영역을 추출할 수 있다.
본 개시에 따른 전자 장치는 규칙 별로 구조화/정량화 되어 사용자 입력에 의해 튜닝 가능한 다양한 유사도 산출 메커니즘(규칙)을 제공할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 동작을 설명하기 위한 흐름도,
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)가 단어에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표,
도 4는 본 개시의 일 실시 예에 따른 전자 장치(100)가 음절에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표,
도 5는 본 개시의 일 실시 예에 따른 전자 장치(100)가 개체명에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표,
도 6a 내지 도 6b는 본 개시의 일 실시 예에 따른 전자 장치가 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 영역들을 병합하는 동작을 설명하기 위한 도면들, 그리고
도 7a 내지 도 7c는 본 개시의 일 실시 예에 따른 전자 장치가 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 일 영역을 식별하는 동작을 설명하기 위한 도면들이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 동작을 설명하기 위한 흐름도,
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)가 단어에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표,
도 4는 본 개시의 일 실시 예에 따른 전자 장치(100)가 음절에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표,
도 5는 본 개시의 일 실시 예에 따른 전자 장치(100)가 개체명에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표,
도 6a 내지 도 6b는 본 개시의 일 실시 예에 따른 전자 장치가 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 영역들을 병합하는 동작을 설명하기 위한 도면들, 그리고
도 7a 내지 도 7c는 본 개시의 일 실시 예에 따른 전자 장치가 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 일 영역을 식별하는 동작을 설명하기 위한 도면들이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도이다.
도 1을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
전자 장치(100)는 적어도 하나의 컴퓨터를 포함하는 서버 내지는 시스템으로 구현될 수 있다. 또한, 전자 장치(100)는 스마트폰, 태블릿 PC, 데스크탑 PC, 노트북 PC, PDA, 키오스크 등의 전자 기기로 구현될 수도 있으나, 이에 한정되지 않는다.
메모리(110)는 다양한 데이터를 저장하기 위한 구성이다. 인메모리 컴퓨팅 방식을 사용하는 본 개시의 시스템(100) 내에서, 메모리(110)는 하나 이상의 RAM(Random Access Memory)으로 구성될 수 있다.
구체적으로, 메모리(110)는 DRAM(Dynamic RAM), SRAM(static RAM) 등의 휘발성 메모리로 구현될 수 있다. 다만, 메모리(110)는 MRAM(Dynamic RAM), PRAM(Phase-change RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM), 기타 플래시 메모리 등을 포함할 수도 있다. 또한, 메모리(110)는 HDD(Hard Disk Drive), SSD(Solid State Drive) 등을 포함할 수도 있다.
본 개시의 일 실시 예에 따른 메모리(110)는 단어, 음절, 개체명, 패턴 및 위치 정보 중 적어도 하나를 기반으로 텍스트 간의 유사성을 비교하기 위한 복수의 규칙에 대한 정보를 포함할 수 있다.
복수의 규칙은, 두 텍스트 간의 유사도(또는 일 텍스트와 다른 텍스트 내 적어도 일 영역 간의 유사도)를 산출하기 위한 서로 다른 규칙들일 수 있다.
구체적으로, 복수의 규칙은, 단어, 음절, 개체명, 패턴, 위치 정보 중 어떤 지표를 기반으로 텍스트들을 비교할지에 따라 구분될 수 있으며, 상술한 지표들 각각에 대하여 비율 내지는 가중치(구성비)를 어느 정도로 하여 최종적으로 유사도를 산출할지 여부에 따라서도 구분될 수 있다(ex. 유사도 = (단어 점수 * 단어 구성비) + (음절 점수 * 음절 구성비) + (개체명 점수 * 개체명 구성비) + (패턴 점수 * 패턴 구성비) + (위치 정보 점수 * 위치 정보 구성비)).
또한, 공통된 지표(단어, 음절, 개체명, 패턴, 위치 정보 등)를 이용하여 유사도를 산출하는 규칙들이라고 하더라도, 각 지표를 이용하여 유사도의 적어도 일부를 산출하는 구체적인 방식이 서로 다를 수 있다.
복수의 규칙은, SYLLABLE_EQUALS, SYLLABLE_SPLIT, WORD, NOUN, TOPIC, CLUSTER, DATA_EQUALS, SCRIPT 등으로 명명될 수 있는 다양한 규칙들을 포함할 수 있다.
SYLLABLE_EQUALS는, 음절의 구성비만 보려고 하는 방식으로 한 글자 단위로 규칙이 생성되고 음절 구성과 위치 구성만을 사용하여 유사도를 산출한다.
SYLLABLE_SPLIT은, 공백 구분 단위의 음절단위로 규칙이 생성되고 음절 구성과 위치구성만을 사용하여 유사도를 산출한다.
WORD는, 단어만 활용하여 규칙을 생성하고 단어구성과 위치구성만 사용(형태소 결과 활용)하여 유사도를 산출한다.
NOUN은, 단어중 명사만을 활용하여 규칙을 생성하고 단어구성과 위치구성만 사용하여 유사도를 산출한다.
TOPIC은, 공통적으로 많이 쓰이는 단어만을 활용하는 방식이다. 구체적으로, TOPIC은 단어 구성과 위치구성만을 활용하여 유사도를 산출한다. 다만, 평균적으로 많이 쓰이지 않은 단어는 백분율구성에서 미비한 구성을 가지게 되고 위치구성에 포함되지 않는다. 또한, 위치 구성에 포함되는 단어는 평균 1개 이상 나오는 단어에 해당한다.
CLUSTER는, TOPIC 방식에서 발전된 방식으로 비슷한 위치지만 다르게 사용하는 부분들을 패턴화 하려는 방식이다. TOPIC 방식과 마찬가지로 비슷한 내용을 모아서 활용한다.
DATA_EQUALS는, 기본형인 방식으로, 패턴을 제외한 모든 지표를 사용하여 규칙을 생성한다. 구체적으로, 단어, 음절, 개체명, 위치 정보 등이 사용된다.
SCRIPT는 상담 품질 평가를 위해 개발된 규칙으로 고객데이터 가변정보, 개체명, 필수정보, 패턴 등의 내용을 질의 형태로 사용할 수 있는 방식이다. SCRIPT는 원문에서 적어도 하나의 질의를 추가하여 사용할 수 있고, 질의 부분이 아닌 부분은 기본형인 DATA_EQUALS 와 동일하게 규칙을 추출할 수 있다.
한편, 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어하기 위한 구성으로, 메모리(110)와 연결되어 다양한 기능을 수행할 수 있다.
구체적으로, 프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 후술할 다양한 실시 예에 따른 동작을 수행할 수 있따.
프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 또한, 프로세서(120)는 SRAM을 포함할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 기준 텍스트와 비교대상 텍스트를 비교할 수 있다. 구체적으로, 프로세서(120)는 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 영역을 추출하고, 추출된 영역과 기준 텍스트 간의 유사도를 산출할 수 있다.
관련하여, 도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 동작을 설명하기 위한 흐름도이다.
도 2를 참조하면, 프로세서(120)는, 메모리(110)에 저장된 복수의 규칙 중 기준 텍스트를 통해 제공되는 전자 장치의 기능에 매칭되는 적어도 하나의 규칙을 선택할 수 있다(S210).
이를 위해, 메모리(110)에 저장된 복수의 규칙 각각은 적어도 하나의 기능과 매핑되어 있을 수 있다.
여기서, 전자 장치의 기능은, 상담 내용 등의 품질 평가, 유사한 내용의 분류, 문서 간의 교집합 추출, 문서 내 특정 문장 또는 특정 표현의 사용 빈도 추출, 분류 특징을 나타내는 룰 추출, 검색(아이서퍼, 지식 검색 등), 챗봇 관련 분석 등 다양할 수 있다.
그리고, 도 2를 참조하면, 전자 장치(100)는 선택된 규칙을 기반으로 기준 텍스트와 비교대상 텍스트를 비교할 수 있다(S220).
일 예로, 기준 텍스트는 상담원이 발화해야 하는 텍스트이고, 비교대상 텍스트는 상담원이 실제로 발화한 텍스트인 경우를 가정한다.
여기서, 전자 장치(100)의 상담 내용에 대한 품질 평가 기능이 실행된 경우, 프로세서(120)는 품질 평가 기능에 매핑되는 규칙(ex. SCRIPT)에 따라, 비교대상 텍스트 및 기준 텍스트를 비교하여 상담원의 상담 내용의 품질을 평가할 수 있다.
다른 예로, 기준 텍스트는 특정한 문장이고, 비교대상 텍스트는 검색 엔진과 연동된 데이터베이스일 수 있다.
여기서, 전자 장치(100)의 검색 기능이 실행된 경우, 전자 장치(100)는 데이터베이스 내 텍스트 중 해당 문장과 매칭되는 적어도 하나의 문장을 찾을 수 있다.
이하 도면들을 통해 단어, 음절, 개체명, 패턴, 위치 정보 등에 따라 유사도의 적어도 일부를 산출하는 다양한 실시 예들에 대하여 구체적으로 설명한다.
먼저, 선택되는 규칙에 따라, 단어, 음절, 개체명, 패턴, 위치 정보 등이 유사도에 반영되는 비율이 다르게 설정될 수 있다.
예를 들어, 상술한 SCRIPT의 경우, 음절의 비율이 0.15, 위치 정보의 비율이 0.25이며, 단어 및 개체명의 비율이 0.6에 해당할 수 있다. 즉, 음절에 따라 산출된 점수, 위치 정보에 따라 산출된 점수, 단어 및 개체명에 따라 산출된 점수가 모두 합산되어 유사도가 식별될 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)가 단어에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표이다.
도 3은 기준 텍스트가,
“운전중중상해교통사고처리지원금은 최고 30000000원 한도내 실제 합의한 형사합의금 $운전중중상해교통사고처리지원금(동승자포함)보험료”
인 경우를 가정한다. 여기서, $표시 뒤의 단어는 개체명(Named entity)이다.
프로세서(120)는 기준 텍스트에 포함된 단어 및 비교대상 텍스트에 포함된 단어를 형태소에 따라 비교할 수 있다. 즉, 프로세서(120)는 유사어나 변형어(줄임 표현, 시제 변형) 역시 원형과 동일한 단어인 것으로 식별할 수 있다.
또한, 특정 단어가 기준 텍스트 내에서 주격 또는 목적격(: 문법적 기능)으로 쓰인 경우, 비교대상 텍스트 내에서 해당 단어가 주격 또는 목적격으로 쓰였는지 여부에 따른 별도의 비율 점수가 존재할 수 있다.
도 3을 참조하면, 백분율은, 각 단어에 할당된 점수의 백분율에 해당한다. 단어들의 백분율을 모두 더하면, 1.0에 해당한다.
도 3을 참조하면, 운전중중상해교통사고처리지원금의 건수 백분율은 0.625이고 주어 백분율은 0.375인 것이 확인된다. 즉, 비교대상 텍스트 내 운전중중상해교통사고처리지원금이, 기준 텍스트와 마찬가지로 1번 포함되고, 기준 텍스트와 마찬가지로 주격으로 사용된 경우, 운전중중상해교통사고처리지원금에 대한 백분율 0.1860465가 모두 인정될 수 있다.
반면, 운전중중상해교통사고처리지원금이, 비교대상 텍스트에서 1건이 나왔지만 주격은 아닌 경우, 0.1860465 * (0.625) = 0.1162791이 산정될 수 있다.
또는, 운전중중상해교통사고처리지원금이, 비교대상 텍스트에서 2건이 나오고 한 건만 주격인 경우, 1건까지만 채점되어 가장 높은 점수를 가지는 위치가 채점될 수 있다. 이 경우, 0.1860465가 모두 인정될 수 있다.
한편, 단어 하다의 경우, 기준 텍스트의 합의한에서 한의 원형 단어로 추출된 것이다. 설령 비교대상 텍스트 내에서 합의하여, 합의해서 등으로 표현되어도, 하다의 변형어이기 때문에 0.1162791의 비율점수를 모두 받을 수 있다.
도 3에서, 일 실시 예로 운전중중상해교통사고처리지원금 단어만 비교대상 텍스트에 포함되지 않은 경우, 단어에 대한 점수는 0.1162791 + 0.1162791 + 0.1162791 + 0.1162791 + 0.1162791 + 0.1162791 + 0.1162791 = 0.81395가 된다.
그리고, 만약 규칙에 따른 전체 유사도 내 단어의 구성비가 0.43019라면, 단어에 대한 점수 0.81395에 단어 구성비 0.43019가 곱해져 유사도 산출에 이용될 수 있다(ex. 유사도 = (단어 점수 * 단어 구성비) + (음절 점수 * 음절 구성비) + (개체명 점수 * 개체명 구성비) + (패턴 점수 * 패턴 구성비) + (위치 정보 점수 * 위치 정보 구성비)).
한편, 도 3에서, 필수 최소 백분율은 해당 단어에 대하여 점수가 산정되기 위해 필수적으로 나와야 하는 최소 점수에 해당한다. 운전중중상해교통사고처리지원금을 예시로 하면, 0.625 + 0.375 비율에 해당하는 내용으로, 만약 1.0이면 반드시 주격으로 (등장) 건수(: 1건)까지 일치해야 됨을 뜻한다. 즉, 해당 단어가 주격으로 한 번 이상 등장한 경우가 아니면, 1.0보다 적은 수가 산출되므로, 운전중중상해교통사고처리지원금에 대하여 아무런 점수도 주어지지 않을 수 있다(: 0 * 0.1860465 = 0).
만약 필수 최소 백분율이 0.5(< 0.625)라면 주격에 해당하지 않더라도 한 번의 등장만 충족되면 해당 점수(: 0.625*0.1860465)가 주어질 수 있다는 것을 의미한다.
이러한 필수 최소 백분율(: 필수조건)의 경우, 일반적으로 특정한 단어나 개체명에 대해 많이 설정될 수 있다. 예를 들어, 운전중중상해교통사고처리지원금의 경우, 다른 단어들보다 백분율이 더 높은데, 이러한 주요 단어에 대해 필수 최소 백분율이 설정되는 것이 보통이다.
주요 단어 및/또는 필수 최소 백분율의 경우, (규칙 및/또는 기능 별로) 사용자 입력에 따라 설정될 수 있다. 일 예로, 상담 내용에 대한 품질 평가를 수행하는 경우, 사용자 입력에 따라, 전자 장치(100)는 “운전중상해교통사고처리지원금”과 같은 주요 단어에 대한 백분율을 다른 단어보다 더 높게 설정하거나, 해당 단어에 대한 필수 최소 백분율을 비교적 높게 설정할 수 있다.
사용자 입력은, 전자 장치(100)에 포함/연결된 사용자 입력부(ex. 터치 스크린, 버튼, 마이크, 키보드, 마우스 등 다양할 수 있음)를 통해 수신되거나 또는 전자 장치(100)와 연결된 적어도 하나의 사용자 단말(ex. 스마트폰, 모니터링 장치 등)을 통해 수신될 수 있다.
한편, 도 3을 통해 설명된 단어 별 백분율, 건수 백분율, 주어/목적어 백분율, 필수 최소 백분율 등은 일 예에 해당할 뿐이고, 해당 변수들은 메모리(110)에 저장된 규칙 별로 다를 수 있다. 또한, 규칙에 따라서는, 도 3을 통해 설명되지 않은 개념의 변수를 이용할 수도 있음은 물론이다.
한편, 도 4는 본 개시의 일 실시 예에 따른 전자 장치(100)가 음절에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표이다. 도 4 역시, 기준 텍스트가, “운전중중상해교통사고처리지원금은 최고 30000000원 한도내 실제 합의한 형사합의금 $운전중중상해교통사고처리지원금(동승자포함)보험료”인 경우를 가정한다.
음절의 경우, 동일한 음으로 쓰인 경우만을 포함할 수 있으며, 유사어나 변형어는 제외될 수 있다. 즉, 정확히 일치한 표현만 고려될 수 있다.
음절 비교에는 좌측공백유형, 우측공백유형 등이 사용될 수 있는데, 이는 한 글자 음절인 경우 정확도를 높이기 위함이다
- 좌측공백유형: 시작이거나 좌측이 공백, 특수문자
- 우측공백유형: 끝이거나 우측이 공백, 특수문자
도 4를 참조하면, 모든 음절이 비교대상 텍스트에 포함된 경우, 음절에 대한 점수가 1.0(0.111 + 0.111 + 0.111 + 0.111 + 0.111 + 0.111 + 0.111 + 0.111 + 0.111)로 산정될 수 있다. 반면, 하나의 음절이 빠진 경우 음절에 대한 점수가 0.89로 산정될 수 있다.
그리고, 프로세서(120)는 음절에 대한 점수에 음절의 구성비(ex. 0.15)를 곱하여 유사도 산출에 이용할 수 있다.
한편, 도 4를 통해 설명된 음절 별 백분율, 건수 백분율, 필수 최소 백분율 등은 일 예에 해당할 뿐이고, 해당 변수들은 메모리(110)에 저장된 규칙 별로 다를 수 있다. 또한, 규칙에 따라서는, 도 4를 통해 설명되지 않은 개념의 변수를 이용할 수도 있음은 물론이다.
한편, 도 5는 본 개시의 일 실시 예에 따른 전자 장치(100)가 개체명에 따라 유사도의 적어도 일부를 산출하는 과정을 설명하기 위한 표이다.
프로세서(120)는 기준 텍스트 내에서 적어도 하나의 개체명을 인식할 수 있다(개체명 인식 기능). 그리고, 프로세서(120)는 기준 텍스트 및 비교대상 텍스트에 포함된 개체명을 비교할 수 있다.
예를 들어, 프로세서(120)는 입력된 텍스트 내에서 인명, 주민등록번호, 계?儲廢?, 휴대폰번호, 금액, 날짜, 주소, 차량번호 등에 해당하는 개체명을 식별하도록 훈련된 적어도 하나의 인공지능 모델을 이용하여, 기준 텍스트 및 비교대상 텍스트 내에서 다양한 개체명을 식별할 수 있다.
개체명은 서로 다른 형태로 쓰여도 하나의 형태로 치환되어 점수 산출에 이용될 수 있다. 예를 들어, 30000000원과 삼천만원은 같은 표현으로 인식될 수 있다.
개체명 인식 기능에서는 데이터를 연동하여 전달받을 수 있는 추가 기능이 존재하는데, 이러한 방식은 상담평가 등에서 고객정보를 제대로 이야기했는지에 대한 채점을 할 때 사용될 수 있다.
즉, 프로세서(120)는 적어도 하나의 외부 장치로부터 고객 정보(ex. 이름, 주민등록번호)를 수신하여, 비교대상 텍스트 내 이름/주민등록번호에 해당하는 개체명과 비교할 수 있다.
도 5 역시, 기준 텍스트가, “운전중중상해교통사고처리지원금은 최고 30000000원 한도내 실제 합의한 형사합의금 $운전중중상해교통사고처리지원금(동승자포함)보험료”인 경우를 가정한다.
도 5를 참조하면, 전체 백분율의 합은 1.0에 해당한다.
도 5에서, 금액 개체명의 경우, 금액에 해당하는 유형의 개체명이 나오기만 하면 구체적인 액수가 다르더라도 0.45가 인정되고, 실제 액수인 30000000원(삼천만원)까지 일치하면 0.55까지 더해서 점수가 산정될 수 있다.
도 5에서, 유형 중 VARIABLE_SIMILARITY는 고객 데이터와 연동해서 채점하겠다는 것을 의미한다.
도 5에서, 운전중중상해교통사고처리지원금(동승자포함)보험료의 경우, 비교대상 텍스트 내에서 유형(보험료)만 일치하면 0.2가 인정되고, 연동 데이터인 고객 데이터(ex. 980d원)와 일치하면 0.8까지 더해서 점수가 산정될 수 있다.
도 5에서, 최소 일치율은 개체명의 최소 유사 백분율에 해당한다. 예를 들어, 운전중중상해교통사고처리지원금(동승자포함)보험료의 경우, 건수 백분율 및 일치 백분율에 따라 산정된 점수가 0.7이상만 되면 해당 단어의 백분율 0.5가 모두 인정될 수 있다. 특히, 음성 인식 기반의 비교 기능이 수행되는 경우, STT(Speech to Text) 기술의 오차를 고려했을 때, 상술한 최소 일치율 개념이 이용될 수 있다.
예를 들어, 비교대상 텍스트가 “최고 삼 천 만 원 보험료 천 삼 백 팔 십 원 운전 중 좀 - 삼 천 만 원 한도 내 실제 합의한 형사 합의금 보험료 구 백 팔 십 원”인 경우, 삼천만원은 30000000원과 동일한 것으로 인정되고, 연동된 고객 데이터인 980원과 구백팔십원이 일치한 결과, 개체명에 대한 점수 1.0(만점)이 모두 인정될 수 있다.
이 경우, 프로세서(120)는 유사도 내 개체명의 구성비에 개체명에 대한 점수(1.0)를 곱하여 유사도 산출에 이용할 수 있다.
한편, 도 5는 개체명을 이용하여 유사도를 산출하는 일 예일 뿐, 메모리(110)에 저장된 규칙 별로 개체명을 이용하는 방식이 서로 다를 수 있음은 물론이다.
한편, 패턴은, 기준 텍스트 및 비교대상 텍스트 내 단어 간 또는 개체명 간 조건의 일치를 비교하기 위한 지표이다.
예를 들어, 기준 텍스트의 패턴이, '금액 뒤에 보험이 나오고 사고관련 단어가 있음'인 경우를 가정한다. 여기서, 만약 비교대상 텍스트가 “월 3만원 실비보험을 들었는데 다리가 골절이 되어…”라면, 패턴이 일치하는 것으로 식별될 수 있다.
예를 들어, 기준 텍스트의 패턴이, '식품 또는 음료에 관련된 내용이 나오고 이물질 관련 단어가 있음'인 경우를 가정한다. 여기서, 만약 비교대상 텍스트가 “샐러드에서 곰팡이 추출”, “음료에 머리카락이 있어요” 등인 경우, 패턴이 일치하는 것으로 식별될 수 있다.
패턴의 경우, 일반적인 기능에서는 유사도 산출에 잘 이용되지 않을 수 있고, 다만 비슷한 내용을 모아서 규칙을 추출하는 유형인 CLUSTER 등에서 사용될 수 있다.
패턴의 경우, 여러 문서에서 나오는 공통적인 패턴을 추출하여 규칙화되는 경우가 대부분이기 때문에, 하나의 기준 텍스트 내에서만 생성되는 경우는 드물다. 만약, 하나의 기준 텍스트 내에서 패턴이 생성되는 경우, 생성된 패턴을 수동으로 추가, 수정, 삭제 등 보정 작업을 할 때 사용될 수 있다.
예를 들어, 프로세서(120)는 '위고는 최고에요', '위고는 정말 좋네요', '위고가 편해요' 등과 같은 비슷한 기준 텍스트를 모아서,
- 위고[는, 가][최고에요, 정말 좋네요, 편해요]
- [는, 가] -> 는 or 가
- [최고에요, 정말 좋네요, 편해요] -> 최고에요 or 정말 좋네요 or 편해요
등과 같은 패턴을 생성할 수 있다.
한편, 이 밖에도, 규칙 별로 다양한 방식으로 패턴 기반 점수(유사도) 산출이 가능하다.
한편, 위치 정보는, 기준 텍스트 및 비교대상 텍스트 내 단어, 음절, 개체명, 패턴 등의 위치의 일치를 비교하기 위한 지표이다.
위치 정보에 대한 점수는, 단어, 음절, 개체명, 패턴 각각의 개별적 위치 일치율에 따라 계산될 수 있다.
일 실시 예로, 개체명과 단어가 동일한 경우, 개체명과 단어가 동일한 위치에 겹쳐야만 위치 정보가 일치하는 것으로 식별될 수 있다.
또한, 일 실시 예로, 단어 또는 개체명 간의 관계에서 앞뒤 순서 관계가 일치해야 위치 정보가 일치하는 것으로 식별할 수 있다.
예를 들어, 기준 텍스트가 “보험료 3000만원”인 경우, 비교대상 텍스트 내에서 보험료 이후에 3000만원이 나와야 위치 정보가 일치하는지 여부에 따라 위치 정보에 따른 점수가 산출될 수 있다.
또한, 일 실시 예로, 각 요소(단어, 개체명, 음절 등) 별로 이전과 이후에 위치하는 요소가 일치하는지 여부에 따라 점수가 산출될 수 있다.
일 예로, 기준 텍스트가 “김용수는 연구실에서 연구를 하고 있다”이고, 비교대상 텍스트가 “김용수는 연구를 연구실에서 하고”인 경우를 가정한다.
이 경우, 프로세서(120)는 기준 텍스트로부터 8개의 요소를 추출할 수 있다(김용수, 는, 연구실, 에서, 연구, 를, 하고, 있다).
또한, 프로세서(120)는 비교대상 텍스트 내에서 기준 텍스트와 동일한 7개의 요소를 추출할 수 있다(김용수, 는, 연구, 를, 연구실, 에서, 하고).
여기서, 프로세서(120)는 각 요소 별로 이전과 이후에 위치하는 요소의 수를 비교할 수 있다. 이때, 프로세서(120)는 채점의 대상이 되는 요소를 제외하고 기준 텍스트와 비교대상 텍스트 간에 일치하는 요소들에 대해서만 비율을 산정할 수 있다(7 - 1 = 6).
구체적인 예로, '김용수'를 기준으로 채점하면, 기준 텍스트의 경우, '김용수'를 제외한 6개의 요소가 모두 '김용수' 이후에 존재한다. 그리고, 비교대상 텍스트 역시, '김용수' 이후에 6개의 요소가 모두 있다. 즉, '김용수'에 대해서는 6/6=1이 산정된다.
'연구'를 기준으로 채점하면, 기준 텍스트 및 비교대상 텍스트 모두, '연구' 이전에 '김용수', '는'이 존재하고 '연구' 이후에 '를', '하고'가 존재한다. 다만, 기준 텍스트는 '연구실' 및 '에서'를 '연구' 이전에 포함하고, 비교대상 텍스트는 '연구실' 및 '에서'를 연구' 이후에 포함한다는 차이가 있다. 즉, 요소 4개는 '연구'를 기준으로 한 전후 위치가 일치하지만 2개는 일치하지 않아, '연구'에 대해서는 4/6(=2/3)가 산정된다.
마찬가지 방식으로, 김용수, 는, 연구실, 에서, 연구, 를, 하고 각각에 대하여, (개별 요소 위치 백분율의 합/출현한 공통 요소의 수) * (출현한 공통 요소의 수/기준 텍스트 내 전체 요소의 수)를 산출하면,
((6/6 + 6/6 + 4/6 + 4/6 + 4/6 + 4/6 + 6/6)/7) * (7/8) = 0.7083으로 산출될 수 있다.
그리고, 산정된 위치 정보의 점수(0.7083)에 위치 정보의 구성비가 곱해져 유사도 산출에 이용될 수 있다.
한편, 상술한 실시 예 외에도 규칙 별 다양한 방식으로 위치 정보가 비교될 수 있으며, 위치 정보의 유사도 내 구성비 역시 규칙 별로 달라질 수 있음은 물론이다.
한편, 특정 규칙(ex. SCRIPT)에 대해서는, 지표들의 유사도 구성비 역시 상황에 따라 다르게 산정될 수 있다.
SCRIPT 규칙의 경우, 단어와 개체명의 구성비가 총 0.6으로 고정된 상태에서, 단어에 대하여 산출된 점수와 개체명에 대하여 산출된 점수의 크기 비에 따라, 0.6의 구성비를 단어 및 개체명 각각에 대하여 할당할 수 있다.
한편, 일 실시 예에 따르면, 규칙 별로, 프로세서(120)는 적어도 하나의 사용자 입력(피드백)을 기반으로 지표들(단어, 음절, 개체명, 패턴, 위치 정보 등)에 대한 유사도 내 구성비를 업데이트할 수도 있다.
구체적으로, 전자 장치(100)가 특정 규칙(ex. SCRIPT)에 따라 상담 내용을 비교 분석하여 상담 내용의 품질 평가 서비스를 제공한 경우를 가정한다.
여기서, 전자 장치(100)는, 전자 장치(100)가 산출한 품질 평가 내용을 실제 전문가가 동일한 상담 내용에 대하여 산출한 품질 평가 내용과 비교할 수 있다.
여기서, 전자 장치(100)는, 해당 규칙에 따른 품질 평가 내용(ex. 유사도)이 전문가가 산출한 품질 평가 내용(ex. 유사도)과 더 가까워질 수 있도록, 지표들에 대한 적어도 하나의 구성비를 수정할 수 있다. 그 결과, 해당 규칙은 전문가의 품질 평가 내용에 맞게 업데이트 될 수 있다.
또한, 일 실시 예에 따르면, 프로세서(120)는 전문가가 산출/식별한 유사도/유사 영역에 따라, 적어도 하나의 기능에 매핑된 규칙을 변경/추가할 수도 있다.
예를 들어, 제1 기능에 제1 규칙이 매핑되고 제2기능에 제2 규칙이 매핑된 상황을 가정한다.
이때, 프로세서(120)는 제1 규칙(ex. SCRIPT)을 기반으로 제1 기능(ex. 상담 내용 품질 평가)을 위한 텍스트 간 유사도 산출(및 유사 영역 식별)을 수행할 수 있다.
여기서, 만약 동일한 텍스트들에 대하여 전문가에 의해 산출된 유사도가 제1 규칙을 통해 산출된 유사도와 임계치 이상 차이가 나거나 또는 제1 규칙을 통해 선택된 유사 영역이 전문가에 의해 식별된 유사 영역과 일정 비율 미만으로 중복되는 경우, 프로세서(120)는 메모리(110)에 저장된 복수의 규칙 중 제1 규칙 외의 규칙들을 동일한 텍스트들에 적용하여 유사도 및/또는 유사 영역을 식별할 수 있다.
이때, 만약 제2 규칙을 통해 산출된 유사도가 제1 규칙에 따른 유사도보다 전문가에 의해 산출된 유사도와 더 근접한 경우 또는 제2 규칙을 통해 식별된 유사 영역이 제1 규칙에 따라 식별된 유사 영역보다 전문가에 의해 식별된 유사 영역과 더 높은 비율로 중복되는 경우라면, 프로세서(120)는 기존에 제1 기능에 매핑되지 않았던 제2 규칙(ex. SYLLABLE_EQUALS)을 새롭게 제1 기능에 매핑시킬 수도 있다.
한편, 본 개시의 일 실시 예에 따른 프로세서(120)는, 선택된 규칙을 기반으로 기준 텍스트와 비교대상 텍스트를 비교하여, 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 적어도 하나의 영역을 추출할 수 있다.
구체적으로, 프로세서(120)는 비교 대상 텍스트 내에서 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 기설정된 개수 이상 포함하는 적어도 하나의 제1 영역을 식별할 수 있다. 여기서, 제1 영역은, 기준 텍스트에 포함되지 않은 단어 및 객체명을 특정 개수(ex. 7개) 이상 연속적으로 포함하지 않는 영역일 수 있다.
이때, 상술한 기설정된 개수, 특정 개수 등은 규칙 별로 다를 수 있다. 또한, 기준 텍스트에 포함된 단어, 음절, 개체명, 패턴 중 어떤 요소를 공통으로 포함하는 영역을 추출할 지에 대한 정보 역시, 규칙 별로 다를 수 있다.
또한, 상술한 기설정된 개수, 특정 개수 등은 (규칙 및/또는 기능 별로) 사용자 입력에 따라 설정될 수도 있다.
그리고, 프로세서(120)는, 선택된 규칙을 기반으로, 식별된 제1 영역의 기준 텍스트에 대한 유사도를 산출할 수 있다.
이때, 산출된 유사도가 임계치 이상인 경우, 프로세서(120)는 식별된 제1 영역을 기반으로 기준 텍스트와 매칭되는 영역을 추출할 수 있다.
일 예로, 복수의 제1 영역이 식별된 경우, 프로세서(120)는 식별된 복수의 영역 중 기준 텍스트에 대한 유사도가 임계치(ex. 0.6) 이상인 적어도 하나의 제1 영역을 기반으로 기준 텍스트와 매칭되는 영역을 추출할 수 있다.
여기서, 프로세서(120)는 유사도가 임계치 이상인 영역을 기준 텍스트와 매칭되는 영역으로 판단하고, 매칭 영역의 텍스트 및 매칭 영역의 유사도를 제공할 수 있다.
또는, 프로세서(120)는 서로 분리된(기준 텍스트와 공통되지 않는 요소 연속 7개 이상의 거리만큼 떨어진) 복수의 영역을 병합한 영역을 기준 텍스트와 매칭되는 영역으로 판단하고, 매칭 영역의 텍스트 및 매칭 영역의 유사도를 제공할 수도 있다.
관련하여, 도 6a 내지 도 6b는 본 개시의 일 실시 예에 따른 전자 장치가 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 영역들을 병합하는 동작을 설명하기 위한 도면들이다.
도 6a를 참조하면, 기준 텍스트(610)와 비교대상 텍스트(620) 간에는 '면허 및 차량 정보 교통 법규 위반'(625) 부분을 제외하고는 모두 동일하다.
여기서, 도 6b를 참조하면, 프로세서(120)는 기준 텍스트(610)와 공통된 요소(단어, 개체명, 음절 등)가 일정 수(ex. 3개) 이상 포함되면서 기준 텍스트(610)에 포함되지 않는 요소가 7개 이상 연속되지 않는 영역들(621, 622)을 각각 식별할 수 있다.
여기서, 3개는, 기준 텍스트에 포함된 요소의 수에 따라 기설정된 것일 수 있으나(ex. 기준 텍스트 내 요소의 수의 10%), 이에 한정되지 않는다. 또는, 기준 텍스트에 포함되는 요소의 수가 30개 미만인 경우, 역시 3개로 설정될 수도 있다.
이때, 프로세서(120)는 기설정된 조건에 따라 영역들(621, 622)의 병합 여부를 판단할 수 있다.
일 예로, 프로세서(120)는 일 영역을 30개 요소의 길이 내에서 확장함에 따라 (기준 텍스트와의) 공통 요소가 3개 이상인 다른 영역을 포함하게 될 경우, 영역을 확장 및 병합할 수 있다.
또한, 데이터(ex. 고객 정보)가 연동되는 개체명 같은 경우에는, 프로세서(120)는, 최소 조건(ex. 3개)과 관계없이 1개만 더 포함되게 되더라도 영역의 확장 및 병합을 수행할 수 있다.
여기서, 병합 여부, 병합 길이, 결합을 위한 공통 요소의 확장 수 등은 (규칙 및/또는 기능 별로) 사용자 입력에 따라 설정될 수도 있다.
한편, 일 실시 예에 따르면, 프로세서(120)는 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 기설정된 개수 이상 포함하는 적어도 하나의 제1 영역이 기준 텍스트의 길이에 대한 임계 비율(최대 길이)을 초과하는 경우, 제1 영역에 포함되고 임계 비율 내의 길이를 가지는 복수의 제2 영역을 식별할 수 있다. 여기서, 임계 비율(최대 길이)은 (규칙 및/또는 기능 별로) 사용자 입력에 따라 설정된 것일 수 있다.
그리고, 프로세서(120)는 복수의 제2 영역 중 기준 텍스트에 대한 유사도가 임계치 이상인 제2 영역을 기준 텍스트와 매칭되는 영역으로 추출할 수 있다.
관련하여, 도 7a 내지 도 7c는 본 개시의 일 실시 예에 따른 전자 장치가 비교대상 텍스트 내에서 기준 텍스트와 매칭되는 일 영역을 식별하는 동작을 설명하기 위한 도면들이다.
도 7a 및 도 7b를 참조하면, 프로세서(120)는 비교대상 텍스트(720) 내에서 기준 텍스트(710)와의 공통 요소를 다수 포함하면서 기준 텍스트(710)와 공통되지 않는 요소를 7개 이상 연속으로 포함하지 않는 영역(721)을 추출할 수 있다.
다만, 도 7b를 참조하면, 해당 영역(721)의 길이가 기준 텍스트(710)의 길이(ex. 요소의 수)에 대한 임계 비율(130%. 최대 길이)을 초과한 것으로 확인된다.
이 경우, 도 7c를 참조하면, 프로세서(120)는 해당 영역(721) 내에서 최대 길이(ex. 기준 텍스트(710)의 길이 * 임계 비율)를 초과하지 않으면서 유사도가 최대인 영역(721-1)을 식별할 수 있다. 그리고, 프로세서(120)는 남은 범위의 영역(721-2)도 식별할 수 있다.
만약, 영역(721-1)의 유사도는 0.6을 넘고, 영역(721-2)의 유사도는 0.6을 넘지 못하는 경우, 프로세서(120)는 영역(721-1)을 기준 텍스트에 매칭되는 영역으로 판단할 수 있다.
그리고, 프로세서(120)는 영역(721-1) 및 영역(721-1)의 유사도에 대한 정보를 제공할 수 있다.
이렇듯, 본 개시에 따른 전자 장치(100)는 다양한 기능 및 관점에 따른 규칙들을 이용하여 문서 간 유사도를 식별함은 물론, 해당 유사도를 기반으로 유사 영역을 추출할 수 있다.
또한, 본 개시에 따른 전자 장치(100)는 규칙 별로 구조화/정량화 되어 있어서 사용자 입력에 의해 튜닝 가능한 유사도 산출 메커니즘을 제공할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 적어도 하나의 전자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서
120: 프로세서
Claims (12)
- 전자 장치에 있어서,
단어, 음절, 개체명, 패턴 및 위치 정보 중 적어도 하나를 기반으로 텍스트 간의 유사성을 비교하기 위한 복수의 규칙에 대한 정보를 포함하는 메모리; 및
상기 복수의 규칙 중 기준 텍스트를 통해 제공되는 전자 장치의 기능에 매칭되는 적어도 하나의 규칙을 선택하고, 상기 선택된 규칙을 기반으로 상기 기준 텍스트와 비교대상 텍스트를 비교하는, 프로세서;를 포함하고
상기 복수의 규칙은 단어, 음절, 개체명, 패턴 및 위치정보 중 선택되는 지표의 종류 및 선택된 각 지표에 대해 적용되는 구성비에 따라 구분되는 개별 규칙들을 포함하며,
상기 전자 장치의 기능은
상담 내용의 품질 평가, 유사한 내용의 분류, 문서 간의 교집합 추출, 문서 내 문장의 사용빈도 추출, 검색 중 적어도 하나에 해당하며,
상기 프로세서는,
상기 선택된 규칙을 기반으로 상기 기준 텍스트와 상기 비교대상 텍스트를 비교하여, 상기 비교대상 텍스트 내에서 상기 기준 텍스트와 매칭되는 적어도 하나의 영역을 추출하되,
상기 선택된 규칙을 기반으로, 상기 비교대상 텍스트 내에서 상기 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 기설정된 개수 이상 포함하는 적어도 하나의 제1 영역을 식별하고,
상기 선택된 규칙을 기반으로, 상기 식별된 제1 영역의 상기 기준 텍스트에 대한 유사도를 산출하고,
상기 산출된 유사도가 임계치 이상인 경우, 상기 식별된 제1 영역을 기반으로 상기 기준 텍스트와 매칭되는 영역을 추출하는, 전자 장치. - 삭제
- 삭제
- 제1항에 있어서,
상기 프로세서는,
상기 비교대상 텍스트 내에서, 상기 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 제1 개수 이상 포함하고 상기 기준 텍스트에 포함되지 않는 단어 및 개체명을 제2 개수 이상 연속적으로 포함하지 않는, 복수의 제1 영역을 식별하고,
상기 복수의 제1 영역 중 상기 기준 텍스트에 대한 유사도가 상기 임계치 이상인 적어도 하나의 제1 영역을 기반으로 상기 기준 텍스트와 매칭되는 영역을 추출하는, 전자 장치. - 제4항에 있어서,
상기 프로세서는,
상기 유사도가 상기 임계치 이상인 제1 영역의 길이가 상기 기준 텍스트의 길이에 대한 임계 비율을 초과하는 경우, 상기 제1 영역에 포함되고 상기 임계 비율 내의 길이를 가지는 복수의 제2 영역을 식별하고,
상기 복수의 제2 영역 중 상기 기준 텍스트에 대한 유사도가 상기 임계치 이상인 제2 영역을 상기 기준 텍스트와 매칭되는 영역으로 추출하는, 전자 장치. - 제5항에 있어서,
상기 프로세서는,
사용자 입력을 기반으로, 상기 규칙에 대한 상기 제1 개수, 상기 제2 개수 및 상기 임계 비율 중 적어도 하나를 설정하는, 전자 장치. - 제1항에 있어서,
상기 프로세서는,
상기 기준 텍스트에 포함된 제1 단어가 상기 영역에 포함되는지 여부에 따라 제1 스코어를 산출하고,
상기 제1 단어가 상기 영역에 포함되는 경우, 상기 기준 텍스트에 포함된 제1 단어의 문법적 기능과 상기 영역에 포함된 제1 단어의 문법적 기능이 동일하지 여부에 따라 제2 스코어를 산출하고,
상기 기준 텍스트에 포함된 제2 단어가 상기 영역에 포함되는지 여부에 따라 제3 스코어를 산출하고,
상기 산출된 제1 스코어, 제2 스코어 및 제3 스코어를 기반으로 상기 기준 텍스트에 대한 상기 영역의 유사도를 산출하는, 전자 장치. - 제1항에 있어서,
상기 프로세서는,
상기 기준 텍스트에 포함된 개체명과 동일한 유형의 개체명이 상기 영역에 포함되는지 여부에 따라 제4 스코어를 산출하고,
상기 기준 텍스트에 포함된 개체명과 동일한 개체명이 상기 영역에 포함되는지 여부에 따라 제5 스코어를 산출하고,
상기 산출된 제4 스코어 및 제5 스코어를 기반으로 상기 기준 텍스트에 대한 상기 영역의 유사도를 산출하는, 전자 장치. - 제1항에 있어서,
상기 프로세서는,
상기 기준 텍스트 및 상기 영역에 공통적으로 포함된 단어, 음절 및 개체명을 포함하는 복수의 요소의 수에 따라 제6 스코어를 산출하고,
상기 기준 텍스트 및 상기 영역에 대하여, 상기 복수의 요소 중 제1 요소 이전에 포함되는 요소의 일치 여부 및 상기 제1 요소 이후에 포함되는 요소의 일치 여부에 따라 제7 스코어를 산출하고,
상기 기준 텍스트 및 상기 영역에 대하여, 상기 복수의 요소 중 제2 요소 이전에 포함되는 요소의 일치 여부 및 상기 제2 요소 이후에 포함되는 요소의 일치 여부에 따라 제8 스코어를 산출하고,
상기 산출된 제6 스코어, 제7 스코어, 및 제8 스코어를 기반으로 상기 기준 텍스트에 대한 상기 영역의 유사도를 산출하는, 전자 장치. - 삭제
- 전자 장치의 제어 방법에 있어서,
단어, 음절, 개체명, 패턴 및 위치 정보 중 적어도 하나를 기반으로 텍스트 간의 유사성을 비교하기 위한 복수의 규칙 중, 기준 텍스트를 통해 제공되는 전자 장치의 기능에 매칭되는 적어도 하나의 규칙을 선택하는 단계; 및
상기 선택된 규칙을 기반으로 상기 기준 텍스트와 비교대상 텍스트를 비교하는 단계;를 포함하고
상기 비교하는 단계는
상기 선택된 규칙을 기반으로 상기 기준 텍스트와 상기 비교대상 텍스트를 비교하여, 상기 비교대상 텍스트 내에서 상기 기준 텍스트와 매칭되는 적어도 하나의 영역을 추출하되,
상기 선택된 규칙을 기반으로, 상기 비교대상 텍스트 내에서 상기 기준 텍스트에 포함된 단어, 음절, 개체명 또는 패턴을 기설정된 개수 이상 포함하는 적어도 하나의 제1 영역을 식별하는 단계;
상기 선택된 규칙을 기반으로, 상기 식별된 제1 영역의 상기 기준 텍스트에 대한 유사도를 산출하는 단계; 및
상기 산출된 유사도가 임계치 이상인 경우, 상기 식별된 제1 영역을 기반으로 상기 기준 텍스트와 매칭되는 영역을 추출하는 단계;를 포함하고,
상기 복수의 규칙은 단어, 음절, 개체명, 패턴 및 위치정보 중 선택되는 지표의 종류 및 선택된 각 지표에 대해 적용되는 구성비에 따라 구분되는 개별 규칙들을 포함하고
상기 전자 장치의 기능은
상담 내용의 품질 평가, 유사한 내용의 분류, 문서 간의 교집합 추출, 문서 내 문장의 사용빈도 추출, 검색 중 적어도 하나에 해당하는, 전자 장치의 제어 방법. - 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 있어서,
전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금 제11항의 제어 방법을 수행하도록 하는, 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185861A KR102564316B1 (ko) | 2020-12-29 | 2020-12-29 | 문서 간 유사 영역을 식별하는 전자 장치, 제어 방법, 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185861A KR102564316B1 (ko) | 2020-12-29 | 2020-12-29 | 문서 간 유사 영역을 식별하는 전자 장치, 제어 방법, 및 컴퓨터 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220094550A KR20220094550A (ko) | 2022-07-06 |
KR102564316B1 true KR102564316B1 (ko) | 2023-08-07 |
Family
ID=82400583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200185861A KR102564316B1 (ko) | 2020-12-29 | 2020-12-29 | 문서 간 유사 영역을 식별하는 전자 장치, 제어 방법, 및 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102564316B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102085217B1 (ko) | 2019-10-14 | 2020-03-04 | (주)디앤아이파비스 | 특허문서의 유사도 판단 방법, 장치 및 시스템 |
KR102085216B1 (ko) | 2019-10-02 | 2020-03-04 | (주)디앤아이파비스 | 단어의 중요도 스코어 산출 방법, 장치 및 컴퓨터프로그램 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100084403A (ko) * | 2009-01-16 | 2010-07-26 | 울산대학교 산학협력단 | 문서의 유사도 결정 방법 및 이를 이용한 단말 장치 |
KR101545273B1 (ko) | 2014-12-10 | 2015-08-20 | 주식회사 와이즈넛 | 클러스터링 및 해싱을 이용하여 빅데이터 텍스트의 중복여부를 검출하는 중복문서 검출장치 및 방법 |
KR20160128624A (ko) * | 2015-04-29 | 2016-11-08 | 주식회사 데이타솔루션 | 전자 문서 간 내용의 중복성 검토를 위한 전자적 방법 및 그 시스템 |
-
2020
- 2020-12-29 KR KR1020200185861A patent/KR102564316B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102085216B1 (ko) | 2019-10-02 | 2020-03-04 | (주)디앤아이파비스 | 단어의 중요도 스코어 산출 방법, 장치 및 컴퓨터프로그램 |
KR102085217B1 (ko) | 2019-10-14 | 2020-03-04 | (주)디앤아이파비스 | 특허문서의 유사도 판단 방법, 장치 및 시스템 |
Non-Patent Citations (1)
Title |
---|
성기윤 외 1명, "개체명을 이용한 주제기반 웹 문서 클러스터링", 한국콘텐츠학회논문지 '10 Vol. 10 No. 5, 2010.5., pp.29-36. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220094550A (ko) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9483460B2 (en) | Automated formation of specialized dictionaries | |
RU2613846C2 (ru) | Метод и система извлечения данных из изображений слабоструктурированных документов | |
JP4701292B2 (ja) | テキスト・データに含まれる固有表現又は専門用語から用語辞書を作成するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
US8983963B2 (en) | Techniques for comparing and clustering documents | |
US9875254B2 (en) | Method for searching for, recognizing and locating a term in ink, and a corresponding device, program and language | |
JP6906641B2 (ja) | 音声検索・認識方法及び装置 | |
CN111767716B (zh) | 企业多级行业信息的确定方法、装置及计算机设备 | |
US20080104506A1 (en) | Method for producing a document summary | |
US9965460B1 (en) | Keyword extraction for relationship maps | |
US20220343077A1 (en) | Method for displaying entity-associated information based on electronic book and electronic device | |
Atia et al. | Increasing the accuracy of opinion mining in Arabic | |
CN110309504B (zh) | 基于分词的文本处理方法、装置、设备及存储介质 | |
Dwivedi et al. | Sentiment analytics for crypto pre and post covid: topic modeling | |
CN112149387A (zh) | 财务数据的可视化方法、装置、计算机设备及存储介质 | |
CN113988057A (zh) | 基于概念抽取的标题生成方法、装置、设备及介质 | |
Fatima et al. | New graph-based text summarization method | |
EP3752929A1 (en) | Computer-implemented methods, computer-readable media, and systems for identifying causes of loss | |
KR102564316B1 (ko) | 문서 간 유사 영역을 식별하는 전자 장치, 제어 방법, 및 컴퓨터 프로그램 | |
US20190042568A1 (en) | Method, apparatus, and computer-readable medium for determining a data domain associated with data | |
CN109977391A (zh) | 一种文本数据的信息抽取方法及装置 | |
JP3787310B2 (ja) | キーワード決定方法、装置、プログラム、および記録媒体 | |
WO2020082612A1 (zh) | 利用大数据的证券研报情感分析方法、装置及计算机设备 | |
CN112949287B (zh) | 热词挖掘方法、系统、计算机设备和存储介质 | |
CN115129864A (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN113919352A (zh) | 数据库敏感数据识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |