KR102179025B1 - 문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 - Google Patents
문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 Download PDFInfo
- Publication number
- KR102179025B1 KR102179025B1 KR1020180162214A KR20180162214A KR102179025B1 KR 102179025 B1 KR102179025 B1 KR 102179025B1 KR 1020180162214 A KR1020180162214 A KR 1020180162214A KR 20180162214 A KR20180162214 A KR 20180162214A KR 102179025 B1 KR102179025 B1 KR 102179025B1
- Authority
- KR
- South Korea
- Prior art keywords
- context
- neural network
- sentences
- embedding
- sentence
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 239000013598 vector Substances 0.000 claims abstract description 155
- 238000013528 artificial neural network Methods 0.000 claims abstract description 98
- 230000002159 abnormal effect Effects 0.000 claims abstract description 32
- 238000001514 detection method Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000013450 outlier detection Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/768—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/196—Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
- G06V30/1983—Syntactic or structural pattern recognition, e.g. symbolic string recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
문서 내에 컨텍스트가 상이한 이상문장이 존재하는지 여부를 검출하는 장치 및 방법이 개시된다. 본 발명에 따른 문서의 컨텍스트 이상문장 검출장치는, 문서데이터를 구성하는 개별 문장을 일정한 규칙(함수)에 의하여 인코딩하여 인코딩벡터를 생성하는 문장인코더와, 생성된 인코딩벡터를 대응하는 임베딩벡터로 변환하는 컨텍스트 임베더 신경망과, 일련의 임베딩벡터시퀀스로 변환된 문서데이터 내에 이상문장이 존재하는지 여부를 탐지하는 컨텍스트 이상탐지기 신경망을 포함한다.
Description
본 발명은 주어진 문서 내에서 컨텍스트가 상이한 이상 부분을 검출하기 위한 장치 및 이 장치를 이용하여 문서 내에 컨텍스트가 상이한 이상 부분을 검출하는 방법에 관한 것이다.
딥러닝 기술을 이용하여 문서 내에서의 문맥을 학습하는 시도가 학계에 발표되고 있는데, 그 중 대표적인 기법으로 CoVe(McCann, Bryan, et al., NIPS 2017), ELMo(Peters, Matthew E., et al., arXiv 2018) 등이 있다. 이러한 기법들은 모두 문서 내의 문맥을 학습하기 위한 방법으로서 순환신경망(RNN)을 이용하는데, 이전 문장의 시퀀스를 문맥으로 하여 다음에 올 문장을 예측하는 순차적인 형태를 학습하는 모델이라고 할 수 있다. 따라서, 이들 모델들은 순차적인 입력들이 나타날 확률은 계산할 수 있지만, 어떤 문장들이 하나의 문맥을 형성하고 있는지, 그리고 어떤 문장에서 문맥이 변화하는지를 판단할 수 없다.
한편, 문서는 단위 문장들과, 복수의 문장들에 의해 형성된 문단으로 구성되어 있는데, 문서 내에서 다른 부분(예컨대, 복수의 문장들 또는 이들에 의해 형성된 복수의 문단들)과 컨택스트가 상이한 부분을 이상치(Anomaly)로 보고, 주어진 문서 내에서 이상치(즉, 이상문장)를 검출하는 방법이 개발되고 있다. 여기서, 컨텍스트는 임의의 문장들 사이에 공유되는 속성을 의미하는데, 주어진 문서를 구성하는 복수의 문장들 사이에 컨텍스트를 나타내는 정보가 포함되어 있다고 가정하고, 컨텍스트 정보를 활용하여 이상치를 탐지하게 된다. 기존의 이상치 탐지 기술에서는 다음의 두가지 방법으로 컨텍스트 정보를 활용하고 있다.
첫번째 방법은 컨텍스트 정보의 분류를 위해 필요한 특징을 추출하는 방법이다. 즉, 주어진 문서를 전처리하여 컨텍스트 정보를 반영한 메타데이터를 부여하고, 문서와 메타데이터를 같이 활용하여 이상치를 탐지하는 방법이다. 이 방법에서 사용되는 전처리 단계는, 일반적인 언어 처리에서 사용되는 처리(예컨대, 품사 태깅, 명사 추출 등)와 함께, 컨텍스트 정보를 고려한 처리(예컨대, 명사 추출시 특정 컨텍스트 정보를 반영한 사전 반영, 커스텀룰 반영 등)를 수행한다.
두번째 방법은 컨텍스트 정보를 명시적으로 분류하는 방법이다. 즉, 사전에 처리할 컨텍스트의 범주를 정의하고, 입력으로부터 각 문장 별로 컨텍스트를 분류한 후, 이를 활용하여 이상치를 탐지한다. 예컨대, 주어진 문서가 뉴스 문서라고 가정하면, 컨텍스트 범주는 뉴스의 카테고리, 예컨대, 스포츠, 정치, 경제, 연예 등이 되고, 문서 내에서 카테고리의 범주가 다른 문장이 출현하면 이를 이상치(즉, 이상문장)로 탐지한다.
그러나, 상술한 이상치 탐지 기술은 다음과 같은 문제점을 가진다. 즉, 컨텍스트 정보를 활용할 때 전처리를 통해 메타데이터를 부여하는 경우, 일반적인 언어 처리 방식으로 추가되는 특징들은 추가적인 정보를 제공하기는 하지만 특정 컨텍스트 정보를 충분히 반영하기에 부족하고, 또한 컨텍스트를 고려한 처리 방식으로 추가되는 특징들은 사전 또는 커스텀룰 등의 유지 및 보수에 추가적인 비용이 소요된다. 또한, 컨텍스트를 명시적으로 분류하는 경우에도, 문서 내에서 복잡한 컨텍스트를 분류하기 위한 학습데이터를 만드는 것이 곤란하다.
본 발명은 상술한 종래기술의 문제점을 해결하고자 한 것으로서, 문서 내에서 이상치를 탐지하기 위하여 사용되는 컨텍스트 정보를 사람이 미리 설정한 규칙을 통해 추출하지 않고, 주어진 문서데이터로부터 각 문장들 사이에 공유되는 속성인 컨텍스트 정보를 인공신경망을 통해 추출하도록 함으로써 문서의 컨텍스트 이상문장을 검출할 수 있는 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공하는 것을 목적으로 한다.
본 발명의 일측면에 따르면, 문서데이터가 입력되면 상기 문서데이터에 포함된 복수의 문장 각각을 인코딩하여 복수의 인코딩벡터로 이루어진 인코딩벡터시퀀스를 생성하는 문장인코더; 상기 인코딩벡터시퀀스에 포함된 상기 복수의 인코딩벡터 각각에 대응하는 복수의 컨텍스트 임베딩벡터로 변환하여 임베딩벡터시퀀스를 생성하는 컨텍스트 임베더 신경망; 상기 임베딩벡터시퀀스로부터 상기 문서데이터 내에 컨텍스트 이상문장이 존재하는지 여부를 나타내는 결과값을 산출하는 컨텍스트 이상탐지기 신경망; 상기 문서데이터가 학습데이터이면 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값이 상기 학습데이터 내에 이상문장이 존재하는지 여부를 나타내는 기대값과의 차이가 일정 범위 내에 속하도록 상기 컨텍스트 이상탐지기 신경망을 학습시키는 탐지기 학습부; 및 상기 문서데이터가 의심데이터이면 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값을 기초로 상기 의심데이터 내에 이상문장이 존재하는지 여부를 판별하는 탐지부;를 포함하는 문서의 컨텍스트 이상문장 검출장치로 구현될 수 있다.
여기서, 본 발명에 따른 장치는, 상기 문장인코더에 의해 생성된 상기 인코딩벡터시퀀스로부터 선택된 2 이상의 문장에 대응하는 인코딩벡터쌍 및 상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값을 포함하는 컨텍스트학습데이터를 생성하는 문장샘플링모듈; 상기 컨텍스트학습데이터에 포함된 상기 인코딩벡터쌍을 상기 컨텍스트 임베더 신경망에 의해 대응하는 임베딩벡터쌍으로 생성할 때, 상기 임베딩벡터쌍 사이의 거리값을 산출하는 거리학습신경망; 상기 거리학습신경망에 의해 산출된 상기 임베딩벡터쌍 사이의 상기 거리값이 상기 컨텍스트학습데이터에 포함된 상기 기준값과의 차이가 일정 범위 내에 속하도록 상기 컨텍스트 임베더 신경망을 학습시키는 임베더 학습부;를 더 포함할 수 있다.
전술한 상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값은, 상기 2 이상의 문장이 상기 문서데이터 내에서 서로 인접하게 배치되어 있는지 여부, 상기 2이상의 문장이 상기 문서데이터 내에서 동일한 문단에 속하는지 여부, 또는 상기 2 이상의 문장이 동일한 카테고리에 속하는지 여부를 기초로 설정될 수 있다.
본 발명의 다른 측면에 따르면, 문서데이터가 입력되면 문장인코더가 상기 문서데이터에 포함된 복수의 문장 각각을 인코딩하여 복수의 인코딩벡터로 이루어진 인코딩벡터시퀀스를 생성하는 제1 단계; 컨텍스트 임베더 신경망이 상기 인코딩벡터시퀀스에 포함된 상기 복수의 인코딩벡터 각각에 대응하는 복수의 컨텍스트 임베딩벡터로 변환하여 임베딩벡터시퀀스를 생성하는 제2 단계; 컨텍스트 이상탐지기 신경망이 상기 임베딩벡터시퀀스로부터 상기 문서데이터 내에 컨텍스트 이상문장이 존재하는지 여부를 나타내는 결과값을 산출하는 제3 단계; 상기 문서데이터가 의심데이터이면, 탐지부가 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값을 기초로 상기 의심데이터 내에 이상문장이 존재하는지 여부를 판별하는 제4 단계;를 포함하는, 문서의 컨텍스트 이상문장 검출방법으로 구현될 수 있다.
전술한 방법에 있어서, 상기 제4 단계 이전에, 상기 문서데이터가 학습데이터이면, 탐지기 학습부가 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값이 상기 학습데이터 내에 이상문장이 존재하는지 여부를 나타내는 기대값과 동일한 값을 갖도록 상기 컨텍스트 이상탐지기 신경망을 학습시키는 단계를 더 포함할 수 있다.
아울러, 상기 제2 단계 이전에, 문장샘플링모듈이 상기 문장인코더에 의해 생성된 상기 인코딩벡터시퀀스로부터 선택된 2 이상의 문장에 대응하는 인코딩벡터쌍 및 상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값을 포함하는 컨텍스트학습데이터를 생성하는 단계; 상기 컨텍스트학습데이터에 포함된 상기 인코딩벡터쌍 각각을 상기 컨텍스트 임베더 신경망에 의해 대응하는 임베딩벡터쌍으로 생성할 때, 거리학습신경망이 상기 임베딩벡터쌍 사이의 거리값을 산출하는 단계; 및 임베더 학습부가 상기 거리학습신경망에 의해 산출된 상기 임베딩벡터쌍 사이의 상기 거리값이 상기 컨텍스트학습데이터에 포함된 상기 기준값과 일정한 범위 내에 속하도록 상기 컨텍스트 임베더 신경망을 학습시키는 단계;를 더 포함할 수 있다.
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값은, 상기 2 이상의 문장이 상기 문서데이터 내에서 서로 인접하게 배치된 경우이거나, 상기 2이상의 문장이 상기 문서데이터 내에서 동일한 문단에 속하는 경우이거나, 또는 상기 2 이상의 문장이 동일한 카테고리에 속하는 경우에, 상기 2 이상의 문장들 사이에 컨텍스트가 일치하는 것으로 설정될 수 있다.
본 발명의 또 다른 측면에 따르면, 전술한 문서의 컨텍스트 이상문장 검출방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로 구현될 수 있다.
본 발명에 따르면, 입력된 문서 내에 문맥이 상이한 이상문장이 존재하는지여부를 검출하는데 사용하는 컨텍스트 정보를 추출함에 있어서, 종래기술과 달리 미리 정한 규칙을 통해 추출하지 않고, 주어진 데이터로부터 거리기반 심층신경망 모델에 의해 학습되도록 한다. 이를 통해 사람이 구분하기 어려운 컨텍스트 정보를 이상치 탐지 시에 반영할 수도 있고, 심층신경망을 통해 데이터로부터 컨텍스트를 판단하기 위한 정보들을 직접 추출할 수 있다. 따라서, 본 발명에 따른 장치 및 방법을 이용하면, 종래에 컨텍스트를 반영하기 위해 사용된 사전, 커스텀룰, 카테고리 분류 등을 요구하지 않으므로, 이에 수반되었던 유지 및 보수 비용을 절감할 수 있다. 또한, 본 발명은 입력된 문서 내에서 컨텍스트가 상이한 이상문장을 검출할 수 있으므로, 가짜뉴스를 탐지하거나, 챗봇에서 제공하는 문장이 적절한지 확인하거나, 논문 등의 표절여부를 판별하거나, 논술 또는 작문 내용 중 교정이 필요한 문장을 검출하는 등, 다양한 분야에 효과적으로 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 문서의 컨텍스트 이상문장 검출장치의 전체 구성을 도시한 블록도이다.
도 2는 컨텍스트 임베더 신경망을 학습시키기 위한 임베더 학습부의 구성을 도시한 블록도이다.
도 3은 문서데이터에 포함된 문장에 대응하여 변환된 인코딩벡터 및 임베딩벡터 사이의 관계를 벡터 공간을 이용하여 설명한 예시도이다.
도 2는 컨텍스트 임베더 신경망을 학습시키기 위한 임베더 학습부의 구성을 도시한 블록도이다.
도 3은 문서데이터에 포함된 문장에 대응하여 변환된 인코딩벡터 및 임베딩벡터 사이의 관계를 벡터 공간을 이용하여 설명한 예시도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
도 1은 본 발명의 일 실시예에 따른 문서의 컨텍스트 이상문장 검출장치의 전체 구성을 도시한 블록도이고, 도 2는 컨텍스트 임베더 신경망을 학습시키기 위한 임베더 학습부의 구성을 도시한 블록도이며, 도 3은 문서데이터에 포함된 문장에 대응하여 변환된 인코딩벡터 및 컨텍스트 임베더 신경망에 의해 생성된 임베딩벡터 사이의 관계를 벡터 공간을 이용하여 설명한 예시도이다. 이하에서는 도 1 내지 3을 참조하여, 본 발명에 따른 문서의 컨텍스트 이상문장 검출장치 및 이를 이용한 문서의 컨텍스트 이상문장 검출방법에 대해 자세히 설명한다.
본 발명에 따른 문서의 컨텍스트 이상문장 검출장치는, 문서데이터를 구성하는 개별 문장을 일정한 규칙(함수)에 의하여 인코딩하여 인코딩벡터를 생성하는 문장인코더(10)와, 생성된 인코딩벡터를 대응하는 임베딩벡터로 변환하는 컨텍스트 임베더 신경망(32)과, 일련의 임베딩벡터시퀀스로 변환된 문서데이터 내에 이상문장이 존재하는지 여부를 탐지하는 컨텍스트 이상탐지기 신경망(40)을 포함하여 구성된다. 이외에도, 본 발명에 따른 장치는, 컨텍스트 임베더 신경망(32)을 학습시키기 위한 임베더 학습부(30), 컨텍스트 이상탐지기 신경망(40)을 학습시키기 위한 탐지기 학습부(41), 및 컨텍스트 이상탐지기 신경망(40)에 의해 산출된 결과값을 기초로 문서데이터 내에 이상문장이 존재하는지 여부를 판별하는 탐지부(42)를 포함할 수 있다.
문장인코더(10)는 임의의 문서데이터가 입력되면 해당 문서데이터에 포함된 복수의 문장 각각을 인코딩하여 대응하는 복수의 인코딩벡터로 변환한다. 인코딩벡터는 각각 해당 문장에 대하여 벡터로 변환된 값으로서, 일정한 규칙으로 인코딩된 수치데이터를 의미한다. 따라서, 문장인코더(10)에 문서데이터가 입력되면, 문서데이터를 구성하는 개별 문장이 대응하는 인코딩벡터로 변환되며, 따라서 복수의 문장을 포함하는 문서데이터는 각각의 문장에 대응하는 인코딩벡터들의 집합인 인코딩벡터시퀀스로 변환될 수 있다.
이렇게 변환된 인코딩벡터시퀀스는 컨텍스트 임베더 신경망(32)에 의해 임베딩벡터시퀀스로 변환된다. 여기서, 임베딩벡터시퀀스는 인코딩벡터시퀀스에 포함된 각각의 인코딩벡터가 이에 대응하는 컨텍스트 임베딩벡터로 변환되어 이루어진 임베딩벡터들의 집합을 의미한다. 컨텍스트 임베더 신경망(32)은 임베더 학습부(30)에 의해 미리 학습된 신경망을 이용한다.
즉, 컨텍스트 임베더 신경망(32)은 입력된 인코딩벡터를 이용하여 일정한 규칙(즉, 함수)에 의해 임베딩벡터로 변환하는데, 도 2를 참조하여 컨텍스트 임베더 신경망(32)의 학습 방법을 설명하면 다음과 같다.
임베더 학습데이터(즉, 문서데이터)가 입력되면 문장인코더(10)는 앞에서 설명한 방식으로 인코딩벡터시퀀스를 생성한다. 이렇게 생성된 인코딩벡터시퀀스는 복수의 인코딩벡터를 포함하는데, 문장샘플링모듈(20)은 인코딩벡터시퀀스로부터 2개의 인코딩벡터를 추출하여 컨텍스트학습데이터를 생성한다. 여기서, 컨텍스트학습데이터는 추출된 두개의 인코딩벡터(s1, s2)와 함께 대응하는 2개의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값(d)을 포함한다.
컨텍스트학습데이터는 예컨대 (s1, s2, d)와 같이 구성될 수 있다. 여기서, s1 및 s2는 문장샘플링모듈(20)에 의해 선택된 2개의 인코딩벡터를 의미한다. 아울러, 기준값(d)는 두 문장 사이의 거리를 나타내는 값으로서 학습하고자 하는 학습데이터(즉, 문서) 내에서의 컨텍스트에 따라 결정된다.
더 구체적으로 설명하면, 컨텍스트는 "하나의 문장이 다른 문장들 사이에 공유되는 속성"을 의미한다. 컨텍스트는 다양한 방법으로 설정될 수 있는데, 예컨대, 문서 내에서 서로 인접한 문장을 같은 컨텍스트로 간주하고자 하는 경우, 컨텍스트 일치 여부를 나타내는 기준값(d)는 [식 1]과 같이 결정될 수 있다.
[식 1]
여기서, 함수 adjacent(s1, s2)는 두 문장의 인코딩벡터가 입력되면 두 문장의 인접여부를 반환하는 함수이다. 즉, 문장샘플링모듈(20)은 문장인코더(10)에 의해서 생성된 인코딩벡터시퀀스 (s1, s2, …, sN)로부터 임의의 인코딩벡터를 추출하면서, 추출된 인코딩벡터들 사이의 인접거리에 대한 기준값을 함께 생성한다. 예컨대, 서로 이웃하는 2개의 문장에 대응하는 인코딩벡터 s1 및 s2를 추출할 때, s1 및 s2가 서로 이웃한 문장에 대응하는 인코딩벡터인 경우 기준값(d)을 "0"으로 설정하고, 그렇지 않은 경우 기준값(d)을 "1"로 설정한다.
다른 예로서, 컨텍스트를 문서의 문단으로 간주할 경우(즉, 같은 문단에 포함된 문장을 같은 컨텍스트로 간주할 경우), 기준값(d)은 [식 2]와 같이, 인코딩벡터를 받아 해당 문장의 문단 값을 반환하는 함수인 paragraph(s)를 이용한다. 즉, s1 및 s2에 대응하는 2개의 문장이 같은 문단에 속하는 경우 기준값(d)은 "0"으로 설정되고, 반대로 다른 문단에 속하는 경우 기준값(d)은 "1"로 설정된다.
[식 2]
또한, 컨텍스트를 문서의 카테고리로 간주할 경우(즉, 같은 카테고리의 문장을 같은 컨텍스트로 간주할 경우), 기준값(d)은 [식 3]과 같이, 인코딩벡터를 받아 대응하는 문장의 카테고리 값을 반환하는 함수인 category(s)를 이용하여 설정될 수 있다. 예를 들어, s1 및 s2가 "스포츠"에 대한 뉴스 기사인 임베더 학습데이터로부터 추출된 문장에 대응하는 인코딩벡터인 경우 기준값(d)은 "0"으로 설정된다. 반대로, s1은 "스포츠"에 대한 뉴스 기사로부터 추출된 문장에 대응하는 인코딩벡터이고, s2는 "정치"에 대한 뉴스 기사로부터 추출된 문장에 대응하는 인코딩벡터인 경우, 기준값(d)은 "1"로 설정될 수 있다.
[식 3]
다음으로, 임베더 학습부(30)는, 컨텍스트 임베더 신경망(즉, 인코딩벡터를 임베딩벡터로 변환하는 신경망) 및 거리학습신경망(31)을 학습시킨다. 예컨대, 도 2에서 보듯이, 컨텍스트학습데이터에 포함된 인코딩벡터쌍 s1 및 s2는 제1 컨텍스트 임베더 신경망(32a) 및 제2 컨텍스트 임베더 신경망(32b)에 의해 각각 임베딩벡터쌍 h1 및 h2로 변환된다. 여기서, 임베딩벡터의 생성에 사용되는 제1 및 제2 컨텍스트 임베더 신경망(32a 및 32b)은 각각 복수의 연산을 포함하는 복수의 계층을 포함하여 구성되며, 연산을 수행하는 복수의 계층 중 하나 이상의 계층에 가중치(W)를 포함하여 각 단계의 연산에 사용된다. 임베딩벡터의 생성에 사용되는 제1 및 제2 컨텍스트 임베더 신경망(32a 및 32b)은, 완전 연결 형식의 신경망(Fully-connected neural network), 컨볼루션 신경망(Convolutional neural network), 순환신경망(Recurrent neural network) 등을 이용할 수 있다. 또한, 제1 및 제2 컨텍스트 임베더 신경망(32a 및 32b)은 설명의 편의상 구분하여 도시하였으나, 실질적으로 동일한 신경망으로 구성된다. 아울러, 임베더 학습부(30)에 의해 학습된 컨텍스트 임베더 신경망(32a 및 32b)이 최종적으로 학습된 후에, 앞에서 설명한 컨텍스트 임베더 신경망(32)으로서 사용된다.
한편, 거리학습신경망(31)은 임베딩벡터쌍(h1, h2)을 입력받아 임베딩벡터쌍(h1, h2) 사이의 거리값을 산출한다. 거리학습신경망(31)도 복수의 연산을 수행하는 복수의 계층을 포함하도록 구성되며, 연산을 수행하는 복수의 계층 중 하나 이상의 계층에 가중치를 포함하여 각 단계의 연산에 사용된다. 거리학습신경망(310)으로서, 완전 연결 형식의 신경망(Fully-connected neural network), 컨볼루션 신경망(Convolutional neural network), 순환신경망(Recurrent neural network) 등을 이용할 수 있다.
임베더 학습부(30)는 컨텍스트 임베더 신경망(32a, 32b) 및 거리학습신경망(31)을 역전파 알고리즘을 이용하여 학습시키게 된다. 예컨대, 컨텍스트 임베더 신경망(32a, 32b)에 의해 생성된 임베딩벡터쌍에 대하여, 거리학습신경망(31)에 의해 산출된 출력층의 거리값을 컨텍스트학습데이터에 포함된 기준값(d)과 비교하여 양자의 차이를 최소화하도록 가중치(W)를 산출한다. 출력층의 거리값과 설정된 기준값과의 차이가 일정한 범위 내에 속할 때가지 가중치(W)를 산출하는 과정을 학습이라고 칭한다.
임베더 학습부(30)에 의해 최종적으로 학습된 컨텍스트 임베더 신경망(32)은, 컨텍스트가 동일한 문장들에 대한 임베딩벡터들은 컨텍스트 임베딩 벡터 공간 상에서의 거리가 상대적으로 인접하도록 임베딩벡터를 생성하고, 반대로 컨텍스트가 다른 문장들에 대한 임베딩벡터들은 컨텍스트 임베딩 벡터 공간상에서의 거리가 상대적으로 멀어지도록 임베딩벡터를 생성한다. 즉, 도 3에서 보듯이, 4개의 문장들에 각각 대응되는 인코딩벡터쌍(s1, s2, s3, s4)이 컨텍스트 임베더 신경망(32)에 의해 임베딩벡터쌍(h1, h2, h3, h4)으로 생성될 때, 컨텍스트가 동일한 인코딩벡터들에 대응되는 임베딩벡터들은 콘텍스트 임베딩벡터 공간 상에서 서로 인접한 거리를 갖게 된다. 예컨대, 컨텍스트를 문서의 카테고리로 간주하여 학습시킨 경우, 컨텍스트가 '스포츠'인 s1 및 s2에 대응되는 임베딩벡터 h1 및 h2는 벡터 공간 상에서 서로 인접한 거리를 갖게 되고, 컨텍스트가 '정치'인 s3 및 s4에 대응되는 임베딩벡터 h3 및 h4는 벡터 공간 상에서 서로 인접한 거리를 갖게 된다. 반대로, 컨텍스트가 '스포츠'인 s1에 대응되는 임베딩벡터 h1과, 컨텍스트가 '정치'인 s3에 대응되는 임베딩벡터 h3는 벡터 공간 상에서 상대적으로 거리가 멀어지게 된다. 다시 말해서, 임의의 문장에 대한 인코딩벡터가 입력되면, 컨텍스트 임베더 신경망(32)은 컨텍스트가 동일한 문장들에 대해서는 벡터 공간 상에서 서로 인접하도록 임베딩벡터를 생성하고, 반대로 컨텍스트가 다른 문장들에 대해서는 벡터 공간 상에서 상대적으로 거리가 멀어지도록 임베딩벡터를 생성한다.
상술한 임베더 학습부(30)는 2 이상의 문장들에 대하여 동시에 학습하는 것도 가능하다. 또한, 컨텍스트학습데이터가 "((s1, s2, 0), (s2, s3, 1))"과 같이 같은 기준값(d)을 갖는 인코딩벡터쌍과 다른 기준값(d)을 갖는 인코딩벡터쌍을 포함하도록 할 수 있으며, 임베터 학습부(30)가 이와 같이 복수의 인코딩벡터쌍 대해 동시에 학습하는 것도 가능하다.
다시 도 1로 돌아가서, 위와 같이 학습된 컨텍스트 임베더 신경망(32)에 의해 생성된 임베딩벡터시퀀스를 이용하여, 입력된 문서데이터에 컨텍스트 이상문장이 존재하는지 여부를 나타내는 결과값을 산출하도록 컨텍스트 이상탐지기 신경망(40)을 학습시킨다. 컨텍스트 이상탐지기 신경망(40)으로는, 완전 연결 형식의 신경망(Fully-connected neural network), 컨볼루션 신경망(Convolutional neural network), 순환신경망(Recurrent neural network) 등을 이용할 수 있다.
문장인코더(10)에 학습데이터(D1)를 입력하여 생성된 인코딩벡터시퀀스(10a) "(s1, s2, …, sN)"는 컨텍스트 임베더 신경망(32)에 의해 임베딩벡터시퀀스(11a) "(h1, h2, …, hN)"로 변환된다. 탐지기 학습부(41)는 학습데이터(D1)에 대한 임베딩벡터시퀀스(11a)를 컨텍스트 이상탐지기 신경망(40)에 입력하여, 신경망(40)에 의해 산출된 결과값이 학습데이터(D1) 내에 이상문장이 존재하는지 여부를 나타내는 기대값(y)과 동일한 값을 갖도록 학습시킨다.
예컨대, 학습데이터(D1)로는 '이상문장이 포함되지 않은 문서'(즉, '정상문서') 또는 '이상문장이 포함된 문서'(즉, '이상문서')를 이용할 수 있다. 일례로, 컨텍스트를 문서의 문단으로 정의하여 컨텍스트 임베더 신경망(32)을 학습시킨 경우, 문맥이 잘짜여진 문서를 학습데이터(D1)를 이용하여 문장인코더(10)에 의해 생성된 인코딩벡터시퀀스 (s1, s2, …, s11, s12, …, sN)는 '정상문서'에 대한 인코딩벡터시퀀스로 이용할 수 있다. 한편, 문단이 서로 다른 s2 및 s12를 도치시킨 인코딩벡터시퀀스 (s1, s12, …, s11, s2, …, sN)는 '이상문서'에 대한 인코딩벡터시퀀스로 이용할 수 있다. 이 경우, 컨텍스트 임베더 신경망(32)에 의해 생성된 '이상문서'에 대한 임베딩벡터시퀀스 (h1, h12, …, h11, h2, …, hN)에서 h12는 동일한 문단에 속하는 다른 임베딩벡터들(h1, h3 내지 h10)과 벡터 공간 상에서 상대적으로 거리가 먼 벡터로 생성된다.
탐지기 학습부(41)는 '정상문서'에 대한 임베딩벡터시퀀스 (h1, h2, …, h11, h12, …, hN)에 대한 기대값을 '0'으로 설정하고, '이상문서'에 대한 임베딩벡터시퀀스 (h1, h12, …, h11, h2, …, hN)에 대한 기대값을 '1'로 설정한다. 그 후, 서로 다른 임베딩벡터시퀀스를 컨텍스트 이상탐지기 신경망(40)에 입력하여 산출된 결과값(y)이 이상문장이 존재하는지 여부를 나타내는 기대값과의 차이가 최소화되도록 역전파 알고리즘을 이용하여 가중치를 산출하고, 산출된 가중치를 복수의 연산을 수행하는 각 계층에 적용하는 방식으로 컨텍스트 이상탐지기 신경망(40)을 학습시킨다. 컨텍스트 이상탐지기 신경망(40)은 결과값 및 기대값과의 차이가 일정한 범위 내에 속하도록 학습되며, 이에 의해 이상문장이 없는 정상문서에 대한 임베딩벡터시퀀스에 대해서는 기대값 "0"에 근접한 결과값(y)을 출력하게 되고, 반대로 이상문장을 포함하는 이상문서에 대한 임베딩벡터시퀀스에 대해서는 기대값 '1'에 근접한 결과값(y)을 출력하게 된다. 이렇게 학습된 컨텍스트 이상탐지기 신경망(40)을 이용하여, 문서데이터 내에 이상문장이 존재하는지 여부를 판별하게 된다.
즉, 최종적으로 잘 학습된 컨텍스트 임베더 신경망(32) 및 컨텍스트 이상탐지기 신경망(40)을 이용하여, 의심데이터(D2) 내에 이상문장이 존재하는지 여부를 판별할 수 있다. 예컨대, 의심데이터(D2)를 입력하여 문장인코더(10)에 의해 인코딩벡터시퀀스(10b)를 생성하고, 생성된 인코딩벡터시퀀스(10b)를 컨텍스트 임베더 신경망(32)에 의해 임베딩벡터시퀀스(11b)로 변환한 다음, 컨텍스트 이상탐지기 신경망(40)이 임베딩벡터시퀀스(11b)로부터 의심데이터(D2) 내에 컨텍스트 이상문장이 존재하는 여부를 나타내는 결과값(y)를 산출하게 되고, 이렇게 산출된 결과값(y)을 기초로 탐지부(42)가 의심데이터(D2) 내에 이상문장이 존재하는지 여부를 판별하게 된다.
상술한 문서의 컨텍스트 이상문장 검출장치 및 이를 이용한 검출방법은 다양한 용도로 사용될 수 있다. 일례로, 원래 기사의 내용을 수정하거나 추가하는 방식으로 만들어진 가짜 뉴스는, 수정된 부분이 기존 문맥(즉, 컨텍스트)과 어울리지 않는 이상문장이 포함되어 있으므로, 수집된 뉴스 기사들 중에서 가짜 뉴스를 판정하는 데에 이용될 수 있다. 또한, 챗봇(Chatter robot)의 경우, 현재 대화하고 있는 문맥에 맞는 문장을 만드는 것이 중요한데, 챗봇 알고리즘에서 제공하는 문장이 현재 문맥과 어울리는지 확인하거나, 혹은 대화의 문맥이 바뀌는지 여부를 탐지하는 데에 사용될 수도 있다. 나아가, 논문 등의 표절 여부를 탐지하는 데에도 이용될 수 있다. 예컨대, 타인이 쓴 문장을 본인이 작성한 문장들 속에 삽입하는 경우, 표절된 문장의 내용은 다른 주변 문장들과 문맥이 상이할 것이므로, 이상문장이 포함된 논문을 표절 논문으로 간주할 수 있다. 또한, 논술, 작문 등에서 문맥의 흐름에 맞지 않는 문장을 이상문장으로 검출하여 문장을 교정하거나 문맥에 맞게 문단을 자동으로 구분해 줄 수도 있다.
한편, 앞서 설명된 본 발명의 실시예에 따른 문서의 컨텍스트 이상문장 검출방법은, 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
Claims (12)
- 문서데이터가 입력되면 상기 문서데이터에 포함된 복수의 문장 각각을 인코딩하여 복수의 인코딩벡터로 이루어진 인코딩벡터시퀀스를 생성하는 문장인코더;
상기 문장인코더에 의해 생성된 상기 인코딩벡터시퀀스로부터 선택된 2 이상의 문장에 대응하는 인코딩벡터쌍 및 상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값을 포함하는 컨텍스트학습데이터를 생성하는 문장샘플링모듈;
상기 인코딩벡터시퀀스에 포함된 상기 복수의 인코딩벡터 각각에 대응하는 복수의 컨텍스트 임베딩벡터로 변환하여 임베딩벡터시퀀스를 생성하는 컨텍스트 임베더 신경망;
상기 컨텍스트학습데이터에 포함된 상기 인코딩벡터쌍을 상기 컨텍스트 임베더 신경망에 의해 대응하는 임베딩벡터쌍으로 생성할 때, 상기 임베딩벡터쌍 사이의 거리값을 산출하는 거리학습신경망;
상기 거리학습신경망에 의해 산출된 상기 임베딩벡터쌍 사이의 상기 거리값이 상기 컨텍스트학습데이터에 포함된 상기 기준값과의 차이가 일정한 범위 내에 속하도록 상기 컨텍스트 임베더 신경망을 학습시키는 임베더 학습부;
상기 임베딩벡터시퀀스로부터 상기 문서데이터 내에 컨텍스트 이상문장이 존재하는지 여부를 나타내는 결과값을 산출하는 컨텍스트 이상탐지기 신경망;
상기 문서데이터가 학습데이터이면 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값이 상기 학습데이터 내에 이상문장이 존재하는지 여부를 나타내는 기대값과의 차이가 일정한 범위 내에 속하도록 상기 컨텍스트 이상탐지기 신경망을 학습시키는 탐지기 학습부; 및
상기 문서데이터가 의심데이터이면 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값을 기초로 상기 의심데이터 내에 이상문장이 존재하는지 여부를 판별하는 탐지부;를 포함하는, 문서의 컨텍스트 이상문장 검출장치.
- 삭제
- 제 1 항에 있어서,
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 상기 기준값은, 상기 2 이상의 문장이 상기 문서데이터 내에서 서로 인접하게 배치되어 있는지 여부를 기초로 설정되는 것을 특징으로 하는, 문서의 컨텍스트 이상문장 검출장치.
- 제 1 항에 있어서,
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 상기 기준값은, 상기 2 이상의 문장이 상기 문서데이터 내에서 동일한 문단에 속하는지 여부를 기초로 설정되는 것을 특징으로 하는, 문서의 컨텍스트 이상문장 검출장치.
- 제 1 항에 있어서,
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 상기 기준값은, 상기 2 이상의 문장이 동일한 카테고리에 속하는지 여부를 기초로 설정되는 것을 특징으로 하는, 문서의 컨텍스트 이상문장 검출장치.
- 문서데이터가 입력되면 문장인코더가 상기 문서데이터에 포함된 복수의 문장 각각을 인코딩하여 복수의 인코딩벡터로 이루어진 인코딩벡터시퀀스를 생성하는 제1 단계;
문장샘플링모듈이 상기 문장인코더에 의해 생성된 상기 인코딩벡터시퀀스로부터 선택된 2 이상의 문장에 대응하는 인코딩벡터쌍 및 상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 기준값을 포함하는 컨텍스트학습데이터를 생성하는 제2 단계;
컨텍스트 임베더 신경망이 상기 인코딩벡터시퀀스에 포함된 상기 복수의 인코딩벡터 각각에 대응하는 복수의 컨텍스트 임베딩벡터로 변환하여 임베딩벡터시퀀스를 생성하는 제3 단계;
거리학습신경망이 상기 컨텍스트학습데이터에 포함된 상기 인코딩벡터쌍을 상기 컨텍스트 임베더 신경망에 의해 대응하는 임베딩벡터쌍으로 생성할 때 상기 임베딩벡터쌍 사이의 거리값을 산출하는 제4 단계;
임베더 학습부가 상기 거리학습신경망에 의해 산출된 상기 임베딩벡터쌍 사이의 상기 거리값이 상기 컨텍스트학습데이터에 포함된 상기 기준값과의 차이가 일정한 범위 내에 속하도록 상기 컨텍스트 임베더 신경망을 학습시키는 제5 단계;
컨텍스트 이상탐지기 신경망이 상기 임베딩벡터시퀀스로부터 상기 문서데이터 내에 컨텍스트 이상문장이 존재하는지 여부를 나타내는 결과값을 산출하는 제6 단계;
상기 문서데이터가 학습데이터이면, 탐지기 학습부가 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값이 상기 학습데이터 내에 이상문장이 존재하는지 여부를 나타내는 기대값과의 차이가 일정한 범위 내에 속하도록 상기 컨텍스트 이상탐지기 신경망을 학습시키는 제7 단계;
상기 문서데이터가 의심데이터이면, 탐지부가 상기 컨텍스트 이상탐지기 신경망에 의해 산출된 상기 결과값을 기초로 상기 의심데이터 내에 이상문장이 존재하는지 여부를 판별하는 제8 단계;를 포함하는, 문서의 컨텍스트 이상문장 검출방법.
- 삭제
- 삭제
- 제 6 항에 있어서,
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 상기 기준값은, 상기 2 이상의 문장이 상기 문서데이터 내에서 서로 인접하게 배치되어 있는지 여부를 기초로 설정되는 것을 특징으로 하는, 문서의 컨텍스트 이상문장 검출방법.
- 제 6 항에 있어서,
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 상기 기준값은, 상기 2 이상의 문장이 상기 문서데이터 내에서 동일한 문단에 속하는지 여부를 기초로 설정되는 것을 특징으로 하는, 문서의 컨텍스트 이상문장 검출방법.
- 제 6 항에 있어서,
상기 2 이상의 문장 사이의 컨텍스트 일치여부를 나타내는 상기 기준값은, 상기 2 이상의 문장이 동일한 카테고리에 속하는지 여부를 기초로 설정되는 것을 특징으로 하는, 문서의 컨텍스트 이상문장 검출방법.
- 컴퓨터에서 제 6 항, 제 9 항 내지 제 11 항 중 어느 한 항에 따른 문서의 컨텍스트 이상문장 검출방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180162214A KR102179025B1 (ko) | 2018-12-14 | 2018-12-14 | 문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
US17/413,825 US11727703B2 (en) | 2018-12-14 | 2019-11-14 | Apparatus for detecting contextually-anomalous sentence in document, method therefor, and computer-readable recording medium having program for performing same method recorded thereon |
PCT/KR2019/015553 WO2020122440A1 (ko) | 2018-12-14 | 2019-11-14 | 문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180162214A KR102179025B1 (ko) | 2018-12-14 | 2018-12-14 | 문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200080368A KR20200080368A (ko) | 2020-07-07 |
KR102179025B1 true KR102179025B1 (ko) | 2020-11-16 |
Family
ID=71075652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180162214A KR102179025B1 (ko) | 2018-12-14 | 2018-12-14 | 문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11727703B2 (ko) |
KR (1) | KR102179025B1 (ko) |
WO (1) | WO2020122440A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12062059B2 (en) * | 2020-05-25 | 2024-08-13 | Microsoft Technology Licensing, Llc. | Self-supervised system generating embeddings representing sequenced activity |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100474359B1 (ko) * | 2002-12-12 | 2005-03-10 | 한국전자통신연구원 | 키워드 기반 N-gram 언어모델 구축 방법 |
US7720675B2 (en) * | 2003-10-27 | 2010-05-18 | Educational Testing Service | Method and system for determining text coherence |
US8036464B2 (en) * | 2007-09-07 | 2011-10-11 | Satyam Computer Services Limited | System and method for automatic segmentation of ASR transcripts |
US8892421B2 (en) * | 2010-12-08 | 2014-11-18 | Educational Testing Service | Computer-implemented systems and methods for determining a difficulty level of a text |
US9158841B2 (en) * | 2011-06-15 | 2015-10-13 | The University Of Memphis Research Foundation | Methods of evaluating semantic differences, methods of identifying related sets of items in semantic spaces, and systems and computer program products for implementing the same |
KR101669339B1 (ko) * | 2014-11-27 | 2016-10-25 | 강원대학교산학협력단 | 채팅 말뭉치 구축 방법 및 채팅 말뭉치 구축 시스템 |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
GB201511887D0 (en) | 2015-07-07 | 2015-08-19 | Touchtype Ltd | Improved artificial neural network for language modelling and prediction |
US10831762B2 (en) * | 2015-11-06 | 2020-11-10 | International Business Machines Corporation | Extracting and denoising concept mentions using distributed representations of concepts |
KR20180092808A (ko) * | 2017-02-08 | 2018-08-20 | 한국과학기술원 | 개념 그래프 기반 질의응답 시스템 및 이를 이용한 문맥 검색 방법 |
JP7142333B2 (ja) * | 2018-01-11 | 2022-09-27 | ネオサピエンス株式会社 | 多言語テキスト音声合成方法 |
CA3060811A1 (en) * | 2018-10-31 | 2020-04-30 | Royal Bank Of Canada | System and method for cross-domain transferable neural coherence model |
US11604926B2 (en) * | 2019-02-21 | 2023-03-14 | Ramaswamy Venkateshwaran | Method and system of creating and summarizing unstructured natural language sentence clusters for efficient tagging |
US11106789B2 (en) * | 2019-03-05 | 2021-08-31 | Microsoft Technology Licensing, Llc | Dynamic cybersecurity detection of sequence anomalies |
-
2018
- 2018-12-14 KR KR1020180162214A patent/KR102179025B1/ko active IP Right Grant
-
2019
- 2019-11-14 WO PCT/KR2019/015553 patent/WO2020122440A1/ko active Application Filing
- 2019-11-14 US US17/413,825 patent/US11727703B2/en active Active
Non-Patent Citations (4)
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) |
Y. Seo et al., FaGoN: Fake News Detection model using Grammatic Transformation on Neural Network, proceeding on 2018 KICSS (2018.11.15.) 1부.* |
이동호 외, 딥러닝 기법을 이용한 가짜뉴스 탐지, 2018년 춘계학술발표대회 논문집 제25권제1호 pp.384-387 (2018.05.)* |
임근영 외, 딥러닝과 Char2Vec을 이용한 문장 유사도 판별, 한국정보통신학회논문지 Vol.22 No.10, pp.1300-1306 (2018.10) |
Also Published As
Publication number | Publication date |
---|---|
US11727703B2 (en) | 2023-08-15 |
KR20200080368A (ko) | 2020-07-07 |
WO2020122440A1 (ko) | 2020-06-18 |
US20220027608A1 (en) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084331B (zh) | 文本处理、模型训练方法、装置、计算机设备和存储介质 | |
Ramay et al. | Deep neural network-based severity prediction of bug reports | |
Wu et al. | Neural Chinese named entity recognition via CNN-LSTM-CRF and joint training with word segmentation | |
US11227108B2 (en) | Convolutional neural network architecture with adaptive filters | |
CN109977416A (zh) | 一种多层次自然语言反垃圾文本方法及系统 | |
Xie et al. | Attention-based dense LSTM for speech emotion recognition | |
CN110598191B (zh) | 一种基于神经网络的复杂pdf结构解析方法及装置 | |
Xue et al. | A better way to attend: Attention with trees for video question answering | |
KR20200052453A (ko) | 딥러닝 모델 학습 장치 및 방법 | |
CN114443899A (zh) | 视频分类方法、装置、设备及介质 | |
CN112287100A (zh) | 文本识别方法、拼写纠错方法及语音识别方法 | |
Qamar Bhatti et al. | Explicit content detection system: An approach towards a safe and ethical environment | |
CN108763230B (zh) | 利用外部信息的神经机器翻译方法 | |
Kwon et al. | Textual backdoor attack for the text classification system | |
Fang et al. | A method of automatic text summarisation based on long short-term memory | |
Gong et al. | What is the intended usage context of this model? An exploratory study of pre-trained models on various model repositories | |
CN115186085A (zh) | 回复内容处理方法以及媒体内容互动内容的交互方法 | |
KR102179025B1 (ko) | 문서의 컨텍스트 이상문장 검출장치, 이를 위한 방법 및 이 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 | |
Yoon et al. | Image classification and captioning model considering a CAM‐based disagreement loss | |
Yu et al. | Efficient Classification of Malicious URLs: M-BERT-A Modified BERT Variant for Enhanced Semantic Understanding | |
US20220027612A1 (en) | Detecting and processing sections spanning processed document partitions | |
CN117914542A (zh) | 用于识别网络流量的方法、装置、设备及存储介质 | |
CN115603964A (zh) | 邮件检测方法和装置、计算机可读存储介质 | |
Campbell et al. | Detecting Artificial Intelligence: A New Cyberarms Race Begins | |
KR20230014034A (ko) | 분류 정확도 향상을 위한 선택적 마스킹 기반 추가 사전 학습 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |