KR102425017B1 - S-bns를 이용한 지도학습 기반 데이터 처리 시스템 - Google Patents

S-bns를 이용한 지도학습 기반 데이터 처리 시스템 Download PDF

Info

Publication number
KR102425017B1
KR102425017B1 KR1020220037986A KR20220037986A KR102425017B1 KR 102425017 B1 KR102425017 B1 KR 102425017B1 KR 1020220037986 A KR1020220037986 A KR 1020220037986A KR 20220037986 A KR20220037986 A KR 20220037986A KR 102425017 B1 KR102425017 B1 KR 102425017B1
Authority
KR
South Korea
Prior art keywords
bns
word
auxiliary
auxiliary word
document
Prior art date
Application number
KR1020220037986A
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 KR1020220037986A priority Critical patent/KR102425017B1/ko
Application granted granted Critical
Publication of KR102425017B1 publication Critical patent/KR102425017B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 문서를 토큰화하여 단어를 추출하는 단어 추출부; 상기 단어에 특수문자와 N 그램 방식을 이용해서 복수의 보조단어를 생성하는 보조단어 생성부; 상기 보조단어에 대해서 BNS(Bi-Normal Separation) 방법을 이용하여 S-BNS 점수를 계산하는 S-BNS 점수 계산부; 및 상기 보조단어와 상기 보조단어의 S-BNS 점수를 이용하여 벡터로 표현하고자 하는 대상 문서를 벡터화하는 벡터 표현부를 포함하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템을 제공한다.

Description

S-BNS를 이용한 지도학습 기반 데이터 처리 시스템{SUPERVISED LEARNING-BASED DATA PROCESSING SYSTEM BY USING S-BNS}
본 발명은 문서에 포함되어 있는 단어에 대한 보조단어와 S-BNS 점수를 생성하여 문서를 벡터로 표현하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템에 관한 것이다.
다양한 분야의 문서를 분류하는 문제는 오랫동안 연구되어왔다.
문서 분류를 위한 문서의 백터화는 일반적으로 TF-IDF(Term Frequency - inverse Document Frequency) 방법을 많이 사용해왔다.
TF-IDF (Term Frequency - Inverse Document Frequency)는 가장 간단한 카운트-기반 단어 표현 (Word Representation) 방식으로, 단어별 희소성이 문서를 구분하는데 얼마나 중요한지를 것인지를 나타내는 통계적 수치이다.
이러한 TF-IDF 방식은 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용되고 있다.
그러나, TF-IDF 방법은 지도학습(supervised learning)에 쓰이는 분류 라벨 정보를 활용하지 못하는 단점이 있다.
한국등록특허 제10-1938212호 (공고일자, 2019.01.15)
본 발명이 이루고자 하는 기술적 과제는 문서에 포함되어 있는 단어에 대한 보조단어와 S-BNS 점수를 생성하여 문서를 벡터로 표현하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템을 제공하고자 한다.
이러한 과제를 해결하기 위하여 본 발명의 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템은 문서를 토큰화하여 단어를 추출하는 단어 추출부; 상기 단어에 특수문자와 N 그램 방식을 이용해서 복수의 보조단어를 생성하는 보조단어 생성부; 상기 보조단어에 대해서 BNS(Bi-Normal Separation) 방법을 이용하여 S-BNS 점수를 계산하는 S-BNS 점수 계산부; 및 상기 보조단어와 상기 보조단어의 S-BNS 점수를 이용하여 벡터로 표현하고자 하는 대상 문서를 벡터화하는 벡터 표현부를 포함한다.
상기 보조단어 생성부는 상기 단어의 좌측과 우측에 각각 특수문자를 접합하여 제1 보조단어를 생성하고, 상기 제1 보조단어를 임의로 정한 N개의 연속적인 문자열로 끊어서 복수의 제2 보조단어를 생성할 수 있다.
상기 S-BNS 계산부는 아래 [식 1]을 이용하여 상기 보조단어에 각각에 대해서 상기 S-BNS 점수를 계산할 수 있다:
[식 1]
Figure 112022033123167-pat00001
여기서,
Figure 112022033123167-pat00002
는 역누적 분포 함수(inverse Normal cumulative distribution)이고,
Figure 112022033123167-pat00003
,
Figure 112022033123167-pat00004
이다.
상기 대상 문서의 벡터 차원의 개수만큼 상기 S-BNS 점수가 높은 순위의 상기 보조단어를 선정하여 보조단어 사전을 생성하는 보조단어 사전 생성부를 더 포함할 수 있다.
상기 벡터 표현부는 상기 보조단어 사전에 포함되어 있는 상기 보조단어를 상기 대상 문서의 단어와 비교하여 상기 보조단어의 S-BNS 점수를 벡터 원소로 할당할지 결정할 수 있다.
상기 벡터 표현부는 상기 보조단어의 S-BNS 점수를 벡터 원소로 할당할지 여부는 아래 우선순위에 따라 결정할 수 있다:
1순위: 상기 보조단어가 제1 보조단어인 경우에는 상기 대상 문서에 포함되어 있는 단어의 좌측과 우측에 각각 상기 특수문자를 접합하여 상기 제1 보조단어와 일치하는 단어가 있으면 상기 제1 보조단어의 S-BNS 점수를 그대로 상기 대상 문서의 벡터 원소에 할당하고,
2순위: 상기 보조단어가 제2 보조단어인 경우에는 상기 대상 문서에 포함되어 있는 단어 중에서는 상기 제2 보조단어와 일치하는 단어가 있으면 상기 제2 보조단어의 S-BNS 점수에 제1 가중치를 곱한 점수를 상기 대상 문서의 벡터 원소에 할당하고,
3순위: 상기 대상 문서에 대해서 상기 보조단어 생성부로부터 생성된 보조단어 중에서 상기 제2 보조단어와 일치하는 단어가 있으면 상기 제2 보조단어의 S-BNS 점수에 제2 가중치를 곱한 점수를 상기 대상 문서의 벡터 원소로 할당하고,
4순위: 상기 1순위 내지 상기 3순위 조건에 의해서도 상기 대상 문서의 벡터 원소가 할당되지 않으면 상기 대상 문서의 벡터 원소를 0으로 할당한다.
상기 제1 가중치와 상기 제2 가중치는 0보며 크고 1보다 작은 값이고, 상기 제1 가중치가 상기 제2 가중치보다 큰 값일 수 있다.
분류 라벨을 가지는 문서의 벡터는 지도학습 모델의 훈련 데이터로 이용될 수 있다.
분류하고자 하는 문서의 벡터를 상기 지도학습 모델의 테스트 데이터로 이용하여 상기 문서의 분류 라벨을 결정할 수 있다.
상기 문서의 벡터를 이용하여 문서의 다중 분류에도 적용될 수 있다.
위에서 언급된 본 발명의 기술적 과제 외에도, 본 발명의 다른 특징 및 이점들이 이하에서 기술되거나, 그러한 기술 및 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 본 발명에 따르면 다음과 같은 효과가 있다.
본 발명은 문서에 포함되어 있는 단어에 대한 보조단어와 S-BNS 점수를 생성하여 문서를 벡터로 표현함으로써 사전 내의 단어가 문서에 직접적으로 존재하지 않는 경우의 OOV 문제를 해결할 수 있어서 문서 내 직접적으로 존재하지 않더라도 문서를 벡터화할 수 있다.
본 발명은 사전을 구축할 때 문서 내 단어에 특수문자를 부착함으로써 보조단어와 문서의 원 단어가 같은 경우에도 구별할 수 있어서 문서의 벡터 표현을 보다 더 정확하게 할 수 있다.
본 발명은 사전에 정의된 범주 간에 파생어들의 분포가 균등하더라도, 보조단어를 이용함으로써 중의적 어근 대신에 의미론적인 복합 어근들을 사용하여 문서 분류를 정확하게 할 수 있다.
본 발명은 BNS 방식을 기반으로 한 이진분류 뿐만 아니라, BNS의 다중분류(Multiclassification)로의 확장인 E-BNS(Extended BNS)에서도 적용할 수 있다.
이 밖에도, 본 발명의 실시 예들을 통해 본 발명의 또 다른 특징 및 이점들이 새롭게 파악될 수도 있을 것이다.
도 1은 본 발명의 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템의 역할을 설명하기 위한 개략적인 도면이다.
도 2는 본 발명의 일 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템의 개략적인 구성도이다.
도 3은 BNS 방법을 설명하기 위한 도면이다.
도 4는 BNS 방법에 의해 문서의 단어에 대한 BNS 점수를 설명하는 예시도이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템에 의해 대상 문서가 벡터화되는 과정을 설명하기 위한 도면이다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제 2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부되는 도면을 참고하여 상기 문제점을 해결하기 위해 고안된 본 발명의 바람직한 실시예들에 대해 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템의 역할을 설명하기 위한 개략적인 도면이다.
도 1을 참조하면, 일 실시예로, 본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템(1000)은 다양한 분야의 문서(10)를 문서 벡터(20)로 변환하고, 지도학습 모델(2000)이 문서 벡터(20)를 훈련 데이터로 이용하여 학습할 수 있다.
이때 다양한 분야의 문서(10)는 분류 라벨을 가지고 있는 문서일 수 있다.
다른 실시예로, 본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템(1000)은 대상 문서(미도시)를 문서 벡터(20)로 변환하고, 지도학습 모델(2000)이 그 문서 벡터(20)를 테스트 데이터로 이용하여 대상 문서의 문서 분류 라벨을 판단(30)할 수 있다.
즉, 본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템(1000)은 자연어를 포함한 문서를 지도학습 모델로 분류하기 위해서 문서의 벡터화를 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템의 개략적인 구성도이고, 도 3은 BNS 방법을 설명하기 위한 도면이고, 도 4는 BNS 방법에 의해 문서의 단어에 대한 BNS 점수를 설명하는 예시도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템(1000)은 단어 추출부(100), 보조단어 생성부(200), S-BNS 점수 계산부(300), 보조단어 사전 생성부(400), 및 벡터 표현부(500)를 포함한다.
단어 추출부(100)는 문서를 토큰화하여 단어를 추출할 수 있다.
여기서, 문서는 분류하고자 하는 분류 라벨을 이미 가지고 있는 문서일 수도 있고, 분류하고자 하는 분류 라벨을 판별 받고자 하는 문서일 수도 있다.
이미 분류 라벨을 가지고 있는 문서인 경우에는, S-BNS를 이용한 지도학습 기반 데이터 처리 시스템에 의해 변환된 문서 벡터를 지도학습 모델을 학습시키기 위한 훈련 데이터로 이용될 수 있다.
분류 라벨을 판별 받고자 하는 문서인 경우에는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템에 의해 변환된 문서 벡터를 지도학습 모델의 테스트 데이터로 이용하여 문서의 분류 라벨을 판별 받을 수 있다.
문서는 여러 토큰의 집합으로 볼 수 있으며, 각 토큰의 구분은 단어별로 분리할 수 있다.
보조단어 생성부(200)는 문서에서 추출된 단어에 특수문자와 N 그램 방식을 이용해서 복수의 보조단어를 생성할 수 있다.
보조단어는 문서에서 추출된 단어에 특수문자가 접합된 제1 보조단어와 그 제1 보조단어를 N 그램 방식으로 잘라서 생성된 복수의 제2 보조단어를 포함하고 있다.
보조단어 생성부(200)는 문서에서 추출된 단어의 좌측과 우측에 각각 특수문자를 접합하여 제1 보조단어를 생성할 수 있다.
예를 들어, 문서 내 등장하는 한 단어(w)의 좌측과 우측에 특수문자인 <, >를 각각 접합하여 제1 보조단어를 생성할 수 있다. 문서 내에 postoperative라는 단어가 존재하면, <postoperative>와 같은 제1 보조단어를 생성할 수 있다
다음으로, 보조단어 생성부(200)는 제1 보조단어를 임의로 정한 N개의 연속적인 문자열로 끊어서 복수의 제2 보조단어를 생성할 수 있다.
예를 들어, 제1 보조단어인 <postoperative>을 6-그램(gram) 방식으로 자르면, <posto, postop, ostope, stoper, topera, operat, perati, erativ, rative, ative> 와 같은 총 10개의 제2 보조단어를 생성할 수 있다.
텍스트 처리 시스템에 있어서 문서의 벡터화의 가장 큰 한계는 문서의 단어들이 사전(dictionary)에 포함되어 있지 않으면, 문서를 벡터화 할 때 벡터의 원소가 0으로 되는 영벡터(null vector) 변환 문제가 발생되다는 것이다. 이는 사전(dictionary)의 크기가 커지고 문서의 수가 많아질수록 심화되고, 각 벡터화된 문서가 영벡터로 변화되기에 벡터 원소 내 대부분이 0인 희소행렬(sparse matrix)의 형태를 띄게 된다.
본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템은 문서에 포함된 단어가 사전에 없다고 하더라도 그 단어에 대한 보조단어를 생성함으로써 OOV(Out Of Vocabulary) 문제를 해결할 수 있다.
S-BNS 점수 계산부(300)는 보조단어에 대해서 BNS(Bi-Normal Separation) 방법을 이용하여 S-BNS(보조단어 BNS) 점수를 계산할 수 있다.
BNS(BI-Normal Separation) 방법은 2개의 역누적 분포함수에서의 특정 값(threshold)에서 두 분포의 아래 면적(AUC, Area under curve)가 얼마만큼 차이가 나는지를 이용하는 것이다. 특정 값(threshold) 이상의 면적의 차이가 많이 겹칠수록 두 분포가 유사하기에 서로 구분력이 없다는 의미이고, 분포의 차이가 클수록 구분력을 지니고 있다는 의미이다.
도 3을 참조하면, 두 문서군에서 BNS에서의 특정 단어가 얼마나 포함되어 있는지를 정규분포로 나타낼 수 있고, 두 분포의 차이를 아래 면적(AUC)을 이용해서 구할 수 있다.
아랫면적의 차이로 상대적인 위치를 표현하기 위해서, 특정 Threshold에서 fpr과 tpr을 계산해서, 상대적인 위치로 표현할 수 있게 x축값으로 표현한다. 두 분포의 x축값을 구하기 위해서는 CDF(Cummulative density function)의 역함수인 F-1(inverse Normal cumulative distribution function, 역누적분포함수)을 이용한다.
즉,
Figure 112022033123167-pat00005
에 해당한다.
여기서,
Figure 112022033123167-pat00006
는 역누적 분포 함수(inverse Normal cumulative distribution)이고,
Figure 112022033123167-pat00007
,
Figure 112022033123167-pat00008
이다.
예를 들어, 생물학과 관련이 있는 그룹과 생물학과 관련이 없는 그룹으로 분류된 문서들이 있다고 가정을 하고, 각 그룹을 가장 잘 표현할 수 있는 단어들을 선별하고자 한다.
10개의 생물학 관련 문서가 있으며, 그 중 9개의 생물학 문서에 "세포"라는 단어가 등장하면, "세포"의 trp은 9/10이 된다.
또한, 30개의 생물학과 관련 없는 문서가 있고, 그 중 1개의 문서에 "세포"라는 단어가 등장하면 "세포"의 fpr은 1/30이 된다.
"세포"라는 단어의 BNS 점수는
Figure 112022033123167-pat00009
이고, "세포"라는 단어의 BNS 점수가 생물학과 비생물학 문서의 구분력이 된다.
이와 같은 방식으로 문서의 모든 단어들의 BNS 점수를 계산할 수 있다.
도 4에서와 같이, Positive한 문서인 D1 내지 D6에만 존재하지만 Negative 문서인 D7 내지 D10에는 존재하지 않은 Term 1은 구분력이 강한 단어이므로 높은 BNS 점수를 가진다는 것을 확인할 수 있다.
이와 같이 보조단어의 BNS 점수인 S-BNS 점수를 BNS(BI-Normal Separation) 방법을 이용하여 모든 보조단어에 대해서 계산할 수 있다.
보조단어 사전 생성부(400)는 벡터화하고자 하는 대상 문서의 벡터 차원의 개수만큼 S-BNS 점수가 높은 순위의 보조단어를 선정하여 보조단어 사전(dictionary)을 생성할 수 있다.
예를 들어, 각 문서를 3차원으로 벡터로 표현하고자 한다면, 전체 보조단어 중에서 S-BNS 점수가 높은 보조단어 3개를 선정하여 보조단어 사전을 구축할 수 있다.
벡터 표현부(500)는 문서의 보조단어와 그 보조단어의 S-BNS 점수를 이용하여 벡터로 표현하고자 하는 대상 문서를 벡터화할 수 있다.
벡터 표현부(500)는 보조단어 사전에 포함되어 있는 보조단어를 대상 문서의 단어와 비교하여 보조단어의 S-BNS 점수를 대상 문서의 벡터 원소로 할당할지 결정할 수 있다.
보조단어 사전에 포함되어 있는 보조단어를 순서대로 가져와서 해당 보조단어가 대상 문서 내에 존재하면 그 보조단어의 S-BNS 점수를 벡터 원소로 할당할 수 있다.
이때, 벡터 표현부(500)는 보조단어의 S-BNS 점수를 대상 문서의 벡터 원소로 할당할지 여부를 아래 우선순위에 따라 결정할 수 있다.
1순위는 보조단어가 제1 보조단어인 경우에는 대상 문서에 포함되어 있는 단어의 좌측과 우측에 각각 상기 특수문자를 접합하여 제1 보조단어와 일치하는 단어가 있으면 제1 보조단어의 S-BNS 점수를 그대로 대상 문서의 벡터 원소에 할당한다.
2순위는 보조단어가 제2 보조단어인 경우에는 대상 문서에 포함되어 있는 단어 중에서는 제2 보조단어와 일치하는 단어가 있으면 제2 보조단어의 S-BNS 점수에 제1 가중치를 곱한 점수를 대상 문서의 벡터 원소에 할당한다.
3순위는 대상 문서에 대해서 보조단어 생성부로부터 생성된 보조단어 중에서 제2 보조단어와 일치하는 단어가 있으면 제2 보조단어의 S-BNS 점수에 제2 가중치를 곱한 점수를 대상 문서의 벡터 원소로 할당한다.
4순위는 1순위 내지 상기 3순위 조건에 의해서도 대상 문서의 벡터 원소가 할당되지 않으면 대상 문서의 벡터 원소를 0으로 할당한다.
여기서, 제1 가중치와 제2 가중치는 0보다 크다 1보다 작은 값이고, 제1 가중치가 상기 제2 가중치보다 큰 값일 수 있다.
보조단어 사전에는 특수문자인 <, >를 모두 가진 보조단어가 있을 수 있으며, 하나의 특수문자만 있는 보조단어가 있을 수 있으며, 특수문자가 없는 보조단어가 있을 수 있다.
보조단어는 문서에 있는 원래의 단어로부터 파생된 것이므로 특수문자가 부착된 원래의 단어의 BNS 점수를 사용하는 것보다 의미가 왜곡 및 희석될 수 있기에, 보조단어 사전에 있는 보조단어가 문서에 보조단어로 있는 것보다 원래의 단어로 존재하는 것이 더 우선순위를 두기 위함이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템에 의해 대상 문서가 벡터화되는 과정을 설명하기 위한 도면이다.
도 5 내지 도 7을 참조하여, 수술에 관한 문서를 분류하는 모델을 생성하기 위한 학습 데이터를 생성하는 일 예를 설명한다.
여기서, N 그램의 N을 6으로 하고, 벡터 차원의 수인 K를 10으로 가정한다. 그리고 제1 가중치는 0.9이고, 제2 가중치는 0.7로 정한다.
도 5를 참조하면, 수술에 관한 문서를 분류하는 지도학습 모델을 생성하기 위해서 이미 보유하고 있는 훈련 데이터로, 보조단어 사전을 구축하기 위해 사용되는 데이터이다. 이 각각의 문서는 라벨과 내용을 가지고 있다.
도 6을 참조하면, 본 발명의 실시예에 따른 보조단어 생성부, S-BNS 점수 계산부, 보조단어 사전 생성부는 10개의 보조단어가 포함된 보조단어 사전을 구축할 수 있다.
보조단어 사전에는 S-BNS 점수가 높은 순으로 10개의 보조단어와 각각의 S-BNS 점수가 포함되어 있다.
분류하고자 하는 데스트 데이터로 지도학습 모델을 통해 라벨을 0 또는 1로 분류하고자 한다.
도 7을 참조하여 분류하고자 하는 D5 문서의 벡터화 과정을 설명한다.
보조단어 사전의 가장 첫 번째에 있는 보조단어가 D5 문서 내에 있는지 없는지 판단하여, 벡터의 첫 번째 원소에 그 보조단어의 S-BNS 점수를 할당할지 말지를 결정한다.
보조단어 사전의 첫번째 단어가 “<postoperative>”이므로, 보조단어의 양측에 특수문자가 부착되어 있기 때문에, 1순위에 해당한다. 이는 D5 문서의 각각의 단어에 특수문자를 부착한 단어에 “<postoperative>”이 존재하기 때문이다.
이후, 보조단어 사전에서 두 번째 단어인 “device”을 가지고 와서, 1순위 조건에 맞는지 확인한다. D5 문서의 단어 양측에 특수문자가 없어 1순위 조건에는 매칭되지 않으므로, 2순위 조건에 맞는지 확인한다. 2순위 조건은 보조단어가 그대로 D5 문서 내에 있는지 찾는 것이다. 보조단어 “device”가 D5 문서 내에 있으므로, device의 S-BNS 점수인 0.85를 벡터의 두번째 원소에 할당한다. 이때, 0.9의 제1 가중치를 같이 곱하여 할당한다.
세 번째 보조단어인 normal은 1순위, 2순위를 만족하지 않으므로, 3순위 조건의 만족여부를 판단한다. 이 조건은 D5 문장의 모든 단어를 “<”, “>”을 부착하여 제1 보조단어를 생성하고, 제1 보조단어를 기반으로 제2 보조단어를 생성한 후, 세 번째 보조단어인 normal와 비교하여 존재하는지 여부를 가린다.
좀 더 구체적으로, D5 문서 내 각각의 단어에 대해서 상기 과정을 진행하다가, “abnormal”에 대해서도 상기의 과정을 진행할 것이다. “abnormal”에 특수문자를 부착하여 제1 보조단어인“<abnormal>”을 만들고, “<abnor”, …, ”normal”, …”ormal>”의 제2 보조단어를 만든다. 이때, 보조단어 사전에서 가져온 normal이 “<abnormal>”에 존재한다. 따라서, normal이 D5의 보조단어에 존재하므로, 0.7(제2 가중치)*0.8을 벡터의 세번째 원소에 할당한다.
상기 과정을 진행하면서, 1순위 내지 3순위를 모두 만족하지 못한 경우는 0의 값을 할당하며, 총 10개의 보조단어에 대해서 상기사항을 진행하여 문서를 벡터화한다.
이와 같이, 본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템은 문서에 포함되어 있는 단어에 대한 보조단어와 S-BNS 점수를 생성하여 문서를 벡터로 표현함으로써 사전 내의 단어가 문서에 직접적으로 존재하지 않는 경우의 OOV 문제를 해결할 수 있어서 문서 내 직접적으로 존재하지 않더라도 문서를 벡터화할 수 있다.
본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템은 사전을 구축할 때 문서 내 단어에 특수문자를 부착함으로써 보조단어와 문서의 원 단어가 같은 경우에도 구별할 수 있어서 문서의 벡터 표현을 보다 더 정확하게 할 수 있다.
또한, 본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템은 사전에 정의된 범주 간에 파생어들의 분포가 균등하더라도, 보조단어를 이용함으로써 중의적 어근 대신에 의미론적인 복합 어근들을 사용하여 문서 분류를 정확하게 할 수 있다.
또한, 본 발명에 따른 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템은 BNS 방식을 기반으로 한 이진분류 뿐만 아니라, BNS의 다중분류(Multiclassification)로의 확장인 E-BNS(Extended BNS)에서도 적용할 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지로 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
100: 단어 추출부
200: 보조단어 생성부
300: S-BNS 점수 계산부
400: 보조단어 사전 생성부
500: 벡터 표현부
1000: S-BNS를 이용한 지도학습 기반 데이터 처리 시스템

Claims (10)

  1. 문서를 토큰화하여 단어를 추출하는 단어 추출부;
    상기 단어에 특수문자와 N 그램 방식을 이용해서 복수의 보조단어를 생성하는 보조단어 생성부;
    상기 보조단어에 대해서 BNS(Bi-Normal Separation) 방법을 이용하여 S-BNS 점수를 계산하는 S-BNS 점수 계산부;
    상기 보조단어와 상기 보조단어의 S-BNS 점수를 이용하여 벡터로 표현하고자 하는 대상 문서를 벡터화하는 벡터 표현부; 및
    상기 대상 문서의 벡터 차원의 개수만큼 상기 S-BNS 점수가 높은 순위의 상기 보조단어를 선정하여 보조단어 사전을 생성하는 보조단어 사전 생성부;
    를 포함하고,
    상기 보조단어 생성부는 상기 단어의 좌측과 우측에 각각 특수문자를 접합하여 제1 보조단어를 생성하고, 상기 제1 보조단어를 임의로 정한 N개의 연속적인 문자열로 끊어서 복수의 제2 보조단어를 생성하고,
    상기 벡터 표현부는 상기 보조단어 사전에 포함되어 있는 상기 보조단어를 상기 대상 문서의 단어와 비교하여 상기 보조단어의 S-BNS 점수를 벡터 원소로 할당할지 결정하고,
    상기 벡터 표현부는 상기 보조단어의 S-BNS 점수를 벡터 원소로 할당할지 여부는 아래 우선순위에 따라 결정하는 것을 특징으로 하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템.
    1순위: 상기 보조단어가 제1 보조단어인 경우에는 상기 대상 문서에 포함되어 있는 단어의 좌측과 우측에 각각 상기 특수문자를 접합하여 상기 제1 보조단어와 일치하는 단어가 있으면 상기 제1 보조단어의 S-BNS 점수를 그대로 상기 대상 문서의 벡터 원소에 할당하고,
    2순위: 상기 보조단어가 제2 보조단어인 경우에는 상기 대상 문서에 포함되어 있는 단어 중에서는 상기 제2 보조단어와 일치하는 단어가 있으면 상기 제2 보조단어의 S-BNS 점수에 제1 가중치를 곱한 점수를 상기 대상 문서의 벡터 원소에 할당하고,
    3순위: 상기 대상 문서에 대해서 상기 보조단어 생성부로부터 생성된 보조단어 중에서 상기 제2 보조단어와 일치하는 단어가 있으면 상기 제2 보조단어의 S-BNS 점수에 제2 가중치를 곱한 점수를 상기 대상 문서의 벡터 원소로 할당하고,
    4순위: 상기 1순위 내지 상기 3순위 조건에 의해서도 상기 대상 문서의 벡터 원소가 할당되지 않으면 상기 대상 문서의 벡터 원소를 0으로 할당한다.
  2. 삭제
  3. 제1항에 있어서,
    상기 S-BNS 점수 계산부는 아래 [식 1]을 이용하여 상기 보조단어에 각각에 대해서 상기 S-BNS 점수를 계산하는 것을 특징으로 하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템.
    [식 1]
    BNS(w) =
    Figure 112022065407819-pat00021

    여기서,
    Figure 112022065407819-pat00022
    는 역누적 분포 함수(inverse Normal cumulative distribution)이고,
    Figure 112022065407819-pat00023
    이다..
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 제1 가중치와 상기 제2 가중치는 0보다 크며 1보다 작은 값이고, 상기 제1 가중치가 상기 제2 가중치보다 큰 값인 것을 특징으로 하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템.
  8. 제1항에 있어서,
    분류 라벨을 가지는 문서의 벡터는 지도학습 모델의 훈련 데이터로 이용되는 것을 특징으로 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템.
  9. 제8항에 있어서,
    분류하고자 하는 문서의 벡터를 상기 지도학습 모델의 테스트 데이터로 이용하여 상기 문서의 분류 라벨을 결정하는 것을 특징으로 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템.
  10. 제1항에 있어서,
    상기 문서의 벡터를 이용하여 문서의 다중 분류에도 적용되는 것을 특징으로 하는 S-BNS를 이용한 지도학습 기반 데이터 처리 시스템.
KR1020220037986A 2022-03-28 2022-03-28 S-bns를 이용한 지도학습 기반 데이터 처리 시스템 KR102425017B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220037986A KR102425017B1 (ko) 2022-03-28 2022-03-28 S-bns를 이용한 지도학습 기반 데이터 처리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220037986A KR102425017B1 (ko) 2022-03-28 2022-03-28 S-bns를 이용한 지도학습 기반 데이터 처리 시스템

Publications (1)

Publication Number Publication Date
KR102425017B1 true KR102425017B1 (ko) 2022-07-25

Family

ID=82608947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220037986A KR102425017B1 (ko) 2022-03-28 2022-03-28 S-bns를 이용한 지도학습 기반 데이터 처리 시스템

Country Status (1)

Country Link
KR (1) KR102425017B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101938212B1 (ko) 2018-05-29 2019-01-15 전남대학교산학협력단 의미와 문맥을 고려한 주제기반 문서 자동 분류 시스템
KR20200040652A (ko) * 2018-10-10 2020-04-20 고려대학교 산학협력단 자연어 처리 시스템 및 자연어 처리에서의 단어 표현 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101938212B1 (ko) 2018-05-29 2019-01-15 전남대학교산학협력단 의미와 문맥을 고려한 주제기반 문서 자동 분류 시스템
KR20200040652A (ko) * 2018-10-10 2020-04-20 고려대학교 산학협력단 자연어 처리 시스템 및 자연어 처리에서의 단어 표현 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
B. N. Shankar Gowda and Vibha Lakshmikantha, User Behavior Prediction using A Novel Sentence N-Gram Model, 2020 2nd International Conference on Innovative Mechanisms for Industry Applications, 2020.03.05. 1부.* *
Jean-Thomas Baillargeon, Luc Lamontagne, and Étienne Marceau, Weighting Words Using Bi-Normal Separation for Text Classification Tasks with Multiple Classes, Canadian AI 2019: Advances in Artificial Intelligence, pp 433-439, 2019.04.24. 1부.* *
Nicolas Poulallion and Jean-Yves Stephan, Identifying Demonstrative Lovers in Tango Texting App, CS 229 Machine Learning Final Projects, Autumn 2013, <URL: CS229https://cs229.stanford.edu/projects2013.html> 1부.* *

Similar Documents

Publication Publication Date Title
CN109388795B (zh) 一种命名实体识别方法、语言识别方法及系统
CN107038158B (zh) 对译语料库制作方法、装置、记录介质以及机器翻译系统
WO2021068339A1 (zh) 文本分类方法、装置及计算机可读存储介质
CN101477544B (zh) 一种识别垃圾文本的方法和系统
US8335683B2 (en) System for using statistical classifiers for spoken language understanding
US7412093B2 (en) Hybrid apparatus for recognizing answer type
Abbas et al. Evaluation of topic identification methods on Arabic corpora.
CN105389379A (zh) 一种基于文本分布式特征表示的垃圾稿件分类方法
Antony et al. Kernel based part of speech tagger for kannada
CN111428028A (zh) 基于深度学习的信息分类方法及相关设备
US20230140813A1 (en) System and method for auto-populating electronic transaction process
CN112131876A (zh) 一种基于相似度确定标准问题的方法及系统
WO2020232382A1 (en) Few-shot language model training and implementation
US11893537B2 (en) Linguistic analysis of seed documents and peer groups
CN111144102B (zh) 用于识别语句中实体的方法、装置和电子设备
CN112000802A (zh) 基于相似度集成的软件缺陷定位方法
KR20160149050A (ko) 텍스트 마이닝을 활용한 순수 기업 선정 장치 및 방법
CN115510500A (zh) 一种文本内容的敏感分析方法及系统
CN110598787B (zh) 一种基于自定步长学习的软件bug分类方法
CN116089610A (zh) 一种基于行业知识的标签识别方法及装置
CN114925702A (zh) 文本相似度识别方法、装置、电子设备及存储介质
CN110110087A (zh) 一种基于二分类器的用于法律文本分类的特征工程方法
CN111191029B (zh) 基于监督学习和文本分类的ac构建方法
KR102425017B1 (ko) S-bns를 이용한 지도학습 기반 데이터 처리 시스템
CN101576876B (zh) 一种自动拆分英文复合词组的系统和方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant