KR102523767B1 - Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102523767B1
KR102523767B1 KR1020200153492A KR20200153492A KR102523767B1 KR 102523767 B1 KR102523767 B1 KR 102523767B1 KR 1020200153492 A KR1020200153492 A KR 1020200153492A KR 20200153492 A KR20200153492 A KR 20200153492A KR 102523767 B1 KR102523767 B1 KR 102523767B1
Authority
KR
South Korea
Prior art keywords
sentence
sentences
bleu
score
ratio
Prior art date
Application number
KR1020200153492A
Other languages
English (en)
Other versions
KR20220067130A (ko
Inventor
안치연
조성윤
Original Assignee
주식회사 한글과컴퓨터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한글과컴퓨터 filed Critical 주식회사 한글과컴퓨터
Priority to KR1020200153492A priority Critical patent/KR102523767B1/ko
Publication of KR20220067130A publication Critical patent/KR20220067130A/ko
Application granted granted Critical
Publication of KR102523767B1 publication Critical patent/KR102523767B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3337Translation of the query language, e.g. Chinese to English
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법이 개시된다. 본 발명은 전자 문서에 포함된 복수의 문장들 각각과 사용자에 의해 입력된 특정 문장 간의 BLEU 스코어를 연산하고, 상기 복수의 문장들 중 상기 특정 문장과의 BLEU 스코어가 높은 순서대로 특정 비율만큼 문장들을 추출한 후 상기 추출된 문장들을 검색 결과로 화면 상에 표시할 수 있는 전자 장치 및 그 동작 방법에 대한 것이다.

Description

BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법{ELECTRONIC APPARATUS THAT PERFORMS A SEARCH FOR SIMILAR SENTENCES BASED ON THE BLEU SCORE AND OPERATING METHOD THEREOF}
본 발명은 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법에 대한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등이 널리 보급됨에 따라, 이러한 전자 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
관련하여, 사용자는 전자 문서 관련 프로그램 상에서 다수의 페이지로 구성된 전자 문서를 편집하는 중, 화면 상에 표시되고 있는 전자 문서의 부분에서 떠오르는 문장을 입력하여 검색하려는 경우, 해당 문장과 관련된 키워드를 검색함에 따라 해당 키워드가 삽입되어 있는 전자 문서의 페이지로 화면이 이동하도록 지원하는 '텍스트 검색 기능'을 활용할 수 있다.
다만, 기존의 전자 문서 관련 프로그램들은 텍스트 검색 기능만을 지원할 뿐, 문장 검색 기능은 지원하지 않아 사용자가 전자 문서에 삽입된 다수의 문장들 중 떠오르는 문장과 유사한 문장들을 검색하려는 경우, 전자 문서 전체에 삽입된 문장들을 하나씩 확인하여 찾아낼 수 밖에 없다는 불편함이 존재하였다.
한편, 최근에는 기계 번역기의 성능 및 품질을 평가하기 위한 정량적 지수로 BLEU(Bilingual Evaluation Understudy) 스코어가 활용되고 있다. 여기서, BLEU 스코어는 기계가 번역한 문장과 정답 문장 간의 정확도를 의미하는 수치로, 기계 번역기가 번역한 문장이 사람이 정한 정답 문장과 유사할수록 더 높은 BLEU 스코어가 산출되게 된다.
관련해서, 이러한 BLEU 스코어를 활용하여 사용자가 검색하려는 문장과 전자 문서 전체에 삽입된 문장들을 비교한 후 문장 유사도가 높은 문장을 검색 결과로 추출할 수 있다면, 사용자에게 문장 검색 기능을 제공할 수 있을 것이다.
따라서, BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행할 수 있는 유사 문장 검색 기술에 대한 연구가 필요하다.
본 발명에 따른 전자 장치 및 그 동작 방법은 전자 문서에 포함된 복수의 문장들 각각과 사용자에 의해 입력된 특정 문장 간의 BLEU 스코어를 연산하고, 상기 복수의 문장들 중 상기 특정 문장과의 BLEU 스코어가 높은 순서대로 특정 비율만큼 문장들을 추출한 후 상기 추출된 문장들을 검색 결과로 화면 상에 표시함으로써, 전자 문서에서 문장 기반의 검색이 가능하도록 지원하고자 한다.
본 발명의 일실시예에 따른 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치는 사용자로부터 제1 문장이 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들 중 상기 제1 문장과 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 수신되면, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산하는 스코어 연산부, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제1 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출하는 문장 추출부 및 상기 제1 비율만큼 추출된 문장들을 목록으로 구성한 후 상기 목록을 상기 제1 문장에 대한 검색 결과로 화면 상에 표시하는 표시부를 포함한다.
또한, 본 발명의 일실시예에 따른 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 동작 방법은 사용자로부터 제1 문장이 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들 중 상기 제1 문장과 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 수신되면, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산하는 단계, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제1 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출하는 단계 및 상기 제1 비율만큼 추출된 문장들을 목록으로 구성한 후 상기 목록을 상기 제1 문장에 대한 검색 결과로 화면 상에 표시하는 단계를 포함한다.
본 발명에 따른 전자 장치 및 그 동작 방법은 전자 문서에 포함된 복수의 문장들 각각과 사용자에 의해 입력된 특정 문장 간의 BLEU 스코어를 연산하고, 상기 복수의 문장들 중 상기 특정 문장과의 BLEU 스코어가 높은 순서대로 특정 비율만큼 문장들을 추출한 후 상기 추출된 문장들을 검색 결과로 화면 상에 표시함으로써, 전자 문서에서 문장 기반의 검색이 가능하도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 전자 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 전자 장치(110)는 스코어 연산부(111), 문장 추출부(112) 및 표시부(113)를 포함한다.
스코어 연산부(111)는 사용자로부터 제1 문장이 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들 중 상기 제1 문장과 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 수신되면, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산한다.
여기서, BLEU 스코어란 두 문장 간의 유사도를 나타내는 지표를 의미한다.
이때, 본 발명의 일실시예에 따르면, 스코어 연산부(111)는 상기 복수의 문장들 각각과 상기 제1 문장 간의 어절 N-gram 기반의 정밀도(precision)를 1-gram 정밀도부터 k(k는 2이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 k개의 정밀도들을 산출한 후 하기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산할 수 있다.
Figure 112020122970535-pat00001
여기서,
Figure 112020122970535-pat00002
는 상기 복수의 문장들 중 i번째 문장과 상기 제1 문장 간의 BLEU 스코어,
Figure 112020122970535-pat00003
는 상기 제1 문장의 어절 수,
Figure 112020122970535-pat00004
는 상기 복수의 문장들 중 i번째 문장의 어절 수,
Figure 112020122970535-pat00005
는 상기 복수의 문장들 중 i번째 문장과 상기 제1 문장 사이의 1-gram 정밀도부터 k-gram 정밀도까지의 k개의 정밀도들 중 s-gram 정밀도를 의미한다.
문장 추출부(112)는 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제1 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출한다.
표시부(113)는 상기 제1 비율만큼 추출된 문장들을 목록으로 구성한 후 상기 목록을 상기 제1 문장에 대한 검색 결과로 화면 상에 표시한다.
예컨대, 복수의 문장들을 '문장 1(여기서, 상기 문장 1은 '성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다'인 것으로 가정함), 문장 2, 문장 3, ..., 문장 30'이라고 하고, 제1 문장을 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'라고 하며, 'k=4'라고 가정하자.
이때, 사용자로부터 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'가 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 중 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'와 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 전자 장치(110)에 수신되면, 스코어 연산부(111)는 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 어절 N-gram 기반의 정밀도를 1-gram 정밀도부터 4-gram 정밀도까지 연산함으로써, 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 4개의 정밀도들을 산출할 수 있다.
그 이후, 스코어 연산부(111)는 상기의 수학식 1에 따라 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 BLEU 스코어를 연산할 수 있다.
이와 관련해서, 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 중 '문장 1'인 '성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다'와 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 BLEU 스코어인 'BLEU(1)'을 연산하는 과정을 설명하면 다음과 같다.
우선, 상기 '문장 1'과 상기 사용자로부터 검색어로 입력된 상기 제1 문장을 서로 나란히 기재하면, 하기의 표 1과 같이 나타낼 수 있다. 그리고, 하기의 표 1에서 밑줄로 표시한 어절은 상기 '문장 1'과 상기 제1 문장 사이에서 서로 일치하는 어절이다.
'문장 1' 성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 우울증이 심해질 확률이 훨씬 높았다
제1 문장 성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 강박증이 심해질 가능성이 훨씬 높았다
이때, N-gram 정밀도는
Figure 112020122970535-pat00006
로 연산될 수 있다. 따라서, 1-gram 정밀도는 상기 제1 문장에서의 모든 1-gram쌍이 '성격이', '불같은', '어른은', '곤란한', '처지에서', '다른', '사람과', '비교할', '때', '강박증이', '심해질', '가능성이', '훨씬', '높았다'로 총 14개이고, 상기 제1 문장에서 상기 '문장 1'과 서로 일치하는 1-gram쌍이 '성격이', '불같은', '곤란한', '다른', '사람과', '비교할', '때', '심해질', '훨씬', '높았다'로 10개이므로, '10/14'으로 연산될 수 있다.
그리고, 2-gram 정밀도는 상기 제1 문장에서의 모든 2-gram쌍이 '성격이 불같은', '불같은 어른은', '어른은 곤란한', '곤란한 처지에서', '처지에서 다른', '다른 사람과', '사람과 비교할', '비교할 때', '때 강박증이', '강박증이 심해질', '심해질 가능성이', '가능성이 훨씬', '훨씬 높았다'로 총 13개이고, 상기 제1 문장에서 상기 '문장 1'과 서로 일치하는 2-gram쌍이 '성격이 불같은', '다른 사람과', '사람과 비교할', '비교할 때', '훨씬 높았다'로 5개이므로, '5/13'로 연산될 수 있다.
그리고, 3-gram 정밀도는 상기 제1 문장에서의 모든 3-gram쌍이 '성격이 불같은 어른은', '불같은 어른은 곤란한', '어른은 곤란한 처지에서', '곤란한 처지에서 다른', '처지에서 다른 사람과', '다른 사람과 비교할', '사람과 비교할 때', '비교할 때 강박증이', '때 강박증이 심해질', '강박증이 심해질 가능성이', '심해질 가능성이 훨씬', '가능성이 훨씬 높았다'로 총 12개이고, 상기 제1 문장에서 상기 '문장 1'과 서로 일치하는 3-gram쌍이 '다른 사람과 비교할', '사람과 비교할 때'로 2개이므로, '2/12'로 연산될 수 있다.
마지막으로, 4-gram 정밀도는 상기 제1 문장에서의 모든 4-gram쌍이 '성격이 불같은 어른은 곤란한', '불같은 어른은 곤란한 처지에서', '어른은 곤란한 처지에서 다른', '곤란한 처지에서 다른 사람과', '처지에서 다른 사람과 비교할', '다른 사람과 비교할 때', '사람과 비교할 때 강박증이', '비교할 때 강박증이 심해질', '때 강박증이 심해질 가능성이', '강박증이 심해질 가능성이 훨씬', '심해질 가능성이 훨씬 높았다'로 총 11개이고, 상기 제1 문장에서 상기 '문장 1'과 서로 일치하는 4-gram쌍이 '다른 사람과 비교할 때'로 1개이므로, '1/11'로 연산될 수 있다.
이렇게, 1-gram 정밀도가 '10/14', 2-gram 정밀도가 '5/13', 3-gram 정밀도가 '2/12', 4-gram 정밀도가 '1/11'로 연산되면, 스코어 연산부(111)는 상기 제1 문장과 상기 '문장 1'의 어절 수가 각각 14개이기 때문에 상기의 수학식 1을 기초로 하기의 수학식 2에서와 같은 BLEU 스코어인 'BLEU(1)'을 연산할 수 있다.
Figure 112020122970535-pat00007
이러한 방식으로, 스코어 연산부(111)는 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 BLEU 스코어를 'BLEU(1)(0.254), BLEU(2), BLEU(3), ..., BLEU(30)'과 같이 연산할 수 있다.
이렇게, 스코어 연산부(111)에 의해 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 BLEU 스코어가 'BLEU(1)(0.254), BLEU(2), BLEU(3), ..., BLEU(30)'과 같이 연산되면, 문장 추출부(112)는 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 중 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'와의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출할 수 있다.
만약, 상기 제1 비율을 '1/3'이라고 하고, 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'와의 BLEU 스코어 중 'BLEU(1)(0.254), BLEU(3), BLEU(5), BLEU(7), BLEU(9), BLEU(11), BLEU(13), BLEU(15), BLEU(17), BLEU(19), ...' 순서대로 BLEU 스코어가 높다고 가정하는 경우, 문장 추출부(112)는 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 중 상기 제1 비율인 '1/3'만큼의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19'를 추출할 수 있다.
그러고 나서, 표시부(113)는 상기 제1 비율인 '1/3'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19'를 목록으로 구성한 후 상기 목록을 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'에 대한 검색 결과로 화면 상에 표시할 수 있다.
이를 통해, 사용자는 상기 화면 상에 표시되어 있는 상기 제1 비율만큼 추출된 문장들을 확인함으로써, 상기 제1 문장과 유사한 문장들에 대한 정보를 손쉽게 획득할 수 있다.
본 발명의 일실시예에 따르면, 스코어 연산부(111)는 테이블 유지부(114) 및 보정 연산부(115)를 더 포함할 수 있다.
테이블 유지부(114)는 상기 k개의 정밀도들 각각에 대응되는 사전 설정된 서로 다른 가중치가 기록되어 있는 가중치 테이블을 저장하여 유지한다.
여기서, 상기 k개의 정밀도들 각각에 대응되는 가중치는 0초과 1이하의 값으로 구성되어 있다.
예컨대, k를 '4'라고 하고, 1-gram 정밀도부터 4-gram 정밀도까지의 4개의 정밀도들이 존재한다고 하는 경우, 테이블 유지부(114)는 하기의 표 2와 같이 가중치 테이블을 저장하여 유지하고 있을 수 있다.
4개의 정밀도들 가중치
1-gram 0.6
2-gram 0.2
3-gram 0.1
4-gram 0.1
보정 연산부(115)는 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 상기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산한다.
예컨대, 전술한 예와 같이, 상기 '문장 1'인 '성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다'와 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 상기 4개의 정밀도들이 'P1 (1)(10/14), P2 (1)(5/13), P3 (1)(2/12), P4 (1)(1/11)'과 같이 산출되었다고 하는 경우, 보정 연산부(115)는 상기 표 2와 같은 가중치 테이블을 참조하여 상기 '문장 1'인 '성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다'와 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 상기 4개의 정밀도들인 '10/14, 5/13, 2/12, 1/11'에 대해, 각 정밀도인 '1-gram, 2-gram, 3-gram, 4-gram'에 대응되는 가중치인 '0.6, 0.2, 0.1, 0.1'을 곱함으로써, 상기 '문장 1'인 '성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다'와 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 상기 4개의 정밀도들인 '10/14, 5/13, 2/12, 1/11'에 대한 보정을 '60/140, 10/130, 2/120, 1/110'과 같이 수행할 수 있다.
이러한 방식으로, 보정 연산부(115)는 나머지 문장들인 '문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 상기 4개의 정밀도들이 'P1 (2), P2 (2), P3 (2), P4 (2)', 'P1 (3), P2 (3), P3 (3), P4 (3)', ..., 'P1 (30), P2 (30), P3 (30), P4 (30)'과 같이 산출되는 경우, 상기 표 2와 같은 가중치 테이블을 참조하여 상기 나머지 문장들인 '문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 상기 4개의 정밀도들인 'P1 (2), P2 (2), P3 (2), P4 (2)', 'P1 (3), P2 (3), P3 (3), P4 (3)', ..., 'P1 (30), P2 (30), P3 (30), P4 (30)'에 대해 각 정밀도인 '1-gram, 2-gram, 3-gram, 4-gram'에 대응되는 가중치인 '0.6, 0.2, 0.1, 0.1'을 곱함으로써, 상기 나머지 문장들인 '문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 상기 4개의 정밀도들인 'P1 (2), P2 (2), P3 (2), P4 (2)', 'P1 (3), P2 (3), P3 (3), P4 (3)', ..., 'P1 (30), P2 (30), P3 (30), P4 (30)'에 대한 보정을 '0.6P1 (2), 0.2P2 (2), 0.1P3 (2), 0.1P4 (2)', '0.6P1 (3), 0.2P2 (3), 0.1P3 (3), 0.1P4 (3)', ..., '0.6P1 (30), 0.2P2 (30), 0.1P3 (30), 0.1P4 (30)'과 같이 수행할 수 있다.
그 이후, 보정 연산부(115)는 상기의 수학식 1에 따라 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 간의 BLEU 스코어를 연산할 수 있다.
즉, 보정 연산부(115)는 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산할 때, 상기 복수의 문장들 각각과 상기 제1 문장 간의 k개의 정밀도들에 대해 상기 k개의 정밀도들 각각에 대응되는 서로 다른 가중치를 곱함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 보정하여 연산할 수 있다.
본 발명의 일실시예에 따르면, 전자 장치(110)는 문장 선택부(116), 추가 스코어 연산부(117), 추가 추출부(118), 문장 선별부(119) 및 추가 표시부(120)를 더 포함할 수 있다.
문장 선택부(116)는 표시부(113)에 의해 상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 제1 비율만큼 추출된 문장들 중 상기 제1 문장과의 BLEU 스코어가 가장 높은 제2 문장을 선택한다.
추가 스코어 연산부(117)는 상기 제2 문장이 선택되면, 상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어를 연산한다.
추가 추출부(118)는 상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제2 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제2 비율만큼 문장들을 추출한다.
문장 선별부(119)는 상기 제1 비율만큼 추출된 문장들과 상기 제2 비율만큼 추출된 문장들을 서로 비교하여 상기 제2 비율만큼 추출된 문장들 중 상기 제1 비율만큼 추출된 문장들과 중복되지 않은 문장들을 선별한다.
추가 표시부(120)는 상기 선별된 문장들을 참고 목록으로 구성한 후 상기 참고 목록을 상기 제1 문장에 대한 참고 검색 결과로 상기 화면 상에 추가로 표시한다.
예컨대, 전술한 예에 따라, 표시부(113)에 의해 상기 제1 비율인 '1/3'만큼 추출된 문장들로 구성된 상기 목록이 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'에 대한 검색 결과로 상기 화면 상에 표시되었다고 하는 경우, 문장 선택부(116)는 상기 제1 비율인 '1/3'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19' 중 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'와의 BLEU 스코어가 가장 높은 제2 문장을 선택할 수 있다.
이때, 문장 선택부(116)에 의해 상기 제2 문장으로 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다)'이 선택되었다고 하는 경우, 추가 스코어 연산부(117)는 상기 수학식 1에 따라 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제2 문장인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다)' 간의 BLEU 스코어를 'BLEU(1'), BLEU(2'), BLEU(3'), ..., BLEU(30')'과 같이 연산할 수 있다.
이렇게, 추가 스코어 연산부(117)에 의해 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 각각과 상기 제2 문장인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다)' 간의 BLEU 스코어가 'BLEU(1'), BLEU(2'), BLEU(3'), ..., BLEU(30')'과 같이 연산되면, 추가 추출부(118)는 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 중 상기 제2 문장인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다)'과의 BLEU 스코어가 높은 순서대로 사전 설정된 제2 비율만큼 문장들을 추출할 수 있다.
만약, 상기 제2 비율을 '1/6'이라고 하고, 상기 제2 문장인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다)'과의 BLEU 스코어 중 'BLEU(1'), BLEU(5'), BLEU(9'), BLEU(14'), BLEU(16'), ...' 순서대로 BLEU 스코어가 높다고 가정하는 경우, 추가 추출부(118)는 상기 복수의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 2, 문장 3, ..., 문장 30' 중 상기 제2 비율인 '1/6'만큼의 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 5, 문장 9, 문장 14, 문장 16'을 추출할 수 있다.
그 이후, 문장 선별부(119)는 상기 제1 비율인 '1/3'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19'와 상기 제2 비율인 '1/6'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 5, 문장 9, 문장 14, 문장 16'을 서로 비교하여, 상기 제2 비율인 '1/6'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 5, 문장 9, 문장 14, 문장 16' 중 상기 제1 비율인 '1/3'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19'와 중복되지 않은 문장들인 '문장 14, 문장 16'을 선별할 수 있다.
그러고 나서, 추가 표시부(120)는 상기 선별된 문장들인 '문장 14, 문장 16'을 참고 목록으로 구성한 후 상기 참고 목록을 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'에 대한 참고 검색 결과로 상기 화면 상에 추가로 표시할 수 있다.
본 발명의 일실시예에 따르면, 전자 장치(110)는 강조 서식 표시부(121)를 더 포함할 수 있다.
강조 서식 표시부(121)는 표시부(113)에 의해 상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 사용자로부터 상기 제1 비율만큼 추출된 문장들 중 어느 하나인 제3 문장에 대한 선택 명령이 수신되면, 상기 제1 비율만큼 추출된 문장들 중 상기 제3 문장과 상기 제1 문장 사이에 연산된 BLEU 스코어 이상의 BLEU 스코어를 갖는 문장들을 선정한 후 상기 선정된 문장들의 글꼴 서식을 사전 설정된 강조 서식으로 적용하여 표시한다.
예컨대, 전술한 예에 따라, 표시부(113)에 의해 상기 제1 비율인 '1/3'만큼 추출된 문장들로 구성된 상기 목록이 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다'에 대한 검색 결과로 상기 화면 상에 표시되었다고 가정하자. 이때, 상기 사용자로부터 상기 제1 비율인 '1/3'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19' 중 어느 하나의 제3 문장으로 '문장 7'에 대한 선택 명령이 전자 장치(110)에 수신되었다고 하는 경우, 강조 서식 표시부(121)는 상기 제1 비율인 '1/3'만큼 추출된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5, 문장 7, 문장 9, 문장 11, 문장 13, 문장 15, 문장 17, 문장 19' 중 상기 제3 문장인 '문장 7'과 상기 제1 문장인 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다' 사이에 연산된 BLEU 스코어인 'BLEU(7)' 이상의 BLEU 스코어를 갖는 문장들을 선정할 수 있다.
관련해서, 'BLEU(7)' 이상의 BLEU 스코어를 갖는 문장들로 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5'가 선정되었다고 하는 경우, 강조 서식 표시부(121)는 상기 선정된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5'의 글꼴 서식을 사전 설정된 강조 서식으로 적용하여 표시할 수 있다.
이때, 상기 강조 서식을 '밑줄'이라고 가정하면, 강조 서식 표시부(121)는 상기 선정된 문장들인 '문장 1(성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다), 문장 3, 문장 5'의 글꼴 서식을 상기 강조 서식인 '밑줄'로 적용하여 표시할 수 있다.
즉, 본 발명에 따른 전자 장치(110)는 상기 제1 비율만큼 추출된 문장들이 상기 화면 상에 표시된 이후, 사용자가 상기 제1 비율만큼 추출된 문장들 중 어느 하나의 문장을 보고자 하는 경우, 해당 문장과 상기 제1 문장 간의 BLEU 스코어 이상의 BLEU 스코어를 갖는 문장들에 대해 소정의 강조 서식을 적용하여 상기 화면 상에 표시해 줌으로써, 사용자로 하여금 BLUE 스코어가 상대적으로 높은 문장들만을 빠르게 확인할 수 있도록 지원할 수 있다.
도 2는 본 발명의 일실시예에 따른 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 사용자로부터 제1 문장이 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들 중 상기 제1 문장과 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 수신되면, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산한다.
단계(S220)에서는 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제1 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출한다.
단계(S230)에서는 상기 제1 비율만큼 추출된 문장들을 목록으로 구성한 후 상기 목록을 상기 제1 문장에 대한 검색 결과로 화면 상에 표시한다.
이때, 본 발명의 일실시예에 따르면, 단계(S210)에서는 상기 복수의 문장들 각각과 상기 제1 문장 간의 어절 N-gram 기반의 정밀도를 1-gram 정밀도부터 k(k는 2이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 k개의 정밀도들을 산출한 후 상기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단계(S210)에서는 상기 k개의 정밀도들 각각에 대응되는 사전 설정된 서로 다른 가중치(상기 k개의 정밀도들 각각에 대응되는 가중치는 0초과 1이하의 값으로 구성되어 있음)가 기록되어 있는 가중치 테이블을 저장하여 유지하는 단계 및 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 상기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 제1 비율만큼 추출된 문장들 중 상기 제1 문장과의 BLEU 스코어가 가장 높은 제2 문장을 선택하는 단계, 상기 제2 문장이 선택되면, 상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어를 연산하는 단계, 상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제2 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제2 비율만큼 문장들을 추출하는 단계, 상기 제1 비율만큼 추출된 문장들과 상기 제2 비율만큼 추출된 문장들을 서로 비교하여 상기 제2 비율만큼 추출된 문장들 중 상기 제1 비율만큼 추출된 문장들과 중복되지 않은 문장들을 선별하는 단계 및 상기 선별된 문장들을 참고 목록으로 구성한 후 상기 참고 목록을 상기 제1 문장에 대한 참고 검색 결과로 상기 화면 상에 추가로 표시하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 사용자로부터 상기 제1 비율만큼 추출된 문장들 중 어느 하나인 제3 문장에 대한 선택 명령이 수신되면, 상기 제1 비율만큼 추출된 문장들 중 상기 제3 문장과 상기 제1 문장 사이에 연산된 BLEU 스코어 이상의 BLEU 스코어를 갖는 문장들을 선정한 후 상기 선정된 문장들의 글꼴 서식을 사전 설정된 강조 서식으로 적용하여 표시하는 단계를 더 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 전자 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 장치의 동작 방법은 도 1을 이용하여 설명한 전자 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 전자 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 전자 장치
111: 스코어 연산부 112: 문장 추출부
113: 표시부 114: 테이블 유지부
115: 보정 연산부 116: 문장 선택부
117: 추가 스코어 연산부 118: 추가 추출부
119: 문장 선별부 120: 추가 표시부
121: 강조 서식 표시부

Claims (12)

  1. 사용자로부터 제1 문장이 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들 중 상기 제1 문장과 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 수신되면, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산하는 스코어 연산부;
    상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제1 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출하는 문장 추출부;
    상기 제1 비율만큼 추출된 문장들을 목록으로 구성한 후 상기 목록을 상기 제1 문장에 대한 검색 결과로 화면 상에 표시하는 표시부;
    상기 표시부에 의해 상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 제1 비율만큼 추출된 문장들 중 상기 제1 문장과의 BLEU 스코어가 가장 높은 제2 문장을 선택하는 문장 선택부;
    상기 제2 문장이 선택되면, 상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어를 연산하는 추가 스코어 연산부;
    상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제2 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제2 비율만큼 문장들을 추출하는 추가 추출부;
    상기 제1 비율만큼 추출된 문장들과 상기 제2 비율만큼 추출된 문장들을 서로 비교하여 상기 제2 비율만큼 추출된 문장들 중 상기 제1 비율만큼 추출된 문장들과 중복되지 않은 문장들을 선별하는 문장 선별부; 및
    상기 선별된 문장들을 참고 목록으로 구성한 후 상기 참고 목록을 상기 제1 문장에 대한 참고 검색 결과로 상기 화면 상에 추가로 표시하는 추가 표시부
    를 포함하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치.
  2. 제1항에 있어서,
    상기 스코어 연산부는
    상기 복수의 문장들 각각과 상기 제1 문장 간의 어절 N-gram 기반의 정밀도(precision)를 1-gram 정밀도부터 k(k는 2이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 k개의 정밀도들을 산출한 후 하기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치.
    [수학식 1]
    Figure 112020122970535-pat00008

    여기서,
    Figure 112020122970535-pat00009
    는 상기 복수의 문장들 중 i번째 문장과 상기 제1 문장 간의 BLEU 스코어,
    Figure 112020122970535-pat00010
    는 상기 제1 문장의 어절 수,
    Figure 112020122970535-pat00011
    는 상기 복수의 문장들 중 i번째 문장의 어절 수,
    Figure 112020122970535-pat00012
    는 상기 복수의 문장들 중 i번째 문장과 상기 제1 문장 사이의 1-gram 정밀도부터 k-gram 정밀도까지의 k개의 정밀도들 중 s-gram 정밀도를 의미함.
  3. 제2항에 있어서,
    상기 스코어 연산부는
    상기 k개의 정밀도들 각각에 대응되는 사전 설정된 서로 다른 가중치 - 상기 k개의 정밀도들 각각에 대응되는 가중치는 0초과 1이하의 값으로 구성되어 있음 - 가 기록되어 있는 가중치 테이블을 저장하여 유지하는 테이블 유지부; 및
    상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 상기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산하는 보정 연산부
    를 포함하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 표시부에 의해 상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 사용자로부터 상기 제1 비율만큼 추출된 문장들 중 어느 하나인 제3 문장에 대한 선택 명령이 수신되면, 상기 제1 비율만큼 추출된 문장들 중 상기 제3 문장과 상기 제1 문장 사이에 연산된 BLEU 스코어 이상의 BLEU 스코어를 갖는 문장들을 선정한 후 상기 선정된 문장들의 글꼴 서식을 사전 설정된 강조 서식으로 적용하여 표시하는 강조 서식 표시부
    를 더 포함하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치.
  6. 사용자로부터 제1 문장이 검색어로 입력되면서, 전자 문서에 포함된 복수의 문장들 중 상기 제1 문장과 유사한 문장을 검색하도록 지시하는 문장 검색 명령이 수신되면, 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산하는 단계;
    상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제1 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제1 비율만큼 문장들을 추출하는 단계;
    상기 제1 비율만큼 추출된 문장들을 목록으로 구성한 후 상기 목록을 상기 제1 문장에 대한 검색 결과로 화면 상에 표시하는 단계;
    상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 제1 비율만큼 추출된 문장들 중 상기 제1 문장과의 BLEU 스코어가 가장 높은 제2 문장을 선택하는 단계;
    상기 제2 문장이 선택되면, 상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어를 연산하는 단계;
    상기 복수의 문장들 각각과 상기 제2 문장 간의 BLEU 스코어가 연산되면, 상기 복수의 문장들 중 상기 제2 문장과의 BLEU 스코어가 높은 순서대로 사전 설정된 제2 비율만큼 문장들을 추출하는 단계;
    상기 제1 비율만큼 추출된 문장들과 상기 제2 비율만큼 추출된 문장들을 서로 비교하여 상기 제2 비율만큼 추출된 문장들 중 상기 제1 비율만큼 추출된 문장들과 중복되지 않은 문장들을 선별하는 단계; 및
    상기 선별된 문장들을 참고 목록으로 구성한 후 상기 참고 목록을 상기 제1 문장에 대한 참고 검색 결과로 상기 화면 상에 추가로 표시하는 단계
    를 포함하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 BLEU 스코어를 연산하는 단계는
    상기 복수의 문장들 각각과 상기 제1 문장 간의 어절 N-gram 기반의 정밀도(precision)를 1-gram 정밀도부터 k(k는 2이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 k개의 정밀도들을 산출한 후 하기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 동작 방법.
    [수학식 1]
    Figure 112020122970535-pat00013

    여기서,
    Figure 112020122970535-pat00014
    는 상기 복수의 문장들 중 i번째 문장과 상기 제1 문장 간의 BLEU 스코어,
    Figure 112020122970535-pat00015
    는 상기 제1 문장의 어절 수,
    Figure 112020122970535-pat00016
    는 상기 복수의 문장들 중 i번째 문장의 어절 수,
    Figure 112020122970535-pat00017
    는 상기 복수의 문장들 중 i번째 문장과 상기 제1 문장 사이의 1-gram 정밀도부터 k-gram 정밀도까지의 k개의 정밀도들 중 s-gram 정밀도를 의미함.
  8. 제7항에 있어서,
    상기 BLEU 스코어를 연산하는 단계는
    상기 k개의 정밀도들 각각에 대응되는 사전 설정된 서로 다른 가중치 - 상기 k개의 정밀도들 각각에 대응되는 가중치는 0초과 1이하의 값으로 구성되어 있음 - 가 기록되어 있는 가중치 테이블을 저장하여 유지하는 단계; 및
    상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 복수의 문장들 각각과 상기 제1 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 상기의 수학식 1에 따라 상기 복수의 문장들 각각과 상기 제1 문장 간의 BLEU 스코어를 연산하는 단계
    를 포함하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 동작 방법.
  9. 삭제
  10. 제6항에 있어서,
    상기 목록이 상기 제1 문장에 대한 검색 결과로 상기 화면 상에 표시된 이후, 상기 사용자로부터 상기 제1 비율만큼 추출된 문장들 중 어느 하나인 제3 문장에 대한 선택 명령이 수신되면, 상기 제1 비율만큼 추출된 문장들 중 상기 제3 문장과 상기 제1 문장 사이에 연산된 BLEU 스코어 이상의 BLEU 스코어를 갖는 문장들을 선정한 후 상기 선정된 문장들의 글꼴 서식을 사전 설정된 강조 서식으로 적용하여 표시하는 단계
    를 더 포함하는 BLEU 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치의 동작 방법.
  11. 제6항, 제7항, 제8항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항, 제7항, 제8항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020200153492A 2020-11-17 2020-11-17 Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법 KR102523767B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153492A KR102523767B1 (ko) 2020-11-17 2020-11-17 Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153492A KR102523767B1 (ko) 2020-11-17 2020-11-17 Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20220067130A KR20220067130A (ko) 2022-05-24
KR102523767B1 true KR102523767B1 (ko) 2023-04-21

Family

ID=81807358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153492A KR102523767B1 (ko) 2020-11-17 2020-11-17 Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102523767B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067378A (ja) 1999-06-23 2001-03-16 Sumitomo Electric Ind Ltd 文字列類似度算出方法、装置及び記録媒体
KR101414492B1 (ko) * 2011-06-21 2014-07-04 한국전자통신연구원 유사문장 검색장치 및 그 검색방법
JP2016218995A (ja) * 2015-05-25 2016-12-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機械翻訳方法、機械翻訳装置及びプログラム
JP2017188039A (ja) 2016-04-08 2017-10-12 Kddi株式会社 複数の類似度算出によってテキストの点数を推定するプログラム、装置及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101224660B1 (ko) * 2008-07-09 2013-01-21 고려대학교 산학협력단 유사 문장 검색 장치, 검색 방법, 저장 매체, 자동 대화서비스 시스템 및 서비스 방법
KR101449551B1 (ko) * 2011-10-19 2014-10-14 한국전자통신연구원 유사문장 검색 장치 및 방법, 유사문장 검색 방법을 실행시키기 위한 프로그램이 기록된 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067378A (ja) 1999-06-23 2001-03-16 Sumitomo Electric Ind Ltd 文字列類似度算出方法、装置及び記録媒体
KR101414492B1 (ko) * 2011-06-21 2014-07-04 한국전자통신연구원 유사문장 검색장치 및 그 검색방법
JP2016218995A (ja) * 2015-05-25 2016-12-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機械翻訳方法、機械翻訳装置及びプログラム
JP2017188039A (ja) 2016-04-08 2017-10-12 Kddi株式会社 複数の類似度算出によってテキストの点数を推定するプログラム、装置及び方法

Also Published As

Publication number Publication date
KR20220067130A (ko) 2022-05-24

Similar Documents

Publication Publication Date Title
US7774193B2 (en) Proofing of word collocation errors based on a comparison with collocations in a corpus
JP3820242B2 (ja) 質問応答型文書検索システム及び質問応答型文書検索プログラム
US8612206B2 (en) Transliterating semitic languages including diacritics
EP2713255B1 (en) Method and electronic device for prompting character input
JP2003223437A (ja) 正解語の候補の表示方法、スペルチェック方法、コンピュータ装置、プログラム
US20080077397A1 (en) Dictionary creation support system, method and program
JP6404511B2 (ja) 翻訳支援システム、翻訳支援方法、および翻訳支援プログラム
KR20100030547A (ko) 중문 문장 오류 검출 장치 및 방법
US20050131931A1 (en) Abstract generation method and program product
CN109815390B (zh) 多语言信息的检索方法、装置、计算机设备及计算机存储介质
JP2000200281A (ja) 情報検索装置および情報検索方法ならびに情報検索プログラムを記録した記録媒体
Kiros et al. Tigrigna language spellchecker and correction system for mobile phone devices
JP2009059140A (ja) 電子辞書、電子辞書の検索方法及び電子辞書の検索プログラム
JP5810814B2 (ja) 辞書機能を備えた電子機器、複合語検索方法、及びプログラム
KR102523767B1 (ko) Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법
CN107908792B (zh) 信息推送方法和装置
Dashti et al. Correcting real-word spelling errors: A new hybrid approach
JP2010009237A (ja) 多言語間類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
KR102523806B1 (ko) 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법
JP3935374B2 (ja) 辞書構築支援方法、装置及びプログラム
KR102300457B1 (ko) 자소 구분에 따른 레벨별 단어 제시를 통해 효율적인 타자 연습을 지원하는 전자 장치 및 그 동작 방법
KR102215613B1 (ko) 문서에 삽입된 텍스트를 구성하는 언어에 기반한 텍스트 검색을 가능하게 하는 전자 장치 및 그 동작 방법
Mahi et al. PURAN: word prediction system for Punjabi language news
JP4528818B2 (ja) 機械翻訳装置及び機械翻訳プログラム
JP3498635B2 (ja) 情報検索方法及びその装置並びにコンピュータ可読記録媒体

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