KR101860472B1 - Apparatus and method of generation and classification for text classifier based on open directory project - Google Patents
Apparatus and method of generation and classification for text classifier based on open directory project Download PDFInfo
- Publication number
- KR101860472B1 KR101860472B1 KR1020160062645A KR20160062645A KR101860472B1 KR 101860472 B1 KR101860472 B1 KR 101860472B1 KR 1020160062645 A KR1020160062645 A KR 1020160062645A KR 20160062645 A KR20160062645 A KR 20160062645A KR 101860472 B1 KR101860472 B1 KR 101860472B1
- Authority
- KR
- South Korea
- Prior art keywords
- phrase
- category
- score
- word
- text
- Prior art date
Links
Images
Classifications
-
- G06F17/30598—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G06F17/2247—
-
- G06F17/30327—
-
- G06F17/30734—
-
- 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
- G06F40/14—Tree-structured documents
Abstract
본 발명은 텍스트 분류 프로그램이 저장된 메모리 및 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 분류 대상 텍스트로부터 단어를 추출하고, 추출된 단어로부터 분류 대상 텍스트의 어구를 추출하며, 추출된 단어, 추출된 어구 및 텍스트 분류 모델에 기초하여, 분류 대상 텍스트에 대응하는 카테고리를 분류한다. 그리고 텍스트 분류 모델은 오픈 디렉터리 프로젝트에 기초하여 생성된다.The present invention includes a processor for executing a program and a memory in which a text classification program is stored. At this time, according to the execution of the program, the processor extracts a word from the classification target text, extracts a phrase of the classification target text from the extracted word, and based on the extracted word, the extracted word and the text classification model, The category corresponding to the category is classified. And a text classification model is generated based on an open directory project.
Description
본 발명은 오픈 디렉터리 프로젝트 기반의 텍스트 분류기, 및 텍스트 분류기의 생성 및 분류 방법에 관한 것이다.The present invention relates to a text classifier based on an open directory project, and a method for generating and classifying a text classifier.
오픈 디렉터리 프로젝트(open directory project)는 일종의 웹 상의 텍스트 데이터베이스이다. 오픈 디렉터리 프로젝트는 웹 상의 390만 개 이상의 웹 문서 등의 텍스트를 계층적 온톨로지(hierarchical ontology)를 이용하여 카테고리(category)로 세분화하고, 트리(tree) 자료 구조(data structure)를 이용하여 분류한 것이다. The open directory project is a kind of text database on the web. The Open Directory project has classified texts, such as more than 3.9 million Web documents on the Web, into categories using hierarchical ontology and classifying them using a tree data structure .
오픈 디렉터리 프로젝트의 카테고리에 기반하여 신규 텍스트의 카테고리를 분류하기 위한 종래기술은 나이브 베이즈(Naive Bays), k-근접 이웃 방법(k-Nearest Neighbor), 서포트 벡터 머신(Support Vector Machine) 등 기계 학습 알고리즘(machine learning algorithm) 기반 기존 텍스트 분류(text classification) 기법을 활용하는 것이다. 그러나 이러한 종래 기술을 이용하는 경우, 오픈 디렉터리 프로젝트의 카테고리가 증가함에 따라, 텍스트 분류기를 생성할 때 목표(target)가 되는 카테고리에 포함된 학습 데이터가 부족하고, 이 학습 데이터를 이용하여 학습된 텍스트 분류기의 분류 정확도가 낮아진다는 문제점이 있다.Conventional techniques for classifying categories of new text based on categories of Open Directory projects include machine learning such as Naive Bays, k-Nearest Neighbor, Support Vector Machine, And utilize existing text classification techniques based on an algorithm (machine learning algorithm). However, in the case of using this conventional technology, as the category of the open directory project increases, the learning data contained in the category that becomes the target becomes insufficient when the text classifier is created, There is a problem that the classification accuracy of the second embodiment is lowered.
이와 관련되어, 한국 등록특허공보 제10-1580152호(발명의 명칭: "조상 후손 카테고리를 활용한 오픈 디렉터리 프로젝트 기반 텍스트 분류 방법 및 장치")는 오픈 디렉토리 프로젝트에 포함된 오픈 디렉터리 프로젝트에 포함된 부모 및 자손 데이터뿐만 아니라 조상 및 후손 데이터를 이용하여 신규 텍스트의 카테고리를 분류하는 방법 및 장치를 개시하고 있다. In this connection, Korean Patent Registration No. 10-1580152 entitled " Open Directory Project-Based Text Classification Method and Apparatus Utilizing Ancestral Descendant Categories " And a method and apparatus for classifying categories of new text using ancestor and descendant data as well as descendant data.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 단어 및 어구를 이용하여, 텍스트의 카테고리를 분류하는 오픈 디렉터리 프로젝트 기반의 텍스트 분류기 및 텍스트 분류기의 생성 및 분류 방법을 제공한다. SUMMARY OF THE INVENTION The present invention provides a method of generating and classifying a text classifier and a text classifier based on an open directory project for classifying text categories using words and phrases.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 오픈 디렉터리 프로젝트 기반의 텍스트 분류기는 텍스트 분류 프로그램이 저장된 메모리 및 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 분류 대상 텍스트로부터 단어를 추출하고, 추출된 단어로부터 분류 대상 텍스트의 어구를 추출하며, 추출된 단어, 추출된 어구 및 텍스트 분류 모델에 기초하여, 분류 대상 텍스트에 대응하는 카테고리를 분류한다. 그리고 텍스트 분류 모델은 오픈 디렉터리 프로젝트에 기초하여 생성된다.As a technical means for achieving the above technical object, an open directory project based text classifier according to the first aspect of the present invention includes a processor for executing a program and a memory in which a text classification program is stored. At this time, according to the execution of the program, the processor extracts a word from the classification target text, extracts a phrase of the classification target text from the extracted word, and based on the extracted word, the extracted word and the text classification model, The category corresponding to the category is classified. And a text classification model is generated based on an open directory project.
또한, 본 발명의 제 2 측면에 따른 오픈 디렉터리 프로젝트 기반의 텍스트 분류기의 텍스트 분류 방법은 분류 대상 텍스트로부터 단어를 추출하는 단계; 추출된 단어로부터 분류 대상 텍스트에 대응하는 어구를 추출하는 단계; 및 추출된 단어, 추출된 어구 및 텍스트 분류 모델에 기초하여, 분류 대상 텍스트에 대응하는 카테고리를 분류하는 단계를 포함한다. 이때, 텍스트 분류 모델은 오픈 디렉터리 프로젝트에 기초하여 생성된다. According to a second aspect of the present invention, there is provided a method of classifying text in an open directory project based text classifier, comprising: extracting words from a text to be classified; Extracting a word corresponding to the classification target text from the extracted word; And classifying the category corresponding to the classification target text based on the extracted word, the extracted phrase and the text classification model. At this time, the text classification model is generated based on the open directory project.
그리고 본 발명의 제 3 측면에 따른 오픈 디렉터리 프로젝트 기반의 텍스트 분류기의 텍스트 분류 모델 생성 방법은 오픈 디렉터리 프로젝트의 각 카테고리로부터 단어를 추출하는 단계; 추출된 단어에 기초하여, 상기 각 카테고리로부터 어구를 추출하는 단계; 추출된 단어 및 상기 추출된 어구에 기초하여, 각 카테고리에 대응하는 단어 및 어구 빈도 벡터를 생성하는 단계; 및 각 카테고리에 대응하는 단어 및 어구 빈도 벡터에 기초하여, 텍스트 분류 모델을 생성하는 단계를 포함한다. 이때, 각 카테고리에 대응하는 단어 및 어구는 각 카테고리에 저장된 문서 집합으로부터 추출된다.According to a third aspect of the present invention, there is provided a method of generating a text classification model of an open directory project based text classifier, comprising: extracting words from each category of an open directory project; Extracting a phrase from each of the categories based on the extracted word; Generating a word and a phrase frequency vector corresponding to each category based on the extracted word and the extracted phrase; And generating a text classification model based on the word and phrase frequency vectors corresponding to each category. At this time, words and phrases corresponding to each category are extracted from the document set stored in each category.
본 발명은 오픈 디렉터리 프로젝트의 각 카테고리 문서로부터 추출된 단어 및 어구에 기초하여, 텍스트 분류기를 생성한다. 그러므로 본 발명은 기존 단어만으로 텍스트 분류기를 학습할 때 보다 분류 정확도가 향상될 수 있다.The present invention creates a text classifier based on words and phrases extracted from each category document of an open directory project. Therefore, the present invention can improve classification accuracy compared to learning a text classifier using only existing words.
도 1은 오픈 디렉터리 프로젝트의 구조에 대한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 텍스트 분류기의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 텍스트 분류기의 텍스트 분류 모델의 생성 과정에 대한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 어구 추출의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 텍스트 분류기의 텍스트 분류 모듈의 블록도이다.
도 6은 본 발명의 일 실시예에 따른 텍스트 분류기의 텍스트 분류 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 텍스트 분류기의 텍스트 분류 모델 생성 방법의 순서도이다. Figure 1 is an exemplary diagram of the structure of an Open Directory project.
2 is a block diagram of a text classifier according to an embodiment of the present invention.
3 is a block diagram illustrating a process of generating a text classification model of a text classifier according to an exemplary embodiment of the present invention.
FIG. 4 is an illustration of a phrase extraction according to an embodiment of the present invention. FIG.
5 is a block diagram of a text classifier module of a text classifier according to an embodiment of the present invention.
6 is a flowchart of a text classification method of a text classifier according to an embodiment of the present invention.
7 is a flowchart of a method of generating a text classification model of a text classifier according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when a part is referred to as "including " an element, it does not exclude other elements unless specifically stated otherwise.
다음은 도 1을 참조하여, 오픈 디렉터리 프로젝트를 설명한다.The following describes an open directory project with reference to FIG.
도 1은 오픈 디렉터리 프로젝트의 구조에 대한 예시도이다.Figure 1 is an exemplary diagram of the structure of an Open Directory project.
오픈 디렉터리 프로젝트는 카테고리를 노드(node)로 가지는 트리 구조로 표현될 수 있다. 트리 구조는 그래프(graph) 구조의 일종으로 순환 구조가 없고, 서로 다른 두 노드를 잇는 길이 하나뿐인 자료 구조이다.An open directory project can be represented as a tree structure with categories as nodes. Tree structure is a kind of graph structure. There is no circulation structure, and there is only one data structure connecting two different nodes.
하나 이상의 노드를 포함하는 트리 구조는 하나의 최상위 노드와 하나 이상의 최하위 노드를 가질 수 있다. 최상위 노드는 루트 노드(root node)라고도 하며, 최하위 노드는 리프 노드(leaf node)라고 한다. 도 1에서 최상위 노드는 카테고리 C1이 되고, 최하위 노드는 C4, C5, C6 및 C7이다.A tree structure containing one or more nodes may have one top node and one or more bottom nodes. The top node is also called the root node, and the bottom node is called the leaf node. In FIG. 1, the top node is the category C 1 , and the bottom node is C 4 , C 5 , C 6, and C 7 .
트리 구조에서 임의 노드의 부모 노드(parent node)는 임의 노드와 상위에 연결된 노드를 의미한다. 만약, 임의 노드가 최상위 노드인 경우에는 부모 노드가 없을 수 있다. 최상위 노드가 아닌 임의 노드는 하나의 부모 노드를 가진다. 자식 노드(child node)는 임의 노드와 하위에 연결된 노드를 의미한다. 만약, 임의 노드가 최하위 노드인 경우에는 자식 노드가 없을 수 있다. 최하위 노드가 아닌 임의 노드는 하나 이상의 자식 노드를 가진다. 예를 들어, 도1의 카테고리 C2의 부모 노드는 카테고리 C1이며, 자식 노드는 카테고리 C4와 카테고리 C5이다.In a tree structure, a parent node of an arbitrary node means an arbitrary node and a node connected to an upper node. If an arbitrary node is a top node, there may be no parent node. An arbitrary node that is not a top node has one parent node. A child node means an arbitrary node and a node connected to the child node. If an arbitrary node is the lowest node, there may be no child node. An arbitrary node that is not the lowest node has one or more child nodes. For example, the parent node of category C 2 in FIG. 1 is category C 1 , and the child nodes are category C 4 and category C 5 .
다음은 도 2 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 오픈 디렉터리 프로젝트(200) 기반 텍스트 분류기(100)를 설명한다.2 to 5, an
도 2는 본 발명의 일 실시예에 따른 텍스트 분류기(100)의 블록도이다.2 is a block diagram of a
오픈 디렉터리 프로젝트(200) 기반 텍스트 분류기(100)는 기생성된 분류 모델에 기초하여, 분류 대상 텍스트의 오픈 디렉터리 프로젝트(200) 상의 카테고리를 분류한다. 이때, 텍스트 분류기(100)는 메모리 및 프로세서(120)를 포함한다.The open directory project 200-based
메모리(110)는 텍스트 분류 프로그램이 저장된다. 이때, 메모리(110)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.The
프로세서(120)는 텍스트 분류 프로그램의 실행에 따라, 분류 대상 텍스트로 단어 및 어구를 추출한다. 그리고 프로세서(120)는 추출된 단어 및 어구와 미리 생성된 텍스트 분류 모델(250)에 기초하여, 분류 대상 텍스트에 대응하는 카테고리를 분류한다. 이때, 텍스트 분류 모델(250)은 프로세서(120)가 오픈 디렉터리 프로젝트(200)에 기초하여 미리 생성된 것이다.The
이때, 프로세서(120)는 오프라인 작업 및 온라인 작업으로 구분하여 수행할 수 있다. 이때, 오프라인 작업은 프로세서(120)가 텍스트 분류 모델(250)을 생성하는 것을 의미할 수 있다. 또한, 온라인 작업은 프로세서(120)가 오프라인 작업을 통하여, 생성된 텍스트 분류 모델(250)에 기초하여, 신규 텍스트의 카테고리를 분류하는 것을 의미할 수 있다.At this time, the
텍스트 분류 모델(250) 생성 과정은 도 3을 참조하여 자세히 설명한다.The process of generating the
도 3은 본 발명의 일 실시예에 따른 텍스트 분류기(100)의 텍스트 분류 모델(250)의 생성 과정에 대한 블록도이다.3 is a block diagram of a process of generating a
프로세서(120)는 텍스트 분류 프로그램에 포함된 텍스트 분류 모델(250) 생성 모듈(220)을 실행하여, 오픈 디렉터리 프로젝트(200)의 기 분류된 카테고리에 포함된 웹 페이지(210)를 이용하여 텍스트 분류 모델(250)을 생성할 수 있다. 이때, 텍스트 분류 모델(250) 생성 모듈(220)은 단어 추출 모듈(221), 어구 추출 모듈(222), 어구 선택 모듈(223) 및 분류 모델링 모듈(224)을 포함할 수 있다.The
이때, 도 3은 오픈 디렉터리 프로젝트(200)에 웹 페이지(210)를 이용하여, 텍스트 분류 모델(250)을 생성하는 것으로 도시되어 있다. 그러나 텍스트 분류 모델은 오픈 디렉터리 프로젝트(200)에 포함된 웹 페이지(210)뿐만 아니라 뉴스 기사, 논문 및 서적과 같은 모든 종류의 텍스트 및 문서를 포함할 수 있다.3 illustrates the creation of the
구체적으로 프로세서(120)는 오픈 디렉터리 프로젝트(200)에 포함된 복수의 카테고리 중 분류 모델링을 위한 하나의 카테고리를 선택할 수 있다. 그리고 프로세서(120)는 단어 추출 모듈(221)을 통하여, 선택된 카테고리에 속한 웹 페이지(210)에 대하여, 단어를 추출할 수 있다.Specifically, the
이때, 프로세서(120)는 형태소 분석기(260)(morphological analyzer)를 이용하여 문서로부터 단어를 추출할 수 있다. 즉, 프로세서(120)는 문장을 형태소 분석기(260)로 전송할 수 있다. 그리고 형태소 분석기(260)를 통하여, 문장으로부터 단어가 추출되면, 프로세서(120)는 추출된 단어를 다시 단어 추출 모듈(221)을 통하여, 단어 집합(230)으로 생성할 수 있다.At this time, the
또한, 추출된 단어의 집합은 백-오브-워드(bag-of-words) 자료구조(data structure)로 저장될 수 있다. 백-오브-워드는 특정 원소 및 원소의 개수를 저장할 수 있는 자료구조이다. 그러므로 프로세서(120)는 백-오브 워드 자료구조를 통하여, 특정 텍스트에 포함된 단어를 단어와 해당 단어의 개수로 저장할 수 있다.In addition, the set of extracted words can be stored as a bag-of-words data structure. A back-of-word is a data structure that can store the number of specific elements and elements. Therefore, the
프로세서(120)는 어구 추출 모듈(222)을 이용하여, 문장에 대하여 어구를 추출할 수 있다. 이때, 프로세서(120)는 단어 추출 모듈(221)을 통하여 추출된 단어 및 형태소 분석기(260)를 사용할 수 있다.The
도 4는 본 발명의 일 실시예에 따른 어구 추출의 예시도이다.FIG. 4 is an illustration of a phrase extraction according to an embodiment of the present invention. FIG.
프로세서(120)는 형태소 분석기(260)를 이용하여, 특정 문장(300)에 대한 구문 분석을 수행할 수 있다(S300). 이때, 구문 분석은 문장의 문법을 분석하여, 문장을 파싱(parsing)하고 트리(tree) 구조로 변환하는 것이다. The
도 4를 참조하면, 프로세서(120)는 문장(S)에 대한 구문 분석을 수행하여, 구문 트리를 생성할 수 있다. 이때, 구문 트리는 문법에 따라, 명사구(NP), 동사구(VP), 전치사구(PP), 명사(NNP), 동사(VB) 및 한정사(DT) 등을 포함할 수 있다.Referring to FIG. 4, the
이때, 명사구, 동사구 및 전치사구와 같은 어구는 다른 형태소로 분리될 수 있다. 그러므로 구문 트리에서 명사구, 동사구 및 전치사 구는 비단말 노드(non-terminal node)가 될 수 있다. 또한, 단일 명사, 동사 및 한정사와 같은 단어는 다른 형태소로 분리될 수 없다. 그러므로 구문 트리에서 단일 명사, 동사 및 한정사는 단말 노드(terminal node)가 될 수 있다.At this time, phrases such as noun phrases, verbal phrases and prepositional phrases can be separated into other morphemes. Thus, in a syntax tree, noun phrases, verb phrases and prepositional phrases can be non-terminal nodes. In addition, words such as single nouns, verbs, and quantifiers can not be separated into other morphemes. Thus, in a syntax tree, a single noun, verb, and qualifier can be terminal nodes.
프로세서(120)는 문장의 구문 트리를 생성한 이후, 어구 추출 모듈(222)을 통해, 구문으로부터 후보 어구를 추출할 수 있다(S310). 예를 들어, 프로세서(120)는 구문 트리에 포함된 명사구, 동사구 및 전치사 구를 후보 어구를 추출할 수 있다. 즉, 프로세서(120)는 도 4의 구문 트리로부터 "Steve Jobs", "Helped create a Silicon Valley", " create a Silicon Valley" 및 "a Silicon Valley"을 후보 어구로 추출할 수 있다.After generating the phrase tree of the sentence, the
그리고 프로세서(120)는 어구 선택 모듈(223)을 통하여, 휴리스틱 규칙에 기초하여, 후보 어구 중 어구를 선택할 수 있다. 이때, 휴리스틱 규칙은 복수의 단어 중 스탑워드(stopword) 및 특정 품사의 단어를 제거하는 규칙, 후보 어구에 포함된 단어에 대한 스태밍(stemming)을 적용하는 규칙 및 후보 어구가 미리 정해진 개서의 단어 이상의 서로 상이한 단어를 포함하는 규칙 중 어느 하나 이상이 될 수 있다. 이때, 미리 정해진 개수는 4가 될 수 있다.Then, the
예를 들어, 특정 품사는 한정사, 전치사, 소유격 어미 및 종속 접속사를 포함할 수 있다. 또한, 스탑워드는 "a", "an" 및 "the"과 같은 관사 또는 "is", "at" 및 "which"와 같이 문장에 자주 발생할 수 있는 단어가 될 수 있으나, 이에 한정된 것은 아니다. 스태밍은 문장에서 추출된 단어에 포함된 접사 등을 제거하여, 어간을 추출하는 것이다. 예를 들어, "cats", "catlike" 및 "catty"에 대하여, 프로세서(120)는 어간인 "cat"을 추출할 수 있다.For example, a particular part of speech can include qualifiers, prepositions, possessive endings, and dependent conjunctions. In addition, the stop word may be a word such as "a", "an" and "the", or a word frequently occurring in a sentence such as "is", "at" and "which". Stamming is the extraction of the stem by removing the affix or the like contained in the word extracted from the sentence. For example, for "cats", "catlike" and "catty", the
다시 도 4를 참조하면, 프로세서(120)는 문서로부터 "Steve Jobs", "a Silicon valley" 및 "mercurial visionary"를 추출할 수 있다. 그리고 프로세서(120)는 어구 집합(240)에 어구 선택 모듈(223)을 통하여, 선택된 어구를 저장할 수 있다.Referring again to FIG. 4, the
또한, 프로세서(120)는 어구 선택 모듈(223)을 통하여, 어구 집합(240)에 저장된 어구 중 텍스트 분류 모델(250)의 성능을 개선할 수 있는 미리 정해진 개수의 어구를 선택할 수 있다.The
예를 들어, 프로세서(120)는 어구 집합(240)에 포함된 복수에 어구에 대한 카이 점수(chi-score)를 산출할 수 있다. 그리고 프로세서(120)는 산출된 카이 점수가 높은 어구를 선택할 수 있다. 이때, 카이 점수는 수학식 1 및 수학식 2를 통하여, 산출할 수 있다.For example, the
수학식 1은 해당 어구(p)와 오픈 디렉터리 프로젝트(200)의 특정 카테고리(c i )의 카이 점수를 산출하는 식이다. 이때, 수학식 1에서 A는 특정 카테고리에 포함되며, 해당 어구를 포함하는 문서의 개수이다. B는 특정 카테고리에 포함되지 않으며, 해당 어구를 포함하는 문서의 개수이다. 그리고 C는 특정 카테고리에 포함되며, 해당 어구를 포함하지 않는 문서의 개수이고, D는 특정 카테고리에 포함되지 않으며, 해당 어구를 포함하지 않은 문서의 개수이다. N은 오픈 디렉터리 프로젝트(200)에 포함된 문서 개수의 총합이다.Equation (1) is an expression for calculating a Kai score of a specific category ( c i ) of the phrase ( p ) and the open directory project (200). At this time, A in Equation (1) is included in a specific category and is the number of documents including the corresponding phrase. B is not included in a specific category, and is the number of documents including the phrase. And C is the number of documents included in a specific category and not including the corresponding phrase, and D is the number of documents not included in the specific category and not including the corresponding phrase. N is the sum of the number of documents included in the open directory project (200).
또한, 수학식 2는 오픈 디렉터리 프로젝트(200)의 모든 카테고리에 대하여 산출된 카이 점수 중 가장 높은 값을 가지는 카테고리의 카이 점수를 해당 어구의 카이 점수로 산출하는 식이다. 그러므로 프로세서(120)는 수학식 2에 기초하여, 어구 집합(240)에 포함된 어구의 카이 점수를 산출할 수 있다. 그리고 프로세서(120)는 어구의 점수를 산출한 다음 전체 어구 집합(240)에서 미리 정해진 개수의 어구를 선택할 수 있다.Equation (2) is a formula for calculating the Kai score of the category having the highest value among the Kai scores calculated for all categories of the
한편, 프로세서(120)는 텍스트 분류기 생성 모듈(220)의 분류 모델링 모듈(224)을 통해, 각 카테고리에서 추출된 단어 집합(230) 및 어구 집합(240)을 이용하여, 단어 및 어구 발생 빈도 벡터를 생성할 수 있다. 예를 들어, 오픈 디렉터리 프로젝트(200)에서 추출된 단어가 w 1, w 2 및 w 3이고, 추출된 어구가 p 1 및 p 2이라면, 프로세서(120)는 "<w 1 개수, w 2 개수, w 3 개수, p 1 개수, p 2 개수>" 형태로 단어 및 어구 발생 빈도 벡터를 생성할 수 있다. 만약 임의의 카테고리에 w 1가 2개, w 3가 3개, p 1이 1개가 추출되었다면, 단어 및 어구 발생 빈도 벡터는 "<2, 0, 3, 1, 0>"이 될 수 있다.The
프로세서(120)는 각 카테고리로부터 추출된 단어 및 어구 발생 빈도 벡터를 학습 데이터(train data)로 이용하여, 오픈 디렉터리 프로젝트(200) 기반 텍스트 분류 모델(250)을 생성할 수 있다. 이때, 프로세서(120)는 나이브 베이즈(Naive Bayes), K-근접이웃(k Nearest Neighbor), 서포트 벡터 머신(Support Vector Machine), 센트로이드 분류 장치(centroid classifier) 등의 기계학습(machine learning) 기반의 분류 알고리즘(classification algorithm)을 이용하여 텍스트 분류 모델(250)를 생성할 수 있으나, 이에 한정되지 않는다. The
프로세서(120)는 도 5와 같이, 텍스트 분류 모델(250)이 생성되면, 생성된 텍스트 분류 모델(250)을 이용하여, 신규 문서 또는 신규 텍스트의 카테고리를 분류할 수 있다.5, when the
도 5는 본 발명의 일 실시예에 따른 텍스트 분류기(100)의 텍스트 분류 모듈 (410)의 블록도이다.5 is a block diagram of a
구체적으로 프로세서(120)는 신규 텍스트가 입력되면, 단어 추출 모듈(411)을 통하여, 단어를 추출할 수 있다. 그리고 프로세서(120)는 어구 추출 모듈(412)을 통하여, 신규 텍스트로부터 추출된 단어로부터 어구를 추출할 수 있다. 이때, 단어 추출 모듈(411) 및 단어 및 어구 추출 모듈(412)의 어구 추출 과정은 앞에서 텍스트 분류기 생성 모듈(220)에서의 단어 및 어구 추출 과정과 동일할 수 있다. 단, 프로세서(120)는 신규 텍스트에 대한 형태소 분석 없이 구문 분석만을 통하여, 어구를 추출할 수 있다. Specifically, when the new text is inputted, the
즉, 프로세서(120)는 신규 텍스트에 포함된 화이트 스페이스를 이용한 구문 분석을 수행하여, 복수의 토큰(token)을 추출할 수 있다. 그리고 프로세서(120)는 복수의 토큰을 이용한 단어열을 생성할 수 있다. 프로세서(120)는 생성된 단어열 중 텍스트 분류 모델(250)의 어구 집합(240)에 포함된 단어열을 어구로 추출할 수 있다. That is, the
프로세서(120)는 벡터 생성 모듈(413)을 통하여, 신규 텍스트로부터 추출된 단어 및 어구를 이용하여, 단어 및 어구 발생 빈도 벡터를 생성할 수 있다. 이를 위하여, 프로세서(120)는 신규 텍스트로부터 추출된 단어에 대하여, 앞에서 설명한 휴리스틱 규칙에 기초하여, n개를 선택하여 조합할 수 있다. 그리고 프로세서(120)는 조합된 단어열을 신규 텍스트의 후보 어구로 사용할 수 있다.
예를 들어, n이 3이고, 신규 텍스트로부터 3개의 단어 "steve", "jobs" 및 "helped"를 추출하였다면, 프로세서(120)는 추출된 단어를 통하여, "steve jobs", "jobs helped", "steve jobs helped"를 후보 어구를 추출할 수 있다. For example, if n is 3 and three words "steve", "jobs", and "helped" are extracted from the new text, the
프로세서(120)는 이렇게 추출된 단어 및 어구를 이용하여, 단어 및 어구 발생 빈도 벡터를 생성할 수 있다. 그리고 프로세서(120)는 분류 모듈(414)을 통하여, 생성된 단어 및 어구 발생 빈도 벡터에 대하여, 텍스트 분류 모델(250)을 적용하여 신규 텍스트의 카테고리를 분류할 수 있다. The
이때, 프로세서(120)는 분류 모듈(414)을 통하여, 텍스트 분류 모델(250)에 저장된 각 카테고리의 단어 및 어구 발생 빈도 벡터와 신규 텍스트를 통하여, 추출된 단어 및 어구 발생 빈도 벡터의 유사도를 산출할 수 있다. 예를 들어, 유사도는 자카드 계수(jaccard coefficient), 스피어만 상관계수(Spearman’s correlation coefficient), 유클리드 거리(Euclidean distance), 코사인(cosine) 유사도 등이 될 수 있으며, 이에 한정된 것은 아니다.At this time, the
프로세서(120)는 각 카테고리의 단어 및 어구 발생 빈도 벡터와의 유사도를 산출한 이후, 유사도가 가장 큰 카테고리 및 해당 카테고리의 유사도를 신규 텍스트의 카테고리 및 점수를 분류 결과(420)으로 산출할 수 있다.After calculating the degree of similarity between the word and the occurrence frequency vector of each category, the
다음은 도 6을 참조하여, 본 발명의 일 실시예에 따른 오픈 디렉터리 프로젝트(200) 기반의 텍스트 분류기(100)의 텍스트 분류 방법을 설명한다.Next, a text classification method of the
도 6은 본 발명의 일 실시예에 따른 텍스트 분류기(100)의 텍스트 분류 방법의 순서도이다.6 is a flowchart of a text classification method of the
텍스트 분류기(100)는 분류 대상 텍스트로부터 단어를 추출한다(S500).The
텍스트 분류기(100)는 단어를 추출한 이후, 추출된 단어로부터 분류 대상 텍스트에 대응하는 어구를 추출한다(S510).After extracting the words, the
텍스트 분류기(100)는 추출된 단어, 추출된 어구 및 텍스트 분류 모델(250)에 기초하여, 분류 대상 텍스트에 대응하는 카테고리를 분류한다. 이때, 텍스트 분류기(100)는 텍스트 분류 모델(250)은 오픈 디렉터리 프로젝트(200)에 기초하여 생성된 것이다.The
다음은 도 7을 참조하여, 본 발명의 일 실시예에 따른 오픈 디렉터리 프로젝트(200) 기반의 텍스트 분류기(100)의 텍스트 분류 모델(250) 생성 방법을 설명한다.Next, a method of generating the
도 7은 본 발명의 일 실시예에 따른 텍스트 분류기(100)의 텍스트 분류 모델(250) 생성 방법의 순서도이다.7 is a flowchart of a method of generating a
텍스트 분류기(100)는 오픈 디렉터리 프로젝트(200)의 각 카테고리로부터 단어를 추출한다(S600).The
텍스트 분류기(100)는 추출된 단어에 기초하여, 각 카테고리로부터 어구를 추출한다(S610).The
텍스트 분류기(100)는 추출된 단어 및 추출된 어구에 기초하여, 각 카테고리에 대응하는 단어 및 어구 빈도 벡터를 생성한다(S620). 이때, 각 카테고리에 대응하는 단어 및 어구는 각 카테고리에 저장된 문서 집합으로부터 추출되는 것이다.The
구체적으로 텍스트 분류기(100)는 각 카테고리에 저장된 문서 집합으로부터 구문분석에 기초하여, 후보 어구 집합(240)을 추출할 수 있다. 그리고 텍스트 분류기(100)는 후보 어구 집합(240)에 포함된 후보 어구에 대한 휴리스틱 규칙에 기초하여, 각 카테고리에 대응하는 어구를 추출할 수 있다. Specifically, the
이때, 휴리스틱 규칙은 후보 어구에 포함된 복수의 단어 중 스탑워드 및 특정 품사의 단어를 제거하는 규칙, 후보 어구에 포함된 단어에 대한 스태밍을 적용하는 규칙 및 후보 어구가 미리 정해진 개수의 단어 이상의 서로 상이한 단어를 포함하는 규칙 중 어느 하나 이상이 될 수 있다. 특정 품사는 한정사, 전치사, 소유격 어미 및 종속 접속사를 포함할 수 있다.In this case, the heuristic rule includes rules for removing a stop word and a word of a specific part of a plurality of words included in a candidate phrase, rules for applying a word to a word included in the candidate word, and a rule that a candidate word has a predetermined number of words or more Or rules containing words that are different from each other. Certain parts of speech may include qualifiers, prepositions, possessive endings, and dependent conjunctions.
텍스트 분류기(100)는 각 카테고리에 대응하는 단어 및 어구 빈도 벡터에 기초하여, 텍스트 분류 모델(250)을 생성한다(S630).The
본 발명의 일 실시예에 따른 오픈 디렉터리 프로젝트(200) 기반의 텍스트 분류기(100), 및 텍스트 분류기(100)의 생성 및 분류 방법은 오픈 디렉터리 프로젝트(200)의 각 카테고리 문서로부터 추출된 단어 및 어구에 기초하여, 텍스트 분류기(100)를 생성한다. 그러므로 텍스트 분류기(100), 및 텍스트 분류기(100)의 생성 및 분류 방법은 기존 단어만으로 텍스트 분류기(100)를 학습할 때 보다 분류 정확도가 향상될 수 있다.The method for generating and classifying the
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 컴퓨터 판독 가능한 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능한 기록 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능한 기록 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.One embodiment of the invention may also be embodied in the form of a computer-readable medium having instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. The computer-readable medium also includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data .
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
100: 오픈 디렉터리 프로젝트 기반의 텍스트 분류기
110: 메모리
120: 프로세서100: Open Directory project-based text classifier
110: Memory
120: Processor
Claims (13)
텍스트 분류 프로그램이 저장된 메모리 및
상기 프로그램을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 프로그램의 실행에 따라, 분류 대상 텍스트로부터 단어를 추출하고, 상기 추출된 단어로부터 상기 분류 대상 텍스트의 어구를 추출하며,
상기 추출된 단어, 상기 추출된 어구 및 텍스트 분류 모델에 기초하여, 상기 분류 대상 텍스트에 대응하는 카테고리를 분류하고,
상기 텍스트 분류 모델은
상기 텍스트 분류 모델은 오픈 디렉터리 프로젝트에 기초하여 생성된 것이며,
상기 프로세서는
카이-점수(chi-score)에 기초하여, 상기 추출된 어구에 대한 점수를 산출하고,
상기 산출된 점수에 기초하여, 미리 정해진 개수의 어구를 선택하고,
상기 선택된 어구에 대하여, 상기 카테고리에 대응하는 단어 및 어구 빈도 벡터를 생성하고,
상기 단어 및 어구 빈도 벡터에 기초하여 상기 텍스트 분류 모델을 생성하며,
상기 프로세서는
하기 수학식을 이용하여, 상기 어구에 대한 각 카테고리의 점수를 산출하고 상기 산출된 각 카테고리의 점수 중 최대값을 상기 어구에 대한 점수로 산출하는 것인, 텍스트 분류기.
[수학식]
p: 상기 점수를 산출하는 어구
ci: 오픈 디렉터리 프로젝트의 i 번째 카테고리
A: 상기 i 번째 카테고리에 포함되며, 상기 점수를 산출하는 어구를 포함하는 문서의 개수
B: 상기 i 번째 카테고리에 포함되지 않으며, 상기 점수를 산출하는 어구를 포함하는 문서의 개수
C: 상기 i 번째 카테고리에 포함되며, 상기 점수를 산출하는 어구를 포함하지 않는 문서의 개수
D: 상기 i 번째 카테고리에 포함되지 않으며, 상기 점수를 산출하는 어구를 포함하지 않는 문서의 개수
N: 오픈 디렉터리 프로젝트에 포함된 문서 개수의 총합In an open directory project-based text classifier,
The memory in which the text classification program is stored
And a processor for executing the program,
The processor extracts a word from the text to be classified according to the execution of the program, extracts a phrase of the text to be classified from the extracted word,
Classifying the category corresponding to the classification target text based on the extracted word, the extracted phrase and the text classification model,
The text classification model
The text classification model is generated based on an open directory project,
The processor
Calculating a score for the extracted phrase based on a chi-score,
Selects a predetermined number of phrases based on the calculated score,
Generating a word and a phrase frequency vector corresponding to the category for the selected phrase,
Generating the text classification model based on the word and phrase frequency vectors,
The processor
Wherein a score of each category for the phrase is calculated using the following equation and a maximum value among scores of the calculated categories is calculated as a score for the phrase.
[Mathematical Expression]
p: a phrase to calculate the score
ci: i-th category of open directory project
A: the number of documents included in the i-th category and including a phrase for calculating the score
B: the number of documents that are not included in the i-th category and which include a phrase that calculates the score
C: the number of documents included in the i-th category and not including the phrase for calculating the score
D: the number of documents not included in the i-th category and not including the phrase for calculating the score
N: Total number of documents included in the Open Directory project
상기 프로세서는 상기 오픈 디렉터리 프로젝트의 각 카테고리로부터 단어 및 어구를 추출하고, 상기 추출된 어구에 대해 상기 점수를 산출하며,
상기 각 카테고리에 대응하는 단어 및 어구는 상기 각 카테고리에 저장된 문서 집합으로부터 추출되는 것인, 텍스트 분류기. The method according to claim 1,
The processor extracts words and phrases from each category of the open directory project, calculates the score for the extracted phrase,
Wherein words and phrases corresponding to the respective categories are extracted from a set of documents stored in each of the categories.
상기 프로세서는 상기 각 카테고리에 저장된 문서 집합으로부터 구문분석에 기초하여, 후보 어구 집합을 추출하고, 상기 후보 어구 집합에 포함된 후보 어구에 대한 휴리스틱 규칙에 기초하여, 상기 각 카테고리에 대응하는 어구를 추출하는 것인, 텍스트 분류기.3. The method of claim 2,
Wherein the processor extracts a candidate phrase set based on a parsing from a document set stored in each of the categories and extracts a phrase corresponding to each category based on a heuristic rule for a candidate phrase included in the candidate phrase set A text sorter.
상기 휴리스틱 규칙은,
상기 후보 어구에 포함된 복수의 단어 중 스탑워드(stopword) 및 특정 품사의 단어를 제거하는 규칙, 상기 후보 어구에 포함된 단어에 대한 스태밍(stemming)을 적용하는 규칙 및 상기 후보 어구가 미리 정해진 개수의 단어 이상의 서로 상이한 단어를 포함하는 규칙 중 어느 하나 이상이되,
상기 특정 품사는 한정사, 전치사, 소유격 어미 및 종속 접속사를 포함하는, 텍스트 분류기. The method of claim 3,
The heuristic rule includes:
A rule for removing a stop word and a word of a specific part of speech from a plurality of words included in the candidate word, a rule for applying stemming to a word included in the candidate word, A rule including a number of words different from each other,
Wherein the specific part-of-speech includes a determinant, a preposition, a possessive ending, and a dependent conjunction.
분류 대상 텍스트로부터 단어를 추출하는 단계;
상기 추출된 단어로부터 상기 분류 대상 텍스트에 대응하는 어구를 추출하는 단계; 및
상기 추출된 단어, 상기 추출된 어구 및 텍스트 분류 모델에 기초하여, 상기 분류 대상 텍스트에 대응하는 카테고리를 분류하는 단계를 포함하되,
상기 텍스트 분류 모델은 오픈 디렉터리 프로젝트에 기초하여 생성된 것이며, 상기 카테고리에 대응하는 단어 및 어구 빈도 벡터에 기초하여 생성된 것이고,
상기 단어 및 어구 빈도 벡터는, 미리 정해진 개수만큼 선택된 어구에 대해 생성된 것이며,
상기 선택된 어구는, 상기 추출된 어구에 대해 카이-점수(chi-score)에 기초하여 산출된 점수에 기초하여 선택된 것이며,
상기 산출된 점수는, 하기 수학식을 이용하여 산출된 상기 어구에 대한 각 카테고리의 점수 중 최대값인 것인, 텍스트 분류기의 텍스트 분류 방법.
[수학식]
p: 상기 점수를 산출하는 어구
ci: 오픈 디렉터리 프로젝트의 i 번째 카테고리
A: 상기 i 번째 카테고리에 포함되며, 상기 점수를 산출하는 어구를 포함하는 문서의 개수
B: 상기 i 번째 카테고리에 포함되지 않으며, 상기 점수를 산출하는 어구를 포함하는 문서의 개수
C: 상기 i 번째 카테고리에 포함되며, 상기 점수를 산출하는 어구를 포함하지 않는 문서의 개수
D: 상기 i 번째 카테고리에 포함되지 않으며, 상기 점수를 산출하는 어구를 포함하지 않는 문서의 개수
N: 오픈 디렉터리 프로젝트에 포함된 문서 개수의 총합A text classification method of an open directory project-based text classifier,
Extracting a word from the classification target text;
Extracting a phrase corresponding to the classification target text from the extracted word; And
Classifying a category corresponding to the classification target text based on the extracted word, the extracted phrase, and a text classification model,
Wherein the text classification model is generated based on an open directory project and is generated based on a word and a phrase frequency vector corresponding to the category,
The word and phrase frequency vector is generated for a predetermined number of phrases,
Wherein the selected phrase is selected based on a score calculated based on a chi-score with respect to the extracted phrase,
Wherein the calculated score is a maximum value among scores of each category for the phrase calculated using the following equation.
[Mathematical Expression]
p: a phrase to calculate the score
ci: i-th category of open directory project
A: the number of documents included in the i-th category and including a phrase for calculating the score
B: the number of documents that are not included in the i-th category and which include a phrase that calculates the score
C: the number of documents included in the i-th category and not including the phrase for calculating the score
D: the number of documents not included in the i-th category and not including the phrase for calculating the score
N: Total number of documents included in the Open Directory project
오픈 디렉터리 프로젝트의 각 카테고리로부터 단어를 추출하는 단계;
상기 추출된 단어에 기초하여, 상기 각 카테고리로부터 어구를 추출하는 단계;
카이-점수(chi-score)에 기초하여 상기 추출된 어구에 대해 점수를 산출하는 단계;
상기 산출된 점수에 기초하여, 미리 정해진 개수의 어구를 선택하는 단계;
상기 선택된 어구에 기초하여, 상기 각 카테고리에 대응하는 단어 및 어구 빈도 벡터를 생성하는 단계; 및
상기 각 카테고리에 대응하는 단어 및 어구 빈도 벡터에 기초하여, 상기 텍스트 분류 모델을 생성하는 단계를 포함하되,
상기 점수를 산출하는 단계는, 하기 수학식을 이용하여, 상기 어구에 대한 각 카테고리의 점수를 산출하고 상기 산출된 각 카테고리의 점수 중 최대값을 상기 어구에 대한 점수로 산출하고,
상기 각 카테고리에 대응하는 단어 및 어구는 상기 각 카테고리에 저장된 문서 집합으로부터 추출되는 것인, 텍스트 분류기의 텍스트 분류 모델 생성 방법.
[수학식]
p: 상기 점수를 산출하는 어구
ci: 오픈 디렉터리 프로젝트의 i 번째 카테고리
A: 상기 i 번째 카테고리에 포함되며, 상기 점수를 산출하는 어구를 포함하는 문서의 개수
B: 상기 i 번째 카테고리에 포함되지 않으며, 상기 점수를 산출하는 어구를 포함하는 문서의 개수
C: 상기 i 번째 카테고리에 포함되며, 상기 점수를 산출하는 어구를 포함하지 않는 문서의 개수
D: 상기 i 번째 카테고리에 포함되지 않으며, 상기 점수를 산출하는 어구를 포함하지 않는 문서의 개수
N: 오픈 디렉터리 프로젝트에 포함된 문서 개수의 총합A method for generating a text classification model of an open directory project based text classifier,
Extracting words from each category of the open directory project;
Extracting a phrase from each of the categories based on the extracted word;
Calculating a score for the extracted phrase based on a chi-score;
Selecting a predetermined number of phrases based on the calculated score;
Generating a word and a phrase frequency vector corresponding to each of the categories based on the selected phrase; And
And generating the text classification model based on a word and a phrase frequency vector corresponding to each of the categories,
The step of calculating the score may include calculating a score of each category for the phrase using the following expression and calculating a maximum value among the scores of the calculated category as a score for the phrase,
Wherein the words and phrases corresponding to the respective categories are extracted from a set of documents stored in the respective categories.
[Mathematical Expression]
p: a phrase to calculate the score
ci: i-th category of open directory project
A: the number of documents included in the i-th category and including a phrase for calculating the score
B: the number of documents that are not included in the i-th category and which include a phrase that calculates the score
C: the number of documents included in the i-th category and not including the phrase for calculating the score
D: the number of documents not included in the i-th category and not including the phrase for calculating the score
N: Total number of documents included in the Open Directory project
상기 추출된 단어에 기초하여, 상기 각 카테고리로부터 어구를 추출하는 단계는,
상기 각 카테고리에 저장된 문서 집합으로부터 구문분석에 기초하여, 후보 어구 집합을 추출하고, 상기 후보 어구 집합에 포함된 후보 어구에 대한 휴리스틱 규칙에 기초하여, 상기 각 카테고리에 대응하는 어구를 추출하는 것인, 텍스트 분류기의 텍스트 분류 모델 생성 방법. 10. The method of claim 9,
Extracting a phrase from each of the categories based on the extracted word,
Extracting a candidate phrase set based on the parsing from the document set stored in each of the categories and extracting a phrase corresponding to each of the categories based on heuristic rules for candidate phrases included in the candidate phrase set , A method of generating a text classification model of a text classifier.
상기 휴리스틱 규칙은, 상기 후보 어구에 포함된 복수의 단어 중 스탑워드(stopword) 및 특정 품사의 단어를 제거하는 규칙, 상기 후보 어구에 포함된 단어에 대한 스태밍(stemming)을 적용하는 규칙 및 상기 후보 어구가 미리 정해진 개수의 단어 이상의 서로 상이한 단어를 포함하는 규칙 중 어느 하나 이상이고,
상기 특정 품사는 한정사, 전치사, 소유격 어미 및 종속 접속사를 포함하는, 텍스트 분류기의 텍스트 분류 모델 생성 방법. 11. The method of claim 10,
Wherein the heuristic rule includes a rule for removing a stop word and a word of a specific part of a plurality of words included in the candidate word, a rule for applying stemming to words included in the candidate word, Wherein the candidate word is one or more of a rule including words different from each other by a predetermined number of words or more,
Wherein the specific part-of-speech includes a determinant, a preposition, a possessive ending, and a dependent conjunction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160062645A KR101860472B1 (en) | 2016-05-23 | 2016-05-23 | Apparatus and method of generation and classification for text classifier based on open directory project |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160062645A KR101860472B1 (en) | 2016-05-23 | 2016-05-23 | Apparatus and method of generation and classification for text classifier based on open directory project |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170131893A KR20170131893A (en) | 2017-12-01 |
KR101860472B1 true KR101860472B1 (en) | 2018-05-23 |
Family
ID=60921720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160062645A KR101860472B1 (en) | 2016-05-23 | 2016-05-23 | Apparatus and method of generation and classification for text classifier based on open directory project |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101860472B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200131736A (en) | 2019-05-14 | 2020-11-24 | 고려대학교 산학협력단 | Method and server for text classification using multi-task learning |
US11328125B2 (en) | 2019-05-14 | 2022-05-10 | Korea University Research And Business Foundation | Method and server for text classification using multi-task learning |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102418871B1 (en) * | 2019-11-11 | 2022-07-07 | 한림대학교 산학협력단 | Apparatus, method and program for extracting research category of research literature using category feature lexicon each research category |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223781A (en) * | 2008-03-18 | 2009-10-01 | Nec Corp | Information recommendation device, information recommendation system, information recommendation method, program and recording medium |
KR101580152B1 (en) * | 2013-12-09 | 2016-01-04 | 고려대학교 산학협력단 | Method and apparatus for text classifier based on open directory project utilizing ancestor descendant categories |
-
2016
- 2016-05-23 KR KR1020160062645A patent/KR101860472B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223781A (en) * | 2008-03-18 | 2009-10-01 | Nec Corp | Information recommendation device, information recommendation system, information recommendation method, program and recording medium |
KR101580152B1 (en) * | 2013-12-09 | 2016-01-04 | 고려대학교 산학협력단 | Method and apparatus for text classifier based on open directory project utilizing ancestor descendant categories |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200131736A (en) | 2019-05-14 | 2020-11-24 | 고려대학교 산학협력단 | Method and server for text classification using multi-task learning |
US11328125B2 (en) | 2019-05-14 | 2022-05-10 | Korea University Research And Business Foundation | Method and server for text classification using multi-task learning |
Also Published As
Publication number | Publication date |
---|---|
KR20170131893A (en) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6618735B2 (en) | Question answering system training apparatus and computer program therefor | |
JP5825676B2 (en) | Non-factoid question answering system and computer program | |
JP5710581B2 (en) | Question answering apparatus, method, and program | |
JP6955963B2 (en) | Search device, similarity calculation method, and program | |
JP2011118689A (en) | Retrieval method and system | |
Posadas-Duran et al. | Complete syntactic n-grams as style markers for authorship attribution | |
KR101860472B1 (en) | Apparatus and method of generation and classification for text classifier based on open directory project | |
Ali et al. | Genetic approach for Arabic part of speech tagging | |
JP4325370B2 (en) | Document-related vocabulary acquisition device and program | |
Nogueira dos Santos et al. | Portuguese part-of-speech tagging using entropy guided transformation learning | |
Reddy et al. | Obtaining description for simple images using surface realization techniques and natural language processing | |
Conrado et al. | Exploration of a rich feature set for automatic term extraction | |
US20110106849A1 (en) | New case generation device, new case generation method, and new case generation program | |
Gupta | A Survey of Word-sense Disambiguation Effective Techniques and Methods for Indian Languages. | |
JP2017068742A (en) | Relevant document retrieval device, model creation device, method and program therefor | |
Castillo et al. | Using sentence semantic similarity based on WordNet in recognizing textual entailment | |
Chun et al. | Unsupervised event extraction from biomedical literature using co-occurrence information and basic patterns | |
Che et al. | Using word sense disambiguation for semantic role labeling | |
KR20070118154A (en) | Information processing device and method, and program recording medium | |
Frank et al. | Evaluating models of syntactic category acquisition without using a gold standard | |
Malandrakis et al. | Affective language model adaptation via corpus selection | |
Xie et al. | Focusing attention network for answer ranking | |
Stehouwer | Statistical language models for alternative sequence selection | |
Chitra et al. | Genetic algorithm based feature selection for paraphrase recognition | |
Kharlamov et al. | Text understanding as interpretation of predicative structure strings of main text’s sentences as result of pragmatic analysis (combination of linguistic and statistic approaches) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |