IP Library › Granted Patent US 10,467,342
Granted Patent B2
US 10,467,342 · App. 15/087,065 · Granted Nov 5, 2019

Method and apparatus for determining semantic matching degree

Inventors: Zhengdong Lu (Hong Kong, HK); Hang Li (Hong Kong, HK)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F17/2785G06F16/36G06F17/277G06N3/0454
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,467,342
App. No.
15/087,065
Granted
Nov 5, 2019
Kind
B2
Abstract

A method and an apparatus for determining a semantic matching degree. The method includes acquiring a first sentence and a second sentence, dividing the first sentence and the second sentence into x and y sentence fragments, respectively, performing a convolution operation on word vectors in each sentence fragment of the first sentence and word vectors in each sentence fragment of the second sentence, to obtain a three-dimensional tensor, performing integration and/or screening on adjacent vectors in the one-dimensional vectors of x rows and y columns, until the three-dimensional tensor is combined into a one-dimensional target vector, and determining a semantic matching degree between the first sentence and the second sentence according to the target vector.

Claims (59)

1. A method implemented by a computing device for determining a semantic matching degree between text-based sentences, comprising:

receiving, by the device, a first sentence;

obtaining, by the device, a plurality of second sentences from a memory of the device or an online database;

comparing, by the device, the first sentence with the plurality of second sentences one by one, to obtain a semantic matching degree between the first sentence and each one of the second sentences; and

outputting, by the device, a second sentence that has the highest semantic matching degree with the first sentence as a matching sentence of the first sentence;

wherein the first sentence and the second sentences are text-based sentences, and each of the sentences comprises multiple words; and

wherein comparing the first sentence with a second sentence to obtain a semantic matching degree between the first sentence and the second sentence comprises:

obtaining, by the device, n1 word vectors representing the first sentence, and n2 word vectors representing the second sentence, both n1 and n2 are numbers, and each word vector represents one word or several adjacent words in a sentence;

transforming, by the device, the first sentence into x sentence fragments, wherein each sentence fragment corresponds to k adjacent word vectors, wherein the i th sentence fragment corresponds to the i th word vector to the (i+k−1) th word vector of the first sentence, both k and x are numbers, and wherein x=n1−k+1;

transforming, by the device, the second sentence into y sentence fragments, wherein each sentence fragment corresponds to t adjacent word vectors, wherein the j th sentence fragment corresponds to the j th word vector to the (j+t−1) th word vector of the second sentence, both t and y are numbers, and wherein y=n2−t+1;

forming, by the device, a three-dimensional tensor, wherein the three-dimensional tensor comprises x rows as the first dimension, y columns as the second dimension, and a number x×y of z-component arrays as the third dimension, wherein and wherein a z-component array V ij in the i th row and the j th column is obtained by performing a convolution operation on word vectors in the i th sentence fragment of the first sentence and word vectors in the j th sentence fragment of the second sentence;

continuously reducing, by the device, quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector; and

determining, using a neural network model of the device, the semantic matching degree between the first sentence and the second sentence based on the target vector;

wherein the determined semantic matching degree is applied to multiple types of sematic matching systems including a question answering system, a retrieval-based dialog system, a searching system and a ranking system for machine retrieval.

2. The method according to claim 1 , wherein performing the convolution operation on word vectors in the i th sentence fragment of the first sentence and word vectors in the j th sentence fragment of the second sentence comprises:

connecting head to tail elements in k word vectors in the i th sentence fragment of the first sentence and elements in t word vectors in the j th sentence fragment of the second sentence, to obtain an one-dimensional combined vector T ij ; and

performing a convolution operation on the one-dimensional combined vector T ij to obtain the z-component array V ij .

3. The method according to claim 1 , wherein continuously reducing quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector comprises:

continuously reducing the quantity of the z-component arrays in the three-dimensional tensor by alternately performing the integration and the screening on the adjacent z-component arrays, until the three-dimensional tensor is combined into the target vector.

4. The method according to claim 3 , wherein the integration is a convolution operation, and wherein the screening is a pooling operation.

5. The method according to claim 1 , wherein continuously reducing quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector comprises:

continuously reducing the quantity of the z-component arrays in the three-dimensional tensor by alternately performing the integration and the screening on the adjacent z-component arrays, until the three-dimensional tensor is combined into a target tensor; and

connecting head to tail elements comprised in the target tensor, to obtain the target vector.

6. The method according to claim 1 , wherein continuously reducing quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector comprises:

continuously reducing the quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening at least once on every m×n adjacent z-component arrays, until the three-dimensional tensor is combined into the target vector, wherein m≤x and n≤y.

7. The method according to claim 1 , wherein the neural network model is a multilayer perceptron (MLP) model.

8. The method according to claim 1 , wherein determining the semantic matching degree between the first sentence and the second sentence based on the target vector comprises:

performing a weighted summation on elements in the target vector according to weights of the elements in the target vector, to obtain the semantic matching degree between the first sentence and the second sentence.

9. A data processing apparatus capable of determining a semantic matching degree between text-based sentences, comprising:

a memory storing program instructions and a database; and

a processor coupled to the memory,

wherein the program instructions, when executed by the processor, cause the apparatus to:

obtain a first sentence;

obtain a plurality of second sentences from the memory or an online database;

compare the first sentence with the plurality of second sentences one by one, to obtain a semantic matching degree between the first sentence and each one of the second sentences; and

output a second sentence that has the highest semantic matching degree with the first sentence as a matching sentence of the first sentence;

wherein the first sentence and the second sentences are text-based sentences, and each of the sentences comprises multiple words;

and wherein in comparing the first sentence with a second sentence to obtain a semantic matching degree between the first sentence and the second sentence, the program instructions cause the apparatus to:

obtain n1 word vectors representing the first sentence, and n2 word vectors representing the second sentence, both n1 and n2 are numbers, and each word vector represents one word or several adjacent words in a sentence;

transform the first sentence into x sentence fragments, wherein each sentence fragment corresponds to k adjacent word vectors, wherein the i th sentence fragment corresponds to the i th word vector to the (i+k−1) th word vector of the first sentence, both k and x are numbers, and wherein x=n1−k+1;

transform the second sentence into y sentence fragments, wherein each sentence fragment corresponds to t adjacent word vectors, wherein the j th sentence fragment corresponds to the j th word vector to the (j+t−1) th word vector of the second sentence, both t and y are numbers, and wherein y=n2−t+1;

form a three-dimensional tensor, wherein the three-dimensional tensor comprises x rows as the first dimension, y columns as the second dimension, and a number x×y of z-component arrays as the third dimension, wherein and wherein a z-dimensional array V ij in the i th row and the j th column is obtained by performing a convolution operation on word vectors in the i th sentence fragment of the first sentence and word vectors in the j th sentence fragment of the second sentence;

continuously reduce quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector; and

determine, using a neural network model of the apparatus, the semantic matching degree between the first sentence and the second sentence based on the target vector;

wherein the determined semantic matching degree is applied to multiple types of sematic matching systems including a question answering system, a retrieval-based dialog system, a searching system and a ranking system for machine retrieval.

10. The apparatus according to claim 9 , wherein in performing the convolution operation on word vectors in the i th sentence fragment of the first sentence and word vectors in the j th sentence fragment of the second sentence, the program instructions cause the apparatus to:

connect head to tail elements in k word vectors in the i th sentence fragment of the first sentence and elements in t word vectors in the j th sentence fragment of the second sentence, to obtain an one-dimensional combined vector T ij ; and

perform a convolution operation on the one-dimensional combined vector T ij to obtain the z-component array V ij .

11. The apparatus according to claim 9 , wherein in continuously reducing quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector, the program instructions cause the apparatus to:

continuously reduce the quantity of the z-component arrays in the three-dimensional tensor by alternately performing the integration and the screening on the adjacent z-component arrays, until the three-dimensional tensor is combined into the target vector.

12. The apparatus according to claim 11 , wherein the integration is a convolution operation, and wherein the screening is a pooling operation.

13. The apparatus according to claim 9 , wherein in continuously reducing quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector, the program instructions cause the apparatus to:

continuously reduce the quantity of the z-component arrays in the three-dimensional tensor by alternately performing the integration and the screening on the adjacent z-component arrays, until the three-dimensional tensor is combined into a target tensor; and

connect head to tail elements comprised in the target tensor, to obtain the target vector.

14. The apparatus according to claim 9 , wherein in continuously reducing quantity of the z-component arrays in the three-dimensional tensor by performing integration and/or screening on adjacent z-component arrays, until the three-dimensional tensor is reduced into an one-dimensional target vector, the program instructions cause the apparatus to:

continuously reduce the quantity of the z-components arrays in the three-dimensional tensor by performing integration and/or screening at least once on every m×n adjacent z-component arrays, until the three-dimensional tensor is combined into the target vector, wherein m≤x and n≤y.

15. The apparatus according to claim 9 , wherein the neural network model is a multilayer perceptron (MLP) model.

16. The apparatus according to claim 9 , wherein in determining the semantic matching degree between the first sentence and the second sentence based on the target vector, the program instructions cause the apparatus to:

perform a weighted summation on elements in the target vector according to weights of the elements in the target vector, to obtain the semantic matching degree between the first sentence and the second sentence.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: LU, ZHENGDONG; LI, HANG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 038168/0126 →
Priority Claims (1)
CN 2014 1 0709568 · Nov 28, 2014 · national
Continuity (2)
Continuation PCTCN2015075670 · Apr 1, 2015
Related Publication 20160217129A1 · Jul 28, 2016