发明名称 Part number search method and system
摘要 A computer implemented method and system for identifying one or more part numbers stored in a digital memory comprises parsing of each part number into its primary and secondary components and assigning a relevance score to each; parsing a query part number into one or more primary and secondary components and assigning a relevance score to each query component; identifying each stored part number that has at least one component that matches a query component; calculating for each identified part number a first sum equal to the sum of the relevance scores of the query components that match a component of the identified stored part number; and a second sum equal to the sum of the relevance scores of the components of the identified stored part number that match a query component; and sorting the identified stored part numbers as a function of said first and second sums.
申请公布号 US9015154(B2) 申请公布日期 2015.04.21
申请号 US201414295257 申请日期 2014.06.03
申请人 WayPart, Inc. 发明人 Tawfick Hisham Said;Danish Mohamed Sherif
分类号 G06F7/00;G06F17/30 主分类号 G06F7/00
代理机构 Bartels Law Group 代理人 Bartels Donald L.;Bartels Law Group
主权项 1. A computer implemented method for identifying one or more part numbers in a database of part numbers stored in a digital memory comprising: parsing each stored part number into one or more primary components and secondary components based on a predetermined set of rules; calculating a relevance score for each component of each said stored part number as follows: assigning a weight factor WFa having a first predetermined value for alphabetic characters and a weight factor WFn having a second predetermined value for numeric characters in said part number, wherein the second predetermined value is higher than the first predetermined value; calculating the weight WPC of each primary component by multiplying the number of characters in the primary component by WFa if the primary component contains alphabetic characters and by WFn if the primary component contains numeric component; calculating the sum of the weights WPC of the primary components SUM(WPCi) in said part number; calculating the weight of each character WEC by dividing a predetermined constant by SUM(WPCi); calculating the relevance score for each numeric primary component by multiplying the number of primary component characters times WFn times WEC; calculating the relevance score for each alphabetic primary component by multiplying the number of primary component characters times WFa times WEC; and for each secondary component of each primary component in said part number, calculating the relevance score as equal to the number of letters or numbers in the secondary component divided by the number of letters or numbers in the parent primary component times the relevance score of said parent primary component times a predetermined weighting factor, wherein the predetermined weighting factor for secondary components formed by omitting trailing characters in its parent primary component is a higher number than the weighting factor for secondary components formed by omitting leading characters in its parent primary component; storing said relevance scores in said digital memory; receiving a query part number and parsing it into one or more query primary components and query secondary components based on said first predetermined set of rules; calculating a relevance score for each query component of said query part number as follows: assigning a weight factor WFa having a first predetermined value for alphabetic characters and a weight factor WFn having a second predetermined value for numeric characters in said part number, wherein the second predetermined value is higher than the first predetermined value; calculating the weight WPC of each primary component by multiplying the number of characters in the primary component by WFa if the primary component contains alphabetic characters and by WFn if the primary component contains numeric component; calculating the sum of the weights WPC of the primary components SUM(WPCi) in said part number; calculating the weight of each character WEC by dividing a predetermined constant by SUM(WPCi); calculating the relevance score for each numeric primary component by multiplying the number of primary component characters times WFn times WEC; calculating the relevance score for each alphabetic primary component by multiplying the number of primary component characters times WFa times WEC; and for each secondary component of each primary component in said part number, calculating the relevance score as equal to the number of letters or numbers in the secondary component divided by the number of letters or numbers in the parent primary component times the relevance score of said parent primary component times a predetermined weighting factor, wherein the predetermined weighting factor for secondary components formed by omitting trailing characters in its parent primary component is a higher number than the weighting factor for secondary components formed by omitting leading characters in its parent primary component; identifying each stored part number that has at least one component that matches a query component of said query part number; calculating for each identified stored part number: a) a first sum equal to the sum of the relevance scores of the one or more query components of the query part number that match a component of the identified stored part number; b) a second sum equal to the sum of the relevance scores of the one or more components of the identified stored part number that match a query component; and c) a third sum equal to the number of components in the identified stored part number that match components in said query part number; sorting the identified stored part numbers in a predetermined numerical order as a function of said first sum; sorting the identified stored part numbers in a predetermined numerical order as a function of said second sum for any identified stored part numbers whose first sums are the same; and sorting the identified stored part numbers in descending numerical order as a function of said third sum for any identified stored part numbers whose first and second sums are the same, and wherein said predetermined set of rules causes the parsing of each stored part number and each query part number into one or more primary components based on the following: any contiguous set of one or more alphabet letters and any contiguous set of one or more numbers is a primary component, and wherein special characters, including but not limited to hyphens, dots, slashes, brackets and tabs, comprise primary component boundaries between adjacent letters and numbers; and wherein said predetermined set of rules causes the parsing of each primary component of each part number into zero or more secondary components based on the following: any subset of a primary component obtained by omitting one or more leading or trailing characters is a secondary component; and the number of secondary components for a given primary component is a predetermined function of the primary component.
地址 San Francisco CA US