KR102505821B1 - 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법 - Google Patents

컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법 Download PDF

Info

Publication number
KR102505821B1
KR102505821B1 KR1020200003188A KR20200003188A KR102505821B1 KR 102505821 B1 KR102505821 B1 KR 102505821B1 KR 1020200003188 A KR1020200003188 A KR 1020200003188A KR 20200003188 A KR20200003188 A KR 20200003188A KR 102505821 B1 KR102505821 B1 KR 102505821B1
Authority
KR
South Korea
Prior art keywords
concept
text
rule
rules
module
Prior art date
Application number
KR1020200003188A
Other languages
English (en)
Other versions
KR20210089962A (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 KR1020200003188A priority Critical patent/KR102505821B1/ko
Publication of KR20210089962A publication Critical patent/KR20210089962A/ko
Application granted granted Critical
Publication of KR102505821B1 publication Critical patent/KR102505821B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F16/353Clustering; Classification into predefined classes
    • 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/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치는 복수의 텍스트 문서를 수집하는 수집부와, 상기 복수의 텍스트 문서로부터 컨셉사전에 저장된 컨셉을 기반으로 하여 규칙을 생성하는 규칙생성부와, 텍스트가 입력되면, 상기 컨셉 및 상기 규칙을 기초로 텍스트를 분류하는 텍스트분류부를 포함한다.

Description

컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법{Apparatus and method for text analysis using rules generated based on concept dictionary}
본 발명은 텍스트 분류 기술에 관한 것으로, 보다 상세하게는 컨셉과, 그 컨셉을 기반으로 생성된 규칙을 기초로 텍스트를 분류하기 위한 장치 및 이를 위한 방법에 관한 것이다.
텍스트 분류란, 단어, 문장 또는 지문 전체를 두고 카테고리 별로 구분하는 것을 의미한다. 이미지 분류 문제와 비슷하게 지도 학습(supervised learning)을 이용한다. 텍스트 분류에는 감성 분석, 카테고리 분류 의도 분류와 같은 종류가 있다.
감성 분석은 문장 또는 지문의 감성을 분석하는 것이다. 대표적인 예시로, 영화 리뷰를 보고 긍정적인 리뷰인지 부정적인 리뷰인지 분석하는 것이 있다. 가령 “이 영화는 역대 최악의 영화이다” 라는 문장을 분석한다면, “부정적”인 리뷰로 분류한다.
카테고리 분류는 문장이나 지문을 카테고리 별로 분류하는 것이다. 어떤 블로그의 글을 보고 그 글이 IT 관련 글인지, 스포츠 관련 글인지 등을 분류하는 것도 카테고리 분류로 볼 수 있고, 나에게 온 메일이 스팸 메일인지 그냥 메일인지 분류하는 것도 카테고리 분류로 볼 수 있다.
의도 분류는 문장의 의도를 분류하는 것이다. 가령 챗봇한테 “오늘 주말에 영업하는 안산 중앙동에 있는 식당 추천해 줘” 라고 말을 했을 때, 챗봇한테 이 말이 어떤 의도를 갖고 한 말인지 분류하게 하는 것이다. 위의 경우에는 “식당 추천”이 의도가 될 것이고, 그러면 챗봇은 그 의도 안에서 “오늘 주말에 영업”, “안산 중앙동에 있는” 이라는 두 구문을 해석해서 답을 알려 줄 것이다.
한국등록특허 제2015218호 2019년 08월 21일 등록 (명칭: 기계 학습을 이용한 텍스트 분류 방법 및 장치)
본 발명의 목적은 보다 상세하게는, 컨셉을 기반으로 규칙을 생성하고, 컨셉과 생성된 규칙을 이용하여 텍스트를 분류하기 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치는 복수의 텍스트 문서를 수집하는 수집부와, 상기 복수의 텍스트 문서로부터 컨셉사전에 저장된 컨셉을 기반으로 하여 규칙을 생성하는 규칙생성부와, 텍스트가 입력되면, 상기 컨셉 및 상기 규칙을 기초로 텍스트를 분류하는 텍스트분류부를 포함한다.
상기 규칙생성부는 복수의 텍스트 문서가 입력되면, 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성하는 트랜잭션데이터생성모듈과, 상기 복수의 트랙잭션 데이터로부터 기 설정된 기준 지지도에 따라 컨셉 트랜잭션 아이템 세트를 생성하는 아이템세트생성모듈과, 상기 컨셉 트랜잭션 아이템 세트로부터 기 설정된 기준 신뢰도에 따라 복수의 컨셉 규칙을 추출하는 컨셉규칙추출모듈과, 상기 복수의 컨셉 규칙으로부터 언어학적인 연관 규칙인 언어 규칙을 추출하는 언어규칙추출모듈과, 상기 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 선택된 규칙을 저장하는 최종규칙선택모듈을 포함한다.
상기 텍스트분류부는 텍스트가 입력되면 형태소 분석을 수행하는 형태소분석모듈과, 상기 형태소 분석에 따라 상기 컨셉 사전의 컨셉과 상기 생성된 규칙을 기초로 상기 입력된 텍스트를 분류하는 텍스트분류모듈을 포함한다.
상기 컨셉은 카테고리에 관련된 복수의 단어인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치는
수집부로부터 복수의 텍스트 문서가 입력되면, 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성하는 트랜잭션데이터생성모듈;
상기 복수의 트랙잭션 데이터 중 기 설정된 기준 지지도를 만족하는 트랙잭션 데이터의 그룹을 컨셉 트랜잭션 아이템 세트로 생성하는 아이템세트생성모듈;
상기 컨셉 트랜잭션 아이템 세트 내에서 기 설정된 기준 신뢰도를 만족하는 컨셉 트랜잭션 아이템 세트를 컨셉 규칙으로 추출하는 컨셉규칙추출모듈;
미리 정의된 규칙 연산자를 이용하여 최대 거리, 최대 빈도수, 시작점 최대 거리 및 끝점 최대 거리 중 적어도 하나를 포함하는 조건을 설정하고, 상기 컨셉 규칙 중 상기 설정된 조건에 부합하는 컨셉 규칙을 언어 규칙으로 추출하는 언어규칙추출모듈; 및
상기 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 저장하는 최종규칙선택모듈을 포함한다.
상기 텍스트 분석 장치는 텍스트가 입력되면 형태소 분석을 수행하는 형태소분석모듈 및 상기 형태소 분석의 결과 및 상기 컨셉 사전의 컨셉과 상기 생성된 규칙을 기초로 텍스트를 분류하는 텍스트분류모듈을 더 포함한다.
상기 컨셉은 카테고리에 관련된 복수의 단어인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법은 수집부가 복수의 텍스트 문서를 수집하는 단계와, 규칙생성부가 상기 복수의 텍스트 문서로부터 컨셉사전에 저장된 컨셉을 기반으로 하여 규칙을 생성하는 단계와, 텍스트분류부가 텍스트가 입력되면, 상기 컨셉 및 상기 규칙을 기초로 텍스트를 분류하는 단계를 포함한다.
상기 규칙을 생성하는 단계는 트랜잭션데이터생성모듈이 복수의 텍스트 문서가 입력되면, 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성하는 단계와, 아이템세트생성모듈이 상기 복수의 트랙잭션 데이터로부터 기 설정된 기준 지지도에 따라 컨셉 트랜잭션 아이템 세트를 생성하는 단계와, 컨셉규칙추출모듈이 상기 컨셉 트랜잭션 아이템 세트로부터 기 설정된 기준 신뢰도에 따라 복수의 컨셉 규칙을 추출하는 단계와, 언어규칙추출모듈이 상기 복수의 컨셉 규칙으로부터 언어학적인 연관 규칙인 언어 규칙을 추출하는 단계와, 최종규칙선택모듈이 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 저장하는 단계를 포함한다.
상기 텍스트를 분류하는 단계는 형태소분석모듈이 텍스트가 입력되면 형태소 분석을 수행하는 단계와, 텍스트분류모듈이 상기 형태소 분석의 결과 및 상기 컨셉 사전의 컨셉과 상기 생성된 규칙을 기초로 텍스트를 분류하는 단계를 포함한다.
상기 컨셉은 카테고리에 관련된 복수의 단어인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법은 규칙생성부의 트랜잭션데이터생성모듈이 수집부로부터 복수의 텍스트 문서가 입력되면, 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성하는 단계와, 규칙생성부의 아이템세트생성모듈이 상기 복수의 트랙잭션 데이터 중 기 설정된 기준 지지도를 만족하는 트랙잭션 데이터의 그룹을 컨셉 트랜잭션 아이템 세트로 생성하는 단계와, 규칙생성부의 컨셉규칙추출모듈이 상기 컨셉 트랜잭션 아이템 세트 내에서 기 설정된 기준 신뢰도를 만족하는 컨셉 트랜잭션 아이템 세트를 컨셉 규칙으로 추출하는 단계와, 규칙생성부의 언어규칙추출모듈이 미리 정의된 규칙 연산자를 이용하여 최대 거리, 최대 빈도수, 시작점 최대 거리 및 끝점 최대 거리 중 적어도 하나를 포함하는 조건을 설정하고, 상기 컨셉 규칙 중 상기 설정된 조건에 부합하는 컨셉 규칙을 언어 규칙으로 추출하는 단계와, 규칙생성부의 최종규칙선택모듈이 상기 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 저장하는 단계를 포함한다.
상기 텍스트 분석 방법은 형태소분석모듈이 텍스트가 입력되면 형태소 분석을 수행하는 단계와, 텍스트분류모듈이 상기 형태소 분석의 결과 및 상기 컨셉 사전의 컨셉과 상기 생성된 규칙을 기초로 텍스트를 분류하는 단계를 포함한다.
상기 컨셉은 카테고리에 관련된 복수의 단어인 것을 특징으로 한다.
본 발명에 따르면, 본 발명은 컨셉 단어만 사용하여 분류 연산을 단순화하면서 빈도수보다 관계성을 높일 수 있다. 따라서 컨셉을 기초로 생성된 규칙을 통해 보다 효율적으로 텍스트를 분류할 수 있다.
도 1은 본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치의 구성에 대해서 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 규칙생성부의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 텍스트분류부의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치의 구성에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치의 구성에 대해서 설명하기로 한다.
본 발명의 실시예에 따른 텍스트분석장치는 수집부(100), 규칙생성부(200), 텍스트분류부(300), 컨셉사전(400) 및 규칙저장부(500)를 포함한다.
수집부(100)는 텍스트 문서를 수집하기 위한 것이며, 규칙 생성을 위해 수집된 텍스트 문서는 규칙생성부(200)에 제공되며, 텍스트 분류를 위해 수집된 텍스트 문서는 텍스트 단위로 텍스트분류부(300)에 제공할 수 있다. 여기서 텍스트 문서는 단문 문장, 장문 문장, 복합 문장 등 다양한 문장을 포함하는 비정형화된 문서일 수 있으나, 이에 한정되지 않고 정형화된 문서일 수 있다.
규칙생성부(200)는 텍스트 문서가 입력되면, 컨셉사전(400)의 컨셉을 기초로 규칙을 생성한다. 즉 규칙 생성부(200)는 수집부(100)로부터 수집된 텍스트 문서의 컨셉에 맞도록 맞춤형 규칙을 생성한다. 이를 통해 본 발명은 각 텍스트 문서를 해당 컨셉에 맞게 분류할 수 있도록 지원한다. 여기서 규칙은 거리함수(거리에 따른 규칙), 빈도함수(빈도에 따른 규칙), AND 함수, OR 함수 등을 포함할 수 있다.
컨셉사전(400)은 복수의 컨셉과 관련된 내용이 사전화되어 저장된 데이터베이스이다. 컨셉사전(400)은 일정 컨셉(주제)을 기준으로 회사, 관심분야, 속성, 동의어, 유사어, 긍정, 부정, 중립 등과 관련된 내용의 단어를 정의한다. 예를 들어 컨셉이 반도체라고 한다면 컨셉사전(400)은 다단의 계층구조로 관련회사(A사, B사, C사 등)을 구분한 다음 해당 회사에서 제조하고 있는 반도체의 종류, 주요 제조원료, 단가 등을 포함되도록 사전을 구축하거나, 반도체와 관련된 용어를 정의할 수 있다. 컨셉사전(400)은 실시간 또는 기 설정된 기간마다 새로운 데이터를 업데이트할 수 있다. 또한 컨셉사전(400)은 기 설정된 기간 동안 사용되지 않은 컨셉에 대해서는 삭제하여 데이터 관리를 원활하게 할 수 있다.
규칙저장부(500)는 규칙생성부(200)로부터 생성된 규칙이 저장된다. 규칙저장부(500)는 각 컨셉에 따라 규칙을 개별 저장할 수 있다. 이를 통해 규칙저장부(500)는 효율적인 데이터 관리가 되도록 지원한다.
텍스트분류부(300)는 텍스트가 입력되면, 규칙생성부(200)가 생성하여 규칙저장부(500)에 저장한 규칙과, 컨셉사전의 컨셉을 기초로 텍스트를 분류한다.
그러면, 전술한 규칙생성부(200) 및 텍스트분류부(300) 각각에 대해서 보다 상세하게 설명하기로 한다. 먼저, 본 발명의 실시예에 따른 규칙생성부(200)의 구성에 대해서 상세하게 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 규칙생성부의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 규칙생성부(200)는 트랜잭션데이터생성모듈(210), 아이템세트생성모듈(220), 컨셉규칙추출모듈(230), 언어규칙추출모듈(240) 및 최종규칙선택모듈(250)을 포함한다.
트랜잭션데이터생성모듈(210)은 수집부(100)로부터 복수의 텍스트 문서가 입력되면, 복수의 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전(400)의 컨셉을 기반으로 하여 트랙잭션 데이터를 생성한다. 컨셉사전(400)은 회사, 관심분야, 속성, 동의어, 유사어, 긍정/부정 등의 카테고리 별로 해당 카테고리의 컨셉과 관련된 단어를 정의한다. 다른 말로, 컨셉은 카테고리에 관련된 복수의 단어가 될 수 있다. 컨셉사전(400)은 복수가 존재할 수 있으며, 일정 시간 또는 실시간으로 관련 내용을 업데이트할 수 있고, 학습을 통한 업데이트도 가능하다. 여기서, 업데이트는 컨셉 단어의 주변 단어에서 추출 확률이 높은 단어를 추가하는 것을 의미한다. 종래에는 모든 단어를 벡터화하여 사용하였으나, 본 발명은 컨셉 단어만을 사용하여 분류 연산을 단순화하면서 빈도수보다 관계성을 높일 수 있을 뿐만 아니라 벡터화 과정을 생략하여 빠른 연산을 수행할 수 있다. 따라서 트랜잭션데이터생성모듈(210)은 텍스트 문서가 입력되면, 컨셉사전(400)의 컨셉에 따라 텍스트 문서에 포함된 복수의 텍스트로부터 복수의 트랜잭션 데이터를 생성한다.
아이템세트생성모듈(220)은 기 설정된 기준 지지도에 해당하는 컨셉 트랜잭션 아이템 세트를 생성한다. 일례로, 기 설정된 기준 지지도는 90%가 될 수 있다. 즉, 최소 지지도(min_support)를 0.9로 설정할 수 있다. 여기서, 지지도는 빈도수를 의미하며, 사용자 입력에 따라 변경이 가능하다. 즉, 이전 단계에서 관계성 기반으로 트랜잭션을 만들고, 현 단계에서 빈도수를 기반으로 컨셉 트랙잭션을 생성하여, 보다 컨셉과 관련성이 있는 규칙을 만들 수 있다. 아이템 세트를 생성할 때, 아이템 세트(Itemset)의 생성된 항목에 대한 최대 길이(max_length, 이하 ‘최대 길이’라 함)를 더 이용할 수 있다. 여기서 최대 길이는 아이템 세트의 최대 집합을 의미한다. 예를 들어 max_len=2의 의미는 [컨셉1][컨셉2], [컨셉1],[컨셉2] 등과 같은 2개의 컨셉 조합만을 추출하는 것을 의미한다.
예를 들어 [컨셉1] 내지 [컨셉3]의 지지도가 0.92이고, [컨셉4]의 지지도가 0.8라고 가정하고, 아이템세트생성모듈(220)에 설정된 최소 지지도가 0.9이고, 최대 길이가 2인 경우, 소스 코드는 하기와 같이 표현하고, 출력값은 [표 1]과 같이 출력할 수 있다.
frequent_itemsets = ap.apriori(df, min_support=0.9, use_colnames=True, max_len=2)
아이템 세트 지지도
[컨셉1] 0.92
[컨셉2] 0.92
[컨셉3] 0.92
[컨셉1][컨셉2] 0.92
[컨셉1][컨셉3] 0.92
[컨셉2][컨셉3] 0.92
즉 아이템세트생성모듈(220)은 [표 1]과 같이 최소 지지도인 0.9보다 낮은 [컨셉4]를 제외한 컨셉 간의 최대 길이가 2인 아이템 세트를 출력할 수 있다.이는 다음과 같은 연관 분석식으로 표현할 수 있다.
support(A → C) = support (A U C), range: [0, 1]
이에 따르면, 아이템세트생성모듈(220)은 텍스트의 거리는 2 미만인 텍스트 중 A라는 텍스트가 존재할 때, C라는 텍스트도 같이 존재하는 비율이 90% 이상인 텍스트들을 그룹화하여 복수의 컨셉 트랜잭션 아이템 세트를 생성한다.
한편 컨셉의 관계에서는 2개의 컨셉 사이의 언어학적인 의미만 추출하기 때문에 최대 길이가 2인 실시예를 개시하고 있으나, 이에 한정하지 않고 경우에 따라 최대 길이가 3 이상에서도 아이템세트생성모듈(220)은 수행될 수 있다.
컨셉규칙추출모듈(230)은 복수의 컨셉 트랜잭션 아이템 세트로부터 컨셉 간의 연관 규칙인 컨셉 규칙을 추출한다. 컨셉규칙추출모듈(230)은 다음의 소스 코드에 따라 컨셉 간의 연관 규칙을 생성할 수 있다. 이때, 소스 코드는 신뢰도(confidence)의 최소 임계치를 0.9로 설정한 것을 가정한다. 여기서 최소 임계치는 사용자 입력에 따라 변경 가능하다.
rule = ap.association_rules(frequent_itemsets, emtric=“confidence”, min_thershold=0.9)
이는 다음과 같은 연관분석식으로 표현할 수 있다.
Figure 112020002557498-pat00001
텍스트 C가 존재하는 아이템세트에 A도 같이 존재하는 비율을 의미한다. 이에 따라, 컨셉규칙추출모듈(230)은 이러한 비율, 즉, 신뢰도가 90% 이상인 아이템세트를 컨셉 규칙에 포함시킬 수 있다.
언어규칙추출모듈(240)은 컨셉 간의 연관 규칙인 컨셉 규칙으로부터 언어학적인 연관 규칙인 언어 규칙을 추출한다. 컨셉 간의 연관 규칙에서는 단어의 순서가 중요하지 않았으나, 언어학적인 연관 규칙에서는 단어의 순서가 중요하다. 이에 따라, 언어규칙추출모듈(240)은 규칙 연산자를 이용하여 최대 거리(max_instance), 최대 빈도수(min_frequency), 시작점 최대 거리(max_start) 및 끝점 최대 거리(max_end) 중 적어도 하나를 포함하는 조건을 설정하고, 복수의 컨셉 규칙 중 상기 설정된 조건에 부합하는 컨셉 규칙을 언어 규칙으로 추출한다. 예를 들어 최대 거리가 10이고, 최소 빈도수가 3이며, 시작점 최대 거리가 5이고, 끝점 최대 거리가 5인 경우, 언어규칙추출모듈(240)은 소스 코드를 하기와 같이 표현할 수 있다.
Linguistic_rule = ap.linguistic_association_rules(dataset, max_distance=10, min_frequency=3, max_start=5, max_end=5)
여기서 최대 거리는 컨셉 간의 거리의 관계성을 의미하고, 상세하게는 띄어쓰기를 기준으로 앞뒤 거리를 의미한다. 즉 최대 거리는 [컨셉1], [컨셉2], [컨셉3]에서 [컨셉1]을 기준으로 2이고, [컨셉1], [컨셉2], [컨셉3], [컨셉4]에서 [컨셉1]을 기준으로 3을 의미한다. 특히 언어학적인 측면에서 컨셉 간의 관계성을 파악하기 위해 가장 좋은 방법 중 하나가 거리의 관계성이므로, 언어규칙추출모듈(240)은 최대 거리를 통해 컨셉 간의 거리가 너무 떨어진 경우에서 발생되는 관계성의 오류를 방지하고, 컨셉 간의 관계성을 일정하게 유지할 수 있다. 바람직하게는 최대 거리는 텍스트 문서의 종류 또는 형식에 따라 조정될 수 있다.
최종규칙선택모듈(250)은 추출된 복수의 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 규칙저장부(500)에 저장한다.
다음으로, 본 발명의 실시예에 따른 텍스트분류부(300)의 구성에 대해서 상세하게 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 텍스트분류부의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 텍스트분류부(300)는 형태소분석모듈(310) 및 텍스트분류모듈(320)을 포함한다.
형태소분석모듈(310)은 수집부(100)로부터 텍스트가 입력되면 형태소 분석을 수행한다. 형태소분석모듈(310)은 텍스트에 포함된 형태소를 분석하여 품사 태크를 부여한다. 즉 형태소분석모듈(310)은 추후 분석과정에서 텍스트가 지니는 의미 중 가장 작은 단위인 형태소 단위로 분석을 하기 위한 전처리 과정을 수행한다. 여기서 형태소는 대명사, 일반 명사, 고유 명사, 의존 명사, 단위를 나타내는 명사, 수사, 동사, 형용사, 보조 용언, 긍정 지정사, 부정 지정사, 관형사, 일반 부사, 접속 부사, 감탄사, 주격 조사, 보격 조사, 관형격 조사, 목적격 조사, 부사격 조사, 호격 조사, 인용격 조사, 접속 조사 및 보조사 중 적어도 하나를 포함한다.
텍스트분류모듈(320)은 형태소 분석에 따라 컨셉 사전(400)의 컨셉과 규칙 저장부(500)에 저장된 규칙을 기초로 형태소 분석된 텍스트를 분류한다. 즉 텍스트분류모듈(320)은 텍스트가 어떤 컨셉으로 이루어진 문서이고, 어떤 규칙(패턴)을 가지고 있으며, 어떤 내용으로 작성되었는지 분류할 수 있다.
한편 도면에는 도시되지 않았지만 텍스트 분석 장치는 임의의 키워드가 포함된 사용자 입력이 입력되면 분류된 텍스트에서 해당 키워드와 관련된 내용을 검색하여 검색된 결과를 출력할 수 있다.
예를 들어, 사용자로부터 냉장고라는 키워드가 입력되면 텍스트 분석 장치는 분류된 텍스트 중 냉장고와 관련된 내용(예를 들어, 냉장고 제조회사, 냉장고 제조부품, 시판중인 냉장고 모델, 냉장고 모델별 특징(가격, 모양, 무게, 용량, 전력사용량 등))을 검색하고, 검색된 결과를 출력할 수 있다. 이때 텍스트 분석 장치는 결과를 일괄적으로 출력하거나, 챗봇을 이용한 대화방식의 출력을 지원할 수 있다.
다음으로, 본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 수집부(100)는 S110 단계에서 복수의 텍스트 문서를 수집한다. 수집부(100)는 사용자 입력을 통해 텍스트 문서를 수집하거나, 외부 장치와의 통신을 통해 텍스트 문서를 수집할 수 있다. 즉 수집부(100)는 키보드, 키패드, 마우스, 터치스크린 등과 같은 입력장치 및 유무선 통신을 지원하는 통신모듈을 포함할 수 있다.
규칙생성부(200)의 트랜잭션데이터생성모듈(210)은 S120 단계에서 수집부(100)로부터 복수의 텍스트 문서가 입력되면, 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전(400)의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성한다. 컨셉은 카테고리에 관련된 복수의 단어이며, 이에 따라, 컨셉사전(400)에 정의된 하나의 카테고리에 관련된 복수의 단어를 하나의 컨셉으로 취급한다.
규칙생성부(200)의 아이템세트생성모듈(220)은 S130 단계에서 복수의 트랙잭션 데이터로부터 기 설정된 기준 지지도에 따라 컨셉 트랜잭션 아이템 세트를 생성한다. 예컨대, 기 설정된 기준 지지도가 90%라고 했을 때, 즉, 아이템세트생성모듈(220)은 복수의 트랙잭션 데이터 중 지지도(support) 90%를 만족하는 트랙잭션 데이터 그룹을 컨셉 트랜잭션 아이템 세트로 생성한다.
다음으로, 규칙생성부(200)의 컨셉규칙추출모듈(230)은 S140 단계에서 컨셉 트랜잭션 아이템 세트로부터 기 설정된 기준 신뢰도에 따라 복수의 컨셉 규칙을 추출한다. 예컨대, 기 설정된 기준 신뢰도가 90%라고 했을 때, 즉, 아이템세트생성모듈(220)은 컨셉 트랜잭션 아이템 세트 내에서 신뢰도(confidence) 90%를 만족하는 컨셉 트랜잭션 아이템 세트를 컨셉 규칙으로 추출한다.
다음으로, 규칙생성부(200)의 언어규칙추출모듈(240)은 S150 단계에서 규칙 연산자를 이용하여 최대 거리, 최대 빈도수, 시작점 최대 거리 및 끝점 최대 거리 중 적어도 하나를 포함하는 조건을 설정하고, 복수의 컨셉 규칙 중 상기 설정된 조건에 부합하는 컨셉 규칙을 언어 규칙으로 추출한다.
규칙생성부(200)의 최종규칙선택모듈(250)이 S160 단계에서 상기 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 저장한다. 이에 따라, 최종적으로 규칙이 생성된다.
규칙이 생성된 후, 텍스트분류부(300)의 형태소분석모듈(310)은 S170 단계에서 텍스트가 입력되면 형태소 분석을 수행한다. 이어서, 텍스트분류부(300)의 텍스트분류모듈(320)은 S180 단계에서 상기 형태소 분석의 결과 및 컨셉 사전(400)의 컨셉과 생성된 규칙을 기초로 텍스트를 분류할 수 있다.
한편, 전술한 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100: 수집부
200: 규칙생성부
210: 트랜잭션데이터생성모듈
220: 아이템세트생성모듈
230: 컨셉규칙추출모듈
240: 언어규칙추출모듈
250: 최종규칙선택모듈
300: 텍스트분류부
310: 형태소분석모듈
320: 텍스트분류모듈
400: 컨셉사전
500: 규칙저장부

Claims (8)

  1. 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치에 있어서,
    복수의 텍스트 문서를 수집하는 수집부;
    상기 복수의 텍스트 문서로부터 컨셉사전에 저장된 컨셉을 기반으로 하여 규칙을 생성하는 규칙생성부; 및
    텍스트가 입력되면, 상기 컨셉 및 상기 규칙을 기초로 텍스트를 분류하는 텍스트분류부;를 포함하되,
    상기 규칙생성부는
    상기 수집부로부터 복수의 텍스트 문서가 입력되면, 상기 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성하는 트랜잭션데이터생성모듈;
    상기 복수의 트랙잭션 데이터로부터 기 설정된 기준 지지도에 따라 컨셉 트랜잭션 아이템 세트를 생성하되, 상기 아이템 세트의 생성된 항목에 대한 아이템 세트의 최대 집합을 이용하는 아이템세트생성모듈;
    상기 컨셉 트랜잭션 아이템 세트로부터 기 설정된 기준 신뢰도에 따라 복수의 컨셉 규칙을 추출하는 컨셉규칙추출모듈;
    상기 복수의 컨셉 규칙으로부터 언어학적인 연관 규칙인 언어 규칙을 추출하되, 규칙 연산자를 이용하여 최대 거리, 최대 빈도수, 시작점 최대 거리 및 끝점 최대 거리 중 적어도 하나를 포함하는 조건을 설정하고, 복수의 컨셉 규칙 중 상기 설정된 조건에 부합하는 컨셉 규칙을 언어 규칙으로 추출하는 언어규칙추출모듈; 및
    상기 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 선택된 규칙을 저장하는 최종규칙선택모듈;를 포함하는 것을 특징으로 하는
    컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 텍스트분류부는
    텍스트가 입력되면 형태소 분석을 수행하는 형태소분석모듈;
    상기 형태소 분석에 따라 상기 컨셉 사전의 컨셉과 상기 생성된 규칙을 기초로 상기 입력된 텍스트를 분류하는 텍스트분류모듈;을 포함하는 것을 특징으로 하는
    컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치.
  4. 제1항에 있어서,
    상기 컨셉은
    카테고리에 관련된 복수의 단어인 것을 특징으로 하는
    컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치.
  5. 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법에 있어서,
    수집부가 사용자 입력이나 외부 장치와의 통신을 통해 복수의 텍스트 문서를 수집하는 단계;
    규칙생성부가 상기 복수의 텍스트 문서로부터 컨셉사전에 저장된 컨셉을 기반으로 하여 규칙을 생성하는 단계; 및
    텍스트분류부가 텍스트가 입력되면, 상기 컨셉 및 상기 규칙을 기초로 텍스트를 분류하는 단계;를 포함하되,
    상기 규칙을 생성하는 단계는
    트랜잭션데이터생성모듈이 상기 수집부로부터 복수의 텍스트 문서가 입력되면, 상기 텍스트 문서에 포함된 복수의 텍스트로부터 컨셉사전의 컨셉을 기초로 컨셉 기반의 복수의 트랙잭션 데이터를 생성하는 단계;
    아이템세트생성모듈이 상기 복수의 트랙잭션 데이터로부터 기 설정된 기준 지지도에 따라 컨셉 트랜잭션 아이템 세트를 생성하되, 상기 아이템 세트의 생성된 항목에 대한 아이템 세트의 최대 집합을 이용하는 단계;
    컨셉규칙추출모듈이 상기 컨셉 트랜잭션 아이템 세트로부터 기 설정된 기준 신뢰도에 따라 복수의 컨셉 규칙을 추출하는 단계;
    언어규칙추출모듈이 상기 복수의 컨셉 규칙으로부터 언어학적인 연관 규칙인 언어 규칙을 추출하되, 규칙 연산자를 이용하여 최대 거리, 최대 빈도수, 시작점 최대 거리 및 끝점 최대 거리 중 적어도 하나를 포함하는 조건을 설정하고, 복수의 컨셉 규칙 중 상기 설정된 조건에 부합하는 컨셉 규칙을 언어 규칙으로 추출하는 단계; 및
    최종규칙선택모듈이 상기 추출된 언어 규칙 중 적어도 하나를 최종적으로 규칙으로 선택하여 저장하는 단계;를 포함하는
    는 것을 특징으로 하는
    컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법.
  6. 삭제
  7. 제5항에 있어서,
    상기 텍스트를 분류하는 단계는
    형태소분석모듈이 상기 수집부로부터 텍스트가 입력되면 상기 텍스트에 포함된 형태소 분석을 수행하는 단계; 및
    텍스트분류모듈이 상기 형태소 분석의 결과 및 상기 컨셉 사전의 컨셉과 상기 생성된 규칙을 기초로 상기 텍스트가 어떤 컨셉으로 이루어진 문서이고, 어떤 규칙을 가지고 있으며, 어떤 내용으로 작성되었는지를 분류하는 단계;를 포함하는 것을 특징으로 하는
    컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법.
  8. 제5항에 있어서,
    상기 컨셉은
    상기 컨셉사전에 정의된 카테고리에 관련된 복수의 단어인 것을 특징으로 하는
    컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 방법.
KR1020200003188A 2020-01-09 2020-01-09 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법 KR102505821B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200003188A KR102505821B1 (ko) 2020-01-09 2020-01-09 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200003188A KR102505821B1 (ko) 2020-01-09 2020-01-09 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210089962A KR20210089962A (ko) 2021-07-19
KR102505821B1 true KR102505821B1 (ko) 2023-03-06

Family

ID=77125814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003188A KR102505821B1 (ko) 2020-01-09 2020-01-09 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102505821B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589621B1 (ko) * 2015-02-23 2016-01-28 주식회사 와이즈넛 텍스트 분석 및 응답 시스템을 위한 어휘의미패턴의 사전 구축 방법
KR101681109B1 (ko) 2015-10-01 2016-11-30 한국외국어대학교 연구산학협력단 대표 색인어와 유사도를 이용한 문서 자동 분류 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110057421A (ko) * 2009-11-24 2011-06-01 한국전자통신연구원 단일 클래스 범주의 문서 분류 장치 및 방법
KR101444832B1 (ko) * 2010-08-09 2014-09-30 충북대학교 산학협력단 연관 규칙 마이닝을 이용한 주제어 기반 인터넷 정보 검색 방법
KR101179613B1 (ko) * 2010-10-14 2012-09-04 재단법인 한국특허정보원 빈발항목과 연관규칙을 이용한 특허문서 자동분류 방법
KR102015218B1 (ko) 2018-04-16 2019-10-21 한양대학교 산학협력단 기계 학습을 이용한 텍스트 분류 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589621B1 (ko) * 2015-02-23 2016-01-28 주식회사 와이즈넛 텍스트 분석 및 응답 시스템을 위한 어휘의미패턴의 사전 구축 방법
KR101681109B1 (ko) 2015-10-01 2016-11-30 한국외국어대학교 연구산학협력단 대표 색인어와 유사도를 이용한 문서 자동 분류 방법

Also Published As

Publication number Publication date
KR20210089962A (ko) 2021-07-19

Similar Documents

Publication Publication Date Title
Mishra et al. A survey on question answering systems with classification
US20220382752A1 (en) Mapping Natural Language To Queries Using A Query Grammar
CN106844658B (zh) 一种中文文本知识图谱自动构建方法及系统
Xia et al. Dual sentiment analysis: Considering two sides of one review
Andhale et al. An overview of text summarization techniques
CN109858028B (zh) 一种基于概率模型的短文本相似度计算方法
EP3534272A1 (en) Natural language question answering systems
US20180060306A1 (en) Extracting facts from natural language texts
RU2686000C1 (ru) Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки
US20080052262A1 (en) Method for personalized named entity recognition
US20160140123A1 (en) Generating a query statement based on unstructured input
US20130060769A1 (en) System and method for identifying social media interactions
KR20160121382A (ko) 텍스트 마이닝 시스템 및 툴
US20180081861A1 (en) Smart document building using natural language processing
Saju et al. A survey on efficient extraction of named entities from new domains using big data analytics
US11227183B1 (en) Section segmentation based information retrieval with entity expansion
CN115563313A (zh) 基于知识图谱的文献书籍语义检索系统
Demirci Emotion analysis on Turkish tweets
RESHADAT et al. A hybrid method for open information extraction based on shallow and deep linguistic analysis
Makrynioti et al. PaloPro: a platform for knowledge extraction from big social data and the news
Fudholi et al. Ontology-based information extraction for knowledge enrichment and validation
CN111046168A (zh) 用于生成专利概述信息的方法、装置、电子设备和介质
KR102505821B1 (ko) 컨셉 사전을 기반으로 생성된 규칙을 이용한 텍스트 분석 장치 및 방법
KR101238927B1 (ko) 전자도서컨텐츠 검색 서비스 시스템 및 전자도서컨텐츠 검색 서비스 방법
Zhu et al. A N-gram based approach to auto-extracting topics from research articles1

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