IP Library Patent Application 14195456
Patent Application
App. No. 14/195,456

SYSTEMS AND METHODS FOR IMPROVING THE EFFICIENCY OF SYNTACTIC AND SEMANTIC ANALYSIS IN AUTOMATED PROCESSES FOR NATURAL LANGUAGE UNDERSTANDING

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 None
App. No.
14/195,456
Abstract

A natural language understanding system may be given the capability to construct a semantically detailed parse tree for each acceptable interpretation of an input natural language expression (or fewer such parse trees than interpretations) by independently solving sub-trees corresponding to various series of post nominal modifiers and associating those partial solutions with corresponding nodes in the overall parse tree. The argument order in predicate calculus atomic formulas may be standardized in a manner that supports the use of a chart parser applied to a head-driven phase structure grammar and that permits a simplified more tractable grammar that in turn can be used as a domain general semantic grammar.

Claims (196)

1 - 25 . (canceled)

26 . A method comprising:

using at least a processor and memory for:

receiving at least one natural language phrase comprising at least one token;

receiving at least one thematic role sequence, wherein each one of the at least one thematic role sequence corresponds to a sequence of predicate arguments;

applying the at least one thematic role sequence to a natural language phrase; and

translating the natural language phrase into an artificial language predicating expression based on the application of the at least one thematic role sequences to the natural language phrase.

27 . The method of claim 26 , applying the at least one thematic role sequence further comprises a plurality of thematic role sequences, wherein:

applying a first thematic role sequence of the plurality of thematic role sequences to the natural language phrase; and

applying a second thematic role sequence of the plurality of thematic role sequences to the natural language phrase.

28 . The method of claim 27 , further comprising receiving a grammar rule, wherein the first thematic role sequence and the second thematic role sequence are associated with the grammar rule.

29 . The method of claim 28 , further comprising:

parsing the natural language phrase into at least one natural language phrase parts using the grammar rule;

determining a correspondence between at least one first thematic role sequence element and at least one of the natural language phrase parts;

receiving a correspondence between at least one second thematic role sequence element and at least one artificial language argument place; and

determining an order of at least one artificial language argument based on determining the correspondence between at least one first thematic role sequence element and at least one of the natural language phrase part and based on receiving the correspondence between at least one second thematic role sequence element and at least one artificial language argument place.

30 . The method of claim 27 , further comprising:

receiving a first data structure representing at least a partial meaning for each one of at least one of the natural language phrase parts;

receiving at least one second data structure representing at least a partial meaning for an artificial language argument, wherein the artificial language argument corresponds to a second thematic role sequence element;

receiving a specification of the identity of an element of the second thematic role sequence that corresponds to the at least one second data structure;

assigning the first data structure for each one of the at least one natural language phrase part to a corresponding one of at least one artificial language argument place based on determining the correspondence between at least one first thematic role sequence element and the at least one of the natural language phrase part and based on receiving the correspondence between the at least one second thematic role sequence element and the at least one artificial language argument place; and

assigning each of the received at least one second data structure to the artificial argument place of the corresponding identified element of the second thematic role sequence.

31 . The method of claim 30 , wherein assigning the first data structure representing at least the partial meaning for each one of the at least one of natural language phrase parts to the plurality of artificial language argument places, comprises establishing a correspondence between each one of the at least one first thematic role sequence elements and at least one of the at least one second thematic role sequence elements.

32 . The method of claim 26 , wherein each one of the at least one first thematic role sequence elements is the at least one of the second thematic role sequence elements.

33 . The method of claim 26 , further comprising storing the translated natural language phrase in a database.

34 . The method of claim 26 , further comprising receiving the natural language phrase in a user interface.

35 . A system comprising:

at least a processor and memory comprising a natural language parser, the natural language parser being configured to:

receive at least one natural language phrase comprising at least one token;

receive at least one thematic role sequence, wherein each one of the at least one thematic role sequence corresponds to a sequence of predicate arguments;

apply the plurality of thematic role sequences to a natural language phrase; and

translate the natural language phrase into an artificial language expression based on the application of the plurality of thematic role sequences to the natural language phrase.

36 . The system of claim 35 , wherein the natural language parser is configured to:

apply a first thematic role sequence of the at least one thematic role sequence to the natural language phrase; and

apply a second thematic role sequence of the at least one thematic role sequence to the natural language phrase.

37 . The system of claim 36 , wherein the natural language parser is further configured to receive a grammar rule, wherein the first thematic role sequence and the second thematic role sequence are associated with the grammar rule.

38 . The system of claim 37 , wherein the natural language parser is further configured to:

parse the natural language phrase into a plurality of natural language phrase parts using the grammar rule;

determine a correspondence between at least one first thematic role sequence element and at least one of the natural language phrase parts; and

receive a correspondence between at least one second thematic role sequence element and at least one artificial language argument place; and

determine an order of at least one artificial language argument based on determining the correspondence between at least one first thematic role sequence element and at least one of the natural language phrase part and based on receiving the correspondence between at least one second thematic role sequence element and at least one artificial language argument place.

39 . The system of claim 35 , wherein the natural language parser is further configured to:

receive a first data structure representing at least a partial meaning for each one of at least one of the natural language phrase parts;

receive at least one second data structure representing at least a partial meaning for an artificial language argument, wherein the artificial language argument corresponds to a second thematic role sequence element;

receive a specification of the identity of an element of the second thematic role sequence that corresponds to the at least one second data structure;

assign the first data structure for each one of the at least one natural language phrase parts to a corresponding one of at least one artificial language argument place based on determining the correspondence between at least one first thematic role sequence element and the at least one of the natural language phrase part and based on receiving the correspondence between the at least one second thematic role sequence element and the at least one artificial language argument place; and

assign each of the received at least one second data structure to the artificial language argument place of the corresponding identified element of the second thematic role sequence.

40 . The system of claim 39 , wherein the natural language parser is further configured to establish a correspondence between each one of the at least one first thematic role sequence elements and at least one of the at least one second thematic role sequence elements.

41 . The system of claim 35 , wherein each one of the at least one first thematic role sequence elements is the at least one of the second thematic role sequence elements.

42 . The system of claim 35 , wherein the processor is further configured to store the translated natural language phrase in a database.

43 . The method of claim 35 , wherein the processor is further configured to receive the natural language phrase in a user interface.

44 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to:

receive, by the computing device, at least one natural language phrase comprising at least one token;

receive, by the computing device, at least one thematic role sequence, wherein each one of the at least one thematic role sequence corresponds to a sequence of predicate arguments;

apply, by the computing device, the at least one thematic role sequence to a natural language phrase; and

translate, by the computing device, the natural language phrase into an artificial language expression based on the application of the at least one thematic role sequence to the natural language phrase.

45 . The computer program product of claim 44 , wherein the program instructions are executable by the computing device to cause the computing device to:

apply, by the computing device, a first thematic role sequence of the at least one thematic role sequence to the natural language phrase; and

apply, by the computing device, a second thematic role sequence of the at least one thematic role sequence to the natural language phrase;

46 . The computer program product of claim 45 , wherein the program instructions are executable by the computing device to cause the computing device to receive a grammar rule, wherein the first thematic role sequence and the second thematic role sequence are associated with the grammar rule.

47 . The computer program product of claim 46 , wherein the program instructions are executable by the computing device to cause the computing device to:

parse, by the computing device, the natural language phrase into a plurality of natural language phrase parts using the grammar rule;

determine, by the computing device, a correspondence between at least one first thematic role sequence element and at least one of the natural language phrase parts;

receive, by the computing device, a correspondence between at least one second thematic role sequence element and at least one artificial language argument place; and

determine, by the computing device, an order of at least one artificial language argument based on determining the correspondence between at least one first thematic role sequence element and at least one of the natural language phrase part and based on receiving the correspondence between at least one second thematic role sequence element and at least one artificial language argument place.

48 . The computer program product of claim 45 , wherein the program instructions are executable by the computing device to cause the computing device to:

receive, by the computing device, a first data structure representing at least a partial meaning for each one of at least one of the natural language phrase parts;

receive, by the computing device, at least one second data structure representing at least a partial meaning for an artificial language argument, wherein the artificial language argument corresponds to a second thematic role sequence element;

receive, by the computing device, a specification of the identity of an element of the second thematic role sequence that corresponds to the at least one second data structure;

assign, by the computing device, the first data structure for each one of the plurality of natural language phrase parts to a corresponding one of at least one artificial language argument place based on determining the correspondence between at least one first thematic role sequence element and the at least one of the natural language phrase part and based on receiving the correspondence between the at least one second thematic role sequence element and the at least one artificial language argument place; and

assign, by the computing device, each of the received at least one second data structure to the artificial language argument place of the corresponding identified element of the second thematic role sequence.

49 . The computer program product of claim 48 , wherein the program instructions are executable by the computing device to cause the computing device to assign the first data structure representing at least the partial meaning for each one of the at least one of natural language phrase parts to the plurality of artificial language argument places, comprises establishing a correspondence between each one of the at least one first thematic role sequence elements and at least one of the at least one second thematic role sequence elements.

50 . The computer program product of claim 44 , wherein each one of the at least one first thematic role sequence elements is the at least one of the second thematic role sequence elements.

51 . The computer program product of claim 44 , wherein the program instructions are executable by the computing device to cause the computing device to store, by the computer programming product, the translated natural language phrase in a database.

52 . The computer program product of claim 44 , wherein the program instructions are executable by the computing device to cause the computing device to receive, by the computer programming product, the natural language phrase in a user interface.

53 . A method comprising:

using at least a processor and memory for:

receiving an identification of at least one first grammar rule element of a first grammar rule as an origin of a traveling feature;

receiving at least one traveling feature value calculating process associated with the at least one first grammar rule element;

associating a natural language expression part with one of the at least one first grammar rule element;

applying the at least one traveling feature value calculating process to the one of the at least one first grammar rule element and to the natural language expression part for identifying any first values of the traveling feature; and

constructing a first node, based on the application of the at least one traveling feature value calculating process.

54 . The method of claim 53 , further comprising determining a subset of the identified first values of the traveling feature to be associated with the first node, wherein the subset of the identified first values comprises any of the identified first values of the traveling feature.

55 . The method of claim 54 , wherein the subset of the identified first values further comprises excluding the identified first values of the traveling feature.

56 . The method of claim 54 , further comprising associating the determined identified first values of the traveling feature with the first node.

57 . The method of claim 56 , further comprising:

receiving an identification of at least one second grammar rule element of a second grammar rule;

receiving an identification of any existing second values of the traveling feature, wherein the any existing second values of the traveling feature are associated with the at least one first grammar rule element;

receiving an identification of any existing third values of the traveling feature, wherein the any third values of the traveling feature are associated with the at least one second grammar rule element; and

wherein constructing the first node further comprises:

determining a subset of the identified second values of the traveling feature to be associated with the first node, wherein the subset of the identified second values comprises any of the identified second values of the traveling feature and associating the determined identified second values of the traveling feature with the first node; and

determining a subset of the identified third values of the traveling feature to be associated with the first node, wherein the subset of the identified third values comprises any of the identified third values of the traveling feature and associating the determined identified third values of the traveling feature with the first node.

58 . The method of claim 57 , further comprising determining a final set of values of the traveling feature based on the identified first values, the identified second values and the identified third values of the traveling feature associated with the first node.

59 . The method of claim 57 , further comprises:

receiving an identification of at least one third grammar rule element of the first grammar rule or the second grammar rule;

constructing a second node;

associating the at least one third grammar rule element with the second node; and

wherein constructing the second node further comprises:

determining a subset of the identified first values of the traveling feature to be associated with the second node, wherein the subset of the identified first values comprises any of the identified first values of the traveling feature and associating the determined identified first values of the traveling feature with the second node;

determining a subset of the identified second values of the traveling feature to be associated with the second node, wherein the subset of the identified second values comprises any of the identified second values of the traveling feature and associating the determined identified second values of the traveling feature with the second node; and

determining a subset of the identified third values of the traveling feature to be associated with the second node, wherein the subset of the identified third values comprises any of the identified third values of the traveling feature and associating the determined identified third values of the traveling feature with the second node.

60 . The method of claim 53 , further comprising storing the constructed first node in a database.

61 . The method of claim 53 , further comprising identifying at least one first grammar rule element of the first grammar rule in a user interface.

62 . A system configured to:

at least a processor and memory comprising a natural language parser, the natural language parser is configured to:

receive an identification of at least one first grammar rule element of a first grammar rule as an origin of a traveling feature;

receive at least one traveling feature value calculating process associated with the at least one first grammar rule element;

associate a natural language expression part with one of the at least one first grammar rule element;

apply the at least one traveling feature value calculating process to the one of the at least one first grammar rule element and to the natural language expression part for identifying any first values of the traveling feature; and

construct a first node, based on the application of the at least one traveling feature value calculating process.

63 . The system of claim 62 , wherein the natural language parser is configured to determine a subset of the identified first values of the traveling feature to be associated with the first node, wherein the subset of the identified first values comprises any of the identified first values of the traveling feature.

64 . The system of claim 63 , wherein the subset of the identified first values comprises excluding the identified first values of the traveling feature.

65 . The system of claim 63 , wherein the natural language parser is configured to associate the determined identified first values of the traveling feature with the first node.

66 . The system of claim 63 , wherein the natural language parser is further configured to:

receive an identification of at least one second grammar rule element of a second grammar rule;

receive an identification of any existing second values of the traveling feature, wherein the any existing second values of the traveling feature are associated with the at least one first grammar rule element; and

receive an identification of any existing third values of the traveling feature, wherein the any third values of the traveling feature are associated with the at least one second grammar rule element; and

wherein the construction of the first node by the natural language parser further comprises:

determine a subset of the identified second values of the traveling feature to be associated with the first node, wherein the subset of the identified second values comprises any of the identified second values of the traveling feature and associating the determined identified second values of the traveling feature with the first node; and

determine a subset of the identified third values of the traveling feature to be associated with the first node, wherein the subset of the identified third values comprises any of the identified third values of the traveling feature and associating the determined identified third values of the traveling feature with the first node.

67 . The system of claim 66 , wherein the natural language parser is further configured to determine a final set of values of the traveling feature based on the identified first values, the identified second values and the identified third values of the traveling feature associated with the first node.

68 . The system of claim 65 , further configured to:

receive an identification of at least one third grammar rule element of the first grammar rule or the second grammar rule;

construct a second node;

associate the at least one third grammar rule element with the second node; and

wherein the construction of the second node further comprises a system further configured to:

determine a subset of the identified first values of the traveling feature to be associated with the second node, wherein the subset of the identified first values comprises any of the identified first values of the traveling feature and associating the determined identified first values of the traveling feature with the second node;

determine a subset of the identified second values of the traveling feature to be associated with the second node, wherein the subset of the identified second values comprises any of the identified second values of the traveling feature and associating the determined identified second values of the traveling feature with the second node; and

determine a subset of the identified third values of the traveling feature to be associated with the second node, wherein the subset of the identified third values comprises any of the identified third values of the traveling feature and associating the determined identified third values of the traveling feature with the second node.

69 . The system of claim 62 , wherein the natural language parser is further configured to store the constructed first node in a database.

70 . The system of claim 62 , wherein the natural language parser is further configured to identify at least one first grammar rule element of the first grammar rule in a user interface.

71 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to:

receive, by the computing device, an identification of at least one first grammar rule element of a first grammar rule as an origin of a traveling feature;

receive, by the computing device, at least one traveling feature value calculating process associated with the at least one first grammar rule element;

associate, by the computing device, a natural language expression part with one of the at least one first grammar rule element;

apply, by the computing device, the at least one traveling feature value calculating process to the one of the at least one first grammar rule element and to the natural language expression part for identifying any first values of the traveling feature; and

construct, by the computing device, a first node, based on the application of the at least one traveling feature value calculating process.

72 . The computer program product of claim 71 , wherein the program instructions are executable by the computing device to cause the natural language parser to determine a subset of the identified first values of the traveling feature to be associated with the first node, wherein the subset of the identified first values comprises any of the identified first values of the traveling feature.

73 . The computer program product of claim 72 , wherein the program instructions are executable by the computing device, wherein the subset of the identified first values further comprises excluding the identified first values of the traveling feature.

74 . The computer program product of claim 72 , wherein the program instructions are executable by the computing device to cause the natural language parser to further associate the determined identified first values of the traveling feature with the first node.

75 . The computer program product of claim 74 , wherein the program instructions are executable by the computing device to cause the natural language parser to:

receive, by the computing device, an identification of at least one second grammar rule element of a second grammar rule;

receive, by the computing device, an identification of any existing second values of the traveling feature, wherein the any existing second values of the traveling feature are associated with the at least one first grammar rule element;

receive, by the computing device, an identification of any existing third values of the traveling feature, wherein the any third values of the traveling feature are associated with the at least one second grammar rule element; and

wherein the construction of the first node by the natural language parser further comprises:

determine, by the computing device, a subset of the identified second values of the traveling feature to be associated with the first node, wherein the subset of the identified second values comprises any of the identified second values of the traveling feature and associating the determined identified second values of the traveling feature with the first node; and

determine, by the computing device, a subset of the identified third values of the traveling feature to be associated with the first node, wherein the subset of the identified third values comprises any of the identified third values of the traveling feature and associating the determined identified third values of the traveling feature with the first node.

76 . The computer program product of claim 75 , wherein the program instructions are executable by the computing device to cause the natural language parser to determine a final set of values of the traveling feature based on the identified first values, the identified second values and the identified third values of the traveling feature associated with the first node

77 . The computer program product of claim 75 , wherein the program instructions are executable by the computing device to:

receive, by the computing device, an identification of at least one third grammar rule element of the first grammar rule or the second grammar rule;

construct, by the computing device, a second node;

associate, by the computing device, the at least one third grammar rule element with the second node; and

wherein the construction of the second node further comprises a computer program product further configured to:

determine, by the computing device, a subset of the identified first values of the traveling feature to be associated with the second node, wherein the subset of the identified first values comprises any of the identified first values of the traveling feature and associating the determined identified first values of the traveling feature with the second node;

determine, by the computing device, a subset of the identified second values of the traveling feature to be associated with the second node, wherein the subset of the identified second values comprises any of the identified second values of the traveling feature and associating the determined identified second values of the traveling feature with the second node; and

determine, by the computing device, a subset of the identified third values of the traveling feature to be associated with the second node, wherein the subset of the identified third values comprises any of the identified third values of the traveling feature and associating the determined identified third values of the traveling feature with the second node.

78 . The computer program product of claim 71 , wherein the program instructions are executable by the computing device to further cause the computing device to store the constructed first node in a database.

79 . The computer program product of claim 71 , wherein the program instructions are executable by the computing device to further cause the computing device to identify at least one first grammar rule element of the first grammar rule in a user interface.

80 . A method comprising:

using at least a processor and memory for:

receiving at least one first natural language expression; and

identifying at least one modifier natural language expression comprised within the at least one first natural language expression.

81 . The method of claim 80 , further comprising identifying, for at least one of the modifier natural language expression, at least one modifiee natural language expression comprised within the at least one first natural language expression, wherein each one of the at least one modifiee natural language expression is permitted to be modified by the at least one modifier natural language expression.

82 . The method of claim 81 , further comprising:

determining at least one meaning for each of the at least one modifier natural language expression; and

determining at least one meaning for each of the at least one modifiee natural language expression.

83 . The method of claim 81 , further comprising associating at least one modifiee natural language expression syntactically permitted to be modified by the at least one modifier natural language expression with the at least one modifier natural language expression.

84 . The method of claim 82 , further comprising assigning the at least one determined meaning for each of the at least one modifier natural language expression to the at least one determined meaning for each of the at least one modifiee natural language expression, based on semantic criteria.

85 . The method of claim 84 , wherein the semantic criteria is mutual compatibility of the assigned determined meanings of the modifier natural language expression and the modifiee natural language expression.

86 . The method of claim 80 , further comprising using a processor for storing the identified at least one modifier natural language expression comprised within the at least one first natural language expression in a database.

87 . The method of claim 80 , further comprising using a processor for receiving the at least one first natural language expression in a user interface.

88 . A system configured to:

at least a processor and memory comprising a natural language parser, the natural language parser is configured to:

receive at least one first natural language expression; and

identify at least one modifier natural language expression comprised within the at least one first natural language expression.

89 . The system of claim 88 , further configured to identify, for at least one of the modifier natural language expression, at least one modifiee natural language expression comprised within the at least one first natural language expression, wherein each one of the at least one modifiee natural language expression is permitted to be modified by the at least one modifier natural language expression.

90 . The system of claim 89 , further configured to:

determine at least one meaning for each of the at least one modifier natural language expression; and

determine at least one meaning for each of the at least one modifiee natural language expression.

91 . The system of claim 89 , further configured to associate at least one modifiee natural language expression syntactically permitted to be modified by the at least one modifier natural language expression with the at least one modifier natural language expression.

92 . The system of claim 91 , further configured to assign the at least one determined meaning for each of the at least one modifier natural language expression to the at least one determined meaning for each of the at least one modifiee natural language expression, based on semantic criteria.

93 . The system of claim 92 , wherein the semantic criteria is mutual compatibility of the assigned determined meanings of the modifier natural language expression and the modifiee natural language expression.

94 . The system of claim 88 , wherein the processor is further configured to store the identified at least one modifier natural language expression comprised within the at least one first natural language expression in a database.

95 . The system of claim 88 , wherein the processor is further configured to receive the at least one first natural language expression in a user interface.

96 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to:

receive, by the computing device, at least one first natural language expression; and

identify, by the computing device, at least one modifier natural language expression comprised within the first natural language expression.

97 . The computer program product of claim 96 , wherein the program instructions are executable by the computing device to cause the natural language parser to identify, by the computing device, for at least one of the modifier natural language expression, at least one modifier, natural language expression comprised within the at least one first natural language expression, wherein each one of the at least one modifiee natural language expression is permitted to be modified by the at least one modifier natural language expression.

98 . The computer program product of claim 96 , wherein the program instructions are executable by the computing device to cause the natural language parser to:

determine, by the computing device, at least one meaning for each of the at least one modifier natural language expression; and

determine, by the computing device, at least one meaning for each of the at least one modifier, natural language expression.

99 . The computer program product of claim 98 , wherein the program instructions are executable by the computing device to cause the natural language parser to associate, by the computing device, at least one modifiee natural language expression syntactically permitted to be modified by the at least one modifier natural language expression with the at least one modifier natural language expression.

100 . The computer program product of claim 98 , wherein the program instructions are executable by the computing device to cause the natural language parser to assign, by the computing device, the at least one determined meaning for each of the at least one modifier natural language expression to the at least one determined meaning for each of the at least one modifiee natural language expression, based on semantic criteria.

101 . The computer program product of claim 100 , wherein the program instructions are executable by the computing device, wherein the semantic criteria is mutual compatibility of the assigned determined meanings of the modifier natural language expression and the modifiee natural language expression.

102 . The computer program product of claim 98 , wherein the program instructions are executable by the computing device to further cause the computing device to store, by the computer program product, the identified at least one modifier natural language expression comprised within the at least one first natural language expression in a database.

103 . The computer program product of claim 98 , wherein the program instructions are executable by the computing device to further cause the computing device to receive, by the computer program product, the at least one first natural language expression in a user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2014
From: JACKSON, JEFFREY
To: THE SOFTWARE SHOP, INC.
Reel/Frame 032343/0803 →