WO2019149135A1 - 词向量生成方法、装置以及设备 - Google Patents

词向量生成方法、装置以及设备 Download PDF

Info

Publication number
WO2019149135A1
WO2019149135A1 PCT/CN2019/073005 CN2019073005W WO2019149135A1 WO 2019149135 A1 WO2019149135 A1 WO 2019149135A1 CN 2019073005 W CN2019073005 W CN 2019073005W WO 2019149135 A1 WO2019149135 A1 WO 2019149135A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
vector
words
neural network
convolutional neural
Prior art date
Application number
PCT/CN2019/073005
Other languages
English (en)
French (fr)
Inventor
曹绍升
周俊
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Priority to SG11202004401UA priority Critical patent/SG11202004401UA/en
Publication of WO2019149135A1 publication Critical patent/WO2019149135A1/zh
Priority to US16/883,184 priority patent/US11030411B2/en

Links

Images

Classifications

    • 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/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Definitions

  • the present specification relates to the field of computer software technologies, and in particular, to a word vector generation method, apparatus and device.
  • a word vector is a vector that maps a word to a fixed dimension that represents the semantic information of the word.
  • common algorithms for generating word vectors include, for example, Google's word vector algorithm, Microsoft's deep neural network algorithm, and the like.
  • the embodiment of the present specification provides a word vector generation method, device and device for solving the following technical problem: a more accurate word vector generation scheme is needed.
  • a word vector of each word is generated based on the feature vector of each word and the convolved neural network after training.
  • the training module trains the convolutional neural network according to the feature vector of each word and the feature vector of the context word of each word in the corpus;
  • Step 1 establishing a vocabulary composed of words obtained by corpus segmentation, the words do not include words appearing in the corpus less than a set number of times; jump step 2;
  • Step 2 determining the total number of n-ary characters corresponding to each word, the same n-ary characters are counted only once, the n-ary characters represent consecutive n characters of their corresponding words; jump step 3;
  • Step 3 According to each n-character corresponding to each word, respectively establish a feature vector whose dimensions are the total number, and each dimension of the feature vector corresponds to a different n-ary character, and each dimension The value of the corresponding n-ary character corresponds to the word corresponding to the feature vector; jump step 4;
  • Step 4 traversing the corpus after the word segmentation, performing step 5 on the current word traversed, and performing step 6 if the traversal is completed, otherwise continuing the traversal;
  • Step 5 Centering on the current word, sliding to more than k words on both sides to create a window, using words other than the current word in the window as context words, and inputting feature vectors of all context words into the convolutional neural network convolution
  • the layer performs convolution calculation, and the result of the convolution calculation is input into the pooling layer of the convolutional neural network for pooling calculation to obtain a first vector; the current word and the feature vector of the negative sample word selected in the corpus are input.
  • Computing the fully connected layer of the convolutional neural network to obtain a second vector and a third vector respectively; updating the location according to the first vector, the second vector, the third vector, and a specified loss function The parameters of the convolutional neural network;
  • the convolution calculation is performed as follows:
  • the pooling calculation is performed according to the following formula:
  • the loss function includes:
  • x i represents the eigenvector of the i-th context word
  • x i:i+ ⁇ -1 represents a vector obtained by splicing the feature vectors of the i-i+i+ ⁇ -1 context words
  • y i represents the volume passing through the volume
  • the i-th element of the vector obtained by the product ⁇ represents the weight parameter of the convolutional layer
  • represents the offset parameter of the convolutional layer
  • represents the excitation function
  • max represents the maximum function
  • average represents the averaging function
  • c (j) represents the jth element of the first vector obtained after the pooling calculation
  • t represents the number of context words
  • c represents the first vector
  • w represents the second vector
  • w′ m represents the mth
  • represents the weight parameter of the convolution layer
  • represents the offset parameter of the convolution layer
  • represents the offset parameter
  • step 6 the feature vectors of the words are respectively input into the fully connected layer of the trained convolutional neural network to calculate, and the corresponding word vector is obtained.
  • At least one processor and,
  • the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:
  • a word vector of each word is generated based on the feature vector of each word and the convolved neural network after training.
  • the convolutional neural network can describe the overall semantic information of the word context by convolution calculation and pooling calculation, and extract more context semantic information, and N-ary characters can express words more finely, thus helping to generate word vectors more accurately.
  • FIG. 1 is a schematic diagram of an overall architecture involved in an implementation scenario of the present specification
  • FIG. 2 is a schematic flowchart diagram of a method for generating a word vector according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a feature vector of an English word in an actual application scenario provided by an embodiment of the present disclosure
  • FIG. 4 is a schematic structural diagram of a convolutional neural network in an actual application scenario provided by an embodiment of the present disclosure
  • FIG. 5 is a schematic flowchart diagram of another method for generating a word vector according to an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of a word vector generating apparatus corresponding to FIG. 2 according to an embodiment of the present disclosure.
  • Embodiments of the present specification provide a word vector generation method, apparatus, and device.
  • FIG. 1 is a schematic diagram of an overall architecture involved in an implementation scenario of the present specification.
  • a server that trains a convolutional neural network to generate a word vector is mainly involved.
  • the feature vector of each word can be established based on the n-ary character, and the convolutional neural network can be trained using the context relationship of the feature vector and the word.
  • the feature vector can be established by the server or another device.
  • the scheme of this specification applies to languages composed of letters, such as English, French, German, Spanish, etc. It also applies to languages composed of non-letter elements but can be conveniently mapped to letters, such as Chinese (can be mapped to pinyin letters) ), Japanese (can be mapped to Roman letters), etc.
  • languages composed of letters such as English, French, German, Spanish, etc.
  • languages composed of non-letter elements can be conveniently mapped to letters, such as Chinese (can be mapped to pinyin letters) ), Japanese (can be mapped to Roman letters), etc.
  • Chinese can be mapped to pinyin letters
  • Japanese can be mapped to Roman letters
  • FIG. 2 is a schematic flowchart diagram of a method for generating a word vector according to an embodiment of the present disclosure.
  • the execution body of the process includes at least one of the following devices: a personal computer, a large and medium-sized computer, a computer cluster, a mobile phone, a tablet computer, a smart wearable device, a car machine, and the like.
  • the process in Figure 2 can include the following steps:
  • the words may specifically be: at least part of the words that appear at least once in the corpus.
  • the words can be saved in the vocabulary, and the words can be read from the vocabulary when needed.
  • the word can be screened out so that Not included in the words.
  • the words are specifically: part of the words that appear at least once in the corpus.
  • a character of a word may include a character constituting the word, or other characters mapped by characters constituting the word. Taking the word “boy” as an example, “b", “o", and “y” are characters constituting the word "boy”.
  • mark characters can be added to the original word according to certain rules, and these mark characters can also be regarded as characters of the word, for example, can be added at the beginning and/or the end position of the original word. Label the characters. After the label, the word “boy” is denoted as "#boy#", and the two "#” can also be regarded as the characters of the word "boy”.
  • n is an integer not less than 1.
  • 3-character characters include “#bo” (1st to 3rd characters), “boy” (2nd to 4th characters), and “oy#” (3rd to 5th characters).
  • the four-character characters include “#boy” (1st to 4th characters) and "boy# (2nd to 5th characters)".
  • the value of n may be dynamically adjustable.
  • the value of n can only take one (for example, only the 3-ary character corresponding to the word is determined), or multiple (for example, determining the word) Corresponding 3 yuan characters and 4 yuan characters, etc.).
  • n-ary characters can be represented based on a specified code (eg, numbers, etc.). For example, different characters or different n-ary characters can be represented by a different code or code string.
  • the feature vector of the word may be passed through the values of the respective dimensions to indicate the n-ary character corresponding to the word. More precisely, the feature vector of the word can also be used to indicate the order of the n-ary characters corresponding to the word.
  • S206 Train the convolutional neural network according to the feature vector of each word and the feature vector of the context word of each word in the corpus.
  • the convolutional layer of the convolutional neural network is used to extract information of local neurons
  • the pooling layer of the convolutional neural network is used to synthesize the local information of the convolutional layer to obtain global information.
  • the local information may refer to the overall semantics of the partial context words of the current word (each word may be the current word respectively)
  • the global information may refer to the overall semantics of all the context words of the current word.
  • S208 Generate a word vector of each word according to the feature vector of each word and the convolutional neural network after training.
  • the parameters include, for example, weight parameters and offset parameters.
  • a word vector can be obtained.
  • the convolutional neural network can describe the overall semantic information of the context of the word through convolution calculation and pooling calculation, extract more contextual semantic information, and the n-character can express the word more finely. , therefore, helps to generate word vectors more accurately.
  • the embodiments of the present specification further provide some specific implementations of the method, and an extended solution, which will be described below.
  • the eigenvectors of the words are established according to the n-ary characters corresponding to the words, which may specifically include:
  • the embodiment of the present specification provides a schematic diagram of a feature vector of an English word in a practical application scenario, as shown in FIG. 3 .
  • the English word is "boy", and the start position and the end position are respectively added with an annotated character "#”, and f represents a process of constructing a feature vector according to a word, such as a column vector, according to each of "boy” Meta-character creation, you can see that there are 3 elements in the feature vector with a value of 1, indicating the 3-character characters "#bo", “boy”, “oy#", and other elements have a value of 0, indicating "boy” does not correspond to other 3 dollar characters.
  • the goal when training the convolutional neural network, the goal is to make the feature vector of the current word and the context word reasonably higher after being inferred by the trained convolutional neural network.
  • the context word is regarded as a positive example word.
  • one or more negative sample words of the current word can also be selected according to a certain rule to participate in the training, which is beneficial to the training to quickly converge and obtain more accurate Training results.
  • the target may further include that the similarity of the current word and the feature vector of the negative sample word can be relatively low after being inferred by the trained convolutional neural network.
  • Negative sample words can be randomly selected in the corpus, or selected in non-context words, and so on. This specification does not limit the specific way of calculating the similarity. For example, the similarity can be calculated based on the angle cosine operation of the vector, the similarity can be calculated based on the square sum operation of the vector, and the like.
  • the convolutional neural network is trained according to the feature vector of the words and the feature vector of the context words of the words in the corpus. Specifically, it may include:
  • the convolutional neural network is trained according to the feature vectors of the words and the feature words of the words in the corpus and the feature vectors of the negative sample words.
  • the training process of the convolutional neural network may be iterative, and a relatively simple method is to traverse the corpus after the word segmentation, and perform an iteration every time one word in the above words is traversed. Until the traversal is completed, it can be considered that the convolutional neural network has been trained using the corpus.
  • the training of the convolutional neural network according to the feature vector of the words and the context words of the words in the corpus and the feature vectors of the negative sample words may include:
  • FIG. 4 is a schematic structural diagram of a convolutional neural network in an actual application scenario provided by an embodiment of the present disclosure.
  • the convolutional neural network of Figure 4 mainly includes a convolutional layer, a pooled layer, a fully connected layer, and a Softmax layer.
  • the feature vector of the context word is processed by the convolution layer and the pooling layer to extract the semantic meaning information of the context word as a whole, and the feature vector of the current word and its negative sample words can be
  • the fully connected layer is processed. The details are explained below.
  • a sliding window is used to determine a context word.
  • the center of the sliding window is the current word traversed, and the words other than the current word in the sliding window are context words.
  • the feature vector of all context words is input into the convolution layer, and then the convolution calculation can be performed according to the following formula:
  • x i represents the eigenvector of the i-th context word (here, x i is a column vector), and x i:i+ ⁇ -1 represents the splicing of the feature vectors of the i-i+i+ ⁇ -1 context words.
  • the vector, y i represents the i-th element of the vector (convolution calculation result) obtained by the convolution calculation, ⁇ represents the weight parameter of the convolutional layer, ⁇ represents the offset parameter of the convolutional layer, and ⁇ represents the excitation function, For example, the Sigmoid function, then
  • the pooling layer may be input for pooling calculation, and the maximum pooling calculation or the average pooling calculation may be used.
  • max represents the maximum function
  • average represents the averaging function
  • c(j) represents the jth element of the first vector obtained after the pooling calculation
  • t represents the number of context words.
  • Figure 4 also exemplarily shows a current word “liquid” in a corpus, six context words “as”, “the”, “vegan”, “gelatin”, “the current word” in the corpus. Substitute”, “absorbs”, and the two negative sample words “year” and "make” of the current word in the corpus.
  • its feature vector can be input into the fully connected layer, for example, according to the following formula:
  • w represents the second vector output by the fully connected layer after processing the feature vector of the current word.
  • q represents the feature vector of the current word
  • represents the bias parameter of the fully connected layer.
  • the feature vector may be input into the fully connected layer, and processed according to the current word, to obtain the third vector, and the third corresponding to the m negative sample word.
  • the vector is represented as w' m .
  • updating the parameters of the convolutional neural network according to the first vector, the second vector, the third vector, and the specified loss function may include, for example, calculating the second vector a first similarity with the first vector, and a second similarity of the third vector to the first vector; according to the first similarity, the second similarity, and a specified loss function Updating the parameters of the convolutional neural network.
  • the loss function can be, for example:
  • c denotes the first vector
  • w denotes the second vector
  • w′ m denotes the third vector corresponding to the mth negative sample word
  • denotes a weight parameter of the convolution layer
  • denotes a convolution Layer offset parameter
  • represents the offset parameter of the fully connected layer
  • represents the hyperparameter
  • s represents the similarity calculation function
  • represents the number of negative sample words.
  • the term of the similarity between the first vector and the third vector may be removed correspondingly in the loss function employed.
  • the feature vector can be inferred to generate a word vector.
  • the generating the word vector of each word according to the feature vector of each word and the trained convolutional neural network may specifically include:
  • the feature vectors of the words are respectively input into the fully connected layer of the trained convolutional neural network to be calculated, and the vector output after the calculation is obtained as a corresponding word vector.
  • FIG. 5 is a schematic flow chart of the method for generating another word vector.
  • the process in Figure 5 can include the following steps:
  • Step 1 establishing a vocabulary composed of words obtained by corpus segmentation, the words do not include words appearing in the corpus less than a set number of times; jump step 2;
  • Step 2 determining the total number of n-ary characters corresponding to each word, the same n-ary characters are counted only once, the n-ary characters represent consecutive n characters of their corresponding words; jump step 3;
  • Step 3 According to each n-character corresponding to each word, respectively establish a feature vector whose dimensions are the total number, and each dimension of the feature vector corresponds to a different n-ary character, and each dimension The value of the corresponding n-ary character corresponds to the word corresponding to the feature vector; jump step 4;
  • Step 4 traversing the corpus after the word segmentation, performing step 5 on the current word traversed, and performing step 6 if the traversal is completed, otherwise continuing the traversal;
  • Step 5 Centering on the current word, sliding to more than k words on both sides to create a window, using words other than the current word in the window as context words, and inputting feature vectors of all context words into the convolutional neural network convolution a layer, performing a convolution calculation, and inputting a convolution calculation result into a pooling layer of the convolutional neural network for pooling calculation to obtain a first vector; and extracting a current word and a feature vector of the negative sample word selected in the corpus Inputting the fully connected layer of the convolutional neural network to calculate, respectively obtaining a second vector and a third vector; updating according to the first vector, the second vector, the third vector, and a specified loss function The parameters of the convolutional neural network;
  • the convolution calculation is performed as follows:
  • the pooling calculation is performed according to the following formula:
  • the loss function includes:
  • x i represents the eigenvector of the i-th context word
  • x i:i+ ⁇ -1 represents a vector obtained by splicing the feature vectors of the i-i+i+ ⁇ -1 context words
  • y i represents the volume passing through the volume
  • the i-th element of the vector obtained by the product ⁇ represents the weight parameter of the convolutional layer
  • represents the offset parameter of the convolutional layer
  • represents the excitation function
  • max represents the maximum function
  • average represents the averaging function
  • c (j) represents the jth element of the first vector obtained after the pooling calculation
  • t represents the number of context words
  • c represents the first vector
  • w represents the second vector
  • w′ m represents the mth
  • represents the weight parameter of the convolution layer
  • represents the offset parameter of the convolution layer
  • represents the offset parameter
  • step 6 the feature vectors of the words are respectively input into the fully connected layer of the trained convolutional neural network to calculate, and the corresponding word vector is obtained.
  • the steps in the other word vector generation method may be performed by the same or different modules, which is not specifically limited in this specification.
  • FIG. 6 is a schematic structural diagram of a word vector generating apparatus corresponding to FIG. 2 according to an embodiment of the present disclosure.
  • the apparatus may be located in the execution body of the process in FIG. 2, and includes:
  • the obtaining module 601 is configured to obtain each word obtained by the corpus segmentation
  • the establishing module 602 is configured to establish a feature vector of each word according to each n-character corresponding to each word, where the n-ary character represents consecutive n characters of the corresponding word;
  • the training module 603 trains the convolutional neural network according to the feature vector of each word and the feature vector of the context word of each word in the corpus;
  • the generating module 604 generates a word vector of each word according to the feature vector of each word and the trained convolutional neural network.
  • the characters of the word include each character constituting the word, and an annotated character added to a start position and/or an end position of the word.
  • the establishing module 602 is configured to establish a feature vector of each word according to each n-character corresponding to each word, and specifically includes:
  • the establishing module 602 determines a total number of different n-ary characters in each n-ary character corresponding to each word;
  • a feature vector for determining a dimension according to the total quantity is respectively established for the words, and the feature vector indicates each n-ary character corresponding to the corresponding word by the value of each dimension.
  • the training module 603 performs training on the convolutional neural network according to the feature vector of each word and the feature vector of the context word of each word in the corpus, and specifically includes:
  • the training module 603 trains the convolutional neural network according to the feature vectors of the words and the feature words of the words in the corpus and the feature vectors of the negative sample words.
  • the training module 603 trains the convolutional neural network according to the feature vector of each word and the context word of the word in the corpus and the feature vector of the negative sample word, specifically including :
  • the training module 603 traverses the corpus after the word segmentation, and executes the traversed current word:
  • Updating parameters of the convolutional neural network based on the first vector, the second vector, the third vector, and a specified loss function.
  • the training module 603 performs convolution calculation, and specifically includes:
  • the training module 603 performs convolution calculation according to the following formula:
  • x i represents the eigenvector of the i-th context word
  • x i:i+ ⁇ -1 represents a vector obtained by splicing the feature vectors of the i-i+i+ ⁇ -1 context words
  • y i represents the volume passing through the volume
  • represents the weight parameter of the convolutional layer
  • represents the offset parameter of the convolutional layer
  • represents the excitation function.
  • the training module 603 performs a pooling calculation, and specifically includes:
  • the training module 603 performs a maximized pooling calculation or an average pooling calculation.
  • the training module 603 updates the parameters of the convolutional neural network according to the first vector, the second vector, the third vector, and the specified loss function, and specifically includes:
  • the training module 603 calculates a first similarity between the second vector and the first vector, and a second similarity between the third vector and the first vector;
  • the parameters of the convolutional neural network are updated based on the first similarity, the second similarity, and a specified loss function.
  • the loss function specifically includes:
  • c denotes the first vector
  • w denotes the second vector
  • w′ m denotes the third vector corresponding to the mth negative sample word
  • denotes a weight parameter of the convolution layer
  • denotes a convolution Layer offset parameter
  • represents the offset parameter of the fully connected layer
  • represents the hyperparameter
  • s represents the similarity calculation function
  • represents the number of negative sample words.
  • the generating module 604 generates a word vector of each word according to the feature vector of each word and the trained convolutional neural network, and specifically includes:
  • the generating module 604 inputs the feature vectors of the words into the fully connected layer of the trained convolutional neural network to calculate, and obtains the calculated output vector as the corresponding word vector.
  • the embodiment of the present specification further provides a corresponding word vector generating device, including:
  • At least one processor and,
  • the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:
  • a word vector of each word is generated based on the feature vector of each word and the convolved neural network after training.
  • the embodiment of the present specification further provides a corresponding non-volatile computer storage medium, where computer executable instructions are stored, and the computer executable instructions are set as:
  • a word vector of each word is generated based on the feature vector of each word and the convolved neural network after training.
  • the device, the device, the non-volatile computer storage medium and the method provided by the embodiments of the present specification are corresponding, and therefore, the device, the device, and the non-volatile computer storage medium also have similar beneficial technical effects as the corresponding method, since The beneficial technical effects of the method are described in detail, and therefore, the beneficial technical effects of the corresponding device, device, and non-volatile computer storage medium are not described herein.
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • HDL Hardware Description Language
  • the controller can be implemented in any suitable manner, for example, the controller can take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (eg, software or firmware) executable by the (micro)processor.
  • computer readable program code eg, software or firmware
  • examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, The Microchip PIC18F26K20 and the Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory's control logic.
  • the controller can be logically programmed by means of logic gates, switches, ASICs, programmable logic controllers, and embedding.
  • Such a controller can therefore be considered a hardware component, and the means for implementing various functions included therein can also be considered as a structure within the hardware component.
  • a device for implementing various functions can be considered as a software module that can be both a method of implementation and a structure within a hardware component.
  • the system, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
  • a typical implementation device is a computer.
  • the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media including both permanent and non-persistent, removable and non-removable media, can be stored by any method or technology.
  • the information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • computer readable media does not include temporary storage of computer readable media, such as modulated data signals and carrier waves.
  • embodiments of the present description can be provided as a method, system, or computer program product. Accordingly, the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment in combination of software and hardware. Moreover, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.

Landscapes

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

Abstract

一种词向量生成方法、装置以及设备。所述方法包括:获取对语料分词得到的各词(S202),基于n元字符建立各词的特征向量,根据各词的特征向量,以及各词在语料中的上下文词的特征向量,对卷积神经网络进行训练(S206),根据各词的特征向量和训练后的卷积神经网络,生成各词的词向量(S208)。

Description

词向量生成方法、装置以及设备
相关申请的交叉引用
本专利申请要求于2018年2月5日提交的、申请号为201810111369.8、发明名称为“词向量生成方法、装置以及设备”的中国专利申请的优先权,该申请的全文以引用的方式并入本文中。
技术领域
本说明书涉及计算机软件技术领域,尤其涉及词向量生成方法、装置以及设备。
背景技术
如今的自然语言处理的解决方案,大都采用基于神经网络的架构,而在这种架构下一个重要的基础技术就是词向量。词向量是将词映射到一个固定维度的向量,该向量表征了该词的语义信息。
在现有技术中,常见的用于生成词向量的算法比如包括:谷歌公司的词向量算法、微软公司的深度神经网络算法等。
基于现有技术,需要一种更准确的词向量生成方案。
发明内容
本说明书实施例提供词向量生成方法、装置以及设备,用以解决如下技术问题:需要一种更准确的词向量生成方案。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种词向量生成方法,包括:
获取对语料分词得到的各词;
根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
本说明书实施例提供的一种词向量生成装置,包括:
获取模块,获取对语料分词得到的各词;
建立模块,根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
训练模块,根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
生成模块,根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
本说明书实施例提供的另一种词向量生成方法,包括:
步骤1,建立通过对语料分词得到的各词构成的词汇表,所述各词不包括在所述语料中出现次数少于设定次数的词;跳转步骤2;
步骤2,确定各词对应的各n元字符的总数量,相同的n元字符只计一次,所述n元字符表征其对应的词的连续n个字符;跳转步骤3;
步骤3,根据所述各词对应的各n元字符,为各词分别建立维度为所述总数量的特征向量,所述特征向量的每维分别对应一个不同的n元字符,所述每维的取值表明其对应的n元字符是否对应于所述特征向量对应的词;跳转步骤4;
步骤4,遍历分词后的所述语料,对遍历到的当前词执行步骤5,若遍历完成则执行步骤6,否则继续遍历;
步骤5,以当前词为中心,向两侧分别滑动至多k个词建立窗口,将窗口中除当前词以外的词作为上下文词,并将所有上下文词的特征向量输入卷积神经网络的卷积层进行卷积计算,卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;将当前词以及在所述语料中选择的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,分别得到第二向量和第三向量;根据所述第一向量、所述第二向量、所 述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数;
所述卷积计算按照如下公式进行:
Figure PCTCN2019073005-appb-000001
Figure PCTCN2019073005-appb-000002
所述池化计算按照如下公式进行:
Figure PCTCN2019073005-appb-000003
或者
Figure PCTCN2019073005-appb-000004
所述损失函数包括:
Figure PCTCN2019073005-appb-000005
其中,x i表示第i个上下文词的特征向量,x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数,max表示求最大值函数,average表示求平均值函数,c(j)表示池化计算后得到的所述第一向量的第j个元素,t表示上下文词的数量,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
Figure PCTCN2019073005-appb-000006
表示全连接层的权重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量;
步骤6,将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,得到对应的词向量。
本说明书实施例提供的一种词向量生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取对语料分词得到的各词;
根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:卷积神经网络可以通过卷积计算和池化计算,对词的上下文整体语义信息进行刻画,提取更多的上下文语义信息,而且n元字符能够更精细地对词进行表达,因此,有助于更准确地生成词向量。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图;
图2为本说明书实施例提供的一种词向量生成方法的流程示意图;
图3为本说明书实施例提供的实际应用场景下,一个英文词的特征向量示意图;
图4为本说明书实施例提供的实际应用场景下,一种卷积神经网络的结构示意图;
图5为本说明书实施例提供的另一种词向量生成方法的流程示意图;
图6为本说明书实施例提供的对应于图2的一种词向量生成装置的结构示意图。
具体实施方式
本说明书实施例提供词向量生成方法、装置以及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属 于本申请保护的范围。
图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图。该整体架构中,主要涉及训练卷积神经网络用以生成词向量的服务器。可以基于n元字符建立各词的特征向量,并利用特征向量和词的上下文关系训练卷积神经网络。其中,特征向量可以由该服务器或者另一设备来建立。
本说明书的方案适用于由字母构成的语言,比如英文、法文、德文、西班牙文等,也适用于由非字母元素构成但是能够便利地映射为字母的语言,比如中文(可以映射为拼音字母)、日文(可以映射为罗马字母)等。为了便于描述,以下各实施例主要针对英文的场景,对本说明书的方案进行说明。
图2为本说明书实施例提供的一种词向量生成方法的流程示意图。从设备角度而言,该流程的执行主体比如包括以下至少一种设备:个人计算机、大中型计算机、计算机集群、手机、平板电脑、智能可穿戴设备、车机等。
图2中的流程可以包括以下步骤:
S202:获取对语料分词得到的各词。
在本说明书实施例中,所述各词具体可以是:语料中至少出现过一次的词中的至少部分词。为了便于后续处理,可以将各词保存在词汇表中,需要使用时从词汇表中读取词即可。
需要说明的是,考虑到若某词在语料中出现的次数太少,则后续处理时相应的迭代次数也少,训练结果可信度相对低,因此,可以将这种词筛除,使其不包含在所述各词中。在这种情况下,所述各词具体是:语料中至少出现过一次的词中的部分词。
S204:根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符。
在本说明书实施例中,词的字符可以包括构成该词的字符,或者构成该词的字符所映射的其他字符。以词“boy”为例,“b”、“o”、“y”均为构成词“boy”的字符。
为了表现词序,可以按照一定的规则在原始的词中添加一些标记字符,可以将这些标记字符也视为词的字符,比如,可以在原始的词的起始位置和/或结束位置等位置添加标注字符,在标注后,词“boy”比如记作“#boy#”,可以将这两个“#”也视为词“boy”的字符。
进一步地,n为不小于1的整数。以“#boy#”为例,其3元字符包括“#bo”(第1~3个字符)、“boy”(第2~4个字符)、“oy#”(第3~5个字符),其4元字符包括“#boy”(第1~4个字符)、“boy#(第2~5个字符)”。
在本说明书实施例中,n的取值可以是动态可调的。对于同一个词,在确定该词对应的n元字符时,n的取值可以只取1个(比如,只确定该词对应的3元字符),也可以取多个(比如,确定该词对应的3元字符和4元字符等)。
为了便于计算机处理,n元字符可以基于指定的代码(比如,数字等)进行表示。比如,可以将不同的字符或者不同的n元字符分别用一个不同的代码或者代码串表示。
在本说明书实施例中,可以使词的特征向量通过各维的取值,指示该词对应的n元字符。更精确地,还可以使词的特征向量指示该词对应的n元字符的顺序。
S206:根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练。
在本说明书实施例中,卷积神经网络的卷积层用于提取局部神经元的信息,卷积神经网络的池化层用于综合卷积层各个局部信息进而得到全局信息。具体到本说明书的场景,局部信息可以指当前词(各词可以分别作为当前词)的部分上下文词的整体语义,全局信息可以指当前词的全部上下文词的整体语义。
S208:根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
通过训练卷积神经网络,能够为卷积神经网络确定合理的参数,使得卷积神经网络能够较为准确地刻画上下文词的整体语义,以及对应的当前词的语义。所述参数比如包括权重参数和偏置参数等。
利用训练后的卷积神经网络对特征向量进行推理,能够获得词向量。
通过图2的方法,卷积神经网络可以通过卷积计算和池化计算,对词的上下文整体语义信息进行刻画,提取更多的上下文语义信息,而且n元字符能够更精细地对词进行表达,因此,有助于更准确地生成词向量。
基于图2的方法,本说明书实施例还提供了该方法的一些具体实施方案,以及扩展方案,下面进行说明。
在本说明书实施例中,对于步骤S204,所述根据所述各词对应的各n元字符,建立 所述各词的特征向量,具体可以包括:
确定所述各词对应的各n元字符中不同n元字符的总数量;分别为所述各词建立根据所述总数量确定维度的特征向量,所述特征向量通过各维的取值指示了其对应的词所对应的各n元字符。
例如,对各词对应的全部n元字符逐一进行编号,编号从0开始,依次加1,相应的n元字符编号相同,假定总数量为N c,则最后一个n元字符的编号为N c-1。分别为各词建立一个维度为N c特征向量,具体地,假定n=3,某词对应的全部3元字符编号分别为2、34、127,则为其建立的特征向量中第2、34、127个元素可以为1,其余元素为0。
更直观地,基于上例,本说明书实施例提供实际应用场景下,一个英文词的特征向量示意图,如图3所示。该英文词为“boy”,起始位置和结束位置分别添加有一个标注字符“#”,f表示根据词建立特征向量的处理过程,特征向量比如是一个列向量,根据“boy”的各3元字符建立,可以看到,特征向量中有3个元素的取值为1,分别指示了3元字符“#bo”、“boy”、“oy#”,其他元素的取值为0,表示“boy”未对应于其他3元字符。
在本说明书实施例中,在对卷积神经网络进行训练时,目标是使得当前词与上下文词的特征向量在经过训练后的卷积神经网络推理后,相似度能够相对变高。
进一步地,将上下文词视为正样例词,作为对照,还可以按照一定的规则选择当前词的一个或者多个负样例词也参与训练,如此有利于训练快速收敛以及获得更为准确的训练结果。这种情况下,所述目标还可以包括使得当前词与负样例词的特征向量在经过训练后的卷积神经网络推理后,相似度能够相对变低。负样例词比如可以在语料中随机选择得到,或者在非上下文词中选择得到,等等。本说明书对计算相似度的具体方式并不做限定,比如,可以基于向量的夹角余弦运算计算相似度,可以基于向量的平方和运算计算相似度,等等。
根据上一段的分析,对于步骤S206,所述根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练。具体可以包括:
根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练。
在本说明书实施例中,卷积神经网络的训练过程可以是迭代进行的,比较简单的一 种方式是对分词后的语料进行遍历,每遍历到上述各词中的一个词即进行一次迭代,直到遍历完毕,可以视为已经利用该语料训练过卷积神经网络了。
具体地,所述根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练,可以包括:
对分词后的所述语料进行遍历,对遍历到的当前词执行(执行内容即为一次迭代过程):
确定当前词在分词后的所述语料中的一个或多个上下文词以及负样例词;将当前词的上下文词的特征向量输入卷积神经网络的卷积层进行卷积计算;将卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;将当前词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第二向量,以及将当前词的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第三向量;根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数。
更直观地,结合图4进行说明。图4为本说明书实施例提供的实际应用场景下,一种卷积神经网络的结构示意图。
图4的卷积神经网络主要包括卷积层、池化层、全连接层,以及Softmax层。在训练卷积神经网络的过程中,上下文词的特征向量由卷积层和池化层进行处理,以提取上下文词整体的词义信息,而当前词及其负样例词的特征向量则可以由全连接层进行处理。下面分别详细说明。
在本说明书实施例中,假定采用滑动窗口来确定上下文词,滑动窗口的中心为遍历到的当前词,滑动窗口中除当前词以外的其他词为上下文词。将全部上下文词的特征向量输入卷积层,进而可以按照如下公式,进行卷积计算:
Figure PCTCN2019073005-appb-000007
Figure PCTCN2019073005-appb-000008
其中,x i表示第i个上下文词的特征向量(这里假定x i是列向量),x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量(卷积计算结果)的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数,比如,Sigmoid函数,则
Figure PCTCN2019073005-appb-000009
进一步地,得到卷积计算结果后,可以输入池化层进行池化计算,具体可以采用最 大化池化计算或者平均池化计算等。
若采用最大化池化计算,比如采用以下公式:
Figure PCTCN2019073005-appb-000010
若采用平均池化计算,比如采用以下公式:
Figure PCTCN2019073005-appb-000011
其中,max表示求最大值函数,average表示求平均值函数,c(j)表示池化计算后得到的所述第一向量的第j个元素,t表示上下文词的数量。
图4还示例性地示出了某语料中的某个当前词“liquid”、该当前词在该语料中的6个上下文词“as”、“the”、“vegan”、“gelatin”、“substitute”、“absorbs”,以及该当前词在该语料中的两个负样例词“year”、“make”。图4中假定基于n元字符建立的特征向量均为N c维,θ=3,表示卷积窗口的长度,则卷积计算时拼接得到的向量的维度为θ·N c=3·N c维。
对于当前词,其特征向量可以输入全连接层,比如按照以下公式进行计算:
Figure PCTCN2019073005-appb-000012
其中,w表示全连接层对当前词的特征向量处理后输出的所述第二向量,
Figure PCTCN2019073005-appb-000013
表示全连接层的权重参数,q表示当前词的特征向量,τ表示全连接层的偏置参数。
类似地,对于每个负样例词,其特征向量可以分别输入全连接层,参照当前词的方式进行处理,得到所述第三向量,将第m个负样例词对应的所述第三向量表示为w′ m
进一步地,所述根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数,比如可以包括:计算所述第二向量与所述第一向量的第一相似度,以及所述第三向量与所述第一向量的第二相似度;根据所述第一相似度、所述第二相似度,以及指定的损失函数,更新所述卷积神经网络的参数。
列举一种损失函数作为示例。所述损失函数比如可以是:
Figure PCTCN2019073005-appb-000014
其中,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
Figure PCTCN2019073005-appb-000015
表示全连接层的权 重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量。
在实际应用中,若未采用负样例词,则采用的损失函数中可以相应地去掉计算第一向量与第三向量的相似度的项。
在本说明书实施例中,在卷积神经网络训练后,可以通过对特征向量进行推理,以生成词向量。具体地,对于步骤S208,所述根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量,具体可以包括:
将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,获得计算后输出的向量,作为对应的词向量。
基于同样的思路,本说明书实施例提供了另一种词向量生成方法,其为图2中的词向量生成方法示例性的一种具体实施方案。图5为该另一种词向量生成方法的流程示意图。
图5中的流程可以包括以下步骤:
步骤1,建立通过对语料分词得到的各词构成的词汇表,所述各词不包括在所述语料中出现次数少于设定次数的词;跳转步骤2;
步骤2,确定各词对应的各n元字符的总数量,相同的n元字符只计一次,所述n元字符表征其对应的词的连续n个字符;跳转步骤3;
步骤3,根据所述各词对应的各n元字符,为各词分别建立维度为所述总数量的特征向量,所述特征向量的每维分别对应一个不同的n元字符,所述每维的取值表明其对应的n元字符是否对应于所述特征向量对应的词;跳转步骤4;
步骤4,遍历分词后的所述语料,对遍历到的当前词执行步骤5,若遍历完成则执行步骤6,否则继续遍历;
步骤5,以当前词为中心,向两侧分别滑动至多k个词建立窗口,将窗口中除当前词以外的词作为上下文词,并将所有上下文词的特征向量输入卷积神经网络的卷积层,进行卷积计算,卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;将当前词以及在所述语料中选择的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,分别得到第二向量和第三向量;根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数;
所述卷积计算按照如下公式进行:
Figure PCTCN2019073005-appb-000016
Figure PCTCN2019073005-appb-000017
所述池化计算按照如下公式进行:
Figure PCTCN2019073005-appb-000018
或者
Figure PCTCN2019073005-appb-000019
所述损失函数包括:
Figure PCTCN2019073005-appb-000020
其中,x i表示第i个上下文词的特征向量,x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数,max表示求最大值函数,average表示求平均值函数,c(j)表示池化计算后得到的所述第一向量的第j个元素,t表示上下文词的数量,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
Figure PCTCN2019073005-appb-000021
表示全连接层的权重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量;
步骤6,将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,得到对应的词向量。
该另一种词向量生成方法中各步骤可以由相同或者不同的模块执行,本说明书对此并不做具体限定。
上面对本说明书实施例提供的词向量生成方法进行了说明,基于同样的思路,本说明书实施例还提供了对应的装置,如图6所示。
图6为本说明书实施例提供的对应于图2的一种词向量生成装置的结构示意图,该装置可以位于图2中流程的执行主体,包括:
获取模块601,获取对语料分词得到的各词;
建立模块602,根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
训练模块603,根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
生成模块604,根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
可选地,所述词的字符包括构成所述词的各字符,以及添加于所述词的起始位置和/或结束位置的标注字符。
可选地,所述建立模块602根据所述各词对应的各n元字符,建立所述各词的特征向量,具体包括:
所述建立模块602确定所述各词对应的各n元字符中不同n元字符的总数量;
分别为所述各词建立根据所述总数量确定维度的特征向量,所述特征向量通过各维的取值指示了其对应的词所对应的各n元字符。
可选地,所述训练模块603根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练,具体包括:
所述训练模块603根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练。
可选地,所述训练模块603根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练,具体包括:
所述训练模块603对分词后的所述语料进行遍历,对遍历到的当前词执行:
确定当前词在分词后的所述语料中的一个或多个上下文词以及负样例词;
将当前词的上下文词的特征向量输入卷积神经网络的卷积层进行卷积计算;
将卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;
将当前词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第二向量,以及将当前词的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第三向量;
根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数。
可选地,所述训练模块603进行卷积计算,具体包括:
所述训练模块603按照如下公式,进行卷积计算:
Figure PCTCN2019073005-appb-000022
Figure PCTCN2019073005-appb-000023
其中,x i表示第i个上下文词的特征向量,x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数。
可选地,所述训练模块603进行池化计算,具体包括:
所述训练模块603进行最大化池化计算或者平均池化计算。
可选地,所述训练模块603根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数,具体包括:
所述训练模块603计算所述第二向量与所述第一向量的第一相似度,以及所述第三向量与所述第一向量的第二相似度;
根据所述第一相似度、所述第二相似度,以及指定的损失函数,更新所述卷积神经网络的参数。
可选地,所述损失函数具体包括:
Figure PCTCN2019073005-appb-000024
其中,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
Figure PCTCN2019073005-appb-000025
表示全连接层的权重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量。
可选地,所述生成模块604根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量,具体包括:
所述生成模块604将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,获得计算后输出的向量,作为对应的词向量。
基于同样的思路,本说明书实施例还提供了对应的一种词向量生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取对语料分词得到的各词;
根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
基于同样的思路,本说明书实施例还提供了对应的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取对语料分词得到的各词;
根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由 于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如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、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各 种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法 或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

  1. 一种词向量生成方法,包括:
    获取对语料分词得到的各词;
    根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
    根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
    根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
  2. 如权利要求1所述的方法,所述词的字符包括构成所述词的各字符,以及添加于所述词的起始位置和/或结束位置的标注字符。
  3. 如权利要求1所述的方法,所述根据所述各词对应的各n元字符,建立所述各词的特征向量,具体包括:
    确定所述各词对应的各n元字符中不同n元字符的总数量;
    分别为所述各词建立根据所述总数量确定维度的特征向量,所述特征向量通过各维的取值指示了其对应的词所对应的各n元字符。
  4. 如权利要求1所述的方法,所述根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练,具体包括:
    根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练。
  5. 如权利要求4所述的方法,所述根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练,具体包括:
    对分词后的所述语料进行遍历,对遍历到的当前词执行:
    确定当前词在分词后的所述语料中的一个或多个上下文词以及负样例词;
    将当前词的上下文词的特征向量输入卷积神经网络的卷积层进行卷积计算;
    将卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;
    将当前词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第二向量,以及将当前词的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,得到 第三向量;
    根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数。
  6. 如权利要求5所述的方法,所述进行卷积计算,具体包括:
    按照如下公式,进行卷积计算:
    Figure PCTCN2019073005-appb-100001
    Figure PCTCN2019073005-appb-100002
    其中,x i表示第i个上下文词的特征向量,x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数。
  7. 如权利要求5所述的方法,所述进行池化计算,具体包括:
    进行最大化池化计算或者平均池化计算。
  8. 如权利要求5所述的方法,所述根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数,具体包括:
    计算所述第二向量与所述第一向量的第一相似度,以及所述第三向量与所述第一向量的第二相似度;
    根据所述第一相似度、所述第二相似度,以及指定的损失函数,更新所述卷积神经网络的参数。
  9. 如权利要求5所述的方法,所述损失函数具体包括:
    Figure PCTCN2019073005-appb-100003
    其中,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
    Figure PCTCN2019073005-appb-100004
    表示全连接层的权重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量。
  10. 如权利要求1所述的方法,所述根据所述各词的特征向量和训练后的所述卷积 神经网络,生成所述各词的词向量,具体包括:
    将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,获得计算后输出的向量,作为对应的词向量。
  11. 一种词向量生成装置,包括:
    获取模块,获取对语料分词得到的各词;
    建立模块,根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
    训练模块,根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
    生成模块,根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
  12. 如权利要求11所述的装置,所述词的字符包括构成所述词的各字符,以及添加于所述词的起始位置和/或结束位置的标注字符。
  13. 如权利要求11所述的装置,所述建立模块根据所述各词对应的各n元字符,建立所述各词的特征向量,具体包括:
    所述建立模块确定所述各词对应的各n元字符中不同n元字符的总数量;
    分别为所述各词建立根据所述总数量确定维度的特征向量,所述特征向量通过各维的取值指示了其对应的词所对应的各n元字符。
  14. 如权利要求11所述的装置,所述训练模块根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练,具体包括:
    所述训练模块根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练。
  15. 如权利要求14所述的装置,所述训练模块根据所述各词的特征向量,以及所述各词在所述语料中的上下文词和负样例词的特征向量,对卷积神经网络进行训练,具体包括:
    所述训练模块对分词后的所述语料进行遍历,对遍历到的当前词执行:
    确定当前词在分词后的所述语料中的一个或多个上下文词以及负样例词;
    将当前词的上下文词的特征向量输入卷积神经网络的卷积层进行卷积计算;
    将卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;
    将当前词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第二向量,以及将当前词的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,得到第三向量;
    根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数。
  16. 如权利要求15所述的装置,所述训练模块进行卷积计算,具体包括:
    所述训练模块按照如下公式,进行卷积计算:
    Figure PCTCN2019073005-appb-100005
    Figure PCTCN2019073005-appb-100006
    其中,x i表示第i个上下文词的特征向量,x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数。
  17. 如权利要求15所述的装置,所述训练模块进行池化计算,具体包括:
    所述训练模块进行最大化池化计算或者平均池化计算。
  18. 如权利要求15所述的装置,所述训练模块根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数,具体包括:
    所述训练模块计算所述第二向量与所述第一向量的第一相似度,以及所述第三向量与所述第一向量的第二相似度;
    根据所述第一相似度、所述第二相似度,以及指定的损失函数,更新所述卷积神经网络的参数。
  19. 如权利要求15所述的装置,所述损失函数具体包括:
    Figure PCTCN2019073005-appb-100007
    其中,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
    Figure PCTCN2019073005-appb-100008
    表示全连接层的 权重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量。
  20. 如权利要求11所述的装置,所述生成模块根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量,具体包括:
    所述生成模块将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,获得计算后输出的向量,作为对应的词向量。
  21. 一种词向量生成方法,包括:
    步骤1,建立通过对语料分词得到的各词构成的词汇表,所述各词不包括在所述语料中出现次数少于设定次数的词;跳转步骤2;
    步骤2,确定各词对应的各n元字符的总数量,相同的n元字符只计一次,所述n元字符表征其对应的词的连续n个字符;跳转步骤3;
    步骤3,根据所述各词对应的各n元字符,为各词分别建立维度为所述总数量的特征向量,所述特征向量的每维分别对应一个不同的n元字符,所述每维的取值表明其对应的n元字符是否对应于所述特征向量对应的词;跳转步骤4;
    步骤4,遍历分词后的所述语料,对遍历到的当前词执行步骤5,若遍历完成则执行步骤6,否则继续遍历;
    步骤5,以当前词为中心,向两侧分别滑动至多k个词建立窗口,将窗口中除当前词以外的词作为上下文词,并将所有上下文词的特征向量输入卷积神经网络的卷积层进行卷积计算,卷积计算结果输入所述卷积神经网络的池化层进行池化计算,得到第一向量;将当前词以及在所述语料中选择的负样例词的特征向量输入所述卷积神经网络的全连接层进行计算,分别得到第二向量和第三向量;根据所述第一向量、所述第二向量、所述第三向量,以及指定的损失函数,更新所述卷积神经网络的参数;
    所述卷积计算按照如下公式进行:
    Figure PCTCN2019073005-appb-100009
    Figure PCTCN2019073005-appb-100010
    所述池化计算按照如下公式进行:
    Figure PCTCN2019073005-appb-100011
    或者
    Figure PCTCN2019073005-appb-100012
    所述损失函数包括:
    Figure PCTCN2019073005-appb-100013
    其中,x i表示第i个上下文词的特征向量,x i:i+θ-1表示将第i~i+θ-1个上下文词的特征向量拼接得到的向量,y i表示通过所述卷积计算得到的向量的第i个元素,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,σ表示激励函数,max表示求最大值函数,average表示求平均值函数,c(j)表示池化计算后得到的所述第一向量的第j个元素,t表示上下文词的数量,c表示所述第一向量,w表示所述第二向量,w′ m表示第m个负样例词对应的所述第三向量,ω表示卷积层的权重参数,ζ表示卷积层的偏置参数,
    Figure PCTCN2019073005-appb-100014
    表示全连接层的权重参数,τ表示全连接层的偏置参数,γ表示超参数,s表示相似度计算函数,λ表示负样例词的数量;
    步骤6,将所述各词的特征向量分别输入训练后的所述卷积神经网络的全连接层进行计算,得到对应的词向量。
  22. 一种词向量生成设备,包括:
    至少一个处理器;以及,
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
    获取对语料分词得到的各词;
    根据所述各词对应的各n元字符,建立所述各词的特征向量,所述n元字符表征其对应的词的连续n个字符;
    根据所述各词的特征向量,以及所述各词在所述语料中的上下文词的特征向量,对卷积神经网络进行训练;
    根据所述各词的特征向量和训练后的所述卷积神经网络,生成所述各词的词向量。
PCT/CN2019/073005 2018-02-05 2019-01-24 词向量生成方法、装置以及设备 WO2019149135A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
SG11202004401UA SG11202004401UA (en) 2018-02-05 2019-01-24 Methods, Apparatuses, And Devices For Generating Word Vectors
US16/883,184 US11030411B2 (en) 2018-02-05 2020-05-26 Methods, apparatuses, and devices for generating word vectors

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810111369.8 2018-02-05
CN201810111369.8A CN110119505A (zh) 2018-02-05 2018-02-05 词向量生成方法、装置以及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/883,184 Continuation US11030411B2 (en) 2018-02-05 2020-05-26 Methods, apparatuses, and devices for generating word vectors

Publications (1)

Publication Number Publication Date
WO2019149135A1 true WO2019149135A1 (zh) 2019-08-08

Family

ID=67479089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/073005 WO2019149135A1 (zh) 2018-02-05 2019-01-24 词向量生成方法、装置以及设备

Country Status (5)

Country Link
US (1) US11030411B2 (zh)
CN (1) CN110119505A (zh)
SG (1) SG11202004401UA (zh)
TW (1) TWI689831B (zh)
WO (1) WO2019149135A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705315A (zh) * 2019-10-09 2020-01-17 宁波深擎信息科技有限公司 一种基于通道和空间维度的词向量训练方法
CN110879934A (zh) * 2019-10-31 2020-03-13 杭州电子科技大学 一种高效的Wide & Deep深度学习模型
CN112069822A (zh) * 2020-09-14 2020-12-11 上海风秩科技有限公司 一种词向量表示的获取方法、装置、设备及可读介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686035B (zh) * 2019-10-18 2024-07-16 北京沃东天骏信息技术有限公司 一种未登录词进行向量化的方法和装置
CN111079442B (zh) * 2019-12-20 2021-05-18 北京百度网讯科技有限公司 文档的向量化表示方法、装置和计算机设备
CN114077833A (zh) * 2020-08-12 2022-02-22 阿里巴巴集团控股有限公司 词向量生成模型训练方法及装置和词向量生成方法及装置
CN112989790B (zh) * 2021-03-17 2023-02-28 中国科学院深圳先进技术研究院 基于深度学习的文献表征方法及装置、设备、存储介质
CN113343676B (zh) * 2021-04-13 2022-12-06 山东师范大学 一种基于卷积神经网络的句子分类方法及系统
CN113297410A (zh) * 2021-07-26 2021-08-24 广东众聚人工智能科技有限公司 一种图像检索方法、装置、计算机设备及存储介质
CN113657109A (zh) * 2021-08-31 2021-11-16 平安医疗健康管理股份有限公司 基于模型的临床术语的标准化方法、装置和计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834747A (zh) * 2015-05-25 2015-08-12 中国科学院自动化研究所 基于卷积神经网络的短文本分类方法
CN105760507A (zh) * 2016-02-23 2016-07-13 复旦大学 基于深度学习的跨模态主题相关性建模方法
CN106569998A (zh) * 2016-10-27 2017-04-19 浙江大学 一种基于Bi‑LSTM、CNN和CRF的文本命名实体识别方法
CN107656990A (zh) * 2017-09-14 2018-02-02 中山大学 一种基于字和词两个层面特征信息的文本分类方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6622134B1 (en) * 1999-01-05 2003-09-16 International Business Machines Corporation Method of constructing data classifiers and classifiers constructed according to the method
CN102411687B (zh) * 2011-11-22 2014-04-23 华北电力大学 未知恶意代码的深度学习检测方法
CN106156807B (zh) * 2015-04-02 2020-06-02 华中科技大学 卷积神经网络模型的训练方法及装置
CN107133622B (zh) * 2016-02-29 2022-08-26 阿里巴巴集团控股有限公司 一种单词的分割方法和装置
CN107220231A (zh) * 2016-03-22 2017-09-29 索尼公司 用于自然语言处理的电子设备和方法以及训练方法
CN107168952B (zh) * 2017-05-15 2021-06-04 北京百度网讯科技有限公司 基于人工智能的信息生成方法和装置
CN107180247A (zh) * 2017-05-19 2017-09-19 中国人民解放军国防科学技术大学 基于选择性注意力卷积神经网络的关系分类器及其方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834747A (zh) * 2015-05-25 2015-08-12 中国科学院自动化研究所 基于卷积神经网络的短文本分类方法
CN105760507A (zh) * 2016-02-23 2016-07-13 复旦大学 基于深度学习的跨模态主题相关性建模方法
CN106569998A (zh) * 2016-10-27 2017-04-19 浙江大学 一种基于Bi‑LSTM、CNN和CRF的文本命名实体识别方法
CN107656990A (zh) * 2017-09-14 2018-02-02 中山大学 一种基于字和词两个层面特征信息的文本分类方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705315A (zh) * 2019-10-09 2020-01-17 宁波深擎信息科技有限公司 一种基于通道和空间维度的词向量训练方法
CN110705315B (zh) * 2019-10-09 2022-12-30 宁波深擎信息科技有限公司 一种基于通道和空间维度的词向量训练方法
CN110879934A (zh) * 2019-10-31 2020-03-13 杭州电子科技大学 一种高效的Wide & Deep深度学习模型
CN110879934B (zh) * 2019-10-31 2023-05-23 杭州电子科技大学 一种基于Wide&Deep深度学习模型的文本预测方法
CN112069822A (zh) * 2020-09-14 2020-12-11 上海风秩科技有限公司 一种词向量表示的获取方法、装置、设备及可读介质

Also Published As

Publication number Publication date
TWI689831B (zh) 2020-04-01
CN110119505A (zh) 2019-08-13
US20200285811A1 (en) 2020-09-10
TW201935275A (zh) 2019-09-01
US11030411B2 (en) 2021-06-08
SG11202004401UA (en) 2020-06-29

Similar Documents

Publication Publication Date Title
WO2019105134A1 (zh) 词向量处理方法、装置以及设备
WO2019149135A1 (zh) 词向量生成方法、装置以及设备
TWI685761B (zh) 詞向量處理方法及裝置
WO2019149076A1 (zh) 词向量生成方法、装置以及设备
CN107957989B9 (zh) 基于集群的词向量处理方法、装置以及设备
CN112580369B (zh) 语句复述方法、训练语句复述模型的方法及其装置
CN108874765B (zh) 词向量处理方法及装置
WO2018086519A1 (zh) 一种特定文本信息的识别方法及装置
CN108475346B (zh) 神经随机访问机器
US20200167527A1 (en) Method, device, and apparatus for word vector processing based on clusters
CN107423269B (zh) 词向量处理方法及装置
TWI705378B (zh) 針對rpc資訊的向量處理方法、裝置以及設備
CN107562715B (zh) 词向量处理方法、装置以及电子设备
CN107577658B (zh) 词向量处理方法、装置以及电子设备
US20230130662A1 (en) Method and apparatus for analyzing multimodal data
CN116028613A (zh) 常识问答方法、系统、计算机设备和存储介质
CN115578726A (zh) 基于上下文推理的图像描述模型训练方法及图像描述方法
CN107844472B (zh) 词向量处理方法、装置以及电子设备
CN107577659A (zh) 词向量处理方法、装置以及电子设备
JP7551970B2 (ja) 人工知能モデル更新方法、装置、電子デバイス及び記憶媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19747653

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19747653

Country of ref document: EP

Kind code of ref document: A1