KR20160053587A - 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 - Google Patents
엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 Download PDFInfo
- Publication number
- KR20160053587A KR20160053587A KR1020140152841A KR20140152841A KR20160053587A KR 20160053587 A KR20160053587 A KR 20160053587A KR 1020140152841 A KR1020140152841 A KR 1020140152841A KR 20140152841 A KR20140152841 A KR 20140152841A KR 20160053587 A KR20160053587 A KR 20160053587A
- Authority
- KR
- South Korea
- Prior art keywords
- text data
- data
- hash value
- engram
- appearance frequency
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 및 장치에 관한 것으로서, 본 발명에 따른 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법은 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하는 단계, 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하는 단계, 해시 함수 (hash function) 를 이용하여 후보 텍스트 데이터에 대한 해시값 (hash value) 을 산출하는 단계 및 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 (n-gram) 테이블로부터 해시값에 대응하는 출현 빈도 데이터를 획득하는 단계를 포함하고, 본 발명은 텍스트 데이터의 해쉬값을 통해 엔-그램 테이블의 출현 빈도 데이터를 획득함으로써, 엔-그램 테이블에서 인덱스값을 제거하여 엔-그램 테이블의 크기를 감소시킬 수 있는 효과가 있다.
Description
본 발명은 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법에 관한 것으로서, 보다 상세하게는 엔-그램 테이블에 포함된 출현 빈도 데이터를 텍스트 데이터에 대한 해시값에 기초하여 추출함으로써 엔-그램 언어 모델의 데이터베이스 사이즈를 최소화하는 방법 및 장치에 관한 것이다.
엔-그램 언어 모델 (n-gram language model) 은 자연어의 처리를 위한 대표적인 확률적 언어 모델이다. 자연어를 인식하기 위한 장치 또는 소프트웨어에서는 입력 신호를 분석한 후 엔-그램 언어 모델을 이용하여 출현 빈도가 높은 텍스트를 추출함으로써 인식의 정확도를 향상시킬 수 있다. 엔-그램 언어 모델의 데이터베이스는 텍스트 데이터를 포함하는 사전 데이터 베이스, 및 텍스트 데이터의 출현 빈도 데이터 및 텍스트 데이터의 인덱스값을 포함하는 엔-그램 테이블을 포함한다.
이와 관련하여, 종래의 경우, 엔-그램 언어 모델의 사전 데이터베이스에 저장된 텍스트 데이터는 동일한 프리픽스 (prefix) 를 갖는 텍스트 데이터가 동일한 노드를 통과하도록 구성된 트라이 (trie) 구조로 이루어진다. 사전 데이터베이스에서 추출된 텍스트 데이터는 고유한 인덱스 값을 갖고, 그 인덱스 값에 기초하여 엔-그램 테이블로부터 추출된 텍스트 데이터에 대응하는 출현 빈도 데이터를 획득한다. 자연어의 인식을 위해, 사전 데이터베이스에는 수많은 텍스트 데이터가 요구되며, 엔-그램 테이블에는 수많은 텍스트 데이터 각각에 대응하는 수많은 인덱스값이 요구된다. 이에 따라, 사전 데이터 베이스 및 엔-그램 테이블의 사이즈가 과도하게 커지는 문제점이 발생한다. 특히, 모바일 디바이스의 경우, 사전 데이터베이스 및 엔-그램 테이블의 사이즈가 과도하게 커지면 실질적으로 자연어 인식을 위한 소프트웨어를 사용할 수 없다는 문제점이 발생한다.
따라서, 사전 데이터베이스 및 엔-그램 테이블과 같은 엔-그램 언어 모델을 사용하기 위한 데이터베이스의 사이즈를 최소화 할 수 있는 방법 및 장치의 개발이 요구된다.
본 발명이 해결하고자 하는 과제는 텍스트 데이터의 해쉬값을 통해 엔-그램 (n-gram) 테이블의 출현 빈도 데이터를 획득함으로써, 엔-그램 테이블에서 인덱스값을 제거할 수 있는 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 최소 완전 해쉬 함수를 이용하여 텍스트 데이터의 해쉬값을 산출함으로써, 출현 빈도 데이터의 획득 시 충돌의 발생을 감소시킬 수 있는 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 사전 데이터베이스를 DAWG (directed acyclic word graph) 구조로 구성함으로써, 사전 데이터베이스의 크기를 감소시킬 수 있는 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법은 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하는 단계, 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하는 단계, 해시 함수 (hash function) 를 이용하여 후보 텍스트 데이터에 대한 해시값 (hash value) 을 산출하는 단계 및 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 (n-gram) 테이블로부터 해시값에 대응하는 출현 빈도 데이터를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 출현 빈도 데이터에 기초하여 후보 텍스트 데이터로부터 선택된 결과 텍스트 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 해시 함수는 최소 완전 해시 함수 (minimal perfect hash function) 인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 사전 데이터베이스에 저장된 데이터는 DAWG (directed acyclic word graph) 구조인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 해시값은 연속하는 정수 중 하나의 정수이고, 엔-그램 테이블은 해시값에 기초하여 출현 빈도 데이터가 정렬된 테이블이고, 획득하는 단계는, 엔-그램 테이블에서 해시값의 순번과 동일한 순번에 위치된 출현 빈도 데이터를 획득하는 단계인 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 장치는 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하는 생성부, 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하는 추출부, 해시 함수를 이용하여 후보 텍스트 데이터에 대한 해시값을 산출하는 산출부 및 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 테이블로부터 해시값에 대응하는 출현 빈도 데이터를 획득하는 획득부를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 출현 빈도 데이터에 기초하여 후보 텍스트 데이터로부터 선택된 결과 텍스트 데이터를 출력하는 출력부를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 해시 함수는 최소 완전 해시 함수인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 사전 데이터베이스에 저장된 데이터는 DAWG 구조인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 해시값은 연속하는 정수 중 하나의 정수이고, 엔-그램 테이블은 해시값에 기초하여 출현 빈도 데이터가 정렬된 테이블이고, 추출부는, 엔-그램 테이블에서 해시값의 순번과 동일한 순번에 위치된 출현 빈도 데이터를 추출하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 컴퓨터 판독 가능 매체는 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하고, 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하고, 해시 함수를 이용하여 후보 텍스트 데이터에 대한 해시값을 산출하고, 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 테이블로부터 해시값에 대응하는 출현 빈도 데이터를 획득하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 텍스트 데이터의 해쉬값을 통해 엔-그램 테이블의 출현 빈도 데이터를 획득함으로써, 엔-그램 테이블에서 인덱스값을 제거하여 엔-그램 테이블의 크기를 감소시킬 수 있는 효과가 있다.
본 발명은 텍스트 데이터의 해쉬값을 산출하기 위해 최소 완전 해쉬 함수를 이용함으로써, 출현 빈도 데이터의 획득 시 충돌의 발생을 감소시킬 수 있는 효과가 있다.
본 발명은 사전 데이터베이스를 DAWG (directed acyclic word graph) 구조로 구성함으로써, 사전 데이터베이스의 크기를 감소시킬 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 엔-그램 (n-gram) 언어 모델의 데이터베이스 사이즈 최소화 알고리즘에 대한 개략적인 구성도이다.
도 2는 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 최소화 알고리즘을 설명하기 위한 순서도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 최소화 알고리즘에 따라 구현된 예시적인 실시예를 도시한다.
도 2는 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 최소화 알고리즘을 설명하기 위한 순서도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 최소화 알고리즘에 따라 구현된 예시적인 실시예를 도시한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 엔-그램 (n-gram) 언어 모델의 데이터베이스 사이즈 최소화 알고리즘에 대한 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 시스템 (100) 은 생성부 (110), 추출부 (120), 산출부 (130) 및 획득부 (140) 를 포함한다. 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 시스템 (100) 은 데스크탑, 노트북, 태블릿 “PC” 및 모바일 단말기와 같은 프로세서 및 메모리를 포함하는 컴퓨팅 디바이스에서 구현될 수 있다.
생성부 (110) 는 입력 신호를 분석하여 텍스트 데이터를 생성한다. 생성부 (110) 는 사용자의 음성 또는 필기 등과 같은 입력에 의해 발생된 입력 신호를 수신하고 분석하여 입력 신호에 대응되는 임의의 개수의 텍스트 데이터를 생성할 수 있다.
추출부 (120) 는 생성부 (110) 에 의해 생성된 텍스트 데이터에서 사전 데이터베이스 (10) 에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출한다. 추출부 (120) 는 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 시스템 (100) 이 구현된 디바이스의 메모리에 저장된 사전 데이터베이스 (10) 를 검색하여 후보 텍스트 데이터를 추출할 수 있다.
산출부 (130) 는 해시 함수 (hash function) 를 이용하여 추출부 (120) 에 의해 추출된 후보 텍스트 데이터에 대한 해시값 (hash value) 을 산출한다. 산출부 (130) 는 후보 텍스트 데이터를 각각 해시 함수에 대입하여 후보 텍스트 데이터 각각에 대한 해시값을 산출할 수 있다.
획득부 (140) 는 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 테이블 (20) 로부터 산출부 (130) 에 의해 산출된 해시값에 대응하는 출현 빈도 데이터를 획득한다. 획득부 (140) 는 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 시스템 (100) 이 구현된 디바이스의 메모리에 저장된 엔-그램 테이블 (20) 로부터 출현 빈도 데이터를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 시스템 (100) 은 출현 빈도 데이터에 기초하여 후보 텍스트 데이터로부터 선택된 결과 텍스트 데이터를 출력하는 출력부를 더 포함할 수도 있다.
도 1에서는 식별의 편의를 위해 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 시스템 (100) 내에 생성부 (110), 추출부 (120), 산출부 (130) 및 획득부 (140) 가 개별적인 구성으로 도시되었으나, 각각의 부는 구현 방법 또는 본 발명의 실시예에 따라 하나의 통합적인 형태 또는 분리적 형태로 설계 구현되는 것도 가능하다.
도 2는 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 최소화 방법을 설명하기 위한 순서도이다. 설명의 편의를 위해 도 1을 참조하여 설명한다.
본 발명의 일 실시예에 따른 자막 표시 방법은 생성부 (110) 가 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성함으로써 개시된다 (S210). 입력 신호란 사용자의 음성 또는 필기 등과 같은 자연어 입력에 따라 발생되는 신호이다. 생성부 (110) 는 입력 신호를 분석하여 입력 신호에 대응될 가능성이 있는 모든 텍스트 데이터를 생성할 수 있다. 예를 들어, 생성부 (110) 는 사용자의 음성 입력에 따라 발생된 입력 신호를 분석하여 입력 신호와 대응될 가능성이 있는 “top”, “tob”, “teap” 및 “tap” 등과 같은 텍스트 데이터를 생성할 수도 있다. 텍스트 데이터는 하나 이상의 임의의 개수일 수 있다.
다음으로, 추출부 (120) 는 하나 이상의 텍스트 데이터에서 사전 데이터베이스 (10) 에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출한다 (S220). 사전 데이터베이스 (10) 란 인간이 사용하는 단어에 대응하는 모든 텍스트 데이터를 포함하는 데이터베이스이다. 추출부 (120) 는 생성부 (110) 에 의해 생성된 텍스트 데이터 중 사전 데이터베이스 (10) 에 존재하는 텍스트 데이터만을 추출할 수 있다. 예를 들어, 생성부 (110) 에서 “top”, “tob”, “teap” 및 “tap” 등과 같은 텍스트 데이터가 생성된 경우, 추출부 (120) 는 사전 데이터베이스 (10) 에 존재하는 텍스트 데이터인 “top” 및 “tap” 등과 같은 텍스트 데이터를 후보 텍스트 데이터로서 추출할 수도 있다.
본 발명의 일 실시예에 따르면, 사전 데이터베이스 (10) 에 저장된 데이터는 DAWG (directed acyclic word graph) 구조일 수도 있다. DAWG 구조란 각각의 텍스트 데이터를 구성하는 낱자들 중 공통된 낱자들 모두가 동일한 노드를 통과하도록 구성된 데이터 트리 (tree) 구조이다. 사전 데이터베이스 (10) 를 DAWG 구조로 구성하는 경우, 사전 데이터베이스 (10) 는 텍스트 데이터에 대한 인덱스값을 포함하지 않을 수 있다. 그러나, 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스사이즈 최소화 방법에서는 인덱스값을 대신하여 텍스트 데이터 각각에 대응하는 해시값을 이용하므로 인덱스값 없이도 텍스트 데이터에 대응하는 출현 빈도 데이터를 획득할 수 있다. 해시값을 이용하는 방법에 대해서는 후술한다. 사전 데이터베이스 (10) 에 저장된 데이터를 DAWG 구조로 구성함으로써, 데이터베이스가 트라이 (trie) 구조로 구성된 경우보다 노드 수를 줄여 사전 데이터베이스 (10) 의 크기를 감소시킬 수 있다. 또한, 사전 데이터베이스 (10) 에서 인덱스값을 제거함으로써 사전 데이터베이스 (10) 의 크기를 감소시킬 수 있다.
다음으로, 산출부 (130) 는 해시 함수를 이용하여 후보 텍스트 데이터에 대한 해시값을 산출한다 (S230). 해시 함수란 임의의 길이의 데이터를 고정된 짧은 길이의 데이터로 매핑하는 함수이다. 해시 함수를 통해 생성된 데이터를 해시값이라 한다. 산출부 (130) 는 후보 텍스트 데이터 각각을 해시 함수에 대입하여 후보 텍스트 데이터 각각과 대응되는 해시값을 산출할 수 있다.
본 발명의 일 실시예에 따르면, 해시 함수는 최소 완전 해시 함수 (minimal perfect hash function) 일 수도 있다. 최소 완전 해시 함수란 n개의 데이터를 n개의 연속하는 정수로 일대일 매핑하는 함수이다. 해시 함수가 최소 완전 해시 함수인 경우, 산출부 (130) 에 의해 산출되는 해시값은 연속하는 정수 중 하나의 정수일 수 있다. 최소 완전 해시 함수를 이용함으로써, 텍스트 데이터와 해시값을 일대일로 대응시켜 출현 빈도 데이터의 획득시 충돌의 발생을 감소시킬 수 있고, 연속된 정수인 해시값을 산출하여 엔-그램 테이블 (20) 에서 출현 빈도 데이터를 해시값의 크기 순서대로 정렬하는 경우 보다 용이하게 정렬할 수 있다.
다음으로, 획득부 (140) 는 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 테이블 (20) 로부터 해시값에 대응하는 출현 빈도 데이터를 획득한다 (S240). 출현 빈도 데이터는 특정 텍스트 데이터가 사용된 빈도를 나타내는 확률값으로서, 기계 학습에 의해 축적되는 데이터이다. 엔-그램 테이블 (20) 은 텍스트 데이터의 출현 빈도 데이터를 텍스트 데이터에 포함된 단어의 개수에 따라 별도의 테이블에 저장할 수 있다. 예를 들어, 엔-그램 테이블 (20) 은 한 개의 단어를 포함하는 텍스트 데이터의 출현 빈도 데이터가 저장된 유니그램 (unigram) 테이블, 두 개의 단어를 포함하는 텍스트 데이터의 출현 빈도 데이터가 저장된 바이그램 (bigram) 테이블 및 세 개의 단어를 포함하는 텍스트 데이터의 출현 빈도 데이터가 저장된 트라이그램 (trigram) 테이블 등을 포함할 수 있다. 한편, 엔-그램 테이블 (20) 은 출현 빈도 데이터가 해시값에 기초하여 정렬된 테이블일 수 있다. 즉, 엔-그램 테이블 (20) 은 각각의 텍스트 데이터에 대응되는 출현 빈도 데이터가 각각의 텍스트 데이터의 해시값의 크기 순으로 정렬된 테이블일 수 있다. 이 경우, 획득부 (140) 는 후보 텍스트 데이터에 포함된 단어 개수에 대응하는 엔-그램 테이블 (20) 에서 후보 텍스트 데이터의 해시값의 순번과 동일한 순번에 위치된 출현 빈도 데이터를 획득할 수도 있다. 예를 들어, 후보 텍스트 데이터가 “top” 이고 “top”의 해시값이 5인 경우, 획득부 (140) 는 유니그램 테이블에서 5번째로 위치된 출현 빈도 데이터를 획득할 수도 있다.
상술한 바와 같이, 인덱스값을 사용하지 않고 텍스트 데이터의 해시값을 이용하여 텍스트 데이터에 대한 출현 빈도 데이터를 획득함으로써,
본 발명의 일 실시예에 따르면, 출력부는 출현 빈도 데이터에 기초하여 후보 텍스트 데이터로부터 선택된 결과 텍스트 데이터를 출력할 수도 있다. 출력부는 출현 빈도 데이터를 통해 후보 텍스트 데이터 중 출현 빈도가 가장 높은 텍스트 데이터를 선택하여 결과 텍스트 데이터로서 출력할 수도 있다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 엔-그램 언어 모델의 데이터베이스 최소화 방법에 따라 구현된 예시적인 실시예를 도시한다.
도 3을 참조하면, 생성부는 사용자의 음성 또는 필기에 의해 발생된 입력 신호를 분석하여 “top”, “tob”, “taps”, “teap”, “tops” 및 “tap” 을 텍스트 데이터 (310) 로서 생성한다.
추출부는 “top”, “tob”, “taps”, “teap”, “tops” 및 “tap” 등과 같은 텍스트 데이터 (310) 각각을 사전 데이터베이스에서 검색하여 사전 데이터베이스에 대응하는 단어가 존재하는 텍스트 데이터인 “top”, “taps”, “tops” 및 “tap” 을 후보 텍스트 데이터 (320) 로서 추출한다. 여기서, 사전 데이터베이스에 저장된 데이터는 DAWG 구조이다. 도 4를 참조하면, 좌측에 도시된 트라이 구조의 데이터는 루트 노드 (root node) 로부터 시작되어 텍스트 데이터의 낱자가 상이한 경우 노드가 분화되면서 리프 노드 (leaf node) 에 이른다. 우측에 도시된 DAWG 구조의 데이터는 루트 노드로부터 시작되어 텍스트 데이터의 낱자가 상이한 경우 노드가 분화되고 그 뒤에 위치된 낱자가 동일한 경우 노드가 합쳐지면서 리프 노드에 이른다. 텍스트 데이터가 DAWG 구조로 구성된 경우, 트라이 구조로 구성된 경우보다 요구되는 노드의 개수가 줄어들게 되므로 데이터베이스의 크기가 감소될 수 있다.
다시 도 3을 참조하면, 산출부는 최소 완전 해시 함수에 후보 텍스트 데이터 (320) “top”, “taps”, “tops” 및 “tap”를 대입하여 해시값 3, 0, 2 및 1을 산출한다. 획득부는 유니그램 테이블 (340) 로부터 해시값 각각에 대하여 해시값 각각의 순번과 동일한 순번에 위치된 출현 빈도 데이터를 획득한다. 도 3에 도시된 바와 같이, 획득부는 유니그램 테이블 (340) 로부터 해시값 0에 대응하는 출현 빈도 데이터 0.1, 해시값 1에 대응하는 출현 빈도 데이터 0.1, 해시값 2에 대응하는 출현 빈도 데이터 0.3, 해시값 3에 대응하는 출현 빈도 데이터 0.5를 획득한다. 출력부는 출현 빈도가 가장 높은 해시값 3에 대응하는 텍스트 데이터 “top”을 출력할 수 있다.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10 사전 데이터베이스
20 엔-그램 테이블
110 수신부
120 확인부
130 산출부
140 추출부
310 텍스트 데이터
320 후보 텍스트 데이터
330 해시값
340 엔-그램 테이블
20 엔-그램 테이블
110 수신부
120 확인부
130 산출부
140 추출부
310 텍스트 데이터
320 후보 텍스트 데이터
330 해시값
340 엔-그램 테이블
Claims (11)
- 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하는 단계;
상기 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하는 단계;
해시 함수 (hash function) 를 이용하여 상기 후보 텍스트 데이터에 대한 해시값 (hash value) 을 산출하는 단계; 및
상기 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 (n-gram) 테이블로부터 상기 해시값에 대응하는 출현 빈도 데이터를 획득하는 단계를 포함하는 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법. - 제 1 항에 있어서,
상기 출현 빈도 데이터에 기초하여 상기 후보 텍스트 데이터로부터 선택된 결과 텍스트 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법. - 제 1 항에 있어서,
상기 해시 함수는 최소 완전 해시 함수 (minimal perfect hash function) 인 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법. - 제 1 항에 있어서,
상기 사전 데이터베이스에 저장된 데이터는 “DAWG” (directed acyclic word graph) 구조인 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법. - 제 1 항에 있어서,
상기 해시값은 연속하는 정수 중 하나의 정수이고,
상기 엔-그램 테이블은 상기 해시값에 기초하여 출현 빈도 데이터가 정렬된 테이블이고,
상기 획득하는 단계는,
상기 엔-그램 테이블에서 상기 해시값의 순번과 동일한 순번에 위치된 상기 출현 빈도 데이터를 획득하는 단계인 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법. - 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하는 생성부;
상기 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하는 추출부;
해시 함수를 이용하여 상기 후보 텍스트 데이터에 대한 해시값을 산출하는 산출부; 및
상기 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 테이블로부터 상기 해시값에 대응하는 출현 빈도 데이터를 획득하는 획득부를 포함하는 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 장치. - 제 6 항에 있어서,
상기 출현 빈도 데이터에 기초하여 상기 후보 텍스트 데이터로부터 선택된 결과 텍스트 데이터를 출력하는 출력부를 더 포함하는 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 장치. - 제 6 항에 있어서,
상기 해시 함수는 최소 완전 해시 함수인 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 장치. - 제 6 항에 있어서,
상기 사전 데이터베이스에 저장된 데이터는 “DAWG” 구조인 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 장치. - 제 6 항에 있어서,
상기 해시값은 연속하는 정수 중 하나의 정수이고,
상기 엔-그램 테이블은 상기 해시값에 기초하여 출현 빈도 데이터가 정렬된 테이블이고,
상기 추출부는,
상기 엔-그램 테이블에서 상기 해시값의 순번과 동일한 순번에 위치된 상기 출현 빈도 데이터를 추출하는 것을 특징으로 하는, 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 장치. - 입력 신호를 분석하여 하나 이상의 텍스트 데이터를 생성하고,
상기 하나 이상의 텍스트 데이터에서 사전 데이터베이스에 대응하는 단어가 존재하는 후보 텍스트 데이터를 추출하고,
해시 함수를 이용하여 상기 후보 텍스트 데이터에 대한 해시값을 산출하고,
상기 후보 텍스트 데이터의 단어 개수에 대응하는 엔-그램 테이블로부터 상기 해시값에 대응하는 출현 빈도 데이터를 획득하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140152841A KR20160053587A (ko) | 2014-11-05 | 2014-11-05 | 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140152841A KR20160053587A (ko) | 2014-11-05 | 2014-11-05 | 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160053587A true KR20160053587A (ko) | 2016-05-13 |
Family
ID=56023417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140152841A KR20160053587A (ko) | 2014-11-05 | 2014-11-05 | 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160053587A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200104033A (ko) * | 2019-02-26 | 2020-09-03 | 주식회사퍼즐시스템즈 | 데이터베이스에서 조회된 대용량 데이터를 컬럼 별 바이너리 파일로 저장하는 시스템 |
KR20200104035A (ko) * | 2019-02-26 | 2020-09-03 | 주식회사퍼즐시스템즈 | 컬럼 별 바이너리 파일 저장 구조를 이용하여 대용량 데이터를 메모리 용량 제약없이 차트로 표시하는 시스템 |
-
2014
- 2014-11-05 KR KR1020140152841A patent/KR20160053587A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200104033A (ko) * | 2019-02-26 | 2020-09-03 | 주식회사퍼즐시스템즈 | 데이터베이스에서 조회된 대용량 데이터를 컬럼 별 바이너리 파일로 저장하는 시스템 |
KR20200104035A (ko) * | 2019-02-26 | 2020-09-03 | 주식회사퍼즐시스템즈 | 컬럼 별 바이너리 파일 저장 구조를 이용하여 대용량 데이터를 메모리 용량 제약없이 차트로 표시하는 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608963B (zh) | 一种基于互信息的中文纠错方法、装置、设备及存储介质 | |
CN105917327B (zh) | 用于将文本输入到电子设备中的系统和方法 | |
US20200349175A1 (en) | Address Search Method and Device | |
CN106570180B (zh) | 基于人工智能的语音搜索方法及装置 | |
CN106815197B (zh) | 文本相似度的确定方法和装置 | |
CN108140019B (zh) | 语言模型生成装置、语言模型生成方法以及记录介质 | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
US9286526B1 (en) | Cohort-based learning from user edits | |
CN106354716B (zh) | 转换文本的方法和设备 | |
CN109299471B (zh) | 一种文本匹配的方法、装置及终端 | |
US9679566B2 (en) | Apparatus for synchronously processing text data and voice data | |
CN105373527B (zh) | 一种省略恢复方法及问答系统 | |
JP5097802B2 (ja) | ローマ字変換を用いる日本語自動推薦システムおよび方法 | |
CN106815593B (zh) | 中文文本相似度的确定方法和装置 | |
KR20160053587A (ko) | 엔-그램 언어 모델의 데이터베이스 사이즈 최소화 방법 | |
KR20120045906A (ko) | 코퍼스 오류 교정 장치 및 그 방법 | |
CN112765963A (zh) | 语句分词方法、装置、计算机设备及存储介质 | |
CN104239294A (zh) | 藏汉翻译系统的多策略藏语长句切分方法 | |
KR102129575B1 (ko) | 단어 교정 시스템 | |
CN114528824A (zh) | 文本纠错方法、装置、电子设备及存储介质 | |
US11080488B2 (en) | Information processing apparatus, output control method, and computer-readable recording medium | |
JP6055267B2 (ja) | 文字列分割装置、モデルファイル学習装置および文字列分割システム | |
JP2009176148A (ja) | 未知語判定システム、方法及びプログラム | |
KR20210097366A (ko) | Crf 기반 한자 문헌의 문장 및 어구 식별 장치 및 방법 | |
KR101543024B1 (ko) | 발음 기반의 번역 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |