KR20080003364A - 대체 단어들을 제안하는 컴퓨터로 구현되는 방법, 대체단어들을 제안하기 위한 후보 표를 발생시키는 컴퓨터로구현되는 방법 및 대체 단어들을 제안하는 철자 검사시스템 - Google Patents

대체 단어들을 제안하는 컴퓨터로 구현되는 방법, 대체단어들을 제안하기 위한 후보 표를 발생시키는 컴퓨터로구현되는 방법 및 대체 단어들을 제안하는 철자 검사시스템 Download PDF

Info

Publication number
KR20080003364A
KR20080003364A KR1020077024524A KR20077024524A KR20080003364A KR 20080003364 A KR20080003364 A KR 20080003364A KR 1020077024524 A KR1020077024524 A KR 1020077024524A KR 20077024524 A KR20077024524 A KR 20077024524A KR 20080003364 A KR20080003364 A KR 20080003364A
Authority
KR
South Korea
Prior art keywords
words
candidate
word
input
subject
Prior art date
Application number
KR1020077024524A
Other languages
English (en)
Other versions
KR101292404B1 (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 KR20080003364A publication Critical patent/KR20080003364A/ko
Application granted granted Critical
Publication of KR101292404B1 publication Critical patent/KR101292404B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

Abstract

문자열의 단어들의 대체 단어들을 제안하는 컴퓨터로 구현되는 방법이 제공된다. 이 방법에서, 입력 단어들의 입력 문자열이 수신된다. 그리고, 입력 단어들은 후보 표의 주제 단어들에 매치된다. 다음에, 매치된 주제 단어들에 대응하는 후보 표로부터의 후보 대체 단어 및 점수들이 추출된다. 각각의 점수는 입력 단어가 대응하는 후보 대체 단어로 대체되어야 할 확률을 나타낸다. 마지막으로, 입력 단어들을 그들의 대응하는 후보 대체 단어들로 대체하는 것이 대체 단어들에 대한 점수들에 기초하여 선택적으로 제안된다. 본 발명의 다른 한 양태는 방법을 구현하기 위해 구성된 철자 검사 시스템에 관한 것이다.
철자, 대체, 단어, 문맥, 식별, 매치, 점수, 후보

Description

대체 단어들을 제안하는 컴퓨터로 구현되는 방법, 대체 단어들을 제안하기 위한 후보 표를 발생시키는 컴퓨터로 구현되는 방법 및 대체 단어들을 제안하는 철자 검사 시스템{METHOD AND SYSTEM FOR GENERATING SPELLING SUGGESTIONS}
본 발명은 일반적으로 철자 검사 방법 및 시스템에 관한 것이며, 좀더 자세하게는, 입력 문자열의 단어들에 대한 대체 단어를 입력 문자열의 단어에 기초하여 제안하도록 구성된 철자 검사 방법 및 시스템에 관한 것이다.
문서에서 워드 프로세싱 애플리케이션을 이용하여 발생된 것 등과 같은 텍스트 입력들은 철자 오류를 포함하는 다양한 종류의 많은 오류들을 포함할 수 있다. 무효한 단어로 귀결되는 철자 오류들은 일반적으로 어휘 목록 기반(lexicon-based) 철자 검사기에 의해 처리될 수 있다. 그러한 철자 오류들은 단어의 철자의 무지 또는 오타로 인해 발생할 수 있다.
어휘 목록 기반 철자 검사기들은 텍스트 입력에 있는 단어들을 단어들의 어휘 목록에 비교하고 어휘 목록에서 발견되지 않는 텍스트 입력의 단어들을 식별해낸다. 철자 오류된 단어에 대해 흔히 하나 이상의 대체 단어들이 제안된다. 예를 들어, "fly frm Boston"라는 텍스트 입력에서 철자 검사기는 "frm"을 철자 오류된 것으로 식별해낼 것이다.
종래의 철자 검사 애플리케이션들을 이용하면 일반적으로 탐지 가능하지 않은 다른 종류의 철자 오류들은 유효한 단어로 귀결된다. 실례로, 의도된 단어의 철자의 무지 또는 오타의 결과로서 워드 프로세싱 애플리케이션의 사용자가 의도하지 않은 유효한 단어를 입력할 수 있다. 예를 들어, "fly form Boston"이라는 텍스트 입력에서, "form"이라는 단어는, 그 단어가 의도된 단어 "from"의 철자 오류일지라도, 종래의 철자 검사 애플리케이션들에 의해 플래그(flag)되지 않을 유효한 단어이다. 이러한 종류의 철자 오류들의 교정은 일반적으로 단어가 이용되는 문맥의 분석을 요구한다.
종래의 철자 검사 애플리케이션들은 일반적으로 편집 거리(edit distance)에 기초하여 식별되는 무효한 단어들을 위해 대체단어들을 제안하는 것이다. 편집 거리는 유효한 대안적 단어를 형성하기 위해 요구되는 변화를 나타낸다. 어휘 목록 내에서 타이핑된 무효한 단어로부터 최단 편집 거리를 갖는 단어가 사용자에게 제안되는 제1 대체 단어이다. 예를 들어, "fly frm Boston"라는 구에서 대부분의 철자 검사 애플리케이션들은, 제안할 때 단어의 문맥을 고려하지 않기 때문에, 올바른 단어 "from"을 제안하기 전에 "form"을 대체 단어로서 제안할 것이다. 철자 오류에 대해 가장 적절한 대체 단어를 제안하기 위해서는, 철자 오류가 발견되는 문맥의 분석이 이루어져야 한다.
따라서, 철자 오류된 단어에 대한 더 좋은 제안, 및 부적절하게 이용되는 유효한 단어들의 개선된 탐지를 제공하기 위해 단어들이 이용되는 문맥을 분석할 수 있는 개선된 철자 검사 방법 및 시스템에 대한 요구가 있다.
본 발명의 실시예들은 상기 및 기타의 문제들에 대한 해결책을 제공하고, 종래 기술을 능가하는 다른 이점을 제공한다.
본 발명은 일반적으로 주제 단어와 후보 대체 단어 쌍 및 각각의 쌍에 대한 후보 점수를 포함하며 단어 대체 제안들의 기초가 되는 후보 표를 이용하는 철자 검사 방법 및 시스템에 관한 것이다.
본 발명의 한 양태는 문자열의 단어들에 대한 대체 단어들을 제안하는 컴퓨터로 구현되는 방법에 관한 것이다. 이 방법에서는, 입력 단어들의 입력 문자열이 수신된다. 그 후, 입력 단어들은 후보 표의 주제 단어들에 매치된다. 다음에, 매치된 주제 단어들에 대응하는 후보 표로부터의 후보 대체 단어 및 후보 점수들이 추출된다. 각각의 후보 점수는 입력 단어가 대응하는 후보 대체 단어로 대체되어야 할 확률을 나타낸다. 마지막으로, 입력 단어들을 그들의 대응하는 후보 대체 단어들로 대체하는 것이 대체 단어들에 대한 후보 점수들에 기초하여 선택적으로 제안된다.
본 발명의 다른 한 양태는 입력 문자열의 입력 단어들에 대한 대체 단어들을 제안하는 철자 검사 시스템에 관한 것이다. 이 시스템은 후보 발생기 및 컨텍스추얼(contextual) 철자 엔진을 포함한다. 후보 발생기는 입력 단어들의 각각에 대해 후보 표의 주제 단어에 매치하는 후보 대체 단어 및 대응하는 후보 점수를 출력한다. 각각의 후보 점수는 입력 단어들이 대응하는 후보 대체 단어로 대체되어야 할 확률을 나타낸다. 컨텍스추얼 철자 엔진은 대응하는 후보 점수들에 기초하여 입력 단어들에 대한 후보 대체 단어들을 선택적으로 출력한다.
본 발명의 또다른 한 양태는 입력 문자열의 입력 단어들의 대체 단어들을 제안하기 위해 철자 검사 시스템에서 이용되는 후보 표를 형성하는 방법에 관한 것이다. 이 방법에서는, 단어들의 어휘 목록이 제공된다. 다음에, 어휘 목록의 주제 단어들이 어휘 목록의 다른 단어들에 비교된다. 그 후, 후보 대체 단어들은 비교에 기초하여 주제 단어들에 대해 식별된다. 그 후, 식별된 주제 단어들과 그들의 대응하는 후보 대체 단어들의 쌍들을 포함하는 후보 표가 형성된다. 마지막으로, 후보 표가 컴퓨터 판독가능 매체에 저장된다.
본 발명의 다른 실시예들의 특징을 이루는 특징 및 이점들은 아래의 상세한 설명을 읽고 관련 도면을 살펴보면 명백해질 것이다.
도 1은 본 발명이 실시될 수 있는 컴퓨팅 환경의 블록 다이어그램이다.
도 2는 본 발명의 실시예들에 따라 문자열의 단어들에 대한 대체 단어들을 제안하는 방법을 예시하는 플로우차트이다.
도 3은 본 발명의 실시예들에 따른 철자 검사 시스템의 블록 다이어그램이다.
도 4는 철자 검사 시스템이 본 발명의 실시예들에 따라 입력 문자열의 입력 단어들에 대한 대체 단어들을 제안하기 위해 이용하는 후보 표를 발생시키는 방법을 예시하는 플로우차트이다.
본 발명은 일반적으로 무효한 입력 문자열의 입력 단어들에 대한 정확한 대체 단어 제안들을 제공하는 철자 검사 방법 및 시스템에 관한 것이다. 또한, 본 발명의 철자 검사 방법 및 시스템은 부적절하게 이용되는 입력 문자열들의 유효한 입력 단어들에 대한 대체 단어 제안들을 제공할 수 있다. 본 발명의 실시예들은 입력 단어들이 이용되는 문맥에 기초하여 대체 단어들을 제안하고 있다.
본 발명을 상세하게 기술하기 전에, 본 발명이 이용될 수 있는 예시적 컴퓨팅 환경들의 설명이 제공될 것이다.
예시적 컴퓨팅 환경
도 1은 본 발명이 구현되기에 적합한 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본 발명은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 본 발명에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이 에 제한되는 것은 아니다.
본 발명은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치할 수 있다.
도 1과 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨 터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) 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)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다.
사용자는 키보드(162), 마이크(163) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버 스(121)에 접속될 수 있다. 모니터 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(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은 원격 애플리케이션 프로그램(185)이 원격 컴퓨터(180)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴 퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
본 발명은 도 1과 관련하여 도시된 바와 같은 컴퓨터 시스템에서 수행될 수 있음을 주목해야 한다. 그러나, 본 발명은 서버, 메시지 처리에 사용되는 컴퓨터 또는 본 발명의 다양한 부분들이 분산 컴퓨팅 시스템의 다양한 부분에서 수행되는 분산 시스템에서 수행될 수 있다.
철자 검사 방법 및 시스템
앞서 말했듯이, 본 발명은 일반적으로 무효한 입력 문자열의 입력 단어들에 대한 정확한 대체 단어 제안들을 제공하는 철자 검사 방법 및 시스템에 관한 것이다. 또한, 본 발명의 철자 검사 방법 및 시스템은 부적절하게 이용되는 입력 문자열의 유효한 입력 단어들을 위한 대체 단어 제안들을 제공할 수 있다. 본 발명에 의해 제공된 대체 단어 제안들은 일반적으로 입력 단어들이 이용되는 문맥에 의존한다.
또한, 본 발명은 철자 검사에 대한 데이터 구동적 접근 방법을 제공한다. 결과적으로, 철자 검사 방법 및 시스템의 실시예들은 품사 또는 규칙 기반 문법 검사기들과 동일한 종류의 이론적 언어학 지식을 요구하지 않는다. 구현도 규칙 기반 시스템들보다 한층 더 단순하며 유지 및 보안 비용이 더 저렴하다. 또한, 제안들을 발생시키는 메커니즘은 일반적으로 언어 종속적이며 다수의 언어들로 용이하게 스케일할 수 있다.
본 발명의 실시예들은 도 2 및 3을 참조하여 설명될 수 있다. 도 2는 본 발 명의 실시예들에 따른 문자열의 단어들을 위한 대체 단어들을 제안하는 방법을 예시하는 플로우차트이다. 도 3은 본 발명의 실시예들에 따른 방법을 구현하게 구성된 철자 검사 시스템(200)의 블록 다이어그램이다.
이 방법의 단계 202에서는, 입력 단어들의 입력 문자열(204)이 철자 검사 시스템(200)에 의해 수신된다. 입력 문자열(204)은 처음에 키보드, 마이크로폰(즉, 구술된) 또는 다른 통상의 방법에 의해 워드 프로세싱 애플리케이션(206)의 사용자가 입력할 수 있다. 대안적으로, 입력 문자열(204)은 기존의 문서, 웹 페이지 또는 다른 소스로부터 검색될 수 있다.
애플리케이션(206)이 입력 문자열(204)을 시스템(200)에 완전한 문장들로 제공하는 것이 바람직하다. 또한, 입력 문자열(204)은 철자 검사 시스템(200)에 토큰화된 형태 또는 다른 인식할 수 있는 포맷으로 제공될 수 있으며, 그렇지 않으면 시스템(200)에 의해 상기 포맷으로 변환될 수 있다.
입력 문자열은 시스템(200)의 컨텍스추얼 철자 엔진(210)으로부터 후보 발생기(208)로 제공된다. 입력 문자열(204)은 유효한(즉, 올바르게 철자된) 단어들만을 포함하는 것이 바람직하다.
이 방법의 한 실시예에 따라, 입력 문자열(204)의 철자 오류된 입력 단어들은 어휘 목록 기반 철자 검사기(212)를 이용하여 교정된다. 철자 검사기(212)는 입력 문자열(204)의 각각의 입력 단어를 어휘 목록(214)의 단어들과 비교한다. 어휘 목록(214)에 포함되지 않은 입력 단어들에 대해 제안되는 대체들은 철자 검사기(212)가 통상의 방법에 따라 발생시킨다. 철자 검사기(212)가 발생키시는 제안 된 대체들은 사용자가 철자 검사기(212)에 의해 식별된 철자 오류된 단어들에 대한 대체를 선택하도록 제공될 수 있으며, 그에 따라 입력 문자열들이 변경된다. 대안적으로, 철자 검사기(212)에 의해 철자 오류된 입력 단어들에 대해 발생되는 제안된 교정들은 유효한 단어들만을 포함하는 입력 문자열을 형성하는 후보 발생기(208)에 제공된다. 그 후, 유효한 단어들만을 포함하는 입력 문자열이 후보 발생기(208)에 의해 분석된다.
후보 발생기(208)의 목적은 입력 문자열(204)의 입력 단어들과 유사하거나 아니면 관련된 후보 대체 단어들을 식별시키려는 것이다. 후보 대체 단어들은 나중에 입력 단어들에 대해 제안된 대체 단어들로 애플리케이션(206)에 제공될 수 있다. 후보 대체 단어 및 입력 단어 쌍들은 후보 표(216)에 포함되어 있다.
표 1은 본 발명의 실시예들에 따른 후보 표(216)의 일부의 예시이다. 후보 표(216)는 후보 대체 단어에 각각 결합되어 있는 주제 단어들 및 주제 단어가 후보 대체 단어로 대체되어야 하는 확률을 나타내는 후보 점수를 포함한다.
예시적 후보 표
주제 단어 후보 대체 단어 후보 점수 편집
aback alack 0.543 b:l
aback back 0.023 a:
abalones abalone’s 0.870 A
abandoned abandoner 0.765 d:r
break brake 0.689 H
후보 표(216)의 한 실시예는 후보 대체 단어들을 형성하기 위해 주제 단어에 대해 수행되어야 할 변환을 기술하는 각각의 주제 단어와 후보 대체 단어 쌍을 위한 편집 입력을 포함한다. 예를 들어, "aback"을 "alack"으로 변환하기 위해 "aback"의 "b"가 "l"로 변화되어야 하며, 그것은 "b:l"로 나타내어진다. 마찬가지로, 후보 대체 단어 "back"을 형성하기 위해 "aback"에서 첫번째 "a"를 삭제하는 것은 "a:"로 나타내어질 수 있다. Abalone’s에 대한 “’”의 부가는 단순히 "A"로 나타내어질 수 있다. 주제 단어 "break"에 대한 "brake" 등과 같은 동음이의어 후보 대체 단어들은 "H"로 나타내어진다. 주제 단어를 대응하는 후보 대체 단어로 변환하기 위해 수행되어야 할 다양한 편집들을 식별하는 다른 방법도 이용될 수 있다.
후보 표의 편집 입력은 컨텍스추얼 철자 엔진(210)이 입력 문자열의 분석 과정에서 후보 대체 단어들에 대한 점수를 변경하기 위해 이용할 수 있다. 편집 입력들은 클래스별로 그루핑될 수 있고 편집 종류들의 클래스의 빈도 등과 같은 것을 반영하는 상이한 값들이 할당될 수 있다. 값이 높을수록, 어떤 후보 대체 단어의 점수에 대한 그 편집 종류의 영향이 크다. 이러한 클래스 또는 편집 종류 점수들은 후보 점수에 더해지거나 포함될 수 있다. 예를 들어, 후보 대체 단어를 형성하기 위해 주제 단어의 첫문자를 삭제하는 편집은 후보 대체 단어에 대한 점수를 증가시키는 것으로 귀결될 수 있다.
본 발명의 한 실시예에 따라, 후보 표(216)가 컴퓨터 판독가능 매체에 바이너리 파일로 저장되어 있고, 그것은 철자 검사 시스템(200)이 신속하게 액세스하기 위해 컴퓨팅 환경의 메모리에 로드된다. 본 발명의 한 실시예에 따라, 후보 표(216)는 바이너리 파일에 해시 표로서 저장된다.
후보 표(216)의 다른 한 실시예에 따라, 어휘 목록 식별자들이 주제 단어와 후보 대체 단어들을 식별시키기 위해 이용된다. 어휘 목록 식별자들은 도 3에 도시된 어휘 목록(214) 등과 같은 어휘 목록의 대응하는 단어들에 연결할 수 있게 한다. 본 발명의 이 실시예는 큰 후보 표(216)를 저장하기 위해 요구되는 메모리의 양을 줄이도록 작동한다.
방법의 단계 218에서, 후보 발생기(208)는 입력 문자열(204)의 입력 단어들을 후보 표(216)의 주제 단어들에 매치한다. 그 후, 단계 220에서 후보 대체 단어(222) 및 대응하는 후보 점수(224)들이 대응하는 매치된 주제 단어에 기초하여 입력 문자열(204)의 각각의 입력 단어에 대해 후보 표(216)로부터 추출된다. 동일한 주제 또는 입력 단어에 결합된 많은 후보 대체 단어들이 있을 수 있으므로, 후보 발생기(208)는 각각의 매치된 입력 단어에 대해 하나 이상의 후보 대체 단어 및 점수 쌍을 생성할 수 있다. 후보 대체 단어(222) 및 점수(224) 쌍들은 부가 처리를 위해 컨텍스추얼 철자 엔진(210)에 출력된다.
후보 표(216)의 후보 점수(224)는 일반적으로 입력 단어가 대응하는 후보 대체 단어로 대체되어야 하는 확률을 나타낸다. 또한, 후보 점수(224)는 주제 단어와 대응하는 후보 대체 단어(222) 사이의 오류의 양을 반영할 수 있다.
본 발명의 한 실시예에 따라, 후보 점수(224)는 하나 이상의 인자들에 기초하며, 양호하게는 그 각각이 후보 표(216)의 주제 단어와 후보 대체 단어 쌍을 위한 후보 점수를 형성하도록 서로 곱해진다. 그러한 인자들은 주제 단어와 후보 대체 단어 사이의 편집 또는 타이핑 거리, 발견적 학습법(heuristics), 주제 단어와 후보 대체 단어 사이의 음성학적 차이 및 후보 대체 단어가 주제 단어를 대체해야 할 확률과 관련될 수 있는 다른 인자들을 포함한다.
편집 종류 및 발견적 학습법에 기초한 후보 점수(224)들은 주제 단어와 후보 대체 단어 사이의 차이에 의존하여 변할 수 있다. 예를 들어, 독특한 주제 단어가 다수의 후보 대체 단어로 변환되어야 할 확률은 매우 드문 것일 수 있다. 결과적으로, 그러한 후보 대체 단어들은 낮은 후보 점수가 주어져야 한다. 다른 한편으로는, 주제 단어로부터 후보 대체 단어로의 변환이 매우 보편적으로 마주치는 철자 오류에 관한 것인 첫번째 문자의 변경을 필요로 할 때는, 그러한 주제 단어와 후보 대체 단어 쌍들은 높은 후보 점수를 받는다.
주제 단어에 공백을 부가함으로써 주제 단어를 두 개의 단어들로 분리하는 것에 기초하는 편집 거리와 점수들도 관계된다. 그러한 편집들은 그들의 상대적으로 높은 빈도로 인해 일반적으로 높은 후보 점수가 주어진다.
후보 대체 단어가 주제 단어의 동음이의어 또는 거의 동음이의어일 때는, 후보 대체 단어가 음성학적으로 주제 단어를 거의 닮지 않았을 때보다 더 높은 점수가 단어 쌍에게 주어진다.
이 방법의 단계 226에서, 컨텍스추얼 철자 엔진(210)은 후보 대체 단어(222)의 대응하는 점수(224)에 기초하여 입력 문자열(204)의 입력 단어들에 대한 후보 대체 단어(222)들의 출력(230)을 선택적으로 생성한다. 본 발명의 한 실시예에 따라, 시스템(200)은 컨텍스추얼 철자 엔진(210)으로부터 후보 대체 문자열(242)들을 수신하는 언어 모델(240)을 포함한다. 후보 대체 문자열(242)들은 입력 문자열(204)들로 변경되며, 그 각각은 대응하는 입력 단어의 대신에 후보 대체 단어(222)를 포함한다.
언어 모델(240)은 각각의 후보 대체 문자열(242)에 대해 확률 점수(244)를 출력하도록 작동한다. 확률 점수(244)는 일반적으로 문장들의 큰 로그에 대한 통계적 데이터(246)(즉, 다른 단어들에 대한 상대적 단어 발생 빈도 데이터)에 기초하여 특수한 후보 대체 문자열(242)을 보여줄 확률을 측정할 수 있게 한다. 일반적으로, 단어들의 특수한 문자열을 더 많이 보여줄수록 문자열에 포함된 단어들이 좀더 올바른 방식으로 이용될 것으로 추측된다. 그래서, 각각의 후보 대체 문자열(242)에 대한 확률 점수(244)는 그 문자열의 후보 대체 단어와 입력 단어들의 결합의 정확성을 반영한다.
단어(즉, w1, w2, w3,...wN)들의 주어진 문자열에 대한 확률 점수(244)(P(문맥)으로 나타냄))는 통계적 데이터(246)를 이용하여 수학식 1에 따라 계산될 수 있다. 일반적으로, 문자열의 확률은 다른 단어들이 주어진 문자열에서의 각각의 단어의 확률과 등가이다. 그래서, 문자열의 확률은 제1 단어의 확률(P(w1))을 제1 단어가 주어진 제2 단어의 확률(P(w2|w1))과 곱하고, 제1 및 제2 단어들이 주어진 제3 단어의 확률 (P(w3|w2,w1))과 곱하는 등등의 것과 등가이다.
P(문맥)= P(w1)*P(w2|w1)*P(w3|w2,w1)* ...*P(wN|wN -1,wN -2... w2,w1)
본 발명의 한 실시예에 따라, 수학식 2에서 제공되는, 수학식 1의 트라이그램 근사법(trigram approximation)이 이용된다. 문자열의 각각의 단어에 대해, 트라이그램 근사법은 문자열의 N 개의 모든 단어들보다는 두 개의 선행하는 단어(만일 있다면)들을 이용한다.
P(문맥)~P(w1)*P(w2|w1)*P(w3|w2,w1)*...*P(wN|wN -1,wN -2)
본 발명의 한 실시예에 따라, 컨텍스추얼 철자 엔진(210)은 각각의 후보 대체 문자열의 최종 점수에 기초하여 제안된 후보 대체 단어 또는 문자열(230)들을 애플리케이션(206)에 출력하도록 선택한다. 최종 점수(P(후보입력 단어, 문맥)으로 나타냄))는 후보 대체 문자열(P(문맥, 후보로 나타냄))에 대한 확률 점수를 후보 대체 문자열(242)을 형성하기 위해 입력 단어를 대체한 후보 대체 단어(222)(후보)에 대응하는 후보 점수(224)로 곱함으로써 수학식 3에 따라 각각의 계산된다.
예를 들어, "too", "tot" 및 "two"의 후보 대체 단어(222)들이 "I see you to"의 입력 문자열(204)의 입력 단어 "to"에 대한 후보 발생기(208)에 의한 그들의 대응하는 점수(224)들을 따라 발생되는 것을 말하기로 하자. 그 후, 대응하는 후보 대체 문자열(242)들은 "I see you too", "I see you tot" 및 "I see you two"로 된다. 그 후, 컨텍스추얼 철자 엔진(210)은 후보 대체 문자열(242)의 각각에 대한 확률 점수들을 계산하는 언어 모델(240)을 여러 번 호출한다.
그 후, 후보 대체 문자열(242)에 대한 최종 점수들이 그들의 확률 점수(244) 를 그들의 대응하는 후보 점수(224)로 곱함으로써 컨텍스추얼 철자 엔진(210)에 의해 계산된다. 그래서 후보 대체 문자열(242) "I see you too"에 대한 최종 점수가 후보 표(216)로부터 얻어진 입력 단어 "to"에 대한 후보 대체 단어 "too"에 대응하는 점수(224)로 곱해진 문자열 "I see you too"의 확률과 등가이다.
본 발명의 한 실시예에 따라, 최고 최종 점수를 갖는 후보 대체 문자열의 후보 단어(222)가 컨텍스추얼 철자 엔진(210)에 의해 애플리케이션(206)에 대해 출력(230)으로 제안된다. 대안적으로, 컨텍스추얼 철자 엔진(210)은, 그것이 어떤 임계치를 초과한다는 전제하에, 최고 최종 점수를 갖는 후보 대체 문자열(242)에 대응하는 후보 대체 단어(222)만을 제안할 수 있다. 본 발명의 다른 한 실시예에 따라, 임계치를 초과하는 최종 점수들을 갖는 다수의 후보 대체 단어(222)들이 컨텍스추얼 철자 엔진(210)에 의해 애플리케이션(206)에 대해 출력(230)으로 제안된다.
임계치는 예정되어 있거나 또는 주제 단어들과 후보 단어들의 확률의 함수로서 동적으로 계산될 수 있다. 한 실시예에서는, 임계치가 임계치 = α P(주제 단어들) + β P(후보 단어들) + γ P(입력 단어들) - P(후보 단어들)로부터 동적으로 판단된다.
후보 표 발생
도 4는 본 발명의 실시예들에 따른 철자 검사 시스템(200)이 이용하기 위한 후보 표(216)를 발생시키는 방법을 예시하는 플로우차트이다. 이 방법의 단계 250에서는, 단어들의 어휘 목록이 제공된다. 양호하게는 어휘 목록이 매우 크다 (예 를 들어, 100,000 단어 이상). 다음에, 단계 252에서, 어휘 목록의 주제 단어들이 어휘 목록의 다른 단어들과 비교된다. 양호하게는, 어휘 목록의 각각의 단어, 또는 적어도 어휘 목록의 가장 자주 이용된 단어들의 각각은 어휘 목록의 다른 단어들과 비교되는 주제 단어들이 된다. 단계 254에서, 후보 대체 단어들은 단계 252에서의 비교에 기초하여 주제 단어들을 위해 식별된다.
본 발명의 한 실시예에 따라, 어휘 목록의 다른 단어들에 대한 주제 단어들의 비교(단계 252)는 주제 단어에 대한 어휘 목록의 각각의 단어들 사이의 편집 또는 타이핑 거리를 계산하고 편집 거리들을 임계치 편집 거리와 비교하는 것을 필요로 한다. 임계치 편집 거리를 충족하는 편집 거리를 갖는 후보 대체 단어들이 주제 단어들에 대한 후보 대체 단어로서 식별된다. 임계치를 "충족한다"는 것은, 편집 거리들이 어떻게 계산되느냐에 따라, 임계치에 도달하거나, 임계치를 초과하거나 또는 임계치 미만으로 되는 것에 의해 충족되는 것으로 하려는 것임을 이해해야 한다.
비교 단계 252의 다른 한 실시예에 따라, 어휘 목록의 각각의 단어들의 의미가 주제 단어들과 비교된다. 식별 단계 254는 주제 단어와 의미가 유사한 어휘 목록의 단어들을 후보 대체 단어들로서 식별하는 것을 포함한다. 예를 들어, 주제 단어들의 동의어들은 후보 대체 단어로서 식별될 수 있다. 본 발명의 한 실시예에 따라, 어휘 목록의 주제 단어들은 기준어 사전(thesaurus) 데이터에 대해 검사되며, 그로부터 유사한 의미를 갖는 후보 대체 단어들이 이 방법의 단계 254에서 후보 대체 단어들로 식별된다.
비교 단계 252의 다른 한 실시예에 따라, 어휘 목록의 단어들의 음성학적 표시들이 어휘 목록의 주제 단어들과 비교된다. 어휘 목록의 단어들의 음성학적 표시들은 양호하게는 종래의 텍스트 음성 변환(text-to-speech) 엔진에 단어를 제출하는 것을 통해 자동으로 발생된다. 주제 단어의 음성학적 표시와 매치하는 음성학적 표시들을 갖는 어휘 목록의 단어들은 식별 단계 254에서 주제 단어에 대한 후보 대체 단어들로서 식별된다. 이러한 쌍들의 예시들은 "bear"와 "bare" 및 "which"와 "witch"를 포함한다. 그래서, 주제 단어의 동음이의어들이 후보 대체 단어들로서 식별된다. 본 발명의 다른 한 실시예에 따라, 거의 동음이의어(즉, 임계치를 충족하는 것들)인 어휘 목록의 단어들도 후보 대체 단어들로서 식별된다.
본 발명의 다른 한 실시예는 문장들의 큰 로그에서 발견되는 바이그램(bigrams)(즉, 단어 쌍)들의 분석을 포함한다. 그 분석은 바이그램의 제1 및 제2 단어들 사이에 배치된 공백을 이동 또는 삭제하는 것이 적어도 하나의 유효한 단어의 발생으로 귀결될 수 있는지를 판단하는 것이 필요하다. 비교 단계 252의 한 실시예는 주제 단어들을 공백 이동 분석으로부터 발생된 유효한 단어들과 비교하는 것을 포함한다. 양호하게는, 제1 단어의 끝 문자 앞 또는 제2 단어의 첫문자 뒤의 공백을 이동함으로써, 또는 그 공백을 삭제함으로써 형성되는 유효한 단어들만, 그들이 매우 보편적인 활자 오류들에 대응하는 것이기 때문에, 비교 단계 252에서 이용된다. 그리고, 주제 단어들과 매치하는 새롭게 형성된 유효한 단어들은 단계 254에서 주제 단어들에 대한 후보 대체 단어들로서 식별된다. 예를 들어, "use swords"이라는 단어 쌍에 대한 후보 대체 단어들은 "uses words"일 수 있고, "dog sand"라는 단어 쌍에 대한 후보 대체 단어들은 "dogs and"일 수 있다. 마찬가지로, "any one"이라는 단어 쌍에 대한 후보 대체 단어는 "anyone"일 수 있고, 역으로, "anyone"이라는 단어 쌍에 대한 후보 대체 단어는 "any one"일 수 있다.
이 방법의 단계 256에서, 대응하는 식별된 후보 대체 단어들과 쌍을 이룬 주제 단어들을 포함하는 후보 목록(216)이 형성된다. 마지막으로, 단계 258에서, 후보 표(216)가 도 1과 관련하여 앞서 기술한 바와 같은 컴퓨터 판독가능 매체에 저장된다.
본 발명의 다른 한 실시예에 따라, 앞서 설명했듯이 후보 대체 단어가 대응하는 주제 단어로 대체되어야 하는 확률에 기초하여 단계 256에서 주제 단어와 후보 대체 단어들의 각각의 쌍들에 대해 후보 점수(224)가 발생된다. 후보 점수들은 양호하게는 비교 단계 252에서 분석된 하나 이상의 인자들 및 앞서 설명한 것들에 기초한다. 후보 점수는 단계 258에서 컴퓨터 판독가능 매체에 저장되는 후보 표(216)에 포함되어 있다.
후보 제외 표
본 발명의 다른 한 실시예에 따라, 후보 발생기(208)가 후보 대체 단어(222)로서 컨텍스추얼 철자 엔진(210)에 제출되지 않아야 하는 특정한 후보 대체 단어들을 식별하는 후보 제외 표(260)가 발생된다. 그래서, 후보 제외 표(260)는 부적절하거나 바람직하지 않은 후보 대체 단어들이 컨텍스추얼 철자 엔진(210)에 의해 애플리케이션(206)에 제안되는 것을 방지한다. 양호하게는, 후보 제외 표(260)가 불쾌감을 주는 후보 대체 단어들을 포함한다. 또한, "rough"와 "tough" 등과 같이 명확하게 하기 어렵거나 유사한 문맥들에서 흔히 발생하는 단어들이 후보 제외 표에 포함될 수도 있다. "color"와 "colour", 또는 "goodbye"와 "good-bye" 등과 같이 동일한 주제 단어의 용인할 만한 철자 변형들을 후보 제외 표(260)에 포함시켜 제외할 수 있다. 또한, 독특한 입력 단어가 다수의 형태로 귀결되는 활자 오류들은 드물기 때문에, 양호하게는, 독특한 주제 단어들 및 그들에 대응하는 다수의 단어들이 후보 제외 표(260)에 포함된다.
본 발명의 한 실시예에 따라, 후보 표(216)는 후보 제외 표(260)에서 매칭 단어 쌍들을 갖는 주제 단어와 후보 대체 단어 쌍들을 제외시키기 위해 주기적으로 업데이트된다. 또한, 후보 제외 표(260)의 단어들과 매치하는 후보 대체 단어들을 갖는 후보 표(216)의 주제 단어와 후보 대체 단어 쌍들이 제외될 수도 있다. 그렇게 산출되는 후보 표(216)의 크기의 감축은 철자 검사 시스템(200)이 좀더 효율적으로 작동하게 한다.
본 발명이 특수한 실시예들을 참조하여 기술되었지만, 이 분야에 숙련된 작업자들은 본 발명의 정신 및 범위로부터 벗어남이 없는 형태 및 상세사항들에서의 변화가 이루어질 수 있음을 알 것이다.

Claims (20)

  1. 문자열의 단어들에 대한 대체 단어들을 제안하는 컴퓨터로 구현되는 방법에 있어서,
    a) 입력 단어들의 입력 문자열을 수신하는 단계;
    b) 상기 입력 단어들을 후보 표의 주제 단어들에 매치하는 단계;
    c) 상기 후보 표로부터 상기 매치된 주제 단어들에 대응하는 후보 대체 단어 및 후보 점수들을 추출하는 단계 - 각각의 후보 점수는 상기 입력 단어가 상기 대응하는 후보 대체 단어로 대체되어야 할 확률을 나타냄 - ; 및
    d) 상기 대체 단어들에 대한 상기 후보 점수에 기초하여 상기 입력 단어들을 그들의 대응하는 후보 대체 단어들로 대체할 것을 선택적으로 제안하는 단계
    를 포함하는 문자열의 단어들에 대한 대체 단어들을 제안하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 매칭 단계 b) 전에 철자 오류된 입력 단어들을 교정하는 단계를 포함하고, 그럼으로써 상기 입력 문자열이 올바르게 철자된 입력 단어들만 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 입력 문자열의 상기 입력 단어들을 상기 대응하는 후보 대체 단어들로 대체하는 것을 포함해서 상기 후보 대체 단어들을 이용하여 후보 대체 문자열들을 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 후보 대체 문자열들에 대한 확률 점수 - 각각의 확률 점수는 상기 입력 단어들 및 상기 후보 대체 문자열에 포함된 상기 후보 대체 단어에 기초함 - 를 계산하는 단계를 포함하고, 상기 제안 단계 d)가 상기 입력 단어를 상기 확률 점수에 기초하여 상기 후보 대체 문자열의 상기 대응하는 후보 대체 단어로 대체할 것을 제안하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 제안 단계 d)가 상기 후보 대체 문자열들의 각각의 최종 점수들을 얻기 위해 상기 확률 점수들을 대응하는 후보 점수와 곱하는 단계를 포함하고,
    상기 제안 단계 d)가 최고 최종 점수를 갖는 상기 후보 대체 문자열의 상기 대응하는 후보 대체 단어로 상기 입력 단어를 대체할 것을 제안하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 후보 표의 상기 주제 단어들 및 상기 대응하는 후보 대체 단어들이 각 각 어휘 목록에서 단어들을 식별하는 어휘 목록 식별자의 형태인 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 후보 표의 상기 후보 대체 단어들이 임계치를 충족하는 그들의 대응하는 주제 단어들로부터의 편집 거리를 갖는 단어들을 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 후보 표의 상기 후보 대체 단어들이 그들의 대응하는 주제 단어들과 유사한 의미를 갖는 단어들을 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 후보 표의 상기 후보 대체 단어들이 그들의 대응하는 주제 단어들에 대해 음성학적으로 매치하는 단어들을 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 후보 표의 상기 후보 대체 단어들이 그들의 대응하는 주제 단어들을 통상적으로 교정한 단어들을 포함하는 것을 특징으로 하는 방법.
  11. 입력 문자열의 입력 단어들에 대한 대체 단어들을 제안하기 위한 철자 검사 시스템이 이용하는 후보 표를 발생시키는 컴퓨터로 구현되는 방법에 있어서,
    a) 단어들의 어휘 목록을 제공하는 단계;
    b) 상기 어휘 목록의 주제 단어들을 상기 어휘 목록의 상기 단어들과 비교하는 단계;
    c) 상기 비교 단계 b)에 기초하여 상기 주제 단어들에 대한 후보 대체 단어들을 식별하는 단계;
    d) 상기 주제 단어들이 그들의 대응하는 식별된 후보 대체 단어들과 쌍을 이루는 후보 표를 형성하는 단계; 및
    e) 상기 후보 표를 컴퓨터 판독가능 매체에 저장하는 단계
    를 포함하는 입력 문자열의 입력 단어들에 대한 대체 단어들을 제안하기 위한 철자 검사 시스템이 이용하는 후보 표를 발생시키는 컴퓨터로 구현되는 방법.
  12. 제11항에 있어서,
    상기 비교 단계 e)가 상기 어휘 목록의 상기 단어들로부터 상기 주제 단어들까지 측정된 편집 거리들을 임계치 편집 거리와 비교하는 단계를 포함하고, 상기 식별 단계 c)가 임계치 편집 거리를 충족하는 상기 주제 단어로부터의 편집 거리를 갖는 상기 주제 단어들의 각각에 대한 후보 대체 단어들을 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제11항에 있어서,
    상기 비교 단계 b)가 상기 어휘 목록의 기타의 단어들의 각각의 의미를 상기 주제 단어들의 각각과 비교하는 단계를 포함하고, 상기 식별 단계 c)가 상기 주제 단어와 유사한 의미를 갖는 상기 주제 단어들의 각각에 대한 후보 대체 단어들을 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제11항에 있어서,
    상기 비교 단계 b)가 상기 어휘 목록의 단어들의 각각의 음성학적 표시를 상기 주제 단어들의 각각의 음성학적 표시와 비교하는 단계를 포함하고, 상기 식별 단계 c)가 상기 주제 단어의 음성학적 표시와 매치하는 음성학적 표시를 갖는 상기 주제 단어들의 각각에 대한 후보 대체 단어들을 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제11항에 있어서,
    상기 형성 단계 d)가 상기 후보 대체 단어가 상기 대응하는 주제 단어를 대체해야 하는 확률에 기초하여 상기 주제 단어와 후보 대체 단어들의 쌍들의 각각에 대한 후보 점수를 발생시키고 상기 후보 점수들을 포함하도록 상기 후보 표를 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    상기 후보 점수가 상기 후보 대체 단어와 상기 대응하는 주제 단어 사이의 편집 거리에 기초하는 것을 특징으로 하는 방법.
  17. 제11항에 있어서,
    문장들의 로그에서 공백으로 분리된 제1 단어 및 제2 단어를 갖는 단어 쌍들을 분석하는 단계 - 상기 공백을 삭제하는 것과 상기 제1 단어의 끝 문자 앞 공백을 이동시키는 것 및 상기 제2 단어의 첫문자 뒤 공백을 이동시키는 것 중 하나에 의해 형성되는 새로운 유효한 단어를 식별하는 단계를 포함함 - 및
    상기 형성 단계 d)에서 상기 새로운 유효한 단어를 상기 후보 표에 대해 상기 제1 및 제2 단어들 중 대응하는 것에 대한 후보 대체 단어로서 부가하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 입력 문자열의 입력 단어들에 대한 대체 단어들을 제안하는 철자 검사 시스템에 있어서,
    후보 표의 주제 단어를 매치하는 상기 입력 단어들의 각각에 대한 후보 대체 단어 및 대응하는 후보 점수의 출력을 포함하는 후보 발생기 - 각각의 후보 점수는 상기 입력 단어가 상기 대응하는 후보 대체 단어로 대체되어야 할 확률을 나타냄 - ; 및
    상기 대응하는 후보 점수들에 기초하여 상기 입력 단어들에 대한 후보 대체 단어들의 선택적 출력을 포함하는 컨텍스추얼(contextual) 철자 엔진을 포함하는 입력 문자열의 입력 단어들에 대한 대체 단어들을 제안하는 철자 검사 시스템.
  19. 제18항에 있어서,
    상기 후보 발생기에 의해 출력된 상기 대응하는 후보 대체 단어로 대체되는 상기 입력 단어들 중 적어도 하나를 갖는 상기 입력 문자열에 대응하는 후보 대체 문자열에 대한 확률 점수 출력을 갖는 언어 모델을 포함하고, 상기 확률 점수 출력은 상기 후보 대체 문자열의 교정의 측정이며, 상기 컨텍스추얼 철자 엔진에 의해 생성된 후보 대체 단어들의 상기 선택적 출력이 상기 후보 대체 문자열에 포함된 상기 후보 대체 단어에 대응하는 상기 확률 점수 출력 및 상기 후보 점수에 기초하는 것을 특징으로 하는 시스템.
  20. 제18항에 있어서,
    상기 후보 발생기의 출력과 상기 컨텍스추얼 철자 엔진의 출력 중 하나로부터 제외된 후보 대체 단어들의 목록을 포함하는 후보 제외 표를 포함하는 것을 특징으로 하는 시스템.
KR1020077024524A 2005-04-25 2006-03-14 철자 제안을 생성하기 위한 방법 및 시스템 KR101292404B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/113,612 2005-04-25
US11/113,612 US7584093B2 (en) 2005-04-25 2005-04-25 Method and system for generating spelling suggestions
PCT/US2006/009147 WO2006115598A2 (en) 2005-04-25 2006-03-14 Method and system for generating spelling suggestions

Publications (2)

Publication Number Publication Date
KR20080003364A true KR20080003364A (ko) 2008-01-07
KR101292404B1 KR101292404B1 (ko) 2013-08-01

Family

ID=37188148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077024524A KR101292404B1 (ko) 2005-04-25 2006-03-14 철자 제안을 생성하기 위한 방법 및 시스템

Country Status (9)

Country Link
US (1) US7584093B2 (ko)
EP (1) EP1875462A4 (ko)
JP (1) JP2008539476A (ko)
KR (1) KR101292404B1 (ko)
CN (1) CN101371253B (ko)
BR (1) BRPI0609108A2 (ko)
MX (1) MX2007013357A (ko)
RU (1) RU2007139510A (ko)
WO (1) WO2006115598A2 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101049358B1 (ko) * 2008-12-08 2011-07-13 엔에이치엔(주) 유사어 결정 방법 및 시스템
KR101126406B1 (ko) * 2008-11-27 2012-04-20 엔에이치엔(주) 유사어 결정 방법 및 시스템
KR101480711B1 (ko) * 2008-09-29 2015-01-09 에스케이플래닛 주식회사 주제 탐지 장치와 주제 탐지 방법, 저장 매체, 정보 제공 시스템, 서비스 서버 및 방법
KR20160064576A (ko) * 2014-11-28 2016-06-08 한화테크윈 주식회사 영상 검색 방법 및 장치
KR20160107383A (ko) 2015-03-03 2016-09-19 울산과학기술원 언어 문장 패턴 제안을 위한 생성 시스템
KR20170122727A (ko) * 2015-01-06 2017-11-06 와트3워즈 리미티드 전자 장치에서 수신된 입력 문자열에 대한 대체물들로서 후보 단어들을 제시하는 방법
KR102368418B1 (ko) * 2020-12-31 2022-03-02 (주)휴에버그린팜 펀치 라인이 포함되는 랩 가사 생성 장치 및 방법

Families Citing this family (239)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7831911B2 (en) * 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
US7562811B2 (en) 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
WO2007129316A2 (en) 2006-05-07 2007-11-15 Varcode Ltd. A system and method for improved quality management in a product logistic chain
EP1855210B1 (en) * 2006-05-11 2018-01-03 Dassault Systèmes Spell checking
US8395586B2 (en) 2006-06-30 2013-03-12 Research In Motion Limited Method of learning a context of a segment of text, and associated handheld electronic device
US7565624B2 (en) * 2006-06-30 2009-07-21 Research In Motion Limited Method of learning character segments during text input, and associated handheld electronic device
US9552349B2 (en) * 2006-08-31 2017-01-24 International Business Machines Corporation Methods and apparatus for performing spelling corrections using one or more variant hash tables
US8626486B2 (en) * 2006-09-05 2014-01-07 Google Inc. Automatic spelling correction for machine translation
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9275036B2 (en) * 2006-12-21 2016-03-01 International Business Machines Corporation System and method for adaptive spell checking
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US7991609B2 (en) * 2007-02-28 2011-08-02 Microsoft Corporation Web-based proofing and usage guidance
US8775931B2 (en) * 2007-03-30 2014-07-08 Blackberry Limited Spell check function that applies a preference to a spell check algorithm based upon extensive user selection of spell check results generated by the algorithm, and associated handheld electronic device
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8528808B2 (en) 2007-05-06 2013-09-10 Varcode Ltd. System and method for quality management utilizing barcode indicators
CN105045777A (zh) 2007-08-01 2015-11-11 金格软件有限公司 使用互联网语料库的自动的上下文相关的语言校正和增强
US8055670B2 (en) * 2007-08-13 2011-11-08 Yahoo! Inc. System and method for the generation of replacement titles for content items
US7761524B2 (en) * 2007-08-20 2010-07-20 International Business Machines Corporation Automatically generated subject recommendations for email messages based on email message content
US20090100335A1 (en) * 2007-10-10 2009-04-16 John Michael Garrison Method and apparatus for implementing wildcard patterns for a spellchecking operation
EP2218055B1 (en) 2007-11-14 2014-07-16 Varcode Ltd. A system and method for quality management utilizing barcode indicators
US8176419B2 (en) * 2007-12-19 2012-05-08 Microsoft Corporation Self learning contextual spell corrector
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20090300126A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Message Handling
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8762153B2 (en) * 2008-08-18 2014-06-24 At&T Intellectual Property I, L.P. System and method for improving name dialer performance
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US20100332215A1 (en) * 2009-06-26 2010-12-30 Nokia Corporation Method and apparatus for converting text input
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
KR101083455B1 (ko) * 2009-07-17 2011-11-16 엔에이치엔(주) 통계 데이터에 기초한 사용자 질의 교정 시스템 및 방법
EP2341467B1 (en) * 2009-09-24 2019-12-18 Nec Corporation Word recognition device, method, non-transitory computer readable medium storing program and shipped item classification device
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US20110179353A1 (en) * 2010-01-19 2011-07-21 Research In Motion Limited Mobile Electronic Device and Associated Method Providing Proposed Spelling Corrections Based Upon a Location of Cursor At or Adjacent a Character of a Text Entry
DE112011100329T5 (de) 2010-01-25 2012-10-31 Andrew Peter Nelson Jerram Vorrichtungen, Verfahren und Systeme für eine Digitalkonversationsmanagementplattform
CA2787390A1 (en) 2010-02-01 2011-08-04 Ginger Software, Inc. Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8266528B1 (en) 2010-06-24 2012-09-11 Google Inc. Spelling suggestions based on an input sequence including accidental “delete”
US9262397B2 (en) 2010-10-08 2016-02-16 Microsoft Technology Licensing, Llc General purpose correction of grammatical and word usage errors
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US8639494B1 (en) * 2010-12-28 2014-01-28 Intuit Inc. Technique for correcting user-interface shift errors
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US20120246133A1 (en) * 2011-03-23 2012-09-27 Microsoft Corporation Online spelling correction/phrase completion system
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9298693B2 (en) 2011-12-16 2016-03-29 Microsoft Technology Licensing, Llc Rule-based generation of candidate string transformations
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8713433B1 (en) 2012-10-16 2014-04-29 Google Inc. Feature-based autocorrection
US8612213B1 (en) 2012-10-16 2013-12-17 Google Inc. Correction of errors in character strings that include a word delimiter
US8807422B2 (en) 2012-10-22 2014-08-19 Varcode Ltd. Tamper-proof quality management barcode indicators
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US9489372B2 (en) * 2013-03-15 2016-11-08 Apple Inc. Web-based spell checker
KR101759009B1 (ko) 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
US10303762B2 (en) * 2013-03-15 2019-05-28 Disney Enterprises, Inc. Comprehensive safety schema for ensuring appropriateness of language in online chat
CN104102625B (zh) * 2013-04-15 2017-07-04 佳能株式会社 通过应用键盘布局信息来改进拼写检查的方法和设备
US9122376B1 (en) * 2013-04-18 2015-09-01 Google Inc. System for improving autocompletion of text input
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101959188B1 (ko) 2013-06-09 2019-07-02 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
WO2014200731A1 (en) 2013-06-13 2014-12-18 Apple Inc. System and method for emergency calls initiated by voice command
CN104298672B (zh) * 2013-07-16 2018-09-11 北京搜狗科技发展有限公司 一种输入的纠错方法和装置
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US20150073771A1 (en) * 2013-09-10 2015-03-12 Femi Oguntuase Voice Recognition Language Apparatus
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
KR101990929B1 (ko) * 2014-03-12 2019-06-20 네이버 주식회사 문자열 사이의 연관성 판단을 통한 오타 수정 방법
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10204096B2 (en) * 2014-05-30 2019-02-12 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US20160062979A1 (en) * 2014-08-27 2016-03-03 Google Inc. Word classification based on phonetic features
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US11354755B2 (en) 2014-09-11 2022-06-07 Intuit Inc. Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10013721B1 (en) 2014-10-31 2018-07-03 Intuit Inc. Identification of electronic tax return errors based on declarative constraints
US10255641B1 (en) 2014-10-31 2019-04-09 Intuit Inc. Predictive model based identification of potential errors in electronic tax return
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
GB2549240A (en) * 2015-01-06 2017-10-18 What3Words Ltd A method for suggesting one or more multi-word candidates based on an input string received at an electronic device
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9760560B2 (en) * 2015-03-19 2017-09-12 Nuance Communications, Inc. Correction of previous words and other user text input errors
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10740853B1 (en) 2015-04-28 2020-08-11 Intuit Inc. Systems for allocating resources based on electronic tax return preparation program user characteristics
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
JP6649472B2 (ja) 2015-05-18 2020-02-19 バーコード リミティド 活性化可能な品質表示ラベルのための熱変色性インク証印
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
CN107709946B (zh) 2015-07-07 2022-05-10 发可有限公司 电子质量标志
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10740854B1 (en) 2015-10-28 2020-08-11 Intuit Inc. Web browsing and machine learning systems for acquiring tax data during electronic tax return preparation
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10410295B1 (en) 2016-05-25 2019-09-10 Intuit Inc. Methods, systems and computer program products for obtaining tax data
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US9858257B1 (en) * 2016-07-20 2018-01-02 Amazon Technologies, Inc. Distinguishing intentional linguistic deviations from unintentional linguistic deviations
US20180039608A1 (en) * 2016-08-03 2018-02-08 Google Inc. Correction of previously received textual messages based on one or more later received textual messages
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
CN108008832A (zh) 2016-10-31 2018-05-08 北京搜狗科技发展有限公司 一种输入方法和装置、一种用于输入的装置
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10089297B2 (en) * 2016-12-15 2018-10-02 Microsoft Technology Licensing, Llc Word order suggestion processing
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
KR20190024072A (ko) * 2017-08-31 2019-03-08 필아이티 주식회사 가상 키보드를 통하여 입력받은 문자열을 교정하는 모바일 장치 및 방법
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
CN110083819B (zh) * 2018-01-26 2024-02-09 北京京东尚科信息技术有限公司 拼写纠错方法、装置、介质及电子设备
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
CN109858004B (zh) * 2019-02-12 2023-08-01 四川无声信息技术有限公司 文本改写方法、装置及电子设备
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN110209783B (zh) * 2019-04-26 2024-03-15 平安科技(深圳)有限公司 聊天应答方法及系统、电子装置及可读存储介质
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11416136B2 (en) 2020-09-14 2022-08-16 Apple Inc. User interfaces for assigning and responding to user inputs
KR20220084408A (ko) * 2020-10-25 2022-06-21 구글 엘엘씨 동적 공간 모델에 기초하여 가상 키보드 오류 수정
US11347352B2 (en) 2020-10-25 2022-05-31 Google Llc Virtual keyboard error correction based on a dynamic spatial model

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62143173A (ja) * 1985-12-18 1987-06-26 Hitachi Ltd 文字列つづり訂正方法
US5604897A (en) 1990-05-18 1997-02-18 Microsoft Corporation Method and system for correcting the spelling of misspelled words
US5649222A (en) 1995-05-08 1997-07-15 Microsoft Corporation Method for background spell checking a word processing document
US5659771A (en) 1995-05-19 1997-08-19 Mitsubishi Electric Information Technology Center America, Inc. System for spelling correction in which the context of a target word in a sentence is utilized to determine which of several possible words was intended
US6085206A (en) 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US5878386A (en) * 1996-06-28 1999-03-02 Microsoft Corporation Natural language parser with dictionary-based part-of-speech probabilities
US6154843A (en) 1997-03-21 2000-11-28 Microsoft Corporation Secure remote access computing system
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6131102A (en) 1998-06-15 2000-10-10 Microsoft Corporation Method and system for cost computation of spelling suggestions and automatic replacement
US6401060B1 (en) 1998-06-25 2002-06-04 Microsoft Corporation Method for typographical detection and replacement in Japanese text
US6144958A (en) 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
GB2343037B (en) 1998-10-22 2002-12-31 Ibm Phonetic spell checker
US6298321B1 (en) 1998-11-23 2001-10-02 Microsoft Corporation Trie compression using substates and utilizing pointers to replace or merge identical, reordered states
US6304878B1 (en) 1998-11-23 2001-10-16 Microsoft Corporation Method and system for improved enumeration of tries
KR100749289B1 (ko) * 1998-11-30 2007-08-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 텍스트의 자동 세그멘테이션 방법 및 시스템
US6601059B1 (en) 1998-12-23 2003-07-29 Microsoft Corporation Computerized searching tool with spell checking
US6675169B1 (en) 1999-09-07 2004-01-06 Microsoft Corporation Method and system for attaching information to words of a trie
US6889361B1 (en) * 2000-06-13 2005-05-03 International Business Machines Corporation Educational spell checker
US6694296B1 (en) 2000-07-20 2004-02-17 Microsoft Corporation Method and apparatus for the recognition of spelled spoken words
US7627596B2 (en) * 2001-02-22 2009-12-01 International Business Machines Corporation Retrieving handwritten documents using multiple document recognizers and techniques allowing both typed and handwritten queries
US20040111475A1 (en) * 2002-12-06 2004-06-10 International Business Machines Corporation Method and apparatus for selectively identifying misspelled character strings in electronic communications
US7346615B2 (en) * 2003-10-09 2008-03-18 Google, Inc. Using match confidence to adjust a performance threshold

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480711B1 (ko) * 2008-09-29 2015-01-09 에스케이플래닛 주식회사 주제 탐지 장치와 주제 탐지 방법, 저장 매체, 정보 제공 시스템, 서비스 서버 및 방법
KR101126406B1 (ko) * 2008-11-27 2012-04-20 엔에이치엔(주) 유사어 결정 방법 및 시스템
KR101049358B1 (ko) * 2008-12-08 2011-07-13 엔에이치엔(주) 유사어 결정 방법 및 시스템
KR20160064576A (ko) * 2014-11-28 2016-06-08 한화테크윈 주식회사 영상 검색 방법 및 장치
KR20170122727A (ko) * 2015-01-06 2017-11-06 와트3워즈 리미티드 전자 장치에서 수신된 입력 문자열에 대한 대체물들로서 후보 단어들을 제시하는 방법
KR20160107383A (ko) 2015-03-03 2016-09-19 울산과학기술원 언어 문장 패턴 제안을 위한 생성 시스템
KR102368418B1 (ko) * 2020-12-31 2022-03-02 (주)휴에버그린팜 펀치 라인이 포함되는 랩 가사 생성 장치 및 방법

Also Published As

Publication number Publication date
WO2006115598A2 (en) 2006-11-02
JP2008539476A (ja) 2008-11-13
MX2007013357A (es) 2008-01-11
US7584093B2 (en) 2009-09-01
CN101371253A (zh) 2009-02-18
KR101292404B1 (ko) 2013-08-01
EP1875462A2 (en) 2008-01-09
RU2007139510A (ru) 2009-04-27
EP1875462A4 (en) 2010-08-11
US20060241944A1 (en) 2006-10-26
CN101371253B (zh) 2010-11-03
WO2006115598A3 (en) 2008-10-16
BRPI0609108A2 (pt) 2010-02-23

Similar Documents

Publication Publication Date Title
KR101292404B1 (ko) 철자 제안을 생성하기 위한 방법 및 시스템
US7574348B2 (en) Processing collocation mistakes in documents
US5477448A (en) System for correcting improper determiners
JP3971373B2 (ja) ルールベース方式と翻訳パターン方式とを混合したハイブリッド自動翻訳装置
KR101279676B1 (ko) 언어 모델을 생성하기 위한 방법, 가나-간지 변환 방법 및그 장치
US20090192787A1 (en) Grammer checker
JPH0844719A (ja) 辞書アクセスシステム
Richter et al. Korektor–a system for contextual spell-checking and diacritics completion
US7398210B2 (en) System and method for performing analysis on word variants
CA2504111A1 (en) Critiquing clitic pronoun ordering in french
Gezmu et al. Portable spelling corrector for a less-resourced language: Amharic
US10120843B2 (en) Generation of parsable data for deep parsing
Tufiş et al. DIAC+: A professional diacritics recovering system
KR20150092879A (ko) n-gram 데이터 및 언어 분석에 기반한 문법 오류 교정장치 및 방법
Subhagya et al. Data driven approach to sinhala spellchecker and correction
US8977538B2 (en) Constructing and analyzing a word graph
Ren et al. A hybrid approach to automatic Chinese text checking and error correction
KR20100075118A (ko) 번역서비스 제공방법 및 그 시스템
Guinard An Algorithm for Morphological Segmentation of Esperanto Words
JP6303508B2 (ja) 文書分析装置、文書分析システム、文書分析方法およびプログラム
KR102604758B1 (ko) 사용자 정보를 이용한 맞춤법 검사 시스템 및 방법
JPH07325825A (ja) 英文法チェックシステム装置
JP3433827B2 (ja) 句構造抽出装置
GUEDDAH Efficient Weighted Edit Distance and N-gram Language Models to Improve Spelling Correction of Segmentation Errors
Ratnam et al. Phonogram-based Automatic Typo Correction in Malayalam Social Media Comments

Legal Events

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

Payment date: 20160630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6