KR101890835B1 - 입력 텍스트 스트링들의 변환 - Google Patents

입력 텍스트 스트링들의 변환 Download PDF

Info

Publication number
KR101890835B1
KR101890835B1 KR1020137007528A KR20137007528A KR101890835B1 KR 101890835 B1 KR101890835 B1 KR 101890835B1 KR 1020137007528 A KR1020137007528 A KR 1020137007528A KR 20137007528 A KR20137007528 A KR 20137007528A KR 101890835 B1 KR101890835 B1 KR 101890835B1
Authority
KR
South Korea
Prior art keywords
terms
type
rules
string
translated
Prior art date
Application number
KR1020137007528A
Other languages
English (en)
Other versions
KR20140018836A (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 KR20140018836A publication Critical patent/KR20140018836A/ko
Application granted granted Critical
Publication of KR101890835B1 publication Critical patent/KR101890835B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

텍스트 스트링들을 변환하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법, 시스템, 및 장치가 개시된다. 일반적으로, 본 명세서에 기술된 내용의 일 양상은 제1 형태로 되어 있으며 복수의 용어들을 갖는 입력 스트링을 수신하는 단계와; 상기 입력 스트링을 상기 제1 형태로부터 제2 형태로 변환하는 단계와, 상기 변환하는 단계는, 번역을 위한 하나 이상의 용어들을 식별하기 위하여 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계와, 상기 식별된 하나 이상의 용어들은 상기 복수의 용어들보다 적고, 상기 식별된 하나 이상의 용어들을 상기 제2 형태의 하나 이상의 번역된 용어들로 번역하는 단계와, 그리고 상기 복수의 용어들의 나머지 용어들을 상기 제2 형태의 음역된 용어들로 음역하는 단계를 포함하며; 그리고 상기 제2 형태로 하이브리드 출력 스트링을 형성하기 위하여 상기 번역된 용어들과 상기 음역된 용어들을 병합하는 단계를 포함하는 방법들로 구현될 수 있다.

Description

입력 텍스트 스트링들의 변환{CONVERSION OF INPUT TEXT STRINGS}
본 발명은 입력 스트링의 변환에 관한 것이다.
통상의 텍스트는 특정한 형태, 예를 들어 특정한 표기 체계(writing system) 및 특정한 자연어(natural language)와 관련된다. 표기 체계는 하나 또는 복수의 언어들을 나타내기 위해 사용될 수 있다. 예를 들어, (로마자를 사용하여 나타내는) 라틴 표기 체계가 자연어 영어에 대해 그리고 자연어 중국어에 대해서도 사용될 수 있다(예를 들어, 로마자로 표기된 중국어(예컨대, 병음(Pinyin))). 마찬가지로, 복수의 표기 체계가 동일한 언어를 나타내기 위해 사용될 수 있다. 예를 들어, 한자(Hanzi) 및 병음 표기 체계가 중국어를 나타내기 위해 사용될 수 있다. 입력 스트링을 형태들 간에 변환하는 것(예컨대, 하나의 표기 체계에서 다른 표기 체계로 또는 하나의 자연어에서 다른 자연어로 변환하는 것)은 입력 스트링의 번역 또는 음역(transliteration)을 수반할 수 있다.
본 발명은 제1 형태로부터 제2 형태로의 텍스트 입력 스트링들의 변환에 관한 것이다.
텍스트 및 스피치의 국제화 및 번역에 있어서, 특정 단어들은 이들의 의미 또는 시맨틱에 근거하여 번역된다(예를 들어, 영어 "high"는 일본어 "高い"로 번역될 수 있고, 한편 영어 "bridge"는 "橋"로 번역될 수 있다). 다른 단어들은 그들의 소리 또는 철자법(예컨대, 언어를 표기하기 위한 특정 표기 체계를 사용하기 위한 규칙들)에 근거하여 음역된다. 예를 들어, 영어 명칭 "Highbridge"는 번역된 형태인 "高橋"로가 아닌, 일본어 "ハイブリッジ"로 음역된다. 하이브리드 형태들은 입력 스트링의 일부분을 시멘틱하게 번역하는 것과 상기 입력 스트링의 다른 부분들을 음역하는 것을 포함한다. 예를 들어, "Highbridge Park"는 일본어로 하이브리드 형태인 "ハイブブリッジ公園"가 될 수 있으며, 여기서 "ハイブブリッジ"는 음역 부분이고 "公園"은 번역 부분이다.
본 명세서는 용어들의 입력 스트링을 제1 형태로부터 제2 형태로, 예컨대 하나의 자연어 또는 표기 체계로부터 또 다른 자연어 또는 표기 체계로 변환하기 위한 기법을 기술한다. 상기 변환은, 예를 들어, 음역 및 하이브리드 번역 기법을 사용하여 수행될 수 있다. 용어의 입력 스트링을 제1 형태로부터 제2 형태로 변환하는 것은 제1 언어의 표기 체계로부터 제2 언어의 표기 체계로 변환하는 것 및 동일한 언어의 두 표기 체계들 사이에서 변환하는 것을 포함할 수 있다.
일부 실시예들에서, 복수의 용어들을 포함하는 입력 스트링에 대해, 입력 스트링을 한 형태로부터 또 다른 형태의 출력 스트링으로 변환하기 위하여 기계 변환(machine transformation)이 수행된다. 기계 변환은 입력 스트링 내의 용어들의 음역과 번역의 하이브리드인 출력 스트링을 생성하는 것을 포함할 수 있다. 예를 들어, 용어들의 입력 스트링을 변환하는 것은 하나 이상의 용어들이 번역될 것인지를 결정하기 위하여 규칙들을 사용하는 것과, 다른 용어들에 대해 음역을 수행하기 위하여 언어 특정 규칙들을 사용하는 것을 포함할 수 있다.
일반적으로, 본 명세서에 기술된 내용의 일 양상은, 제1 형태로 되어 있으며 복수의 용어들을 갖는 입력 스트링을 수신하는 단계와; 상기 입력 스트링을 상기 제1 형태로부터 제2 형태로 변환하는 단계와, 상기 변환하는 단계는, 번역을 위한 하나 이상의 용어들을 식별하기 위하여 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계 - 상기 식별된 하나 이상의 용어들은 상기 복수의 용어들보다 적음 - 와, 상기 식별된 하나 이상의 용어들을 상기 제2 형태의 하나 이상의 번역된 용어들로 번역하는 단계와, 상기 복수의 용어들의 나머지 용어들을 상기 제2 형태의 음역된 용어들로 음역하는 단계를 포함하며; 그리고 상기 제2 형태로 하이브리드 출력 스트링을 형성하기 위하여 상기 번역된 용어들과 상기 음역된 용어들을 병합하는 단계의 동작들을 포함하는 방법들로 구현될 수 있다. 본 양상의 다른 실시예들은, 각각 본 방법들의 동작들을 수행하도록 된, 대응하는 컴퓨터 시스템, 장치, 및 하나 이상의 컴퓨터 저장 디바이스들에 기록된 컴퓨터 프로그램들을 포함한다. 하나 이상의 컴퓨터들의 시스템은 동작시 상기 시스템으로 하여금 상기 동작들 수행하게 하는 상기 시스템 상에 인스톨된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 가짐으로써 특정한 오퍼레이션들 또는 동작들을 수행하도록 되어 있을 수 있다. 하나 이상의 컴퓨터 프로그램들은, 데이터 처리 장치에 의해 실행될 때 상기 장치로 하여금 상기 동작들을 수행하게 하는 명령어들을 포함함으로써 특정한 오퍼레이션들 또는 동작들을 수행하도록 되어 있을 수 있다.
이들 및 다른 실시예들은 다음의 피쳐들 중 하나 이상을 선택적으로 포함할 수 있다. 상기 제1 형태 및 상기 제2 형태는 각각 제1 표기 체계 및 제2 표기 체계이다. 상기 제1 형태 및 상기 제2 형태는 각각 제1 자연어 및 제2 자연어이다. 상기 입력 스트링은 타입을 포함하며 상기 하나 이상의 규칙들을 상기 입력 스트링에 적용하는 단계는, 상기 입력 스트링의 타입에 매치되는 타입을 갖는 하나 이상의 규칙들을 식별하는 단계와; 그리고 상기 입력 스트링의 상기 타입에 매치되는 규칙들에 대해, 상기 입력 스트링이 상기 하나 이상의 매칭 규칙들 각각의 스트링 패턴에 매치되는지 여부를 결정하는 단계를 포함한다. 각각의 규칙은 각각의 출력 형태들에 대한 다수의 각각의 규칙 출력들을 포함한다. 매칭 규칙은 상기 제1 형태로부터 상기 제2 형태로 번역될 규칙 패턴의 하나 이상의 용어들을 포함한다. 상기 나머지 용어들을 상기 제2 형태의 음역된 용어들로 음역하는 단계는, 상기 스트링을 복수의 토큰들로 토큰화하는 단계와; 각각의 토큰을 상기 제1 형태로부터 제2 형태로 음역하는 단계와; 그리고 상기 제2 형태의 음역된 출력 스트링을 형성하기 위하여 상기 제2 형태의 상기 음역된 토큰들을 병합하는 단계를 포함한다.
일반적으로, 본 명세서에 기술된 발명의 일 양상은, 음역될 복수의 용어들을 가지며 제1 형태로 되어 있는 스트링을 수신하는 단계와; 상기 스트링을 복수의 토큰들로 토큰화하는 단계와; 각각의 토큰을 상기 제1 형태로부터 제2 형태로 음역하는 단계와; 상기 제2 형태로 음역된 토큰들에 하나 이상의 형태 특정 규칙들을 적용하는 단계와; 그리고 상기 제2 형태의 음역된 출력 스트링을 형성하기 위하여 상기 제2 형태의 음역된 토큰들을 병합하는 단계의 동작들을 포함하는 방법들로 실시될 수 있다. 본 양상의 다른 실시예들은 각각 상기 방법들의 동작들을 수행하도록 된, 대응하는 컴퓨터 시스템들, 장치들, 및 하나 이상의 컴퓨터 저장 디바이스들에 기록된 컴퓨터 프로그램들을 포함한다. 하나 이상의 컴퓨터들의 시스템은. 동작시 상기 시스템으로 하여금 상기 동작들을 수행하게 하는 상기 시스템에 인스톨된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 가짐으로써 특정 오퍼레이션들 또는 동작들을 수행하도록 되어 있을 수 있다. 하나 이상의 컴퓨터 프로그램들은, 데이터 처리 장치에 의해 실행될 때 상기 장치로 하여금 상기 동작들을 수행하게 하는 명령어들을 포함함으로써 특정한 오퍼레이션들 또는 동작들을 수행하도록 되어 있을 수 있다.
이러한 그리고 다른 실시예들은 하기의 피쳐들 중 하나 이상을 선택적으로 포함할 수 있다. 상기 스트링들을 토큰화하는 단계는 상기 스트링을 단어 토큰들로 분리시키는 단계를 포함한다. 제1 형태는 제1 표기 체계이고 제2 형태는 제2 표기 체계이다. 제1 형태는 제1 자연어이고 제2 형태는 제2 자연어이다. 형태 특정 규칙은 형태소 또는 단어 경계부들에서 발생하는 다양한 음운적 처리들에 관련된다. 병합은 상기 출력 형태 및 하나 이상의 언어적 규칙들에 근거하여 하나 이상 출력 용어 쌍들 사이에 추가적인 문자를 부가하는 것을 포함한다. 각각의 토큰을 음역하는 것은 하나 이상의 유한 상태(finite state) 변환기(transducer)들을 사용하여 제1 형태 및 제2 형태의 발음 표시들을 생성하는 것을 포함한다.
본 명세서에 기술된 내용의 특정 실시예들은, 하기의 이점들 중 하나 이상을 실현하기 위하여 구현될 수 있다. 순수한 음역 도는 번역에 비해, 음역 및 시맨틱 번역의 하이브리드를 이용하여, 변환의 정확도가 개선된다. 개별 용어들을 독립적으로 번역하는 것에 비해 다른 용어들의 문맥을 사용하여 음역이 개선된다. 명칭이 표기(transcribe)된 엔티티에 대한 정보를 포함시키는 것은, 음역 정확도를 개선시켜 준다. 예를 들어, "Menlo Park"가 공원을 표시하는지 도시를 표시하는지를 아는 것이 변환된 출력에 영향을 줄 수 있다.
본 명세서에 기술된 내용의 하나 이상의 실시예들의 세부사항이 첨부의 도면 및 하기의 설명에서 설명된다. 본 내용의 다른 피쳐들, 양상들, 및 이점들은 설명, 도면, 및 청구항으로부터 자명할 것이다.
도 1은 입력 스트링들을 변환하기 위한 예시적인 방법의 흐름도이다.
도 2는 입력 스트링의 기계 변환을 위한 예시적인 방법의 흐름도이다.
도 3은 입력 스트링의 용어들을 음역하기 위한 예시적인 방법의 흐름도이다.
도 4는 예시적인 시스템 아키텍쳐이다.
다양한 도면들에서 유사한 참조번호들 및 명칭들은 유사한 구성요소들을 표시한다.
도 1은 입력 스트링들을 변환하기 위한 예시적인 방법(100)의 흐름도이다. 편이를 위하여, 방법(100)은 상기 방법(100)을 수행하는 하나 이상의 컴퓨팅 디바이스들을 포함하는 시스템과 관련하여 기술된다. 구체적으로, 방법(100)은 프레젠테이션을 위해 지리 데이터(geographic data)를 처리하는 것에 관한 오퍼레이션들을 기술하나, 유사한 동작들이 다른 데이터 타입들에 대해 수행될 수 있다.
시스템은 제1 표기 체계로된 하나 이상의 입력 스트링들을 수신한다(102). 상기 입력 스트링들은 제1 형태로부터 제2 형태로(예를 들어, 제1 표기 체계로부터 제2 표기 체계로) 변환될 것이다. 제1 형태와 제2 형태는 동일한 또는 서로 다른 언어들을 나타낼 수 있다. 일부 실시예들에서, 상기 하나 이상의 입력 스트링들은 지리적 피쳐들의 컬렉션(collection)으로부터 (예를 들어, 지리적 피쳐들의 데이터 베이스로부터) 수신된다. 이들 지리적 피쳐들은, 예를 들어, 정치적 지명(예를 들어, 도시들 또는 주들의 명칭), 관광 목적지들, 또는 공원들을 포함할 수 있다.
각각의 지리적 피쳐는 물리적 세계 내의 대응하는 엔티티에 대한 정보(예를 들어, 피쳐 타입)로 주석이 달리거나(annotated) 혹은 마킹(marking)될 수 있다. 상기 정보는 타입 카테고리들, 예를 들어, "도시", "공원", 또는 "관광 명소"를 포함할 수 있다. 일부 실시예들에서, 타입화(typing)는 상속(inheritance)없는 타입들의 단순한 열거(enumeration)이다. 다른 실시예들에서, 타입화는 단일-상속 트리 계층(single-inheritance tree hierarchy)을 사용하여 처리되며, 여기서 각각의 타입은, 어떤 다른 타입의 서브-타입이 아닌 하나 이상의 루트 타입들을 제외하고는, 다른 타입의 서브-타입(sub-type)이다. 일부 다른 실시예들에서, 타입화는 다중-상속 트리를 사용하여 처리되며 여기서 타입은 0 개, 1 개 또는 수 개의 다른 타입들의 서브-타입일 수 있다. 이 피쳐들은 도 2와 관련하여 하기에서 더 자세히 설명될 바와 같이 규칙들을 생성하는데 사용될 수 있다.
부가적으로, 타입 계층은 피쳐 타입을 기술하는 자유 형식 텍스트(free-form text)의 피쳐 마다 복수의 타입 태그들을 허용할 수 있다. 타입화 외에도, 피쳐들은 또한 표시된 물리적 엔티티에 관한 다른 정보, 예컨대, 도시의 인구 수, 또는 빌딩의 높이로 마킹될 수 있다. 이러한 다른 비-타입화(non-typing) 정보는 또한, 예를 들어, 특정 크기의 도시들에만 또는 큰 빌딩들의 명칭들에만 규칙들을 적용할 때, 생성되는 음역들에 영향을 주도록 사용될 수 있다.
지리적 피쳐들의 예가 사용되고 있으나, 다른 데이터 - 예컨대 특정한 타입들에 대한 외부 정보(예를 들어, 상품명들, 개체들(individuals))가 알려져 있거나 유도될 수 있는 비즈니스 레지스트리 또는 다른 데이터 - 가 유사한 방식으로 처리될 수 있다. 예를 들어, 비즈니스 명칭은 적용될 수 있는 다른 비즈니스 피쳐들과 관련될 수 있다(예컨대, 기업을 식별하는 것으로서 "Inc"를 붙임).
시스템은 선택적으로(optionally) 전처리(pre-processing)를 수행한다(104). 전처리는 입력 스트링들에 대해 수행되는 다수의 오퍼레이션들을 포함할 수 있다. 전처리는 또한 입력 스트링들에 대해 직접적으로 수행되는 동작들, 또는 상기 입력 스트링들에 나중에 적용하기 위해 데이터베이스 또는 다른 정보 컬렉션들(예컨대, 사전들)을 생성하는 동작들을 수반할 수 있다.
일부 실시예들에서, 일부 전처리 단계들은 프리젠테이션을 위한 지리 데이터를 처리하기 위한 더 큰 파이프라인의 부분이다. 예를 들어, 지리 데이터에 대해, 전처리는 중복 피쳐들을 머지 및/또는 제거하는 단계, 이웃하는 데이터 세트들로부터의 도로들을 스티치(stitch)하는 단계, 기존의 피쳐들의 형상(shape)으로부터 새로운 피쳐들을 합성하는 단계, 기하학적 불규칙들(geometric irregularities)(예컨대, 단일 점 위치를 가진 거리들 또는 모순되는 기하구조와 같은, 제공된 데이터 내의 에러들)을 클린 업(clean up)하는 단계; 또는 피쳐 속성들(feature attributes)을 부가하는 단계를 포함할 수 있다.
이웃하는 데이터 세트들로부터의 도로들을 스티치하는 단계는, 서로 다른 데이터 세트들이 사용될 수 있는 서로 다른 영역들 사이의 지리적 데이터를 정정하는 것을 지칭하는데, 예를 들어, 제1 국가와 제2 국가 사이의 경계를 가로지르는 도로는 제1 국가용 데이터 세트와 제2 국가용 데이터 세트 사이에서 정렬될 수 없다. 이 전처리 오퍼레이션은 일반적으로 프리젠테이션을 위하여 지리적 데이터를 처리하기 위한 파이프라인의 부분일 수 있다. 기하학적 데이터의 피쳐들을 합성하는 것은, 예를 들어, 국가들 및 주(province)들로부터 영어권 지역들(English-speaking areas)의 경계를 합성하는 것(예를 들어, 미국 더하기 오스트리아 더하기 뉴질랜드 더하기 캐나다 빼기 퀘벡)을 포함한다. 이는 어떤 영역들이 입력 스트링들의 변환 및 국가들 또는 다른 지정학적 경계들에 부가한 정보에 근거하지 않을 수 있는 것들을 요구하는지를 정의하는 것을 돕는다.
전처리 단계의 부분으로서 설명되었으나, 이 작업들은 (예를 들어, 음역 동안) 나중의 처리들의 부분으로서 또는 수행되고 있는 작업들의 타입에 의존하여 별개의 오퍼레이션들로서, 복합적인 순서로 수행될 수 있다. 예를 들어, 도 3과 관련하여 하기에서 설명되는 음역 오퍼레이션들 동안에 인간이 투입된 번역(human injected translations)이 적용될 수 있다. 대안적으로, 일부 실시예들에서, 전처리가 수행되지 않는다(예를 들어, 피쳐들을 매핑하기 위한 지리적 오퍼레이션들이 개별적으로 처리되거나 비-지리적 데이터 세트들에 대해서는 불필요할 수 있다).
시스템은 입력 스트링들에 대해 인간이 입력한 번역(human-entered translation)들을 식별한다(106). 이들은 불규칙적인 번역을 갖는 잘 알려진 용어들로 인간에 의해 식별된 번역들이다. 예를 들어, 불어 명칭이 "
Figure 112013025677397-pct00001
"인 스위스 도시에 대해, 이 단계는 영어 명칭 "Geneva", 독일어 "Genf", 이탈리아어 "Ginevra", 슬로바키아어 "Zeneva", 러시아어 "
Figure 112013025677397-pct00002
" 등을 부가할 수 있다. 마찬가지로, 영어 명칭이 "California"인 미국 주에 대해, 이 단계는 독일어 명칭 "Kalifornien"을 부가할 수 있다. 이는 입력 데이터를 정정하기 위하여 대응하는 용어들의 부가를 허용하며, 스펠링 에러들로 인한, 또는 입력 텍스트를 처리하기 위하여 사용되는 하나 이상의 규칙들에 의해 식별되지 않는 언어 버전의 용어를 사용하는 것으로 인한 오 변환(bad conversion)의 가능성을 줄여준다. 예를 들어, 하나의 특정한 거리의 명칭이, 예를 들어, 데이터 제공자(data provider) 문제로 인하여 타이핑 에러를 갖거나, 또는 잘못 명명될 수 있다. 이들 식별된 번역들이, 예를 들어, 도 2 내지 도 3과 관련하여 하기에서 기술되는 음역 또는 번역 오퍼레이션을 수행하는데 사용하기 위하여 데이터베이스 또는 사전에 입력된다.
시스템은 하나 이상의 용어들에 대한 사전 번역들(dictionary translations)을 식별한다(108). 사전 번역들은 동일한 명칭을 갖는 입력 텍스트의 컬렉션 내의 모든 용어들에 적용된다. 예를 들어, 미국에는 "City Hall"이라 불리는 많은 빌딩들이 있다. 사전 구(dictionary phrase)는 상기 명칭을 찾고, 매칭되는 명칭을 지닌 모든 용어에 대해, 독일어 "Rathaus", 불어 "
Figure 112013025677397-pct00003
", 일본어 "役所" 등과 같은 명칭을 도입할 수 있다.
본 시스템은 각각의 입력 스트링에 대해 기계 변환(110)을 수행한다. 상기 기계 변환은 제1 형태의 입력 스트링의 적어도 일부분을 제2 형태로 변환한다. 입력 스트링의 기계 변환은 하나 이상의 규칙들에 따라 번역될 수 있는 부분이 존재하는지를 결정하는 단계 및 번역되지 않은 임의의 부분의 번역을 수행하는 단계를 포함한다. 입력 스트링의 기계 변환은 도 2 내지 도 3과 관련하여 하기에서 더 자세히 설명된다.
시스템은 변환된 입력 스트링에 대해 선택적으로 후처리(post-processing)(112)를 수행한다. 예를 들어, 후처리는, 파이프라인의 일부 이전(earlier) 부분들이 정확하게 처리하지 않았던 용어들 또는 속성들을 블랙리스트화 하는데 사용된다. 예를 들어, 변환된 출력 스트링들의 품질이 특정 지리적 영역들에서 언어적 이유들로 인해 달라질 수 있다(예컨대, 남아프리카는 영어, 네델란드어, 및 독일어의 조합인 많은 명칭들을 가지며, 이는 변환을 어렵게 한다). 결과적으로, 변환된 용어들, 예를 들어, 데이터가 현재 신뢰될 수 없는 거리명의 블랙리스트화가 수행될 수 있다. 따라서, 맵 데이터를 제시하는 예에서, 그 용어들은 디스플레이를 위해 변환되지 않을 것이나, 대신에 본래의 입력 스트링들이 사용될 것이다. 마찬가지로, 싱가포르는 중국어 및 영어 둘 모두로 된 많은 거리들을 가지며 따라서 그러한 영어 거리명들은 중국어로 번역될 필요가 없다.
시스템은 변환된 스트링들을 제2 형태로 출력한다(114). 예를 들어, 변환된 스트링들이 나중의 사용을 위해 (예컨대, 데이터베이스 또는 다른 저장소에) 저장될 수 있다. 일부 실시예들에서, 상기 변환된 스트링들은 디스플레이를 위해 대응하는 맵 데이터가 요청될 때 검색되는 지리적 라벨들이다. 예를 들어, 중국어 정보를 식별하는 지리적 데이터의 영어 스트링을 갖는 데이터베이스는, 제시된 중국의 지도를 라벨링하는데 사용하기 위해 중국어 스트링들로 변환될 수 있다. 다른 예에서, 상기 변환된 스트링들은 생성된 후에 사용자에게 제시될 수 있다. 어느 예에서든, 상기 변환된 스트링들 중 하나 이상이 단독으로(예컨대, 변환된 문서들) 또는 다른 데이터(예컨대, 맵 정보)와 함께 제시될 수 있다.
도 2는 입력 스트링의 기계 변환을 위한 예시적인 방법(200)의 흐름도이다. 편이를 위하여, 방법(200)은, 상기 방법(200)을 수행하는 하나 이상의 컴퓨팅 디바이스들을 포함하는 시스템에 관하여 기술될 것이다.
시스템은 입력 스트링을 수신한다(202). 입력 스트링은, 예를 들어, 제1 형태로부터 제2 형태로 변환될 입력 스트링들의 컬렉션으로부터 수신될 수 있다. 일부 실시예들에서, 입력 스트링은, 예를 들어, 도 1에 기술된 것과 같이 수신되기 전에 하나 이상의 전처리 단계들을 겪었다. 대안적으로, 입력 스트링들은 전처리 없이 바로 처리된다.
시스템은 수신된 입력 스트링에 규칙들의 그룹을 적용한다(204). 상기 규칙들은 피쳐 타입들 및 상기 피쳐 타입이 상기 입력 스트링에 매치되면 수행될 동작들을 식별한다. 상기 시스템은, 예를 들어, 규칙 계층(rule hierarchy)에 따라, 각각의 규칙을 입력 스트링에 적용한다. 피쳐들은 입력 스트링 내의 피쳐들의 라벨링에 근거하여 특정 피쳐 타입들에 매치된다. 규칙은 주어진 피쳐 타입에 대해 규칙을 매치시키는 하나 이상의 용어들의 패턴을 가질 수 있다. 입력 스트링이 입력 패턴에 매치된면, 상기 규칙이 매치된다. 일부 실시예들에서, 주어진 언어 또는 표기 체계에 대해 정의된 각각의 규칙에 대해, 각각의 언어들 또는 표기 치계들로된 하나 이상의 출력 패턴들이 존재한다. 입력 스트링이 입력 패턴에 매치되면, 시스템은 상기 규칙에 의해 정의된 각각의 출력 패턴에 따라 하나 이상의 출력 용어들을 생성한다.
예를 들어, 하기에 제공된 것은 지리적 피쳐들의 영어 ("en") 명칭들을 일본어 ("ja"), 한국어 ("ko"), 키르키스탄어 ("ky"), 러시아어 ("ru"), 간체자 중국어("zh-Hans"), 번체자 중국어 ("zh=-Hant")로 변환하기 위한 3 개의 예시적인 규칙 구조들이다. 이들 예시적인 규칙들은 명료성을 위하여 간략화되어 있다.
Figure 112013025677397-pct00004
Figure 112013025677397-pct00005
Figure 112013025677397-pct00006
Figure 112013025677397-pct00007
그러므로, 예를 들어, 피쳐 타입 "park"에 관련된 규칙은 "(.+)Park"의 영어 입력 패턴을 가지며 따라서 "park"가 뒤에 오는 어떤 와일드카드 텍스트(wildcard text)를 갖는 피쳐 타입 park의 입력 텍스트 스트링이 본 규칙에 부합하게 된다. 예를 들어, 미국 캘리포니아주의 샌프란시스코 소재의 공원을 지칭하는 입력 스트링 Lafayette Park는 상기 입력 패턴에 매치된다. 대응하는 출력 패턴들이 복수의 언어들로 제공된다.
구체적으로, 주어진 입력 스트링, 다시 "Lafayette Park"에 대해, 시스템은 매치를 찾으며 규칙들 전체를 워크할 것이다. "Lafayette Park"의 예에서, 입력 스트링 내의 피쳐 "Park"가 "TYPE_PARK"의 피쳐 타입을 가지는 것으로서 라벨링되므로 제1 규칙이 매치된다. 규칙들이 피쳐 타입들의 온톨로지(ontology)에 정렬되어, "TYPE_PARK"의 서브-타입들(도시되지 않음)(예를 들어, "TYPE_MUNICIPAL_PARK")이 또한 매치될 것이다. 추가적으로, 입력 스트링 "Lafayette Park"가 입력 패턴 "(.+)Park"에 매치되므로 제1 규칙이 매치된다.
시스템은 규칙들에 근거하여 입력 스트링의 하나 이상의 용어들을 번역할지를 결정한다(206). 구체적으로, 입력 스트링이 특정 피쳐 및 규칙에 매치되었으면, 시스템은 하나 이상의 출력 스트링들을 생성한다. 출력 패턴은 하나 이상의 언어들에 대한 번역된 용어 또는 용어들을 포함할 수 있다. 예시적인 규칙들에서 보인 바와 같이, "out" 절(clause)들은, 출력 언어들에 대해, 이 출력을 어떻게 생성할지를 특정하는 패턴을 포함한다. "Lafayette Park"의 경우에, 상기 규칙은 복수의 언어들로 출력 패턴을 식별하며, 상기 복수의 언어들 각각은 "Park"를 각자의 언어로 번역한다. 예를 들어, 일본어에서, 상기 규칙을 위한 출력 패턴은 "out<text:"${1}公園"language:"ja">"이고, 여기서 ${1}은 "Lafayette"이고 "公園"은 용어 "park"의 일본어 번역이다. 따라서, 스트링의 일부가 제2 형태로 번역되고 반면 스트링의 일부가 제1 형태로 남겨진다.
대조적으로, 캘리포니아의 도시를 지칭하며 피쳐 타입 "TYPE_CITY"를 갖는 입력 스트링 "Menlo Park"는 위의 예시적인 규칙들의 제1 규칙에 매치되지 않을 것이다. 이는 사용 중인 타입 시스템에 따라, 피쳐 타입 "TYPE_CITY"이 "TYPE_PARK"의 서브-타입으로 고려되지 않기 때문이다. 제1 규칙이 매치되지 않았다면, 시스템은 피쳐 타입 "TYPE_Tourist_Destination"을 위한 제2 규칙을 시도할 것이고, 다시 실패할 것이다.
그러나, "TYPE_CITY"가 "TYPE_POLITICAL"의 서브-타입이므로 제3 규칙은 매치된다. 그러나, 이 경우에, 규칙에 매치되는 스트링에 대한 출력 패턴이 번역을 포함하지 않으며 전체 출력 ${1}이 "Menlo Park"이므로, 번역되는 스트링 부분이 없다.
시스템은 입력 스트링 내의 하나 이상의 나머지 용어들을 음역한다(208). 구체적으로, 하나 이상의 용어들을 갖는 입력에 대해, 매칭 규칙에 따라 번역되었던 임의의 용어들이 음역된다. 음역은 용어들을 제1 형태로부터 제2 형태로 매핑한다. 제2 형태는 동일한 언어 또는 다른 언어 또는 동일한 표기시스템 또는 다른 표기 체계를 위한 것일 수 있다. 구체적인 음역 기법들이 도 3과 관련하여 하기에서 더 자세히 기술된다.
시스템은 변환된 스트링을 출력한다(210). 상기 변환된 스트링은 규칙 응용으로부터의 임의의 음역된 용어들 및 임의의 번연된 용어들의 병합(concatenation)을 포함한다. 일부 구현예들에서, 복수의 변환된 스트링들은 각각의 언어들 또는 표기 체계들로 출력된다(예를 들어, "Park"는 일본어 "公園", 한국어 "공원" 및 러시아어 "
Figure 112013025677397-pct00008
"로 번역된다). 일부 다른 실시예들에서, 구체적인 출력 언어 또는 표기 체계가 입력 스트링에 대해 특정된다(예를 들어, 영어에서 일본어로).
위의 예들에서, 입력 스트링 "Lafayette Park"이 규칙에 매치되었고 따라서 적용된 규칙이 "Lafayette公園"를 생성하며, 여기서 "公園"은 "Park"의 일본어 번역이다. 용어 "Lafayette"은 이후 타겟 표기 체계(이 경우에는 일본어)로 음역된다. 이 예에서, 음역은 "ラファイエット"를 리턴한다. 이것이 "Park"에 대한 번역과 병합되어, 결과적으로 "ラファイエッ公園"의 하이브리드 형태가 된다.
마찬가지로, "Menlo Park"의 두번째 예에서는 어떤 용어들도 번역되지 않아 전체 입력 스트링이 음역된다. 일본어로의 음역을 위해, 결과적인 출력은 "
Figure 112013025677397-pct00009
"이다. 특히, 피쳐 타입들의 사용으로 인하여, 도시 "Menlo Park"는 문자그대로 음역되고, 반면 공원 "Lafayettet Park"는 부분적으로 음역되고 부분적으로 번역된다.
또 다른 예로서, 입력 스트링 "Geneva city hall"은 규칙에 근거하여 "city hall"에 대한 번역을 식별한다. 시스템은 이후 "Geneva"에 대한 음역을 수행하고, "Geneva"는 (예를 들어, 도 1의 단계(106)와 관련하여 위에서 기술된 것과 같이) 인간이 입력한 번역들의 데이터베이스에 나타날 수 있고, 시스템은 "Geneva"의 번역을 음역된 출력으로서 사용한다. 변환된 출력은 "city hall"의 번역과 병합된 "Geneva"의 번역일 것이다.
유사한 과정이 다른 데이터 타입들에 대해서도 사용될 수 있다. 예를 들어, 비즈니스 명칭이 특정 비즈니스 규칙들에 따라 처리될 수 있다. 따라서, 비즈니스 명칭 "Foo Bar Inc."에 대해, 규칙은 "Inc"를 "incorporated"의 또 다른 형태로의 번역으로 식별할 수 있다. 이 번역이 "Food Bar"의 음역과 병합되어, 결과적으로 하이브리드 변환된 출력 스트링이 된다.
도 3은 입력 스트링의 용어들을 음역하기 위한 예시적인 방법(300)의 흐름도이다. 편이를 위하여, 방법(300)은 상기 방법(300)을 수행하는 하나 이상의 컴퓨팅 디바이스들을 포함하는 시스템과 관련하여 기술될 것이다.
시스템은 제2 형태로 번역되지않은 제1 형태의 입력 스트링 용어들을 토큰화한다(302). 예를 들어, 시스템은 스트링을 개별 단어들로 분할함으로써 입력 스트링 용어들을 토큰화한다. 영어에서, 예를 들어, 이는 분할 점으로서 스페이스를 사용하여 행해진다. 다른 언어들, 예를 들어, 중국어, 일본어, 및 한국어에서는, 표기 체계에 따라, 단어들 사이의 스페이스의 결여로 인해 이들 언어들에 대한 다른 토큰화 기법들이 요구된다. "Menlo Park"의 위의 예에서, 토큰들은 ["Menlo", "Park"]가 된다.
시스템은 각각의 토큰을 제2 형태(예를 들어, 제2 언어 또는 표기 체계)로 토큰화한다. 특히, 각각의 토큰이 개별적으로 음역된다. 위의 예에서, 토큰들 [Menlo, Park]는 [
Figure 112013025677397-pct00010
,
Figure 112013025677397-pct00011
]로 개별적으로 음역된다. 서로 다른 음역 기법들이 개별 토큰들 또는 단어들을 음역하기 위해 사용될 수 있다. 예시적인 음역 기법들은 하기에서 자세히 기술된다.
선택적으로, 입력 형태와 출력 형태(예를 들어, 특정한 입력 언어와 출력 언어)의 조합에 따라, 시스템은 음역된 토큰들에 추가의 규칙들을 적용한다(306). 구체적으로, 이들 추가의 규칙들은 입력 형태 및 출력 형태에 특수한, 특정한 언어적 현상을 처리한다. 예를 들어, 한 언어적 현상은 외적 연성(external sandhi)라 칭해지거나, 또는 특별히 불어에서는, 이것이 "French Liason"라 칭해진다. 이 현상은 특정 단어들이 그들의 문맥(context)에 따라 하나 이상의 다른 단어들과 함께 처리되는 방법에 관련된다. 구체적으로, 이는 형태소 또는 단어의 경계부들에서 발생하는 다양한 음운적 처리들과 관련된다.
예를 들어, 불어 명칭 "Maison des abricots"(house of apricots)을 고려하기로 한다. 문제는, 불어 단어 "des"(영어: of)가 후속하는 단어에 따라 다르게 발음된다는 것이다. 이 발음 차이는 불어를 특정한 다른 언어들로 음역할 때 볼 수 있게 된다. 후속하는 단어가 자음으로 시작하면, 불어 "des"는 [de]로서 발음된다. 즉, 단어-말미의 "s"가 발음되지 않는다. 그러나, 다음 단어가 모음으로 시작하면, "des"의 불어 발음은 [dez]에서와 같이 유성음인, 가청음 [z] 소리를 포함한다. 부가된 문제로서, 불어의 정확한 일본어 음역은 "z" 소리가 "des"의 음역에 첨부되지 않고, 대신 후속 단어의 음역에 접두어로 첨부(pre-pended)될 것을 요구한다. 따라서, ["Maison", "des", "abricots"]을 음역할 때, 언어 특정 음역 규칙의 적용이 [
Figure 112013025677397-pct00012
]에서 [
Figure 112013025677397-pct00013
]로, 달리 말하자면, ([
Figure 112013025677397-pct00014
] 에서 [
Figure 112013025677397-pct00015
])로 변한다.
이 추가의 규칙들을 적용하기 위하여, 입력 토큰 및 출력 토큰 둘 모두가 사용된다. 추가적으로, 연성 규칙들에 대해, 상기 규칙들을 생성하기 위해 연성-트리거링 단어들의 사전이 사용될 수 있다. 예를 들어, 불어를 일본어로 음역할 때, "-s"로 끝나는 모든 불어 단어들이 아닌 단지 일부 단어들만이 리에종(liaison)을, 상기 리에종이 일본어 음역에서 분명하게 나타날 정도로 트리거한다.
시스템은 음역된 출력 스트링을 출력한다(308). 복수의 토큰들이 음역되었다면, 최종 순서의 용어들이, 추가의 규칙 응용에 근거하여 용어들 또는 용어 순서에서 어떠한 변화를 갖는 음역된 출력을 형성하도록 병합된다.
일부분이 번역되었다면, 이 음역된 부분이 번역된 부분과 결합되어 위에서 기술된 변환된 출력 스트링을 생성한다. 일부 구현예들에서, 병합은 (예를 들어, 영어 음역들의 병합에서) 음역된 용어들 사이에 스페이스들을 부가하는 것을 포함한다. 예를 들어, 번역된 토큰들 ["Menlo", "Park"]은 각각의 용어 사이에 스페이스들을 부가함으로써 병합되어 "Menlo Park"를 제공한다. 다른 구현예들에서, 병합할 때 언어 특정 하이픈 사용 규칙(hyphenation rule)들이 적용된다. 예를 들어, 독일어에는, 특정 스트링 타입들에서 하이픈 사용을 요구하는 스펠링 규칙들이 존재한다(예를 들어, "Anna-Karenina-Park). 일부 다른 실시예들에서, 병합은 음역된 토큰들 사이에 다른 피쳐들을 부가하는 것을 포함한다. 예를 들어, 일본어 단어들 사이에 가타카나 중간 점들이 부가될 수 있다. 따라서, 입력 스트링 "Menlo Park"에 대해, 일본어 음역된 토큰들 [
Figure 112013025677397-pct00016
]은 출력 스트링 "
Figure 112013025677397-pct00017
"이 된다. 규칙들은 단순히 스페이스 대신 중간 점을 삽입하는 것보다 복잡할 수 있다. 예를 들어, 일본어 가타카나 중간 점 글자들을 삽입하는 것은 삽입 점의 양 편 모두가 모두 실제로 일본어 카나(가타카나 또는 히라가나) 스크립트들 중 하나인 경우에만 발생한다. 따라서, "Menlo Park Bridge"를 [
Figure 112013025677397-pct00018
]로 변환하였다면, 병합이 "
Figure 112013025677397-pct00019
"를 생성할 것이다. 두 스트링들 모두가 가타카나 표기 체계로 되어 있으므로 중간점은
Figure 112013025677397-pct00020
("Menlo")와
Figure 112013025677397-pct00021
("Park") 사이에 삽입된다. 그러나,
Figure 112013025677397-pct00022
("Park")와 橋("bridge") 사이에는, 전자만 가타카나로 표기되고 후자는 일본어 간지(Kanji) 표기 체계로 표기되므로 중간점이 삽입되지 않는다.
개별 토큰들(예를 들어, 개별 단어들)을 음역하기 위해 서로 다른 기법들이 사용될 수 있다. 구체적으로, 음역 동안에, 각각의 토큰이 예외 사전(exception dictionary)에 대해 검사된다. 예외 사전은 발음이 불규칙적인, 그리고 대응하여 다른 언어들로의 음역이 불규칙적인 단어들을 처리하기 위해 사용된다. 예외 사전은 서로 다른 데이터 타입들을 포함할 수 있다.
일부 실시예들에서, 예외 사전은 어떤 스트링들이 사용자들에게 자주 디스플레이되는지를 식별하는데 사용되는 로그 분석(예를 들어, 서치 로그, 맵 로그)에 근거하여 채워진다. 예를 들어, 매핑 서비스의 사용자들이 본 세계의 특정 부분들을 식별하고, 이들 맵들에 제시된 용어들을 카운트하는 것이 가능하다. 이 카운트는 특정된 시간 기간(예를 들어, 수 개월) 동안 그리고 모든 사용자들에 걸쳐 합산된다. 결과들은 사용자 요청의 기원지(orgin)에 의해 분할된다. 따라서, 서로 다른 언어의 특정 스트링들(예를 들어, 불어, 영어, 독일어, 이태리어)이 서로 다른 지역들(예를 들어, 일본, 러시아, 중국, 한국)의 사용자들에게 빈번하게 보여진다. 소스 언어의 발음의 불규칙성에 따라, 인간 평가자들(예를 들어, 특별한 언어적 기술을 가진 자들, 예컨대 언어 교사들)이 2000 내지 20.000 단어들의 번역을 수동으로 입력한다. 따라서, 가장 빈번하게 보여지는 상위(top)-N 단어들은 정확할 높은 신뢰성을 갖는다. 이 음역들은 예외 사전에 추가된다.
일부 다른 실시예들에서, 예외 사전은 특히 불규칙적인 스트링들을 식별하기 위하여, 예를 들어, 영국(Great Britain) 내에서 영어 대신 게일어(Gaelic)일 가능성이 높은 명칭들 내의 스트링들을 식별하기 위해서, 휴리스틱(heuristic)을 사용하여 채워진다. 이들 게일어 단어들은 이후 영어 용어와는 다른 처리를 이용하여 또 다른 언어(예를 들어, 일본어)로 음역된다. 이 음역들이 이후 예외 사전에 추가된다.
토큰이 상기 예외 사전에서 발견되지 않으면, 특정한 음역 기법이 선택된다. 예를 들어, 상기 특정한 음역 기법은 소스 언어 및 타겟 언어 또는 표기 체계에 근거하여 선택될 수 있다. 따라서, 예를 들어, 하나의 음역 기법이 스페인어 입력을 일본어 출력으로 변환할 때 사용될 수 있고 한편 다른 음역 기법이 영어 입력을 일본어 출력으로 변환할 때 사용될 수 있다. 다양한 음역 기법들이 사용될 수 있다. 예시적인 음역 기법들은, 문맥 인식 재표기 규칙들(context-sensitive rewrite rules)에 근거한 단순한 음역, 또는 텍스트-투-스피치(text-to-speech) 기법에 근거한 복잡한 음역을 포함하나, 이것으로 제한되는 것은 아니다.
문맥 인식 재표기 규칙들에 근거한 단순한 음역은, 예를 들어, 특정 수준의 규칙적인 구두점을 갖는 입력 언어들(예를 들어, 스페인어 또는 체코어)을 음역하기 위하여 사용된다. 특정 라이브러리에 따라 용어들을 음역하는데 사용하기 위하여 재표기 규칙 엔진이 수신될 수 있다. 음역 라이브러리는 근본 단어들(underlying words)을 번역하지 않고 일 기록 시스템으로부터 다른 기록 시스템으로 문자들을 변환하는데 사용된다. 예를 들어, 영어 입력 "bat"가 그리스어 "βατ"로 음역될 수 있다.
일부 구현예들에서, 오픈-소스 음역 라이브러리가 사용된다. 라이브러리는 글자들이 어떻게 일 표기 체계로부터 다른 표기 체계로 음역되는지를 정의하는 규칙들을 포함한다. 특정 변환 규칙 신택스(transformation rule syntax)에 따라 사용되고 있는 라이브러리에 대해 관습 변환 규칙들이 생성될 수 있다.
일부 실시예들에서, 텍스트는 복수의 단계들에서, 입력 언어로부터 상기 입력 언어의 발음 표시(phonemic representation)로(예를 들어, 국제 음성 기호(IPA;International Phonetic Alphabet) 또는 X-SAMPA 표기); 입력 언어의 발음 표시로부터 출력 언어의 발음 표시로; 출력 언어의 발음 표시로부터 출력 언어의 기록된 형태(written form)로 변환된다.
라이브러리는 특정 유형의 텍스트를 음역하기 위한 규칙들의 컬렉션을 포함한다. 예를 들어, 일부 경우에, 그리스어와 라틴어 사이에는 글자들 사이의 일대일 관계가 존재한다. 규칙들은 소스 스트링과 타겟 스트링 사이를 매핑한다. 다음은 이 관계: π<> p를 보여준다. 상기 규칙은 그리스어를 라틴어로 음역할 때 π를 p로 변환하고 그리고 라틴어를 그리스어로 번역할 때, p를 π로 변환함을 규정한다. 보다 일반적으로, 신택스는 스트링1 <> 스트링2 이다. 규칙들은 더 복잡할 수 있는데, 예를 들어, 규칙들들이 문맥에 근거할 수 있다. 예를 들어, 그리스어에서, 규칙은 "γ"이 다음의 문자들 중 어느것 : γ, κ, ξ, 또는 χ전에 있으면 "n"으로 변환된다. 그렇지 않다면 규칙은 그것을 "g"로 변환한다. 마찬가지로, 다른 예에서, 그리스어 시그마는 그것이 단어의 말미에 있으면 "
Figure 112013025677397-pct00023
"로 기록되고 그렇지 않다면 "σ"로 표기된다. 글자들을 그리스어로부터 라틴어로 변환할 때, 이것은 문제가 되지 않는다. 그러나, 글자를 다시 라틴어로부터 그리스어로 변환할 때 이것이 문제가 되는바, 구체적으로, 규칙이 음역되고 있는 스트링의 문맥에 따라 언제 "s"를 변환할지를 정의한다.
예를 들어, 체코어 입력 스트링을 한국어 입력 스트링으로 변환하기 위하여 음역을 수행할 때, 하기의 체인이 사용될 수 있다. 체코어--> IPA 심볼들을 사용하는 발음상(phonemic) 체코어 --> 라틴 스크립트의 한국어 -> 한국어 스트립트의 한국어. 구체적으로, 이는 다음의 변환들, "
Figure 112013025677397-pct00024
-->
Figure 112013025677397-pct00025
--> holeusyuki -->호르슈키"을 제공한다.
상기 단계들은 분리가능하여, 규칙들의 부분들이 독립적으로 사용될 수 있고 복수의 언어 쌍들에 걸친 재-사용을 위해 다른 규칙들과 엮일 수 있다. 예를 들어, 체코어를 일본어로 음역하기 위한 규칙들은 체코어-한국어 규칙들과 같은 정확히 동일한 "IPA 심볼들을 사용하는 발음상 체코어"에 대해 적용된다. 따라서, 체코어로부터 "IPA 심볼들을 사용하는 발음상 체코어"로의 변환은 한국어를 생성할 때 및 일본어 출력을 생성할 때 둘 모두에 이용될 수 있다. 예로, 하기는 체코어 문자 n을 문맥에 따라 [n] 또는 [n]으로 변환하기 위한 규칙들이다.
{ n }[gkqx] -> ŋ; #[g k q x] 중 하나 전에서, 체코어 문자소 n은 연구개음 콧소리(velar nasal) ŋ소리로 발음된다.
{ n} -> n; #다른 문맥에서, 체코어 문자소 n은 n 소리로 발음된다.
그리고, 또한 예로, 문맥에 따라 체코어 문자
Figure 112013025677397-pct00026
(IPA 표기에서,
Figure 112013025677397-pct00027
로 발음됨)을 4개의 서로 다른 한국어-라틴어 스트링들로 변환하기 위한 규칙들이 존재한다.
{
Figure 112013025677397-pct00028
} $end → leusi ; # 단어의 끝에
Figure 112013025677397-pct00029
, 예컨대
Figure 112013025677397-pct00030
-> 코우르시
{
Figure 112013025677397-pct00031
} $vowel→ leuj ; # 모음 전에
Figure 112013025677397-pct00032
{
Figure 112013025677397-pct00033
} k → leusyu ; # k 소리 전에
Figure 112013025677397-pct00034
{
Figure 112013025677397-pct00035
} → leuju ; # 임의의 다른 문맥에서
Figure 112013025677397-pct00036
.
개별 용어들의 음역을 수행할 때, 입력 형태 및 출력 형태에 근거하여 특정 규칙들을 적용하기 위하여 적합한 라이브러리가 사용된다. 음역된 용어들은 이후, 제1 형태의 입력 스트링으로부터 제2 형태의 출력 스트링으로의 변환인 최종 출력 스트링을 생성하기 위하여 위에서 기술된 것과 같이 더 처리될 수 있다.
많은 양의 불규칙한 발음을 갖는 입력 언어들에 대해, 구체적으로 영어에서, 텍스트-투-스피치 기법을 사용하는 더욱 복잡한 시스템이 이용될 수 있다. 구체적으로, 예들에 근거하여 오프라인 트레인되는 넓은 클래스의 모델들(wide clasee of models)이 입력 단어들을 출력 단어들로 또는 중간 형태들로 변환하는데 사용될 수 있다. 일부 구현들에서, 시스템은 모델들의 클래스로서 유한-상태(finite state) 변환기(transducer)들을 사용한다. 일 예에서, 모델은 입력 단어들 및 그들의 대응하는 음역들의 예들에 대해 직접(directly) 트레인될 수 있다. 런타임에서, 입력 단어는 트레인된 모델에 의해 많은 가능한 출력 형태들로 변환된다. 시스템은 유한-상태 변환기 또는 다른 모델에 의해 배정된 수치적 가중법에 근거하여 단일의 최상(best)(또는 대인적으로 n 개의 최상) 출력 형태를 유도한다.
또 다른 예로서, 전체 변환은 복수의 단계들을 포함할 수 있다. 입력 형태가 먼저 중간 형태로 변환된다; 0 또는 그보다 많은 중간 변환들이 수행될 수 있다; 그리고 하나 이상의 중간 형태들로부터 선택적으로 입력 단어와 결합하여 출력 음역이 유도된다. 일부 구현예들에서, 발음 표시들이 중간 형태들로서 사용된다. 구체적으로, 입력 단어가 먼저, 소스 언어에서 그것의 발음 표시로 변환된다. 이 발음 표시는 이후 타겟 언어에서의 발음 표시로 변환된다. 타겟 언어에서의 발음 표시는 이후 타겟 언어에서의 정자 형태(orthographic form)로 더 변환된다. 대안적으로, 입력 단어가 타겟 언어에서의 발음 표시 또는 정지 표시로 변환될 수 있다. 일부 구현예들에서, 시스템은 유한-상태 변환기들의 도움으로 연산되는 소스 및 타겟 언어 둘 모두를 위한 발음 표시들을 사용하여 음역을 수행한다.
도 4는 예시적인 시스템 아키텍쳐(400)이다. 시스템 아키텍쳐(400)는 입력 스트링들을 제1 형태로부터 제2 형태로 변환하기 위한 오퍼레이션들을 수행할 수 있다. 시스템 아키텍쳐(400)는 하나 이상의 프로세서들(402)(예컨대, IBM PowerPC, Intel Pentium 4, 등), 하나 이상의 선택적 디스플레이 디바이스들(404)(예컨대, CRT, LCD), 그래픽 처리 유닛들(406)(예컨대, NVIDIA GeForce, 등), 네트워크 인터페이스(408)(예컨대, 이더넷(Ethernet), 파이어와이어(FireWire), USB, 등), 선택적 입력 디바이스들(410)(예컨대, 키보드, 마우스, 등) 및 하나 이상의 컴퓨터-판독가능 매체들(412)을 포함한다. 이들 구성요소들은 하나 이상의 버스들(414)(예컨대, EISA, PCI, PCI Express, 등)를 사용하여 통신 및 데이터를 교환한다.
용어 "컴퓨터-판독가능 매체"는 프로세서(402)에 실행을 위한 명령어들을 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨터-판독가능 매체(412)는 운영 시스템(412)(예를 들어, Mac OS®, Windows®, Linux, 등), 네트워크 통신 모듈(418), 스트링 변환기(420), 및 다른 애플리케이션들(424)을 더 포함한다.
운영 시스템(416)은 멀티-유저, 멀티프로세싱, 멀티태스킹, 멀티쓰레딩, 리얼-타임 등일 수 있다. 운영 시스템(416)은 입력 디바이스들(410)로부터의 입력을 인식하는 단계; 디스플레이 디바이스들로 출력을 송신하는 단계(404); 컴퓨터-판독가능 매체들(412)(예를 들어, 메모리 또는 저장 디바이스) 상에서 파일들 및 디렉토리들의 트랙을 유지하는 단계; 주변 디바이스들(예를 들어, 디스크 드라이브들, 프린터들, 등)을 제어하는 단계; 및 하나 이상의 버스들 상의 트래픽을 관리하는 단계(414)를 포함하나 이에 제한되지는 않는 기본 작업들을 수행한다. 네트워크 통신 모듈(418)은 네트워크 연결들을 확립하고 유지하기 위한 다양한 구성요소들을 포함한다(예를 들어, TCP/IP, HTTP, Ethernet, 등과 같은 통신 프로토콜들을 구현하기 위한 소프트웨어).
스트링 변환기(420)는 도 1-3과 관련하여 설명된 것과 같이 입력 스트링들을 제1 형태로부터 제2 형태로 변환하기 위한 다양한 기능들을 수행하기 위한 다양한 소프트웨어 구성요소들을 제공한다.
본 명세서에 기술된 내용 및 동작들의 실시예들은 디지털 전자 회로로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 본 명세서에 개시된 구조들 및 이들의 구조적 등가들을 포함하는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 내용의 실시예들은, 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램들(즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들)로서 구현될 수 있다. 대안적으로, 또는 추가적으로, 프로그램 명령어들은, 데이터 처리 장치에 의한 실행을 위해 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 인공-생성(artificially-generated) 전파 신호(propagated signal)(예컨대, 기계-생성(machine-generated) 전자, 광학, 또는 전자기 신호)로 인코딩될 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 저장 디바이스, 컴퓨터-판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 그것들 중 하나 이상의 조합이거나 이에 포함될 수 있다. 더우기, 컴퓨터 저장 매체가 전파 신호는 아니지만, 컴퓨터 저장 매체는 인공-생성 전파 신호로 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 구성요소들 또는 매체(예를 들어, 복수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 이에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들 상에 저장된 또는 다른 소스들로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 처리 장치"는 예로서, 프로그램가능한 프로세서, 컴퓨터, 시스템 온 칩, 또는 이들 중 복수의 것들, 또는 이들의 조합들을 포함하는, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스, 및 기계들을 망라한다. 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그램가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)를 포함할 수 있다. 장치는 또한 하드웨어에 부가하여, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드(예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 크로스-플래폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 조합을 구성하는 코드)를 포함할 수 있다. 장치 및 실행 환경이, 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭쳐들과 같은 다양한 서로 다른 컴퓨팅 모델 인프라스트럭쳐들을 실현할 수 있다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로 알려져 있음)은 컴파일되는 또는 해석되는 언어들, 선언형(declarative) 또는 절차형(procedural) 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 쓰여질 수 있고, 독립형 프로그램으로서 또는 모듈 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배포(deploy)될 수 있다. 컴퓨터 프로그램은, 파일 시스템 내의 파일에 대응할 수 있으나, 반드시 그래야 하는 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 도큐먼트에 저장된 하나 이상의 스크립트들)를 보유하는 파일의 부분에, 문제의 프로그램에 대해 전용된 단일 파일로, 또는 복수의 협력하는 파일들(coordinated filed)(예를 들어, 하나 이상의 모듈들, 서브-프로그램들, 또는 코드의 부분들을 저장하는 파일들)로 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치된 또는 복수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결된 복수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 작동하고 출력을 생성함으로써 동작들을 수행하기 위하여 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램가능한 프로세서들에 의해 수행될 수 있다. 프로세스 및 로직 흐름들은 또한, 특수 목적 로직 회로(예를 들어, FPGA(필드 프로그램가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)에 의해 수행될 수 있고, 장치가 또한 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 마이크로프로세서 및 특수 목적 마이크로프로세서, 그리고 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 기본 요소들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들(예컨대, 자기, 광자기-광학 디스크, 또는 광학 디스크)을 포함하거나, 이들로부터 데이터를 수신 또는 이들에 데이터를 송신하도록 동작적으로(operatively) 결합될 것이다. 그러나, 컴퓨터가 반드시 그러한 디바이스들일 필요는 없다. 또한, 컴퓨터가 다른 디바이스, 예컨대, 몇 가지 이름을 대자면, 모바일 텔레폰, PDA(personal digital assistant), 모바일 오디오, 또는 비디오 재생기, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대형 저장 디바이스(예컨대, USB 플래시 드라이브))에 임베딩될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예로서 반도체 메모리 디바이스들(예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들); 자기 디스크(예를 들어, 내부 하드 디스크 또는 착탈식 디스크); 광자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체, 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보강되거나 특수 목적 논리 회로에 포함될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 기술된 내용의 실시예들은, 정보를 사용자에게 디스플레이하기위한 디스플레이 디바이스(예컨대, CRT(캐소드 레이 튜브) 또는 LCD (액정 디스플레이) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 구비한 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들이 사용되어 마찬가지로 사용자와의 상호작용을 제공할 수 있는바, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백(sendory feedback)(예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백)일 수 있고, 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송신함으로써 그리고 사용자에 의해 사용되는 디바이스로부터 문서를 수신함으로써, 예를 들어, 사용자의 클라이언트 디바이스상의 웹 브라우저로부터 수신된 요청들에 응답하여 상기 웹 브라우저에 웹 페이지를 송신함으로써 사용자와 상호작용할 수 있다.
본 명세서에 기술된 본 발명의 실시예들은 예컨대, 데이터 서버로서, 백-엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트(예컨대, 애플리케이션 서버)를 포함하는, 또는 프론트-엔드 컴포넌트(예컨대, 사용자가 이를 통해 본 명세서에 기술된 내용의 구현과 상호작용할 수 있는 웹 브라우저 또는 그래픽 사용자인터페이스를 갖는 클라이언트 컴퓨터)를 포함하는 컴퓨팅 시스템으로, 또는 하나 이상의 그러한 백-엔드, 미들웨어, 또는 프론트-엔드 컴포넌트들의 임의의 조합으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체(예컨대, 통신 네트워크)에 의해 상호연결될 수 있다. 통신 네트워크의 예는 로컬 영역 네트워크("LAN") 및 광역 네트워크("WAN"), 인터-네트워크(예컨대, 인터넷), 및 피어-투-피어 네트워크(예컨대, 애드혹 피어-투-피어 네트워크)를 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원거리에 있고 전형적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터 상에서 작동하며 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들로 인해 발생된다. 일부 실시예들에서, 서버는 (예컨대, 데이터를 디스플레이하고 클라이언트 디바이스와 상호작용하는 사용자로부터 사용자 입력을 수신하기 위하여) 클라이언트 디바이스에 데이터(예컨대, HTML 페이지)를 전송한다. 클라이언트 디바이스에서 발생되는 데이터(예컨대, 사용자 상호작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정한 구현 세부사항들을 포함하고 있으나, 이들이 임의의 발명들 또는 청구될 수 있는 범주에 대한 제약으로서 고려되어서는 안되며, 오히려 구체적인 발명의 구체적인 실시예들에 특정된 피쳐들에 대한 설명으로서 고려되어야 한다. 개별 실시예들의 맥락에서 본 명세서에 기술되는 특정 피쳐들이 또한 단일 실시예의 조합으로 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 기술된 다양한 피쳐들이 또한 복수의 실시예들로 또는 임의의 적합한 서브조합으로 개별적으로 구현될 수 있다. 또한, 피쳐들은 위에서 특정 조합들로 작동하는 것으로서 기술될 수 있고 심지어 초기에 그렇게 청구될 수 있으나, 청구된 조합으로부터의 하나 이상의 피쳐들은 어느 경우에 상기 조합으로부터 제거될 수 있고, 청구된 조합이 임의의 서브조합 또는 임의의 서브조합의 변환에 관한 것일 수 있다.
마찬가지로, 동작들은 도면에서 특정 순서로 도시되어 있으나, 이것이, 우너하는 결과를 달성하기 위해 그러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되는 것, 또는 모든 설명된 동작들이 수행되는 것을 요구하는 것으로서 이해되어서는 안된다. 특정 환경에서, 멀티태스킹 및 병렬 처리가 유익할 수 있다. 또한, 위에서 기술된 실시예들에서 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안되며, 기술된 프로그램 요소들 및 시스템들이 일반적으로 단일 소프트웨어 제품에 함께 집적될 수 있거나 복수의 소프트웨어 제품들에 패키지될 수 있는 것으로 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들이 하기의 청구항들의 범주 내에 있다. 일부 경우에, 청구항들에 기재된 동작들이 다른 순서로 수행될 수 있고 여전히 원하는 결과를 달성할 수 있다. 또한, 첨부의 도면에 도시된 과정들이 원하는 결과를 달성하기 위하여 도시된 구체적인 순서를 반드시 요구하는 것은 아니다. 특정 실시예들에서, 멀티태스킹 및 병렬 프로세싱이 유익할 수 있다.

Claims (21)

  1. 데이터 처리 장치에 의해 수행되는 방법으로서,
    제1 형태로 되어 있으며 복수의 용어들을 갖는 입력 스트링을 서버에서의 하나 이상의 프로세서들로 수신하는 단계 ―상기 복수의 용어들의 소정 시퀀스(sequence)는 지리적 피쳐(geographic feature)를 나타내고, 상기 소정 시퀀스는 상기 지리적 피쳐에 대응하는 물리적 세계 내의 엔티티의 특성(characteristic)을 각각 나타내는 복수의 지리적 피쳐 타입들 중에서 선택된 지리적 피쳐 타입으로 주석이 달리며(annotated), 상기 소정 시퀀스는 상기 입력 스트링을 수신하기 전에 지리적 라벨들의 데이터베이스에 상기 지리적 피쳐 타입을 갖는 주석 포맷(annotated format)으로 저장되며― 와;
    상기 하나 이상의 프로세서들로 상기 입력 스트링을 상기 제1 형태로부터 제2 형태로 변환하는 단계와; 상기 변환하는 단계는,
    번역을 위한 하나 이상의 용어들을 식별하기 위하여 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계 ―상기 식별된 하나 이상의 용어들은 상기 복수의 용어들보다 적고, 상기 규칙들 중 적어도 일부는 상기 각각의 규칙의 피쳐 타입과 상기 소정 시퀀스가 물리적 세계 내의 대응하는 엔티티의 특성을 나타내기 위해 주석이 달린 상기 지리적 피쳐 타입 간의 매칭에 응답하여 적용되며― 와,
    상기 식별된 하나 이상의 용어들을 상기 제2 형태의 하나 이상의 번역된 용어들로 번역하는 단계와, 그리고
    상기 복수의 용어들의 나머지 용어들(remaining terms) 중 적어도 일부를 상기 제2 형태의 음역된 용어들로 음역하는 단계로서, 상기 엔티티의 나타낸 특성에 따라 애플리케이션에 대한 하나 이상의 음역 규칙들을 선택하는 단계를 포함하며 ―상기 복수의 용어들의 소정 시퀀스가 상기 복수의 지리적 피쳐 타입들 중 제1 지리적 피쳐 타입으로 주석이 달릴 때에는, 상기 하나 이상의 규칙들 중 제1 규칙이 상기 제1 규칙의 제1 피쳐 타입과 상기 제1 지리적 피쳐 타입 간의 매칭에 응답하여 상기 입력 스트링에서 특정 용어를 번역하기 위해 식별하고, 상기 복수의 용어들의 소정 시퀀스가 상기 복수의 지리적 피쳐 타입들 중 제2 지리적 피쳐 타입으로 주석이 달릴 때에는, 상기 하나 이상의 규칙들 중 제2 규칙이 상기 제2 규칙의 제2 피쳐 타입과 상기 제2 지리적 피쳐 타입 간의 매칭에 응답하여 상기 입력 스트링에서 동일한 상기 특정 용어를 음역하기 위해 식별하며―,
    상기 방법은,
    상기 하나 이상의 프로세서들로, 상기 제2 형태로 하이브리드 출력 스트링을 형성하기 위하여 적어도 상기 번역된 용어들과 상기 음역된 용어들을 병합하는 단계,
    상기 하이브리드 출력 스트링을 지리적 라벨들의 상기 데이터베이스에 저장하는 단계 ―상기 엔티티를 포함하는 지리적 영역의 맵이 디스플레이를 위해 요청될 때 (i) 상기 데이터베이스로부터 상기 하이브리드 출력 스트링을 검색하고, (ii) 네트워크 인터페이스를 통해, 클라이언트 장치에 상기 하이브리드 출력 스트링을 갖는 상기 맵을 나타내기 위한 맵 데이터와 함께 상기 하이브리드 출력 스트링을 제공하며― 를 더 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  2. 제1 항에 있어서, 상기 제1 형태 및 상기 제2 형태는 각각 제1 표기 체계(writing system) 및 제2 표기 체계인 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  3. 제1 항에 있어서, 상기 제1 형태 및 상기 제2 형태는 각각 제1 자연어 및 제2 자연어인 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  4. 제1 항에 있어서, 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계는,
    상기 소정 시퀀스의 상기 지리적 피쳐 타입과 매칭하는 규칙들에 대해, 상기 입력 스트링이 상기 각각의 하나 이상의 매칭 규칙들의 스트링 패턴과 매칭하는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  5. 제1 항에 있어서, 각각의 규칙은 각각의 출력 형태들에 대한 다수의 각각의 규칙 출력들을 포함하고, 상기 각각의 규칙 출력들은 상기 각각의 규칙들에 의해 식별된 용어들의 번역된 형태들을 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  6. 제1 항에 있어서,
    상기 하나 이상의 규칙들 중 매칭 규칙은 번역될 상기 소정 시퀀스의 제1부분 및 음역될 상기 소정 시퀀스의 제2부분을 식별하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  7. 제1 항에 있어서, 상기 나머지 용어들을 상기 제2 형태의 음역된 용어들로 음역하는 단계는,
    상기 스트링을 복수의 토큰들로 토큰화하는 단계와;
    각각의 토큰을 상기 제1 형태로부터 제2 형태로 음역하는 단계와; 그리고
    상기 제2 형태의 음역된 출력 스트링을 형성하기 위하여 상기 제2 형태의 상기 음역된 토큰들을 적어도 병합하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  8. 시스템으로서,
    제1 형태로 되어 있으며 복수의 용어들을 갖는 입력 스트링을 수신하는 단계 ―상기 복수의 용어들의 소정 시퀀스(sequence)는 지리적 피쳐(geographic feature)를 나타내고, 상기 소정 시퀀스는 상기 지리적 피쳐에 대응하는 물리적 세계 내의 엔티티의 특성(characteristic)을 각각 나타내는 복수의 지리적 피쳐 타입들 중에서 선택된 지리적 피쳐 타입으로 주석이 달리며(annotated), 상기 소정 시퀀스는 상기 입력 스트링을 수신하기 전에 지리적 라벨들의 데이터베이스에 상기 지리적 피쳐 타입을 갖는 주석 포맷(annotated format)으로 저장되며― 와;
    상기 제1 형태로부터 제2 형태로 상기 입력 스트링을 변환하는 단계와; 상기 입력 스트링을 변환하는 단계는,
    번역을 위한 하나 이상의 용어들을 식별하기 위하여 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계 ―상기 식별된 하나 이상의 용어들은 상기 복수의 용어들보다 적고, 상기 규칙들 중 적어도 일부는 상기 각각의 규칙의 피쳐 타입과 상기 소정 시퀀스가 물리적 세계 내의 대응하는 엔티티의 특성을 나타내기 위해 주석이 달린 상기 지리적 피쳐 타입 간의 매칭에 응답하여 적용되며― 와,
    상기 식별된 하나 이상의 용어들을 상기 제2 형태의 하나 이상의 번역된 용어들로 번역하는 단계와, 그리고
    상기 복수의 용어들의 나머지 용어들(remaining terms) 중 적어도 일부를 상기 제2 형태의 음역된 용어들로 음역하는 단계로서, 상기 엔티티의 나타낸 특성에 따라 애플리케이션에 대한 하나 이상의 음역 규칙들을 선택하는 단계를 포함하며 ―상기 복수의 용어들의 소정 시퀀스가 상기 복수의 지리적 피쳐 타입들 중 제1 지리적 피쳐 타입으로 주석이 달릴 때에는, 상기 하나 이상의 규칙들 중 제1 규칙이 상기 제1 규칙의 제1 피쳐 타입과 상기 제1 지리적 피쳐 타입 간의 매칭에 응답하여 상기 입력 스트링에서 특정 용어를 번역하기 위해 식별하고, 상기 복수의 용어들의 상기 소정 시퀀스가 상기 복수의 지리적 피쳐 타입들 중 제2 지리적 피쳐 타입으로 주석이 달릴 때에는, 상기 하나 이상의 규칙들 중 제2 규칙이 상기 제2 규칙의 제2 피쳐 타입과 상기 제2 지리적 피쳐 타입 간의 매칭에 응답하여 상기 입력 스트링에서 동일한 상기 특정 용어를 음역하기 위해 식별하며―,
    상기 제2 형태로 하이브리드 출력 스트링을 형성하기 위하여 상기 번역된 용어들과 상기 음역된 용어들을 적어도 병합하는 단계,
    상기 하이브리드 출력 스트링을 지리적 라벨들의 상기 데이터베이스에 저장하는 단계 ―상기 엔티티를 포함하는 지리적 영역에 대한 맵 데이터가 디스플레이를 위해 요청될 때 (i) 상기 데이터베이스로부터 상기 하이브리드 출력 스트링을 검색하고, (ii) 네트워크 인터페이스를 통해, 클라이언트 장치에 디스플레이하기 위해 상기 요청된 맵 데이터와 함께 상기 하이브리드 출력 스트링을 제공하며― 를 포함하는 동작들을 수행하기 위해 서로 상호작용하도록 동작가능한 하나 이상의 컴퓨터들을 포함하는 것을 특징으로 하는 시스템.
  9. 제8 항에 있어서, 상기 제1 형태 및 상기 제2 형태는 각각 제1 표기 체계 및 제2 표기 체계인 것을 특징으로 하는 시스템.
  10. 제8 항에 있어서, 상기 제1 형태 및 상기 제2 형태는 각각 제1 자연어 및 제2 자연어인 것을 특징으로 하는 시스템.
  11. 제8 항에 있어서, 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계는,
    상기 소정 시퀀스의 상기 지리적 피쳐 타입과 매칭하는 규칙들에 대해, 상기 입력 스트링이 상기 각각의 하나 이상의 매칭 규칙들의 스트링 패턴과 매칭하는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 시스템.
  12. 제8 항에 있어서, 각각의 규칙은 각각의 출력 형태들에 대한 다수의 각각의 규칙 출력들을 포함하고, 상기 각각의 규칙 출력들은 상기 각각의 규칙들에 의해 식별된 용어들의 번역된 형태들을 포함하는 것을 특징으로 하는 시스템.
  13. 제8 항에 있어서,
    상기 하나 이상의 규칙들 중 매칭 규칙은 번역될 상기 소정 시퀀스의 제1부분 및 음역될 상기 소정 시퀀스의 제2부분을 식별하는 것을 특징으로 하는 시스템.
  14. 제8 항에 있어서, 상기 나머지 용어들을 상기 제2 형태의 음역된 용어들로 음역하는 단계는,
    상기 스트링을 복수의 토큰들로 토큰화하는 단계와;
    각각의 토큰을 상기 제1 형태로부터 제2 형태로 음역하는 단계와; 그리고
    상기 제2 형태의 음역된 출력 스트링을 형성하기 위하여 상기 제2 형태의 상기 음역된 토큰들을 적어도 병합하는 단계를 포함하는 것을 특징으로 하는 시스템.
  15. 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체로서, 상기 컴퓨터 프로그램은, 데이터 처리 장치에 의해 실행될 때 상기 데이터 처리 장치로 하여금,
    제1 형태로 되어 있으며 복수의 용어들을 갖는 입력 스트링을 수신하는 단계 ―상기 복수의 용어들의 소정 시퀀스(sequence)는 지리적 피쳐(geographic feature)를 나타내고, 상기 소정 시퀀스는 상기 지리적 피쳐에 대응하는 물리적 세계 내의 엔티티의 특성을 각각 나타내는 복수의 지리적 피쳐 타입들 중에서 선택된 지리적 피쳐 타입으로 주석이 달리며(annotated), 상기 소정 시퀀스는 상기 입력 스트링을 수신하기 전에 지리적 라벨들의 데이터베이스에 상기 지리적 피쳐 타입을 갖는 주석 포맷(annotated format)으로 저장되며― 와;
    상기 입력 스트링을 상기 제1 형태로부터 제2 형태로 변환하는 단계와, 상기 변환하는 단계는,
    번역을 위한 하나 이상의 용어들을 식별하기 위하여 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계 ―상기 식별된 하나 이상의 용어들은 상기 복수의 용어들보다 적고, 상기 규칙들 중 적어도 일부는 상기 각각의 규칙의 피쳐 타입과 상기 소정 시퀀스가 물리적 세계 내의 대응하는 엔티티의 특성을 나타내기 위해 주석이 달린 상기 지리적 피쳐 타입 간의 매칭에 응답하여 적용되며― 와,
    상기 식별된 하나 이상의 용어들을 상기 제2 형태의 하나 이상의 번역된 용어들로 번역하는 단계와, 그리고
    상기 복수의 용어들의 나머지 용어들(remaining terms) 중 적어도 일부를 상기 제2 형태의 음역된 용어들로 음역하는 단계로서, 상기 엔티티의 나타낸 특성에 따라 애플리케이션에 대한 하나 이상의 음역 규칙들을 선택하는 단계를 포함하며 ―상기 복수의 용어들의 소정 시퀀스가 상기 복수의 지리적 피쳐 타입들 중 제1 지리적 피쳐 타입으로 주석이 달릴 때에는, 상기 하나 이상의 규칙들 중 제1 규칙이 상기 제1 규칙의 제1 피쳐 타입과 상기 제1 지리적 피쳐 타입 간의 매칭에 응답하여 상기 입력 스트링에서 특정 용어를 번역하기 위해 식별하고, 상기 복수의 용어들의 소정 시퀀스가 상기 복수의 지리적 피쳐 타입들 중 제2 지리적 피쳐 타입으로 주석이 달릴 때에는, 상기 하나 이상의 규칙들 중 제2 규칙이 상기 제2 규칙의 제2 피쳐 타입과 상기 제2 지리적 피쳐 타입 간의 매칭에 응답하여 상기 입력 스트링에서 동일한 상기 특정 용어를 음역하기 위해 식별하며―,
    상기 제2 형태로 하이브리드 출력 스트링을 형성하기 위하여 적어도 상기 번역된 용어들과 상기 음역된 용어들을 병합하는 단계,
    상기 하이브리드 출력 스트링을 지리적 라벨들의 상기 데이터베이스에 저장하는 단계 ―상기 엔티티를 포함하는 지리적 영역에 대한 맵 데이터가 디스플레이를 위해 요청될 때 (i) 상기 데이터베이스로부터 상기 하이브리드 출력 스트링을 검색하고, (ii) 네트워크 인터페이스를 통해, 클라이언트 장치에 디스플레이하기 위해 상기 요청된 맵 데이터와 함께 상기 하이브리드 출력 스트링을 제공하며― 를 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
  16. 제15 항에 있어서, 상기 제1 형태 및 상기 제2 형태는 각각 제1 표기 체계 및 제2 표기 체계인 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
  17. 제15 항에 있어서, 상기 제1 형태 및 상기 제2 형태는 각각 제1 자연어 및 제2 자연어인 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
  18. 제15항에 있어서, 상기 입력 스트링에 하나 이상의 규칙들을 적용하는 단계는,
    상기 소정 시퀀스의 상기 지리적 피쳐 타입과 매칭하는 규칙들에 대해, 상기 입력 스트링이 상기 각각의 하나 이상의 매칭 규칙들의 스트링 패턴과 매칭하는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
  19. 제15 항에 있어서, 각각의 규칙은 각각의 출력 형태들에 대한 다수의 각각의 규칙 출력들을 포함하고, 상기 각각의 규칙 출력들은 상기 각각의 규칙들에 의해 식별된 용어들의 번역된 형태들을 포함하는 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
  20. 제15 항에 있어서,
    상기 하나 이상의 규칙들 중 매칭 규칙은 번역될 상기 소정 시퀀스의 제1부분 및 음역될 상기 소정 시퀀스의 제2부분을 식별하는 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
  21. 제15 항에 있어서, 상기 입력 스트링은 타입(type)을 포함하고, 상기 하나 이상의 규칙들을 상기 입력 스트링에 적용하는 단계는,
    상기 스트링을 복수의 토큰들로 토큰화하는 단계와;
    각각의 토큰을 상기 제1 형태로부터 제2 형태로 음역하는 단계와; 그리고
    상기 제2 형태의 음역된 출력 스트링을 형성하기 위하여 상기 제2 형태의 상기 음역된 토큰들을 적어도 병합하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체.
KR1020137007528A 2010-08-26 2011-08-26 입력 텍스트 스트링들의 변환 KR101890835B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37744010P 2010-08-26 2010-08-26
US61/377,440 2010-08-26
PCT/US2011/049352 WO2012027672A1 (en) 2010-08-26 2011-08-26 Conversion of input text strings

Publications (2)

Publication Number Publication Date
KR20140018836A KR20140018836A (ko) 2014-02-13
KR101890835B1 true KR101890835B1 (ko) 2018-09-28

Family

ID=45723824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137007528A KR101890835B1 (ko) 2010-08-26 2011-08-26 입력 텍스트 스트링들의 변환

Country Status (5)

Country Link
US (1) US10133737B2 (ko)
JP (1) JP6511221B2 (ko)
KR (1) KR101890835B1 (ko)
CN (1) CN103189859B (ko)
WO (1) WO2012027672A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886817B2 (en) 2020-12-28 2024-01-30 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling thereof

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176936B2 (en) * 2012-09-28 2015-11-03 International Business Machines Corporation Transliteration pair matching
JP5897711B2 (ja) * 2012-12-06 2016-03-30 楽天株式会社 入力支援装置、入力支援方法、及び入力支援プログラム
US9342503B1 (en) * 2013-03-12 2016-05-17 Amazon Technologies, Inc. Correlation across languages
US9489351B2 (en) * 2013-03-15 2016-11-08 The Dun & Bradstreet Corporation Enhancement of multi-lingual business indicia through curation and synthesis of transliteration, translation and graphemic insight
CN104239343B (zh) * 2013-06-20 2018-04-27 腾讯科技(深圳)有限公司 一种用户输入信息的处理方法和装置
JP2015185115A (ja) * 2014-03-26 2015-10-22 株式会社ゼンリンデータコム 翻訳装置、翻訳方法及び翻訳プログラム
RU2632137C2 (ru) 2015-06-30 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер транскрипции лексической единицы из первого алфавита во второй алфавит
CN116229981A (zh) * 2015-11-12 2023-06-06 谷歌有限责任公司 使用部分条件从输入序列生成目标序列
CN106168857A (zh) * 2016-06-29 2016-11-30 刘志懿 一种兼容多种转写的输入梵语的方法、系统及装置
US10686750B2 (en) * 2017-03-07 2020-06-16 Verisign, Inc. Alternate character set domain name suggestion and registration using translation and transliteration
US10540452B1 (en) * 2018-06-21 2020-01-21 Amazon Technologies, Inc. Automated translation of applications
US11417322B2 (en) * 2018-12-12 2022-08-16 Google Llc Transliteration for speech recognition training and scoring
CN111428518B (zh) * 2019-01-09 2023-11-21 科大讯飞股份有限公司 一种低频词翻译方法及装置
KR102243274B1 (ko) * 2019-06-13 2021-04-22 주식회사 누아 지리적 명칭의 기계 번역을 위한 장치, 방법 및 컴퓨터 프로그램
CN110728156B (zh) * 2019-12-19 2020-07-10 北京百度网讯科技有限公司 翻译方法、装置、电子设备及可读存储介质
US11354341B2 (en) * 2020-01-31 2022-06-07 Boomi, LP System and method for translating a software query in an automated integration process into natural language
KR20220017313A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 음역 검색을 위한 방법 및 이를 지원하는 전자 장치
US11797781B2 (en) 2020-08-06 2023-10-24 International Business Machines Corporation Syntax-based multi-layer language translation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080097741A1 (en) 2006-10-18 2008-04-24 Domenica Bagnato Text analysis, transliteration and translation method and apparatus for hieroglypic, hieratic, and demotic texts from ancient egyptian
US20080215309A1 (en) * 2007-01-12 2008-09-04 Bbn Technologies Corp. Extraction-Empowered machine translation
US20090144049A1 (en) * 2007-10-09 2009-06-04 Habib Haddad Method and system for adaptive transliteration

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561902A (ja) 1991-09-02 1993-03-12 Sanyo Electric Co Ltd 機械翻訳システム
JP3716870B2 (ja) 1995-05-31 2005-11-16 ソニー株式会社 音声認識装置および音声認識方法
JPH10312382A (ja) * 1997-05-13 1998-11-24 Keiichi Shinoda 類似用例翻訳システム
WO2002065786A1 (en) 2001-02-09 2002-08-22 Kujin Lee Method and apparatus for omni-directional image and 3-dimensional data acquisition with data annotation and dynamic range extension method
US7711547B2 (en) 2001-03-16 2010-05-04 Meaningful Machines, L.L.C. Word association method and apparatus
WO2002097726A1 (en) * 2001-05-31 2002-12-05 Mapinfo Corporation System and method for geocoding diverse address formats
EP1483687A4 (en) * 2002-03-11 2008-08-06 Univ Southern California TRANSLATION OF CALLED ENTITIES
JP3921543B2 (ja) 2004-01-30 2007-05-30 独立行政法人情報通信研究機構 機械翻訳装置
EP1894125A4 (en) * 2005-06-17 2015-12-02 Nat Res Council Canada MEANS AND METHOD FOR ADAPTED LANGUAGE TRANSLATION
US20070050183A1 (en) * 2005-08-26 2007-03-01 Garmin Ltd. A Cayman Islands Corporation Navigation device with integrated multi-language dictionary and translator
US7640222B2 (en) * 2006-03-03 2009-12-29 Pegasystems Inc. Rules base systems and methods with circumstance translation
US20080294455A1 (en) 2007-05-23 2008-11-27 General Electric Company System and method for communicating in a multilingual network
US8706474B2 (en) * 2008-02-23 2014-04-22 Fair Isaac Corporation Translation of entity names based on source document publication date, and frequency and co-occurrence of the entity names
US8086618B2 (en) * 2008-09-30 2011-12-27 International Business Machines Corporation Configuration rule translation mapper
US8731901B2 (en) * 2009-12-02 2014-05-20 Content Savvy, Inc. Context aware back-transliteration and translation of names and common phrases using web resources
US8942973B2 (en) * 2012-03-09 2015-01-27 Language Weaver, Inc. Content page URL translation
US9519643B1 (en) * 2015-06-15 2016-12-13 Microsoft Technology Licensing, Llc Machine map label translation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080097741A1 (en) 2006-10-18 2008-04-24 Domenica Bagnato Text analysis, transliteration and translation method and apparatus for hieroglypic, hieratic, and demotic texts from ancient egyptian
US20080215309A1 (en) * 2007-01-12 2008-09-04 Bbn Technologies Corp. Extraction-Empowered machine translation
US20090144049A1 (en) * 2007-10-09 2009-06-04 Habib Haddad Method and system for adaptive transliteration

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. SARAVANAN et al., "Some Experiments in Mining Named Entity Transliteration Pairs from Comparable Corpora", Proc. of 2nd Int. workshop on Cross Lingual Inforamtion Access, 2008.01.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886817B2 (en) 2020-12-28 2024-01-30 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling thereof

Also Published As

Publication number Publication date
CN103189859B (zh) 2016-08-17
US10133737B2 (en) 2018-11-20
JP2013540304A (ja) 2013-10-31
US20140163952A1 (en) 2014-06-12
JP6511221B2 (ja) 2019-05-15
WO2012027672A1 (en) 2012-03-01
CN103189859A (zh) 2013-07-03
KR20140018836A (ko) 2014-02-13

Similar Documents

Publication Publication Date Title
KR101890835B1 (ko) 입력 텍스트 스트링들의 변환
Zhang et al. HHMM-based Chinese lexical analyzer ICTCLAS
US20050216253A1 (en) System and method for reverse transliteration using statistical alignment
Washington et al. Finite-state morphological transducers for three Kypchak languages.
Said et al. A hybrid approach for Arabic diacritization
Tesfaye A rule-based Afan Oromo Grammar Checker
Lane et al. Bootstrapping techniques for polysynthetic morphological analysis
Anthes Automated translation of indian languages
Tahir et al. Knowledge based machine translation
Malik et al. A hybrid model for Urdu Hindi transliteration
Yoon et al. A linguistically motivated approach to grapheme-to-phoneme conversion for Korean
Makwana et al. Survey: Natural language parsing for Indian languages
Elsheikh Timeline of the development of Arabic PoS taggers and Morphological analysers
Behera Odia parts of speech tagging corpora: suitability of statistical models
Washington et al. Towards a morphological transducer and orthography converter for Western Tlacolula Valley Zapotec
Lata et al. Development of Linguistic Resources and Tools for Providing Multilingual Solutions in Indian Languages-A Report on National Initiative.
Virk et al. An open source Urdu resource grammar
Lu et al. Language model for Mongolian polyphone proofreading
Saychum et al. Efficient Thai Grapheme-to-Phoneme Conversion Using CRF-Based Joint Sequence Modeling.
Singh et al. An efficient Romanization of Gurmukhi Punjabi proper nouns for pattern matching
KR100322743B1 (ko) 음성합성기의 문서해석기에서 사용되는 형태소 해석방법 및 그 장치
Alosaimy Ensemble Morphosyntactic Analyser for Classical Arabic
Nørstebø Moshagen et al. The GiellaLT infrastructure: A multilingual infrastructure for rule-based NLP
Bar et al. Processing Judeo-Arabic Texts
Salim Elsheikh et al. TIMELINE OF THE DEVELOPMENT OF ARABIC POS TAGGERS AND MORPHOLOGICALANALYSERS

Legal Events

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