IP Library Granted Patent US 7,093,233
Granted Patent B1
US 7,093,233 · App. 10/121,241 · Granted Aug 15, 2006

Computer-implemented automatic classification of product description information

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 7,093,233
App. No.
10/121,241
Granted
Aug 15, 2006
Kind
B1
Abstract

Automatically classifying product description information includes selecting a first word from the information and determining whether the word is defined as a prefix within one or more keywords, each keyword being associated with one of a plurality of classes, each class being associated with one or more keywords. If the word is defined as a prefix, then for each keyword for which the word is defined as a prefix, determine whether all suffixes of the prefix within the keyword are found among all remaining words in the information in sequence. For each keyword for which this is true, generate a new result for each class associated with the keyword. Then select a first new result; compare the new result with one or more previous results each corresponding to a class; if a suffix count for the new result is greater than a suffix count for a previous result, mark the new result as unambiguous, the new result being thereafter considered a previous result; and if one or more new results generated for the first word remain unselected, select a next new result and repeat until no new results remain unselected. If one or more words in the information remain unselected after processing the first word, select a next word and repeat until no words remain unselected. If a single previous result is marked as unambiguous after all words in the information have been selected and processed, then classify the information in the class corresponding to the previous result marked as unambiguous.

Claims (107)

1. A computer-implemented system for automatically classifying product description information, comprising:

a server component operable to:

automatically determine whether a predetermined strip word is found in the product description information, before the first word is selected and if so, eliminate the strip word and each word found subsequent to the strip word and before a next delineator in the product description information;

automatically select a first word from the product description information;

automatically determine whether the first word is defined as a prefix word within one or more keywords, each keyword being associated with one of a plurality of classes, each class being associated with one or more keywords;

if the first word is defined as a prefix word within one or more keywords, then for each keyword for which the first word is defined as a prefix word, automatically determine whether all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence;

for each keyword for which all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence, automatically generate a new result for each class associated with the keyword;

perform the following:

automatically select a first new result;

automatically compare the first new result with one or more previous results each corresponding to a class;

if a suffix count for the first new result is greater than a suffix count for a previous result, then automatically mark the new result as unambiguous, the new result being thereafter considered a previous result; and

if one or more new results remain unselected, then automatically select a next new result and repeat the above-described steps of comparing, marking, and selecting a next new result until no new results generated for the first word remain unselected;

if one or more words in the product description information remain unselected after processing the first word, then automatically select a next word and repeat the above-described steps of determining, determining, generating, performing, and selecting a next word until no words remain unselected; and

if a single previous result is marked as unambiguous after all the words in the product description information have been selected and processed, then automatically classify the product description information in the class corresponding to the previous result marked as unambiguous.

2. The system of claim 1 , wherein the suffix words are consecutive and corresponding words found in sequence in the product description information are not consecutive, the product description information comprising an intervening word not corresponding to a suffix word located between two words corresponding to suffix words.

3. The system of claim 1 , wherein the server component is further operable to:

maintain each result as a separate result data structure until deleted; and

maintain a list data structure comprising a list of all results for which result exist, each result having an associated indicator in the list data structure that may be used to mark the result as unambiguous, ambiguous, or unclassified as appropriate.

4. The system of claim 1 , wherein the new result is either:

compared with a single previous result marked as unambiguous; or

compared with a plurality of previous results sharing a highest suffix count.

5. The system of claim 4 , wherein each previous result that shares the highest suffix count has been marked as ambiguous to indicate that classification of the product description information in the class corresponding to the previous result should be manually validated.

6. The system of claim 1 , wherein the server component is further operable to, if the suffix count for the first new result is less than the suffix count for the previous result, then automatically select a next new result and compare the next new result with the one or more previous results until:

the suffix count for a selected next new result is greater than or equal to the suffix count for a previous result; or

there are no more new results from which to select.

7. The system of claim 1 , wherein the server component is further operable to, if the suffix count for the first new result is equal to the suffix count for the previous result, then automatically determine whether the class for the first new result is the same as the class for the previous result and:

if not, mark the previous result as ambiguous to indicate that classification of the product description information in the class corresponding to the previous result should be manually validated; and

if so, add the one or more keywords associated with the class to a sublist of keywords maintained for the previous result.

8. The system of claim 1 , wherein the server component is further operable to, if a single previous result is not marked as unambiguous after all words in the product description information have been selected and processed, then:

for each previous result with a highest suffix count, automatically determine whether a predetermined exclude word for the class corresponding to the previous result is found among all the words of the product description information and, if so, eliminate the previous result; and

if a single previous result with a highest suffix count remains, automatically mark this previous result as unambiguous and classify the product description information in the class corresponding to this previous result.

9. The system of claim 8 , wherein the server component is further operable to, if more than one previous result with a highest suffix count remains, automatically mark this previous result as ambiguous to indicate that classification of the product description information in the class corresponding to this previous result should be manually validated.

10. A computer-implemented method for automatically classifying product description information, comprising:

automatically determining whether a predetermined strip word is found in the product description information, before the first word is selected, and if so, eliminating the strip word and each word found subsequent to the strip word and before a next delineator in the product description information;

automatically selecting a first word from the product description information;

automatically determining whether the first word is defined as a prefix word within one or more keywords, each keyword being associated with one of a plurality of classes, each class being associated with one or more keywords;

if the first word is defined as a prefix word within one or more keywords, then for each keyword for which the first word is defined as a prefix word, automatically determining whether all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence;

for each keyword for which all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence, automatically generating a new result for each class associated with the keyword;

performing the following:

automatically selecting a first new result;

automatically comparing the first new result with one or more previous results each corresponding to a class;

if a suffix count for the first new result is greater than a suffix count for a previous result, then automatically marking the new result as unambiguous, the new result being thereafter considered a previous result; and

if one or more new results remain unselected, then automatically selecting a next new result and repeating the above-described steps of comparing, marking, and selecting a next new result until no new results generated for the first word remain unselected;

if one or more words in the product description information remain unselected after processing the first word, then automatically selecting a next word and repeating the above-described steps of determining, generating, performing, and selecting a next word until no words remain unselected; and

if a single previous result is marked as unambiguous after all words in the product description information have been selected and processed, then automatically classifying the product description information in the class corresponding to the previous result marked as unambiguous.

11. The method of claim 10 , wherein the suffix words are consecutive and corresponding words found in sequence in the product description information are not consecutive, the product description information comprising an intervening word not corresponding to a suffix word located between two words corresponding to suffix words.

12. The method of claim 10 , wherein:

once generated, each result is maintained as a separate result data structure until deleted; and

a list of all results for which result data structures exist is maintained using a list data structure, each result having an associated indicator in the list data structure that may be used to mark the result as unambiguous, ambiguous, or unclassified as appropriate.

13. The method of claim 10 , wherein the new result is either:

compared with a single previous result marked as unambiguous; or

compared with a plurality of previous results sharing a highest suffix count.

14. The method of claim 13 , wherein each previous result that shares the highest suffix count has been marked as ambiguous to indicate that classification of the product description information in the class corresponding to the previous result should be manually validated.

15. The method of claim 10 , further comprising if the suffix count for the first new result is less than the suffix count for the previous result, then automatically selecting a next new result and comparing the next new result with the one or more previous results until:

the suffix count for a selected next new result is greater than or equal to the suffix count for a previous result; or

there are no more new results from which to select.

16. The method of claim 10 , further comprising if the suffix count for the first new result is equal to the suffix count for the previous result, then automatically determining whether the class for the first new result is the same as the class for the previous result and:

if not, marking the previous result as ambiguous to indicate that classification of the product description information in the class corresponding to the previous result should be manually validated; and

if so, adding the one or more keywords associated with the class to a sublist of keywords maintained for the previous result.

17. The method of claim 10 , further comprising if a single previous result is not marked as unambiguous after all words in the product description information have been selected and processed, then:

for each previous result with a highest suffix count, automatically determining whether a predetermined exclude word for the class corresponding to the previous result is found among all the words of the product description information and, if so, eliminating the previous result; and

if a single previous result with a highest suffix count remains, automatically marking this previous result as unambiguous and classifying the product description information in the class corresponding to this previous result.

18. The method of claim 17 , further comprising if more than one previous result with a highest suffix count remains, automatically marking this previous result as ambiguous to indicate that classification of the product description information in the class corresponding to this previous result should be manually validated.

19. Software for automatically classifying product description information, the software being embodied in computer-readable media and when executed operable to:

automatically determine whether a predetermined strip word is found in the product description information, before the first word is selected, and if so, eliminate the strip word and each word found subsequent to the strip word and before a next delineator in the product description information;

automatically select a first word from the product description information;

automatically determine whether the first word is defined as a prefix word within one or more keywords, each keyword being associated with one of a plurality of classes, each class being associated with one or more keywords;

if the first word is defined as a prefix word within one or more keywords, then for each keyword for which the first word is defined as a prefix word, automatically determine whether all suffix words of the prefix word within the keyword are found among all remaining words in the product description information sequence;

for each keyword for which all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence, automatically generate a new result for each class associated with the keyword;

perform the following:

automatically select a first new result;

automatically compare the first new result with one or more previous results each corresponding to a class;

if a suffix count for the first new result is greater than a suffix count for a previous result, then automatically mark the new result as unambiguous, the new result being thereafter considered a previous result; and

if one or more new results remain unselected, then automatically select a next new result and repeat the above-described operations of comparing, marking, and selecting a next new result until no new results generated for the first word remain unselected;

if one or more words in the product description information remain unselected after processing the first word, then automatically select a next word and repeating the above-described operations of determining, generating, performing, and selecting a next word until no words remain unselected; and

if a single previous result is marked as unambiguous after all words in the product description information have been selected and processed, then automatically classify the product description information in the class corresponding to the previous result marked as unambiguous.

20. The software of claim 19 , wherein the suffix words are consecutive and corresponding words found in sequence in the product description information are not consecutive, the product description information comprising an intervening word not corresponding to a suffix word located between two words corresponding to suffix words.

21. The software of claim 19 , operable to:

maintain each result as a separate result data structure until deleted; and

maintain a list data structure comprising a list of all results for which result exist, each result having an associated indicator in the list data structure that may be used to mark the result as unambiguous, ambiguous, or unclassified as appropriate.

22. The software of claim 19 , wherein the new result is either:

compared with a single previous result marked as unambiguous; or

compared with a plurality of previous results sharing a highest suffix count.

23. The software of claim 22 , wherein each previous result that shares the highest suffix count has been marked as ambiguous to indicate that classification of the product description information in the class corresponding to the previous result should be manually validated.

24. The software of claim 19 , operable to, if the suffix count for the first new result is less than the suffix count for the previous result, then automatically select a next new result and compare the next new result with the one or more previous results until:

the suffix count for a selected next new result is greater than or equal to the suffix count for a previous result; or

there are no more new results from which to select.

25. The software of claim 19 , operable to, if the suffix count for the first new result is equal to the suffix count for the previous result, then automatically determine whether the class for the first new result is the same as the class for the previous result and:

if not, mark the previous result as ambiguous to indicate that classification of the product description information in the class corresponding to the previous result should be manually validated; and

if so, add the one or more keywords associated with the class to a sublist of keywords maintained for the previous result.

26. The software of claim 19 , operable to, if a single previous result is not marked as unambiguous after all words in the product description information have been selected and processed, then:

for each previous result with a highest suffix count, automatically determine whether a predetermined exclude word for the class corresponding to the previous result is found among all the words of the product description information and, if so, eliminate the previous result; and

if a single previous result with a highest suffix count remains, automatically mark this previous result as unambiguous and classifying the product description information in the class corresponding to this previous result.

27. The software of claim 26 , operable to, if more than one previous result with a highest suffix count remains, then automatically mark this previous result as ambiguous to indicate that classification of the product description information in the class corresponding to this previous result should be manually validated.

28. A computer-implemented system for automatically classifying product description information comprising:

means for automatically determining whether a predetermined strip word is found in the product description information, before the first word is selected, and if so, eliminating the strip word and each word found subsequent to the strip word and before a next delineator in the product description information;

means for automatically selecting a first word from the product description information;

means for automatically determining whether the first word is defined as a prefix word within one or more keywords, each keyword being associated with one of a plurality of classes, each class being associated with one or more keywords;

means for, if the first word is defined as a prefix word within one or more keywords, then for each keyword for which the first word is defined as a prefix word, automatically determining whether all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence;

means for, for each keyword for which all suffix words of the prefix word within the keyword are found among all remaining words in the product description information in sequence, automatically generating a new result for each class associated with the keyword;

means for performing the following:

automatically selecting a first new result;

automatically comparing the first new result with one or more previous results each corresponding to a class;

if a suffix count for the first new result is greater than a suffix count for a previous result, then automatically marking the new result as unambiguous, the new result being thereafter considered a previous result; and

if one or more new results remain unselected, then automatically selecting a next new result and repeating the above-described steps of comparing, marking, and selecting a next new result until no new results generated for the first word remain unselected;

means for, if one or more words in the product description information remain unselected after processing the first word, then automatically selecting a next word and repeating the above-described steps of determining, generating, performing, and selecting a next word until no words remain unselected; and

means for, if a single previous result is marked as unambiguous after all words in the product description information have been selected and processed, then automatically classifying the product description information in the class corresponding to the previous result marked as unambiguous.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Sep 16, 2021
From: JPMORGAN CHASE BANK, N.A.
To: BLUE YONDER GROUP, INC.; BLUE YONDER, INC.; JDA SOFTWARE SERVICES, INC.; I2 TECHNOLOGIES INTERNATIONAL SERVICES, LLC; MANUGISTICS SERVICES, INC.; MANUGISTICS HOLDINGS DELAWARE II, INC.; REDPRAIRIE COLLABORATIVE FLOWCASTING GROUP, LLC; JDA SOFTWARE RUSSIA HOLDINGS, INC.; REDPRAIRIE SERVICES CORPORATION; BY BOND FINANCE, INC.; BY NETHERLANDS HOLDING, INC.; BY BENELUX HOLDING, INC.
Reel/Frame 057724/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REEL 026468 FRAME NUMBER FROM 0199 TO 0119 PREVIOUSLY RECORDED ON REEL 055136 FRAME 0623. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION ASSIGNMENT. Recorded Apr 19, 2021
From: I2 TECHNOLOGIES US, INC.
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 056813/0110 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED AT REEL: 026740 FRAME: 0676. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 8, 2021
From: JDA TECHNOLOGIES US, INC.
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 055257/0747 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED ON REEL 026468 FRAME 0199. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME FROM I2 TECHNOLOGIES US, INC. TO JDA TECHNOLOGIES US, INC.. Recorded Dec 12, 2020
From: I2 TECHNOLOGIES US, INC.
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 055136/0623 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0697 Recorded Oct 12, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 040337/0053 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0809 Recorded Oct 12, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 040337/0356 →
SECURITY AGREEMENT Recorded Oct 12, 2016
From: RP CROWN PARENT, LLC; RP CROWN HOLDING LLC; JDA SOFTWARE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040326/0449 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 2, 2013
From: JDA SOFTWARE GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 029556/0697 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 2, 2013
From: JDA SOFTWARE GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 029556/0809 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 21, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 029529/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2011
From: JDA TECHNOLOGIES US, INC.
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 026740/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2011
From: I2 TECHNOLOGIES US, INC
To: JDA TECHNOLOGIES US, INC
Reel/Frame 026468/0119 →
PATENT SECURITY AGREEMENT Recorded Apr 4, 2011
From: JDA TECHNOLOGIES US, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 026072/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2002
From: SUBRAMANYA, GIRISH (NMI); MUNDAKANA, ARAVINDA (NMI); CHANDRAMOULI, NATARAJAN (NMI)
To: I2 TECHNOLOGIES US, INC.
Reel/Frame 012798/0579 →