KR101130384B1 - 태그 데이터를 갖는 풀-폼 어휘집 및 이를 구축하고이용하는 방법 - Google Patents

태그 데이터를 갖는 풀-폼 어휘집 및 이를 구축하고이용하는 방법 Download PDF

Info

Publication number
KR101130384B1
KR101130384B1 KR1020040070523A KR20040070523A KR101130384B1 KR 101130384 B1 KR101130384 B1 KR 101130384B1 KR 1020040070523 A KR1020040070523 A KR 1020040070523A KR 20040070523 A KR20040070523 A KR 20040070523A KR 101130384 B1 KR101130384 B1 KR 101130384B1
Authority
KR
South Korea
Prior art keywords
delete delete
word
information
lexicon
data
Prior art date
Application number
KR1020040070523A
Other languages
English (en)
Other versions
KR20050039540A (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 마이크로소프트 코포레이션
Publication of KR20050039540A publication Critical patent/KR20050039540A/ko
Application granted granted Critical
Publication of KR101130384B1 publication Critical patent/KR101130384B1/ko

Links

Images

Classifications

    • 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/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling

Abstract

컴퓨터 판독가능 매체에 저장된 어휘집(lexicon)은 언어 처리 시스템에 의해 이용된다. 어휘집은 각 입력된 워드와 관련된 워드 정보를 복수의 데이터 필드 내에 저장할 수 있다. 데이터 필드는, 스펠링 및 문법에 관한 정보, 음성 부분, 입력된 워드가 또 다른 워드로 변환될 수 있는 단계, 음성 부분, 워드 설명 및 합성어에 대한 세그멘테이션을 포함할 수 있다. 어휘집에 저장될 수 없는 정보는 중간 색인표에 저장될 수 있다. 어휘집을 구축하고, 업데이트하고, 이용하 것에 관한 방법이 소개된다.
Figure R1020040070523
어휘집, 스테틱 세그멘테이션 마스크 정보, 태크 데이터를 갖는 풀-폼 어휘집, 태크 데이터를 갖는 풀-폼 어휘집 구축 방법, 태크 데이터를 갖는 풀-폼 어휘집 이용 방법

Description

태그 데이터를 갖는 풀-폼 어휘집 및 이를 구축하고 이용하는 방법{FULL-FORM LEXICON WITH TAGGED DATA AND METHODS OF CONSTRUCTING AND USING THE SAME}
도 1은 본 발명이 구현될 수 있는 범용 컴퓨팅 환경의 블럭도.
도 2는 본 발명이 구현될 수 있는 일반 모바일 컴퓨팅 환경의 블럭도.
도 3은 본 발명에 따른 어휘집을 액세싱하는 언어 처리 시스템의 블럭도.
도 4는 본 발명에 따른 데이터 필드를 도시.
도 4a는 도 4에 도시된 데이터 필드들의 확장을 도시.
도 5는 본 발명의 어휘집을 구성하는 일 실시예의 블럭도.
도 6은 본 발명의 어휘집을 구성하는 방법을 도시하는 순서도.
<도면의 주요 부분에 대한 부호의 설명>
110 : 컴퓨터
120 : 처리부
121 : 시스템 버스
130 : 시스템 메모리
본 발명은 2003년 10월 23일에 출원된 미국 임시 특허 출원 시리얼 번호 60/513,921에 기초하며 그것의 잇점을 주장하고, 그것의 내용이 전체적으로 참조를 통해 여기에 통합되었다.
관련 출원에의 교차 참조
다음의 동시 계류중이고, 통상적으로 양도된 특허 출원: 2004년 3월 19일자로 출원된 "Compound Word Breaker and Spell Checker"이라는 명칭의 미국 출원 시리얼 번호 10/804,930호 및 2004년 3월 19일자로 출원된 "System and Method for Performing Analysis on Word Variants"이라는 명칭의 미국 출원 시리얼 번호 10/804,883호를 참조하며, 이들은 모두 그 전체가 여기에 참조로서 포함된다.
본 발명은 자연어 또는 텍스트 처리에 관한 것이다. 특히, 본 발명은 어휘집(lexicon)을 저장하기 위한 개선된 데이터 구조 및 이를 구축하고 사용하는 방법에 관한 것이다.
자연어 또는 텍스트 처리는 많은 유형의 시스템들 또는 어플리케이션들: 검색 엔진에 대한 것들 등의 워드 브레이킹(word breaking), 문법 및 스펠링 확인, 수기(handwriting) 및 음성 인식, 기계 번역, 텍스트 마이닝 등을 포함한다. 많은 자연어 처리 시스템들 및 어플리케이션들의 공통적이고 중요한 요소는 하나 이상의 어휘집이다.
일반적으로, 어휘집은 서로 다른 유형의 워드들에 관한 정보를 포함하는 데이터 구조이다. 워드 유형들은 기초 워드들(또는 "표제어(lemma)"), 어형 변화(inflections), 파생어들을 포함한다. 표제어는 일반적으로 워드의 다른 유형들이 어형 변화되거나 파생되는 "점프(jump)" 등의 워드의 가장 단순한 형태를 포함한다. 표제어는 완전 워드이지만 워드 어간(word stem)은 반드시 완전 워드는 아니라는 점에서, 표제어는 워드 어간과 다르다.
어형 변화들은 대안적이거나, 접사(접두사 또는 접미사)를 추가하거나, 숫자, 인칭, 분위기, 또는 시제 등의 문법적 특징들을 반영하는, 전형적으로 표제어인, 워드의 형태들을 어형 변화시킨다. 그러므로, "jumps", "jumping", 및 "jumped" 등은 표제어 "jump"의 어형 변화들이다. 파생어들은 파생에 의해 다른 워드들로부터 형성된 워드들이다. 그러므로, "전기(electricity)"는 "전기의(electric)"의 파생어이다.
어휘집은 구문론적 및 의미론적 정보도 포함할 수 있다. 구문론적 정보는 워드들이 문법적으로 올바른 문단 또는 문장들로 통합되는 구문 규칙들에 관련된다. 그러므로, 워드에 대한 구문론적 정보는, 그 워드가 명사, 동사, 형용사들중 어느것 인지를 포함할 수 있고, 같은 문장 내의 하나 이상의 다른 워드들의 관계, 즉 주부-동사 또는 동사-목적어 등의 관계를 포함할 수 있다. 역으로, 의미론적 정보는 의미를 전달한다. 워드 의미는 정의, 성별, 숫자, 및 워드가 퍼스트 네임, 라스트 네임, 도시명 등의 지명된 엔티티인지의 여부를 포함할 수 있다. 구문론적인 정보와 의미론적인 정보들 사이에 일부 중첩되는 부분이 있다. 예를 들어, 단수 또는 복수 등의 숫자 및 성별은 모두 의미를 전달하고, 어떤 구문 규칙들에 따라서 사용된다.
추가적으로, 어휘집은 특정 유형의 언어 처리에 유용한 정보를 포함할 수 있 다. 예를 들어, 워드 및 그것의 세그멘테이션(segmantation)을 포함하는 정보는, 예를 들어, 워드 브레이킹 어플리케이션을 돕도록 저장될 수 있다. 다른 구문론적 및/또는 의미론적 정보는 쿼링(querying), 문법 확인, 또는 스펠 확인 등의 다른 언어 처리 시스템을 돕도록 저장될 수 있다.
일반적으로, 컴퓨팅 속도 및 어휘집에 저장된 정보의 양과 세부사항 사이에 교환이 일어난다. 그러므로, 예를 들어, 워드 브레이킹 어플리케이션에서, 어휘집이 이미 직면한 각 표제어의 다양한 어형 변화 및 파생어에 대한 세부적인 정보를 저장하고 있을 때, 컴퓨팅 속도는 증가한다. 예를 들어, 쿼링된 워드로부터 표제어 및 어형 변화를 생성하기 위해 워드 브레이커가 쿼리 내의 워드를 조직적으로 파괴(break down)할 때, 컴퓨팅 속도가 감소한다.
동작중에, 자연어 처리 시스템은 하나의 입력 워드 또는 워드 스트링을 수신하고, 어휘집에 저장된 정보에 액세스하여 시스템 매개변수들에 따르는 하나의 워드 또는 워드들을 처리할 수 있다. 예를 들어, 확장 워드 스테밍 시스템을 사용하는 서치 또는 데이터 검색 엔진은, "dogs" 등의 쿼리를 수신하고, "hounddog", "dog", "dogged", "Collie", 또는 "Lassie" 등의 저장된 관련 용어들(예를 들어, 합성어, 표제어, 어형 변화, 파생어, 동의어, 지명된 엔티티 등)을 어휘집으로부터 검색할 수 있다. 대안적으로는, 수신된 쿼리는 "dogs", "dogged" 등으로서 입력될 수 있고, 그 시스템은 어휘집을 액세싱하여 표제어 "dog"를 검색한다. 이러한 워드 생성 또는 붕괴는 시스템 매개변수들에 의해 워드 검색을 넓히는데 (또는 좁히는데) 사용될 수 있다.
문법 또는 스펠링 확인 시스템 등의 다른 시스템은 "He eat a hptdg"와 같은 워드 스트링을 수신하고, 어휘집에 저장된 정보에 액세싱하여 "He eats a hot dog"의 문장으로 정정할 수 있다. 마찬가지로, 수기 및 음성 인식 등의 시스템, 기계 번역, 텍스트 마이닝, 및 유사 시스템들은 어휘집에 저장된 정보에 액세싱하여 시스템 매개변수들에 따라 처리를 또한 행할 수 있다.
다수의 자연어 또는 텍스트 처리 시스템들에 사용되거나 적응될 수 있는 어휘집, 특히, 효율적으로 저장되고, 용이하게 액세싱가능하고, 업데이트될 수 있는 어휘집은 중요한 유틸리티를 갖는다.
어휘집은 컴퓨터 판독가능 매체에 저장되며 다양한 언어 처리 시스템들에 의해 액세싱될 수 있다. 어휘집은 전형적으로 각각의 워드 엔트리에 관련된 복수의 데이터 필드들 내에 워드 정보를 저장한다. 데이터 필드들은 스펠링 및 다이내믹 세그멘테이션, 음성 부분, 워드가 다른 워드로 변환될 수 있는 단계들, 워드 설명, 및 합성어들에 대한 세그멘테이션에 대한 정보를 포함할 수 있다. 어휘집에 저장될 수 없는 정보는 중간 색인표 내에 저장될 수 있다.
한 양상에서, 어휘집은 다양한 어플리케이션들에 사용되거나 단일 어플리케이션에 임베딩될 수 있다. 다른 양상에서, 어휘집 구성 방법이 소개된다. 선택적으로, 이 방법은 새로운 워드들을 어휘집에 업데이트시키는 방법을 포함할 수 있다. 다른 양상에서, 어휘집은 영어 등의 특정 언어에 대해서 구성된다. 그러나, 서브세트 어휘집은 엔지니어링 등의 특정 분야에 관련된 것으로 구성될 수 있다.
도 1은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 예를 도시한다. 컴퓨팅 시스템 환경(100)은 단지 적절할 컴퓨팅 환경의 일 예이고, 본 발명의 사용 및 기능성의 영역에 어떤 제한을 두기 위한 것은 아니다. 컴퓨팅 환경(100)은 예시적인 동작 환경(100)에 도시된 임의의 하나 또는 컴포넌트들의 조합과 관련된 임의의 의존성 또는 요구를 갖는 것으로 해석되서는 않된다.
본 발명은 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성들에서 동작한다. 본 발명과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋 탑 박스(set top box), 프로그램가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전화 시스템, 상기의 시스템 또는 장치 중의 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함될 수 있지만, 이에 한정되지 않는다.
본 발명은 컴퓨터에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령과 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들로는, 처리부(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 처리부(120)에 연결시키는 시스템 버스(121)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 (메자닌(Mezzanine) 버스로도 알려진) 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 한정되는 것은 아니다.
컴퓨터(110)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 한정되지 않는다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 설정되거나 변경된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의의 임의의 조합이 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(110) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133; BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 처리부(120)에 의해 즉시 액세스될 수 있고 및/또는 처리부(120)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 1은 오퍼레이팅 시스템(134), 응용 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시한다.
컴퓨터(110)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(141), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(151), 및 CD-ROM 또는 기타 광학 매체 등의 분리형 비휘발성 광학 디스크(156)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(155)가 도시되어 있다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
앞서 기술되고 도 1에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(110)를 위한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 응용 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 오퍼레이팅 시스템(134), 응용 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(144), 응용 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)는 최소한 다른 복사본(different copies)임을 나타내기 위하여 다른 번호를 부여하였다.
사용자는 키보드(162), 마이크로폰(163), 및 마우스, 트랙볼, 또는 터치 패드 등의 포인팅 디바이스(161) 등의 입력 장치를 통해 컴퓨터(110)에 명령 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통해 종종 처리부(120)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 포트(USB)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터외에도, 컴퓨터는 또한 출력 주변 인터페이스(190)를 통해 접속될 수 있는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 핸드헬드(hand-held) 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 공통 네트워크 노드일 수 있으며, 컴퓨터(110)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 그 외의 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 구축하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 1은 원격 컴퓨터(180)에 상주하는 원격 응용 프로그램(185)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다.
도 2는 대안적이고 예시적인 컴퓨팅 환경인 모바일 장치(200)의 블럭도이다. 모바일 장치(200)는 마이크로프로세서(202), 메모리(204), 입출력(I/O) 컴포넌트(206), 및 원격 컴퓨터들 또는 다른 모바일 장치들과의 통신용 통신 인터페이스(208)를 포함한다. 일 실시예에서, 상술된 컴포넌트들은 통신하기 위해 적절한 버스(210)를 통해 다른 것에 접속된다.
메모리(204)는 모바일 장치(200)로의 일반 전력이 차단될 때, 메모리(204)에 저장된 정보가 손실되지 않도록 베터리 백업 모듈(도시되지 않음)을 구비한 RAM 등 의 비휘발성 전자 메모리로 구현된다. 메모리(204)의 일부는 가급적으로 프로그램을 실행용 어드레싱가능한 메모리로 할당되고, 메모리(204)의 다른 일부는 가급적으로 디스크 드라이브 상에 저장을 시뮬레이팅하는 것과 같이 저장을 위해 사용된다.
메모리(204)는 오퍼레이팅 시스템(212), 응용 프로그램(214) 뿐만 아니라 오브젝트 저장(216)을 포함한다. 동작중에, 오퍼레이팅 시스템(212)은 가급적으로 메모리(204)로부터 프로세서(202)에 의해 실행된다. 일 선호되는 실시예에서 오퍼레이팅 시스템(212)은 마이크로소프트사의 상용 윈도우즈 CE 브랜드 오퍼레이팅 시스템이다. 오퍼레이팅 시스템(212)은 모바일 장치들용으로 가급적으로 설계되고, 노출된 어플리케이션 프로그래밍 인터페이스 및 방법들의 세트를 통해 어플리케이션(214)에 의해 사용될 수 있는 데이터베이스 특징들을 구현한다. 적어도 부분적으로 노출된 어플리케이션 프로그래밍 인터페이스 및 방법들의 호출에 대한 응답으로, 오브젝트 저장(216) 내의 오브젝트들은 어플리케이션(214) 및 오퍼레이팅 시스템(212)에 의해 유지된다.
통신 인터페이스(208)는 모바일 장치(200)가 정보를 송신 및 수신하도록 허용하는 복수의 장치들 및 기술들을 나타낸다. 이 장치들은 몇 가지 나열하자면, 유선 및 무선 모뎀, 위성 수신기 및 브로드케스트 동조기 등을 포함한다. 모바일 장치(200)는 또한 컴퓨터에 직접적으로 접속되어 데이터를 교환할 수 있다. 이러한 경우에, 통신 인터페이스(208)는 스트리밍 정보를 전송할 수 있는 적외선 트랜시버, 또는 직렬 또는 병렬 통신 접속이 될 수 있다.
입출력 컴포넌트(206)는 터치-감지 스크린, 버튼, 롤러, 및 마이크로폰 등의 다양한 입력 장치들뿐만 아니라 오디오 생성기, 바이브레이팅 장치, 및 디스플레이를 포함하는 다양한 출력 장치들을 포함한다. 상기 리스팅된 장치들은 예 일뿐 모바일 장치(200)에 모두 제공될 필요는 없다. 추가적으로, 다른 입출력 장치들은 본 발명의 범위 내에서 모바일 장치(200)에 부착되거나 설립될 수 있다.
도 3은 일반적으로 하나 이상의 워드들의 텍스트 스트링 형태의 언어 입력(302)을 수신하고, 또한 일반적으로 하나 이상의 워드들의 텍스트 스트링 형태의 언어 출력(304)을 제공하기 위해 언어 입력(302)을 처리하는 언어 또는 텍스트 처리 시스템(300)을 일반적으로 도시한다. 언어 입력(302) 및 출력(304)은 또한 스트리밍 어휘 데이터가 될 수 있고, 여기서 처리 시스템(300)은 어휘집(308) 상의 정보에 빠르게 액세싱하여 음성 인식 시스템에서 처럼, 출력(304)을 생성한다.
일반적으로, 언어 처리 시스템(300)은 워드 브레이커(예를 들어, 쿼리 시스템용), 스펠 확인기, 문법 확인기, 음성 인식 시스템, 수기 인식 시스템, 기계 번역 시스템, 텍스트 마이닝 시스템, 또는 다른 언어 처리 시스템으로 구현될 수 있다. 당업자들에 의해 인식된 바와 같이, 언어 처리 시스템(300)은 단독 어플리케이션, 모듈, 또는 다른 시스템에 의해 액세스가능하거나 그 다른 시스템들에 포함되는 컴포넌트들 일 수 있다.
언어 처리 시스템 및 어플리케이션(300)은 텍스트 분석기(306) 및 어휘집(308)을 포함한다. 텍스트 분석기(306)는 입력(302)을 수신하고, 어휘집(308)에 저장된 워드 정보를 액세싱 및 수신하고, 수신된 워드 정보를 처리하여 출력(304) 을 생성하거나 제공하는 컴포넌트들 및/또는 모듈들을 요약적으로 나타낸다. 본 발명의 한 양상은 특정 어플리케이션에 의해 요구된 바와 같이 텍스트 분석기(306)에 정보를 효율적으로 제공하기 위한 어휘집(308)에 대한 개선된 데이터 구조이다. 어휘집(308)은 확장 워드 스테밍 시스템, 쿼리 시스템 및/또는 워드 브레이커, 스펠 확인기, 문법 확인기, 음성 인식 시스템, 수기 인식 시스템, 및 기계 번역 시스템 등의 복수의 어플리케이션들의 구현물에서 구현되거나 도움을 주기 위해 적응, 사용, 또는 요구되는 기본 양상 또는 데이터를 포함할 수 있다.
어휘집(308)은 다수의 언어 처리 시스템들에서 및/또는 다수의 텍스트 분석기와 관련되서 사용될 수 있는 별도의 컴포넌트가 될 수 있다. 당업자들은 다양한 텍스트 분석기(306)들이 어떻게 어휘집에 적응될 수 있는지를 쉽게 인식할 수 있다. 어휘집(308)은 또한 특정 어플리케이션에 통합되거나 단지 어플리케이션에 액세스 가능할 수 있다. 또한, 텍스트 분석기(306)는 도 1의 컴퓨터(110) 상에 상주하거나 원격 컴퓨터(180) 등의 컴퓨터(110)와 통신하는 임의의 컴퓨터에 상주할 수 있음이 이해된다. 마찬가지로, 어휘집(308)은 컴퓨터(110) 내의 상술된 임의의 저장 장치에 상주하거나 적절한 통신 링크를 통해 액세스가능할 수 있다.
도 4는 어휘집(308) 등의 본 발명의 어휘집에 입력되는 워드들의 레이아웃 또는 데이터 구조를 요약적으로 도시한다. 어휘집(308)에 저장된 각각의 엔트리 또는 워드(401, 402, 및 405)는 관련 데이터 필드를 갖는다. 예를 들어, 워드(401)는 관련된 그것 내의 데이터 필드들(402, 404, 406, 408, 및 410)을 갖는다. 워드(403)는 관련된 그것 내의 데이터 필드들(412, 414, 416, 418, 및 420)을 갖는 다. 워드(405)는 관련된 그것 내의 데이터 필드들(432, 434, 436, 438, 및 440)을 갖는다. 가급적으로, 각각의 입력된 워드에 대해서, 하나의 필드(402, 412, 432)는 스펠링 및 다이내믹 세그멘테이션 정보를 포함한다. 제2 필드(404, 414, 434)는 POS(part-of-speech) 정보를 포함한다. 제3 필드(406, 416, 436)는 표제어 델타 정보(lemma delta)를 포함한다. 제4 필드(408, 418, 438)는, 일반적으로 어휘집형 정의를 포함하지 않는, 설명 정보 또는 입력된 워드의 설명을 포함한다. 제5 필드(410, 420, 440)는 스테틱 세그멘테이션 정보 또는 스테틱 세그멘테이션 마스크를 포함한다. 스테틱 세그멘테이션 마스크는 특히 여기에 보다 세부적으로 설명된 "bluehounddog" 등의 합성어에 관련된다. 몇몇 실시예들에서, 데이터 필드들은 도 4에 도시된 바와 같이 크기가 다양할 수 있다. 다른 실시예들에서, 데이터 필드 크기는 고정적이다.
도 4a는 워드가 어휘집(308)에 저장될 수 있는 방법을 보다 세부적으로 도시한다. 데이터 필드(450, 460, 470, 480, 490)들은 각각 도 4에 도시된 바와 같이 스펠링 및 다이내믹 세그멘테이션, POS, 표제어 델타, 설명, 및 스테틱 세그멘테이션 데이터 필드에 대응한다. 각각의 필드(450, 460, 470, 480, 490)는 정보의 복수 데이터 바이트로 나뉜다. 스펠링 및 다이내믹 세그멘테이션 필드(450)는 바이트(452, 454, 456, 458)를 포함할 수 있다. POS 필드(460)는 바이트(462, 464, 466, 468)를 포함할 수 있다. 표제어 델타 필드(470)는 바이트(472, 474, 476, 478)를 포함할 수 있다. 설명 필드(480)는 바이트(482, 484, 486, 488)를 포함할 수 있다. 스테틱 세그멘테이션 필드(409)는 바이트(492, 494, 496, 498)를 포함할 수 있다. 몇몇 실시예들에서, 도시된 데이터 바이트들의 각각은 8 비트의 데이터를 포함할 수 있고, 그것에 의해서, 각각의 데이터 필드는 32 비트의 정보 또는 232 개의 가능한 조합 또는 데이터 값을 포함할 수 있다. 그러나, 공지된 것처럼, "호프만 인코딩"이 다양한 데이터 필드들을 인코딩하기 위해 사용될 수 있므로, 보다 적은 양의 공간이 워드 정보 또는 데이터를 인코딩하기 위해 각각의 엔트리에 할당된 저장 공간의 최대양(예를 들어, 5개의 4-바이트 필드)까지 사용될 수 있다.
도 5는 본 발명에 따라 어휘집(308, 540)을 구성하는 어휘집 구성 및 업데이트 모듈(500)을 도시한다. 어휘 데이터(502)는 상술된 입력 장치 또는 저장 장치 중 임의의 것으로부터 어휘집 구조 및 업데이트 모듈(500)에 의해 수신된다. 어휘 데이터(502)는 신문 또는 저널, 잡지, 책 등의 인쇄된 출판물로부터 수신된 처리되지 않은 데이터를 포함할 수 있다. 어휘 데이터(502)는 또한 웹소스 또는 다양한 음성 인식 엔진으로부터 수신된 텍스트 일 수 있다. 대안적인 실시예들에서, 어휘 데이터(502)는 워드 리스트나 어휘(510)를 구축하기 위해 필요한 사전-처리의 양을 제한하는 워드의 어휘집, 특히 언어 특정 어휘집을 포함할 수 있다.
몇몇 실시예들에서, 어휘집 구조 및 업데이트 모듈(500)은 특정 언어에 대한 어휘집(308, 540)에 입력될 어휘 또는 워드들의 워드 리스트(510)를 생성하는 사전-처리 모듈(504)을 포함한다. 워드 리스트(510)는 또한 초기에 어휘집(308, 540)에 입력되는 모든 워드들의 완성된 리스트 일 수 있다. 대안적으로, 워드 리스트(510)는 어휘집(308, 540)을 증대시키거나 업데이트시키기 위해 어휘집(308, 540) 에 추가되는 새로운 워드들을 포함할 수 있다.
본 발명은 입력된 각각의 워드에 대해 저장된 정보의 양 또는 부유(richness)에 대한 어휘집 내의 모든 엔트리에 걸쳐 데이터의 가능한 조합의 양을 조절한다. 대부분의 실시예들에서, 특정한 표 또는 컬럼을 갖는 공지된 "호프만 인코딩"은 상술한 바와 같이 본 발명을 구현하기 위해 사용될 수 있다. 일반적으로, 엔트리에 대한 정보의 양은 그 정보를 인코딩하기 위해 필요한 최소한의 저장 크기 또는 공간을 점유한다. 엔트리에 걸쳐 보다 많은 데이터 패턴들은 보다 작은 전반적 어휘집 크기이다. 그러나, 각각의 엔트리에 대한 정보가 부유해 질수록, 전체 어휘집에 대한 인코딩된 패턴들의 총 수가 커진다. 인코딩된 패턴들에서의 이러한 증가는 "엔트로피"로 유추되어 왔고, 압축 기술의 주요 과제이다. 그러므로, "엔트로피"가 높을수록, 데이터를 손실없이 인코딩하기 위해 보다 많은 비트의 정보가 요구된다. 그러므로, 어휘집에 저장된 데이터의 엔트로피를 어느 정도 실용가능하게 최소화시키는 것이 바람직하다.
도 5로 돌아가서 참조하면, 종래에는, 사전-처리 모듈(504)이 어휘 데이터(502)를 워드, 및 마침표와 콤마 등의 문법적인 특징들로 파싱하거나 세크멘팅하는 파서(516)를 포함할 수 있다. 도 6은 어휘집(308, 540)을 구성하기 위한 방법의 단계들을 나타낸다. 사전-처리 모듈(504)은 도 6에 도시된 단계 602에서 어휘 데이터를 수신하고, 단계 604에서 워드 리스트나 어휘(510)에 추가되는 어휘 데이터(502) 내의 워드들을 선택하거나 식별하는 워드 추출기(508)를 포함할 수 있다. 사전-처리 모듈(504)은 선택적일 수 있는데, 특히 어휘 데이터(502)가 본 발명에 따라 업데이트될 어휘집이나 어휘집을 포함할 수 있는 실시예에서 특히 그렇다.
워드 리스트나 어휘(510)는 어휘집(308, 540)을 구성하기 위해 본 발명에 따라 워드들을 처리하거나 태깅하는 태깅 모듈(512)에 의해 수신된다. 일반적으로, 어플리케이션 또는 시스템들에 의해 액세싱될 때 태그들은 유용한 워드들에 관한 어떤 구문론적 및/또는 의미론적 정보를 나타낸다. 태깅 모듈(512)은, 스펠링 및 다이내믹 세크멘테이션 모듈(514), 음성 모듈의 부분(516), 표제어 델타 모듈(518), 설명 모듈(520), 및 스테틱 세크멘테이션 마스크 모듈(522) 중 임의의 것 또는 모두를 포함할 수 있는 하부-모듈들을 포함한다. 각각의 태깅 서브-모듈은 어휘집(308, 540) 내의 각각의 엔트리에 대한 정보 또는 태그들의 비트들을 추가한다.
단계 606에서, 스펠링 및 다이내믹 세그멘테이션 모듈(514)은 스펠링 및 다이내믹 세그멘테이션 정보를 포함하는 하나의 태그 또는 태그들을 구성한다. 대부분의 실시예들에서, 각각의 입력된 워드의 텍스트 스펠링은 고유의 식별 번호와 관련된다. 스펠링 정보는 인코딩되어 어휘집(308, 540) 내의 각각의 워드가 스펠링 정정 어플리케이션들을 돕는 방법을 표시할 수 있다. 예를 들어, 몇몇 실시예들에서, 스펠링 정보는, 가능한 미스스펠링에 직면할 때, 제안 세트 내의 랭킹 워드들을 생성 또는 조정하기 위해 스펠 확인기에 의해 사용될 수 있는 빈도수 표시를 포함할 수 있다. 스펠링 정보는 또한 워드가 정정에 대해 확인되지만 제안 세트 내에 생성되지 않아야 하는지의 여부를 포함할 수 있다. 이 정보는 특히 부적절하거나 비속하다고 생각되는 워드들에 대해 유용하다. 이러한 인코딩된 정보는 비속함 이 스펠링에 대해 확인되지만 결코 미스스펠링에 대한 대안적 워드들의 제안 세트의 부분이 되지 않음을 허용한다. 스펠링 정보는 또한 같은 언어의 다른 방언의 스펠 확인 워드들에 대한 정보를 포함할 수 있다. 예를 들어, 미국 영어는 용어 "색(color)"을 사용하지만, 영국 영어는 다른 스펠링 "색(colour)"을 갖는다. 그러므로, 스펠링 태그는 예를 들어, "색(colour)"이 영국 영어에서는 바르게 스펠링되지만 미국 영어에서는 미스스펠링됨을 나타낼 수 있다.
추가적으로, 스펠링 및 다이내믹 세그멘테이션 모듈(514)은 다이내믹 세그멘테이션 정보를 포함한다. 다이내믹 세그멘테이션 정보는 구성 워드들이 합성어에 합법적으로 조합됐는지의 여부를 판정하는 검증 프로세스에 의해 액세싱될 수 있는 정보의 비트들을 포함한다. 몇몇 실시예들에서, 검증 프로세스는 워드가 두개 이상의 개별적 어휘 엔트리에 매핑되어 선택된 언어의 정확한 합성어를 인식하도록한다.
예를 들어, 합성어 "블루하운드독(bluehounddog)"은 세그멘테이션 비트들 또는 값들이 마킹될 수 있는 구성 워드들 "blue", "hound", 및 "dog"을 갖는다. 어플리케이션 런타임 동안, 이러한 비트들은 구성 워드들이 올바르게 조합되어 정확한 합성어 인지를 판정하기 위해 액세싱 될 수 있다. 다이내믹 세크멘테이션 비트들은 또한, 독일어 등의 광범위한 합성 언어들에서 특히 중요한, 접두사, 접미사 등의 다른것에 관한 하나의 구성 워드의 포지션을 나타낼 수 있다. 다른 실시예들에서, 구성 워드는 스페인어에서 일반적으로 일어나는 것과 같이 하나 이상의 코드를 포함할 수 있다.
어휘집(308, 540)은 워드 합성어를 "과잉-수용(over-accept)"해서는 안된다라는 점에 주의해야 한다. 즉, 합성어가 특정 언어에서 유효하지 않으면, 구성 워드들은 그들이 조합될 수 있음을 나타내서는 않된다. 그러므로, 본 발명에서, 어휘집에 특정 언어를 적응시키는 것은 언어 특정적이다. 예를 들어, 합성어에 대한 독일어 규칙들은 스페인어와는 다르다. 그러나, 모듈(514)은 스펠링 및 다이내믹 세그멘테이션 필드(450)에 저장된 비트들을 사용하는 각각의 언어 내의 구성 워드들에 대한 적절한 다이내믹 세그멘테이션 정보를 인코딩할 수 있다.
몇몇 실시예들에서, 모듈(514)은 특정 코드 또는 값과 함께 합성어의 가능한 제1 워드에 대한 다이내믹 세그멘테이션 정보를 인코딩한다. 제1 워드에 가능한 부착물은 부착물로써 인코딩되고, 그것이 제1 워드에 부착될 수 있음을 나타내는 다른 코드와 함께 더 인코딩된다. 간단히 말하면, 일반적으로 특정 언어에 대한 어휘집에 합성어들을 구축하는데 대한- 음성상의, 구문론상의, 및/또는 형태학상의 -가능한 조합 규칙들의 매트릭스가 있다. 그러나 어플리케이션들이 어휘집에 저장된 정보를 빠르게 액세스할 수 있다는 장점이 있다. 단계 608에서, 음성 모듈(516)의 부분은, 워드가 명사, 동사, 또는 형용사중 무엇인지와 같은, POS에 관한 정보를 추가한다. 그러나, 보다 상세한 POS 정보가 포함될 수 있다. 예를 들어, 복수 명사는 같은 명사의 단수 형태에 대하여 고유 코드를 갖을 수 있다. POS 태그에 대한 하나의 중요한 어플리케이션은 주어진 문장 또는 스트링 내의 워드들의 역할을 구별하는 것이다. 예를 들어, 워드 "dog"은 두개의 구별되는 POS 태그를 가질 수 있다. : 하나의 태그는 명사로서의 그것의 역할을 나타내고, 다른 하나는 동사로서의 그것의 역할을 나타낸다. 스트링 "I pet the dog"에서, "dog"은 명사이다. 그러나, 문장 "I dogged after my big brother"에서, 기본 용어 "dog"은 동사 역할을 한다. 워드의 구체적 역할은 워드들 사이의 관계를 정의하는 개별 워드들에 대해 인코딩된 주변 용어들 및 POS 태그들과 연관되어 결정될 수 있다. POS 태그들은 또한 "chunk" 또는 "island" 파싱이라고 일반적으로 공지된 단순한 구문론적 파싱을 수행하기 위해 규칙 세트들과 함께 사용될 수 있다. 구문론적 파싱에서, POS 태그들, 및 시제 등의 다른 정보는 인접한 용어들의 작은 "청크들"을 단일 구문론적 유닛으로 링크될 문장으로 인식하도록 사용될 수 있다.
단계 610에서, 표제어 델타 모듈(518)은 두개의 워드(예를 들어, 어형변환 및 표제어)가 서로 어떻게 다른지에 대한 정보를 인코딩한다. 몇몇 실시예들에서, 정보의 4 바이트까지는, 본질적으로 하나의 워드(예를 들어, 어형변환 또는 파생어)를 다른 워드(예를 들어, 기초 워드 또는 표제어)로 변환시키는 단계들인, 표제어 델타 필드(470)에 인코딩된다. 워드 "runs"가 어휘집(340)에 입력된다고 가정해보자. 본 발명에서, 워드 "runs"는, 예를 들어, 완성된 변환을 만들기 위해 필요한 네개의 상태들 또는 단계들까지, 사용하는 그것의 표제어 "run"으로 변환될 수 있다. 일반적으로, 본 발명은 어형변환들 또는 파생어들을 주어진 언어에 대해 대응하는 표제어들로 변환시키는데 필요한 대부분의 공통 단계들(예를 들어, 15개의 가능한 단계들)을 인코딩하려고 시도한다.
대부분의 실시예들에서, 4-상태 상태 머신은 "인수값(argument value)"이 후속하는 "op 코드"를 사용하여 워드들을 다른 워드들로 변환시키거나 매핑시킨다. "runs"가 "run"으로 변환되는 예에서, op 코드는 "cut a suffix" 또는 "CutSuffix"이고 인수값은 "1"(즉, "runs"의 끝에서 잘린 철자의 수)이될 수 있다. 몇몇 실시예에서, 15개의 다른 op 코드들은 변환을 기록하기 위해 사용될 수 있다. 예를 들어, "cut a prefix" 또는 "CutPrefix"는 인수값이나 절단된 철자들의 수가 후속하는 워드의 시작의 절단을 나타내는 또 다른 op 코드일 수 있다. 몇몇 op 코드들은 좀처럼 사용되지 않는다. 일 도시적인 실시예에서, 4비트의 정보는 인코딩되어 4-비트 인수값이 후속하는 op 코드를 나타낸다. 그러므로, 8비트 또는 1바이트의 정보 또는 최대 4바이트의 표제어 델타 필드(470)는 각각의 단계에 대해서 표제어 델타 모듈(518)에 의해 인코딩될 수 있다.
다른 변환 단계들은 특정 식별자에 대응하는 인수값을 갖는 접미사가 추가되는 op 코드 "AddSuffix"를 포함할 수 있다. 각각의 식별자는 "s" 또는 "er" 등의 특별 접미사와 관련이 있다. 이러한 식별자들은 정의된 리스트 내에 있다.
또 다른 op 코드 "AddSuffixChar"를 이용할 수 있는데, 여기서는 추가되는 suffix가 정의된 리스트에서 나오는 것이 아니라, 오히려 실제의 접미사 문자를 갖는 인수를 포함한다. 이러한 op 코드의 형태는 저장 공간의 2배(예컨대, 2 바이트)를 차지할 수 있다는 점에 유의한다.
op 코드 "AddPrefix"는 "AddSuffix"와 유사하나, 정의된 리스트로부터의 접두사에 대한 특정한 식별자에 대응하는 인수값을 포함한다.
op 코드 "AddPrefixChar"는 "AddSuffixChar"와 유사하나, 접두사에 대한 실제 문자에 대응하는 인수값을 포함한다.
op 코드 "ToUpper"를 이용하여 문자를 대문자로 바꿀 수 있는데, 여기서 인수값이 문자 위치를 제공한다. 마찬가지로, op 코드 "ToLower"를 이용하여 문자를 소문자로 바꿀 수 있는데, 여기서 인수값은 문자 위치를 제공한다.
op 코드 "RemoveAccent"를 이용하여, 문자로부터 액센트를 제거할 수 있는데, 여기서 인수값이 문자 위치를 제공한다.
op 코드 "AddAcuteAccent"를 이용하여 정확한 액센트를 문자에 추가할 수 있는데, 여기서 인수값은 문자 위치를 제공한다. 마찬가지로, op 코드 "AddGraveAccent"를 이용하여 그레이브 액센트를 인수값에 의해 규정된 특정한 문자 위치에 추가할 수 있다. op 코드 "AddDiaeresis"를 이용하여 인수값에 의해 규정된 문자 위치에 분음 기호(diaeresis)를 추가할 수 있다. op 코드 "AddCircumflexAccent"를 이용하여 곡절 액센트(circumflex accent)를 인수값에 의해 정해진 문자 위치에 추가한다. 마찬가지로, op 코드 "AddTilde"를 이용하여, 인수값에 의해 정해진 문자 위치에 발음 부호(tilde)를 추가할 수 있다.
최종적으로, op 코드 "SubstituteChar"를 이용하여, 특정 위치의 특정한 문자를 교체할 수 있다. 이 경우, 2개의 인수값이 있을 수 있는데, 하나는 문자와 관련된 것이고, 다른 하나는 선택된 위치와 관련된 것이다.
단계 612에서, 설명 모듈(520)이, 인칭, 성, 시제, 수, 또는 용어가 설명 필드(480) 내의 지명된 엔티티의 일부인지 여부에 대한 기본적인 의미를 전달하는 정보를 인코드한다. 예를 들면, "John"이 퍼스트 네임으로 인코드되고, "Smith"가 라스트 네임으로 인코드될 수 있도록, "John Smith" 등의 문자 스트링을 인코드한 다 워드 "he"는 3인칭 단수 남자로서 인코드될 수 있다. 워드 "ran"은 1, 2 및 3인칭이고, 과거 시제로 인코드될 수 있다. 예를 들어, 지명된 엔티티의 검출을 갖는 시스템 또는 애플리케이션에서는, 본 발명의 어휘집에 액세스하여, 개별적으로 처리되는 것보다는 일괄적으로 처리되어야 하는 워드 스트링이 언제 지명된 엔티티가 될 것인지를 판정할 수 있다. 인칭, 성, 시제 및 수 등의 다른 설명적인 비트는, 스펠링이나 문법 수정 등과 같은 분야에서 유용하다. 몇몇 실시예에서는, 설명 필드(480) 내의 설명 정보가, 이전의 데이터 필드(450, 460, 470)으로서 4바이트 데이터 필드까지 차지할 수 있다.
단계 614에서, 스테틱 세그멘테이션 마스크 모듈(522)이 스테틱 세그멘테이션 마스크 필드(490) 내의 정보를 인코드한다. 인코드된 정보는, 워드, 특히 합성어를 서로 다른 세그먼트 및 길이로 분할하는 일련의 컷 포인트 또는 세그멘테이션을 포함한다. 예를 들면, 합성어 "bluehounddog"에서, 컷 포인트 또는 세그먼트 길이는 4, 5, 및 3(blue를 위한 4개의 문자, hound를 위한 5개의 문자 및 dog를 위한 3개의 문자)일 수 있다. 서치 엔진에서와 같이, 합성어의 구성 워드를 재구축하기 위해 런타임에서 세그먼트 길이를 이용할 수 있다. 특정 실시예에서는, 마지막 3개 자리가 드롭될 수 있는데, 이는 4 및 5에서 첫 번재 2개의 컷 포인트로부터 암시되기 때문이다. 최종 세그멘테이션 길이(예컨대, "hounddog"에서 3)를 드롭시키는 것은, 코드 조합의 수가 줄어들기 때문에 필요한 저장 공간의 양을 감소시키기는데 이점이 된다. 다른 실시예에서는, 특정한 합성어에 대하여 하나 이상의 세그멘테이션을 가질 수 있다. 따라서, "bluehounddog"은 4, 5, 3 및/또는 4, 5로 분할될 수 있다. 다른 세그멘테이션은 4, 8 및/또는 4("blue"를 위한 4개, "hounddog"을 위한 8개)를 포함할 수 있으며, 여기서 "hounddog"은 단수의 구성 워드로서 분할된다. 따라서, 스테틱 세그멘테이션 마스크 모듈(522)이, 특정한 합성어를 위해, 어휘집(308, 540)에 저장되는 복수의 세그멘테이션 셋트를 생성할 수 있다.
전술한 실시예에서는, 스테틱 세그멘테이션 마스크 정보가, 구성 워드의 길이를 나타내는 값을 포함한다. 그러나, 다른 실시예에서는, 값들이 구성 워드의 제1 또는 마지막 문자를 나타내는 문자의 표시일 수 있다. 따라서, "bluehounddog"의 예에서는, 값 5, 10 및 4, 9가 구성 워드의 첫 번째 및 마지막 문자를 나타내기 때문에, 가능한 세그멘테이션이 5, 10 또는 4, 9를 포함할 수 있다.
일부 실시예에서는, 어휘집 내의 각 엔트리 또는 워드와 관련된 "태크" 또는 인코드된 정보가 5개의 4 바이트의 양으로까지 저장될 수 있는데, 여기서 각각의 스펠링 및 다이내믹 세그멘테이션 모듈(514), 음성 모듈(516) 부분, 표제어 델타 모듈(518), 설명 모듈(520) 및 스테틱 세그멘테이션 마스크 모듈(522)이 4 바이트의 정보량을 저장하거나 야기한다. 그러나, 다른 실시예에서는, 원한다면, 다른 데이터량 또는 추가 필드가 어휘집(308, 540) 내의 엔트리에 대하여 이용할 수 있다.
특정 상황에서는, 데이터가 전술한 바와 같이 5개의 태그 중 하나로 인코드될 수 없다는 점에 유의해야 한다. 이러한 상황에서는, 단계 616에서, 데이터가 저장되는 공지된 중간 색인표(IIT)(554)를 가리키는 포인터(552)를 이용하는 제2 메커니즘에 의해 데이터를 인코드할 수 있다. 이러한 중간 색인표는, 2003년 10월 30일자로 출원된 "Lexicon with Sectionalized Data and Method of Using the Same"이라는 명칭의 미국 특허 출원 공보 제US2003/0204392A1호에 개시되어 있고, 그 명세서 전체가 본원의 참고 자료로서 포함된다.
일반적으로, 이러한 방식으로 지원되는 수 개의 타입의 연장된 데이터가 있다. 그 첫 번째 타입은 하나 이상의 표제어를 갖는 엔트리에 대한 것이다. 제1 또는 1차 표제어만이, 표제어 델타 모듈(518)에 의해 태그 내에 저장될 수 있기 때문에, 후속한 표제어가 IIT(554) 내에 저장되어 런타임에서 이용 가능해야 한다. IIT(554) 내에 저장된 후속 표제어는, 각 워드와 관련된 워드 식별 번호 또는 주어진 데이터 값과 함께 저장될 수 있다. 런타임에서, 이 고유의 데이터 값을 이용하여 주어진 엔트리에 대해 필요한 표제어 스트링을 재구축할 수 있다.
몇몇 실시예에서는, ITT(554)의 저장 레이아웃이 4 바이트 값의 어레이를 포함하는데, 1 바이트 값은, 엔트리의 "타입"을 표시하고, 3 바이트 값은 표제어의 식별 코드를 인코드한다. 어휘 변화(inflection)가 동일한 방식으로 저장되나, 엔트리가 특정한 어휘 변화 타입이라는 것을 표시하기 위해 서로 다른 식별 코드로 마크된다. IIT(554) 내에 저장된 또 다른 타입의 데이터는, 텍스트의 문장 내에 발생하는 음성 태크의 주어진 부분에 대한 가능성 정보를 포함한다.
예를 들면, "dog"가, 명사 또는 동사일 수 있는 예에서, "dog"가 명사일 가능성이 의심할 여지 없이 동사일 가능성보다 훨씬 높다. 이러한 가능성 정보가 표 제어 및 어휘 변화와 유사한 방식으로 저장될 수 있다. 예를 들면, 1 바이트 값은 "타입"을 표시하고, 3 바이트 값이 어휘(510) 내의 특정한 워드와 관련된 총 4 바이트의 정보가 저장될 수 있다.
단계 618에서, 어휘 구성 및 업데이트 모듈(500)이, 특정한 언어에 대한 어휘집(308, 540)을 구성하기 위해 데이터 필드(450, 460, 470, 480, 490)를 생성하거나 제공한다. 어휘집 구성 및 업데이트 모듈(500)은, 임의의 언어, 예컨대 영어, 독일어, 스페인어, 중국어, 한국어 등의 어휘집을 생성할 수 있다. 다른 실시예에서는, 모듈(500)이 워드 리스트(510)로부터의 새로운 워드로 어휘집(308, 540)을 업데이트한다. 이러한 어휘집 업데이트 기능에 의해, 어휘집 구성 및 업데이트 모듈(500)이, 예를 들면, (예컨대, 간행물 또는 웹 사이트에서의) 어휘 데이터를 모니터링하여, 새로운 워드를 어휘집(308, 540)에 추가하여 이용할 수 있도록 허용 한다. 다른 실시예에서는, 어휘집 구성 및 업데이트 모듈(500)이 특정한 목적을 위한 서브셋 어휘집을 생성할 수 있다. 예를 들면, 특정한 과학, 엔지니어링, 스포츠, 문화 또는 예술적인 시도(artistic endeavors)에서 사용되는 워드를 포함하는 예술적인 시도에 대하여 서로 다른 어휘집을 갖는 것이 유리할 수 있다. 특정한 시도에 제한된 어휘집은, 특정 워드가 특정 시도에서는 공통으로 사용되기나, 다른 것들은 그렇지 않기 때문에, 어휘집의 전체적인 크기를 제한하는 경향이 있다. 또한, 시도(endeavor)에 따라 특정 워드를 다르게 사용하거나 스펠할 수 있다.
본 발명을, 특정한 실시예를 참조하여 설명하였지만, 당업자들은 본 발명의 사상 및 범주에서 벗어나지 않는 범위 내에서 그 형태 및 상세에 있어 변경이 있을 수 있다는 것을 인식할 것이다.
본 발명에 따르면, 다수의 자연어 또는 텍스트 처리 시스템들에 사용되거나 적응될 수 있는 어휘집, 특히, 효율적으로 저장되고, 용이하게 액세싱가능하고, 업데이트될 수 있는 어휘집이 제공된다.

Claims (40)

  1. 복수의 엔트리를 포함하는 어휘집(lexicon) - 각각의 상기 엔트리는 상기 어휘집에 입력된 워드에 대응함 - 을 포함하는 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체에 있어서, 각각의 상기 엔트리는,
    입력된 워드에 대한 스펠링 정보를 포함하는 제1 데이터 필드;
    상기 입력된 워드와 관련된 음성 정보 부분을 포함하는 제2 데이터 필드; 및
    상기 입력된 워드와 관련된 표제어 델타(lemma delta) 정보를 포함하는 제3 데이터 필드를 포함하고,
    상기 표제어 델타 정보는 상기 입력된 워드와 관련된 변환 정보를 포함하고, 상기 변환 정보는 변환 동작을 통해 상기 입력된 워드를 제2 워드로 변환하기 위한 op 코드 및 인수값(argument value)을 포함하고, 상기 변환 동작은 상기 op 코드 및 상기 op 코드의 상기 인수값(argument value)에 의해 정의되는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  2. 제1항에 있어서,
    각각의 상기 엔트리는,
    상기 입력된 워드와 관련된 설명 정보(descriptive information)를 포함하는 제4 데이터 필드; 및
    상기 입력된 워드를 서로 다른 세그먼트들로 분할하기 위한, 상기 입력된 워드와 관련된 스테틱 세그멘테이션 마스크 정보(static segmentation mask information)를 포함하는 제5 데이터 필드를 더 포함하는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  3. 제2항에 있어서,
    상기 스테틱 세그멘테이션 마스크 정보는, 상기 입력된 워드의 적어도 하나의 구성(constituent) 워드 길이를 포함하며, 상기 입력된 워드는 두 개 이상의 구성 워드들의 합성어인, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  4. 제1항에 있어서,
    상기 스펠링 정보는 상기 입력된 워드에 대응하는 식별값을 포함하는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  5. 제1항에 있어서,
    상기 제1 데이터 필드는, 상기 입력된 워드와 관련된 다이내믹 세그멘테이션 정보(dynamic segmentation information)를 더 포함하고, 상기 다이내믹 세그멘테이션 정보는, 선택된 언어에서 유효한 합성어를 인식하도록 상기 입력된 워드가 적어도 두 개의 분리된 어휘 엔트리(lexical entries)로 맵핑될 수 있는지를 결정하기 위한 정보를 포함하는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  6. 제1항에 있어서,
    상기 음성 정보 부분은, 상기 입력된 워드와 관련된 복수의 음성 부분을 포함하는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  7. 제1항에 있어서,
    상기 변환 정보는 한개 이상 네개 이하의 op 코드 및 해당하는 인수값들을 포함하는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  8. 제1항에 있어서,
    상기 제2 워드는 상기 입력된 워드에 해당하는 표제어(lemma)인, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  9. 제1항에 있어서,
    각각의 상기 데이터 필드는 4 바이트의 저장공간을 차지하는, 데이터 컴포넌트가 저장된 컴퓨터 판독가능 기록매체.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020040070523A 2003-10-23 2004-09-03 태그 데이터를 갖는 풀-폼 어휘집 및 이를 구축하고이용하는 방법 KR101130384B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51392103P 2003-10-23 2003-10-23
US60/513,921 2003-10-23
US10/804,998 2004-03-19
US10/804,998 US7421386B2 (en) 2003-10-23 2004-03-19 Full-form lexicon with tagged data and methods of constructing and using the same

Publications (2)

Publication Number Publication Date
KR20050039540A KR20050039540A (ko) 2005-04-29
KR101130384B1 true KR101130384B1 (ko) 2012-06-27

Family

ID=34396615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040070523A KR101130384B1 (ko) 2003-10-23 2004-09-03 태그 데이터를 갖는 풀-폼 어휘집 및 이를 구축하고이용하는 방법

Country Status (7)

Country Link
US (1) US7421386B2 (ko)
EP (1) EP1526464B1 (ko)
JP (2) JP4676181B2 (ko)
KR (1) KR101130384B1 (ko)
CN (1) CN1670728A (ko)
AT (1) ATE401609T1 (ko)
DE (1) DE602004015039D1 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398210B2 (en) * 2003-10-23 2008-07-08 Microsoft Corporation System and method for performing analysis on word variants
US7421386B2 (en) 2003-10-23 2008-09-02 Microsoft Corporation Full-form lexicon with tagged data and methods of constructing and using the same
US7447627B2 (en) * 2003-10-23 2008-11-04 Microsoft Corporation Compound word breaker and spell checker
JP4754247B2 (ja) * 2004-03-31 2011-08-24 オセ−テクノロジーズ ビーブイ 複合語を構成する単語を割り出す装置及びコンピュータ化された方法
US7409334B1 (en) * 2004-07-22 2008-08-05 The United States Of America As Represented By The Director, National Security Agency Method of text processing
KR100682897B1 (ko) * 2004-11-09 2007-02-15 삼성전자주식회사 사전 업데이트 방법 및 그 장치
US7869989B1 (en) * 2005-01-28 2011-01-11 Artificial Cognition Inc. Methods and apparatus for understanding machine vocabulary
US20070078644A1 (en) * 2005-09-30 2007-04-05 Microsoft Corporation Detecting segmentation errors in an annotated corpus
US7624099B2 (en) * 2005-10-13 2009-11-24 Microsoft Corporation Client-server word-breaking framework
JP4671898B2 (ja) * 2006-03-30 2011-04-20 富士通株式会社 音声認識装置、音声認識方法、音声認識プログラム
US8024173B1 (en) 2006-09-11 2011-09-20 WordRake Holdings, LLC Computer processes for detecting and correcting writing problems associated with nominalizations
JP4446313B2 (ja) * 2006-12-15 2010-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声処理用の辞書に登録するべき新規語句を検索する技術
JP2008287406A (ja) * 2007-05-16 2008-11-27 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、記録媒体
US20080294982A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Providing relevant text auto-completions
CN100483416C (zh) * 2007-05-22 2009-04-29 北京搜狗科技发展有限公司 一种字符输入的方法、输入法系统及词库更新的方法
KR101465769B1 (ko) * 2007-06-14 2014-11-27 구글 인코포레이티드 사전 단어 및 어구 판정
US8527262B2 (en) * 2007-06-22 2013-09-03 International Business Machines Corporation Systems and methods for automatic semantic role labeling of high morphological text for natural language processing applications
US8630841B2 (en) * 2007-06-29 2014-01-14 Microsoft Corporation Regular expression word verification
US7912703B2 (en) * 2007-12-10 2011-03-22 International Business Machines Corporation Unsupervised stemming schema learning and lexicon acquisition from corpora
US8521516B2 (en) * 2008-03-26 2013-08-27 Google Inc. Linguistic key normalization
US8706477B1 (en) 2008-04-25 2014-04-22 Softwin Srl Romania Systems and methods for lexical correspondence linguistic knowledge base creation comprising dependency trees with procedural nodes denoting execute code
US20100169768A1 (en) * 2008-12-31 2010-07-01 International Business Machines Corporation Spell Checker That Teaches Rules of Spelling
US20100228538A1 (en) * 2009-03-03 2010-09-09 Yamada John A Computational linguistic systems and methods
US8762130B1 (en) 2009-06-17 2014-06-24 Softwin Srl Romania Systems and methods for natural language processing including morphological analysis, lemmatizing, spell checking and grammar checking
US8762131B1 (en) 2009-06-17 2014-06-24 Softwin Srl Romania Systems and methods for managing a complex lexicon comprising multiword expressions and multiword inflection templates
US20100332217A1 (en) * 2009-06-29 2010-12-30 Shalom Wintner Method for text improvement via linguistic abstractions
EP2534585A4 (en) * 2010-02-12 2018-01-24 Google LLC Compound splitting
US9378202B2 (en) * 2010-03-26 2016-06-28 Virtuoz Sa Semantic clustering
KR20120089502A (ko) * 2010-12-09 2012-08-13 한국전자통신연구원 번역지식 서버 생성 방법 및 그 장치
US8533724B1 (en) 2010-12-20 2013-09-10 Amazon Technologies, Inc. Virtual resource provisioning by assigning colors to virtual resources in multi-tenant resource pool
JP2012198277A (ja) * 2011-03-18 2012-10-18 Toshiba Corp 文書読み上げ支援装置、文書読み上げ支援方法および文書読み上げ支援プログラム
US8868766B1 (en) 2011-03-29 2014-10-21 Amazon Technologies, Inc. Optimizing communication among collections of computing resources
US8775438B1 (en) * 2011-09-22 2014-07-08 Amazon Technologies, Inc. Inferring resource allocation decisions from descriptive information
CA2893955A1 (en) * 2011-12-05 2013-06-13 Nexalogy Environics Inc. System and method for performing analysis on information, such as social media
US20130166282A1 (en) * 2011-12-21 2013-06-27 Federated Media Publishing, Llc Method and apparatus for rating documents and authors
US9208134B2 (en) * 2012-01-10 2015-12-08 King Abdulaziz City For Science And Technology Methods and systems for tokenizing multilingual textual documents
CN103678301B (zh) * 2012-08-30 2017-02-08 英业达科技有限公司 高级查询并新增翻译内容的翻译查询系统及其方法
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10409909B2 (en) * 2014-12-12 2019-09-10 Omni Ai, Inc. Lexical analyzer for a neuro-linguistic behavior recognition system
US9678941B2 (en) 2014-12-23 2017-06-13 International Business Machines Corporation Domain-specific computational lexicon formation
DE102015017039A1 (de) * 2015-02-17 2016-08-11 Nikolaus Castell Automatische Analyse von geschriebenen und gesprochenen Texten einer Ausgangssprache (hier dargestellt am Beispiel der deutschen Sprache) bezueglich ihrer sprach-grammatischen Stimmigkeit, was eine verbesserte Ausgangssituation fuer Uebersetzungen in andere Sprachen darstellt
CN105161095B (zh) * 2015-07-29 2017-03-22 百度在线网络技术(北京)有限公司 语音识别语法树的构图方法及装置
US10733224B2 (en) * 2017-02-07 2020-08-04 International Business Machines Corporation Automatic corpus selection and halting condition detection for semantic asset expansion
US10769375B2 (en) 2017-08-17 2020-09-08 International Business Machines Corporation Domain-specific lexical analysis
US10445423B2 (en) 2017-08-17 2019-10-15 International Business Machines Corporation Domain-specific lexically-driven pre-parser
US11010553B2 (en) * 2018-04-18 2021-05-18 International Business Machines Corporation Recommending authors to expand personal lexicon
US11580301B2 (en) * 2019-01-08 2023-02-14 Genpact Luxembourg S.à r.l. II Method and system for hybrid entity recognition
CN109670188A (zh) * 2019-01-23 2019-04-23 北京超试科技有限公司 数据处理方法及装置
CN112447168A (zh) * 2019-09-05 2021-03-05 阿里巴巴集团控股有限公司 语音识别系统、方法、音箱、显示设备和交互平台
CN112037770B (zh) * 2020-08-03 2023-12-29 北京捷通华声科技股份有限公司 发音词典的生成方法、单词语音识别的方法和装置
CN111894582B (zh) * 2020-08-04 2021-09-24 中国矿业大学 一种采煤机控制方法
CN112417900A (zh) * 2020-11-25 2021-02-26 北京乐我无限科技有限责任公司 一种翻译方法、装置、电子设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799268A (en) 1994-09-28 1998-08-25 Apple Computer, Inc. Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like
WO1999050829A1 (en) * 1998-03-27 1999-10-07 Lernout & Hauspie Speech Products N.V. Speech recognition dictionary enlargement using derived words
US6278968B1 (en) 1999-01-29 2001-08-21 Sony Corporation Method and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation system

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4384329A (en) * 1980-12-19 1983-05-17 International Business Machines Corporation Retrieval of related linked linguistic expressions including synonyms and antonyms
US4724523A (en) * 1985-07-01 1988-02-09 Houghton Mifflin Company Method and apparatus for the electronic storage and retrieval of expressions and linguistic information
JPS608980A (ja) * 1983-06-28 1985-01-17 Brother Ind Ltd 電子辞書
US4736296A (en) * 1983-12-26 1988-04-05 Hitachi, Ltd. Method and apparatus of intelligent guidance in natural language
JPS60245083A (ja) * 1984-05-18 1985-12-04 Brother Ind Ltd 電子辞書
JPS6126176A (ja) * 1984-07-17 1986-02-05 Nec Corp 言語処理用辞書
JPS6165361A (ja) * 1984-09-05 1986-04-03 Sharp Corp 電子式仏単語辞書
US4701851A (en) * 1984-10-24 1987-10-20 International Business Machines Corporation Compound word spelling verification
US4672571A (en) * 1984-10-24 1987-06-09 International Business Machines Corporation Compound word suitability for spelling verification
US4771385A (en) * 1984-11-21 1988-09-13 Nec Corporation Word recognition processing time reduction system using word length and hash technique involving head letters
US4969097A (en) * 1985-09-18 1990-11-06 Levin Leonid D Method of rapid entering of text into computer equipment
US4887212A (en) * 1986-10-29 1989-12-12 International Business Machines Corporation Parser for natural language text
US4868750A (en) * 1987-10-07 1989-09-19 Houghton Mifflin Company Collocational grammar system
US5056021A (en) * 1989-06-08 1991-10-08 Carolyn Ausborn Method and apparatus for abstracting concepts from natural language
JPH03161727A (ja) * 1989-11-20 1991-07-11 Fuji Photo Film Co Ltd カメラの主要被写体検出装置
US5708829A (en) * 1991-02-01 1998-01-13 Wang Laboratories, Inc. Text indexing system
JPH0581313A (ja) * 1991-09-20 1993-04-02 Kobe Nippon Denki Software Kk 辞書作成装置
JP2875075B2 (ja) 1991-10-30 1999-03-24 シャープ株式会社 電子辞書
JP2897191B2 (ja) * 1992-05-20 1999-05-31 株式会社シーエスケイ 日本語形態素解析システム及び形態素解析方式
US5867812A (en) * 1992-08-14 1999-02-02 Fujitsu Limited Registration apparatus for compound-word dictionary
US6760695B1 (en) * 1992-08-31 2004-07-06 Logovista Corporation Automated natural language processing
US6278967B1 (en) * 1992-08-31 2001-08-21 Logovista Corporation Automated system for generating natural language translations that are domain-specific, grammar rule-based, and/or based on part-of-speech analysis
JPH0756957A (ja) * 1993-08-03 1995-03-03 Xerox Corp ユーザへの情報提供方法
US5611076A (en) * 1994-09-21 1997-03-11 Micro Data Base Systems, Inc. Multi-model database management system engine for databases having complex data models
US5715468A (en) * 1994-09-30 1998-02-03 Budzinski; Robert Lucius Memory system for storing and retrieving experience and knowledge with natural language
JP3003915B2 (ja) * 1994-12-26 2000-01-31 シャープ株式会社 単語辞書検索装置
JPH08323842A (ja) * 1995-06-02 1996-12-10 Tsutsunaka Plast Ind Co Ltd シートブロー成形品と成形方法
US5995922A (en) * 1996-05-02 1999-11-30 Microsoft Corporation Identifying information related to an input word in an electronic dictionary
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US6035268A (en) * 1996-08-22 2000-03-07 Lernout & Hauspie Speech Products N.V. Method and apparatus for breaking words in a stream of text
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US5995992A (en) * 1997-11-17 1999-11-30 Bull Hn Information Systems Inc. Conditional truncation indicator control for a decimal numeric processor employing result truncation
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6233553B1 (en) * 1998-09-04 2001-05-15 Matsushita Electric Industrial Co., Ltd. Method and system for automatically determining phonetic transcriptions associated with spelled words
US6298321B1 (en) * 1998-11-23 2001-10-02 Microsoft Corporation Trie compression using substates and utilizing pointers to replace or merge identical, reordered states
US6675169B1 (en) * 1999-09-07 2004-01-06 Microsoft Corporation Method and system for attaching information to words of a trie
US6393389B1 (en) * 1999-09-23 2002-05-21 Xerox Corporation Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions
JP3717730B2 (ja) * 1999-11-02 2005-11-16 セイコーインスツル株式会社 電子辞書
US6792418B1 (en) * 2000-03-29 2004-09-14 International Business Machines Corporation File or database manager systems based on a fractal hierarchical index structure
US6965858B2 (en) * 2000-04-03 2005-11-15 Xerox Corporation Method and apparatus for reducing the intermediate alphabet occurring between cascaded finite state transducers
JP2002132763A (ja) * 2000-10-26 2002-05-10 Sharp Corp 原文書き換え装置及び原文書き換え方法
GB0120862D0 (en) * 2001-08-29 2001-10-17 United Wire Ltd Method and device for joining screens
US7089188B2 (en) * 2002-03-27 2006-08-08 Hewlett-Packard Development Company, L.P. Method to expand inputs for word or document searching
US7490034B2 (en) * 2002-04-30 2009-02-10 Microsoft Corporation Lexicon with sectionalized data and method of using the same
US7680649B2 (en) * 2002-06-17 2010-03-16 International Business Machines Corporation System, method, program product, and networking use for recognizing words and their parts of speech in one or more natural languages
US7398210B2 (en) * 2003-10-23 2008-07-08 Microsoft Corporation System and method for performing analysis on word variants
US7447627B2 (en) * 2003-10-23 2008-11-04 Microsoft Corporation Compound word breaker and spell checker
US7421386B2 (en) 2003-10-23 2008-09-02 Microsoft Corporation Full-form lexicon with tagged data and methods of constructing and using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799268A (en) 1994-09-28 1998-08-25 Apple Computer, Inc. Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like
WO1999050829A1 (en) * 1998-03-27 1999-10-07 Lernout & Hauspie Speech Products N.V. Speech recognition dictionary enlargement using derived words
US6278968B1 (en) 1999-01-29 2001-08-21 Sony Corporation Method and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation system

Also Published As

Publication number Publication date
JP4986919B2 (ja) 2012-07-25
JP2005129030A (ja) 2005-05-19
CN1670728A (zh) 2005-09-21
EP1526464B1 (en) 2008-07-16
KR20050039540A (ko) 2005-04-29
JP4676181B2 (ja) 2011-04-27
EP1526464A1 (en) 2005-04-27
ATE401609T1 (de) 2008-08-15
DE602004015039D1 (de) 2008-08-28
US7421386B2 (en) 2008-09-02
US20050091031A1 (en) 2005-04-28
JP2008234680A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
KR101130384B1 (ko) 태그 데이터를 갖는 풀-폼 어휘집 및 이를 구축하고이용하는 방법
US9075793B2 (en) System and method of providing autocomplete recommended word which interoperate with plurality of languages
US7739104B2 (en) System and method for natural language processing and using ontological searches
US7809553B2 (en) System and method of creating and using compact linguistic data
US8788262B2 (en) Incorporation of variables into textual content
US20070011132A1 (en) Named entity translation
KR20160105400A (ko) 전자 장치에 텍스트를 입력하는 시스템 및 방법
JP2008108274A (ja) コーパスの中のテキストを構文解析するコンピュータ・プログラムおよび記録媒体
JP2003186875A (ja) 自然言語パーシング方法
US20070011160A1 (en) Literacy automation software
US20060047690A1 (en) Integration of Flex and Yacc into a linguistic services platform for named entity recognition
US20050091033A1 (en) System and method for performing analysis on word variants
US6968308B1 (en) Method for segmenting non-segmented text using syntactic parse
EP1486885A2 (en) Method and system for grammatical text condensation
EP0316743B1 (en) Method for removing enclitic endings from verbs in romance languages
Lehmann et al. BNCweb
Wu et al. Parsing-based Chinese word segmentation integrating morphological and syntactic information
JP2005063030A (ja) 概念表現方法、概念表現生成方法及び概念表現生成装置並びに該方法を実現するプログラム及び該プログラムが記録された記録媒体
KR100404320B1 (ko) 문장 자동 색인 방법
JP2009009583A (ja) 構文パースを用いてセグメント化されていないテキストをセグメント化する方法
Prakapenka et al. Creation of a Legal Domain Corpus for the Belarusian Module in NooJ: Texts, Dictionaries, Grammars
JP4177195B2 (ja) 認識文法作成システム
JPS6389976A (ja) 言語解析装置
Bharati et al. Computational paninian grammar framework
Tzoukermann et al. Text analysis for French text to speech synthesis: optimization of the Bell Labs system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 9