KR20050005523A - 단어 상관 방법 및 장치 - Google Patents

단어 상관 방법 및 장치 Download PDF

Info

Publication number
KR20050005523A
KR20050005523A KR10-2004-7019533A KR20047019533A KR20050005523A KR 20050005523 A KR20050005523 A KR 20050005523A KR 20047019533 A KR20047019533 A KR 20047019533A KR 20050005523 A KR20050005523 A KR 20050005523A
Authority
KR
South Korea
Prior art keywords
word
words
document
string
strings
Prior art date
Application number
KR10-2004-7019533A
Other languages
English (en)
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
Priority claimed from US10/157,894 external-priority patent/US8744835B2/en
Application filed by 엘리 에이버 filed Critical 엘리 에이버
Publication of KR20050005523A publication Critical patent/KR20050005523A/ko

Links

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

Landscapes

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

Abstract

의미론적 대등어나 준-대등어인 타 단어나 단어 스트링을 식별하기 위해 한 단어나 단어 스트링 주변의 단어 형성을 분석함으로서 한 언어의 단어 및 단어 스트링을 상관시키는 방법을 포함하는 교차-아이디어 상관 데이터베이스를 생성하고 이용하는 방법이 공개된다. 단어 및 단어 스트링들을 상관시키는 한가지 방법은 1) 단어나 단어 스트링 입력 장치로 문서들의 컬렉션을 질의하고, 2) 질의 스트링의 좌측 및 우측에 인접한 사용자 정의 크기의 단어나 단어 스트링을 결정하며, 3) 질의 스트링의 좌측 및 우측에 위치한 단어나 단어 스트링의 발생 빈도를 결정하고, 그리고 4) 위치한 단어들의 순위를 결정하는 단계들을 포함한다.

Description

단어 상관 방법 및 장치{WORD ASSOCIATION METHOD AND APPARATUS}
한 언어로부터 또다른 언어로 문서를 자동적으로 변환하는 장치 및 방법들이 알려져 있다. 그러나, 이 장치 및 방법들은 한 언어로부터 또다른 언어로 문서를 정확하게 변환하는 데 실패하는 경우가 종종 있으며, 상당한 시간을 소요할 수도 있고, 사용이 불편할 수도 있다. 인간 본위의 변환기에 추가하여, 다른 공지 장치들은 상용의 기계어 변환 소프트웨어를 포함한다. 이 공지 시스템들은 오류를 일으키기 쉽고 속도가 느리며 불편하기까지한 단점들을 가진다. 공지된 변환 장치 및 방법들은 텍스트 입력에 대한 정확한 번역을 일관되게 내보낼 수 없고, 따라서, 증거 판독 및 편집을 위해 상당한 사용자 개입을 요하는 경우가 자주 있다. 정확한 기계 번역은 문서의 단어 대 단어 번역을 행하는 장치 및 방법을 제공하는 것에 비해 복잡하고 정교하다. 이 단어 대 단어 시스템에서의 번역은 번역된 문서의 독자에게 의미를 불명료하게 전달할 수 있다. 이는 단어 대 단어 방법이 잘못된 단어 선택과 일관되지 않은 문법 단위를 유발하기 때문이다.
이 결함을 극복하기 위해, 공지된 번역 장치들은 사전적, 형태적, 구문론적, 의미론적 규칙(rule)의 조합이나 이들의 세트를 바탕으로 문장의 문맥 내에서 용어 번역 선택을 행하도록 시도하였다. "규칙-본위(Rule-Based)" 기계 번역(MT) 시스템이라 알려진 이들 시스템들은 역시 결함을 가진다. 왜냐하면, 일관되게 정확한 번역을 제공할 수 없을만큼 상기 규칙(rule)에 예외가 수없이 많기 때문이다.
규칙 본위 기계 번역에 추가하여, "사례-본위(example-based)"기계 번역이라 알려진 새로운 방법이 고안되었다. 사례본위 기계 번역은 교차-랭기지 데이터베이스(cross-language database)에서 두개의 서로 다른 언어들로 저장된 문장을 이용한다. 번역 질의가 데이터베이스의 문장과 일치할 때, 타겟 언어의 문장의 번역이 제 2 언어로의 정확한 번역을 제공하는 데이터베이스에 의해 생성된다. 번역 질의어 일부가 데이터베이스의 문장 일부와 일치할 경우, 이 장치들은 소스 언어 문장에 매핑된 문장의 어느 부분이 질의어의 번역인 지를 정확하게 결정하려고 시도한다.
사례-본위 기계 번역 시스템들은 교차 랭기지 문장 데이터베이스가 수작업으로 만들어지고 항상 "불완전"할 것이기 때문에 폭넓은 언어의 정확한 번역을 제공할 수 없다. 사례-본위 기계 번역 시스템의 또다른 결점은 부분적 일치가 쉽게 번역되지 않는다는 점이다. 사례-본위 기계 번역에 이용하기 위해 번역된 문서의 쌍들을 이용하여 교차-랭기지 데이터베이스의 생성을 자동화하려는 시도가 계속되고 있다. 그러나, 이 노력들은 어떤 상당한 규모의 의미있고 정확한 교차 랭기지 데이터베이스를 생성하는 데 있어 아직까지 성공적이지 못하다. 이 시도들 중 어떤 시도도 한쌍의 번역 문서들로부터 상당한 숫자의 단어 및 단어 스트링의 번역을 쉽고 정확하게 다듬는 알고리즘을 이용하지 못하고 있다.
일부 번역 장치들은 규칙 본위 및 사례 본위 엔진을 조합한다. 이 접근법 조합이 단독 시스템보다는 정확도를 높일 수 있으나, 사용자 개입 및 편집없이는 여전히 이용에 있어 문제가 많다.
한 언어로부터 다른 언어로 문서를 번역하려 시도할 때 직면하는 문제점들은 보다 일반적으로 생각할 때, 한 상태로부터 아이디어나 정보를 나타내는 데이터를, 즉, 단어를, 또다른 상태로 아이디어를 나타내는 데이터로, 가령, 수학적 기호로 변환하는 문제점에 적용할 수 있다. 이러한 경우에, 한 상태의 데이터를 제 2 상태의 동등한 데이터와 상관시키는 교차 아이디어 상관 데이터베이스가 고려되어야 할 것이다. 따라서, 여러 다른 언어나 상태(가령, 단어, 단어 스트링, 음성, 템포, 등)의 동등한 아이디어를 상관시키는 사전이나 데이터베이스를 생성하는 보다 효율적인 혁신적 방법 및 장치가 요구된다. 이 방법 및 장치는 제 1 언어나 상태의 문서들이 지닌 아이디어를 제 2 언어나 상태의 문서에 의해 나타나는 동일한 또는 유사한 아이디어로 번역 또는 변환할 수 있어야 할 것이다.
발명은 교차-아이디어 상관 데이터베이스를 이용하여 콘텐트를 조작하는 것에 또한 관련된다. 특히, 본 발명은 상관된 아이디어의 데이터베이스를 생성하는 방법 및 장치를 제공하며, 아이디어를 한 상태로부터 다른 상태로 변환함에 있어 상기 데이터베이스를 이용하는 방법 및 장치를 제공한다.
한 실시예에서, 본 발명은 언어 변환 데이터베이스를 생성하기 위한 방법 및 장치를 제공하며, 이때, 두 언어가 상관된 아이디어의 데이터베이스를 형성한다. 본 발명은 문서를 한 언어로부터 또다른 언어로 변환하기 위해 상기 언어 데이터베이스를 이용하는 방법 및 장치를 또한 제공한다. 그러나, 본 발명은 선호되는 실시예에도 불구하고 언어 번역에 제한되지 않는다. 본 발명의 데이터베이스 생성 태양은 어떤 방식으로 관련되어 있으나 다른 상태로 표현되는 어떤 아이디어에도 적용될 수 있고, 본 발명의 변환 태양은 아이디어를 한 상태로부터 다른 상태로 정확하게 변환하는 데 적용될 수 있다.
또하나의 실시예에서, 본 발명의 데이터베이스 생성 태양은 인공 지능 애플리케이션에 사용하기 위해, 단일 언어 내의 아이디어들 간 관련성 및 이들간의 관계를 찾아내는 데 사용될 수 있다.
언어 번역 실시예에 대한 본 발명의 적용이 이제부터 설명될 것이다. 본 문헌에서 번역(translate), 변환(convert), 조작(manipulate)이라는 용어들은 넓은의미에서 상호혼용할 수 있도록 사용된다.
본 출원은 2002년 5월 31일자 미국특허출원 10/157,894 호의 연속분할출원(CIP)이고, 위 연속분할출원은 2001년 12월 21일자 미국특허출원 10/024,473 호의 연속분할출원(CIP)이며, 이 출원은 2001년 3월 16일자 미국특허출원 60/276,107 호 및 2001년 6월 21일자 미국특허출원 60/299,472 호의 장점들을 청구하며, 그 내용 모두가 본원에서 참고로 인용된다.
본 출원은 2001년 6월 21일자 미국출원 10/157,894 호에 포함된 첨부물의 컴퓨터 프로그램 리스트를 포함한다.
본 발명은 제 1 상태로부터 제 2 상태로 정보를 변환하는 데 사용되는 데이터베이스를 생성하는 방법 및 장치에 관한 것이다. 선호되는 실시예에서, 상기 정보는 언어이고, 발명은 상관 데이터베이스를 생성하는 방법 및 장치에 관한 것이다. 이때, 상기 데이터베이스는 언어 변환 시스템에 사용될 수 있다.
도 1은 본 발명에 따른 교차-아이디어 데이터베이스의 한 실시예 도면.
도 2는 본 발명의 방법들을 구현하기 위한 본 발명의 컴퓨터 시스템의 한 실시예 도면.
도 3은 본 발명의 방법들을 구현하기 위한 프로그램들을 포함하는 본 발명의 컴퓨터 시스템의 메모리 소자의 도면.
본 발명의 한가지 목적은 교차-아이디어 상관 데이터베이스를 생성하고 보완하는 방법 및 장치를 제공함으로서, 한 언어나 상태로부터 또다른 언어나 상태로 문서의 효율적 변환을 촉진시키는 것이다. 이 데이터베이스들은 특정 아이디어나 정보 부분을 나타내는 제 1 형태나 상태의 데이터를 동일한 아이디어나 정보 부분을 나타내는 제 2 형태나 상태의 데이터와 상관시킨다.
본 발명의 또한가지 목적은 제 1 상태, 형태, 또는 언어의 데이터를 포함하는 제 1 문서로부터 제 2 상태, 형태, 또는 언어의 데이터를 포함하는 제 2 문서를 생성하는 방법 및 장치를 제공함으로서 한 언어나 상태로부터 또다른 언어나 상태로 문서의 번역을 촉진시켜서, 그 결과, 제 1, 2 문서가 실질적으로 동일한 아이디어나 정보를 나타내게 되도록 하는 것이다.
본 발명의 또한가지 목적은 제 1 상태, 형태, 또는 언어의 데이터를 포함하는 제 1 문서로부터 제 2 상태, 형태, 또는 언어의 데이터를 포함하는 제 2 문서를 생성하는 방법 및 장치를 제공함으로서 한 언어나 상태로부터 또다른 언어나 상태로 문서의 번역을 촉진시켜서, 그 결과, 제 1, 2 문서가 실질적으로 동일한 아이디어나 정보를 나타내게 되도록 하고, 이 방법 및 장치가 교차-아이디어 상관 데이터베이스를 이용하는 과정을 포함하도록 하는 것이다.
본 발명의 다른 한가지 목적은 실시간 문서 번역(넓은 범위에서 항 상태로부터 또다른 상태로 아이디어의 실시간 변환)을 제공하는 것이다.
본 발명의 또다른 하나의 목적은 제 1 상태로부터 제 2 상태로 정보를 변환하는 데 사용되는 데이터베이스를 생성하는 방법 및 장치를 제공하는 것이다.
본 발명은 교차-아이디어 데이터베이스를 생성하기 위한 방법 및 장치를 제공함으로서 이들 목적들을 성취한다. 교차-아이디어 데이터베이스를 생성하는 방법 및 장치는 동일한 아이디어를 나타내면서도 서로 다른 언어로 작성된 두 개 이상의 문서들을 제공하는 단계를 포함할 수 있다. 이 문서들은 동일한 텍스트의 정확한 번역(즉, 병렬형 텍스트 문서)일 수 있고, 또는 일반적으로 관련된 텍스트를 지닌 번역(비교형 텍스트 문서)일 수도 있다. 본 발명은 가용 교차-랭기지 문서의 제 1 언어에서 다수의 발생빈도를 가지는 모든 단어나 단어 스트링들의 제 1, 2 발생을 선택한다. 그후, 제 2 언어 문서의 제 1 단어 범위와 제 2 단어 범위를 선택하고, 이때, 제 1, 2 단어 범위는 제 1 언어 문서의 선택된 단어나 단어-스트링의 제 1, 2 발생에 해당한다. 그후, 제 1 단어 범위에서 발견된 단어 및 단어 스트링을 제 2 단어 범위에서 발견된 단어 및 단어 스트링과 비교하고, 두 단어 범위에 공통인 단어 및 단어 스트링을 찾아내어, 찾아낸 공통 단어 및 단어 스트링을 교차-아이디어 데이터베이스에 저장한다. 발명은 상기 교차-아이디어 데이터베이스에서, 제 2 언어의 두 범위에 있는 공통 단어나 단어 스트링을 제 1 언어의 선택된 단어나 단어 스트링과 상관시키고, 상관 빈도 조정 후 상관 빈도에 의해 순서를 매긴다. Parallel 또는 Comparable Texts의 언어들 사이에서 공통 단어나 단어 스트링을 테스트함으로서, 데이터베이스는 보다 많은 Parallel 또는 Comparable Text가 여러 다양한 언어에서 가용해짐에 따라 보다 큰 상관을 해결할 수 있다.
본 발명은 한 상태로부터 또다른 상태로 문서를 변환하는 방법 및 장치를 제공함으로서 이들 및 그 외 다른 목적들을 달성한다. 본 발명은 제 2 언어의 데이터 구절과 상관된 제 1 언어의 데이터 구절로 구성되는 데이터베이스를 제공한다. 본 발명은 상기 언급한 데이터베이스에 접근하여, 데이터베이스에 존재하는, 문서의 제 1 단어로 시작하는 번역될 문서의 가장 긴 단어 스트링을 식별함으로서 텍스트를 변환한다. 시스템은 제 1 언어의 문서로부터 찾아낸 단어 스트링에 상관된 제 2 언어의 단어 스트링을 데이터베이스로부터 불러온다. 시스템은 그후, 데이터베이스에 존재하는 문서의 제 2 단어 스트링을 선택하고, 상기 문서의 이전에 식별한 단어 스트링과 중복되는 단어(또는 단어 스트링)를 가지며, 그리고, 제 1 언어의 제 2 단어 스트링에 상관된 제 2 언어의 단어 스트링을 데이터베이스로부터 불러온다. 제 2 언어의 단어 스트링 상관이 중복 단어(또는 단어들)을 가질 경우, 제 2 언어의 단어 스트링 상관이 조합되어 번역(변환)을 생성하게 된다. 그렇지 않을 경우, 제 1 언어 단어 스트링에 대한 다른 제 2 언어 상관이 불러들여져, 성공할 때까지 단어 중복을 통한 조합에 대하여 검사된다. 제 1 언어의 문서의 다음 단어 스트링은 이전에 식별한 제 1 언어 단어 스트링에 중복되는 단어를 가지는 데이터베이스에서 가장 긴 단어 스트링을 찾아냄으로서 선택되며, 전체 제 1 언어 문서가 제 2 언어 문서로 번역될 때까지 상기 과정이 계속된다.
본 발명은 두 개 이상의 단어 및 단어 스트링간 관련성을 결정하기 위해 빈도 표를 또한 생성하여, 제 1 상태로부터 제 2 상태로 콘텐트를 변환함에 있어 관련되는 사항들을 포함한 다른 애플리케이션에 상기 빈도 표를 사용할 수 있게 한다. 빈도표는 주어진 상태의 문서를 검사함으로서, 그리고 텍스트 내 단어나 단어 스트링에 대한 근접성을 바탕으로 두 개의 단어나 단어 스트링이 관련되는 빈도를 결정함으로서 생성된다. 따라서, 영어의 텍스트를 검사함으로서, "mountain", "highest place in the world", "snow", "climb", "people died", "cold"처럼, 숙어 "Mount Everest"에 관련된 단어나 단어 스트링들에 대하여 빈도 표가 구축될 수 있다. 이 빈도 표는 두 개 이상이 빈도 표에서 공통 관련사항을 식별함으로서 질문에 대답하는 스마트 애플리케이션에서 여러 방식으로 사용될 수 있다. 스마트 애플리케이션용으로 생성된 데이터베이스는 한 언어의 문서들로부터 만들어질 수 있다(또는 교차-언어 텍스트를 이용하여 만들어질 수 있다).
본 발명은 교차-아이디어 데이터베이스를 생성하고 보완하여, 교차-아이디어 데이터베이스를 이용하여 제 1 언어나 상태로부터 제 2 언어나 상태로 문서를 변환하는 방법 및 장치를 제공한다. 여기서 설명되는 바와 같이 문서들은 어떤 매체에서 선택된 기호나 문자들로 표시되는 아이디어와 같은 정보의 집합체이다. 예를 들어, 문서들은 자기 매체나 광학 매체에 저장된 전자 문서일 수 있고, 또는 책같은 종이 문서일 수도 있다. 이 문서들에 포함된 기호와 문자들은 문서 사용자가 이해하도록 의도되는 한가지 이상의 표현 시스템을 이용하여 표현된 아이디어와 정보를 나타낸다. 본 발명은 한가지 표현 시스템으로 표현된 정보를 지닌 제 1 상태의 문서들을 조작하여, 제 2 표현 시스템을 이용하여 표현되는 실질적으로 동일한 정보를 가진 제 2 상태의 문서를 생성하도록 한다. 따라서, 본 발명은 영어, 히브리어, 등같은 문어 및 구어들의 표현 시스템들 사이에서 문서를 다른 언어로 조작하거나 변환, 번역할 수 있다.
본 발명의 콘텐트 변환 및 콘텐트 조작 방법을 구현하기 위한 시스템 및 장치는 도 2에 도시되는 컴퓨터 시스템(200)일 수 있다. 컴퓨터 시스템(200)은 버스(214)를 통해 메모리(208), 입력 장치(210), 출력 장치(212)에 연결되는 프로세서(202)를 포함한다. 컴퓨터 시스템(200)은 저장 장치(204)와 네트워크 인터페이스(206)를 또한 포함할 수 있다. 프로세서(202)는 메모리(208)에 저장된 데이터 및 프로그램에 액세스한다. 메모리(208)의 프로그램을 실행시킴으로서, 프로세서는 컴퓨터 시스템(200)을 제어할 수 있고, 입력 장치(210), 출력 장치(212), 저장 장치(204), 네트워크 인터페이스(206), 메모리(208) 등을 포함하는 장치들을 제어하고 데이터를 조작하는 단계들을 실행할 수 있다. 메모리(208)에 저장된 프로그램들은 콘텐트 변환, 단어 및 단어 스트링 연계, 데이터베이스 생성, 그리고 보완 방법 등등 같은 본 발명의 방법들을 실행하는 단계들을 포함할 수 있다.
저장 장치(204)는 메모리(208)에 의해 프로세서(202)로 불러들여질 정보를레코딩하여 저장한다. 저장 장치(204)는 비휘발성 메모리, 자기 디스크 드라이브, 테이프 드라이브, 광학 저장 장치 등과 같이 당 분야에 잘 알려진 저장 장치들을 포함할 수 있다. 완전한 데이터베이스나 데이터베이스 일부분은 프로세서(202)에 의한 액세스 및 조작을 위해 메모리(208)에 전달될 수 있다. 네트워크 인터페이스(206)는 컴퓨터 시스템(200)과 네트워크(216)(가령, 인터넷)간에 인터페이스를 제공하며, 컴퓨터 시스템(200)으로부터의 신호들을 네트워크(216) 상에서 전송될 수 있는 포맷으로 변환한다. 그 역도 가능하다. 입력 장치(210)는 데이터를 메모리(208) 및 저장 장치(204)에 입력하기 위한 키보드, 스캐너 등을 포함할 수 있다. 입력 데이터는 분석 및 콘텐트 변환을 위한 문서 데이터베이스에 저장될 문서들의 텍스트를 포함할 수 있다. 출력 장치(212)는 컴퓨터 시스템에 정보를 제시하기 위한 장치들을 포함하며, 가령, 모니터 스크린 및 프린터 등을 포함할 수 있다.
데이터베이스 생성 방법 및 장치, 그리고 콘텐트 변환 방법 및 장치에 관한 본 발명의 상세한 설명이 이제부터 기술될 것이다.
데이터베이스 생성 방법 및 장치
본 발명의 방법은 문서 콘텐트 조작용 교차-아이디어 데이터베이스를 이용한다. 도 1은 교차-아이디어 데이터베이스의 한 실시예를 도시한다. 교차-아이디어 데이터베이스의 본 실시예는 열 1 및 열 2에 관련 데이터 구절의 리스팅을 포함한다. 데이터 구절은 표현 시스템의 특정 아이디어나 정보 부분을 나타내는 기호나 문자들의 그룹이다. 한 문서의 표현 시스템이 예를 들어 단어 언어일 경우, 한 개의 부분(세그먼트)은 단어나 단어 스트링일 수 있다. 따라서, 열 1의 시스템 A 부분은 여러 아이디어들과, 가설 표현 시스템 A의 아이디어 Da1, Da2, Da3, Da4의 조합을 나타내는 데이터 부분이다. 열 2의 시스템 B 구절은 표현 시스템 A의 데이터 구절과의 상관 빈도에 의해 정렬되는 가설 표현 시스템 B의 여러 아이디어 및 상기 아이디어들의 조합의 일부를 나타내는 데이터 부분 Db1, Db3, Db4, Db5, Db6, Db9, Db10, Db12이다. 열 3은 직접 빈도(Direct Frequency)를 나타내며, 직접 빈도란 언어 B의 부분이나 부분들이 언어 A의 나열된 부분(또는 부분들)에 상관된 횟수를 말한다. 열 4는 감산 후 빈도(Frequencies after Subtraction)로서, 언어 B의 데이터 부분(부분들)이 언어 A의 부분(부분들)과 상관된 횟수에서, 상기 부분(부분들이 더 큰 부분의 일부분으로 상관되어 있는 횟수를 뺀 값이다. 이는 후에 더 상세하게 설명될 것이다.
도 1에 도시되는 바와 같이, 한개의 구절, 가령, Da1이 여러개의 구절 Db1, Db3, Db4와 가장 적절하게 상관될 수 있다. 데이터 구절들간 감산 후 빈도가 높을수록, 시스템 A 구절이 시스템 B 구절과 동등할 확률이 높다. 총 발생 빈도에 의해 조정 빈도를 측정함에 추가하여, 조정 빈도는 특정 시스템 A 구절이 특정 시스템 B 구절에 상관되는 비율을 연산함으로서 측정될 수도 있다. 데이터베이스가 문서 번역에 사용될 때, 최고 순위로 상관된 구절은 데이터베이스로부터 가장 먼저 불러들여질 것이다. 그러나, 번역용 상관 구절의 조합을 테스트하는 데 사용되는 방법은 이와는 다른 낮은 순위의 상관이 테스트되어야 함을 결정한다. 왜냐하면, 높은 순위의 상관이 한번 테스트되면 사용될 수 없기 때문이다. 예를 들어, 데이터베이스가 Da1에 대한 상관에 대해 질의되면, Db1+Db3+Db4를 얻을 것이다. 번역용 데이터구절을 정확하게 조합하는 과정에 의해 결정될 때 Db1+Db3+Db4가 사용될 수 없을 경우, 데이터베이스는 번역을 위해 또다른 상관 구절과의 정확한 조합을 테스트하도록 Db9+Db10을 내보낼 것이다.
일반적으로, 본 발명의 교차-아이디어 데이터베이스를 생성하는 방법은 Parallel 또는 Comparable Text에서 검사하고 동작하는 단계를 포함한다. 본 발명의 방법 및 장치는, 두 상태 사이에서의 상관으로 데이터베이스가 생성되고, 보다 구체적으로, 한 상태로 표현된 아이디어와 이와는 다른 상태로 표현된 아이디어간에 상관으로 데이터베이스가 생성되도록, 이용된다. 본 발명에 의해 보다 많은 문서들이 검사되고 동작됨에 따라, 두 상태간 번역이나 그 외 다른 관련 상관이 강해진다. 즉, 빈번해진다. 따라서, 충분히 많은 문서 "샘플"에 대하여 동작함으로서, 가장 흔한(즉, 가장 정확한) 상관이 명백해지고, 이 방법 및 장치는 변환 용도로 사용될 수 있다.
본 발명의 한 측면에서, 본 발명이 제1 언어의 단어 및 단어 스트링을 제2 언어의 해당 단어 및 단어 스트링으로 상관시키는 교차-언어 데이터베이스를 생성하도록, 두 개의 상태가 문자 언어들(영어, 히브리어, 중국어 등)을 나타낸다. 단어 스트링은 연속하는 인접 단어 그룹으로 정의될 수 있으며 언어의 표현에 사용되는 구두점 및 기타 표시를 포함할 수 있다. 일례로 본 발명은 두 언어로 된 문서를 조사하고 두 가지 언어로 된 각 반복 단어 및 단어 스트링에 대해 번역 데이터베이스를 생성하여 데이터베이스를 생성한다. 그러나 본 발명은 언어 번역에 국한될 필요는 없다. 본 발명은 사용자가 아이디어 데이터베이스를 생성할 수 있게 하고 상기 아이디어를 수직 구조 측면에서 상이한 다른 아이디어와 상관시킬 수 있게 한다. 따라서 아이디어가 다른 아이디어와 상관되고 발생 빈도에 따라 등급이 매겨진다. 발생 빈도에 따라 주어지는 가중치와 이렇게 생성된 데이터베이스에 적용되는 용도는 사용자의 요건에 따라 가변적이다.
가령 텍스트를 한 언어에서 다른 언어로 변환시킬 경우에 본 발명은 영어와 중국어 간에 단어 및 단어 스트링을 번역하도록 작용한다. 본 발명은 두 언어에서 단어 및 단어 스트링 간의 상관 등급을 찾아낸다. 샘플 크기가 충분하다면 가장 빈번한 단어 및 단어 스트링은 영어 단어나 단어 스트링과 등가의 중국어 단어나 단어 스트링이 된다. 그러나 본 발명은 영어 단어나 단어 스트링에 대한 다른 중국어 상관을 찾아내서 사용자는 필요에 따라 이러한 상관을 조작한다. 가령 본 발명에 따라 동작할 때, 단어"mountain"은 중국어 단어 및 단어 스트링 항목을 찾아낸다. 단어"mountain"과 등가의 중국어가 최고 등급이 매겨질 수 있지만 본 발명은 "mountain"과 관련된 "snow", "ski", "dangerous sport", "the highest point in the world", 또는 "Mt. Everest"와 같은 다른 외국어 단어나 단어 스트링을 찾아낸다. "mountain"에 대한 번역보다 낮은 등급의 단어 및 단어 스트링은 사용자에 의해 조작될 수 있다. 따라서 본 발명은 자동화된 상관 데이터베이스 생성기이다. 가장 강한 상관이 번역이나 변환을 나타내고 다른 빈번하지만 약한 상관은 조사되는 아이디어와 밀접한 관련이 있는 아이디어를 나타낸다. 그러므로 이러한 데이터베이스가 당해 분야에서 공지된 인공 지능 응용프로그램을 사용하는 시스템에 의해 사용될 수 있다. 이러한 시스템은 응용프로그램용 신경 네트워크로서 불완전하고 수동으로 생성되는 아이디어 데이터베이스를 현재 이용하고 있다. 이러한 인공 지능 애플리케이션을 위한 아이디어-상관 데이터베이스는 단일 언어의 문서들로부터 사용자 규정 범위를 이용하여 만들어질 수 있다.
본 발명의 또 다른 측면은 당해 분야에서 쉽게 구할 수 있는 PC와 같은 컴퓨터 디바이스를 사용한다. 컴퓨터가 대체로 일반적인 PC(단일 또는 네트워크 환경)일지라도 PDA, 무선 디바이스, 서버, 메인프레임과 같은 다른 컴퓨터 디바이스가 유사하게 고려된다. 그러나 본 발명의 방법 및 장치는 이러한 컴퓨터 디바이스를 사용할 필요가 없으며 교차-상관의 수동 생성을 포함한 다른 수단에 의해 쉽게 달성될 수 있다. 문서 샘플을 확장하고 교차-상관 데이터베이스를 생성하기 위해 연속 문서가 조사되는 방법은 가변적이고 자동 급지(당해 분야에서 공지된 자동 급지기와 같은)나 인터넷 검색 기술을 사용하여 Web Crawlers와 같은 관련 문서를 자동으로 찾아냄으로써 문서가 수동으로 분석 및 조작하기 위해 설정될 수 있다.
본 발명은 병렬 텍스트에 추가하여(또는 병렬 텍스트 대신에) 비교 텍스트를 조사함으로서 상관 데이터베이스를 생성할 수 있다. 게다가 본 방법은 한 언어 내에서 반복 단어나 단어 스트링을 검색할 때 이용 가능한 모든 문서를 집합적으로 조회한다.
데이터베이스 구축
본 발명에 따르면 데이터베이스 구축을 목적으로 문서가 검사될 수 있다. 문서 입력 후에(두 가지 상이한 언어로 동일한 텍스트를 나타내는 한 쌍의 문서) 생성 프로세스가 시작된다.
예시 목적으로 문서는 두 가지 상이한 언어로 동일한 콘텐트(일반적으로 아이디어)를 포함한다고 가정하자. 문서A는 언어A로 문서B는 언어B로 되어 있다. 문서는 다음 텍스트를 포함한다:
문서(A)(언어A) 문서B(언어B)
X Y Z X W V Y Z X Z AA BB CC AA EE FF GG CC
본 발명의 제1 단계는 주어진 단어나 단어 스트링에 대해서 단어 범위를 계산하여 가능한 상관들의 정확한 위치를 결정하는 것이다. 교차 언어식 단어 대 단어 분석만으로는 생산적인 결과를 생성하지 못하고(즉 문서A의 단어l은 문서B에서 단어l의 번역으로 존재하지 않는다) 한 언어의 문장 구조가 또다른 언어와는 다른 문장 위치(또는 순서)에서 등가의 아이디어를 가질 수 있기 때문에, 본 발명의 데이터베이스 생성 기술은 제1언어로 된 단어나 단어 스트링을 제2 언어 문서의 선택된 범위에서 발견된 모든 단어나 단어 스트링과 상관시킨다. 한 언어가 종종 다른 언어보다 길거나 짧은 단어 스트링으로 아이디어를 표현하므로 이 점은 또한 중요하다. 두 문서를 검사하여 범위가 결정되고, 이 범위는 제1 문서의 단어 및 단어 스트링에 대해 제2 문서의 단어 및 단어 스트링을 비교하는데 사용된다. 즉, 제2 문서의 단어 및 단어 스트링 범위가 제1 문서의 단어 및 단어 스트링에 대해 가능한 상관으로 검사된다. 범위에 대한 텍스트에 의해, 데이터베이스 생성 기술은, 제 1 언어 단어 및 단어 스트링으로 번역할 수 있는 등가로 취급될 수 있는, 다수의 제 2 언어 단어나 단어 스트링들을 확립한다.
제 1 언어 문서의 단어 및 단어 스트링에 대한 상관을 찾아내는 제2 언어 문서 범위를 확정하기 위해 결정되어야 하는 것이 두 가지 이다. 첫째 제2 문서의 범위 크기나 값인데, 이것은 범위에 있는 단어의 수에 의해 결정된다. 둘째 제2 문서에서 범위의 위치인데, 이것은 범위의 중간점 위치로 결정된다. 이 둘은 사용자가 정의한다. 범위의 위치 및 크기 한정에 있어서 목표는 분석되는 제1 언어 구절의 제2 언어 단어 및 단어 스트링 번역이 포함될 최고 가능성을 보장하는 것이다.
한 문서에 있는 단어의 수에 기초하여 종 모양의 곡선 유도와 같은 통계적 기술을 포함한 다양한 기술이 범위의 크기 결정에 사용될 수 있다. 종 모양의 곡선과 같은 통계적 기술을 사용할 경우 문서의 처음과 끝에서의 범위는 문서 중앙에서의 범위보다 작다. 범위에 대한 종 모양의 빈도는 한 문서에 있는 단어의 절대적 개수에 따라 유도되든 특정 비율에 따라 유도되든 관계없이 번역의 외삽을 허용한다. 범위가 특정 단어 비율에 대해 한 준위, 또 다른 단어 비율에 대해 더 높은 준위, 최종 단어 비율에 대해 제1 준위와 동일한 제3 준위에서 존재하는 스텝 기술과 같은 다른 범위 계산 방법이 있다. 모든 범위는 사용자에 의해 한정되거나 제1언어로 분석되는 단어나 단어 스트링에 유용한 상관을 포획할 목적으로 다른 가능한 매개변수에 따라 확정된다.
제2 언어 문서 내에서 범위의 위치는 두 문서에서 단어의 개수 비교에 달려있다. 범위 지정을 목적으로 문서로 지정하는 것은 사용자에 의해 한정되며 새로운 기사, 책의 장(chapter), 다중 데이터 구절로 구성된 식별 가능한 단위 등을 예로 들 수 있다. 두 문서의 단어 개수가 대략 동일하면 제2 언어의 범위 위치는 제1언어로 분석되는 단어나 단어 스트링의 위치와 대략 동일하다. 두 문서의 단어 개수가 동일하지 않으면 범위 위치를 정확히 선정하기 위해 비율이 사용될 수 있다. 가령 문서A가 50단어를 포함하고 문서B가 100단어를 포함하면 두 문서의 비율은 1:2이다. 문서A의 중간점은 단어 위치 25이다. 문서A의 단어25가 분석되지만 이러한 중간점(단어위치25)을 문서B의 중간점 선정에 사용하는 것은 이 위치(단어위치25)가 문서B의 중간점이 아니므로 효과적이지 않다. 대신에 문서A의 단어25 분석을 위해 문서B의 범위 중간점은 문서B의 중간점에 수동으로 배치하거나 다른 기술에 의해 두 문서 간의 단어 비율(25ㅧ 2/1)에 의해 결정될 수 있다.
문서의 단어나 단어 스트링 위치를 참조하고 위 범위에 속하는 모든 단어나 단어 스트링을 주목함으로써 본 발명의 데이터베이스 생성 기술은 분석되는 제1 문서의 단어나 단어 스트링으로 번역될 수 있는 제2 언어 문서의 단어나 단어 스트링의 가능한 집합을 찾아낸다. 본 발명의 데이터베이스 생성 기술이 활용됨에 따라 상관 빈도가 전개됨에 따라 가능한 번역으로 되는 단어나 단어 스트링의 집합은 좁아진다. 따라서 한 쌍의 문서를 검사한 후에 본 발명은 제2 언어 문서의 단어나 단어 스트링과 제1 언어 문서의 단어나 단어 스트링의 상관 빈도를 생성한다. 여러 쌍의 문서를 검사한 후에(큰 샘플이 생성됨) 교차-언어 상관 데이터베이스 생성 기술은 한 단어나 단어 스트링에 대해 더 높은 상관 빈도를 찾아낸다. 충분히 큰 샘플 생성 후에 최고 상관 빈도가 가능한 번역이 되고 상관 빈도가 정확한 번역이 되는 궁극적인 지점은 사용자가 한정하고 다른 해석적 번역 기술(2001,3,16 출원된 콘텐트 조작 방법 및 장치란 명칭의 출원 60/276,107)에 종속된다.
본 발명은 단어뿐만 아니라 단어 스트링(복수 단어)을 테스트 한다. 단어 스트링은 모든 구두점과 표시를 포함한다. 제1언어로 된 단일 단어가 분석된 이후에 본 발명의 데이터베이스 생성기술은 2-단어 스트링을 분석하고 이후 3-단어 스트링 등을 점진적으로 분석한다. 이 기술은 다른 언어로 된 더 길거나 짧은 단어 스트링(단어)으로 번역되는 한 언어로 된 단어나 단어 스트링의 번역을 가능케 한다. 제1언어로 된 모든 문서에서 한 단어나 단어 스트링이 발생하면 절차는 즉시 다음 단어나 단어 스트링 분석에 착수하고 분석 절차가 재개된다. 모든 병렬 및 비교 텍스트에서 복수의 발생 빈도를 갖는 모든 단어나 단어 스트링이 분석되면 분석은 중지된다.
한 측면에서, 단어나 단어 스트링의 재-발생 탐색을 목적으로 여러 문서가 합쳐져 단일 문서로 취급될 수 있다. 단어나 단어 스트링이 반복되지 않는 경우에 모든 병렬 및 비교 텍스트에서 단지 한번 발생해야 할 것이다. 또 다른 측면에서 모든 병렬 및 비교 텍스트에서 한번 이상 발생하든 그렇지 않든 관계없이 모든 단어나 단어 스트링에 대응하는 범위를 조사할 수 있다. 또 다른 측면에서 데이터베이스가 조회 대상 중 일부인 특정 단어나 단어 스트링들을 분석함으로서 구축될 수 있다. 단어나 단어 스트링이 번역될때 본 발명은 web-crawlers 및 그 외 다른 디바이스를 사용하여 인터넷에 교차-언어 텍스트를 위치시키고 조회의 분석과 충분히 이용 가능한 교차-언어 재료의 부족에 기초하여 누락 상관을 공급하도록 사용자에게 요청함으로써 분석되지 않고 메모리에 저장된 교차-언어 문서에서 단어나 단어 스트링의 복수 발생을 검색할 수 있다.
본 발명은 단어의 정확한 위치에 따라 좌우되는 단어 스트링들을 분석할 수있으며 어법, 스타일, 약어와 같은 문법적 표현과 단어 선택을 할 수 있다. 이러한 단어 스트링 상관은 이중 중복 번역 기술에도 유용하다.
본 발명은 더 큰 단어 스트링 내의 단어나 단어 스트링 부분집합이 상기 더 큰 단어 스트링에 대한 상관으로 꾸준히 나타나는 상황을 해결할 수 있다. 본 발명은 빈도 귀환을 조작하여 이러한 패턴들을 다룬다. 가령 이름이 완전한 이름("John Doe")으로나 "John", "Doe"과 같은 약어로 제시된다. 본 발명은 단어 스트링 복귀보다 더 개별적인 단어 복귀를 검색함으로서(즉 완전한 이름인 "John Doe"보다 "John", "Doe"을 검색) 단어 스트링을 구성하는 단어가 구절의 일부와 개별적으로 카운트될 수 있기 때문에 등급을 변화시키는 메카니즘이 활용되어야 한다. 가령 한 문서에서 "John Doe"은 100회 나타나지만 "John Doe"의 일부나 그 자체로서 "John"은 120번 나타나고 "John Doe"의 일부나 그 자체로서 "Doe"는 110회 나타날 수 있다. 통상의 번역은 "Doe"보다 "John"에 더 높은 등급을 주며 이들은 "John Doe"보다 높은 등급이다. 부분집합(또는 개별적 리턴)의 발생에서 더 큰 단어 스트링의 발생 횟수를 뺌으로써 정확한 순서 지정이 가능하다. 따라서 "John"의 발생 빈도인 120에서 "John Doe"의 발생빈도인 100을 뺌으로써 "John"에 대해 보정된 리턴은 20이다. 이러한 분석의 적용은 단어 스트링"John Doe"의 발생빈도 100, "John"의 발생 빈도 20, "Doe"의 발생 빈도10을 생성하여 정확한 상관을 생성한다.
이러한 문제는 이름에 국한되지 않으며 통상의 구절에서 빈번히 나타난다. 가령 단어 스트링 "I Love you"가 다른 언어의 가장 빈번한 문자 스트링 상관으로 번역될 때마다, 다른 언어에서의 "love"에 대한 단어는 이와는 독립적으로 상관될수 있다. 추가로 단어 스트링이 다른 문서에서 상이하게 번역될 경우 "love"가 다시 상관될 수 있다. 이것은 제1 언어로 된 "I Love you"의 번역을 위해 제2 언어로 된 "I Love you"대신에 제2언어로 된 "love"로 복귀한다. 그러므로 더 큰 열의 상관을 등급을 매길때 다시 한번 시스템은 모든 부분집합 상관의 빈도에서 더 큰 단어 스트링 상관의 빈도의 수를 뺀다. 이 개념이 도1에 제시된다.
또한 단어 및 단어 스트링 상관 빈도를 카운트할 때 데이터베이스는 "it","an","a","of","in"과 같은 공통 단어를 무시할 수 있다. 이것은 주어진 범위의 일부로서 수많은 공통 단어에 의해 왜곡되지 않는 진짜 상관 빈도를 더욱 정확히 반영한다. 이것은 본 발명의 데이터베이스 생성 기술이 과도한 뺄셈을 하지 않고 공통 단어가 분석을 왜곡하는 것을 방지하게 한다. 이러한 상용 단어가 상관 데이터베이스에서 빠지지 않을 경우, 적절하지 않다면, 이들은 번역으로 인정되지 않는다. 왜냐면 이중 중복 절차가 이를 허용하지 않기 때문이다.
단어 및 단어 스트링의 공통 발생 횟수를 정확히 반영하기 위해 상관 빈도를 조절하는 다른 계산법이 사용될 수 있다. 가령 분석된 단어의 범위가 중복될 경우 이중-카운트를 방지할 조절이 필요하다. 더욱 정확한 상관 빈도를 구축하기 위해 조절이 바람직하다. 본 발명에 따라 교차-아이디어 데이터베이스를 생성 및 보충하는 방법 및 장치가 2개의 문서를 사용하여 기술되며, 아래의 표가 재생성된다.
문서(A)(언어A) 문서B(언어B)
X Y Z X W V Y Z X Z AA BB CC AA EE FF GG CC
이 문서는 반복 단어 및 단어 스트링에 대해 집중될지라도 이것은 예시적 목적일 뿐이다. 모든 비교 및 병렬 문서를 사용하여 반복 단어 및 단어 스트링이 분석된다.
위의 두 문서를 사용하여 다음 단계가 데이터베이스 생성 기술에서 나타난다.
단계 1. 범위의 크기 및 위치가 결정된다. 위치 및 크기는 사용자에 의해 한정되거나 다양한 방법으로 근사화 된다. 두 문서의 단어 카운트는 대략 동일하므로(문서A에서 10개, 문서B에서 8개) 문서A의 단어나 단어 스트링의 위치와 일치하도록 범위의 중간점을 위치시킬 수 있다. (문서 간의 단어 카운트 비율이 80%이므로 범위의 위치는 분수4/5를 사용하여 확정될 수 있다). 본 예에서, 3의 범위 크기나 값은 벨 곡선을 근사하는 데 있어 최적의 결과를 제공할 수 있다. 이 범위는 문서의 시점과 종점에서 (+/-)1 일 것이고, 중간부에서 (+/-) 2일 것이다. 그러나, 표시하는 바와 같이, 이 범위(또는 이 범위 결정에 사용되는 방법)는 사용자에 의해 규정된다.
단계 2. 그다음, 문서 A의 제 1 단어가 검사되고 문서 A에 대해 테스트되어, 문서의 상기 단어의 발생 빈도 수가 결정된다. 본 예에서, 문서 A의 제 1 단어는 X이다. X는 문서 A에서 세 번 나타난다(위치 1, 위치 4, 위치 9). 단어나 단어 스트링의 위치 번호는 문서의 상기 단어나 단어 스트링의 다른 단어들에 대한 위치이다. 따라서, 위치 번호는 구두점을 무시한 문서 내 단어의 수에 해당한다. 예를 들어, 문서에 10개의 단어가 있고 단어 "king"이 두 번 나타날 경우, 단어 "king"의위치 번호는 이 단어가 나타나는 위치들이다.
단어 X가 문서에서 두 번이상 나타나기 때문에, 이 과정은 다음 단계로 진행된다. 단어 X가 한번만 나타날 경우, 상기 단어는 뛰어넘게 되고, 이 과정은 다음 단어로 이어지고 생성 과정이 계속된다.
단계 3. 위치 1에서 제 1 언어 단어 X에 대해 가능한 제 2 언어 번역이 되돌아온다. 문서 B에 상기 범위를 적용하면, 문서 B에서 위치 1과 2(1 +/- 1)에서 단어들을 도출한다. AA와 BB(문서 B의 위치 1과 2에 위치함). 모든 가능한 상관이 X에 대한 잠재적 번역이나 관련 상관으로 되돌아온다. AA, BB, AA BB(단어 스트링 상관). 따라서, X1(단어 X의 첫 번째 발생)은 AA, BB, AA BB를 상관으로 되보낸다.
단계 4. 단어 X의 다음 위치가 분석된다. 이 단어(X2)는 위치 4에서 발생한다. 위치 4가 문서의 중앙 근처이기 때문에, 앞서 결정된 범위는 위치 4의 양쪽에 두개의 단어일 것이다. 가능한 상관은 문서 B의 단어 4를 봄으로서, 그리고 범위를 적용함으로서 되돌아온다. 따라서, 단어 4 앞에 두개의 단어, 단어 4 뒤에 두개의 단어가 되돌아온다. 따라서, 위치 2, 3, 4, 5, 6에서 단어들이 되돌아온다. 이 위치들은 문서 B의 단어 BB, CC, AA, EE, FF에 해당한다. 이 단어들의 모든 순방향 순열이 고려된다. 따라서, X2는 BB, CC, AA, EE, FF, BB CC, BB CC AA, BB CC AA EE, BB CC AA EE FF, CC AA, CC AA EE, CC AA EE FF, AA EE, AA EE FF, 그리고 EE FF를 가능한 상관으로 되보낸다.
단계 5. X(위치 1)의 제 1 발생 결과는 X(위치 4)의 제 2 발생의 결과와 비교되고, 일치 여부가 결정된다. 두 범위의 중복에서 발생하는 동일한 단어나 단어스트링을 포함하는 결과가 단일 발생으로 감소되어야 함을 주목하여야 한다. 예를 들어 본 예에서, 위치 2의 단어가 BB이고, 이는 X의 제 1 발생에 대해 그리고 X의 제 2 발생에 대해 모두 되돌아온 값이다. 이 동일한 단어 위치가 X1 및 X2에 대해 되돌아오기 때문에, 단어는 한개의 발생으로 카운트된다. 그러나 동일한 단어가 중복 범위에서 되돌아오지만 서로 다른 두 단어 위치로부터 되돌아올 경우, 이 단어는 두 번으로 카운팅되며 상관 빈도가 레코딩된다. 이 경우에, 단어 X에 대한 결과는 AA이다. 왜냐하면 상기 단어(AA)가 X1 및 X2 모두에 대한 상관 결과에서 나타나기 때문이다. 두 상관 결과에서 발생하는 나머지 단어는 BB이다. 그러나, 앞서 설명한 바와 같이, 상기 단어가 X의 제 1, 2 발생에서 범위의 동작에 의해 도달되는 동일한 위치이기 때문에, 이 단어는 무시될 수 있다.
단계 6. 단어 X(위치 9)(X3)의 다음 위치가 분석된다. (문서 끝 부분에서) (+/-)1 의 범위를 적용하면, 문서 B의 위치 8, 9, 10에서 상관이 나타난다. 문서 B가 8개의 위치만 가지기 때문에, 이 결과는 잘려나가게 되고, 단어 위치 8만이 X의 가능 값(CC)으로 되돌아온다. (주: 대안으로, 사용자 규정 매개변수는 위치 8과 그다음 최근거리 위치(위치 7의 GG)를 되돌릴 수 있도록 분석의 일부분으로 두 문자의 최소값을 요청할 수 있다).
X3의 결과를 X1의 결과와 비교하면, 어떤 일치점도 발견되지 않고 따라서 상관이 없다.
단계 7. 단어 X의 다음 위치가 분석된다. 그러나, 문서 A에는 단어 X의 발생이 더 이상 없다. 이 시점에서, 1의 상관 빈도가 언어 A의 단어 X에 대해, 언어 B의 단어 AA에 성립된다.
단계 8. 단어 X의 추가 발생이 없기 때문에, 이 과정은 단어 단위로 증가하고 단어 스트링이 테스트된다. 이 경우에, 검사되는 단어 스트링은 문서 A의 첫 번째 두 단어인 "X Y"이다. 단계 2-7에 기재된 것과 동일한 기술이 이 어구에도 적용된다.
단계 9. 문서 A를 봄으로서, 단어 스트링 X Y의 발생이 한번 뿐임을 알 수 있다. 이 시점에서, 증가 과정이 중단되고, 어떤 데이터베이스 생성도 일어나지 않는다. 종점에 도달하였기 때문에, 다음 단어가 검사된다(단어 스트링에 대한 일치가 없을때마다 이 과정이 발생된다). 이 경우에 문서 A의 위치 2의 단어는 "Y"이다.
단계 10. 단어 "Y"에 대해 단계 2-7의 과정을 적용하면, 다음의 결과를 얻을 수 있다. 즉, 단어 Y의 두 발생(위치 2, 위치 7)이 나타나, 데이터베이스 생성 과정이 계속된다. (다시, Y가 문서 A에 한번만 나타날 경우, Y는 검사되지 않을 것이다). 위치 2에서 범위 크기는 (+/-) 1 단어이다.
문서 B에 범위를 적용하면(단어 Y의 제 1 발생 위치인 위치 2), 문서 B의 위치 1, 2, 3에서 결과를 얻을 수 있다.
이렇게 나타난 위치에서 대응하는 외국어 단어는 AA, BB 및 CC이다. 순방향 교환을 적용하면, Y1에 대하여, AA, BB, CC, AA BB, AA BB CC 및 BB CC의 가능성이 도출된다.
Y의 다음 위치가 분석된다(위치7).
위치7에서 범위크기는 (+/-)2 단어이다.
문서 B에 상기 범위(위치 7)를 적용하면, 위치5, 6, 7 및 8에서 EE FF GG 및 CC가 나타난다.
모든 교환은 Y2에 대해 하기 가능성을 제공한다. EE, FF, GG, CC, EE FF GG, EE FF GG CC, FF GG, FF GG CC 및 GG CC.
Y1으로부터 매치 결과들은 유일한 매치(match)로서 CC를 제공한다.
Y1 및 Y2를 위한 결합매치들은 Y에 대한 상관 빈도로 CC를 제공한다.
단계11
범위증가의 종료. 단어Y에 대한 유일한 매치(단어 CC)가 Y의 제 1 발생에 대한 범위의 종료시 형성되기 때문에(문서 B의 위치 3에서 CC가 발생됨), 위치(1, 2, 3, 4)를 제공하기 위해 제1 발생에서 범위가 1 만큼 증가된다. 즉, AA, BB, CC, AA 또는, 다음의 순방향 교환, 즉, AA, BB, CC, AA BB, AA BB CC, AA BB CC AA, BB CC, BB CC AA, CC AA. 상기 결과를 적용하면 Y에 대한 가능한 번역으로서 CC가 여전히 도출된다. 앞서 도출된 매치가 제 1 발생에 대한 범위의 말미에서 나타났기 때문에 범위가 증분되었다. 이 패턴이 발생할 때마다, 범위 증분의 말미는 완료 보장을 위한 서브단계(또는 대안의 단계)로 발생될 것이다.
단계 12
문서 A 에서 더 이상 "Y"의 발생이 존재하지 않기 때문에, 상기 분석이 문서 A에서 한 단어를 증가시키고, 단어 스트링 "Y Z"가 검사된다(단어 Y 다음의 단어). 다음 스트링(Y Z)으로 증분하여 과정을 반복하면 다음과 같은 결과를 얻을 수 있다. 즉, 문서 A에 단어 스트링 Y Z가 두 번 나타나고, 제 1 발생(Y Z1)에서 Y Z에 대한 위치 2 및 7의 가능성은 AA, BB, CC, AA BB, AA BB CC, BB CC 이다(주: 선택적으로 언어 A에서 분석되는 단어 스트링들이 길어짐에 따라 범위의 크기확장을 포함하도록 범위 매개변수들이 규정될 수 있다). 제 2 발생(Y Z2)에서 Y Z의 가능성은 EE, FF, GG, CC, EE FF, EE FF GG, EE FF GG CC, FF GG, FF GG CC 및 GG CC 이다.
매치들은 단어 스트링 Y Z에 대한 가능한 상관으로 CC를 도출한다.
범위(범위 증분의 말미)를 확장시키면, Y Z에 대하여 다음의 결과를 얻을 수 있다. AA, BB, CC, AA BB, AA BB CC, AA BB CC AA, BB CC, BB CC AA 및 CC AA. 상기 결과들을 적용시키면, 단어 스트링 Y Z에 대한 상관 빈도로 CC가 도출된다.
단계 13
"Y Z"의 발생이 더 이상 문서 A에 존재하지 않기 때문에, 상기 분석은 문서 A에서 한 단어를 증가시키고, 단어 스트링" Y Z X"가 검사된다. ( 위치 3에서 단어 Z 다음의 단어). 다음 단어 스트링(Y Z X)로 증가 및 과정의 반복( YXZ 가 문서 A 내에서 2회 반복한다. )은 하기 과정을 발생한다.
위치(2, 3, 4, 5)에서 YXZ의 제 1 발생을 위한 귀환.
교환은 BB, CC, AA, EE, BB CC, BB CC AA, BB CC AA EE, CC AA, CC AA EE, 및 AA EE.
위치 (5, 6, 7, 8)에서 Y Z X 의 제 2 발생을 위한 귀환.
교환은 EE, FF, GG, CC, EE FF, EE FF GG, EE FF GG CC, FF GG, FF GG CC 및GG CC 이다.
두 개를 비교하면 단어 스트링 Y Z X을 위한 관계 빈도로서 CC가 형성된다. 가능한 관계로서 EE의 귀환이 동일 단어 (즉 동일 위치에서 )로서 방해되기 때문에, 무시된다.
단계 14
다음 단어 스트링(YZ XW)로 증가는 단지 한 개의 발생을 거친다. 따라서 단어 스트링 데이터베이스형성이 완료되고, 다음 단어가 검사된다. Z (문서 A에서 위치 3)
단계 15
문서 A에서 3회 발생하고 Z를 위한 상기 단계를 적용하면, 하기 과정이 발생된다.
Z1을 위한 귀환은 AA, BB, CC, AA, EE, AA BB, AA BB CC, AA BB CC AA, AA BB CC AA EE, BB CC, BB CC AA, BB CC AA EE, CC AA, CC AA EE 및 AA EE이다.
Z2를 위한 귀환은 FF, GG, CC, FF GG, FF GG CC, 및 GG CC 이다.
Z1 및 Z2를 비교하면 Z를 위한 관련 빈도로서 CC가 발생된다.
Z3(위치 10)은 정의된 것과 같이 범위내에서 귀환을 가지지 못한다. 그러나 각 언어 A 및 단어 스트링을 위한 적어도 한 개의 귀환이 존재해야 하는 변수를 추가한다면, Z를 위한 귀환은 CC이다.
Z3 및 Z1을 위한 귀환을 비교하면 단어 Z를 위한 관련 빈도로서 CC가 발생된다. 그러나 단어위치 8 내에서 CC는 상기 Z2의 관계에서 이미 카운트되었기때문에, 상기 관계는 고려되지 않는다. 중복 범위에 의해 과정은 발생을 이중으로 카운트할 때, 정확한 발생횟수를 더욱 정확히 반영하기 위해 관련 빈도를 장치가 감소시킨다.
단계 16
다음 단어 스트링으로 증가하면 단어 스트링 Z X가 발생되고, 이는 문서 A 내에서 2회 발생된다. Z X 에 상기 단계들을 적용하면 하기 과정이 제공된다.
Z X1에 대한 결과는 BB, CC, AA, EE, FF, BB CC, BB CC AA, BB CC AA EE, BB CC AA EE FF, CC AA, CC AA EE, CC AA EE FF, AA EE, AA EE FF, 및 EE FF 이다.
Z X2에 대한 결과는 FF, GG, CC, FF GG, FF GG CC 및 GG CC 이다.
상기 결과들을 비교하면, 단어 스트링 Z X 와 CC사이의 상관 관계가 형성된다.
단계 17
증분에 따라 다음 단어 스트링은 Z X W이다. 이는 단지 일회만 발생하여, 문서 A 내에서 다음 단어(X)가 검사된다.
단계 18
단어 X가 이미 제 1 위치에서 검사되었다. 그러나 단어 x에 대한 가능한 결과로서, 다른 문서에 대한 단어(X)의 제 2 위치는 검사되지 않았다. 따라서, (제 2 위치의) 단어 X가 단어 X의 제 1 발생에서처럼 처리되고, 문서내에서 순방향으로 이동한다.
위치 4에서의 X에 대한 결과는 BB, CC, AA, EE, FF, BB CC, BB CC AA, BB CCAA EE, BB CC AA EE FF, CC AA, CC AA EE, CC AA EE FF, AA EE, AA EE FF, EE FF이다.
위치 9에서 X에 대한 결과는 CC를 발생시킨다.
위치 9의 결과를 위치 4에 대한 결과와 비교하면, 단어 X에 대한 가능한 매치로서 CC가 도출되며, 이것이 상관 빈도로 부여된다.
단계 19
(문서를 순방향으로 볼 때, X의 제 2 발생에 비교하기 위한 X의 추가적 발생이 없기 때문에) 다음 단어 스트링으로 증분하면, 단어 스트링 X W가 도출된다. 그러나, 이 단어 스트링은 문서 A 내에 한번만 발생하며, 따라서, 과정은 다음 단어 (W)를 검사하게 된다. 단어 W는 문서 A에 한번만 나타나며, 따라서 다음 단어 스트링에 대해서가 아니라 문서 A의 다음 단어에 대해 구현이 이루어진다. 왜냐하면, 단어 W가 한번만 발생하기 때문이다. 단어 W가 문서 A에 한번만 나타나고, 따라서 다음 단어 Y가 검사된다. 단어 Y는 문서 A의 위치 7보다 높은 다른 위치에서는 발생하지 않아, 다음 단어 Z가 검사된다. 단어 Z는 위치 8 이후에 위치 10에서 다시 발생한다.
단계 20
단어 Z 의 제 2 발생에 대하여 상술한 과정을 적용하면, 다음의 결과가 도출된다.
위치 8에서 Z에 대한 결과는 GG, CC, 및 GG CC이다.
위치 10에서 Z에 대한 결과는 CC이다.
위치 10의 결과를 위치 8의 결과와 비교하면, 단어 Z에 대해 어떤 상관도 도출되지 않는다.
다시, 단어 CC가 가능한 상관으로 나타난다. 그러나, CC는 위치 8에서 Z를, 위치 10에서 Z를 분석함으로서 도달하는 동일한 단어 위치를 표현하기 때문에, 상관이 무시된다.
단계 21
한 단어만큼 증분함으로서, 단어 스트링 Z X가 발생된다. 상기 단어 스트링은 문서 A 내에서 또다른 순방향 위치들내에서 발생되지 못하여, 과정은 문서 A의 다음 단어 X 에서 새로 개시된다. 단어 X는 문서 A 내에서 또 다른 (순방향) 위치에서 발생되지 못하고, 과정은 새로 개시된다. 이에 따라 문서 A 의 종료에 도달하고, 분석이 종료된다.
단계 22
상기 과정의 모든 결과들을 결합하고 상술한 바의 중복사항을 제거하여 최종 관련 빈도가 계산된다.
문서 A의 단어 및 단어 스트링에 대해 결론적 결과를 내보내기에는 데이터가 불충분하다. 앞서 검사된 상기 상관들과 함께 상기 단어들 및 단어 스트링을 포함한 상대적으로 많은 문서 쌍이 검사됨에 따라, 관련빈도가 확률적으로 더욱 신뢰성을 가져서 언어 A 및 B 사이의 단어들 또는 단어 스트링들이 단어 및 단어 스트링의 가능한 번역을 위한 관계를 형성한다.
컴퓨터 프로그램 리스팅 부록에 제시된 프로그램1은 데이터베이스 생성 방법의 한 실시예를 구현하기 위한 프로그램의 예에 해당한다. 프로그램1은 당 분야에 잘 알려진 종류의 컴퓨터 시스템에서 실행될 수 있다.
위에서 제시된 바와 같이, 상기 실시예는 상관을 생성하기 위한 기술을 나타낸다. 본 발명의 기술은 언어번역에 국한되지 않는다. 넓은 의미에서, 상기 기술이 관련된 동일한 아이디어의 두 가지 표현들에 적용되고, 서로 다른 단어들 또는 단어 스트링들에 의해 표시되는 동일한 아이디어에 관한 관련 쌍으로서 존재한다. 따라서 본 발명은 모든 감지된 (청각, 시각, 후각 등의 ) 경험을 나타내는 아이디어를 포함하여, 관련 데이터, 음성, 음악, 비디오 또는 아이디어로서 존재하는 광범위한 개념에 적용된다. 요건 사항은 본 발명이 두 개가 실시예를 분석하는 것이다(언어번역시 실시예는 문서이고, 음악의 경우 실시예는 악보 등이다).
다른 실시예에서, 당 분야에 잘 알려진 규칙-본위 알고리즘이 교차-아이디어 상관 학습에 포함될 수 있다. 그래서, 이름, 번호, 날짜 등과 같은 교환가능한 내용 및 의미를 의도하는 일부 텍스트 종류들을 취급할 수 있다.
이외에, 가용한 교차언어문서가 통계적으로 의미있는 번역 결과를 제시하지 못할 경우, 사용자는 번역에 대한 가능한 선택 및 그 외 다른 상관을 검사할 수 있고, 적절한 선택을 승인하여 순위를 매길 수 있다.
앞서 설명한 바와 같이, 상관 빈도에 대하여 번역 쌍의 문서들이 많을수록 단어 및 단어 스트링들간 상관 빈도가 점점 커진다. 더 많은 언어 쌍들의 문서들이 검사됨에 따라, 본 발명의 방법 및 장치는, 언어쌍들간 직접적으로가 아니라, 제 3 언어와의 공통 상관을 가진 언어들을 바탕으로 언어쌍들간 "유추 상관(deducedassociations)"을 축적하기 시작할 것이다. 추가적으로, 번역된 문서들이 여러 언어로 존재할 경우 공통 상관 결과는, 단 하나의 공통 상관이 모두 사이에 존재할 때까지, 여러 언어들 사이에서 분석될 수 있다. 컴퓨터 프로그램 리스팅 부록에 제시된 프로그램2는, 당 분야에 잘 알려진 컴퓨터 시스템과 연계하여 동작할 때, 본 발명이 한 실시예에서 이 언어들의 데이터가 사용되는 방법을 제공하는 컴퓨터 프로그램의 한 예에 해당한다.
존재하는 상태의 표현들이 다른 상태의 데이터위치들에 대해 인위적으로 부여된 특정 상관관계를 가지고 있고 데이터베이스에 목록화될 경우, 상기 두 개의 상태들사이의 변환이 가능하다. 예를 들어, 한 형태, 상태 또는 언어로 표현된 각 "아이디어"가 전자기파(톤(tone))에 대한 상관관계를 부여받으면, 상기 아이디어의 "전자기적 표현"이 생성될 것이다. 일단 주어진 개수의 아이디어들이 해당 전자기표현으로 인코딩되면, (아이디어형태의) 데이타가 전자기파로 변환되고 즉시 종래기술의 통신기반구조 상에서 즉시 전달된다. 전자기파가 목적 장치에 도달하면, 상기 장치는 상기 전자기파들을 개별적인 성분들로 합성하고, 이러한 상관 하에서(주문 기반구조, 상기 설명의 이중중복 기술 및/또는 다른 방법과 함께), 전자기적 표현에 의해 표현된 개별적 아이디어들을 제공한다.
아이디어 변환 방법 및 장치
본 발명의 다른 특징은 제 1 상태, 형상 또는 언어의 데이타로 구성된 제 1 문서로부터 제 2상태, 형상 또는 언어의 데이타로 구성된 제 2 문서를 생성하는 방법 및 장치를 제공하는 것으로서, 결과적으로, 제 1, 2 문서들이 동일한 아이디어나 정보를 표현하고, 이때, 이 방법과 장치가 교차-아이디어 상관 데이터베이스를 이용하는 것이다. 변환 방법의 모든 실시예들은 한 상태로부터 다른 상태로 아이디어를 정확히 번역하기 위해 이중중복 기술을 이용한다. 대조적으로 종래기술의 번역장치는 개별단어의 번역에 중점을 두거나 제 1 언어로부터 제 2 언어로 번역을 용이하게 하는 특별한 규칙-본위 코드를 이용한다. 중복기술을 이용하는 본 발명에 의해 제 2 언어로 된 단어들 및 단어 스트링들이 유기적으로 연결되고, 상기 단어들 및 숙어들이 제2 언어로 씌어지도록 정확한 문맥으로 정확하게 번역된다.
본 발명의 실시예에서 데이터베이스를 형성하기 위한 방법 및 중복기술이 정확한 언어번역을 위해 결합된다. 상기 언어들은 어떤 조율의 변환도 가능하고, 구어/문어에 한정되지 않는다. 예를 들어, 이 변환이 컴퓨터 언어, ASCⅡ와 같은 특정 데이터코드 등을 포함할 수 있다. 이러한 데이터베이스는 동적이다. 즉, 변환 시스템에 콘텐트가 입력됨에 따라 데이터베이스가 성장하며, 앞서 입력된 콘텐트를 이용하여 변환 시스템의 순차적 반복이 일어난다. 본 발명의 선호되는 실시예는 종래기술에서 용이하게 이용되는 개인용 컴퓨터장치와 같은 연산장치를 이용한다. 그러나 본 시스템은 이러한 연산 장치를 이용할 필요가 없고, 데이터베이스의 수동 색성 및 변환 방법을 포함하는 다른 수단에 의해 쉽게 달성될 수 있다.
본원 발명은 적어도 1개의 디스플레이 수단, 입력 방법, 출력 방법, 그리고 프로세서를 보유하는 통상적인 컴퓨터 시스템에서 이용될 수 있다. 디스플레이 수단은 선행 기술에서 가용한 수단, 예를 들면 음극선 단말기, 액정 디스플레이, 평면 디스플레이 등일 수 있다. 프로세서 수단 역시 선행기술에서 가용하고 컴퓨터환경에 사용될 수 있는데, 이런 프로세서 수단은 컴퓨터가 본원 발명을 실행하도록 작동시킨다. 최종적으로, 입력 방법은 교차-상관(cross-association) 데이터를 구축하는 목적으로 문서의 입력을 가능하게 하는데 이용된다; 전술한 바와 같이, 디지털 형태로의 변환을 위한 특정 입력 방법은 사용자의 필요에 따라 변경할 수 있다.
수동 데이터베이스 생성 및 이중-중복(double-overlap) 기술을 통한 번역
단어 및 단어 스트링(string)의 번역을 사용자에게 질의하고 이중-중복(double overlapping) 기술로 구절을 자동 번역함으로써 교차 언어 데이터베이스를 개발하는 본원 발명에 따라, 첫 번째 언어에서 두 번째 언어로 문서를 번역하는 방법과 장치의 한 실시예가 이제부터 설명될 것이다.
적절한 실시예를 설명하기 위하여, 영어 데이터의 히브리어 번역을 예로 기술한다. 이런 선택은 본원 발명을 설명하기 위한 것으로, 첫 번째와 두 번째 언어를 제한하지 않는다.
본원 발명의 적절한 실시예에 따라, 컴퓨터 시스템은 영어에서 히브리어로의 번역간 상관 데이터를 생성한다. 번역 방법에는 적어도 다음의 단계가 포함된다:
첫째, 영어로 된 데이터를 컴퓨터 시스템에 입력한다.
둘째, 영어로 입력된 모든 단어를 단어별로 먼저 검사한다. 데이터베이스는 히브리 번역어를 제공할 것이다. 번역어가 데이터베이스에 포함되어 있지 않으면, 컴퓨터 시스템은 사용자에게 적절한 번역어를 입력하도록 요청하는 방식으로 작동한다. 따라서, 데이터베이스가 입력 영어 단어에 상응하는 히브리어를 제공하지 못하면, 컴퓨터는 사용자에게 적절한 히브리어 대응어를 제공하도록 요청한다. 이후, 사용자는 번역어를 제공하고 상기 번역어를 데이터베이스에 입력한다. 차후 이용시, 컴퓨터 시스템은 이런 번역이 좀더 이른 시점에 사용자에 의한 입력에 의해 제공되도록 하는 방식으로 데이터베이스를 작동시킨다. 따라서, 두 번째 단계에서 입력 데이터가 분석된 상태로(예, 단어별로) 검사되고 적절한 번역어가 제공되거나 데이터베이스에 입력된다.
셋째, 입력 데이터는 분석되는 구절들을 증가시키는 방식으로 검사된다. 가령, 데이터가 먼저 단어별로 분석되면, 본원 발명의 번역 방법은 2-단어 스트링을 평가하여 입력 데이터를 검사한다. 다시 말하면, 전술한 바와 유사한 방식으로 데이터베이스는 확인된 2-단어 스트링에 대한 번역을 제공한다. 제공되지 않는 경우에 번역 시스템은 모든 가능한 2-단어 스트링에 대한 적절한 번역을 입력하도록 사용자에게 요청한다. 이후, 모든 중복된 2 단어 구절이 데이터베이스에 저장된다. 가령, 한 단어 스트링이 4개의 단어로 구성될 경우, 데이터베이스는 메모리 내의 번역된 다음의 조합을 가지는 지를 확인한다. 1,2 2,3 3,4. 그렇지 않으면, 사용자에 요청한다. 데이터베이스가 두 번째 단계에 의하여 각 단어의 정의를 필연적으로 포함하긴 하지만, 2-단어 스트링에 대하여 구체적으로 인코딩된 번역어들만이 정확한 번역어로 제공될 것이다.
넷째, 2개의 중복된 2-단어 영어 스트링의 히브리어 번역이 중복 단어를 가지면, 시스템은 중복된 구절을 결합하는 방식으로 작동한다. 중복부분에서 잉여의 히브리어 구절을 제거하여, 2개의 중복된 영어 스트링을 결합함으로써(그리고 영어중복부분에서 잉여를 제거함으로써) 생성되는 3-단어 영어 스트링의 일관된 번역을 제공한다. 상기 단계는 1회 내지 무한 단계로 실시하여 적절한 번역을 제공할 수 있다. 이 번역 방법은 중복부분을 통하여 양 언어로 인코딩된 단어-블록들을 가교하는 일치된 스트링을 검정함으로써 자동적으로 실행된다. 양 언어에서 일치된 중복-가교에 대한 이런 자동적인 승인은 데이터가 임계량(critical mass)에 도달하게 되면 완전한 정확성으로 양 언어간을 번역하는 언어 네트워크를 제공한다.
예로써, 영어 구문 "I want to buy a car"를 고찰한다. 본원 발명에 따른 방법의 실시직후, 이 구문은 데이터베이스를 작동시키는 컴퓨터로 입력된다. 컴퓨터는 데이터베이스가 다음의 단어: "I", "want", "to", "buy", "a", "car"에 대응하는 히브리어를 포함하는 지를 결정한다. 이런 등가물이 확인되지 않으면, 컴퓨터는 사용자에게 적절한 히브리어 번역을 제공하도록 요청하고 추후 이용을 위하여 이런 번역을 저장한다. 이후, 컴퓨터는 이 문장을 중복 방식으로 2-단어 구절: "I want", "want to", "to buy", "buy a", "a car"로 분석한다. 컴퓨터는 이들 구절의 히브리어 등가물(즉, "I want" 등의 히브리어 등가물)을 제공한다; 이런 히브리어 등가물이 확인되지 않으면, 컴퓨터는 사용자에게 적절한 히브리어 번역을 제공하도록 요청하고 추후 이용을 위하여 이런 번역을 저장한다.
이후, 본원 발명은 3-단어 구절 "I want to", "want to buy", "to buy a", "buy a car"를 검사한다. 이 시점에서 본원 발명은 각 히브리어 번역 쌍의 결합을 시도하는데, 여기서, 해당하는 2-단어 영어 번역이 중복되고 결합되어 각각의 3-단어 영어 번역 질의어가 만들어진다(예, "I want"와 "want to"는 "I want to"로 통합된다). 히브리어 구절이 서로 연결되는 공통의 중복부분을 가지면, 번역 방법은 사용자 간섭없이 3-단어 영어 단어 스트링의 히브리어 번역을 자동적으로 승인한다. 히브리어 구절이 중복되지 않고 결합되면, 사용자는 정확한 번역을 요청받게 된다. 3-단어 영어 스트링에 대한 정확한 번역 시도이후, 프로세스는 4-단어 스트링 등으로 진행하고 검사 구절이 완결될 때까지(여기에서는 완전한 구문 "I want to buy a car") 교차-언어 중복(cross-language overlap)을 통하여 번역 상관의 자동적인 해결을 시도한다. 이런 분석이후, 본원 발명의 방법은 답신된 번역 등가물을 비교하고 중복된 구절에서 잉여를 제거하며 번역된 구문을 사용자에게 출력한다.
상관 데이터베이스와 이중 중복 기술을 통한 문서 번역
다른 적절한 실시예로서 본원 발명은, 전술한 바와 같이 문서에서 단어와 단어-스트링에 대한 단어-스트링 번역을 제공하기 위해 교차-언어 데이터베이스를 이용함으로서, 그리고 문서의 번역어를 제공하기 위해 제 2 단어의 중복 단어 스트링들을 결합하기 위해 상술한 교차 언어 이중 중복 기술을 이용함으로서, 제 1 언어의 문서를 제 2 언어의 문서로 번역할 수 있다. 가령, 영어로 입력되고 히브리어로 번역되어야 하는 다음의 구문: "In addition to my need to be loved by all the girls in town, I always wanted to be known as the best player to ever play on the New York state basketball team"의 구성요소를 분해할 만큼 충분한 교차-언어 문서들에 접근하는 데이터베이스를 고찰한다.
전술한 프로세스를 통하여, 조작 방법은 구문 "In addition to my need tobe loved by all the girls"가 소스 문서의 첫 번째 단어에서 시작하여 데이터베이스에 존재하는 최대 단어-스트링이라는 것을 결정할 수 있다. 이는 데이터베이스에서 히브리어 단어 스트링 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot"과 상관한다. 이후, 상기 프로세스는 전술한 방법을 이용하여 다음의 번역-즉, 이전에 확인된 영어 단어 스트링과 중복되는 한 단어(또는 추가의 단어)를 갖는 번역 텍스트의 최대 영어 단어 스트링을 결정하는데, 이들 중복된 영어 단어 스트링에 대한 2개의 히브리어 번역 역시 중복 분절을 보유한다: "loved by all the girls in town"는 "ahuv al yeday kol habahurot buir"로 번역된다; "the girls in town, I always wanted to be known"은 "Habahurot buir, tamid ratzity lihiot yahua"로 번역된다; "I always wanted to be known as the best player"는 "tamid ratzity lihiot yahua bettor hasahkan hachi tov"로 번역된다; "the best player to ever play on the New York state basketball team"은 "hasahkan hachi tov sh hay paam sihek bekvutzat hahadursal shel medinat new york"으로 번역된다.
데이터베이스에 의한 이런 답신으로, 조작은 중복 단어와 단어 스트링을 비교하고 잉여를 제거하는 방식으로 작동한다. 이런 방식으로, "In addition to my need to be loved by all the girls"는 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot"로 번역된다; "loved by all the girls in town"은 "ahuv al yeday kol habahurot buir"로 번역된다. 본원 발명의 기술을 활용하여, 시스템은 영어 구절 "In addition to my need to be loved by all the girls"와 "loved byall the girls in town"을 받아들이고 히브리어 구절 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot"로 번역된다; "ahuv al yeday kol habahurot buir"를 답신하고 중복을 결정한다.
영어 구문은 다음과 같다: "In addition to my need to be loved by all the girls"와 "loved by all the girls in town". 중복부분을 제거하면 다음과 같다: "In addition to my need to be loved by all the girls in town".
히브리어 구문은 다음과 같다: "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot"와 "ahuv al yeday kol habahurot buir". 중복 부분을 제거하면 다음과 같다: "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir"
이후, 본원 발명은 다음 분석 구절을 작업하여 프로세스를 지속한다. 본 실례에서, 조작 프로세스는 구문 "the girls in town, I always wanted to be known"에서 작업한다. 시스템은 영어 구절 "In addition to my need to be loved by all the girls in town"과 새로운 영어 단어 세트 "the girls in town, I always wanted to be known"을 분석한다. 상응하는 히브리어 단어 세트는 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir"와 "Habahurot buir, tamid ratzity lihiot yahua"이다. 영어 중복부분을 제거하면 다음과 같다: "In addition to my need to be loved by all the girls in town"과 "the girls in town, I always wanted to be known"에서 "In addition to my need to be loved by all the girls in town, I always wanted to be known"
히브리어 중복부분을 제거하면 다음과 같다: "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir"와 "Habahurot buir, tamid ratzity lihiot yahua"에서 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir, tamid ratzity lihiot yahua".
본원 발명은 번역되는 문서의 나머지 단어와 단어 스트링에서 이런 유형의 작업을 지속한다. 따라서, 적절한 실시예에서, 다음의 영어 단어 스트링은 "In addition to my need to be loved by all the girls in town, I always wanted to be known"과 "I always wanted to be known as the best player"이다. 이들 구문에 대하여 데이터베이스에 의해 답신되는 히브리어 번역은 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir, tamid ratzity lihiot yahua"와 "tamid ratzity lihiot yahua bettor hasahkan hachi tov"이다. 영어 중복부분을 제거하면 "In addition to my need to be loved by all the girls in town, I always wanted to be known as the best player"이다. 히브리어 중복부분을 제거하면 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir, tamid ratzity lihiot yahua bettor hasahkan hachi tov"이다.
이런 프로세스를 지속하면 다음의 단어 스트링은 "In addition to my need to be loved by all the girls in town, I always wanted to be known as the best player"와 "the best player to ever play on the New York state basketball team"이다. 상응하는 히브리어 구문은 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir, tamid ratzity lihiot yahua bettor hasahkan hachitov"와 "hasahkan hachi tov sh hay paam sihek bekvutzat hahadursal shel medinat new york"이다. 영어 중복부분을 제거하면 "In addition to my need to be loved by all the girls in town, I always wanted to be known as the best player to ever play on the New York state basketball team"이다. 히브리어 중복부분을 제거하면 "benosaf Itzorech sheli lihiot ahuv al yeday kol habahurot buir, tamid ratzity lihiot yahua bettor hasahkan hachi tov sh hay paam sihek bekvutzat hahadursal shel medinat new york"인데, 이는 번역을 요하는 원문의 번역이다.
이런 프로세스의 완결직후, 본원 발명은 번역된 최종 원문을 제공하고 텍스트를 출력하도록 동작한다. 이러한 제공 결과는 상술한 과정에 따른 중복 상관들을 제공하는 데이터베이스의 최종 결과이다. 이런 프로세스를 통하여 본 시스템은 중복부분을 통하여 연속된 제 2 언어 구절과 자연적으로 부합하지 않는 제 2 언어의 결과를 최종적으로 수용하지 않는다. 히브리어 언어 결과가 연속된 히브리어 단어-스트링 상관과 정확한 중복부분을 갖지 않는다면, 이는 거부되고 연속된 히브리어 단어-스트링과 중복되는 히브리어 단어-스트링 상관으로 대체될 것이다.
컴퓨터 프로그램 리스팅 부록에 설명된 프로그램3은 이중-중복 기술을 이용한 수동 데이터베이스 생성 및 번역의 한 실시예를 구현하기 위한 프로그램의 한 예에 해당한다. 프로그램3은 당 분야에 잘 알려진 컴퓨터 시스템에서 실행될 수 있다.
교차-언어 상관 데이터베이스와 교차-언어 이중 중복 번역 기술을 결합하는상기 실시예는 한 상태에서 다른 상태로 정보를 동일화시키려는 기존의 기술, 예를 들면 당분야에 공지된 음성 인식 소프트웨어와 OCR 스캐닝 장치의 품질을 개선하는 다른 잠재적 이점을 갖는다. 이들 양 기술은 본원 발명의 번역 방법에 대한 이들 시스템의 결과를 검증할 수 있다. 번역어가 존재하지 않아 오류가 추정되는 경우에, 사용자에게 경고와 요청이 통보되거나 또는 시스템이 데이터베이스에서, 중복된 번역을 제시하도록, 중복되지 않은 번역에 대한 가까운 대안을 찾도록 프로그램될 수 있다. 물론, 사용자에 대한 모든 제시 결과는 원래의 언어로 다시 변환될 수 있다.
상관 데이터베이스 생성 방법 및 장치
본 발명의 또하나의 실시예는 단일 언어 내에 상관 데이터베이스를 생성하는 방법 및 장치를 제공하고, 또한, 사용자에 의해 제시되는 질의나 질문에 대한 답변을 제공하기 위해 상관 데이터베이스를 이용하는 방법 및 장치를 제공한다. 본 실시예에서, 상관 데이터베이스는 단어나 단어 스트링들간의 상관 결정 및 분석을 가능하게 하는 정보를 조직화하고 저장한다. 상관 프로그램은 본 발명의 방법들 중 일부를 구현할 수 있고, 본 발명의 데이터베이스를 구축하는 데 사용될 수 있으며, 단어나 단어스트링들 간의 상관을 결정하기 위해 데이터베이스에 저장된 정보를 분석하는 데 사용될 수 있다. 도 3은 프로세서에 의해 액세스하기 위한, 스마트 애플리케이션(302), 상관 프로그램(304), 데이터베이스(306), 그리고 운영 시스템(308)을 저장하는 컴퓨터 시스템(200)의 메모리(208)를 도시한다. 상관 프로그램(304)은 독립형 프로그램일 수도 있고, 스마트 애플리케이션(302)의 일부분을 형성할 수도있다. 상관 프로그램(304)은 스마트 애플리케이션(302)로부터의 질의에 따라, 또는, 입력 장치를 통해 사용자에 의해 직접 제출되는 질의에 따라, 단어 상관들을 결정하기 위해 데이터베이스를 분석할 수 있다.
본 시스템 및 방법은, 시스템에 입력된 문서의 텍스트를 분석함으로서, 그리고 분석된 텍스트의 구절들이 서로 상관되는 빈도 상관 데이터베이스를 생성함으로서, 구현된다. 이 구현은 문서의 다른 부분들에 대해 특정 부분의 발생 빈도와 위치를 바탕으로 한다. 분석된 텍스트의 구절들은 단어 및 단어 스트링들을 포함할 수 있다. 본 발명에 사용되는 문서들은 문서 데이터베이스에 저장되어, 문서의 액세스 및 분석을 용이하게 한다.
한 문서 내에서 서로에게 매우 근접하게 자주 나타나는 단어 및 단어 스트링들은, 시스템에게 질문에 답변하기를, 또는 액션을 취하기를 요청하는 인공 지능 또는 스마트 애플리케이션에 사용될 수 있다. 스마트 애플리케이션용으로 본 발명의 데이터베이스를 이용하는 목적은 스마트 애플리케이션에 의해 선택되는 두 개 이상의 단어나 단어 스트링들 중에서 공통된 제 3의 단어나 단어 스트링을 결정하는 것이다. 사용자는 각각 선택된 단어나 단어 스트링의 각각의 발생에 근접한 단어나 단어 스트링들로 문서의 범위를 규정할 수 있다. 그후 본 시스템은 상기 범위에 대해 공통인 단어나 단어 스트링들(즉, 공통인 제 3 의 단어나 단어 스트링들)을 검색한다. 각각 선택된 단어나 단어 스트링들의 범위 내의 공통적인 제 3의 단어나 단어 스트링들의 발생 빈도는 상관 데이터베이스에 저장될 수 있다(표 3 및 표 4 참조). 대안으로, 문서 데이터베이스에서 반복하여 나타나는 단어들의 발생빈도 및 위치들은 반복 단어 및 단어 스트링 데이터베이스(반복 데이터베이스라고도 불림)에 저장될 수 있다. 그 예는 표 5에 제시된다. 이 데이터베이스들을 이용하여, 상관 프로그램(304)은 사용자 규정 가중치나 그 외 다른 기준을 바탕으로 스마트 애플리케이션(302)에 의해 선택되는 두 개 이상의 단어나 단어 스트링들에 의해 공유되는 최고 순위의 제 3 의 단어 및 단어 스트링 관계들을 확립할 수 있다.
사용자 규정 범이 내에서의 상관 데이터베이스 구축
텍스트에서 서로 근접함을 바탕으로 관련 단어 및 단어 스트링들의 데이터베이스를 구축할 목적으로 단일 언어의 문서에 적용될 수 있는 빈도 상관 데이터베이스로 불리는 상관 데이터베이스의 한 종류를 구축하는 방법이 공개된다. 빈도 상관 데이터베이스의 한 예가 표 3에 나타난다. 이 방법은,
a. "문서 데이터베이스" 내 단일 언어 텍스트의 언어 자료를 조합한다. 언어자료가 많을수록 좋다.
b. 문서 데이터베이스 내 다중 발생되는 모든 단어나 단어 스트링을 검색한다.
c. 분석될 단어나 단어 스트링 중 어느 한쪽에 사용자가 규정한 수치의 단어나 단어 스트링들을 확립한다. 이는 범위로 작용할 것이다. 어떤 수의 단어로 규정됨에 추가하여, 이 범위는 사용자가 특정 애플리케이션용으로 규정함에 따라 폭넓게 규정될 수도 있고(단어나 단어 스트링이 발생하는 구체적 텍스트의 모든 단어들) 폭좁게 규정될 수도 있다(분석된 단어나 단어 스트링에 정확하게 근접하는 특정 크기의 단어 스트링).
d. 모든 각각의 단어 및 단어 스트링이 분석 중인 선택된 단어나 단어 스트링 주변의 범위 내에 나타나는 빈도를 결정하며, 필요에 따라서는 선택된 단어나 단어 스트링에 대한 근접성을 결정한다.
단일 언어의 다량의 문서들 사이에서의 상관 구축 예는 다음과 같다. 표 2에 도시되는 문장 1과 문장 2는 문서 데이터베이스 내의 두가지 문장에 해당하고, 전체 언어구조가 빈도 차트에 추가된 모든 결과와 함께 전체적으로 분석될 수 있다.
문장1 "I went to the doctor and I was sneezing a lot and he told me that the cold and the flu are going around like crazy and I should rest, keep taking Vitamin C, and a little chicken soup wouldn't hurt."
문장2 "As a doctor, I'm constantly seeing sneezing, red eyed patients asking what they can do to treat the flu, to which I reply, "the only things that really work are rest and time"
시스템은 반복 단어나 단어 스트링들을 찾을 것이다. 두 문장간의 반복 단어나 단어 스트링들은 다음과 같다.
"I", "to", "the", "doctor", "and", "sneezing", "a", "that", "flu", "are", "rest"
미국특허출원 10/024,473 호에 기술된 바와 같이, 일부 애플리케이션의 경우에, 시스템은 "I", "a", "to" 등과 같은 공통 단어들을 인식하고 무시하도록 지시받을 수 있다. 그러나, 이 공통 단어들은 시스템에 대한 특정 애플리케이션의 목적에 따라 수시로 데이터베이스에 포함되고 고려될 것이다. 공통 단어들이 무시되면, 그 결과는 다음과 같다.
"doctor", "sneezing", "flu", "rest"
이 범위가 어느쪽에서도 최대 30개의 단어를 포함한다고 규정될 경우, 시스템은 이들 단어들 각각의 30개 단어들 내에서 매 단어 및 단어 스트링의 발생 빈도를 레코딩할 것이다. 추가적으로, 시스템은 분석되는 단어나 단어 스트링들에 대한 각각의 단어나 단어 스트링들의 근접성에 또한 주목할 수 있다. 이러한 각각의 단어가 두 문장 내 나머지 단어들 각각의 30 단어 범위 내에 나타나기 때문에, 각각의 단어는 표 3에 제시되는 바와 같이 나머지 각각의 단어에 대해 하나마다 한 개의 빈도를 가질 것이다. 표 3은 빈도 상관 데이터베이스의 한 실시예를 도시한다.
단어/스트링 상관 단어/스트링 빈도
Doctor sneezing 1
flu 1
rest 1
Sneezing doctor 1
flu 1
rest 1
Flu sneezing 1
doctor 1
rest 1
Rest sneezing 1
doctor 1
flu 1
분석되는 단어 및 단어 스트링들의 범위 내에서 단어 및 단어 스트링들이 나타나는 빈도를 표시함과 동시에, 상관 데이터베이스는 분석되는 단어나 단어 스트링으로부터 X 단어들만큼 멀리 나타나는 단어 및 단어 스트링들의 빈도를 바탕으로 확립될 수 있다. 이러한 경우에, 이 범위는 분석되는 단어나 단어 스트링들에 정확하게 근접한 특정 크기의 한 개의 단어나 한 개의 단어 스트링으로 한 애플리케이션에 대해 사용자에 의해 폭좁게 규정될 수 있다.
예를 들어, 시스템은 구문 "go to the game"을 백번 포함함을 결정하기 위해 문서 데이터베이스에서 가용한 문서들을 분석할 수 있고, 단어 "Jets"의 20 단어 범위 내에서 "go to the game"을 87 회 발견할 수 있다. 추가적으로 시스템은 "go to the game"이 단어 "Jets"의 정확하게 일곱 단어만큼 앞에 여덟 번 나타남을 결정할 수 있다(단어 스트링의 제 1 단어 "go"로부터 셀 때).
사이에 위치한 단어들의 수를 바탕으로 단어 및 단어 스트링들의 반복 패턴에 대한 어떠한 조합도 물론 레코딩될 수 있다. 예를 들어, 데이터베이스는 "go to the game"의 9단어 뒤에 "tickets"이 나타날 때 "go to the game" 의 3단어 앞에 "Jets"가 나타나는 데이터베이스의 문장 수를 레코딩할 수 있다. 이 패턴은 3회 나타날 수 있고, 텍스트 내 이 단어 패턴의 빈도는, 사용자에 의한 요청을 실행하는 것을 돕거나 사용자에 의해 요청된 질문에 답변을 제공하는 것을 돕기 위해 아이디어의 의미를 유추하는 애플리케이션에 의해 사용될 수 있다. 표 2의 문장1과 문장 2를 바탕으로, 표 4에 제시되는 빈도 상관 데이터베이스가 발생될 수 있다.
단어/스트링 상관 단어/스트링 빈도 네단어 뒤의 빈도
Doctor sneezing 1 1
flu 1 0
rest 1 0
Sneezing doctor 1 0
flu 1 0
rest 1 0
Flu sneezing 1 0
doctor 1 0
rest 1 0
Rest sneezing 1 0
doctor 1 0
flu 1 0
표 4에 표시된 바와 같이, 문장1 및 문장2의 범위 내의 반복 단어들 중에서, 오직 한 단어, "sneezing"만이 검사되는 단어들 중 정확하게 네 단어 뒤에 두 번 나타난다. 그 사이에 나타나는 단어들의 수에 의해 측정되는 서로에 대한 근접성을 바탕으로 텍스트의 정확한 반복 단어 패턴을 표시하는 이러한 표들은 일련의 협소하게 규정된 범위들을 이용하여 개별적으로 발생될 수 있다.
상술한 바와 같이 가용한 텍스트 내 모든 반복 단어 패턴들간의 모든 근접성 및 빈도 관계들을 확립하는 데 상기 방법이 사용될 경우, 다수의 연산이 요구될 수 있다. 이 포괄적 처리의 결과로 구축되는 여러 관계들은 한 애플리케이션용으로 절대 사용될 수 없다. 다음의 기술은 절대 사용될 수 없는 당면한 처리과정을 피하기 위해, 반복 단어 스트링들을 인덱싱하는 과정을 포함한다.
다음의 인덱싱 처리는 빈도 및 근접성 상관을 자동적으로 결정하기 위해 앞서 설명한 방법에 대한 대안의 처리로 사용될 수 있고, 상술한 바와 같이 한 범위내의 특정 단어나 단어 스트링 위치들을 바탕으로 정확한 패턴의 분석 및 일반적 범위 빈도 분석을 실행하기 위한 대안의 처리로 사용될 수 있다. 발명의 본 실시예는 반복 단어 및 단어 스트링 데이터베이스(또는 반복 데이터베이스)를 확립하는 방법으로서, 문서 데이터베이스 내 각각의 반복 단어 및 단어 스트링의 위치를 포함한다. 1. 가용한 텍스트 내 반복사항들을 위해 모든 단어 및 단어 스트링들을 검색한다. 2. 문서 데이터베이스내 문서의 번호와, 스트링 내 제 1 단어의 단어 번호를 식별함으로서(일례에 불과함), 각각의 단어 및 단어 스트링이 발생하는 각각의 문서 내 위치를 표시함으로서 다중 발생과 함께 각각의 단어 및 단어 스트링에 대한 위치를 데이터베이스에 레코딩한다. 대안으로, 단어나 단어 스트링이 위치하는 문서 데이터베이스 내 문서의 문서 번호만이 저장될 수 있다. 이 경우에, 단어나 단어 스트링의 위치는 질의에 응답할 때 결정될 수 있다. 표 5는 반복 데이터베이스에서의 입력사항의 예이다.
단어나 단어 스트링 빈도 및 위치
"kids love a warm hug" 20회(단어 58/문서 1678; 단어45/문서560; 단어187/문서45,231; 단어689/문서123;...)
"kids love ice cream" 873회(단어/765/문서129; 단어 231/문서764,907; 단어652/문서4,501;...)
"kids love a warm hug before going to bed" 12회(단어58/문서1678; 단어45/문서560; 단어187/45,231;...)
"kids love ice cream before going to bed" 10회(단어765/문서129; 단어231/문서764,907;...)
"kids love staying up late before going to bed" 17회(단어23/문서561; 단어431/문서76,431;...)
"before going to bed" 684회(단어188/문서28; 단어50/문서560;단어769/문서 129; 단어436/문서76,431;...)
기재한 바와 같이, 문서 데이터베이스에서 두 번 이상 발견되는 단어나 단어스트링의 각각의 발생은 빈도 카운트에 추가될 것이고, 위 단어나 단어 스트링이 발생하는 문서를 식별하기 위해 할당된 번호와 문서 내 단어 번호 위치를 표시함으로서, 또는 문서 데이터베이스내 단어나 단어 스트링의 위치에 관한 또다른 식별자를 이용함으로서, 그 위치가 표시될 것이다.
문서 데이터베이스의 모든 문서들에 대해 반복 데이터베이스가 완성형태로 발생될 경우(단어 번호 위치 및 문서 번호 포함), 이 위치 정보를 이용하여, 시스템은 발생되는 어떤 일반적인 빈도 관계를 연산할 수 있고, 또는 상술한 바와 같이 발생되는 특정 단어 패턴 빈도 관계들을 계산할 수 있다.
추가적으로, 반복 데이터베이스가 아직 확립되지 않았을 경우, 시스템은 진행 중인 두 개 이상의 범위에 대해 빈도 분석을 실행할 수 있다. 반복 데이터베이스의 분석을 보정하기 위해 직접 문서 데이터베이스의 문서들을 분석함으로서 시스템이 질의에 응답할 때 반복 데이터베이스에서 아직 없는 단어나 단어 스트링이 포함될 수 있다. 문서 데이터베이스의 문서들의 직접 분석에 의해 얻은 정보가 특정 작업에 대해 사용된 후, 이 정보는 차후 이용을 위해 반복 데이터베이스에 저장될 수 있다. 시스템이 반복 데이터베이스를 이용하여 빈도 분석을 확립하는 지, 또는 상기 관계들이 진행 중에 생성되는 지에 관한 그 결과는 스마트 애플리케이션들이 적용될 수 있는 단어 및 단어 스트링의 데이터베이스에 있다.
도 3을 참고해보면, 공통 빈도 분석 처리에서, 스마트 애플리케이션(302)이 빈도 분석 상관 데이터베이스나 반복 데이터베이스에 상관 프로그램(304)을 통해 두 개 이상의 단어나 단어 스트링들로 질의할 수 있다. 그래서, 어떤 다른 제 3 의단어나 단어 스트링들이 모든 제시된 단어 스트링들에 자주 상관되는 지를 확립한다. 시스템은 1) 독립형 공통 빈도 분석, 또는 2) 관련 공통 빈도 분석의 두가지 방법을 공통 빈도 분석(CFA; Common Frequency Analysis)을 실행할 때 이용할 수 있다. 추가적으로, 시스템은 추가적인 발생을 두 개의 과정 중 하나를 이용한 후 추가적인 통계 분석을 행할 수 있다. 이들을 추가적인 발생으로 확장하거나 또는 추가적인 공통 빈도 분석을 위해 어떤 공통 빈도 분석의 결과나 구절들을 조합함으로서, 가능하다.
독립형 공통 빈도 분석(ICFA: Independent Common Frequency Analysis)
스마트 애플리케이션(302)들이 CFA용으로 두 개 이상의 단어나 단ㄴ어 스트링들을 상관 프로그램(304)에 제시할 때, 시스템은 본 발명의 상관 데이터베이스를 이용하여, 제시된 단어들에 자주 관련된 모든 단어 및 단어 스트링들을 식별할 수 있다. 이후 시스템은 일부 또는 모든 제시된 단어 및 단어 스트링에 자주 관련된 상기 단어 및 단어 스트링들을 식별할 수 있다.
그후 시스템은 다양한 사용자-정의 방식으로 제시된 단어 및 단어 스트링들 사이에서 공통 상관을 이용할 수 있다. 예를 들어, 시스템은 빈도 상관 데이터베이스에 제시된 단어 및 단어 스트링들의 공통된, 또는 제 3 의 단어나 단어 스트링 상관에 대한 빈도를 더함으로서(또는 곱하거나 그 외 다른 방식으로) 최고 순위의 공통 상관을 식별할 수 있다. 사용자 정의 매개변수의 또한가지 예로는, 제시된 단어 및 단어 스트링들의 모든 표에서의 최소 빈도가 요구될 수 있다.
반복 데이터베이스 예에서의 입력사항들을 이용함에 있어서, 시스템은 한가지 분석으로 모든 가용 문서들의 사용자 정의 범위 내에 "ice cream"과 "kids love"가 있는 빈도를 결정할 수 있고, 시스템은 "ice cream"과 "before going to bed"가 함께 나타나는 빈도를 레코딩할 수 있다. 그후 각각의 독립형 관계들의 빈도는 각각에 상대적 값을 부여할 애플리케이션에 의해 사용될 수 있다. 이는 "kids love" 빈도 표와 "before going to bed" 빈도 표에서 ice cream의 빈도가 얼마나 높은 순위를 차지하는 지를 바탕으로 이루어질 것이다. 또는, 단어 스트링(가령, "kids love")이 나타나는 총 횟수에 대한 상관(가령, "ice cream")이 단어나 단어 스트링(가령, "kids love")과 함께 나타나는 횟수의 비율(퍼센티지)을 바탕으로 할 것이다. 다시 한번, "kids love"와 "before going to bed" 빈도 표들은 선택된 단어 스트링들, "kids love"와 "before going to bed"에 대한 근접성을 바탕으로 규정된 범위 내에서 제 3 의 단어나 단어 스트링들의 발생의 도표화된 순위이다.
사용자 정의 값들을 바탕으로, "ice cream"을 분석한 후, 이 방법은 "a warm hug"를 분석할 수 있다. 즉, 상대적 빈도에 대한 "kids love " 빈도 표 상에 이를 위치시킴으로서, 그리고 "before going to bed" 빈도 표에 "warm hug"를 위치시킴으로서 분석할 수 있다. 빈도 표에서 빈도가 잦은 모든 다른 상관들이 비교될 것이고(가령, "staying up late"), 두 표로부터 조합된 상대적 빈도들의 사용자 정의 값들을 바탕으로 등급이 매겨진다. 각각의 빈도 상관의 사용자 정의 가중 방식에 따라 본 시스템에 의해 최고 순위 단어 스트링이 생성될 것이다. 이 분석 결과에 의하면, "kids love" "ice cream"이 "warm hugs"보다 많을 때, "kids love warm hugs"가 "kids love ice cream" "before going to bed"보다 많음을 시스템이 식별할 것이다.
독립형 공통 빈도 분석(ICFA)의 경우에, 또다른 예로서 시스템에 단어 "kangaroos"와 단어 및 단어 스트링 "find" 및 "in America"가 제시된다면, 표 6은 문서 데이터베이스 내 문서들을 바탕으로 조합될 수 있는 빈도 표를 도시한다.
상관
"Australia" "the Zoo" "New Zealand"
"kangaroos" 21,000 7,000 1,000
"find" 1,000 2,000 500
"in America" 300 5,000 100
총계 22,300 14,000 1,600
순수한 누적 상관의 총계를 바탕으로 "Australia"가 최고 순위를 차지한다. 그러나, 사용자 정의 매개변수들은 상대적 빈도를 가중치화할 수 있다. 한가지 가능한 방법의 예로는 가장 적게 발견된 상관을 한가지로 기록하여, 더 높은 상관 빈도를 이 수치의 배수로 기록하는 것이다. 이 경우에, "the Zoo"가 가장 높은 순위를 차지할 것이다.
상관
"Australia" "the Zoo" "New Zealand"
"kangaroos" 21 (21 x 최저값) 7 (7 x 최저값) 1 (최저값)
"where can I find" 2 4 1
"in America" 3 50 1
총계 26 61 3
이 상관들 사이에서의 상대적 가중치는 상기 사용자 정의 매개변수를 바탕으로 Zoo가 어떻게 나타나는 지를 보여준다. 공통 상관 사이에서 상대적 균형에 대한가중치를 부여하기 위해 각각의 질의어에 대해 특정 단어나 단어 스트링이 상관된 횟수를 곱함으로서 유사한 결과를 얻을 수 있다.
1. "the Zoo" 7000 x 2000 x 5000 = 70,000,000,000
2. "Australia" 21000 x 1000 x 300 = 6,100,000,000
3. "New Zealand" 1000 x 5000 x 100 = 50,000,000
두 개 이상 제시된 단어 및 단어 스트링들 중에서 공통인 상관들의 순위를 정하고 선택하기 위해 다른 사용자 정의 기준들이 이용될 수도 있다. 이는 일부 카테고리에서 일부 상관들을 다른 상관들에 비해 가중치화하는 과정을 포함한다. 예를 들어, 한 애플리케이션은 "where?" 질문(가령, "where con you find kangaroos in America?")에 대한 "location" 상관(가령, "in America")에 최고값을 할당할 수 있다.
관련 공통 빈도 분석(RCFA: Related Common Frequency Analysis)
두 개 이상 제시된 단어 및 단어 스트링들 중에서 공통 독립형 상관들을 찾아냄에 추가하여, 또다른 실시예는 분석되는 두 개 이상의 단어나 단어 스트링을 포함한 문서 내에서 사용자 정의 범위에 발견되는 단어나 단어 스트링들의 빈번한 등장을 식별할 수 있다.
관련 공통 빈도 분석은 관련 단어들이 분석마다 독립적으로 나타나는 것이 아니라 관련 단어들이 함께 나타난다는 점에서 독립 공통 빈도 분석과 차별화된다. RCFA의 실시예는 다음의 단계들을 이용한다.
a. 제시된 단어나 단어 스트링들 중 두 개 이상에 대해 공통인 모든 문서 번호들을 데이터베이스로부터 위치시킨다. 즉, 제시된 단어나 단어 스트링들 중 둘 모두를 포함하는 모든 문서들을 데이터베이스로부터 (가령, 특정 문서 번호를 지정하고 불러오는 등에 의해) 위치시킨다. 이 문서 번호들은 본 출원에서 기재한 인덱싱 기법이나 당 분야에 잘 알려진 인덱싱 기법에 의해 표시되는 번호들이다.
b. 그후, 제시된 단어나 단어 스트링들에 인접한 순서로 각각의 단어 및 단어 스트링을 사용자 정의 범위 내에서 식별하고 비교하며, 그리고 이 범위 내에서 어떤 단어나 단어 스트링에 대한 빈도를 레코딩한다. 다시 한번, 사용자 정의 범위는 좁혀질 수 있고, 제시된 단어나 단어 스트링에 구체적으로 근접한 범위 내에서 반복하는 단어나 단어 스트링을 포함할 수 있다.
한 예로, RCFA의 경우에 두 단어 스트링 "kids love"와 "before going to bed"가 시스템에 제시됨을 가정해보자. 문서 데이터베이스 내 문서들의 구문에 해당하는 다음의 입력사항들을 데이터베이스가 이미 보유하고 있을 경우,
"kids love a warm hug" 20회
"kids love ice cream" 873회
"kids love a warm hug before going to bed" 12회
"kids love ice cream before going to bed" 10회
"kids love staying up late before going to bed" 17회
"before going to bed" 684회
RCFA에서는 분석용으로 두 단어/단어 스트링이 제시되기 때문에, 반복 데이터베이스는 "kids love"와 "before going to bed" 를 모두 보유한 문서 데이터베이스내 문서들에 시스템을 보낼 수 있다. 왜냐하면, 이들은 상관된 동일 문서 번호를 가지기 때문이다. 추가적으로, 필요할 경우, 시스템은 단어 스트링들이 서로의 단어들의 사용자 정의 번호 내에 위치하고 있는, 또는 단어 스트링들이 서로에 대한 그 외 다른 사용자 정의 인증 근접성 내에 위치하고 있는 문서들만을 위치시킬 수 있다.
"before going to bed"에 대한 지정된 근접성 내에 "Kids love"를 포함하는 문서 데이터베이스 내 모든 문서들을 시스템이 식별하면, 시스템은 두 개의 제시된 단어 스트링으로부터, 사용자 정의 범위 내에서 모든 반복 단어 및 단어 스트링들의 빈도 차트를 구축할 수 있다. 상술한 예에서, 두 제시된 구문들로 발생하는 단어 및 단어 스트링들만이 분석되고 있다. 따라서, 기존 단어 스트링("kids love a warm hug", "kids love ice cream", "before going to bed")는 분석되지 않는다. 그러나 위 예로부터, 그리고 단어 및 단어 스트링 데이터베이스의 제한된 샘플을 바탕으로, 두 제시된 구문들 사이에서 우리는 "ice cream"이 10회 이상의 빈도로, "staying up late"가 17회 이상의 빈도로, 그리고 "warm hug"가 12회 이상의 빈도로 나타남을 알 수 있다. 이는 단어 스트링의 사용자 정의 범위에 따라 좌우된다. 이러한 모든 빈도들은 "kids love"와 "before going to bed" 에 바로 인접하지 않고 그 근처의 동일한 텍스트에서 발생할 수 있으므로 훨씬 높을 수 있다(가령, "kids love ice cream and other sweets before going to bed" 또는 "before going to bed, kids love ice cream").
질의 "what do kids love before going to bed?"에 대한 응답은 여러 가지잠재적인 "정확한" 답변을 가지고 있다. 그럼에도 불구하고, 다양한 대표 의견들을 반영하는 상당한 분량의 문서들로, 여러 높은 빈도들이 질문에 대한 일치적 모습을 반영할 것이고, 낮은 빈도는 기존의 변동되는 모습을 반영할 것이다. 예를 들어, "hot shower"는 "kids love"와 "before going to bed"로 범위 내에 3회 존재할 수 있고, 이는 다른 것들만큼 인기있는 의견이 아닌 선호도의 패턴을 표시한다.
대안으로, 사용자 정의 매개변수들은 수용가능한 회답으로 인증받기 위해 최소한의 총 빈도를 요구하도록 만들어질 수 있다.
ICFA나 RCFA 중 어느 경우에도, 발명의 대안의 실시예들로 단어의 대등어구 범위 주변으로 반복 단어 및 단어 스트링들을 찾아내기 위해 검색된 단어 및 단어 스트링들 대신에 관련어집(thesaurus)이나 그 외 다른 공지되거나 결정된 단어 스트링 대등어구가 사용될 수 있다. 예를 들어, 시스템은 "kids love" 대신에, "kids like", "kids really love", "kids enjoy", "children enjoy", "children love"를 검색할 수도 있다. "before going to bed"를 시스템에 공지된 대등어구, 가령, "before bed", "before going to sleep", "before bedtime" 등으로 대체하는 데 앞서와 동일한 기술이 사용될 수 있다. 본 발명의 공통 빈도 기술과 당 분야에 잘 알려진 단어 관련어집의 조합은 의미론적으로 대등한 수많은 단어 및 단어 스트링들을 도출할 것이다.
제 2 레벨 빈도 분석
또하나의 실시예에서, 시스템은 한 애플리케이션을 위해 실행되는 분석에 새 정보를 추가할, 질의를 구성하는 제 1 또는 제 1 단어/단어 스트링과, 공통 빈도분석으로부터의 선택된 제 3 단어/단어 스트링 사이의 공통 상관을 이용하여 빈도 분석을 실행할 수 있다. 예를 들어, "before going to bed"(첫번째)와 "kids love"(두번째)의 공통 범위 내에서 모든 단어 및 단어 스트링들의 빈도 간의 선택된 공통 상관이 "ice cream"(세번째)일 경우, 본 실시예는 "before going to bed"(첫번째)"와 ice cream"(세번째), 또는 "kids love"(두번째)"와 ice cream"(세번째)간의 독립형, 또는 상대적 빈도 분석을 발생시키고, 이 두 빈도 분석을 바탕으로 상관을 선택한다. 예를 들어, "ice cream"과, "before going to bed"는 "stomach ache"와 높은 공통 빈도를 가질 수 있다. 이는 본 발명에 따라 사용될 애플리케이션에서의 분석에 유용할 수 있다. 더욱이, 어떤 두 개 이상의 단어나 단어 스트링들도 사용자가 정의하는 만큼이나 많은 발생들의 수많은 조합으로 동일 기술들을 이용하여 분석될 수 있다. 구체적 애플리케이션들은 어떤 공통 빈도 분석이 상관 빈도 분석의 각각의 발생에 대하여 실행되어야 하는 지를 식별하는 자동화된 분석을 요청할 것이다. 보다 복잡한 애플리케이션들은 두 개 이상의 독립적 결과가 조합되어 사용되기 전에 두 개 이상의 빈도 분석이 실행되어야 함을 식별할 것이다.
단어 기능이나 의미를 결정하기 위한 공통 빈도 분석의 이용
미국특허출원 10/024,473 호에 기재된 바와 같이, 분석되는 단어 및 단어 스트링들과, 번역어는 아니지만 밀접하게 관련된 아이디어들인 범위 내의 단어 및 단어 스트링들 간에 확립되는 높은 빈도의 상관은 인공 지능 애플리케이션에 사용될 수 있다. 인공 지능 또는 스마트 애플리케이션은 과거에 반드시 답변이나 실행을 요청받지 않았던, 질문에 답변하거나 작업을 실행할 수 있는 애플리케이션이다. 본발명은 카테고리 식별자에 관련된 다른 단어나 단어 스트링들의 기능이나 목적을 식별하기 위해 카테고리 식별자로 사용될 수 있는 단어 및 단어 스트링들의 포매이션 및 패턴을 식별하고자 상관 데이터베이스를 이용할 수 있다. 예를 들어, 단어들의 특정 패턴이 사람 이름, 음식 종류, 또는 액션인 한 단어에 통상적으로 상관될 수 있다. CFA를 이용하여, 본 발명은 이들 패턴의 존재 및, 다른 단어나 단어 스트링들과의 상관을 드러내도록 문서들을 분석할 수 있다. 이러한 상관을 바탕으로, 시스템은 이 패턴들과 유사하게 상관된 다른 단어들을 분류할 수 있다. 왜냐하면, 밀접하게 관련된 다른 단어들은 유사한 카테고리 내에 포함되기 쉽기 때문이다. 따라서, 시스템은 카테고리 식별자들의 존재를 식별할 수 있고 카테고리 식별자들을 이용할 수 있다. 더욱이, 단어 및 단어 스트링들의 고도로 상관된 패턴을 공유하는 단어나 단어 스트링들은 서로 의미론적 대등어이거나 의미론적 유사 대등어인 경우가 자주 있다.
이러한 애플리케이션의 한가지 예는 앞서 설명된 처리과정을 이용하여 시스템이 해결할 수 없는 번역어들을 완료함에 있어 본 발명의 번역 방법을 보조하는 것이다. 예를 들어, 언어 X로 번역되어야 하는 영어 질의어 "I love Moshe"를 시스템이 수신한 경우를 가정해보자. 시스템이 단어 스트링 "I love"의 번역어는 보유하고 있지만 "I love Moshe"나, "love Moshe"에 대한 번역어는 보유하고 있지 않다고 가정한다.
상관 데이터베이스는 "my name is Moshe", "Mr. Moshe Fein", "his name is Moshe"처럼 단어 스트링에 단어 "Moshe"를 가진다. CFA는 이 단어 스트링들과 이름"Moshe" 간의 관계를 식별하는 데 사용될 수 있다. 사용자는 이후, 이 어구들이 이름에 상관도가 높은 어구여서 특정 종류의 카테고리 식별자인 이름 식별자에 해당함을 식별할 수 있다. "이름 표시자" 어구들의 사용자 규정 수치(또는 백분율)에 Moshe가 나타나면, 시스템은 "Moshe"가 잠재적 이름임을 통계적 확실성을 갖고 결정할 것이다. 왜냐하면, 이는 "이름 표시자"들인 텍스트로 나타나기 때문이다.
당 분야에 잘 알려진 다른 시스템들 역시 이러한 이름 표시자, 그리고 다른 카테고리 표시자(가령, 날짜, 수치, 그리고 그 외 다른 특정 분류)를 포함하지만, 본 발명은 Moshe같은 이름들이나 그 외 다른 공지 이름들이 또한 나타나는 그 외 다른 모든 어구들을 식별하기 위해 이름을 표시하는 어구들같은 수동으로 인코딩된 식별자들을 이용할 수 있다. 예를 들어, 사용자는 이름 표시자로 "the guy's name is"를 추가하는 것을 생각할 수 없을 것이지만, 본 발명은 사용자가 본 실시예를 이용하여 포함시키지 않을 위 사항 및 여러 다른 사항들을 제시할 것이다. 각각의 단어 및 단어 스트링은 주변 단어 및 단어 스트링들 중에서 발견될 수 있는 대안의 단어나 단어 스트링들의 제한된 영역을 가진다. 이 영역은 대체할 아이디어를 정확하게 표현하는 단어 및 단어 스트링들을 포함할 것이며, 원래 표현된 아이디어로부터 정확한 반대어라는 표현까지 범위를 가질 것이다. 예를 들어, 어구 "I love chocolate"가 검사되면, 시스템은 단어 "love"에 대한 모든 가능한 치환어구를 발생시킬 수 있다. 시스템은 "I really love chocolate" , "I adore chocolate", "I really enjoy chocolate" 등과 같은 대등어구 및 유사 대등어구와, "I tolerate chocolate", "I hate chocolate"같은 비대등어구 및 반대어도 발생시킬 것이다. 시스템은 독립형(또는 관련) 공통 상관 빈도 분석을 이용하여 단어 love에 의해 남겨진 것을 채우지 못하는 단어들의 반복 빈도를 발견하지 않을 것이다. 예를 들어, 데이터베이스는 분석에서, "I fish chocolate", "I you chocolate", "I who chocolate"를 생성하지 않을 것이다.
Moshe가 이름임을 시스템이 확립했을 때 "I love"가 이름 식별자일 경우, 번역 엔진이 언어 B의 Moshe 번역어를 가지고 있다면, 중복없이 언어 B의 "I love" 번역어 다음에 이를 붙일 수 있다. Moshe에 대한 언어 B 번역어가 알려지지 않았을 경우, 영어로부터 언어 B로의 번역 기능이 사용되어, 이름 Moshe의 언어 B 표현을 발생시킬 수 있고, 중복없이 "I love"에 대한 언어 B 번역어 다음에 붙일 수 있다.
이름으로 다른 단어 및 단어 스트링들에 밀접하게 관련된 이름은, 아이디어를 표현하는 단어 스트링들간의 공통 통계적 관계들을 식별하는 사용자가 스마트 애플리케이션용으로 이용될 일반적 의미에 의해 어떻게 분류될 수 있는 지의 간단한 예다. 더욱이, 언어로 표현될 때 서로에 대한 밀접한 근접성의 빈도를 바탕으로 관련 아이디어들을 나열하는 언어 상관 데이터베이스에 의해 표현되는, 모든 다른 관련 개념 및 아이디어들에 대해 모든 단어 스트링들이 동적 관계들을 가질 것이다. 일관된 아이디어를 구성하는 각각의 단어 스트링은,어떤 주어진 문맥에서 상기 아이디어에 대한 의미의 확률을 시스템이 추출하도록 하기 위해 서로에 대한 어떤 근접성 내에서 텍스트로 자주 반복되는 패턴으로 관련 아이디어들의 영역을 가질 것이다.
예를 들어, 명확하게 이름이 아닌 한 단어를 번역 질의어가 포함하는 경우,관련 아이디어들간의 빈도는 추가적 문맥을 제공하기 위해 인접 단어 및 단어 스트링들의 다음 레벨에 대해 검사될 수 있다. 에를 들어, 언어 B로 번역될 영어 질의어가 "I love Faith"일 경우, 이는 약간 모호하다. 왜냐하면, Faith는 이름일 수도 있고, "증거없이 신뢰가 가는 느낌"일 수도 있기 때문이다.
완전한 번역 질의어에서 어구 "I love Faith"에 가까운 다른 인접 단어들이 "her"와 "she"이지만 "god", "religion", "church" 등은 아닐 경우, 시스템은 데이터베이스 내에 존재하는 상관들에 대해 빈도, 근접성, 그리고 그 외 다른 카테고리 표시자들을 가중치화하는 공식을 적용할 것이며, 증거없이 신뢰가 가는 느낌의 Faith가 아니라 "이름" Faith의 번역어를 선택하는 것을 알 것이다. 다른 아이디어들에 대한 빈도가 잦은 관계 세트를 가진 다른 인접 단어들 및 단어 스트링들은 통계적 차이점이 답변을 해결할 때까지, 또는 시스템이 정보 부재를 바탕으로 분류를 사용자에게 질의할 때까지 화자의 의도를 추가적으로 도출할 것이다. 이는 전체 질의어가 "I love Faith"라면 일어날 수 있다. 이는 좀 불명료하기 때문에, 사람 번역자가 "do you mean the word Faith to refer a person"라고 물들 수도 있다.
영어의 경우에는, 대부분의 대문자 첫 번째 철자들이 "이름"Faith를 의도한 것임을 표시할 것이기 때문이다. 이는 Faith가 아마도 이름임을 결정하기 위해 시스템이 함께 처리할 수 있는 또다른 속성이다. 여러 비-라틴 문자 기반의 언어들은 대문자 소문자를 가지지 않으며, 따라서, 이러한 종류의 문제는 텍스트내 서로에 대한 빈도잦은 근접성에 의해 관련된 단어 스트링들간 순수한 레벨 단위 관계에 의존할 것이며, 또다른 언어 표현(가령, 음성, 부호, 기호 등)에 의존할 것이다.
의미론적으로 유사한 단어들을 위치시키기 위한 공통 빈도 분석의 이용
특정 아이디어를 표현하는 한 언어의 단어 및 단어 스트링들이 패턴으로 자주 발생한다. 이 패턴들은 특정 단어 및 단어 스트링들이 특정 단어 바로 앞에, 그리고 바로 다음에 발견되는 빈도에 의해 표현될 수 있다. 따라서, 비슷한 아이디어들을 표현하는 단어 및 단어 스트링들이 앞서거나 뒤서는 단어 및 단어 스트링들의 종류 및 순서에 공통점을 가질 것이다.
정보를 발생시키는 데 단어 패턴을 이용하는 또한가지 예는 포괄적 단어 및 단어 스트링 대등 관련어집을 생성하는 것이다. 또다른 단어와 같거나 거의 똑같은 단어, 즉, 의미론적으로 유사한 단어들을 식별하라고 시스템이 요청받을 경우, 시스템은 상기 단어에 상관된 단어 및 단어 스트링 빈도들을 발견할 수 있고, 가장 밀접하게 일치하는 상관 빈도들을 가지는 언어의 단어들을 찾을 수 있다. 일반적으로, 두 단어 및 단어 스트링들간 포메이션이 유사할수록, 의미가 유사하다. 가끔씩, 반대어들이 높은 빈도의 공통 상관들을 공유할 것이지만, 반대어들은 시스템이 애플리케이션용으로 제공할 수 있는 "반대어 시그너처" 패턴을 생성하는 어떤 중요한 성질적 상관들에 대해 강하게 벗어날 것이다.
한 단어나 단어 스트링에 의해 표현되는 어떤 아이디어와, 한 단어나 단어 스트링에 의해 표현되는 어떤 다른 아이디어 간의 상관 문자인 "상관 시그너처"는 시스템에 의해 드러날 것이다. 시스템은 관련 근접성으로 한 아이디어와 다른 아이디어간의 관계를 규정하는 한 아이디어를 둘러싸는 단어 패턴들을 검출하도록 만들어진 사용자 정의 범위들 내에서 특정 단어 포메이션들을 검출하기 위해 상관 데이터베이스들을 이용한다. 컴퓨터 프로그램 리스팅 부록에 제시된 프로그램 4는 의미론적으로 대등한 단어나 유사한 단어들을 위치시키기 위해 공통 빈도 분석을 이용하는 프로그램의 예다. 상관 데이터베이스 및 스마트 애플리케이션(302)을 이용하여, 시스템이 공통 빈도 분석을 통해 의미론적으로 대등한 단어 스트링들을 어떻게 검출하는 지에 대한 일반적 설명이 소개될 것이다. 이 시스템은 제시된 단어 및 단어 스트링들에 대해 ICFA와 RCFA를 동작시킬 수 있고, 사용자 정의 가중화 처리를 이용하여 결과를 조합할 수 있다.
ICFA를 이용하여 한 단어나 단어 스트링 주변의 특정 단어 포매이션을 이용하는 한 실시예는 어떤 단어나 단어 스트링에 대해 의미론적 값(즉, 의미) 측면에서 대등어 또는 거의 대등어인 단어 및 단어 스트링들을 식별하는 것이다. 이 실시예는 다섯가지 단계로 이루어진다. 먼저 단계 1에서, 대등어를 위해 분석될 단어나 단어 스트링을 요청하는 질의(즉, 질의 단어)를 수신한다. 그리고 가장 높은 빈도로 발생하는 사용자 정의 크기(최대/최소)의 단어/단어 스트링의 사용자 정의 번호를 내보내며, 이와 함께 그 발생 빈도도 내보낸다. 이때, 도출된 구문은 모든 가용 문서들 내의 질의 구문의 바로 좌측에 위치한다. 반복하는 사용자 정의 단어 스트링이 많을수록, 최종 결과가 정확해질 것이다. 단계 2에서는, 분석되는 각각의 단어나 단어 스트링의 우측에 한 단어나 단어 스트링의 범위를 이용하여 단계 1로부터 최상 순위 결과의 사용자 정의 번호 각각에 대하여 빈도 분석을 수행한다. 한 단어나 단어 스트링의 범위란 단계 2에서 분석되는 각각의 단어나 단어 스트링의 우측에 최고 반복 단어 및 단어 스트링들의 순위를 부여할 것임을 의미한다. 단계2에서 생성된 모든 공통 단어 및 단어 스트링들의 빈도가 더하여진다. 단계 3에서는, 질의어 바로 우측에 사용자 정의 번호의 단어들의 범위를 이용하여 질의어에 대해 빈도 분석을 수행한다(다시 두 개 이상의 단어들이 정확도를 위해 바람직하다). 단계 4는 분석될 단어 및 단어 스트링 각각의 바로 좌측에 한 단어나 단어 스트링의 범위를 이용하여 단계 3으로부터 도출된 최상 순위 단어 및 단어 스트링들의 사용자 정의 번호 각각에 대해 빈도 분석을 수행한다(다시, 분석되는 단어나 단어 스트링의 바로 좌측에 한 단어나 단어 스트링 범위의 결과가 단계 4에서 분석되는 각각의 단어나 단어 스트링에 가장 자주 선행하는 단어 및 단어 스트링들을 빈도에 의해 순위를 매길 것이다). 단계 4에서의 모든 단어 및 단어 스트링 결과의 빈도들이 더하여진다. 단계 5에서는, 단계2 및 단계 4에 의해 생성된 각각의 단어나 단어 스트링을 식별함으로서 ICFA를 수행한다. 단계 2에서 도출된 도출된 공통 단어 및 단어 스트링들 각각의 빈도 수치는 단계 4로부터 생성된 공통 단어나 단어 스트링의 빈도 수와 곱하여진다. 단계 2 및 단계 4의 결과로부터 그들의 빈도의 곱을 바탕으로 한 최고 순위 단어나 단어 스트링들은 질의어에 대해 의미론적으로 가장 대등한, 또는 유사한 단어 및 단어 스트링들일 것이다.
다음의 예는 시스템의 문서 데이터베이스 내 모든 단어 및 단어 스트링의 등가어구의 상관을 생성하기 위해 가설적 데이터베이스를 이용하는 상기 실시예를 설명한다. 이 예는 ICFA를 이용하여 의미론적 대등어를 가진 상관을 생성한다. 한 단어에 대해 시스템에 알려진 모든 단어 및 단어 스트링 대등어를 결정하기 위해, 사용자에 의해 단어 "detained"가 입력된다고 가정하자.
단계 1에서, 설명을 단순화하고자 최상위 세 개의 결과만을 고려할 때, 시스템은 "detained"의 바로 좌측에 가장 자주 나타나는 세-단어 스트링들을 먼저 결정할 것이다. 분석되는 단어의 좌측에 바로 인접한 단어 스트링들의 길이는 사용자에 의해 정의되며, 본 예에서는 세-단어 스트링이다. 이 분석 결과는 제시된 단어 좌측에 대한 사용자 정의 길이의 단어 스트링의 리스트로서, "좌측 시그너처 리스트"라 불린다. 본 예에서 시스템이 아래의 결과를 도출한다고 가정하자.
1. "the suspect was"
2. "was arrested and"
3. "continued to be"
단계 2에서, 시스템은 도출된 좌측 시그너처 리스트에 대해 작업을 실행한다. 이 시스템은 도출된 세-단어 스트링을 가장 빈번하게 뒤따르는 단어나 단어 스트링(즉, 도출된 세-단어 스트링의 우측에 있는 단어 및 단어 스트링)을 위치시킨다. 이 동작에서 시스템이 도출하는 단어 스트링들의 길이는 사용자에 의해 정의된다. 이 분석 결과는, 각각의 좌측 시그너처 리스트의 우측에 있는 단어 스트링의 리스트로서, "좌측 앵커 리스트(Left Anchor List)"라 불린다. 위 예에서 시스템은 다음의 좌측 앵커 리스트를 도출하나고 가정하자.
1. "the suspect was" a. "arrested"(240회)
b. "held"(120회)
c."released"(90회)
2. "was arrested and" a. "held"(250)
b. ""convicted"(150)
c. "released"(100)
3. "continued to be" a. "healthy"(200)
b. "confident"(150)
c. "optimistic"(120)
또한 단계 2에서, 좌측 앵커 리스트 각각에서의 공통 도출 빈도가 추가된다. 좌측 앵커 리스트에서만의 공통 도출 결과는 다음과 같다.
a. "held" 120 + 250 = 270
b. "released" 90 + 100 = 190
단계 3에서, 데이터베이스 내 문서들에서 선택된 질의어 "detained"의 바로 우측에 가장 자주 발생하는 두 단어 스트링들을 시스템이 결정한다. 다시, 분석되는 자주 발생하는 단어 스트링들의 수가 사용자에 의해 규정된다. 여기서, 단계 1에서처럼, 시스템은 최상위 세 개의 발생 단어 스트링들을 도출한다. 그리고, 분석되는 단어("detained")의 바로 우측에 위치하는 단어 스트링들의 길이는 사용자에 의해 정의된다. 본 예에서는 2-단어 스트링이다. 이 분석 결과는 제시된 단어의 우측에 위치하는 사용자 정의 길이의 단어 스트링들의 리스트로서, "우측 시그너처 리스트"라 불린다.
1. "for questioning"
2. "on charges"
3. "during the"
단계 4에서, 시스템은 도출된 우측 시그너처 리스트에 대해 작업을 실행한다. 시스템은 도출된 2-단어 스트링 바로 앞에 가장 자주 발생하는 단어나 단어 스트링들(즉, 도출된 2-단어 스트링의 좌측에 위치하는 단어나 단어 스트링)을 위치시킨다. 이 분석 결과는, 각각의 우측 시그너처 리스트 엔트리의 좌측에 위치하는 단어나 단어 리스팅의 리스트로서, "우측 앵커 리스트"라 불린다. 위 예의 시스템이 다음의 우측 앵커 리스트를 도출한다고 가정하자.
1. "for questioning" a. "held"(300)
b. "wanted"(150)
c. "brought in"(100)
2. "on charges" a. "held"(350)
b. "arrested"(200)
c. "brought in"(150)
3. "during the" a. "beautiful"(500)
b. "happy"(400)
c. "people"(250)
단계 2와 마찬가지로, 우측 앵커 리스트의 공통 도출 빈도가 더하여진다. 우측 앵커 리스트에서만의 공통 도출은 다음과 같다.
a. "held" 300 + 350 = 650
b. "brought in" 100 + 150 = 250
단계 5에서, ICFA가 수행되고 시스템은 순위를 도출한다. 본 예에서, 단계 2및 4의 공통 도출의 빈도들을 곱함으로서 가중화된 빈도가 생성된다.
1. "held" 650 x 270 = 175,500
2. "arrested" 200 x 240 = 48,000
순위 결정에 대한 대안의 실시예는 특정 가중화된 빈도에 대해 전혀 고려하지 않는다. 대신에, 좌측 앵커 리스트와 우측 앵커 리스트에서 생성된 모든 결과들이 앵커 리스트들의 총 수치에 따라 순위결정된다. 위 예에서, 본 실시예를 이용한 순위는 다음과 같다.
순위 의미론적 대등어 앵커 리스트 수
1 "held" 4
2 "arrested" 2
위 분석에서 "released"와 "brought in"이 각각 두 번씩 생성되었지만, 좌측 앵커 리스트와 우측 앵커 리스트에는 둘 다 생성되지 않았다. "released"는 좌측 앵커 리스트에서 두 번, "brought in"은 우측 앵커 리스트에서 두 번 생성되었다. 앵커 리스트들의 수와 총 빈도를 조합하는 다른 가중화 기법도 사용될 수 있다.
상술한 설명은 문서 데이터베이스내 비교적 작은 수의 문서들을 바탕으로 한다. 문서 데이터베이스는 더 커질 수 있고, 인터넷같은 네트워크를 통해 시스템에 원격으로 액세스가능한 문서들을 포함할 수 있다. 발명의 한 실시예에서, 사용자는 시그너처 리스트에 포함될 결과의 수를 규정할 수 있을 뿐 아니라, 지정 수치의 결과들이 사용자 정의 최소 빈도로 발견될 때 분석을 중단할 수도 있다. 이는 컷-오프로 기능하며, 대형 데이터베이스를 이용할 때 처리 전력(에너지)을 절감하는 데도움이 될 것이다.
질의 단어/단어 스트링에 대해 의미론적으로 대등한 단어 및 단어 스트링을 생성하기 위해 ICFA를 이용하는 경우의 사용자 정의 매개변수의 다른 예들은 질의어의 좌측 및 우측에 자주 반복되는 단어 및 단어 스트링들을 여러 길이로 고려할 수 있다. 따라서, 좌측 및 우측 시그너처 리스트에서 도출되는 단어 스트링들에 대해 고정된 사용자 정의 길이를 가지는 대신에, 한 실시예는 이 시그너처 리스트들에서 도출되는 단어 스트링들에 대해 가변적인 사용자 정의 길이를 가질 수 있다. 이때, 단어 스트링에 대한 최소 길이 및 최대 길이를 또한 가질 수 있다. 질의어 좌측 및 우측에서 모두, 이 분석에 사용되는 여러 다른 길이의 가장 자주 발생하는 단어 스트링들은 보다 정확한 의미론적 대등어를 식별하기 위해 더 많은 범위를 제공한다. 추가적으로, 본 실시예는 시그너처 리스트를 인증하기 위해 도출된 단어/단어 스트링에 대해 시그너처 리스트 도출의 최소 발생 수를 포함할 수 있고, 이는 정확도를 추가적으로 향상시킨다.
본 발명의 한 실시예에 따른 이러한 가변적인 단어 스트링 분석에서, 앞선 예로부터의 질의어("detained")는 다음과 같이 분석될 수 있다.
단계 1에서, 가용 데이터베이스로부터, 질의어의 좌측에 위치하는 가장 빈번한 단어 스트링들의 사용자 정의 수의 좌측 시그너처 리스트를 발생시킨다. 이는 사용자 정의 최소 길이 및 최대 길이를 가진다. 이는 고정 길이 단어 스트링이 아니라 가별 길이의 단어 스트링이 사용된다는 점을 제외하고는 앞선 예에서의 단계 1과 동일한 처리과정이다. 1) 사용자 정의 매개변수가 6개의 가장 빈번한 단어 스트링이고, 2) 이 단어 스트링들이 2-단어의 최소 길이를 가지며, 4-단어의 최대 길이를 가지며, 3) 최소 발생이 500번 이상일 경우, 앞선 예의 결과가 다음과 같이 나타날 수 있다.
단어 스트링 빈도
1. "people were" 1000
2. "arrested and" 950
3. "were reportedly" 800
4. "passengers were" 775
5. "was being" 700
6. "the suspect was" 650
7. "was arrested and" 575
8. "after the journalists were" 500
단계 2에서, 앞선 예에서처럼 좌측 시그너처 리스트의 결과로부터 좌측 앵커 리스트를 발생시킨다.
단계 3에서, 본 예의 단계 1에서 기술된 바와 동일한 정의 매개변수를 이용하여 우측 시그너처 리스트를 발생시키고 다음의 결과를 얻는다.
단어 스트링 빈도
1. "for questioning" 1,750
2. "on charges" 1,520
3. "during the" 1,350
4. "because of" 1,000
5. "due to" 750
6. "in connection" 600
7. "without charge or" 575
8. "for questioning after" 500
단계 4에서, 앞선 예에서처럼 우측 시그너처 리스트의 결과로부터 우측 앵커 리스트를 발생시킨다.
단계 5에서, 결과들이 나타나는 리스트들의 총 숫자에 따라 우측앵커 리스트와 좌측 앵커 리스트에 생성된 모든 결과들의 순위를 결정한다. 대안으로, 결과가 나타나는 우측 앵커 리스트의 총 숫자와, 결과가 나타나는 좌측 앵커 리스트의 총 숫자를 곱함으로서 순위가 결정될 수도 있다. 추가적으로, 총 빈도는 순위 가중화에 더하여질 수 있다.
위 예의 질의어가 단어("detained")였지만, 단어 스트링이 의미론적으로 식별가능한 개념을 나타날 때 어떤 크기의 단어 스트링들에 대한 의미론적 대등어를 시스템이 생성할 수 있다. 예를 들어, 시스템이 "car race"를 질의받았다면, 시스템은 "car race"에 대한 잠재적 의미론적 대등어를 생성할 것이다. 위 실시예에서 기재된 바와 동일한 단계들을 실행할 때, 의미론적 대등어 결정을 위해 ICFA를 이용할 경우, 시스템은 "stock car race", "auto race", "drag race", "NASCAR race", "Indianapolice 500", "race"등을 생성할 수 있다. 시스템은, 결과나 질의어의 단어 스트링 크기에 상관없이 앞서와 정확하게 동일한 처리과정을 이용하여,질의어를 수신하여 의미론적 대등어를 생성할 것이다.
의미론적 대등어 상관을 생성하는 또한가지 실시예는 위에서 제시한 ICFA 예보다는 RCFA를 이용하는 것이다. 이러한 RCFA의 의미론적 대등어 분석은 다음의 단계들을 포함한다.
단계 1: RCFA의 의미론적 대등어 단어 및 단어 스트링들을 찾기 위해 단어나 단어 스트링 질의어를 수신하여, 상기 단어나 단어 스트링을 지닌 문서들의 일부분들을 식별하기 위해 문서 데이터베이스를 검색한다. 한 예에서, "initial public offering"이라는 단어가 질의어로 입력되어, RCFA 의미론적 대등어를 식별하게 된다. 이 시스템은 문서 데이터베이스를 검색하여, "initial public offering"을 지닌 문서 부분을 식별하고, 이 문서 부분을 사용자에게 제시한다. 사용자는 제시되는 문서 부분의 수를 정의하고 제한할 수 있다.
단계 2: 단계 1에서 발견된 질의어 단어 스트림의 각각의 발생에 대하여, 질의어 좌측에 위치하는 사용자 정의 크기의 단어나 단어 스트링의 발생 빈도와, 질의어 우측에 위치하는 사용자 정의 크기의 단어나 단어 스트링의 발생 빈도를 레코딩함으로서, 제시된, 즉, 도출된 부분을 분석한다. 이 단계는 질의어를 크래들(cradle, 즉, 포함)하는 관련 좌측 및 우측 시그너처를 생성한다. 그 결과는 좌측/우측 시그너처 크래들을 생성한다.
우리의 예에서, 사용자에 의해 정의된 좌측 단어 스트링이 2로 설정될 수 있고 사용자에 의해 정의된 우측 단어 스트링이 2로 설정될 수 있다. 도출될 크래들의 사용자 정의 한도(가령, 100)와 사용자 정의 최소 빈도 수(가령, 5)로, 연산이효율적으로 분석될 수 있다. 이 처리과정은 질의어 "initial public offering"에 대한 다음의 가설적 도출결과로 나타날 수 있다.
1. "for an ___________ of its"
2. "at an ___________ price of"
3. "announced the ___________ of its"
4. "at the ______________ of its"
5. "as the _____________ of its"
6. "announced its ______________ of the"
7. "the proposed _____________ for its"
8. "announced an __________________ of stock"
9. "completed its _________________ of its"
10. "for the ___________________ of its"
단계 3: 단계 2에서 생성된 각각의 좌측/우측 시그너처 크래들의 좌측 및 우측 단어 스트링들 사이에 나타나는 최고 빈도 단어 및 단어 스트링(사용자 정의 최대 크기까지)에 대하여 문서 데이터베이스를 검색한다. 좌측/우측 시그너처 크래들의 단어 스트링들간에 나타나는 그 외 다른 빈도의 단어나 단어 스트링들을 식별하는 것은 잠재적인 의미론적 대등어를 생성한다. 좌측/우측 시그너처 크래들에 대한 사용자 정의 최소 수치나 백분율이 옵션으로 요구될 수 있다.
단계 4: 좌측/우측 시그너처 크래들의 단어 스트링들 사이에 나타나는 결과적인 단어나 단어 스트링들은 총 빈도, 채워진 좌측/우측 시그너처 크래들의 수,또는 그 외 다른 방법 및 방법들의 조합에 따라 순위결정될 수 있다.
본 예에서, 단계 3의 최상위 결과는 단어 또는 단어 스트링, 즉, IPO, ipo, Initial Offering, offering, Public Offering, 그리고 stock offering일 수 있고, 이들 모두는 좌측/우측 시그너처 크래들 중 일부분의 미해결 부분에 부합한다.
ICFA와 RCFA를 이용하여 의미론적 대등어를 결정하는 것은 좌측/우측 시그너처 크래들에는 부합하지만 의미론적 대응어는 아닌 결과를 포함할 것이다. 예를 들어, 질의 단어나 단어 스트링에 대해 반대의 의미를 가진 여러 단어나 단어 스트링들이 질의어와 같은 좌측/우측 시그너처 크래들 중 여러 부분에 부합할 것이며, 이는 의미론적으로 대등하지 않지만 다른 관련된 단어 및 단어 스트링들에게도 마찬가지로 적용될 것이다. 질의어에 대한 리스트에 의미론적 대등어만이 포함되어야 함을 애플리케이션이 요구할 경우, 질의어에 의해 생성된 리스트 상의 각각의 결과에 대해 별도의 공통 빈도 의미론적 대등어 분석에 대한 작업을 통해, 당 분야에 잘 알려진 필터링 기술들이 사용될 수 있다. 의미론적 대응어의 리스트들의 사용자 정의 수치에 대한 사용자 정의 한도 순위 내에 나타나는 질의어 리스트로부터의 결과만을 포함하는 것과 같은 필터링 기술들이, 원 질의어 리스트에 남는 것들을 결정하는 데 사용될 수 있다. 의미론적 대등어만을 요청하는 애플리케이션의 경우 모든 다른 결과들이 필터링될 것이다.
의미론적 대등어 발생을 위한 상기 실시예는 단어나 단어 스트링과 그 외 다른 단어나 단어 스트링 간의 관계의 문자와 단어 및 단어 스트링들에 의해 표현되는 아이디어에 관한 특성을 식별하기 위해 ICFA(또는 RCFA)를 본 발명이 이용할 수있는 여러 방식 중 한가지에 해당한다. 보다 복잡한 문제들을 풀기 위해, 다른 카테고리 식별자와 함께, 언어에서의 근접성과 그 빈도에 의해 규정되는 아이디어들 간의 관계를 수단화하는 동일한 코어 아이디어를 바탕으로, 앞서와는 다른 방법들이 사용될 수 있다. 이는 두 개 이상의 서로 다른 구절 세트에 대한 공통 빈도 분석을 수행하는 과정과, 사용자 정의 방식으로 조합된 결과를 이용하는 과정을 포함할 수 있다.
식별될 수 있는 보다 복잡한 관계의 한가지 예는 서로의 반대어들인 단어나 단어 스트링들의 시그너처들을 비교함으로서 형성되는 패턴이다. 이 패턴을 식별하기 위해, 사용자는 시스템에 한 단어(가령, "hot")를 입력할 것이다. 시스템은 이 단어 주변에서 반복 단어 및 단어 스트링들의 모든 빈도를 식별할 것이다(이것들이 단어 "시그너처"를 발생시킨다). 그후, 사용자는 반대 아이디어(가령, Cold)를 표현하는 단어나 단어 스트링 주변에서 반복되는 단어 및 단어 스트링들의 모든 빈도를 식별하도록 시스템에 요청할 것이다. 시스템은 cold의 좌측과 hot의 우측 사이에, 그리고 hot의 좌측과 cold의 우측 사이에 중복 아이디어의 공통 패턴을 찾을 것이다.
그 결과는 시그너처들의 비교에 의해 형성되는 유사 패턴으로 다른 단어나 단어 스트링 쌍들을 식별하기 위해 시스템이 이용할 수 있는 두 시그너처들의 비교에 의해 형성되는 한 개의 패턴이다. 따라서, 시스템이 반대어를 찾는 방식으로 한 단어나 단어 스트링으로 질의를 받으면, 시스템은, 1) 상기 질의어를 둘러싼 모든 단어 및 단어 스트링들을 식별할 것이고, 2) 동의어로 식별될만한 유사성을 지니지않은, 질의어와 유사한 시그너처들을 가지는 단어 및 단어 스트링들의 리스트를 식별할 것이며, 3) 그후, 이러한 관련된(동의어가 아닌) 단어 및 단어 스트링들의 시그너처들을 질의어와 비교한다. 4) 단계 3에서 식별된 비교사항을 앞서 식별된 반대어 단어나 단어 쌍들의 시그너처들의 비교사항과 비교한다. 단계3에서 발생된 비교사항들 중 어느 것이 공지 반대어들간의 시그너처 비교사항들에 의해 형성되는 패턴과 충분히 유사한 패턴을 가질 경우, 시스템은 상기 패턴을 형성하기 위해 질의어와 대조되는 단계 2로부터 단어나 단어 스트링을 식별할 것이고, 질의어의 반대어로 이를 식별할 것이다.
시스템이 단어 스트링 대응어구(또는 그 외 다른 관계)를 생성하도록 하기 위한 사용자 정의 매개변수들이 질의어 바로 왼쪽이나 바로 오른쪽같이 딱 붙어있는 것이 아니라 질의어에 근접한 단어 스트링들을 포함할 수 있다는 점에 또한 주목하여야 한다. 사용자 정의 매개변수를 조절하는 것은, 의미론적 의미의 표현이 비교적 덜 효율적이거나 구조적으로 덜 일반적인 애플리케이션에서 바람직할 것이다(가령, 인터넷 채팅방 매체에서의 대화나 그 외 다른 대화).
의미론적 대등어 발생기를 이용한 변환 데이터베이스 구축기
본 발명의 추가적인 실시예들은 변환을 보조하기 위해 의미론적 대등어들의 리스트를 발생시키는 시스템 및 방법을 이용한다. 이는 본원에서 앞서 기재한, 그리고 미국특허출원 10/024,473 호에서 기재한 병렬 텍스트 및 이중 중복(overlap) 기술을 이용하는 단어 스트링 변환 데이터베이스 구축기로 이용될 수 있다.
의미론적 대등어들의 리스트를 발생시키는 시스템 및 방법이 변환 데이터베이스에 어떻게 사용될 수 있는 지에 대한 한가지 예가 다음에 제시된다.
첫째로, 해결되어야할 번역도리 부분의 좌측 및 우측에 위치한 사용자 정의 크기의 두 특정 시그너처들을 발생시킨다. 예를 들어, 시스템이 "I went to the ball park to watch the baseball game"이라는 문장을 변환하고자 한다고 가정하자. 더욱이, 이 문장에 대한 변환의 모든 구절들이 "the ball park"라는 구문을 제외하고는 알려져 있다고 가정하자(상기 구문은 해결되지 않은 구문이나 부분으로 알려져 있다). 사용자 정의 매개변수가 해결되지 않은 구문의 좌측에 바로 인접한 세-단어 스트링과, 해결되지 않은 구문의 우측에 바로 인접한 네-단어 스트링이라고 규정될 경우, 본 발명은 두 개의 단어 스트링, 즉, "좌측 시그너처 특정 단어 스트링"과 "우측 시그너처 특정 단어 스트링"을 도출한다. 따라서, 좌측 시그너처 특정 단어 스트링은 "I went to"일 것이고, 우측 시그너처 특정 단어 스트링은 "to watch the game"일 것이다.
두 번째로, 의미론적 상관을 생성하기 위해 앞서 기술된 실시예들을 이용하여, 문서 데이터베이스로부터 해결되지 않은 구문에 대한 소스 언어의 시그너처 리스트들을 발생시킨다. 해결되지 않은 구문들에 대해 전술한 의미론적 대등어 시스템 및 방법을 이용하여 생성되는 이 리스트들은 각각 좌측 시그너처 리스트와 우측 시그너처 리스트로 불린다.
세 번째로, 좌측 시그너처 특정 단어 스트링과 좌측 시그너처 리스트를 타겟 언어로 변환한다. 이 변환은 본원 발명의 병렬 텍스트 데이터베이스 구축기나, 당 분야에 잘 알려진 다른 변환 장치를 이용하여 얻을 수 있다. 당 분야에 잘 알려진변환 시스템들을 이용한 결과는 본원 발명의 앞서 설명한 다언어 수단화 실시예를 이용함으로서 개선될 수 있다. 이 처리과정의 결과가 "좌측 타겟 시그너처 리스트"이다. 우측 특정 단어 스트링 리스트와 우측 시그너처 리스트에 대해 유사한 변환 처리를 수행하여, "우측 타겟 시그너처 리스트"를 생성한다.
네 번째로, 앞서 단계 2 및 단계 4의 의미론적 대등어 처리과정을 이용하여, 좌측 및 우측 타겟 시그너처 리스트와 타겟 언어 문서 데이터베이스로부터 타겟 언어 앵커 리스트들을 생성한다. 이 처리과정의로부터의 결과 리스트들은 각각, 좌측 타겟 앵커 리스트와, 우측 타겟 앵커 리스트이다.
마지막으로, 좌측 타겟 앵커 리스트의 결과를 우측 타겟 앵커 리스트의 결과와 비교한다. 좌측 타겟 앵커 리스트 중 하나와 우측 타겟 앵커 리스트 중 하나에 나타나는 결과들은 질의어에 대한 잠재적 변환으로서, 앵커 리스트들의 총 숫자에 따라 순위결정된다. 이 순위에 대한 추가적인 가중화는 특정 콘텍스트 단어 스트링 리스트로부터 도출된 앵커 리스트들에 나타나도록 제시될 수 있다. 이는 정확도를 높이는 데 일조한다. 결과가 나타나는 우측 앵커 리스트들의 수와 좌측 앵커 리스트들의 수를 곱함으로서 순위가 결정될 수도 있다. 추가적으로, 도출 결과의 총 빈도에 대한 일부 가중치가 순위 결과에 대한 한 요소로 포함될 수 있다.
해결되지 않은 구문이 주어졌을 때, 질의어에 대한 잠재적 변환어의 데이터베이스를 구축하기 위해 의미론적 대등어를 이용하는 또다른 실시예는 다음과 같다.
첫 번째로, 좌측 및 우측 특정 시그너처 단어 스트링만을 이용하여 의미론적대등어 분석에 따라 질의어의 해결되지 않은 구문을 분석한다. 그후, 좌측 및 우측 시그너처 리스트들만을 이용하여 의미론적 대등어 분석에 따라 질의어의 해결되지 않은 구문을 분석한다. 좌측 앵커 리스트에 나타나는 결과, 좌측 시그너처 특정 단어 스트링에 나타나는 결과, 또는 둘 중 하나에 나타나는 결과가 앵커 리스트들의 총 숫자에 따라 순위결정된다. 시그너처 특정 단어 스트링으로부터 도출된 랭커 리스트들의 결과에 대해 순위의 추가적 가중화가 제시될 수 있다. 그후, 앞서 설명한 순위결정에 의해 발생된 의미론적 대등어들의 리스트와 질의어의 미해결 부분이 타겟 언어로 변환된다. 이 변환은 본원 발명의 병렬 텍스트 데이터베이스 구축기를 이용하여 얻어질 수도 있고, 또는, 당 분야에 잘 알려진 변환 장치를 이용하여 도출될 수도 있다. 당 분야에 잘 알려진 변환 시스템을 이용한 결과는 본원 발명의 다언어 수단화(leverage) 실시예를 이용함으로서 개선될 수 있다. 각각의 변환 결과에 대하여, 시스템은 타겟 언어의 텍스트 데이터베이스를 이용하여 의미론적 대등어들의 리스트를 발생시킨다. 사용자 정의 수치의 리스트들에 나타나는 어떤 타겟 언어 변환도 질의어에 대한 미해결부분의 잠재적 변환으로 지정된다.
공지된 변환 장치의 잠재적인 비정확성을 고려할 때, 질의어의 미해결부에 대해 생성된 변환 및 이 장치를 이용한 의미론적 대등어가 부분 정확도의 한도에 대하여 검사될 수 있다. 예를 들어, 규정 본위 엔진을 이용한 5-단어 스트링을 변환하는 것이 타겟 언어로 5-단어 단어 스트링 변환을 생성할 경우, 타겟 언어 단어 스트링은 변환에서 단어들의 사용자 정의 최소치를 포함하는 길이의 사용자 정의 단어 수치들 간에 어떤 단어 스트링의 의미론적 대등어에 대해서도 검사될 수 있다.
ICFA나 RCFA를 이용하여 한 언어로부터 다른 언어로 문서를 변환하는 또다른 실시예로서, 질의어의 의미론적 대등어들과, 그 좌측 및 우측 시그너처 단어 스트링을 포함하는 과정이 존재한다. 소스 및 타겟 언어들에서의 이 리스트들을 이용함으로서, 두 언어 간 단어 대 단어 사전을 이용함으로서, 그리고 이중 중복 기술을 이용함으로서, 언어들간 변환을 실현할 수 있다.
그 핵심에서, 상관 데이터베이스 확립 기술은 1) 선형 방식 또는 순서에 따른 방식으로 조직화되는 그룹 데이터들의 유닛을 취하고, 2) 데이터의 그룹을 모든 가능한 연속 서브세트로 나누며, 3) 그룹형성된 데이터들의 모든 가용 유닛에서 서로에 대한 빈번한 반복 근접성을 바탕으로 모든 데이터 서브세트들간의 관계를 확립하는 과정들을 포함한다. CFA의 핵심에서, 시스템은 일반적인 "data signature"에 관련된 어떤 데이터에 관한 일반화된 정보를 제공하는 "data signature"를 규정하는 일부 반복 패턴들을 식별하는 것을 돕도록, 사용자에게 서브세트 데이터 구절들간의 빈번하게 반복되는 근접성 관계를 제공한다. 따라서, 데이터베이스 생성에 사용되는 동일한 기술들과 공통 빈도 분석은 여러 다른 종류의 데이터 검색, 텍스트 검색, 타겟 인식 등 패턴을 인식하는 데 사용될 수 있고, 그리고 그 외 다른 패턴 인식을 요하는 애플리케이션에서 패턴들을 인식하기 위해 사용될 수 있다.
당업자가 인지하는 바와 같이, 전술한 장치와 방법의 다양한 개변이 본원 발명의 기술적 사상과 범주를 벗어나지 않으면서 당업자에 의해 실시될 수 있다.
부록 첨부

Claims (4)

  1. 한 언어의 단어 및 단어 스트링들을 상관시키는 방법으로서, 상기 방법은,
    - 문서들의 컬렉션을 제공하고, 이때, 상기 컬렉션은 한 개 이상의 문서를 포함하며,
    - 분석해야할 단어나 단어 스트링 질의어를 사용자로부터 수신하며,
    - 분석될 질의어에 대해 상기 문서 컬렉션을 검색하고, 그리고 분석될 질의어를 지닌 문서들을 도출하며,
    - 상기 도출된 문서에서 분석될 상기 질의어의 좌측에 위치한 단어나 단어 스트링, 또는 단어 및 단어 스트링의 사용자 정의 크기를 그 빈도를 바탕으로 결정하고, 그리고, 상기 도출된 문서에서 분석될 상기 질의어의 좌측에 위치한 상기 단어나 단어 스트링을 포함한 좌측 시그너처 리스트를 생성하며,
    - 상기 좌측 시그너처 리스트를 포함하는 상기 단어나 단어 스트링들의 좌측에 위치한 단어나 단어 스트링, 또는 단어 및 단어 스트링의 사용자 정의 크기를 결정하고, 그리고, 상기 좌측 시그너처 리스트의 우측에 위치한 상기 단어나 단어 스트링들을 포함하는 좌측 앵커 리스트를 문서들의 컬렉션에서의 빈도를 바탕으로 생성하며,
    - 상기 도출된 문서에서 분석될 상기 질의어의 우측에 위치하는 단어나 단어 스트링, 또는 단어 및 단어 스트링들의 사용자 정의 크기를 결정하고, 그리고 상기 도출된 문서들에서 분석될 상기 질의어의 우측에 위치하는 상기 단어나 단어 스트링을 포함하는 우측 시그너처 리스트를 그 빈도를 바탕으로 생성하며,
    - 상기 우측 시그너처 리스트를 포함하는 상기 단어나 단어 스트링의 좌측에 위치하는 단어나 단어 스트링, 또는 단어 및 단어 스트링의 사용자 정의 크기를 결정하고, 그리고, 상기 우측 시그너처 리스트의 좌측에 위치하는 상기 단어나 단어 스트링들을 포함하는 우측 앵커 리스트를 그 빈도를 바탕으로 생성하며, 그리고
    - 상기 좌측 앵커 리스트에서 발생하는 각각의 단어나 단어 스트링의 빈도와, 상기 우측 앵커 리스트에서 발생하는 상기 단어나 단어 스트링의 빈도를 바탕으로 결과의 순위를 결정하는
    단계들을 포함하는 것을 특징으로 하는 한 언어의 단어 및 단어 스트링들을 상관시키는 방법.
  2. 제 1 항에 있어서, 결과의 순위를 결정하는 단계는, 상기 좌측 앵커 리스트에서 발생하는 각각의 단어나 단어 스트링의 총 빈도를 상기 우측 앵커 리스트에서 발생하는 상기 단어나 단어 스트링의 총 빈도와 곱하는 단계를 포함하는 것을 특징으로 하는 한 언어의 단어 및 단어 스트링들을 상관시키는 방법.
  3. 제 1 항에 있어서, 결과의 순위를 결정하는 단계는, 좌측 앵커 리스트와 우측 앵커 리스트에서 모두 나타나는 각각의 단어나 단어 스트링에 대하여, 상기 좌측 앵커 리스트에서 발생하는 각각의 단어나 단어 스트링의 총 빈도를 상기 우측 앵커 리스트에서 발생하는 상기 단어나 단어 스트링의 총 빈도에 더하는 단계를 포함하는 것을 특징으로 하는 한 언어의 단어 및 단어 스트링들을 상관시키는 방법.
  4. 한 언어의 단어 및 단어 스트링들을 상관시키는 방법으로서, 이 방법은,
    - 문서들의 컬렉션을 제공하고, 이때, 상기 컬렉션은 한 개 이상의 문서들을 포함하고,
    - 분석될 단어나 단어 스트링 질의어를 사용자로부터 수신하며,
    - 분석될 질의어를 위해 상기 문서들의 컬렉션을 검색하여, 분석될 상기 질의어를 지닌 문서들을 도출하며,
    - 분석될 상기 질의어를 지닌 상기 도출된 문서들에서 상기 질의어의 좌측 및 우측에 위치하는 단어나 단어 스트링, 또는 단어 및 단어 스트링의 사용자 정의 크기를 결정하며,
    - 한 개의 엔트리나 다수의 엔트리를 가진 리스트를 도출하며, 이때, 상기 엔트리나 상기 다수의 엔트리는 상기 도출된 문서들에서 상기 질의어의 좌측 및 우측에 위치한 지정 크기의 단어들을 지니며,
    - 상기 도출된 리스트에서 상기 엔트리나 상기 다수의 엔트리를 위해 상기 문서들의 컬렉션을 검색하고, 그리고
    - 상기 도출된 문서들에서 상기 질의어의 좌측 및 우측에 위치한 상기 지정 크기의 단어들 사이에서 가장 자주 발생하는 단어나 단어 스트링, 또는 단어 및 단어 스트링들의 리스트를 도출하는
    단계를 포함하는 것을 특징으로 하는 한 언어의 단어 및 단어 스트링들을 상관시키는 방법.
KR10-2004-7019533A 2002-05-31 2003-01-29 단어 상관 방법 및 장치 KR20050005523A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/157,894 2002-05-31
US10/157,894 US8744835B2 (en) 2001-03-16 2002-05-31 Content conversion method and apparatus
US10/281,997 US7711547B2 (en) 2001-03-16 2002-10-29 Word association method and apparatus
US10/281,997 2002-10-29
PCT/US2003/002516 WO2003102812A1 (en) 2002-05-31 2003-01-29 Word association method and apparatus

Publications (1)

Publication Number Publication Date
KR20050005523A true KR20050005523A (ko) 2005-01-13

Family

ID=29714706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7019533A KR20050005523A (ko) 2002-05-31 2003-01-29 단어 상관 방법 및 장치

Country Status (11)

Country Link
US (2) US7711547B2 (ko)
EP (1) EP1556784A4 (ko)
JP (1) JP2005529386A (ko)
KR (1) KR20050005523A (ko)
CN (1) CN1672149A (ko)
AU (1) AU2003209404A1 (ko)
CA (1) CA2487801A1 (ko)
EA (1) EA006373B1 (ko)
IL (1) IL165481A0 (ko)
TR (1) TR200500674T2 (ko)
WO (1) WO2003102812A1 (ko)

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7194684B1 (en) 2002-04-09 2007-03-20 Google Inc. Method of spell-checking search queries
US8856093B2 (en) 2002-09-03 2014-10-07 William Gross Methods and systems for search indexing
US7370035B2 (en) * 2002-09-03 2008-05-06 Idealab Methods and systems for search indexing
US8868543B1 (en) * 2002-11-20 2014-10-21 Google Inc. Finding web pages relevant to multimedia streams
US20040254988A1 (en) * 2003-06-12 2004-12-16 Rodriguez Rafael A. Method of and universal apparatus and module for automatically managing electronic communications, such as e-mail and the like, to enable integrity assurance thereof and real-time compliance with pre-established regulatory requirements as promulgated in government and other compliance database files and information websites, and the like
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US20060041484A1 (en) 2004-04-01 2006-02-23 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US8521772B2 (en) 2004-02-15 2013-08-27 Google Inc. Document enhancement system and method
US8799303B2 (en) 2004-02-15 2014-08-05 Google Inc. Establishing an interactive environment for rendered documents
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US8793162B2 (en) 2004-04-01 2014-07-29 Google Inc. Adding information or functionality to a rendered document via association with an electronic counterpart
US9008447B2 (en) 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8621349B2 (en) 2004-04-01 2013-12-31 Google Inc. Publishing techniques for adding value to a rendered document
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20080313172A1 (en) 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US20070300142A1 (en) 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
WO2008028674A2 (en) 2006-09-08 2008-03-13 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US9460346B2 (en) 2004-04-19 2016-10-04 Google Inc. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US7207004B1 (en) 2004-07-23 2007-04-17 Harrity Paul A Correction of misspelled words
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US8176054B2 (en) 2007-07-12 2012-05-08 Ricoh Co. Ltd Retrieving electronic documents by converting them to synthetic text
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US9405751B2 (en) * 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US8825682B2 (en) 2006-07-31 2014-09-02 Ricoh Co., Ltd. Architecture for mixed media reality retrieval of locations and registration of images
US7812986B2 (en) 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US8156116B2 (en) 2006-07-31 2012-04-10 Ricoh Co., Ltd Dynamic presentation of targeted information in a mixed media reality recognition system
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US8838591B2 (en) 2005-08-23 2014-09-16 Ricoh Co., Ltd. Embedding hot spots in electronic documents
US8965145B2 (en) 2006-07-31 2015-02-24 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US10192279B1 (en) 2007-07-11 2019-01-29 Ricoh Co., Ltd. Indexed document modification sharing with mixed media reality
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US7376648B2 (en) * 2004-10-20 2008-05-20 Oracle International Corporation Computer-implemented methods and systems for entering and searching for non-Roman-alphabet characters and related search systems
US20110029504A1 (en) * 2004-12-03 2011-02-03 King Martin T Searching and accessing documents on private networks for use with captures from rendered documents
JP4825544B2 (ja) * 2005-04-01 2011-11-30 株式会社リコー 文書検索装置、文書検索方法、文書検索プログラム及び記録媒体
US20070106644A1 (en) * 2005-11-08 2007-05-10 International Business Machines Corporation Methods and apparatus for extracting and correlating text information derived from comment and product databases for use in identifying product improvements based on comment and product database commonalities
JP5011751B2 (ja) * 2006-02-27 2012-08-29 富士通株式会社 訳語情報出力処理プログラム,処理方法および処理装置
US9767184B2 (en) * 2006-03-14 2017-09-19 Robert D. Fish Methods and apparatus for facilitating context searching
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8201076B2 (en) 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US8510112B1 (en) * 2006-08-31 2013-08-13 At&T Intellectual Property Ii, L.P. Method and system for enhancing a speech database
US8510113B1 (en) 2006-08-31 2013-08-13 At&T Intellectual Property Ii, L.P. Method and system for enhancing a speech database
US8423908B2 (en) * 2006-09-08 2013-04-16 Research In Motion Limited Method for identifying language of text in a handheld electronic device and a handheld electronic device incorporating the same
US8798988B1 (en) * 2006-10-24 2014-08-05 Google Inc. Identifying related terms in different languages
WO2008055034A2 (en) * 2006-10-30 2008-05-08 Noblis, Inc. Method and system for personal information extraction and modeling with fully generalized extraction contexts
US20080208566A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation Automated word-form transformation and part of speech tag assignment
US8112402B2 (en) 2007-02-26 2012-02-07 Microsoft Corporation Automatic disambiguation based on a reference resource
US9251137B2 (en) * 2007-06-21 2016-02-02 International Business Machines Corporation Method of text type-ahead
US9002869B2 (en) 2007-06-22 2015-04-07 Google Inc. Machine translation for query expansion
JP2009116548A (ja) * 2007-11-05 2009-05-28 Fujitsu Ltd キャッチコピー生成装置およびキャッチコピー生成プログラム
US8131714B2 (en) * 2008-01-02 2012-03-06 Think Village-OIP, LLC Linguistic assistance systems and methods
US10176827B2 (en) 2008-01-15 2019-01-08 Verint Americas Inc. Active lab
US8316035B2 (en) 2008-01-16 2012-11-20 International Business Machines Corporation Systems and arrangements of text type-ahead
US8359532B2 (en) * 2008-04-28 2013-01-22 International Business Machines Corporation Text type-ahead
JP5116580B2 (ja) * 2008-06-25 2013-01-09 日本電信電話株式会社 他言語の概念ベクトル生成装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
US10489434B2 (en) 2008-12-12 2019-11-26 Verint Americas Inc. Leveraging concepts with information retrieval techniques and knowledge bases
US8290961B2 (en) * 2009-01-13 2012-10-16 Sandia Corporation Technique for information retrieval using enhanced latent semantic analysis generating rank approximation matrix by factorizing the weighted morpheme-by-document matrix
WO2010096193A2 (en) * 2009-02-18 2010-08-26 Exbiblio B.V. Identifying a document by performing spectral analysis on the contents of the document
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
WO2010105246A2 (en) 2009-03-12 2010-09-16 Exbiblio B.V. Accessing resources based on capturing information from a rendered document
US20100299132A1 (en) * 2009-05-22 2010-11-25 Microsoft Corporation Mining phrase pairs from an unstructured resource
US20110035211A1 (en) * 2009-08-07 2011-02-10 Tal Eden Systems, methods and apparatus for relative frequency based phrase mining
US20110035210A1 (en) * 2009-08-10 2011-02-10 Benjamin Rosenfeld Conditional random fields (crf)-based relation extraction system
CN102012900B (zh) * 2009-09-04 2013-01-30 阿里巴巴集团控股有限公司 信息检索方法和***
US8943094B2 (en) 2009-09-22 2015-01-27 Next It Corporation Apparatus, system, and method for natural language processing
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
KR101301534B1 (ko) * 2009-12-14 2013-09-04 한국전자통신연구원 이형태 자동 구축 방법 및 장치
US8417727B2 (en) * 2010-06-14 2013-04-09 Infobright Inc. System and method for storing data in a relational database
JP6511221B2 (ja) * 2010-08-26 2019-05-15 グーグル エルエルシー 入力テキスト文字列の変換
US8943051B2 (en) * 2010-09-24 2015-01-27 International Business Machines Corporation Lexical answer type confidence estimation and application
CN102411563B (zh) * 2010-09-26 2015-06-17 阿里巴巴集团控股有限公司 一种识别目标词的方法、装置及***
US9122744B2 (en) 2010-10-11 2015-09-01 Next It Corporation System and method for providing distributed intelligent assistance
US9063931B2 (en) * 2011-02-16 2015-06-23 Ming-Yuan Wu Multiple language translation system
US9081760B2 (en) 2011-03-08 2015-07-14 At&T Intellectual Property I, L.P. System and method for building diverse language models
US8151186B1 (en) * 2011-03-11 2012-04-03 Google Inc. Comparing text pages using image features based on word positions
WO2012143839A1 (en) * 2011-04-19 2012-10-26 Greyling Abraham Carel A computerized system and a method for processing and building search strings
US20130024459A1 (en) * 2011-07-20 2013-01-24 Microsoft Corporation Combining Full-Text Search and Queryable Fields in the Same Data Structure
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
WO2013018032A1 (en) * 2011-07-31 2013-02-07 Bar-Shimon Niva Human association search engine
US9836177B2 (en) 2011-12-30 2017-12-05 Next IT Innovation Labs, LLC Providing variable responses in a virtual-assistant environment
US9223537B2 (en) 2012-04-18 2015-12-29 Next It Corporation Conversation user interface
US8892596B1 (en) * 2012-08-08 2014-11-18 Google Inc. Identifying related documents based on links in documents
US9195647B1 (en) * 2012-08-11 2015-11-24 Guangsheng Zhang System, methods, and data structure for machine-learning of contextualized symbolic associations
US9536049B2 (en) 2012-09-07 2017-01-03 Next It Corporation Conversational virtual healthcare assistant
US9659058B2 (en) 2013-03-22 2017-05-23 X1 Discovery, Inc. Methods and systems for federation of results from search indexing
US10445115B2 (en) 2013-04-18 2019-10-15 Verint Americas Inc. Virtual assistant focused user interfaces
US9880983B2 (en) 2013-06-04 2018-01-30 X1 Discovery, Inc. Methods and systems for uniquely identifying digital content for eDiscovery
US9547640B2 (en) * 2013-10-16 2017-01-17 International Business Machines Corporation Ontology-driven annotation confidence levels for natural language processing
US9830044B2 (en) 2013-12-31 2017-11-28 Next It Corporation Virtual assistant team customization
RU2640322C2 (ru) * 2014-01-30 2017-12-27 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы эффективного автоматического распознавания символов
US10346550B1 (en) 2014-08-28 2019-07-09 X1 Discovery, Inc. Methods and systems for searching and indexing virtual environments
US20160071517A1 (en) 2014-09-09 2016-03-10 Next It Corporation Evaluating Conversation Data based on Risk Factors
US10083167B2 (en) 2014-10-03 2018-09-25 At&T Intellectual Property I, L.P. System and method for unsupervised text normalization using distributed representation of words
US9734141B2 (en) 2015-09-22 2017-08-15 Yang Chang Word mapping
CN106708880B (zh) * 2015-11-16 2020-05-22 北京国双科技有限公司 话题关联词的获取方法和装置
US9818405B2 (en) * 2016-03-15 2017-11-14 SAESTEK Ses ve Iletisim Bilgisayar Tekn. San. Ve Tic. A.S. Dialog management system
US20170293620A1 (en) * 2016-04-06 2017-10-12 International Business Machines Corporation Natural language processing based on textual polarity
US10706044B2 (en) 2016-04-06 2020-07-07 International Business Machines Corporation Natural language processing based on textual polarity
US20170293621A1 (en) * 2016-04-06 2017-10-12 International Business Machines Corporation Natural language processing based on textual polarity
JP2019522229A (ja) 2016-04-26 2019-08-08 ポンディ エデュケーション インコーポレイテッドPonddy Education Inc. 親和性知識ベースの、コンピュータによる学習システム
US11562008B2 (en) * 2016-10-25 2023-01-24 Micro Focus Llc Detection of entities in unstructured data
CN107256258B (zh) * 2017-06-12 2019-09-06 上海智臻智能网络科技股份有限公司 语义表达式生成方法及装置
CN107273503B (zh) * 2017-06-19 2020-07-10 北京百度网讯科技有限公司 用于生成同语言平行文本的方法和装置
US11094317B2 (en) * 2018-07-31 2021-08-17 Samsung Electronics Co., Ltd. System and method for personalized natural language understanding
US11461863B2 (en) 2018-08-24 2022-10-04 Bright Marbles, Inc. Idea assessment and landscape mapping
US11189267B2 (en) 2018-08-24 2021-11-30 Bright Marbles, Inc. Intelligence-driven virtual assistant for automated idea documentation
US11081113B2 (en) 2018-08-24 2021-08-03 Bright Marbles, Inc. Idea scoring for creativity tool selection
US11164065B2 (en) 2018-08-24 2021-11-02 Bright Marbles, Inc. Ideation virtual assistant tools
US11568175B2 (en) 2018-09-07 2023-01-31 Verint Americas Inc. Dynamic intent classification based on environment variables
US11232264B2 (en) 2018-10-19 2022-01-25 Verint Americas Inc. Natural language processing with non-ontological hierarchy models
US11196863B2 (en) 2018-10-24 2021-12-07 Verint Americas Inc. Method and system for virtual assistant conversations

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839853A (en) * 1988-09-15 1989-06-13 Bell Communications Research, Inc. Computer information retrieval using latent semantic structure
US5146406A (en) * 1989-08-16 1992-09-08 International Business Machines Corporation Computer method for identifying predicate-argument structures in natural language text
US5404514A (en) * 1989-12-26 1995-04-04 Kageneck; Karl-Erbo G. Method of indexing and retrieval of electronically-stored documents
EP0494573A1 (en) 1991-01-08 1992-07-15 International Business Machines Corporation Method for automatically disambiguating the synonymic links in a dictionary for a natural language processing system
US5278980A (en) * 1991-08-16 1994-01-11 Xerox Corporation Iterative technique for phrase query formation and an information retrieval system employing same
US5278890A (en) * 1991-11-27 1994-01-11 At&T Bell Laboratories Paging arrangements in a cellular mobile switching system
US5369575A (en) 1992-05-15 1994-11-29 International Business Machines Corporation Constrained natural language interface for a computer system
US5377103A (en) 1992-05-15 1994-12-27 International Business Machines Corporation Constrained natural language interface for a computer that employs a browse function
US5630121A (en) 1993-02-02 1997-05-13 International Business Machines Corporation Archiving and retrieving multimedia objects using structured indexes
GB2279164A (en) * 1993-06-18 1994-12-21 Canon Res Ct Europe Ltd Processing a bilingual database.
US5519608A (en) * 1993-06-24 1996-05-21 Xerox Corporation Method for extracting from a text corpus answers to questions stated in natural language by using linguistic analysis and hypothesis generation
JP3408291B2 (ja) * 1993-09-20 2003-05-19 株式会社東芝 辞書作成支援装置
US5659765A (en) * 1994-03-15 1997-08-19 Toppan Printing Co., Ltd. Machine translation system
US5799268A (en) * 1994-09-28 1998-08-25 Apple Computer, Inc. Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like
AU5969896A (en) 1995-06-07 1996-12-30 International Language Engineering Corporation Machine assisted translation tools
JP3268963B2 (ja) * 1995-07-11 2002-03-25 富士通株式会社 在高管理システム
US5913215A (en) * 1996-04-09 1999-06-15 Seymour I. Rubinstein Browse by prompted keyword phrases with an improved method for obtaining an initial document set
US6085162A (en) * 1996-10-18 2000-07-04 Gedanken Corporation Translation system and method in which words are translated by a specialized dictionary and then a general dictionary
US5987446A (en) * 1996-11-12 1999-11-16 U.S. West, Inc. Searching large collections of text using multiple search engines concurrently
US5991710A (en) * 1997-05-20 1999-11-23 International Business Machines Corporation Statistical translation system with features based on phrases or groups of words
US5933822A (en) * 1997-07-22 1999-08-03 Microsoft Corporation Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision
US6070134A (en) * 1997-07-31 2000-05-30 Microsoft Corporation Identifying salient semantic relation paths between two words
US6078878A (en) 1997-07-31 2000-06-20 Microsoft Corporation Bootstrapping sense characterizations of occurrences of polysemous words
JP3114703B2 (ja) * 1998-07-02 2000-12-04 富士ゼロックス株式会社 対訳文検索装置
US6285978B1 (en) * 1998-09-24 2001-09-04 International Business Machines Corporation System and method for estimating accuracy of an automatic natural language translation
US6523028B1 (en) * 1998-12-03 2003-02-18 Lockhead Martin Corporation Method and system for universal querying of distributed databases
EP1203309A4 (en) * 1999-06-18 2006-06-21 Univ Columbia SYSTEM AND METHOD FOR DISCOVERING TEKSTÄHNLICHICHITEN ABOUT SHORT PASSAGES
US6393389B1 (en) * 1999-09-23 2002-05-21 Xerox Corporation Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions
US6330530B1 (en) * 1999-10-18 2001-12-11 Sony Corporation Method and system for transforming a source language linguistic structure into a target language linguistic structure based on example linguistic feature structures
US7962326B2 (en) * 2000-04-20 2011-06-14 Invention Machine Corporation Semantic answering system and method
US6859800B1 (en) * 2000-04-26 2005-02-22 Global Information Research And Technologies Llc System for fulfilling an information need
US6697793B2 (en) * 2001-03-02 2004-02-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System, method and apparatus for generating phrases from a database

Also Published As

Publication number Publication date
AU2003209404A1 (en) 2003-12-19
IL165481A0 (en) 2006-01-15
WO2003102812A1 (en) 2003-12-11
CA2487801A1 (en) 2003-12-11
US8521509B2 (en) 2013-08-27
CN1672149A (zh) 2005-09-21
EA006373B1 (ru) 2005-12-29
EA200401629A1 (ru) 2005-06-30
EP1556784A4 (en) 2006-06-07
JP2005529386A (ja) 2005-09-29
EP1556784A1 (en) 2005-07-27
US7711547B2 (en) 2010-05-04
US20100211567A1 (en) 2010-08-19
US20030171910A1 (en) 2003-09-11
TR200500674T2 (tr) 2006-04-21

Similar Documents

Publication Publication Date Title
KR20050005523A (ko) 단어 상관 방법 및 장치
KR20040068319A (ko) 콘텐트 변환 방법 및 장치
US7860706B2 (en) Knowledge system method and appparatus
US8874431B2 (en) Knowledge system method and apparatus
KR101004515B1 (ko) 문장 데이터베이스로부터 문장들을 사용자에게 제공하는 컴퓨터 구현 방법 및 이 방법을 수행하기 위한 컴퓨터 실행가능 명령어가 저장되어 있는 유형의 컴퓨터 판독가능 기록 매체, 문장 데이터베이스로부터 확인 문장들을 검색하는 시스템이 저장되어 있는 컴퓨터 판독가능 기록 매체
US7483828B2 (en) Multilingual database creation system and method
JP2006252382A (ja) 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
US11531693B2 (en) Information processing apparatus, method and non-transitory computer readable medium
KR20040004558A (ko) 콘텐트 변환 방법 및 장치
CN115906878A (zh) 一种基于提示的机器翻译方法
US20030093261A1 (en) Multilingual database creation system and method
KR20040063995A (ko) 다언어 데이터베이스 생성 시스템 및 방법
Tang Link discovery for Chinese/English cross-language web information retrieval
JP2003173348A (ja) 情報検索方法、情報検索装置、および記憶媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid