KR100650427B1 - 자연어 인식 애플리케이션 구축을 위한 통합 개발 툴 - Google Patents

자연어 인식 애플리케이션 구축을 위한 통합 개발 툴 Download PDF

Info

Publication number
KR100650427B1
KR100650427B1 KR1020047015913A KR20047015913A KR100650427B1 KR 100650427 B1 KR100650427 B1 KR 100650427B1 KR 1020047015913 A KR1020047015913 A KR 1020047015913A KR 20047015913 A KR20047015913 A KR 20047015913A KR 100650427 B1 KR100650427 B1 KR 100650427B1
Authority
KR
South Korea
Prior art keywords
nlu
delete delete
translation information
text
tree
Prior art date
Application number
KR1020047015913A
Other languages
English (en)
Other versions
KR20040102071A (ko
Inventor
엡스테인마크에드워드
존스샤론바바라
워드로버트토드
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040102071A publication Critical patent/KR20040102071A/ko
Application granted granted Critical
Publication of KR100650427B1 publication Critical patent/KR100650427B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

자연어 인식 (NLU) 애플리케이션을 개발하는 방법은 다중 경로 처리 기술을 사용하여 NLU 훈련 텍스트 자료로부터 NLU 번역 정보를 결정하는 단계를 포함한다. 하나의 경로의 변경은 자동적으로 그 후의 경로에 대한 입력을 변경할 수 있다. NLU 번역 정보는 NLU 훈련 텍스트 자료의 적어도 일부의 번역을 특정할 수 있다. NLU 번역 정보는 데이터베이스에 저장되고, NLU 번역 정보의 선택된 항목은 그래픽 에디터에 제공될 수 있다. 사용자 특정 편집 또한 그래픽 에디터에서 수신된다.

Description

자연어 인식 애플리케이션 구축을 위한 통합 개발 툴{INTEGRATED DEVELOPMENT TOOL FOR BUILDING A NATURAL LANGUAGE UNDERSTANDING APPLICATION}
본 발명은 자연어 인식 분야에 관한 것으로, 특히 자연어 인식 애플리케이션을 구축하기 위한 통합 개발 툴에 관한 것이다.
자연어 인식(NLU) 시스템은 컴퓨터로 하여금 인간 음성으로부터 정보를 인식하고 추출하는 것을 가능케 한다. 이러한 시스템은 인간 음성의 인식이 요구되는 음성 인식 시스템과 같은 다양한 다른 컴퓨터 애플리케이션에서 매우 잘 기능할 수 있다. NLU 시스템은 텍스트 내에 포함된 관련 정보를 추출하고, 그 후 이 정보를 항공편 예약, 서류 검색 또는 텍스트 요약과 같은 목적을 위한 다른 애플리케이션 프로그램 또는 시스템에 제공할 수 있다.
현재 당업계에서는, NLU 시스템은 문자, 단어, 또는 문장의 조합을 지칭하는 텍스트 스트링 (string) 으로부터 정보를 추출하기 위한 서로 다른 기술을 사용할 수 있다. 가장 일반적인 기술은, 터미널 (terminal) 과 비터미널 (non-terminal) 을 구비하는 Backus-Naur Form (BNF) 을 사용하는 당업계 내에서 일반적으로 표시되는 문맥자유 문법 (context free grammar) 을 사용하여 텍스트 스트링을 파싱 (parsing; 구문분석) 하는 언어적 접근이다. 터미널은 더 이상 나뉘어질 수 없는 단어 또는 다른 심볼들을 지칭하는 반면, 비터미널은 동사구 또는 명사구와 같은 어구의 일부 또는 음성부분을 지칭한다. 따라서, NLU 에 대한 문법적 접근은 통계적 처리의 사용없이 BNF 문법에 기초하여 각 텍스트 스트링을 파싱하는 것이다.
이러한 문법 기반의 NLU 시스템을 구축하기 위하여는, 통상 언어학자가 필요하며, 이는 애플리케이션 개발에 상당한 시간과 비용을 증가시킬 수 있다. 그러나, NLU 애플리케이션의 품질은 특히 전화 대화 스타일과 관련하여 각 잠재적인 사용자 요청 또는 프롬프트에 대한 응답을 예측하는 어려움 때문에 불만족스러울 수 있다. 명백하게도, 언어학자에 의하더라도 이러한 불만족스러운 결과는 발생할 수 있다.
텍스트 스트링으로부터 정보를 추출하기 위하여 NLU 시스템에 의하여 사용되는 또 다른 기술은, 텍스트 스트링을 분석하는데 문법이 사용되지 않는 통계적 접근이다. 현재, 이러한 시스템은 대량의 주석이 달린 문장 자료로부터 의미를 학습한다. 주석이 달린 문장은 훈련용 자료로 불릴 수 있는 텍스트 자료 내로 수집된다. 통계적인 NLU 시스템을 개발하고 텍스트에 주석을 붙이는데 사용되는 툴은 ASCII 파일, 종래의 텍스트 에디터, 및 키보드 매크로와 같은 이종의 구성요소를 포함시켰다. 이러한 비효율적인 툴을 사용하여, 단어 관계가 특정되고, 통계 모델이 구축될 수 있다. 그러나, 지금까지는 충분하고 정확한 그래픽 시각 에디팅 툴은 아직 개발되지 않고 있다. 그 결과, 통계적인 NLU 애플리케이션의 개발은 통상적으로 숙련된 전문가에 유보되어 왔다.
종래의 NLU 애플리케이션 개발 툴을 사용하는 또 다른 단점은 팀 환경에서의 개발이 어려울 수 있다는 점이다. 명백하게도, 기존의 툴은 이종의 컴포넌트를 이용하기 때문에, 이러한 개발 툴은 하나의 팀 멤버에 의하여 이루어진 변화를 추적하거나 표시할 수 없어, 또 다른 팀 멤버가 동일한 텍스트 부분을 덮어쓰거나 주석을 다시 붙이는 것을 방지할 수 없다. 게다가, 종래의 개발 툴은 훈련용 자료 내의 특정 문장의 다양한 용례가 서로 일치하지 않는 방식으로 주석이 붙은 상태를 식별할 수 없다.
여기서 개시되는 본 발명은 청구항 제1 항, 제 37 항, 및 제 38 항에서 청구하는 자연어 인식(NLU) 애플리케이션을 구축하기 위한 방법, 시스템, 및 기계로 판독가능한 저장장치에 관한 것이다. 특히, 여기서 개시되는 본 발명은 통계 모델을 구축하는 통합 개발 툴을 사용자에게 제공할 수 있다. 번역을 특정하는 번역 정보, 의미, 또는 텍스트 자료의 구조를 특정하기 위하여, 일련의 텍스트 파일, 텍스트 에디터, 및 키보드 매크로를 사용하지 않고, 본 발명은 데이터베이스 뿐만 아니라 번역 정보를 특정하는 그래픽 에디팅 및 오디오 툴의 모음을 활용할 수 있다. 사용자 편집을 동기화하고 라벨을 붙이는 본 발명의 능력을 포함하는, 본 발명의 데이터베이스 기능으로, 본 발명은 특히 네트워크 또는 워크그룹 환경에서의 사용에 적합하다. 그 결과, 본 발명은 증가된 기능을 제공할 수 있다.
제공 단계는 바람직하게는 데이터 항목들을 나타내는 터미널 및 비터미널 노드들을 포함하여 의미 트리 (meaning tree) 로써 NLU 번역 정보를 제공하는 단계를 포함한다. 본 발명의 일 실시예에 의하면, 의미 트리의 일부가 올바른지를 나타내는 확률이 판정될 수 있다. 의미 트리의 그 부분은, 그 확률이 소정의 임계치 확률을 초과하지 않는 경우, 시각적으로 식별될 수 있다. 선택적으로는, NLU 번역 정보 내의 의미 트리의 서브구조의 발생 횟수가 판정될 수 있다. 의미 트리의 서브구조는, 발생 횟수가 소정의 임계치를 초과하지 않는 경우, 시각적으로 식별될 수 있다.
또한, 본 발명의 방법은 NLU 번역 정보로부터 의미 트리의 선택된 노드들의 교점을 판정하는 단계, 상기 의미 트리에 추가 노드를 추가하기 위한 선택으로 그 선택된 노드의 교점을 제공하는 단계, 및 그 후 그 의미 트리의 선택된 노드 상에 노드를 추가하는 단계를 포함할 수 있다. 명백하게도, 그 추가된 노드는 그 제공되는 선택으로부터 선택될 수 있다. 그 의미 트리의 추가 노드들은 사용자 명령에 응답하여 생성될 수 있다. 그 추가 노드들은 추가 데이터 항목을 나타낼 수 있다. 또한, 사용자는 그 추가된 노드에 대한 설명을 입력할 수 있는데, 그것은 그 설명이 입력될 때 철자 검사될 수 있다. 사용자 요구에 응답하여, 그 의미 트리의 노드가 선택되는 경우, 그 노드 및 그 노드의 파라미터를 디스플레이하기 위한 하나 이상의 컬럼을 갖는 사전 화면(dictionary view) 이 디스플레이 될 수 있다. 명백하게도, 사전 화면은 그 의미 트리의 가장 밝게 표시된 노드에 의하여 표시되는 데이터 항목을 갖는 사전 영역을 포함하거나 그에 초점이 맞춰질 수 있다.
그 의미 트리는 데이터 항목의 사전, 즉 텍스트 번역을 특정하는 모델과 같은 소정의 주석 데이터에 따라 자동적으로 완성될 수 있다. 일 실시예에서, 판정은 데이터 항목 사전 중 단일 데이터 항목이 NLU 훈련용 텍스트 자료의 단어와 연관되는지에 따라 수행될 수 있다. 긍정되는 경우, 단일 데이터 항목은 그 단어에 할당될 수 있다. NLU 번역 정보의 선택되는 항목들은 툴팁 방식과 그 제공되는 의미 트리가 올바른 번역인지를 나타내는 확률로 디스플레이될 수 있다. 또한, 본 방법은 특정된 의미 트리 구조에 대한 NLU 번역 정보를 검색하는 단계를 포함할 수 있다. 데이터 항목들의 교점은 NLU 훈련용 텍스트 자료의 사용자 특정된 단어에 주석을 달기 위한 선택으로 식별 및 제공될 수 있다.
바람직하게는, 본 발명은 사전 화면(dictionary view) 에서 NLU 번역 정보를 제공하는 단계를 포함할 수 있다. 이 경우, NLU 번역 정보는, 부모 및 자식 데이터 항목들 및 그 데이터 항목들의 파라미터들을 디스플레이하기 위하여 하나 이상의 컬럼을 사용하여 제공될 수 있다. 그 사전 화면은 데이터 항목의 부모를 표시하는 컬럼 및 데이터 항목의 자식들을 표시하는 컬럼을 포함할 수 있다. 그 데이터 항목은 부모 및 자식 컬럼을 포함하여 컬럼들 중 임의의 컬럼에 따라서 정렬될 수 있다. 그 사전 화면에 디스플레이되는 데이터 항목들은, 데이터 항목이 소정의 임계치를 초과하는 확률 또는 횟수를 갖는 경우, 시각적으로 구별될 수 있다. 소정의 임계치를 초과하지 않는 확률 또는 횟수를 갖는 사전 화면에 디스플레이되는 데이터 항목은 화면으로부터 숨겨질 수 있다. 연관을 갖는 특정 데이터 항목의 사용자 선택에 응답하여, NLU 번역 정보가 그 연관을 나타내는 터미널 및 비터미널 노드를 포함하는 의미 트리에 대하여 검색될 수 있다. 또한, 본 방법은 데이터 항목 소스, 데이터 항목 타겟, 데이터 항목과 연관된 방향, 데이터 항목과 연관된 주석, 주석 상태, 노드 횟수, 데이터 파일, 문장 길이, 및/또는 사용 상태에 따라서 NLU 번역 정보를 필터링하는 단계를 포함할 수 있다. 그 NLU 번역 정보로부터 추출된 막대 그래프 정보가 또한 디스플레이될 수 있다.
바람직하게는, 본 발명은 문장 화면에 NLU 번역 정보를 제공하는 단계를 포함할 수 있다. 개개의 텍스트 어구와 연관된 NLU 번역 정보가 디스플레이될 수 있다. 예컨대, 주석 상태, 횟수, 지정된 용도, 수집 정보, 정확성 확률, 및 정확성 순위가 매 문장 및/또는 어구 단위로 디스플레이될 수 있다.
바람직하게는, 본 발명은 분리된 스크린 화면에 하나 이상의 의미 트리로 NLU 번역 정보를 제공하는 단계를 포함할 수 있다. 그 분리된 스크린 화면은 적어도 제1 의미 트리를 디스플레이하기 위한 제1 윈도우 및 제2 의미 트리를 디스플레이 하기 위한 제2 윈도우를 포함할 수 있다. 본 방법은, 제1 윈도우에 제1 의미 트리를 디스플레이하는 동안, 사용자 요구에 응답하여 제2 윈도우에 그 의미 트리들의 서로 다른 트리를 제공하는 단계를 포함할 수 있다. 그 의미 트리들은, 동일 문맥에서 동일 텍스트 어구의 서로 다른 번역 또는 2 개의 서로 다른 문맥에서 동일한 텍스트 어구의 서로 다른 번역일 수 있으며, 또는 서로 다른 처리 패스의 결과일 수 있다. 예컨대, 제1 윈도우는 제1 처리 패스 후에 판정된 바에 따라 의미 트리를 제공하고, 제2 윈도우는 그 후의 처리 패스 후에 판정된 바에 따라 그 결과인 의미 트리를 제공할 수 있다. 선택적으로는, 제1 의미 트리는 텍스트 어구의 올바른 번역을 나타낼 수 있고, 제2 의미 트리는 통계 모델에 따른 텍스트 어구의 예측되는 번역을 나타낼 수 있다. 올바른 번역의 점수가 예측된 번역의 점수보다 큰 경우, 통계 모델이 올바르지 않다는 표시가 제공될 수 있다. 본 발명은, 제1 의미 트리가 제1 텍스트 어구를 나타내는 경우, 제1 윈도우에 제1 의미 트리에 대한 편집을 수신하는 단계, 사용자 편집에 응답하여 그 편집된 제1 의미 트리에 대응하는 상이한 텍스트 어구의 의미 트리를 검색하는 단계, 및 제2 윈도우에서 그 상이한 텍스트 어구에 대한 의미 트리를 디스플레이하는 단계를 포함할 수 있다. 본 발명은 제1 의미 트리와 제2 의미 트리 사이의 차이점을 시각적으로 표시하는 단계, 및 제1 의미 트리를 제2 의미 트리에 합치시키는 단계를 포함할 수 있다.
바람직하게는, 본 발명은 NLU 훈련용 문장을 자동적으로 임포팅(importing) 하는 단계 및 그 NLU 훈련용 텍스트 자료로부터 판정되는 통계적 유사성에 따라 NLU 훈련용 문장의 번역을 자동적으로 판정하는 단계를 포함할 수 있다. 선택적으로는, 훈련용 문장의 NLU 번역은 자동적으로 임포팅되고, NLU 훈련용 텍스트 자료에 적용될 수 있다. 다중 패스 중 임의의 패스로부터의 NLU 번역 정보는 그 패스들 중 하나를 특정하는 사용자 입력에 응답하여 디스플레이될 수 있다. 또한, 본 방법은 텍스트 어구들에 대한 NLU 번역 정보의 속성에 따라 문장 화면에서 NLU 훈련용 텍스트 자료의 텍스트 어구의 순서를 매기는 단계, 및 의미 트리들로 텍스트 어구들 중 2 개 이상의 어구에 대한 NLU 번역 정보를 순차적으로 디스플레이하는 단계를 포함할 수 있다. 그 의미 트리들은 문장 화면에서의 순서에 따라 디스플레이될 수 있다.
통합 개발 툴은 또한 NLU 번역 정보의 그 데이터 항목들 중 선택된 항목들에 대한 검색을 특정하기 위한 그래픽 사용자 인터페이스를 포함할 수 있다. 그래픽 사용자 인터페이스는 그 검색을 특정하기 위한 선택가능한 터미널 및 비터미널의 하나 이상의 리스트를 포함할 수 있다. 추가 영역은 데이터 항목들 중 다른 항목들과 그 선택된 데이터 항목의 관계를 특정하기 위한 그래픽 사용자 인터페이스에 포함될 수 있다.
그래픽 에디터는 계층적 트리 구조에서 NLU 번역 정보의 항목들을 제공하기 위한 트리 화면, 컬럼 포맷으로 NLU 번역 정보의 개개의 항목들을 제공하는 사전 화면, 문장 형태로 NLU 번역 정보의 하나 이상의 항목을 제공하는 문장 화면, 2 개 이상의 의미 트리들에서 동시에 제공하는 분리된 스크린 화면, 및 추가 NLU 훈련용 텍스트 및 연관되는 번역 정보를 임포팅(import)하기 위한 임포트 화면을 포함할 수 있다. NLU 훈련용 텍스트 자료로부터 하나 이상의 번역을 판정하도록 구성된 프로그램 가능한 통계 모델 또한 포함될 수 있다.
여기서는 바람직한 실시예를 도면으로 도시하지만, 본 발명이 도시하는 정확한 구조 및 수단에 한정되는 것은 아니다.
도 1은 본 발명이 사용될 수 있는 예시적인 컴퓨터 시스템의 개략도이다.
도 2는 여기서 개시되는 본 발명이 구현될 수 있는 예시적인 시스템 구조를 도시하는 개략도이다.
도 3a는 그래픽 사용자 인터페이스의 예시적인 트리 화면의 도시이다.
도 3b는 자연어 인식 번역 정보를 검색하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 4는 태그를 수정 및 생성하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 5는 새로운 태그를 정의하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 6은 의미 트리 화면을 도시하는 예시적인 그래픽 사용자 인터페이스이다.
도 7은 의미 트리 화면을 도시하는 또 다른 그래픽 사용자 인터페이스이다.
도 8은 의미 트리 화면에서 텍스트를 수정하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 9는 훈련용 텍스트 자료의 문장 및/또는 어구를 디스플레이하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 10은 사전 스타일 화면에서 터미널 및 비터미널 데이터 항목들을 디스플레이하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 11은 여기서 개시되는 본 발명의 구축 화면 및 구성요소를 도시하는 예시적인 그래픽 사용자 인터페이스이다.
도 12는 하나 이상의 의미 트리를 디스플레이하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 13은 데이터를 임포팅하기 위한 예시적인 그래픽 사용자 인터페이스이다.
도 14는 임포팅된 데이터 내의 터미널 및 비터미널을 식별하기 위한 예시적인 그래픽 사용자 인터페이스이다.
여기서 개시되는 본 발명은 자연어 인식(NLU) 애플리케이션에 사용되는 통계 모델을 구축하는 방법 및 시스템에 관한 것이다. 특히, 여기서 개시되는 본 발명은 사용자들에게 NLU 시스템을 사용하여 통계 모델을 구축하는 통합 개발 툴을 제공할 수 있다. 일련의 텍스트 파일, 텍스트 에디터, 및 키보드 매크로들을 포함하는 컴포넌트들을 종합적으로 사용하여 텍스트 자료를 포함하는 문장의 구조 및 의미를 특정하기 보다 본 발명은 통합 개발 툴(IDT)을 제공한다. IDT는 종종 텍스트 자료에 대한 주석으로 특정되는 번역 정보를 특정하기 위한 시각적 (그래픽) 및 오디오 툴의 모음 뿐만 아니라 데이터베이스를 포함할 수 있다. NLU 번역 정보는 훈련용 텍스트 자료를 포함하는 문장의 의미 또는 번역을 특정한다. 사용자 편집을 동기화하고 라벨을 붙이는 본 발명의 능력을 포함하여 본 발명의 데이터베이스 기능으로, 본 발명은 특히 네트워킹된 컴퓨팅 또는 워크그룹 환경에서의 사용에 적합하다.
도 1은 본 발명과 함께 사용되는 일반적인 컴퓨터 시스템(100)을 도시한다. 컴퓨터 시스템(100)은 중앙처리장치(110; CPU), 하나 이상의 메모리 장치(115), 및 연관된 회로를 갖는 컴퓨터(105)를 포함할 수 있다. 메모리 장치(115)는 IDT(210)를 포함할 수 있는데, 전자 RAM 및 벌크 데이터 저장 매체로 구성될 수 있다. 컴퓨터 시스템은 또한 적당한 인터페이스 회로(125)를 통하여 컴퓨터 시스템에 동작적으로 접속된 마이크로폰(120) 및 그에 동작적으로 접속되는 비디오 데이터 터미널과 같은 선택적인 사용자 인터페이스 디스플레이 유닛(130)을 포함할 수 있다. CPU는 당업계에 공지된 바와 같이, 임의의 적당한 마이크로프로세서 또는 다른 전자 처리 유닛으로 구성될 수 있다. 마우스(145) 및 키보드(150)와 같은 인터페이스 장치 뿐만 아니라 스피커(135, 140)가 시스템에 제공될 수 있으나, 여기서 설명하는 본 발명의 동작에 필수적인 것은 아니다. 이하 설명하는 컴퓨터 시스템에 대한 다양한 하드웨어 사양은 많은 상용 고속 컴퓨터들 중 임의의 하나에 의하여 통상적으로 만족될 수 있다.
도 2는 이하 설명하는 본 발명이 구현되는 예시적인 시스템 구조를 도시하는 개략도이다. 도시한 바와 같이, 시스템 구조는 여러 컴퓨터 시스템(215, 220, 225)을 포함할 수 있고, 이들 각각은 적당한 운영체계에서 수행되는 IDT(210)을 포함할 수 있다. 컴퓨터 시스템(215 - 225)은 컴퓨터 통신 네트워크(200)를 통하여 상호간에 그리고 데이터베이스 서버(205)와 통신적으로 링크되어 있다. 따라서, 컴퓨터 시스템들(215 - 225) 각각은 본 발명의 일 태양에 따라 주석이 달린 데이터, 주석이 없는 데이터, 통계 모델, 및 알고리즘의 완전한 세트를 갖는 자체 내장된 IDT(210)를 포함할 수도 있지만, IDT(210)에 의하여 사용되는 데이터의 다양한 부분들은 데이터베이스 서버(205)에 저장되고 이로부터 액세스될 수 있다. 예컨대, 워크그룹의 복수의 사용자들이 액세스를 요구하는 다양한 정보 항목들은 개개의 개별적인 컴퓨터 시스템(215-225)에 저장되지 않고 데이터베이스 서버(205)에 저장될 수 있다. 예컨대, 도 2에 도시한 바와 같이, 데이터베이스 서버(205)는 주석이 달린 텍스트, 주석이 없는 텍스트, 통계 모델, 및 알고리즘 등을 저장할 수 있다.
IDT(210)는 텍스트 자료를 통계적으로 처리하기 위한 클래싱(classing) 및 파싱(parsing) 기능을 포함한다. 보다 상세하게는, IDT(210)를 사용하여, 클래서(classer) 및 파서(parser)의 적어도 일부를 포함하는 통계 모델이 구축될 수 있다. IDT(210)를 사용하여, 텍스트 자료에 주석이 붙여져서 그 결과 얻어지는 주석이 달린 텍스트 자료는, 주석으로부터 각각 도출되는 계층적 트리 유사 구조를 갖는 컴포넌트 문장으로 조직될 수 있게 된다. 통계 모델은 주석이 달린 텍스트 자료를 사용하여 구축 또는 훈련될 수 있다. 또한, 통계 모델이 구축 또는 훈련되는 때에, IDT는 현재의 통계 모델을 정확성에 대하여 검사할 수 있다.
그러나, 다중 패스 텍스트 처리 접근법이 2 개 이상의 패스가 사용되는 경우에 수반될 수 있다는 점을 이해해야 한다. 따라서, 각 패스로부터의 출력은 그 다음 또는 후속하는 패스에 대한 입력으로 사용될 수 있다. 예컨대, 다양한 필터 및/또는 워드 스포팅 알고리즘(word spotting algorithm)이 사용될 수 있는데, 예컨대, 의미없는 단어 또는 어구를 식별하고 주석을 붙이는 "널 필터(null filter)" 또는 전치 어구, 명사구 등과 같은 작은 의미 어구를 식별하는 어구 패스가 사용될 수 있다. 또한, 소스-채널 모델링과 같은 다른 주석 부가 기술이 사용될 수 있는데, 그 결과 얻어지는 주석은 정렬로 칭해지며, 트리 유사 구조가 아니다.
클래서와 파서를 예를 들면, 재정 NLU 애플리케이션에서의 계좌 유형과 같은 관련 텍스트 스트링(string)의 애플리케이션 특정의 그룹이 될 수 있는 클래스에 대하여 문장들에 주석이 달릴 수 있다. 시간 및 날짜와 같은 다른 클래스들은 애플리케이션에 독립적일 수 있다. 하나의 클래서가 정의된 클래서에 속하는 특정의 텍스트 스트링 또는 단어들을 인식할 수 있도록, 클래서들은 텍스트 자료의 분석을 통하여 경험적으로 결정될 수 있다. 터미널 및 비터미널 설명자(descriptor), 파스 트리 및 클래스 트리를 포함하는 의미 트리는 물론 IDT 툴로부터 도출되는 임의의 다른 단어 빈도 데이터 또는 통계 데이터도 총칭하여 주석 데이터로 불릴 수 있다는 점을 유의해야 한다. 명백하게도, 텍스트 자료를 구성하는 임의의 텍스트를 포함하여 주석 데이터는 하나 이상의 텍스트 파일에 저장되지 않고, 데이터베이스 내에 저장될 수 있다.
클래서는, 소정의 클래스들 중 하나로 구성된 그 수신된 텍스트 내의 서브스트링을 식별하기 위한 통계적인 처리 방법을 사용하여 구축될 수 있다. 예컨대, 수천 개의 문장들에 주석을 붙여서 그 문장들의 텍스트 스트링 또는 구성 단어들의 클래스를 식별할 수 있는 통계적인 처리 방법을 사용하여 구축될 수 있다. 그 주석이 붙은 문장은, NLU 시스템 내에 단어 또는 텍스트 스트링이 속하는 클래스를 식별하도록, 그 클래서를 훈련시키는데 사용될 수 있다. 따라서, 클래서는, 결과적으로 얻어지는 모델이 훈련용 데이터를 예측하여 키 텍스트 스트링을 식별할 가능성을 최대화하거나 조건부 엔트로피를 최소화하는 것과 같이 종래 기술에 알려진 통계적 처리 알고리즘을 사용하여 구성될 수 있다. 예컨대, NLU 시스템은 텍스트 스트링의 특정 클래스들을 인식할 수 있는 최대 엔트로피 모델 또는 결정 트리를 사용할 수 있다.
텍스트의 수신된 부분으로부터, 클래서는, 간략화된 결과 텍스트 스트링을 생성할 수 있는데, 여기서 원래의 텍스트 스트링 내의 클래스의 식별된 멤버들은 정의된 클래스로 주석이 붙고, 이러한 정의된 클래스는 실제 텍스트 스트링을 클래스 이름으로 효율적으로 대체할 수 있게 한다. 예컨대, 클래서는 결과적으로 생성되는 예시적인 출력이 "I want to transfer AMOUNT from FUND to FUND."가 되도록 "I want to transfer five hundred dollars from XYZ FUND to ABC FUND." 라는 텍스트 스트링을 생성할 수 있다. 명백하게도, 그 텍스트 입력 구조는 크게 간략화될 수 있다. 특히, 수신된 텍스트 입력을 클래싱함으로써, 그 결과 얻어지는 입력 구조, 즉 가능한 문법 구조의 수가 크게 감소하여, 후속하는 통계적 처리를 용이하게 할 수 있다. 예컨대, 그 수신된 텍스트 입력을 클래싱하지 않으면, 다음의 문장들은 상이한 구조를 갖는 것으로 간주될 수 있다.
- I want to transfer five hundred dollars from XYZ Fund to ABC Fund.
- I want to transfer five thousand dollars from XYZ Fund to ABC Fund.
- I want to transfer one hundred dollars from XYZ Fund to ABC Fund.
- I want to transfer five hundred dollars from ABC Fund to XYZ Fund.
- I want to transfer five hundred dollars from A Fund to B Fund.
- I want to transfer five hundred dollars from C Fund to A Fund.
그러나, 상기 텍스트를 클래싱한 후에, 그 결과는 각 텍스트 입력이 공통적인 구조, 즉, "I want to transfer AMOUNT from FUND to FUND." 를 공유한다는 것을 나타낸다. 따라서, 수신된 텍스트 입력 내의 클랙스의 상이한 멤버들의 존재로 인하여 텍스트 입력이 상이한 구조로 처리되는 것은 아니다. 명백하게도, 클래스된 문장은 클래스 트리로 불릴 수 있는 계층적인 트리 구조를 사용하여 기술될 수 있다. 클래스 트리는, 번역 즉 그 대응하는 문장의 의미를 나타내는 의미 트리의 일 유형이다. 계층적 의미 트리는 터미널 및 비터미널 노드를 포함할 수 있다. 예컨대, 의미 트리의 리프(leaf)들은 그 처리된 텍스트 및 클래스들의 단어들에 대응될 수 있다. 리프들은 하나 이상의 비터미널로 확장될 수 있으며, 또한 그 각각은 그 의미 트리에 의미 및 구조를 제공할 수 있다. 게다가, 그 리프들의 각각 및 (터미널은 물론) 비터미널은 사용자 구성가능한 설명자를 포함할 수 있다. 각각의 리프는 궁극적으로 직접 또는 하나 이상의 비터미널을 통하여 루트 노드로 확장될 수 있다.
파서는 클래서로부터의 처리된 텍스트 출력을 입력으로 수신할 수 있다. 파서는 그 수신된 텍스트를 처리하여, 특징들, 즉 액션 및 파라미터 또는 다른 터미널 또는 비터미널 그룹에 대응하는 추가적인 비터미널 및/또는 설명자들을, 그 수신된 텍스트 입력의 남아있는 관련 텍스트 스트링에 추가할 수 있다. 예컨대, 파서는 특정 키 단어를 그룹지을 수 있다. 이러한 특징들을 판정함에 있어서, 파서는 클래서를 설명할 때 이미 언급한 통계적 처리 방법을 사용할 수 있다. 예컨대, 파서는 텍스트 스트링에 대한 파스 트리를 결정하기 위하여 클래서로부터의 텍스트 출력을 처리할 수 있다. 텍스트 스트링의 파스 트리는 일반적인 것으로부터 터미널 또는 단어 레벨로까지 확장되는 구체적인 것까지의 그 수신된 텍스트 스트링의 파라미터, 액션, 및 클래스로 구성된 자연어 텍스트의 계층적인 표시일 수 있다. 파스 트리는 텍스트 스트링을 식별하는데 사용되는 최고 레벨이 루트로 사용되는 그래픽 형태로 도시될 수 있다. 보다 세부적인 비터미널은 각 비터미널 및 터미널이 파스 트리의 노드인 터미널 레벨까지 확장되는 루트 아래에 위치할 수 있다. 문장의 파스 트리는 통상적으로 그 문장에 대응하는 클래스 트리보다 복잡하다. 또한, 파스 트리 및 클래스 트리 모두는 의미 트리로 불릴 수 있다.
IDT(210)는 다양한 미리 구축된 통계 모델을 포함할 수 있다. 예컨대, 날짜, 시간, 수량, 또는 다른 어구 또는 표현의 클래스들과 같은 널리 사용되는 어구들을 처리하기 위한 태거(tagger) 또는 클래서로 불리는 통계 모델이 IDT 내에 포함될 수 있다. 이러한 통계 모델은 클래싱 및 파싱 모델을 포함할 수 있다. 따라서, IDT(210)에 의하여 임포팅 및 판독된 임의의 텍스트 자료에 대하여, IDT(210)는 자동적으로 그 임포팅된 텍스트 자료를 분석하여 미리 구축된 모델에 관한 표시자를 식별할 수 있다. 표시자는 날짜, 시간, 및 관용어(pleasantry)(예컨대, "Thank you")를 포함하여 다른 쉽게 대체가능한 항목에 대응하는 터미널을 포함할 수 있다. IDT(210)는 특정의 미리 구축된 모델에 대응하는 각각의 표시자에 대하여, 미리 구축된 통계 모델을 현재 구축중인 통계 모델에 통합시킬 수 있다. 예컨대, IDT(210)는 키워드 검색을 수행하거나 상술한 다른 통계적 처리 방법을 사용하여, 미리 구축된 모델이 텍스트 자료에 대하여 임의의 관련성을 갖는지 여부를 결정할 수 있다. 또한, IDT(210)는 이러한 미리 구축된 모델을 포함할지 여부를 사용자에게 질의(query)할 수 있고, 선택적으로는, 사용자가 이러한 모델이 포함되어야 함을 요청할 수 있다. 어느 경우에도, 이러한 기능은 사용자가 항상 반복되는 텍스트 어구를 처리하는 통계 모델을 재고안하는 부담을 경감하게 한다.
상술한 바와 같이, IDT(210) 내의 클래서와 파서의 포함은 단지 여기서 개시하는 본 발명의 일 실시예를 나타낸다. 당업자는, 임의의 적절한 통계적 처리 방법 및/또는 모델이 사용될 수 있음을 알 수 있다. 예컨대, 다른 실시예는 워드 스포팅 알고리즘, 최대 엔트로피, 규칙, 또는 발견적 교수법(heuristics)을 포함할 수 있다. 어떠한 경우에도, 여기서 개시되는 본 발명은 클래서 및 파서를 사용하는 특정 실시예에 한정되지 아니한다.
상술한 바와 같이, IDT(210)는, 관계 데이터베이스와 같은 데이터베이스는 물론 그래픽 및 오디오 툴의 모음을 사용하여, 사용자가 텍스트 자료에 주석을 달고, NLU 애플리케이션을 사용하여 통계 모델을 개발하는 것을 돕는다. 도 3a는 IDT의 예시적인 그래픽 사용자 인터페이스(GUI) 내에 제공되는 예시적인 트리 에디터 화면(310)을 도시한다. 트리 에디터 화면은 클래스 트리와 파스 트리 모두를 포함할 수 있는 의미 트리의 직관적 방식을 제공한다. 도 3a에 도시한 바와 같이, 텍스트 자료로부터의 예시적인 문장이 트리 포맷으로 디스플레이된다. 트리 유사 문장 구조는, 터미널 이 경우에서는 단어로서 기저부로부터 상향식으로 비터미널로 진행되고, 비터미널은 "!S!" 로 표시되는 루트 노드로 진행된다. 명백하게도, 비터미널은 문장 구조의 다중 레벨에 적합하도록 다른 비터미널로 진행될 수 있다. 일부 경우에서, 터미널은 루트 노드로 직접 진행될 수 있다. 임의의 경우에, 터미널 및 비터미널 데이터 항목에 대응하는 설명들은 완전히 구성가능하다. 특히, NLU 시스템 설계자는 의미 및 문맥을 특정하기 위하여 터미널 및 비터미널 (그리고 대응하는 설명) 의 적절한 세트를 결정할 수 있다. 이 사용자 구성된 터미널 및 비터미널 데이터 항목은 IDT 내에 통합될 수 있다.
예컨대, 도 3a는, 재정 시스템과 함께 동작하도록 설계된 NLU 시스템을 다루는, 일련의 터미널 및 비터미널 데이터 항목을 도시한다. 터미널 및 비터미널 데이터 항목은 그 트리의 루트가 그 구조의 맨 위에 있는 트리 구조로 조직된다. 루트 노드로부터, 부모 노드는 자식 노드로 연결되며, 자식 노드는 다른 자식 노드에 대한 부모 노드로 동작한다. 트리 구조는, 자료 텍스트의 실제 단어에 도달할 때까지 아래로 계속된다. 예컨대, 도 3a에 도시된 바와 같이, 단어 "want"(320) 는 터미널 "null"(330)로 주석이 달린다. 명백하게도, "null" 터미널은 그 문장에 관하여 문맥적인 정보 또는 의미를, 거의 전달하지 않는다. 또한, 단어 "first"(340)는 터미널 "select"(350)으로 주석이 달려 있고, 그 부모로 진행되는데 이 경우에 있어서는 비터미널 "select"(360)이다. "SELECT" 비터미널(360)은 부모 노드로 진행되는데, 이것은 또 다른 비터미널 "FUND-INFO"(370)이다. 따라서, 그 의미 트리의 "SELECT" 비터미널(360)은 "FUND-INFO"의 자식이고, "select"에 대한 부모이다. 그 후, "FUND-INFO"는 그 텍스트 문장의 루트 노드이고 최고 레벨인 "!S!" 로 진행된다. 터미널 및 비터미널 명칭은 완전히 사용자 구성가능하다. 예컨대, 통계 모델이 여행 예약 시스템과 함께 동작하도록 설계되는 경우, 터미널 및 비터미널은 애플리케이션 개발자 및 사용자에 의하여 애플리케이션 특정 단어 그룹을 나타내도록 구성될 수 있다. 이 경우에, 예시적으로 휴가 유형, 출발 일자, 도착 일자, 여행 기간 등이 포함될 수 있다.
주석이 달려 있지 않은 문장에 대하여, IDT는 디폴트 터미널 및 비터미널 주석자를 사용하여 파스 트리 또는 클래스 트리를 완성할 수 있다. 디폴트 비터미널 주석자가 "null"인 경우, IDT는 메모리에 저장된 개개의 단어들을 질의하고, 다른 적당한 또는 유사한 비터미널을 선택할 수 있다. 또한, IDT는 디폴트 비터미널이 아니라 특정 단어에 대하여 미리 특정된 비터미널 주석을 사용할 수 있다.
부분적으로 주석이 달린 문장에 대하여, IDT는 그 문장에 대한 파스 트리 또는 클래스 트리를 자동적으로 완성할 수 있다. 이 경우에, IDT는 결정된 파스 트리를 갖는 메모리로부터 문장을 검색할 수 있는데, 그 문장은 입력 문장 또는 부분적으로 주석이 달린 문장과 유사하다. 따라서, IDT는 그 저장된 파스 문장에 기초하여 입력 문장에 대한 완전한 파스 트리를 제안할 수 있다. 이러한 방식으로, IDT는 자동 완성 기능을 사용하여 텍스트 문장에 대한 클래스 트리 및 파스 트리를 결정할 수 있다. 선택적으로는, 사용자는 터미널 및 비터미널을 삽입하고 그 노드들을 적당한 브랜치 라인에 접속하는 것에 의하여 IDT를 사용하는 의미 트리를 수동으로 구축할 수 있다.
번역 데이터는 여러 방법으로 트리 에디터 화면을 사용하여 도식적으로 편집될 수 있다. 예컨대, 텍스트 자료를 포함하는 단어들이 편집될 수 있고, 터미널 및 비터미널이 편집될 수 있으며, 브랜치가 트리 에디터 화면에서 편집될 수 있다. 상술한 편집들 각각은 드래그앤드롭(drag-and-drop), 왼쪽 및 오른쪽 클릭, 더블 클릭 행동과 같은 종래의 포인터 제어 행동에 의하여 수행될 수 있다. 예컨대, 트리의 노드는, 그 노드를 선택하고 그 노드를 새로운 사용자 의도된 부모 위로 드래그앤드롭을 하는 것에 의하여 또 다른 부모를 가르키도록 편집될 수 있다. 이러한 행동은 그 이전의 부모로부터 그 선택된 노드를 링크 해제하고 새로운 부모에 대하여 그 노드를 링크한다. 또한, 사용자는, 그 트리의 결과적인 모양은 판독가능한 구조를 갖도록, 트리의 브랜치를 수동으로 그리거나, IDT 내의 다양한 기능을 사용하여 브랜치를 그릴 수 있다. IDT는 임의의 트리 브랜치가 다른 브랜치를 오버래핑하거나 또는 가로지르는 것을 방지하는 세팅을 포함할 수 있다. 사용자는, 그 결과 얻어지는 트리의 모양이 판독가능한 구조가 되도록 브랜치 각도 및 직선 또는 곡선 브랜치를 선택할 수 있다. 추가적으로, 텍스트, 텍스트의 크기, 채움 색깔, 및 채움 패턴이 사용자 구성가능하게 될 수 있다. 이러한 시스템 내의 유효 트리들은 "!S!" 또는 루트 노드를 나타내는 다른 심볼과 같은 루트 심볼에 종국적으로 접속하는 단어를 포함해야 한다는 점을 이해해야 한다. 따라서, IDT는 유효하지 않은 트리 구조를 초래하는 특정의 편집 제어 또는 액션을 디스에이블링하는 안전장치(safeguard)를 포함할 수 있다.
도 3b는 여기서 개시하는 발명 장치에 따라서 여러 상이한 찾기 기능을 구현하는 예시적인 GUI(375)를 도시하는 개략도이다. 도시한 바와 같이, 사용자로 하여금 다양한 상이한 방법으로 텍스트 주석 및 구조를 검색하는 것을 가능케 하는 GUI(375)가 제공된다. 특히, 사용자는 필드(380)를 사용하여 특정의 태그(tag)에 대한 텍스트 주석을, 필드(385)를 사용하여 특정의 라벨에 대한 텍스트 주석을, 필드(390)를 사용하여 특정의 트리 구조 및/또는 서브구조에 대한 텍스트 주석을 검색할 수 있다. 예컨대, 사용자는 보다 큰 트리 구조의 작은 부분을 그릴 수 있고, 필드(390)에 특정된 트리 구조와 유사한 구조에 대하여 주석 데이터를 검색할 수 있다.
트리 구조 그 자체는 다른 관련된 또는 일치하는 구조에 대하여 사용될 수 있다. 특히, IDT는 사용자로 하여금 의미 트리의 일부를 선택하게 한다. 일단 선택되면, 사용자는 IDT에게 그 선택된 구조와 일치하는 구조를 찾도록 다른 의미 트리를 검색하도록 명령할 수 있다. 예컨대, 사용자는 마우스를 사용하여 사용자가 텍스트 자료 내에 위치시키고자 하는 구조를 갖는 트리 노드 주위에 박스를 그릴 수 있다. 사용자가 그린 박스 내에 해당하는 의미 트리의 노드 또는 항목이 선택될 수 있다. 일단 선택되면, IDT는 일치하는 구조를 위치시키는 데이터베이스 기능을 이용하여 그 주석이 달리 텍스트 자료를 검색할 수 있다. 상이한 조합의 키보드 누름과 같이 트리 노드를 선택하는 다른 방법이 사용될 수 있다. 따라서, 본 발명은 의미 트리 구조를 선택하는 특정의 방법에 한정되는 것은 아니다.
예시적인 GUI(400)가 터미널 및 비터미널을 편집 또는 생성하기 위하여 제공될 수 있다. 따라서, 이하의 논의는 비터미널을 참조하지만, 터미널 및 비터미널 모두에 적용가능하다. 사용자 인터페이스는 사용자로 하여금 (일부 경우에 태그로 불리는) 새로운 비터미널을 설명하는 것을 가능케한다. 또한, 기존의 비터미널의 정의가 편집될 수 있다. 이 기능을 호출하기 위하여, 사용자는 비터미널이 생성 또는 편집되는 단어를 선택하고, 사용자 명령을 발하여 그 비터미널을 편집 또는 생성할 수 있다. 필드(405)는 하나 이상의 선택된 트리 노드의 모든 부모 및 자식 노드의 교점을 취할 수 있는 "사전이 허용되는 리스트(Dictionary Allowed List)"이고, 그 선택된 단어 또는 노드에 대한 가능한 라벨 선택으로 사용자에게 교점을 제공한다. 추가하여, 그 노드의 교점 내에서, "사전이 허용되는 리스트"는 이전의 부모 또는 자식 노드가 다른 의미 노드 내에서 조직된 방식은 물론 부모 및 자식 노드로부터 확장되고 접속되는 브랜치의 방향에 관한 다른 기록 정보를 고려할 수 있다. 본 발명의 일 실시예에서, 자동 모드가 제공될 수 있다. 자동 모드에서, 사전이 허용되는 리스트가 단지 하나의 가능한 터미널 또는 비터미널만을 포함하는 경우, IDT는 자동적으로 사용자 선택되는 단어 또는 단어 그룹에 적용될 터미널 또는 비터미널을 선택할 수 있다.
필드(410)는 시스템에서 정의되는 모든 터미널 또는 비터미널을 사용자에게 제공할 수 있는 GUI(400)의 사용자 필드이다. 터미널 또는 비터미널을 선택하기 위하여 사용자에 의하여 사용되는 리스트에 관계없이, 설명 필드(415)는 사용자에게 그 선택된 항목의 적절한 사용에 관한 정보를 제공할 수 있다. 설명 필드(415)는 사용자가 특정의 터미널 또는 비터미널의 적절하고 의도된 이용을 학습할 수 있도록 도울 수 있다. 예컨대, 사용자가 트리 편집 화면에서 터미널 또는 비터미널 위로 포인터를 움직이는 경우, 설명이 IDT에 의하여 툴팁으로 디스플레이될 수 있다. 이것은, 새로운 개발자가 기존의 NLU 개발 팀에 합류하고 그 개발 팀에 의하여 사용되는 주석 방법론에 의하여 교육받아야 하는 경우에 특히 유익하다.
사용자가 IDT에 의하여 아직 정의되지 않은 새로운 터미널을 입력하고자 하는 경우, 사용자는 "새로운 태그" 아이콘(420)을 선택할 수 있다. 이 경우에, 도 5는 아이콘(420)의 활성에 응답하여 IDT에 의하여 디스플레이될 수 있는 예시적인 GUI(500)을 도시한다. 도 5의 이 예시적인 GUI(500)는 사용자로 하여금 필드(510)에서의 새로운 터미널 또는 비터미널 및 필드(520)에서의 수반하는 설명을 입력하는 것을 가능케한다.
도 6은 도 3a의 GUI와 유사한 트리 에디터 화면을 제공하는 다른 예시적인 GUI(600)을 도시한다. 도시한 바와 같이, 예시적인 GUI(600)은 GUI(600)의 윈도우(610) 내에 접근가능한 예시적인 팝업메뉴(605)를 포함한다. 명백하게도, 상술한 기능 중 많은 부분은 팝업 메뉴(605)로부터 직접 액세스될 수 있다. 예컨대, 사용자는 추가적인 비터미널을 추가하고, 구성 파일에 특정되어 있는 통계 모델에 따른 문장의 클래싱을 포함하여 자동적으로 파스 트리를 완성할 것을 선택하고, 트리의 노드를 편집하고, 단어 구조 또는 전체 문장 구조를 찾을 뿐만 아니라 이를 삭제 또는 그 행동을 취소할 수 있다. 또한, 도시한 바와 같이, "태그 추가" 기능은 각 단어가 대응되는 태그로 이미 주석이 달려있기 때문에 디스에이블된다. 명백하게도, 본 발명의 이 실시예에서, 태그와 라벨이라는 용어는 특정의 터미널 또는 비터미널과 관련하여 사용된다. 예컨대, 태그는 단어에 할당되고, 라벨은 구조를 태그 그룹에 할당하는데 사용될 수 있다. 따라서, 라벨만이 루트 노드에 대하여 파스 트리를 완성하는데 이용가능하다.
도 7은 트리 에디터 화면을 제공하는 또 다른 예시적인 GUI(700)을 도시한다. 이 경우에, 사용자는 트리 에디터 화면에 도시된 텍스트 자료의 단어를 편집할 것을 선택했다. 명백하게도, 사용자는 훈련용 문장의 단어를 선택하여, 그 단어를 편집할 것을 선택했다. "설명"(705)이라는 새로운 단어가 이전의 단어를 대신하여 위치되었다. 따라서, 사용자는 IDT의 트리 에디터 화면의 임의의 것으로부터 터미널, 비터미널, 및 트리 구조는 물론 실제의 텍스트 자료를 편집할 수 있다. 명백하게도, 이 경우에, 트리의 단어를 변경하는 것은 트리 모양을 변경하지 않으며, 기존의 단어를 새로운 사용자 특정된 단어로 대체한다. 또한, IDT는 메모리로부터의 문장이 그 편집된 문장과 일치하는지를 검사할 수 있다. 긍정되는 경우, 사용자는 기존의 트리를 사용할지, 기존의 트리를 새롭게 편집된 트리로 대체할지 여부에 대하여 질문을 받을 수 있다.
도 8은 사용자가 변경 문장 기능을 실행시킨 트리 에디터 화면을 제공하는 또 다른 예시적인 GUI(800)를 도시한다. 이러한 사용자 요청에 응답하여, IDT는 사용자가 트리 에디터 화면들 중 어느 하나 화면 내로부터 전체 훈련용 자료 문장을 편집할 수 있는 예시적인 GUI(805)를 디스플레이할 수 있다. 명백하게도, 사용자가 그 문장을 편집함에 따라, 편집된 문장과 더 이상 일치하지 않는 임의의 파스 트리, 클래스 트리, 및 다른 번역 정보가 데이터베이스에서 업데이트될 수 있다. IDT는 다른 문장이 새롭게 편집된 문장과 일치하는지를 결정하기 위하여 기존의 문장을 검색할 수 있다. 긍정되는 경우, 그 일치하는 문장의 클래스 트리 및 파스 트리 데이터가 그 새롭게 편집된 문장과 연관된다. 또한, 이 기능은, 이하에서 설명되는 여러 옵션들 중 하나를 사용하여 자료가 판독되고 처리될 때, 사용자로 하여금 텍스트 자료 내로 개입된 에러를 정정하는 것을 가능케 한다.
도 9는 트리의 베이스를 포함하는 단어를 디스플레이하는데 사용할 수 있는 예시적인 GUI(900)를 도시한다. 문장들은 정보가 여러 상이한 컬럼 필드에 따라서 조직될 수 있는 필드(925)에 나열될 수 있다. 특히, 컬럼 제목(905)은 텍스트 자료 내의 개개의 문장의 번호 위치를 디스플레이하는데 사용될 수 있다. 컬럼 제목(910)은 정확한 텍스트가 텍스트 자료 내에 나타나는 횟수를 디스플레이하기 위하여 보류될 수 있다. 컬럼 제목(915)은 그 문장의 텍스트는 물론 그 문장에 우선하는 피드백 태그를 디스플레이하는데 사용될 수 있다. 피드백 태그는 그 문장이 대응하는 형태 명칭 및 슬롯 명칭을 나타낼 수 있다. 피드백 태그는 분리된 컬럼에 리스트되거나 그 문장의 택스트에 우선할 수 있다. 또한, 사용자는 IDT를 클래스 문장 모드에 위치시키는 버튼(920)의 활성화에 의하여 다른 화면으로 스위칭할 수 있다. 도시한 바와 같이, 클래스 명칭 또는 태그가 그 문장 내에 통합되었다. 명백하게도, 동일한 GUI 스타일이 그 사용자에게 파스 또는 클래스된 문장을 제공하는데 사용될 수 있다. 따라서, 그 문장의 단어들은 경우에 따라 터미널 또는 비터미널로 대체될 수 있다.
그 리스트된 문장들은 문장 번호 컬럼, 횟수 컬럼 또는 텍스트 컬럼에 따라서 오름차순 또는 내림차순으로 정렬될 수 있다. 또한, GUI(900)는 각 문장 내에 포함된 단어의 횟수를 나타내는 컬럼을 포함할 수 있다. 이 정보는 사용자로 하여금 클래싱 또는 파싱을 시작하기 위하여 보다 짧은 문장을 선택할 수 있도록 한다. 문장들이 오름차순 또는 내림차순으로 정렬될 수 있고, 컬럼 카테고리 중 임의의 것에 기초하여 검색 또는 필터링될 수 있다는 점에 유의해야 한다.
GUI(900) 내에 포함된 디스플레이된 컬럼은 IDE 에 의하여 추적되는 임의의 데이터에 따라 사용자 구성가능할 수 있다. 예컨대, 소정의 문장에 대응하는 피드백 태그, 프롬프트(prompt), 파스 트리 점수 또는 애플리케이션을 특정하는 추가 컬럼이 포함될 수 있다. 파서 또는 클래서에 의하여 결정된 바와 같이, 그 문장의 주석의 순위를 나타내는 컬럼이 포함될 수 있다. 예컨대, 1 순위는 그 모델이 정답을 예측하는 가장 높은 유사성을 나타낼 수 있다. 순위의 번호가 커질수록, 이 모델이 정답이라고 예측하는 유사성이 낮아진다. 문장이 훈련 또는 연마(smoothing)에 사용되는지 여부를 나타낼 수 있는 상태 컬럼이 포함될 수 있다. 사용자에 의하여 타이핑되고, 생성되고, 파일롯 테스팅, 시스템 테스트 동안, 사용 동안에 말해지는 등의 문법과 같이 그 문장이 수집되는 방식을 나타내는 정보가 포함될 수 있다. 임의의 경우에, 상술한 리스트들은 그에 한정되도록 되는 것은 아니다.
도 10은 사전 스타일의 단어 화면을 제공하는데 사용될 수 있는 예시적인 GUI(1000)를 도시한다. 이 화면은 터미널, 비터미널, 또는 주석이 달린 단어의 완성된 리스트를 디스플레이하는데 사용될 수 있다. 이 디스플레이는, 특정 텍스트 자료 내에서 사용되지 않는 터미널 및 비터미널이 디스플레이될 필요가 없도록 구성될 수 있다. 명백하게도, 사용자는 또한 현재 화면을 나타내는 활성가능한 아이콘(1025)을 활성화함으로써 클래스 화면과 파스 화면 사이를 움직일 수 있다. 이 경우에, 화면은 사전 파서 화면이다. 주석이 달려 있지 않은 화면은 단어 화면에 디스플레이 될 수 있지만, 디스플레이될 필요는 없다. 도 10에 도시한 바와 같이, 윈도우(1005)의 단어 화면은 적어도 2 개의 제목으로 세분화될 수 있다. 제목들은 단어 제목(1010) 및 터미널 또는 비터미널 제목(1015)을 포함할 수 있다. 터미널 또는 비터미널 제목(1015)에서, 괄호쳐진 숫자는 데이터가 텍스트 자료에서 나타나는 횟수를 나타낼 수 있다. 사용자는 GUI(1000)에서 아이템의 색상 및 폰트를 조정할 뿐만 아니라 카운트를 활성/비활성화할 수 있다. 또한, IDT는 사용자로 하여금 낮은 카운트 항목 및 높은 카운트 항목 사이를 구별하는 것을 가능케 한다. 예컨대, IDT는 하나의 색상으로 낮은 카운트 항목을 나타내고, 다른 색상을 사용하여 높은 카운트 항목을 나타낼 수 있다. 또한, 특정의 터미널 또는 비터미널의 카운트가 특정의 프로그램가능한 임계값보다 낮은 경우, 시스템은 더 많은 데이터가 터미널 또는 비터미널의 통계적 정확성을 증가시키는데 필요함을 나타낼 수 있다. 일 실시예에서, 정보의 특정 항목은, 개발자에 의하여 관련되는 것으로 간주되는 통계 또는 학습 정보에 기초하여 가장 밝게 표시될 수 있다.
또한, 예시적인 GUI(1000)는 터미널이 비터미널로 확장되는 방식을 디스플레이하는데 사용될 수 있다. 예컨대, 터미널이 컬럼 제목(1010) 아래의 컬럼에 위치할 수 있고, 비터미널이 컬럼 제목(1015) 아래의 컬럼에 위치할 수 있다. 사전 태그 화면에서, 특정 노드로부터 부모 노드로 확장되는 브랜치의 방향이 디스플레이될 수 있다. 예컨대, 포인팅 장치를 사용하여, 사용자가 특정의 비터미널을 우클릭하는 경우, IDT 는 자식 노드로부터 부모 노드로 확장되는 브랜치의 방향을 디스플레이할 수 있다. 가능한 방향은 그 자체, 왼쪽, 가운데, 오른쪽, 위, 또는 아래의 방향을 포함할 수 있다.
또한, 예시적인 GUI(1000)는 비터미널이 다른 비터미널과 접속하는 방식을 디스플레이하는데 사용될 수 있다. 이 경우에, 라벨이 다른 라벨에 접속될 수 있기 때문에, 라벨이 2 컬럼에 모두 위치하는 예외를 제외하면, 화면은 태그 화면과 유사하다. 이 경우에 GUI(1000)는 사용자 구성가능하다. 일 태양에서, 컬럼의 순서가 사용자에 의하여 결정될 수 있다. 예컨대, 태그 컬럼 및 수반하는 번호 정보는 단어 컬럼의 왼쪽에 디스플레이될 수 있다. 유사하게, 단어 컬럼의 왼쪽의 컬럼은 단어가 텍스트 자료에서 나타나는 총 횟수를 디스플레이할 수 있다. 그 단어 컬럼의 우측에, 특정 태그 또는 루트로서 단어가 태그되는 횟수를 나타내는 숫자가 디스플레이될 수 있다. 어쨌든, 번역 정보를 디스플레이하기 위한 추가 컬럼의 포함 뿐만 아니라 컬럼 순서도 사용자 구성가능함에 유의해야 한다.
사전 스타일 화면의 또 다른 실시예는 사용자에게 번역 정보, 특히 디렉토리 트리 구조와 유사한 터미널 및 비터미널 정보를 제공할 수 있다. 이 경우에, 태그가 루트로써 도식적으로 제공될 수 있으며, 레벨들은 루트 아래의 제거가능한 서브구조로 도시될 수 있다. 또한, 다른 비터미널에 접속되는 비터미널은 그 부모 비터미널 아래에 도식적으로 도시될 수 있다. 사용자는 터미널 또는 비터미널을 클릭하여 그 밑에 있는 구조로 확장하여 볼 수 있으며, 터미널 또는 비터미널을 클릭하여 그 밑에 있는 구조를 숨길 수 있다. 디렉토리 트리 화면은 사용자에게, 구축 중인 통계 모델 내에서 사용될 때, 터미널 또는 비터미널의 전체적인 계층의 직관적인 그래픽 표시를 제공할 수 있다.
찾기 특징은 사용자가 특정 엔트리를 갖는 데이터 항목을 검색할 수 있는 사전 화면에 포함될 수 있다. 예컨대, 사용자는 특정의 태그 또는 라벨을 검색할 수 있을 뿐만 아니라 태그 또는 라벨이 주석 데이터 내에서 발생하는 횟수와 같은 파라미터에 의하여 태그 또는 라벨을 찾을 수 있다. 찾기 기능은 또한 터미널과 비터미널 사이의 사용자 특정된 관계를 검색할 수 있다. 예컨대, 사용자는 우측, 좌측, 위, 또는 그 자신과 같은 특정의 방향으로부터의 노드로부터 확장되거나 노드에 도착하는 브랜치를 갖는 임의의 노드인 부모 및/또는 자식 노드에 대한 주석 데이터를 검색할 수 있다.
또한, 필터 특징이 사전 화면에 포함될 수 있다. GUI(1000)를 통하여, 사용자는 데이터 항목 소스, 데이터 항목 타겟, 데이터 항목에 연관된 방향, 또는 데이터 항목에 연관된 주석자와 같은 파라미터들에 따라서 그 디스플레이된 정보를 필터링할 수 있다. 또한, 사용자는 그 데이터가 주석이 달려있는지 여부를 나타내는 주석 상태, 자식 노드가 부모로서의 "N" 주석 예들보다 더 큰지를 나타내는 노드 카운트, 특정 데이터 파일들로부터의 관계가 디스플레이되는 데이터 파일, 특정 문장으로부터만 도출되는 관계를 디스플레이하는 문장 범위, 및 훈련, 연마 및/또는 테스트 데이터로부터의 관계를 디스플레이하기 위한 활용 상태에 따라서, 데이터를 필터링할 수 있다.
도 11은 IDT의 구축 컴포넌트와 함께 사용될 수 있는 예시적인 GUI(1100)를 도시한다. 예시적인 GUI(1100)는 NLU 애플리케이션을 "구축"하기 위하여 실행될 수 있는 스크립트를 특정하는 여러 필드를 포함한다. 필드(1105)는 디폴트 파라미터, 다른 특별한 파라미터, 실행될 스크립트 뿐만 아니라 스크립트가 실행된 후에 디스플레이될 정보를 특정할 수 있는 특정의 파일을 특정하는데 사용될 수 있다. 또한, 그 파일은 회귀 테스트(regression test) 동안에 처리되고 사용될 텍스트 파일을 특정할 수 있다. 설명 필드(1110)는 그 스크립트의 기능의 설명을 포함한다. 파라미터 리스트 필드(1115)는 스크립트의 실행을 위해 사용될 수 있는 파라미터 리스트를 디스플레이할 수 있다. 필드(1120)는 그 스크립트에 관련될 수 있는 임의의 추가 정보 또는 리마크(remark)를 전달하는데 사용될 수 있다. 명백하게도, 설명 필드(1110) 및 추가 정보 필드(1120)는 사용자 팀 또는 애플리케이션 개발자 팀이 NLU 애플리케이션을 개발하는 개발 환경에서 유용할 수 있다.
도 12는 IDT 상의 회귀 테스트 컴포넌트와 함께 사용될 수 있는 예시적인 GUI(1200)을 도시한다. 명백하게도, GUI(1200)는 2 부분으로 세분화될 수 있다. 필드(1205)는 텍스트 자료의 사용자의 주석으로부터 결정되는 바와 같이 진실 의미 트리(truth meaning tree)를 디스플레이할 수 있다. 필드(1210)는 도 11의 필드(1105)에 미리 특정되는 구성 파일에 특정된 통계 모델을 사용하여 IDT에 의하여 생성되는 의미 트리를 디스플레이할 수 있다. 따라서, 하나 이상의 통계 모델이 구성 파일에서 특정될 수 있어서, 각 통계 모델의 결과가 비교될 수 있도록 한다. 예컨대, GUI는, 제3 부분을 포함할 수 있으며, 제3 부분에는 GUI 는 회귀 테스트 및 진실을 위한 또 다른 테스트 동안에 사용되는 각 통계 모델에 대하여 하나의 부분을 갖는다. 2 개의 트리 사이의 차이는 자동적으로 가장 밝게 표시될 수 있다. 확률들이 가장 많이 차이가 나서 부정확한 결과를 내게 하는 차이를 보다 강조할 수 있다. 따라서, 사용자는 어디에서 디버깅을 시작할지에 관한 힌트를 제공받을 수 있다. 사용자는 도시된 의미 트리 사이의 차이점을 시각적으로 노트(note)할 수 있다.
사용자는 그 결과 얻어지는 의미 트리, 이 경우에서 파스 트리를 통하여 하나씩 회귀할 수 있다. 예컨대, 사용자는 각 파스 트리에 대응하는 신뢰 점수에 의하여 표시되는 최상의 "n" 선택들을 통하여 회귀할 수 있다. 신뢰 점수는, IDT에 의하여 번역되는 바와 같이, 그 결과 얻게 되는 파스 트리가 진실보다는 그 밑에 위치하는 통계 모델에 얼마나 근접하게 반영하는지의 표시를 제공한다. 높은 신뢰 점수를 갖는 그 결과 얻어지는 파스 트리와, 진실에 밀접하게 일치하는 결과적으로 얻어지는 파스 트리 사이에 일치가 있을 수 있다. 명백하게도, 최상 "n" 선택들 중 하나가 진실과 일치하는 통계 모델일 수 있다. 어쨌든, 사용자는 미래의 편집, 특히 진실이 올바르지 않은 경우에 기준점이 될 수 있는 것을 발견하기 위하여, 가능한 번역을 통하여 회귀할 수 있다.
사용자에게 디스플레이되는 모델의 신뢰 점수를 사용자에게 알리는 자동완성 점수(1215)가 도 12에 도시되어 있다. 포인터가 의미 트리의 노드 상에 위치하는 경우에, 각 노드 또는 각 노드에 대응하는 텍스트의 신뢰 점수와 같은 추가 정보가, 노드 내에서 디스플레이되거나, 툴팁으로 디스플레이될 수 있다. 일 실시예에서, 노드는 확장가능하여, 증가하는 번역 정보를 수용할 수 있다. 노드 신뢰 점수는 개발자로 하여금 에러를 검출하거나 특정의 파스 트리가 진실에 근접하거나 또는 일치하지 않는 이유를 결정하는 것을 보조할 수 있다. 그러나, 다양한 의미 트리 특징 및 세팅 중 임의의 것이 툴팁으로 또는 노드 내에서 디스플레이될 수 있도록 IDT가 구성가능함을 유의해야 한다. 또한, GUI(1200)는 올바른 주석이 모델로부터 도출되는 최고 점수 응답보다 큰 점수를 가져야한다는 메시지를 제공할 수 있다. 이 경우에, 모델은 올바른 응답을 예측하고, 통계 모델의 검색 메카니즘은 문제를 초래한다. 통상, 이것은 검색을 넓히는 것에 의하여 수정되며, 어떠한 직접적인 개발자 디버깅을 요하지 않는다.
또한, 도 12의 GUI는 동일한 문장에 대한 주석 데이터의 서로 상이한 스테이지를 나타내는데 사용될 수 있다. 특히, 제1 패스, 예컨대 주석 패스로부터의 주석 데이터가 하나의 윈도우에 디스플레이될 수 있는 한편, 클래스 패스와 같은 제2 패스로부터의 주석 데이터는 다른 윈도우에 디스플레이될 수 있다. 그러나, 분리된 스크린 GUI(1200)은 서로 상이한 문장을 디스플레이할 수 있다. 예컨대, 하나의 윈도우는 문장 화면을 유지하는데 사용될 수 있는 반면, 제2 윈도우는 특정 구조를 갖는 또 다른 문장을 검색하는데 사용될 수 있다.
분리된 스크린 GUI(1200)는 또한 동일한 텍스트 문장이지만 서로 다른 문맥을 갖는 것에 대한 2개의 서로 상이한 주석을 나타내는데 사용될 수 있다. 예컨대, 어구 "what's available"은, "how may I help you" 또는 "what fund would you like the price of" 또는 "how much would you like to withdraw" 에 응답하여 사용될 때 서로 다른 의미를 갖는다.
도 13은 IDT 의 임포트 컴포넌트와 함께 사용될 수 있는 예시적인 GUI(1300)를 도시한다. 임포트 컴포넌트는 여러 방법 중 하나를 사용하여 기존의 텍스트 자료를 임포트한다. 예컨대, 텍스트 자료는 문장의 주석이 없는 텍스트 파일 또는 주석이 달린 텍스트 파일로써 임포트된다. 추가하여, 종래의 NLU 시스템이 사용자 응답을 저장할 수 있기 때문에, NLU 시스템의 로그(log)는 파스 출력, 클래서 출력 또는 언어 모델 텍스트를 획득하는데 사용되는 데이터일 수 있다. 상술한 데이터 타입의 각각은 IDT 내로 임포트될 수 있다. 다른 실시예에서, 사용자는 텍스트 문장을 사전 스타일 화면 또는 트리 화면을 사용하여 하나씩 IDT 내로 직접 타이핑할 수 있다.
또한, 또 다른 실시예가 텍스트 문장을 나타내는 사용자의 발음을 포함하는 디지털 오디오 파일을 수신할 수 있다. 선택적으로는, IDT는 아날로그 오디오 소스를 사운드 카드와 같은 아날로그-디지탈 컨버터를 통하여 직접 녹음할 수 있다. 어쨌든, IDT는 훈련용 자료를 도출하기 위하여 사용자의 발음을 텍스트로 변환하는 음성 인식 시스템을 포함할 수 있다. 이 경우에, 텍스트 자료의 디지털 녹음은 장래의 사용 및 분석 뿐만 아니라 IDT의 사용 동안의 재생을 위하여 메모리에 저장될 수 있다. 훈련용 텍스트 자료를 나타내는 오디오 파일은 특정의 텍스트 어구 또는 문장과 연관되어, 사용자 또는 개발자는 훈련용 텍스트의 오디오 표시를 들을 수 있을 뿐만 아니라 텍스트와 관련된 주석 정보를 볼 수도 있다. 예컨대, 텍스트에 주석이 달려 있는지 없는지 간에, 그 텍스트의 일부, 클래서 출력 또는 파서 출력이 오디오 파일 위치 및 파일명을 특정하는 것에 의하여 오디오 파일과 연관될 수 있다. 선택적으로는, 오디오 파일은 특정될 수 있고, 개발자는 연관되는 텍스트를 IDT 내로 타이핑할 수 있다.
GUI(1300)는 텍스트 자료를 임포팅하는 때에 임포트 컴포넌트 세팅을 조정하는데 사용될 수 있다. 필드(1305)는 IDT 내로 임포팅된 파일의 이름과 경로를 디스플레이하는데 사용될 수 있다. 명백하게도, 파일은 주석이 달린 텍스트 자료, 주석이 없는 텍스트 자료, 및/또는 처리되는 음성 디지털 기록, 또는 음성 인식 엔진으로부터 도출되는 텍스트 파일을 포함하는, 음성 파일일 수 있다. 필드(1310)는 임포팅되는 파일 내에서 IDT에 의하여 인식된 문장의 수를 나타낼 수 있다. 제어(1315, 1320, 1325, 1330)는 임포트의 유형, 즉 어느 문장 및 대응하는 주석 데이터가 IDT에 구축되고 있는 현재의 통계 모델 내에 통합될 것인지를 결정한다. 예컨대, 제어(1315)의 활성화는 IDT가 모든 문장을 추가하게 한다. 문장이 이미 데이터베이스 내에 포함된 경우, IDT는 그 임포팅된 문장에 대하여 IDT 내에 정의된 트리 구조를 사용할 수 있다. 제어(1320)의 활성화는 어떠한 문장도 임포팅하지 않지만, 그 임포팅된 파일 내에 복제 문장에 대응하는 주석 데이터로 IDT 내에 포함되는 주석 데이터를 덮어쓸 것이다. 제어(1325)의 활성화는 문장이 관계 데이터베이스 내에 이미 포함된 사실에도 불구하고 모든 문장을 추가한다. 그러나, 제어(1325)는 임포팅된 파일로부터 복제 문장에 대응하는 주석 데이터로 IDT 내의 그 주석 데이터를 덮어쓸 것이다. 제어(1330)의 활성화는 관계 데이터베이스 내에 포함되어 있지 않은 그 임포팅된 파일로부터 단지 문장 및 주석 데이터를 추가할 것이다. 제어(1335)의 활성화는 그 특정된 파일이 상술한 임포팅 규칙에 따라서 임포팅되게 할 것이다.
도 14는 임포팅된 파일 내에 위치하는 터미널 및 비터미널을 현재의 통계 모델에 추가하는데 사용될 수 있는 예시적인 GUI(1400)를 도시한다. 예컨대, 주석이 달린 텍스트 파일을 임포팅한 후에, IDT는 현재의 통계 모델 내에 존재하지 않는 주석이 달린 임포팅된 텍스트 파일 내에 터미널 및 비터미널을 식별할 수 있다. 따라서, GUI(1400)는 사용자에게 제공될 수 있는데, 새로운 터미널 및 비터미널이 윈도우(1405)에서 사용자에게 제공될 수 있다. 명백하게도, "태그/라벨" 컬럼(1510) 내의 표시는 예컨대, 태그 또는 라벨(터미널 또는 비터미널)과 같은 새로운 항목을 인식할 수 있다. 특정 태그 또는 라벨의 정확한 스펠링이 "스펠링" 컬럼(1415)에 리스트될 수 있다. "설명" 컬럼(1420)은 사용자에 의하여 적당한 기능의 설명, 또는 태그 또는 라벨에 관한 관련 정보로 채워질 수 있다. 명백하게도, 사용자는 여분의 GUI의 필요없이 설명 컬럼에서 GUI(1400) 내로 텍스트를 직접 입력할 수 있다. 따라서, 태그 또는 라벨 설명의 편집은, 원하는 태그에 대응하는 행과 열의 설명을 선택함으로써 "문장 내에서" 수행될 수 있다.
여기서 개시되는 IDT는 사용자에 의하여 구성되어, 번역 정보의 서로 다른 모습을 나타내기 위하여 색상, 패턴, 소리, 및 기호를 포함하는 다양한 방식들 중 하나로 번역 정보를 표현할 수 있다. 유사하게, 사용자는 IDT 내에서 사용되는 터미널 또는 비터미널을 커스터마이징(customize)할 수 있다. 따라서, 상술한 설명은 본 발명의 바람직한 실시예를 도시 및 기술하였지만, 본 발명은 여기서 개시한 정확한 구조에 한정되는 것은 아니다. 본 발명은 그 사상 또는 필수적인 속성에서 벗어나지 않고도 다른 특정의 형태에 삽입될 수 있다. 따라서, 본 발명의 범위를 나타낼 때, 상술한 설명이 아니라 이하의 청구범위를 참조하여야 한다.
본 발명은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 본 발명은 하나의 컴퓨터 시스템에서의 집중 방식 또는 상이한 요소들이 여러 상호접속된 컴퓨터 시스템에 걸쳐 분산되어 있는 분산 방식으로 구현될 수 있다. 여기서 설명하는 방식을 수행하기 위한 임의의 종류의 검퓨터 시스템 또는 다른 장치는 적합화된다. 하드웨어와 소프트웨어의 일반적인 조합은 로딩되고 실행될 때 여기서 개시된 방법을 수행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 일반적인 목적의 컴퓨터 시스템이 될 수 있다.
또한, 본 발명은 여기서 개시한 방법의 구현을 가능케 하는 모든 특징을 구비하고, 컴퓨터 시스템에 로딩시에 본 발명을 수행하는 것을 가능케 하는 컴퓨터 프로그램 제품에 삽입될 수 있다. 본 명세서에서의 컴퓨터 프로그램은 정보 처리 능력을 갖는 시스템으로 하여금 직접 또는 a) 다른 언어, 코드 또는 기호와의 통신 b) 상이한 자료 형태로의 재생 중 어느 하나 또는 모두의 처리 후, 특정 기능을 수행하도록 의도된 명령어 세트의 임의의 언어, 코드 또는 표시를 의미한다.

Claims (38)

  1. 자연어 인식(NLU) 애플리케이션을 개발하는 방법에 있어서,
    다중 패스(multi-pass) 처리 기술을 사용하여 NLU 훈련용 텍스트 자료로부터 NLU 번역 정보를 결정하는 단계-하나의 패스의 변경이 자동적으로 후속 패스에 대한 입력을 변경시키고, 상기 NLU 번역 정보는 상기 NLU 훈련용 텍스트 자료의 적어도 일부의 번역을 특정함-;
    상기 NLU 번역 정보를 데이터베이스(205)에 저장하는 단계; 및
    그래픽 에디터(310)에서, NLU 번역 정보의 선택된 항목(330)을 제공하고, 상기 NLU 번역 정보에 대한 사용자 특정된 편집들을 수신하는 단계를 포함하는 것을 특징으로 하는 개발 방법.
  2. 제1항에 있어서,
    상기 제공 및 수신 단계는,
    데이터 항목들을 나타내는 터미널 및 비터미널 노드들을 포함하는 의미 트리로 상기 NLU 번역 정보를 제공하는 단계를 더 포함하는 것을 특징으로 하는 개발 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 제1항에 있어서,
    상기 제공 및 수신 단계는,
    부모 및 자식 데이터 항목들 및 상기 데이터 항목들의 파라미터들을 디스플레이하기 위한 복수의 컬럼들을 포함하는 사전 화면에서 상기 NLU 훈련용 정보를 제공하는 단계를 더 포함하는 것을 특징으로 하는 개발 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 제1항에 있어서,
    상기 제공 및 수신 단계는,
    문장 화면에서 개개의 텍스트 어구들과 연관된 상기 NLU 번역 정보를 제공하는 단계를 더 포함하고,
    상기 NLU 번역 정보는, 주석 상태, 어구 횟수, 지정된 어구 사용, 어구 수집 정보, 정확성 확률, 및 정확성 순위로 구성되는 그룹으로부터 선택되는 것을 특징으로 하는 개발 방법.
  23. 제1항에 있어서,
    상기 제공 및 수신 단계는,
    분리된 스크린 화면에서 복수의 의미 트리들로서 상기 NLU 번역 정보를 제공하는 단계를 더 포함하고,
    상기 분리된 스크린 화면은 적어도 제1 의미 트리를 디스플레이하는 제1 윈도우 및 제2 의미 트리를 디스플레이하는 제2 윈도우를 포함하는 것을 특징으로 하는 개발 방법.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 제1항에 있어서,
    NLU 훈련용 문장들을 자동적으로 임포팅(import)하는 단계; 및
    상기 NLU 훈련용 텍스트 자료로부터 판정된 통계적 유사성에 따라 상기 NLU 훈련용 문장의 번역을 자동적으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 개발 방법.
  34. 제1항에 있어서,
    훈련용 문장의 NLU 번역들을 자동적으로 임포팅하는 단계; 및
    상기 NLU 훈련용 텍스트 자료에 상기 NLU 번역들을 적용시키는 단계를 더 포함하는 것을 특징으로 하는 개발 방법.
  35. 제1항에 있어서,
    상기 다중 패스들 중 하나의 패스를 특정하는 사용자 입력에 응답하여, 상기 패스들 중 상기 하나의 패스로부터의 상기 NLU 번역 정보를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 개발 방법.
  36. 제1항에 있어서,
    상기 텍스트 어구들에 대한 NLU 번역 정보의 속성에 따라서 문장 화면에서 상기 NLU 훈련용 텍스트 자료의 텍스트 어구들의 순서를 매기는 단계; 및
    의미 트리들로서 상기 텍스트 어구들 중 2 개 이상의 텍스트 어구들에 대한 상기 NLU 번역 정보를 순차적으로 디스플레이하는 단계를 더 포함하고,
    상기 의미 트리들은 상기 문장 화면의 상기 순서에 따라서 디스플레이되는 것을 특징으로 하는 개발 방법.
  37. 제1항, 제2항, 제14항, 제22항, 제23항, 또는 제33항 내지 제36항중 어느 한 항의 방법에 따른 자연어 인식(NLU) 애플리케이션을 개발하는 통합 개발 툴 시스템에 있어서,
    NLU 훈련용 텍스트 자료에 대응하는 NLU 번역 정보의 항목들을 저장하도록 구성된 데이터베이스 서버;
    NLU 번역 정보의 상기 항목들을 처리하기 위한 복수의 화면들을 갖는 그래픽 에디터 장치-상기 그래픽 에디터는 상기 데이터베이스에 통신적으로 링크됨-; 및
    다중 패스 시스템에 따라서 NLU 번역 정보의 상기 항목들을 판정하고, 상기 데이터베이스에서 NLU 번역 정보의 상기 항목들을 저장하도록 구성된 프로세서를 구비하는 것을 특징으로 하는 통합 개발 툴 시스템.
  38. 제1항, 제2항, 제14항, 제22항, 제23항, 또는 제33항 내지 제36항중 어느 한 항의 개발 방법의 단계들이 수행되도록 기계에 의하여 실행가능한 복수의 코드 섹션들을 갖는 컴퓨터 프로그램을 저장하는 기계로 판독가능한 기록매체.
KR1020047015913A 2002-05-07 2003-04-10 자연어 인식 애플리케이션 구축을 위한 통합 개발 툴 KR100650427B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/140,522 2002-05-07
US10/140,522 US7191119B2 (en) 2002-05-07 2002-05-07 Integrated development tool for building a natural language understanding application
PCT/GB2003/001554 WO2003096217A2 (en) 2002-05-07 2003-04-10 Integrated development tool for building a natural language understanding application

Publications (2)

Publication Number Publication Date
KR20040102071A KR20040102071A (ko) 2004-12-03
KR100650427B1 true KR100650427B1 (ko) 2006-11-29

Family

ID=29399446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047015913A KR100650427B1 (ko) 2002-05-07 2003-04-10 자연어 인식 애플리케이션 구축을 위한 통합 개발 툴

Country Status (8)

Country Link
US (1) US7191119B2 (ko)
EP (1) EP1508102A2 (ko)
JP (1) JP2005537532A (ko)
KR (1) KR100650427B1 (ko)
CN (1) CN100489841C (ko)
AU (1) AU2003222602A1 (ko)
CA (1) CA2482514A1 (ko)
WO (1) WO2003096217A2 (ko)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7548847B2 (en) * 2002-05-10 2009-06-16 Microsoft Corporation System for automatically annotating training data for a natural language understanding system
US7805302B2 (en) * 2002-05-20 2010-09-28 Microsoft Corporation Applying a structured language model to information extraction
US7366655B1 (en) 2003-04-02 2008-04-29 At&T Corp. Method of generating a labeling guide for spoken dialog services
US7412383B1 (en) * 2003-04-04 2008-08-12 At&T Corp Reducing time for annotating speech data to develop a dialog application
US20040243531A1 (en) * 2003-04-28 2004-12-02 Dean Michael Anthony Methods and systems for representing, using and displaying time-varying information on the Semantic Web
US7853451B1 (en) * 2003-12-18 2010-12-14 At&T Intellectual Property Ii, L.P. System and method of exploiting human-human data for spoken language understanding systems
US20050255431A1 (en) * 2004-05-17 2005-11-17 Aurilab, Llc Interactive language learning system and method
JP4579585B2 (ja) * 2004-06-08 2010-11-10 キヤノン株式会社 音声認識文法作成装置、音声認識文法作成方法、プログラムおよび記憶媒体
JP4579595B2 (ja) * 2004-06-29 2010-11-10 キヤノン株式会社 音声認識文法作成装置、音声認識文法作成方法、プログラム、及び記憶媒体
US20060009966A1 (en) * 2004-07-12 2006-01-12 International Business Machines Corporation Method and system for extracting information from unstructured text using symbolic machine learning
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
US7970600B2 (en) * 2004-11-03 2011-06-28 Microsoft Corporation Using a first natural language parser to train a second parser
CN101065771B (zh) * 2004-11-23 2011-05-18 皇家飞利浦电子股份有限公司 支气管树的平面角显像
US7305413B2 (en) * 2004-12-14 2007-12-04 Microsoft Corporation Semantic authoring, runtime and training environment
US20060136870A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Visual user interface for creating multimodal applications
US8280719B2 (en) * 2005-05-05 2012-10-02 Ramp, Inc. Methods and systems relating to information extraction
US20060277028A1 (en) * 2005-06-01 2006-12-07 Microsoft Corporation Training a statistical parser on noisy data by filtering
US8433558B2 (en) 2005-07-25 2013-04-30 At&T Intellectual Property Ii, L.P. Methods and systems for natural language understanding using human knowledge and collected data
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20070067154A1 (en) * 2005-09-22 2007-03-22 International Business Machines Corporation Language translation system
US8688673B2 (en) * 2005-09-27 2014-04-01 Sarkar Pte Ltd System for communication and collaboration
US7512574B2 (en) * 2005-09-30 2009-03-31 International Business Machines Corporation Consistent histogram maintenance using query feedback
US7965275B1 (en) * 2006-01-13 2011-06-21 Intuit Inc. User interface for lenient exception feedback
US7813926B2 (en) * 2006-03-16 2010-10-12 Microsoft Corporation Training system for a speech recognition application
US10796390B2 (en) * 2006-07-03 2020-10-06 3M Innovative Properties Company System and method for medical coding of vascular interventional radiology procedures
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2008048090A2 (en) * 2006-10-18 2008-04-24 Calculemus B.V. Method, device, computer program and computer program product for processing linguistic data in accordance with a formalized natural language.
JP2008108144A (ja) * 2006-10-26 2008-05-08 Hitachi Ltd 情報処理方法、情報処理装置、およびプログラム
US8131536B2 (en) * 2007-01-12 2012-03-06 Raytheon Bbn Technologies Corp. Extraction-empowered machine translation
US9015047B1 (en) * 2007-02-12 2015-04-21 West Corporation Automatic speech recognition reporting
US8639509B2 (en) * 2007-07-27 2014-01-28 Robert Bosch Gmbh Method and system for computing or determining confidence scores for parse trees at all levels
US8135578B2 (en) * 2007-08-24 2012-03-13 Nuance Communications, Inc. Creation and use of application-generic class-based statistical language models for automatic speech recognition
US8868479B2 (en) * 2007-09-28 2014-10-21 Telogis, Inc. Natural language parsers to normalize addresses for geocoding
US7890539B2 (en) * 2007-10-10 2011-02-15 Raytheon Bbn Technologies Corp. Semantic matching using predicate-argument structure
US20100262598A1 (en) * 2007-11-21 2010-10-14 Nec Corporation User interface recognition device and user interface recognition method
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8832135B2 (en) * 2008-05-02 2014-09-09 Verint Systems, Ltd. Method and system for database query term suggestion
KR101462932B1 (ko) * 2008-05-28 2014-12-04 엘지전자 주식회사 이동 단말기 및 그의 텍스트 수정방법
US8214734B2 (en) * 2008-10-09 2012-07-03 International Business Machines Corporation Credibility of text analysis engine performance evaluation by rating reference content
US8335754B2 (en) * 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US20110271258A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Software Development Tool
US8355903B1 (en) 2010-05-13 2013-01-15 Northwestern University System and method for using data and angles to automatically generate a narrative story
US8510100B2 (en) * 2010-05-20 2013-08-13 Xerox Corporation Human readable sentences to represent complex color changes
US10185477B1 (en) 2013-03-15 2019-01-22 Narrative Science Inc. Method and system for configuring automatic generation of narratives from data
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8990070B2 (en) * 2011-11-18 2015-03-24 International Business Machines Corporation Computer-based construction of arbitrarily complex formal grammar expressions
US9002772B2 (en) 2011-11-18 2015-04-07 International Business Machines Corporation Scalable rule-based processing system with trigger rules and rule evaluator
US9122673B2 (en) 2012-03-07 2015-09-01 International Business Machines Corporation Domain specific natural language normalization
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9213725B2 (en) 2012-05-17 2015-12-15 Ifwe Inc. Systems and methods for generating automated social interactions in social networking environments
US10091323B2 (en) 2012-05-17 2018-10-02 The Meet Group, Inc. Social discovery feed for facilitating social exploration in social networking environments
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US20130332450A1 (en) * 2012-06-11 2013-12-12 International Business Machines Corporation System and Method for Automatically Detecting and Interactively Displaying Information About Entities, Activities, and Events from Multiple-Modality Natural Language Sources
US8935155B2 (en) * 2012-09-14 2015-01-13 Siemens Aktiengesellschaft Method for processing medical reports
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9058317B1 (en) * 2012-11-01 2015-06-16 Digital Reasoning Systems, Inc. System and method for machine learning management
US9501140B2 (en) * 2012-11-05 2016-11-22 Onysus Software Ltd Method and apparatus for developing and playing natural user interface applications
US9471559B2 (en) * 2012-12-10 2016-10-18 International Business Machines Corporation Deep analysis of natural language questions for question answering system
EP3779698A1 (en) * 2013-05-16 2021-02-17 Convida Wireless, LLC Data annotation as a service for iot systems
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
CN105264524B (zh) 2013-06-09 2019-08-02 苹果公司 用于实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9728184B2 (en) 2013-06-18 2017-08-08 Microsoft Technology Licensing, Llc Restructuring deep neural network acoustic models
US9311298B2 (en) 2013-06-21 2016-04-12 Microsoft Technology Licensing, Llc Building conversational understanding systems using a toolset
US9589565B2 (en) 2013-06-21 2017-03-07 Microsoft Technology Licensing, Llc Environmentally aware dialog policies and response generation
US9548049B2 (en) * 2014-02-19 2017-01-17 Honeywell International Inc. Methods and systems for integration of speech into systems
US9529794B2 (en) 2014-03-27 2016-12-27 Microsoft Technology Licensing, Llc Flexible schema for language model customization
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US9520127B2 (en) 2014-04-29 2016-12-13 Microsoft Technology Licensing, Llc Shared hidden layer combination for speech recognition systems
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US9430667B2 (en) 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US9502031B2 (en) * 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
US9717006B2 (en) 2014-06-23 2017-07-25 Microsoft Technology Licensing, Llc Device quarantine in a wireless network
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10698585B2 (en) * 2014-08-29 2020-06-30 Nuance Communications, Inc. Virtual assistant development system
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US11475076B2 (en) 2014-10-22 2022-10-18 Narrative Science Inc. Interactive and conversational data exploration
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10354188B2 (en) * 2016-08-02 2019-07-16 Microsoft Technology Licensing, Llc Extracting facts from unstructured information
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10417346B2 (en) 2016-01-23 2019-09-17 Microsoft Technology Licensing, Llc Tool for facilitating the development of new language understanding scenarios
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
CN105893348A (zh) * 2016-03-30 2016-08-24 乐视控股(北京)有限公司 语料获取方法及装置
US10169470B2 (en) * 2016-04-11 2019-01-01 Rovi Guides, Inc. Systems and methods for identifying a meaning of an ambiguous term in a natural language query
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
EP3458952A1 (en) * 2016-06-30 2019-03-27 Siemens Aktiengesellschaft A method for amending or adding functionality to an automation device
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10453454B2 (en) * 2017-10-26 2019-10-22 Hitachi, Ltd. Dialog system with self-learning natural language understanding
US11042709B1 (en) 2018-01-02 2021-06-22 Narrative Science Inc. Context saliency-based deictic parser for natural language processing
US11561986B1 (en) 2018-01-17 2023-01-24 Narrative Science Inc. Applied artificial intelligence technology for narrative generation using an invocable analysis service
US11816435B1 (en) 2018-02-19 2023-11-14 Narrative Science Inc. Applied artificial intelligence technology for contextualizing words to a knowledge base using natural language processing
CN110321534B (zh) * 2018-03-28 2023-11-24 科大讯飞股份有限公司 一种文本编辑方法、装置、设备及可读存储介质
JP7049173B2 (ja) * 2018-05-07 2022-04-06 日本放送協会 手話cg翻訳編集装置及びプログラム
US10990767B1 (en) 2019-01-28 2021-04-27 Narrative Science Inc. Applied artificial intelligence technology for adaptive natural language understanding
US11930024B2 (en) 2019-04-18 2024-03-12 Oracle International Corporation Detecting behavior anomalies of cloud users
CN111045992B (zh) * 2019-12-04 2023-07-25 中盈优创资讯科技有限公司 一种基于树形结构的配置文件检查方法及系统
CN111130877B (zh) * 2019-12-23 2022-10-04 国网江苏省电力有限公司信息通信分公司 一种基于nlp的网络日志处理系统及方法
US11580112B2 (en) 2020-03-31 2023-02-14 Pricewaterhousecoopers Llp Systems and methods for automatically determining utterances, entities, and intents based on natural language inputs
US11482223B2 (en) 2020-03-31 2022-10-25 Pricewaterhousecoopers Llp Systems and methods for automatically determining utterances, entities, and intents based on natural language inputs
CN111753552B (zh) * 2020-07-02 2024-04-19 浙江百应科技有限公司 一种基于nlp的训练模式与识别模式动态切换的方法
US20220091716A1 (en) * 2020-09-21 2022-03-24 Corel Corporation External content capture for visual mapping methods and systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914590A (en) * 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system
DE68928230T2 (de) * 1988-09-15 1998-02-05 Oce Tech Bv System zur grammatikalischen Verarbeitung eines aus natürlicher Sprache zusammengesetzten Satzes
US5794050A (en) * 1995-01-04 1998-08-11 Intelligent Text Processing, Inc. Natural language understanding system
US5963940A (en) * 1995-08-16 1999-10-05 Syracuse University Natural language information retrieval system and method
AU9513198A (en) 1997-09-30 1999-04-23 Ihc Health Services, Inc. Aprobabilistic system for natural language processing
US6496208B1 (en) * 1998-09-10 2002-12-17 Microsoft Corporation Method and apparatus for visualizing and exploring large hierarchical structures
US20020103837A1 (en) 2001-01-31 2002-08-01 International Business Machines Corporation Method for handling requests for information in a natural language understanding system

Also Published As

Publication number Publication date
AU2003222602A1 (en) 2003-11-11
CA2482514A1 (en) 2003-11-20
CN100489841C (zh) 2009-05-20
KR20040102071A (ko) 2004-12-03
CN1726488A (zh) 2006-01-25
US7191119B2 (en) 2007-03-13
AU2003222602A8 (en) 2003-11-11
WO2003096217A2 (en) 2003-11-20
WO2003096217A3 (en) 2004-04-01
EP1508102A2 (en) 2005-02-23
JP2005537532A (ja) 2005-12-08
US20030212543A1 (en) 2003-11-13

Similar Documents

Publication Publication Date Title
KR100650427B1 (ko) 자연어 인식 애플리케이션 구축을 위한 통합 개발 툴
Lu Computational methods for corpus annotation and analysis
US5321608A (en) Method and system for processing natural language
US7076732B2 (en) Document processing apparatus having an authoring capability for describing a document structure
US6446081B1 (en) Data input and retrieval apparatus
US7080004B2 (en) Grammar authoring system
MacWhinney Tools for analyzing talk part 2: The CLAN program
US20070219773A1 (en) Syntactic rule development graphical user interface
US5280573A (en) Document processing support system using keywords to retrieve explanatory information linked together by correlative arcs
JP2002215617A (ja) 品詞タグ付けをする方法
JP2011501258A (ja) 情報抽出装置および方法
EP2162833A1 (en) A method, system and computer program for intelligent text annotation
Finlayson et al. Overview of annotation creation: Processes and tools
Cunningham et al. Developing language processing components with GATE
MacWhinney The childes project
Van Halteren et al. Linguistic Exploitation of Syntactic Databases: The Use of the Nijmegen LDB Program
Edhlund et al. NVivo for Mac essentials
MacWhinney The CHILDES Project Part 2: The CLAN Programs
Weisser Manual for the dialogue annotation & research tool (DART)
L’haire FipsOrtho: A spell checker for learners of French
Edhlund et al. NVivo 12 for Mac Essentials
JP7047825B2 (ja) 検索装置、検索方法、検索プログラム
Weisser Dialogue Annotation & Research Tool (DART)
JP4043176B2 (ja) 自然言語処理装置
JP2003173338A (ja) 辞書構築支援装置、辞書構築支援方法及び辞書構築支援プログラム

Legal Events

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