KR20080032640A - 숫자의 텍스트 및 스피치 변환 - Google Patents

숫자의 텍스트 및 스피치 변환 Download PDF

Info

Publication number
KR20080032640A
KR20080032640A KR1020087004959A KR20087004959A KR20080032640A KR 20080032640 A KR20080032640 A KR 20080032640A KR 1020087004959 A KR1020087004959 A KR 1020087004959A KR 20087004959 A KR20087004959 A KR 20087004959A KR 20080032640 A KR20080032640 A KR 20080032640A
Authority
KR
South Korea
Prior art keywords
digit
textual representation
representation
correct
textual
Prior art date
Application number
KR1020087004959A
Other languages
English (en)
Other versions
KR100959552B1 (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 KR20080032640A publication Critical patent/KR20080032640A/ko
Application granted granted Critical
Publication of KR100959552B1 publication Critical patent/KR100959552B1/ko

Links

Images

Classifications

    • 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
    • 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/02Methods for producing synthetic speech; Speech synthesisers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

한 기수를 텍스트 표현이나 스피치로 변환하는 해법이 제안된다. 컨버터(302)가 기수의 각 디지트를 하나씩 텍스트 표현으로 변환한다. 결합기(304)는 디지트의 자리에 따라 다르게 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 더한다. 정정기(306)는 올바른 표현들을 규정한 언어별 규칙들에 기초하여, 올바른 표현과는 다른 텍스트 표현을 가진 적어도 한 디지트 관련 임의 형태의 텍스트 표현을 정정하고, 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합한다. 합성기가 완전 텍스트 표현을 스피치로 변환한다.

Description

숫자의 텍스트 및 스피치 변환 {Conversion of number into text and speech}
본 발명은 숫자를 텍스트 형식과 더 나아가 스피치로 변환하는 것에 관한 것이다.
멀티미디어, 말하는 웹사이트, 메시지 읽기 (이메일, SMS), 핸즈프리/아이프리 (eyesfree) 장치들 (네비게이션, 모바일 전화기들)의 사용자 인터페이스, 자동화된 문맥 인식 공지 시스템들 (가변 데이터, 전화 서비스에 관련된 어떤 것) 등에 적용될 수 있어 시각 장애인에게 도움이 되는 텍스트-스피치 (text-to-speech) 시스템에 의해 서면상태의 텍스트가 스피치로 변환될 수 있다.
TTS 시스템의 텍스트 전치 프로세서 (pre-processor)나 텍스트 정규화기 (normalizer)는, TTS 시스템으로 입력되는 모든 정보가 일반 문자들로써 적절히 표시될 수 있도록 제어한다. 문자들은 추가 처리되어 상응하는 표음을 생성한다. 그러나, "1", "45", "363" 같은 숫자 부분의 정보는 표음에 관한 어떠한 단서도 포함하고 있지 못하므로, 그 표음이 다르게 생성되어야 한다. 그렇게 하기 위한 한 가지 방법이, 숫자들을 텍스트 표현으로 변환하는 것이다. 그러면 텍스트로서의 숫자가, 텍스트 스트링들을 사용하는 어떤 다른 비 숫자 정보의 경우에서처럼 규칙 들 혹은 룩업 테이블들을 사용해 표음 될 수 있다: "1"->"one", "45"->"forty-five" 등등.
숫자들은 각 언어에 따라 상이한 텍스트 표현을 가짐이 당연하다. 또, 텍스트 스트림의 구성 역시 언어마다 다르다. 예를 들어, 영어에서 "forty-three"는 숫자 "40"과 "3"에 대한 단어들을 포함하고, 핀란드어
Figure 112008014892477-PCT00001
는 "4", 십을 가리키는
Figure 112008014892477-PCT00002
와 "3"에 대한 단어들을 포함한다. 프랑스어의 숫자 "74"는 "60", "10" 그리고 "4"에 해당하는 "soixante-dix-quatre"가 될 것이다.
기수들은 TTS 시스템으로의 입력에 대한 특별한 경우를 제공한다. 필요로 되는 숫자들의 범위가 넓지 않은 경우, 각 숫자의 표음들이 따로 룩업 테이블에 저장될 수 없다. 예를 들어 1부터 99999까지의 숫자들을 지원하는 테이블의 사이즈가 너무 방대해 진다.
어떤 규칙 기반의 방식들이 숫자를 텍스트로 변환하는 데 제안되어 왔다. 그러나, 그 제안된 해법들은 많은 문제점을 수반한다. 보통 이들은 언어에 고유하므로, 한 숫자를 한 언어로만 변환할 수 있다. 또한 이들은 통상적으로 모듈로 (modulo) 계산 같은 것을 필요로 하는 복잡한 수학적 처리에 기초하고 있다. 대체로 기존의 규칙 기반 방식들은 수학적으로나 구조적으로 모두 복잡하다.
따라서, 기수에 대한 텍스트 표현을 구성하기 위한 간단한 해법의 필요성이 존재한다. 그 해법은 또한 복수의 언어들에 적용될 수 있어야 한다.
본 발명의 목적은 숫자를 텍스트로 변환하는 개선된 해법을 제공하는 데 있다. 본 발명의 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 방법이 제안되고, 이 방법은, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하는 단계; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 및 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하는 방법이 제안되고, 이 방법은 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하는 단계; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계; 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 단계; 및 그 수의 완전 텍스트 표현을 스피치로 변환하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 장치가 제안되고, 이 장치는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기; 및 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하도록 된 정정기를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 장치가 제안되고, 이 장치는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 수단; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단; 및 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 수단을 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치가 제안되고, 이 장치는 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하도록 된 정정기; 및 상기 수의 완전 텍스트 표현을 스피치로 변환하도록 된 합성기 (synthesizer)를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치가 제안되고, 이 장치는 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 수단; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하기 위한 수단; 및 상기 수의 완전 텍스트 표현을 스피치로 변환하도록 된 합성기를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 장치를 포함하는 가입자 단말이 제안되고, 이때 상기 장치는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기; 및 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하도록 된 정정기를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 장치를 포함하는 가입자 단말이 제안되고, 상기 장치는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 수단; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단; 및 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 수단을 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치를 포함하는 가입자 단말이 제안되고, 상기 장치는 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하도록 된 정정기; 및 상기 수의 완전 텍스트 표현을 스피치로 변환하도록 된 합성기를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치를 포함하는 가입자 단말이 제안되고, 이 장치는 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 수단; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하기 위한 수단; 및 상기 수의 완전 텍스트 표현을 스피치로 변환하도록 된 수단을 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩한 컴퓨터 프로그램 생성물이 제안되고, 상기 프로세스는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하는 단계; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 및 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩한 컴퓨터 프로그램 생성물이 제안되고, 상기 프로세스는, 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하는 단계; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계; 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 단계; 및 그 수의 완전 텍스트 표현을 스피치로 변환하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩하는 컴퓨터 프로그램 배포 매체가 제안되고, 상기 프로세스는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하는 단계; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 및 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩한 컴퓨터 프로그램 배포 매체가 제안되고, 상기 프로세스는, 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하는 단계; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계; 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 단계; 및 그 수의 완전 텍스트 표현을 스피치로 변환하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 데이터 구조가 제안되고, 이 데이터 구조는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 및 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 정보를 포함하는 제3데이터 필드를 포함한다.
본 발명의 다른 한 양태에 따르면, 컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 데이터 구조를 가진 컴퓨터 프로그램 배포 매체가 제안되고, 이 데이터 구조는, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 및 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 정보를 포함하는 제3데이터 필드를 포함한다.
본 발명의 다른 한 양태에 따르면, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 데이터 구조가 제안되고, 이 데이터 구조는, 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하고, 그 수의 완전 텍스트 표현을 스피치로 변환하기 위한 정보를 포함하는 제3데이터 필드를 포함한다.
본 발명의 다른 한 양태에 따르면, 컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 데이터 구조를 갖는 컴퓨터 프로그램 배포 매체가 제안되고, 상기 데이터 구조는, 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하고, 그 수의 완전 텍스트 표현을 스피치로 변환하기 위한 정보를 포함하는 제3데이터 필드를 포함한다.
본 발명은 여러 장점들을 제공한다. 그 해법은 한 수(넘버)를 텍스트 및 스피치로 변환하는 간단하고도 효과적인 방법을 제공한다. 그 해법은 메모리 효율성이 매우 좋아서, 매우 적은 주메모리 용량 (memory footprint)으로 많은 수치들을 망라하는 것이 가능하다. 일련의 규칙들은 언어 고유의 패키지들 안에 포함될 수 있는 데이터로서 표현될 수 있다. 이러한 복잡하지 않은 구문 (syntax)이 다양한 언어들로 갖가지 제품들을 제조하는데 따른 기호논리학을 단순화한다.
이하에서, 본 발명은 실시예들 및 첨부된 도면들을 참조하여 보다 상세히 설명될 것이다.
도 1은 텍스트-스피치 (text-to-speech) 시스템의 블록도를 보인 것이다;
도 2는 라디오 시스템의 단말 장치를 예시한 것이다;
도 3은 정규화 동작 블록을 보인 예시한 것이다;
도 4는 수의 서면 영어로의 변환을 예시한 것이다;
도 5는 10보다 작은 수들을 서면 영어로 변환하는 테이블을 보인 것이다;
도 6은 서면 영어로 된 자릿값들의 테이블을 보인 것이다.
도 7a는 영어 텍스트 표현 정정 테이블의 제1부를 보인 것이다;
도 7b는 영어 텍스트 표현 정정 테이블의 제2부를 보인 것이다;
도 8a는 서면 영어로의 디지트들의 변환을 예시한 것이다;
도 8b는 서면 핀란드어로 된 자릿값들의 테이블을 보인 것이다;
도 8c는 핀란드어 텍스트 표현 정정 테이블을 예시한 것이다;
도 9a는 스웨덴어로의 디지트들의 변환을 예시한 것이다;
도 9b는 서면 스웨덴어로 된 자릿값들의 테이블을 예시한 것이다;
도 9c는 스웨덴어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 9d는 스웨덴어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 10a는 서면 프랑스어로의 디지트들의 변환을 예시한 것이다;
도 10b는 서면 프랑스어로 된 자릿값들의 테이블을 예시한 것이다;
도 10c는 프랑스어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 10d는 프랑스어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 10e는 프랑스어 텍스트 표현 정정 테이블의 제3부를 예시한 것이다;
도 11a는 서면 독일어로의 디지트들의 변환을 예시한 것이다;
도 11b는 서면 독일어로 된 자릿값들의 테이블을 예시한 것이다;
도 11c는 독일어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 11d는 독일어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 12a는 서면 덴마크어로의 디지트들의 변환을 예시한 것이다;
도 12b는 서면 덴마크어로 된 자릿값들의 테이블을 예시한 것이다;
도 12c는 덴마크어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 12d는 덴마크어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 13a는 서면 헝가리어로의 디지트들의 변환을 예시한 것이다;
도 13b는 서면 헝가리어로 된 자릿값들의 테이블을 예시한 것이다;
도 13c는 헝가리어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 13d는 헝가리어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 14a는 서면 이태리어로의 디지트들의 변환을 예시한 것이다;
도 14b는 서면 이태리어로 된 자릿값들의 테이블을 예시한 것이다;
도 14c는 이태리어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 14d는 이태리어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 15a는 서면 북경 중국어로의 디지트들의 변환을 예시한 것이다;
도 15b는 서면 북경 중국어로 된 자릿값들의 테이블을 예시한 것이다;
도 15c는 북경 중국어 텍스트 표현 정정 테이블을 예시한 것이다;
도 16a는 서면 우크라이나어로의 디지트들의 변환을 예시한 것이다;
도 16b는 서면 우크라이나어로 된 자릿값들의 테이블을 예시한 것이다;
도 16c는 우크라이나어 텍스트 표현 정정 테이블의 제1부를 예시한 것이다;
도 16d는 우크라이나어 텍스트 표현 정정 테이블의 제2부를 예시한 것이다;
도 16e는 우크라이나어 텍스트 표현 정정 테이블의 제3부를 예시한 것이다;
도 17은 텍스트로의 변환 흐름도를 보인 것이다;
도 18은 스피치로의 변환 흐름도를 보인 것이다;
도 19는 시간을 변환하기 위한 레지스터 설정을 보인 것이다;
도 20a는 변환 첫 단계 후 레지스터 요소들을 보인 것이다;
도 20b는 변환 두 번째 단계 후 레지스터 요소들을 보인 것이다;
도 21은 약자들을 변환하기 위한 레지스터 설정을 보인 것이다;
도 22는 변환 후 레지스터 요소들을 보인 것이다.
본 발명의 해법은 사용자 장치, 컴퓨터 등등일 수 있는 전자 장치들에 적합하다. 어플리케이션 분야로는 메시지 판독, 핸즈프리나 아이프리(eyesfree) 장치들의 사용자 인터페이스, 자동 컨텍스트 인지 발표 시스템 및 시각 장애인들을 위한 보조장치가 포함될 수 있다.
도 1을 참조하여, 텍스트-스피치 (TTS, text-to-speech) 시스템의 블록도를 검토할 것이다. 서면 문자들, 숫자들, 특수 표시들 및/또는 주석들을 포함하는 텍스트가 전처리 연산 블록(100)으로 제공될 수 있다. 전처리는, 차례로 텍스트 내 특수 표시들 및 주석들을 해석하여, 가령, 문단의 정의, 소정 단어의 특정 강세 등등과 같은 통합 (synthesis) 프로세스를 통제하도록 하는 것을 포함할 수 있는 파싱 (parsing)을 포함할 수 있다. 전처리는 또, 텍스트에서 불필요한 정보를 제거하는 등의 어떤 어플리케이션 고유 프로세싱을 포함할 수도 있다. 불필요한 정보란 "*******" 같이 발음할 수 없는 문자들 또는 (이메일의) 헤더 등일 수 있다.
전처리 후, 텍스트는 정규화 연산 블록(102)에서 정규화될 수 있다. 이 블 록(102)은 가령, 넘버들을 텍스트 표현으로 변환하는 동작, 약자들을 확장하는 동작 등등을 포함할 수 있다. 발음할 넘버의 텍스트 스트링을 생성하기 위한 규칙 기반 방법이 사용될 수 있다. 종래 기술에서, 넘버들의 텍스트 스트링들을 생성하기 위한 규칙들은 보통 DLL (Dynamically Loaded Library) 등의 언어 고유 프로그램 코드 안에서 코딩된다. 어떤 시스템들에서는, 역시 다른 언어 고유 프로세싱을 다루는 복잡한 스크립트 언어가 제공된다.
언어 처리 블록(104)은 언어 및 문장구성 분석 및 운율학적 분석을 포함할 수 있다. 언어 및 문장구성 분석은 형태학적 분석, 문맥적 분석 및 어떤 기준에 기초해 단어들을 절들 (clauses)로 분류하는 것을 포함할 수 있다. 운율학적 분석은 언어 및 문장구성 분석을 이용해, 가령 억양의 형세, 일시 정지, 강세 및 음편 (speech segment) 듀레이션 (duration)을 부여한다.
합성 블록(106)은 실제 스피치 파형을 생성하기 위해 언어 처리 블록(104)으로부터 수신된 데이터에 기초해, 글자-소리 (letter-to-sound) 또는 텍스트-음소 (text-to-phoneme) 변환을 수행할 수 있다.
도 2는 여기서, 본 발명의 해법을 이용할 수 있는 전자 장치의 한 예로서 라디오 시스템의 단말 장치를 연구하는데 이용된다. 이 단말 장치는 조작 유닛으로서 모바일 장치(블록 200, 202, 206-216)를, 그리고 사용자 고유 모듈(204)로서 USIM (Universal mobile telephone system Subscriber Identity Module) 모듈이나 SIM을 구비할 수 있다. 사용자 고유 모듈은 마이크로프로세서 및 메모리를 포함하는 스마트 카드이다. 조작 유닛 데이터, 사용자의 개인 데이터 및 사용자 인터페 이스의 식별 데이터가 USIM 모듈의 메모리 안에 저장될 수 있다.
단말 장치는 프로세서(200)를 포함하며, 그 프로세서 안에서, 단말 장치의 컴퓨터 프로그램 동작이 수행될 수 있다. 예를 들어, 프로세서(200)는 디지털 신호 처리를 다루고 다른 블록들의 동작을 제어할 수 있다. 사용자는 전자 장치를 제어하고 단말 장치의 사용자 인터페이스(202) (디스플레이 및 키패드)를 써서 데이터를 입력하며, 프로세서(200)에 의해 처리된 텍스트, 넘버들 및 이미지들과 같은 시각 정보가 사용자 인터페이스를 통해 사용자에게 디스플레이된다. 프로세서(200)에 의해 필요로 되는 데이터는 메모리(206)에 저장될 수 있다. 사운드-처리 유닛(208)은 프로세서(200)로부터 도착한 신호를 확성기(210)에 맞게 변환한다. 사운드-처리 유닛(208)은 텍스트로부터 스피치를 합성하기 위한 합성기일 수 있다. 스피치 처리 유닛(208)은 부가적으로 코덱 블록을 포함할 수 있다. 사운드-프로세싱 유닛(208)은 또한 마이크(212)에서 들어온 신호를 프로세서(200)에 알맞게 변환할 수 있다. RF 블록(214)은 이어서 프로세서(200)로부터 도달된 전송될 디지털 신호를 아날로그 라디오 주파수 신호로 변환하여, 신호가 안테나(216)를 통해 전자기 방사로서 전송될 수 있도록 한다. 마찬가지로, 안테나(216)에 의해 수신된 라디오 주파수 신호는 하향 (lower) 주파수로 변환되고 프로세서(200)로의 제공 전에 RF 블록(214)에서 디지털화 된다.
본 발명의 해법은, 텍스트 표현으로의 넘버들의 변환이 수행될 수 있는 정규화 연산 블록(102)에 집중된다. 유한 기수들 (finite cardinal numbers)이라고도 말할 수 있는 기수들 0, 1, 2, 3,...은 양의 정수, 자연수, 음이 아닌 정수 혹은 0 이 추가된 양이 정수들이라고도 부를 수 있다. 이들은 소수 부분 (decimal part)이나 분수 부분을 포함하지 않는다. 십진수 체계의 기수는, 10의 멱수들에 따라 정렬된 자리들의 시퀀스 상의 적어도 한 디지트를 포함한다. 예를 들어, 15243이라는 넘버는 1, 5, 2, 4 및 3의 시퀀스이고, 넘버 "1"은 10 000=104이 그 수 안에 몇 번이나 포함되는지를 나타낸다. 넘버 "5"는 1000=103이 그 수 안에 몇 번이나 포함되는지를 나타낸다. 넘버 "2"는 100=102이 그 수 안에 몇 번 포함되는지를 나타낸다. 넘버 "4"는 10=101이 그 수 안에 몇 번 포함되는지를 나타낸다. 마지막으로 넘버 "3"는 1=100이 그 수 안에 몇 번 포함되는지를 나타낸다. 수 10 000=104, 1000=103, 100=102, 10=101 및 1=100들은 10의 멱수들이고, 10의 멱수들은 시퀀스 내 디지트의 자리 (이 예에서, 1, 2, 3, 4 및 5의 자리)를 규정한다.
도 3은 디지털 데이터 형식으로 된 어떤 수의, 역시 디지털 데이터 형식일 수 있는 텍스트 표현으로의 변환을 아래와 같은 방법으로 수행할 수 있는 정규화 동작 블록(102)을 예시한 것이다. 복수의 언어들이 사용가능한 경우, 선택기(300)에 의해 원하는 언어가 우선 선택되어 져야 한다. 입력 단어들의 신호로부터 언어를 인식함으로써 이전 프로세스(100)가 언어를 자동으로 선택할 수도 있고, 아니면 사용자가 언어를 규정할 수도 있다. 정규화 동작 블록(102)은 또한 컨버터(302), 결합기(304) 및 정정기(306)를 포함한다. 컨버터(302)는 기수의 각 디지트의 데이 터를 하나씩 원하는 언어의 텍스트 표현으로 변환한다.
결합기(304)는 자릿값의 텍스트 표현인 데이터를 디지트의 텍스트 표현에 부가할 수 있다. 결합기가 자릿값의 텍스트 표현을 더하거나 말거나의 여부는 10의 멱수들에 따라 정렬된 자리들로 된 시퀀스 상의 디지트의 자리에 좌우될 것이다. 십진수 체계에서, 디지트의 값은 그 수에서의, 즉 그 디지트들로 된 시퀀스에서의 자리, 또는 위치에 따라 달라진다. 각 자리는 우측 상의 이전 자리의 자리보다 10배가 많은 값을 가진다. 자릿값들은 10의 멱수들의 값들이고, 일의 자리 (1=100), 십 자리 (10=101), 백 자리 (100=102), 천 자리 (1000=103), 만 자리 (10 000=104), 십만 자리 (100 000=105), 백만 자리 (1 000 000=106) 등등과 같이 쓸 수 있다. 자리가 0일 때, 그것은 그 자리에 아무 값도 갖지 않는다는 것을 의미한다. 예를 들어, 1 000 000의 경우, 6 번째 자리는 0 곱하기 십만이라는 것을 의미한다. 그러나 7 번째 자리는 1 곱하기 백만을 의미한다. 따라서, 그 결과는 "백만"이다. 수가 가령 2라면, 결합기(304)는 그것을 영어로 변환할 때 아무것도 더할 필요가 없는데, 그 이유는 컨버터(302)가 올바른 결과 "둘"을 제공하기 때문이다.
정정기(306)는 컨버터(302) 및 결합기(304)에 의해 만들어진 텍스트 표현의 어떤 데이터를 정정할 수 있다. 여러 경우들에서, 정정기(306)는 아무것도 정정하지 않아도 되는데, 그것은 컨버터(302) 및/또는 결합기(304)에 의해 형성된 텍스트 표현이 이미 맞기 때문이다. 그러나, 보통 자연어들에서는 예외들 및 불규칙성이 존재하므로, 정정기(306)는 중요한 것이다. 자연어는 사람들이 서로 대화하거나 서로에게 서면으로 말할 때 사용하는 인간의 언어이다. 자연어는 인간 사회 속에서 자연스럽게 진화되어 왔다. 예를 들어, 핀란드어, 영어, 프랑스어 및 일본어는 자연어들이다. 사람에 의해 인위적으로 조성된 에스페란토 같은 언어 역시 허용될 수 있다. 컨버터(302) 및 결합기(304)에 의해 형성되며, 자연어의 텍스트 표현들과는 다른 모든 텍스트 표현들은 사전에 알려질 수 있다. 이들의 수가 제한되어 있기 때문에, 그 차이점들은 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서의 디지트나 디지트들의 조합 관련 테이블로 쉽게 정리될 수 있다. 정정은 바른 표현을 규정하는 언어별 규칙들에 기반할 수 있다. 언어별 규칙들은 원하는 언어의 문법 규칙들에 의해 지원될 수 있다.
도 4는 어떤 수를 서면 영어로 변환하기 위해 레지스터들을 이용하는 한 예를 예시한 것이다. 10의 멱수들에 따라 정렬된 자리들로 된 시퀀스가 레지스터 안에서 레지스터 요소들의 시퀀스로서 구현될 수 있다. 비슷한 방법으로, 자릿값들은 한 줄의 레지스터 요소들을 포함하는 레지스터에 의해 다뤄질 수 있다. 제1레지스터(400)가 텍스트 표현으로 변환될 수를 포함한다. 제2레지스터(402)는 원하는 언어로 그 수의 디지트들에 대한 텍스트 표현들을 포함한다. 제3레지스터(404)는 원하는 언어로 자릿값들의 텍스트 표현들을 포함한다. 이 예에서, 수는 12 368이다. 최상위 디지트인 디지트 "1"은 레지스터 요소 4000 (만의 자리용) 안에 있고, 디지트 "2"는 레지스터 요소 4002 (천의 자리용) 안에 있고, 디지트 3은 레지스터 요소 4004 (백의 자리용)안에 있고, 디지트 6은 레지스터 요소 4006 (십의 자리용) 안에 있고, 최하위 디지트인 디지트 8은 레지스터 요소 4008 (일의 자리용) 안에 있다.
기수의 각 디지트가 하나씩 원하는 언어의 텍스트 표현으로 변환되게 만드는 제1규칙을 적용하면, 레지스터(402)의 레지스터 요소 R5는 텍스트 표현 "one"을 포함한다. 유사한 방법에 따라, 레지스터 요소 R4는 텍스트 표현 "two"를 포함하고, 레지스터 요소 R3는 텍스트 표현 "three"를 포함하고, 레지스터 요소 R2는 텍스트 표현 "six"를 포함하고, 레지스터 요소 R1은 텍스트 표현 "eight"을 포함한다. 예를 들어 최하위 디지트가 "0"이었다면, 레지스터 요소 R1 안의 텍스트 표현은 ""이 되었을 것이나, "zero"가 되었을 수도 있다.
제2규칙이 적용될 때, 자릿값들의 텍스트 표현들이 디지트들의 텍스트 표현들에 더해진다. 텍스트 표현들은 10의 멱수들에 따라 정렬된 자리들로 이뤄진 시퀀스 내 디지트들의 자리들에 따라 다르게 더해진다. 이 예에 따르면, 레지스터 요소 T65에 든 자릿값의 텍스트 표현은 불필요한데, 왜냐면 그것이 십만 (hundred thousands)을 의미하기 때문이다. 가능한 자릿값들에 대한 필요성을 결정하기 위해 최상위 디지트 (이 경우 "1")가 서치될 수 있다. "ten thousand"인 자릿값은 실제로 영어에서 불필요하다. 따라서, 레지스터 요소 T54의 콘텐츠는 비게 된다, 즉, 레지스터 요소 T54 ="". 다음으로, 레지스터 요소 T43에 든 "thousand"의 자릿값이 "2"에 더해질 수 있다. 레지스터 요소 T32에 든 "hundred"의 자릿값이 "3"에 더해질 수 있다. 레지스터 요소들 T21 및 T10에 든 "ten" 및"one"은 영어에서 불필요하다. 따라서, 레지스터 요소들 T21 및 T10의 콘텐츠들은 비게 된다, 즉, 레지스터 요소 T21 =""이고 레지스터 요소 T10 = ""가 된다. 텍스트 표현들을 결 합하면 텍스트 형식 "one two thousand three hundred six eight"으로 R5 T54 R4 T43 R3 T32 R2 T21 R1 T10이 나오게 된다. 그 수의 텍스트 표현은 제3규칙으로 정정되고, 그에 따라 바른 표현과 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트에 관한 어떤 형식의 텍스트 표현이 정정된다. 이 예에서는, 바른 표현과 다른 두 가지가 존재한다: "one two" 및 "six가 그것이다. 그러나, 이들을 정정하기 위해 제3규칙을 검토하기 전에, 먼저 그 디지트를 한 텍스트 표현으로 변환하고 자릿값을 디지트들과 결합시키는 테이블화 된 규칙들을 검토하기로 한다.
다음으로, 기수를 변환하기 위한 데이터 구조가 도 5-16e를 이용해 예시되고 있다. 데이터 구조는 컴퓨터에 의해 판독가능한 컴퓨터 프로그램 배포 매체 안에 포함될 수 있다. 언어 고유의 데이터 필드들, 즉 규칙들은 변환을 수행하는 실제 컴퓨터 프로그램과 별개로서 저장될 것이다. 이것은 각각의 언어가 변환 중에 그 자체적 데이터 필드들을 활용하는 복수의 언어들에 대해, 동일한 컴퓨터 프로그램의 이용을 가능하게 한다.
도 5는 10보다 작은 수들을 텍스트 표현들로 변환하기 위한 제1데이터 필드를 보인다. 제1데이터 필드는 테이블 형태로 제시될 수 있다. 테이블은 직접적이고 수월하게 수 "1"을 텍스트 표현 "one"으로, 수 "2"를 "two" 등등과 같이 변환한다. 특별한 경우로서, 수 "0"은 ""으로 변환될 수 있는데, 그것은 영 (zero)이 빈 텍스트 표현에 해당한다는 것을 의미한다.
도 6은 자릿값들의 영어 텍스트 표현을 위한 제2데이터 필드를 보인 것이다. 제2데이터 필드 역시 테이블 형식으로 제시될 수 있다. 도 6의 테이블은 백만 보다 작은 수들에 해당한다. 필요한 자릿값들은 레지스터 요소 T32 ="hundred"에 대한 것과, 레지스터 요소 T43 ="thousand"에 대한 것, 그리고 레지스터 요소 T65 ="hundred"에 대한 것이다. 다른 모든 레지스터들은 비어있을 것이다. 한 자릿값의 텍스트 표현이, 바른 표현들을 규정한 언어별 규칙들에 따라 한 디지트의 텍스트 표현에 더해질 수 있다. 한 자릿값의 텍스트 표현은 한 디지트의 텍스트 표현 뒤에 더해질 수 있다.
이제 텍스트 표현들을 정정하기 위한 제3데이터 필드를 검토할 것이다. 제3데이터 필드 역시 테이블 형식으로 제시될 수 있다. 이 테이블의 제1부분이 도 7a에 도시되어 있고 제2부분은 도 7b에 도시된다. 제3데이터 필드들 또한 규칙들이라고 간주될 수 있다. 제3규칙이 이전의 규칙들을 압도하며, 그 두 규칙들이 원하는 언어로 된 바른 표현을 가져오지 않는 위치가 미리 알려져 있다. 틀린 표현에 대한 이유는, 가령, 어형 변화 (inflection), 숫자들의 순서, 문법적 성 (gender) 등등일 수 있다. 그러나, 이러한 이유와 무관하게, 텍스트 표현은 정정될 수 있다.
물음표들의 개수는 넘버의 디지트들의 개수이고 별표는 와일드카드 문자를 의미한다. 넘버의 디지트들의 개수에 따라, 자릿값들의 레지스터들이 비워진다. 그 넘버에서 디지트들의 최대 개수가 다섯이면 (즉, 넘버가 100 000보다 작은 수이면), 54보다 큰 인덱스 XX를 갖는 레지스터 요소들 TXX은 비게 된다. 넘버의 디지트들의 최대 개수가 4이면 (즉, 그 넘버가 10 000보다 작으면), 43보다 큰 인덱스 XX를 가진 레지스터 요소들 TXX (T65 및 T54 같은 것)이 비게 된다. 넘버의 디지트들의 최대 개수가 3이면 (즉, 그 넘버가 1000보다 작으면), 32보다 큰 인덱스 XX를 가진 레지스터 요소들 TXX이 비게 된다. 넘버의 디지트들의 최대 개수가 2이면 (즉, 그 넘버가 100보다 작으면), 21보다 큰 인덱스 XX를 가진 레지스터 요소들 TXX이 비게 된다. 넘버의 디지트들의 최대 개수가 1이면 (즉, 그 넘버가 10보다 작으면), 같은 방식으로 레지스터 요소 T21이 비게 된다.
영어 표현의 정정은 만 단위와 관련될 수 있다. 다섯 번째 디지트가 "2"이면, 레지스터 요소 R5의 콘텐츠들은 "twenty"로 세팅된다. 다섯 번째 디지트가 "3"이면, 레지스터 요소 R5의 콘텐츠들은 "thirty"로 세팅된다. 다섯 번째 디지트가 "4"이면, 레지스터 요소 R5의 콘텐츠들은 "forty"로 세팅된다. 다섯 번째 디지트가 "5"이면, 레지스터 요소 R5의 콘텐츠들은 "fifty"로 세팅된다. 다섯 번째 디지트가 "6"이면, 레지스터 요소 R5의 콘텐츠들은 "sixty"로 세팅된다. 다섯 번째 디지트가 "7"이면, 레지스터 요소 R5의 콘텐츠들은 "seventy"로 세팅된다. 다섯 번째 디지트가 "8"이면, 레지스터 요소 R5의 콘텐츠들은 "eighty"로 세팅된다. 다섯 번째 디지트가 "9"이면, 레지스터 요소 R5의 콘텐츠들은 "ninety"로 세팅된다.
영어 표현의 정정은 만 (ten thousand)부터 만 9천 (nineteen thousand)까지의 넘버들과 연관될 수 있다. 그 모든 경우들에서, 다섯 번째 디지트는 "1"이고, 레지스터 요소 R4의 콘텐츠는 비어 있는 것으로 세팅된다. 네 번째 디지트가 "0"이면, 레지스터 요소 R5의 콘텐츠는 "ten"이다. 네 번째 디지트가 "1"이면, 레지스터 요소 R5의 콘텐츠는 "eleven"으로 세팅된다. 네 번째 디지트가 "2"이면, 레 지스터 요소 R5의 콘텐츠는 "twelve"로 세팅된다. 네 번째 디지트가 "3"이면, 레지스터 요소 R5의 콘텐츠는 "thirteen"으로 세팅된다. 네 번째 디지트가 "4"이면, 레지스터 요소 R5의 콘텐츠는 "fourteen"으로 세팅된다. 네 번째 디지트가 "5"이면, 레지스터 요소 R5의 콘텐츠는 "fifteen"으로 세팅된다. 네 번째 디지트가 "6"이면, 레지스터 요소 R5의 콘텐츠는 "sixteen"으로 세팅된다. 네 번째 디지트가 "7"이면, 레지스터 요소 R5의 콘텐츠는 "seventeen"으로 세팅된다. 네 번째 디지트가 "8"이면, 레지스터 요소 R5의 콘텐츠는 "eighteen"으로 세팅된다. 네 번째 디지트가 "9"이면, 레지스터 요소 R5의 콘텐츠는 "nineteen"으로 세팅된다.
만 단위에서 만부터 만 9천까지의 넘버에 관한 경우들에서, 부정확한 표현을 낳는다고 알려진 자리에서 둘 이상의 디지트를 포함하는 한 넘버의 연속 디지트들의 결합 텍스트 표현이 정정된다. 그 정정은 바른 텍스트 표현으로써, 틀리다고 알려진 텍스트 표현을 교체함으로써 이뤄질 수 있다.
영어표현의 정정은 십 단위와 관련될 것이다. 두 번째 디지트가 "2"이면, 레지스터 요소 R2가 "twenty"로 세팅된다. 두 번째 디지트가 "3"이면, 레지스터 요소 R2가 "thirty"로 세팅된다. 두 번째 디지트가 "4"이면, 레지스터 요소 R2가 "forty"로 세팅된다. 두 번째 디지트가 "5"이면, 레지스터 요소 R2가 "fifty"로 세팅된다. 두 번째 디지트가 "6"이면, 레지스터 요소 R2가 "sixty"로 세팅된다. 두 번째 디지트가 "7"이면, 레지스터 요소 R2가 "seventy"로 세팅된다. 두 번째 디지트가 "8"이면, 레지스터 요소 R2가 "eighty"로 세팅된다. 두 번째 디지트가 "9"이면, 레지스터 요소 R2가 "ninety"로 세팅된다.
영어표현의 정정은 10부터 20사이의 넘버들과 관련될 수 있다. 이 경우들 전부에서, 두 번째 디지트는 "1"이다. 첫 번째 디지트가 "2"이면 레지스터 요소 R2의 콘텐츠는 "twelve"으로 세팅된다. 첫 번째 디지트가 "3"이면 레지스터 요소 R2의 콘텐츠는 "thirteen"으로 세팅된다. 첫 번째 디지트가 "4"이면 레지스터 요소 R2의 콘텐츠는 "fourteen"으로 세팅된다. 첫 번째 디지트가 "5"이면 레지스터 요소 R2의 콘텐츠는 "fifteen"으로 세팅된다. 첫 번째 디지트가 "6"이면 레지스터 요소 R2의 콘텐츠는 "sixteen"으로 세팅된다. 첫 번째 디지트가 "7"이면 레지스터 요소 R2의 콘텐츠는 "seventeen"으로 세팅된다. 첫 번째 디지트가 "8"이면 레지스터 요소 R2의 콘텐츠는 "eighteen"으로 세팅된다. 첫 번째 디지트가 "9"이면 레지스터 요소 R2의 콘텐츠는 "nineteen"으로 세팅된다.
십 단위에서 10부터 20 사이의 넘버들인 경우, 부정확한 표현을 일으킨다고 알려진 자리의 둘 이상의 디지트를 포함하는 넘버의 연속 디지트들의 결합에 대한 텍스트 표현이 정정된다. 그 정정은 부정확하다고 알려진 텍스트 표현을 정확한 텍스트 표현으로 교체함으로써 수행될 수 있다.
세 번째 디지트가 "0"이면, 레지스터 요소 T32의 콘텐츠는 빈 것으로 세팅된다. 마지막으로, 넘버가 "0"이면, 레지스터 요서 R1의 콘텐츠는 "zero"로 세팅되는 한편 다른 레지스터들은 비게 된다. 이 경우 만과 십 구만 사이의 값들 (*12??? -> R5 ="twelve") 및 이십부터 구십 사이의 값들 (*6 -> R2="sixty")에 대한 정정이 적용됨을 의미하는 필요한 정정 이후, 예를 들어 12 368은 "twelve thousand three hundred sixty eight"이 된다. 정정 전에, *6?의 텍스트 표현은 "six ten" 또는 그냥 "six"일 수 있다. 두 형태들 모두 텍스트 표현 "sixty"로 정정될 수 있다.
이런 종류의 방법이 복수의 언어들에 적용될 수 있지만, 자릿값들 및 정정을 적용하는 기본원리는 언어마다 다르다. 자릿값들 및 정정의 상이한 적용은, 바른 표현을 규정한 언어별 (language-dependent) 규칙들에 따라 레지스터 요소들의 콘텐츠를 변경함으로써 용이하게 다뤄질 수 있다. 구문 (syntax)은 매우 단순하며 조건 (conditions)과 지정 (assignments)만을 포함한다. 다시 한번 간략히 말하면, 각 디지트는 <number register element (넘버 레지스터 요소)>="<string (스트링)>"과 같이 지정될 수 있다. 자릿값들은 <place value register element (자릿값 레지스터 요소)>="<string>"과 같이 만들어질 수 있다. 정정은 <matching criteria (부합 기준)>'<register element>="string>"|<register element>;<register element>="<string>"|<register element>'...과 같이 만들어질 수 있다. 부합 기준 (matching criteria)은 그 기준 시작시나 말미에 와일드카드 문자를, 그리고 그 기준의 임의 위치에 "임의의 문자" 사인 "?"을 사용할 수 있다. 그와 달리 <>는 필요 스트링을 지칭하고, []는 옵션인 스트링을 지칭하며, |는 대안의, 상호 배타적 변수들 (arguments) 간 구분자, ?는 임의의 싱글 디지트를 나타내는 심볼, 그리고 *는 어떤 수의 디지트들을 가리키는 심볼이다.
예를 들어 "534 676"이라는 넘버를 영어, 핀란드어, 스웨덴어, 프랑스어, 독일어, 덴마크어, 헝가리어, 이태리어, 중국 북경어 (일본어) 및 우크라이나어로 검토해보자. 제1규칙 적용 후, 그 넘버는 영어로 ""five three four six seven six 가 된다. 제2규칙 적용 뒤, 그 넘버는 ""five hundred three""four thousand six hundred seven ""six""가 된다. 제3규칙 적용 뒤, 그 넘버는 텍스트 표현들 ""five hundred thirty""four thousand six hundred seventy""six""을 함께 결합함으로써 바르게 쓰여질 수 있다.
도 8a는 디지트들을 핀란드어 텍스트 표현들로 변환한 것을 예시한 것이다. 이 변환 뒤에, 넘버는
Figure 112008014892477-PCT00003
Figure 112008014892477-PCT00004
가 된다.
도 8b는 핀란드어 자릿값들의 부가를 예시한 것이다. 부가 후, 넘버는
Figure 112008014892477-PCT00005
Figure 112008014892477-PCT00006
가 된다. 핀란드어로는, 이 넘버의 텍스트 표현이 제1 및 제2규칙 뒤에 실제적으로 정정된다는 것을 알 수 있을 것이다.
도 8c는 핀란드어의 텍스트 표현 정정을 예시한 것이다. 넘버의 바른 형태는
Figure 112008014892477-PCT00007
Figure 112008014892477-PCT00008
의 조합이다. 핀란드어에서, 십 단위 자릿값은 제2규칙을 이용해 부가될 수 있다. 영어에서 십 단위는 제3규칙을 사용해 정정되어야 한다.
도 9a는 디지트들을 스웨덴어 텍스트 표현으로 변환하는 것을 보인 것이다. 이 변환 훙, 넘버는 "" fem tre fyra sex sju sex가 된다.
도 9b는 스웨덴어 자릿값 더하기를 예시한 것이다. 이 더하기 뒤에 넘버는 "" fem hundra tre"" fyra tusen sex hundra sju ""sex""가 된다.
도 9c 및 9d는 스웨덴어 텍스트 표현들의 정정을 예시한 것이다. 넘버의 올바른 형식은 "" fem hundra trettio ""fyra tusen sex hundra sjuttio ""sex""이다.
도 10a는 디지트들을 프랑스어 텍스트 표현으로 변환한 것을 예시한 것이다. 이 변환 후, 넘버는 "" cinq trois quatre six sept six가 된다.
도 10b는 프랑스어 자릿값 더하기를 예시한 것이다. 이 더하기 뒤에, 넘버는 "" cinq cents trois ""quatre mille six cents sept ""six""가 된다.
도 10c, 10d 및 10e는 프랑스어 텍스트 표현의 정정을 예시한 것이다. 넘버의 올바른 형태는 ""cinq cents trente""quatre mille six cents soixante seize""""이다.
도 11a는 디지트들을 독일어 텍스트 표현으로 변환한 것을 예시한 것이다. 이 변환 뒤 넘버는
Figure 112008014892477-PCT00009
Figure 112008014892477-PCT00010
가 된다.
도 11b는 독일어 자릿값들의 부가를 예시한 것이다. 이 부가 후, 넘버는
Figure 112008014892477-PCT00011
Figure 112008014892477-PCT00012
가 된다.
도 11c 및 11d는 독일어 텍스트 표현의 정정을 예시한 것이다. 이 넘버의 정확한 형태는
Figure 112008014892477-PCT00013
Figure 112008014892477-PCT00014
이다. 독일어에서, 특이점은 십 단위들이 일 단위들과 결합되는 구조에 있다.
도 12a는 디지트들의 덴마크어 텍스트 표현으로의 변환을 예시한 것이다. 이 변한 뒤, 넘버는 ""fem tre fire seks syv seks가 된다.
도 12b는 덴마크어 자릿값들의 부가를 예시한 것이다. 이 부가 후, 넘버는 ""fem hundrede og tre "" fire tusind sekshundrede og syv""seks""가 된다.
도 12c 및 12d는 덴마크어 텍스트 표현들의 정정을 예시한 것이다. 넘버의 올바른 형식은 ""fen hundrede og fireogtredive tusind seks hundrede og seksoghalvfjers""이다.
도 13a는 디지트들을 헝가리어 텍스트 표현으로 변환하는 것을 예시한 것이다. 이 변환 뒤, 넘버는
Figure 112008014892477-PCT00015
Figure 112008014892477-PCT00016
이 된다.
도 13b는 헝가리어 자릿값들의 부가를 예시한 것이다. 이러한 부가 후, 넘버는
Figure 112008014892477-PCT00017
Figure 112008014892477-PCT00018
로 된다.
도 13c 및 13d는 헝가리어 텍스트 표현들의 정정을 예시한 것이다. 이 넘버의 정확한 형태는
Figure 112008014892477-PCT00019
Figure 112008014892477-PCT00020
이다.
도 14a는 디지트들을 이태리어 텍스트 표현으로 변환하는 것을 보인 것이다. 이 변한 뒤, 넘버는 ""cinque tre quattro sei sette sei가 된다.
도 14b는 이태리어 자릿값들의 부가를 예시한 것이다. 그 부가 후, 넘버는 "" cinque cento tre ""quattro mila sei cento sette "" sei""가 된다.
도 14c 및 14d는 이태리어 텍스트 표현들의 정정을 예시한 것이다. 넘버의 바른 형태는 ""cinque cento trenta""quattro mila sei cento settanta""sei""이다.
도 15a는 디지트들을 중국 북경어 텍스트 표현들로 변환한 것을 예시한 것이다. 변환 후, 넘버는 ""五 三 四 六 七 六"이 된다.
도 15b는 중국 북경어 자릿수들의 부가를 예시한 것이다. 이 부가 후, 넘버는 ""五 十 三 万 四 千 六 百 七 十 六""이 된다.
도 15c는 중국 북경어 텍스트 표현들의 정정을 예시한 것이다. 넘버의 올바른 형태는 ""五十三万四千六百七十六""이다. 넘버의 일본어 간지(kanji) 문자들로의 변환도 동일하다. 이 변환의 특이성은, 10 000을 나타내는 자릿값 万에 있다. 다음으로 특이한 자릿값은 100 000 000 등등에 있다. 넘버 五十三万四千六百七十六의 일본어 발음은 "go juu san man youn sen roppyaku nana juu roku"같은 알파벳들을 가지고 쓰여질 수 있다.
도 16a는 디지트들의 우크라이나어 텍스트 표현으로의 변환을 예시한 것이다. 이 변환 뒤, 넘버는
Figure 112008014892477-PCT00021
Figure 112008014892477-PCT00022
이 된다.
도 16b는 우크라이나어 자릿값의 부가를 예시한 것이다. 이 부가 뒤, 넘버는
Figure 112008014892477-PCT00023
Figure 112008014892477-PCT00024
로 된다.
도 16c, 16d 및 16e는 우크라이나어 텍스트 표현의 정정을 예시한 것이다. 넘버의 바른 형태는
Figure 112008014892477-PCT00025
Figure 112008014892477-PCT00026
이다.
이러한 모든 언어들에 있어서, 테이블화 된 규칙들이 영어의 그러한 규칙 적용과 유사한 방식으로 적용될 수 있다. 명확히 말해, 이 어플리케이션은 말할 것 도 없이 많은 다른 언어들에도 같은 방법이 적용될 수 있다.
도 17은 넘버의 텍스트 표현으로의 변환 방법 흐름도를 보인 것이다. 1700 단계에서, 기수의 각 디지트가 하나씩 원하는 언어의 텍스트 표현으로 변환된다. 1702 단계에서, 10의 멱수들에 따라 배열된 자리들로 된 시퀀스의 한 디지트의 자리에 따라 달라지는 자릿값의 텍스트 표현이 디지트의 텍스트 표현에 더해진다. 1704 단계에서, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에 있는 적어도 한 디지트에 의해 형성되거나 그와 관련된 어떤 텍스트 표현이, 올바른 표현들을 규정한 언어별 규칙에 기초해 정정된다.
도 18은 넘버를 스피치로 변환하는 방법의 흐름도를 보인 것이다. 1800 단계에서, 기수의 각 디지트가 하나씩 원하는 언어의 텍스트 표현으로 변환된다. 1802 단계에서, 10의 멱수들에 따라 배열된 자리들로 이뤄진 시퀀스의 한 디지트의 자리에 따라 달라지는 자릿값의 텍스트 표현이 디지트의 텍스트 표현에 더해진다. 1804 단계에서, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트에 의해 형성되거나 그와 관련된 어떤 텍스트 표현이, 올바른 표현들을 규정한 언어별 규칙에 기초해 정정된다. 1806 단계에서, 넘버가 둘 이상의 디지트를 가지고 있으면 텍스트 표현들이 결합되어, 넘버의 완전한 텍스트 표현을 형성하도록 하고, 그렇지 않은 경우이면 넘버의 완전 텍스트 표현은 싱글 디지트의 텍스트 표현을 사용해 만들어진다. 1808 단계에서, 넘버의 완전 텍스트 표현은 스피치로 변환된다.
본 발명의 실시예들은 이를테면, 디스플레이, 키보드 및 그 키보드 및 디스 플레이와 조작가능하게 연결된 컨트롤러를 포함하는 전자 장치 안에서 구현될 수 있다. 컨트롤러는 도 17 및 18에 도시된 방법들 가운데 어느 하나와 관련되어 설명한 단계들 중 적어도 일부를 수행하도록 구성될 수 있다. 실시예들은, 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하고; 10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하고; 부가적으로 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하도록 된 컴퓨터 프로세스를 실행하는 명령어들을 구비한 컴퓨터 프로그램으로서 구현될 수 있다.
실시예들은 또한 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하고; 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하고; 부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하고; 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하고; 그 수의 완전 텍스트 표현을 스피치로 변환하는 컴퓨터 프로세스를 실행하기 위한 명령어들을 구비한 컴퓨터 프로그램으로서 구 현될 수 있다.
각 컴퓨터 프로그램들은 컴퓨터나 프로세서에 의해 판독가능한 컴퓨터 프로그램 배포 매체 상에 저장될 수 있다. 컴퓨터 프로그램 매체는 가령 전기적, 자기적, 광학적, 적외선 또는 반도체 시스템, 장치 또는 전송 매체일 수 있으나, 거기에 국한되는 것은 아니다. 그 매체는 컴퓨터 판독가능 매체, 프로그램 저장 매체, 기록 매체, 컴퓨터 판독가능 메모리, RAM (random access memory), 삭제가능 프로그래머블 롬 (erasable programmable read-only memory), 컴퓨터 판독가능 소프트웨어 배포 패키지, 컴퓨터 판독가능 신호, 컴퓨터 판독가능 전기통신 신호, 및 컴퓨터 판독가능 압축 소프트웨어 패키지일 수 있다.
레지스터들의 어플리케이션은 시와 분으로 표현된 시간을 텍스트 표현으로 변환하는데 사용될 수 있다. 그 구성은 여러 디지트들을 포함하는 레지스터를 사용한다. 자릿값들의 레지스터와 유사한 천이 레지스터의 요소들이 각 디지트 사이에 자리한다.
레지스터 설정을 도 19에서 보인다. 넘버 레지스터(1900)는 12:35 같은 시간을 포함한다. 다음, 레지스터 요소 R4는 넘버 "1"을 포함하고, 레지스터 요소 R3는 넘버 "2"를 포함하고, 레지스터 요소 R2는 넘버 "3"을 포함하고 레지스터 요소 R1은 넘버 "5"를 포함한다. 천이 레지스터(1902)는 D54부터 D10까지의 레지스터 요소들을 포함한다. 레지스터 1900 및 1902의 콘텐츠는 시퀀스 D54 R4 D43 R3 D32 R2 D21 R1 D10을 이루도록 결합될 수 있다. 천이 레지스터 1902의 요소들은 소정 언어로 각 디지트 사이에 필요할 수 있는 말들을 저장하는 메모리들로 사용될 수 있다.
영어 표현에 있어, 시간은 예를 들어, 다음 규칙들에 따라 다뤄질 수 있다:
??:0? RT2="o";
??:00 RT2="o'clock"; RT1=""
여기서 ?는 임의의 단일 디지트를 가리키는 심볼이다.
핀란드어에서, 시간은 예를 들어 다음과 같은 규칙들에 따라 다뤄질 수 있다:
??:0? RT2="nolla";
??:00 RT2="nolla"; D21=""; RT1="nolla";
독일어에서 시간은 가령 다음과 같은 규칙들에 따라 처리될 수 있다;
??:?? D32="Uhr";
??:01 RT2=""; RT1="eins";
??:00 D54="genau"; RT2=""; RT1="";
문장구조 (구문)는 다음과 같다고 간주 될 수 있다:
<matching criteria (부합 기준)>;<register (레지스터)>=
"<string (스트링)>"|<register>;[<register>="<string>|<register>;...],
<matching criteria>=[*]<number>[<number (넘버)>]...[<number>],
<number> =?|0|1|2|3|4|5|6|7|8|9, 및
<register> =R1|R2|R3|R4|T54|T43|T32|T21|T10.
도 20a 및 20b는 규칙 적용의 예를 보인 것이다. 레지스터 1900이 시간 12:01을 포함한다. 도 20a에서, 레지스터 요소 D32에 영향을 미치는 규칙 적용 이후, 레지스터 1902는 레지스터 요소 D32에 "Uhr"라는 단어를 포함한다. 다음으로, "??:01"과 관련된 규칙이 적용되고 그에 따라 도 20b의 레지스터 요소 RT1이 "eins"를 포함한다. 레지스터 요소 RT2는 빈 것으로 세팅된다. 어플리케이션 초기에 제안된 넘버 규칙들을 적용한 뒤, 시간은
Figure 112008014892477-PCT00027
가 된다. 비슷한 방식으로, 초들 (seconds)이 처리될 수 있다.
부가하여, km, km/h, m, kg 등등과 같이 수와 관련된 약어들이 마찬가지로 처리될 수 있다. 그 구성은 두 개의 메인 레지스터들을 사용한다:하나는 유닛을 위한 것이고 다른 하나는 유닛과 관련된 수에 대한 것이다. 수 앞, 수와 유닛 사이, 그리고 유닛 뒤에 추가 천이 레지스터 요소들이 있을 수도 있다. 레지스터 설정은 도 21에 보여진다. 레지스터 2100의 레지스터 요소 RR2는 넘버 (수)를 포함하고, 레지스터 요소 RR1은 약어를 포함한다. 레지스터 2102 내 레지스터 요소들 DD10부터 DD#2는 적절한 표현을 위해 필요한 단어들을 포함한다. 레지스터들의 콘텐츠가 DD32 RR2 DD21 RR1 DD10인 시퀀스를 형성하도록 결합 될 수 있다. 레지스터 요소 DD21은 "\m", "\n", 또는 "\f"로 세팅되고, 여기서 태그들은 남성형 ("\m"), 중성형 ("\n") 또는 여성형 ("\f")을 나타내는 데 사용될 수 있다. 각 약어 유닛에 대해 알맞은 포맷을 얻기 위해 일련의 규칙들이 정의되어야 한다. 그 규칙들은 패턴 부합의 일부 추가 사양을 가진 룩업 테이블로써 구현될 수 있다.
문장구조는 다음과 같다고 간주 될 수 있다:
<matching criteria (부합 기준)>;<register (레지스터)>=
"<string (스트링)>"|<register>;[<register>="<string>|<register>;...],
<matching criteria>=
[*]<number>[<number (넘버)>]...[<number>]
Figure 112008014892477-PCT00028
<unit>,
<number> =?|0|1|2|3|4|5|6|7|8|9,
<unit> =m|km|yd|mi|kCal|kJ|km/h|min/h|mph|min/mi...,, 및
<register> =RR1|RR2|DD32|DD21|DD10.
표시
Figure 112008014892477-PCT00029
은 빈 스페이스를 의미한다.
예를 들어, 453 km/h는 아래의 규칙들을 이용해 영어 텍스트 표현으로 변환될 수 있다:
*km/h RR1="kilometers per hur";
1km/h RR1="kilometer per hour";
도 22는 부합되는 규칙 [* km/h RR1="kilometers per hour";]의 검출 후 레지스터들의 컨텐츠를 보인 것이다. 출력 스트링은 이제 "453 kilometers per hour"이다. "km/h" 유닛의 문법적 성(gender)이 넘버 453의 구두/서면상의 형태에 영향을 미치면, 가령 "453" "\f" "kilometers per hour" 같이, 성 태그가 넘버 처리 블록에 대해 레지스터 2102의 레지스터 요소 DD21 안에 세팅되어졌을 것이다.
"kilometers per hour" 시작시 빈 공백이 존재하지 않으면, 출력 시퀀스가 "453kilometers per hour"가 될 것임을 주지해야 한다. 공백은 상술한 것처럼 스 트링 안에 포함되거나, 천이 레지스터 요소 DD21 안에 위치할 수 있다.
위에서, 본 발명은 첨부된 도면들에 따른 예를 참조해 기술되었으나, 본 발명이 거기에 국한되는 것이 아니고, 첨부된 청구범위 안에서 여러 가지 방법으로 변형될 수 있다는 것은 자명한 노릇이다.

Claims (42)

10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 방법에 있어서,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하는 단계;
10의 멱수들에 따라 정렬된 자리들로 된 시퀀스 내 한 디지트의 자리에 따라 다르게 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 및
부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형태의 텍스트 표현을 정정하는 동작을 수행하는 단계를 포함함을 특징으로 하는 방법.
제1항에 있어서,
상기 수 (number)가 둘 이상의 디지트를 가지면, 텍스트 표현들을 결합하여 그 수의 완전 텍스트 표현을 형성하고,
상기 수가 둘 이상의 디지트를 가진 경우가 아니면, 단일 디지트의 텍스트 표현을 사용해 완전 텍스트 표현을 형성하는 단계를 더 포함함을 특징으로 하는 방 법.
제1항에 있어서,
올바른 표현들을 규정한 언어별 규칙들에 따라, 한 자릿수의 텍스트 표현을 한 디지트의 텍스트 표현에 더하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
부정확한 표현을 파생한다고 알려진 자리에서 둘 이상의 디지트를 포함하는 한 수의 연속 디지트들의 결합 텍스트 표현을 정정하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
올바른 텍스트 표현에 의해 부정확하다고 알려진 텍스트 표현을 대체함으로써 텍스트 표현을 정정하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서, 한 디지트의 텍스트 표현 뒤에 자릿값의 텍스트 표현을 더하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
상기 기수를 텍스트 표현으로 변환하기 위해, 복수의 언어들 사이에서 원하 는 한 언어를 선택하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
수가 0이면 원하는 언어로 0에 해당하는 텍스트 표현으로 상기 수의 텍스트 표현을 정정하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
자릿값들에 대한 필요성을 판단하기 위해 최상위 (most significant) 디지트를 서치하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
시와 분으로 표현된 시간을 텍스트 표현으로 변환하는 단계를 더 포함함을 특징으로 하는 방법.
제1항에 있어서,
한 약어 (abbreviation)을 텍스트 표현으로 변환하는 단계를 더 포함함을 특징으로 하는 방법.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하는 방법에 있어서,
기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하는 단계;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을, 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계;
부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계;
수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 단일 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 단계; 및
상기 수의 완전 텍스트 표현을 스피치로 변환하는 단계를 포함함을 특징으로 하는 방법.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 장치에 있어서,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하도록 된 정정기를 포함함을 특징으로 하는 장치.
제13항에 있어서, 상기 정정기는,
상기 수가 두 디지트 이상을 포함하면 텍스트 표현들을 결합해 그 수의 완전 텍스트 표현을 형성하고,
그렇지 않은 경우이면 단일 디지트의 텍스트 표현을 사용해 상기 수의 완전 텍스트 표현을 형성하도록 추가 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 결합기는 올바른 표현들을 규정한 언어별 규칙들에 따라 한 디지트의 텍스트 표현에 자릿수의 텍스트 표현을 더하도록 추가 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 정정기는, 부정확한 표현을 낳는다고 알려진 자리에서 두 디지트 이상을 포함하는 한 수의 연속 디지트들의 결합 텍스트 표현을 정정하도록 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 정정기는 부정확하다고 알려진 텍스트 표현을 올바른 텍스트 표현으로 대체하여 텍스트 표현을 정정하도록 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 결합기는 한 디지트의 텍스트 표현 다음에 자릿값의 텍스트 표현을 더하도록 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 장치는,
상기 기수를 텍스트 표현으로 변환하기 위해 복수의 언어들 중에서 원하는 한 언어를 선택하도록 구성된 선택기를 포함함을 특징으로 하는 장치.
제13항에 있어서, 상기 정정기는 수가 0인 경우, 그 수의 텍스트 표현을 원하는 언어로 0에 해당하는 텍스트 표현으로 정정하도록 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 장치는,
자릿값들의 필요성을 판단하기 위해 최상위 디지트를 서치하도록 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 장치는,
시와 분으로 표현된 시간을 텍스트 표현으로 변환하도록 구성됨을 특징으로 하는 장치.
제13항에 있어서, 상기 장치는, 한 약자를 텍스트 표현으로 변환하도록 구성됨을 특징으로 하는 장치.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 장치에 있어서,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 수단;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 수단을 포함함을 특징으로 하는 장치.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치에 있어서,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기;
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하도록 된 정정기; 및
상기 수의 완전 텍스트 표현을 스피치로 변환하도록 구성된 합성기를 포함함을 특징으로 하는 장치.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치에 있어서,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 수단;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단;
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 수단; 및
상기 수의 완전 텍스트 표현을 스피치로 변환하는 수단을 포함함을 특징으로 하는 장치.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 장치를 포함하는 가입자 단말에 있어서,
상기 장치는,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관 련된 임의 형식의 텍스트 표현을 정정하도록 된 정정기를 포함함을 특징으로 하는 가입자 단말.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하는 장치를 포함하는 가입자 단말에 있어서,
상기 장치는,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 수단;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 수단을 포함함을 특징으로 하는 가입자 단말.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치를 포함하는 가입자 단말에 있어서,
상기 장치는,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하도록 된 컨버터;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하도록 된 결합기;
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하도록 된 정정기; 및
상기 수의 완전 텍스트 표현을 스피치로 변환하도록 된 합성기를 포함함을 특징으로 하는 가입자 단말.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 장치를 포함하는 가입자 단말에 있어서,
상기 장치는,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 수단;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 수단;
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하기 위한 수단; 및
상기 수의 텍스트 표현을 스피치로 변환하기 위한 수단을 포함함을 특징으로 하는 가입자 단말.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩한 컴퓨터 프로그램 생성물에 있어서,
상기 프로세스는,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하는 단계;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 부가적으로, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계를 포함함을 특징으로 하는 컴퓨터 프로그램 생성물.
제31항에 있어서, 상기 컴퓨터 프로그램 생성물은, 컴퓨터 판독가능 매체, 프로그램 저장 매체, 기록 매체, 컴퓨터 판독가능 메모리, 컴퓨터 판독가능 소프트웨어 배포 패키지, 컴퓨터 판독가능 신호, 컴퓨터 판독가능 전기통신 신호, 및 컴퓨터 판독가능 소프트웨어 패키지 중 적어도 하나를 포함함을 특징으로 하는 컴퓨터 프로그램 생성물.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩한 컴퓨터 프로그램 생성물에 있어서,
상기 프로세스는,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하는 단계;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계;
부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계;
상기 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 단계; 및
그 수의 완전 텍스트 표현을 스피치로 변환하는 단계를 포함함을 특징으로 하는 컴퓨터 프로그램 생성물.
제33항에 있어서, 상기 컴퓨터 프로그램 생성물은, 컴퓨터 판독가능 매체, 프로그램 저장 매체, 기록 매체, 컴퓨터 판독가능 메모리, 컴퓨터 판독가능 소프트웨어 배포 패키지, 컴퓨터 판독가능 신호, 컴퓨터 판독가능 전기통신 신호, 및 컴퓨터 판독가능 소프트웨어 패키지 중 적어도 하나를 포함함을 특징으로 하는 컴퓨터 프로그램 생성물.
컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩하는 컴퓨터 프로그램 배포 매체에 있어서,
상기 프로세스는,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하는 단계;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계; 및
부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계를 포함함을 특징으로 하는 컴퓨터 프로그램 배포 매체.
제35항에 있어서, 상기 배포 매체는, 컴퓨터 판독가능 매체, 프로그램 저장 매체, 기록 매체, 컴퓨터 판독가능 메모리, 컴퓨터 판독가능 소프트웨어 배포 패키지, 컴퓨터 판독가능 신호, 컴퓨터 판독가능 전기통신 신호, 및 컴퓨터 판독가능 소프트웨어 패키지 중 적어도 하나를 포함함을 특징으로 하는 컴퓨터 프로그램 배포 매체.
컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 컴퓨터 프로세스를 실행하기 위한 명령어들로 된 컴퓨터 프로그램을 인코딩한 컴퓨터 프로그램 배포 매체에 있어서,
상기 프로세스는,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하는 단계;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하는 동작을 수행하는 단계;
부가적으로, 올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하는 동작을 수행하는 단계;
상기 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하는 단계; 및
상기 수의 완전 텍스트 표현을 스피치로 변환하는 단계를 포함함을 특징으로 하는 컴퓨터 프로그램 배포 매체.
제317에 있어서, 상기 배포 매체는, 컴퓨터 판독가능 매체, 프로그램 저장 매체, 기록 매체, 컴퓨터 판독가능 메모리, 컴퓨터 판독가능 소프트웨어 배포 패키지, 컴퓨터 판독가능 신호, 컴퓨터 판독가능 전기통신 신호, 및 컴퓨터 판독가능 소프트웨어 패키지 중 적어도 하나를 포함함을 특징으로 하는 컴퓨터 프로그램 배포 매체.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 데이터 구조에 있어서,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 정보를 포함하는 제3데이터 필드를 포함함을 특징으로 하는 데이터 구조.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수 (cardinal number)를 원하는 언어의 텍스트 표현으로 변환하기 위한 데이터 구조를 포함하고 컴퓨터에 의해 판독가능한 컴퓨터 프로그램 배포 매체에 있어서,
상기 데이터 구조는,
상기 기수의 각 디지트를, 하나씩, 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드;
10의 멱수들에 따라 정렬된 자리들의 시퀀스 내 한 디지트의 자리에 따라 다르게, 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하기 위한 정보를 포함하는 제3데이터 필드를 포함함을 특징으로 하는 컴퓨터 프로그램 배포 매체.
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 데이터 구조에 있어서,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에서 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하고, 그 수의 완전 텍스트 표현을 스피치로 변환하기 위한 정보를 포함하는 제3데이터 필드를 포함함을 특징으로 하는 데이터 구조.
컴퓨터에 의해 판독가능하고, 10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 적어도 한 디지트를 포함하는 십진법의 한 기수를 원하는 언어의 스피치 (말)로 변환하기 위한 데이터 구조를 갖는 컴퓨터 프로그램 배포 매체에 있어서,
상기 데이터 구조는,
상기 기수의 각 디지트를 하나씩 원하는 언어의 텍스트 표현으로 변환하기 위한 정보를 포함하는 제1데이터 필드;
10의 멱수들에 따라 정렬된 자리들의 시퀀스에서 한 디지트의 자리에 따라 다르게, 한 자릿값의 텍스트 표현을 디지트의 텍스트 표현에 부가하기 위한 정보를 포함하는 제2데이터 필드; 및
올바른 표현을 규정한 언어별 (language-dependent) 규칙에 기초해, 올바른 표현과는 다른 텍스트 표현을 파생한다고 알려진 자리에 있는 적어도 한 디지트와 관련된 임의 형식의 텍스트 표현을 정정하고, 수 (넘버)가 두 디지트 이상이면 그 수의 완전 텍스트 표현을 형성하기 위해 텍스트 표현들을 결합하고, 그렇지 않은 경우이면 하나의 디지트의 텍스트 표현을 이용해 그 수의 완전 텍스트 표현을 형성하고, 그 수의 완전 텍스트 표현을 스피치로 변환하기 위한 정보를 포함하는 제3데이터 필드를 포함함을 특징으로 하는 컴퓨터 프로그램 배포 매체.
KR1020087004959A 2005-07-29 2006-07-18 숫자의 텍스트 및 스피치 변환 KR100959552B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/193,028 US20070027673A1 (en) 2005-07-29 2005-07-29 Conversion of number into text and speech
US11/193,028 2005-07-29

Publications (2)

Publication Number Publication Date
KR20080032640A true KR20080032640A (ko) 2008-04-15
KR100959552B1 KR100959552B1 (ko) 2010-05-27

Family

ID=37683007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087004959A KR100959552B1 (ko) 2005-07-29 2006-07-18 숫자의 텍스트 및 스피치 변환

Country Status (5)

Country Link
US (1) US20070027673A1 (ko)
EP (1) EP1910940A1 (ko)
KR (1) KR100959552B1 (ko)
CN (1) CN101263491A (ko)
WO (1) WO2007012699A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275399B2 (en) * 2005-09-21 2012-09-25 Buckyball Mobile Inc. Dynamic context-data tag cloud
US9166823B2 (en) * 2005-09-21 2015-10-20 U Owe Me, Inc. Generation of a context-enriched message including a message component and a contextual attribute
US7551935B2 (en) 2005-09-21 2009-06-23 U Owe Me, Inc. SMS+4D: short message service plus 4-dimensional context
US7580719B2 (en) * 2005-09-21 2009-08-25 U Owe Me, Inc SMS+: short message service plus context support for social obligations
US8509827B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc. Methods and apparatus of context-data acquisition and ranking
US8515468B2 (en) 2005-09-21 2013-08-20 Buckyball Mobile Inc Calculation of higher-order data from context data
US9042921B2 (en) * 2005-09-21 2015-05-26 Buckyball Mobile Inc. Association of context data with a voice-message component
US8509826B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc Biosensor measurements included in the association of context data with a text message
US8489132B2 (en) * 2005-09-21 2013-07-16 Buckyball Mobile Inc. Context-enriched microblog posting
US7769412B1 (en) * 2006-04-19 2010-08-03 Sprint Communications Company L.P. Wearable wireless telecommunications systems
US8626586B1 (en) 2006-06-23 2014-01-07 Sprint Communications Company L.P. Coordinated advertising for multiple wearable advertising display systems
US7715873B1 (en) 2006-06-23 2010-05-11 Sprint Communications Company L.P. Wearable accessories providing visual indicia of incoming events for wireless telecommunications device
JP2009244639A (ja) * 2008-03-31 2009-10-22 Sanyo Electric Co Ltd 発話装置、発話制御プログラムおよび発話制御方法
US8489131B2 (en) * 2009-12-21 2013-07-16 Buckyball Mobile Inc. Smart device configured to determine higher-order context data
US9129605B2 (en) 2012-03-30 2015-09-08 Src, Inc. Automated voice and speech labeling
WO2014076525A1 (en) * 2012-11-16 2014-05-22 Data2Text Limited Method and apparatus for expressing time in an output text
GB201320334D0 (en) * 2013-11-18 2014-01-01 Microsoft Corp Identifying a contact
JP6289950B2 (ja) * 2014-03-19 2018-03-07 株式会社東芝 読み上げ装置、読み上げ方法及びプログラム
US10467347B1 (en) 2016-10-31 2019-11-05 Arria Data2Text Limited Method and apparatus for natural language document orchestrator
CN111199724A (zh) * 2019-12-31 2020-05-26 出门问问信息科技有限公司 一种信息处理方法、设备及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3513002A (en) * 1966-04-29 1970-05-19 Johns Manville Chemical resistant glass composition for fiberization
CA2170669A1 (en) * 1995-03-24 1996-09-25 Fernando Carlos Neves Pereira Grapheme-to phoneme conversion with weighted finite-state transducers
US6513002B1 (en) * 1998-02-11 2003-01-28 International Business Machines Corporation Rule-based number formatter
US20040030554A1 (en) * 2002-01-09 2004-02-12 Samya Boxberger-Oberoi System and method for providing locale-specific interpretation of text data
US20030216920A1 (en) * 2002-05-16 2003-11-20 Jianghua Bao Method and apparatus for processing number in a text to speech (TTS) application
US7558732B2 (en) * 2002-09-23 2009-07-07 Infineon Technologies Ag Method and system for computer-aided speech synthesis

Also Published As

Publication number Publication date
CN101263491A (zh) 2008-09-10
WO2007012699A1 (en) 2007-02-01
KR100959552B1 (ko) 2010-05-27
EP1910940A1 (en) 2008-04-16
US20070027673A1 (en) 2007-02-01

Similar Documents

Publication Publication Date Title
KR100959552B1 (ko) 숫자의 텍스트 및 스피치 변환
CN109801630B (zh) 语音识别的数字转换方法、装置、计算机设备和存储介质
CN112597753A (zh) 文本纠错处理方法、装置、电子设备和存储介质
US20050071171A1 (en) Method and system for unified speech and graphic user interfaces
CN112309366A (zh) 语音合成方法、装置、存储介质及电子设备
CN100592385C (zh) 用于对多语言的姓名进行语音识别的方法和系统
US20030061048A1 (en) Text-to-speech native coding in a communication system
CN113299282B (zh) 一种语音识别方法、装置、设备及存储介质
CN112309367B (zh) 语音合成方法、装置、存储介质及电子设备
CN110808032A (zh) 一种语音识别方法、装置、计算机设备及存储介质
EP2447854A1 (en) Method and system of automatic diacritization of Arabic
CN110377882A (zh) 用于确定文本的拼音的方法、装置、系统和存储介质
CN113515586A (zh) 数据处理方法及装置
US20050119899A1 (en) Phrase constructor for translator
CN113409761B (zh) 语音合成方法、装置、电子设备以及计算机可读存储介质
CN113836945A (zh) 意图识别方法、装置、电子设备和存储介质
Silva et al. A rule-based grapheme-phone converter and stress determination for Brazilian Portuguese natural language processing
Rajendran et al. A robust syllable centric pronunciation model for Tamil text to speech synthesizer
KR100942123B1 (ko) 키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템
CN107423293A (zh) 数据翻译的方法和装置
CN114187890A (zh) 语音合成方法、装置、计算机可读存储介质及终端设备
CN113160793A (zh) 基于低资源语言的语音合成方法、装置、设备及存储介质
CN115249472A (zh) 一种结合上文语境实现重音统筹的语音合成方法及装置
KR101543024B1 (ko) 발음 기반의 번역 방법 및 그 장치
JP2009199434A (ja) アルファベット文字列日本語読み変換装置及びアルファベット文字列日本語読み変換プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee