KR20180099822A - 신경망을 사용한 텍스트 세그먼트의 의존성 파스 생성 - Google Patents

신경망을 사용한 텍스트 세그먼트의 의존성 파스 생성 Download PDF

Info

Publication number
KR20180099822A
KR20180099822A KR1020187021920A KR20187021920A KR20180099822A KR 20180099822 A KR20180099822 A KR 20180099822A KR 1020187021920 A KR1020187021920 A KR 1020187021920A KR 20187021920 A KR20187021920 A KR 20187021920A KR 20180099822 A KR20180099822 A KR 20180099822A
Authority
KR
South Korea
Prior art keywords
neural network
training
dependency
token
parsing
Prior art date
Application number
KR1020187021920A
Other languages
English (en)
Other versions
KR102201936B1 (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 KR20180099822A publication Critical patent/KR20180099822A/ko
Application granted granted Critical
Publication of KR102201936B1 publication Critical patent/KR102201936B1/ko

Links

Images

Classifications

    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

방법들, 시스템들 및 장치들은 자연어 처리 시스템으로의 입력으로 제공될 수 있는, 입력 텍스트 세그먼트들에 대한 의존성 파스들(parses)를 생성하기 위한, 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함한다. 상기 시스템들 중 하나는, 제1 신경망으로서, 하나 이상의 초기 신경망 계층들을 포함하여, 입력 텍스트 시퀀스 내의 각 토큰에 대해: 토큰에 대한 특징들을 수신하고; 그리고 입력 텍스트 시퀀스 내의 토큰의 품사(part of speech)을 결정하는데 사용하기 위한 특징들의 대체 표현을 생성하기 위해 특징들을 일괄 처리하며; 및 의존성 파싱 신경망으로서, 입력 텍스트 시퀀스의 의존성 파스를 생성하기 위해 하나 이상의 초기 신경망 계층에 의해 생성된 입력 텍스트 시퀀스 내의 토큰들에 대한 특징들의 대체 표현들을 처리한다.

Description

신경망을 사용한 텍스트 세그먼트의 의존성 파스 생성
본 명세서는 신경망을 사용하여 텍스트 세그먼트에 대한 의존성 파스들 (dendency parses)을 생성하는 것에 관한 것이다.
신경망은 수신된 입력에 대한 출력을 예측하기 위해 하나 이상의 비선형 단위 계층을 사용하는 기계 트레이닝 모델이다.일부 신경망은 출력 계층 외에도 하나 이상의 은닉(hidden) 계층을 포함한다. 각각의 은닉 계층의 출력은 네트워크 내의 다음 계층, 즉 다음 은닉 계층 또는 출력 계층의 입력으로 사용된다. 네트워크의 각 계층은 각각의 파라미터 세트의 현재 값에 따라 수신 입력으로부터 출력을 생성한다.
자연어 처리는 컴퓨터와 인간(자연) 언어 간의 상호 작용에 관심있는 컴퓨터 과학의 일 분야이다. 그것은 인간-기계 자연어 인터페이스를 제공하는데 사용되는 것을 포함하여 많은 애플리케이션을 가지고 있다. 이러한 인터페이스들을 통해 인간은 자신의 음성만을 사용하여 "스마트 환경"에서 디바이스를 제어할 수 있다.
단지 발화(spoken) 명령이나 발언(utterance)에만 기초하여 인간의 의도를 이해하는 것은 정확하게 수행하기 어려울 수 있는 데이터 집약적 작업이 될 수 있다. 따라서, 발화 명령의 의도를 이해할 수 없는 경우가 많을 수 있으므로 명령을 이해하려고 시도하는 동안 계산 자원이 소비되었음에도 불구하고 의도한 동작(예컨대, 특정 방법으로 특정 디바이스 제어)이 올바르게 또는 전혀 수행되지 않을 수 있다.
따라서, 이러한 상황들의 발생을 줄이기 위해 자연어 처리의 신뢰성을 향상시키는 것이 바람직하다. 또한 자연어 처리의 속도를 증가시키고 및/또는 계산 자원의 사용을 감소시키는 것이 바람직할 수 있다.
자연어 처리에서 사용할 수 있는 하나의 입력은 일반적으로 말하면 텍스트 세그먼트의 단어들간의 의존성을 정의하는 의존성 파스(dependency parse)이다. 즉, 의존성 파스는 텍스트 세그먼트내의 어떤 단어들이 텍스트 세그먼트내의 다른 단어들 및 선택적으로 각 의존성의 유형에 의존하는지를 정의한다. 본 명세서는 하나 이상의 위치에서 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로서 구현된 시스템이 어떻게 개선된 방식으로 입력 텍스트 세그먼트에 대한 의존성 파스를 생성하여, 입력 텍스트 세그먼트에 관한 자연어 처리 성능을 잠재적으로 향상시킬 수 있는지를 기술한다.
본 명세서에 기술된 요지의 특정 실시예는 다음의 이점 중 하나 이상을 실현하도록 구현될 수 있다. 텍스트 세그먼트의 의존성 파스를 생성할 때 POS 태그를 직접 사용하지 않으면 텍스트 세그먼트의 의존성 파스를 예측할 때 POS 태깅 오류를 연쇄적으로(cascading) 줄일 수 있고 의존성 파스를 정확하게 예측할 수 있다. 의존성 파서(parser) 신경망에 의해 사용되는 어휘화된 특징을 요구하지 않고, 대신에 초기 신경망 계층들에 의해 생성된 표현들을 재사용함으로써, 의존성 파스를 생성하는 모델은 더 작은 크기(보다 콤팩트한)를 갖으며, 어휘화된 기능을 사용하는 대안(alternatives)보다 빠르게 의존성 파스를 생성활 수 있다. 알 수 있는 바와 같이, 의존성 파스를 보다 신속하게 및/또는 보다 정확하게 생성함으로써, 입력 텍스트 세그먼트 및 의존성 파스에 기초한 자연어 처리 시스템에 의해 결정되는 응답성 동작(예를 들어, 스마트 홈의 디바이스 제어)은 또한 보다 신속하게 및/또는 정확하게 수행될 수 있다. 게다가, 다수의 작업에 걸쳐 즉, POS 태깅 및 의존성 파스에 걸쳐 파이프라인을 역 전파할 수 있는 연속적인 형태의 적층을 사용함으로써 모델의 구성 요소들이 효율적이고 신속하게 트레이닝될 수 있다.
본 명세서에서 설명된 요지의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 요지의 다른 특징, 양상 및 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 의존성 파스 생성 시스템의 예를 도시한다.
도 2는 입력 텍스트 세그먼트에 대한 의존성 파스를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 현재의 파싱 상태를 업데이트하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 POS 태깅 신경망 및 의존성 파싱 신경망을 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
도 1은 예시적인 의존성 파스(dependency parse) 생성 시스템(100)을 도시한다. 의존성 파스 생성 시스템(100)은 후술하는 시스템, 구성 요소 및 기술들이 구현될 수 있는 하나 이상의 위치에서 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로서 구현된 시스템의 일 예이다.
의존성 파스 생성 시스템(100)은 입력 텍스트 세그먼트(102)를 수신하여, 각 입력 텍스트 세그먼트에 대한 각각의 의존성 파스(의존성 구문분석)(152)을 생성한다. 각 입력 텍스트 세그먼트는 일련의 토큰, 즉, 특정 자연어내의 일련의 단어 및 선택적으로 문장 부호(punctuation marks)이다. 예를 들어, 세그먼트는 문장, 문장 세그먼트 또는 다른 다중 단어 시퀀스일 수 있다.
주어진 텍스트 세그먼트에 대한 의존성 파스는 세그먼트의 토큰들 간의 의존성 관계를 정의하는 데이터이다. 특히, 의존성 파스는 세그먼트의 선두 단어(head word) 및 선두 단어에 의존하는 세그먼트내의 단어 및 선택적으로 문장 부호를 식별한다.
선택적으로 의존성 파스는 주어진 선두 단어에 의존하는 각 단어에 대해, 선두 단어와 의존 단어(dependent word) 사이의 관계 유형을 지정하는 라벨(label), 예를 들어 의존 단어가 선두 단어의 형용사 보어인지, 선두 단어의 부사 수식어인지, 선두 단어의 직접 목적어인지 등을 포함할 수 있다. 의존성 파스에서 토큰들간에 지정될 수 있는 관계 유형의 예 세트는 http://nlp.stanford.edu/software/ dependencies_manual.pdf에 개시되어 있다.
일부 경우에, 의존성 파스는 세그먼트에서 선두 단어, 세그먼트의 의존 단어 및 상기 선두 단어와 의존 단어 사이의 관계 유형을 지정하는 라벨을 식별하는 각 트리플을 갖는 트리플 세트이다.
의존성 파스 생성 시스템(100)은 하나 이상의 초기 신경망 계층(110), 파싱 서브 시스템(130) 및 의존성 파싱 신경망(140)을 포함한다. 트레이닝 동안 및, 선택적으로, 레이닝 후에 의존성 파스 생성 시스템(100)은 또한 POS(part-of-speech (품사)) 출력 계층(120)을 포함한다.
입력 텍스트 세그먼트(102)에 대한 의존성 파스를 생성하는 일부로서, 의존성 파스 생성 시스템(100)은 초기 신경망 계층(110)을 사용하여 입력 텍스트 세그먼트(102) 내의 각 토큰에 대한 각각의 특징 입력(feature input)을 처리한다.
일반적으로, 주어진 토큰에 대한 특징 입력은 주어진 토큰의 특징 및 입력 텍스트 세그먼트 내에서 상기 주어진 토큰을 둘러싸고 있는 하나 이상의 토큰의 특징, 즉 입력 텍스트 세그먼트 내의 상기 주어진 토큰의 윈도우 내의 토큰들을 포함한다.
토큰의 특징들은 벡터 또는 토큰을 특징화하는 다른 수치값의 집합 (collection)이다. 예를 들어, 토큰의 특징들은 토큰 즉, 단어 또는 문장 부호를 식별하는 원-핫(one-hot) 인코딩된 특징 벡터, 토큰이 심볼, 예를 들어, 하이픈, 숫자(digit) 또는 문장 부호를 포함하는지 여부를 나타내는 특징 벡터, 토큰이 접두사 또는 접미사를 포함하는 단어인지 여부를 나타내는 특징 벡터, 토큰이 대문자로된 단어인지 여부를 나타내는 특징 벡터 등을 포함할 수 있다.
일부 구현예에서, 윈도우는 각 특징에 대해 동일한 고정 크기이다. 다른 구현예에서, 상이한 특징은 상이한 윈도우 크기를 갖는다. 예를 들어, 토큰을 식별하는 원-핫 인코딩된 특징 벡터에 대한 윈도우 크기는 주어진 토큰의 3개의 토큰 내에 토큰들을 포함할 수 있는 반면, 대문자를 나타내는 특징 벡터는 주어진 토큰의 하나의 토큰 내에 토큰들을 포함할 수 있다.
초기 신경망 계층들(110)은 입력 세그먼트의 각 토큰에 대해, 토큰에 대한 특징 입력을 처리하여 토큰에 대한 특징 표현(feature representation)(112)을 생성하도록 집합적으로 구성된 피드포워드(feedforward) 신경망 계층이다. 토큰에 대한 특징 표현은 토큰에 대한 특징 입력의 대체 표현, 즉 토큰에 대한 특징 입력을 나타내는 벡터 또는 다른 수치값들의 집합이다.
예를 들어, 초기 신경망 계층들(110)은 하나 이상의 완전 연결(fully-connected) 은닉 계층이 뒤 따르는 임베딩(embedding) 계층을 포함할 수 있다.
임베딩 계층은 각 특징에 대한 각각의 임베딩 벡터를 결정하고, 임베딩 벡터들을 결합(예컨대, 연접)하여 특징들의 결합된 임베딩을 생성하기 위해, 일반적으로 희박한 특징 입력에서 특징들을 수신하도록 구성된다.
하나 이상의 완전 연결 은닉 계층은 토큰에 대한 특징 표현을 생성하기 위해, 즉 하나 이상의 비선형 변환을 상기 결합된 임베딩에 적용함으로써 결합된 임베딩을 처리하도록 구성된다.
파싱 서브 시스템(130)은 초기 신경망 계층들(110)에 의해 생성된 입력 텍스트 세그먼트(102) 내의 토큰들에 대한 특징 표현들(112)을 수신하여 특징 표현들(112)을 사용하여 의존성 파싱 신경망(140)에 대한 입력을 생성한다.
의존성 파싱 신경망(140)은 상태 특징들(132), 즉 파싱 서브 시스템(130)에 의해 유지되는 파싱 상태의 현재 구성의 특징들을 수신하고 현재 파싱 상태에 대한 상태 업데이트(142)를 정의하는 출력을 생성하도록 구성된 피드포워드 신경망이다. 일부 구현예에서, 의존성 파싱 신경망(140)은 임베딩 계층, 하나 이상의 완전 연결 은닉 계층 및 출력 계층을 포함한다.
의존성 파스가 생성되는 동안 임의의 주어진 시간에, 파싱 서브 시스템(130)에 의해 유지되는 파싱 상태는 스택 또는 버퍼 내의 각각의 위치를 입력 시퀀스 내의 토큰들의 일부 또는 전부에 할당하고, 입력 세크먼트에 대해 지금까지 생성된 의존성 트리플을 식별한다. 파싱 상태의 예시적 구성은 Danqi Chen과 Christopher Manning에 의한 EMNLP 2014의 회보의 "신경망을 사용한 빠르고 정확한 의존성 파서"에 자세히 개시되어 있다.
주어진 구성의 상태 특징들은 스택 내의 다른 위치 또는 파싱 상태의 버퍼에 대응하는 순서화된 조합의 각각의 위치를 갖는 다수의 특징 표현의 순서화된 조합, 예를 들어 행렬 또는 결합 벡터(concatenated vector)이다
일부 구현예에서, 파싱 상태의 현재 구성에 대한 상태 특징들을 생성하기 위해, 파싱 서브 시스템(130)은 파싱 상태의 현재 구성에서 대응하는 위치에 있는 토큰의 특징 표현을 상기 순서화된 조합의 각 위치에서의 특징 표현으로서 선택한다. 따라서, 순서화된 조합의 각 위치는 파싱 상태의 현재 구성에서 대응하는 위치로부터의 특징 표현을 포함한다. 단순화된 예로서, 순서화된 조합의 위치가 [buffer_O; 스택_O; 스택_l]이고, 현재 구성이 버퍼의 위치 0에 있는 토큰 1, 스택의 위치 0에 있는 토큰 2 및 스택의 위치 1에 있는 토큰 3를 포함하면, 현재 구성에 대한 상태 특징은 [토큰 1에 대한 특징 표현, 토큰 2에 대한 특징 표현, 토큰 3에 대한 특징 표현]일 것이다. 만약 순서화된 조합의 위치들 중 하나에 대응하는 위치가 비어 있다면, 파싱 서브 시스템 (130)은 지정된 널(null) 특징 표현을 상기 순서화된 조합에 추가할 수 있다.
일부 구현예에서, 순서화된 조합에서 각 위치는 파싱 상태의 현재 구성에서 대응하는 위치를 가지며, 순서화된 조합 위치에서의 특징들은 대응하는 위치에 있는 토큰의 특징 표현 및 지금까지 생성된 의존성 트리플(예를 들어 자손 및 형제토큰)에 따라 상기 대응하는 구성 위치에 있는 토큰과 관련된 토큰의 특징 표현의 조합, 예를 들어, 결합이다. 만약 대응하는 구성 위치에 있는 토큰이 지금까지 생성된 트리플에서 특정 관계를 갖는 토큰을 가지지 않으면, 시스템은 지정된 널 특징 표현을 사용할 수 있다.
일부 구현 예에서, 순서화된 조합은 또한 지금까지 생성된 의존성 트리플에 대한 라벨의 수치적 표현도 포함한다.
파싱 서브 시스템(130) 및 의존성 파싱 신경망(140)은 파싱 상태를 반복적으로 업데이트함으로써 특징 표현(112)으로부터 의존성 파스(152)을 생성한다. 의존성 파스를 생성하는 단계 및 파싱 상태를 업데이트하는 단계는 도 2 및 도 3을 참조하여 아래에서 보다 상세히 설명된다.
POS 출력 계층(120)은 주어진 토큰에 대한 품사((part-of-speech) 할당을 정의하는 주어진 토큰에 대한 POS 태그(122)를 정의하는 출력을 생성하기 위해 입력 텍스트 세그먼트 내의 주어진 토큰의 특징 표현(112)을 처리하도록 구성된다. 특히, POS 출력 계층(120)은 특징 표현(112)을 처리하여 소정의 POS 태그 세트 내의 각 POS 태그에 대한 각각의 스코어를 생성하도록 구성된 소프트맥스(softmax) 또는 다른 종류의 신경망 출력 계층이다. 각 스코어는 해당 품사가 상기 입력 텍스트 시퀀스 내의 토큰의 품사일 가능성을 나타낸다.
따라서, 특징 표현들(112)은 입력 세그먼트(102) 내의 토큰에 대한 POS 태그를 생성하고(즉 가장 높은 스코어를 갖는 POS 태그를 토큰에 대한 POS 태그로 선택함으로써) 그리고 입력 세크먼트(102)의 의존성 파스(152)을 생성하는데 모두 사용될 수 있다. 그러나, 의존성 파싱 신경망(140)은 의존성 파스(152)을 생성할 때(즉 특징 표현들(112)만을 사용함으로써) 토큰에 POS 태그를 직접 사용하지 않는다.
일부 구현예에서, 일단 생성되면, 의존성 파스 생성 시스템(100)은 추가 처리를 위해 다른 시스템에 대한 입력으로 의존성 파스(152)을 제공한다. 예를 들어, 의존성 파스 생성 시스템(100)은 입력 텍스트 세그먼트(102)를 분석하고 응답 동작을 수행하는 자연어 처리 시스템에 대한 입력으로서 의존성 파스(152)을 제공할 수 있다. 예를 들어, 자연어 처리 시스템은 인간-기계 자연어(예를 들어, 음성) 인터페이스를 용이하게 하는데 이용될 수 있다. 그러한 예들에서, 응답 동작들은 스마트 환경에서 디바이스들을 제어하는 것을 포함할 수 있다. 자연어 처리 시스템에 의해 수행될 수 있는 동작들의 다른 예는 정서 분석, 질문 응답, 요약 또는 다른 자연어 처리 작업을 포함한다. 이러한 동작들은 예를 들어, 스마트 스피커 또는 다른 자동화된 지능형 개인 비서 서비스에 의한 사용자 요청을 처리하는 일부로서 수행될 수 있다.
의존성 파스(152)를 다른 시스템의 입력으로 제공하는 대신에 또는 부가하여, 의존성 파스 생성 시스템(100)은 의존성 파스를 저장하거나 의존성 파스 생성 시스템(100)의 사용자에게 제시하기 위해 의존성 파스를 지정하는 데이터를 제공할 수 있다.
의존성 파스 생성 시스템(100)은 초기 신경망 계층(110) 및 의존성 파싱 신경망(140)를 트레이닝하여 초기 신경망 계층(110) 및 의존성 파싱 신경망(140)의 파라미터의 트레이닝된 값을 결정할 수 있다. 초기 신경망 계층 및 의존성 파싱 신경망을 트레이닝하는 것은 도 4를 참조하여 아래에서 보다 상세히 설명된다.
도 2는 입력 텍스트 시퀀스에 대한 의존성 파스를 생성하기 위한 예시적인 프로세스(200)의 흐름도이다. 편의상, 프로세스(200)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 도 1의 의존성 파스 생성 시스템(100)과 같은 의존성 파스 생성 시스템은 프로세스(200)를 수행할 수 있다.
시스템은 입력 텍스트 세그먼트를 획득한다(단계 202). 입력 텍스트 세그먼트는 다수의 토큰, 즉 입력 순서에 따라 배열된 단어들 및 선택적으로 문장 부호를 포함한다.
시스템은 하나 이상의 초기 신경망 계층을 통해 상기 입력 텍스트 세그먼트 내의 토큰 각각에 대한 특징 입력을 처리한다(단계 204). 전술한 바와 같이, 초기 신경망 계층들은 주어진 토큰의 특징 입력을 처리하고, 토큰의 품사를 결정하는데 사용하기 위한 즉, POS 태그 출력 계층에 의한 처리를 위한, 및 입력 텍스트 세그먼트의 의존성 파스를 생성하는데 사용하기 위한 특징 표현 즉, 특징들의 대체 표현을 생성하도록 구성된다.
시스템은 의존성 파싱 신경망을 사용하여 대체 표현을 처리하여 입력 텍스트 세그먼트의 의존성 파스를 생성한다(단계 206).
특히, 시스템은 파싱 상태를 초기화하고 의존성 파싱 신경망을 사용하여 파싱 상태를 반복적으로 업데이트하여 의존성 파스를 생성한다. 초기 파싱 상태는 예를 들어, 스택에 소정의 ROOT 토큰을 포함할 수 있고, 버퍼에서 입력 세그먼트내의 토큰들은 입력 세그먼트내의 그들의 위치에 따라 정렬되고, 이미 생성된 의존성 트리플은 없을 수 있다. 시스템은 파싱 상태가 종료(terminal) 상태일 때까지 파싱 상태를 반복적으로 업데이트한 다음 종료 상태에서의 의존성 트리플을 입력 텍스트 세그먼트에 대한 의존성 파스로서 처리한다. 예를 들어, 종료 상태는 스택내에 빈 버퍼와 ROOT 토큰만 포함할 수 있다.
상기 파싱 상태를 업데이트하는 단계는 도 3을 참조하여 아래에서 보다 상세하게 설명된다.
도 3은 파싱 상태를 업데이트하기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 도 1의 의존성 파스 생성 시스템(100)과 같은 의존성 파스 생성 시스템은 프로세스(300)를 수행할 수 있다.
시스템은 현재 파싱 상태를 사용하여 상태 특징들을 생성한다(단계 302). 특히, 시스템은 순서화된 조합의 각 위치에 파싱 상태의 현재 구성에서 대응하는 위치에 있는 토큰에 대한 특징 표현을 추가함으로써 특징 표현들의 순서화된 조합을 생성한다.
시스템은 의존성 파싱 신경망을 사용하여 상태 특징들을 처리한다(단계 304). 의존성 파싱 신경망는 현재의 파싱 상태에 대한 업데이트를 정의하는 출력을 생성하기 위해 상태 특징들을 처리하도록 구성된다.
보다 구체적으로, 의존성 파싱 신경망은 잠재적 파싱 상태 업데이트들의 세트에서 각 잠재적 업데이트에 대한 각각의 스코어를 생성한다. 파싱 상태 업데이트들은 버퍼로부터 토큰을 제거하고 그것을 스택상으로 푸시하는 업데이트를 포함하고, 의존 단어와 선두 단어 사이의 각 가능한 라벨에 대해, (i) 스택상의 제2 토큰을 제1 토큰의 종속 요소(dependent)로 마크하고, 대응하는 라벨을 종속 요소에 할당하고, 제 2토큰을 스택으로부터 제거하는 각각의 좌측-아크 업데이트 및 (ii) 스택상의 제1 토큰을 제2토큰의 종속 요소로 마크하고, 대응하는 라벨을 종속 요소에 할당하고, 제1 토큰을 스택으로부터 제거하는 각각의 우측-아크 업데이트를 포함한다. 예를 들어, 가능 라벨들은 http://nlp.stanford.edu/software/dependencies _manual.pdf에 개시된 관계 유형 세트의 일부 또는 모든 관계 유형일 수 있다.
시스템은 출력을 사용하여 현재 파싱 상태를 업데이트한다(단계 306). 특히, 시스템은 스코어를 사용하여 즉, 가장 높은 스코어를 갖는 업데이트를 선택하거나 대응하는 스코어들에 따라 가능한 업데이트들로부터 샘플링함으로써, 가능한 업데이트들 중에서 업데이트를 선택하고, 해당 업데이트를 현재 파싱 상태에 적용하여 업데이트된 파싱 상태를 생성한다.
만약 업데이트된 파싱 상태가 종료 파싱 상태이면, 시스템은 업데이트된 파싱 상태에 의해 정의된 의존성 파스를 텍스트 세그먼트에 대한 최종 의존성 파스로 선택한다.
만약 업데이트된 파싱 상태가 사전 결정된 종료 파싱 상태가 아니면, 시스템은 현재 파싱 상태 대신에 업데이트된 파싱 상태로 프로세스(300)를 반복한다.
도 4는 POS 태깅 신경망 및 의존성 파싱 신경망을 트레이닝하기 위한 예시적인 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 도 1의 의존성 파스 생성 시스템(100)과 같은 의존성 파스 생성 시스템은 프로세스(400)를 수행할 수 있다.
시스템은 프로세스(400)를 수행하여 POS 태깅 신경망, 즉 도 1의 하나 이상의 초기 신경망 계층 및 POS 출력 계층을 포함하는 신경망 및 의존성 파싱 신경망, 즉 도 1의 의존성 파싱 신경망을 트레이닝한다.
시스템은 트레이닝 텍스트 시퀀스들 및, 각 트레이닝 텍스트 시퀀스에 대해, 트레이닝 텍스트 시퀀스내의 각 토큰에 대한 각각의 POS 태그를 포함하는 제1 트레이닝 데이터를 획득한다(단계 402).
시스템은 트레이닝 텍스트 시퀀스들 및, 각 트레이닝 텍스트 시퀀스에 대해, 트레이닝 텍스트 시퀀스의 의존성 파스를 정의하는 파서 상태 세트를 포함하는 제2 트레이닝 데이터를 획득한다(단계 404).
즉, 제2 트레이닝 데이터의 주어진 트레이닝 텍스트 시퀀스에 대해, 시스템은 의존성 파스를 생성하는 (파서 상태, 동작(action)) 쌍의 집합을 획득한다. 각(파서 상태, 동작) 쌍의 동작은 트레이닝 텍스트 시퀀스에 대해 올바른 의존성 파스를 생성하기 위해 상기 쌍의 파서 상태에 적용되어야 하는 상태 업데이트이다.
일부 구현예에서, 시스템은 (파서 상태, 동작) 쌍을 수신한다. 다른 구현예에서, 시스템은 시퀀스에 대한 의존성 파스를 수신하고, 상기 의존성 파스를 전개하여 시퀀스에 대한 (파서 상태, 동작) 쌍을 결정한다.
그런 다음 시스템은 POS 신경망 및 의존성 파싱 신경망을 제1 및 제2 트레이닝 데이터에서 트레이닝하여, 초기 신경망 계층, POS 출력 계층(출력 계층이 트레이닝 가능한 파라미터를 갖는 경우) 및 의존성 파싱 신경망의 파라미터들의 트레이닝된 값을 결정한다(단계 306). 특히, 시스템은 다음의 동작, (i) POS 신경망의 파라미터들의 값을 갱신하기 위해 제1 트레이닝 데이터로부터의 트레이닝 예들에서 POS 신경망을 트레이닝하는 동작 및 (ii) 제2 트레이닝 데이터로부터의 트레이닝 예들에서 파싱 신경망 및 초기 신경망 계층을 트레이닝하는 동작을, 반복적으로 수행함으로써 망들을 트레이닝한다.
제1 트레이닝 데이터로부터의 트레이닝 예는 제1 트레이닝 데이터 내의 트레이닝 시퀀스들 중 하나로부터의 토큰 및 토큰에 대한 대응하는 POS 태그에 대한 특징 입력이다.
제2 트레이닝 데이터로부터의 트레이닝 예는 제2 트레이닝 데이터의 (파싱 상태, 동작) 쌍 및 상기 (파싱 상태, 동작) 쌍으로부터의 동작에 대응하는 상태 특징들이다.
시스템은 해당 트레이닝 데이터의 트레이닝 예들로부터 임의로 동작(i) 및 (ii)의 각 반복에 대한 트레이닝 예제들을 선택할 수 있다.
반복적으로 동작(i) 및 (ii)를 수행하기 위해, 시스템은 동작(i)을 수행하는 단계와 동작(ii)을 수행하는 단계사이에서 반복적으로 교대할 수 있다. 예를 들어, 시스템은 제1 수(number)의 트레이닝 시점(epochs)에 대한 동작(i)을 수행하는 것과 제2 수의 트레이닝 시점에 대한 동작(ii)을 수행하는 것을 번갈아 수행할 수 있다. 일부 구현예에서, 제1 수는 제2 수와 동일하다. 다른 구현예에서, 제1 수는 제2 수와 다르다. 시스템은 트레이닝 데이터 내의 모든 트레이닝 예가 샘플링될 때까지 또는 소정의 다른 종료 기준이 충족될 때까지, 사전 결정된 수의 반복에 대해 동작들을 수행하는 것을 번갈아 수행할 수 있다.
제2 트레이닝 데이터의 트레이닝 예에서 파싱 신경망 및 초기 신경망 계층을 트레이닝시키기 위해, 시스템은 트레이닝 예에 대한 파싱 손실의 그라디언트 (gradient)를 결정하고 의존성 파싱 신경망 및 초기 신경망을 통해 그라디언트를 역 전파(backpropagate)하여, 의존성 파싱 신경망 및 초기 신경망 계층의 파라미터 값을 즉, 역 전파 트레이닝 기술을 갖는 확률적 경사 하강법(stochastic gradient descent)을 사용하여 업데이트한다.
특히, 시스템은 (i) 트레이닝 예에서 상태 특징들을 처리함으로써 파싱 신경망에 의해 생성된 스코어 및 (ii) 트레이닝 예의 동작을 상기 상태에 적용될 상태 업데이트로서 식별하는 스코어 세트 사이의 에러로부터 파싱 손실을 결정한다.
제1 트레이닝 데이터로부터의 트레이닝 예에 대해 POS 신경망을 트레이닝시키기 위해, 시스템은 POS 손실의 그라디언트를 결정하고 이를 POS 출력 계층과 초기 신경망 계층들을 통해 역 전파하여, 초기 신경망 계층들의 파마미터 값을, 즉 역 전파 트레이닝 기술을 갖는 동일한 확률적 경사 하강법 또는 역 전파 트레이닝 기술을 갖는 다른 확률적 경사 하강법을 사용하여 업데이트한다.
특히, 시스템은 (i) 트레이닝 예에 대해 토큰에 대한 특징 입력을 처리함으로써 POS 신경망에 의해 생성된 스코어 및 (ii) 트레이닝 예에서 POS 태그가 토큰에 대한 올바른 POS 태그임을 나타내는 스코어 세트 사이의 에러로부터 POS 손실을 결정한다.
일부 구현예에서, 시스템은 트레이닝 동작을 반복적으로 수행하기 전에 POS 신경망을 미리 트레이닝시킨다. 즉, 시스템은 동작(ii)를 시작하기 전에 동작(i)을 반복적으로 수행하여 POS 신경망을 미리 트레이닝시킨다.
본 명세서에서 설명된 요지 및 기능적 동작들의 실시예는 본 명세서에 개시된 구조 및 구조적 등가물 또는 이들 중 하나 이상의 조합을 포함하여, 디지털 전자 회로, 실체적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어에서 구현될 수 있다.
본 명세서에서 설명된 요지의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의한 실행 또는 데이터 처리 장치의 동작을 제어하기 위한 유형의 비일시적인 프로그램 캐리어(program carrier)상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 선택적으로 또는 부가적으로, 프로그램 명령들은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하기 위해 생성된, 예를 들어 기계에 의해 생성된 전기적, 광학적 또는 전자기 신호와 같은 인위적으로 생성된 전파 신호상에서 인코딩될 수 있다. 컴퓨터 저장 매체는 기계 판독가능 저장 디바이스, 기계 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스 또는 이들 중 하나 이상의 조합일 수 있다.
"데이터 처리 장치"라는 용어는 데이터 처리 하드웨어를 의미하며, 예를 들어 프로그램 가능 프로세서, 컴퓨터 또는 복수의 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 상기 장치는 또한 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circui)과 같은 특수 목적 논리 회로일 수 있거나 추가로 포함할 수 있다. 상기 장치는 하드웨어 이외에 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제또는 하나 이상의 이들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭될 수 있는)은 컴파일된 또는 해석된 언어 또는 선언적 또는 절차적 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 구성 요소, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 장치(unit)를 포함하여 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 마크업 언어 문서에 저장된 하나 이상의 스크립트와 같은 프로그램 또는 데이터를 보유하고 있는 파일의 일부분, 문제의 프로그램 전용의 단일 파일 또는 다수의 조정 파일(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 한 사이트에 있거나 다수의 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 한 대의 컴퓨터 또는 여러 대의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 설명되는 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 예를 들어 범용 또는 특수 목적 마이크로 프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 기반으로 할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성 요소는 명령을 수행하거나 실행하기 위한 중앙 처리 장치 및 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터(예를 들어, 자기, 광 자기 디스크 또는 광 디스크)를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 위해 동작 가능하게 결합될 것이다. 그러나 컴퓨터에는 그러한 장치가 있을 필요가 없다. 또한, 컴퓨터는 다른 장치, 예를 들어, 모바일 전화기, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스(예컨대, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하여, 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 기술된 요지의 실시예들은 정보를 사용자에게 디스플레이 하기 위한 CRT(cathode ray tube) 또는 LCD (liquid crystal display) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에 구현될 수 있다. 다른 종류의 디바이스가 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 디바이스와 문서를주고 받음으로써 사용자와 상호 작용할 수 있는데, 이는 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스상의 웹 브라우저로 웹 페이지를 전송함으로써 수행될 수 있다.
본 명세서에서 설명된 요지의 실시예는 데이터 서버와 같은 백 엔드 구성 요소 또는 애플리케이션 서버와 같은 미들웨어 구성 요소, 또는 사용자가 본 명세서에 기술된 요지의 구현예와 상호 작용할 수 있는 그래픽 사용자인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 구성 요소, 또는 하나 이상의 백 엔드, 미들웨어 또는 프론트 엔드 구성 요소의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 예를 들어 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되며 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
본 명세서는 다수의 구체적인 구현 세부 사항을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에서 설명되는 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 문맥에서 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 작용하고 심지어 초기에는 그러한 것으로서 주장되는 경우 조차도 상기에서 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형을 지향할 수 있다.
유사하게, 동작들은 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 동작들을 달성하기 위해, 그러한 동작들이 도시된 순서 또는 순차적인 순서로 수행되거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술된 실시예에서 다양한 시스템 모듈 및 구성 요소의 분리는 모든 실시예에서 그러한 분리를 필요로 하는 것으로 이해되어서는 안되며, 기술된 프로그램 구성 요소 및 시스템들은 일반적으로 단일 소프트웨어 제품에 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.
요지의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 열거된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 하나의 예로서, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 특정 구현예에서는, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (14)

  1. 하나 이상의 컴퓨터로 구현되는 시스템으로서, 상기 시스템은
    제1 신경망으로서,
    하나 이상의 초기 신경망 계층을 포함하여, 입력 텍스트 시퀀스 내의 각 토큰에 대해:
    상기 토큰에 대한 특징 입력을 수신하고; 그리고
    상기 입력 텍스트 시퀀스 내의 토큰의 품사(part of speech)를 결정하는데 사용하기 위한 상기 특징 입력의 대체 표현을 생성하도록 상기 토큰에 대한 특징 입력을 일괄 처리하고; 및
    의존성 파싱 신경망으로서,
    상기 입력 텍스트 시퀀스의 의존성 파스(dependency parse)를 생성하기 위해 상기 하나 이상의 초기 신경망 계층에 의해 생성된 상기 입력 텍스트 시퀀스 내의 토큰들에 대한 특징들의 대체 표현들을 처리하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 제1 신경망은,
    출력 계층을 더 포함하는 것으로서, 각 토큰에 대해:
    상기 특징 입력의 대체 표현을 수신하고, 상기 대응하는 품사가 상기 입력 텍스트 시퀀스 내의 토큰의 품사일 가능성을 나타내는 복수의 품사 태그 각각에 대한 각각의 스코어를 생성하도록 구성된 것을 특징으로 하는 시스템.
  3. 제1항 또는 제2항에 있어서, 상기 의존성 파싱 신경망은,
    상태-기반 의존성 파싱 신경망인 것을 특징으로 하는 시스템.
  4. 제3항에 있어서, 상기 의존성 파싱 신경망은,
    현재 파서 상태에서 특정 위치들에 있는 토큰들에 대한 상기 특징 입력들의 대체 표현을 처리하여 파서 상태를 업데이트함으로써 의존성 파스를 생성하는 것을 특징으로 하는 시스템.
  5. 제4항에 있어서, 상기 의존성 파싱 신경망는
    현재 파서 상태에서 특정 위치들에 있는 토큰들에 대한 상기 특징 입력들의 대체 표현을 포함하는 상태 특징 입력을 수신하여, 복수의 파서 상태 업데이트들 각각에 대한 각각의 스코어를 생성하도록 상기 상태 특징 입력을 처리하는 것을 특징으로 하는 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 의존성 파싱 신경망은
    상기 의존성 파스를 생성할 때 상기 입력 텍스트 시퀀스 내의 토큰의 품사를 직접 사용하지 않는 것을 특징으로 하는 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 생성된 의존성 파스를 입력으로서 사용하여 상기 입력 텍스트 세그먼트를 분석하고; 그리고
    상기 분석된 입력 텍스트 세그먼트에 기초하여, 상기 입력 텍스트 세그먼트에 응답하는 동작을 수행하는 자연어 처리 시스템을 더 포함하는 것을 특징으로 하는 시스템.
  8. 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 제1항 내지 제7항 중 어느 한 항의 신경망 시스템을 구현하게 하는 명령들로 인코딩된 하나 이상의 컴퓨터 판독 가능 저장 매체.
  9. 제2항 내지 제7항 중 어느 한 항의 시스템의 제1 신경망 및 의존성 파싱 신경망을 트레이닝하는 방법으로서,
    트레이닝 텍스트 시퀀스들 및 각 트레이닝 텍스트 시퀀스에 대해, 상기 트레이닝 텍스트 시퀀스 내의 각 토큰에 대한 각각의 품사 태그를 포함하는 제1 트레이닝 데이터를 획득하는 단계;
    트레이닝 텍스트 시퀀스들 및 각 트레이닝 텍스트 시퀀스에 대해, 상기 트레이닝 텍스트 시퀀스의 의존성 파스를 정의하는 파서 상태 세트를 포함하는 제2 트레이닝 데이터를 획득하는 단계; 및
    상기 제1 및 제2 트레이닝 데이터에 대해 상기 제1 신경망 및 상기 의존성 파싱 신경망을 트레이닝하는 단계로서, 다음을 반복적으로 수행하는 단계를 포함하고:
    상기 제1 신경망의 파라미터 값들을 업데이트하기 위해 상기 제1 트레이닝 데이터로부터의 트레이닝 예들에 대해 제1 신경망을 트레이닝하는 단계; 및
    상기 의존성 파싱 신경망 및 상기 제1 신경망의 초기 신경망 계층들을 트레이닝하는 단계로서,
    상기 제2 트레이닝 데이터로부터의 트레이닝 예에 대한 파싱 손실을 결정하는 단계; 및
    상기 의존성 파싱 신경망 및 상기 초기 신경망 계층들의 파라미터 값들을 업데이트하기 위해 상기 의존성 파싱 신경망 및 초기 신경망 계층들을 통해 상기 파싱 손실을 역전파하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 다음을 반복적으로 수행하는 단계는,
    상기 제1 및 제2 트레이닝 데이터로부터의 상이한 트레이닝 예들에 대해 상기 제1 신경망의 트레이닝과 상기 파싱 신경망 및 상기 초기 신경망 계층들의 트레이닝을 수행하는 단계 사이를 교대로 반복하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 제2 트레이닝 데이터를 획득하는 단계는,
    제2 트레이닝 데이터의 트레이닝 텍스트 시퀀스 각각에 대해:
    상기 트레이닝 텍스트 시퀀스의 의존성 파스를 획득하는 단계; 및
    상기 트레이닝 텍스트 시퀀스의 의존성 파스를 정의하는 파서 상태 세트를 결정하도록 상기 의존성 파스를 전개(unrolling)하는 단계 포함하는 것을 특징으로 하는 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 및 제2 트레이닝 데이터에 대해 상기 제1 신경망 및 상기 의존성 파싱 신경망을 트레이닝하는 단계는,
    상기 트레이닝 동작들을 반복적으로 수행하기 전에 상기 제1 신경망을 사전 트레이닝하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 제9항 내지 제12항 중 어느 한 항의 방법의 동작들을 수행하게 하는 명령들로 인코딩된 하나 이상의 컴퓨터 판독 가능 저장 매체.
  14. 하나 이상의 컴퓨터 및 상기 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 제9항 내지 제12항 중 어느 한 항의 방법의 동작들을 수행하게 하는 명령들을 저장하는 하나 이상의 저장 디바이스를 포함하는 것을 특징으로 하는 시스템.
KR1020187021920A 2016-03-18 2017-03-17 신경망을 사용한 텍스트 세그먼트의 의존성 파스 생성 KR102201936B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662310513P 2016-03-18 2016-03-18
US62/310,513 2016-03-18
PCT/US2017/023047 WO2017161320A1 (en) 2016-03-18 2017-03-17 Generating dependency parses of text segments using neural networks

Publications (2)

Publication Number Publication Date
KR20180099822A true KR20180099822A (ko) 2018-09-05
KR102201936B1 KR102201936B1 (ko) 2021-01-12

Family

ID=58547795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187021920A KR102201936B1 (ko) 2016-03-18 2017-03-17 신경망을 사용한 텍스트 세그먼트의 의존성 파스 생성

Country Status (6)

Country Link
US (1) US10878188B2 (ko)
EP (1) EP3394798A1 (ko)
JP (1) JP6789303B2 (ko)
KR (1) KR102201936B1 (ko)
CN (1) CN109313719B (ko)
WO (1) WO2017161320A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558583A (zh) * 2017-09-27 2019-04-02 株式会社理光 一种自动生成文摘的方法、装置及设备
US10482162B2 (en) * 2017-11-30 2019-11-19 International Business Machines Corporation Automatic equation transformation from text
US10721190B2 (en) * 2018-07-31 2020-07-21 Microsoft Technology Licensing, Llc Sequence to sequence to classification model for generating recommended messages
CN110033091B (zh) 2018-12-13 2020-09-01 阿里巴巴集团控股有限公司 一种基于模型进行预测的方法和装置
RU2721190C1 (ru) * 2018-12-25 2020-05-18 Общество с ограниченной ответственностью "Аби Продакшн" Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами
US10956474B2 (en) 2019-03-14 2021-03-23 Microsoft Technology Licensing, Llc Determination of best set of suggested responses
US11436486B2 (en) * 2019-08-19 2022-09-06 Advanced Micro Devices, Inc. Neural network internal data fast access memory buffer
CN110765243A (zh) * 2019-09-17 2020-02-07 平安科技(深圳)有限公司 自然语言处理系统的构建方法、电子装置及计算机设备
CN112800737B (zh) * 2019-10-29 2024-06-18 京东科技控股股份有限公司 自然语言文本生成方法和装置以及对话系统
CN111178039B (zh) * 2019-12-18 2023-05-09 北京明略软件系统有限公司 一种模型训练方法、装置、实现文本处理的方法及装置
CN111832315B (zh) * 2020-06-30 2024-04-30 北京小米松果电子有限公司 语义识别的方法、装置、电子设备和存储介质
CN111832316B (zh) * 2020-06-30 2024-05-24 北京小米松果电子有限公司 语义识别的方法、装置、电子设备和存储介质
CN112528671A (zh) * 2020-12-02 2021-03-19 北京小米松果电子有限公司 语义分析方法、装置以及存储介质
CN112699665B (zh) * 2021-03-25 2021-08-27 北京智源人工智能研究院 一种安全报告文本的三元组抽取方法、装置及电子设备
CN113762445B (zh) * 2021-04-26 2023-11-07 重庆大学 一种基于装配式建筑的标识解析系统
CN113468878A (zh) * 2021-07-13 2021-10-01 腾讯科技(深圳)有限公司 词性标注方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060241946A1 (en) * 2003-08-12 2006-10-26 Martin Oerder Speech input interface for dialog systems
EP1783744A1 (en) * 2005-11-03 2007-05-09 Robert Bosch Corporation Unified treatment of data-sparseness and data-overfitting in maximum entropy modeling
US20120290290A1 (en) * 2011-05-12 2012-11-15 Microsoft Corporation Sentence Simplification for Spoken Language Understanding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03263266A (ja) 1990-03-14 1991-11-22 Fujitsu Ltd 未知語の品詞選択装置
US6076051A (en) * 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
EP1116134A1 (en) 1998-08-24 2001-07-18 BCL Computers, Inc. Adaptive natural language interface
US7016828B1 (en) * 2000-10-23 2006-03-21 At&T Corp. Text-to-scene conversion
GB2428508B (en) * 2005-07-15 2009-10-21 Toshiba Res Europ Ltd Parsing method
US7603330B2 (en) * 2006-02-01 2009-10-13 Honda Motor Co., Ltd. Meta learning for question classification
US8874434B2 (en) 2010-06-02 2014-10-28 Nec Laboratories America, Inc. Method and apparatus for full natural language parsing
US8935151B1 (en) * 2011-12-07 2015-01-13 Google Inc. Multi-source transfer of delexicalized dependency parsers
CN102662931B (zh) * 2012-04-13 2015-03-25 厦门大学 一种基于协同神经网络的语义角色标注方法
CN102866989B (zh) * 2012-08-30 2016-09-07 北京航空航天大学 基于词语依存关系的观点抽取方法
US9507852B2 (en) * 2013-12-10 2016-11-29 Google Inc. Techniques for discriminative dependency parsing
KR102363369B1 (ko) * 2014-01-31 2022-02-15 구글 엘엘씨 문서들의 벡터 표현들 생성하기
CN104049755B (zh) * 2014-06-18 2017-01-18 中国科学院自动化研究所 信息处理方法及装置
CN104575501B (zh) * 2015-01-19 2017-11-03 北京云知声信息技术有限公司 一种收音机语音操控指令解析方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060241946A1 (en) * 2003-08-12 2006-10-26 Martin Oerder Speech input interface for dialog systems
EP1783744A1 (en) * 2005-11-03 2007-05-09 Robert Bosch Corporation Unified treatment of data-sparseness and data-overfitting in maximum entropy modeling
US20120290290A1 (en) * 2011-05-12 2012-11-15 Microsoft Corporation Sentence Simplification for Spoken Language Understanding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ronan Collobert 외 5명. Natural Language Processing (Almost) from Scratch. 2011년 *

Also Published As

Publication number Publication date
US10878188B2 (en) 2020-12-29
JP6789303B2 (ja) 2020-11-25
KR102201936B1 (ko) 2021-01-12
US20190073351A1 (en) 2019-03-07
CN109313719A (zh) 2019-02-05
WO2017161320A1 (en) 2017-09-21
JP2019511033A (ja) 2019-04-18
CN109313719B (zh) 2022-03-22
EP3394798A1 (en) 2018-10-31

Similar Documents

Publication Publication Date Title
KR102201936B1 (ko) 신경망을 사용한 텍스트 세그먼트의 의존성 파스 생성
US11809824B1 (en) Computing numeric representations of words in a high-dimensional space
US10304477B2 (en) Generating audio using neural networks
US10409908B2 (en) Generating parse trees of text segments using neural networks
JP7112536B2 (ja) テキストにおける実体注目点のマイニング方法および装置、電子機器、コンピュータ読取可能な記憶媒体並びにコンピュータプログラム
EP4113354A2 (en) Method and apparatus for generating pre-trained language model, electronic device and storage medium
EP3792835B1 (en) Generating representations of input sequences using neural networks
US10268671B2 (en) Generating parse trees of text segments using neural networks
CN109074517B (zh) 全局归一化神经网络
US11636341B2 (en) Processing sequential interaction data
JP2019517075A (ja) 比較セットを使用する入力例の分類
EP3520036B1 (en) Processing text sequences using neural networks
CN110678882A (zh) 使用机器学习从电子文档选择回答跨距
CN114154518A (zh) 数据增强模型训练方法、装置、电子设备及存储介质
US20240078379A1 (en) Attention neural networks with n-grammer layers
CN114298004A (zh) 复述文本生成方法、装置、设备、介质和程序产品
CN117521744A (zh) 数据存储方法、装置、电子设备和介质
CN117743515A (zh) 文本标注方法、模型训练方法、装置和电子设备

Legal Events

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