KR20180077846A - 논쟁 유발성 문서 판별 장치 및 방법 - Google Patents

논쟁 유발성 문서 판별 장치 및 방법 Download PDF

Info

Publication number
KR20180077846A
KR20180077846A KR1020160182612A KR20160182612A KR20180077846A KR 20180077846 A KR20180077846 A KR 20180077846A KR 1020160182612 A KR1020160182612 A KR 1020160182612A KR 20160182612 A KR20160182612 A KR 20160182612A KR 20180077846 A KR20180077846 A KR 20180077846A
Authority
KR
South Korea
Prior art keywords
document
layer
vector
embedding
feature vector
Prior art date
Application number
KR1020160182612A
Other languages
English (en)
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 KR1020160182612A priority Critical patent/KR20180077846A/ko
Priority to US15/851,624 priority patent/US10540547B2/en
Publication of KR20180077846A publication Critical patent/KR20180077846A/ko

Links

Images

Classifications

    • G06F17/2705
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Abstract

논쟁 유발성 문서 판별 장치 및 방법이 개시된다. 본 발명의 일 실시예에 다른 문서 판별 방법은 하나 이상의 문장으로 구성된 문서를 입력받는 단계, 상기 문서에 포함된 각 단어에 대한 임베딩 벡터(embedding vector)를 생성하는 단계 및 2 단계로 구성된 합성곱 신경망(convolutional neural network)을 포함하는 판단 모델을 이용하여, 상기 각 단어에 대한 임베딩 벡터로 구성된 임베딩 벡터 행렬로부터 상기 문서의 특징(feature)을 추출하고, 추출된 특징으로부터 상기 문서의 논쟁 유발성을 판단하는 단계를 포함한다.

Description

논쟁 유발성 문서 판별 장치 및 방법{APPARATUS AND METHOD FOR DETECTING DEBATABLE DOCUMENT}
본 발명의 실시예들은 합성곱 신경망(convolutional neural network)을 이용한 심층학습(deep learning) 기술과 관련된다.
논쟁이란 어떤 문제에 대하여 각자의 의견을 주고받으며 토론을 통해 적절한 절충안을 찾아가는 과정을 의미한다. 특히, SNS(Social Network Service)에서 이루어지는 논쟁은 누구라도 자유롭게 발의할 수 있고, 직접적으로 찬반 의견을 피력할 수 있으며, 기존 매체에서 다룰 수 없는 다양한 사안에 대해 논의할 수 있다는 장점이 있다. 반면, 이러한 자유로움으로 인해 SNS 상의 어떤 글은 사실을 왜곡하거나 악의적인 폭로와 비방으로 인해 사회적 문제를 일으키기도 한다. 논쟁을 유발하는 글은 긍정적으로든 부정적으로든 사회적 파급력이 크다고 할 수 있다.
최근에는 SNS에서 발생한 문서를 다양한 관점에서 분류하는 연구가 진행되었다. 대표적인 연구로는 트위터(twitter)에서 트윗(tweet)의 감정을 분류하는 연구를 들 수 있다. 해당 연구에서는 트윗에서 정형어휘(formal vocabulary) 추출하였으며, 사전 기반의 분류기를 통해 감정을 구분하였다. 이보다 확장된 개념으로 트윗에서 정형어휘(formal vocabulary) 뿐만 아니라 비정형어휘(informal vocabulary)도 함께 사용하여 특징(feature)을 추출한 연구도 진행되었는데, 그 연구에서는 SVM(support vector machine)을 통해 문서의 감정분류를 수행하였다. 중국어 SNS 블로그(blog) 사용자의 기호를 파악하기 위한 관점에서 SNS 분류 문제를 접근한 연구도 진행되었으며, 앙상블(ensemble) 모형을 응용하여 트위터, 마이스페이스(MySpace), 슬래시닷(Slashdot) 등 다양한 SNS에서 수집된 데이터를 바탕으로 인터넷 집단 따돌림(cyberbullying)을 감지하는 시스템이 제안되기도 했다.
본 발명의 실시예들은 합성곱 신경망(convolutional neural network)을 이용한 심층학습(deep learning)을 통해 문서의 논쟁 유발성을 판별하기 위한 장치 및 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 논쟁 유발성 문서 판별 방법은, 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되며, 하나 이상의 문장으로 구성된 문서를 입력받는 단계, 상기 문서에 포함된 각 단어에 대한 임베딩 벡터(embedding vector)를 생성하는 단계 및 2 단계로 구성된 합성곱 신경망(Convolutional Neural Network)을 포함하는 판단 모델을 이용하여, 상기 각 단어에 대한 임베딩 벡터로 구성된 임베딩 벡터 행렬로부터 상기 문서의 특징(feature)을 추출하고, 추출된 특징으로부터 상기 문서의 논쟁 유발성을 판단하는 단계를 포함한다.
상기 판단 모델은, 상기 임베딩 벡터 행렬과 복수의 필터 간의 컨볼루션 연산을 통해 제1 특징 벡터를 출력하는 제1 컨볼루션 층(convolution layer) 및 상기 제1 특징 벡터에 대한 서브 샘플링을 수행하여 제2 특징 벡터를 출력하는 제1 풀링층(pooling layer)을 포함하는 1단계 합성곱 신경망 및 상기 제2 특징 벡터와 복수의 필터 간의 컨볼루션 연산을 통해 제3 특징 벡터를 출력하는 제2 컨볼루션 층 및 상기 제3 특징 벡터에 대한 서브 샘플링을 수행하여 제4 특징 벡터를 출력하는 제2 풀링층을 포함하는 2단계 합성곱 신경망을 포함할 수 있다.
상기 제1 컨볼루션 층 및 상기 제2 컨볼루션 층은, 쌍곡선 정접(hyperbolic tangent) 함수 또는 ReLU(Rectified Linear Unit) 함수를 활성화 함수로 이용하여 컨볼루션 연산을 수행할 수 있다.
상기 제1 풀링 층 및 상기 제2 풀링 층은, 맥스 풀링(max pooling)을 이용하여 상기 제1 특징 벡터에 대한 서브 샘플링을 수행할 수 있다.
상기 판단 모델은, 상기 제2 풀링층과 연결된 전결합 층(fully-connected layer) 및 상기 복수의 전결합 층의 출력으로부터 상기 문서에 대한 논쟁 유발성 판별 값을 출력하는 출력 층을 더 포함할 수 있다.
상기 출력 층은, 소프트맥스(softmax) 함수를 활성화 함수로 이용하여 상기 판별 값을 출력할 수 있다.
상기 임베딩 벡터를 생성하는 단계는, 상기 문서에 포함된 각 단어를 원-핫 벡터(one-hot vector)로 변환하고, 상기 각 단어에 대한 원-핫 벡터를 임베딩 행렬(embedding matrix)와 곱하여 상기 각 단어에 대한 임베딩 벡터를 생성하는 방법.
본 발명의 일 실시예에 따른 논쟁 유발성 문서 판별 장치는, 하나 이상의 문장으로 구성된 문서를 입력받는 입력부, 상기 문서에 포함된 각 단어에 대한 임베딩 벡터(embedding vector)를 생성하는 임베딩 벡터 생성부 및 2 단계로 구성된 합성곱 신경망(Convolutional Neural Network)을 포함하는 판단 모델을 이용하여, 상기 각 단어에 대한 임베딩 벡터로 구성된 임베딩 벡터 행렬로부터 상기 문서의 특징(feature)을 추출하고, 추출된 특징으로부터 상기 문서의 논쟁 유발성을 판단하는 판단부를 포함한다.
상기 판단 모델은, 상기 임베딩 벡터 행렬과 복수의 필터 간의 컨볼루션 연산을 통해 제1 특징 벡터를 출력하는 제1 컨볼루션 층(convolution layer) 및 상기 제1 특징 벡터에 대한 서브 샘플링을 수행하여 제2 특징 벡터를 출력하는 제1 풀링층(pooling layer)을 포함하는 1단계 합성곱 신경망 및 상기 제2 특징 벡터와 복수의 필터 간의 컨볼루션 연산을 통해 제3 특징 벡터를 출력하는 제2 컨볼루션 층 및 상기 제3 특징 벡터에 대한 서브 샘플링을 수행하여 제4 특징 벡터를 출력하는 제2 풀링층을 포함하는 2단계 합성곱 신경망을 포함할 수 있다.
상기 제1 컨볼루션 층 및 상기 제2 컨볼루션 층은, 쌍곡선 정접(hyperbolic tangent) 함수 또는 ReLU(Rectified Linear Unit) 함수를 활성화 함수로 이용하여 컨볼루션 연산을 수행할 수 있다.
상기 제1 풀링 층 및 상기 제2 풀링 층은, 맥스 풀링(max pooling)을 이용하여 상기 제1 특징 벡터에 대한 서브 샘플링을 수행할 수 있다.
상기 판단 모델은, 상기 제2 풀링층과 연결된 전결합 층(fully-connected layer) 및 상기 복수의 전결합 층의 출력으로부터 상기 문서에 대한 논쟁 유발성 판별 값을 출력하는 출력 층을 더 포함할 수 있다.
상기 출력 층은, 소프트맥스(softmax) 함수를 활성화 함수로 이용하여 상기 판별 값을 출력할 수 있다.
상기 임베딩 벡터 생성부는, 상기 문서에 포함된 각 단어를 원-핫 벡터(one-hot vector)로 변환하고, 상기 각 단어에 대한 원-핫 벡터를 임베딩 행렬(embedding matrix)와 곱하여 상기 각 단어에 대한 임베딩 벡터를 생성할 수 있다.
본 발명의 실시예들에 따르면, 2 단계로 구성된 합성곱 신경망을 이용하여 문서에 대한 논쟁 유발성을 판단하게 되므로, 문서가 다수의 문장으로 구성된 경우라도 논쟁 유발성에 대한 판단 정확성을 향상시킬 수 있다.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 논쟁 유발성 판단 방법의 순서도
도 3은 본 발명의 일 실시예에 따른 임베딩 벡터 생성 과정을 설명하기 위한 예시도
도 4는 본 발명의 일 실시예에 따른 판단 모델의 구성도
도 5는 본 발명의 일 실시예에 따른 논쟁 유발성 판별 장치(500)의 구성도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 본 발명의 실시예들에 따른 논쟁 유발성 판별 장치일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 구현되어 컴퓨팅 장치(12)와 연결될 수도 있다.
본 발명의 실시예들은 하나 이상의 문장으로 구성된 문서를 입력받고, 입력받은 문서에 대한 분석을 통하여 해당 문서의 논쟁 유발성 여부를 판단하기 위한 것이다.
본 발명의 실시예들에서, 문서는 예를 들어, SNS(Social Network Service), 블로그(blog) 등에 게시된 글, 인터넷 기사 등과 같이 인터넷을 통해 불특정 다수가 접근 가능하며, 불특정 다수가 댓글, 공감 표시, 비공감 표시 등의 방법으로 문서에 대한 의견 표출이 가능한 다양한 형태의 문서들을 포함할 수 있다.
한편, 논쟁 유발성이란 문서의 내용이 다수의 사람들 사이의 논쟁을 유발할 수 있는 가능성을 의미한다.
본 발명의 일 실시예에 따르면, 컴퓨팅 장치(12)는 논쟁 유발성 판단 대상인 문서를 입력 받아 2 단계로 구성된 합성곱 신경망(convolutional neural network)을 포함한 판단 모델을 이용하여 입력된 문서의 논쟁 유발성을 판별할 수 있다.
이때, 판단 모델은 미리 수집된 복수의 문서와 각 문서에 대한 논쟁 유발성 유무를 입출력 쌍으로 하는 훈련 데이터를 이용하여 지도학습(supervised learning)을 통해 학습될 수 있다.
예를 들어, 훈련 데이터 생성을 위해 SNS나 인터넷 상에 게시된 문서들과 각 문서에 대한 메타 데이터를 수집할 수 있다. 이때, 메타 데이터는 수집된 각 문서에 대한 댓글 수, 공감 수, 비공감 수, 댓글에 대한 공감수 및 비공감 수 등을 포함할 수 있다.
한편, 판단 모델 학습을 위해 수집된 각 문서에 대한 논쟁 유발성 유무는 각 문서에 대한 메타 데이터를 이용한 휴리스틱(heuristic)을 적용하여 구분될 수 있다.
예를 들어, 수집된 문서들 중 공감 수가 100개 이상, 댓글 수 10개 이상, 댓글에 대한 공감수 최대값이 10이상인 문서의 경우, 논쟁 유발성이 있는 문서로 분류하고, 그 외의 문서를 논쟁 유발성이 없는 문서로 분류하여 훈련 데이터로 이용할 수 있다.
한편, 훈련 데이터 생성 시 수집된 각 문서에 대한 논쟁 유발성을 분류하기 위해 사용되는 메타 데이터와 각 문서에 대한 논쟁 유발성 판단 기준은 반드시 상술한 예에 한정되는 것은 아니며, 실시예에 따라 변형 가능함을 유의하여야 한다.
도 2는 본 발명의 일 실시예에 따른 논쟁 유발성 판단 방법의 순서도이다.
도 2에 도시된 방법은 예를 들어, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치(12)에 의해 수행될 수 있다.
한편, 도 2에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 2를 참조하면, 210 단계에서, 컴퓨팅 장치(12)는 논쟁 유발성 판단 대상인 문서를 입력 받는다.
220 단계에서, 컴퓨팅 장치(12)는 워드 임베딩(word embedding)을 통해 입력된 문서에 포함된 각 단어에 대한 임베딩 벡터(embedding vector)를 생성한다.
구체적으로, 본 발명의 일 실시예에 따르면, 컴퓨팅 장치(12)는 입력된 문서에 포함된 각 단어를 기 설정된 차원에서의 벡터로 변환하고, 변환된 각 벡터를 기 설정된 크기의 임베딩 행렬(embedding matrix)와 곱하여 각 단어에 대한 임베딩 벡터를 생성할 수 있다.
도 3은 본 발명의 일 실시예에 따른 임베딩 벡터 생성 과정을 설명하기 위한 예시도이다.
도 3을 참조하면, 우선, 컴퓨팅 장치(12)는 입력된 문서에 포함된 각 단어(w)에 대한 m 차원의 원-핫(one-hot) 벡터(v w )를 생성한다. 이때, 원-핫 벡터는 학습을 위해 사용된 문서들에서 나타난 총 단어 수를 m이라고 할 때, 전체 단어 각각에 대해 m개의 차원 중 하나의 차원을 할당하여, 특정 단어에 할당된 차원의 값만 1이고 나머지 차원의 값이 모두 0인 벡터를 의미한다.
한편, 본 발명의 일 실시예에 따르면, 각 단어(w)의 중의성을 해소하기 위해 문서에 포함된 각 단어(w)로부터 원-핫 벡터(v w )를 생성하기 전에 각 단어(w)에 형태소를 부착시키는 전처리 과정이 수행될 수 있다.
한편, 입력된 문서에 포함된 단어(w)의 수가 n개인 경우, 각 단어(w)에 대응되는 1×m 차원의 원-핫 벡터(v w )가 n개 생성되게 된다.
한편, 각 단어(w)에 대한 원-핫 벡터(v w ) 생성 후, 컴퓨팅 장치(12)는 생성된 원-핫 벡터(v w )를 m×k 차원의 임베딩 행렬(embedding matrix)(W wrd )과 곱하여 각 단어(w)에 대한 임베딩 벡터(xi)를 생성할 수 있다.
이때, 임베딩 행렬(W wrd )은 예를 들어, 학습을 위해 수집된 문서들로부터 오류 역전파 알고리즘(back propagation algorithm)을 이용한 비지도 학습(unsupervised learning)을 통해 학습될 수 있다.
한편, 상술한 바와 같이 입력된 문서 포함된 단어(w)의 수가 n 개이며, m×k 차원의 임베딩 행렬을 이용하여 각 단어(w)에 대한 임베딩 벡터(xi)를 생성한 경우, 입력된 문서는 아래의 수학식 1과 같이 생성된 n 개의 임베딩 벡터(xi)를 이어 붙인 n×k의 크기를 갖는 임베딩 벡터 행렬(s)로 표현될 수 있다.
[수학식 1]
Figure pat00001
다시, 도 2를 참조하면, 220 단계에서, 컴퓨팅 장치(12)는 2 단계로 구성된 합성곱 신경망을 포함하는 판단 모델을 이용하여 입력된 문서의 논쟁 유발성을 판단한다.
구체적으로, 도 4는 본 발명의 일 실시예에 따른 판단 모델의 구성도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 판단 모델은 1 단계 합성곱 신경망(420), 2 단계 합성곱 신경망(430), 전 결합층(Fully Connected Neural Network layer)(450) 및 출력층(460)으로 구성될 수 있다.
1 단계 합성곱 신경망(420)은 제1 컨볼루션 층(convolution layer)(421)과 제1 풀링 층(pooling layer)(422)로 구성될 수 있다.
구체적으로, 제1 컨볼루션 층(421)은 210 단계에서 수행된 워드 임베딩(410)을 통해 생성된 임베딩 벡터 행렬(s)을 입력받아, 임베딩 벡터 행렬(s)과 복수의 필터 간의 컨볼루션 연산을 통해 제1 특징 벡터를 출력할 수 있다.
구체적으로, xi:j를 입력된 문서의 i번째 단어부터 j번째 단어까지의 단어에 대한 임베딩 벡터를 이어 붙인 벡터라 할 때, 제1 컨볼루션 층(421)에서는 h개의 인접 단어로 이루어진 행렬 xi:i+h-1에 대해 컨볼루션 연산을 수행한다.
예를 들어, 단어 수가 n인 문서에서 3개의 인접 단어에 대한 임베딩 벡터로 만들 수 있는 행렬의 조합(X)은 다음의 수학식 2와 같이 나타낼 수 있다.
[수학식 2]
Figure pat00002
또한, X의 각 요소에 대한 컨볼루션 연산은 아래의 수학식 3을 통해 수행될 수 있다.
[수학식 3]
Figure pat00003
수학식 3에서, f는 제1 컨볼루션 층(421)의 활성화 함수를 나타내며, 예를 들어, 쌍곡선 정접(hyperbolic tangent, tanh) 함수, ReLU(Rectified Linear Unit) 등과 같은 비선형 함수들이 사용될 수 있다.
또한, 수학식 3에서 w는 가중치 행렬, b는 바이어스(bias)를 각각 나타내며, 예를 들어, Adadelta, Adagrad, RMSProp, Adam 등과 같은 경사 하강법(gradient descent method)을 이용한 오류 역전파 알고리즘을 통해 학습될 수 있다.
한편, 제1 컨볼루션 층(421)에서 수행되는 컨볼루션 연산에 의해 제1 특징 벡터 c=[c1, c2, c3, c4,…, cn-2]를 획득할 수 있다.
제1 풀링 층(422)은 제1 컨볼루션 층(421)으로부터 출력된 제1 특징 벡터(c)에 대해 서브 샘플링(sub-sampling)을 수행하여 중요 특징 벡터들을 추출한다.
이때, 본 발명의 일 실시예에 따르면, 제1 풀링 층(422)에서는 맥스 풀링(max pooling) 또는 평균 풀링(average pooling)을 이용하여 제1 특징 벡터(c)로부터 중요 특징들을 추출할 수 있다.
예를 들어, 제1 풀링 층(422)에서 맥스 풀링(max pooling)을 이용하는 것으로 가정하면, 제1 풀링 층(422)의 pooling length가 3이고, 스트라이드(stride)가 3인 경우, 제1 풀링 층(422)으로 입력되는 제1 특징 벡터 c로부터 출력되는 제2 특징 벡터 c'는 c'=[max(c1:3), max(c2:4), ..., max(cn-4:n-2)]와 같다.
한편, 2 단계 합성곱 신경망(430)은 제2 컨볼루션 층(431)과 제2 풀링 층 (432)으로 구성될 수 있다.
구체적으로, 제2 컨볼루션 층(431)은 제1 풀링 층(422)로부터 출력되는 제2 특징 벡터(c')를 입력 받아 컨볼루션 연산을 통해 제3 특징 벡터를 출력할 수 있다. 이때, 제2 컨볼루션 층(431)에서 수행되는 컨볼루션 연산은 제1 컨볼루션 층(421)에서 수행되는 컨볼루션 연산과 동일한 방식으로 수행될 수 있다.
제2 풀링 층(432)은 제2 컨볼루션 층(431)으로부터 출력되는 제3 특징 벡터에 대해 서브 샘플링을 수행하여 제4 특징 벡터를 출력할 수 있다. 이때, 제2 풀링 층(432)에서 수행되는 서브 샘플링은 제1 풀링 층(431)과 동일한 방식으로 수행될 수 있다.
한편, 제2 풀링 층(432)으로부터 출력되는 제4 특징 벡터는 복수의 전 결합층(450)으로 입력된다.
이때, 본 발명의 일 실시예에 따르면, 과적합(overfitting) 현상을 방지하기 위해 제2 풀링 층(432) 이후에 드롭 아웃(dropout)(440)이 적용될 수 있다.
한편, 복수의 전 결합 층(450)의 후단에는 출력 층(460)이 위치하여, 출력 층(460)은 마지막 전 결합층으로부터 출력되는 벡터로부터 문서의 논쟁 유발성 유무를 나타내는 판별 값을 출력한다.
이때, 본 발명의 일 실시예에 따르면, 출력 층의 활성화 함수로는 소프트맥스(softmax) 함수가 적용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 논쟁 유발성 판별 장치(500)의 구성도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 논쟁 유발성 문서 판별 장치 (500)는 입력부(510), 임베딩 벡터 생성부(520) 및 판단부(530)를 포함한다.
입력부(510)는 논쟁 유발성 여부의 판단 대상이 되는 문서를 입력받는다.
임베딩 벡터 생성부(520)는 입력된 문서에 포함된 각 단어에 대한 임베딩 벡터를 생성한다.
구체적으로, 본 발명의 일 실시예에 따르면, 임베딩 벡터 생성부(520)는 입력된 문서에 포함된 각 단어에 대한 원-핫 벡터를 생성한 후, 임베딩 행렬과 곱하여 각 단어에 대한 임베딩 벡터를 생성할 수 있다.
판단부(530)는 2 단계로 구성된 합성곱 신경망을 포함하는 판단 모델을 이용하여 임베딩 벡터 생성부(520)에 의해 생성된 임베딩 벡터 행렬로부터 입력된 문서의 논쟁 유발성 여부에 대한 판별 값을 출력할 수 있다.
구체적으로, 판단 모델은 도 4에 도시된 예와 동일한 구성을 가질 수 있으며, 판단부(530)는 판단 모델을 이용하여 전술한 방식과 동일한 방식으로 입력된 문서의 논쟁 유발성 여부에 대한 판별 값을 출력할 수 있다.
한편, 일 실시예에서, 논쟁 유발성 문서 판별 장치(500)는 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
500: 논쟁 유발성 문서 판별 장치
510: 입력부
520: 임베딩 벡터 생성부
530: 판단부

Claims (14)

  1. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 논쟁 유발성 문서 판별 방법으로서,
    하나 이상의 문장으로 구성된 문서를 입력받는 단계;
    상기 문서에 포함된 각 단어에 대한 임베딩 벡터(embedding vector)를 생성하는 단계; 및
    2 단계로 구성된 합성곱 신경망(Convolutional Neural Network)을 포함하는 판단 모델을 이용하여, 상기 각 단어에 대한 임베딩 벡터로 구성된 임베딩 벡터 행렬로부터 상기 문서의 특징(feature)을 추출하고, 추출된 특징으로부터 상기 문서의 논쟁 유발성을 판단하는 단계를 포함하는 논쟁 유발성 문서 판별 방법.
  2. 청구항 1에 있어서,
    상기 판단 모델은, 상기 임베딩 벡터 행렬과 복수의 필터 간의 컨볼루션 연산을 통해 제1 특징 벡터를 출력하는 제1 컨볼루션 층(convolution layer) 및 상기 제1 특징 벡터에 대한 서브 샘플링을 수행하여 제2 특징 벡터를 출력하는 제1 풀링층(pooling layer)을 포함하는 1단계 합성곱 신경망; 및
    상기 제2 특징 벡터와 복수의 필터 간의 컨볼루션 연산을 통해 제3 특징 벡터를 출력하는 제2 컨볼루션 층 및 상기 제3 특징 벡터에 대한 서브 샘플링을 수행하여 제4 특징 벡터를 출력하는 제2 풀링층을 포함하는 2단계 합성곱 신경망을 포함하는 논쟁 유발성 문서 판별 방법.
  3. 청구항 2에 있어서,
    상기 제1 컨볼루션 층 및 상기 제2 컨볼루션 층은, 쌍곡선 정접(hyperbolic tangent) 함수 또는 ReLU(Rectified Linear Unit) 함수를 활성화 함수로 이용하여 컨볼루션 연산을 수행하는 논쟁 유발성 문서 판별 방법.
  4. 청구항 2에 있어서,
    상기 제1 풀링 층 및 상기 제2 풀링 층은, 맥스 풀링(max pooling)을 이용하여 상기 제1 특징 벡터에 대한 서브 샘플링을 수행하는 논쟁 유발성 문서 판별 방법.
  5. 청구항 2에 있어서,
    상기 판단 모델은, 상기 제2 풀링층과 연결된 전결합 층(fully-connected layer); 및
    상기 복수의 전결합 층의 출력으로부터 상기 문서에 대한 논쟁 유발성 판별 값을 출력하는 출력 층을 더 포함하는 논쟁 유발성 문서 판별 방법.
  6. 청구항 5에 있어서,
    상기 출력 층은, 소프트맥스(softmax) 함수를 활성화 함수로 이용하여 상기 판별 값을 출력하는 논쟁 유발성 문서 판별 방법.
  7. 청구항 1에 있어서,
    상기 임베딩 벡터를 생성하는 단계는, 상기 문서에 포함된 각 단어를 원-핫 벡터(one-hot vector)로 변환하고, 상기 각 단어에 대한 원-핫 벡터를 임베딩 행렬(embedding matrix)와 곱하여 상기 각 단어에 대한 임베딩 벡터를 생성하는 논쟁 유발성 문서 판별 방법.
  8. 하나 이상의 문장으로 구성된 문서를 입력받는 입력부;
    상기 문서에 포함된 각 단어에 대한 임베딩 벡터(embedding vector)를 생성하는 임베딩 벡터 생성부; 및
    2 단계로 구성된 합성곱 신경망(Convolutional Neural Network)을 포함하는 판단 모델을 이용하여, 상기 각 단어에 대한 임베딩 벡터로 구성된 임베딩 벡터 행렬로부터 상기 문서의 특징(feature)을 추출하고, 추출된 특징으로부터 상기 문서의 논쟁 유발성을 판단하는 판단부를 포함하는 논쟁 유발성 문서 판별 장치.
  9. 청구항 8에 있어서,
    상기 판단 모델은, 상기 임베딩 벡터 행렬과 복수의 필터 간의 컨볼루션 연산을 통해 제1 특징 벡터를 출력하는 제1 컨볼루션 층(convolution layer) 및 상기 제1 특징 벡터에 대한 서브 샘플링을 수행하여 제2 특징 벡터를 출력하는 제1 풀링층(pooling layer)을 포함하는 1단계 합성곱 신경망; 및
    상기 제2 특징 벡터와 복수의 필터 간의 컨볼루션 연산을 통해 제3 특징 벡터를 출력하는 제2 컨볼루션 층 및 상기 제3 특징 벡터에 대한 서브 샘플링을 수행하여 제4 특징 벡터를 출력하는 제2 풀링층을 포함하는 2단계 합성곱 신경망을 포함하는 논쟁 유발성 문서 판별 장치.
  10. 청구항 9에 있어서,
    상기 제1 컨볼루션 층 및 상기 제2 컨볼루션 층은, 쌍곡선 정접(hyperbolic tangent) 함수 또는 ReLU(Rectified Linear Unit) 함수를 활성화 함수로 이용하여 컨볼루션 연산을 수행하는 논쟁 유발성 문서 판별 장치.
  11. 청구항 9에 있어서,
    상기 제1 풀링 층 및 상기 제2 풀링 층은, 맥스 풀링(max pooling)을 이용하여 상기 제1 특징 벡터에 대한 서브 샘플링을 수행하는 논쟁 유발성 문서 판별 장치.
  12. 청구항 9에 있어서,
    상기 판단 모델은, 상기 제2 풀링층과 연결된 전결합 층(fully-connected layer); 및
    상기 복수의 전결합 층의 출력으로부터 상기 문서에 대한 논쟁 유발성 판별 값을 출력하는 출력 층을 더 포함하는 논쟁 유발성 문서 판별 장치.
  13. 청구항 12에 있어서,
    상기 출력 층은, 소프트맥스(softmax) 함수를 활성화 함수로 이용하여 상기 판별 값을 출력하는 논쟁 유발성 문서 판별 장치.
  14. 청구항 8에 있어서,
    상기 임베딩 벡터 생성부는, 상기 문서에 포함된 각 단어를 원-핫 벡터(one-hot vector)로 변환하고, 상기 각 단어에 대한 원-핫 벡터를 임베딩 행렬(embedding matrix)와 곱하여 상기 각 단어에 대한 임베딩 벡터를 생성하는 논쟁 유발성 문서 판별 장치.
KR1020160182612A 2016-12-29 2016-12-29 논쟁 유발성 문서 판별 장치 및 방법 KR20180077846A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160182612A KR20180077846A (ko) 2016-12-29 2016-12-29 논쟁 유발성 문서 판별 장치 및 방법
US15/851,624 US10540547B2 (en) 2016-12-29 2017-12-21 Apparatus and method for detecting debatable document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160182612A KR20180077846A (ko) 2016-12-29 2016-12-29 논쟁 유발성 문서 판별 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20180077846A true KR20180077846A (ko) 2018-07-09

Family

ID=62712283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160182612A KR20180077846A (ko) 2016-12-29 2016-12-29 논쟁 유발성 문서 판별 장치 및 방법

Country Status (2)

Country Link
US (1) US10540547B2 (ko)
KR (1) KR20180077846A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027086A (ko) * 2018-08-30 2020-03-12 네이버 주식회사 유사 댓글의 연속 입력을 차단하기 위한 방법 및 시스템
KR20200103168A (ko) * 2019-02-12 2020-09-02 주식회사 자이냅스 문서 학습 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721190B2 (en) * 2018-07-31 2020-07-21 Microsoft Technology Licensing, Llc Sequence to sequence to classification model for generating recommended messages
CN110020431B (zh) * 2019-03-06 2023-07-18 平安科技(深圳)有限公司 文本信息的特征提取方法、装置、计算机设备及存储介质
US10956474B2 (en) 2019-03-14 2021-03-23 Microsoft Technology Licensing, Llc Determination of best set of suggested responses
CN111694950A (zh) * 2019-03-14 2020-09-22 京东数字科技控股有限公司 词嵌入方法、装置与电子设备
US11704573B2 (en) * 2019-03-25 2023-07-18 Here Global B.V. Method, apparatus, and computer program product for identifying and compensating content contributors
US11227128B2 (en) * 2019-06-07 2022-01-18 Raytheon Bbn Technologies Corp. Linguistically rich cross-lingual text event embeddings
CN112446201A (zh) * 2019-08-12 2021-03-05 北京国双科技有限公司 文本的评论性质确定方法及装置
CN111694955B (zh) * 2020-05-08 2023-09-12 中国科学院计算技术研究所 一种社交平台的早期争议性消息检测方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779085B2 (en) * 2015-05-29 2017-10-03 Oracle International Corporation Multilingual embeddings for natural language processing
US20170308790A1 (en) * 2016-04-21 2017-10-26 International Business Machines Corporation Text classification by ranking with convolutional neural networks
US11580350B2 (en) * 2016-12-21 2023-02-14 Microsoft Technology Licensing, Llc Systems and methods for an emotionally intelligent chat bot
US10565244B2 (en) * 2017-06-22 2020-02-18 NewVoiceMedia Ltd. System and method for text categorization and sentiment analysis

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027086A (ko) * 2018-08-30 2020-03-12 네이버 주식회사 유사 댓글의 연속 입력을 차단하기 위한 방법 및 시스템
KR20200103168A (ko) * 2019-02-12 2020-09-02 주식회사 자이냅스 문서 학습 장치

Also Published As

Publication number Publication date
US20180189559A1 (en) 2018-07-05
US10540547B2 (en) 2020-01-21

Similar Documents

Publication Publication Date Title
KR20180077846A (ko) 논쟁 유발성 문서 판별 장치 및 방법
Li et al. User reviews: Sentiment analysis using lexicon integrated two-channel CNN–LSTM​ family models
US11663411B2 (en) Ontology expansion using entity-association rules and abstract relations
Poria et al. Context-dependent sentiment analysis in user-generated videos
Cocarascu et al. Identifying attack and support argumentative relations using deep learning
CN110245229B (zh) 一种基于数据增强的深度学习主题情感分类方法
Bhuvaneshwari et al. Sentiment analysis for user reviews using Bi-LSTM self-attention based CNN model
Cai et al. A hybrid model for opinion mining based on domain sentiment dictionary
CN111356997A (zh) 具有颗粒化注意力的层次神经网络
Alharbi et al. Deep learning in Arabic sentiment analysis: An overview
KR20180077847A (ko) 문장 검증 장치 및 방법
EP4035082A1 (en) Deep neural architectures for detecting false claims
Liang et al. AC-BLSTM: asymmetric convolutional bidirectional LSTM networks for text classification
CN112667813B (zh) 用于裁判文书的敏感身份信息的识别方法
Siddique et al. Generalized zero-shot intent detection via commonsense knowledge
CN113627151B (zh) 跨模态数据的匹配方法、装置、设备及介质
CN113656660B (zh) 跨模态数据的匹配方法、装置、设备及介质
Mishra et al. IIIT_DWD@ HASOC 2020: Identifying offensive content in Indo-European languages.
CN114722141A (zh) 文本检测方法及装置
Devi et al. A novel intervention method for aspect-based emotion Using Exponential Linear Unit (ELU) activation function in a Deep Neural Network
Parvin et al. Multi-class textual emotion categorization using ensemble of convolutional and recurrent neural network
Reddy et al. Classification of user’s review using modified logistic regression technique
Xiaoyan et al. BiLSTM model with attention mechanism for sentiment classification on Chinese mixed text comments
Chathumali et al. Detecting human emotions on Facebook comments
Pedipina et al. Sentimental analysis on twitter data of political domain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal