KR20200084436A - 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법 - Google Patents

텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법 Download PDF

Info

Publication number
KR20200084436A
KR20200084436A KR1020180169502A KR20180169502A KR20200084436A KR 20200084436 A KR20200084436 A KR 20200084436A KR 1020180169502 A KR1020180169502 A KR 1020180169502A KR 20180169502 A KR20180169502 A KR 20180169502A KR 20200084436 A KR20200084436 A KR 20200084436A
Authority
KR
South Korea
Prior art keywords
sentence
consistency
sentences
document
text document
Prior art date
Application number
KR1020180169502A
Other languages
English (en)
Other versions
KR102168504B1 (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 KR1020180169502A priority Critical patent/KR102168504B1/ko
Publication of KR20200084436A publication Critical patent/KR20200084436A/ko
Application granted granted Critical
Publication of KR102168504B1 publication Critical patent/KR102168504B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법에 관한 것으로, 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해하고, 분해된 문단 및 문장을 형태소 분석하여 텍스트 문서로 출력하는 전처리부와, 전처리부로부터 형태소 분석을 통해 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석하는 텍스트 일관성 분석부를 포함함으로써, 비정형 텍스트 데이터의 품질 평가 및 분석을 위한 문서 단위의 일관성을 효과적으로 분석할 수 있다.

Description

텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법{APARATUS FOR COHERENCE ANALYZING BETWEEN EACH SENTENCE IN A TEXT DOCUMENT AND METHOD THEREOF}
본 발명은 자연 언어로 된 텍스트 문서에서 각 문장 간의 일관성을 자동으로 평가하기 위한 일관성 분석 장치 및 그 방법에 관한 것이다.
일반적으로, 일관성(Coherence)은 문장 간의 긴밀한 질서를 말한다.
즉, 일관성은 내용들 간의 의미적인 연결 관계를 설명하는 통일성보다 광범위한 개념으로 응집성과 유사한 의미로 쓰인다.
특히, 문자 기반의 언어에서의 일관성은 이어지는 문장 간에 중요 어구의 반복이나 유의어, 대명사를 사용하여 문맥을 구성할 뿐만 아니라 완결성을 가지므로 내용과 내용 사이의 긴밀함까지 포함되는 개념이다.
이처럼 일관성은 구문론적으로 문장과 문장 사이, 내용(혹은 문단)과 내용 사이에 적용되는 원리이다.
한편, 자연어처리는 인공지능의 한 분야로 컴퓨터가 인간의 언어를 이해하기 위한 목적을 가지는 기술이다. 주로 형태소 분석(Morphological analysis), 구문분석(Parsing) 등 구문론(Syntax)적 분석과 개체명 인식(Named entity recognition), 의미역 결정(Semantic role labeling) 같은 의미론적(Semantics) 분석, 문서 요약 및 상호참조해결(Coreference resolution) 등의 담화론적 분석을 포함한다.
앞에서 설명한 자연어처리 문제들은 비교적 잘 정의되어 있고, 활발하게 연구되고 있는 반면, 현재까지 일관성 분석에 대한 연구는 미흡한 실정이다.
국내 공개특허 제10-2017-0030297호(2017.03.17. 공개)
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 문서 단위의 텍스트를 입력으로 받아 문장 및 문단 단위로 분해하여 각 단위 문장들이 텍스트 전체의 문맥상 일관성을 유지하는지를 정량적으로 측정함으로써, 비정형 텍스트 데이터의 품질 평가 및 분석을 위한 문서 단위의 일관성을 효과적으로 분석할 수 있도록 한 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해하고, 분해된 문단 및 문장을 형태소 분석하여 텍스트 문서로 출력하는 전처리부; 및 상기 전처리부로부터 형태소 분석을 통해 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석하는 텍스트 일관성 분석부를 포함하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치를 제공하는 것이다.
여기서, 상기 제1 일관성 분석법은, 인접한 문장들이 의미적으로 얼마나 관련이 있는지 판단하기 위해 각 문장의 형태소를 비교하고, 하기의 식 1을 이용하여 일관성을 정량적으로 계산함이 바람직하다.
(식 1)
Figure pat00001
여기서, N은 문서에서 전체 문장의 수이고, R(i, i+1)은 i번째 문장과 i+1번째 문장의 상호 참조 관계의 상태를 나타낸 것으로, 인접한 두 문장에 적어도 하나 이상의 상호 참조 관계가 있는 경우(또는 의미 있는 품사를 가진 형태소가 동일하게 존재할 경우) R(i, i+1)의 값은 '1' 이고, 그렇지 않을 경우에는 '0'으로 정의한다.
바람직하게, 상기 제2 일관성 분석법은, 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 각 문장을 자질 벡터(Feature Vector)로 표현하는 단어 임베딩(Word Embedding) 및 문장 임베딩(Sentence Embedding)을 이용하여 해당 텍스트 문서를 구성하고 있는 문장들을 각 문장 벡터로 표현하고, 표현된 각 문장 벡터를 통해 각 문장 벡터 간의 유사도를 계산한 후, 계산된 각 문장 벡터 간의 유사도를 이용하여 해당 텍스트 문서의 의미적 일관성을 정량적으로 계산할 수 있다.
바람직하게, 상기 문장 임베딩은, 문장을 구성하고 있는 단어들의 임베딩인 단어 임베딩을 통한 단어 벡터의 평균으로 정의될 수 있다.
바람직하게, 상기 제2 일관성 분석법을 통해 해당 텍스트 문서의 의미적 일관성은, 해당 텍스트 문서를 구성하고 있는 모든 문장들 간의 유사도의 평균을 이용하여 하기의 식 2에 의해 계산할 수 있다.
(식 2)
Figure pat00002
여기서, N은 문서에서 전체 문장의 수이고, Sim(si,sj)는 코사인 유사도(Cosine Similarity)를 이용하여 N개의 문장으로 구성되어 있는 텍스트 문서 D={s1,s2,…,sN}에 대하여 문장 si에 해당하는 문장 벡터
Figure pat00003
라고 할 때 문장 간의 유사도를 계산한 것이다.
바람직하게, 상기 제3 일관성 분석법은, 해당 텍스트 문서의 일관성을 측정하기 위해 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장을 이용하여 상기 합성곱 신경망 학습을 수행하되, 상기 합성곱 신경망의 입력으로 사용하기 위해 입력 문장을 형태소 분석한 결과에서 하나의 형태소를 단어로 가정하고 단어 임베딩(Word Embedding)을 이용한 단어 벡터(Word Vector)로 바꾸어 표현한 후, 각 문장을 구성하고 있는 단어의 벡터들을 연결한 문장 매트릭스(Sentence Matrix)로 바꾸어 사용할 수 있다.
바람직하게, 상기 합성곱 신경망의 입력으로 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장으로 이루어진 총 3개의 문장을 사용하되, N(문서에서 전체 문장의 수)개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 3개의 문장을 하나의 세트(q)로 정의하여 모델의 입력 데이터를 구성하고, 하나의 세트(q) 안의 3개 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 교체하여 오류 학습 데이터를 생성하며, 일관성이 있는 문서를 구성하고 있는 문장들에 대하여 하나의 학습 데이터인 3개의 문장 세트에 대해 'yq=1'로 설정함과 아울러 3개의 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 대치하여 생성한 오류 학습 데이터에 대해 'yq=0'으로 설정하여 모델을 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산할 수 있다.
바람직하게, 상기 합성곱 신경망의 합습된 결과를 통하여 N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대한 일관성(SD)은 하기의 식 3에 의해 정량적으로 계산할 수 있다.
(식 3)
Figure pat00004
여기서, N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 정의된 세트(q)는
Figure pat00005
인 경우이고, p는 상기 합성곱 신경망의 합습된 결과로서 3개의 문장 세트에 대한 일관성 확률이다.
바람직하게, 상기 텍스트 일관성 분석부의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 점수를 사용자가 시각적으로 볼 수 있도록 디스플레이 화면에 표시하는 디스플레이부가 더 포함될 수 있다.
바람직하게, 상기 텍스트 일관성 분석부의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 텍스트 문서별 또는 각 문장별로 데이터베이스(DB)화하여 저장하는 저장부가 더 포함될 수 있다.
바람직하게, 상기 텍스트 일관성 분석부의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 유선 또는 무선으로 외부의 사용자 단말에 전송하는 통신부가 더 포함될 수 있다.
본 발명의 제2 측면은, 전처리부 및 텍스트 일관성 분석부를 포함한 장치를 이용하여 텍스트 문서에서 각 문장 간의 일관성을 분석하는 방법으로서, (a) 상기 전처리부를 통해 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해한 후, 분해된 문단 및 문장을 형태소 분석하여 텍스트 문서로 출력하는 단계; 및 (b) 상기 텍스트 일관성 분석부를 통해 상기 단계(a)에서 형태소 분석하여 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석하는 단계를 포함하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법을 제공하는 것이다.
바람직하게, 상기 단계(b)에서, 상기 제1 일관성 분석법은, 인접한 문장들이 의미적으로 얼마나 관련이 있는지 판단하기 위해 각 문장의 형태소를 비교하고, 하기의 식 4를 이용하여 일관성을 정량적으로 계산할 수 있다.
(식 4)
Figure pat00006
여기서, N은 문서에서 전체 문장의 수이고, R(i, i+1)은 i번째 문장과 i+1번째 문장의 상호 참조 관계의 상태를 나타낸 것으로, 인접한 두 문장에 적어도 하나 이상의 상호 참조 관계가 있는 경우(또는 의미 있는 품사를 가진 형태소가 동일하게 존재할 경우) R(i, i+1)의 값은 '1' 이고, 그렇지 않을 경우에는 '0'으로 정의한다.
바람직하게, 상기 단계(b)에서, 상기 제2 일관성 분석법은, 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 각 문장을 자질 벡터(Feature Vector)로 표현하는 단어 임베딩(Word Embedding) 및 문장 임베딩(Sentence Embedding)을 이용하여 해당 텍스트 문서를 구성하고 있는 문장들을 각 문장 벡터로 표현하고, 표현된 각 문장 벡터를 통해 각 문장 벡터 간의 유사도를 계산한 후, 계산된 각 문장 벡터 간의 유사도를 이용하여 해당 텍스트 문서의 의미적 일관성을 정량적으로 계산할 수 있다.
바람직하게, 상기 문장 임베딩은, 문장을 구성하고 있는 단어들의 임베딩인 단어 임베딩을 통한 단어 벡터의 평균으로 정의될 수 있다.
바람직하게, 상기 제2 일관성 분석법을 통해 해당 텍스트 문서의 의미적 일관성은, 해당 텍스트 문서를 구성하고 있는 모든 문장들 간의 유사도의 평균을 이용하여 하기의 식 5에 의해 계산할 수 있다.
(식 5)
Figure pat00007
여기서, N은 문서에서 전체 문장의 수이고, Sim(si,sj)는 코사인 유사도(Cosine Similarity)를 이용하여 N개의 문장으로 구성되어 있는 텍스트 문서 D={s1,s2,…,sN}에 대하여 문장 si에 해당하는 문장 벡터
Figure pat00008
라고 할 때 문장 간의 유사도를 계산한 것이다.
바람직하게, 상기 단계(b)에서, 상기 제3 일관성 분석법은, 해당 텍스트 문서의 일관성을 측정하기 위해 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장을 이용하여 상기 합성곱 신경망 학습을 수행하되, 상기 합성곱 신경망의 입력으로 사용하기 위해 입력 문장을 형태소 분석한 결과에서 하나의 형태소를 단어로 가정하고 단어 임베딩(Word Embedding)을 이용한 단어 벡터(Word Vector)로 바꾸어 표현한 후, 각 문장을 구성하고 있는 단어의 벡터들을 연결한 문장 매트릭스(Sentence Matrix)로 바꾸어 사용할 수 있다.
바람직하게, 상기 합성곱 신경망의 입력으로 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장으로 이루어진 총 3개의 문장을 사용하되, N(문서에서 전체 문장의 수)개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 3개의 문장을 하나의 세트(q)로 정의하여 모델의 입력 데이터를 구성하고, 하나의 세트(q) 안의 3개 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 교체하여 오류 학습 데이터를 생성하며, 일관성이 있는 문서를 구성하고 있는 문장들에 대하여 하나의 학습 데이터인 3개의 문장 세트에 대해 'yq=1'로 설정함과 아울러 3개의 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 대치하여 생성한 오류 학습 데이터에 대해 'yq=0'으로 설정하여 모델을 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산할 수 있다.
바람직하게, 상기 합성곱 신경망의 합습된 결과를 통하여 N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대한 일관성(SD)은 하기의 식 6에 의해 정량적으로 계산할 수 있다.
(식 6)
Figure pat00009
여기서, N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 정의된 세트(q)는
Figure pat00010
인 경우이고, p는 상기 합성곱 신경망의 합습된 결과로서 3개의 문장 세트에 대한 일관성 확률이다.
바람직하게, 상기 단계(b) 이후에, 상기 단계(b)에서 정량적으로 분석한 각 문장 간의 일관성 점수를 사용자가 시각적으로 볼 수 있도록 별도의 디스플레이부의 디스플레이 화면에 표시하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(b) 이후에, 상기 단계(b)에서 정량적으로 분석한 각 문장 간의 일관성 정보데이터를 텍스트 문서별 또는 각 문장별로 데이터베이스(DB)화하여 별도의 저장부에 저장하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(b) 이후에, 상기 단계(b)에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 별도의 통신부를 통해 유선 또는 무선으로 외부의 사용자 단말에 전송하는 단계를 더 포함할 수 있다.
본 발명의 제3 측면은, 상술한 텍스트 문서에서 각 문장 간의 일관성 분석 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 방법은 컴퓨터로 판독할 수 있는 기록매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
이상에서 설명한 바와 같은 본 발명의 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법에 따르면, 문서 단위의 텍스트를 입력으로 받아 문장 및 문단 단위로 분해하여 각 단위 문장들이 텍스트 전체의 문맥상 일관성을 유지하는지를 정량적으로 측정함으로써, 비정형 텍스트 데이터의 품질 평가 및 분석을 위한 문서 단위의 일관성을 효과적으로 분석할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 문서의 일관성을 분석하여 텍스트 품질을 효과적으로 측정할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 문서 요약 및 텍스트 문서의 의미를 분석함에 있어, 특정 임계치 이하의 문서를 필터링(Filtering)하는 데 사용될 수 있는 이점이 있다.
또한, 본 발명에 따르면, 작문을 할 때, 일관성이 있는 문장으로 잘 작성했는지를 예컨대, 컴퓨터 장치 등을 통하여 간편하게 측정할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 사람뿐만 아니라 기계(또는 인공지능)가 생성한 문장(Natural language generation)의 적합성을 판단하는 용도로 사용할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 방법을 설명하기 위한 전체적인 흐름도이다.
도 3은 본 발명의 일 실시예에 적용된 제1 일관성 분석법 중에서 문장 간의 상호 참조 관계를 행렬로 표현한 도면이다.
도 4는 본 발명의 일 실시예에 적용된 제3 일관성 분석법 중에서 합성곱 신경망 기반의 문장 임베딩 모델을 나타낸 개념도이다.
도 5는 본 발명의 일 실시예에 적용된 제3 일관성 분석법 중에서 문서 일관성 측정을 위한 합성곱 신경망 기반 모델 구조를 나타낸 개념도이다.
도 6은 본 발명의 일 실시예에 적용된 제3 일관성 분석법 중에서 문서 일관성 측정 모델의 입력 데이터를 표 형태로 나타낸 일 예의 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치는, 크게 전처리부(100) 및 텍스트 일관성 분석부(200) 등을 포함하여 이루어진다. 또한, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치는 디스플레이부(300), 저장부(400), 통신부(500) 등을 더 포함할 수 있다. 한편, 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치는 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
전처리부(100)는 비정형 데이터 즉, 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해하고, 분해된 문단 및 문장을 형태소 분석하여 텍스트 형태의 문서로 출력하는 기능을 수행한다.
이때, 상기 문서 단위의 자연 언어로 된 텍스트 문서는 별도의 사용자 입력부(미도시)를 통해 입력받도록 구현함이 바람직하다. 상기 사용자 입력부는 사용자의 요구 또는 사용자의 조작에 따라 해당 사용자의 특정 입력신호를 출력하는 기능을 수행하는 것으로서, 통상적으로 마우스 및/또는 키보드 등으로 이루어짐이 바람직하지만, 이에 국한하지 않으며, 경우에 따라서는 리모콘 또는 터치스크린(Touch screen) 등으로 이루어질 수도 있다.
예컨대, 상기 터치스크린은 저항막 방식과 정전용량 방식, 적외선 방식, 초음파 방식 등이 적용될 수 있으며, 그 두께를 최소화함에 있어서 정전용량 방식이 적용됨이 가장 바람직하다.
상기 정전용량 방식의 터치스크린은 통상적으로 그 구조가 도전투광판으로 이루어진 ITO(Indium Tin Oxide)와, 상기 ITO의 테두리에 은분 페인트를 페인트 형성한 전극부와, 상기 전극의 하부를 절연하는 절연코팅부로 구성될 수 있다. 한편, 상기 ITO는 투광성 수지로 이루어진 ITO필름과, 상기 ITO필름의 하부에 도전성 물질이 코팅 형성된 ITO코팅층으로 구성될 수 있다.
상기한 바와 같은 정전용량 방식의 터치스크린은 손가락으로 ITO의 상면을 터치하게 되면 손가락을 통하여 정전용량의 변동에 따라 4변에 구비된 각 전극이 이를 감지함으로써 터치 위치를 감지할 수 있다.
또한, 상기 문서 단위의 자연 언어로 된 텍스트 문서는 별도의 사용자 단말(미도시)를 통해 유선 및/무선으로 입력받도록 구현할 수도 있다. 이때, 상기 사용자 단말은 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 스마트폰(Smart Phone), 스마트 패드(Smart Pad) 또는 스마트 노트(Smart Note) 중 적어도 어느 하나의 이동 단말 장치로 이루어짐이 바람직하며, 이외에도 개인용 PC, 노트북 PC, 팜(Palm) PC, 모바일 게임기(Mobile play-station), 통신 기능이 있는 DMB(Digital Multimedia Broadcasting)폰, 태블릿 PC, 아이패드(iPad) 등 전처리부(100)에 접속하기 위한 사용자 인터페이스를 갖는 모든 유무선 가전/통신 장치를 포괄적으로 의미할 수 있다.
그리고, 텍스트 일관성 분석부(200)는 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치의 전반적인 분석 및 제어를 수행하는 바, 특히 전처리부(100)로부터 형태소 분석을 통해 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석하는 기능을 수행한다.
여기서, 상기 제1 일관성 분석법은, 인접한 문장들이 의미적으로 얼마나 관련이 있는지 판단하기 위해 각 문장의 형태소를 비교하고, 하기의 식 1을 이용하여 일관성을 정량적으로 계산함이 바람직하다.
(식 1)
Figure pat00011
여기서, N은 문서에서 전체 문장의 수이고, R(i, i+1)은 i번째 문장과 i+1번째 문장의 상호 참조 관계의 상태를 나타낸 것으로, 인접한 두 문장에 적어도 하나 이상의 상호 참조 관계가 있는 경우(또는 의미 있는 품사를 가진 형태소가 동일하게 존재할 경우) R(i, i+1)의 값은 '1' 이고, 그렇지 않을 경우에는 '0'으로 정의한다.
그리고, 상기 제2 일관성 분석법은, 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 각 문장을 자질 벡터(Feature Vector)로 표현하는 단어 임베딩(Word Embedding) 및 문장 임베딩(Sentence Embedding)을 이용하여 해당 텍스트 문서를 구성하고 있는 문장들을 각 문장 벡터로 표현하고, 표현된 각 문장 벡터를 통해 각 문장 벡터 간의 유사도를 계산한 후, 계산된 각 문장 벡터 간의 유사도를 이용하여 해당 텍스트 문서의 의미적 일관성을 정량적으로 계산할 수 있다.
이때, 상기 문장 임베딩은, 문장을 구성하고 있는 단어들의 임베딩인 단어 임베딩을 통한 단어 벡터의 평균으로 정의됨이 바람직하다.
그리고, 상기 제2 일관성 분석법을 통해 해당 텍스트 문서의 의미적 일관성은, 해당 텍스트 문서를 구성하고 있는 모든 문장들 간의 유사도의 평균을 이용하여 하기의 식 2에 의해 계산할 수 있다.
(식 2)
Figure pat00012
여기서, N은 문서에서 전체 문장의 수이고, Sim(si,sj)는 코사인 유사도(Cosine Similarity)를 이용하여 N개의 문장으로 구성되어 있는 텍스트 문서 D={s1,s2,…,sN}에 대하여 문장 si에 해당하는 문장 벡터
Figure pat00013
라고 할 때 문장 간의 유사도를 계산한 것이다.
그리고, 상기 제3 일관성 분석법은, 해당 텍스트 문서의 일관성을 측정하기 위해 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장을 이용하여 상기 합성곱 신경망 학습을 수행하되, 상기 합성곱 신경망의 입력으로 사용하기 위해 입력 문장을 형태소 분석한 결과에서 하나의 형태소를 단어로 가정하고 단어 임베딩(Word Embedding)을 이용한 단어 벡터(Word Vector)로 바꾸어 표현한 후, 각 문장을 구성하고 있는 단어의 벡터들을 연결한 문장 매트릭스(Sentence Matrix)로 바꾸어 사용함이 바람직하다.
이때, 상기 합성곱 신경망의 입력으로 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장으로 이루어진 총 3개의 문장을 사용하되, N(문서에서 전체 문장의 수)개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 3개의 문장을 하나의 세트(q)로 정의하여 모델의 입력 데이터를 구성하고, 하나의 세트(q) 안의 3개 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 교체하여 오류 학습 데이터를 생성하며, 일관성이 있는 문서를 구성하고 있는 문장들에 대하여 하나의 학습 데이터인 3개의 문장 세트에 대해 'yq=1'로 설정함과 아울러 3개의 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 대치하여 생성한 오류 학습 데이터에 대해 'yq=0'으로 설정하여 모델을 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산할 수 있다.
그리고, 상기 합성곱 신경망의 합습된 결과를 통하여 N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대한 일관성(SD)은 하기의 식 3에 의해 정량적으로 계산할 수 있다.
(식 3)
Figure pat00014
여기서, N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 정의된 세트(q)는
Figure pat00015
인 경우이고, p는 상기 합성곱 신경망의 합습된 결과로서 3개의 문장 세트에 대한 일관성 확률이다.
추가적으로, 디스플레이부(300)는 텍스트 일관성 분석부(200)의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 점수를 사용자가 시각적으로 볼 수 있도록 디스플레이 화면에 표시하는 기능을 수행한다.
이러한 디스플레이부(300)는 예컨대, 액정 디스플레이(Liquid Crystal Display, LCD), 발광다이오드 디스플레이(Light Emitting Diode, LED), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display, TFT LCD), 유기 발광 다이오드(Organic Light Emitting Diode, OLED), 플렉시블 디스플레이(Flexible Display), 플라즈마 디스플레이 패널 (Plasma Display Panel, PDP), 표면 얼터네이트 라이팅(ALiS), 디지털 광원 처리(DLP), 실리콘 액정(LCoS), 표면 전도형 전자방출소자 디스플레이(SED), 전계방출 디스플레이(FED), 레이저 TV(양자 점 레이저, 액정 레이저), 광유전성 액체 디스플레이(FLD), 간섭계 변조기 디스플레이(iMoD), 두꺼운 필름 유전체 전기(TDEL), 양자점 디스플레이(QD-LED), 텔레스코픽 픽셀 디스플레이(TPD), 유기발광 트랜지스터(OLET), 레이저 형광 디스플레이(LPD), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있지만, 이에 한정되는 것은 아니고 숫자, 문자 또는 도형 등을 디스플레이(Display)할 수 있는 것이라면, 어떠한 것이라도 포함할 수 있다.
더욱이, 저장부(400)는 텍스트 일관성 분석부(200)의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 텍스트 문서별 및/또는 각 문장별로 데이터베이스(DB)화하여 저장하는 기능을 수행한다.
이러한 저장부(400)는 예컨대, 플래시 메모리 타입(Flash Memory type), 하드디스크 타입(Hard Disk type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
또한, 통신부(500)는 텍스트 일관성 분석부(200)의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 유선 및/또는 무선으로 외부의 사용자 단말(미도시)에 전송하는 기능을 수행한다.
이때, 외부의 사용자 단말은 기 설치된 문장 일관성 분석관련 어플리케이션 서비스를 통해 통신부(500)로부터 전송된 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 제공받아 이를 기반으로 해당 사용자가 시각적으로 볼 수 있도록 텍스트 및/또는 그래프 형태로 해당 사용자 단말의 디스플레이 화면에 표시하는 기능을 수행할 수 있다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 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), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시예들이 텍스트 일관성 분석부(200)에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 저장부(400)에 저장되고, 텍스트 일관성 분석부(200)에 의해 실행될 수 있다.
한편, 도면에 도시되진 않았지만, 전술한 각 부 즉, 전처리부(100), 텍스트 일관성 분석부(200), 디스플레이부(300), 저장부(400), 및 통신부(500) 등에 필요한 전원을 공급하기 위한 전원공급부(미도시)가 더 포함됨이 바람직하다. 이러한 상기 전원공급부는 외부의 교류전원(예컨대, AC 220V)을 제공받아 각종 직류전원으로 변환되도록 구현함이 바람직하지만, 이에 국한하지 않으며, 통상의 휴대용 배터리(Battery)로 구현될 수도 있다.
전술한 바와 같이 구성된 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치는 예컨대, 개인용 PC 또는 노트북 PC 등으로 구현됨이 바람직하지만, 이에 국한하지 않으며, 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 스마트폰(Smart Phone), 스마트 패드(Smart Pad) 또는 스마트 노트(Smart Note) 중 적어도 어느 하나의 이동 단말 장치로 구현될 수도 있다. 이외에도 팜(Palm) PC, 모바일 게임기(Mobile play-station), 통신 기능이 있는 DMB(Digital Multimedia Broadcasting)폰, 태블릿 PC, 아이패드(iPad) 등으로 구현될 수도 있다.
만약, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치가 스마트폰으로 이루어질 경우, 상기 스마트폰은 일반 핸드폰(일명 피처폰(feature phone))과는 달리 사용자가 원하는 다양한 어플리케이션(Application) 프로그램을 다운로드받아 자유롭게 사용하고 삭제가 가능한 오픈 운영체제를 기반으로 한 폰(Phone)으로서, 일반적으로 사용되는 음성/영상통화, 인터넷 데이터통신 등의 기능뿐만 아니라, 모바일 오피스 기능을 갖춘 모든 모바일 폰 또는 음성통화 기능이 없으나 인터넷 접속 가능한 모든 인터넷폰 또는 테블릿 PC(Tablet PC)를 포함하는 통신기기로 이해함이 바람직하다.
이러한 스마트폰은 다양한 개방형 운영체제를 탑재한 스마트폰으로 구현될 수 있으며, 상기 개방형 운영체제로는 예컨대, 노키아(NOKIA)사의 심비안, 림스(RIMS)사의 블랙베리, 애플(Apple)사의 아이폰, 마이크로소프트사(MS)의 윈도즈 모바일, 구글(Google)사의 안드로이드, 삼성전자의 바다 등으로 이루어질 수 있다.
이와 같이 스마트폰은 개방형 운영체제를 사용하므로 폐쇄적인 운영체제를 가진 휴대폰과 달리 사용자가 임의로 다양한 어플리케이션 프로그램을 설치하고 관리할 수 있다.
즉, 전술한 상기 스마트폰은 기본적으로 제어부, 메모리부, 화면출력부, 키입력부, 사운드 출력부, 사운드 입력부, 카메라부, 무선망 통신모듈, 근거리 무선 통신모듈 및 전원 공급을 위한 배터리 등을 구비한다.
상기 제어부는 스마트폰의 동작을 제어하는 기능 구성의 총칭으로서, 적어도 하나의 프로세서와 실행 메모리를 포함하며, 스마트폰에 구비된 각 기능 구성부와 버스(BUS)를 통해 연결된다.
이러한 상기 제어부는 상기 프로세서를 통해 스마트폰에 구비되는 적어도 하나의 프로그램 코드를 상기 실행 메모리에 로딩하여 연산하고, 그 결과를 상기 버스를 통해 적어도 하나의 기능 구성부로 전달하여 스마트폰의 동작을 제어한다.
상기 메모리부는 스마트폰에 구비되는 비휘발성 메모리의 총칭으로서, 상기 제어부를 통해 실행되는 적어도 하나의 프로그램 코드와, 상기 프로그램 코드가 이용하는 적어도 하나의 데이터 셋트를 저장하여 유지한다. 상기 메모리부는 기본적으로 스마트폰의 운영체제에 대응하는 시스템 프로그램 코드와 시스템 데이터 셋트, 스마트폰의 무선 통신 연결을 처리하는 통신 프로그램 코드와 통신 데이터 셋트 및 적어도 하나의 응용프로그램 코드와 응용 데이터 셋트를 저장하며, 본 발명을 구현하기 위한 프로그램 코드와 데이터 셋트 역시 상기 메모리부에 저장된다.
상기 화면 출력부는 화면출력 장치(예컨대, LCD(Liquid Crystal Display) 장치)와 이를 구동하는 출력 모듈로 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산 결과 중 화면 출력에 대응하는 연산 결과를 상기 화면출력 장치로 출력한다.
상기 키입력부는 적어도 하나의 키 버튼을 구비한 키 입력장치(또는 상기 화면 출력부와 연동하는 터치스크린 장치)와 이를 구동하는 입력 모듈로 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산을 명령하는 명령을 입력하거나, 또는 상기 제어부의 연산에 필요한 데이터를 입력한다.
상기 사운드 출력부는 사운드 신호를 출력하는 스피커와 상기 스피커를 구동하는 사운드 모듈로 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산 결과 중 사운드 출력에 대응하는 연산 결과를 상기 스피커를 통해 출력한다. 상기 사운드 모듈은 기 스피커를 통해 출력할 사운드 데이터를 디코딩(Decoding)하여 사운드 신호로 변환한다.
상기 사운드 입력부는 사운드 신호를 입력받는 마이크로폰과 상기 마이크로폰을 구동하는 사운드 모듈로 구성되며, 상기 마이크로폰을 통해 입력되는 사운드 데이터를 상기 제어부로 전달한다. 상기 사운드 모듈은 상기 마이크로폰을 통해 입력되는 사운드 신호를 엔코딩(Encoding)하여 부호화한다.
상기 카메라부는 광학부와 CCD(Charge Coupled Device)와 이를 구동하는 카메라 모듈로 구성되며, 상기 광학부를 통해 상기 CCD에 입력된 비트맵 데이터를 획득한다. 상기 비트맵 데이터는 정지 영상의 이미지 데이터와 동영상 데이터를 모두 포함할 수 있다.
상기 무선망 통신모듈은 무선 통신을 연결하는 통신 구성의 총칭으로서, 특정 주파수 대역의 무선 주파수 신호를 송수신하는 안테나, RF모듈, 기저대역모듈, 신호처리모듈을 적어도 하나 포함하여 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산 결과 중 무선 통신에 대응하는 연산 결과를 무선 통신을 통해 전송하거나, 또는 무선 통신을 통해 데이터를 수신하여 상기 제어부로 전달함과 동시에, 상기 무선 통신의 접속, 등록, 통신, 핸드오프의 절차를 유지한다.
또한, 상기 무선망 통신모듈은 CDMA/WCDMA 규격에 따라 이동 통신망에 접속, 위치등록, 호처리, 통화연결, 데이터통신, 핸드오프를 적어도 하나 수행하는 이동 통신 구성을 포함한다. 한편, 당업자의 의도에 따라 상기 무선망 통신모듈은 IEEE 802.16 규격에 따라 휴대인터넷에 접속, 위치등록, 데이터통신, 핸드오프를 적어도 하나 수행하는 휴대 인터넷 통신 구성을 더 포함할 수 있으며, 상기 무선망 통신모듈이 제공하는 무선 통신 구성에 의해 본 발명이 한정되지 아니함을 명백히 밝혀두는 바이다.
상기 근거리 무선 통신모듈은 일정 거리 이내에서 무선 주파수 신호를 통신매체로 이용하여 통신세션을 연결하는 근거리 무선 통신모듈로 구성되며, 바람직하게는 ISO 180000 시리즈 규격의 RFID 통신, 블루투스 통신, 와이파이 통신, 공중 무선 통신 중 적어도 하나를 포함할 수 있다. 또한, 상기 근거리 무선 통신모듈은 상기 무선망 통신모듈과 통합될 수 있다.
이와 같이 구성된 스마트폰은 무선 통신이 가능한 단말기를 의미하며, 스마트폰 이외에도 인터넷을 포함한 네트워크를 통하여 데이터의 송수신이 가능한 단말기라면 어떠한 장치라도 적용이 가능할 것이다. 즉, 상기 스마트폰은 단문 메시지 전송 기능과 네트워크 접속 기능을 가지는 노트북 PC, 태블릿 PC, 그 외에도 휴대 및 이동이 가능한 휴대 단말을 적어도 하나 이상을 포함할 수 있다.
이하에는 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 방법을 상세하게 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 방법을 설명하기 위한 전체적인 흐름도이고, 도 3은 본 발명의 일 실시예에 적용된 제1 일관성 분석법 중에서 문장 간의 상호 참조 관계를 행렬로 표현한 도면이며, 도 4는 본 발명의 일 실시예에 적용된 제3 일관성 분석법 중에서 합성곱 신경망 기반의 문장 임베딩 모델을 나타낸 개념도이며, 도 5는 본 발명의 일 실시예에 적용된 제3 일관성 분석법 중에서 문서 일관성 측정을 위한 합성곱 신경망 기반 모델 구조를 나타낸 개념도이며, 도 6은 본 발명의 일 실시예에 적용된 제3 일관성 분석법 중에서 문서 일관성 측정 모델의 입력 데이터를 표 형태로 나타낸 일 예의 도면이다.
도 1 내지 도 6을 참조하면, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 방법은, 먼저, 전처리부(100)를 통해 비정형 데이터 즉, 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해한 후, 분해된 문단 및 문장을 형태소 분석하여 텍스트 문서로 출력한다(S100).
이후에, 텍스트 일관성 분석부(200)를 통해 상기 단계S100에서 형태소 분석하여 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석한다(S200).
이때, 상기 단계S200에서, 상기 제1 일관성 분석법은, 인접한 문장들이 의미적으로 얼마나 관련이 있는지 판단하기 위해 각 문장의 형태소를 비교한다. 따라서, 하기의 식 4를 이용하여 일관성을 정량적으로 계산할 수 있다.
(식 4)
Figure pat00016
여기서, N은 문서에서 전체 문장의 수이고, R(i, i+1)은 i번째 문장과 i+1번째 문장의 상호 참조 관계의 상태를 나타낸다. 문장의 상호 참조 관계의 요소로 한국어 특성(교착어)상 형태소 단위로 정하고, 예컨대, 명사, 형용사, 동사, 어근 등과 같이 문장에서 의미를 가지는 품사로 한정한다.
즉, 인접한 두 문장에 적어도 하나 이상의 상호 참조 관계가 있는 경우(또는 의미 있는 품사를 가진 형태소가 동일하게 존재할 경우) R(i, i+1)의 값은 '1' 이고, 그렇지 않을 경우에는 '0'으로 정의한다.
아래의 예시를 통해 문서의 일관성 측정 과정을 자세히 설명한다.
(예시)
문장 1 : 을 데우면 끓게 되고 결국 증발한다.
문장 2 : 증발된 기체가 냉각되면 다시 로 변한다.
문장 3: 어떤 물질이 전혀 다른 새로운 물질로 변하는 현상을 화학 변화라고 한다.
문장 4: 얼음이 녹아서 이 되는 것도 마찬가지이다.
여기서, 문장 1과 문장 2에서 동일한 형태소가 2개 이상 존재하기 때문에 R(1, 2)의 값은 '1'이 된다. 문장 2와 문장 3에서 동일한 형태소가 존재하지 않기 때문에 R(2, 3)의 값은 '0'이 된다. 같은 방법으로 R(3, 4)의 값은 '0'이 된다. 문장 간의 상호 참조 관계를 행렬로 표현하면 도 3과 같다.
결국, 인접한 문장의 상호 참조 관계 값을 평균으로 계산한다.
즉, (R(1, 2)+R(2, 3)+R(3, 4))/3 = (1+0+0)/3 = 0.333…
또한, 상기 단계S200에서, 상기 제2 일관성 분석법은, 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 각 문장을 자질 벡터(Feature Vector)로 표현하는 단어 임베딩(Word Embedding) 및 문장 임베딩(Sentence Embedding)을 이용하여 해당 텍스트 문서를 구성하고 있는 문장들을 각 문장 벡터로 표현하고, 표현된 각 문장 벡터를 통해 각 문장 벡터 간의 유사도를 계산한 후, 계산된 각 문장 벡터 간의 유사도를 이용하여 해당 텍스트 문서의 의미적 일관성을 정량적으로 계산할 수 있다. 이때, 상기 문장 임베딩은, 문장을 구성하고 있는 단어들의 임베딩인 단어 임베딩을 통한 단어 벡터의 평균으로 정의됨이 바람직하다.
상기 제2 일관성 분석법에 대하여 예를 들어 보다 구체적으로 설명하면 다음과 같다.
즉, 문장 임베딩(Sentence Embedding)을 이용한 문장 자질 표현은 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 문장을 자질 벡터(Feature Vector)로 표현하는 것이다. 문서를 구성하고 있는 문장 벡터(Sentence Vector)로 표현함으로써 이를 통해 문장 간의 의미적 유사도를 계산할 수 있다.
이때, 문장 임베딩을 위한 모델은 'Sent2Vec'을 사용함이 바람직하다. 'Sent2Vec'은 단어가 아닌 문장의 의미를 잘 학습하기 위해 'FastText' 모델과 'Word2Vec' 모델의 CBOW(Continuous Bag of Words Model)를 확장한 모델이다.
그리고, 'Sent2Vec' 모델에서 문장 임베딩은 문장을 구성하고 있는 단어들의 임베딩 즉, 단어 임베딩(Word Embedding)을 통한 단어 벡터의 평균으로 정의된다. 또한, 이 모델은 'uni-gram'단어 벡터뿐만 아니라 각 문장에 있는 단어의 'bi-gram'을 하나의 새로운 단어로 임베딩하여 함께 학습하고, 모든 'uni-gram'단어 벡터와 'bi-gram'단어 페어의 벡터를 평균하여 사용한다.
예컨대, 한 문장 S의 문장 벡터 vs, 어휘(vocabulary) 안의 단어 w에 대하여 CBOW에서 예측하고자 하는 타겟 단어 벡터를 vw라고 할 때, 하기의 식 5와 같은 수식으로 문장 벡터를 생성한다. R(S)는 문장 S에서 생성한 'n-gram(uni-gram + bi-gram)'의 리스트이다.
(식 5)
Figure pat00017
그리고, 한 문서를 구성하고 있는 문장을 벡터로 표현하고, 문장 벡터 간의 유사도를 이용하여 문서의 의미적 일관성을 측정한다. 문서 벡터 간의 유사도 척도는 코사인 유사도(Cosine Similarity)를 사용한다.
N개의 문장으로 구성되어 있는 문서 D={s1,s2,…,sN}에 대하여 문장 si에 해당하는 문장 벡터
Figure pat00018
라고 할 때, 문장 간의 유사도(Sim(si,sj))는 하기의 식 6의 아랫 부분 식과 같이 계산한다. 그리고, 한 문서의 일관성은 문서를 구성하고 있는 모든 문장들 간의 유사도의 평균을 이용하여 하기의 식 6의 윗 부분 식과 같이 계산한다.
(식 6)
Figure pat00019
그리고, 상기 단계S200에서, 상기 제3 일관성 분석법은, 해당 텍스트 문서의 일관성을 측정하기 위해 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장을 이용하여 상기 합성곱 신경망 학습을 수행한다.
상기 합성곱 신경망의 입력으로 사용하기 위해 하나의 문장은 단어들의 벡터로 바꾸어 표현한다. 즉, 입력 문장을 형태소 분석한 결과에서 하나의 형태소를 단어로 가정하고 단어 임베딩(Word Embedding)을 이용한 단어 벡터(Word Vector)로 바꾸어 표현한다. 그리고, 각 문장을 구성하고 있는 단어의 벡터들을 연결(concatenate)한 문장 매트릭스(Sentence Matrix)로 바꾸어 사용한다.
예컨대, 문장 매트릭스는 입력 문장 s로 만들어지며, 문장을 구성하는 단어
Figure pat00020
로 이루어져 있다. 이때,
Figure pat00021
는 문장을 구성하는 단어 개수이다. 단어 임베딩을 이용하여 d차원의 단어 벡터를 사용한다고 하였을 때, 문장 매트릭스
Figure pat00022
은 입력 문장 s를 구성하고 있는 단어들의 벡터로 구성되어 있다. 즉, S의 i번째 열은 s의 i번째 단어의 벡터이다.
그리고, 컨볼루션 레이어(Convolution Layer)는 컨볼루션 필터(Convolution Filter)를 이용하여 문장 매트릭스에서 중요한 자질(feature)을 추출한다. 컨볼루션 필터
Figure pat00023
는 너비 m과 문장 매트릭스
Figure pat00024
와 같은 차원 크기 d를 가지는 가중치 행렬이다. 도 3과 같이 컨볼루션 필터는 문장 매트릭스를 stride 1씩 움직이면서 벡터
Figure pat00025
를 출력으로 생성한다. c의 구성요소는 하기의 식 7과 같이 계산된다.
(식 7)
Figure pat00026
여기서,
Figure pat00027
는 문장 매트릭스의 열을 따라 움직이는 크기가 m인 행렬의 한 부분이고,
Figure pat00028
는 행렬 간의 성분곱(element-wise multiplication)을 뜻하는 연산자이다. 컨볼루션(Convolution) 연산 뒤에는 비선형 활성함수 'ReLU'를 적용한다.
그리고, 풀링 레이어(Pooling Layer)에서는 최대 풀링(max pooling)을 이용하여 컨볼루션 레이어의 결과인 피쳐 맵(Feature Maps)의 차원을 줄이고 합친다. 최대 풀링(max pooling)은 하나의 피쳐 맵 행렬 C의 열에서 동작하며, 하기의 식 8과 같이 컨볼루션 레이어의 출력의 최대값을 반환한다.
(식 8)
Figure pat00029
도 5는 문서의 일관성을 측정하기 위한 합성곱 신경망 기반 모델 구조이다. 즉, 문서를 구성하고 있는 각 문장과 앞, 뒤의 문장, 총 3개의 문장을 입력으로 사용한다. N(문서에서 전체 문장의 수)개의 문장으로 구성되어 있는 일관성이 있는(Coherent) 문서 D={s1,s2,…,sN}에 대하여 3개의 문장을 하나의 세트(set) q로 정의하여 모델의 입력 데이터를 구성한다.
이때, 한 세트 안의 3개 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 교체하여 오류 학습 데이터를 생성한다. 도 6은 문서 일관성 측정 모델을 위해 생성한 입력 데이터의 예시이다.
예컨대, 일관성이 있는 문서를 구성하고 있는 문장들에 대하여 하나의 학습 데이터인 3개의 문장 세트에 대해 'yq=1'로 설정한다. 그리고, 3개의 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 대치하여 생성한 오류 학습 데이터에 대해 'yq=0'으로 설정하여 모델을 학습한다.
그리고, 각 3개의 문장 임베딩 모델에서 출력으로 나온 3개의 벡터 x1, x2, x3는 조인 레이어(Join Layer)의 입력으로 들어가 연결(Concatenate)하여 3개의 문장에 대한 하나의 벡터가 된다(식 9 참조).
(식 9)
Figure pat00030
그리고, 히든 레이어(Hidden Layer)에서는 가중치 행렬 Wh, 바이어스 bh와 비선형함수 f를 이용하여 하기의 식 10과 같이 벡터 h로 계산된다. 이때, h는 입력층에서부터 일련의 컨볼루션(convolution), 풀링(pooling), 차원 변환 등의 연산 과정을 거친 3개의 문장에 대한 최종 벡터라고 볼 수 있다.
(식 10)
Figure pat00031
그리고, 히든 레이어의 출력으로 나온 h는 소프트맥스 분류 레이어(Softmax classification layer)입력으로 들어와 하기의 식 11과 같이 최종적으로 3개의 문장에 대한 일관성 확률을 계산한다. Ws는 가중치 행렬, bs는 바이어스이다.
(식 11)
Figure pat00032
상기와 같이 전술한 합성곱 신경반 기반의 문서 일관성 측정 모델은 예컨대, 'negative conditional log-likelihood'를 이용한 하기의 식 12로 학습을 진행한다.
(식 12)
Figure pat00033
여기서,
Figure pat00034
는 전체 모델의 파라미터들이다. 단어 임베딩 행렬 W, 각 문장 임베딩 모델의 컨볼루션 레이어에서 사용하는 컨볼루션 필터 가중치와 바이어스(
Figure pat00035
), 그리고 히든 레이어의 가중치 행렬과 바이어스(Wh;bh), 소프트맥스 레이어의 가중치 행렬과 바이어스(Ws;bs)로 구성되어 있다. g(i)는 N개의 문장으로 구성되어 있는 문서 D={s1,s2,…,sN}에서 모델 입력을 위해 구성된 i번째 3개의 문장 세트이다. 모델 학습은 상기의 식 12를 최소화하면서 모델 파라미터
Figure pat00036
들을 최적화한다.
그리고, 상기 합성곱 신경망의 합습된 결과를 통하여 N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대한 일관성 점수(SD)는 하기의 식 13에 의해 정량적으로 계산할 수 있다.
(식 13)
Figure pat00037
여기서, N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 정의된 세트(q)는
Figure pat00038
인 경우이고, p는 상기 합성곱 신경망의 합습된 결과로서 3개의 문장 세트에 대한 일관성 확률이다.
이때, 문서의 일관성은 문서로 구성한 모든 세트의 일관성에 따라 결정된다. 일관성이 없는 문장은 문서 전체 일관성에 너무 큰 악영향을 미치기 때문에, 한 문서의 일관성은 'yq=1'인 모든 세트 q들의 곱으로 계산한다.
추가적으로, 도면에 도시되진 않았지만, 상기 단계S200 이후에, 상기 단계S200에서 정량적으로 분석한 각 문장 간의 일관성 점수를 사용자가 시각적으로 볼 수 있도록 별도의 디스플레이부(300)의 디스플레이 화면에 표시하는 단계를 더 포함할 수 있다.
더욱이, 상기 단계S200 이후에, 상기 단계S200에서 정량적으로 분석한 각 문장 간의 일관성 정보데이터를 텍스트 문서별 및/또는 각 문장별로 데이터베이스(DB)화하여 별도의 저장부(400)에 저장하는 단계를 더 포함할 수도 있다.
또한, 상기 단계S200 이후에, 상기 단계S200에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 별도의 통신부(500)를 통해 유선 및/또는 무선으로 외부의 사용자 단말(미도시)에 전송하는 단계를 더 포함할 수도 있다.
한편, 본 발명의 일 실시예에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100 : 전처리부,
200 : 텍스트 일관성 분석부,
300 : 디스플레이부,
400 : 저장부,
500 : 통신부

Claims (23)

  1. 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해하고, 분해된 문단 및 문장을 형태소 분석하여 텍스트 문서로 출력하는 전처리부; 및
    상기 전처리부로부터 형태소 분석을 통해 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석하는 텍스트 일관성 분석부를 포함하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  2. 제1 항에 있어서,
    상기 제1 일관성 분석법은, 인접한 문장들이 의미적으로 얼마나 관련이 있는지 판단하기 위해 각 문장의 형태소를 비교하고, 하기의 식 1을 이용하여 일관성을 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
    (식 1)
    Figure pat00039

    여기서, N은 문서에서 전체 문장의 수이고, R(i, i+1)은 i번째 문장과 i+1번째 문장의 상호 참조 관계의 상태를 나타낸 것으로, 인접한 두 문장에 적어도 하나 이상의 상호 참조 관계가 있는 경우(또는 의미 있는 품사를 가진 형태소가 동일하게 존재할 경우) R(i, i+1)의 값은 '1' 이고, 그렇지 않을 경우에는 '0'으로 정의한다.
  3. 제1 항에 있어서,
    상기 제2 일관성 분석법은, 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 각 문장을 자질 벡터(Feature Vector)로 표현하는 단어 임베딩(Word Embedding) 및 문장 임베딩(Sentence Embedding)을 이용하여 해당 텍스트 문서를 구성하고 있는 문장들을 각 문장 벡터로 표현하고, 표현된 각 문장 벡터를 통해 각 문장 벡터 간의 유사도를 계산한 후, 계산된 각 문장 벡터 간의 유사도를 이용하여 해당 텍스트 문서의 의미적 일관성을 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  4. 제3 항에 있어서,
    상기 문장 임베딩은, 문장을 구성하고 있는 단어들의 임베딩인 단어 임베딩을 통한 단어 벡터의 평균으로 정의되는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  5. 제3 항에 있어서,
    상기 제2 일관성 분석법을 통해 해당 텍스트 문서의 의미적 일관성은, 해당 텍스트 문서를 구성하고 있는 모든 문장들 간의 유사도의 평균을 이용하여 하기의 식 2에 의해 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
    (식 2)
    Figure pat00040

    여기서, N은 문서에서 전체 문장의 수이고, Sim(si,sj)는 코사인 유사도(Cosine Similarity)를 이용하여 N개의 문장으로 구성되어 있는 텍스트 문서 D={s1,s2,…,sN}에 대하여 문장 si에 해당하는 문장 벡터
    Figure pat00041
    라고 할 때 문장 간의 유사도를 계산한 것이다.
  6. 제1 항에 있어서,
    상기 제3 일관성 분석법은, 해당 텍스트 문서의 일관성을 측정하기 위해 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장을 이용하여 상기 합성곱 신경망 학습을 수행하되, 상기 합성곱 신경망의 입력으로 사용하기 위해 입력 문장을 형태소 분석한 결과에서 하나의 형태소를 단어로 가정하고 단어 임베딩(Word Embedding)을 이용한 단어 벡터(Word Vector)로 바꾸어 표현한 후, 각 문장을 구성하고 있는 단어의 벡터들을 연결한 문장 매트릭스(Sentence Matrix)로 바꾸어 사용하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  7. 제6 항에 있어서,
    상기 합성곱 신경망의 입력으로 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장으로 이루어진 총 3개의 문장을 사용하되, N(문서에서 전체 문장의 수)개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 3개의 문장을 하나의 세트(q)로 정의하여 모델의 입력 데이터를 구성하고, 하나의 세트(q) 안의 3개 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 교체하여 오류 학습 데이터를 생성하며, 일관성이 있는 문서를 구성하고 있는 문장들에 대하여 하나의 학습 데이터인 3개의 문장 세트에 대해 'yq=1'로 설정함과 아울러 3개의 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 대치하여 생성한 오류 학습 데이터에 대해 'yq=0'으로 설정하여 모델을 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  8. 제7 항에 있어서,
    상기 합성곱 신경망의 합습된 결과를 통하여 N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대한 일관성(SD)은 하기의 식 3에 의해 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
    (식 3)
    Figure pat00042

    여기서, N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 정의된 세트(q)는
    Figure pat00043
    인 경우이고, p는 상기 합성곱 신경망의 합습된 결과로서 3개의 문장 세트에 대한 일관성 확률이다.
  9. 제1 항에 있어서,
    상기 텍스트 일관성 분석부의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 점수를 사용자가 시각적으로 볼 수 있도록 디스플레이 화면에 표시하는 디스플레이부가 더 포함되는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  10. 제1 항에 있어서,
    상기 텍스트 일관성 분석부의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 텍스트 문서별 또는 각 문장별로 데이터베이스(DB)화하여 저장하는 저장부가 더 포함되는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  11. 제1 항에 있어서,
    상기 텍스트 일관성 분석부의 제어에 따라 해당 텍스트 문서에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 유선 또는 무선으로 외부의 사용자 단말에 전송하는 통신부가 더 포함되는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 장치.
  12. 전처리부 및 텍스트 일관성 분석부를 포함한 장치를 이용하여 텍스트 문서에서 각 문장 간의 일관성을 분석하는 방법으로서,
    (a) 상기 전처리부를 통해 문서 단위의 자연 언어로 된 텍스트 문서를 입력으로 받아 문단 및 문장 단위로 분해한 후, 분해된 문단 및 문장을 형태소 분석하여 텍스트 문서로 출력하는 단계; 및
    (b) 상기 텍스트 일관성 분석부를 통해 상기 단계(a)에서 형태소 분석하여 출력된 텍스트 문서에 대하여, 문단의 첫 번째 문장을 제외한 문장의 키워드와 앞 문장의 키워드를 분석하여 일관성을 정량적으로 계산하는 제1 일관성 분석법, 각 문장의 자질(Feature)을 추출하여 벡터로 표현한 후 이를 통해 각 문장의 유사도를 계산하고 이를 이용하여 일관성을 정량적으로 계산하는 제2 일관성 분석법, 기계학습 방법으로 비일관성 문장을 임의로 생성하고 이를 딥러닝 기반의 합성곱 신경망을 이용하여 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 제3 일관성 분석법 중 적어도 하나의 일관성 분석법을 이용하여 각 단위 문장들이 해당 텍스트 문서 전체의 문맥상 일관성을 유지하는지 정량적으로 분석하는 단계를 포함하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  13. 제12 항에 있어서,
    상기 단계(b)에서, 상기 제1 일관성 분석법은, 인접한 문장들이 의미적으로 얼마나 관련이 있는지 판단하기 위해 각 문장의 형태소를 비교하고, 하기의 식 4를 이용하여 일관성을 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
    (식 4)
    Figure pat00044

    여기서, N은 문서에서 전체 문장의 수이고, R(i, i+1)은 i번째 문장과 i+1번째 문장의 상호 참조 관계의 상태를 나타낸 것으로, 인접한 두 문장에 적어도 하나 이상의 상호 참조 관계가 있는 경우(또는 의미 있는 품사를 가진 형태소가 동일하게 존재할 경우) R(i, i+1)의 값은 '1' 이고, 그렇지 않을 경우에는 '0'으로 정의한다.
  14. 제12 항에 있어서,
    상기 단계(b)에서, 상기 제2 일관성 분석법은, 텍스트의 단어와 문장들의 문맥 정보를 학습하여 차원 축소 및 추상화를 통해 각 문장을 자질 벡터(Feature Vector)로 표현하는 단어 임베딩(Word Embedding) 및 문장 임베딩(Sentence Embedding)을 이용하여 해당 텍스트 문서를 구성하고 있는 문장들을 각 문장 벡터로 표현하고, 표현된 각 문장 벡터를 통해 각 문장 벡터 간의 유사도를 계산한 후, 계산된 각 문장 벡터 간의 유사도를 이용하여 해당 텍스트 문서의 의미적 일관성을 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  15. 제14 항에 있어서,
    상기 문장 임베딩은, 문장을 구성하고 있는 단어들의 임베딩인 단어 임베딩을 통한 단어 벡터의 평균으로 정의되는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  16. 제14 항에 있어서,
    상기 제2 일관성 분석법을 통해 해당 텍스트 문서의 의미적 일관성은, 해당 텍스트 문서를 구성하고 있는 모든 문장들 간의 유사도의 평균을 이용하여 하기의 식 5에 의해 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
    (식 5)
    Figure pat00045

    여기서, N은 문서에서 전체 문장의 수이고, Sim(si,sj)는 코사인 유사도(Cosine Similarity)를 이용하여 N개의 문장으로 구성되어 있는 텍스트 문서 D={s1,s2,…,sN}에 대하여 문장 si에 해당하는 문장 벡터
    Figure pat00046
    라고 할 때 문장 간의 유사도를 계산한 것이다.
  17. 제12 항에 있어서,
    상기 단계(b)에서, 상기 제3 일관성 분석법은, 해당 텍스트 문서의 일관성을 측정하기 위해 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장을 이용하여 상기 합성곱 신경망 학습을 수행하되, 상기 합성곱 신경망의 입력으로 사용하기 위해 입력 문장을 형태소 분석한 결과에서 하나의 형태소를 단어로 가정하고 단어 임베딩(Word Embedding)을 이용한 단어 벡터(Word Vector)로 바꾸어 표현한 후, 각 문장을 구성하고 있는 단어의 벡터들을 연결한 문장 매트릭스(Sentence Matrix)로 바꾸어 사용하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  18. 제17 항에 있어서,
    상기 합성곱 신경망의 입력으로 해당 텍스트 문서를 구성하고 있는 각 문장, 각 문장의 앞 문장, 및 각 문장의 뒷 문장으로 이루어진 총 3개의 문장을 사용하되, N(문서에서 전체 문장의 수)개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 3개의 문장을 하나의 세트(q)로 정의하여 모델의 입력 데이터를 구성하고, 하나의 세트(q) 안의 3개 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 교체하여 오류 학습 데이터를 생성하며, 일관성이 있는 문서를 구성하고 있는 문장들에 대하여 하나의 학습 데이터인 3개의 문장 세트에 대해 'yq=1'로 설정함과 아울러 3개의 문장 중 가운데 문장을 임의의 다른 비일관성 문장으로 대치하여 생성한 오류 학습 데이터에 대해 'yq=0'으로 설정하여 모델을 학습하고 합습된 결과를 통하여 일관성을 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  19. 제18 항에 있어서,
    상기 합성곱 신경망의 합습된 결과를 통하여 N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대한 일관성(SD)은 하기의 식 6에 의해 정량적으로 계산하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
    (식 6)
    Figure pat00047

    여기서, N개의 문장으로 구성되어 있는 일관성이 있는 문서 D={s1,s2,…,sN}에 대하여 정의된 세트(q)는
    Figure pat00048
    인 경우이고, p는 상기 합성곱 신경망의 합습된 결과로서 3개의 문장 세트에 대한 일관성 확률이다.
  20. 제12 항에 있어서,
    상기 단계(b) 이후에, 상기 단계(b)에서 정량적으로 분석한 각 문장 간의 일관성 점수를 사용자가 시각적으로 볼 수 있도록 별도의 디스플레이부의 디스플레이 화면에 표시하는 단계를 더 포함하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  21. 제12 항에 있어서,
    상기 단계(b) 이후에, 상기 단계(b)에서 정량적으로 분석한 각 문장 간의 일관성 정보데이터를 텍스트 문서별 또는 각 문장별로 데이터베이스(DB)화하여 별도의 저장부에 저장하는 단계를 더 포함하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  22. 제12 항에 있어서,
    상기 단계(b) 이후에, 상기 단계(b)에서 정량적으로 분석된 각 문장 간의 일관성 정보데이터를 별도의 통신부를 통해 유선 또는 무선으로 외부의 사용자 단말에 전송하는 단계를 더 포함하는 것을 특징으로 하는 텍스트 문서에서 각 문장 간의 일관성 분석 방법.
  23. 제12 항 내지 제22 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020180169502A 2018-12-26 2018-12-26 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법 KR102168504B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180169502A KR102168504B1 (ko) 2018-12-26 2018-12-26 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180169502A KR102168504B1 (ko) 2018-12-26 2018-12-26 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200084436A true KR20200084436A (ko) 2020-07-13
KR102168504B1 KR102168504B1 (ko) 2020-10-21

Family

ID=71570829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180169502A KR102168504B1 (ko) 2018-12-26 2018-12-26 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102168504B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102307407B1 (ko) * 2021-01-22 2021-09-30 이종훈 언택트 감사 방법 및 시스템
CN113515628A (zh) * 2021-05-19 2021-10-19 北京世纪好未来教育科技有限公司 文档检测方法、装置、设备及存储介质
CN113743125A (zh) * 2021-09-07 2021-12-03 广州晓阳智能科技有限公司 文本连贯性分析方法及装置
KR20220074401A (ko) * 2020-11-27 2022-06-03 스퀘어네트 주식회사 직무에 적합한 전공 추천 서비스 제공 시스템
KR20220135841A (ko) * 2021-03-31 2022-10-07 한양대학교 산학협력단 미술학습 평가 방법 및 그 장치
KR20230087674A (ko) * 2021-12-09 2023-06-19 동국대학교 산학협력단 기계학습 기반의 문서 수정명령 처리 장치 및 방법
KR102562164B1 (ko) * 2022-06-23 2023-08-02 주식회사 서감도 문장에 대한 문해력을 향상시키는 문장구성요소 시각처리장치 및 독창적문장을 거래하기 위한 플랫폼 운영 장치
US11775592B2 (en) 2020-08-07 2023-10-03 SECURITI, Inc. System and method for association of data elements within a document
KR20230139741A (ko) * 2022-03-28 2023-10-05 주식회사 서감도 문장의 시각적처리를 통한 전자책의 문해력 향상 장치 및 전자책을 거래하기 위한 플랫폼 운영 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102280490B1 (ko) 2021-01-27 2021-07-22 주식회사 두유비 상담 의도 분류용 인공지능 모델을 위한 훈련 데이터를 자동으로 생성하는 훈련 데이터 구축 방법
KR102540665B1 (ko) 2021-04-15 2023-06-13 동국대학교 산학협력단 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165598A (ja) * 2006-12-28 2008-07-17 National Institute Of Information & Communication Technology 風評情報抽出装置及び風評情報抽出方法
KR20140051606A (ko) * 2012-10-23 2014-05-02 에스케이텔레콤 주식회사 Rdf 기반의 문장 온톨로지를 이용한 일관성 평가 방법 및 장치
KR20170030297A (ko) 2015-09-09 2017-03-17 삼성전자주식회사 자연어 처리 시스템, 자연어 처리 장치, 자연어 처리 방법 및 컴퓨터 판독가능 기록매체
KR20190085883A (ko) * 2018-01-11 2019-07-19 네오사피엔스 주식회사 다중 언어 텍스트-음성 합성 모델을 이용한 음성 번역 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165598A (ja) * 2006-12-28 2008-07-17 National Institute Of Information & Communication Technology 風評情報抽出装置及び風評情報抽出方法
KR20140051606A (ko) * 2012-10-23 2014-05-02 에스케이텔레콤 주식회사 Rdf 기반의 문장 온톨로지를 이용한 일관성 평가 방법 및 장치
KR20170030297A (ko) 2015-09-09 2017-03-17 삼성전자주식회사 자연어 처리 시스템, 자연어 처리 장치, 자연어 처리 방법 및 컴퓨터 판독가능 기록매체
KR20190085883A (ko) * 2018-01-11 2019-07-19 네오사피엔스 주식회사 다중 언어 텍스트-음성 합성 모델을 이용한 음성 번역 방법 및 시스템

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
S. Chopra et al., Towards Automatic Identification of Fake News: Headline-Article Stance Detection with LSTM Attention Models, Stanford CS224d Deep Learning for NLP final project (2017) *
김도우, Doc2Vec을 활용한 CNN 기반 한국어 신문 기사 분류에 관한 연구, 서강대학교 석사학위 논문 (2017.01) *
배경만, 커뮤니티 기반 질문-응답 서비스를 위한 워드 임베딩 기반의 질문 분류 및 검색 기법, 동아대학교 박사학위 논문 (2016.06) *
임근영 외, 딥러닝과 Char2Vec을 이용한 문장 유사도 판별, 한국정보통신학회논문지 Vol.22 No.10, pp.1300-1306 (2018.10) *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775592B2 (en) 2020-08-07 2023-10-03 SECURITI, Inc. System and method for association of data elements within a document
KR20220074401A (ko) * 2020-11-27 2022-06-03 스퀘어네트 주식회사 직무에 적합한 전공 추천 서비스 제공 시스템
KR102307407B1 (ko) * 2021-01-22 2021-09-30 이종훈 언택트 감사 방법 및 시스템
KR20220135841A (ko) * 2021-03-31 2022-10-07 한양대학교 산학협력단 미술학습 평가 방법 및 그 장치
CN113515628A (zh) * 2021-05-19 2021-10-19 北京世纪好未来教育科技有限公司 文档检测方法、装置、设备及存储介质
CN113515628B (zh) * 2021-05-19 2024-05-10 北京世纪好未来教育科技有限公司 文档检测方法、装置、设备及存储介质
CN113743125A (zh) * 2021-09-07 2021-12-03 广州晓阳智能科技有限公司 文本连贯性分析方法及装置
KR20230087674A (ko) * 2021-12-09 2023-06-19 동국대학교 산학협력단 기계학습 기반의 문서 수정명령 처리 장치 및 방법
KR20230139741A (ko) * 2022-03-28 2023-10-05 주식회사 서감도 문장의 시각적처리를 통한 전자책의 문해력 향상 장치 및 전자책을 거래하기 위한 플랫폼 운영 장치
KR102562164B1 (ko) * 2022-06-23 2023-08-02 주식회사 서감도 문장에 대한 문해력을 향상시키는 문장구성요소 시각처리장치 및 독창적문장을 거래하기 위한 플랫폼 운영 장치

Also Published As

Publication number Publication date
KR102168504B1 (ko) 2020-10-21

Similar Documents

Publication Publication Date Title
KR102168504B1 (ko) 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법
CN107943860B (zh) 模型的训练方法、文本意图的识别方法及装置
US10956771B2 (en) Image recognition method, terminal, and storage medium
US20210182504A1 (en) Text translation method and apparatus, and storage medium
WO2019100350A1 (en) Providing a summary of a multimedia document in a session
CN111985240B (zh) 命名实体识别模型的训练方法、命名实体识别方法及装置
CN111951805A (zh) 一种文本数据处理方法及装置
CN111428010A (zh) 人机智能问答的方法和装置
CN111597804B (zh) 一种实体识别模型训练的方法以及相关装置
CN108345612B (zh) 一种问题处理方法和装置、一种用于问题处理的装置
EP4336490A1 (en) Voice processing method and related device
CN112214605A (zh) 一种文本分类方法和相关装置
EP3762876A1 (en) Intelligent knowledge-learning and question-answering
CN113254684A (zh) 一种内容时效的确定方法、相关装置、设备以及存储介质
CN113761888A (zh) 文本翻译方法、装置、计算机设备及存储介质
CN115757692A (zh) 一种数据处理方法及其装置
CN111538830A (zh) 法条检索方法、装置、计算机设备及存储介质
CN112307198B (zh) 一种单文本的摘要确定方法和相关装置
CN117033799B (zh) 资源推荐方法、装置、计算机设备及存储介质
CN112749252B (zh) 一种基于人工智能的文本匹配方法和相关装置
CN113822038A (zh) 一种摘要生成方法和相关装置
CN112328783A (zh) 一种摘要确定方法和相关装置
CN117273019A (zh) 对话模型的训练方法、对话生成方法、装置和设备
KR20220109185A (ko) 단어 간의 유사도 판단 장치 및 그 방법
Wiegand et al. SymbolPath: a continuous motion overlay module for icon-based assistive communication

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant