KR102025805B1 - 문서 유사도 분석 장치 및 방법 - Google Patents

문서 유사도 분석 장치 및 방법 Download PDF

Info

Publication number
KR102025805B1
KR102025805B1 KR1020170040243A KR20170040243A KR102025805B1 KR 102025805 B1 KR102025805 B1 KR 102025805B1 KR 1020170040243 A KR1020170040243 A KR 1020170040243A KR 20170040243 A KR20170040243 A KR 20170040243A KR 102025805 B1 KR102025805 B1 KR 102025805B1
Authority
KR
South Korea
Prior art keywords
similarity
document
core
nouns
phrase
Prior art date
Application number
KR1020170040243A
Other languages
English (en)
Other versions
KR20180110713A (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 KR1020170040243A priority Critical patent/KR102025805B1/ko
Publication of KR20180110713A publication Critical patent/KR20180110713A/ko
Application granted granted Critical
Publication of KR102025805B1 publication Critical patent/KR102025805B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F17/271
    • G06F17/2755
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Landscapes

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

Abstract

본 발명은 문서 유사도 분석 장치 및 방법에 관한 것으로, 더욱 상세하게는 짧은 글에서의 핵심 구절 추출을 통한 문서 유사도 분석 장치 및 방법에 관한 것이다. 본 발명은 인터넷 공간 안에 형성된 짧은 글에 대한 글의 의도를 분석하고 이를 통해 사용자가 원하는 의도에 맞는 글들만을 추려서 사용자에게 제공하여 효율적으로 관련 정보에 접근할 수 있다.

Description

문서 유사도 분석 장치 및 방법{DEVICE AND METHOD FOR ANALYZING SIMILARITY OF DOCUMENTS}
본 발명은 문서 유사도 분석 장치 및 방법에 관한 것으로, 더욱 상세하게는 짧은 글에서의 핵심 구절 추출을 통한 문서 유사도 분석 장치 및 방법에 관한 것이다.
최근 인터넷의 발달과 트위터, 페이스북, 커뮤니티 등과 같은 소셜 미디어의 인기로 인해 짧은 길이의 비정형(Unstructured) 텍스트들이 하루에 10억개씩 생성이 되고 있다. 하지만 이러한 정보의 방대함이 곧바로 사용자들이 원하는 정보를 편하게 찾을 수 있는 것을 의미하는 것은 아니며, 오히려 정보 과잉(Information overload) 문제를 발생시켜 다양한 주제에 관련된 문서에 대한 검색과 조직화를 어렵게 한다. 예를 들어 네이버(Naver)의 대표적인 서비스 중 하나인 지식iN 서비스를 살펴보자. 지식iN은 사용자간 지식 교류 서비스로, "사람 많은 곳에 가면 메르스 걸리나요"와 같은 질의를 작성하면 다른 사용자가 이를 보고 답변을 작성하는 서비스이다. 해당 서비스의 경우, 해당 질의와 유사한 단어들이 사용된 질의와 답변들만 찾을 뿐, 사용자의 의도(Intention)와 맞지 않는 결과를 제공할 수 있다는 한계를 가지고 있다. 인터넷을 통해 생성되고 있는 대부분의 비정형 텍스트 데이터는 짧은 글(Short text, Small text massages, or Short document)의 형태를 갖추고 있다. 이에 텍스트 마이닝(Text mining) 분야에서도 짧은 글을 분석하기 위한 다양한 연구들이 진행되고 있다. 특히, 문서 간 유사도를 비교하는 것은 문서 요약, 문서 분류, 자동 Q&A 시스템 구축 등 다양한 어플리케이션 영역에 활용될 수 있기 때문에 짧은 글 간 유사도(Similarity)를 비교하는 연구가 많이 이뤄지고 있다. 그러나 기존의 문서 유사도를 구하는 방법은 짧은 글에서 적절하게 동작하지 않을 수 있다. 왜냐하면, 짧은 글은 일반적인 문서와 달리 10~20개의 단어로 구성되어 있으며 구조적으로 완전한 문장으로 이뤄져 있지 않기 때문이다. 이처럼 분석에 필요한 정보가 적고, 구조적인 정보를 활용이 어렵다는 점에서 짧은 글의 문서간 유사도를 구할 때 기존 방법을 적용하기 어렵다.
또한, 기존의 한국어 분석 기술 역시 짧은 글의 유사도를 구하는데 적합하지 않다. 기존 한국어 분석 기술들은 명사를 중심으로 글의 유사도를 측정한다. 이는 명사와 고유명사가 어떠한 개념을 표현하는데 많은 의미를 담고 있기 때문이다. 즉, 명사나 고유명사에 이미 어느 정도 동사나 형용사의 의미를 내포하고 있기 때문에 분석이 어려운 동사나 형용사들을 활용하지 않고 명사를 중심으로 분석한다. 특히 긴 글의 경우 문서를 구성하는 명사의 수가 충분히 많기 때문에 명사만 활용하여 글의 유사도를 측정할 수 있다. 하지만, 짧은 글의 경우 글을 구성하는 명사의 수가 적어 문서간 비교가 어려울 수 있으며, 명사만으로 짧은 글의 의미를 파악하기 어렵다.
본 발명의 배경기술은 대한민국 공개특허 제 2009-0048261(2009년 5월 13일 공개)에 개시되어 있다.
본 발명은 통계적 분석을 활용하여 핵심 서술어를 추출하고, 이를 바탕으로 글의 의도를 나타내는 찾아낸 핵심 구절에 대한 의미 유사성 비교를 통해 짧은 글의 유사도를 계산하는 문서 유사도 분석 장치 및 방법을 제공한다.
본 발명은 사용자의 의도를 반영하여 유사한 문서들을 찾아낼 수 있어 Q&A나 고객센터와 같은 사용자 질의 중심 시스템의 자동화에 활용 가능하고, 사용자의 질의를 분석하여 사용자의 의도를 반영하는 콘텐츠를 찾을 수 있어 자동화된 사용자 질의 중심 시스템 구축에 공헌할 수 있는 문서 유사도 분석 장치 및 방법을 제공한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 문서 유사도 분석 장치가 제공된다.
본 발명의 일 실시 예에 따른 문서 유사도 분석 장치는 문서들을 수집하는 데이터 수집부, 수집된 문서들의 형태소 분석을 통하여 형태소 단위로 분할하고, 명사 및 서술어의 집합으로 변환하는 데이터 전처리부, 명사 및 서술어의 집합을 이용하여 문서들의 핵심 구절 및 전체 구절로 분류하는 구절 분류부, 핵심 구절 및 전체 구절을 각각 핵심 벡터 및 일반 벡터로 표현하는 문서 벡터 표현부 및 핵심 벡터 및 일반 벡터를 이용하여 핵심 유사도 및 일반 유사도를 산출하고 핵심 유사도 및 일반 유사도를 결합하여 유사도를 산출하는 유사도 산출부를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 문서 유사도 분석 방법 및 이를 실행하는 컴퓨터 프로그램이 제공된다.
본 발명의 일 실시 예에 따른 문서 유사도 분석 방법 및 이를 실행하는 컴퓨터 프로그램은 문서들을 수집하여 텍스트 데이터를 추출하는 단계, 각 문서의 형태소 분석을 통하여 명사 및 서술어를 추출하는 단계, 명사 및 서술어를 이용하여 핵심 구절 및 전체 구절을 분류하는 단계, 핵심 구절 및 전체 구절을 구성하는 단어들의 벡터 정보를 이용하여 핵심 구절의 핵심 벡터 및 전체 구절의 일반 벡터를 산출하는 단계 및 핵심 벡터 및 일반 벡터를 이용하여 핵심 유사도 및 일반 유사도를 산출하고 핵심 유사도 및 일반 유사도를 결합하여 문서 유사도를 분석하는 단계를 포함할 수 있다.
본 발명은 인터넷 공간 안에 형성된 짧은 글에 대한 글의 의도를 분석하고 이를 통해 사용자가 원하는 의도에 맞는 글들만을 추려서 사용자에게 제공하여 효율적으로 관련 정보에 접근할 수 있다.
본 발명은 인터넷 상에 분포된 짧은 글의 의도파악을 통하여 사용자 질의 중심 시스템의 자동화에 활용 가능하고, 사용자의 질의를 분석하여 사용자의 의도를 반영하는 콘텐츠를 찾을 수 있어 자동화된 사용자 질의 중심 시스템 구축에 공헌할 수 있다.
도 1 내지 도 9는 본 발명의 일 실시 예에 따른 문서 유사도 분석 장치를 설명하기 위한 도면들.
도 10은 본 발명의 일 실시 예에 따른 문서 유사도 분석 방법을 설명하기 위한 도면.
도 11 및 도 12는 본 발명의 일 실시 예에 따른 문서 유사도 분석 방법의 효과를 설명하기 위한 도면들.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명하도록 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 또한, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
도 1 내지 도 9는 본 발명의 일 실시 예에 따른 문서 유사도 분석 장치를 설명하기 위한 도면들이다.
도 1을 참조하면, 문서 유사도 분석 장치는 데이터 수집부(100), 데이터 전처리부(200), 구절 분류부(300), 문서 벡터 표현부(400) 및 문서 유사도 분석부(500)를 포함한다.
데이터 수집부(100)는 문서 유사도 분석을 위하여 문서들을 수집한다. 데이터 수집부(100)는 다음의 특징에 부합되는 문서들을 수집할 수 있다. 여기서, 문서는 길이가 10자 이상 140자 이하인 문서, 오직 한글로만 구성된 문서, 및 사람들이 관심을 갖고 많이 올렸던 주제에 관한 문서 중 적어도 하나의 조건을 만족할 수 있다.
데이터 전처리부(200)는 수집된 문서들의 형태소 분석을 통하여 형태소 단위로 분할하고, 명사 및 서술어의 집합으로 변환한다. 여기서, 서술어는 주어의 동작, 상태, 성질 따위를 나타내는 동사, 형용사 및 부사 중 적어도 하나를 포함할 수 있다. 데이터 전처리부(200)는 형태소 분석을 위해 자바 언어에서 사용할 수 있는 한국어 형태소 분석기 중 하나인 트위터(Twitter) 형태소 분석기를 이용할 수 있다.
도 2를 참조하면, 데이터 전처리부(200)는 문서에서 추출된 단어 중 동사, 형용사, 부사는 핵심 구절을 정하는 중요한 역할을 하기 때문에, 한 텍스트 데이터에서 3가지 정형화된 결과로 추출할 수 있다.
구절 분류부(300)는 명사 및 서술어의 집합을 이용하여 문서들의 핵심 구절 및 전체 구절로 분류한다. 여기서, 핵심 구절은 핵심 명사들과 핵심 서술어들의 합집합으로 구성되며 문서의 의도를 나타낼 수 있다. 전체 구절은 문서를 구성하는 명사들의 합집합으로 구성되며, 문서의 전체적인 의미 방향성을 나타낼 수 있다. 구절 분류부(300)는 문서를 구성하는 서술어들 중에 TF-IDF(Term Frequency-Inverse Document Frequency)가 한계 값 이상인 서술어를 핵심 서술어로 설정한다. 여기서, TF-IDF(Term Frequency-Inverse Document Frequency)는 TF(Term Frequency)는 단어 빈도로 특정 단어가 문서 내에 얼만큼의 빈도로 등장하는지를 나타내며, IDF(Inverse Document Frequency)는 문서 빈도의 역수로 전체 문서 갯수를 해당 단어가 포함된 문서의 갯수로 나누는 것이다. 즉, TF-IDF는 문서에서 특정 단어의 출현 빈도와 많은 문서에 공통되는 출현 빈도, 양쪽의 특징을 통합한 평가 기준일 수 있다. TF-IDF는 특정 단어의 상대적 출현 빈도(TF)와 모든 문서에서 특정 단어가 출현한 문서 비율의 역수(IDF)를 서로 곱하여 계산될 수 있다.
표 1. TF - IDF 수식 설명
Figure 112017031002378-pat00001
Figure 112017031002378-pat00002
Figure 112017031002378-pat00003
Figure 112017031002378-pat00004
Figure 112017031002378-pat00005
Figure 112017031002378-pat00006
Figure 112017031002378-pat00007
Figure 112017031002378-pat00008
Figure 112017031002378-pat00009
Figure 112017031002378-pat00010
Figure 112017031002378-pat00011
Figure 112017031002378-pat00012
상기
Figure 112017031002378-pat00013
를 구하는 식에서 분모에 1을 더하는 이유는, 어떤 단어가 모든 문서에 나타나서
Figure 112017031002378-pat00014
Figure 112017031002378-pat00015
가 같아 졌을 때,
Figure 112017031002378-pat00016
값이 0이 되는 것을 방지하기 위함이다.
도 3을 참조하면, 구절 분류부(300)는 핵심 구절 분류부(310) 및 전체 구절 분류부(320)를 포함한다.
도 4를 참조하면, 핵심 구절 분류부(310)는 핵심 서술어로부터 주위 서술어 사이에 있는 명사들의 집합을 핵심 명사로 설정하고, 문서의 핵심 명사들과 핵심 서술어들의 합집합으로 핵심 구절로 분류한다. 여기서, 핵심 구절은 각 핵심 서술어로부터 핵심 명사 집합의 개수는 핵심 서술어 개수만큼 포함하며 겹쳐질 수 있으며, 집합에 속하는 원소들의 중복을 허용하는 합집합 연산(Union operation)이다. 도 4에서 대문자 P는 핵심 서술어를 의미하며, 소문자 p는 핵심 서술어를 포함한 모든 서술어를 의미한다.
도 5를 참조하면, 핵심 구절 분류부(310)는 문서에서 핵심 서술어가 없을 경우, 문서를 구성하고 있는 명사들의 합집합이 핵심 구절이 될 수 있다.
전체 구절 분류부(320)는 문서를 구성하는 모든 명사들의 합집합을 전체 구절로 분류한다.
문서 벡터 표현부(400)는 핵심 구절 및 전체 구절을 핵심 벡터 및 일반 벡터로 표현한다. 문서 벡터 표현부(400)는 문서를 다차원의 실수 공간에 사영하여 벡터화하는 기법이 많이 활용될 수 있으며, Word2vec 방법을 이용할 수 있다.
도 6을 참조하면, 문서 벡터 표현부(400)는 실제 문서의 학습을 통해 단어를 200~300차원 정도의 벡터 공간에 표현할 수 있으며, 학습을 위하여 주변 단어가 만드는 의미의 방향성을 기반으로 타겟 단어를 예측하는 CBOW(Continuous Bag of Words)와 한 단어를 기준으로 주변에 올 수 있는 단어를 예측하는 Skip-gram모델을 활용할 수 있다.
도 7을 참조하면, 문서 벡터 표현부(400)는 두 단어 간의 거리로 관계성을 나타내고, 방향으로 문맥(Context)상 의미를 부여할 수 있다.
문서 벡터 표현부(400)는 Word2vec을 사용하여 문서를 표현하는 경우, 문서를 구성하고 있는 모든 단어들의 평균을 활용하거나, 단어들의 가중치 평균을 활용할 수 있다.
표 2. 문서 벡터 수식 표현
Figure 112017031002378-pat00017
Figure 112017031002378-pat00018
Figure 112017031002378-pat00019
Figure 112017031002378-pat00020
Figure 112017031002378-pat00021
Figure 112017031002378-pat00022
Figure 112017031002378-pat00023
Figure 112017031002378-pat00024
문서 벡터 표현부(400)는 상기 표 2와 같이 각 구절의 대표 벡터를 생성하기 위하여 가중치 평균 방법을 활용할 수 있으며, 가중치로 활용할 수 있는 다양한 지표들이 있지만, 예를 들면, 단어의 중요도를 나타내는 TF-IDF를 가중치로 설정할 수 있다.
도 8 및 도 9를 참조하면, 문서 유사도 분석부(500)는 핵심 유사도 산출부(510), 일반 유사도 산출부(520) 및 문서 유사도 산출부(530)를 포함한다.
핵심 유사도 산출부(510)는 각 문서의 핵심 벡터 간의 코사인 유사도 및 핵심 명사간의 다이스 계수를 합하여 핵심 유사도를 산출한다. 핵심 유사도 산출부(510)는 아래 수식 1과 같이, 실수 공간상의 두 벡터 간 각도의 코사인 값을 이용하여 벡터 간의 유사한 정도를 측정한다.
Figure 112017031002378-pat00025
수식 1. 코사인 유사도를 통한 문서간의 유사도
핵심 유사도 산출부(510)는 코사인 유사도 값을 0부터 1사이의 범위를 갖도록 정규화할 수 있어 아래 수식 2와 같이 유사도 값을 정규화할 수 있다.
Figure 112017031002378-pat00026
수식 2. 코사인 유사도 정규화식
핵심 유사도 산출부(510)는 아래 수식 3의 다이스 계수를 이용하여 문서간에 공유하고 있는 단어의 수를 계산하여 0부터 1사이의 값을 산출한다. 여기서, 다이스 계수는 1에 가까울수록 두 문서간 공유한 단어의 수가 많음을 의미한다.
Figure 112017031002378-pat00027
수식 3. 다이스 계수
핵심 유사도 산출부(510)는 아래 수식 4와 같이 각 문서의 핵심 벡터 간의 코사인 유사도 및 핵심 명사간의 다이스 계수를 합하여 핵심 유사도를 산출한다.
Figure 112017031002378-pat00028
수식 4. 핵심 유사도
일반 유사도 산출부(520)는 각 문서의 모든 일반 벡터 간의 코사인 유사도 및 모든 명사간의 다이스 계수를 합하여 일반 유사도를 산출한다. 일반 유사도 산출부(520)는 아래 수식 5와 같이, 각 문서의 일반 벡터간의 코사인 유사도와 모든 명사간의 다이스 계수를 합한 것이다. 일반 유사도 산출부(520)는 모든 명사간의 다이스 계수를 기반으로 계산할 때, 핵심 명사와의 중복을 제거한 후 진행할 수 있다.
Figure 112017031002378-pat00029
수식 5. 일반 유사도
문서 유사도 산출부(530)는 핵심 유사도 및 일반 유사도를 합하여 문서 유사도를 산출한다. 문서 유사도 산출부(530)는 아래 수식 6과 같이, 핵심 유사도에 가중치(
Figure 112017031002378-pat00030
)를 더하여 문서 유사도를 산출할 수 있다.
Figure 112017031002378-pat00031
수식 6. 문서 간의 유사도
도 10은 본 발명의 일 실시 예에 따른 문서 유사도 분석 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 단계 S1010에서 문서 유사도 분석 장치는 문서들을 수집하여 텍스트 데이터를 추출한다.
단계 S1020에서 문서 유사도 분석 장치는 각 문서의 형태소 분석을 통하여 명사 및 서술어를 추출한다. 여기서, 서술어는 주어의 동작, 상태, 성질 따위를 나타내는 동사, 형용사 및 부사 중 적어도 하나를 포함할 수 있다.
단계 S1030에서 문서 유사도 분석 장치는 명사 및 서술어를 이용하여 핵심 구절 및 전체 구절을 분류한다. 문서 유사도 분석 장치는 서술어의 TF-IDF가 한계 값 이상인 서술어들을 핵심 서술어로 설정하고, 핵심 서술어의 주어의 명사를 핵심 명사로 설정하여 핵심 구절을 설정하고 문서를 구성하고 있는 전체 명사들의 합집합을 전체 구절로 설정한다.
단계 S1040에서 문서 유사도 분석 장치는 핵심 구절 및 전체 구절을 구성하는 단어들의 벡터 정보를 이용하여 핵심 구절의 핵심 벡터 및 전체 구절의 일반 벡터를 산출한다. 문서 유사도 분석 장치는 문서를 구성하고 있는 모든 단어들의 평균을 활용하거나, 단어들의 가중치 평균을 활용할 수 있다.
단계 S1050에서 문서 유사도 분석 장치는 핵심 명사간의 다이스 계수 및 핵심 구절의 문서 벡터간의 코사인 유사도를 이용하여 핵심 유사도를 계산한다.
단계 S1060에서 문서 유사도 분석 장치는 모든 명사간의 다이스 계수 및 전체 구절의 문서 벡터간의 코사인 유사도를 이용하여 일반 유사도를 계산한다.
단계 S1070에서 문서 유사도 분석 장치는 문서 간의 핵심 유사도 및 일반 유사도를 이용하여 문서 유사도를 분석한다.
도 11 및 도 12는은 본 발명의 일 실시 예에 따른 문서 유사도 분석 방법의 효과를 설명하기 위한 도면들이다.
본 발명의 효과를 비교하기 위하여 문서 유사도 분석 장치는 적합한 데이터를 수집하기 위하여 다음의 특징 중 적어도 하나의 특징을 포함하는 문서들을 수집하였다.
(1) 길이가 10자 이상 140자 이하인 문서
(2) 오직 한글로만 구성된 문서
(3) 사람들이 관심을 갖고 많이 올렸던 주제에 관한 문서
문서 유사도 분석 장치는 네이버 지식 In 전당에서 사회분야, 의료분야, 사건분야, 스포츠분야, IT분야, 연예분야로 총 6개 분야에서 수집하였다.
문서 유사도 분석 장치는 학습 데이터의 수집을 위해 자바(Java) 언어를 이용하여, 텍스트 데이터를 크롤링(Crawling)해주는 스크립트를 작성하였으며, 이중 텍스트의 내용에 해당하는 부분만을 수집하였다.
문서 유사도 분석 장치는 자바 언어에서 사용할 수 있는 한국어 형태소 분석기 중 하나인 Twitter 형태소 분석기를 이용하였다. 이는 몇몇 오타를 자동적으로 수정해주며, 사용자 사전을 통해 신조어를 처리해주고, 분석시간 또한 다른 형태소 분석기에 비해 우수한 성능을 보임에 선택하였다.
문서 유사도 분석 장치는 TF-IDF의 최소값은 0.404이며, 최대값은 8.897인 TF-IDF 값의 분포도에서 핵심 구절을 추출하기 위해 기준 값은 분포도 값들의 평균인 4.2 이상으로 설정하였다.
도 11을 참조하면, 문서 유사도 분석 장치는 효과적인 평가를 위해, 2가지 기존방법들과 비교 하는 방식으로 평가를 진행하였다.
제1 다른 방법은 문서 벡터를 모든 명사, 서술어들의 가중치 평균 벡터로 만든 뒤, 문서벡터끼리의 코사인 유사도와 명사들의 다이스 계수를 합한 경우이다. 제2 다른 방법은 문서벡터를 구성할 때, 오직 명사들만의 가중치 평균 벡터로 만든 뒤, 문서벡터끼리의 코사인 유사도와 다이스 계수를 합친 경우이다. 즉, 제2 다른 방법은 일반적으로 긴 문서에 대한 유사도를 구할 때 많이 쓰이던 명사들만을 이용해 학습한 경우이며, 제1 다른 방법은 명사, 서술어 모두 이용하되, 무엇이 핵심명사이고 핵심 서술어인지 구분치 않고 사용한 경우이다.
본 발명은 7308개의 문서에 대해, 동일문서를 제외한 7307개 각각의 문서와 유사도를 계산하였으며, 유사도 결과값이 1.6이상인 문서를 유사한 문서라 판단하였다. 기준치 1.6은 문서의 유사성의 수치가 80%를 의미한다. 이때
Figure 112017031002378-pat00032
는 본 발명에서 실험적으로 구했을 때 가장 우수했던 값이 0.8이었기에, 0.8로 설정하였다. 문서의 유사성 판별은 정량적으로 평가할 수 있는 정답 데이터가 존재하지 않기 때문에, 사용자에게 직접 평가를 받는 정성적인 평가 방법이 필요하다. 따라서 이러한 평가를 위해 설문조사 방법을 이용하여 평가를 진행해야 할 필요성이 있다. 설문내용은 질의문을 평가자에게 보여준 후, 유사한 문서라고 판단된 주어진 문항 중 가장 의도가 비슷하다고 생각되는 질의문을 고르는 형식으로 진행하였다.
설문조사는 구글 문서 도구를 이용한 인터넷 설문지 작성 방식으로 진행되었으며, 응답자의 수는 총 104명이다.
도 12를 참조하면, 104명이 질의문 20개에 대해 평가한 2080건 중 본 발명과 제1 다른 방법 및 제2 다른 방법을 비교해놓은 그래프이다. 2080건 중, 69%에 해당하는 1446건의 경우 본 발명이 좋다고 평가하였다. 본 발명에서 제안한 방법은 문사 유사도를 구하는 다른 방법들에 비해 상당히 우수하며, 의도파악이 가능하다는 결론을 내릴 수 있다.
본 발명의 다양한 실시 예에 따른 문서 유사도 분석 방법은 다양한 서버 등의 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현될 수 있다. 또한, 본 발명에 따른 문서 유사도 분석 방법을 실행하는 프로그램은 컴퓨터 수단에 설치되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 다만, 전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 데이터 수집부
200: 데이터 전처리부
300: 구절 분류부
400: 문서 벡터 표현부
500: 문서 유사도 분석부

Claims (10)

  1. 문서 유사도 분석 장치에 있어서,
    문서들을 수집하는 데이터 수집부;
    수집된 문서들의 형태소 분석을 통하여 형태소 단위로 분할하고, 명사 및 서술어의 집합으로 변환하는 데이터 전처리부;
    상기 명사 및 서술어의 집합을 이용하여 상기 문서들의 핵심 구절 및 전체 구절로 분류하는 구절 분류부;
    상기 핵심 구절 및 상기 전체 구절을 각각 핵심 벡터 및 일반 벡터로 표현하는 문서 벡터 표현부; 및
    상기 핵심 벡터 및 일반 벡터를 이용하여 핵심 유사도 및 일반 유사도를 산출하고 핵심 유사도 및 일반 유사도를 결합하여 유사도를 산출하는 문서 유사도 분석부를 포함하고,
    상기 구절 분류부는,
    문서의 핵심 명사들과 핵심 서술어들의 합집합으로 핵심 구절로 분류하는 핵심 구절 분류부; 및
    문서를 구성하는 모든 명사들의 합집합을 전체 구절로 분류하는 전체 구절 분류부를 더 포함하며,
    상기 문서 유사도 분석부는,
    각 문서의 핵심 벡터 간의 코사인 유사도 및 핵심 명사간의 다이스 계수를 합하여 핵심 유사도를 산출하는 핵심 유사도 산출부;
    각 문서의 모든 일반 벡터 간의 코사인 유사도 및 모든 명사간의 다이스 계수를 합하여 일반 유사도를 산출하는 일반 유사도 산출부; 및
    핵심 유사도 및 일반 유사도를 합하여 문서 유사도를 산출하는 문서 유사도 산출부를 더 포함하고,
    상기 핵심 유사도 산출부는, 아래의 수식 4,
    Figure 112018096104070-pat00045
    <수식 4>
    를 이용하여 각 문서의 핵심 벡터 간 코사인 유사도 및 핵심 명사 간 다이스 계수를 합하여 상기 핵심 유사도를 산출하며,
    상기 일반 유사도 산출부는,
    모든 명사들 중 핵심 명사와 중복되는 명사를 제거하고 모든 명사간의 다이스 계수를 기반으로 아래의 수식 5,
    Figure 112018096104070-pat00046
    <수식 5>
    를 이용하여 각 문서의 모든 일반 벡터 간의 코사인 유사도 및 모든 명사 간의 다이스 계수를 합하여 일반 유사도를 산출하며,
    상기 문서 유사도 산출부는, 아래의 수식 6
    Figure 112018096104070-pat00047
    <수식 6>
    을 이용하여 상기 핵심 유사도 및 상기 일반 유사도를 합하여 문서 유사도를 산출하는, 문서 유사도 분석 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 핵심 서술어는 문서를 구성하는 서술어들 중에 TF-IDF(Term Frequency-Inverse Document Frequency)가 한계 값 이상이고, 핵심 명사는 상기 핵심 서술어로부터 주위 서술어 사이에 있는 명사들의 집합인 문서 유사도 분석 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 코사인 유사도는
    실수 공간상의 두 벡터 간 각도의 코사인 값을 0부터 1사이의 범위를 갖도록 정규화한 문서 유사도 분석 장치.
  6. 문서 유사도 분석 방법에 있어서,
    데이터 수집부가 문서들을 수집하여 데이터 전처리부가 텍스트 데이터를 추출하는 단계;
    데이터 전처리부가 각 문서의 형태소 분석을 통하여 명사 및 서술어를 추출하는 단계;
    구절 분류부가 상기 명사 및 서술어를 이용하여 핵심 구절 및 전체 구절을 분류하는 단계;
    문서 벡터 표현부가 상기 핵심 구절 및 전체 구절을 구성하는 단어들의 벡터 정보를 이용하여 핵심 구절의 핵심 벡터 및 전체 구절의 일반 벡터를 산출하는 단계; 및
    문서 유사도 분석부가 상기 핵심 벡터 및 일반 벡터를 이용하여 핵심 유사도 및 일반 유사도를 산출하고 핵심 유사도 및 일반 유사도를 결합하여 문서 유사도를 분석하는 단계를 포함하고,
    상기 문서 벡터 표현부가 핵심 구절 및 전체 구절을 구성하는 단어들의 벡터 정보를 이용하여 핵심 구절의 핵심 벡터 및 전체 구절의 일반 벡터를 산출하는 단계는,
    상기 문서 벡터 표현부가 추출된 상기 핵심 구절을 구성하는 단어들의 벡터에 대한 평균을 활용하여 문서의 대표 백터로써 핵심 백터를 생성하거나, TF-IDF와 같이 단어의 중요도를 의미하는 지표를 활용하여 특정 단어에 가중치를 주면서, 이렇게 가중치를 준 단어들에 대한 가중치 평균을 활용하여 핵심 벡터 및 일반 벡터를 산출는 것이며,
    상기 문서 유사도 분석부가 핵심 벡터 및 일반 벡터를 이용하여 핵심 유사도 및 일반 유사도를 산출하고 핵심 유사도 및 일반 유사도를 결합하여 문서 유사도를 분석하는 단계는,
    핵심 유사도 산출부가 핵심 명사간의 다이스 계수 및 핵심 구절의 문서 벡터간의 코사인 유사도를 아래의 수식 4
    Figure 112019023349724-pat00048
    <수식 4>
    를 이용해 합하여 핵심 유사도를 계산하는 단계;
    일반 유사도 산출부가 모든 명사들 중 핵심 명사와 중복되는 명사를 제거하고, 모든 명사간의 다이스 계수 및 전체 구절의 문서 벡터간의 코사인 유사도를 아래의 수식 5
    Figure 112019023349724-pat00049
    <수식 5>
    를 이용해 합하여 일반 유사도를 계산하는 단계; 및
    문서 유사도 산출부가 문서 간의 핵심 유사도 및 일반 유사도를 아래의 수식 6
    Figure 112019023349724-pat00050
    <수식 6>
    을 이용해 합하여 문서 유사도를 산출하고 분석하는 단계를 더 포함하는, 문서 유사도 분석 방법.
  7. 제6항에 있어서,
    상기 구절 분류부가 상기 명사 및 서술어를 이용하여 핵심 구절 및 전체 구절을 분류하는 단계는
    상기 구절 분류부가 서술어의 TF-IDF가 한계 값 이상인 서술어들을 핵심 서술어로 설정하고, 핵심 서술어의 주어의 명사를 핵심 명사로 설정하여 핵심 구절을 설정하는 단계; 및
    상기 구절 분류부가 문서를 구성하고 있는 전체 명사들의 합집합을 전체 구절로 설정하는 단계를 포함하는 문서 유사도 분석 방법.
  8. 삭제
  9. 삭제
  10. 제6항 및 제7항 중 어느 한 항의 문서 유사도 분석 방법을 실행하는 컴퓨터 프로그램이 기록된 컴퓨터가 판독 가능한 기록 매체.
KR1020170040243A 2017-03-29 2017-03-29 문서 유사도 분석 장치 및 방법 KR102025805B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170040243A KR102025805B1 (ko) 2017-03-29 2017-03-29 문서 유사도 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170040243A KR102025805B1 (ko) 2017-03-29 2017-03-29 문서 유사도 분석 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180110713A KR20180110713A (ko) 2018-10-11
KR102025805B1 true KR102025805B1 (ko) 2019-11-12

Family

ID=63865276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170040243A KR102025805B1 (ko) 2017-03-29 2017-03-29 문서 유사도 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102025805B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210099745A (ko) * 2020-02-05 2021-08-13 에스케이 주식회사 자연어 처리 기술을 이용한 자기소개서 평가 시스템 및 방법
KR20210139034A (ko) 2020-05-13 2021-11-22 한국원자력 통제기술원 미신고 핵주기 활동 탐지 및 통제를 위한 공개정보 수집, 분류 및 관리 시스템과 그 방법
KR20230057841A (ko) 2021-10-22 2023-05-02 한국원자력 통제기술원 원자력 관련 산업체 데이터 수집, 분석 및 분류 시스템과 그 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975419B1 (ko) * 2018-11-26 2019-05-07 (주)위세아이텍 빅데이터 분석을 위한 비정형 텍스트 데이터의 용어 군집화 장치 및 방법
KR102102276B1 (ko) 2018-12-28 2020-04-22 동국대학교 산학협력단 딥러닝 기반의 표 유사도 측정 방법
KR102095892B1 (ko) 2019-10-02 2020-04-01 (주)디앤아이파비스 인공지능 모델을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템
KR102315215B1 (ko) 2019-10-02 2021-10-20 (주)디앤아이파비스 특허문서의 단어 세트 획득 방법 및 획득된 단어 세트를 바탕으로 특허문서의 유사도를 판단하기 위한 방법.
KR102315213B1 (ko) 2019-10-02 2021-10-20 (주)디앤아이파비스 클러스터링을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템
KR102405867B1 (ko) 2019-10-02 2022-06-08 (주)디앤아이파비스 인공지능 모델을 이용한 특허문서의 중요도 판단 방법, 장치 및 시스템
KR102315214B1 (ko) 2019-10-02 2021-10-20 (주)디앤아이파비스 유사도 점수 및 비유사도 점수를 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템
KR102300352B1 (ko) 2019-10-14 2021-09-09 (주)디앤아이파비스 중요도 스코어를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템
KR102383965B1 (ko) 2019-10-14 2022-05-11 (주)디앤아이파비스 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템
KR102085217B1 (ko) 2019-10-14 2020-03-04 (주)디앤아이파비스 특허문서의 유사도 판단 방법, 장치 및 시스템
KR20210044146A (ko) 2020-02-21 2021-04-22 (주)디앤아이파비스 특허문서의 유사도 판단 방법, 장치 및 시스템
KR20210039917A (ko) 2020-03-20 2021-04-12 (주)디앤아이파비스 인공지능 모델을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템
CN111861201A (zh) * 2020-07-17 2020-10-30 南京汇宁桀信息科技有限公司 一种基于大数据分类算法的政务智能派单的方法
KR102499776B1 (ko) 2020-09-11 2023-02-14 (주)디앤아이파비스 경쟁사 지식재산권 모니터링 방법, 장치 및 프로그램
KR20220109190A (ko) 2021-01-28 2022-08-04 이세중 딥러닝을 이용한 상표의 유사도 판단 방법, 장치 및 시스템
KR20220109955A (ko) 2021-01-29 2022-08-05 이세중 딥러닝을 이용한 상표의 유사도 판단 방법, 장치 및 시스템
KR20230018820A (ko) 2021-07-30 2023-02-07 (주)디앤아이파비스 전자 장치 및 그의 제어 방법
KR20230018819A (ko) 2021-07-30 2023-02-07 (주)디앤아이파비스 특허동향조사 제공 시스템의 제어 방법
KR20230018818A (ko) 2021-07-30 2023-02-07 (주)디앤아이파비스 경쟁사 지식재산권 모니터링 시스템의 제어 방법
KR102612210B1 (ko) 2022-10-05 2023-12-08 전정욱 인공지능 기반 선행 기술 문헌 검색 시스템 및 방법
KR102574523B1 (ko) 2022-11-15 2023-09-01 전정욱 특허정보 자동 처리 시스템 및 방법
KR102574522B1 (ko) 2022-11-15 2023-09-04 전정욱 인공지능 기반 특허정보 시각화 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101623860B1 (ko) * 2015-04-08 2016-05-24 서울시립대학교 산학협력단 문서 요소에 대한 유사도를 산출하는 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101339103B1 (ko) * 2011-10-05 2013-12-09 (주)워드워즈 의미적 자질을 이용한 문서 분류 시스템 및 그 방법
KR101429623B1 (ko) * 2012-10-04 2014-08-13 한양대학교 에리카산학협력단 중복 뉴스 탐지 시스템 및 중복 뉴스 탐지 방법
KR20170018620A (ko) * 2015-08-10 2017-02-20 삼성전자주식회사 유사 문장 식별 방법 및 이를 적용한 식별 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101623860B1 (ko) * 2015-04-08 2016-05-24 서울시립대학교 산학협력단 문서 요소에 대한 유사도를 산출하는 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210099745A (ko) * 2020-02-05 2021-08-13 에스케이 주식회사 자연어 처리 기술을 이용한 자기소개서 평가 시스템 및 방법
KR102309778B1 (ko) * 2020-02-05 2021-10-06 에스케이 주식회사 자연어 처리 기술을 이용한 자기소개서 평가 시스템 및 방법
KR20210139034A (ko) 2020-05-13 2021-11-22 한국원자력 통제기술원 미신고 핵주기 활동 탐지 및 통제를 위한 공개정보 수집, 분류 및 관리 시스템과 그 방법
KR20230057841A (ko) 2021-10-22 2023-05-02 한국원자력 통제기술원 원자력 관련 산업체 데이터 수집, 분석 및 분류 시스템과 그 방법

Also Published As

Publication number Publication date
KR20180110713A (ko) 2018-10-11

Similar Documents

Publication Publication Date Title
KR102025805B1 (ko) 문서 유사도 분석 장치 및 방법
Kulkarni et al. Multi-view models for political ideology detection of news articles
Pereira et al. Using web information for author name disambiguation
Abdelnabi et al. Open-domain, content-based, multi-modal fact-checking of out-of-context images via online resources
US8594998B2 (en) Multilingual sentence extractor
Yin et al. Facto: a fact lookup engine based on web tables
Ahmed Detecting opinion spam and fake news using n-gram analysis and semantic similarity
Abdi et al. A question answering system in hadith using linguistic knowledge
Avasthi et al. Techniques, applications, and issues in mining large-scale text databases
Yalcin et al. An external plagiarism detection system based on part-of-speech (POS) tag n-grams and word embedding
AlSukhni et al. Investigating the use of machine learning algorithms in detecting gender of the arabic tweet author
Dutta et al. PNRank: Unsupervised ranking of person name entities from noisy OCR text
Tsagkias et al. Hypergeometric language models for republished article finding
Rosnelly The Similarity of Essay Examination Results using Preprocessing Text Mining with Cosine Similarity and Nazief-Adriani Algorithms
Mahmoudi et al. Arabic language modeling based on supervised machine learning
Derici et al. A closed-domain question answering framework using reliable resources to assist students
Juan An effective similarity measurement for FAQ question answering system
KR102126911B1 (ko) KeyplayerRank를 이용한 소셜 미디어상의 주제별 키플레이어 탐지 방법
Otani et al. Large-scale acquisition of commonsense knowledge via a quiz game on a dialogue system
Sholihah et al. Feature Selection Optimization for Sentiment Analysis of Tax Policy Using SMOTE and PSO
Samantaray et al. Fake news detection using text similarity approach
Balaji et al. Finding related research papers using semantic and co-citation proximity analysis
Flores et al. Tracking researcher mobility on the web using snippet semantic analysis
Vrochidis et al. A multimodal analytics platform for journalists analyzing large-scale, heterogeneous multilingual, and multimedia content
Singh et al. A clustering and opinion mining approach to socio-political analysis of the blogosphere

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right