KR101265263B1 - 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체 - Google Patents

발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체 Download PDF

Info

Publication number
KR101265263B1
KR101265263B1 KR1020060000161A KR20060000161A KR101265263B1 KR 101265263 B1 KR101265263 B1 KR 101265263B1 KR 1020060000161 A KR1020060000161 A KR 1020060000161A KR 20060000161 A KR20060000161 A KR 20060000161A KR 101265263 B1 KR101265263 B1 KR 101265263B1
Authority
KR
South Korea
Prior art keywords
string
representative
phonetic
input
notation
Prior art date
Application number
KR1020060000161A
Other languages
English (en)
Other versions
KR20070072723A (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 삼성전자주식회사
Priority to KR1020060000161A priority Critical patent/KR101265263B1/ko
Priority to US11/636,634 priority patent/US8117026B2/en
Publication of KR20070072723A publication Critical patent/KR20070072723A/ko
Application granted granted Critical
Publication of KR101265263B1 publication Critical patent/KR101265263B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/24Hoses or pipes; Hose or pipe couplings
    • A47L9/248Parts, details or accessories of hoses or pipes
    • 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
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명에 따라 다양한 방법으로 표기된 동일 의미의 문자열들을 대표하는 대표 문자열을 검색하는 문자열 매칭 방법 및 시스템과 그 방법을 기록한 컴퓨터 판독 가능한 기록매체가 개시된다.
본 발명에 따른 문자열 매칭 방법은, 입력 문자열이 씌여진 언어와 발음 기호 간의 매핑 정보가 저장된 발음 기호 매핑 테이블을 참조하여, 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성하는 발음 표기 생성단계와, 대표 문자열과 그에 대응하는 대표 발음 표기가 저장된 대표 리스트 데이터베이스에서, 변환 리스트에 포함된 하나 이상의 발음 표기와 동일한 대표 발음 표기를 가진 레코드를 찾아 후보 리스트를 생성하는 대표 리스트 검색단계와, 후보 리스트의 레코드 중 하나에 포함된 대표 문자열을 출력 문자열로 결정하는 대표 문자열 결정단계를 포함한다.
이상과 같은 본 발명에 의하면, 다른 표기로 기록된 동일 의미의 문자열에 대한 대표 문자열을 찾을 수 있으므로, 문자열에 의해 분류를 제공하는 서비스에 유용하다.
문자열 매칭, 발음 기호, ID3 태그, MP3

Description

발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그 방법을 기록한 컴퓨터 판독 가능한 기록매체{Method and system for name matching using phonetic sign and computer readable medium recording the method}
도 1은 본 발명의 일실시예에 따른 발음 기호를 이용한 문자열 매칭 시스템의 구성도,
도 2는 본 발명의 다른 실시예에 따른 발음 기호를 이용한 문자열 매칭 시스템의 구성도,
도 3은 본 발명에 따른 발음 기호를 이용한 문자열 매칭 방법의 매커니즘 흐름도,
도 4는 발음 표기 생성단계의 매커니즘 흐름도,
도 5는 대표 문자열 결정단계에서 사용자가 대표 문자열을 결정하는 경우의 매커니즘 흐름도,
도 6은 대표 문자열 결정단계에서 매칭 점수를 이용하여 대표 문자열을 결정하는 경우의 매커니즘 흐름도,
도 7a 및 도 7b는 한글 매핑 테이블 및 영어 매핑 테이블의 예,
도 8은 이전결과 데이터베이스의 예,
도 9는 대표 리스트 데이터베이스의 예,
도 10은 MP3(MPEG Audio Layer-3) 파일의 구조.
본 발명은 문자열의 매칭에 관한 것으로, 더욱 상세하게는 동일한 의미를 가진 것으로 간주되는 문자열들을 분류하기 위한 방법 및 시스템과 그 방법을 기록한 컴퓨터 판독 가능한 기록매체에 관한 것이다.
MP3(MPEG Audio Layer-3) 등의 멀티미디어 파일의 메타 정보를 이용한 응용 서비스에 있어서, 메타 정보에 포함된 아티스트명이나 장르 등의 정보를 기준으로 멀티미디어 데이터를 분류하여 사용자에게 보여주는 기능이 필요한 경우가 많다.
이러한 메타 정보는, 외국어로 입력된 경우 다양한 외국어 표기가 가능하고, 공백(' ')이나 하이픈('-') 등의 특수 문자가 섞여 있는 경우도 많고, 일반 사용자가 입력하는 경우도 많기 때문에, 같은 의미를 가진 문자열이라도 일관성 없이 입력되어 있어 다른 문자열로 해석되고 분류되는 문제가 있다.
예컨대, MP3 플레이어에서 아티스트별로 음악을 분류하는 응용 프로그램에 있어서, 종래의 방법에 의하면 '이미자', '이 미자', 'Lee Mi-Za', 'Lee Mi Ja', 'Lee Miza' 등으로 입력되어 있는 아티스트가 동일인임에도 불구하고 각기 다른 가수로 분류되어 사용자에게 불편을 초래하고 응용 서비스의 개발에 제약이 따르는 형편이다.
본 발명은 상기와 같은 문제를 해결하여, 다양한 방법으로 표기된 동일 의미의 문자열들을 대표하는 대표 문자열을 검색하는 문자열 매칭 방법 및 시스템과 그 방법을 기록한 컴퓨터 판독 가능한 기록매체를 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 입력 문자열에 매칭되는 대표 문자열을 출력하는 문자열 매칭 방법에 있어서, 상기 입력 문자열이 씌여진 언어와 발음 기호 간의 매핑 정보가 저장된 발음 기호 매핑 테이블을 참조하여, 상기 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성하는 발음 표기 생성단계와, 대표 문자열과 그에 대응하는 대표 발음 표기가 저장된 대표 리스트 데이터베이스에서, 상기 변환 리스트에 포함된 상기 하나 이상의 발음 표기와 동일한 대표 발음 표기를 가진 레코드를 찾아 후보 리스트를 생성하는 대표 리스트 검색단계와, 상기 후보 리스트의 레코드 중 하나에 포함된 대표 문자열을 출력 문자열로 결정하는 대표 문자열 결정단계를 포함하는 것이다.
바람직하게는 상기 문자열 매칭 방법이, 문자열과 그에 대응하는 대표 문자열이 포함된 매칭 결과가 저장되는 이전 결과 데이터베이스를 검색하여 상기 입력 문자열과 동일한 문자열이 존재하면, 그에 대응하는 대표 문자열을 출력 문자열로 결정하는 이전 결과 검색단계와, 상기 입력 문자열과 상기 대표 문자열 결정단계에서 결정된 상기 출력 문자열로 구성된 레코드가 상기 이전 결과 데이터베이스에 존재하지 않는 경우, 상기 이전 결과 데이터베이스에 저장하는 결과 저장단계를 더 포함한다.
바람직하게는 상기 발음 표기 생성단계가, 상기 변환 전에 상기 입력 문자열에 포함된 유효하지 않은 소정의 특수문자를 제거하는 특수문자 처리단계를 더 포함한다.
바람직하게는 상기 입력 문자열이 씌여진 언어가 한글인 경우, 상기 발음 기호 매핑 테이블은, 한글의 모든 글자를 하나 이상의 발음 기호로 매핑하는 정보를 포함한다.
바람직하게는 상기 입력 문자열이 씌여진 언어가 영어인 경우, 상기 발음 기호 매핑 테이블은, 영어의 모든 음절을 하나 이상의 발음 기호로 매핑하는 정보를 포함하고, 상기 발음 표기 생성단계는, 상기 입력 문자열을 하나 이상의 음절로 나누는 단계와, 상기 하나 이상의 음절을 상기 하나 이상의 발음 기호와 매핑하여 상기 입력 문자열을 상기 하나 이상의 발음 표기로 변환하는 단계를 더 포함한다.
바람직하게는 상기 입력 문자열을 하나 이상의 음절로 나누는 단계가, 상기 입력 문자열에 포함된 하나 이상의 연속된 자음과 하나 이상의 연속된 모음을 별도의 음절로 구분하고, 상기 입력 문자열의 끝에 포함된 단독 자음은 상기 단독 자음 앞의 모음이 속하는 음절에 포함시키는 단계를 포함한다.
바람직하게는 상기 문자열 매칭 방법이, 상기 매핑 정보에 항목별 우선순위 점수를 부여하는 단계를 더 포함하고, 상기 발음 표기 생성단계는, 상기 우선순위 점수를 이용하여 상기 변환된 하나 이상의 발음 표기에 대한 매칭 점수를 계산하여 부여하는 단계와, 상기 매칭 점수를 참조하여, 상기 변환된 하나 이상의 발음 표기 중에서 상기 변환 리스트에 포함될 발음 표기를 결정하는 단계를 더 포함한다.
바람직하게는 상기 문자열 매칭 방법이, 상기 사용자에 의해 선택된 상기 후보 리스트 레코드의 대표 문자열을 그에 대응하는 발음 표기로 변환하는데 사용된 매핑 정보 항목들에 대해서는 지정된 가산점을 부여한 새로운 우선순위 점수를 부여하는 우선순위 변경단계를 더 포함한다.
바람직하게는 상기 대표 문자열 결정단계가, 상기 매칭 점수를 참조하여 상기 출력 문자열을 결정하는 단계를 더 포함한다.
본 발명의 또 다른 특징은. 입력 문자열에 매칭되는 대표 문자열을 출력하는 문자열 매칭 시스템에 있어서, 대표 문자열과 그에 대응하는 대표 발음 표기가 저장되는 대표 리스트 데이터베이스와, 언어별 발음 기호 매핑 정보가 저장되는 하나 이상의 발음 기호 매핑 테이블과, 상기 하나 이상의 발음 기호 매핑 테이블을 참조하여, 상기 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성하는 발음 표기 생성수단과, 상기 대표 리스트 데이터베이스를 검색하여 상기 변환 리스트에 포함된 상기 하나 이상의 발음 표기와 동일한 대표 발음 표기를 가진 레코드로 구성된 후보 리스트를 생성하는 대표 리스트 검색수단과, 상기 후보 리스트의 레코드 중 하나에 포함된 대표 문자열을 출력 문자열로 결정하는 대표 문자열 결정수단을 포함하는 것이다.
바람직하게는 상기 문자열 매칭 시스템이, 문자열과 그에 대응하는 대표 문자열이 포함된 문자열 매칭 결과가 저장되는 이전 결과 데이터베이스와, 상기 이전 결과 데이터베이스를 검색하여 상기 입력 문자열과 동일한 문자열이 존재하면, 그에 대응하는 대표 문자열을 출력 문자열로 결정하는 이전 결과 검색수단과, 상기 입력 문자열과 상기 대표 문자열 결정수단에 의해 결정된 출력 문자열이 상기 이전 결과 데이터베이스에 존재하지 않는 경우, 상기 이전 결과 데이터베이스에 저장하는 결과 저장수단을 더 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 1은 본 발명의 일실시예에 따른 발음 기호를 이용한 문자열 매칭 시스템의 구성도로서, 대표 문자열에 대한 정보가 저장되는 대표 리스트 데이터베이스(DB)(130), 언어별 발음 기호 매핑 정보가 저장되는 하나 이상의 발음 기호 매핑 테이블(120), 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성하는 발음 표기 생성수단(101), 변환 리스트로부터 대표 문자열의 후보 리스트를 생성하는 대표 리스트 검색수단(102), 후보 리스트에서 하나의 대표 문자열을 선택하는 대표 문자열 결정수단(103)을 포함한다.
대표 리스트 데이터베이스(130)는 매칭이 완료된 대표 문자열과 그에 대응하는 발음 표기가 저장되어 있다. 도 9는 대표 리스트 데이터베이스(130)의 구성 예로서, 아티스트들의 대표적인 이름 표기(대표 문자열, 901)와 그에 대한 발음 표기인 대표 발음 표기(902)가 저장되어 있음을 알 수 있다. 여기서, 발음 기호는 문자열의 각 글자 또는 음절에 대한 발음을 나타내는 기호를 의미하는 용어로, 발음 표기는 문자열을 발음 기호들로 변환한 표기를 의미하는 용어로 사용한다. 예컨대, 한글의 '비'라는 글자에 대응하는 발음 기호 중 하나는 'bi'이고 '참'이라는 글자에 대응하는 발음 기호 중 하나는 't∫am'이므로, '비참'이라는 문자열에 대응 하는 'bit∫am'이라는 발음 표기가 생성된다.
발음 기호 매핑 테이블(120)은 시스템에서 사용될 수 있는 각 언어로 씌여진 문자열을 발음 표기로 변환하기 위한 정보를 저장하기 위한 것으로, 각 언어당 하나씩 복수 개의 매핑 테이블이 사용될 수 있다. 도 7a 및 도 7b는 한글 매핑 테이블 및 영어 매핑 테이블의 예이며, 국제 발음 기호를 사용하고 있다.
도 7a를 참조하면, 한글 매핑 테이블은, 한글의 모든 글자를 하나 이상의 발음 기호로 매핑하기 위한 정보를 포함한다. 즉, 한글의 각 글자(710)에 대한 복수 개의 발음 기호(720) 정보를 저장한다. 도 7b를 참조하면, 영어 매핑 테이블은, 영어의 모든 음절을 하나 이상의 발음 기호로 매핑하는 정보를 포함한다. 즉, 영어의 각 음절(730)에 대한 복수 개의 발음 기호(740) 정보를 저장한다. 도 7a 및 도 7b의 발음 기호 매핑 테이블들은, 한글로 된 문자열을 각 글자로 분해한 후 발음 표기로 변환하고, 영어로 된 문자열은 각 음절로 분해한 후 발음 표기로 변환하기 위한 정보를 포함하고 있으나, 그외의 다른 방법으로 문자열을 분해할 수 있다. 예컨대, 한글 매핑 테이블이 한글의 모든 자음과 모음에 대한 발음 기호를 포함하고, 입력된 한글 문자열을 자음과 모음으로 분해한 후 상기 한글 매핑 테이블을 이용하여 발음 표기로 변환하는 응용도 가능하다. 또한, 도 7a 및 도 7b의 발음 기호 매핑 테이블들은, 한 요소(글자 또는 음절) 당 3개의 매핑 정보 항목(발음 기호)을 가지고 있으나, 실시예에 따라 다양한 개수로 구현될 수 있다.
발음 표기 생성수단(101)은 언어별 발음 기호 매핑 테이블(120)을 이용하여 입력된 문자열을 가능한 모든 발음 표기로 변환한 리스트를 생성한다. 대표 리스 트 검색수단(102)은 이 변환 리스트의 발음 표기들이 대표 리스트 데이터베이스(130)에 있는지 검색하여 일치하는 발음 표기를 가진 레코드를 찾아 후보 리스트에 포함시킨다. 대표 문자열 결정수단(103)은 이 후보 리스트의 레코드 중 하나에 포함된 대표 문자열을 선택하여 출력 문자열로 결정한다.
또한, 발음 표기 생성수단(101)은, 입력 문자열에 포함된 소정의 특수문자를 제거한 후 발음 표기로 변환함으로써, 특수문자가 포함된 문자열의 경우도 정확한 매칭이 가능하도록 한다. 가수 이름이나 그룹 이름 등은 의미 있는 특수문자를 포함할 가능성이 있기 때문에, '-'(하이픈)과 ' '(공백)에 대해서만 삭제 처리하는 것이 바람직하다. 예컨대, 입력 문자열 '이 미 자', 'Lee Mi-Ja'는 각각 '이미자', 'LeeMiJa'로 수정된다. 실시예에 따라 적절한 특수문자에 대해 삭제 등의 처리가 필요할 것이다. 의미 있는 특수문자는 그대로 둔다. 또한, 영어 등의 언어에는 대문자와 소문자가 존재하므로 그 중 어느 하나로, 예컨대 소문자로 변경한 후 변환 작업을 수행하고, 발음 표기 매핑 테이블에도 소문자로 된 음절에 대한 정보를 저장하는 것이 효율적이다.
도 2는 본 발명의 다른 실시예에 따른 발음 기호를 이용한 문자열 매칭 시스템의 구성도로서, 도 1의 실시예에 포함된 구성 요소인 대표 리스트 데이터베이스(130), 발음 기호 매핑 테이블(120), 발음 표기 생성수단(101), 대표 리스트 검색수단(102) 및 대표 문자열 결정수단(103)을 구비한다. 또한, 문자열과 그에 대응하는 대표 문자열이 포함된 과거의 문자열 매칭 결과가 저장되는 이전 결과 데이터베이스(140), 과거에 입력 문자열과 동일한 문자열에 대해 매칭한 적이 있는지 검 색하는 이전 결과 검색수단(104) 및 매칭 결과를 이전 결과 데이터베이스(140)와 대표 리스트 데이터베이스(130)에 저장하는 결과 저장수단(106)을 더 구비한다. 또한, 우선순위를 점수를 변경하는 우선순위 변경수단(105)을 더 구비할 수 있다.
도 8은 본 발명에 따른 이전 결과 데이터베이스(140)의 예로서, 사용자가 입력할 수 있는 다양한 표기의 문자열(801)과 그에 대응하는 대표 문자열(802)을 저장하고 있다. 이는 시스템 운영중 결과 저장수단(106)에 의해 축적된 문자열 매칭 결과에 대한 정보이다. 입력 문자열이 이전 결과 데이터베이스(140)에 존재한다면 더 이상 매칭 작업을 수행할 필요가 없다. 이전 결과 검색수단(104)은 먼저 이전 결과 데이터베이스(140)를 검색하여 입력 문자열과 동일한 문자열이 존재하면, 그에 대응하는 대표 문자열을 출력 문자열로 결정하므로 효율적이다. 예컨대, 입력 문자열이 'leemi-za'이면, (leemi-za, 이미자)라는 레코드가 이전 결과 데이터베이스(140)에 존재하므로, 이전에도 동일 문자열에 대해 매칭 작업을 수행한 적이 있음을 알 수 있으며, 대표 문자열로 '이미자'가 출력된다.
반면, 이전 결과 데이터베이스(140)에 존재하지 않는 문자열이 입력되어 그에 매칭되는 대표 문자열이 결정되었다면, 결과 저장수단(106)은 입력 문자열과 출력된 대표 문자열을 이전 결과 데이터베이스(140)에 저장하고, 추후 동일한 문자열이 입력된 경우는 이 정보를 참조한다.
한편, 언어별 발음 기호 매핑 테이블(120)에 저장된 매핑 정보에는 항목별 우선순위 점수가 부여될 수 있으며, 발음 표기 생성수단(101)은, 우선순위 점수를 이용하여 변환 리스트에 포함된 각 발음 표기에 대한 매칭 점수를 계산하여 부여하 고, 매칭 점수가 높은 지정된 개수의 발음 표기만을 변환 리스트에 포함시켜 출력할 수 있다.
생성된 변환 리스트는 대표 리스트 검색수단(102)에 입력되며, 대표 리스트 검색수단(102)은 대표 리스트 데이터베이스(130)를 검색하여 변환 리스트에 포함된 발음 표기와 동일한 대표 발음 표기가 포함된 레코드들을 찾아 후보 리스트를 생성한다.
대표 문자열 결정수단(103)은, 후보 리스트를 사용자에게 보여주고 사용자가 선택한 레코드의 대표 문자열을 출력 문자열로 결정할 수 있다. 만일, 사용자가 후보 리스트의 레코드 중 어느 것도 선택하지 않은 경우는, 입력 문자열을 출력 문자열로 결정한다. 이 경우, 결과 저장수단(106)은 입력 문자열을 대표 리스트 데이터베이스(130)의 대표 문자열로 저장하여 추후 매칭 작업에 이용될 수 있도록 한다. 이때, 후보 리스트의 발음 표기 중 매칭 점수가 최고인 것이 대표 발음 표기로 함께 저장되는 것이 바람직하다.
한편, 대표 문자열 결정수단(103)은, 사용자에게 질의하지 않고, 후보 리스트에 포함된 발음 표기 중 매칭 점수가 최고인 발음 표기에 대응하는 대표 문자열을 출력 문자열로 결정할 수 있다. 또한, 후보 리스트에 포함된 발음 표기 중 지정된 매칭 점수 이상인 것이 없는 경우는 입력 문자열을 출력 문자열로 결정할 수 있다. 이 경우도 결과 저장수단(106)에 의해, 입력 문자열과 함께 후보 리스트의 발음 표기 중 최고 매칭 점수를 가진 발음 표기가 대표 리스트 데이터베이스(130)에 저장될 수 있다.
발음 기호 매핑 테이블의 각 매핑 정보 항목에 우선순위 점수를 부여하고, 이 점수를 변환 리스트 및 출력 문자열의 결정에 이용할 수 있다. 일반적으로 사용되므로 매칭 확률이 큰 한글 글자와 발음 기호 간의 매핑 항목에 상대적으로 높은 우선 점수를 부여한다. 또한, 우선순위 변경수단(105)은 이 우선순위 점수를 변경한다. 예컨대, 사용자에 의해 출력 문자열이 결정되는 경우, 선택된 후보 리스트 레코드의 대표 문자열을 그에 대응하는 발음 표기로 변환하는데 사용된 매핑 정보 항목들에 대해서는 지정된 가산점을 더한 새로운 우선순위 점수를 부여할 수 있다. 이렇게 문자열 매칭 결과에 따라 적응적으로 우선순위 점수를 변경하여 매핑 정보의 우선순위 점수를 최적화할 수 있다.
한편, 입력 문자열이 포함된 멀티미디어 정보를 입력받고 멀티미디어 정보로부터 입력 문자열을 추출하는 입력 문자열 추출수단(도시되지 않음)이 포함될 수 있다. 또한, 대표 문자열 결정수단(103)은 멀티미디어 정보의 입력 문자열을 결정된 출력 문자열로 수정할 수 있다.
도 3은 본 발명에 따른 발음 기호를 이용한 문자열 매칭 방법의 메커니즘 흐름도이다.
먼저, 문자열을 입력 받는다(S301). MP3(MPEG Audio Layer-3) 파일의 아티스트명을 대상으로 하는 응용의 경우, 이 파일을 파싱함으로써 ID3 태그에 포함된 아티스트명을 추출하여 입력 문자열로 할 수 있다. 도 10은 MP3 파일 구조를 도시한 것이다. 이 파일은 오디오 데이터(1010)와 태그(1020)로 구성되며, 태그(1020) 정보에서 아티스트명(1021)을 파싱하여 추출할 수 있다.
문자열이 입력되면(S301), 문자열에 포함된 특수문자를 처리한다(S302). 특수문자의 처리는 소정의 특수문자를 제거하는 과정이 될 수 있으며, 제거되는 특수문자는 '-'와 ' ' 등이다. 그리고, 이전 결과 데이터베이스(140)를 검색하여(S303) 이전 결과가 존재하면, 즉 과거의 매칭 결과가 존재하면(S304), 그에 해당하는 대표 문자열을 출력 문자열로 결정하여 출력하고 종료한다(S305).
과거의 매칭 결과가 존재하지 않으면(S304), 입력 문자열이 씌여진 언어에 해당하는 발음 기호 매핑 테이블을 이용하여, 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성한다(S308).
다음으로, 변환 리스트의 발음 표기가 대표 리스트 데이터베이스(130)의 대표 리스트 정보에 존재하는지 검색하여 후보 리스트를 생성한다(S309). 후보 리스트는 변환 리스트의 발음 표기와 일치하는 대표 발음 표기와 그에 대응하는 대표 문자열이 포함된 레코드들의 리스트이다.
후보 리스트가 생성되면, 후보 리스트의 대표 문자열 중 하나를 대표 문자열로 결정하고 출력한다(S310). 대표 문자열의 출력은 멀티미디어 정보에 기록된 입력 문자열을 출력 문자열로 직접 수정함으로써 수행될 수도 있다. 예컨대, ID3 태그(1020)의 아티스트명(1021)을 대표 문자열로 직접 수정하도록 구현할 수 있다.
상기와 같이 입력 문자열에 매칭되는 대표 문자열로 결정된 출력 문자열을 입력 문자열과 함께 이전 결과 데이터베이스(140)에 저장한다(S311). 또한, 사용자가 후보 리스트를 모두 거부하거나, 대표 리스트 데이터베이스(130)에서 동일한 대표 발음 표기를 찾지 못해 후보 리스트가 비어 있는 등의 이유로, 입력 문자열이 대표 문자열로 결정되어 출력되는 경우, 즉 대표 리스트 데이터베이스(130)에 존재하지 않는 대표 문자열이 선택된 경우는 입력 문자열을 대표 문자열로 하여 대표 리스트 데이터베이스(130)에 저장한다(S311). 이때, 후보 리스트나 변환 리스트의 발음 표기 중 매칭 점수가 최고인 발음 표기를 대표 발음 표기로 하여 함께 저장할 수 있다.
사용자에 의해 출력 문자열이 선택된 경우는 이 출력 문자열의 발음 표기에 해당하는 매핑 정보 항목들에 대해서 우선순위 점수를 변경하여 다음 매칭에 적용되도록 할 수 있다(S312).
도 4는 발음 표기 생성단계의 매커니즘 흐름도이다. 먼저 입력 문자열을 분해한다(S308-1). 분해 방법은 언어에 따라 다를 수 있으며, 그 분해 방법에 따라 그 언어에 대한 발음 기호 매핑 테이블이 구성된다. 예를 들어, 입력 문자열이 한글인 경우, 각 글자를 분리함으로써 입력 문자열을 분해하고, 입력 문자열이 영어인 경우, 입력 문자열을 하나 이상의 음절로 나눈다. 영어의 음절을 나누는 방법 중 하나는, 문자열에 포함된 하나 이상의 연속된 자음과 하나 이상의 연속된 모음을 별도의 음절로 구분하고, 문자열의 끝에 포함된 단독 자음은 상기 단독 자음 앞의 모음이 속하는 음절에 포함시키는 것이다.
해당 언어의 발음 기호 매핑 테이블을 참조하여, 분해된 입력 문자열의 각 요소에 하나 이상의 발음 기호를 할당하여 입력 문자열에 대한 하나 이상의 발음 표기로 변환한다(S802-2). 입력 문자열이 '가솔'이라면, 이는 '가'와 '솔'로 분해되며, 도 7a에 예시된 한글 매핑 테이블에 저장된 '가'에 대한 발음 기호 'ga' 및 'ga:'와 '솔'에 대한 발음 기호 'sol' 및 'soul'을 조합하여, 'gasol', 'gasoul', 'ga:sol', 'ga:soul'과 같이 4개의 발음 표기가 생성된다. 효율적인 검색을 위해, 생성된 발음 표기 중 정해진 개수(n)만 포함된 변환 리스트를 생성할 필요가 있을 수 있다. 이러한 경우 발음 기호 매핑 테이블의 매핑 정보에 항목별 우선순위 점수를 부여하고, 이 우선순위 점수를 이용하여, 생성된 발음 표기들에 대한 매칭 점수를 계산하고(S308-3), 매칭 점수가 높은 상위 n개의 발음 표기만을 변환 리스트에 포함한다(S308-4). 우선순위 점수는 매핑 테이블의 각 열에 부여되거나, 매핑 테이블의 각 매핑 정보 항목마다 부여될 수 있다. 예컨대, 도 7a의 한글 매핑 테이블에서 '발음 기호 1' 열에 10점, '발음 기호 2' 열에 7점, '발음 기호 3' 열에 4점을 부여하였다면, '가솔'에 대해 다음과 같이 매칭 점수가 계산될 수 있다(S308-3).
'gasol' = 20점('ga'의 10점 + 'sol'의 10점)
'gasoul' = 17점('ga'의 10점 + 'soul'의 7점)
'ga:sol' = 17점('ga:'의 7점 + 'sol'의 10점)
'ga:soul' = 14점('ga:'의 7점 + 'soul'의 7점)
n이 3인 경우라면, 'gasol', 'gasoul', 'ga:sol' 만이 변환 리스트에 포함될 것이다(S308-4). 한편, 실시예에 따라서는 매칭 점수가 지정된 점수 이상인 발음 표기만 변환 리스트에 포함시킬 수도 있다.
도 5는 대표 문자열 결정단계에서 사용자가 대표 문자열을 결정하는 경우의 매커니즘 흐름도이다. 먼저, 전 단계(S309)에서 생성된 후보 리스트가 입력된다 (S310-0). 예컨대 '루라'라는 한글 입력 문자열에 대해 'rula', 'ru:la', 'lula'라는 발음 표기들을 포함한 변환 리스트가 생성되고, 매칭 점수가 각각 20점, 17점, 14점인 경우, 대표 리스트 데이터베이스(130)의 검색을 통해 (룰라, rula), (루우라, ru:la)라는 후보 리스트가 생성되어 입력될 수 있다. 사용자가 후보 리스트의 레코드 중 하나를 선택하면(S310-1), 선택된 레코드의 문자열이 출력 문자열로 결정된다(310-2). 상기 예에서, 사용자가 (룰라, rula)를 선택하였다면, 입력 문자열과 출력 문자열로 된 레코드인 (루라, 룰라)가 이전 결과 데이터베이스(130)에 저장되고, 다음 매칭에서 '루라'가 입력되면 이 정보가 참조된다.
사용자가 후보 리스트 전부를 거부하고 입력 문자열을 그대로 사용하기를 원하는 경우는(S310-1) 입력 문자열 '루라'가 출력 문자열로 결정되며(S310-3), 입력 문자열을 대표 리스트 데이터베이스(130)의 대표 문자열로 저장하며, 이때 후보 리스트 중 매칭 점수가 가장 높은 발음 표기인 'rula'가 대표 발음 표기로써 함께 저장되는 것이 바람직하다(S311-1). 또한, 이 경우도 매칭 결과인 입력 문자열 '루라'와 출력 문자열 '루라'는 이전 결과 데이터베이스(140)에 저장되어 다음 문자열 매칭시 우선적으로 참조 된다(S311-2). 이처럼 사용자에 의해 출력 문자열이 선택된 경우는 출력 문자열에 대응하는 매핑 정보 항목들의 우선순위 점수를 변경한다(S312). 즉, 소정의 가산점을 더하여 사용자의 의사가 매핑 정보에 반영되도록 하는 것이다.
도 6은 대표 문자열 결정단계에서 매칭 점수를 이용하여 대표 문자열을 결정하는 경우의 매커니즘 흐름도이다. 사용자의 선택 입력이 번거롭거나 불필요한 서 비스인 경우는, 입력되는 후보 리스트(S310-0)에 포함된 대표 발음 표기 중 매칭 점수가 최고인 발음 표기에 대응하는 대표 문자열이 출력 문자열로 선택될 수 있다(S310-10). 이때, 후보 리스트에 포함된 대표 발음 표기 중 지정된 기준 점수 이상인 발음 표기가 없는 경우는(S310-11), 입력 문자열을 대표 문자열로 결정하여 출력하고(S310-3) 대표 리스트 데이터베이스(130)에 저장하도록 하여(S311-1), 매칭 결과에 대한 신뢰도를 향상시킬 수 있다. 한편, 최고 점수를 가진 발음 표기에 대한 문자열에 대해 사용자의 허락을 받아(S310-12) 사용자가 컨펌한 경우만 출력 문자열로 결정할 수도 있다(S310-13). 마찬가지로 매칭 결과인 입력 문자열과 출력 문자열을 이전 결과 데이터베이스(140)에 저장한다(S311-2).
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같은 본 발명의 구성에 의하면, 다른 표기로 기록된 동일 의미의 문자열에 대한 대표 문자열을 찾을 수 있으므로, 문자열에 의해 분류를 제공하는 서비스에 유용하다. 예컨대, 도 9의 대표리스트 데이터베이스에 따라, '비 참', 'Bee Cham', '비참', 'Bicham' 등으로 다양하게 표기된 문자열들이 하나의 대표 이름인 '비참'(910)으로 매칭될 수 있다. 또한, 발음 기호를 사용하므로 입력 언어에 상관없이 적용될 수 있으며 정확도를 더욱 향상시킬 수 있다. 또한, 매핑 정보의 우선순위 점수를 적응적으로 변경함으로써 매칭이 수행될수록 더욱 최적화된 결과를 얻을 수 있다.

Claims (30)

  1. 발음 기호를 이용한 문자열 매칭 시스템에서 입력 문자열에 매칭되는 대표 문자열을 출력하는 문자열 매칭 방법에 있어서,
    발음 표기 생성수단이, 상기 입력 문자열이 씌여진 언어와 발음 기호 간의 매핑 정보가 저장된 발음 기호 매핑 테이블을 참조하여, 상기 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성하는 발음 표기 생성단계와,
    대표 리스트 검색수단이, 대표 문자열과 그에 대응하는 대표 발음 표기가 저장된 대표 리스트 데이터베이스에서, 상기 변환 리스트에 포함된 상기 하나 이상의 발음 표기와 동일한 대표 발음 표기를 가진 레코드를 찾아 후보 리스트를 생성하는 대표 리스트 검색단계와,
    대표 문자열 결정수단이, 상기 후보 리스트의 레코드 중 하나에 포함된 대표 문자열을 출력 문자열로 결정하는 대표 문자열 결정단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  2. 제1항에 있어서,
    이전 결과 검색수단이, 문자열과 그에 대응하는 대표 문자열이 포함된 매칭 결과가 저장되는 이전 결과 데이터베이스를 검색하여 상기 입력 문자열과 동일한 문자열이 존재하면, 그에 대응하는 대표 문자열을 출력 문자열로 결정하는 이전 결과 검색단계와,
    결과 저장수단이, 상기 입력 문자열과 상기 대표 문자열 결정단계에서 결정된 상기 출력 문자열로 구성된 레코드가 상기 이전 결과 데이터베이스에 존재하지 않는 경우, 상기 이전 결과 데이터베이스에 저장하는 결과 저장단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  3. 제2항에 있어서,
    상기 발음 표기 생성단계는,
    상기 발음 표기 생성수단이, 상기 변환 전에 상기 입력 문자열에 포함된 유효하지 않은 소정의 특수문자를 제거하는 특수문자 처리단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  4. 제3항에 있어서,
    상기 특수문자는 '-'과 ' '을 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  5. 제2항에 있어서,
    상기 입력 문자열이 씌여진 언어가 한글인 경우에는,
    상기 발음 기호 매핑 테이블은, 한글의 모든 글자를 하나 이상의 발음 기호로 매핑하는 정보를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  6. 제2항에 있어서,
    상기 입력 문자열이 씌여진 언어가 영어인 경우에는,
    상기 발음 기호 매핑 테이블은, 영어의 모든 음절을 하나 이상의 발음 기호로 매핑하는 정보를 포함하고,
    상기 발음 표기 생성단계는,
    상기 발음 표기 생성수단이, 상기 입력 문자열을 하나 이상의 음절로 나누는 단계와,
    상기 발음 표기 생성수단이, 상기 하나 이상의 음절을 상기 하나 이상의 발음 기호와 매핑하여 상기 입력 문자열을 상기 하나 이상의 발음 표기로 변환하는 단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  7. 제6항에 있어서,
    상기 입력 문자열을 하나 이상의 음절로 나누는 단계는,
    상기 발음 표기 생성수단이, 상기 입력 문자열에 포함된 하나 이상의 연속된 자음과 하나 이상의 연속된 모음을 별도의 음절로 구분하고, 상기 입력 문자열의 끝에 포함된 단독 자음은 상기 단독 자음 앞의 모음이 속하는 음절에 포함시키는 단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  8. 제2항에 있어서,
    상기 발음 표기 생성단계는,
    상기 발음 표기 생성수단이, 상기 매핑 정보에 부여된 항목별 우선순위 점수를 이용하여 상기 변환된 하나 이상의 발음 표기에 대한 매칭 점수를 계산하여 부여하는 단계와,
    상기 발음 표기 생성수단이, 상기 매칭 점수를 참조하여, 상기 변환된 하나 이상의 발음 표기 중에서 상기 변환 리스트에 포함될 발음 표기를 결정하는 단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  9. 제8항에 있어서,
    상기 변환 리스트에 포함될 발음 표기를 결정하는 단계는,
    상기 발음 표기 생성수단이, 상기 변환된 하나 이상의 발음 표기 중에서, 지정된 개수의 발음 표기만을 상기 변환 리스트에 포함시키는 단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  10. 제8항에 있어서,
    상기 변환 리스트에 포함될 발음 표기를 결정하는 단계는,
    상기 발음 표기 생성수단이, 상기 변환된 하나 이상의 발음 표기 중에서, 상기 매칭 점수가 지정된 점수 이상인 발음 표기만을 상기 변환 리스트에 포함시키는 단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  11. 제2항에 있어서,
    상기 대표 문자열 결정단계는,
    상기 대표 문자열 결정수단이, 상기 후보 리스트에서 사용자가 선택한 레코드의 대표 문자열을 출력 문자열로 결정하는 단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  12. 제2항에 있어서,
    상기 대표 문자열 결정단계는,
    상기 대표 문자열 결정수단이, 사용자가 상기 후보 리스트의 레코드 중 어느 것도 선택하지 않은 경우, 상기 입력 문자열을 상기 출력 문자열로 결정하는 단계를 더 포함하고,
    상기 결과 저장단계는,
    상기 결과 저장수단이, 상기 입력 문자열을 상기 출력 문자열로 결정하는 경우, 상기 입력 문자열과 상기 후보 리스트에 포함된 발음 표기 중 최고 매칭 점수를 가진 발음 표기를 상기 대표 리스트 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  13. 제11항에 있어서,
    우선순위 변경수단이, 상기 사용자에 의해 선택된 상기 후보 리스트 레코드의 대표 문자열을 그에 대응하는 발음 표기로 변환하는데 사용된 매핑 정보 항목들에 대해서는 지정된 가산점을 부여한 새로운 우선순위 점수를 부여하는 우선순위 변경단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  14. 제8항에 있어서,
    상기 대표 문자열 결정단계는,
    상기 대표 문자열 결정수단이, 상기 매칭 점수를 참조하여 상기 출력 문자열을 결정하는 단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  15. 제14항에 있어서,
    상기 매칭 점수를 참조하여 출력 문자열을 결정하는 단계는,
    상기 대표 문자열 결정수단이, 상기 후보 리스트에 포함된 대표 발음 표기 중 상기 매칭 점수가 최고인 발음 표기에 대응하는 대표 문자열을 출력 문자열로 결정하는 단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  16. 제14항에 있어서,
    상기 매칭 점수를 참조하여 출력 문자열을 결정하는 단계는,
    상기 대표 문자열 결정수단이, 상기 후보 리스트에 포함된 발음 표기 중 지정된 기준 점수 이상인 발음 표기가 없는 경우 상기 입력 문자열을 상기 출력 문자열로 결정하는 단계를 더 포함하고,
    상기 결과 저장단계는,
    상기 결과 저장수단이, 상기 입력 문자열을 상기 출력 문자열로 결정하는 경우, 상기 입력 문자열과 상기 후보 리스트에 포함된 발음 표기 중 최고 매칭 점수를 가진 발음 표기를 상기 대표 리스트 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  17. 제8항에 있어서,
    입력 문자열 추출수단이, 상기 입력 문자열이 포함된 멀티미디어 정보를 입력받고, 상기 멀티미디어 정보로부터 상기 입력 문자열을 추출하는 입력 문자열 추출단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  18. 제17항에 있어서,
    상기 멀티미디어 정보는 MP3 파일이고,
    상기 입력 문자열 추출단계는,
    상기 입력 문자열 추출수단이, 상기 MP3 파일을 파싱하여 ID3 태그에 포함된 아티스트명을 상기 입력 문자열로 추출하는 단계를 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  19. 제18항에 있어서,
    상기 대표 문자열 결정단계는,
    상기 대표 문자열 결정수단이, 상기 멀티미디어 정보에 포함된 상기 입력 문자열을 상기 결정된 출력 문자열로 수정하는 단계를 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 방법.
  20. 제1항 내지 제19항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  21. 입력 문자열에 매칭되는 대표 문자열을 출력하는 문자열 매칭 시스템에 있어서,
    대표 문자열과 그에 대응하는 대표 발음 표기가 저장되는 대표 리스트 데이터베이스와,
    언어별 발음 기호 매핑 정보가 저장되는 하나 이상의 발음 기호 매핑 테이블과,
    상기 하나 이상의 발음 기호 매핑 테이블을 참조하여, 상기 입력 문자열을 하나 이상의 발음 표기로 변환한 변환 리스트를 생성하는 발음 표기 생성수단과,
    상기 대표 리스트 데이터베이스를 검색하여 상기 변환 리스트에 포함된 상기 하나 이상의 발음 표기와 동일한 대표 발음 표기를 가진 레코드로 구성된 후보 리스트를 생성하는 대표 리스트 검색수단과,
    상기 후보 리스트의 레코드 중 하나에 포함된 대표 문자열을 출력 문자열로 결정하는 대표 문자열 결정수단을 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  22. 제21항에 있어서,
    문자열과 그에 대응하는 대표 문자열이 포함된 문자열 매칭 결과가 저장되는 이전 결과 데이터베이스와,
    상기 이전 결과 데이터베이스를 검색하여 상기 입력 문자열과 동일한 문자열이 존재하면, 그에 대응하는 대표 문자열을 출력 문자열로 결정하는 이전 결과 검색수단과,
    상기 입력 문자열과 상기 대표 문자열 결정수단에 의해 결정된 출력 문자열이 상기 이전 결과 데이터베이스에 존재하지 않는 경우, 상기 이전 결과 데이터베이스에 저장하는 결과 저장수단을 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  23. 제22항에 있어서,
    상기 하나 이상의 발음 기호 매핑 테이블은, 한글의 모든 글자를 하나 이상의 발음 기호로 매핑하는 정보를 포함하는 한글 매핑 테이블을 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  24. 제22항에 있어서,
    상기 하나 이상의 발음 기호 매핑 테이블은, 영어의 모든 음절을 하나 이상의 발음 기호로 매핑하는 정보를 포함하는 영어 매핑 테이블을 포함하고,
    상기 발음 표기 생성수단은, 상기 입력 문자열에 포함된 하나 이상의 연속된 자음과 하나 이상의 연속된 모음을 별도의 음절로 구분하고, 상기 입력 문자열의 끝에 포함된 단독 자음은 상기 단독 자음 앞의 모음이 속하는 음절에 포함시킴으로써 상기 입력 문자열을 하나 이상의 음절로 나누고, 상기 하나 이상의 음절을 상기 하나 이상의 발음 기호와 매핑함으로써 상기 입력 문자열을 상기 하나 이상의 발음 표기로 변환하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  25. 제22항에 있어서,
    상기 언어별 발음 기호 매핑 정보에는 항목별 우선순위 점수가 부여되어 있고,
    상기 발음 표기 생성수단은,
    상기 우선순위 점수를 이용하여 상기 변환된 하나 이상의 발음 표기에 대한 매칭 점수를 계산하여 부여하고, 상기 매칭 점수를 참조하여 상기 변환된 하나 이상의 발음 표기 중에서 상기 변환 리스트에 포함될 발음 표기를 결정하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  26. 제22항에 있어서,
    상기 대표 문자열 결정수단은,
    상기 후보 리스트에서 사용자가 선택한 레코드의 대표 문자열을 출력 문자열로 결정하고, 상기 사용자가 상기 후보 리스트의 레코드 중 어느 것도 선택하지 않은 경우 상기 입력 문자열을 상기 출력 문자열로 결정하고,
    상기 결과 저장수단은,
    상기 입력 문자열을 상기 출력 문자열로 결정하는 경우, 상기 입력 문자열과 상기 후보 리스트에 포함된 발음 표기 중 최고 매칭 점수를 가진 발음 표기를 상기 대표 리스트 데이터베이스에 저장하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  27. 제26항에 있어서,
    상기 사용자의 선택에 의해 상기 출력 문자열이 결정되는 경우, 상기 선택된 후보 리스트 레코드의 대표 문자열을 그에 대응하는 발음 표기로 변환하는데 사용된 매핑 정보 항목들에 대해서는 지정된 가산점을 부여한 새로운 우선순위 점수를 부여하는 우선순위 변경수단을 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  28. 제25항에 있어서,
    상기 대표 문자열 결정수단은,
    상기 부여된 매칭 점수를 참조하여 상기 출력 문자열을 결정하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  29. 제28항에 있어서,
    상기 입력 문자열이 포함된 멀티미디어 정보를 입력받고, 상기 멀티미디어 정보로부터 상기 입력 문자열을 추출하는 입력 문자열 추출수단을 더 포함하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
  30. 제29항에 있어서,
    상기 대표 문자열 결정수단은,
    상기 멀티미디어 정보의 입력 문자열을 상기 결정된 출력 문자열로 수정하는 것을 특징으로 하는 발음 기호를 이용한 문자열 매칭 시스템.
KR1020060000161A 2006-01-02 2006-01-02 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체 KR101265263B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060000161A KR101265263B1 (ko) 2006-01-02 2006-01-02 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체
US11/636,634 US8117026B2 (en) 2006-01-02 2006-12-11 String matching method and system using phonetic symbols and computer-readable recording medium storing computer program for executing the string matching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060000161A KR101265263B1 (ko) 2006-01-02 2006-01-02 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체

Publications (2)

Publication Number Publication Date
KR20070072723A KR20070072723A (ko) 2007-07-05
KR101265263B1 true KR101265263B1 (ko) 2013-05-16

Family

ID=38225646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060000161A KR101265263B1 (ko) 2006-01-02 2006-01-02 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체

Country Status (2)

Country Link
US (1) US8117026B2 (ko)
KR (1) KR101265263B1 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CN101206659B (zh) * 2006-12-15 2013-09-18 谷歌股份有限公司 自动搜索查询校正
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
WO2009029865A1 (en) 2007-08-31 2009-03-05 Google Inc. Automatic correction of user input
US8103506B1 (en) * 2007-09-20 2012-01-24 United Services Automobile Association Free text matching system and method
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US9208259B2 (en) * 2009-12-02 2015-12-08 International Business Machines Corporation Using symbols to search local and remote data stores
US8433557B2 (en) * 2010-05-07 2013-04-30 Technology Development Center, King Abdulaziz City For Science And Technology System and method of transliterating names between different languages
US20130054227A1 (en) * 2011-08-28 2013-02-28 George Mizhen Wang Phonetic Symbol System
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
IL227135B (en) * 2013-06-23 2018-05-31 Drori Gideon Method and system for preparing a database of consolidated items
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10339465B2 (en) * 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10387543B2 (en) * 2015-10-15 2019-08-20 Vkidz, Inc. Phoneme-to-grapheme mapping systems and methods
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
CN106126521B (zh) 2016-06-06 2018-06-19 腾讯科技(深圳)有限公司 目标对象的社交账号挖掘方法及服务器
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10789410B1 (en) * 2017-06-26 2020-09-29 Amazon Technologies, Inc. Identification of source languages for terms
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN109658938B (zh) * 2018-12-07 2020-03-17 百度在线网络技术(北京)有限公司 语音与文本匹配的方法、装置、设备及计算机可读介质
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956739A (en) * 1996-06-25 1999-09-21 Mitsubishi Electric Information Technology Center America, Inc. System for text correction adaptive to the text being corrected
US6292768B1 (en) 1996-12-10 2001-09-18 Kun Chun Chan Method for converting non-phonetic characters into surrogate words for inputting into a computer
CA2357007C (en) * 1998-05-21 2002-04-02 Equifax Inc. System and method for authentication of network users with preprocessing
US6144958A (en) 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
KR20000060727A (ko) 1999-03-18 2000-10-16 오민희 다중 검색어를 갖는 전자사전 및 그 제어방법
KR100326936B1 (ko) 1999-08-02 2002-03-13 이계철 외국어로 표기된 한글을 한글표기로 변환하여 검색하는 시스템및 그 방법
JP3500097B2 (ja) 1999-08-26 2004-02-23 日本電信電話株式会社 複合メディア検索方法および複合メディア検索用プログラム記録媒体
US6848080B1 (en) * 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US7177795B1 (en) * 1999-11-10 2007-02-13 International Business Machines Corporation Methods and apparatus for semantic unit based automatic indexing and searching in data archive systems
KR100373812B1 (ko) 2000-05-30 2003-02-26 한상학 음성 자막 재생 시스템 및 방법과 자막 표시 기능을 갖는휴대용 디지털 오디오 재생기
US6990449B2 (en) * 2000-10-19 2006-01-24 Qwest Communications International Inc. Method of training a digital voice library to associate syllable speech items with literal text syllables
US7451087B2 (en) * 2000-10-19 2008-11-11 Qwest Communications International Inc. System and method for converting text-to-voice
US6950792B1 (en) 2000-10-25 2005-09-27 Cisco Technology, Inc. Arrangement for providing international prompts in a unified messaging system
EP1221692A1 (en) 2001-01-09 2002-07-10 Robert Bosch Gmbh Method for upgrading a data stream of multimedia data
US20020156816A1 (en) * 2001-02-13 2002-10-24 Mark Kantrowitz Method and apparatus for learning from user self-corrections, revisions and modifications
US7107215B2 (en) 2001-04-16 2006-09-12 Sakhr Software Company Determining a compact model to transcribe the arabic language acoustically in a well defined basic phonetic study
EP1808788B1 (en) 2001-04-25 2010-08-25 Sony France S.A. Information type identification method and apparatus, e.g. for music file name content identification
US6990451B2 (en) * 2001-06-01 2006-01-24 Qwest Communications International Inc. Method and apparatus for recording prosody for fully concatenated speech
US6810374B2 (en) 2001-07-23 2004-10-26 Pilwon Kang Korean romanization system
BR0212419A (pt) 2001-09-10 2004-08-03 Thomson Licensing Sa Método e aparelho para criar uma lista de execução indexada em um executor de dados de áudio digital
FR2835642B1 (fr) 2002-02-07 2006-09-08 Francois Teytaud Procede et dispositif pour faire comprendre une langue
US6864809B2 (en) 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
US7089188B2 (en) * 2002-03-27 2006-08-08 Hewlett-Packard Development Company, L.P. Method to expand inputs for word or document searching
KR20030094943A (ko) 2002-06-10 2003-12-18 푸른정보기술(주) 인터넷 라디오 방송정보를 수집하여 곡별 순위를 집계하는시스템 및 서비스 방법
US20060190249A1 (en) * 2002-06-26 2006-08-24 Jonathan Kahn Method for comparing a transcribed text file with a previously created file
KR100467590B1 (ko) * 2002-06-28 2005-01-24 삼성전자주식회사 발음 사전 갱신 장치 및 방법
US20040024760A1 (en) * 2002-07-31 2004-02-05 Phonetic Research Ltd. System, method and computer program product for matching textual strings using language-biased normalisation, phonetic representation and correlation functions
US7292971B2 (en) 2003-10-27 2007-11-06 Kuojui Su Language phonetic system and method thereof
JP2005174212A (ja) 2003-12-15 2005-06-30 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20050216253A1 (en) 2004-03-25 2005-09-29 Microsoft Corporation System and method for reverse transliteration using statistical alignment
US7797629B2 (en) * 2006-04-05 2010-09-14 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
US7542973B2 (en) * 2006-05-01 2009-06-02 Sap, Aktiengesellschaft System and method for performing configurable matching of similar data in a data repository

Also Published As

Publication number Publication date
US8117026B2 (en) 2012-02-14
US20070156404A1 (en) 2007-07-05
KR20070072723A (ko) 2007-07-05

Similar Documents

Publication Publication Date Title
KR101265263B1 (ko) 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체
KR100739726B1 (ko) 문자열 매칭 방법 및 시스템과 그 방법을 기록한 컴퓨터판독 가능한 기록매체
JP4218758B2 (ja) 字幕生成装置、字幕生成方法、及びプログラム
KR20080031166A (ko) 정보 처리 장치, 정보 처리 방법 및 정보 처리 프로그램
US7684975B2 (en) Morphological analyzer, natural language processor, morphological analysis method and program
JP2009205357A (ja) 中国語の品詞を判定する装置、方法およびプログラム
US20140358522A1 (en) Information search apparatus and information search method
KR100288144B1 (ko) 한글로 표기된 외래어 코드화 방법 및 그를 이용한 검색 방법
JP2010198425A (ja) 文書管理方法、装置
JP7102710B2 (ja) 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法
JP2013069170A (ja) 検索装置、検索方法およびプログラム
US10614065B2 (en) Controlling search execution time for voice input facility searching
JP6619932B2 (ja) 形態素解析装置およびプログラム
KR20120046850A (ko) 한글에 대한 유사도 계산 방법
JP2006031385A (ja) 音声入力による検索システムと方法並びにプログラム
JP4307287B2 (ja) メタデータ抽出装置
JP4248828B2 (ja) 文書処理装置、文書処理方法及び記録媒体
JP2006126883A (ja) 情報検索装置及び情報検索方法
JP2009129373A (ja) 同姓同名文書分別装置及びプログラム
JP7200474B2 (ja) 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム
JP2008083410A (ja) 音声認識装置及びその方法
JPH1049187A (ja) 音声情報検索装置
JP4061283B2 (ja) 字句をデータに変換する装置、方法及びプログラム
JP6577925B2 (ja) 施設検索装置、施設検索方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体
JP6567372B2 (ja) 編集支援装置、編集支援方法及びプログラム

Legal Events

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