KR102117799B1 - 단어 벡터 처리 방법 및 장치 - Google Patents
단어 벡터 처리 방법 및 장치 Download PDFInfo
- Publication number
- KR102117799B1 KR102117799B1 KR1020197021351A KR20197021351A KR102117799B1 KR 102117799 B1 KR102117799 B1 KR 102117799B1 KR 1020197021351 A KR1020197021351 A KR 1020197021351A KR 20197021351 A KR20197021351 A KR 20197021351A KR 102117799 B1 KR102117799 B1 KR 102117799B1
- Authority
- KR
- South Korea
- Prior art keywords
- word
- words
- vectors
- stroke
- determining
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/53—Processing of non-Latin text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
- Character Discrimination (AREA)
- Document Processing Apparatus (AREA)
Abstract
본 출원의 실시예들은 단어 벡터 처리 방법과 장치를 개시한다. 본 방법은, 단어들을 획득하기 위해 코퍼스(corpus)에 대해 단어 분획화(word segmentation)를 수행하는 단계; 단어들에 대응하는 n그램 필획(stroke)들을 결정하는 단계 - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -; 단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들을 구축하고 초기화하는 단계; 및 단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝(training)하는 단계를 포함한다. 본 출원의 실시예들로, 단어에 대응하는 n그램 필획들을 사용함으로써 단어의 특징들이 보다 정밀하게 표현될 수 있고, 따라서 중국어 단어들의 단어 벡터들의 정확도를 향상시키고, 바람직한 실용적인 효과를 달성할 수 있다.
Description
본 출원은 2017년 1월 22일에 출원된 중국 특허 출원 제201710045459.7호의 우선권을 청구하며, 이 중국 특허 출원의 전체 내용은 참조로서 본 명세서 내에서 원용된다.
본 출원은 컴퓨터 소프트웨어 기술 분야에 관한 것이며, 특히 단어 벡터(word vector) 처리 방법 및 장치에 관한 것이다.
현재의 자연어 처리 해결책은 주로 신경망 기반 아키텍처를 사용한다. 이러한 아키텍처에서 중요한 기본 기술은 단어 벡터이다. 단어 벡터는 단어를 고정된 차원으로 매핑시키기 위한 벡터이며, 단어의 의미 정보(semantic information)를 나타낸다.
종래 기술에서, 일반적인 단어 벡터 생성 알고리즘은 구글의 단어 벡터 알고리즘, 페이스북의 n그램(n-gram) 문자 알고리즘, 마이크로소프트의 심층 신경망(deep neural network) 알고리즘 등과 같이 영어를 위해 특별히 설계되었다.
그러나, 종래 기술에서의 이러한 알고리즘들은 중국어에 적용이 불가능하거나, 또는 이 알고리즘들이 중국어에 적용가능하더라도, 이에 의해 생성된 중국어 단어의 단어 벡터는 열악한 실용적 효과를 갖는다.
본 출원의 실시예들은, 종래 기술에서의 단어 벡터 생성 알고리즘들이 중국어에 적용이 불가능하거나, 또는 이 알고리즘들이 중국어에 적용가능하더라도, 이에 의해 생성된 중국어 단어의 단어 벡터가 열악한 실용적 효과를 갖는 문제점을 해결하기 위한, 단어 벡터 처리 방법 및 장치를 제공한다.
전술한 기술적 문제점을 해결하기 위해, 본 출원의 실시예들은 다음과 같이 구현된다:
본 출원의 실시예들은 단어 벡터 처리 방법을 제공하며, 이 방법은,
단어들을 획득하기 위해 코퍼스(corpus)에 대해 단어 분획화(word segmentation)를 수행하는 단계;
단어들에 대응하는 n그램 필획(stroke)들을 결정하는 단계 - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -;
단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들을 구축하고 초기화하는 단계; 및
단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝(training)하는 단계를 포함한다.
본 출원의 실시예들은 단어 벡터 처리 장치를 제공하며, 이 장치는,
단어들을 획득하기 위해 코퍼스에 대해 단어 분획화를 수행하도록 구성된 단어 분획화 모듈;
단어들에 대응하는 n그램 필획들을 결정하도록 구성된 결정 모듈 - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -;
단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들을 구축하고 초기화하도록 구성된 초기화 모듈; 및
단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝하도록 구성된 트레이닝 모듈을 포함한다.
전술한 기술적 해결책들 중 적어도 하나를 사용함으로써, 본 출원의 실시예들은 아래의 이로한 효과들, 즉 단어에 대응하는 n그램 필획들을 사용함으로써 단어의 특징들이 보다 정밀하게 표현될 수 있고, 따라서 중국어 단어들의 단어 벡터들의 정확도를 향상시키고, 바람직한 실용적인 효과를 달성할 수 있다. 따라서, 본 출원은 종래 기술의 일부 또는 모든 문제들을 해결할 수 있다.
본 출원의 실시예들에서 또는 종래 기술에서의 기술적 해결책을 보다 명확하게 설명하기 위해, 아래에서는 본 실시예들 또는 종래 기술을 설명하는데 필요한 첨부 도면들을 간략하게 소개한다. 명백한 바와 같이, 이하의 설명에서의 첨부 도면들은 본 발명의 일부 실시예들을 단지 보여줄 뿐이며, 당업자는 창의적인 노력 없이 이들 첨부 도면들로부터 다른 도면들을 계속해서 유도할 수 있다.
도 1은 본 출원의 실시예에 따른 단어 벡터 처리 방법의 개략적인 흐름도이다;
도 2는 본 출원의 실시예에 따른 실제 응용 시나리오에서의 단어 벡터 처리 방법의 특정 구현 해결책의 개략적인 흐름도이다;
도 3은 본 출원의 실시예에 따른 도 2의 프로세스에서 사용되는 코퍼스의 일부에 대한 관련 처리 동작의 개략도이다;
도 4는 본 출원의 실시예에 따른 도 1에 대응하는 단어 벡터 처리 장치의 개략적인 구조도이다.
도 1은 본 출원의 실시예에 따른 단어 벡터 처리 방법의 개략적인 흐름도이다;
도 2는 본 출원의 실시예에 따른 실제 응용 시나리오에서의 단어 벡터 처리 방법의 특정 구현 해결책의 개략적인 흐름도이다;
도 3은 본 출원의 실시예에 따른 도 2의 프로세스에서 사용되는 코퍼스의 일부에 대한 관련 처리 동작의 개략도이다;
도 4는 본 출원의 실시예에 따른 도 1에 대응하는 단어 벡터 처리 장치의 개략적인 구조도이다.
본 출원의 실시예들은 단어 벡터 처리 방법과 장치를 제공한다.
당업자가 본 출원의 기술적 해결책을 더 잘 이해하게 하기 위해, 본 출원의 실시예들의 기술적 해결책은 본 출원의 실시예들에서 첨부된 도면들을 참조하여 아래에서 명확하고 완전하게 설명된다. 명백한 바와 같이, 설명된 실시예들은 본 출원의 모든 실시예들이라기 보다는 그 중 일부일 뿐이다. 본 출원의 설명되는 실시예들에 기초하여, 당업자에 의해 창의적인 노력 없이 획득되는 다른 실시예들은 모두 본 출원의 보호 범위에 속한다.
본 출원의 해결책은 중국어 단어의 단어 벡터에 적용가능하고, 또한 중국어와 유사한 다른 언어로 된 단어의 단어 벡터, 예를 들어, 일본어와 같이, 필획(stroke)을 특징으로 하는 언어로 된 단어의 단어 벡터에 적용가능하다.
도 1은 본 출원의 실시예에 따른 단어 벡터 처리 방법의 개략적인 흐름도이다; 이 프로세스는 단어 벡터 생성 기능 및/또는 트레이닝 기능을 갖는 프로그램에 의해 실행될 수 있다. 디바이스 관점에서, 본 프로세스를 실행하는 주체는 본 프로그램을 적재할 수 있는, 비제한적인 예시로서의, 다음의 디바이스들을 포함할 수 있다: 개인용 컴퓨터, 중형/대형 컴퓨터, 컴퓨터 클러스터, 이동 전화기, 태블릿 컴퓨터, 지능형 착용가능 디바이스, 차량 탑재 제품 등.
도 1의 프로세스는 다음의 단계들을 포함할 수 있다:
S101: 단어들을 획득하기 위해 코퍼스에 대해 단어 분획화가 수행된다.
본 출원의 실시예에서, 단어들은 구체적으로 코퍼스에서 적어도 한 번 출현(occur)하는 단어들 중의 적어도 일부일 수 있다. 후속 처리의 용이화를 위해, 단어들은 어휘집에 저장될 수 있으며, 필요한 경우 어휘집으로부터 단어들을 읽어낼 수 있다.
S102: 단어들에 대응하는 n그램 필획들이 결정되고, n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타낸다.
이해의 용이화를 위해, "n그램 필획"이 중국어를 예시로서 사용하여 더 자세히 설명된다. 중국어 문자 또는 단어의 경우, 필획은 "가로획", "세로획", "좌로 삐침", "우로 삐침", "꺽기", "점찍기", "오름삐침" 등을 포함한다. n그램 필획은 하나의 중국어 문자 또는 단어의 n개의 연속적인 필획들을 나타낼 수 있다.
예를 들어, 문자 "珍"(보물을 의미하는 중국어 문자임)의 경우, 이에 대응하는 3그램 필획들은, "가로획, 가로획, 및 세로획"(제1 필획 내지 제3 필획), "가로획, 세로획, 오름삐침"(제2 필획 내지 제4 필획), "세로획, 오름삐침, 및 좌로 삐침"(제3 필획 내지 제5 필획) 등이며; 이에 대응하는 4그램 필획들은, "가로획, 가로획, 세로획, 및 오름삐침"(제1 필획 내지 제4 필획), "가로획, 세로획, 오름삐침, 및 좌로 삐침"(제2 필획 내지 제5 필획) 등이다.
다른 예시로서, "大人"(어른을 의미하는 중국어 용어임)의 경우, 이에 대응하는 3그램 필획들은, "가로획, 좌로 삐침, 및 우로 삐침"(제1 필획 내지 제3 필획), "좌로 삐침, 우로 삐침, 및 좌로 삐침"(제2 필획 내지 제4 필획) 등이고; 이에 대응하는 4그램 필획들은, "가로획, 좌로 삐침, 우로 삐침, 및 좌로 삐침"(제1 필획 내지 제4 필획), "좌로 삐침, 우로 삐침, 좌로 삐침, 및 우로 삐침"(제2 필획 내지 제5 필획) 등이다.
본 출원의 실시예에서, n의 값은 동적으로 조정될 수 있다. 동일한 단어의 경우, 해당 단어에 대응하는 n그램 필획들의 결정 동안, n은 단하나의 값을 가질 수 있거나(예를 들어, 해당 단어에 대응하는 3그램 필획들만이 결정됨), 또는 다중 값들을 가질 수 있다(예를 들어, 해당 단어에 대응하는 3그램 필획들 및 4그램 필획들이 결정됨). n의 값이 특정 값일 때, n그램 필획은 바로 그 문자의 부수(radical of a character)일 가능성이 있다. n의 값이 문자 또는 용어의 총 획수인 경우, n그램 필획은 바로 그 문자 또는 용어이다.
본 출원의 실시예에서, 컴퓨터 처리의 용이화를 위해, n그램 필획은 지정된 코드로 표시될 수 있다. 예를 들어, 상이한 필획들은 각각 상이한 숫자로 표시되며, 이에 따라 n그램 필획은 숫자 문자열로서 대응적으로 표현될 수 있다.
S103: 단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들이 구축되고 초기화된다.
본 출원의 실시예에서, 본 해결책의 효과를 보장하기 위해, 단어 벡터 및 필획 벡터가 초기화될 때 약간의 제한이 있을 수 있다. 예를 들어, 단어 벡터와 필획 벡터를 동일 벡터로 초기화할 수는 없다. 다른 예시로서, 일부 단어 벡터들 또는 필획 벡터들의 벡터 엘리먼트들의 값들은 모두 0이 아니어야 한다.
본 출원의 실시예에서, 단어들의 단어 벡터들 및 단어들에 대응하는 n그램 필획들의 필획 벡터들은 랜덤 초기화 방식으로 또는 지정된 확률 분포에 따른 초기화 방식으로 초기화될 수 있다. 동일한 n그램 필획들의 필획 벡터들도 동일하다. 지정된 확률 분포는 예를 들어, 0 내지 1의 분포일 수 있다.
또한, 다른 코퍼스에 기초하기 전에 단어 벡터들과 일부 단어들에 대응하는 필획 벡터들이 이미 트레이닝되어 있는 경우, 단어 벡터들과 이들 단어들에 대응하는 필획 벡터들이 도 1에서 도시된 코퍼스에 기초하여 추가로 트레이닝되면, 단어 벡터들과 이들 단어들에 대응하는 필획 벡터들은 다시 구축되고 초기화되지 않을 수 있고, 도 1에서 도시된 코퍼스 및 이전의 트레이닝 결과에 기초하여 재트레이닝될 수 있다.
S104: 단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들이 트레이닝된다.
본 출원의 실시예에서, 트레이닝은 신경망을 사용하여 구현될 수 있다. 신경망은, 비제한적인 예시로서, 얕은 신경망과 심층 신경망을 포함한다.
도 1의 방법으로, 단어에 대응하는 n그램 필획들을 사용함으로써 단어의 특징들이 보다 정밀하게 표현될 수 있고, 따라서 중국어 단어들의 단어 벡터들의 정확도를 향상시키고, 바람직한 실용적인 효과를 달성할 수 있다. 따라서, 본 방법은 종래 기술의 일부 또는 모든 문제들을 해결할 수 있다.
도 1의 방법에 기초하여, 본 출원의 구현예는 아래에서 설명되는 본 방법의 몇몇의 특정 구현 해결책과 확장된 해결책을 더 제공한다.
본 출원의 실시예에서, 단어들에 대응하는 n그램 필획들을 결정하는 단계(S102)는 구체적으로, 코퍼스에 대해 단어 분획화의 결과에 따라, 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 단계; 및
결정된 각각의 단어에 대해 다음의 동작, 즉
단어에 대응하는 n그램 필획들을 결정하는 동작
을 수행하는 단계를 포함하며, 단어에 대응하는 각각의 n그램 필획은 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들이다.
을 수행하는 단계를 포함하며, 단어에 대응하는 각각의 n그램 필획은 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들이다.
또한, 코퍼스에서 단어가 드물게 출현하면, 코퍼스에 기초한 트레이닝 동안 대응하는 트레이닝 샘플들과 트레이닝들의 횟수도 적어서, 트레이닝 결과의 신뢰성에 악영향을 미친다. 따라서, 이러한 단어들은 제거될 수 있으며, 일시적으로 트레이닝되지 않으며, 이후에 다른 코퍼스에서 트레이닝될 수 있다.
이러한 사고에 기초하여, 단어 분획화의 결과에 따라, 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 단계는, 구체적으로, 코퍼스에 대한 단어 분획화의 결과에 따라, 설정된 횟수 이상으로 코퍼스에서 출현하는 단어들을 결정하는 단계를 포함할 수 있고, 이 설정된 횟수는 1회 이상이다. 설정된 횟수의 특정 값은 실제 상태에 따라 결정될 수 있다.
본 출원의 실시예에서, 단계(S104)에 대해서는, 복수의 특정 트레이닝 방식이 있을 수 있는데, 예를 들어, 문맥 단어들에 기초한 트레이닝 방식, 지정된 유사 동의어 또는 동의어에 기초한 트레이닝 방식 등이 있을 수 있다. 이해를 쉽게하기 위해, 전자의 방식을 예시로서 사용하여 상세히 설명한다.
단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝하는 단계는 구체적으로, 단어 분획화 이후에 획득된 코퍼스에서 지정된 단어를, 그리고 단어 분획화 이후에 획득된 코퍼스에서 상기 지정된 단어의 하나 이상의 문맥 단어를 결정하는 단계; 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들뿐만이 아니라 문맥 단어의 단어 벡터에 따라 상기 지정된 단어와 상기 문맥 단어 간의 유사도를 결정하는 단계; 및 상기 지정된 단어와 상기 문맥 단어 간의 유사도에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 단계를 포함할 수 있다.
본 출원은 유사도를 결정하는 특정 방식을 제한시키지 않는다. 예를 들어, 유사도는 벡터들 간의 각도에 대한 코사인 연산에 기초하거나, 또는 벡터들에 대한 제곱 합 연산 등에 기초하여 계산될 수 있다.
복수 개의 지정된 단어들이 있을 수 있다. 지정된 단어들은 코퍼스의 상이한 위치에서 반복적으로 출현할 수 있다. 앞 단락에서 설명한 처리 작업은 각각의 지정된 단어에 대해 수행될 수 있다. 바람직하게는, 단어 분획화 이후에 획득된 코퍼스 내의 각 단어가 지정된 단어로서 사용될 수 있다.
본 출원의 실시예에서, 단계(S104)에서의 트레이닝은 지정된 단어와 문맥 단어 간의 유사도를 증가시킬 수 있고(여기서, 유사도는 연관도를 반영할 수 있고, 단어와 그 문맥 단어 간의 연관도가 상대적으로 높고, 동의어 또는 유사 동의어에 대응하는 문맥 단어들은 또한 동일하거나 유사한 의미를 가짐), 지정된 단어와 비 문맥 단어 간의 유사도를 감소시킬 수 있다. 비 문맥 단어는 아래에 설명되는 네거티브 샘플 단어(negative sample word)로서 사용될 수 있으며, 그러면 문맥 단어는 포지티브 샘플 단어(positive sample word)로서 사용될 수 있다.
위에서 살펴볼 수 있듯이, 일부 네거티브 샘플 단어들이 트레이닝 프로세스에서 비교를 위해 결정될 필요가 있다. 하나 이상의 단어가 단어 분획화 이후에 획득된 코퍼스로부터 네거티브 샘플 단어들로서 랜덤하게 선택될 수 있거나, 또는 비 문맥 단어들이 네거티브 샘플 단어들로서 엄격하게 선택될 수 있다. 전자의 방식을 예시로서 사용하여, 상기 지정된 단어와 상기 문맥 단어 간의 유사도에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 단계는 구체적으로, 상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 단계; 상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도를 결정하는 단계; 지정된 손실 함수(loss function), 지정된 단어와 문맥 단어 간의 유사도, 및 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도에 따라 지정된 단어에 대응하는 손실 표징 값(characterization value)을 결정하는 단계; 및 손실 표징 값에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 단계를 포함할 수 있다.
손실 표징 값은 현재 벡터 값과 트레이닝 타겟 간의 오차도(degree of an error)를 측정하는데 사용된다. 전술한 일부 유사도들이 손실 함수의 파라미터들로서 사용될 수 있다. 손실 함수의 구체적인 표현은 본 출원에서 제한되지 않으며, 나중에 예를 들어 상세히 설명될 것이다.
본 출원의 실시예에서, 단어 벡터 및 필획 벡터들의 업데이트는 실제로는 오차도에 대한 수정이다. 본 출원의 해결책이 신경망을 사용하여 구현되는 경우, 이러한 수정은 역 전파 및 구배 하강(counter propagation and gradient descent)에 기초하여 구현될 수 있다. 이 경우, 구배는 손실 함수에 대응하는 구배이다.
손실 표징 값에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 단계는 구체적으로, 손실 표징 값에 따라 손실 함수에 대응하는 구배를 결정하는 단계; 및 구배에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 단계를 포함할 수 있다.
본 출원의 실시예에서, 단어 벡터들과 필획 벡터들을 트레이닝하는 프로세스는 단어 분획화 이후에 획득된 코퍼스 내의 적어도 일부 단어들에 기초하여 반복적으로 수행될 수 있어서, 단어 벡터들과 필획 벡터들은 트레이닝이 종료될 때까지 점차적으로 수렴한다.
단어 분획화 이후에 획득된 코퍼스 내의 모든 단어들에 대한 트레이닝이 예시로서 사용된다. 단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝하는 단계(S104)는 구체적으로,
단어 분획화 이후에 획득된 코퍼스를 순회(traversing)하고, 단어 분획화 이후에 획득된 코퍼스 내의 각 단어에 대해 다음의 동작, 즉
단어 분획화 이후에 획득된 코퍼스에서 단어의 하나 이상의 문맥 단어를 결정하는 동작; 및
각각의 문맥 단어에 따라 다음의 동작, 즉
상기 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터에 따라 상기 단어와 문맥 단어 간의 유사도를 결정하는 동작; 및
상기 단어와 문맥 단어 간의 유사도에 따라 상기 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 동작
을 수행하는 동작
을 수행하는 단계를 포함할 수 있다.
을 수행하는 동작
을 수행하는 단계를 포함할 수 있다.
구체적인 업데이트 프로세스는 위에서 설명하였으므로, 여기서는 다시 상세하게 설명하지 않는다.
또한, 컴퓨터 처리의 용이화를 위해, 전술한 순회 프로세스는 윈도우에 기초하여 구현될 수 있다.
예를 들어, 단어 분획화 이후에 획득된 코퍼스에서 단어의 하나 이상의 문맥 단어를 결정하는 단계는 구체적으로, 단어 분획화 이후에 획득된 코퍼스에서, 이 단어를 중심으로 하여, 지정된 단어 수의 거리만큼 왼쪽으로 및/또는 오른쪽으로 슬라이딩하여, 윈도우를 구축하는 단계; 및 윈도우 내에서 이 단어를 제외한 단어들을 이 단어의 문맥 단어로서 결정하는 단계를 포함할 수 있다.
물론, 단어 분획화 이후에 획득된 코퍼스에서 제1 단어에서부터 시작하는 설정된 길이의 윈도우를 구축하는 것도 가능하며, 윈도우는 제1 단어 및 제1 단어 뒤에 오는 설정된 개수의 연속적인 단어들을 포함한다. 윈도우 내의 단어들이 처리된 후, 코퍼스가 완전히 순회될 때 까지, 윈도우는 코퍼스 내의 다음 단어들의 배치를 처리하도록 앞쪽으로 슬라이딩된다.
상기 내용은 본 출원의 실시예에 따른 단어 벡터 처리 방법을 설명한 것이다. 이해의 용이화를 위해, 전술한 설명에 기초하여, 본 출원의 실시예는 도 2에서 도시된 바와 같이, 실제 응용 시나리오에서의 단어 벡터 처리 방법의 특정 구현 해결책의 개략적인 흐름도를 더 제공한다.
도 2에서의 처리는 주로 다음의 단계들을 포함한다:
단계 1: 단어 분획화 툴을 사용하여 중국어 코퍼스에 대해 단어 분획화가 수행되고, 단어 분획화 이후에 획득된 중국어 코퍼스가 스캐닝되고, 출현된 모든 단어들이 집계되어 어휘집이 구축되고, b회(즉, 설정된 횟수) 미만으로 출현하는 단어들은 삭제된다. 그런 후, 단계 2가 수행된다.
단계 2: 어휘집은 하나씩 스캐닝되고, 각 단어에 대응하는 n그램 필획들이 추출되어 단어들과 이에 대응하는 n그램 필획들 간의 매핑 테이블 및 n그램 필획 테이블을 구축한다. 총 다섯 개 유형들의 필획들이 정의된다: "가로획", "세로획", "좌로 삐침", "우로 삐침", "꺽기"("갈고리", "점찍기", "오름삐침" 필획들은 모두 "꺽기"로서 간주된다), 이들은 각각 번호 1 내지 번호 5로 표시된다. 그런 후, 단계 3가 수행된다.
단계 3: 어휘집에서 각 단어에 대해 d차원 단어 벡터가 구축되고, n그램 필획 테이블에서 각 n그램 필획에 대해 d차원 필획 벡터가 또한 구축되며, 구축된 모든 벡터들은 랜덤하게 초기화된다. 그런 후, 단계 4가 수행된다.
단계 4: 단어 분획화 이후에 획득된 중국어 코퍼스에서 제1 단어에서부터 시작하여 단어들에 걸쳐 하나씩 슬라이딩하고; 매 번마다 하나의 단어가 "현재 단어 w"(즉, 지정된 단어)로서 선택된다. 전체 코퍼스 내의 모든 단어들이 w로서 순회된 경우 프로세스는 종료되고, 그렇지 않으면 단계 5가 수행된다.
단계 5: 현재 단어를 중심으로 하여, 양쪽으로 k개의 단어들의 길이만큼 슬라이딩하여, 윈도우를 구축하고; 윈도우에서 제1 단어에서부터 마지막 단어까지(현재 단어 w는 제외됨) 매 번마다 하나의 단어가 "문맥 단어 c"로서 선택된다. 윈도우 내의 모든 단어들이 c로서 순회된 경우 단계 4가 수행되고, 그렇지 않으면 단계 6이 수행된다.
단계 6: 현재 단어 w에 대해, 현재 단어 w에 대응하는 n그램 필획들이 단계 2에서의 단어들과 이에 대응하는 n그램 필획들 간의 매핑 테이블에서 검색되고, 현재 단어 w와 문맥 단어 c 간의 유사도가 다음 수학식 1을 사용하여 계산된다:
이 수학식에서, S는 단계 2에서 구축된 n그램 필획 테이블을 나타내고, S(w)는 단계 2에서의 매핑 테이블에서 현재 단어 w에 대응하는 n그램 필획들의 세트를 나타내고, q는 설정된 S(w)에서의 엘리먼트(즉, n그램 필획)를 나타내고, sim(w, c)는 현재 단어 w와 문맥 단어 c 간의 유사도의 스코어를 나타내며, 는 n그램 필획 q와 문맥 단어 c 간의 벡터 내적 연산을 나타낸다. 그런 후, 단계 7이 수행된다.
단계 7: λ개의 단어들이 네거티브 샘플 단어들로서 랜덤하게 추출되고, 손실 스코어 가 아래의 수학식 2(즉, 상술된 손실 함수)에 따라 계산된다. 손실 스코어는 상술된 손실 표징 값으로서 사용될 수 있다:
이 수학식에서, log는 로그 함수를 나타내고, c'는 랜덤하게 추출된 네거티브 샘플 단어들을 나타내고, 는 랜덤하게 추출된 네거티브 샘플 단어들 c'가 확률 분포 를 만족하는 경우에서 표현식 x의 기대값을 나타내며, 는 신경망의 여기 함수이다. 자세한 내용은 다음의 수학식 3을 참조하라.
단계 6과 단계 7은 전술한 단계 1 내지 단계 7에서 중요 단계들이다. 이해의 용이화를 위해, 이 두 단계들이 도 3을 참조한 예시를 사용하여 설명된다.
도 3은 본 출원의 실시예에 따른 도 2의 프로세스에서 사용되는 코퍼스의 일부에 대한 관련 처리 동작의 개략도이다.
도 3에서 도시된 바와 같이, 코퍼스는 ""("스모그 처리는 매우 긴급한 사항이다"를 의미함) 문장을 포함하고, 세 개의 용어들 "治理"("처리"를 의미함), ""("스모그"를 의미함), 및 ""("매우 긴급한 사항이다"를 의미함)이 단어 분획화 이후에 상기 문장에서 획득되는 것으로 가정한다.
현재 단어 w로서 ""가 선택되고, 문맥 단어 c로서 "治理"가 선택되는 것으로 가정한다. 현재 단어 w에 의해 매핑된 모든 n그램 필획들 S(w)이 추출된다. 예를 들어, ""에 의해 매핑된 3그램 필획들은 "145", "452", "524" 등을 포함한다. 그 후, 수학식 1, 수학식 2, 및 수학식 3에 따라 손실 스코어 가 계산되고, 그런 후, 구배가 계산되어, c의 단어 벡터와 w에 대응하는 모든 필획 벡터들을 업데이트한다.
상기 내용은 본 출원의 실시예에 따른 단어 벡터 처리 방법을 설명한 것이다. 동일한 개념에 기초하여, 본 출원의 실시예는 도 4에서 도시된 바와 같은, 대응하는 장치를 더 제공한다.
도 4는 본 출원의 실시예에 따른 도 1에 대응하는 단어 벡터 처리 장치의 개략적인 구조도이다. 본 장치는 도 1의 프로세스를 실행하는 엔티티에 위치될 수 있으며,
단어들을 획득하기 위해 코퍼스에 대해 단어 분획화를 수행하도록 구성된 단어 분획화 모듈(401);
단어들에 대응하는 n그램 필획들을 결정하도록 구성된 결정 모듈(402) - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -;
단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들을 구축하고 초기화하도록 구성된 초기화 모듈(403); 및
단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝하도록 구성된 트레이닝 모듈(404)을 포함한다.
선택적으로, 결정 모듈(402)에 의해, 단어들에 대응하는 n그램 필획들을 결정하는 것은 구체적으로:
결정 모듈(402)에 의해, 코퍼스에 대한 단어 분획화의 결과에 따라, 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 것; 및
결정된 각각의 단어에 대해 다음의 동작, 즉
단어에 대응하는 n그램 필획들을 결정하는 동작
을 수행하는 것을 포함하며, 단어에 대응하는 각각의 n그램 필획은 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들이다.
을 수행하는 것을 포함하며, 단어에 대응하는 각각의 n그램 필획은 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들이다.
선택적으로, 결정 모듈(402)에 의해, 단어 분획화의 결과에 따라, 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 것은 구체적으로,
결정 모듈(402)에 의해, 코퍼스에 대한 단어 분획화의 결과에 따라, 설정된 횟수 이상으로 코퍼스에서 출현하는 단어를 결정하는 것을 포함하며, 상기 설정된 횟수는 1회 이상이다.
선택적으로, 초기화 모듈(403)에 의해, 단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 것은 구체적으로,
초기화 모듈(403)에 의해, 단어들의 단어 벡터들, 및 단어들에 대응하는 n그램 필획들의 필획 벡터들을, 랜덤 초기화 방식으로 또는 지정된 확률 분포에 따른 초기화 방식으로 초기화하는 것을 포함하며, 여기서 동일한 n그램 필획들의 필획 벡터들이 또한 동일하다.
선택적으로, 트레이닝 모듈(404)에 의해, 단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝하는 것은 구체적으로,
트레이닝 모듈(404)에 의해, 단어 분획화 이후에 획득된 코퍼스에서 지정된 단어를, 그리고 단어 분획화 이후에 획득된 코퍼스에서 상기 지정된 단어의 하나 이상의 문맥 단어를 결정하는 것;
상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들뿐만이 아니라 문맥 단어의 단어 벡터에 따라 상기 지정된 단어와 상기 문맥 단어 간의 유사도를 결정하는 것; 및
상기 지정된 단어와 상기 문맥 단어 간의 유사도에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 것을 포함한다.
선택적으로, 트레이닝 모듈(404)에 의해, 상기 지정된 단어와 상기 문맥 단어 간의 유사도에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 것은 구체적으로,
트레이닝 모듈(404)에 의해, 상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 것;
상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도를 결정하는 것;
지정된 손실 함수, 지정된 단어와 문맥 단어 간의 유사도, 및 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도에 따라 지정된 단어에 대응하는 손실 표징 값을 결정하는 것; 및
손실 표징 값에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 것을 포함한다.
선택적으로, 트레이닝 모듈(404)에 의해, 손실 표징 값에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 것은 구체적으로,
트레이닝 모듈(404)에 의해, 손실 표징 값에 따라 손실 함수에 대응하는 구배를 결정하는 것; 및
구배에 따라 상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 것을 포함한다.
선택적으로, 트레이닝 모듈(404)에 의해, 상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 것은 구체적으로,
트레이닝 모듈(404)에 의해, 상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 랜덤하게 선택하는 것을 포함한다.
선택적으로, 트레이닝 모듈(404)에 의해, 단어 분획화 이후에 획득된 코퍼스, 단어 벡터들, 및 필획 벡터들에 따라 단어 벡터들과 필획 벡터들을 트레이닝하는 것은 구체적으로,
트레이닝 모듈(404)에 의해, 단어 분획화 이후에 획득된 코퍼스를 순회하고, 단어 분획화 이후에 획득된 코퍼스 내의 각 단어에 대해 다음의 동작을 수행하는 것을 포함한다:
단어 분획화 이후에 획득된 코퍼스에서 단어의 하나 이상의 문맥 단어를 결정하는 동작; 및
각각의 문맥 단어에 따라 다음의 동작, 즉
상기 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터에 따라 상기 단어와 문맥 단어 간의 유사도를 결정하는 동작; 및
상기 단어와 문맥 단어 간의 유사도에 따라 상기 단어에 대응하는 n그램 필획들의 필획 벡터들과 문맥 단어의 단어 벡터를 업데이트하는 동작
을 수행하는 동작.
을 수행하는 동작.
선택적으로, 트레이닝 모듈(404)에 의해, 단어 분획화 이후에 획득된 코퍼스에서 단어의 하나 이상의 문맥 단어를 결정하는 것은 구체적으로,
트레이닝 모듈(404)에 의해, 단어 분획화 이후에 획득된 코퍼스에서, 이 단어를 중심으로 하여, 지정된 단어 수의 거리만큼 왼쪽으로 및/또는 오른쪽으로 슬라이딩하여, 윈도우를 구축하는 것; 및
윈도우 내에서 이 단어를 제외한 단어들을 이 단어의 문맥 단어로서 결정하는 것을 포함한다.
선택적으로, 단어들은 중국어 단어들이고, 단어 벡터들은 중국어 단어들의 단어 벡터들이다.
본 출원의 실시예에서 제공된 장치는 일대일 방식으로 본 방법에 대응한다. 따라서, 본 장치는 또한 대응하는 방법과 유사한 이로한 기술적 효과를 갖는다. 본 방법의 이로운 기술적 효과를 위에서 상세하게 설명하였기 때문에, 대응하는 장치의 이로운 기술적 효과를 여기서 다시 설명하지 않는다.
1990년대에는, 기술 상의 개선이 하드웨어 상의 개선(예를 들어, 다이오드, 트랜지스터, 또는 스위치와 같은 회로 구조 상의 개선)과, 소프트웨어 상의 개선(방법 프로시저 상의 개선)으로서 명확하게 구별될 수 있다. 그러나, 기술의 발달로 인해, 현재의 많은 방법 프로시저의 개선은 하드웨어 회로 구조 상의 직접적인 개선으로서 간주될 수 있다. 거의 모든 설계자들은 개선된 방법 프로시저를 하드웨어 회로에 프로그래밍하여 대응하는 하드웨어 회로 구조를 획득한다. 따라서, 하드웨어 엔티티 모듈을 사용하여 방법 프로시저의 개선이 구현될 수 없다고 가정하는 것은 부적절하다. 예를 들어, PLD(Programmable Logic Device)(예를 들어, FPGA(Field Programmable Gate Array))는 로직 기능이 사용자에 의해 프로그래밍된 디바이스들에 의해 결정되는 그러한 집적 회로이다. 설계자들은 칩 제조자에게 전용 집적 회로 칩을 설계하고 제조해달라고 요청할 필요 없이, 디지털 시스템을 PLD의 조각으로 "집적"하도록 스스로가 프로그래밍한다. 또한, 현재, 프로그래밍은 집적 회로 칩을 손수 제조하는 대신, 로직 컴파일러 소프트웨어를 사용함으로써 대부분 구현된다. 로직 컴파일러 소프트웨어는 프로그램을 개발하고 작성하는데 사용되는 소프트웨어 컴파일러와 유사하며, 컴파일 전의 원래의 코드는 또한 HDL(Hardware Description Language)이라고 불리우는 특정 프로그래밍 언어를 사용하여 작성될 필요가 있다. ABEL(Advanced Boolean Expression Language), AHDL(Altera Hardware Description Language), 컨플루언스(Confluence), CUPL(Cornell University Programming Language), HDCal, JHDL(Java Hardware Description Language), 라바(Lava), 로라(Lola), MyHDL, PALASM과 같은 많은 유형의 HDL이 있으며, 이 중에서는 VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)과 베릴로그(Verilog)가 현재 가장 흔하게 사용되고 있다. 또한, 당업자는 로직 방법 프로시저를 구현하기 위한 하드웨어 회로가 상기 여러 하드웨어 기술 언어들을 사용하여 방법 프로시저를 약간 논리적으로 프로그래밍하고 이를 집적 회로에 프로그래밍함으로써 쉽게 얻어질 수 있다는 것을 알아야 한다.
제어기는 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 제어기는, 예를 들어, 마이크로프로세서 또는 프로세서, (마이크로) 프로세서에 의해 실행가능한 컴퓨터 판독가능 프로그램 코드(예를 들어, 소프트웨어 또는 펌웨어)를 저장한 컴퓨터 판독가능 매체, 논리 게이트, 스위치, 주문형 집적 회로(ASIC), 프로그래밍가능 논리 제어기, 또는 임베디드 마이크로제어기의 형태로 있을 수 있다. 제어기의 예시로는 비제한적인 예시들로서, 다음과 같은 마이크로제어기들, ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, 및 Silicone Labs C8051F320을 포함한다. 메모리 제어기는 또한 메모리의 제어 로직의 일부로서 구현될 수 있다. 당업자는 제어기가 순수하게 컴퓨터 판독가능 프로그램 코드를 사용하여 구현될 수 있다는 것과, 또한 제어기가 논리 게이트, 스위치, 주문형 집적 회로, 프로그래밍가능 논리 제어기, 임베디드 마이크로제어기의 형태로 동일한 기능을 구현할 수 있게끔 본 방법 단계들이 논리적으로 프로그래밍될 수 있다는 것을 알 것이다. 따라서, 이러한 유형의 제어기는 하드웨어 컴포넌트로서 간주될 수 있으며, 다양한 기능들을 구현하기 위해 여기에 포함된 장치들이 또한 하드웨어 컴포넌트 내부의 구조들로서 간주될 수 있다. 또는, 다양한 기능들을 구현하는데 사용된 장치들은 본 방법을 구현하기 위한 소프트웨어 모듈들 및 하드웨어 컴포넌트 내부의 구조들 둘 다로서 간주될 수도 있다.
상기 실시예들에서 예시된 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용하여 구체적으로 구현될 수 있거나, 또는 특정 기능을 갖는 제품을 사용하여 구현될 수 있다. 일반적인 구현 디바이스는 컴퓨터이다. 구체적으로, 컴퓨터는, 예를 들어, 개인 컴퓨터, 랩톱 컴퓨터, 셀룰러 전화기, 카메라 폰, 스마트폰, 개인 휴대 정보 단말기, 미디어 플레이어, 네비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터, 또는 착용가능형 디바이스, 또는 이들 디바이스들의 임의의 디바이스들의 조합일 수 있다.
설명의 용이화를 위해, 본 장치를 설명할 때, 각각의 설명을 위해 본 장치는 기능들의 측면에서 다양한 유닛들로 분할된다. 물론, 본 출원이 구현될 때, 유닛들의 기능은 동일하거나 또는 복수의 소프트웨어 및/또는 하드웨어 조각들로 구현될 수 있다.
당업자는 본 발명의 실시예들이 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예, 또는 소프트웨어와 하드웨어를 결합한 실시예로서 구현될 수 있다. 또한, 본 발명은 컴퓨터로 사용가능한 프로그램 코드가 포함된 하나 이상의 컴퓨터로 사용가능한 저장 매체(비제한적인 예시로서, 자기 디스크 메모리, CD-ROM, 광학 메모리 등을 포함함) 상에 구현되는 컴퓨터 프로그램 제품일 수 있다.
본 출원은 본 발명의 실시예들에 따른 방법, 디바이스(시스템), 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 기술된 것이다. 흐름도 및/또는 블록도에서의 각각의 프로세스 및/또는 블록, 및 흐름도 및/또는 블록도에서의 프로세스 및/또는 블록의 조합을 구현하기 위해 컴퓨터 프로그램 명령어가 사용될 수 있다는 것을 이해해야 한다. 이들 컴퓨터 프로그램 명령어들은, 컴퓨터 또는 임의의 다른 프로그램가능 데이터 처리 디바이스의 프로세서에 의해 실행된 명령어들이 흐름도들 내에서의 하나 이상의 프로세스들 또는 블록도들 내에서의 하나 이상의 블록들에서 특정 기능을 구현하기 위한 장치를 생성하도록, 범용 컴퓨터, 특수 목적용 컴퓨터, 내장형 프로세서, 또는 머신을 생성하기 위한 임의의 다른 프로그램가능 데이터 처리 디바이스의 프로세서에 제공될 수 있다.
이들 컴퓨터 프로그램 명령어들은 또한, 컴퓨터로 판독가능한 메모리에 저장된 명령어들이 명령어 장치를 포함하는 아티펙트를 생성하도록, 컴퓨터로 판독가능한 메모리에 저장되어, 컴퓨터 또는 임의의 다른 프로그램가능한 데이터 처리 디바이스로 하여금 특정 방식으로 작업할 것을 명령내릴 수 있다. 명령어 장치는 흐름도들 내의 하나 이상의 프로세스에서 및/또는 블록도들 내의 하나 이상의 블록에서 특정 기능을 구현한다.
이들 컴퓨터 프로그램 명령어들은, 일련의 동작 단계들이 컴퓨터 또는 다른 프로그램가능한 디바이스 상에서 수행됨으로써 컴퓨터 구현 처리를 생성할 수 있도록, 컴퓨터 또는 다른 프로그램가능한 데이터 처리 디바이스 상에 로딩될 수 있다. 따라서, 컴퓨터 또는 다른 프로그램가능한 디바이스 상에서 실행되는 명령어들은 흐름도들 내의 하나 이상의 프로세스에서 및/또는 블록도들 내의 하나 이상의 블록에서 지정된 기능을 구현하기 위한 단계들을 제공한다.
일반적인 구성에서, 연산 디바이스는 하나 이상의 중앙 처리 장치(CPU), I/O 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는 휘발성 메모리, 랜덤 액세스 메모리(RAM) 및/또는 비 휘발성 메모리, 예를 들어, 판독 전용 메모리(ROM) 또는 플래시 RAM과 같은 컴퓨터 판독가능 매체를 포함할 수 있다. 메모리는 컴퓨터 판독가능 매체의 예시이다.
컴퓨터 판독가능 매체는 비 휘발성 및 휘발성 매체뿐만 아니라 착탈가능 및 착탈불가능 매체를 포함하며, 임의의 방법 또는 기술에 의해 정보 저장을 구현할 수 있다. 정보는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램의 모듈, 또는 다른 데이터일 수 있다. 컴퓨터의 저장 매체는, 예를 들어, 비제한적인 예시로서, PRAM(phase change memory, SRAM(static random access memory), DRAM(dynamic random access memory), 다른 유형들의 RAM, ROM, EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 또는 다른 메모리 기술들, CD-ROM(compact disk read-only memory), DVD(digital versatile disc) 또는 다른 광학 저장장치, 카세트 테이프, 자기 테이프/자기 디스크 저장장치 또는 다른 자기 저장 디바이스, 또는 임의의 다른 비전송 매체를 포함하며, 컴퓨팅 디바이스에 의해 액세스되는 정보를 저장하는데 사용될 수 있다. 본문의 정의에 따라, 컴퓨터 판독가능 매체는 변조 데이터 신호 및 반송파와 같은 임시적 매체(transitory media)를 포함하지 않는다.
또한, 용어 "포함한다", "구비한다" 또는 이들의 다른 변형체는 비 배타적인 포함을 커버하도록 의도되었으므로, 일련의 엘리먼트들을 포함하는 프로세스, 방법, 상품, 또는 디바이스는 이들 엘리먼트들을 포함할뿐만이 아니라, 명시적으로 나열되지 않은 다른 엘리먼트들도 포함하거나, 또는 프로세스, 방법, 상품, 또는 디바이스의 내재된 엘리먼트들을 더 포함한다는 것에 유념해야 한다. 더 이상 제한이 없는 경우, "...을 포함"으로 정의된 엘리먼트는 해당 엘리먼트를 포함하는 프로세스, 방법, 상품, 또는 디바이스가 다른 동일한 엘리먼트들을 더 갖는다는 것을 배제하지 않는다.
당업자는 본 출원의 실시예들이 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 출원은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예, 또는 소프트웨어와 하드웨어를 결합한 실시예로서 구현될 수 있다. 또한, 본 출원은 컴퓨터로 사용가능한 프로그램 코드가 포함된 하나 이상의 컴퓨터로 사용가능한 저장 매체(비제한적인 예시로서, 자기 디스크 메모리, CD-ROM, 광학 메모리 등을 포함함) 상에 구현되는 컴퓨터 프로그램 제품의 형태로 있을 수 있다.
본 출원은 컴퓨터, 예컨대 프로그램 모듈에 의해 실행되는 컴퓨터 실행가능 명령어의 일반적인 정황으로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 또는 특정 추상 데이터 타입을 구현하는데 사용되는 루틴, 프로그램, 오브젝트, 어셈블리, 데이터 구조 등을 포함한다. 본 출원은 또한 분산형 컴퓨팅 환경에서 구현될 수 있으며, 분산형 컴퓨터 환경에서는, 통신 네트워크를 통해 연결된 원격 처리 디바이스들을 사용하여 작업이 실행된다. 분산형 컴퓨터 환경에서, 프로그램 모듈은 저장 디바이스를 포함하는 로컬 및 원격 컴퓨터 저장 매체에 위치될 수 있다.
본 명세서에서의 실시예들은 점진적으로 설명되고, 실시예들의 동일하거나 유사한 부분들은 서로를 참조하여 획득될 수 있으며, 각각의 실시예는 다른 실시예들과는 상이한 부분을 강조한다. 특히, 시스템 실시예는 기본적으로 방법 실시예와 유사하므로, 간략하게 설명되었으며, 관련 부분들에 대해서는, 방법 실시예에서의 부분들의 설명을 참조할 수 있다.
상기 설명들은 본 출원의 실시예들일 뿐이며, 본 출원을 한정시키고자 하려는 의도는 없다. 당업자게 있어서, 본 출원은 다양한 변형과 변경을 가질 수 있다. 본 출원의 사상과 원리로부터 벗어남이 없이 임의의 수정, 등가적 대체, 또는 개선 등이 본 출원의 청구 범위 내에 속해야 한다.
Claims (21)
- 단어 벡터 처리 방법에 있어서,
컴퓨팅 디바이스에 의해, 단어들을 획득하기 위해 코퍼스(corpus)에 대해 단어 분획화(word segmentation)를 수행하는 단계;
컴퓨팅 디바이스에 의해, 단어들에 대응하는 n그램 필획(stroke)들을 결정하는 단계 - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -;
컴퓨팅 디바이스에 의해, 상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 단계; 및
상기 단어 분획화를 수행한 후, 컴퓨팅 디바이스에 의해, 상기 n그램 필획들을 결정하고, 상기 단어 벡터들과 상기 필획 벡터들을 초기화하며, 상기 단어 벡터들과 상기 필획 벡터들을 트레이닝(training)하는 단계
를 포함하고,
상기 단어 벡터들과 상기 필획 벡터들을 트레이닝하는 단계는,
상기 코퍼스에서 지정된 단어를, 그리고 상기 코퍼스에서 상기 지정된 단어의 하나 이상의 문맥 단어(context word)를 결정하는 단계;
상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들뿐만이 아니라 상기 문맥 단어의 단어 벡터에 따라, 상기 지정된 단어와 상기 문맥 단어 간의 유사도를 결정하는 단계;
상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 단계;
상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도를 결정하는 단계;
지정된 손실 함수(loss function), 상기 지정된 단어와 상기 문맥 단어 간의 유사도, 및 상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도에 따라, 상기 지정된 단어에 대응하는 손실 표징 값(loss characterization value)을 결정하는 단계; 및
상기 손실 표징 값에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 단계
를 포함한 것인 단어 벡터 처리 방법. - 제1항에 있어서,
상기 단어들에 대응하는 n그램 필획들을 결정하는 단계는,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 상기 코퍼스에서 적어도 한 번 출현(occur)하는 단어들을 결정하는 단계; 및
결정된 각각의 단어에 대해 다음의 동작,
상기 단어에 대응하는 n그램 필획들을 결정하는 동작 - 상기 단어에 대응하는 각각의 n그램 필획은 상기 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들임 - 을 수행하는 단계
를 포함하는 것인 단어 벡터 처리 방법. - 제2항에 있어서,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 상기 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 단계는,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 설정된 횟수 이상으로 상기 코퍼스에서 출현하는 단어를 결정하는 단계
를 포함하며,
상기 설정된 횟수는 1회 이상인 것인 단어 벡터 처리 방법. - 제1항에 있어서,
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 단계는,
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을, 랜덤 초기화 방식으로 또는 지정된 확률 분포에 따른 초기화 방식으로 초기화하는 단계 - 동일 n그램 필획들은 필획 벡터들 또한 동일함 -
를 포함하는 것인 단어 벡터 처리 방법. - 제1항에 있어서,
상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 단계는,
상기 단어들로부터 하나 이상의 단어를 상기 네거티브 샘플 단어로서 랜덤하게 선택하는 단계
를 포함한 것인 단어 벡터 처리 방법. - 제1항에 있어서,
상기 단어들은 중국어 단어들이고,
상기 단어 벡터들은 상기 중국어 단어들의 단어 벡터들인 것인 단어 벡터 처리 방법. - 제1항에 있어서,
상기 손실 표징 값에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 단계는,
상기 손실 표징 값에 따라 상기 손실 함수에 대응하는 구배(gradient)를 결정하는 단계; 및
상기 구배에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 단계
를 포함한 것인 단어 벡터 처리 방법. - 동작들을 수행하도록 컴퓨터 시스템에 의해 실행가능한 하나 이상의 명령어를 저장한 컴퓨터 판독가능 비일시적 매체에 있어서, 상기 동작들은,
단어들을 획득하기 위해 코퍼스에 대해 단어 분획화를 수행하는 동작;
단어들에 대응하는 n그램 필획들을 결정하는 동작 - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -;
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 동작; 및
상기 단어 분획화를 수행한 후, 상기 n그램 필획들을 결정하고, 상기 단어 벡터들과 상기 필획 벡터들을 초기화하여, 상기 단어 벡터들과 상기 필획 벡터들을 트레이닝하는 동작
을 포함하고,
상기 단어 벡터들과 상기 필획 벡터들을 트레이닝하는 동작은,
상기 코퍼스에서 지정된 단어를, 그리고 상기 코퍼스에서 상기 지정된 단어의 하나 이상의 문맥 단어를 결정하는 동작;
상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들뿐만이 아니라 상기 문맥 단어의 단어 벡터에 따라, 상기 지정된 단어와 상기 문맥 단어 간의 유사도를 결정하는 동작;
상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 동작;
상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도를 결정하는 동작;
지정된 손실 함수, 상기 지정된 단어와 상기 문맥 단어 간의 유사도, 및 상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도에 따라, 상기 지정된 단어에 대응하는 손실 표징 값을 결정하는 동작; 및
상기 손실 표징 값에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 동작
을 포함한 것인 컴퓨터 판독가능 비일시적 매체. - 제8항에 있어서,
상기 단어들에 대응하는 n그램 필획들을 결정하는 동작은,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 상기 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 동작; 및
결정된 각각의 단어에 대해 다음의 동작,
상기 단어에 대응하는 n그램 필획들을 결정하는 동작 - 상기 단어에 대응하는 각각의 n그램 필획은 상기 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들임 -
을 수행하는 동작
을 포함하는 것인 컴퓨터 판독가능 비일시적 매체. - 제9항에 있어서,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 상기 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 동작은,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 설정된 횟수 이상으로 상기 코퍼스에서 출현하는 단어를 결정하는 동작
을 포함하며,
상기 설정된 횟수는 1회 이상인 것인 컴퓨터 판독가능 비일시적 매체. - 제8항에 있어서,
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 동작은,
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을, 랜덤 초기화 방식으로 또는 지정된 확률 분포에 따른 초기화 방식으로 초기화하는 동작 - 동일 n그램 필획들은 필획 벡터들 또한 동일함 -
을 포함하는 것인 컴퓨터 판독가능 비일시적 매체. - 제8항에 있어서,
상기 손실 표징 값에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 동작은,
상기 손실 표징 값에 따라 상기 손실 함수에 대응하는 구배를 결정하는 동작; 및
상기 구배에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 동작
을 포함한 것인 컴퓨터 판독가능 비일시적 매체. - 제8항에 있어서,
상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 동작은,
상기 단어들로부터 하나 이상의 단어를 상기 네거티브 샘플 단어로서 랜덤하게 선택하는 동작
을 포함한 것인 컴퓨터 판독가능 비일시적 매체. - 제8항에 있어서,
상기 단어들은 중국어 단어들이고,
상기 단어 벡터들은 상기 중국어 단어들의 단어 벡터들인 것인 컴퓨터 판독가능 비일시적 매체. - 컴퓨터 구현 시스템에 있어서,
하나 이상의 컴퓨터; 및
상기 하나 이상의 컴퓨터와 상호동작가능하게 결합되고, 하나 이상의 명령어를 저장하는 유형의 머신 판독가능 비일시적 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스
를 포함하고,
상기 명령어는, 상기 하나 이상의 컴퓨터에 의해 실행될 때, 하나 이상의 동작을 수행하고,
상기 동작은,
단어들을 획득하기 위해 코퍼스에 대해 단어 분획화를 수행하는 동작;
단어들에 대응하는 n그램 필획들을 결정하는 동작 - n그램 필획은 대응하는 단어의 n개의 연속적인 필획들을 나타냄 -;
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 동작; 및
상기 단어 분획화를 수행한 후, 상기 n그램 필획들을 결정하고, 상기 단어 벡터들과 상기 필획 벡터들을 초기화하여, 상기 단어 벡터들과 상기 필획 벡터들을 트레이닝하는 동작
을 포함하고,
상기 단어 벡터들과 상기 필획 벡터들을 트레이닝하는 동작은,
상기 코퍼스에서 지정된 단어를, 그리고 상기 코퍼스에서 상기 지정된 단어의 하나 이상의 문맥 단어를 결정하는 동작;
상기 지정된 단어에 대응하는 n그램 필획들의 필획 벡터들뿐만이 아니라 상기 문맥 단어의 단어 벡터에 따라, 상기 지정된 단어와 상기 문맥 단어 간의 유사도를 결정하는 동작;
상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 동작;
상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도를 결정하는 동작;
지정된 손실 함수, 상기 지정된 단어와 상기 문맥 단어 간의 유사도, 및 상기 지정된 단어와 각각의 네거티브 샘플 단어 간의 유사도에 따라, 상기 지정된 단어에 대응하는 손실 표징 값을 결정하는 동작; 및
상기 손실 표징 값에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 동작
을 포함한 것인 컴퓨터 구현 시스템. - 제15항에 있어서,
상기 단어들에 대응하는 n그램 필획들을 결정하는 동작은,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 상기 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 동작; 및
결정된 각각의 단어에 대해 다음의 동작,
상기 단어에 대응하는 n그램 필획들을 결정하는 동작 - 상기 단어에 대응하는 각각의 n그램 필획은 상기 단어의 n개의 연속적인 필획들을 나타내며, n은 하나의 양의 정수 또는 복수의 상이한 양의 정수들 -
을 수행하는 동작
을 포함하는 것인 컴퓨터 구현 시스템. - 제16항에 있어서,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 상기 코퍼스에서 적어도 한 번 출현하는 단어들을 결정하는 동작은,
상기 코퍼스에 대한 단어 분획화의 결과에 따라, 설정된 횟수 이상으로 상기 코퍼스에서 출현하는 단어를 결정하는 동작
을 포함하며,
상기 설정된 횟수는 1회 이상인 것인 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을 초기화하는 동작은,
상기 단어들의 단어 벡터들, 및 상기 단어들에 대응하는 n그램 필획들의 필획 벡터들을, 랜덤 초기화 방식으로 또는 지정된 확률 분포에 따른 초기화 방식으로 초기화하는 동작 - 동일 n그램 필획들은 필획 벡터들 또한 동일함 -
을 포함하는 것인 컴퓨터 구현 시스템. - 제16항에 있어서,
상기 손실 표징 값에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 동작은,
상기 손실 표징 값에 따라 상기 손실 함수에 대응하는 구배를 결정하는 동작; 및
상기 구배에 따라 상기 지정된 단어에 대응하는 상기 n그램 필획들의 필획 벡터들과 상기 문맥 단어의 단어 벡터를 업데이트하는 동작
을 포함한 것인 컴퓨터 구현 시스템. - 제16항에 있어서,
상기 단어들로부터 하나 이상의 단어를 네거티브 샘플 단어로서 선택하는 동작은,
상기 단어들로부터 하나 이상의 단어를 상기 네거티브 샘플 단어로서 랜덤하게 선택하는 동작
을 포함한 것인 컴퓨터 구현 시스템. - 제16항에 있어서,
상기 단어들은 중국어 단어들이고,
상기 단어 벡터들은 상기 중국어 단어들의 단어 벡터들인 것인 컴퓨터 구현 시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710045459.7 | 2017-01-22 | ||
CN201710045459.7A CN108345580B (zh) | 2017-01-22 | 2017-01-22 | 一种词向量处理方法及装置 |
US15/874,725 US10430518B2 (en) | 2017-01-22 | 2018-01-18 | Word vector processing for foreign languages |
US15/874,725 | 2018-01-18 | ||
PCT/US2018/014680 WO2018136870A1 (en) | 2017-01-22 | 2018-01-22 | Word vector processing method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190107033A KR20190107033A (ko) | 2019-09-18 |
KR102117799B1 true KR102117799B1 (ko) | 2020-06-02 |
Family
ID=62906491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197021351A KR102117799B1 (ko) | 2017-01-22 | 2018-01-22 | 단어 벡터 처리 방법 및 장치 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10430518B2 (ko) |
EP (1) | EP3559823A1 (ko) |
JP (1) | JP6742653B2 (ko) |
KR (1) | KR102117799B1 (ko) |
CN (2) | CN108345580B (ko) |
PH (1) | PH12019501675A1 (ko) |
SG (1) | SG11201906524TA (ko) |
TW (1) | TWI685761B (ko) |
WO (1) | WO2018136870A1 (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345580B (zh) | 2017-01-22 | 2020-05-15 | 创新先进技术有限公司 | 一种词向量处理方法及装置 |
CN110119507A (zh) * | 2018-02-05 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 词向量生成方法、装置以及设备 |
CN109271622B (zh) * | 2018-08-08 | 2021-05-14 | 山西大学 | 一种基于频次分布校正的低维词表征学习方法 |
CN110929508B (zh) * | 2018-09-20 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 词向量的生成方法、装置和系统 |
CN110956034B (zh) * | 2018-09-21 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 词语的获取方法及装置、商品搜索方法 |
CN111274793B (zh) * | 2018-11-19 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 一种文本处理方法、装置以及计算设备 |
CN110059155A (zh) * | 2018-12-18 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 文本相似度的计算、智能客服系统的实现方法和装置 |
CN111353016B (zh) * | 2018-12-24 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 文本处理方法及装置 |
CN109657062A (zh) * | 2018-12-24 | 2019-04-19 | 万达信息股份有限公司 | 一种基于大数据技术的电子病历文本解析闭环方法 |
CN109933686B (zh) * | 2019-03-18 | 2023-02-03 | 创新先进技术有限公司 | 歌曲标签预测方法、装置、服务器及存储介质 |
CN110222144B (zh) * | 2019-04-17 | 2023-03-28 | 深圳壹账通智能科技有限公司 | 文本内容提取方法、装置、电子设备及存储介质 |
CA3061432A1 (en) | 2019-04-25 | 2019-07-18 | Alibaba Group Holding Limited | Identifying entities in electronic medical records |
CN110334196B (zh) * | 2019-06-28 | 2023-06-27 | 同济大学 | 基于笔画和自注意力机制的神经网络中文问题生成系统 |
US10909317B2 (en) * | 2019-07-26 | 2021-02-02 | Advanced New Technologies Co., Ltd. | Blockchain-based text similarity detection method, apparatus and electronic device |
CN110619120B (zh) * | 2019-08-12 | 2021-03-02 | 北京航空航天大学 | 语言模型的训练方法及装置 |
CN112487821A (zh) * | 2019-08-22 | 2021-03-12 | 中兴通讯股份有限公司 | 语料向量化处理方法、装置、计算机设备及存储介质 |
CN110765230B (zh) * | 2019-09-03 | 2022-08-09 | 平安科技(深圳)有限公司 | 一种法律文本存储方法、装置、可读存储介质及终端设备 |
CN111221960A (zh) * | 2019-10-28 | 2020-06-02 | 支付宝(杭州)信息技术有限公司 | 文本检测方法、相似度计算方法、模型训练方法及装置 |
US11151982B2 (en) | 2020-03-23 | 2021-10-19 | Sorcero, Inc. | Cross-context natural language model generation |
JP7416665B2 (ja) * | 2020-06-12 | 2024-01-17 | 株式会社日立製作所 | 対話システム、及び対話システムの制御方法 |
EP4044503A1 (en) * | 2021-02-10 | 2022-08-17 | AO Kaspersky Lab | System and method for creating heuristic rules to detect fraudulent emails classified as business email compromise attacks |
RU2763921C1 (ru) * | 2021-02-10 | 2022-01-11 | Акционерное общество "Лаборатория Касперского" | Система и способ создания эвристических правил для обнаружения мошеннических писем, относящихся к категории ВЕС-атак |
CN114997162B (zh) * | 2022-05-26 | 2024-06-14 | 中国工商银行股份有限公司 | 一种训练数据提取方法和装置 |
TWI827409B (zh) * | 2022-12-20 | 2023-12-21 | 綺源碼有限公司 | 自動化組織值域映射方法、電子裝置及電腦可讀媒介 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170200066A1 (en) | 2016-01-13 | 2017-07-13 | Adobe Systems Incorporated | Semantic Natural Language Vector Space |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577135A (en) * | 1994-03-01 | 1996-11-19 | Apple Computer, Inc. | Handwriting signal processing front-end for handwriting recognizers |
CN1061449C (zh) | 1997-11-26 | 2001-01-31 | 张立龙 | 一种四倍键盘 |
CN1187677C (zh) * | 2002-03-18 | 2005-02-02 | 郑方 | 计算机整句汉字局部笔划输入方法 |
CN1203389C (zh) * | 2002-05-24 | 2005-05-25 | 郑方 | 计算机整句汉字起始四笔划输入方法 |
US8392446B2 (en) | 2007-05-31 | 2013-03-05 | Yahoo! Inc. | System and method for providing vector terms related to a search query |
CN101593270B (zh) * | 2008-05-29 | 2012-01-25 | 汉王科技股份有限公司 | 一种手绘形状识别的方法及装置 |
US8175389B2 (en) * | 2009-03-30 | 2012-05-08 | Synaptics Incorporated | Recognizing handwritten words |
US8909514B2 (en) * | 2009-12-15 | 2014-12-09 | Microsoft Corporation | Unsupervised learning using global features, including for log-linear model word segmentation |
KR101252397B1 (ko) | 2011-06-02 | 2013-04-08 | 포항공과대학교 산학협력단 | 웹을 이용한 정보 검색 방법 및 이를 사용하는 음성 대화 방법 |
CN103164865B (zh) * | 2011-12-12 | 2016-01-27 | 北京三星通信技术研究有限公司 | 一种对手写输入进行美化的方法和装置 |
CN102750556A (zh) * | 2012-06-01 | 2012-10-24 | 山东大学 | 一种脱机手写体汉字识别方法 |
CN103970798B (zh) * | 2013-02-04 | 2019-05-28 | 商业对象软件有限公司 | 数据的搜索和匹配 |
CN103390358B (zh) * | 2013-07-03 | 2015-08-19 | 广东小天才科技有限公司 | 对电子设备的字符书写操作进行规范性判断的方法及装置 |
WO2015145981A1 (ja) | 2014-03-28 | 2015-10-01 | 日本電気株式会社 | 多言語文書類似度学習装置、多言語文書類似度判定装置、多言語文書類似度学習方法、多言語文書類似度判定方法、および、記憶媒体 |
US9524440B2 (en) | 2014-04-04 | 2016-12-20 | Myscript | System and method for superimposed handwriting recognition technology |
CN103971097B (zh) * | 2014-05-15 | 2015-05-13 | 武汉睿智视讯科技有限公司 | 一种基于多尺度笔画模型的车牌识别方法与系统 |
KR102396250B1 (ko) | 2015-07-31 | 2022-05-09 | 삼성전자주식회사 | 대역 어휘 결정 장치 및 방법 |
US10387464B2 (en) * | 2015-08-25 | 2019-08-20 | Facebook, Inc. | Predicting labels using a deep-learning model |
CN105183844A (zh) * | 2015-09-06 | 2015-12-23 | 国家基础地理信息中心 | 一种基础地理信息数据中生僻字库实现方法 |
US20170139899A1 (en) * | 2015-11-18 | 2017-05-18 | Le Holdings (Beijing) Co., Ltd. | Keyword extraction method and electronic device |
CN105488031B (zh) * | 2015-12-09 | 2018-10-19 | 北京奇虎科技有限公司 | 一种检测相似短信的方法及装置 |
CN105678339B (zh) * | 2016-01-15 | 2018-10-02 | 合肥工业大学 | 一种具有仿反馈调整机制的脱机手写体汉字认知方法 |
CN105740349B (zh) * | 2016-01-25 | 2019-03-08 | 重庆邮电大学 | 一种结合Doc2vec和卷积神经网络的情感分类方法 |
CN105786782B (zh) * | 2016-03-25 | 2018-10-19 | 北京搜狗信息服务有限公司 | 一种词向量的训练方法和装置 |
CN106095736A (zh) * | 2016-06-07 | 2016-11-09 | 华东师范大学 | 一种领域新词抽取的方法 |
US9594741B1 (en) * | 2016-06-12 | 2017-03-14 | Apple Inc. | Learning new words |
CN106295796B (zh) * | 2016-07-22 | 2018-12-25 | 浙江大学 | 基于深度学习的实体链接方法 |
CN108345580B (zh) | 2017-01-22 | 2020-05-15 | 创新先进技术有限公司 | 一种词向量处理方法及装置 |
-
2017
- 2017-01-22 CN CN201710045459.7A patent/CN108345580B/zh active Active
- 2017-01-22 CN CN202010459596.7A patent/CN111611798B/zh active Active
- 2017-11-10 TW TW106138932A patent/TWI685761B/zh active
-
2018
- 2018-01-18 US US15/874,725 patent/US10430518B2/en active Active
- 2018-01-22 KR KR1020197021351A patent/KR102117799B1/ko active IP Right Grant
- 2018-01-22 JP JP2019539241A patent/JP6742653B2/ja active Active
- 2018-01-22 EP EP18702885.7A patent/EP3559823A1/en not_active Withdrawn
- 2018-01-22 SG SG11201906524TA patent/SG11201906524TA/en unknown
- 2018-01-22 WO PCT/US2018/014680 patent/WO2018136870A1/en unknown
-
2019
- 2019-07-19 PH PH12019501675A patent/PH12019501675A1/en unknown
- 2019-09-30 US US16/587,676 patent/US10878199B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170200066A1 (en) | 2016-01-13 | 2017-07-13 | Adobe Systems Incorporated | Semantic Natural Language Vector Space |
Non-Patent Citations (4)
Title |
---|
D. Ruan et al., The semantic Similarity Relation of Entities Discovery : Using Word Embedding, 9th Int. Conf. on modelling, identification and control pp.845-850 (2017.07.10) |
Jinxing Yu et al., Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components, Proc. of the 2017 conf. on Empirical Methods in NLP, pp.286-291 (2017.01.01) |
K. Chai Sim., A Multimodal Stroke-based Predictive Input for Efficient Chinese Text Entry on Mobile Devices, 2014 IEEE Spoken Language Technology Workship, (2014.12.07.) |
Yanran Li et al., Component-Enhanced Chinese Character Embeddings, Proc. of the 2015 Conf. on Empirical Methods in Natural Language Processing, (2015.01.01.) |
Also Published As
Publication number | Publication date |
---|---|
US10430518B2 (en) | 2019-10-01 |
CN108345580B (zh) | 2020-05-15 |
TW201828105A (zh) | 2018-08-01 |
JP2020507155A (ja) | 2020-03-05 |
US20200134262A1 (en) | 2020-04-30 |
US10878199B2 (en) | 2020-12-29 |
TWI685761B (zh) | 2020-02-21 |
WO2018136870A1 (en) | 2018-07-26 |
CN111611798B (zh) | 2023-05-16 |
PH12019501675A1 (en) | 2020-03-02 |
KR20190107033A (ko) | 2019-09-18 |
EP3559823A1 (en) | 2019-10-30 |
CN111611798A (zh) | 2020-09-01 |
US20180210876A1 (en) | 2018-07-26 |
JP6742653B2 (ja) | 2020-08-19 |
CN108345580A (zh) | 2018-07-31 |
SG11201906524TA (en) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102117799B1 (ko) | 단어 벡터 처리 방법 및 장치 | |
US11030411B2 (en) | Methods, apparatuses, and devices for generating word vectors | |
US11501066B2 (en) | System and method for unsupervised text normalization using distributed representation of words | |
CN108874765B (zh) | 词向量处理方法及装置 | |
CN108510983B (zh) | 用于序列标注的自动单元选择和目标分解的系统和方法 | |
KR101715118B1 (ko) | 문서 감정 분류용 딥러닝 인코딩 장치 및 방법. | |
US11276394B2 (en) | Method for re-aligning corpus and improving the consistency | |
TWI686713B (zh) | 詞向量產生方法、裝置以及設備 | |
CN107423269B (zh) | 词向量处理方法及装置 | |
US20180246856A1 (en) | Analysis method and analysis device | |
CN107247704B (zh) | 词向量处理方法、装置以及电子设备 | |
CN107562716A (zh) | 词向量处理方法、装置以及电子设备 | |
CN107562715B (zh) | 词向量处理方法、装置以及电子设备 | |
CN111091001B (zh) | 一种词语的词向量的生成方法、装置及设备 | |
CN107577658B (zh) | 词向量处理方法、装置以及电子设备 | |
CN107844472B (zh) | 词向量处理方法、装置以及电子设备 | |
CN107577659A (zh) | 词向量处理方法、装置以及电子设备 | |
CN111159339A (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 |