KR102317910B1 - 중국어 형태소 분석 장치 및 방법 - Google Patents

중국어 형태소 분석 장치 및 방법 Download PDF

Info

Publication number
KR102317910B1
KR102317910B1 KR1020200047671A KR20200047671A KR102317910B1 KR 102317910 B1 KR102317910 B1 KR 102317910B1 KR 1020200047671 A KR1020200047671 A KR 1020200047671A KR 20200047671 A KR20200047671 A KR 20200047671A KR 102317910 B1 KR102317910 B1 KR 102317910B1
Authority
KR
South Korea
Prior art keywords
segment
sentence
character
separation
rule
Prior art date
Application number
KR1020200047671A
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 KR1020200047671A priority Critical patent/KR102317910B1/ko
Application granted granted Critical
Publication of KR102317910B1 publication Critical patent/KR102317910B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/06Foreign languages

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Machine Translation (AREA)

Abstract

중국어로 이루어진 문서로부터 중국어 형태소를 분석하기 위한 중국어 형태소 분석 장치 및 방법이 개시된다. 일 실시예에 따른, 중국어 형태소 분석 장치는, 문서 데이터를 수신하고, 문장 분리 규칙에 기초하여 상기 수신된 문서 데이터에서 문장들을 분리하는 문장 분리부; 상기 문장 분리부에서 분리된 문장들에 대해 정규화 처리를 수행하는 정규화부; 및 사전 데이터, 패턴 규칙 및 디폴트 규칙을 참조하여 상기 정규화 처리된 각 문장에서 세그먼트 후보들을 분리하고 우선순위에 기초하여 세그먼트 후보들 중 최종 세그먼트를 선택하며 선택된 최종 세그먼트로부터 토큰 문자열 및 토큰 태그 리스트를 출력하는 세그먼트 분리부를 포함한다.

Description

중국어 형태소 분석 장치 및 방법{Apparatus and method for analyzing Chinese morphemes}
본 발명은 중국어 형태소 분석 장치 및 방법에 관한 것으로, 보다 구체적으로 중국어로 이루어진 문서로부터 중국어 형태소를 분석하기 위한 중국어 형태소 분석 장치 및 방법에 관한 것이다.
인터넷의 발달로 매일 많은 정보들이 생산되고 있다. 따라서 이러한 정보들을 활용하고 분석할 수 있는 시스템의 필요하다. 특히 글로벌 비즈니스 환경에서 중국과의 교류가 크게 증가하고 있고, 업무 중에 발생하는 다양한 중국어로 작성되어 있는 문서(예, 메일, 게시글 등)들을 빠르게 이해하고 파악하는 것이 요구된다. 이와 같이 중국어로 작성되어 있는 문서들을 빠르게 이해하고 파악하기 위해서는 중국어로 작성되어 있는 문서들을 대상으로 형태소 분석을 수행하여 의미 있는 형태소들을 추출하는 것이 요구된다.
본 발명은 상술한 문제점을 해결하기 위해 제안된 것으로서, 중국어로 이루어진 문서로부터 중국어 형태소를 분석하기 위한 중국어 형태소 분석 장치 및 방법을 제공하는데 그 목적이 있다.
일 실시예에 따른, 중국어 형태소 분석 장치는, 문서 데이터를 수신하고, 문장 분리 규칙에 기초하여 상기 수신된 문서 데이터에서 문장들을 분리하는 문장 분리부; 상기 문장 분리부에서 분리된 문장들에 대해 정규화 처리를 수행하는 정규화부; 및 사전 데이터, 패턴 규칙 및 디폴트 규칙을 참조하여 상기 정규화 처리된 각 문장에서 세그먼트 후보들을 분리하고 우선순위에 기초하여 세그먼트 후보들 중 최종 세그먼트를 선택하며 선택된 최종 세그먼트로부터 토큰 문자열 및 토큰 태그 리스트를 출력하는 세그먼트 분리부를 포함한다.
상기 문장 분리 규칙은, 복수의 규칙 그룹으로 구성되고, 상기 복수의 규칙 그룹 각각은, 문장 분리 후보 위치를 나타내는 키 문자를 포함하는 키 엔트리와, 분리 여부 정보, 좌측 조건, 및 우측 조건을 포함하는 규칙 엔트리를 포함할 수 있다.
상기 문장 분리부는, 상기 분리 여부 정보에 문장 분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리할 수 있다.
상기 문장 분리부는, 상기 분리 여부 정보에 문장 미분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 미분리할 수 있다.
상기 정규화부는, 상기 문장 분리부에서 분리된 문장들에서 전각 문자를 반각 문자로 변환하고 영어 대문자를 소문자로 변환할 수 있다.
상기 사전 데이터는, 각 토큰별 태그 및 문자열을 포함하고, 적어도 하나 이상의 토큰으로 구성된 세그먼트의 문자들이 트리 구조로 구성되며, 상기 세그먼트 분리부는, 상기 정규화 처리된 각 문장마다 첫 문자부터 마지막 문자까지 상기 사전 데이터의 각 세그먼트의 트리 구조를 탐색하여 세그먼트 후보를 분리할 수 있다.
상기 패턴 규칙은, 복수의 패턴 그룹으로 구성되고, 상기 복수의 패턴 그룹 각각은, 분석 기준 위치를 나타내는 키 문자를 포함하는 키 엔트리와, 상기 키 문자 이후 우측 문자열에 대한 조건을 포함하는 패턴 엔트리와, 토큰 태그를 포함하며, 상기 세그먼트 분리부는, 상기 정규화 처리된 각 문장에서 상기 복수의 패턴 그룹 각각의 키 문자를 검색하고 해당 키 문자의 우측 문자열이 상기 패턴 엔트리의 우측 문자열에 대한 조건을 만족하면, 해당 우측 문자열을 세그먼트 후보로 분리하고 토큰 태그를 부여할 수 있다.
상기 세그먼트 분리부는, 각 문장의 왼쪽에서 오른쪽으로 진행하면서 소정의 위치에서 두 개의 세그먼트 후보로 구성된 복수의 조합을 구성하고, 각 조합의 문자 개수의 합, 문자 개수의 차이, 빈도 곱 중 적어도 하나를 비교하여 최종 조합을 선택하고, 최종 선택된 조합의 첫 번째 세그먼트 후보를 해당 소정의 위치에서의 최종 세그먼트로 결정할 수 있다.
일 실시예에 따른 중국어 형태소 분석 장치에서 중국어 형태소를 분석하는 방법은, 문서 데이터를 수신하고, 문장 분리 규칙에 기초하여 상기 수신된 문서 데이터에서 문장들을 분리하는 문장 분리 단계; 상기 분리된 문장들에 대해 정규화 처리를 수행하는 정규화 단계; 및 사전 데이터, 패턴 규칙 및 디폴트 규칙을 참조하여 상기 정규화 처리된 각 문장에서 세그먼트 후보들을 분리하고 우선순위에 기초하여 세그먼트 후보들 중 최종 세그먼트를 선택하며 선택된 최종 세그먼트로부터 토큰 문자열 및 토큰 태그 리스트를 출력하는 세그먼트 분리 단계를 포함한다.
상기 문장 분리 규칙은, 복수의 규칙 그룹으로 구성되고, 상기 복수의 규칙 그룹 각각은, 문장 분리 후보 위치를 나타내는 키 문자를 포함하는 키 엔트리와, 분리 여부 정보, 좌측 조건, 및 우측 조건을 포함하는 규칙 엔트리를 포함할 수 있다.
상기 문장 분리 단계는, 상기 분리 여부 정보에 문장 분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리할 수 있다.
상기 문장 분리 단계는, 상기 분리 여부 정보에 문장 미분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 미분리할 수 있다.
상기 정규화 단계는, 상기 분리된 문장들에서 전각 문자를 반각 문자로 변환하고 영어 대문자를 소문자로 변환할 수 있다.
상기 사전 데이터는, 각 토큰별 태그 및 문자열을 포함하고, 적어도 하나 이상의 토큰으로 구성된 세그먼트의 문자들이 트리 구조로 구성되며, 상기 세그먼트 분리 단계는, 상기 정규화 처리된 각 문장마다 첫 문자부터 마지막 문자까지 상기 사전 데이터의 각 세그먼트의 트리 구조를 탐색하여 세그먼트 후보를 분리하는 단계를 포함할 수 있다.
상기 패턴 규칙은, 복수의 패턴 그룹으로 구성되고, 상기 복수의 패턴 그룹 각각은, 분석 기준 위치를 나타내는 키 문자를 포함하는 키 엔트리와, 상기 키 문자 이후 우측 문자열에 대한 조건을 포함하는 패턴 엔트리와, 토큰 태그를 포함하며, 상기 세그먼트 분리 단계는, 상기 정규화 처리된 각 문장에서 상기 복수의 패턴 그룹 각각의 키 문자를 검색하고 해당 키 문자의 우측 문자열이 상기 패턴 엔트리의 우측 문자열에 대한 조건을 만족하면, 해당 우측 문자열을 세그먼트 후보로 분리하고 토큰 태그를 부여하는 단계를 포함할 수 있다.
상기 세그먼트 분리 단계는, 각 문장의 왼쪽에서 오른쪽으로 진행하면서 소정의 위치에서 두 개의 세그먼트 후보로 구성된 복수의 조합을 구성하고, 각 조합의 문자 개수의 합, 문자 개수의 차이, 빈도 곱 중 적어도 하나를 비교하여 최종 조합을 선택하고, 최종 선택된 조합의 첫 번째 세그먼트 후보를 해당 소정의 위치에서의 최종 세그먼트로 결정하는 단계를 포함할 수 있다.
본 발명은 업무 중에 발생하는 메일, 결재 문서 등의 다양한 중국어 문서들에 대한 형태소를 추출하고 이를 다양한 시스템과 연계하여 중국어를 모르는 한국인도 메일의 핵심 내용(목적, 장소, 일시 등)을 파악할 수 있게 함으로써 업무를 원활하게 할 수 있도록 지원할 수 있다.
도 1은 본 발명의 일 실시예에 따른 중국어 형태소 분석 장치의 구성을 나타내내 도면이다.
도 2는 본 발명의 일 실시예에 따른 문장 분리 규칙의 개념을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 제1 규칙 그룹의 예를 나타낸 도면이다.
도 4는 본 발명의 다른 실시예에 따른 제2 규칙 그룹의 예를 나타낸 도면이다.
도 5는 본 발명의 다른 실시예에 따른 제3 규칙 그룹의 예를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 사전 데이터의 트리 구조 탐색을 통한 세그먼트 분리 방법을 설명하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 제1 패턴 그룹의 예를 나타낸 도면이다.
도 8은 본 발명의 다른 실시예에 따른 제2 패턴 그룹의 예를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 중국어 형태소 분석 방법의 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 중국어 형태소 분석 장치의 구성을 나타내내 도면이다. 도 1을 참조한 중국어 형태소 분석 장치는, 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템, 디스플레이 장치, 입력 장치 및 통신 회로를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다. 메모리는 각종 정보와 프로그램 명령어를 저장할 수 있고, 프로그램은 프로세서에 의해 실행된다. 주변 인터페이스는 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 명령어 세트를 실행하여 시스템을 여러 기능을 수행하고 데이터를 처리한다. I/O 서브시스템은 디스플레이 장치, 입력 장치와 같은 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. 통신 회로는 외부 포트를 통한 통신 또는 RF 신호에 의한 통신을 수행한다. 통신 회로는 전기 신호를 RF 신호로 또는 그 반대로 변환하며 이 RF 신호를 통하여 통신 네트워크, 다른 이동형 게이트웨이 장치 및 통신 장치와 통신할 수 있다. 도 1에 도시된 바와 같이, 본 실시예에 따른 중국어 형태소 분석 장치는, 문장 분리부(110), 정규화부(120), 세그먼트 분리부(130) 및 저장부(140)를 포함하고, 이들은 프로그램으로 구현되어 메모리에 저장되어 프로세서에 의해 실행될 수 있고, 또는 소프트웨어 및 하드웨어의 조합으로 구현되어 동작을 수행할 수 있다.
문장 분리부(110)는, 문서 데이터를 수신하고, 문장 분리 규칙에 기초하여 상기 수신된 문서 데이터에서 문장들을 분리한다. 문장 분리부(110)는, 입력 장치(예컨대, USB 메모리)를 통해 문서 데이터를 수신할 수 있고, 또는 메모리에 기 저장된 문서 데이터를 수신할 수도 있으며, 또는 통신 회로를 통해 외부로부터 문서 데이터를 수신할 수도 있다.
문장 분리부(110)는, 저장부(140)에 저장된 문장 분리 규칙(141)을 참조하여 문서 데이터에서 문장들을 분리한다. 상기 문장 분리 규칙(141)은, 복수의 규칙 그룹으로 구성되고, 상기 복수의 규칙 그룹 각각은, 문장 분리 후보 위치를 나타내는 키 문자를 포함하는 키 엔트리와, 분리 여부 정보, 좌측 조건, 및 우측 조건을 포함하는 규칙 엔트리를 포함하여 구성된다.
상기 문장 분리 규칙(141)의 키 엔트리는 키 엔트리를 나타내는 문자(예, *)와 공백으로 분리되는 1개 이상의 키 요소(key-element)로 구성된다. 키 요소는 문장 분리 후보 위치를 나타내는 키 문자이다. 키 요소인 키 문자는 문자(character)나 16진수 문자 코드(code)를 사용하여 표현된다. 예컨대, <char> 형식은 한 문자로, <char> - <char> 형식은 문자 범위로, #<code> 형식은 한 문자 코드로, #<code> - <code> 형식은 문자 코드 범위로 각각 키 문자들을 표현한다.
상기 문장 분리 규칙(141)의 규칙 엔트리는, 분리 여부 정보, 좌측 조건, 및 우측 조건을 포함한다. 분리 여부 정보는 상기 키 요소를 기준으로 문장을 분리할지 말지에 관한 정보로서, 예를 들어 +는 문장을 분리하는 것을 나타내는 정보이고, -는 문장을 분리하지 않는 것을 나타내는 정보이다. 좌측 조건은, 문장 분리 후보 위치를 나타내는 상기 키 문자를 기준으로 한 좌측 문자열의 조건을 나타내고, 우측 조건은 상기 키 문자를 기준으로 한 우측 문자열의 조건을 나타낸다.
문장 분리부(110)는, 상기 문장 분리 규칙(141)을 참조하여, 문서 데이터에서 상기 키 문자를 검색하고, 상기 키 문자에 대응하는 규칙 엔트리의 분리 여부 정보를 확인한다.
분리 여부 정보가 문장 분리 정보(예, +)인 경우, 문장 분리부(110)는, 문서 데이터에서 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 키 문자에 대응하는 규칙 엔트리의 좌측 조건 및 우측 조건을 만족하는지 확인하여, 모든 조건이 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리한다.
만약, 분리 여부 정보가 문장을 분리하지 않는 문장 미분리 정보(예, -)인 경우, 문장 분리부(110)는, 문서 데이터에서 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 키 문자에 대응하는 규칙 엔트리의 좌측 조건 및 우측 조건을 만족하는지 확인하여, 모든 조건이 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리하지 않는다.
도 2는 본 발명의 일 실시예에 따른 문장 분리 규칙의 개념을 설명하는 도면이다. 문장 분리 규칙(141)의 각 규칙 그룹은, 키 엔트리와 규칙 엔트리를 포함하고, 도 2는 문서 데이터를 나타낸 것으로서, 해당 문서 데이터는는 키 엔트리의 키 문자(210)를 기준으로 규칙 엔트리의 좌측 조건 및 우측 조건이 적용되는 좌측 조건 검사 대상(220) 및 우측 조건 검사 대상(230)으로 표현할 수 있다. 규칙 엔트리에 문장 분리 정보가 포함되어 있는 경우, 도 2에 도시된 바와 같이, 문서 데이터에서 키 문자(210)를 탐색하고 그 키 문자(210)를 기준으로 좌측 조건 검사 대상, 즉 좌측 문자열(220)이 규칙 엔트리의 좌측 조건에 해당하는지 그리고 우측 조건 검사 대상, 즉 우측 문자열(230)이 규칙 엔트리의 우측 조건에 해당하는지 판단된다. 만약 좌우측 문자열(220, 230)이 좌우측 조건을 모두 만족하면, 키 문자(210)의 다음 위치, 즉 문장 분리 후보 위치(240)에서 문장이 분리된다. 좌측 조건 및 우측 조건은 정규식으로 조건이 설정되거나 조건 없음으로 설정될 수 있다. 정규식 조건은 해당 정규식 조건이 만족되어야 문장이 분리되고 조건 없음은 무조건 문장이 분리된다.
도 3은 본 발명의 일 실시예에 따른 제1 규칙 그룹의 예를 나타낸 도면이다. 도 3의 예는 다음과 같은 제1 규칙 그룹을 자세히 설명한다.
(제1 규칙 그룹)
* "
+ =[\.|\?|\!]\z ~
상기 제1 규칙 그룹에서 문자 *는 키 엔트리의 시작을 나타내는 문자이고, 문자 "는 키 요소로서 문장 분리 후보 위치를 나타내는 키 문자이다. 상기 제1 규칙 그룹에서 문자 +부터 규칙 엔트리이다. 문자 +는 문장을 분리함을 나타내는 정보이고, 문자 =는 정규식 조건을 나타낸다. 문자열 [\.|\?|\!]\z는 좌측 조건을 나타내고, 문자 ~는 우측 조건을 나타낸다. 문자 ~는 조건이 없음을 나타내므로 우측 조건은 조건이 없다. 좌측 조건에서 \z는 키 문자 "의 좌측 문자열 중 가장 뒤(즉, 가장 오른쪽)의 문자를 의미하고 [\.|\?|\!]는 키 문자 "의 좌측 문자열에서 . 또는 ? 또는 !인 경우를 지칭한다. 즉, 문서 데이터에서 키 문자 "의 우측 문자열에 상관없이 좌측 문자열의 가장 뒤의 문자가 . 또는 ? 또는 !인 경우, 키 문자 "의 다음 위치에서 문장을 분리하는 것을 나타낸다.
도 4는 본 발명의 다른 실시예에 따른 제2 규칙 그룹의 예를 나타낸 도면이다. 도 4의 예는 다음과 같은 제2 규칙 그룹을 자세히 설명한다.
(제2 규칙 그룹)
* .
- =[0-9 0-9]\z =\A[0-9 0-9]
상기 제2 규칙 그룹에서 문자 *는 키 엔트리의 시작을 나타내는 문자이고, 문자 .는 키 요소로서 문장 분리 후보 위치를 나타내는 키 문자이다. 상기 제2 규칙 그룹에서 문자 -부터 규칙 엔트리이다. 문자 -는 문장을 분리하지 않음을 나타내는 정보이고, 문자 =는 정규식 조건을 나타낸다. 문자열 [0-9 0-9]\z는 좌측 조건을 나타내고, 문자열 \A[0-9 0-9]는 우측 조건을 나타낸다. 서로 공백으로 구분된다. 구체적으로는 좌측 조건에서 \z는 키 문자 .의 좌측 문자열 중 가장 뒤(즉, 가장 오른쪽)의 문자를 의미하고 [0-9 0-9]는 키 문자 .의 좌측 문자열에서 숫자이거나 공백인 경우를 지칭한다. 우측 조건에서 \A는 키 문자 .의 우측 문자열 중 가장 앞(즉, 가장 왼쪽)의 문자를 의미하고 [0-9 0-9]는 키 문자 .의 우측 문자열에서 숫자이거나 공백인 경우를 지칭한다. 즉, 문서 데이터에서 키 문자 .의 좌측 문자열의 마지막 문자가 공백 또는 숫자이고, 또한 우측 문자열의 가장 앞의 문자가 공백이거나 숫자이면, 키 문자 .의 다음 위치에서 문장을 분리하지 않는 것을 나타낸다.
도 5는 본 발명의 다른 실시예에 따른 제3 규칙 그룹의 예를 나타낸 도면이다. 도 5의 예는 다음과 같은 제3 규칙 그룹을 자세히 설명한다.
(제3 규칙 그룹)
* #A
+ ~ ~
상기 제3 규칙 그룹에서 문자 *는 키 엔트리의 시작을 나타내는 문자이고, 문자 #A는 키 요소로서 문장 분리 후보 위치를 나타내는 키 문자이다. #A는 16진수 A 코드 문자, 즉 개행 문자를 나타낸다. 상기 제3 규칙 그룹에서 문자 +부터 규칙 엔트리이고 문자 +는 문장을 분리하는 정보이고, 문자 ~는 조건 없음을 나타낸다. 공백으로 두 개의 ~가 나누어지는데, 각각 좌측 조건과 우측 조건을 나타낸다. 즉, 문서 데이터에서 키 문자 #A(즉 개행 문자)의 다음 위치에서는 무조건 문장을 분리하는 것을 나타낸다.
다시 도 1을 참조하면, 정규화부(120)는, 상기 문장 분리부(100)에서 분리된 문장들에 대해 정규화 처리를 수행한다. 구체적으로, 정규화부(120)는, 문장들에서 전각(fullwidth) 문자를 반각(halfwidth) 문자로 변환하고 또한 영어 대문자를 소문자로 변환하는 정규화 처리를 수행한다. 전각 문자는 가로와 세로의 길이 비율이 동일한 문자이며 반각 문자는 가로와 세로의 길이 비가 1대2인 문자로서 같은 'A'라고 전각 문자와 반각 문자는 ASCⅡ 코드 상으로 서로 다른 문자로 분류되기 때문에 세그먼트 분리의 정확도를 향상시키기 위해 이를 통일하는 과정이 필요하다.
세그먼트 분리부(130)는, 저장부(140)에 저장된 사전 데이터(142)와, 패턴 규칙(143) 그리고 디폴트 규칙(144)을 이용하여 상기 정규화부(120)에서 정규화 처리된 문장에서 세그먼트 후보들을 분리한 후, 소정의 선택 우선 순위에 따라 세그먼트 후보들에서 최종 세그먼트들을 선택한다. 세그먼트는 세그먼트 분리부(130)에서 사전 데이터(142)와, 패턴 규칙(143) 그리고 디폴트 규칙(144)을 이용하여 분리되는 단위로서 1개 이상의 토큰(token)(본 발명에서 형태소)으로 구성된다.
사전 데이터(142)를 이용한 세그먼트 후보 분리
사전 데이터(142)는, 각 토큰별 태그 및 문자열을 포함하고, 적어도 하나 이상의 토큰으로 구성된 세그먼트의 문자들이 트리 구조로 구성된다. 여기서 태그는 품사를 의미한다. 예를 들어, 토큰 路透社에 대해서는 태그로서 NN이 명시되고, 토큰
Figure 112020040613730-pat00001
에 대해 태그로서 NN이 명시되어 사전 데이터로서 저장된다. NN은 명사(NOUN)을 의미한다. 그리고 이러한 두 개의 토큰으로 구성되는 세그먼트
Figure 112020040613730-pat00002
이 또한 사전 데이터로서 저장된다. 다른 예로, 토큰
Figure 112020040613730-pat00003
에 대해서는 태그로서 NN, VV가 명시되고, 또한 동시에 세그먼트로서도 저장된다. 여기서 VV는 동사(Verb)를 의미한다. 사전 데이터(142)의 세그먼트들은 문자들이 트리 구조로 구성되어 저장되고 탐색된다.
세그먼트 분리부(130)는, 정규화 처리된 문장의 첫 문자부터 순차적으로 사전 데이터(142)의 트리 구조를 상위 노드부터 하위 노드로 탐색하여 더 이상 트리 하단으로 내려갈 수 없는 문자까지 탐색하고, 가장 하단 트리 노드까지 탐색된 문자들의 조합을 세그먼트 후보로서 분리한다. 도 6은 본 발명의 일 실시예에 따른 사전 데이터의 트리 구조 탐색을 통한 세그먼트 분리 방법을 설명하는 도면으로, 문장
Figure 112020040613730-pat00004
에서 세그먼트를 분리하는 방법을 설명한다. 세그먼트 분리부(130)는 도 6에 도시된 바와 같이 상기 문장의 첫 글자를 사전 데이터(142)의 트리 구조의 상위 노드에서 탐색한다. 다음으로 두 번째 글자를 탐색된 상위 노드의 하위 노드에서 탐색한다. 이와 같은 방식으로 상기 문장의 첫 문자부터 순차적으로 사전 데이터의 트리 구조를 탐색하여, 더 이상 하단 트리 노드로 내려갈 수 없을 때 탐색을 종료하고, 그 때까지 탐색된 문자들의 조합인
Figure 112020040613730-pat00005
를 세그먼트 후보로서 분리한다.
세그먼트 분리부(130)는, 세그먼트 후보들을 분리하고 세그먼트 후보들을 구성하는 토큰들의 태그 리스트 및 문자열을 추출한다. 사전 데이터(142)는, 각 토큰별 태그 및 문자열을 포함하고, 따라서, 세그먼트 분리부(130)는, 사전 데이터(142)를 이용하여 상기 분리한 세그먼트 후보들을 구성하는 토큰들의 태그 리스트 및 문자열을 사전 데이터로부터 검색하여 추출한다. 앞서 도 6을 참조한 실시예에서 세그먼트 후보인
Figure 112020040613730-pat00006
의 토큰들의 태그 리스트 및 문자열로서,
Figure 112020040613730-pat00007
Figure 112020040613730-pat00008
를 추출한다. 여기서 NN은 명사를 의미한다.
패턴 규칙(143)을 이용한 세그먼트 후보 분리
세그먼트 분리부(130)는, 저장부(140)에 저장된 패턴 규칙(143)을 이용하여 상기 정규화부(120)에서 정규화 처리된 문장에서 세그먼트 후보들을 분리한다. 패턴 규칙(143)은, 복수의 패턴 그룹으로 구성되고, 상기 복수의 패턴 그룹 각각은, 패턴 규칙(143)이 적용될 수 있는 시작 문자인 키 문자를 포함하는 키 엔트리와, 우측 조건 및 태그 리스트를 포함하는 패턴 엔트리를 포함하여 구성된다.
상기 패턴 규칙(143)의 키 엔트리는 키 엔트리의 시작을 나타내는 문자(예, *)와 공백으로 분리되는 1개 이상의 키 요소(key-element)로 구성된다. 키 요소는 패턴 규칙(143)이 적용될 수 있는 시작 문자인 키 문자이다. 키 요소인 키 문자는 문자(character)나 16진수 문자 코드(code)를 사용하여 표현된다. 예컨대, <char> 형식은 한 문자로, <char> - <char> 형식은 문자 범위로, #<code> 형식은 한 문자 코드로, #<code> - <code> 형식은 문자 코드 범위로 각각 키 문자들을 표현한다. 상기 패턴 규칙(143)의 패턴 엔트리는, 우측 조건 및 태그 리스트를 포함한다. 우측 조건은 상기 키 문자를 기준으로 한 우측 문자열의 조건을 나타내고, 태그 리스트는 그 우측 조건을 만족할 때의 우측 문자열의 태그, 즉 품사들을 나타낸다.
세그먼트 분리부(130)는, 상기 패턴 규칙(143)을 참조하여, 정규화된 문장에서 상기 키 문자를 검색하고, 상기 키 문자의 우측 문자열이 상기 검색된 키 문자에 대응하는 패턴 엔트리의 우측 조건을 만족하는지 확인하며, 만족하는 경우 해당 우측 문자열을 세그먼트 후보로서 선택하고 이에 대응하는 태그 리스트를 선택한다.
도 7은 본 발명의 일 실시예에 따른 제1 패턴 그룹의 예를 나타낸 도면이다. 도 7의 예는 다음과 같은 제1 패턴 그룹을 자세히 설명한다.
(제1 패턴 그룹)
* a-z
=\A[a-z0-9]*([\-\.\'][a-z0-9]+)* FW
상기 제1 패턴 그룹에서 문자 *는 키 엔트리의 시작을 나타내는 문자이고, 문자 a-z는 키 요소로서 패턴 규칙(143)이 적용될 수 있는 시작 문자인 키 문자로서, 영문자를 나타낸다. 상기 제1 패턴 그룹에서 문자 =부터 패턴 엔트리이고, 문자 =는 정규식 조건을 나타낸다. 그 다음의 문자열 \A는 우측 문자열의 가장 앞의 문자를 나타내고, 문자열 [a-z0-9]는 알파벳이나 숫자임을 의미하며, 그 뒤의 *는 0개 이상을 의미한다. 그 다음의 문자열 [\-\.\']는 - 또는 . 또는 '임을 의미하고, 그 뒤의 문자열 [a-z0-9]는 알파벳이나 숫자임을 의미하며, +는 1개 이상을 의미한다. 그 뒤의 *는 0개 이상을 의미하고, FW는 태그로서 외래어 품사임을 의미한다. 즉, 상기 제1 패턴 그룹은, 키 문자인 영문자의 바로 우측에 알파벳 또는 숫자가 0개 이상 존재하고, - 또는 . 또는 ' 문자와, 알파벳 또는 숫자가 1개 이상이 오는 문자가 0개 이상 반복되는 패턴인 경우 외래어 태그를 부여하는 것을 의미한다.
도 8은 본 발명의 다른 실시예에 따른 제2 패턴 그룹의 예를 나타낸 도면이다. 도 8의 예는 다음과 같은 제2 패턴 그룹을 자세히 설명한다.
(제2 패턴 그룹)
* .
=\A(\.)* SY
상기 제2 패턴 그룹에서 문자 *는 키 엔트리의 시작을 나타내는 문자이고, 문자 .는 키 요소로서 패턴 규칙(143)이 적용될 수 있는 시작 문자인 키 문자이다. 상기 제2 패턴 그룹에서 문자 =부터 패턴 엔트리이고 문자 =는 정규식 조건을 나타낸다. 문자열 \A는 우측 문자열의 가장 앞의 문자를 나타내고, 문자열 (\.)는 . 문자를 의미하며, 그 뒤의 *는 0개 이상을 의미한다. FW는 태그로서 외래어 품사임을 의미한다. 즉, 상기 제1 패턴 그룹은, 키 문자인 영문자의 바로 우측에 알파벳 또는 숫자가 0개 이상 존재하고, - 또는 . 또는 ' 문자와, 알파벳 또는 숫자가 1개 이상이 오는 문자가 0개 이상 반복되는 패턴인 경우 외래어 태그를 부여하는 것을 의미한다.
디폴트 규칙(144)을 이용한 세그먼트 후보 분리
세그먼트 분리부(130)는, 저장부(140)에 저장된 디폴트 규칙을 이용하여 상기 정규화부(120)에서 정규화 처리된 문장에서 세그먼트 후보들을 분리한다. 디폴트 규칙은 일종의 예외 처리 규칙으로서, 사전 데이터(142)나 패턴 규칙(143)으로 정의할 수 없는 외국어나, 특수문자, 심볼(예, α, ψ, ※ 등) 등의 분석에 적용되는 규칙이다. 디폴트 규칙(144)은 각 문자별로 태그 리스트를 명시하여 정의한다. 세그먼트 분리부(130)는 디폴트 규칙(144)을 이용하여 문자를 세그먼트 후보로서 분리하고 이에 대응하는 태그 리스트를 부여한다.
최종 세그먼트 선택
세그먼트 분리부(130)는, 상술한 과정을 통해 분리된 세그먼트 후보들 중에서 최종 세그먼트를 선택한다. 세그먼트 분리부(130)는, 각 문장마다 세그먼트 후보들을 분리하므로, 최종 세그먼트 선택도 각 문장마다 수행한다. 세그먼트 분리부(130)는 각 문장의 왼쪽에서 오른쪽으로 진행하면서 최종 세그먼트를 선택한다. 먼저, 세그먼트 분리부(130)는, 문장의 처음 위치에서 선택 가능한 세그먼트 후보들 중 하나를 선택한다. 여기서 선택 가능한 세그먼트 후보는, 문장의 처음 위치에서 추출되는 세그먼트 후보들이다. 세그먼트 분리부(130)는 문장의 처음 위치에서 선택한 세그먼트 후보의 다음 위치에서 다시 선택 가능한 세그먼트 후보들 중 하나를 선택한다. 이와 같이 세그먼트 분리부(130)는 여러 조합으로, 두 위치에서 두 개의 세그먼트 후보를 선택하여, 각 조합의 문자 개수의 합, 문자 개수의 차이, 빈도 곱을 비교하여, 문자 개수의 합의 큰 조합, 또는 문자 개수의 차이가 작은 조합, 또는 빈도 곱이 큰 조합의 처음 위치에서 선택된 세그먼트 후보를 처음 위치의 최종 세그먼트로서 선택할 수 있다. 또는 이러한 조건이 모두 동일할 때는, 두번째 위치에서 선택한 세그먼트 후보의 문자 개수보다 많은 문자 개수를 갖는 세그먼트 후보를 첫 번째 위치에서의 최종 세그먼트로 선택할 수 있다. 세그먼트 분리부(130)는 이러한 방식으로 문장의 처음 위치에서 마지막 위치까지 진행하면서 인접 세그먼트 후보들을 비교하여 각 위치마다 최종 세그먼트를 선택한다.
세그먼트 분리부(130)는 상기 빈도 곱을 계산할 때 저장부(140)에 저장된 빈도 데이터(145)를 이용한다. 빈도 데이터(145)는 말뭉치(Corpus)에서 출현한 세그먼트의 빈도를 포함한다. 말뭉치는 특정 언어학, 사회학 등의 조사적 목적에 의해서 특정 집단 내에서 사용하는 일상의 문장들을 모아놓은 것으로서 빈도 데이터(145)는 이러한 말뭉치 내의 문장들에 대한 세그먼트 분석 결과를 포함하고 있다. 즉, 빈도 데이터(145)는 말뭉치 내에서 특정 세그먼트의 빈도를 계산하여 이를 기록한 데이터이다. 예를 들어 말뭉치 내에서
Figure 112020040613730-pat00009
라는 세그먼트가 7번 등장할 경우 해당 세그먼트의 빈도는 7이다.
세그먼트 선택 우선 순위의 예는 다음과 같다. 아래 예에서, S1n은 문장의 제1위치에서 선택한 세그먼트를 나타내고, S2n는 제1위치의 다음 위치인 제2위치에서 선택한 세그먼트를 나타낸다. n은 경우의 수를 나타낸다.
1) S1n과 S2n의 문자 수의 합이 큰 조합의 S1n 선택. 예를 들어, 제1조합의 S11, S21 각각 문자 수는 2, 3이고, 제2조합의 S12, S22 각각의 문자 수가 3, 1인 경우. 제1조합의 문자 수의 합은 5로서 제2조합의 문자 수의 합인 4보다 크다. 따라서, 제1조합의 S11을 최종 세그먼트로 선택한다.
2) S1n과 S2n의 문자 수의 차이가 작은 조합의 S1n 선택. 이 조건은 상기 1)을 만족하지 않을 때의 차순위이다. 예를 들어, 제1조합의 S11, S21 각각 문자 수는 2, 2이고, 제2조합의 S12, S22 각각의 문자 수가 3, 1인 경우. 제1조합의 문자 수의 차이는 0으로서 제2조합의 문자 수의 차이인 2보다 작다. 따라서, 제1조합의 S11을 최종 세그먼트로 선택한다.
3) S1n과 S2n의 빈도 곱이 큰 조합의 S1n 선택. 이 조건은 상기 2)를 만족하지 않을 때의 차순위이다. 예를 들어, 제1조합의 S11, S21 각각의 빈도가 3, 4이고, 제2조합의 S12, S22 각각의 빈도가 2, 5인 경우, 제1조합의 빈도 곱은 12로서 제2조합의 빈도 곱인 10보다 크다. 따라서, 제1조합의 S11을 최종 세그먼트로 선택한다.
4) S1n의 문자 수가 S2n의 문자 수보다 많은 경우의 S1n 선택. 이 조건은 상기 3)을 만족하지 않을 때의 차순위이다.
위에서 설명한 1) 내지 4)의 우선 순위 이외, 설계에 따라 다양한 우선 순위 조건이 추가될 수 있다. 예를 들어, 사용자가 미리 지정한 사전 데이터에서 추출된 세그먼트, 또는 패턴 규칙에서 추출된 세그먼트 등을 우선 순위에 넣을 수 있다.
세그먼트 분리부(130)는 최종 선택한 세그먼트들의 토큰 문자열 및 태그 리스트를 출력한다.
도 9는 본 발명의 일 실시예에 따른 중국어 형태소 분석 방법의 흐름도이다. 도 9를 참조하여 설명하는 방법은, 중국어 형태소 분석 장치의 프로세서가 메모리에 저장된 프로그램에 따라 동작하는 방법일 수 있다.
도 9를 참조하면, 단계 S901에서, 중국어 형태소 분석 장치는, 문서 데이터를 수신한다. 입력 장치(예컨대, USB 메모리)를 통해 문서 데이터를 수신할 수 있고, 또는 메모리에 기 저장된 문서 데이터를 수신할 수도 있으며, 또는 통신 회로를 통해 외부로부터 문서 데이터를 수신할 수도 있다.
단계 S902에서, 중국어 형태소 분석 장치는 저장부(140)에 저장된 문장 분리 규칙(141)을 참조하여 문서 데이터에서 문장들을 분리한다. 구체적으로, 중국어 형태소 분석 장치는, 상기 문장 분리 규칙(141)을 참조하여, 문서 데이터에서 키 문자를 검색하고, 상기 키 문자에 대응하는 규칙 엔트리의 분리 여부 정보를 확인한다. 분리 여부 정보가 문장 분리 정보(예, +)인 경우, 중국어 형태소 분석 장치는, 문서 데이터에서 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 키 문자에 대응하는 규칙 엔트리의 좌측 조건 및 우측 조건을 만족하는지 확인하여, 모든 조건이 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리한다. 만약, 분리 여부 정보가 문장을 분리하지 않는 문장 미분리 정보(예, -)인 경우, 중국어 형태소 분석 장치는, 문서 데이터에서 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 키 문자에 대응하는 규칙 엔트리의 좌측 조건 및 우측 조건을 만족하는지 확인하여, 모든 조건이 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리하지 않는다.
단계 S903에서, 중국어 형태소 분석 장치는 상기 분리된 문장들에 대해 정규화 처리를 수행한다. 구체적으로, 중국어 형태소 분석 장치는, 문장들에서 전각(fullwidth) 문자를 반각(halfwidth) 문자로 변환하고 또한 영어 대문자를 소문자로 변환하는 정규화 처리를 수행한다.
단계 S904에서, 중국어 형태소 분석 장치는, 저장부(140)에 저장된 사전 데이터(142)와, 패턴 규칙(143) 그리고 디폴트 규칙(144)을 이용하여 상기 정규화 처리된 문장에서 세그먼트 후보들을 분리한다. 중국어 형태소 분석 장치는 저장부(140)에 저장된 사전 데이터(142)를 이용하여 문장에서 세그먼트 후보들을 분리하고, 또한 패턴 규칙(143)을 이용하여 문장에서 세그먼트 후보들을 분리하며, 또한 디폴트 규칙(144)을 이용하여 문장에서 세그먼트 후보들을 분리한다.
구체적으로, 중국어 형태소 분석 장치는, 정규화 처리된 문장의 첫 문자부터 순차적으로 사전 데이터(142)의 트리 구조를 상위 노드부터 하위 노드로 탐색하여 더 이상 트리 하단으로 내려갈 수 없는 문자까지 탐색하고, 가장 하단 트리 노드까지 탐색된 문자들의 조합을 세그먼트 후보로서 분리한다. 이때, 세그먼트 후보들을 분리하고 세그먼트 후보들을 구성하는 토큰들의 태그 리스트 및 문자열을 추출한다.
또한, 중국어 형태소 분석 장치는, 저장부(140)에 저장된 패턴 규칙(143)을 참조하여, 정규화된 문장에서 키 문자를 검색하고, 키 문자의 우측 문자열이 상기 검색된 키 문자에 대응하는 패턴 엔트리의 우측 조건을 만족하는지 확인하며, 만족하는 경우 해당 우측 문자열을 세그먼트 후보로서 선택하고 이에 대응하는 태그 리스트를 선택한다.
또한, 중국어 형태소 분석 장치는, 저장부(140)에 저장된 디폴트 규칙을 이용하여 상기 정규화 처리된 문장에서 세그먼트 후보들을 분리한다. 디폴트 규칙은 일종의 예외 처리 규칙으로서, 사전 데이터(142)나 패턴 규칙(143)으로 정의할 수 없는 외국어나, 특수문자, 심볼(예, α, ψ, ※ 등) 등의 분석에 적용되는 규칙이다. 중국어 형태소 분석 장치는, 디폴트 규칙(144)을 이용하여 문자를 세그먼트 후보로서 분리하고 이에 대응하는 태그 리스트를 부여한다.
단계 S905에서, 중국어 형태소 분석 장치는, 단계 S904에서 분리된 세그먼트 후보들 중에서 최종 세그먼트를 선택한다. 중국어 형태소 분석 장치는, 각 문장마다 세그먼트 후보들을 분리하므로, 최종 세그먼트 선택도 각 문장마다 수행한다. 중국어 형태소 분석 장치는, 각 문장의 왼쪽에서 오른쪽으로 진행하면서 최종 세그먼트를 선택한다. 먼저, 중국어 형태소 분석 장치는, 문장의 처음 위치에서 선택 가능한 세그먼트 후보들 중 하나를 선택한다. 여기서 선택 가능한 세그먼트 후보는, 문장의 처음 위치에서 추출되는 세그먼트 후보들이다. 중국어 형태소 분석 장치는, 문장의 처음 위치에서 선택한 세그먼트 후보의 다음 위치에서 다시 선택 가능한 세그먼트 후보들 중 하나를 선택한다. 이와 같이 중국어 형태소 분석 장치는, 여러 조합으로, 두 위치에서 두 개의 세그먼트 후보를 선택하여, 각 조합의 문자 개수의 합, 문자 개수의 차이, 빈도 곱을 비교하여, 문자 개수의 합의 큰 조합, 또는 문자 개수의 차이가 작은 조합, 또는 빈도 곱이 큰 조합의 처음 위치에서 선택된 세그먼트 후보를 처음 위치의 최종 세그먼트로서 선택할 수 있다. 또는 이러한 조건이 모두 동일할 때는, 두번째 위치에서 선택한 세그먼트 후보의 문자 개수보다 많은 문자 개수를 갖는 세그먼트 후보를 첫 번째 위치에서의 최종 세그먼트로 선택할 수 있다. 중국어 형태소 분석 장치는, 이러한 방식으로 문장의 처음 위치에서 마지막 위치까지 진행하면서 인접 세그먼트 후보들을 비교하여 각 위치마다 최종 세그먼트를 선택한다. 중국어 형태소 분석 장치는, 상기 빈도 곱을 계산할 때 저장부(140)에 저장된 빈도 데이터(145)를 이용한다.
단계 S906에서, 중국어 형태소 분석 장치는, 최종 선택한 세그먼트들의 토큰 문자열 및 태그 리스트를 출력한다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
110 : 문장 분리부
120 : 정규화부
130 : 세그먼트 분리부
140 : 저장부
141 : 문장 분리 규칙
142 : 사전 데이터
143 : 패턴 규칙
144 : 디폴트 규칙
145 : 빈도 데이터

Claims (17)

  1. 삭제
  2. 중국어 형태소 분석 장치에 있어서,
    문서 데이터를 수신하고, 문장 분리 규칙에 기초하여 상기 수신된 문서 데이터에서 문장들을 분리하는 문장 분리부;
    상기 문장 분리부에서 분리된 문장들에 대해 정규화 처리를 수행하는 정규화부; 및
    사전 데이터, 패턴 규칙 및 디폴트 규칙을 참조하여 상기 정규화 처리된 각 문장에서 세그먼트 후보들을 분리하고 우선순위에 기초하여 세그먼트 후보들 중 최종 세그먼트를 선택하며 선택된 최종 세그먼트로부터 토큰 문자열 및 토큰 태그 리스트를 출력하는 세그먼트 분리부를 포함하고,
    상기 문장 분리 규칙은, 복수의 규칙 그룹으로 구성되고,
    상기 복수의 규칙 그룹 각각은,
    문장 분리 후보 위치를 나타내는 키 문자를 포함하는 키 엔트리와,
    분리 여부 정보, 좌측 조건, 및 우측 조건을 포함하는 규칙 엔트리를 포함하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  3. 제 2 항에 있어서,
    상기 문장 분리부는,
    상기 분리 여부 정보에 문장 분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  4. 제 2 항에 있어서,
    상기 문장 분리부는,
    상기 분리 여부 정보에 문장 미분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 미분리하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 정규화부는,
    상기 문장 분리부에서 분리된 문장들에서 전각 문자를 반각 문자로 변환하고 영어 대문자를 소문자로 변환하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  6. 제 3 항 또는 제 4 항에 있어서,
    상기 사전 데이터는, 각 토큰별 태그 및 문자열을 포함하고, 적어도 하나 이상의 토큰으로 구성된 세그먼트의 문자들이 트리 구조로 구성되며,
    상기 세그먼트 분리부는,
    상기 정규화 처리된 각 문장마다 첫 문자부터 마지막 문자까지 상기 사전 데이터의 각 세그먼트의 트리 구조를 탐색하여 세그먼트 후보를 분리하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  7. 제 3 항 또는 제 4 항에 있어서,
    상기 패턴 규칙은, 복수의 패턴 그룹으로 구성되고,
    상기 복수의 패턴 그룹 각각은,
    분석 기준 위치를 나타내는 키 문자를 포함하는 키 엔트리와,
    상기 키 문자 이후 우측 문자열에 대한 조건을 포함하는 패턴 엔트리와,
    토큰 태그를 포함하며,
    상기 세그먼트 분리부는,
    상기 정규화 처리된 각 문장에서 상기 복수의 패턴 그룹 각각의 키 문자를 검색하고 해당 키 문자의 우측 문자열이 상기 패턴 엔트리의 우측 문자열에 대한 조건을 만족하면, 해당 우측 문자열을 세그먼트 후보로 분리하고 토큰 태그를 부여하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  8. 제 3 항 또는 제 4 항에 있어서,
    상기 세그먼트 분리부는,
    각 문장의 왼쪽에서 오른쪽으로 진행하면서 소정의 위치에서 두 개의 세그먼트 후보로 구성된 복수의 조합을 구성하고, 각 조합의 문자 개수의 합, 문자 개수의 차이, 빈도 곱 중 적어도 하나를 비교하여 최종 조합을 선택하고, 최종 선택된 조합의 첫 번째 세그먼트 후보를 해당 소정의 위치에서의 최종 세그먼트로 결정하는 것을 특징으로 하는 중국어 형태소 분석 장치.
  9. 삭제
  10. 중국어 형태소 분석 장치에서 중국어 형태소를 분석하는 방법으로서,
    문서 데이터를 수신하고, 문장 분리 규칙에 기초하여 상기 수신된 문서 데이터에서 문장들을 분리하는 문장 분리 단계;
    상기 분리된 문장들에 대해 정규화 처리를 수행하는 정규화 단계; 및
    사전 데이터, 패턴 규칙 및 디폴트 규칙을 참조하여 상기 정규화 처리된 각 문장에서 세그먼트 후보들을 분리하고 우선순위에 기초하여 세그먼트 후보들 중 최종 세그먼트를 선택하며 선택된 최종 세그먼트로부터 토큰 문자열 및 토큰 태그 리스트를 출력하는 세그먼트 분리 단계를 포함하고,
    상기 문장 분리 규칙은, 복수의 규칙 그룹으로 구성되고,
    상기 복수의 규칙 그룹 각각은,
    문장 분리 후보 위치를 나타내는 키 문자를 포함하는 키 엔트리와,
    분리 여부 정보, 좌측 조건, 및 우측 조건을 포함하는 규칙 엔트리를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    상기 문장 분리 단계는,
    상기 분리 여부 정보에 문장 분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 분리하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서,
    상기 문장 분리 단계는,
    상기 분리 여부 정보에 문장 미분리 정보가 포함된 규칙 그룹을 참조하여, 상기 문서 데이터에서, 상기 키 문자를 검색하고, 상기 키 문자를 기준으로 한 좌측 문자열과 우측 문자열이 상기 좌측 조건 및 우측 조건을 만족하면, 상기 키 문자의 다음 위치에서 문장을 미분리하는 것을 특징으로 하는 방법.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 정규화 단계는,
    상기 분리된 문장들에서 전각 문자를 반각 문자로 변환하고 영어 대문자를 소문자로 변환하는 것을 특징으로 하는 방법.
  14. 제 11 항 또는 제 12 항에 있어서,
    상기 사전 데이터는, 각 토큰별 태그 및 문자열을 포함하고, 적어도 하나 이상의 토큰으로 구성된 세그먼트의 문자들이 트리 구조로 구성되며,
    상기 세그먼트 분리 단계는,
    상기 정규화 처리된 각 문장마다 첫 문자부터 마지막 문자까지 상기 사전 데이터의 각 세그먼트의 트리 구조를 탐색하여 세그먼트 후보를 분리하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제 11 항 또는 제 12 항에 있어서,
    상기 패턴 규칙은, 복수의 패턴 그룹으로 구성되고,
    상기 복수의 패턴 그룹 각각은,
    분석 기준 위치를 나타내는 키 문자를 포함하는 키 엔트리와,
    상기 키 문자 이후 우측 문자열에 대한 조건을 포함하는 패턴 엔트리와,
    토큰 태그를 포함하며,
    상기 세그먼트 분리 단계는,
    상기 정규화 처리된 각 문장에서 상기 복수의 패턴 그룹 각각의 키 문자를 검색하고 해당 키 문자의 우측 문자열이 상기 패턴 엔트리의 우측 문자열에 대한 조건을 만족하면, 해당 우측 문자열을 세그먼트 후보로 분리하고 토큰 태그를 부여하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제 11 항 또는 제 12 항에 있어서,
    상기 세그먼트 분리 단계는,
    각 문장의 왼쪽에서 오른쪽으로 진행하면서 소정의 위치에서 두 개의 세그먼트 후보로 구성된 복수의 조합을 구성하고, 각 조합의 문자 개수의 합, 문자 개수의 차이, 빈도 곱 중 적어도 하나를 비교하여 최종 조합을 선택하고, 최종 선택된 조합의 첫 번째 세그먼트 후보를 해당 소정의 위치에서의 최종 세그먼트로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제 10 항에 따른 방법을 컴퓨터 시스템을 통해 실행하는 컴퓨터 프로그램으로서 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020200047671A 2020-04-20 2020-04-20 중국어 형태소 분석 장치 및 방법 KR102317910B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200047671A KR102317910B1 (ko) 2020-04-20 2020-04-20 중국어 형태소 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200047671A KR102317910B1 (ko) 2020-04-20 2020-04-20 중국어 형태소 분석 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102317910B1 true KR102317910B1 (ko) 2021-10-26

Family

ID=78268364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200047671A KR102317910B1 (ko) 2020-04-20 2020-04-20 중국어 형태소 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102317910B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110057495A (ko) * 2009-11-24 2011-06-01 한국전자통신연구원 중국어 구문 분절 방법 및 장치
JP2015170241A (ja) * 2014-03-10 2015-09-28 富士ゼロックス株式会社 多言語文書分類プログラム及び情報処理装置
KR20170091904A (ko) * 2016-02-02 2017-08-10 한국전자통신연구원 어절 단위 변수화 패턴에 기반한 문장 재구성 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110057495A (ko) * 2009-11-24 2011-06-01 한국전자통신연구원 중국어 구문 분절 방법 및 장치
JP2015170241A (ja) * 2014-03-10 2015-09-28 富士ゼロックス株式会社 多言語文書分類プログラム及び情報処理装置
KR20170091904A (ko) * 2016-02-02 2017-08-10 한국전자통신연구원 어절 단위 변수화 패턴에 기반한 문장 재구성 장치 및 방법

Similar Documents

Publication Publication Date Title
EP2978134A1 (en) Compression device, compression method, dictionary generation device, dictionary generation method, expansion device, expansion method, expansion program, and information processing system
EP3032439B1 (en) Compression computer program and search computer program
US20040186706A1 (en) Translation system, dictionary updating server, translation method, and program and recording medium for use therein
WO2021230054A1 (ja) 文抽出装置及び文抽出方法
US10853569B2 (en) Construction of a lexicon for a selected context
EP3598321A1 (en) Method for parsing natural language text with constituent construction links
JP2018010514A (ja) 対訳辞書作成装置、対訳辞書作成方法、及び対訳辞書作成プログラム
EP2653981A1 (en) Natural language processing device, method, and program
KR101379128B1 (ko) 사전 생성 장치, 사전 생성 방법 및 사전 생성 프로그램을 기억하는 컴퓨터 판독 가능 기록 매체
US10810368B2 (en) Method for parsing natural language text with constituent construction links
CN101470701A (zh) 支持基于有限状态机的语义规则的文本分析器及其方法
KR101086550B1 (ko) 로마자 변환을 이용한 일본어 자동 추천 시스템 및 방법
KR101358614B1 (ko) 말뭉치 기반의 한국어 형태소 분석장치 및 그 분석방법
KR102317910B1 (ko) 중국어 형태소 분석 장치 및 방법
US6470362B1 (en) Extracting ordered list of words from documents comprising text and code fragments, without interpreting the code fragments
KR100617319B1 (ko) 영한 자동번역을 위하여 동사구 패턴 및 의미 벡터를 사용하는 동사/명사 대역어 선택 장치 및 그 방법
CN106250354B (zh) 处理文书的信息处理装置、信息处理方法以及程序
CN115455416A (zh) 一种恶意代码检测方法、装置、电子设备及存储介质
KR102476208B1 (ko) 한국어 명사 추출 토크나이저 기반의 워드클라우드 시스템
JP6623840B2 (ja) 同義語検出装置、同義語検出方法及び同義語検出用コンピュータプログラム
JP3952964B2 (ja) 読み情報決定方法及び装置及びプログラム
CN113330430B (zh) 语句结构向量化装置、语句结构向量化方法及记录有语句结构向量化程序的记录介质
JP5621145B2 (ja) 文書チェック装置、文書チェックプログラムおよび文書チェック方法
Benko Language Code Switching in Web Corpora.
Silva et al. Information retrieval system using Multiwords Expressions (MWE) as descriptors

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant