Method for presenting a natural language comparison of items
AssigneeActivepoint Ltd.
InventorOnn Tavor
Life of this patent
Estimating the term…
Abstract
The following application is to describe a method and apparatus for performing a concise and meaningful comparison between an unlimited amount of products, presenting the user with a natural language output. The apparatus is encapsulated as a stand alone web server application and does not require the use of an external third party tools and can be use by any Web Site with no need for a significant change in the structure or the back bone technology deployed by said web site.
Claims17
A computer based method for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the method comprising:
- retrieving from storage data entries corresponding to the specified items;
- among said retrieved entries comparing information associated with like topics;
- constructing one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- and
- presenting said natural language sentences to a user at a display;
- wherein not all stored data entries of any group necessarily include identical topics and said comparing includes comparing values associated with like topics, if any;
- wherein said comparing includes, for any topic common to at least two of the retrieved entries-
- (i) finding within said at least two of the retrieved entries any values that are mutually equal, grouping all items that correspond to any thus identified value together as a similarity group, noting their names and associating said group with said common topic and with said equal value;
- and
- (ii) if no equal values are found, noting the names and values of all corresponding items, in association with said common topic;
- wherein said constructing includes constructing a natural language statement for each of said common topics which reflects respective results of substep (i) or substep (ii);
- the method further comprising:
- (iii) identifying any topic that is not common to any two or more of the retrieved entries, and noting one or more values associated with the thus identified topic in the respective entry, together with the respective name;
- and
- (iv) constructing a natural language statement that includes the name, topic and values noted in substep (iii).
A program storage device readable by a computer, having embodied in a computer readable medium a program of instructions executable by the computer to perform method steps for supplying comparative information about at least two specified items out of a group of items belonging to any one category;
- each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the method steps comprising:
- retrieving from storage data entries corresponding to the specified items;
- among said retrieved entries comparing information associated with like topics;
- and
- constructing one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- wherein not all stored data entries of any group necessarily include identical topics and said comparing includes comparing values associated with like topics, if any;
- wherein said comparing includes, for any topic common to at least two of the retrieved entries-
- (i) finding within said at least two of the retrieved entries any values that are mutually equal, grouping all items that correspond to any thus identified value together as a similarity group, noting their names and associating said group with said common topic and with said equal value;
- and
- (ii) if no equal values are found, noting the names and values of all corresponding items, in association with said common topic;
- wherein said constructing includes constructing a natural language statement for each of said common topics which reflects respective results of substep (i) or substep (ii);
- the method further comprising:
- (iii) identifying any topic that is not common to any two or more of the retrieved entries, and noting one or more values associated with the thus identified topic in the respective entry, together with the respective name;
- and
- (iv) constructing a natural language statement that includes the name, topic and values noted in substep (iii).
A computer program product comprising a computer readable medium having computer readable program code embodied therein for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the computer program product comprising:
- computer readable program code for causing the computer to retrieve from storage data entries corresponding to the specified items;
- computer readable program code for causing the computer to compare, among said retrieved entries, information associated with like topics;
- and
- computer readable program code for causing the computer to construct one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- wherein not all stored data entries of any group necessarily include identical topics and said comparing includes comparing values associated with like topics, if any;
- wherein said comparing includes, for any topic common to at least two of the retrieved entries-
- (i) finding within said at least two of the retrieved entries any values that are mutually equal, grouping all items that correspond to any thus identified value together as a similarity group, noting their names and associating said group with said common topic and with said equal value;
- and
- (ii) if no equal values are found, noting the names and values of all corresponding items, in association with said common topic;
- wherein said constructing includes constructing a natural language statement for each of said common topics which reflects respective results of substep (i) or substep (ii);
- the method further comprising:
- (iii) identifying any topic that is not common to any two or more of the retrieved entries, and noting one or more values associated with the thus identified topic in the respective entry, together with the respective name;
- and
- (iv) constructing a natural language statement that includes the name, topic and values noted in substep (iii).
A computer based method for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the method comprising:
- retrieving from storage data entries corresponding to the specified items;
- among said retrieved entries comparing information associated with like topics;
- constructing one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- and
- presenting said natural language sentences to a user at a display;
- wherein-
- any topic is associated with a range of values, extending between two extreme values, and with a numerical scale whose minimum and maximum values correspond to respective extreme values of the range, such a topic being a fuzzy topic;
- in any data entry, the information associated with any fuzzy topic includes a position number within the respective scale, which number corresponds to a value within the respective range;
- and
- said comparing includes, with respect to any fuzzy topic, comparing the respective position numbers;
- wherein said comparing includes, with respect to any fuzzy topic, finding among said retrieved entries the highest and lowest position values, dividing the values between them into one or more identifiable subranges, associating each item with one of said subranges according to the corresponding position value and grouping all items according to their associated subranges, noting their respective names and noting for each group its respective subrange and the common topic;
- and
- wherein any fuzzy topic is further associated with a set of relational words, appropriate to its range of values, and wherein said constructing includes constructing, for any noted topic, natural language statements containing noted names, and relational words that reflect positions of respective noted subranges relative to each other or relative to said highest and lowest position values or relative to said scale.
A computer based method for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the method comprising:
- retrieving from storage data entries corresponding to the specified items;
- among said retrieved entries comparing information associated with like topics;
- constructing one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- and
- presenting said natural language sentences to a user at a display;
- wherein said constructing further includes combining a plurality of said statements having at least one item in common into a sentence, using connective words appropriate to the comparison-based relation between the respective statements;
- and
- wherein said constructing further includes-
- providing a library of connective phrases;
- selecting one or more phrases from said library at random;
- and
- concatenating a plurality of sentences that relate to a common category, whereby they are augmented by said selected phrases.
A program storage device readable by a computer, having embodied in a computer readable medium a program of instructions executable by the computer to perform method steps for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the method steps comprising:
- retrieving from storage data entries corresponding to the specified items;
- among said retrieved entries comparing information associated with like topics;
- and
- constructing one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- wherein-
- any topic is associated with a range of values, extending between two extreme values, and with a numerical scale whose minimum and maximum values correspond to respective extreme values of the range, such a topic being a fuzzy topic;
- in any data entry, the information associated with any fuzzy topic includes a position number within the respective scale, which number corresponds to a value within the respective range;
- and
- said comparing includes, with respect to any fuzzy topic, comparing the respective position numbers;
- wherein said comparing includes, with respect to any fuzzy topic, finding among said retrieved entries the highest and lowest position values, dividing the values between them into one or more identifiable subranges, associating each item with one of said subranges according to the corresponding position value and grouping all items according to their associated subranges, noting their respective names and noting for each group its respective subrange and the common topic;
- and
- wherein any fuzzy topic is further associated with a set of relational words, appropriate to its range of values, and wherein said constructing includes constructing, for any noted topic, natural language statements containing noted names, and relational words that reflect positions of respective noted subranges relative to each other or relative to said highest and lowest position values or relative to said scale.
A program storage device readable by a computer, having embodied in a computer readable medium a program of instructions executable by the computer to perform method steps for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the method steps comprising:
- retrieving from storage data entries corresponding to the specified items;
- among said retrieved entries comparing information associated with like topics;
- and
- constructing one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- wherein said constructing further includes combining a plurality of said statements having at least one item in common into a sentence, using connective words appropriate to the comparison-based relation between the respective statements;
- and
- wherein said constructing further includes-
- providing a library of connective phrases;
- selecting one or more phrases from said library at random;
- and
- concatenating a plurality of sentences that relate to a common category, whereby they are augmented by said selected phrases.
A computer program product comprising a computer readable medium having computer readable program code embodied therein for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the computer program product comprising:
- computer readable program code for causing the computer to retrieve from storage data entries corresponding to the specified items;
- computer readable program code for causing the computer to compare, among said retrieved entries, information associated with like topics;
- and
- computer readable program code for causing the computer to construct one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- wherein-
- any topic is associated with a range of values, extending between two extreme values, and with a numerical scale whose minimum and maximum values correspond to respective extreme values of the range, such a topic being a fuzzy topic;
- in any data entry, the information associated with any fuzzy topic includes a position number within the respective scale, which number corresponds to a value within the respective range;
- and
- said comparing includes, with respect to any fuzzy topic, comparing the respective position numbers;
- wherein said comparing includes, with respect to any fuzzy topic, finding among said retrieved entries the highest and lowest position values, dividing the values between them into one or more identifiable subranges, associating each item with one of said subranges according to the corresponding position value and grouping all items according to their associated subranges, noting their respective names and noting for each group its respective subrange and the common topic;
- and
- wherein any fuzzy topic is further associated with a set of relational words, appropriate to its range of values, and wherein said constructing includes constructing, for any noted topic, natural language statements containing noted names, and relational words that reflect positions of respective noted subranges relative to each other or relative to said highest and lowest position values or relative to said scale.
A computer program product comprising a computer readable medium having computer readable program code embodied therein for supplying comparative information about at least two specified items out of a group of items belonging to any one category, each item of the group having a corresponding data entry in the computer's storage, the data entry including a name, at least one topic and information associated with each topic, said information including at least one value, the computer program product comprising:
- computer readable program code for causing the computer to retrieve from storage data entries corresponding to the specified items;
- computer readable program code for causing the computer to compare, among said retrieved entries, information associated with like topics;
- and
- computer readable program code for causing the computer to construct one or more natural language sentences that reflect results of said retrieving and said comparing, by steps including:
- providing a plurality of natural language sentence templates, whereby each possible combination of a topic and category of items is associated with a particular template, and
- inserting names, topics and values resulting from said comparing into appropriate respective fields in an appropriate one of said templates;
- wherein said constructing further includes combining a plurality of said statements having at least one item in common into a sentence, using connective words appropriate to the comparison-based relation between the respective statements;
- and
- wherein said constructing further includes-
- providing a library of connective phrases;
- selecting one or more phrases from said library at random;
- and
- concatenating a plurality of sentences that relate to a common category, whereby they are augmented by said selected phrases.
Dependencies are inferred from the claim text.