US20120330779A1 - Predicting Purchasing Requirements - Google Patents
Predicting Purchasing Requirements Download PDFInfo
- Publication number
- US20120330779A1 US20120330779A1 US13/604,377 US201213604377A US2012330779A1 US 20120330779 A1 US20120330779 A1 US 20120330779A1 US 201213604377 A US201213604377 A US 201213604377A US 2012330779 A1 US2012330779 A1 US 2012330779A1
- Authority
- US
- United States
- Prior art keywords
- user
- rules
- purchasing
- processors
- transaction information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0224—Discounts or incentives, e.g. coupons or rebates based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0267—Wireless devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/925—Business
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/934—Information retrieval or Information management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Definitions
- the present disclosure relates to a system and method for dynamic profiling of a user in one to one marketing applications.
- the static profile contains all of the factual information of the user including, for example, demographic data (e.g., age, sex, address), psychographic data (e.g., personality traits and habits), purchasing preferences (e.g., what does the user purchase in an average week), etc.
- Static profiles are generated using conventional methods that are known to those of ordinary skill in the art.
- Dynamic profiling information includes specific rules describing the user's behavior. For example, such rules may include: “whenever user X travels to France, user X often buys expensive wines in Paris” or “when user Y shops on a weekend and did not buy any groceries for at least 3 days, user Y usually purchases a large amount of groceries.” These rules can be generated with transactional data for each user using various rule generation methods that are generally known to those of ordinary skill in the art. For example, one such conventional rule generation method is implemented in a rule learning system which generates behavior rules for individual customers. (See T. Fawcett et al., “Combining Data Mining and Machine Learning for Effective User Profiling”, Proceedings of the KDD '96 Conference, 1996, pp. 8-13).
- the system and method according to particular embodiments generate dynamic profiles and, thereafter, transforms the dynamic profiles for various users into aggregate rules.
- “similar” individual rules are compressed into a smaller number of aggregated rules. Because the total number of aggregate rules is substantially smaller than the total number of individual rules for all of the users, the aggregate rules can be examined manually by a human expert. This expert examines these aggregated rules and selects only rules based on the expert's preferences. Only the individual rules that correspond to the aggregated rules selected by the human expert are retained in the user's profiles. Since the selected aggregate rules were selected by the human expert, a creation of more accurate dynamic profiles is further assured. The system and method according to particular embodiments thus provide a more useful set of individual rules for each user.
- Dynamic Web Content Presentation systems can include the system and method according to particular embodiments because the users will be provided with better quality profiles to facilitate the provision of more pertinent Web pages to the user visiting a particular Web site.
- Fraud detection systems may also include the system and method according to particular embodiments, thus providing higher quality user profiles which may facilitate better fraud detection.
- Other applications for the system and method according to particular embodiments are also conceivable to those of ordinary skill in the art.
- system and method according to particular embodiments utilizing the above-described rule compression method is not limited to a construction of pertinent dynamic profiles, and can be used in a vast variety of applications (e.g., construction of high quality association rules in data mining applications). Other usages of the system and method according to particular embodiments are also conceivable to one having ordinary skill in the art.
- the user rules are validated using a processing device. These user rules are retrieved from a storage device. The user rules are then separated into at least one subset of a user set. Then, it is determined if particular rules of the at least one subset is one of acceptable, unacceptable and undecided based on a defined criteria. If the particular rules of at least one subset are acceptable, the particular rules of the at least one subset are provided to a corresponding user.
- an exemplary user rule may indicate that whenever a user buys milk in the evening, this user also buys onions. It is difficult to ascertain if this rule adequately describe the user's behavior. In fact, it may be a statistical coincidence. Therefore, it is preferable to allow the user (or a human expert) to examine groups of the user rules.
- Certain exemplary embodiments of exemplary architectures, systems, apparatus, methods, and computer-readable medium according to the present disclosure can provide at least one recommendation to at least one of one or more users and one or more applications using multidimensional data.
- the multidimensional data which can define a multidimensional space defined by a Cartesian product of the dimensions.
- the multidimensional space can have at least three dimensions, and each of the dimensions can be capable of (i) providing variable information, and (ii) having a type that is different from a type of another one of the dimensions. It is also possible to retrieve information from data associated with the multidimensional space.
- at least one recommendation can be generated based on the retrieved information.
- at least one of the dimensions can include profiles.
- FIG. 1 shows a top level diagram of a process for generating user profiles.
- FIG. 2 shows a flow diagram for generating static and dynamic user profiles.
- FIG. 3 shows a flow diagram of a process for compressing dynamic rules, generating aggregate rules, validating the aggregate rules and creating user profiles.
- FIGS. 4 . 1 - 4 . 2 shows a detailed flow diagram of an exemplary rule compression process according to particular embodiments.
- FIG. 5 shows a detailed flow diagram of an exemplary cluster compression process according to particular embodiments.
- FIG. 6 a shows an exemplary system for generating user profiles according to particular embodiments.
- FIG. 6 b shows a first system for generating the user profiles according to particular embodiments as illustrated in FIG. 6 a.
- FIG. 6 c shows a second system for generating the user profiles according to particular embodiments as illustrated in FIG. 6 a.
- FIG. 7 shows a block diagram of an exemplary Personal Intelligent Digital Assistant system according to particular embodiments.
- FIG. 8 shows a flow diagram of another embodiment of the process according to particular embodiments in which individual user rules are selectively validated using a selective validation module.
- FIGS. 9 . 1 - 9 . 2 shows a flow diagram of an exemplary embodiment of a process executed by the selective validation module (illustrated in FIG. 8 ).
- FIG. 10 shows a flow diagram of an exemplary procedure to generate the attribute hierarchy and to provide a cluster operation.
- FIG. 11 shows a detailed illustration of an exemplary procedure to generate “Cut” data.
- FIG. 12 shows an exemplary procedure for grouping subsets using the “Cut” data.
- FIG. 13 shows an exemplary attribute hierarchy which can be utilized with this embodiment of the process and system according to particular embodiments.
- FIG. 14 shows an exemplary illustration of a first level extension and a second level extensions of an exemplary node/group illustrated in FIG. 13 .
- FIG. 15 shows an exemplary implementation of the process and system according to this embodiment of particular embodiments as illustrated in FIGS. 8 and 9 .
- FIG. 1 A flow diagram of an exemplary process for building user profiles is illustrated in FIG. 1 .
- information regarding, e.g., the user's past purchasing history is retrieved in step 1 .
- step 2 user profiles are built, and the process completion is signaled in step 3 .
- User profiles can preferably be generated using static profiles and dynamic profiles.
- FIG. 2 A more detailed flow diagram of the process of building user profiles (represented in FIG. 1 by step 2 ) is illustrated in FIG. 2 .
- the static profile includes user static characteristics (e.g., name of the user, address, telephone number, date of birth, sex, income, etc.).
- the static profile is built in step 10 using methods known to one having ordinary skill in the art. After the static profile is built, this static profile is stored in a separate file based on the data obtained from the CUST and TRANS files, as discussed below.
- the “CUST” file has the following format:
- Cust_ID is a user identifier that provides an index value for locating a specific user in the CUST file.
- a 1 , A 2 . . . A m are fields describing the characteristics of the user (e.g., sex, income, education, etc.).
- a dynamic profile is built in step 15 .
- a dynamic profile consists of rules (or patterns) characterizing a user's behavior, e.g., “if user X shops in the evening on weekdays and purchases diapers, user X also buys beer”, “if user X shops on weekdays, user X usually buys a small number of items”, “if user X travels to New York on business, user X prefers to have lunches at expensive seafood restaurants.”
- the rules are derived from a set of transactions pertaining to a particular user. These transactions may be, for example, credit card transactions, airline reservations and Web site visit transactions, and are stored in the “TRANS” file which has the following format:
- Trans_ID corresponds to a unique index key that identifies the transaction being performed by the user.
- Fields C 1 , C 2 , . . . C n identify a particular transaction (e.g., date of transaction, time of transaction, amount spent, location of the transaction, etc.).
- the field “Cust_ID” corresponds to an index key pointing to a particular user having a respective record in the CUST file.
- the user performing a particular transaction can be identified.
- Other file formats can also be utilized, as can be understood by those having ordinary skill in the art.
- the user-specific information can also be stored in several files rather than in a single CUST file (thus, the CUST file can be normalized by splitting the CUST file into several smaller files). Using different file formats does not affect the operability of the system and process according to particular embodiments.
- the static and dynamic profiles are combined to form a combined user profile in step 25 .
- the following exemplary information can be obtained from the TRANS file to be provided into the static profile when the static and dynamic profiles (the CUST and TRANS files) are combined: a) an average transaction amount for user X; b) user X's favorite brand of beer is, e.g., Heineken; c) user X shops mostly on weekends.
- Rules provided in the dynamic profile are generated for each user. Because a user may perform only a small number of transactions, the corresponding rules generated may be statistically insignificant, unreliable and irrelevant. In many systems (e.g, airline reservations systems, credit card transactional systems, or Web site usage systems), it is possible to have from as little as a few dozen to a few hundred transactions per each user. The rules generated with such amounts of data are often ineffective and insignificant.
- the total number of generated rules can also be very large. For example, in a system serving 5 million customers and generating an average of 100 rules per user, a total number of generated rules can reach 500 million. Many of the 500 million generated rules are of questionable quality and usefulness. In order to filter the rules having such undesirable characteristics, a human expert must decide which dynamic rules should be stored and which dynamic rules should be discarded. It would be impossible for the human expert to manually check the usefulness of all 500 million rules.
- Quality dynamic profiles are generated by validating dynamic rules generated using various rule induction methods.
- the human expert validates the machine-generated rules to determine their “usefulness” in various systems. Since most of the systems generate too many rules to be manually examined by human experts, the system and method according to particular embodiments facilitates compressing individual rules into “aggregated” rules. After the individual rules are compressed into the aggregated rules, the aggregated rules are evaluated by a human expert who selects only the rules that the expert believes are pertinent for the user. In addition, it is possible (in some applications) that the respective user can be such a human expert (and examining only the rules that are pertinent to the respective user).
- C i1 , C i2 , . . . , C i are fields from the TRANS file
- a i1 a i2 , . . . , a ik , a i are constants
- each rule is assigned to a user defined by the Cust_ID (user identifier) from the CUST file.
- step 30 individual rules are provided for processing.
- step 35 several “similar” individual rules (of the form (1)) are compressed into one aggregated rule of the form:
- a i1 , . . . , A ij are the fields in the CUST file
- b ij , . . . , b ij are constants
- the newly aggregated rules can be, e.g., fuzzy rules
- the operators ⁇ ij should also be, e.g., fuzzy operators.
- several of the individual rules that are similar can be compressed into one aggregated rule pertaining to the same subject matter that can be applicable to several users. For example, if several rules have the form:
- Additional fields are fields from the CUST file.
- Individual rules relating to different users can be compressed into the same aggregated rule for a group of users.
- the rule compression can preferably be implemented for different users.
- the number of aggregated rules (of the form (2)) generated by the compression algorithm should be much smaller than the initial number of individual rules.
- the aggregated rules can be validated (one by one) by the human expert (including a particular user) to determine which rules are appropriate for that user. After the user validates the aggregated rules, this user selects the set of preferred aggregated rules in step 50 . Only the individual rules corresponding to the aggregated rules selected in step 50 are retained in the user's dynamic profile (step 55 ) to provide validated individual rules (step 60 ) to the user.
- FIG. 4 illustrates a detailed flow diagram of an exemplary rule compression process (starting from step 35 in FIG. 3 ).
- Two individual rules of the form (1) are referred to as “similar” rules if they differ from each other only in the values of their respective constants a ij .
- similar rules should have the same number of terms, the same fields C ij , and the same comparison operators ⁇ ij .
- Similar rules can be mapped into the (k+1) dimensional space defined by Dom(C i1 ) x . . .
- Dom is a domain (or range of values) of the field C
- a rule having the form (1) being mapped into the points (i.e., a i1 , a i2 , a ik , a i ).
- This set of points is generated by similar rules. For example, the rule “if user X shops in the evening on weekdays and purchases diapers, user X also buys beer” can be written as:
- This sample rule would be mapped into the corresponding vector (“evening”, “weekday”, “diapers”, “beer”) of the 4-dimensional space of attributes (variables):Shopping_time, Day_of_week, Purchase and another Purchase.
- the exemplary rule compression process then generates rules (e.g., fuzzy rules of the form (2)).
- fuzzy rules utilize fuzzy linguistic variables for the fields from the CUST and TRANS files, which are generally known to those having ordinary skill in the art.
- Each fuzzy linguistic variable has a corresponding identifier (e.g., Income, Transaction_Amount, etc.), each being capable of providing a range of values (e.g., natural numbers between 0 and 1,000,000), a set of terms (e.g., “low”, “medium”, “high”, etc.), and a membership function that assigns a membership value (e.g., between 0 and 1) to each value from the domain of the fuzzy linguistic variable for each range of values.
- a membership value e.g., between 0 and 1
- the non-ordered fields in the CUST and TRANS files have assigned classification hierarchies; for example, the field “Product_Purchased” can include standard classification hierarchies used in marketing.
- UPCs e.g., can be grouped into brands, brands can be grouped into product categories, etc.
- Exemplary outputs generated by the Rule Compression Process are a set of (preferably) fuzzy aggregated rules having the form (2).
- step 160 all the individual rules of the form (1) are grouped into sets of similar rules (i.e., rules having the same structure).
- Each set of similar rules forms a set of points in a k-dimensional space generated by the individual rules described above.
- step 165 a group of clusters of the generated points is determined using any of the cluster computation methods known to those of ordinary skill in the art.
- an approximate rule for that cluster is determined in Step 180 .
- the approximate rule is determined as a function of the points in the cluster.
- a point in the cluster may be the “center” of the cluster.
- the center can be identified as a point that minimizes the sum of distances from a particular point to other points in the cluster. For example, given
- Cluster C i (c i1 , c i2 , . . . c ik ), the center of this cluster is the point that minimizes the expression:
- the center of the cluster can also be determined using other methods, such as, e.g., selecting the most “representative” point in that cluster.
- step 185 the next cluster is selected and the procedure described with respect to step 180 is repeated.
- step 175 it is determined whether all of the clusters in the group of clusters have been evaluated.
- cluster Clust i contains three 3-dimensional points (0,0,1), (0,1,0), (1,0,1), corresponding to the vertices of a equilateral triangle
- the center of this cluster C i is the center of the triangle, i.e., the point (1 ⁇ 2,1 ⁇ 2,1 ⁇ 2).
- Other approaches to defining the center of a cluster can be used.
- This exemplary rule compression process does not depend on any specific method for defining any center of a cluster C i .
- step 190 a total number of clusters generated in Step 165 is provided to the user.
- step 195 the user is asked if there are too many of the generated clusters for manually inspecting the aggregated rules (i.e., the number of generated clusters is greater than a predetermined number). If so, the generated clusters are compressed using a cluster compression process described in step 205 . Thereafter, there is a smaller number of clusters (and corresponding aggregation rules per cluster). The user is asked again, in step 195 , if there are too many generated clusters for the manual inspection of aggregated rules.
- a set of users corresponding to the points for that cluster is identified in step 210 .
- Each point in a cluster corresponds to a first representative rule from the dynamic profile of the user, so that all of the users corresponding to the dynamic profile rules from that cluster can be identified.
- CUST_ID i is defined as a set of values Cust ID ij corresponding to the users corresponding to the rules of cluster C i .
- a set of records (“CUST i ”) from the CUST file corresponding to the users of that cluster is identified (i.e., having user ID values from the set CUST_ i ).
- CUST i ⁇ r
- the set of records CUST i form a set of points in m-dimensional space (where m is the number of fields in the CUST file). These points are separated into clusters using the same techniques as described in step 165 . For each resulting cluster CUST ij , a center is located as explained below. The set of points belonging to that cluster is approximated with a logical statement having the form:
- a i are the fields of the CUST file
- b ij1 are constants.
- step 220 the first and second representative rules are augmented (i.e., expression (4) is augmented with expression (3)).
- the resulting rule is:
- step 225 the rules of the form (5) generated in step 220 are converted into fuzzy aggregated rules.
- each field A i and C ij in the form (5) is mapped into a corresponding fuzzy linguistic variable associated with that field.
- all of the terms in the expression (5) are converted into appropriate fuzzy expressions.
- step 230 the set of aggregated fuzzy rules generated by the rule compression process is shown to the human expert who selects only the meaningful and useful rules from this set according to user desired criteria.
- FIG. 5 shows an exemplary cluster compression process as discussed above with respect to step 205 illustrated in FIG. 4 .
- clusters Clust 1 and Clust 2 are determined in step 165 . Since Clust 1 and Clust 2 can be generated by dissimilar rules, the rules from each of these clusters Clust 1 and Clust 2 can be very different (or similar). Therefore, it is important to determine whether two different clusters are substantially similar to each other so that they can be merged. In particular, the distance between two aggregated rules of the form (3) corresponding to the centers of these clusters is determined to ascertain whether these different clusters are substantially similar. As an example, the following two aggregated rules corresponding to the center of Clust 1 and Clust 2 are considered:
- x and y are uniformly distributed random variables ranging over the domains Dom(C 3 ) and Dom(C 2 ) of attributes C 3 and C 2 respectively and z is a uniformly distributed random variable ranging over the domain of Dom(C 2 ) from its smallest element to b.
- This procedure can also be performed using actual distribution in the data for corresponding attributes of x and y variables.
- C 2 ⁇ b the first aggregated rule described above
- the distance between these two points can be calculated for fixed values of variables x, y, and z—d(Clust 1 (x,z), Clust 2 (y)) (i.e., if all the attributes are numeric, then the distance can be a Euclidean distance; if some of the attributes are categorical and unordered, the distance can be calculated in terms of how far the nodes are in the aggregation hierarchy defined for that attribute)—then the distance between clusters Clust 1 and Clust 2 is equal to:
- d ⁇ ( Clust 1 , Clust 2 ) 1 Dom ⁇ ( C 2 ) * Dom ⁇ ( C 3 ) * ( b - min ⁇ ( Dom ⁇ ( C 2 ) ) * ⁇ x ⁇ Dom ⁇ ( C 3 ) , y ⁇ Dom ⁇ ( C 2 ) , z ⁇ b ⁇ ⁇ d ⁇ ( clust 1 ⁇ ( x , z ) , Clust 2 ⁇ ( y ) )
- the rules corresponding to the centers of these two clusters are extended with, e.g., dummy attributes and dummy random variables that form a union of the attributes for clusters Clust 1 and Clust 2 .
- the distances between the two rules for fixed values of random variables can be calculated. Thereafter, the random variables are either integrated (for continuous random variables) or summed (for discrete random variable) over different values of these random variables.
- the distance between clusters can be determined using the system and method according to particular embodiments.
- the clusters can be merged as follows.
- the size of the cluster should be determined as a part of the Cluster Compression process.
- the size of the cluster is the measure of how far the points of the cluster are apart from each other. This size can be determined, e.g., using the following formula:
- the flow diagram in FIG. 5 illustrates an exemplary process for compressing clusters.
- two clusters Clust 1 and Clust 2 are selected in step 250 .
- the simplest way to select the clusters is in an arbitrary manner.
- step 260 the distance between the clusters is determined, as discussed above.
- step 265 the respective size of each cluster is determined.
- step 270 a check is performed to determine if the distance between the clusters ⁇ d(Clust 1 , Clust 2 ) ⁇ is smaller than the sizes of these clusters (e.g., to determine if these two clusters are “close enough” to each other). If so, the clusters should be merged into one cluster in step 275 ; otherwise, the clusters are maintained as separate clusters.
- an inquiry as to whether two clusters are “close enough” can be computed in the following manner, e.g.:
- ⁇ is a predetermined threshold value.
- the two clusters should be merged by forming a new cluster consisting of points from Clust 1 and Clust 2 if condition (8) occurs. Steps 250 - 275 should be repeated until there are no more clusters left that can be merged (see step 255 ).
- step 250 of the cluster compression process distances between, e.g., all pairs of clusters can be calculated and condition (8) can be checked to ascertain which clusters should be merged. Other methods to select the clusters for compression can also be used. Furthermore, the distance between all the pairs of clusters does not necessarily have to be calculated.
- the system according to particular embodiments can be used in a Personal Shopping Assistant (PSA), a Personal Intelligent Digital Assistant (PIDA), and in a dynamic Web content presentation system, described below.
- PSA Personal Shopping Assistant
- PIDA Personal Intelligent Digital Assistant
- dynamic Web content presentation system described below.
- a Personal Shopping Assistant (PSA) system provides recommendations on the products and services that its users should consider purchasing (including, e.g., suggestions for purchasing at a specific source, and at a particular price).
- An exemplary embodiment of the PSA system according to particular embodiments is shown in FIG. 6 a.
- the system includes a User Transaction Collection and Recording Unit (or module) 115 , a Past Purchasing History Storage Unit (or module) 120 , a User Profile Generation module 110 , a State-of-the-World module 150 , a User Estimated Purchasing Needs module 140 , a Purchasing Recommendations module 145 , and the State-of-the-User module 160 .
- the User Transaction Collection and Recording Unit 115 collects most of the shopping transactions performed by the user (e.g. 80-90% of all the purchases made by the user).
- the User Transaction Collection and Recording Unit 115 can be implemented as a “smart card,” or as a smart Point of Sales register that records individual items purchased by the user.
- the user himself can record this information (as part of the User Transaction Collection and Recording Unit 115 ) using some transaction recording systems such as Quicken or Microsoft's Money.
- the User Transaction Collection and Recording Unit 115 records and transmits this information to the Purchasing History Storage Unit 120 where this information is stored as part of the purchasing history of the user.
- the Purchasing History Storage Unit 120 can be implemented, e.g., as a database that records transactions performed by various users in the TRANS file, as described above.
- Static profiles include the user's demographic information (e.g., age, sex, marital status), particular preferences (e.g., user prefers a particular brand of beer), and certain purchasing decisions (e.g., the user bought a particular automobile in a particular month).
- Dynamic profiles include a set of rules (e.g., “if a user goes to France, the user often buys perfumes in Paris”, “if user Y visits a Web site from the site Z in the evening, user Y does not spend a predetermined amount of time at site Z”, etc.).
- the PSA system maintains information on the current State of the World using the State-of-the-World module 150 , which records information, e.g., on a broad range of products and services offered by various suppliers and on promotions and discounts run for these products and services.
- the PSA system includes the State-of-the-User module 160 that maintains information about the user obtained from the Purchasing History Storage Unit 120 (e.g., the user will be in New York on Jun. 28, 1995 because she purchased an airline ticket for that date and destination) and various external information (e.g., the date, time, and the user's location, if available).
- the PSA system estimates the user's future purchasing needs using the User Estimated Purchasing Needs module 140 .
- This Estimated Purchasing Needs module 140 may match the rules specifying which products the user will buy (and when) with the user's purchasing history. As a result, a set of products that the user should consider buying is produced.
- the PSA system will match these needs against a broad range of products and services offered by various suppliers and on the promotions and discounts run for these products and services.
- This matching process is performed by the Purchasing Recommendation module 145 using conventional methods that are known to those of ordinary skill in the art. For example, if the user needs to buy a pair of jeans within the next two months, the Purchasing Recommendations module 145 selects the merchants selling jeans, e.g, the cheapest pair of jeans that fits the use's requirements (considering the promotions offered within the next two months) by matching to the user profile (i.e., the user's purchasing needs). Once the Purchasing Recommendations module 145 matches the user's purchasing needs against the products and services, the Purchasing Recommendations module 145 provides purchasing recommendations to the user.
- the PSA service may ascertain that whenever user X goes to France, user X often buys perfume in Paris. This rule is stored as a part of the user profile using the User Profile Generation module 110 .
- the Purchasing History Storage Unit 120 of the PSA service may receive information that the user has purchased a ticket to Paris, and in a substantially same time period, the State-of-the-World Unit 150 of the PSA service also receives information that, e.g., Christian Dior has launched a new line of perfumes that is similar to the brands previously purchased by user X.
- the State-of-the-World Unit 150 may also receive information that the duty-free shop at Charles de Gaulle airport is having a sale on these new perfumes (the price being very competitive).
- the PSA service using the User Estimated Purchasing Needs module 140 ) estimates that user X may want to buy these perfumes and sends a message to user X (via the Purchasing Recommendation module 145 ) to consider purchasing the new perfume at the duty-free shop at Charles de Gaulle airport.
- the success of the PSA service depends primarily on accurate predictions by the PSA service of users' future needs. If the user finds, e.g., 50% of the PSA suggestions useful, the user will probably be satisfied with the PSA service. However, if the user finds, e.g., only 10% of the suggestions to be useful, the user will, most likely, reject this service. As indicated above, in order to make predictions of the user's future needs more accurate, it is important to build reliable user profiles. Particular embodiments provide a method and system for generating better dynamic profiles and, therefore, providing more accurate predictions of the users' future needs.
- the PSA system illustrated in FIG. 6 a can be implemented using a first exemplary system shown in FIG. 6 b and a second exemplary system shown in FIG. 6 c.
- the first exemplary system of FIG. 6 b provides that the User Transaction Collection and Recording Unit 115 is stored on the client side. All other modules from FIG. 6 a are stored on the server side and are connected to the User Transaction Collection and Recording Unit 115 via a Telecommunication Medium 130 (e.g., a telephone line or a wireless communication medium).
- Telecommunication Medium 130 e.g., a telephone line or a wireless communication medium.
- individual user purchasing histories and static and dynamic profiles of these users are stored on the server at a central location (e.g. a database), and the method and system according to particular embodiments (as described above) generates improved dynamic profiles, and thus provides better estimated purchasing needs of the users.
- the second exemplary system of FIG. 6 c provides that the User Transaction Collection and Recording Unit 115 , the User's Profile Generation Module 110 , the Purchasing History Storage Unit 120 , the State-of-the-World module 150 , the State-of-the-User module 160 , and the User Estimated Purchasing Needs module 140 are stored on the client side, while the State-of-the-World module 150 and the Purchasing Recommendations module 145 are stored on the server side.
- the user dynamic profiles are validated in Step 20 of FIG. 2 by the user (since these profiles are stored on the client side and are available to the user for checking and validating).
- module 140 estimates user purchasing needs, these estimated user purchasing needs are transmitted via the Telecommunication Medium 130 (e.g., a telephone line or a wireless communication medium) to the server, where the estimated user purchasing needs are matched by the Purchasing Recommendation module 145 to various products and services offered by various suppliers (that are stored on the server side). The resulting purchasing recommendations are transmitted back to the client side via the telecommunication medium 130 for the user's consideration.
- Telecommunication Medium 130 e.g., a telephone line or a wireless communication medium
- the PSA service can also be used in a Personal Intelligent Digital Assistant (PIDA) service as illustrated in FIG. 7 .
- PIDA Personal Intelligent Digital Assistant
- Each user subscribing to this additional service is provided with a Personal Digital Assistant (PDA) (e.g., the remote device 350 or the User Transaction Collection and Recording Unit 115 ), which is connected to the PSA system (e.g., a general purpose computer 300 ).
- PDA Personal Digital Assistant
- the PDA remote device(s) 350 (which includes, e.g., a PDA processor 360 , a PDA I/O port 365 and a PDA input device 355 ) and the PSA system(s) 300 (which includes, e.g., a display device 310 , a storage device, a PSA processor 320 , a PSA/ I/O port 325 and a PSA input device 305 ) form a client-server architecture, in which the PDA remote device is a client and the PSA system is a server.
- the PSA system uses the Past Purchasing History Storage Unit 120 (e.g., a storage device 315 ) and the User Profile Generation module 110 , the State-of-the-World module 150 , the State-of-the-User module 160 , the User Estimated Purchasing Needs module 140 and the Purchasing Recommendations module 145 (executed by, e.g., a processor 320 ) estimates users' future needs and behavior as described above.
- the PDA device accumulates additional information on the user's current state, such as the user's location information, preferences, and desires (e.g., the user is hungry now and wants to eat).
- This additional information is transmitted from the PDA device to the PSA system via the telecommunication medium 130 (e.g., a wireless network, fiber-optics communication system, telephone wired system, etc.) to be stored using the State-of-the-User module 160 (e.g., in the storage device 315 ) as part of the user's state and is used subsequently for estimating the user's purchasing needs.
- the telecommunication medium 130 e.g., a wireless network, fiber-optics communication system, telephone wired system, etc.
- the PDA device 350 records the current state of user X as “Tuesday, 11:30 am, presently driving in user X's car on I-87 in the Albany region, travel purpose is business, wants to have lunch.” This information is sent from the PDA device 350 to the PSA system 300 via telecommunication medium 130 .
- the PIDA service Based on user X's past purchasing history, the PIDA service recognizes that whenever user X is traveling on business, he likes to have light lunches at good quality restaurants and that he generally likes sea food. By examining user X's personal profile, and by matching the dynamic rule which provides that “whenever user X travels on business, he prefers light lunches at good quality restaurants”, with user X's current state (user X is currently traveling on business), the PSA system 300 can predict that user X prefers a lunch at a good quality restaurant and he wants to eat light food. Next, the State-of-the-World module 150 of the PSA system 300 searches for highly rated seafood restaurants in the Albany region.
- PSA system 300 finds any such restaurant, user X is provided with restaurant choices (e.g., if more than one restaurant is located) by contacting user X's PDA device 350 . If the PSA system 300 does not find first choice restaurants conforming to the user X's preferences, the PSA system 300 provides second choice restaurants to user X.
- restaurant choices e.g., if more than one restaurant is located
- User needs are estimated based on purchasing history, the user's static and dynamic profiles and the current “state” of the user (sent to the PSA system from the PDA device).
- the needs of the user e.g. the user wants to buy a perfume in Paris, or wants to eat at a good seafood restaurant in the Albany region
- they are matched with the current state of the “world.”
- the PIDA service finds good matches (e.g., Christian Dior perfumes are on sale at Charles de Gaulle airport in Paris, or that there is a good seafood restaurant in the Albany region serving special lunches and located very close to the user's current route)
- purchase recommendations are provided to the customer based on these matches.
- These recommendations are sent back from the PSA server 300 to the PDA device 350 via a telecommunication medium 130 (e.g., via e-mail or through another intelligent user interface).
- the PIDA service incorporating the system and method according to particular embodiments can be used for notifying the users about various purchasing opportunities, both time sensitive (e.g., a particular sale will start next week) and spatial (e.g., if you need a new sweater, and sweaters you would probably like are on sale at the store near your work).
- time sensitive e.g., a particular sale will start next week
- spatial e.g., if you need a new sweater, and sweaters you would probably like are on sale at the store near your work.
- the system and method according to particular embodiments can also be incorporated in a Web site system.
- a Web site system In conventional systems, when a user visits a particular Web site, the user usually sees the same contents, regardless of who the user is.
- the dynamic Web content of the Web site presented to the user can be varied to conform to the dynamic profile of the user visiting the Web site.
- dynamic profile construction methods can also be used in fraud detection systems. In particular, a set of fraud detection rules can be dynamically generated for each user.
- rule compression process and the cluster compression process is not limited to a construction of user profiles.
- these process can also be used for computing useful association rules in data mining applications, or in general compressing large sets of rules generated by data mining algorithms.
- FIG. 8 Another embodiment for providing a selective validation of individual user rules is shown in FIG. 8 .
- user rules for all individual users e.g., customers
- the selective validation module/arrangement can be preferably executed by a central computing device illustrated in FIGS. 6 a and 6 b, or executed by the processor 320 of the general purpose computer 300 illustrated in FIG. 7 .
- the individual user rules may be stored in the storage device 315 . It is also possible to provide the selective validation module/arrangement in the remote unit 350 illustrated in FIG. 7 .
- the selective validation module/arrangement receives still unvalidated user rules and outputs at least one set of selectively validated individual user rules (step 390 ).
- the selective validation module/arrangement can optionally include the process illustrated in FIG. 3 .
- this selective validation procedure allows the human expert to select particular subsets of individual user rules and characterize these subsets as “Good” subsets, “Bad” subsets and/or “Undecided” subsets.
- FIG. 9 A flow chart representation of an exemplary embodiment of a process executed by the selective validation module (or an exemplary steps executed by the selective validation arrangement) described above is illustrated in FIG. 9 .
- a “Good_Rules” set is provided to maintain (e.g., store) all sets of individual user rules which were selected by the human expert as rules which are usable for a particular user.
- a “Bad_Rules” set is provided to store all sets of individual user rules selected by the human expert to be unusable for that user.
- each of the “Good_Rules” and “Bad_Rules” sets are initialized, e.g., to be empty or null sets.
- all user rules are combined to form Set S.
- Set S initially contains all related (e.g., similar) subsets of the unvalidated individual user rules for all users. These similar subsets may be grouped in a similar manner as discussed above with reference to FIG. 4 , or using a filtering and/or clustering operator as discussed below.
- the user rules in Set S (or subsets in Set S) can be displayed.
- the human expert examines the subsets of “related” rules from Set S (e.g., one rule or one set at a time), and selects which subsets (or which rules) in Set S are “good”, “bad” and/or neither (step 415 ). These subsets can also be examined automatically by a system (e.g., the processor 320 implementing an expert system or an artificial intelligence system) using a predetermined criteria.
- a system e.g., the processor 320 implementing an expert system or an artificial intelligence system
- step 420 If a particular subset in Set S is selected to be usable, the particular subset is marked as “good”; if this subset is selected to be unusable, it is marked as “bad”; if the human expert (or the system) cannot determine if the particular subset is usable or not, such subset is marked as “undecided” (step 420 ). In step 425 , the subsets which are marked as “good” are moved from Set S to the Good_Rules set, and the subsets which are marked as “bad” are moved from Set S to Bad_Rules set.
- a decision is made (e.g., automatically via the processor 320 or by the human expert) if the processing of the selective validation module/arrangement is completed, and, if so, initiates a completion process according to particular embodiments.
- a completion process There can be numerous conditions to indicate to the selective validation module/arrangement according to particular embodiments that the completion process should be initiated. For example, the following exemplary conditions may prompt the selective validation module/arrangement to stop processing:
- the rules from the Good Rules set is assigned to one or more corresponding users (step 435 ), Good Rules set and/or undecided subsets can be displayed (step 440 ), and the execution of the process according to particular embodiments is stopped.
- the remaining rules in Set S are grouped or regrouped to generate a new Set S (step 445 ), and this new Set S is provided to the human expert (i.e., looped back to step 410 ) so that the rules within new Set S may be reclassified using the process and/or the arrangement according to particular embodiments (i.e., looped again starting with step 410 ).
- the rules in Set S which were marked as “undecided” are grouped to generate a new Set S according to the following exemplary methods:
- a predetermined number of the remaining subsets (which can also be a single subset) contained in Set S are selected and merged together to form new subsets.
- the above-described remaining sets can be selected by the human expert or according to some predetermined selection criterion (e.g., the size of individual sets of rules should be smaller than a predetermined value).
- One or more subsets are selected from Set S. For each of these subsets, at least one of the following exemplary “partitioning” operators is applied to the selected subsets: a filtering operator and/or a cluster/grouping operator (which are as described below). Other “partitioning” operators can also be implemented.
- subsets in Set S obtained using the cluster operator with a particular “cut” operator
- Other operators can also be used to regroup the subsets in Set S.
- An exemplary filtering operator receives a subset of rules and splits this subset into at least 2 subsets: one subset contains rules which pass a predetermined selection criteria of the filter, and another subset contains rules which do not.
- this selection criteria may be specified using a data mining query (or a pattern template).
- the data mining query describes a class of patterns in general terms.
- M-SQL query is as follows:
- association rules if and only if they satisfy certain criteria.
- the association rules must include the fields Children, ChildrenAgeLess6, ChildrenAgre6to12, ChildrenAgeMorel2 of the table CustomerPurchaseData in the body of the rule.
- the attribute Children must necessarily be present (this is specified by R. Body).
- the discovered patterns must have one of the fields CategorySweets, CategoryCereal or CategoryFruit as a consequent of the rule (specified by R.Consequent).
- the discovered patterns must satisfy certain thresholds measuring statistical significance (i.e., R. Confidence and R.Support).
- this exemplary data mining query specifies a set of patterns.
- the set of these exemplary patterns may indicate:
- Pattern Templates are described in M. Klemmettinen et al., “Finding Interesting Rules for Large Sets of Discovered Association Rules”, Proceedings of the Third International Conference on Information and Knowledge Management, December, 1994.
- a pattern template may be provided as follows:
- the clustering operator receives, as input, a subset of rules and an attribute hierarchy of this subset.
- the attribute hierarchy can be formed using the procedure described below with reference with FIG. 10 .
- An exemplary attribute hierarchy is illustrated in FIG. 13 . All of the fields (i.e., attributes) of the attribute hierarchy are provided at the bottom of the attribute hierarchy. These fields are portions of the transaction file TRANS(Trans_ID, Cust_ID, C 1 , . . . C n ) as described above, without the fields Trans_ID and Cust_ID.
- n 13.
- a top portion of FIG. 10 shows an exemplary procedure to generate the attribute hierarchy.
- grouping data of a particular subset of rules is determined by combining the fields of the TRANS file (e.g., a table) into groups (e.g., fields C 1 , C 2 , C 3 illustrated in FIG. 13 are combined into group N 1 , fields C 4 and C 5 into group N 2 , etc.).
- these groups are further combined into larger groups, and so on. For example and as shown in FIG.
- the attribute hierarchy is generated (step 455 ), with attributes of the TRANS transaction file being its leaves. It should be noted that a tree which defines this attribute hierarchy (shown in FIG. 13 ) does not have to be balanced, i.e., all path lengths from the root node to the leaves do not have to be equal.
- the attribute hierarchy may include one or more (e.g., two) levels of nodes below the descendent leaves of the attribute hierarchy (i.e., the fields of the TRANS transaction file).
- a first level consists of a pair of attributes—field and a relational operator.
- a second level is below the first level and consists of three attributes—field, relational operator and sets of values which the field attribute can be compared to (e.g., predetermined values, one or more intervals, etc.).
- FIG. 14 shows an exemplary illustration of the first and second level extensions of node N 7 .
- the first level of field C 12 is a leaf 540 , which contains field C 12 and a relational operator “ ⁇ ”.
- a lowest leaf of field C 12 (leaf 550 ) is provided with field C 12 , the relational operator “ ⁇ ” and a comparison value “20”.
- “Cut” data is generated with respect to the attribute hierarchy (step 460 ) by providing a “Cut” in the attribute hierarchy.
- “Cut” in the attribute hierarchy is defined as a set of nodes of the tree such that a union of all descendant leaves of the nodes which were identified in the cut consists of all the fields of TRANS transaction file (i.e., C 1 , . . . ,C n ).
- An exemplary cut is shown in FIG. 13 which includes the following groups/fields—C 1 , C 2 , C 3 , N 4 , N 6 , C 11 and N 7 .
- the “Cut” is not limited to the nodes of shown in FIG.
- FIG. 11 shows a detailed illustration of step 460 in which “Cut” data is generated.
- step 480 the “Cut” is provided to the attribute hierarchy. If the “Cut” is properly specified (e.g., all of the leaves of the attribute hierarchy are above the “Cut”, leaves being the lowest level of the attribute hierarchy) in step 485 , or if the human expert (or the system) indicates that the “Cut” is unacceptable (step 490 ), a different “Cut” is created using similar techniques as described above for providing the original cut (step 497 ) and the procedure is restarted at step 485 with this newly created “Cut”. Otherwise, “Cut” data is generated as a function of the “Cut” (step 495 ) and can be stored in memory for a possible future use.
- step 460 in FIG. 10 After the “Cut” data is generated (step 460 in FIG. 10 ), subsets of the user rules are grouped using “Cut” data and the hierarchy data (step 465 ), and these grouped subsets are placed into Set S (step 470 ) to be provided to the human expert.
- the clustering operator consists of steps 460 - 470 .
- the following data is provided as input to the clustering operator: a) initial set of user rules, b) an attribute hierarchy as described above, and c) the “Cut”.
- the output of the clustering operator is Set S which includes subsets of rules. These subsets are mutually exclusive and collectively exhaustive (e.g., a union of the subsets is equal to all of the rules in Set S).
- FIG. 12 shows an exemplary procedure for grouping subsets of the user rules using the “Cut” data as described for step 465 above ( FIG. 10 ).
- all user rules are combined from a number of subsets of Set S to form Set A.
- another set i.e., a Cluster Working Set B
- a new rule is then retrieved from Set A (step 510 ).
- step 515 if there are no more rules in Set A to be analyzed or regrouped (e.g., Set A has no more rules or is a null set), the exemplary procedure shown in FIG. 12 is completed.
- step 520 it is determined if the new rule corresponds to a class of any existing cluster subset in Set B. If that is the case, the new rule is moved into a “matched” subset in Set B (step 525 ) and the procedure is directed to step 510 . Otherwise, a new cluster subset is created in Set B (step 530 ), the new rule is moved to the new cluster subset in Set B (step 535 ), and then the procedure is directed to step 510 .
- two rules are provided to the same class if and only if they have the same structure with respect to the “Cut”.
- the rules should have the same number of attributes and these attributes, e.g., can be grouped in pairs so that two attributes in the same pair have the same ancestor in the “Cut”. For example, the rules:
- One or more statistics may be generated for each cluster. These statistics may be, e.g.,
- the rules may be regrouped in step 445 using a different “Cut”. For example, this different cut would be a finer cut which generated a larger number of clusters (which are smaller in size). This can be done by merging back the clusters of rules obtained with the previous “Cut” (in step 445 ), returning to step 410 where the human expert marks all the merged rules as “undecided”, and then, in step 445 again, re-cluster rules based on the different (e.g., finer) “Cut”.
- GUI graphical user interface
- the human expert selects a number of operators from a graphical menu of the GUI.
- Exemplary operators provided on this graphical menu may include a “Filtering” operator, a “Clustering” operator and a “Browsing” operator (e.g., allows the human expert to examine sets of rules generated by the “Clustering” operator or another operator).
- Other operators can also be included in the graphical menu of the GUI.
- FIG. 15 shows an exemplary flow of the process and system according to particular embodiments.
- the user e.g., human expert
- the human expert can select the “Filtering” operator from the graphical menu and apply this operator to Set S (step 600 ).
- the human expert may specify a data mining query which selects “Good”, “Bad” or “undecided” rules from Set S.
- “Good” rules are moved from Set S to “Good Rules” set
- “Bad” rules are moved from Set S to “Bad Rules” set which is, preferably, automatically saved by the system (e.g., the processor) into a memory device.
- the system may mark the user rules which were determined by the user (or automatically by the system) as “undecided”.
- the human expert may apply the remaining “undecided” rules through another filter to again obtain “Good”, “Bad” and “undecided” rules (which can be determined using another user-specified data mining query) from the rest of the rules.
- the system may move “Good” rules from Set S to “Good Rules” set, and “Bad” rules from Set S to “Bad Rules” set (step 625 ).
- the human expert may decide to cluster the remaining “undecided” rules in Set S using the “Clustering” operator (which the human expert selects from the graphical menu).
- the “Clustering” operator generates many sets of rules that the user may decide to examine using a graphical browser by selecting a “Browsing” operator from the graphic menu (step 645 ).
- the “Browsing” operator allows the user (e.g., the human expert) to examine the clusters of generated user rules by analyzing the statistics (described above) for these clusters.
- This process of selecting operators can continue until, e.g., all the rules in Set S have been validated or until the human expert decides to stop the processing of the validation procedure based on at least one of the above-described stopping criteria.
- the human expert may apply a number of (e.g., four) operations in sequence (e.g., two filtering operators, one clustering operator, and one browsing operator). This process can also be performed in parallel (e.g., the human expert may decide to perform two filtering operations in parallel and then combine their results).
- a number of operations in sequence e.g., two filtering operators, one clustering operator, and one browsing operator. This process can also be performed in parallel (e.g., the human expert may decide to perform two filtering operations in parallel and then combine their results).
- the process steps may be recorded using the GUI interface.
Landscapes
- Business, Economics & Management (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Particular embodiments provide functionality for predicting purchasing needs according to multidimensional data. The multidimensional data may define a multidimensional space. The multidimensional space may have at least three dimensions, and each of the dimensions may be capable of providing variable information, and/or having a type that is different from a type of another one of the dimensions. Particular embodiments may retrieve information from data associated with the multidimensional space. Predictions regarding purchasing needs may be generated based on the retrieved information. Purchasing recommendations may then be provided based on the predictions.
Description
- This application is a continuation of U.S. application Ser. No. 13/337,468, filed Dec. 27, 2011 and titled “Architectures, Systems, Apparatus, Methods, and Computer-Readable Medium for Providing Recommendations to Users and Applications Using Multidimensional Data,” which is a continuation of U.S. application Ser. No. 12/553,522, filed Sep. 3, 2009 that issued as U.S. Pat. No. 8,103,611 on Jan. 24, 2012, which is a divisional of U.S. application Ser. No. 11/074,157, filed Mar. 7, 2005 that issued as U.S. Pat. No. 7,603,331 on Oct. 13, 2009, which is a continuation of U.S. application Ser. No. 09/554,383, filed May 12, 2000 (the “'383 Application”), which issued as U.S. Pat. No. 6,871,186 on Mar. 22, 2005, and which is a national phase application of International Patent Appln. No. PCT/US98/24339. The '383 Application is also a continuation-in-part of U.S. patent application Ser. No. 08/970,359, filed Nov. 14, 1997, which issued as U.S. Pat. No. 6,236,978 on May 22, 2001. The entire disclosures of each of the applications referenced above are incorporated herein by reference.
- The present disclosure relates to a system and method for dynamic profiling of a user in one to one marketing applications.
- Many organizations collect historical data about every transaction that every customer performs with that organization. Such historical transactional data is useful in various one-to-one marketing applications, such as, e.g., shopping assistant application and dynamic Web site content presentation. A number of problems have been encountered in these marketing applications. One such problem relates to the creation of highly pertinent and comprehensible individual user profiles that are derived from the historical transactional data. In addition, it is also important to have the ability to utilize these user profiles when the marketing application obtains a current status of the user. If the user profiles are generated in a highly relevant and comprehensible manner with respect to a specific user, the applications would be able to understand that user's needs better and more efficiently serve that user.
- There are two basic types of user profiles that can be generated—a “static” profile and a “dynamic” profile. The static profile contains all of the factual information of the user including, for example, demographic data (e.g., age, sex, address), psychographic data (e.g., personality traits and habits), purchasing preferences (e.g., what does the user purchase in an average week), etc. Static profiles are generated using conventional methods that are known to those of ordinary skill in the art.
- Dynamic profiling information includes specific rules describing the user's behavior. For example, such rules may include: “whenever user X travels to France, user X often buys expensive wines in Paris” or “when user Y shops on a weekend and did not buy any groceries for at least 3 days, user Y usually purchases a large amount of groceries.” These rules can be generated with transactional data for each user using various rule generation methods that are generally known to those of ordinary skill in the art. For example, one such conventional rule generation method is implemented in a rule learning system which generates behavior rules for individual customers. (See T. Fawcett et al., “Combining Data Mining and Machine Learning for Effective User Profiling”, Proceedings of the KDD '96 Conference, 1996, pp. 8-13).
- In order to obtain an extensive understanding of the user, it is desirable to build both static and dynamic profiles for that user. Although the generation of static profiles is generally straight-forward, generating dynamic profiles for a large number of users may present potential problems. Many transactional systems (e.g., airline reservations systems, credit card transactional systems and/or Web site management systems) generate a various number of transactions for each user. For example, some systems and/or applications may only generate a dozen transactions per each user, which may not be enough to construct a statistically significant and reliable set of rules for a specific user. Even if there are enough transactions to construct a statistically significant set of rules, these rules should still be verified for their pertinence to the user. Since there can be a large number of users, and since the rules generated for each user may not be reliable, there is a problem of verifying a large set of generated rules for the users. For example, in a typical system facilitating 5 million users and providing about 100 rules per user, approximately 500 million rules would have to be either stored or processed. Generally, many of these rules are either not useful or insignificant. Thus, due to the amount of these generated rules, a rule validation process becomes considerably complicated. Furthermore, checking the usefulness of these rules “by hand” becomes practically impossible.
- Conventional systems have not successfully provided detailed solutions to constructing reliable dynamic profiles for the users. One such system (described in T. Fawcett et al., “Combining Data Mining and Machine Learning for Effective User Profiling”, Proceedings of the KDD '96 Conference, 1996) provides a limited generation of user's dynamic profiles. However, this conventional system does not provide a comprehensive method and system for analyzing a large number of dynamic rules, and thus does not provide adequate assistance for the user.
- The system and method according to particular embodiments generate dynamic profiles and, thereafter, transforms the dynamic profiles for various users into aggregate rules. In particular, “similar” individual rules are compressed into a smaller number of aggregated rules. Because the total number of aggregate rules is substantially smaller than the total number of individual rules for all of the users, the aggregate rules can be examined manually by a human expert. This expert examines these aggregated rules and selects only rules based on the expert's preferences. Only the individual rules that correspond to the aggregated rules selected by the human expert are retained in the user's profiles. Since the selected aggregate rules were selected by the human expert, a creation of more accurate dynamic profiles is further assured. The system and method according to particular embodiments thus provide a more useful set of individual rules for each user.
- The dynamic profiles generated with the system and method according to particular embodiments can be used in various systems (e.g., Personal Shopping Assistant and Personal Intelligent Digital Assistant) to provide better recommendations to the users as to which products and services each individual user should utilize. Accordingly, the user would be more satisfied with these systems and the suggestions that these systems provide to the user. In addition, Dynamic Web Content Presentation systems can include the system and method according to particular embodiments because the users will be provided with better quality profiles to facilitate the provision of more pertinent Web pages to the user visiting a particular Web site. Fraud detection systems may also include the system and method according to particular embodiments, thus providing higher quality user profiles which may facilitate better fraud detection. Other applications for the system and method according to particular embodiments are also conceivable to those of ordinary skill in the art.
- In addition, the system and method according to particular embodiments utilizing the above-described rule compression method is not limited to a construction of pertinent dynamic profiles, and can be used in a vast variety of applications (e.g., construction of high quality association rules in data mining applications). Other usages of the system and method according to particular embodiments are also conceivable to one having ordinary skill in the art.
- In another embodiment of the system and method according to particular embodiments, the user rules are validated using a processing device. These user rules are retrieved from a storage device. The user rules are then separated into at least one subset of a user set. Then, it is determined if particular rules of the at least one subset is one of acceptable, unacceptable and undecided based on a defined criteria. If the particular rules of at least one subset are acceptable, the particular rules of the at least one subset are provided to a corresponding user.
- When constructing good dynamic profiles, validation is an important consideration. It is possible to construct dynamic profiles for individual customers using any existing data mining methods. For example, an exemplary user rule may indicate that whenever a user buys milk in the evening, this user also buys onions. It is difficult to ascertain if this rule adequately describe the user's behavior. In fact, it may be a statistical coincidence. Therefore, it is preferable to allow the user (or a human expert) to examine groups of the user rules.
- Certain exemplary embodiments of exemplary architectures, systems, apparatus, methods, and computer-readable medium according to the present disclosure can provide at least one recommendation to at least one of one or more users and one or more applications using multidimensional data. According to the exemplary embodiments of the present disclosure, it is possible to access the multidimensional data which can define a multidimensional space defined by a Cartesian product of the dimensions. The multidimensional space can have at least three dimensions, and each of the dimensions can be capable of (i) providing variable information, and (ii) having a type that is different from a type of another one of the dimensions. It is also possible to retrieve information from data associated with the multidimensional space. Further, at least one recommendation can be generated based on the retrieved information. Further, according to certain exemplary embodiments, at least one of the dimensions can include profiles.
-
FIG. 1 shows a top level diagram of a process for generating user profiles. -
FIG. 2 shows a flow diagram for generating static and dynamic user profiles. -
FIG. 3 shows a flow diagram of a process for compressing dynamic rules, generating aggregate rules, validating the aggregate rules and creating user profiles. - FIGS. 4.1-4.2 shows a detailed flow diagram of an exemplary rule compression process according to particular embodiments.
-
FIG. 5 shows a detailed flow diagram of an exemplary cluster compression process according to particular embodiments. -
FIG. 6 a shows an exemplary system for generating user profiles according to particular embodiments. -
FIG. 6 b shows a first system for generating the user profiles according to particular embodiments as illustrated inFIG. 6 a. -
FIG. 6 c shows a second system for generating the user profiles according to particular embodiments as illustrated inFIG. 6 a. -
FIG. 7 shows a block diagram of an exemplary Personal Intelligent Digital Assistant system according to particular embodiments. -
FIG. 8 shows a flow diagram of another embodiment of the process according to particular embodiments in which individual user rules are selectively validated using a selective validation module. - FIGS. 9.1-9.2 shows a flow diagram of an exemplary embodiment of a process executed by the selective validation module (illustrated in
FIG. 8 ). -
FIG. 10 shows a flow diagram of an exemplary procedure to generate the attribute hierarchy and to provide a cluster operation. -
FIG. 11 shows a detailed illustration of an exemplary procedure to generate “Cut” data. -
FIG. 12 shows an exemplary procedure for grouping subsets using the “Cut” data. -
FIG. 13 shows an exemplary attribute hierarchy which can be utilized with this embodiment of the process and system according to particular embodiments. -
FIG. 14 shows an exemplary illustration of a first level extension and a second level extensions of an exemplary node/group illustrated inFIG. 13 . -
FIG. 15 shows an exemplary implementation of the process and system according to this embodiment of particular embodiments as illustrated inFIGS. 8 and 9 . - In many customer-related applications (e.g., banking, credit card, Internet marketing applications, etc.), user profiles for each user (or customer) are generated to better understand the user (i.e., user's purchasing trends, business travel locations, types of favorite restaurants, etc.). A flow diagram of an exemplary process for building user profiles is illustrated in
FIG. 1 . In particular, information regarding, e.g., the user's past purchasing history is retrieved instep 1. Instep 2, user profiles are built, and the process completion is signaled instep 3. User profiles can preferably be generated using static profiles and dynamic profiles. A more detailed flow diagram of the process of building user profiles (represented inFIG. 1 by step 2) is illustrated inFIG. 2 . The static profile includes user static characteristics (e.g., name of the user, address, telephone number, date of birth, sex, income, etc.). The static profile is built instep 10 using methods known to one having ordinary skill in the art. After the static profile is built, this static profile is stored in a separate file based on the data obtained from the CUST and TRANS files, as discussed below. The “CUST” file has the following format: -
CUST(Cust_ID, A1, A2 . . . Am), - where Cust_ID is a user identifier that provides an index value for locating a specific user in the CUST file. A1, A2 . . . Am are fields describing the characteristics of the user (e.g., sex, income, education, etc.).
- The dynamic profile is built in
step 15. A dynamic profile consists of rules (or patterns) characterizing a user's behavior, e.g., “if user X shops in the evening on weekdays and purchases diapers, user X also buys beer”, “if user X shops on weekdays, user X usually buys a small number of items”, “if user X travels to New York on business, user X prefers to have lunches at expensive seafood restaurants.” The rules are derived from a set of transactions pertaining to a particular user. These transactions may be, for example, credit card transactions, airline reservations and Web site visit transactions, and are stored in the “TRANS” file which has the following format: -
TRANS(Trans_ID, Cust_ID, C1, C2, . . . C n) - where Trans_ID corresponds to a unique index key that identifies the transaction being performed by the user. Fields C1, C2, . . . Cn identify a particular transaction (e.g., date of transaction, time of transaction, amount spent, location of the transaction, etc.). The field “Cust_ID” corresponds to an index key pointing to a particular user having a respective record in the CUST file. Thus, the user performing a particular transaction can be identified. Other file formats can also be utilized, as can be understood by those having ordinary skill in the art. For example, the user-specific information can also be stored in several files rather than in a single CUST file (thus, the CUST file can be normalized by splitting the CUST file into several smaller files). Using different file formats does not affect the operability of the system and process according to particular embodiments. After the dynamic profile for a particular user is generated, this dynamic profile is validated in
step 20. - After the validation of the dynamic profile, the static and dynamic profiles are combined to form a combined user profile in
step 25. The following exemplary information can be obtained from the TRANS file to be provided into the static profile when the static and dynamic profiles (the CUST and TRANS files) are combined: a) an average transaction amount for user X; b) user X's favorite brand of beer is, e.g., Heineken; c) user X shops mostly on weekends. - While it is relatively uncomplicated to construct user static profiles, it is much more difficult to construct quality dynamic profiles. Rules provided in the dynamic profile are generated for each user. Because a user may perform only a small number of transactions, the corresponding rules generated may be statistically insignificant, unreliable and irrelevant. In many systems (e.g, airline reservations systems, credit card transactional systems, or Web site usage systems), it is possible to have from as little as a few dozen to a few hundred transactions per each user. The rules generated with such amounts of data are often ineffective and insignificant.
- The total number of generated rules can also be very large. For example, in a system serving 5 million customers and generating an average of 100 rules per user, a total number of generated rules can reach 500 million. Many of the 500 million generated rules are of questionable quality and usefulness. In order to filter the rules having such undesirable characteristics, a human expert must decide which dynamic rules should be stored and which dynamic rules should be discarded. It would be impossible for the human expert to manually check the usefulness of all 500 million rules.
- Quality dynamic profiles are generated by validating dynamic rules generated using various rule induction methods. Ultimately, however, the human expert validates the machine-generated rules to determine their “usefulness” in various systems. Since most of the systems generate too many rules to be manually examined by human experts, the system and method according to particular embodiments facilitates compressing individual rules into “aggregated” rules. After the individual rules are compressed into the aggregated rules, the aggregated rules are evaluated by a human expert who selects only the rules that the expert believes are pertinent for the user. In addition, it is possible (in some applications) that the respective user can be such a human expert (and examining only the rules that are pertinent to the respective user).
- It can be assumed that user-specific rules have been already created using methods known to those having ordinary skill in the art. For example, individual user rules can be generated using an induction software system (e.g., “CART” Breiman et al., 1984; C4.5, Quinlan, 1993; or RL, Clearwater & Provost, 1990). The structure of these rules has, preferably, the following form:
- where Ci1, Ci2, . . . , Ci are fields from the TRANS file, ai1ai2, . . . , aik, ai are constants, and θij are relational operators (e.g., “=”, “>”, “<”, etc.). In addition, each rule is assigned to a user defined by the Cust_ID (user identifier) from the CUST file.
- Next, it is important to remove “useless” individual rules from the total number of rules. A process to remove these useless individual rules is shown in
FIG. 3 . Instep 30, individual rules are provided for processing. Instep 35 several “similar” individual rules (of the form (1)) are compressed into one aggregated rule of the form: - where Ai1, . . . , Aij are the fields in the CUST file, bij, . . . , bij are constants, and θij are relational operators (e.g., “=”, “>”, “<”, etc.). For each individual rule of the form (1), the aggregated rule of the form (2) is formed after the individual rules are compressed. The newly aggregated rules (formed in step 40) can be, e.g., fuzzy rules, and the operators θij should also be, e.g., fuzzy operators. For example, several of the individual rules that are similar (generally pertaining to different users) can be compressed into one aggregated rule pertaining to the same subject matter that can be applicable to several users. For example, if several rules have the form:
-
IF Shopping_time=“evening” and Day_of_week=“weekday” and -
Purchase=“diapers” THEN Purchase=“beer”, - and it is known that most of the users corresponding to this rule are males, then these rules can be compressed into the aggregated rule having the following form:
-
IF Sex=“Male” and Shopping_time=“evening” and Day_of week=“weekday” -
and Purchase=“diapers” THEN Purchase=“beer”. - Additional fields (e.g., Sex, etc.), unlike other fields in the above exemplary rule, are fields from the CUST file. Individual rules relating to different users can be compressed into the same aggregated rule for a group of users. Thus, the rule compression can preferably be implemented for different users. The number of aggregated rules (of the form (2)) generated by the compression algorithm should be much smaller than the initial number of individual rules. Then, in
step 45, the aggregated rules can be validated (one by one) by the human expert (including a particular user) to determine which rules are appropriate for that user. After the user validates the aggregated rules, this user selects the set of preferred aggregated rules instep 50. Only the individual rules corresponding to the aggregated rules selected instep 50 are retained in the user's dynamic profile (step 55) to provide validated individual rules (step 60) to the user. -
FIG. 4 illustrates a detailed flow diagram of an exemplary rule compression process (starting fromstep 35 inFIG. 3 ). Two individual rules of the form (1) are referred to as “similar” rules if they differ from each other only in the values of their respective constants aij. Thus, similar rules should have the same number of terms, the same fields Cij, and the same comparison operators θij. Similar rules can be mapped into the (k+1) dimensional space defined by Dom(Ci1) x . . . x Dom(Cik) x Dom(Ci), where Dom is a domain (or range of values) of the field C, with a rule having the form (1) being mapped into the points (i.e., ai1, ai2, aik, ai). This set of points is generated by similar rules. For example, the rule “if user X shops in the evening on weekdays and purchases diapers, user X also buys beer” can be written as: -
IF (Shopping_time=“evening” and Day_of week=“weekday” and -
Purchase=“diapers”) THEN Purchase=“beer”. - This sample rule would be mapped into the corresponding vector (“evening”, “weekday”, “diapers”, “beer”) of the 4-dimensional space of attributes (variables):Shopping_time, Day_of_week, Purchase and another Purchase.
- The exemplary rule compression process (described below in detail) then generates rules (e.g., fuzzy rules of the form (2)). These fuzzy rules utilize fuzzy linguistic variables for the fields from the CUST and TRANS files, which are generally known to those having ordinary skill in the art. Each fuzzy linguistic variable has a corresponding identifier (e.g., Income, Transaction_Amount, etc.), each being capable of providing a range of values (e.g., natural numbers between 0 and 1,000,000), a set of terms (e.g., “low”, “medium”, “high”, etc.), and a membership function that assigns a membership value (e.g., between 0 and 1) to each value from the domain of the fuzzy linguistic variable for each range of values. In addition, the non-ordered fields in the CUST and TRANS files (e.g., “Product_Purchased”) have assigned classification hierarchies; for example, the field “Product_Purchased” can include standard classification hierarchies used in marketing. Thus, UPCs, e.g., can be grouped into brands, brands can be grouped into product categories, etc.
- The following exemplary inputs are provided to the Rule Compression Process:
- a. Individual rules from users' dynamic profiles.
- b. Fuzzy linguistic variables for all fields in the CUST and TRANS files.
- c. Hierarchical classifications for non-ordered fields.
- Exemplary outputs generated by the Rule Compression Process are a set of (preferably) fuzzy aggregated rules having the form (2).
- The steps of the exemplary rule compression process shall now be described in detail with reference to
FIG. 4 . Instep 160, all the individual rules of the form (1) are grouped into sets of similar rules (i.e., rules having the same structure). The maximal number of such similar groups is 4 , where n is the number of fields in the TRANS file. For example, if n=10, then there can be at most 1×220 similar groups. However, this number is typically much smaller in practice. Each set of similar rules forms a set of points in a k-dimensional space generated by the individual rules described above. Instep 165, a group of clusters of the generated points is determined using any of the cluster computation methods known to those of ordinary skill in the art. Instep 170, starting from the first cluster of the group of clusters determined inStep 165, an approximate rule for that cluster is determined inStep 180. The approximate rule is determined as a function of the points in the cluster. For example, a point in the cluster may be the “center” of the cluster. The center can be identified as a point that minimizes the sum of distances from a particular point to other points in the cluster. For example, given - Cluster Ci=(ci1, ci2, . . . cik), the center of this cluster is the point that minimizes the expression:
-
- The center of the cluster can also be determined using other methods, such as, e.g., selecting the most “representative” point in that cluster.
- In
step 185, the next cluster is selected and the procedure described with respect to step 180 is repeated. Instep 175, it is determined whether all of the clusters in the group of clusters have been evaluated. As an illustration, if cluster Clusti contains three 3-dimensional points (0,0,1), (0,1,0), (1,0,1), corresponding to the vertices of a equilateral triangle, then the center of this cluster Ci is the center of the triangle, i.e., the point (½,½,½). Other approaches to defining the center of a cluster can be used. This exemplary rule compression process does not depend on any specific method for defining any center of a cluster Ci. - Given the set of rules (1) corresponding to the cluster with the center Ci=(ci1, ci2, . . . cik), the corresponding aggregated rule has the form:
- which is a “representative” rule for the cluster of similar rules. For example, if the center of the cluster is (½,½,½), the following rule is generated:
- Also, for totally ordered fields Cij, standard deviations σij of the points in that cluster are calculated for that field. For unordered categorical fields Cij, a measure of the “deviation” of the points is determined in that cluster along the j-th dimension from cij (by using the hierarchical classification for that field).
- In
step 190, a total number of clusters generated inStep 165 is provided to the user. Instep 195, the user is asked if there are too many of the generated clusters for manually inspecting the aggregated rules (i.e., the number of generated clusters is greater than a predetermined number). If so, the generated clusters are compressed using a cluster compression process described instep 205. Thereafter, there is a smaller number of clusters (and corresponding aggregation rules per cluster). The user is asked again, instep 195, if there are too many generated clusters for the manual inspection of aggregated rules. If the number of clusters is smaller than the predetermined number, for each cluster Ci obtained instep 165 or instep 205, a set of users corresponding to the points for that cluster is identified instep 210. Each point in a cluster corresponds to a first representative rule from the dynamic profile of the user, so that all of the users corresponding to the dynamic profile rules from that cluster can be identified. For example, CUST_IDi is defined as a set of values Cust IDij corresponding to the users corresponding to the rules of cluster Ci. A set of records (“CUSTi”) from the CUST file corresponding to the users of that cluster is identified (i.e., having user ID values from the set CUST_i). Thus, CUSTi={r|CUST(r) and r.Cust_ID εCUST_IDi}. - The set of records CUSTi form a set of points in m-dimensional space (where m is the number of fields in the CUST file). These points are separated into clusters using the same techniques as described in
step 165. For each resulting cluster CUSTij, a center is located as explained below. The set of points belonging to that cluster is approximated with a logical statement having the form: - to form a corresponding condition in
step 215, where Ai are the fields of the CUST file, θij1 are relational operators (e.g., “=”, “<”, “>”, etc.) and bij1 are constants. One way to construct the condition (4) would be by finding the center bij1=(bij1. . . , bijm) of the cluster CUST ij as described instep 180, and substituting the values of bij1 into the condition (4) (also setting all the relational operators to be “=”). Another way to construct this condition (4) is described in A. Motro, “Using Integrity Constraints to Provide Intentional Answers to Relational Queries”, Proceedings of the 15th International Conference on Very Large Databases, 1989, pp. 237-246, and C. Shum et al., “Implicit Representation of Extensional Answers”, Proceedings of the 2nd International Conference on Expert Database Systems, 1988. - In
step 220, the first and second representative rules are augmented (i.e., expression (4) is augmented with expression (3)). The resulting rule is: - For example, assume that the center of a cluster is a rule: “if a user shops in the evening on weekdays and buys diapers, the user also buys beer” (i.e., IF Shopping_time=“evening” and Day_of_week=“weekday” and Purchase=“diapers” THEN Purchase=“beer”). Also, assume that most of the users in that cluster are men, thus forming the expression (4) where “Sex”=“Male”. Accordingly, the augmented rule is “if a male user shops in the evening on weekdays and buys diapers, the user also buys beer” (i.e., IF “Sex”=“Male” and “Shopping_time”=“evening” and “Day_of_week”=“weekday” and “Purchase”=“diapers” THEN “Purchase”=“beer”).
- Then, in
step 225, the rules of the form (5) generated instep 220 are converted into fuzzy aggregated rules. In particular, each field Ai and Cij in the form (5) is mapped into a corresponding fuzzy linguistic variable associated with that field. In addition, all of the terms in the expression (5) are converted into appropriate fuzzy expressions. For example, assume that a non-fuzzy term A1=20 corresponds to a fuzzy linguistic variable also denoted as A1. Further assume that the term set for A1 is either low or high, and that there is a membership function that assigns the membership value (e.g., between 0 and 1) to each value from the domain of fuzzy term A1 for each value from the term set. Then, it can be determined for which term (i.e., low or high) themembership value 20 is higher, and a corresponding term is assigned. If the membership value is higher for the term “low”, then the expression A1=20 is replaced by A1=LOW. - In
step 230, the set of aggregated fuzzy rules generated by the rule compression process is shown to the human expert who selects only the meaningful and useful rules from this set according to user desired criteria. -
FIG. 5 shows an exemplary cluster compression process as discussed above with respect to step 205 illustrated inFIG. 4 . As an initial matter, it is assumed that, e.g., clusters Clust1 and Clust2 are determined instep 165. Since Clust1 and Clust2 can be generated by dissimilar rules, the rules from each of these clusters Clust1 and Clust2 can be very different (or similar). Therefore, it is important to determine whether two different clusters are substantially similar to each other so that they can be merged. In particular, the distance between two aggregated rules of the form (3) corresponding to the centers of these clusters is determined to ascertain whether these different clusters are substantially similar. As an example, the following two aggregated rules corresponding to the center of Clust1 and Clust2 are considered: - It may be also assumed that the domains of attributes C2 and C3 are discrete and ordered. These rules have different structure and therefore are different. In order to calculate the distance between these rules, we first have to bring these rules into the same 4-dimensional space of attributes C1, C2, C3, and C4. This can be done by replacing these rules with the rules
- where x and y are uniformly distributed random variables ranging over the domains Dom(C3) and Dom(C2) of attributes C3 and C2 respectively and z is a uniformly distributed random variable ranging over the domain of Dom(C2) from its smallest element to b. This procedure can also be performed using actual distribution in the data for corresponding attributes of x and y variables. It should be noted that the term C2 <b (the first aggregated rule described above) should be replaced with C2=z in rule (6). In addition, term C3=x is provided into the first aggregated rule and term C2=y is provided into the second aggregated rule. It is also assumed that, e.g., random variables x, y, and z are uniformly distributed over their respective domains.
- If constants are substituted for the variables x, y, and z, the terms of the aggregated rules (6) and (7) will contain only equalities and constants. Thus, these aggregated rules (with the above-described substitutions) will have respective points in the same 4-dimensional space. If the distance between these two points can be calculated for fixed values of variables x, y, and z—d(Clust1 (x,z), Clust2 (y)) (i.e., if all the attributes are numeric, then the distance can be a Euclidean distance; if some of the attributes are categorical and unordered, the distance can be calculated in terms of how far the nodes are in the aggregation hierarchy defined for that attribute)—then the distance between clusters Clust1 and Clust2 is equal to:
-
- since it can be assumed that the domains of attributes C2 and C3 are discrete. If these domains were continuous, integration would have been used instead.
- In general, let c1=(c11, c 12, . . . c1k) and c2=(c21, c22, . . . , c2m) be the centers of two clusters Clust1 and Clust2 as calculated in
steps 170 through 185 illustrated inFIG. 4 , where c1 and c2 are vectors with different dimensions (because different rules can have different numbers of terms). The rules corresponding to the centers of these two clusters are extended with, e.g., dummy attributes and dummy random variables that form a union of the attributes for clusters Clust1 and Clust2. Assuming that the dummy variables are uniformly distributed over their domains, the distances between the two rules for fixed values of random variables can be calculated. Thereafter, the random variables are either integrated (for continuous random variables) or summed (for discrete random variable) over different values of these random variables. Thus, the distance between clusters can be determined using the system and method according to particular embodiments. - Once the distance between the two clusters is determined, the clusters can be merged as follows. In order to perform this operation, the size of the cluster should be determined as a part of the Cluster Compression process. The size of the cluster is the measure of how far the points of the cluster are apart from each other. This size can be determined, e.g., using the following formula:
-
- where c is the center of the cluster. Other measurements can also be used by those having ordinary skill in the art.
- The flow diagram in
FIG. 5 illustrates an exemplary process for compressing clusters. In particular, two clusters Clust1 and Clust2 are selected instep 250. There are a number of ways to determine which clusters should be selected instep 250. The simplest way to select the clusters is in an arbitrary manner. Instep 260, the distance between the clusters is determined, as discussed above. Instep 265, the respective size of each cluster is determined. Instep 270, a check is performed to determine if the distance between the clusters {d(Clust1, Clust2)} is smaller than the sizes of these clusters (e.g., to determine if these two clusters are “close enough” to each other). If so, the clusters should be merged into one cluster instep 275; otherwise, the clusters are maintained as separate clusters. In particular, an inquiry as to whether two clusters are “close enough” can be computed in the following manner, e.g.: -
- where α is a predetermined threshold value. The two clusters should be merged by forming a new cluster consisting of points from Clust1 and Clust2 if condition (8) occurs. Steps 250-275 should be repeated until there are no more clusters left that can be merged (see step 255).
- In deciding which clusters Clust1 and Clust2 should be chosen in
step 250 of the cluster compression process, distances between, e.g., all pairs of clusters can be calculated and condition (8) can be checked to ascertain which clusters should be merged. Other methods to select the clusters for compression can also be used. Furthermore, the distance between all the pairs of clusters does not necessarily have to be calculated. - The system according to particular embodiments can be used in a Personal Shopping Assistant (PSA), a Personal Intelligent Digital Assistant (PIDA), and in a dynamic Web content presentation system, described below.
- A Personal Shopping Assistant (PSA) system according to particular embodiments provides recommendations on the products and services that its users should consider purchasing (including, e.g., suggestions for purchasing at a specific source, and at a particular price). An exemplary embodiment of the PSA system according to particular embodiments is shown in
FIG. 6 a. In particular, the system includes a User Transaction Collection and Recording Unit (or module) 115, a Past Purchasing History Storage Unit (or module) 120, a UserProfile Generation module 110, a State-of-the-World module 150, a User EstimatedPurchasing Needs module 140, aPurchasing Recommendations module 145, and the State-of-the-User module 160. - The User Transaction Collection and
Recording Unit 115 collects most of the shopping transactions performed by the user (e.g. 80-90% of all the purchases made by the user). The User Transaction Collection andRecording Unit 115 can be implemented as a “smart card,” or as a smart Point of Sales register that records individual items purchased by the user. - Alternatively, the user himself can record this information (as part of the User Transaction Collection and Recording Unit 115) using some transaction recording systems such as Quicken or Microsoft's Money.
- When the user purchases one or more products, the User Transaction Collection and
Recording Unit 115 records and transmits this information to the PurchasingHistory Storage Unit 120 where this information is stored as part of the purchasing history of the user. The PurchasingHistory Storage Unit 120 can be implemented, e.g., as a database that records transactions performed by various users in the TRANS file, as described above. - Information stored by the Purchasing
History Storage Unit 120 is provided to User EstimatedPurchasing Needs module 140. In order to estimate the user's purchasing needs, pertinent static and dynamic profiles of the user should be constructed based on the past purchasing histories obtained from the PurchasingHistory Storage Unit 120, which is performed by the UserProfile Generation module 110. Static profiles include the user's demographic information (e.g., age, sex, marital status), particular preferences (e.g., user prefers a particular brand of beer), and certain purchasing decisions (e.g., the user bought a particular automobile in a particular month). Dynamic profiles include a set of rules (e.g., “if a user goes to France, the user often buys perfumes in Paris”, “if user Y visits a Web site from the site Z in the evening, user Y does not spend a predetermined amount of time at site Z”, etc.). - In addition, the PSA system maintains information on the current State of the World using the State-of-the-
World module 150, which records information, e.g., on a broad range of products and services offered by various suppliers and on promotions and discounts run for these products and services. Also, the PSA system includes the State-of-the-User module 160 that maintains information about the user obtained from the Purchasing History Storage Unit 120 (e.g., the user will be in New York on Jun. 28, 1995 because she purchased an airline ticket for that date and destination) and various external information (e.g., the date, time, and the user's location, if available). - By knowing the purchasing history of a user (provided from the Purchasing History Storage Unit 120), the user's profile (provided from the User Profile Generation module 110), and the external information about the user (provided from the State-of-the-User module 160), the PSA system estimates the user's future purchasing needs using the User Estimated
Purchasing Needs module 140. This EstimatedPurchasing Needs module 140 may match the rules specifying which products the user will buy (and when) with the user's purchasing history. As a result, a set of products that the user should consider buying is produced. - Once future purchasing needs are estimated in
Step 140, the PSA system will match these needs against a broad range of products and services offered by various suppliers and on the promotions and discounts run for these products and services. This matching process is performed by thePurchasing Recommendation module 145 using conventional methods that are known to those of ordinary skill in the art. For example, if the user needs to buy a pair of jeans within the next two months, thePurchasing Recommendations module 145 selects the merchants selling jeans, e.g, the cheapest pair of jeans that fits the use's requirements (considering the promotions offered within the next two months) by matching to the user profile (i.e., the user's purchasing needs). Once thePurchasing Recommendations module 145 matches the user's purchasing needs against the products and services, thePurchasing Recommendations module 145 provides purchasing recommendations to the user. - For example, based on the past purchasing history of a particular user, the PSA service may ascertain that whenever user X goes to France, user X often buys perfume in Paris. This rule is stored as a part of the user profile using the User
Profile Generation module 110. In addition, the PurchasingHistory Storage Unit 120 of the PSA service may receive information that the user has purchased a ticket to Paris, and in a substantially same time period, the State-of-the-World Unit 150 of the PSA service also receives information that, e.g., Christian Dior has launched a new line of perfumes that is similar to the brands previously purchased by user X. In addition, the State-of-the-World Unit 150 may also receive information that the duty-free shop at Charles de Gaulle airport is having a sale on these new perfumes (the price being very competitive). Using the above-described exemplary information, the PSA service (using the User Estimated Purchasing Needs module 140) estimates that user X may want to buy these perfumes and sends a message to user X (via the Purchasing Recommendation module 145) to consider purchasing the new perfume at the duty-free shop at Charles de Gaulle airport. - The success of the PSA service depends primarily on accurate predictions by the PSA service of users' future needs. If the user finds, e.g., 50% of the PSA suggestions useful, the user will probably be satisfied with the PSA service. However, if the user finds, e.g., only 10% of the suggestions to be useful, the user will, most likely, reject this service. As indicated above, in order to make predictions of the user's future needs more accurate, it is important to build reliable user profiles. Particular embodiments provide a method and system for generating better dynamic profiles and, therefore, providing more accurate predictions of the users' future needs.
- The PSA system illustrated in
FIG. 6 a can be implemented using a first exemplary system shown inFIG. 6 b and a second exemplary system shown inFIG. 6 c. The first exemplary system ofFIG. 6 b provides that the User Transaction Collection andRecording Unit 115 is stored on the client side. All other modules fromFIG. 6 a are stored on the server side and are connected to the User Transaction Collection andRecording Unit 115 via a Telecommunication Medium 130 (e.g., a telephone line or a wireless communication medium). In the first exemplary system, individual user purchasing histories and static and dynamic profiles of these users are stored on the server at a central location (e.g. a database), and the method and system according to particular embodiments (as described above) generates improved dynamic profiles, and thus provides better estimated purchasing needs of the users. - The second exemplary system of
FIG. 6 c provides that the User Transaction Collection andRecording Unit 115, the User'sProfile Generation Module 110, the PurchasingHistory Storage Unit 120, the State-of-the-World module 150, the State-of-the-User module 160, and the User EstimatedPurchasing Needs module 140 are stored on the client side, while the State-of-the-World module 150 and thePurchasing Recommendations module 145 are stored on the server side. In the second exemplary system, the user dynamic profiles are validated inStep 20 ofFIG. 2 by the user (since these profiles are stored on the client side and are available to the user for checking and validating). Oncemodule 140 estimates user purchasing needs, these estimated user purchasing needs are transmitted via the Telecommunication Medium 130 (e.g., a telephone line or a wireless communication medium) to the server, where the estimated user purchasing needs are matched by thePurchasing Recommendation module 145 to various products and services offered by various suppliers (that are stored on the server side). The resulting purchasing recommendations are transmitted back to the client side via thetelecommunication medium 130 for the user's consideration. - The PSA service can also be used in a Personal Intelligent Digital Assistant (PIDA) service as illustrated in
FIG. 7 . Each user subscribing to this additional service is provided with a Personal Digital Assistant (PDA) (e.g., theremote device 350 or the User Transaction Collection and Recording Unit 115), which is connected to the PSA system (e.g., a general purpose computer 300). The PDA remote device(s) 350 (which includes, e.g., a PDA processor 360, a PDA I/O port 365 and a PDA input device 355) and the PSA system(s) 300 (which includes, e.g., adisplay device 310, a storage device, aPSA processor 320, a PSA/ I/O port 325 and a PSA input device 305) form a client-server architecture, in which the PDA remote device is a client and the PSA system is a server. The PSA system, using the Past Purchasing History Storage Unit 120 (e.g., a storage device 315) and the UserProfile Generation module 110, the State-of-the-World module 150, the State-of-the-User module 160, the User EstimatedPurchasing Needs module 140 and the Purchasing Recommendations module 145 (executed by, e.g., a processor 320) estimates users' future needs and behavior as described above. The PDA device accumulates additional information on the user's current state, such as the user's location information, preferences, and desires (e.g., the user is hungry now and wants to eat). This additional information is transmitted from the PDA device to the PSA system via the telecommunication medium 130 (e.g., a wireless network, fiber-optics communication system, telephone wired system, etc.) to be stored using the State-of-the-User module 160 (e.g., in the storage device 315) as part of the user's state and is used subsequently for estimating the user's purchasing needs. - For example, in order to illustrate how the PIDA service operates, assume that it is Tuesday, 11:30 am and that user X is driving in his car on I-87 in the Albany region on business, and that he indicated through his
PDA device 350 that he wants to have lunch. The PDA device (350) records the current state of user X as “Tuesday, 11:30 am, presently driving in user X's car on I-87 in the Albany region, travel purpose is business, wants to have lunch.” This information is sent from thePDA device 350 to thePSA system 300 viatelecommunication medium 130. Based on user X's past purchasing history, the PIDA service recognizes that whenever user X is traveling on business, he likes to have light lunches at good quality restaurants and that he generally likes sea food. By examining user X's personal profile, and by matching the dynamic rule which provides that “whenever user X travels on business, he prefers light lunches at good quality restaurants”, with user X's current state (user X is currently traveling on business), thePSA system 300 can predict that user X prefers a lunch at a good quality restaurant and he wants to eat light food. Next, the State-of-the-World module 150 of thePSA system 300 searches for highly rated seafood restaurants in the Albany region. If thePSA system 300 finds any such restaurant, user X is provided with restaurant choices (e.g., if more than one restaurant is located) by contacting user X'sPDA device 350. If thePSA system 300 does not find first choice restaurants conforming to the user X's preferences, thePSA system 300 provides second choice restaurants to user X. - User needs are estimated based on purchasing history, the user's static and dynamic profiles and the current “state” of the user (sent to the PSA system from the PDA device). When the needs of the user are estimated (e.g. the user wants to buy a perfume in Paris, or wants to eat at a good seafood restaurant in the Albany region), they are matched with the current state of the “world.” If the PIDA service finds good matches (e.g., Christian Dior perfumes are on sale at Charles de Gaulle airport in Paris, or that there is a good seafood restaurant in the Albany region serving special lunches and located very close to the user's current route), purchase recommendations are provided to the customer based on these matches. These recommendations are sent back from the
PSA server 300 to thePDA device 350 via a telecommunication medium 130 (e.g., via e-mail or through another intelligent user interface). - The PIDA service incorporating the system and method according to particular embodiments can be used for notifying the users about various purchasing opportunities, both time sensitive (e.g., a particular sale will start next week) and spatial (e.g., if you need a new sweater, and sweaters you would probably like are on sale at the store near your work).
- The system and method according to particular embodiments can also be incorporated in a Web site system. In conventional systems, when a user visits a particular Web site, the user usually sees the same contents, regardless of who the user is. Using the system and method according to particular embodiments (i.e., individual profiles for respective users), the dynamic Web content of the Web site presented to the user can be varied to conform to the dynamic profile of the user visiting the Web site. Furthermore, dynamic profile construction methods can also be used in fraud detection systems. In particular, a set of fraud detection rules can be dynamically generated for each user.
- It should be noted that the use of the above-described rule compression process and the cluster compression process according to particular embodiments is not limited to a construction of user profiles. For example, these process can also be used for computing useful association rules in data mining applications, or in general compressing large sets of rules generated by data mining algorithms.
- Another embodiment for providing a selective validation of individual user rules is shown in
FIG. 8 . In particular, user rules for all individual users (e.g., customers) are provided to a selective validation module/arrangement (step 375). The selective validation module/arrangement can be preferably executed by a central computing device illustrated inFIGS. 6 a and 6 b, or executed by theprocessor 320 of thegeneral purpose computer 300 illustrated inFIG. 7 . The individual user rules may be stored in thestorage device 315. It is also possible to provide the selective validation module/arrangement in theremote unit 350 illustrated inFIG. 7 . Instep 380, the selective validation module/arrangement receives still unvalidated user rules and outputs at least one set of selectively validated individual user rules (step 390). In addition, the selective validation module/arrangement can optionally include the process illustrated inFIG. 3 . In an exemplary embodiment, this selective validation procedure allows the human expert to select particular subsets of individual user rules and characterize these subsets as “Good” subsets, “Bad” subsets and/or “Undecided” subsets. - A flow chart representation of an exemplary embodiment of a process executed by the selective validation module (or an exemplary steps executed by the selective validation arrangement) described above is illustrated in
FIG. 9 . According to particular embodiments, a “Good_Rules” set is provided to maintain (e.g., store) all sets of individual user rules which were selected by the human expert as rules which are usable for a particular user. A “Bad_Rules” set is provided to store all sets of individual user rules selected by the human expert to be unusable for that user. - As shown in
FIG. 9 , (in step 400) each of the “Good_Rules” and “Bad_Rules” sets are initialized, e.g., to be empty or null sets. Instep 405, all user rules are combined to form Set S. Set S initially contains all related (e.g., similar) subsets of the unvalidated individual user rules for all users. These similar subsets may be grouped in a similar manner as discussed above with reference toFIG. 4 , or using a filtering and/or clustering operator as discussed below. Instep 410, the user rules in Set S (or subsets in Set S) can be displayed. The human expert examines the subsets of “related” rules from Set S (e.g., one rule or one set at a time), and selects which subsets (or which rules) in Set S are “good”, “bad” and/or neither (step 415). These subsets can also be examined automatically by a system (e.g., theprocessor 320 implementing an expert system or an artificial intelligence system) using a predetermined criteria. If a particular subset in Set S is selected to be usable, the particular subset is marked as “good”; if this subset is selected to be unusable, it is marked as “bad”; if the human expert (or the system) cannot determine if the particular subset is usable or not, such subset is marked as “undecided” (step 420). Instep 425, the subsets which are marked as “good” are moved from Set S to the Good_Rules set, and the subsets which are marked as “bad” are moved from Set S to Bad_Rules set. - In
step 430, a decision is made (e.g., automatically via theprocessor 320 or by the human expert) if the processing of the selective validation module/arrangement is completed, and, if so, initiates a completion process according to particular embodiments. There can be numerous conditions to indicate to the selective validation module/arrangement according to particular embodiments that the completion process should be initiated. For example, the following exemplary conditions may prompt the selective validation module/arrangement to stop processing: -
- Set S can became empty (i.e., all subsets of rules are moved from Set S to “Good_Rules” set and/or to “Bad_Rules” set). If this is the case, all subsets of rules are marked with their appropriate designation (i.e., “good” or “bad”);
- the number of subsets in Set S is less than a predetermined number;
- the ratio of the rules in Set S with respect to all of the existing rules is less than predetermined value; and
- the user decides to stop the process (e.g., a desired number of rules has already been classified or marked).
Other stopping criteria may be used for initiating the completion process according to particular embodiments.
- If it is determined that the processing of the completion process according to particular embodiments should be initiated, the rules from the Good Rules set is assigned to one or more corresponding users (step 435), Good Rules set and/or undecided subsets can be displayed (step 440), and the execution of the process according to particular embodiments is stopped. If, however, it is determined that the completion process should not be initiated (i.e., the subsets should be regrouped), the remaining rules in Set S (i.e., the subsets marked as “undecided”) are grouped or regrouped to generate a new Set S (step 445), and this new Set S is provided to the human expert (i.e., looped back to step 410) so that the rules within new Set S may be reclassified using the process and/or the arrangement according to particular embodiments (i.e., looped again starting with step 410).
- It should be noted that if a particular subset Set S is marked as “undecided”, this subset is then further analyzed by either splitting it into smaller subsets using techniques described below or optionally regrouping this particular subset with other related sets from Set S as also described below.
- According to an exemplary embodiment of the process according to particular embodiments, the rules in Set S which were marked as “undecided” are grouped to generate a new Set S according to the following exemplary methods:
- A predetermined number of the remaining subsets (which can also be a single subset) contained in Set S are selected and merged together to form new subsets. The above-described remaining sets can be selected by the human expert or according to some predetermined selection criterion (e.g., the size of individual sets of rules should be smaller than a predetermined value).
- One or more subsets are selected from Set S. For each of these subsets, at least one of the following exemplary “partitioning” operators is applied to the selected subsets: a filtering operator and/or a cluster/grouping operator (which are as described below). Other “partitioning” operators can also be implemented. The terms—“clustering operator” and “grouping operator refer to identical operations and shall be utilized interchangeably below. In a particular embodiments, subsets in Set S (obtained using the cluster operator with a particular “cut” operator) can be re-grouped based on a different “cut” operator, which may depend from the previous cut and/or can be based on other parameters or criteria. For example, these subsets can be merged back into a single set of rules and the cluster operator is then applied to this subset again (but with a different “cut” parameter). Other operators can also be used to regroup the subsets in Set S.
- I. Filtering Operators
- An exemplary filtering operator receives a subset of rules and splits this subset into at least 2 subsets: one subset contains rules which pass a predetermined selection criteria of the filter, and another subset contains rules which do not. In particular, this selection criteria may be specified using a data mining query (or a pattern template). The data mining query describes a class of patterns in general terms.
- Data mining queries are described in publications—T. Imielinski et al., “DataMine: Application Programming Interface and Query Language for Database Mining”, Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, August 1996; J. Han et al., “DMQL: A Data Mining Query Language for relational Databases”, Proceedings of the SIGMOD Workshop in Research Issues on Data Mining and Knowledge Discovery, Montreal, June 1996; and W. Shen et al., “Metaqueries for Data Mining,” Advances in Knowledge Discovery and Data Mining, chap. 15, AAAI Press, 1996. Any pattern description language or any data mining query language can be used to specify patterns and data mining queries. For example, article by T. Imielinski et al., “DataMine: Application Programming Interface and Query Language for Database Mining,” Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, August 1996 introduced “M-SQL” for association rule discovery which is based on software query language (“SQL”) modified with additional data mining operators. However, the exemplary embodiment of the data mining query does not depend on any specific language.
- For the following exemplary request, “Find all rules in customer purchase data specifying which product categories the customers with children of various ages are buying”, M-SQL query is as follows:
- SELECT *
- FROM Mine(CustomerPurchaseData) R
- WHERE R.Body<{(Children=*), (ChildrenAgeLess6=*), (ChildrenAge6to 12=*), (ChildrenAgeMore12=*)} and {(Children=*)}<R.Body and R. Consequent IN {(CategorySweets=*), (CategoryCereal =*), (CategoryFruit=*)} and R.Confidence>=0.5 and R.Support>=0.01.
- This data mining query discovers association rules if and only if they satisfy certain criteria. First, the association rules must include the fields Children, ChildrenAgeLess6, ChildrenAgre6to12, ChildrenAgeMorel2 of the table CustomerPurchaseData in the body of the rule. Second, the attribute Children must necessarily be present (this is specified by R. Body). Third, the discovered patterns must have one of the fields CategorySweets, CategoryCereal or CategoryFruit as a consequent of the rule (specified by R.Consequent). Finally, the discovered patterns must satisfy certain thresholds measuring statistical significance (i.e., R. Confidence and R.Support).
- Thus, this exemplary data mining query specifies a set of patterns. The set of these exemplary patterns may indicate:
-
- the extent to which families with children younger than six years old buy sweets,
- the extent to which families with children older than 12 years old buy sweets,
- the extent to which families with children older than 12 years old buy fruit, etc.
- Therefore, the pattern specified by the association rule:
-
- Children=YES and ChildrenAgeLess6=YES -->CategorySweets=YES (0.01, 0.55)
noted above is also one of the patterns specified by the data mining query.
- Children=YES and ChildrenAgeLess6=YES -->CategorySweets=YES (0.01, 0.55)
- Pattern Templates are described in M. Klemmettinen et al., “Finding Interesting Rules for Large Sets of Discovered Association Rules”, Proceedings of the Third International Conference on Information and Knowledge Management, December, 1994. For example, a pattern template may be provided as follows:
- Children and ChildrenAge * -->Category(0.01,0.5) where ChildrenAge and Category are generalizations of attributes. Thus, if ChildrenAge specifies the set of attributes {ChildrenAgeLess6, ChildrenAge6 to 12, ChildrenAgeMore12} and Category specifies the set of attributes {CategorySweets, CategoryCereal, CategoryFruit}, then this pattern template specifies the same patterns as the above-described data mining query.
- II. Clustering Operator
- The clustering operator receives, as input, a subset of rules and an attribute hierarchy of this subset. In particular, the attribute hierarchy can be formed using the procedure described below with reference with
FIG. 10 . An exemplary attribute hierarchy is illustrated inFIG. 13 . All of the fields (i.e., attributes) of the attribute hierarchy are provided at the bottom of the attribute hierarchy. These fields are portions of the transaction file TRANS(Trans_ID, Cust_ID, C1, . . . Cn) as described above, without the fields Trans_ID and Cust_ID. In the exemplary hierarchy illustrated inFIG. 13 , n=13. - A top portion of
FIG. 10 shows an exemplary procedure to generate the attribute hierarchy. In step 450, grouping data of a particular subset of rules is determined by combining the fields of the TRANS file (e.g., a table) into groups (e.g., fields C1, C2, C3 illustrated inFIG. 13 are combined into group N1, fields C4 and C5 into group N2, etc.). In step 455, these groups are further combined into larger groups, and so on. For example and as shown inFIG. 13 , groups N2 and N3 are combined into group N4, groups N1 and N4 are combined into group N5, fields C9 and C10 are combined into group N6, group N7 and field C11 are combined into group N8, groups N6 and N8 are combined into N9, and groups N5 and N9 are combined into N10. As a result, the attribute hierarchy is generated (step 455), with attributes of the TRANS transaction file being its leaves. It should be noted that a tree which defines this attribute hierarchy (shown inFIG. 13 ) does not have to be balanced, i.e., all path lengths from the root node to the leaves do not have to be equal. - The attribute hierarchy may include one or more (e.g., two) levels of nodes below the descendent leaves of the attribute hierarchy (i.e., the fields of the TRANS transaction file). A first level consists of a pair of attributes—field and a relational operator. The relational operator may include exemplary operators such as “=”, “<”, “>”, etc. A second level is below the first level and consists of three attributes—field, relational operator and sets of values which the field attribute can be compared to (e.g., predetermined values, one or more intervals, etc.). For example, the second level can be (C3, =, a) (i.e., field C3 uses the relational operator “=” to be compared to variable “a”) , (C5, <, 20) (i.e., field C5, via the relational operator “<” is compared to number 20), (C8, =, [60, 80]) (i.e., field C8, via the relational operator “=” is compared to a range between 60 and 80), etc. FIG. 14 shows an exemplary illustration of the first and second level extensions of node N7. In particular, the first level of field C12 is a
leaf 540, which contains field C12 and a relational operator “<”. Belowleaf 540, a lowest leaf of field C12 (leaf 550) is provided with field C12, the relational operator “<” and a comparison value “20”. In addition, the first level of field C13 is aleaf 545, which contains field C13 and a relational operator “=”. Belowleaf 545, a lowest leaf of field C13 (leaf 555) is provided with field C13, the relational operator “=” and a comparison range “[60, 80]”. These leaves are only provided for illustrative purposes, and it should be understood that other combinations of field to relational operators to comparison values/ranges are possible. These hierarchies don't necessarily have to include the same number of extensions/leaves. For example, field C12 may have two extensions, field C4 may have one extension, field C5 can have no extensions and field C6 can have four extensions. - After the attribute hierarchy is generated in step 455 (shown in
FIG. 10 ), “Cut” data is generated with respect to the attribute hierarchy (step 460) by providing a “Cut” in the attribute hierarchy. “Cut” in the attribute hierarchy is defined as a set of nodes of the tree such that a union of all descendant leaves of the nodes which were identified in the cut consists of all the fields of TRANS transaction file (i.e., C1, . . . ,Cn). An exemplary cut is shown inFIG. 13 which includes the following groups/fields—C1, C2, C3, N4, N6, C11 and N7. In addition, the “Cut” is not limited to the nodes of shown inFIG. 13 , and can also include one or two levels below the field levels (shown inFIG. 14 ).FIG. 11 shows a detailed illustration of step 460 in which “Cut” data is generated. In step 480, the “Cut” is provided to the attribute hierarchy. If the “Cut” is properly specified (e.g., all of the leaves of the attribute hierarchy are above the “Cut”, leaves being the lowest level of the attribute hierarchy) in step 485, or if the human expert (or the system) indicates that the “Cut” is unacceptable (step 490), a different “Cut” is created using similar techniques as described above for providing the original cut (step 497) and the procedure is restarted at step 485 with this newly created “Cut”. Otherwise, “Cut” data is generated as a function of the “Cut” (step 495) and can be stored in memory for a possible future use. - After the “Cut” data is generated (step 460 in
FIG. 10 ), subsets of the user rules are grouped using “Cut” data and the hierarchy data (step 465), and these grouped subsets are placed into Set S (step 470) to be provided to the human expert. - Thus, the clustering operator consists of steps 460-470. As indicated above, the following data is provided as input to the clustering operator: a) initial set of user rules, b) an attribute hierarchy as described above, and c) the “Cut”. The output of the clustering operator is Set S which includes subsets of rules. These subsets are mutually exclusive and collectively exhaustive (e.g., a union of the subsets is equal to all of the rules in Set S).
-
FIG. 12 shows an exemplary procedure for grouping subsets of the user rules using the “Cut” data as described for step 465 above (FIG. 10 ). In particular, all user rules are combined from a number of subsets of Set S to form Set A. Instep 505, another set (i.e., a Cluster Working Set B) is initialized (e.g., to be an empty set or a null set). A new rule is then retrieved from Set A (step 510). Instep 515, if there are no more rules in Set A to be analyzed or regrouped (e.g., Set A has no more rules or is a null set), the exemplary procedure shown inFIG. 12 is completed. Otherwise, instep 520, it is determined if the new rule corresponds to a class of any existing cluster subset in Set B. If that is the case, the new rule is moved into a “matched” subset in Set B (step 525) and the procedure is directed to step 510. Otherwise, a new cluster subset is created in Set B (step 530), the new rule is moved to the new cluster subset in Set B (step 535), and then the procedure is directed to step 510. - Using the “Cut”, two rules are provided to the same class if and only if they have the same structure with respect to the “Cut”. In particular, the rules should have the same number of attributes and these attributes, e.g., can be grouped in pairs so that two attributes in the same pair have the same ancestor in the “Cut”. For example, the rules:
- are equivalent because fields C4 and C6 (shown in
FIG. 13 ) have group N4 as an ancestor in the “Cut”, rules C9 and C10 have group N6 as an ancestor in the “Cut”, and rules C12 and C13 have group N7 as an ancestor in the “Cut”. It should be noted that the user rules in the same cluster are “equivalent”. As such, a new rule retrieved from Set A can be compared with any rule (or a specific rule) in the related cluster subset in Set B instep 520 shown inFIG. 12 . In addition and as shown inFIG. 13 , the rules: - are not equivalent because fields C9 and C11 do not have a common ancestor in the “Cut”. Accordingly, using the procedure shown in
FIGS. 10 and 12 , the subsets of rules of the generated clusters are provided into the set of regrouped rules generated instep 445 ofFIG. 9 . - After Set S is split into a subset of clusters, one or more statistics may be generated for each cluster. These statistics may be, e.g.,
-
- the number of rules per cluster.
- if a component of the rule is an attribute, the ranges of values that such attribute can assume. For example, if the attribute is “Age =a”, then it may be preferable to collect statistics on the maximum and minimal values for the age in the rules for that cluster, in addition to the average value and standard deviation for that age.
- for different nodes/groups, how many rules correspond to different attributes for each node/group. For example, for group N6 shown in
FIG. 13 , it is possible to maintain the number of rules with attribute C9 and the number of rules with attribute C10. - centers of clusters (calculated, e.g., with the method described above and illustrated in
FIGS. 4 and 5 ). These centers can be reported to the human expert.
These exemplary statistics may be utilized by the human expert in step 410 (shown inFIG. 9 ) to determine which sets of rules the human expert may select for a manual examination. This completes the description ofFIG. 9 and the way rules are examined by the human expert.
- If the human expert determines that the clustering of rules based on a particular “Cut” is unsatisfactory, the rules may be regrouped in
step 445 using a different “Cut”. For example, this different cut would be a finer cut which generated a larger number of clusters (which are smaller in size). This can be done by merging back the clusters of rules obtained with the previous “Cut” (in step 445), returning to step 410 where the human expert marks all the merged rules as “undecided”, and then, instep 445 again, re-cluster rules based on the different (e.g., finer) “Cut”. - The process and system according to particular embodiments can be implemented using, e.g., a graphical user interface (“GUI”) which enables the human expert to communicate with the validation system according to particular embodiments. Using this GUI, the human expert selects a number of operators from a graphical menu of the GUI. Exemplary operators provided on this graphical menu may include a “Filtering” operator, a “Clustering” operator and a “Browsing” operator (e.g., allows the human expert to examine sets of rules generated by the “Clustering” operator or another operator). Other operators can also be included in the graphical menu of the GUI.
-
FIG. 15 shows an exemplary flow of the process and system according to particular embodiments. In particular, the user (e.g., human expert) can select the “Filtering” operator from the graphical menu and apply this operator to Set S (step 600). As a part of the filtering operator, the human expert may specify a data mining query which selects “Good”, “Bad” or “undecided” rules from Set S. Then, instep 605, “Good” rules are moved from Set S to “Good Rules” set, and “Bad” rules are moved from Set S to “Bad Rules” set which is, preferably, automatically saved by the system (e.g., the processor) into a memory device. Instep 615, the system may mark the user rules which were determined by the user (or automatically by the system) as “undecided”. Instep 620, the human expert may apply the remaining “undecided” rules through another filter to again obtain “Good”, “Bad” and “undecided” rules (which can be determined using another user-specified data mining query) from the rest of the rules. After the second “Filtering” operator is applied, the system may move “Good” rules from Set S to “Good Rules” set, and “Bad” rules from Set S to “Bad Rules” set (step 625). Instep 640, the human expert may decide to cluster the remaining “undecided” rules in Set S using the “Clustering” operator (which the human expert selects from the graphical menu). The “Clustering” operator generates many sets of rules that the user may decide to examine using a graphical browser by selecting a “Browsing” operator from the graphic menu (step 645). The “Browsing” operator allows the user (e.g., the human expert) to examine the clusters of generated user rules by analyzing the statistics (described above) for these clusters. This process of selecting operators (from the graphical menu of available operators) can continue until, e.g., all the rules in Set S have been validated or until the human expert decides to stop the processing of the validation procedure based on at least one of the above-described stopping criteria. - The human expert may apply a number of (e.g., four) operations in sequence (e.g., two filtering operators, one clustering operator, and one browsing operator). This process can also be performed in parallel (e.g., the human expert may decide to perform two filtering operations in parallel and then combine their results).
- In particular embodiments, while the human expert proceeds deeper into an validation process (i.e., performs more iterations of steps 410-430 and 445 shown in
FIG. 9 ), the process steps may be recorded using the GUI interface.
Claims (20)
1. A method comprising:
retrieving, by one or more processors associated with one or more computer servers, historical transaction information associated with a user;
generating, by the one or more processors, at least a portion of a user profile for the user based on the historical transaction information;
estimating, by the one or more processors, purchasing needs of the user;
generating, by the one or more processors, purchasing recommendations for the user based on the purchasing needs of the user; and
providing, by the one or more processors, the purchasing recommendations.
2. The method of claim 1 , wherein the at least a portion of the user profile includes static characteristics.
3. The method of claim 2 , wherein the static characteristics comprise demographic data, psychographic data, purchasing preferences, or any combination thereof
4. The method of claim 1 , wherein the at least a portion of the user profile includes dynamic characteristics.
5. The method of claim 4 , wherein the dynamic characteristics are based on rules describing the user's behavior.
6. The method of claim 5 , wherein the rules describing the user's behavior are generated using machine learning based on the historical transaction information.
7. The method of claim 5 , further comprising validating the rules describing the user's behavior based on a defined criteria.
8. The method of claim 7 , wherein the validating the rules is based on input from the user, from an expert, or any combination thereof
9. The method of claim 1 , further comprising combining a portion of the user profile including static characteristics with a portion of the user profile including dynamic characteristics.
10. The method of claim 1 , wherein the historical transaction information is stored in a multidimensional space having at least three dimensions, each of the dimensions being capable of providing variable information.
11. The method of claim 1 , wherein the generating purchasing recommendations further comprises: accessing a data store comprising information associated with products, services, suppliers, promotions, discounts, or any combination thereof
12. The method of claim 1 , wherein estimating purchasing needs of the user is based on a state of the user, a state of the world, or any combination thereof.
13. The method of claim 1 , wherein the purchasing recommendations are provided to a marketing application.
14. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
retrieve, by one or more processors associated with one or more computer servers, historical transaction information associated with a user;
generate, by the one or more processors, at least a portion of a user profile for the user based on the historical transaction information;
estimate, by the one or more processors, purchasing needs of the user;
generate, by the one or more processors, purchasing recommendations for the user based on the purchasing needs of the user; and
provide, by the one or more processors, the purchasing recommendations.
15. The media of claim 14 , wherein the rules describing the user's behavior are generated using machine learning based on the historical transaction information.
16. The media of claim 14 , further embodying software operable when executed to validate the rules describing the user's behavior based on a defined criteria.
17. The media of claim 16 , wherein the step of validating the rules is based on input from the user, from an expert, or any combination thereof
18. A system comprising:
one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
retrieve historical transaction information associated with a user;
generate at least a portion of a user profile for the user based on the historical transaction information;
estimate purchasing needs of the user;
generate purchasing recommendations for the user based on the purchasing needs of the user; and
provide the purchasing recommendations.
19. The system of claim 18 , wherein the historical transaction information is stored in a multidimensional space having at least three dimensions, each of the dimensions being capable of providing variable information.
20. The system of claim 18 , wherein the step of estimating purchasing needs of the user is based on a state of the user, a state of the world, or any combination thereof
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/604,377 US20120330779A1 (en) | 1997-11-14 | 2012-09-05 | Predicting Purchasing Requirements |
US14/599,263 US20150154648A1 (en) | 1997-11-14 | 2015-01-16 | Selecting content for a user |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/970,359 US6236978B1 (en) | 1997-11-14 | 1997-11-14 | System and method for dynamic profiling of users in one-to-one applications |
PCT/US1998/024339 WO1999026180A1 (en) | 1997-11-14 | 1998-11-13 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US09/554,383 US6871186B1 (en) | 1997-11-14 | 1998-11-13 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US11/074,157 US7603331B2 (en) | 1997-11-14 | 2005-03-07 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US12/553,522 US8103611B2 (en) | 1997-11-14 | 2009-09-03 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
US13/337,468 US20120265789A1 (en) | 1997-11-14 | 2011-12-27 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
US13/604,377 US20120330779A1 (en) | 1997-11-14 | 2012-09-05 | Predicting Purchasing Requirements |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/337,468 Continuation US20120265789A1 (en) | 1997-11-14 | 2011-12-27 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/599,263 Continuation US20150154648A1 (en) | 1997-11-14 | 2015-01-16 | Selecting content for a user |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120330779A1 true US20120330779A1 (en) | 2012-12-27 |
Family
ID=25516831
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/970,359 Expired - Lifetime US6236978B1 (en) | 1997-11-14 | 1997-11-14 | System and method for dynamic profiling of users in one-to-one applications |
US09/554,383 Expired - Lifetime US6871186B1 (en) | 1997-11-14 | 1998-11-13 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US11/074,157 Expired - Lifetime US7603331B2 (en) | 1997-11-14 | 2005-03-07 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US12/553,522 Expired - Fee Related US8103611B2 (en) | 1997-11-14 | 2009-09-03 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
US13/337,468 Abandoned US20120265789A1 (en) | 1997-11-14 | 2011-12-27 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
US13/604,377 Abandoned US20120330779A1 (en) | 1997-11-14 | 2012-09-05 | Predicting Purchasing Requirements |
US14/248,240 Expired - Lifetime US9483778B2 (en) | 1997-11-14 | 2014-04-08 | Generating a user profile |
US14/599,263 Abandoned US20150154648A1 (en) | 1997-11-14 | 2015-01-16 | Selecting content for a user |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/970,359 Expired - Lifetime US6236978B1 (en) | 1997-11-14 | 1997-11-14 | System and method for dynamic profiling of users in one-to-one applications |
US09/554,383 Expired - Lifetime US6871186B1 (en) | 1997-11-14 | 1998-11-13 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US11/074,157 Expired - Lifetime US7603331B2 (en) | 1997-11-14 | 2005-03-07 | System and method for dynamic profiling of users in one-to-one applications and for validating user rules |
US12/553,522 Expired - Fee Related US8103611B2 (en) | 1997-11-14 | 2009-09-03 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
US13/337,468 Abandoned US20120265789A1 (en) | 1997-11-14 | 2011-12-27 | Architectures, systems, apparatus, methods, and computer-readable medium for providing recommendations to users and applications using multidimensional data |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/248,240 Expired - Lifetime US9483778B2 (en) | 1997-11-14 | 2014-04-08 | Generating a user profile |
US14/599,263 Abandoned US20150154648A1 (en) | 1997-11-14 | 2015-01-16 | Selecting content for a user |
Country Status (6)
Country | Link |
---|---|
US (8) | US6236978B1 (en) |
EP (1) | EP1029304A4 (en) |
JP (1) | JP2002517027A (en) |
CA (1) | CA2309940A1 (en) |
IL (1) | IL136103A (en) |
WO (1) | WO1999026180A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372175A1 (en) * | 2013-01-21 | 2014-12-18 | Flytxt B.V | Method and system for detection, classification and prediction of user behavior trends |
US9824316B2 (en) | 2013-12-18 | 2017-11-21 | International Business Machines Corporation | Transforming rules into generalized rules in a rule management system |
RU2670610C1 (en) * | 2014-12-12 | 2018-10-25 | Бэйцзин Цзиндун Сенчури Трэйдинг Ко., Лтд. | Method and device for processing data of user operation |
US20190026761A1 (en) * | 2013-06-13 | 2019-01-24 | Flytxt B.V. | Method and system for automated detection, classification and prediction of multi-scale, multidimensional trends |
US10860634B2 (en) * | 2018-08-06 | 2020-12-08 | Walmart Apollo, Llc | Artificial intelligence system and method for generating a hierarchical data structure |
Families Citing this family (829)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818212B1 (en) | 1999-10-22 | 2010-10-19 | Ewinwin, Inc. | Multiple criteria buying and selling model |
US7693748B1 (en) | 1991-06-03 | 2010-04-06 | Ewinwin, Inc. | Method and system for configuring a set of information including a price and volume schedule for a product |
USRE47908E1 (en) | 1991-12-23 | 2020-03-17 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
USRE48056E1 (en) | 1991-12-23 | 2020-06-16 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US6850252B1 (en) | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
USRE46310E1 (en) | 1991-12-23 | 2017-02-14 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US5903454A (en) | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
CN1071977C (en) | 1993-03-05 | 2001-09-26 | 杰姆斯达发展公司 | Apparatus and method using compressed codes for television program record scheduling |
US6999938B1 (en) | 1996-06-10 | 2006-02-14 | Libman Richard M | Automated reply generation direct marketing system |
US7774230B2 (en) * | 1996-06-10 | 2010-08-10 | Phoenix Licensing, Llc | System, method, and computer program product for selecting and presenting financial products and services |
WO1998010589A1 (en) * | 1996-09-03 | 1998-03-12 | Starsight Telecast, Inc. | Schedule system with enhanced recording capability |
US7055166B1 (en) * | 1996-10-03 | 2006-05-30 | Gotuit Media Corp. | Apparatus and methods for broadcast monitoring |
US6604138B1 (en) * | 1996-12-18 | 2003-08-05 | Clubcom, Inc. | System and method for providing demographically targeted information |
US20060026048A1 (en) * | 1997-08-08 | 2006-02-02 | Kolawa Adam K | Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography |
US6236978B1 (en) | 1997-11-14 | 2001-05-22 | New York University | System and method for dynamic profiling of users in one-to-one applications |
AU769336B2 (en) | 1998-02-27 | 2004-01-22 | Beh Investments Llc | System and method for building user profiles |
US7386485B1 (en) | 2004-06-25 | 2008-06-10 | West Corporation | Method and system for providing offers in real time to prospective customers |
US6055513A (en) | 1998-03-11 | 2000-04-25 | Telebuyer, Llc | Methods and apparatus for intelligent selection of goods and services in telephonic and electronic commerce |
US8315909B1 (en) | 1998-03-11 | 2012-11-20 | West Corporation | Methods and apparatus for intelligent selection of goods and services in point-of-sale commerce |
US7729945B1 (en) | 1998-03-11 | 2010-06-01 | West Corporation | Systems and methods that use geographic data to intelligently select goods and services to offer in telephonic and electronic commerce |
US7364068B1 (en) | 1998-03-11 | 2008-04-29 | West Corporation | Methods and apparatus for intelligent selection of goods and services offered to conferees |
US7437313B1 (en) | 1998-03-11 | 2008-10-14 | West Direct, Llc | Methods, computer-readable media, and apparatus for offering users a plurality of scenarios under which to conduct at least one primary transaction |
US7117518B1 (en) * | 1998-05-14 | 2006-10-03 | Sony Corporation | Information retrieval method and apparatus |
US6782409B1 (en) * | 1998-05-29 | 2004-08-24 | Sony Corporation | Experience/sympathy information providing system |
CN1867068A (en) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | Client-server based interactive television program guide system with remote server recording |
ATE225998T1 (en) | 1998-07-17 | 2002-10-15 | United Video Properties Inc | INTERACTIVE TV GUIDE WITH MULTIPLE DEVICES IN ONE PLACE |
AR020608A1 (en) | 1998-07-17 | 2002-05-22 | United Video Properties Inc | A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK |
US6505348B1 (en) | 1998-07-29 | 2003-01-07 | Starsight Telecast, Inc. | Multiple interactive electronic program guide system and methods |
AU6410699A (en) * | 1998-10-13 | 2000-05-01 | Chris Cheah | Method and system for controlled distribution of information over a network |
AU761730B2 (en) * | 1998-12-03 | 2003-06-05 | Samsung Electronics Co., Ltd. | Subscriber identification system |
US20020123928A1 (en) * | 2001-01-11 | 2002-09-05 | Eldering Charles A. | Targeting ads to subscribers based on privacy-protected subscriber profiles |
US7949565B1 (en) | 1998-12-03 | 2011-05-24 | Prime Research Alliance E., Inc. | Privacy-protected advertising system |
WO2000033160A2 (en) | 1998-12-03 | 2000-06-08 | Expanse Networks, Inc. | Subscriber characterization and advertisement monitoring system |
US7240355B1 (en) * | 1998-12-03 | 2007-07-03 | Prime Research Alliance E., Inc. | Subscriber characterization system with filters |
US6560578B2 (en) * | 1999-03-12 | 2003-05-06 | Expanse Networks, Inc. | Advertisement selection system supporting discretionary target market characteristics |
US7150030B1 (en) | 1998-12-03 | 2006-12-12 | Prime Research Alliance, Inc. | Subscriber characterization system |
US7260823B2 (en) | 2001-01-11 | 2007-08-21 | Prime Research Alliance E., Inc. | Profiling and identification of television viewers |
US6968333B2 (en) | 2000-04-02 | 2005-11-22 | Tangis Corporation | Soliciting information based on a computer user's context |
US7231439B1 (en) | 2000-04-02 | 2007-06-12 | Tangis Corporation | Dynamically swapping modules for determining a computer user's context |
US6801223B1 (en) | 1998-12-18 | 2004-10-05 | Tangis Corporation | Managing interactions between computer users' context models |
US6920616B1 (en) | 1998-12-18 | 2005-07-19 | Tangis Corporation | Interface for exchanging context data |
US9183306B2 (en) | 1998-12-18 | 2015-11-10 | Microsoft Technology Licensing, Llc | Automated selection of appropriate information based on a computer user's context |
US8181113B2 (en) | 1998-12-18 | 2012-05-15 | Microsoft Corporation | Mediating conflicts in computer users context data |
US6842877B2 (en) | 1998-12-18 | 2005-01-11 | Tangis Corporation | Contextual responses based on automated learning techniques |
US7046263B1 (en) | 1998-12-18 | 2006-05-16 | Tangis Corporation | Requesting computer user's context data |
US7073129B1 (en) | 1998-12-18 | 2006-07-04 | Tangis Corporation | Automated selection of appropriate information based on a computer user's context |
US6513046B1 (en) | 1999-12-15 | 2003-01-28 | Tangis Corporation | Storing and recalling information to augment human memories |
US6791580B1 (en) | 1998-12-18 | 2004-09-14 | Tangis Corporation | Supplying notifications related to supply and consumption of user context data |
US7904187B2 (en) * | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US8732018B2 (en) * | 1999-05-12 | 2014-05-20 | Ewinwin, Inc. | Real-time offers and dynamic price adjustments presented to mobile devices |
US8140402B1 (en) | 2001-08-06 | 2012-03-20 | Ewinwin, Inc. | Social pricing |
US8311896B2 (en) | 1999-05-12 | 2012-11-13 | Ewinwin, Inc. | Multiple criteria buying and selling model |
AU4981400A (en) | 1999-05-12 | 2000-12-05 | Ewinwin, Inc. | Multiple criteria buying and selling model, and system for managing open offer sheets |
US8626605B2 (en) | 1999-05-12 | 2014-01-07 | Ewinwin, Inc. | Multiple criteria buying and selling model |
US8290824B1 (en) | 1999-05-12 | 2012-10-16 | Ewinwin, Inc. | Identifying incentives for a qualified buyer |
US7593871B1 (en) | 2004-06-14 | 2009-09-22 | Ewinwin, Inc. | Multiple price curves and attributes |
US20110213648A1 (en) * | 1999-05-12 | 2011-09-01 | Ewinwin, Inc. | e-COMMERCE VOLUME PRICING |
WO2000073877A2 (en) * | 1999-06-01 | 2000-12-07 | Lucent Technologies Inc. | Method for constructing an updateable database of subject behavior patterns |
US7013301B2 (en) * | 2003-09-23 | 2006-03-14 | Predixis Corporation | Audio fingerprinting system and method |
US20050038819A1 (en) * | 2000-04-21 | 2005-02-17 | Hicken Wendell T. | Music Recommendation system and method |
US8429026B1 (en) | 1999-06-28 | 2013-04-23 | Dietfood Corp. | System and method for creating and submitting electronic shopping lists |
US6741976B1 (en) * | 1999-07-01 | 2004-05-25 | Alexander Tuzhilin | Method and system for the creation, application and processing of logical rules in connection with biological, medical or biochemical data |
US6505168B1 (en) * | 1999-08-16 | 2003-01-07 | First Usa Bank, Na | System and method for gathering and standardizing customer purchase information for target marketing |
WO2001017250A1 (en) * | 1999-08-31 | 2001-03-08 | Ismail Labeeb K | Method and apparatus for delivery of targeted video programming |
US7103561B1 (en) * | 1999-09-14 | 2006-09-05 | Ford Global Technologies, Llc | Method of profiling new vehicles and improvements |
US8108245B1 (en) | 1999-09-17 | 2012-01-31 | Cox Communications, Inc. | Method and system for web user profiling and selective content delivery |
US7542921B1 (en) | 1999-09-30 | 2009-06-02 | Jpmorgan Chase Bank, N.A. | Network-based financial planning system and method |
US20020055903A1 (en) * | 1999-11-01 | 2002-05-09 | Neal Solomon | System, method, and apparatus for a cooperative communications network |
US20030074301A1 (en) * | 1999-11-01 | 2003-04-17 | Neal Solomon | System, method, and apparatus for an intelligent search agent to access data in a distributed network |
US20020069134A1 (en) * | 1999-11-01 | 2002-06-06 | Neal Solomon | System, method and apparatus for aggregation of cooperative intelligent agents for procurement in a distributed network |
US20020046157A1 (en) * | 1999-11-01 | 2002-04-18 | Neal Solomon | System, method and apparatus for demand-initiated intelligent negotiation agents in a distributed network |
US7571131B1 (en) | 1999-11-05 | 2009-08-04 | Ford Motor Company | Method of conducting online competitive price quoting events |
US7062510B1 (en) * | 1999-12-02 | 2006-06-13 | Prime Research Alliance E., Inc. | Consumer profiling and advertisement selection system |
US7188076B2 (en) * | 1999-12-20 | 2007-03-06 | Ndex Systems Inc. | System and method for creating a true customer profile |
US7173177B1 (en) * | 1999-12-28 | 2007-02-06 | Blue Dolphin Solutions Llc | User interface for simultaneous management of owned and unowned inventory |
US6693236B1 (en) * | 1999-12-28 | 2004-02-17 | Monkeymedia, Inc. | User interface for simultaneous management of owned and unowned inventory |
US7720707B1 (en) | 2000-01-07 | 2010-05-18 | Home Producers Network, Llc | Method and system for compiling a consumer-based electronic database, searchable according to individual internet user-defined micro-demographics |
US8214254B1 (en) | 2000-01-07 | 2012-07-03 | Home Producers Network, Llc | Method and system for compiling a consumer-based electronic database, searchable according to individual internet user-defined micro-demographics (II) |
US7051352B1 (en) * | 2000-02-04 | 2006-05-23 | Koninklijke Philips Electronics N.V. | Adaptive TV program recommender |
JP3545666B2 (en) * | 2000-02-14 | 2004-07-21 | 株式会社東芝 | Service providing system for mobile terminals |
WO2001065448A2 (en) * | 2000-02-29 | 2001-09-07 | Winwin Technologies, Ltd. | System and method for distributed audience profile development through consensual interaction with a network |
US6917940B1 (en) * | 2000-03-10 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Olap-based customer behavior profiling method and system |
US7228283B1 (en) * | 2000-04-05 | 2007-06-05 | David Hornstein | Aesthetic profile collection |
WO2001079966A2 (en) | 2000-04-14 | 2001-10-25 | American Express Travel Related Services Company, Inc. | A system and method for using loyalty points |
US7212996B1 (en) | 2000-04-20 | 2007-05-01 | Jpmorgan Chase Bank, N.A. | System and method for dynamic, multivariable comparison of financial products |
US7979880B2 (en) * | 2000-04-21 | 2011-07-12 | Cox Communications, Inc. | Method and system for profiling iTV users and for providing selective content delivery |
US20060217828A1 (en) * | 2002-10-23 | 2006-09-28 | Hicken Wendell T | Music searching system and method |
US20030167259A1 (en) * | 2000-05-01 | 2003-09-04 | Mike Casson | Interactive sales and marketing network system |
US7389214B1 (en) * | 2000-05-01 | 2008-06-17 | Accenture, Llp | Category analysis in a market management |
US7395193B1 (en) | 2000-05-01 | 2008-07-01 | Accenture, Llp | Manufacture for a market management framework |
US7251687B1 (en) | 2000-06-02 | 2007-07-31 | Vignette Corporation | Method for click-stream analysis using web directory reverse categorization |
US6496809B1 (en) * | 2000-06-09 | 2002-12-17 | Brett Nakfoor | Electronic ticketing system and method |
US8346580B2 (en) * | 2000-06-09 | 2013-01-01 | Flash Seats, Llc | System and method for managing transfer of ownership rights to access to a venue and allowing access to the venue to patron with the ownership right |
US9697650B2 (en) * | 2000-06-09 | 2017-07-04 | Flash Seats, Llc | Method and system for access verification within a venue |
US20060095344A1 (en) * | 2000-06-09 | 2006-05-04 | Nakfoor Brett A | System and method for fan lifecycle management |
US6947922B1 (en) * | 2000-06-16 | 2005-09-20 | Xerox Corporation | Recommender system and method for generating implicit ratings based on user interactions with handheld devices |
DE10030358A1 (en) * | 2000-06-21 | 2002-01-03 | Heidenhain Gmbh Dr Johannes | Method and device for serial data transmission between a position measuring system and a processing unit |
US7359880B2 (en) * | 2000-07-11 | 2008-04-15 | Abel Luther C | System and method for consumer control over card-based transactions |
US7885820B1 (en) | 2000-07-19 | 2011-02-08 | Convergys Cmg Utah, Inc. | Expert system supported interactive product selection and recommendation |
US7031951B2 (en) * | 2000-07-19 | 2006-04-18 | Convergys Information Management Group, Inc. | Expert system adapted dedicated internet access guidance engine |
US7937725B1 (en) * | 2000-07-27 | 2011-05-03 | Koninklijke Philips Electronics N.V. | Three-way media recommendation method and system |
US6655963B1 (en) * | 2000-07-31 | 2003-12-02 | Microsoft Corporation | Methods and apparatus for predicting and selectively collecting preferences based on personality diagnosis |
US7031935B1 (en) * | 2000-07-31 | 2006-04-18 | J.P. Morgan Advisory Services Inc. | Method and system for computing path dependent probabilities of attaining financial goals |
US6895406B2 (en) * | 2000-08-25 | 2005-05-17 | Seaseer R&D, Llc | Dynamic personalization method of creating personalized user profiles for searching a database of information |
US7599851B2 (en) * | 2000-09-05 | 2009-10-06 | Renee Frengut | Method for providing customized user interface and targeted marketing forum |
US8843965B1 (en) * | 2000-09-20 | 2014-09-23 | Kaushal Kurapati | Method and apparatus for generating recommendation scores using implicit and explicit viewing preferences |
US6959296B1 (en) | 2000-09-20 | 2005-10-25 | Paul Reiss | Systems and methods of choosing multi-component packages using an expert system |
US6920458B1 (en) | 2000-09-22 | 2005-07-19 | Sas Institute Inc. | Model repository |
US7299255B2 (en) | 2000-09-26 | 2007-11-20 | I2 Technologies Us, Inc. | System and method for migrating data in an electronic commerce system |
US20020111870A1 (en) * | 2000-09-26 | 2002-08-15 | I2 Technologies, Inc. | System and method for identifying a product |
US7590558B2 (en) * | 2000-09-26 | 2009-09-15 | I2 Technologies Us, Inc. | System and method for facilitating electronic commerce transactions |
EP1193625B1 (en) * | 2000-09-27 | 2006-09-13 | Pertinence Data Intelligence | Collaborative search engine |
CN100397899C (en) | 2000-10-11 | 2008-06-25 | 联合视频制品公司 | System and methods for providing storage of data on servers in on-demand media delivery system |
WO2002033626A1 (en) * | 2000-10-16 | 2002-04-25 | Engage Technologies | Demographic profiling engine |
US7831467B1 (en) | 2000-10-17 | 2010-11-09 | Jpmorgan Chase Bank, N.A. | Method and system for retaining customer loyalty |
KR20030038824A (en) * | 2000-10-17 | 2003-05-16 | 문라이트 코드리스 리미티드 | Method and system for remote video display through a wireless projector |
US20020052780A1 (en) * | 2000-10-30 | 2002-05-02 | Mark Landesmann | Serious intent mechanism and method |
US20020052752A1 (en) * | 2000-10-30 | 2002-05-02 | Mark Landesmann | Serious intent mechanism and method |
US20020053076A1 (en) * | 2000-10-30 | 2002-05-02 | Mark Landesmann | Buyer-driven targeting of purchasing entities |
US7844489B2 (en) * | 2000-10-30 | 2010-11-30 | Buyerleverage | Buyer-driven targeting of purchasing entities |
US7912752B2 (en) * | 2000-10-31 | 2011-03-22 | Context Web, Inc. | Internet contextual communication system |
US7103556B2 (en) | 2000-11-02 | 2006-09-05 | Jpmorgan Chase Bank, N.A. | System and method for aggregate portfolio client support |
US7398226B2 (en) | 2000-11-06 | 2008-07-08 | American Express Travel Related Services Company, Inc. | System and method for networked loyalty program |
US7398225B2 (en) | 2001-03-29 | 2008-07-08 | American Express Travel Related Services Company, Inc. | System and method for networked loyalty program |
US7200606B2 (en) * | 2000-11-07 | 2007-04-03 | The Regents Of The University Of California | Method and system for selecting documents by measuring document quality |
WO2002041188A1 (en) | 2000-11-15 | 2002-05-23 | Mark Frigon | Method and apparatus for processing objects in online images |
US20030126087A1 (en) * | 2000-11-27 | 2003-07-03 | Tomio Kakiuchi | Method for supplying information, system for supplying information, recorder/reproducer, and recording medium |
US7721310B2 (en) * | 2000-12-05 | 2010-05-18 | Koninklijke Philips Electronics N.V. | Method and apparatus for selective updating of a user profile |
US7295999B1 (en) * | 2000-12-20 | 2007-11-13 | Jpmorgan Chase Bank, N.A. | System and method for determining eligibility and enrolling members in various programs |
US7698161B2 (en) * | 2001-01-04 | 2010-04-13 | True Choice Solutions, Inc. | System to quantify consumer preferences |
US7174305B2 (en) * | 2001-01-23 | 2007-02-06 | Opentv, Inc. | Method and system for scheduling online targeted content delivery |
US20030074253A1 (en) * | 2001-01-30 | 2003-04-17 | Scheuring Sylvia Tidwell | System and method for matching consumers with products |
JP3925772B2 (en) * | 2001-01-30 | 2007-06-06 | 東芝テック株式会社 | Merchandise sales data processing device, portable electronic terminal, and ticket issuing method |
US8185487B2 (en) * | 2001-02-12 | 2012-05-22 | Facebook, Inc. | System, process and software arrangement for providing multidimensional recommendations/suggestions |
US7584149B1 (en) | 2001-02-26 | 2009-09-01 | American Express Travel Related Services Company, Inc. | System and method for securing data through a PDA portal |
US7222101B2 (en) | 2001-02-26 | 2007-05-22 | American Express Travel Related Services Company, Inc. | System and method for securing data through a PDA portal |
US7895098B2 (en) | 2001-03-01 | 2011-02-22 | Jpmorgan Chase Bank, N.A. | System and method for measuring and utilizing pooling analytics |
WO2002078259A1 (en) * | 2001-03-26 | 2002-10-03 | Geo Trust, Inc. | Dynamic content certification |
US7114177B2 (en) | 2001-03-28 | 2006-09-26 | Geotrust, Inc. | Web site identity assurance |
US20060053056A1 (en) * | 2001-03-29 | 2006-03-09 | American Express Marketing & Development Corporati | Card member discount system and method |
US7467096B2 (en) | 2001-03-29 | 2008-12-16 | American Express Travel Related Services Company, Inc. | System and method for the real-time transfer of loyalty points between accounts |
US7412202B2 (en) * | 2001-04-03 | 2008-08-12 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating recommendations based on user preferences and environmental characteristics |
US20020178445A1 (en) * | 2001-04-03 | 2002-11-28 | Charles Eldering | Subscriber selected advertisement display and scheduling |
US7669133B2 (en) * | 2001-04-16 | 2010-02-23 | Wellogix Technology Licensing, Llc | System and method for developing rules utilized in a knowledge management system |
US7499948B2 (en) * | 2001-04-16 | 2009-03-03 | Bea Systems, Inc. | System and method for web-based personalization and ecommerce management |
US7080139B1 (en) * | 2001-04-24 | 2006-07-18 | Fatbubble, Inc | Method and apparatus for selectively sharing and passively tracking communication device experiences |
US7958006B2 (en) * | 2001-04-27 | 2011-06-07 | True Choice Solutions, Inc. | System to provide consumer preference information |
US7739162B1 (en) | 2001-05-04 | 2010-06-15 | West Corporation | System, method, and business method for setting micropayment transaction to a pre-paid instrument |
US6684177B2 (en) * | 2001-05-10 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | Computer implemented scalable, incremental and parallel clustering based on weighted divide and conquer |
US7349868B2 (en) * | 2001-05-15 | 2008-03-25 | I2 Technologies Us, Inc. | Pre-qualifying sellers during the matching phase of an electronic commerce transaction |
US7475030B1 (en) | 2001-05-16 | 2009-01-06 | I2 Technologies Us, Inc. | Facilitating electronic commerce transactions using a shared product data repository |
US6684206B2 (en) * | 2001-05-18 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | OLAP-based web access analysis method and system |
US20020184052A1 (en) * | 2001-06-05 | 2002-12-05 | Parker Matthew A. | Method of providing an elective organization providing premium health services for members of the organization |
JP2002366838A (en) * | 2001-06-06 | 2002-12-20 | Toshiba Corp | Recommendation method, server system, and program |
US7346546B2 (en) * | 2001-06-07 | 2008-03-18 | Gateway Inc. | Purchasing interface with a task display |
EP1265170A1 (en) * | 2001-06-08 | 2002-12-11 | Hewlett-Packard Company | Method of maintaining a user profile |
US7127416B1 (en) | 2001-06-18 | 2006-10-24 | I2 Technologies Us, Inc. | Distributed processing of sorted search results in an electronic commerce system and method |
US7263515B1 (en) * | 2001-06-18 | 2007-08-28 | I2 Technologies Us, Inc. | Content enhancement in an electronic marketplace |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
US7330829B1 (en) * | 2001-06-26 | 2008-02-12 | I2 Technologies Us, Inc. | Providing market feedback associated with electronic commerce transactions to sellers |
US7809672B1 (en) * | 2001-06-28 | 2010-10-05 | I2 Technologies Us, Inc. | Association of data with a product classification schema |
US8086643B1 (en) | 2001-06-28 | 2011-12-27 | Jda Software Group, Inc. | Translation between product classification schemas |
US7162453B1 (en) | 2001-06-29 | 2007-01-09 | I2 Technologies Us, Inc. | Protecting content from unauthorized reproduction |
US7346560B1 (en) | 2001-06-29 | 2008-03-18 | I2 Technologies Us, Inc. | Protecting content from unauthorized reproduction |
EP1405244A2 (en) * | 2001-07-06 | 2004-04-07 | Angoss Software Corporation | A method and system for the visual presentation of data mining models |
US7822843B2 (en) * | 2001-08-13 | 2010-10-26 | Cox Communications, Inc. | Predicting the activities of an individual or group using minimal information |
US20050160113A1 (en) * | 2001-08-31 | 2005-07-21 | Kent Ridge Digital Labs | Time-based media navigation system |
US20030049021A1 (en) * | 2001-09-12 | 2003-03-13 | General Instrument Corporation | Apparatus for monitoring of DVD/CD usage and targeted DVD/CD sales utilizing a set top with DVD/CD capability |
US7039622B2 (en) * | 2001-09-12 | 2006-05-02 | Sas Institute Inc. | Computer-implemented knowledge repository interface system and method |
KR100438857B1 (en) * | 2001-09-26 | 2004-07-05 | 엘지전자 주식회사 | Multimedia Searching And Browsing System Based On User Profile |
EP1483739A2 (en) * | 2001-09-27 | 2004-12-08 | BRITISH TELECOMMUNICATIONS public limited company | Method and apparatus for data analysis |
US7003661B2 (en) | 2001-10-12 | 2006-02-21 | Geotrust, Inc. | Methods and systems for automated authentication, processing and issuance of digital certificates |
US7346548B2 (en) * | 2001-10-25 | 2008-03-18 | Goldman Sachs & Co. | System, method, apparatus and means evaluating historical network activity |
US7191143B2 (en) * | 2001-11-05 | 2007-03-13 | Keli Sev K H | Preference information-based metrics |
JP2003223414A (en) * | 2001-11-21 | 2003-08-08 | Matsushita Electric Ind Co Ltd | Attribute information protection system, device, and computer program |
JP2003223590A (en) * | 2001-11-21 | 2003-08-08 | Matsushita Electric Ind Co Ltd | System and device for using attribute information |
US20030115105A1 (en) * | 2001-12-14 | 2003-06-19 | Ncr Corporation | Personal data mining on the web |
US20030130820A1 (en) * | 2002-01-07 | 2003-07-10 | Lane George H. | Work order system |
US20030144898A1 (en) * | 2002-01-31 | 2003-07-31 | Eric Bibelnieks | System, method and computer program product for effective content management in a pull environment |
US20040205157A1 (en) * | 2002-01-31 | 2004-10-14 | Eric Bibelnieks | System, method, and computer program product for realtime profiling of web site visitors |
US20030149743A1 (en) * | 2002-02-06 | 2003-08-07 | Shumeet Baluja | Data logging for resident applications within portable electronic devices |
US7283846B2 (en) * | 2002-02-07 | 2007-10-16 | Sap Aktiengesellschaft | Integrating geographical contextual information into mobile enterprise applications |
US7020494B2 (en) * | 2002-02-07 | 2006-03-28 | Sap Aktiengesellschaft | Integrating contextual information into mobile enterprise applications |
US7372952B1 (en) | 2002-03-07 | 2008-05-13 | Wai Wu | Telephony control system with intelligent call routing |
US7756896B1 (en) | 2002-03-11 | 2010-07-13 | Jp Morgan Chase Bank | System and method for multi-dimensional risk analysis |
US7412424B1 (en) | 2002-03-19 | 2008-08-12 | I2 Technologies Us, Inc. | Third party certification of content in electronic commerce transactions |
US20030187937A1 (en) * | 2002-03-28 | 2003-10-02 | Yao Timothy Hun-Jen | Using fuzzy-neural systems to improve e-mail handling efficiency |
US8516114B2 (en) * | 2002-03-29 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for content pre-fetching and preparation |
US8751391B2 (en) | 2002-03-29 | 2014-06-10 | Jpmorgan Chase Bank, N.A. | System and process for performing purchase transactions using tokens |
US7203909B1 (en) * | 2002-04-04 | 2007-04-10 | Microsoft Corporation | System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities |
US6763354B2 (en) * | 2002-05-10 | 2004-07-13 | Agentarts, Inc. | Mining emergent weighted association rules utilizing backlinking reinforcement analysis |
US7162494B2 (en) * | 2002-05-29 | 2007-01-09 | Sbc Technology Resources, Inc. | Method and system for distributed user profiling |
US20030225772A1 (en) * | 2002-05-31 | 2003-12-04 | International Business Machines Corporation | Business method for determining required product configurations to meet varied performance requirements |
US20040006593A1 (en) * | 2002-06-14 | 2004-01-08 | Vogler Hartmut K. | Multidimensional approach to context-awareness |
US7899707B1 (en) | 2002-06-18 | 2011-03-01 | Ewinwin, Inc. | DAS predictive modeling and reporting function |
US7606756B2 (en) * | 2002-08-02 | 2009-10-20 | Jpmorgan Chase Bank, N.A. | Synthetic funds having structured notes |
WO2004012679A2 (en) * | 2002-08-06 | 2004-02-12 | Blue Flame Data, Inc. | System to quantify consumer preferences |
US7689463B1 (en) | 2002-08-28 | 2010-03-30 | Ewinwin, Inc. | Multiple supplier system and method for transacting business |
US20040158480A1 (en) * | 2002-10-03 | 2004-08-12 | Lubars Mitchell D. | System and method for bundling resources |
US7900229B2 (en) * | 2002-10-15 | 2011-03-01 | Opentv, Inc. | Convergence of interactive television and wireless technologies |
US20040203891A1 (en) * | 2002-12-10 | 2004-10-14 | International Business Machines Corporation | Dynamic service binding providing transparent switching of information services having defined coverage regions |
US7136658B2 (en) | 2002-12-10 | 2006-11-14 | International Business Machines Corporation | High-rate proximity detection with the ability to provide notification |
US8306908B1 (en) | 2002-12-31 | 2012-11-06 | West Corporation | Methods and apparatus for intelligent selection of goods and services in telephonic and electronic commerce |
US20040141003A1 (en) * | 2003-01-21 | 2004-07-22 | Dell Products, L.P. | Maintaining a user interest profile reflecting changing interests of a customer |
US20040148566A1 (en) * | 2003-01-24 | 2004-07-29 | Jp Morgan Chase Bank | Method to evaluate project viability |
US20040148241A1 (en) * | 2003-01-24 | 2004-07-29 | Qi Thomas J. | Method of evaluating a portfolio of leased items |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US7996313B1 (en) * | 2003-03-03 | 2011-08-09 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Method for structuring a supplemental interest mortgage |
US7676034B1 (en) | 2003-03-07 | 2010-03-09 | Wai Wu | Method and system for matching entities in an auction |
US20050198933A1 (en) * | 2004-03-15 | 2005-09-15 | Klein John A. | Deck for mowers |
JP2006524009A (en) * | 2003-03-25 | 2006-10-19 | セドナ・パテント・サービシズ・エルエルシー | Generating audience analysis results |
US8712857B1 (en) | 2003-03-31 | 2014-04-29 | Tuxis Technologies Llc | Methods and apparatus for intelligent selection of goods and services in mobile commerce |
US8590785B1 (en) | 2004-06-15 | 2013-11-26 | Ewinwin, Inc. | Discounts in a mobile device |
US7364086B2 (en) | 2003-06-16 | 2008-04-29 | Ewinwin, Inc. | Dynamic discount card tied to price curves and group discounts |
US7403785B2 (en) * | 2003-06-17 | 2008-07-22 | International Business Machines Corporation | Consolidating online privacy preferences |
US7446972B2 (en) * | 2003-07-24 | 2008-11-04 | Quantum Corporation | Tape drive with a single reel tape cartridge having single guide surface and method for driving |
US8458033B2 (en) | 2003-08-11 | 2013-06-04 | Dropbox, Inc. | Determining the relevance of offers |
US7624068B1 (en) * | 2003-08-18 | 2009-11-24 | Jpmorgan Chase Bank, N.A. | Method and system for dynamically adjusting discount rates for a card transaction |
US8175908B1 (en) | 2003-09-04 | 2012-05-08 | Jpmorgan Chase Bank, N.A. | Systems and methods for constructing and utilizing a merchant database derived from customer purchase transactions data |
US20050060252A1 (en) * | 2003-09-11 | 2005-03-17 | Andrew Doddington | Graphical software tool for modeling financial products |
US7379941B2 (en) * | 2003-09-13 | 2008-05-27 | Compumine Ab | Method for efficiently checking coverage of rules derived from a logical theory |
US20050119938A1 (en) * | 2003-11-17 | 2005-06-02 | Smith Richard T. | Method for providing consumer benefits using a club program |
US7827099B1 (en) | 2003-11-25 | 2010-11-02 | Autoalert, Inc. | System and method for assessing and managing financial transactions |
US8954420B1 (en) | 2003-12-31 | 2015-02-10 | Google Inc. | Methods and systems for improving a search ranking using article information |
US7567950B2 (en) * | 2004-01-14 | 2009-07-28 | Sap Ag | Analytical task execution |
US8010459B2 (en) * | 2004-01-21 | 2011-08-30 | Google Inc. | Methods and systems for rating associated members in a social network |
US8015119B2 (en) | 2004-01-21 | 2011-09-06 | Google Inc. | Methods and systems for the display and navigation of a social network |
US7519566B2 (en) * | 2004-02-11 | 2009-04-14 | Oracle International Corporation | Method and apparatus for automatically and continuously updating prediction models in real time based on data mining |
US10339538B2 (en) * | 2004-02-26 | 2019-07-02 | Oath Inc. | Method and system for generating recommendations |
US20050195966A1 (en) * | 2004-03-03 | 2005-09-08 | Sigma Dynamics, Inc. | Method and apparatus for optimizing the results produced by a prediction model |
US8386728B1 (en) | 2004-03-31 | 2013-02-26 | Google Inc. | Methods and systems for prioritizing a crawl |
US7941439B1 (en) | 2004-03-31 | 2011-05-10 | Google Inc. | Methods and systems for information capture |
US8275839B2 (en) * | 2004-03-31 | 2012-09-25 | Google Inc. | Methods and systems for processing email messages |
US7333976B1 (en) | 2004-03-31 | 2008-02-19 | Google Inc. | Methods and systems for processing contact information |
US8099407B2 (en) | 2004-03-31 | 2012-01-17 | Google Inc. | Methods and systems for processing media files |
US8631076B1 (en) | 2004-03-31 | 2014-01-14 | Google Inc. | Methods and systems for associating instant messenger events |
US8346777B1 (en) | 2004-03-31 | 2013-01-01 | Google Inc. | Systems and methods for selectively storing event data |
US8161053B1 (en) | 2004-03-31 | 2012-04-17 | Google Inc. | Methods and systems for eliminating duplicate events |
US8326658B1 (en) | 2004-04-12 | 2012-12-04 | Amazon Technologies, Inc. | Generation and contextual presentation of statistical data reflective of user selections from an electronic catalog |
US7386572B2 (en) * | 2004-04-14 | 2008-06-10 | Nancy Kramer | System and method for a modular user controlled search engine |
US7802007B2 (en) | 2004-05-19 | 2010-09-21 | Salesforce.Com, Inc. | Techniques for providing connections to services in a network environment |
US8019875B1 (en) | 2004-06-04 | 2011-09-13 | Google Inc. | Systems and methods for indicating a user state in a social network |
US8832132B1 (en) | 2004-06-22 | 2014-09-09 | Google Inc. | Personalizing search queries based on user membership in social network communities |
US7974895B1 (en) | 2004-07-16 | 2011-07-05 | Jp Morgan Chase Bank | System and method for developing finance rate information |
US8015019B1 (en) | 2004-08-03 | 2011-09-06 | Google Inc. | Methods and systems for providing a document |
US20060212149A1 (en) * | 2004-08-13 | 2006-09-21 | Hicken Wendell T | Distributed system and method for intelligent data analysis |
US7178720B1 (en) | 2004-09-30 | 2007-02-20 | West Corporation | Methods, computer-readable media, and computer program product for intelligent selection of items encoded onto portable machine-playable entertainment media |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
WO2006054222A1 (en) * | 2004-11-18 | 2006-05-26 | Koninklijke Philips Electronics N.V. | Apparatus and method for updating user profile |
EP1817919A4 (en) * | 2004-11-29 | 2011-07-20 | Arbitron Inc | Systems and processes for use in media and/or market research |
US7480631B1 (en) | 2004-12-15 | 2009-01-20 | Jpmorgan Chase Bank, N.A. | System and method for detecting and processing fraud and credit abuse |
GB0428365D0 (en) * | 2004-12-24 | 2005-02-02 | Ibm | Methods and apparatus for generating a parser and parsing a document |
US7716140B1 (en) | 2004-12-31 | 2010-05-11 | Google Inc. | Methods and systems for controlling access to relationship information in a social network |
US20110161958A1 (en) * | 2005-01-03 | 2011-06-30 | Jp Morgan Chase Bank | Method and system for managing business calculations using multi-dimensional data |
US7890343B1 (en) | 2005-01-11 | 2011-02-15 | Jp Morgan Chase Bank | System and method for generating risk management curves |
EP1869574A4 (en) * | 2005-03-04 | 2009-11-11 | Resonance Media Services Inc | Scan shuffle for building playlists |
US20060212815A1 (en) * | 2005-03-16 | 2006-09-21 | Huerta Juan M | Dialog system and method for efficient computer interaction |
WO2006097676A2 (en) * | 2005-03-16 | 2006-09-21 | British Telecommunications Public Limited Company | Monitoring computer-controlled processes |
US7175072B2 (en) * | 2005-03-25 | 2007-02-13 | Microsoft Corporation | Strategies for handling transactions based on policies |
EP1708099A1 (en) * | 2005-03-29 | 2006-10-04 | BRITISH TELECOMMUNICATIONS public limited company | Schema matching |
US8412780B2 (en) | 2005-03-30 | 2013-04-02 | Google Inc. | Methods and systems for providing current email addresses and contact information for members within a social network |
US9165042B2 (en) * | 2005-03-31 | 2015-10-20 | International Business Machines Corporation | System and method for efficiently performing similarity searches of structural data |
WO2006103396A1 (en) * | 2005-04-01 | 2006-10-05 | British Telecommunications Public Limited Company | Adaptive classifier, and method of creation of classification parameters therefor |
US8214264B2 (en) * | 2005-05-02 | 2012-07-03 | Cbs Interactive, Inc. | System and method for an electronic product advisor |
US7613736B2 (en) * | 2005-05-23 | 2009-11-03 | Resonance Media Services, Inc. | Sharing music essence in a recommendation system |
US8751302B2 (en) * | 2005-08-11 | 2014-06-10 | Pulsepoint, Inc. | Method and system for placement and pricing of internet-based advertisements or services |
US7769764B2 (en) | 2005-09-14 | 2010-08-03 | Jumptap, Inc. | Mobile advertisement syndication |
US8364540B2 (en) * | 2005-09-14 | 2013-01-29 | Jumptap, Inc. | Contextual targeting of content using a monetization platform |
US8311888B2 (en) * | 2005-09-14 | 2012-11-13 | Jumptap, Inc. | Revenue models associated with syndication of a behavioral profile using a monetization platform |
US8131271B2 (en) | 2005-11-05 | 2012-03-06 | Jumptap, Inc. | Categorization of a mobile user profile based on browse behavior |
US20110313853A1 (en) | 2005-09-14 | 2011-12-22 | Jorey Ramer | System for targeting advertising content to a plurality of mobile communication facilities |
US8302030B2 (en) | 2005-09-14 | 2012-10-30 | Jumptap, Inc. | Management of multiple advertising inventories using a monetization platform |
US8027879B2 (en) | 2005-11-05 | 2011-09-27 | Jumptap, Inc. | Exclusivity bidding for mobile sponsored content |
US9201979B2 (en) * | 2005-09-14 | 2015-12-01 | Millennial Media, Inc. | Syndication of a behavioral profile associated with an availability condition using a monetization platform |
US8209344B2 (en) | 2005-09-14 | 2012-06-26 | Jumptap, Inc. | Embedding sponsored content in mobile applications |
US9076175B2 (en) | 2005-09-14 | 2015-07-07 | Millennial Media, Inc. | Mobile comparison shopping |
US9703892B2 (en) | 2005-09-14 | 2017-07-11 | Millennial Media Llc | Predictive text completion for a mobile communication facility |
US8364521B2 (en) | 2005-09-14 | 2013-01-29 | Jumptap, Inc. | Rendering targeted advertisement on mobile communication facilities |
US10592930B2 (en) | 2005-09-14 | 2020-03-17 | Millenial Media, LLC | Syndication of a behavioral profile using a monetization platform |
US8290810B2 (en) | 2005-09-14 | 2012-10-16 | Jumptap, Inc. | Realtime surveying within mobile sponsored content |
US9058406B2 (en) | 2005-09-14 | 2015-06-16 | Millennial Media, Inc. | Management of multiple advertising inventories using a monetization platform |
US20090240568A1 (en) * | 2005-09-14 | 2009-09-24 | Jorey Ramer | Aggregation and enrichment of behavioral profile data using a monetization platform |
US7577665B2 (en) | 2005-09-14 | 2009-08-18 | Jumptap, Inc. | User characteristic influenced search results |
US8229914B2 (en) | 2005-09-14 | 2012-07-24 | Jumptap, Inc. | Mobile content spidering and compatibility determination |
US7660581B2 (en) | 2005-09-14 | 2010-02-09 | Jumptap, Inc. | Managing sponsored content based on usage history |
US8615719B2 (en) | 2005-09-14 | 2013-12-24 | Jumptap, Inc. | Managing sponsored content for delivery to mobile communication facilities |
US8503995B2 (en) | 2005-09-14 | 2013-08-06 | Jumptap, Inc. | Mobile dynamic advertisement creation and placement |
US8812526B2 (en) | 2005-09-14 | 2014-08-19 | Millennial Media, Inc. | Mobile content cross-inventory yield optimization |
US7912458B2 (en) | 2005-09-14 | 2011-03-22 | Jumptap, Inc. | Interaction analysis and prioritization of mobile content |
US7702318B2 (en) | 2005-09-14 | 2010-04-20 | Jumptap, Inc. | Presentation of sponsored content based on mobile transaction event |
US8660891B2 (en) | 2005-11-01 | 2014-02-25 | Millennial Media | Interactive mobile advertisement banners |
US8989718B2 (en) | 2005-09-14 | 2015-03-24 | Millennial Media, Inc. | Idle screen advertising |
US8832100B2 (en) | 2005-09-14 | 2014-09-09 | Millennial Media, Inc. | User transaction history influenced search results |
US8805339B2 (en) | 2005-09-14 | 2014-08-12 | Millennial Media, Inc. | Categorization of a mobile user profile based on browse and viewing behavior |
US8103545B2 (en) | 2005-09-14 | 2012-01-24 | Jumptap, Inc. | Managing payment for sponsored content presented to mobile communication facilities |
US8433297B2 (en) | 2005-11-05 | 2013-04-30 | Jumptag, Inc. | System for targeting advertising content to a plurality of mobile communication facilities |
US7676394B2 (en) | 2005-09-14 | 2010-03-09 | Jumptap, Inc. | Dynamic bidding and expected value |
US9471925B2 (en) | 2005-09-14 | 2016-10-18 | Millennial Media Llc | Increasing mobile interactivity |
US8666376B2 (en) | 2005-09-14 | 2014-03-04 | Millennial Media | Location based mobile shopping affinity program |
US8819659B2 (en) | 2005-09-14 | 2014-08-26 | Millennial Media, Inc. | Mobile search service instant activation |
US8688671B2 (en) | 2005-09-14 | 2014-04-01 | Millennial Media | Managing sponsored content based on geographic region |
US7752209B2 (en) | 2005-09-14 | 2010-07-06 | Jumptap, Inc. | Presenting sponsored content on a mobile communication facility |
US8195133B2 (en) | 2005-09-14 | 2012-06-05 | Jumptap, Inc. | Mobile dynamic advertisement creation and placement |
US10038756B2 (en) | 2005-09-14 | 2018-07-31 | Millenial Media LLC | Managing sponsored content based on device characteristics |
US8156128B2 (en) | 2005-09-14 | 2012-04-10 | Jumptap, Inc. | Contextual mobile content placement on a mobile communication facility |
US10911894B2 (en) | 2005-09-14 | 2021-02-02 | Verizon Media Inc. | Use of dynamic content generation parameters based on previous performance of those parameters |
US8238888B2 (en) | 2006-09-13 | 2012-08-07 | Jumptap, Inc. | Methods and systems for mobile coupon placement |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US8175585B2 (en) | 2005-11-05 | 2012-05-08 | Jumptap, Inc. | System for targeting advertising content to a plurality of mobile communication facilities |
US7945653B2 (en) * | 2006-10-11 | 2011-05-17 | Facebook, Inc. | Tagging digital media |
US8244532B1 (en) | 2005-12-23 | 2012-08-14 | At&T Intellectual Property Ii, L.P. | Systems, methods, and programs for detecting unauthorized use of text based communications services |
US9117223B1 (en) | 2005-12-28 | 2015-08-25 | Deem, Inc. | Method and system for resource planning for service provider |
US20070157223A1 (en) * | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for managing content |
US20070157247A1 (en) * | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for managing content |
US7685144B1 (en) * | 2005-12-29 | 2010-03-23 | Google Inc. | Dynamically autocompleting a data entry |
US7634463B1 (en) | 2005-12-29 | 2009-12-15 | Google Inc. | Automatically generating and maintaining an address book |
US20070157222A1 (en) * | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for managing content |
US9262446B1 (en) * | 2005-12-29 | 2016-02-16 | Google Inc. | Dynamically ranking entries in a personal data book |
US20090012903A1 (en) * | 2006-01-26 | 2009-01-08 | Contextweb, Inc. | Online exchange for internet ad media |
US20070192345A1 (en) * | 2006-01-27 | 2007-08-16 | William Derek Finley | Method of assessing consumer preference tendencies based on an analysis of correlated communal information |
US7962396B1 (en) | 2006-02-03 | 2011-06-14 | Jpmorgan Chase Bank, N.A. | System and method for managing risk |
US20090210244A1 (en) * | 2006-02-04 | 2009-08-20 | Tn20 Incorporated | Trusted acquaintances network system |
US20070220543A1 (en) * | 2006-02-17 | 2007-09-20 | Shanks David E | Mirroring of live data to guide data in a broadcast system |
US8458745B2 (en) * | 2006-02-17 | 2013-06-04 | The Directv Group, Inc. | Amalgamation of user data for geographical trending |
US20070277196A1 (en) * | 2006-02-24 | 2007-11-29 | Steengaard Bodil H | Methods of user behavior learning and acting in a pervasive system |
US7904524B2 (en) * | 2006-03-06 | 2011-03-08 | Aggregate Knowledge | Client recommendation mechanism |
US7788358B2 (en) | 2006-03-06 | 2010-08-31 | Aggregate Knowledge | Using cross-site relationships to generate recommendations |
US7853630B2 (en) | 2006-03-06 | 2010-12-14 | Aggregate Knowledge | System and method for the dynamic generation of correlation scores between arbitrary objects |
US20070243509A1 (en) * | 2006-03-31 | 2007-10-18 | Jonathan Stiebel | System and method for electronic media content delivery |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US7707192B1 (en) | 2006-05-23 | 2010-04-27 | Jp Morgan Chase Bank, N.A. | Confidence index for assets |
US8684265B1 (en) | 2006-05-25 | 2014-04-01 | Sean I. Mcghie | Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds |
US8668146B1 (en) | 2006-05-25 | 2014-03-11 | Sean I. Mcghie | Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds |
US8342399B1 (en) | 2006-05-25 | 2013-01-01 | Mcghie Sean I | Conversion of credits to funds |
US9704174B1 (en) | 2006-05-25 | 2017-07-11 | Sean I. Mcghie | Conversion of loyalty program points to commerce partner points per terms of a mutual agreement |
US8376224B2 (en) | 2006-05-25 | 2013-02-19 | Sean I. Mcghie | Self-service stations for utilizing non-negotiable credits earned from a game of chance |
US7703673B2 (en) | 2006-05-25 | 2010-04-27 | Buchheit Brian K | Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds |
US10062062B1 (en) | 2006-05-25 | 2018-08-28 | Jbshbm, Llc | Automated teller machine (ATM) providing money for loyalty points |
US8162209B2 (en) | 2006-05-25 | 2012-04-24 | Buchheit Brian K | Storefront purchases utilizing non-negotiable credits earned from a game of chance |
US7590035B1 (en) | 2006-08-29 | 2009-09-15 | Resonance Media Services, Inc. | System and method for generating and using table of content (TOC) prints |
WO2008042267A2 (en) * | 2006-09-29 | 2008-04-10 | United Video Properties, Inc. | Systems and methods for a modular media guidance dashboard application |
US20080082373A1 (en) * | 2006-10-03 | 2008-04-03 | American Express Travel Related Services Co., Inc. | System and method for improved itinerary providing merchant information |
US7906678B2 (en) * | 2006-12-04 | 2011-03-15 | Bayer Schering Pharma Aktiengesellschaft | Crystalline potassium salt of lipoxin A4 analogs |
US7685274B2 (en) * | 2006-12-22 | 2010-03-23 | General Electric Company | Method and apparatus for clustered filtering in an RFID infrastructure |
US20080159114A1 (en) * | 2007-01-02 | 2008-07-03 | Dipietro Richard Anthony | High density data storage medium, method and device |
WO2008092079A2 (en) | 2007-01-25 | 2008-07-31 | Clipmarks Llc | System, method and apparatus for selecting content from web sources and posting content to web logs |
US8352980B2 (en) * | 2007-02-15 | 2013-01-08 | At&T Intellectual Property I, Lp | System and method for single sign on targeted advertising |
US8418206B2 (en) | 2007-03-22 | 2013-04-09 | United Video Properties, Inc. | User defined rules for assigning destinations of content |
US7974888B2 (en) * | 2007-03-30 | 2011-07-05 | Amazon Technologies, Inc. | Services for providing item association data |
US7881984B2 (en) * | 2007-03-30 | 2011-02-01 | Amazon Technologies, Inc. | Service for providing item recommendations |
US8087047B2 (en) * | 2007-04-20 | 2011-12-27 | United Video Properties, Inc. | Systems and methods for providing remote access to interactive media guidance applications |
US8200663B2 (en) | 2007-04-25 | 2012-06-12 | Chacha Search, Inc. | Method and system for improvement of relevance of search results |
US7991790B2 (en) | 2007-07-20 | 2011-08-02 | Salesforce.Com, Inc. | System and method for storing documents accessed by multiple users in an on-demand service |
US20090037431A1 (en) | 2007-07-30 | 2009-02-05 | Paul Martino | System and method for maintaining metadata correctness |
US20090157668A1 (en) * | 2007-12-12 | 2009-06-18 | Christopher Daniel Newton | Method and system for measuring an impact of various categories of media owners on a corporate brand |
CA2637975A1 (en) * | 2007-08-16 | 2009-02-16 | Radian6 Technologies Inc. | Method and system for determining topical on-line influence of an entity |
US8645390B1 (en) * | 2007-08-31 | 2014-02-04 | Google Inc. | Reordering search query results in accordance with search context specific predicted performance functions |
US8327403B1 (en) | 2007-09-07 | 2012-12-04 | United Video Properties, Inc. | Systems and methods for providing remote program ordering on a user device via a web server |
US8032714B2 (en) | 2007-09-28 | 2011-10-04 | Aggregate Knowledge Inc. | Methods and systems for caching data using behavioral event correlations |
US8600779B2 (en) * | 2007-10-09 | 2013-12-03 | Microsoft Corporation | Advertising with an influential participant in a virtual world |
US8606634B2 (en) * | 2007-10-09 | 2013-12-10 | Microsoft Corporation | Providing advertising in a virtual world |
US20090113319A1 (en) * | 2007-10-30 | 2009-04-30 | Dawson Christopher J | Developing user profiles in virtual worlds |
US8145725B2 (en) * | 2007-10-31 | 2012-03-27 | International Business Machines Corporation | Updating data stores of virtual worlds based on data stores external to the virtual worlds |
US20090125377A1 (en) * | 2007-11-14 | 2009-05-14 | Microsoft Corporation | Profiling system for online marketplace |
US20090132365A1 (en) * | 2007-11-15 | 2009-05-21 | Microsoft Corporation | Search, advertising and social networking applications and services |
US20090132361A1 (en) * | 2007-11-21 | 2009-05-21 | Microsoft Corporation | Consumable advertising in a virtual world |
US20090244600A1 (en) * | 2007-11-27 | 2009-10-01 | Todd Haycock | Billing and remittance payment system |
US20090164919A1 (en) | 2007-12-24 | 2009-06-25 | Cary Lee Bates | Generating data for managing encounters in a virtual world environment |
US8527334B2 (en) * | 2007-12-27 | 2013-09-03 | Microsoft Corporation | Advertising revenue sharing |
US20090171760A1 (en) * | 2007-12-31 | 2009-07-02 | Nokia Corporation | Systems and Methods for Facilitating Electronic Commerce |
CA2940843C (en) * | 2008-01-24 | 2019-07-02 | Salesforce.Com, Inc. | Method and system for targeted advertising based on topical memes |
US8719077B2 (en) * | 2008-01-29 | 2014-05-06 | Microsoft Corporation | Real world and virtual world cross-promotion |
US20090210301A1 (en) * | 2008-02-14 | 2009-08-20 | Microsoft Corporation | Generating customized content based on context data |
US8478637B1 (en) | 2008-04-08 | 2013-07-02 | Jpmorgan Chase Bank, N.A. | Index for assessing discount potential |
US9245252B2 (en) * | 2008-05-07 | 2016-01-26 | Salesforce.Com, Inc. | Method and system for determining on-line influence in social media |
US20090300523A1 (en) * | 2008-05-29 | 2009-12-03 | Sony Corporation And Sony Electronics Inc. | System and method for embedding information in an electronic device |
US8601526B2 (en) | 2008-06-13 | 2013-12-03 | United Video Properties, Inc. | Systems and methods for displaying media content and media guidance information |
CN102160074A (en) * | 2008-07-22 | 2011-08-17 | 康塔网络公司 | New open insertion order system to interface with exchange for internet ad media |
JP5215099B2 (en) * | 2008-09-17 | 2013-06-19 | オリンパス株式会社 | Information processing system, digital photo frame, program, and information storage medium |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US9477672B2 (en) | 2009-12-02 | 2016-10-25 | Gartner, Inc. | Implicit profile for use with recommendation engine and/or question router |
US8918391B2 (en) | 2009-12-02 | 2014-12-23 | Gartner, Inc. | Interactive peer directory with question router |
US8244674B2 (en) * | 2008-12-10 | 2012-08-14 | Gartner, Inc. | Interactive peer directory |
US8200661B1 (en) | 2008-12-18 | 2012-06-12 | Google Inc. | Dynamic recommendations based on user actions |
US9449281B2 (en) * | 2008-12-31 | 2016-09-20 | Sap Se | Statistical machine learning |
US8612276B1 (en) | 2009-02-11 | 2013-12-17 | Certusview Technologies, Llc | Methods, apparatus, and systems for dispatching service technicians |
US20100217616A1 (en) | 2009-02-25 | 2010-08-26 | HCD Software, LLC | Methods, apparatus and computer program products for targeted and customized marketing of prospective customers |
CA2700030C (en) | 2009-04-16 | 2019-11-05 | Accenture Global Services Gmbh | Touchpoint customization system |
US10552849B2 (en) | 2009-04-30 | 2020-02-04 | Deem, Inc. | System and method for offering, tracking and promoting loyalty rewards |
US20100294821A1 (en) * | 2009-05-20 | 2010-11-25 | Laci Szabo | Welding/cutting torch system holster |
US8504569B2 (en) * | 2009-05-20 | 2013-08-06 | Genieo Innovation Ltd. | Apparatus and methods for providing answers to queries respective of a user based on user uniquifiers |
US20100299691A1 (en) * | 2009-05-20 | 2010-11-25 | Genieo Innovation Ltd. | System and Method for Personalization of Television Content Provided by a Set-Top Box Based on a User's Context and Uniquifiers |
US8407212B2 (en) * | 2009-05-20 | 2013-03-26 | Genieo Innovation Ltd. | System and method for generation of a customized web page based on user identifiers |
CN102033886B (en) * | 2009-09-25 | 2012-07-04 | 香港纺织及成衣研发中心 | Fabric search method and system utilizing same |
US20110106808A1 (en) * | 2009-10-30 | 2011-05-05 | Salesforce.Com, Inc. | Multi-dimensional content organization and delivery |
US8621015B2 (en) | 2009-10-30 | 2013-12-31 | Salesforce.Com, Inc. | Integrating and managing social networking information in an on-demand database system |
US8738620B2 (en) | 2009-11-12 | 2014-05-27 | Salesforce.Com, Inc. | Implementing enterprise level business information networking |
US8560575B2 (en) * | 2009-11-12 | 2013-10-15 | Salesforce.Com, Inc. | Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment |
JP2011107557A (en) * | 2009-11-20 | 2011-06-02 | Fuji Xerox Co Ltd | Image forming apparatus |
US20110131202A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Exploration of item consumption by customers |
US20110153423A1 (en) * | 2010-06-21 | 2011-06-23 | Jon Elvekrog | Method and system for creating user based summaries for content distribution |
US8661034B2 (en) | 2010-02-03 | 2014-02-25 | Gartner, Inc. | Bimodal recommendation engine for recommending items and peers |
US10102278B2 (en) | 2010-02-03 | 2018-10-16 | Gartner, Inc. | Methods and systems for modifying a user profile for a recommendation algorithm and making recommendations based on user interactions with items |
US20110191311A1 (en) * | 2010-02-03 | 2011-08-04 | Gartner, Inc. | Bi-model recommendation engine for recommending items and peers |
US8898287B2 (en) | 2010-02-24 | 2014-11-25 | Salesforce.Com, Inc. | System, method and computer program product for monitoring data activity utilizing a shared data store |
US9600512B2 (en) | 2010-02-25 | 2017-03-21 | Salesforce.Com, Inc. | Systems and methods for implementing customized drop-down menus |
US8898582B2 (en) * | 2010-03-10 | 2014-11-25 | Salesforce.Com, Inc. | Configurable highlights panel for display of database records |
US8984409B2 (en) | 2010-03-12 | 2015-03-17 | Salesforce.Com, Inc. | Service cloud console |
US9246707B2 (en) | 2010-03-16 | 2016-01-26 | Salesforce.Com, Inc. | Cost-based SMTP email routing |
US20110231457A1 (en) * | 2010-03-16 | 2011-09-22 | Salesforce.Com, Inc. | Monitoring and managing job resources for database tasks |
US9009709B2 (en) | 2010-03-16 | 2015-04-14 | Salesforce.Com, Inc. | Asynchronous rollup numbers forecasting methods and systems |
US8977675B2 (en) | 2010-03-26 | 2015-03-10 | Salesforce.Com, Inc. | Methods and systems for providing time and date specific software user interfaces |
US8539234B2 (en) | 2010-03-30 | 2013-09-17 | Salesforce.Com, Inc. | Secure client-side communication between multiple domains |
US8818985B2 (en) | 2010-04-06 | 2014-08-26 | Salesforce.Com, Inc. | Rule-based prioritization of social data |
US8543522B2 (en) * | 2010-04-21 | 2013-09-24 | Retail Decisions, Inc. | Automatic rule discovery from large-scale datasets to detect payment card fraud using classifiers |
US8751939B2 (en) | 2010-04-26 | 2014-06-10 | Salesforce.Com, Inc. | Side tab navigation and page views personalization systems and methods |
US8972431B2 (en) | 2010-05-06 | 2015-03-03 | Salesforce.Com, Inc. | Synonym supported searches |
US8693649B2 (en) | 2010-05-07 | 2014-04-08 | Salesforce.Com, Inc. | Methods and apparatus for interfacing with a phone system in an on-demand service environment |
US9009669B2 (en) | 2010-05-07 | 2015-04-14 | Salesforce.Com, Inc. | Visual user interface validator |
US8566792B2 (en) | 2010-05-07 | 2013-10-22 | Salesforce, Inc. | Validating visual components |
US9781049B2 (en) | 2010-05-07 | 2017-10-03 | Salesforce.Com, Inc. | Resolving information in a database environment |
US8713530B2 (en) | 2010-05-13 | 2014-04-29 | Salesforce.Com, Inc. | Test framework of visual components in a multitenant database environment |
US8850219B2 (en) | 2010-05-13 | 2014-09-30 | Salesforce.Com, Inc. | Secure communications |
US9204193B2 (en) | 2010-05-14 | 2015-12-01 | Rovi Guides, Inc. | Systems and methods for media detection and filtering using a parental control logging application |
US20110289401A1 (en) | 2010-05-20 | 2011-11-24 | Salesforce.Com, Inc. | Multiple graphical annotations of documents using overlays |
US8738603B2 (en) | 2010-05-20 | 2014-05-27 | Salesforce.Com, Inc. | Metrics-based accessing of social threads |
US20110289425A1 (en) | 2010-05-20 | 2011-11-24 | Salesforce.Com, Inc. | Methods and systems for providing a user interface in a multi-tenant database environment |
US8751305B2 (en) | 2010-05-24 | 2014-06-10 | 140 Proof, Inc. | Targeting users based on persona data |
US8572080B2 (en) | 2010-06-04 | 2013-10-29 | Salesforce.Com, Inc. | Methods and systems for analyzing a network feed in a multi-tenant database system environment |
US9223852B2 (en) | 2010-06-11 | 2015-12-29 | Salesforce.Com, Inc. | Methods and systems for analyzing search terms in a multi-tenant database system environment |
US8230062B2 (en) | 2010-06-21 | 2012-07-24 | Salesforce.Com, Inc. | Referred internet traffic analysis system and method |
US9817637B2 (en) | 2010-07-01 | 2017-11-14 | Salesforce.Com, Inc. | Methods and systems for providing enhancements to a business networking feed |
US9280596B2 (en) | 2010-07-01 | 2016-03-08 | Salesforce.Com, Inc. | Method and system for scoring articles in an on-demand services environment |
US8862587B1 (en) | 2010-08-05 | 2014-10-14 | Ca, Inc. | Server and system for automatic profiling based in part on user names |
US8661076B2 (en) | 2010-09-23 | 2014-02-25 | Salesforce.Com, Inc. | Business networking information feed alerts |
US8732150B2 (en) | 2010-09-23 | 2014-05-20 | Salesforce.Com, Inc. | Methods and apparatus for suppressing network feed activities using an information feed in an on-demand database service environment |
US8560554B2 (en) | 2010-09-23 | 2013-10-15 | Salesforce.Com, Inc. | Methods and apparatus for selecting updates to associated records to publish on an information feed using importance weights in an on-demand database service environment |
US9106761B2 (en) | 2010-09-23 | 2015-08-11 | Salesforce.Com, Inc. | Methods and apparatus for inviting users to follow records in an on-demand database service environment |
US9031957B2 (en) | 2010-10-08 | 2015-05-12 | Salesforce.Com, Inc. | Structured data in a business networking feed |
US9767221B2 (en) | 2010-10-08 | 2017-09-19 | At&T Intellectual Property I, L.P. | User profile and its location in a clustered profile landscape |
US20120086544A1 (en) | 2010-10-08 | 2012-04-12 | Salesforce.Com, Inc. | Following Data Records in an Information Feed |
US8903770B2 (en) | 2010-10-15 | 2014-12-02 | Salesforce.Com, Inc. | Methods and apparatus for discontinuing the following of records in an on-demand database service environment |
US8886766B2 (en) | 2010-10-25 | 2014-11-11 | Salesforce.Com, Inc. | Systems and methods for tracking responses on an online social network |
US20120130778A1 (en) | 2010-10-25 | 2012-05-24 | Autoalert, Inc. | System and method for assessing and managing financial transactions |
US9411855B2 (en) | 2010-10-25 | 2016-08-09 | Salesforce.Com, Inc. | Triggering actions in an information feed system |
US8732606B2 (en) | 2010-10-25 | 2014-05-20 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for dynamic windowing in user interfaces |
US8756221B2 (en) | 2010-12-03 | 2014-06-17 | Salesforce.Com, Inc. | Social files |
US8566648B2 (en) | 2011-02-02 | 2013-10-22 | Salesforce, Inc. | Automated testing on devices |
US8903943B2 (en) | 2011-02-15 | 2014-12-02 | Salesforce.Com, Inc. | Integrating cloud applications and remote jobs |
US20120216130A1 (en) | 2011-02-18 | 2012-08-23 | Salesforce.Com, Inc. | Methods And Systems For Providing A Feedback User Interface For An Enterprise Social Network |
US9443224B2 (en) | 2011-03-01 | 2016-09-13 | Salesforce.Com, Inc. | Systems, apparatus and methods for selecting updates to associated records to publish on an information feed |
US8713165B2 (en) | 2011-03-03 | 2014-04-29 | Salesforce.Com, Inc. | Method and system for providing status of a machine |
US8458069B2 (en) * | 2011-03-04 | 2013-06-04 | Brighterion, Inc. | Systems and methods for adaptive identification of sources of fraud |
US9424509B2 (en) | 2011-03-09 | 2016-08-23 | T-Mobile Usa, Inc. | System for application personalization for a mobile device |
US8949270B2 (en) | 2011-03-10 | 2015-02-03 | Salesforce.Com, Inc. | Methods and systems for processing social media data |
US8818940B2 (en) | 2011-03-29 | 2014-08-26 | Salesforce.Com, Inc. | Systems and methods for performing record actions in a multi-tenant database and application system |
US9058612B2 (en) | 2011-05-27 | 2015-06-16 | AVG Netherlands B.V. | Systems and methods for recommending software applications |
US9430583B1 (en) | 2011-06-10 | 2016-08-30 | Salesforce.Com, Inc. | Extracting a portion of a document, such as a web page |
US9208187B2 (en) | 2011-06-24 | 2015-12-08 | Salesforce.Com, Inc. | Using a database system for selective inclusion and exclusion of types of updates to provide a configuration feed of a social networking system |
US9953273B2 (en) | 2011-06-28 | 2018-04-24 | Salesforce.Com, Inc. | Systems and methods for creating a rich social media profile |
US20130002676A1 (en) | 2011-06-28 | 2013-01-03 | Salesforce.Com, Inc. | Computer implemented systems and methods for visualizing organizational connections |
US9123028B2 (en) | 2011-07-01 | 2015-09-01 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for controlling the inclusion of edited information in an information feed |
US9037681B2 (en) | 2011-07-12 | 2015-05-19 | Salesforce.Com, Inc. | Methods and systems for prioritizing multiple network feeds |
US9195971B2 (en) | 2011-07-12 | 2015-11-24 | Salesforce.Com, Inc. | Method and system for planning a meeting in a cloud computing environment |
US8954449B2 (en) | 2011-07-12 | 2015-02-10 | Salesforce.Com, Inc. | Method and system for determining a user's brand influence |
US9071658B2 (en) | 2011-07-12 | 2015-06-30 | Salesforce.Com, Inc. | Method and system for presenting a meeting in a cloud computing environment |
US9395881B2 (en) | 2011-07-12 | 2016-07-19 | Salesforce.Com, Inc. | Methods and systems for navigating display sequence maps |
US9489660B2 (en) | 2011-07-12 | 2016-11-08 | Salesforce.Com, Inc. | Methods and systems for public collaborative interface for private network groups |
US9563712B2 (en) | 2011-07-14 | 2017-02-07 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing internal custom feed items |
US9443225B2 (en) | 2011-07-18 | 2016-09-13 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for presentation of feed items in an information feed to be displayed on a display device |
US8762870B2 (en) | 2011-07-19 | 2014-06-24 | Salesforce.Com, Inc. | Multifunction drag-and-drop selection tool for selection of data objects in a social network application |
US20130024910A1 (en) | 2011-07-22 | 2013-01-24 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for integrating a social network information feed with a network communications application |
US8984051B2 (en) | 2011-07-26 | 2015-03-17 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for communicating feed information to one or more recipients |
US9325750B2 (en) | 2011-07-26 | 2016-04-26 | Salesforce.Com, Inc. | Method and system for viewing a contact network feed in a business directory environment |
US9256859B2 (en) | 2011-07-26 | 2016-02-09 | Salesforce.Com, Inc. | Systems and methods for fragmenting newsfeed objects |
US9591090B2 (en) | 2011-08-22 | 2017-03-07 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for sharing data of an information feed of an online social network |
US9395882B2 (en) | 2011-08-24 | 2016-07-19 | Salesforce.Com, Inc. | Systems and methods for promoting related lists |
US8549047B2 (en) | 2011-08-25 | 2013-10-01 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for feed-based case management |
US9215096B2 (en) | 2011-08-26 | 2015-12-15 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing communication between network domains in a service cloud |
US10158638B2 (en) | 2011-08-31 | 2018-12-18 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing access to an online social network |
US9058363B2 (en) | 2011-10-07 | 2015-06-16 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing a distribution list of users in an online social network |
US9542711B2 (en) | 2011-10-07 | 2017-01-10 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing selective notifications in an online social network |
US9589070B2 (en) | 2011-10-10 | 2017-03-07 | Salesforce.Com, Inc. | Method and system for updating a filter logic expression representing a boolean filter |
US9767132B2 (en) | 2011-10-10 | 2017-09-19 | Salesforce.Com, Inc. | Systems and methods for real-time de-duplication |
US9727924B2 (en) | 2011-10-10 | 2017-08-08 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for informing a user of social network data when the data is relevant to the user |
US9195648B2 (en) | 2011-10-12 | 2015-11-24 | Salesforce.Com, Inc. | Multi-lingual knowledge base |
US9007364B2 (en) | 2011-10-12 | 2015-04-14 | Salesforce.Com, Inc. | Augmented reality display apparatus and related methods using database record data |
US9064287B2 (en) | 2011-10-13 | 2015-06-23 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing group-related social network information |
US9471666B2 (en) | 2011-11-02 | 2016-10-18 | Salesforce.Com, Inc. | System and method for supporting natural language queries and requests against a user's personal data cloud |
US9443007B2 (en) | 2011-11-02 | 2016-09-13 | Salesforce.Com, Inc. | Tools and techniques for extracting knowledge from unstructured data retrieved from personal data sources |
US9152725B2 (en) | 2011-11-04 | 2015-10-06 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for configuring and performing a custom rule to process a preference indication |
US9830050B2 (en) | 2011-11-23 | 2017-11-28 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing a reminder regarding a feed item of a feed of an online social network |
US20130159071A1 (en) * | 2011-12-14 | 2013-06-20 | Daily Referral, Llc | Method for connecting customers and businesses |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US20130185654A1 (en) | 2012-01-17 | 2013-07-18 | Salesforce.Com, Inc. | Systems and methods for mapping relevant personal connections |
US8731151B2 (en) | 2012-02-02 | 2014-05-20 | Salesforce.Com, Inc. | Methods and apparatus for partially updating a web page using an embedded iFrame |
US9330145B2 (en) | 2012-02-22 | 2016-05-03 | Salesforce.Com, Inc. | Systems and methods for context-aware message tagging |
US20130231990A1 (en) | 2012-03-01 | 2013-09-05 | Sears Brands, Llc | Methods and systems for providing personal shopping services |
US9503535B2 (en) | 2012-03-06 | 2016-11-22 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for automatically following entities in an online social network |
US9832156B2 (en) | 2012-03-23 | 2017-11-28 | Salesforce.Com, Inc. | Social networking system communities and associated user privileges implemented using a database system |
US9558277B2 (en) | 2012-04-04 | 2017-01-31 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for identifying topical influence in an online social network |
US9307006B2 (en) | 2012-04-11 | 2016-04-05 | Salesforce.Com, Inc. | System and method for synchronizing data objects in a cloud based social networking environment |
US9753926B2 (en) | 2012-04-30 | 2017-09-05 | Salesforce.Com, Inc. | Extracting a portion of a document, such as a web page |
US9197513B2 (en) | 2012-05-03 | 2015-11-24 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for representing a portion of a user interface as a network address |
US8973106B2 (en) | 2012-05-03 | 2015-03-03 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing permissions to users in an on-demand service environment |
US9094359B2 (en) | 2012-05-09 | 2015-07-28 | Salesforce.Com, Inc. | Method and system for inter-social network communications |
US9252976B2 (en) | 2012-05-09 | 2016-02-02 | Salesforce.Com, Inc. | Method and system for social media cooperation protocol |
US9177007B2 (en) | 2012-05-14 | 2015-11-03 | Salesforce.Com, Inc. | Computer implemented methods and apparatus to interact with records using a publisher of an information feed of an online social network |
US8972363B2 (en) * | 2012-05-14 | 2015-03-03 | Nec Corporation | Rule discovery system, method, apparatus and program |
US9916592B2 (en) | 2012-05-18 | 2018-03-13 | Oracle International Corporation | Method and system for implementing implicit follow and automatic unfollow |
US10049131B2 (en) | 2012-07-02 | 2018-08-14 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for determining user access to custom metadata |
US9715879B2 (en) | 2012-07-02 | 2017-07-25 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for selectively interacting with a server to build a local database for speech recognition at a device |
US9628493B2 (en) | 2012-07-03 | 2017-04-18 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for managing permission sets and validating user assignments |
US9241017B2 (en) | 2012-07-03 | 2016-01-19 | Salesforce.Com, Inc. | Systems and methods for cross domain service component interaction |
US9075766B2 (en) | 2012-07-12 | 2015-07-07 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for determining whether to continue relationships in an online social network |
US9984126B2 (en) | 2012-07-23 | 2018-05-29 | Salesforce.Com, Inc. | Identifying relevant feed items to display in a feed of an enterprise social networking system |
US9367626B2 (en) | 2012-07-23 | 2016-06-14 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for implementing a topical-based highlights filter |
US9569060B2 (en) | 2012-07-25 | 2017-02-14 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for composing and batch publishing feed items in a feed-based interaction context |
US9432320B2 (en) | 2012-07-30 | 2016-08-30 | Salesforce.Com, Inc. | System and method for providing an information-centric application |
US8990958B2 (en) | 2012-08-31 | 2015-03-24 | Salesforce.Com, Inc. | Systems and methods for content management in an on demand environment |
US9990426B2 (en) | 2012-08-31 | 2018-06-05 | Salesforce.Com, Inc. | Systems and methods for content management in an on-demand environment |
US9747388B2 (en) | 2012-08-31 | 2017-08-29 | Salesforce.Com, Inc. | Systems and methods for providing access to external content objects |
US9292589B2 (en) | 2012-09-04 | 2016-03-22 | Salesforce.Com, Inc. | Identifying a topic for text using a database system |
US9253283B2 (en) | 2012-09-14 | 2016-02-02 | Salesforce.Com, Inc. | Systems and methods for ghosting and providing proxies in a network feed |
US9774555B2 (en) | 2012-09-14 | 2017-09-26 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for managing objectives in an organization in a social network environment |
US9626637B2 (en) | 2012-09-18 | 2017-04-18 | Salesforce.Com, Inc. | Method and system for managing business deals |
US9495557B2 (en) | 2012-09-18 | 2016-11-15 | Salesforce.Com, Inc. | Methods and systems for managing access to data in an on-demand system |
US9489415B2 (en) | 2012-09-27 | 2016-11-08 | Salesforce.Com, Inc. | System and method for updating infographics based on multiple online social networks |
US9246959B2 (en) | 2012-10-10 | 2016-01-26 | Salesforce.Com, Inc. | System and method for location-based social network feeds |
US9264391B2 (en) | 2012-11-01 | 2016-02-16 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing near real-time predicted engagement level feedback to a user composing a social media message |
US9703815B2 (en) | 2012-12-17 | 2017-07-11 | Salesforce.Com, Inc. | Third party files in an on-demand database service |
US9390195B2 (en) | 2013-01-02 | 2016-07-12 | Research Now Group, Inc. | Using a graph database to match entities by evaluating boolean expressions |
US10013481B2 (en) | 2013-01-02 | 2018-07-03 | Research Now Group, Inc. | Using a graph database to match entities by evaluating boolean expressions |
US10077988B2 (en) * | 2013-01-08 | 2018-09-18 | Excalibur Ip, Llc | Systems and methods relating to ad/content targeting for map route options based on personalization and user data |
US10025360B2 (en) | 2013-01-09 | 2018-07-17 | Google Llc | Thermal adjustment in a computing device using distributed sensors |
US9495079B2 (en) | 2013-01-10 | 2016-11-15 | Salesforce.Com, Inc. | Persistent feeder component for displaying feed items received from information feeds of online social networks |
US9778820B2 (en) | 2013-01-18 | 2017-10-03 | Salesforce.Com, Inc. | Managing applications on a computing device |
US10175873B2 (en) | 2013-01-21 | 2019-01-08 | Salesforce.Com, Inc. | System and method for retrieving data based on scrolling velocity |
US9607090B2 (en) | 2013-01-21 | 2017-03-28 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for recommending events |
US9465828B2 (en) | 2013-01-22 | 2016-10-11 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for identifying similar labels using collaborative filtering |
US9253262B2 (en) | 2013-01-24 | 2016-02-02 | Rovi Guides, Inc. | Systems and methods for connecting media devices through web sockets |
US10600011B2 (en) | 2013-03-05 | 2020-03-24 | Gartner, Inc. | Methods and systems for improving engagement with a recommendation engine that recommends items, peers, and services |
US20140278821A1 (en) | 2013-03-12 | 2014-09-18 | Salesforce.Com, Inc. | System and method for generating and managing social employee profiles |
US9823813B2 (en) | 2013-03-15 | 2017-11-21 | Salesforce.Com, Inc. | Apparatus and methods for performing an action on a database record |
US20140280577A1 (en) | 2013-03-15 | 2014-09-18 | Salesforce.Com, Inc. | Systems and methods for interacting with an application in a publisher |
US9483526B2 (en) | 2013-03-21 | 2016-11-01 | Salesforce.Com, Inc. | Automatically subscribing users of an enterprise network to a record |
US9594790B2 (en) | 2013-03-21 | 2017-03-14 | Salesforce.Com, Inc. | System and method for evaluating claims to update a record from conflicting data sources |
US9400840B2 (en) | 2013-03-25 | 2016-07-26 | Salesforce.Com, Inc. | Combining topic suggestions from different topic sources to assign to textual data items |
US9672575B2 (en) | 2013-04-03 | 2017-06-06 | Salesforce.Com, Inc. | Capturing information regarding an interaction to a database |
US9953301B2 (en) | 2013-04-03 | 2018-04-24 | Salesforce.Com, Inc. | Searchable screen sharing sessions |
US10684752B2 (en) | 2013-04-12 | 2020-06-16 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for responding to actionable text patterns in a feed item |
US9398156B2 (en) | 2013-04-12 | 2016-07-19 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for managing agent workload in a customer service environment |
US10114873B2 (en) | 2013-04-17 | 2018-10-30 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for retrieving content related to a feed item of an online social network |
US9542472B2 (en) | 2013-04-19 | 2017-01-10 | Salesforce.Com, Inc. | Facilitating collaboration on a record among a group of users of a feed-based enterprise network |
US9460474B2 (en) | 2013-05-03 | 2016-10-04 | Salesforce.Com, Inc. | Providing access to a private resource in an enterprise social networking system |
US9647922B2 (en) | 2013-05-15 | 2017-05-09 | Salesforce, Inc. | Computer implemented methods and apparatus for trials onboarding |
US9529917B2 (en) | 2013-05-21 | 2016-12-27 | Saleforce.com, inc. | System and method for generating information feed based on contextual data |
US9384221B2 (en) * | 2013-06-25 | 2016-07-05 | Google Inc. | Unlimited retroactive data element dimension widening |
US9892177B2 (en) | 2013-07-11 | 2018-02-13 | Salesforce.Com, Inc. | Systems and methods for interacting with external content objects |
US9600155B2 (en) | 2013-07-15 | 2017-03-21 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for customizing a data interface in an on-demand service environment |
US9467434B2 (en) | 2013-07-15 | 2016-10-11 | Salesforce.Com, Inc. | Document rendering service |
US10147054B2 (en) | 2013-07-26 | 2018-12-04 | Salesforce.Com, Inc. | Displaying content of an enterprise social network feed on a mobile device |
US9426249B2 (en) | 2013-08-05 | 2016-08-23 | Salesforce.Com, Inc. | Providing an improved web user interface framework for building web applications |
US9524157B2 (en) | 2013-08-06 | 2016-12-20 | Salesforce.Com, Inc. | Providing an improved web user interface framework for building web applications |
US9921724B2 (en) | 2013-08-15 | 2018-03-20 | Salesforce.Com, Inc. | Presenting data on a mobile device in communication with an on-demand database system |
US9973550B2 (en) | 2013-09-11 | 2018-05-15 | Salesforce.Com, Inc. | Systems and methods for applying intelligence and prioritization to calendared events |
US9972015B2 (en) | 2013-09-13 | 2018-05-15 | Salesforce.Com, Inc. | Methods and systems for facilitating customer support using a social post case feed and publisher |
US10579682B1 (en) * | 2013-09-17 | 2020-03-03 | Google Llc | Machine-learned disambiguation of user action data |
US11714923B2 (en) | 2013-09-26 | 2023-08-01 | Salesforce, Inc. | Methods and systems for protecting data integrity |
US10423907B2 (en) | 2013-10-18 | 2019-09-24 | Salesforce.Com, Inc. | Geolocation based work data on a mobile device using a database system |
US9590943B2 (en) | 2013-10-25 | 2017-03-07 | Salesforce.Com, Inc. | Offline prompts of online social network mentions |
US9665261B2 (en) | 2013-10-28 | 2017-05-30 | Salesforce.Com, Inc. | Providing a user interface for customizing state transitions of panes in a bounding window |
US10332129B2 (en) | 2013-11-01 | 2019-06-25 | Salesforce.Com, Inc. | Methods and systems for processing a log file |
US9893905B2 (en) | 2013-11-13 | 2018-02-13 | Salesforce.Com, Inc. | Collaborative platform for teams with messaging and learning across groups |
US10367649B2 (en) | 2013-11-13 | 2019-07-30 | Salesforce.Com, Inc. | Smart scheduling and reporting for teams |
US10146597B2 (en) | 2013-11-14 | 2018-12-04 | Salesforce.Com, Inc. | Delegating handling of computing events of a mobile device application |
US20150149390A1 (en) * | 2013-11-25 | 2015-05-28 | Palo Alto Research Center Incorporated | Method and system for creating an intelligent digital self representation |
US9798764B2 (en) | 2013-12-20 | 2017-10-24 | Salesforce.Com, Inc. | Identifying recurring sequences of user interactions with an application |
US10346882B2 (en) | 2014-01-02 | 2019-07-09 | Salesforce.Com, Inc. | System and method for aggregating web clipping data |
US10013483B2 (en) * | 2014-01-30 | 2018-07-03 | Microsoft Technology Licensing, Llc | System and method for identifying trending topics in a social network |
US9753703B2 (en) | 2014-02-04 | 2017-09-05 | Salesforce.Com, Inc. | Generating identifiers for user interface elements of a web page of a web application |
US9577835B2 (en) | 2014-02-07 | 2017-02-21 | Salesforce.Com, Inc. | Online chats without displaying confidential information |
US10324922B2 (en) | 2014-02-13 | 2019-06-18 | Salesforce.Com, Inc. | Providing a timeline of events regarding a database record |
NL2012358B1 (en) * | 2014-03-04 | 2015-12-03 | Dijkstra Mathijs | Method for generating web pages with a server and a software program that implements the method. |
US9788079B2 (en) * | 2014-03-05 | 2017-10-10 | Ricoh Co., Ltd. | Generating enhanced advertisements based on user activity |
US9983943B2 (en) | 2014-03-27 | 2018-05-29 | Salesforce.Com, Inc. | Reversing object manipulations in association with a walkthrough for an application or online service |
US9244748B2 (en) | 2014-06-04 | 2016-01-26 | International Business Machines Corporation | Operating system user activity profiles |
US10339126B2 (en) | 2014-08-11 | 2019-07-02 | Salesforce.Com, Inc. | Processing log files using a database system |
US9509715B2 (en) | 2014-08-21 | 2016-11-29 | Salesforce.Com, Inc. | Phishing and threat detection and prevention |
US9774603B2 (en) | 2014-08-22 | 2017-09-26 | Salesforce.Com, Inc. | Managing user permissions in relation to system events occurring in a database system |
US9538377B2 (en) | 2014-08-22 | 2017-01-03 | Salesforce.Com, Inc. | Switching between restricted-access websites on mobile user devices |
US9632852B2 (en) | 2014-08-25 | 2017-04-25 | Salesforce.Com, Inc. | Detecting and managing flooding of multi-tenant message queues |
US10296753B2 (en) | 2014-08-26 | 2019-05-21 | Salesforce.Com, Inc. | Permission comparator |
US10223367B2 (en) | 2014-08-27 | 2019-03-05 | Salesforce.Com, Inc. | Distributed sorting of event log files |
US9754208B2 (en) | 2014-09-02 | 2017-09-05 | Wal-Mart Stores, Inc. | Automatic rule coaching |
US9805051B2 (en) | 2014-09-10 | 2017-10-31 | Salesforce.Com, Inc. | Synchronization and strategic storage of multiple versions of a file |
US10178156B2 (en) | 2014-09-11 | 2019-01-08 | Salesforce.Com, Inc. | Extraction and capture of information from customizable header |
US9619655B2 (en) | 2014-09-12 | 2017-04-11 | Salesforce.Com, Inc. | Cloud-based security profiling, threat analysis and intelligence |
US10095797B2 (en) | 2014-10-03 | 2018-10-09 | Salesforce.Com, Inc. | Suggesting actions for evaluating user performance in an enterprise social network |
US9710127B2 (en) | 2014-10-09 | 2017-07-18 | Salesforce.Com, Inc. | User-customizable permissions in a computing environment |
US9544307B2 (en) | 2014-10-29 | 2017-01-10 | Salesforce.Com, Inc. | Providing a security mechanism on a mobile device |
US9646064B2 (en) | 2014-12-10 | 2017-05-09 | Salesforce.Com, Inc. | Template based software container |
US10552464B2 (en) | 2014-12-18 | 2020-02-04 | Salesforce.Com, Inc. | Identifying relevant material for cases |
US9965541B2 (en) | 2015-02-24 | 2018-05-08 | Salesforce.Com, Inc. | Interest groups based on network feed items |
US10175999B2 (en) | 2015-02-25 | 2019-01-08 | Salesforce.Com, Inc. | Converting video into a walkthrough for an application or an online service |
US10374987B2 (en) | 2015-03-11 | 2019-08-06 | Salesforce.Com, Inc. | Electronic notifications of users concurrently interacting with the same feed item of a social network feed |
US10742627B2 (en) * | 2015-04-22 | 2020-08-11 | DatingSphere Inc. | System and method for dynamic network data validation |
US10296717B2 (en) | 2015-05-14 | 2019-05-21 | Salesforce.Com, Inc. | Automated prescription workflow for device management |
US10083236B2 (en) | 2015-05-29 | 2018-09-25 | Salesforce.Com, Inc. | Database searching using a graph of nodes and edges formed using log node pairs |
US10210218B2 (en) | 2015-06-16 | 2019-02-19 | Salesforce.Com, Inc. | Processing a file to generate a recommendation using a database system |
US9979689B2 (en) | 2015-06-29 | 2018-05-22 | Salesforce.Com, Inc. | Authoring tool for creating new electronic posts |
US10152489B2 (en) | 2015-07-24 | 2018-12-11 | Salesforce.Com, Inc. | Synchronize collaboration entity files |
US9948743B2 (en) | 2015-07-28 | 2018-04-17 | Salesforce.Com, Inc. | Managing memory usage in server systems |
US9811444B2 (en) | 2015-08-04 | 2017-11-07 | Salesforce.Com, Inc. | Testing software enhancements in database applications |
US10157196B2 (en) | 2015-08-12 | 2018-12-18 | Salesforce.Com, Inc. | Intra-platform data migration |
US9767040B2 (en) | 2015-08-31 | 2017-09-19 | Salesforce.Com, Inc. | System and method for generating and storing real-time analytics metric data using an in memory buffer service consumer framework |
US10372421B2 (en) | 2015-08-31 | 2019-08-06 | Salesforce.Com, Inc. | Platform provider architecture creation utilizing platform architecture type unit definitions |
US10049337B2 (en) | 2015-08-31 | 2018-08-14 | Salesforce.Com, Inc. | Quantitative metrics for assessing status of a platform architecture for cloud computing |
US10198484B2 (en) | 2015-09-10 | 2019-02-05 | Salesforce.Com, Inc. | Displaying reduced and detailed visual representations of calendar items based on mouse cursor movement |
US10592474B2 (en) | 2015-09-11 | 2020-03-17 | Salesforce.Com, Inc. | Processing log files using a database system |
US10430765B2 (en) | 2015-09-11 | 2019-10-01 | Salesforce.Com, Inc. | Processing keyboard input to perform events in relation to calendar items using a web browser-based application or online service |
US10387439B2 (en) | 2015-09-11 | 2019-08-20 | Salesforce.Com, Inc. | Configuring service consoles based on service feature templates using a database system |
US10296661B2 (en) | 2015-09-11 | 2019-05-21 | Salesforce.Com, Inc. | Processing log files using a database system |
US10146915B2 (en) | 2015-09-14 | 2018-12-04 | Salesforce.Com, Inc. | Publication of collaborative file to library |
US9632849B2 (en) | 2015-09-15 | 2017-04-25 | Salesforce.Com, Inc. | System having in-memory buffer service, temporary events file storage system and events file uploader service |
CN105302879B (en) * | 2015-10-12 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | For determining the method and apparatus of user demand |
US10915299B2 (en) | 2015-10-16 | 2021-02-09 | Salesforce.Com, Inc. | Automatically matching start criteria and completion criteria of a walkthrough for an application or online service |
US10187403B2 (en) | 2015-12-02 | 2019-01-22 | Salesforce.Com, Inc. | False positive detection reduction system for network-based attacks |
US10402367B2 (en) | 2016-01-13 | 2019-09-03 | Salesforce.Com, Inc. | Batch job processing using a database system |
US9965634B2 (en) | 2016-01-15 | 2018-05-08 | Salesforce.Com, Inc. | Space-efficient storage of encrypted data |
US10678757B2 (en) | 2016-04-08 | 2020-06-09 | Salesforce.Com, Inc. | Reliable generation of a unique key in a distributed system |
US10057206B2 (en) | 2016-04-18 | 2018-08-21 | Salesforce.Com, Inc. | Combining updates of a social network feed |
US10567311B2 (en) | 2016-04-29 | 2020-02-18 | Salesforce.Com, Inc. | Publisher and share action integration in a user interface for automated messaging |
US10135847B2 (en) | 2016-05-18 | 2018-11-20 | Salesforce.Com, Inc. | Reverse shell network intrusion detection |
US10346451B2 (en) | 2016-05-27 | 2019-07-09 | Salesforce.Com, Inc. | Identifying conversations in unstructured media |
US10380347B2 (en) | 2016-06-08 | 2019-08-13 | Salesforce.Com., Inc. | Hierarchical runtime analysis framework for defining vulnerabilities |
US10140456B2 (en) | 2016-06-08 | 2018-11-27 | Salesforce.Com, Inc. | Runtime analysis of software security vulnerabilities |
US11429906B2 (en) | 2016-06-16 | 2022-08-30 | Conduent Business Services, Llc | Profiling of users' behavior and communication in business processes |
US10204345B2 (en) | 2016-06-28 | 2019-02-12 | Salesforce.Com, Inc. | Driving customer service interactions on social media |
US10685004B2 (en) | 2016-07-11 | 2020-06-16 | Salesforce.Com, Inc. | Multiple feature hash map to enable feature selection and efficient memory usage |
US10372934B2 (en) | 2016-07-21 | 2019-08-06 | Salesforce.Com, Inc. | Access controlled queries against user data in a datastore |
US10693922B2 (en) | 2016-07-25 | 2020-06-23 | Salesforce.Com, Inc. | Multi-channel customer engagement platform |
US10410107B2 (en) | 2016-07-26 | 2019-09-10 | Salesforce.Com, Inc. | Natural language platform for database system |
US10241890B2 (en) | 2016-07-28 | 2019-03-26 | Salesforce.Com, Inc. | Hybrid code modification in intermediate language for software application |
US10409816B2 (en) | 2016-08-23 | 2019-09-10 | Salesforce.Com, Inc. | Accessing and displaying shared data |
US10346370B2 (en) | 2016-08-30 | 2019-07-09 | Salesforce.Com, Inc. | Rate limiting in a moderation framework of a database system |
US10482141B2 (en) | 2016-08-30 | 2019-11-19 | Salesforce.Com, Inc. | Extensible moderation framework |
US10417210B2 (en) | 2016-08-30 | 2019-09-17 | Salesforce.Com, Inc. | Multi-token matching scheme |
US10942903B2 (en) | 2016-08-30 | 2021-03-09 | Salesforce.Com, Inc. | Rate limiting in a moderation framework of a database system |
US10896192B2 (en) | 2016-09-08 | 2021-01-19 | Salesforce.Com, Inc. | Allowing in-line edit to data table of linked data of a data store |
US10915519B2 (en) | 2016-09-09 | 2021-02-09 | Salesforce.Com, Inc. | Processing offline updates to records of a database system |
US11232223B2 (en) | 2016-09-13 | 2022-01-25 | Salesforce.Com, Inc. | Providing web application components within remote systems |
US10635659B2 (en) | 2016-09-19 | 2020-04-28 | Salesforce.Com, Inc. | Mobile application bundled with metadata database |
US10671626B2 (en) | 2016-09-27 | 2020-06-02 | Salesforce.Com, Inc. | Identity consolidation in heterogeneous data environment |
US10642474B2 (en) | 2016-09-28 | 2020-05-05 | Salesforce.Com, Inc. | Processing keyboard input to cause movement of items in a user interface of a web browser-based application |
US10572031B2 (en) | 2016-09-28 | 2020-02-25 | Salesforce.Com, Inc. | Processing keyboard input to cause re-sizing of items in a user interface of a web browser-based application |
US10613709B2 (en) | 2016-09-30 | 2020-04-07 | Salesforce.Com, Inc. | Leveraging and managing assessment environments in an assessment hub |
US10223136B2 (en) | 2016-09-30 | 2019-03-05 | Salesforce.Com, Inc. | Generating content objects using an integrated development environment |
US10380094B2 (en) | 2016-09-30 | 2019-08-13 | Salesforce.Com, Inc. | Custom multi-tenant non-relational platform objects |
US10713604B2 (en) | 2016-09-30 | 2020-07-14 | Salesforce.Com, Inc. | Bi-directional notification framework |
US10984665B2 (en) | 2016-09-30 | 2021-04-20 | Salesforce.Com, Inc. | Customizing sequences of content objects |
US10275281B2 (en) | 2016-09-30 | 2019-04-30 | Salesforce.Com, Inc. | Scheduling jobs for processing log files using a database system |
US10212189B2 (en) | 2016-10-11 | 2019-02-19 | Salesforce.Com, Inc. | Authentication of client devices using modified images |
US10778559B2 (en) | 2016-10-17 | 2020-09-15 | Salesforce.Com, Inc. | Facilitating simulation of network conditions in a hybrid application environment |
US10885562B2 (en) | 2016-10-18 | 2021-01-05 | Autoalert, Llc | Visual discovery tool for automotive manufacturers with network encryption, data conditioning, and prediction engine |
US10642872B2 (en) | 2016-10-21 | 2020-05-05 | Salesforce.Com, Inc. | System for optimizing content queries |
US10824620B2 (en) | 2016-10-21 | 2020-11-03 | Salesforce.Com, Inc. | Compiling a relational datastore query from a user input |
US10447672B2 (en) | 2016-11-01 | 2019-10-15 | Salesforce.Com, Inc. | Facilitating encrypted persistent storage in browsers |
US10666722B2 (en) | 2016-11-22 | 2020-05-26 | Salesforce.Com, Inc. | Message delivery in a distributed server environment |
US10726039B2 (en) | 2016-11-29 | 2020-07-28 | Salesforce.Com, Inc. | Systems and methods for updating database indexes |
US10129258B2 (en) | 2016-11-30 | 2018-11-13 | Salesforce.Com, Inc. | Secure component-based web applications |
US10116660B2 (en) | 2016-11-30 | 2018-10-30 | Salesforce.Com, Inc. | Security modes for a component-based web security model |
US10891263B2 (en) | 2016-12-09 | 2021-01-12 | Salesforce.Com, Inc. | Systems and methods for providing database updates for data visualization |
US10540369B2 (en) | 2016-12-19 | 2020-01-21 | Salesforce.Com, Inc. | Org sync suspend and resume data sync |
US10496673B2 (en) | 2016-12-27 | 2019-12-03 | Salesforce.Com, Inc. | Org sync async subscribe emails |
US10146581B2 (en) | 2017-01-13 | 2018-12-04 | Salesforce.Com, Inc. | Dynamically configuring a process based on environmental characteristics monitored by a mobile device |
US10411907B2 (en) | 2017-01-25 | 2019-09-10 | Salesforce.Com, Inc. | Secure remote user authentication leveraging public key cryptography and key splitting |
US11190344B2 (en) | 2017-01-25 | 2021-11-30 | Salesforce.Com, Inc. | Secure user authentication based on multiple asymmetric cryptography key pairs |
US10637658B2 (en) | 2017-01-25 | 2020-04-28 | Salesforce.Com, Inc. | Secure internal user authentication leveraging public key cryptography and key splitting |
US10356088B1 (en) | 2017-01-25 | 2019-07-16 | Salesforce.Com, Inc. | User authentication based on multiple asymmetric cryptography key pairs |
US10545962B2 (en) | 2017-01-25 | 2020-01-28 | Salesforce.Com, Inc. | Relational database instruction validation |
US10650028B2 (en) | 2017-01-25 | 2020-05-12 | Salesforce.Com, Inc. | Relational database instruction validation |
US11436223B2 (en) | 2017-01-30 | 2022-09-06 | Salesforce, Inc. | Query pin planner |
US10783188B2 (en) | 2017-02-17 | 2020-09-22 | Salesforce.Com, Inc. | Intelligent embedded self-help service |
US10469438B2 (en) | 2017-02-27 | 2019-11-05 | Salesforce.Com, Inc. | Facilitating integration of collaborative communication platform and document collaboration tool |
US10579368B2 (en) | 2017-03-10 | 2020-03-03 | Salesforce.Com, Inc. | Blockchain version control systems |
US10810230B2 (en) | 2017-03-21 | 2020-10-20 | Salesforce.Com, Inc. | Thread record provider |
US10803080B2 (en) | 2017-03-21 | 2020-10-13 | Salesforce.Com, Inc. | Thread record provider |
US10860377B2 (en) | 2017-03-22 | 2020-12-08 | Salesforce.Com, Inc. | Technologies for identifying thread memory allocation |
US10587401B2 (en) | 2017-04-03 | 2020-03-10 | Salesforce.Com, Inc. | Secure handling of customer-supplied encryption secrets |
US10645138B2 (en) | 2017-05-02 | 2020-05-05 | Salesforce.Com, Inc | Event stream processing system using a coordinating spout instance |
US11663205B2 (en) | 2017-05-04 | 2023-05-30 | Salesforce, Inc. | Technologies for asynchronous querying |
US10536439B2 (en) | 2017-05-08 | 2020-01-14 | Salesforce.Com, Inc. | Client fingerprinting for information system security |
US10852926B2 (en) | 2017-05-23 | 2020-12-01 | Salesforce.Com., Inc. | Filter of data presentations via user-generated links |
US10360136B2 (en) | 2017-05-23 | 2019-07-23 | Salesforce.Com., Inc. | Dashboard execution engine |
US11054971B2 (en) | 2017-05-23 | 2021-07-06 | Salesforce.Com., Inc. | Modular runtime environment |
US10693951B2 (en) | 2017-06-01 | 2020-06-23 | Salesforce.Com, Inc. | Decentralized, resource aware load distribution in a distributed system |
US10713223B2 (en) | 2017-06-01 | 2020-07-14 | Salesforce.Com, Inc. | Opportunistic gossip-type dissemination of node metrics in server clusters |
US10489170B2 (en) | 2017-06-19 | 2019-11-26 | Salesforce.Com, Inc. | Application warmup engine |
US10416952B2 (en) | 2017-06-27 | 2019-09-17 | Salesforce.Com, Inc. | Identifying a viewport within a browser window |
US10579641B2 (en) | 2017-08-01 | 2020-03-03 | Salesforce.Com, Inc. | Facilitating mobile device interaction with an enterprise database system |
US9961519B1 (en) | 2017-08-01 | 2018-05-01 | Salesforce.Com, Inc. | Facilitating mobile device interaction with an enterprise database system |
US10664244B2 (en) | 2017-08-22 | 2020-05-26 | Salesforce.Com, Inc. | Dynamic page previewer for a web application builder |
US10402174B2 (en) | 2017-08-25 | 2019-09-03 | Salesforce.Com, Inc. | Overriding component attributes in a web application builder |
US10775969B2 (en) | 2017-08-25 | 2020-09-15 | Salesforce.Com, Inc. | System and method for notifying a softphone of navigation change events |
US10068284B1 (en) | 2017-08-29 | 2018-09-04 | Snowfall Technologies Llc | Graphical user interface having scrollable, visual representation of historical product searches and direct shopping cart links |
US10846068B2 (en) | 2017-08-30 | 2020-11-24 | Salesforce.Com, Inc. | Interactions layer in a web application builder framework |
US10514896B2 (en) | 2017-08-30 | 2019-12-24 | Salesforce.Com, Inc. | Web application builder framework |
US10509633B2 (en) | 2017-08-30 | 2019-12-17 | Salesforce.Com, Inc. | Base editor component in a web application builder framework |
US10540149B2 (en) | 2017-08-30 | 2020-01-21 | Salesforce.Com, Inc. | Property editor component in a web application builder framework |
US10509546B2 (en) | 2017-08-31 | 2019-12-17 | Salesforce.Com, Inc. | History component for single page application |
US10909070B2 (en) | 2017-08-31 | 2021-02-02 | Salesforce.Com, Inc. | Memory efficient policy-based file deletion system |
US11714811B2 (en) | 2017-09-27 | 2023-08-01 | Salesforce, Inc. | Run-time querying of multi-tenant non-relational platform objects |
US10579692B2 (en) | 2017-09-27 | 2020-03-03 | Salesforce.Com, Inc. | Composite keys for multi-tenant non-relational platform objects |
US10579691B2 (en) | 2017-09-27 | 2020-03-03 | Salesforce.Com, Inc. | Application programming interface representation of multi-tenant non-relational platform objects |
US11036357B2 (en) | 2017-09-27 | 2021-06-15 | Salesforce.Com, Inc. | Generating or updating cross-community streams |
US10984070B2 (en) | 2017-10-18 | 2021-04-20 | Salesforce.Com, Inc. | Dynamic content placeholders for microblogging posts |
US10693952B2 (en) | 2017-10-23 | 2020-06-23 | Salesforce.Com, Inc. | Technologies for low latency messaging |
US10387041B2 (en) | 2017-11-02 | 2019-08-20 | Salesforce.Com, Inc. | Data migration system |
FR3073998B1 (en) * | 2017-11-23 | 2019-11-01 | In Webo Technologies | DIGITAL METHOD FOR CONTROLLING ACCESS TO AN OBJECT, A RESOURCE OR SERVICE BY A USER |
US10528816B2 (en) | 2017-11-30 | 2020-01-07 | Salesforce.Com, Inc. | System and method for retrieving and displaying supplemental information and pertinent data using augmented reality |
US11088925B2 (en) | 2017-12-04 | 2021-08-10 | Salesforce.Com, Inc. | Technologies for capacity remediation in multi-tenant cloud environments |
US10904197B2 (en) | 2017-12-19 | 2021-01-26 | Salesforce.Com, Inc. | Management of members of social network conversations |
US10887281B2 (en) | 2017-12-19 | 2021-01-05 | Salesforce.Com, Inc. | Automated host-based firewall configuration management |
US11048684B2 (en) | 2018-01-16 | 2021-06-29 | Salesforce.Com, Inc. | Lazy tracking of user system web cache |
US10642468B2 (en) | 2018-01-16 | 2020-05-05 | Salesforce.Com, Inc. | Accessibility lock and accessibility pause |
US10739991B2 (en) | 2018-01-16 | 2020-08-11 | Salesforce.Com, Inc. | System and method of providing an overlay user interface for a touchscreen display |
US10671739B2 (en) | 2018-01-17 | 2020-06-02 | Salesforce.Com, Inc. | Managing the sharing of common library packages with subscribers |
US10761904B2 (en) | 2018-01-17 | 2020-09-01 | Salesforce.Com, Inc. | Method and system for synchronizing and joining multiple calls to the same asynchronous code segment |
US10671248B2 (en) | 2018-01-18 | 2020-06-02 | Salesforce.Com, Inc. | Live agent chat console |
US10567505B2 (en) | 2018-01-18 | 2020-02-18 | Salesforce.Com, Inc. | Methods and systems for session synchronization and sharing of applications between different user systems of a user |
US11170381B2 (en) | 2018-01-18 | 2021-11-09 | Salesforce.Com, Inc. | Method and system for generating insights regarding a party in response to a call |
US10713070B2 (en) | 2018-01-22 | 2020-07-14 | Salesforce.Com, Inc. | Systems and methods for capturing and visualizing user interactions across devices |
US10693883B2 (en) | 2018-01-22 | 2020-06-23 | Salesforce.Com, Inc. | Technologies for integrating and sandboxing web resources |
US10650337B2 (en) | 2018-01-29 | 2020-05-12 | Salesforce.Com, Inc. | Technical field service inventory management |
US10936477B2 (en) | 2018-01-31 | 2021-03-02 | Salesforce.Com, Inc. | End-to-end user interface component testing |
US11206273B2 (en) | 2018-01-31 | 2021-12-21 | Salesforce.Com, Inc. | Content management system connect |
US10778543B2 (en) | 2018-01-31 | 2020-09-15 | Salesforce.Com, Inc. | Opaque interface for enclosed/wrapped asynchronous pushing and/or pulling data between policy enforcement as a service (PEaaS) components |
US11416116B2 (en) | 2018-01-31 | 2022-08-16 | Salesforce.Com, Inc. | Generation of mobile device notifications |
US10680958B2 (en) | 2018-01-31 | 2020-06-09 | Salesforce.Com, Inc. | Policy enforcement as a service for third party platforms |
US10560349B2 (en) | 2018-01-31 | 2020-02-11 | Salesforce.Com, Inc. | Data consistency of policy enforcement for distributed applications |
US10771353B2 (en) | 2018-01-31 | 2020-09-08 | Salesforce.Com, Inc. | Policy enforcement as a service for third party platforms with asynchronous user tracking mechanisms |
US10853334B2 (en) | 2018-03-02 | 2020-12-01 | Salesforce.Com, Inc. | Technologies for providing service isolation, scalability, and proactive tenant migration in multi-tenant ecosystems |
US10664192B2 (en) | 2018-04-26 | 2020-05-26 | Salesforce.Com, Inc. | In-memory service with plural buffer type assignment |
US10936308B2 (en) | 2018-04-30 | 2021-03-02 | Salesforce.Com, Inc. | Multi-tenant collaborative learning |
US10958431B2 (en) | 2018-05-30 | 2021-03-23 | Salesforce.Com, Inc. | Authenticating computing system requests across tenants of a multi-tenant database system |
US11252119B2 (en) | 2018-06-04 | 2022-02-15 | Salesforce.Com, Inc. | Message logging using two-stage message logging mechanisms |
US10878218B2 (en) | 2018-06-18 | 2020-12-29 | Salesforce.Com, Inc. | Device fingerprinting, tracking, and management |
US11218461B2 (en) | 2018-06-29 | 2022-01-04 | Salesforce.Com, Inc. | Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system |
US11423063B2 (en) | 2018-07-31 | 2022-08-23 | Salesforce, Inc. | Flattening hierarchical database records using inverted indexing |
US10664266B2 (en) | 2018-09-04 | 2020-05-26 | Salesforce.Com, Inc. | Maintaining client version affinity during a server cluster upgrade |
US10671236B2 (en) | 2018-09-20 | 2020-06-02 | Salesforce.Com, Inc. | Stateful, contextual, and draggable embedded widget |
US10866959B2 (en) | 2018-09-20 | 2020-12-15 | Salesforce.Com, Inc. | Debug tracing of next best action strategy engine |
US11308067B2 (en) | 2018-09-21 | 2022-04-19 | Salesforce.Com, Inc. | Associating flows in different states to a database record |
US20200097463A1 (en) | 2018-09-24 | 2020-03-26 | Salesforce.Com, Inc. | Driving application experience via search-based navigation interface |
US11190420B2 (en) | 2018-10-31 | 2021-11-30 | Salesforce.Com, Inc. | Generating events from host based logging for consumption by a network logging host |
US11055162B2 (en) | 2018-10-31 | 2021-07-06 | Salesforce.Com, Inc. | Database system performance degradation detection |
US10853046B2 (en) | 2018-12-13 | 2020-12-01 | Salesforce.Com, Inc. | Deployment of software applications on server clusters |
US10747551B2 (en) | 2019-01-23 | 2020-08-18 | Salesforce.Com, Inc. | Software application optimization |
US11194591B2 (en) | 2019-01-23 | 2021-12-07 | Salesforce.Com, Inc. | Scalable software resource loader |
US10802944B2 (en) | 2019-01-23 | 2020-10-13 | Salesforce.Com, Inc. | Dynamically maintaining alarm thresholds for software application performance management |
US11526539B2 (en) | 2019-01-31 | 2022-12-13 | Salesforce, Inc. | Temporary reservations in non-relational datastores |
US11216444B2 (en) | 2019-01-31 | 2022-01-04 | Salesforce.Com, Inc. | Scalable event sourcing datastore |
US11263178B2 (en) | 2019-01-31 | 2022-03-01 | Salesforce.Com, Inc. | Intelligent prediction of future generation of types of data objects based on past growth |
US11042434B2 (en) | 2019-01-31 | 2021-06-22 | Salesforce.Com, Inc. | Database ingestion across internal and external data sources using error rate handling |
US10540700B1 (en) * | 2019-04-11 | 2020-01-21 | RoboSystems, Inc. | Personal shopping assistant |
US10922062B2 (en) | 2019-04-15 | 2021-02-16 | Salesforce.Com, Inc. | Software application optimization |
US10922095B2 (en) | 2019-04-15 | 2021-02-16 | Salesforce.Com, Inc. | Software application performance regression analysis |
US11113302B2 (en) | 2019-04-23 | 2021-09-07 | Salesforce.Com, Inc. | Updating one or more databases based on dataflow events |
US10917302B2 (en) | 2019-06-11 | 2021-02-09 | Cisco Technology, Inc. | Learning robust and accurate rules for device classification from clusters of devices |
US11245729B2 (en) | 2019-07-09 | 2022-02-08 | Salesforce.Com, Inc. | Group optimization for network communications |
US11321406B2 (en) | 2019-07-31 | 2022-05-03 | Walmart Apollo, Llc | Personalized ranking using deep attribute extraction and attentive user interest embeddings |
US20210034945A1 (en) * | 2019-07-31 | 2021-02-04 | Walmart Apollo, Llc | Personalized complimentary item recommendations using sequential and triplet neural architecture |
US11170322B2 (en) | 2019-08-13 | 2021-11-09 | Salesforce.Com, Inc. | Using a client-side machine learning model dynamically in a mobile enterprise application on a mobile device |
US11379266B2 (en) | 2019-09-10 | 2022-07-05 | Salesforce.Com, Inc. | Automatically identifying and right sizing instances |
US11403280B2 (en) | 2019-09-25 | 2022-08-02 | Salesforce.Com, Inc. | Master data management technologies |
US11403265B2 (en) | 2019-10-02 | 2022-08-02 | Salesforce, Inc. | Dynamically controlling data migration |
US11514008B2 (en) | 2019-10-02 | 2022-11-29 | Salesforce, Inc. | Dynamically controlling data migration |
US11637831B2 (en) | 2019-10-09 | 2023-04-25 | Salesforce, Inc. | Application programmer interface platform with direct data center access |
US11431663B2 (en) | 2019-10-24 | 2022-08-30 | Salesforce, Inc. | Technologies for predicting personalized message send times |
US11381540B2 (en) | 2019-10-31 | 2022-07-05 | Salesforce, Inc. | Tracking premature events in electronic message processing |
US11431481B2 (en) | 2019-11-07 | 2022-08-30 | Salesforce, Inc. | System for securing memory dumps |
US11507617B2 (en) | 2019-11-15 | 2022-11-22 | Salesforce, Inc. | Unsupervised dialogue topic extraction |
US11216785B2 (en) | 2019-11-18 | 2022-01-04 | Salesforce.Com, Inc. | System and method for a single, unified community and learning experience |
US11431500B2 (en) | 2019-11-26 | 2022-08-30 | Salesforce, Inc. | Authorization code management for published static applications |
US11120702B2 (en) | 2019-12-01 | 2021-09-14 | Salesforce.Com, Inc. | Systems and methods for validating localized assessments in an external system |
US11354726B2 (en) | 2019-12-20 | 2022-06-07 | Salesforce.Com, Inc. | Change order application programming interfaces |
US11177973B2 (en) | 2020-01-10 | 2021-11-16 | Salesforce.Com, Inc. | Distributed audience computation software service |
US11397736B2 (en) | 2020-01-27 | 2022-07-26 | Salesforce, Inc. | Large scale data ingestion |
US11475049B2 (en) | 2020-01-31 | 2022-10-18 | Salesforce, Inc. | Methods and systems for organization extensibility and cluster scalability |
US11297501B2 (en) | 2020-01-31 | 2022-04-05 | Salesforce.Com, Inc. | Firewall discovery and management |
US11588840B2 (en) | 2020-01-31 | 2023-02-21 | Salesforce, Inc. | Automated encryption degradation detection, reporting and remediation |
US11755720B2 (en) | 2020-01-31 | 2023-09-12 | Salesforce, Inc. | Secure membranes and cross namespace communication |
US11711330B2 (en) | 2020-01-31 | 2023-07-25 | Salesforce, Inc. | Out of office message configuration |
US11233787B2 (en) | 2020-01-31 | 2022-01-25 | Salesforce.Com, Inc. | Automated on call and ad hoc access to restricted resources |
US11488065B2 (en) * | 2020-04-09 | 2022-11-01 | Visa International Service Association | System, method, and computer program product for iteratively refining a training data set |
US11915834B2 (en) | 2020-04-09 | 2024-02-27 | Salesforce, Inc. | Efficient volume matching of patients and providers |
US11526551B2 (en) | 2020-04-10 | 2022-12-13 | Salesforce, Inc. | Search query generation based on audio processing |
US11509608B2 (en) | 2020-04-13 | 2022-11-22 | Salesforce, Inc. | Methods and systems for configuring an email engine |
US11539652B2 (en) | 2020-04-13 | 2022-12-27 | Salesforce, Inc. | Rate limiting actions with a message queue |
US11916918B2 (en) | 2020-04-14 | 2024-02-27 | Salesforce, Inc. | System mode override during flow execution |
US11552802B2 (en) | 2020-04-15 | 2023-01-10 | Salesforce, Inc. | Stateless mutual authentication between services |
US11113459B1 (en) | 2020-05-22 | 2021-09-07 | Salesforce.Com, Inc. | Dynamic guidance engine for software customization systems |
US11294648B2 (en) | 2020-05-22 | 2022-04-05 | Salesforce.Com, Inc. | Application development architecture for mobile applications |
US11474793B2 (en) | 2020-05-22 | 2022-10-18 | Salesforce.Com, Inc. | Polymorphic application architecture |
US11762656B2 (en) | 2020-07-13 | 2023-09-19 | Salesforce, Inc. | Service fabrication tool |
US11460975B2 (en) | 2020-09-18 | 2022-10-04 | Salesforce, Inc. | Metric presentation within a flow builder |
US11907385B2 (en) | 2020-09-18 | 2024-02-20 | Salesforce, Inc. | Process flow granular control and execution |
US11687523B2 (en) | 2020-11-25 | 2023-06-27 | Salesforce, Inc. | System and method for efficiently transferring data for offline use |
US11675800B2 (en) | 2020-11-30 | 2023-06-13 | Salesforce, Inc. | Version control and execution on a mobile device |
US11741119B2 (en) | 2021-01-26 | 2023-08-29 | Salesforce, Inc. | Canonical data model for distributed data catalog and metadata exchange |
US11429257B1 (en) | 2021-04-15 | 2022-08-30 | Salesforce.Com, Inc. | Dynamically generated help based on derived hierarchical context |
US11748243B2 (en) | 2021-04-27 | 2023-09-05 | Salesforce, Inc. | Intelligent generation of page objects for user interface testing |
US11636025B2 (en) | 2021-04-27 | 2023-04-25 | Salesforce, Inc. | Intelligent generation of automated user interface testing methods |
US20220358100A1 (en) * | 2021-05-04 | 2022-11-10 | Microsoft Technology Licensing, Llc | Profile data extensions |
US11507729B1 (en) | 2021-05-13 | 2022-11-22 | Salesforce, Inc. | Scoped containers using CSS custom properties and color pairs |
US11681522B2 (en) | 2021-10-21 | 2023-06-20 | Salesforce, Inc. | Self-healing build pipelines for an application build process across distributed computer platforms |
US11983649B2 (en) | 2021-10-26 | 2024-05-14 | Microsoft Technology Licensing, Llc | Targeted training of inductive multi-organization recommendation models for enterprise applications |
US11442754B1 (en) | 2021-10-27 | 2022-09-13 | Salesforce, Inc. | Targeting system for web page components |
US11755400B2 (en) | 2021-11-30 | 2023-09-12 | Salesforce, Inc. | Error detection and mitigation for software pull requests |
WO2023144690A1 (en) * | 2022-01-25 | 2023-08-03 | [24]7.ai, Inc. | Method and system for facilitating user conversations with agents using online promotions |
US11977476B2 (en) | 2022-01-28 | 2024-05-07 | Salesforce.Com, Inc. | Incrementally validating security policy code using information from an infrastructure as code repository |
US11734265B1 (en) | 2022-03-08 | 2023-08-22 | Salesforce, Inc. | Automatic GraphQL data source field change handler |
US11893377B2 (en) | 2022-04-27 | 2024-02-06 | Salesforce, Inc. | Dependency-aware rules engine for delivering managed package upgrades |
US11874797B1 (en) | 2022-06-23 | 2024-01-16 | Salesforce, Inc. | Smart privilege escalation in a cloud platform |
US11750460B1 (en) | 2022-10-06 | 2023-09-05 | Salesforce, Inc. | Identifying duplicate entries in views of same and other network management interfaces |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450317A (en) * | 1993-11-24 | 1995-09-12 | U S West Advanced Technologies, Inc. | Method and system for optimized logistics planning |
US5835087A (en) * | 1994-11-29 | 1998-11-10 | Herz; Frederick S. M. | System for generation of object profiles for a system for customized electronic identification of desirable objects |
US6026370A (en) * | 1997-08-28 | 2000-02-15 | Catalina Marketing International, Inc. | Method and apparatus for generating purchase incentive mailing based on prior purchase history |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4775935A (en) | 1986-09-22 | 1988-10-04 | Westinghouse Electric Corp. | Video merchandising system with variable and adoptive product sequence presentation order |
US5687322A (en) * | 1989-05-01 | 1997-11-11 | Credit Verification Corporation | Method and system for selective incentive point-of-sale marketing in response to customer shopping histories |
US5305196A (en) * | 1989-05-01 | 1994-04-19 | Credit Verification Corporation | Check transaction processing, database building and marketing method and system utilizing automatic check reading |
US5446891A (en) * | 1992-02-26 | 1995-08-29 | International Business Machines Corporation | System for adjusting hypertext links with weighed user goals and activities |
US5353218A (en) * | 1992-09-17 | 1994-10-04 | Ad Response Micromarketing Corporation | Focused coupon system |
JPH06131188A (en) * | 1992-10-22 | 1994-05-13 | Hitachi Ltd | Fuzzy rule acquisition method and fuzzy inference system |
DE4238772C1 (en) * | 1992-11-12 | 1993-12-09 | Daimler Benz Ag | Procedure for evaluating a set of linguistic rules |
AU674189B2 (en) * | 1993-02-23 | 1996-12-12 | Moore North America, Inc. | A method and system for gathering and analyzing customer and purchasing information |
JP3022053B2 (en) * | 1993-05-28 | 2000-03-15 | 富士通株式会社 | POS terminal device |
CA2131667A1 (en) * | 1993-12-29 | 1995-06-30 | John Burnie Ostrander | System for automatic compilation of customer information database from bank check data |
US5692107A (en) * | 1994-03-15 | 1997-11-25 | Lockheed Missiles & Space Company, Inc. | Method for generating predictive models in a computer system |
US5636346A (en) * | 1994-05-09 | 1997-06-03 | The Electronic Address, Inc. | Method and system for selectively targeting advertisements and programming |
US5459306A (en) * | 1994-06-15 | 1995-10-17 | Blockbuster Entertainment Corporation | Method and system for delivering on demand, individually targeted promotions |
US5724521A (en) * | 1994-11-03 | 1998-03-03 | Intel Corporation | Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner |
US5717923A (en) * | 1994-11-03 | 1998-02-10 | Intel Corporation | Method and apparatus for dynamically customizing electronic information to individual end users |
US5592585A (en) | 1995-01-26 | 1997-01-07 | Lernout & Hauspie Speech Products N.C. | Method for electronically generating a spoken message |
US5710884A (en) * | 1995-03-29 | 1998-01-20 | Intel Corporation | System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use |
US5749081A (en) | 1995-04-06 | 1998-05-05 | Firefly Network, Inc. | System and method for recommending items to a user |
US6092049A (en) | 1995-06-30 | 2000-07-18 | Microsoft Corporation | Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering |
US6112186A (en) | 1995-06-30 | 2000-08-29 | Microsoft Corporation | Distributed system for facilitating exchange of user information and opinion using automated collaborative filtering |
US6041311A (en) | 1995-06-30 | 2000-03-21 | Microsoft Corporation | Method and apparatus for item recommendation using automated collaborative filtering |
US6049777A (en) * | 1995-06-30 | 2000-04-11 | Microsoft Corporation | Computer-implemented collaborative filtering based method for recommending an item to a user |
WO1997015023A2 (en) * | 1995-10-17 | 1997-04-24 | Citibank, N.A. | Sales process support system and method |
US5966695A (en) * | 1995-10-17 | 1999-10-12 | Citibank, N.A. | Sales and marketing support system using a graphical query prospect database |
US5727199A (en) | 1995-11-13 | 1998-03-10 | International Business Machines Corporation | Database mining using multi-predicate classifiers |
US5794210A (en) * | 1995-12-11 | 1998-08-11 | Cybergold, Inc. | Attention brokerage |
US5724573A (en) * | 1995-12-22 | 1998-03-03 | International Business Machines Corporation | Method and system for mining quantitative association rules in large relational tables |
US5970482A (en) * | 1996-02-12 | 1999-10-19 | Datamind Corporation | System for data mining using neuroagents |
US5867799A (en) | 1996-04-04 | 1999-02-02 | Lang; Andrew K. | Information system and method for filtering a massive flow of information entities to meet user information classification needs |
US5848396A (en) * | 1996-04-26 | 1998-12-08 | Freedom Of Information, Inc. | Method and apparatus for determining behavioral profile of a computer user |
US6014638A (en) | 1996-05-29 | 2000-01-11 | America Online, Inc. | System for customizing computer displays in accordance with user preferences |
US5727129A (en) | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
CA2261058A1 (en) * | 1996-07-15 | 1998-01-22 | David A. Post | A method and apparatus for expertly matching products, services, and consumers |
US5790645A (en) * | 1996-08-01 | 1998-08-04 | Nynex Science & Technology, Inc. | Automatic design of fraud detection systems |
US5784539A (en) * | 1996-11-26 | 1998-07-21 | Client-Server-Networking Solutions, Inc. | Quality driven expert system |
GB2321363A (en) * | 1997-01-21 | 1998-07-22 | Northern Telecom Ltd | Telecommunications |
US6012051A (en) * | 1997-02-06 | 2000-01-04 | America Online, Inc. | Consumer profiling system with analytic decision processor |
US5943667A (en) * | 1997-06-03 | 1999-08-24 | International Business Machines Corporation | Eliminating redundancy in generation of association rules for on-line mining |
US6292797B1 (en) * | 1997-08-07 | 2001-09-18 | New York University | Method for determining actionable patterns in a database |
US6996572B1 (en) * | 1997-10-08 | 2006-02-07 | International Business Machines Corporation | Method and system for filtering of information entities |
US6003020A (en) * | 1997-10-30 | 1999-12-14 | Sapient Health Network | Intelligent profiling system |
US6236978B1 (en) | 1997-11-14 | 2001-05-22 | New York University | System and method for dynamic profiling of users in one-to-one applications |
US6134532A (en) * | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
US6078928A (en) * | 1997-12-12 | 2000-06-20 | Missouri Botanical Garden | Site-specific interest profiling system |
US7865546B1 (en) * | 1998-01-26 | 2011-01-04 | New York University | Method and appartus for monitor and notification in a network |
US6356879B2 (en) * | 1998-10-09 | 2002-03-12 | International Business Machines Corporation | Content based method for product-peer filtering |
US6741976B1 (en) * | 1999-07-01 | 2004-05-25 | Alexander Tuzhilin | Method and system for the creation, application and processing of logical rules in connection with biological, medical or biochemical data |
US8185487B2 (en) * | 2001-02-12 | 2012-05-22 | Facebook, Inc. | System, process and software arrangement for providing multidimensional recommendations/suggestions |
WO2012167191A1 (en) * | 2011-06-01 | 2012-12-06 | Al Gharabally Faisal | Promotional content provided privately via client devices |
-
1997
- 1997-11-14 US US08/970,359 patent/US6236978B1/en not_active Expired - Lifetime
-
1998
- 1998-11-13 IL IL136103A patent/IL136103A/en not_active IP Right Cessation
- 1998-11-13 US US09/554,383 patent/US6871186B1/en not_active Expired - Lifetime
- 1998-11-13 WO PCT/US1998/024339 patent/WO1999026180A1/en active Application Filing
- 1998-11-13 JP JP2000521469A patent/JP2002517027A/en active Pending
- 1998-11-13 EP EP98957968A patent/EP1029304A4/en not_active Ceased
- 1998-11-13 CA CA002309940A patent/CA2309940A1/en not_active Abandoned
-
2005
- 2005-03-07 US US11/074,157 patent/US7603331B2/en not_active Expired - Lifetime
-
2009
- 2009-09-03 US US12/553,522 patent/US8103611B2/en not_active Expired - Fee Related
-
2011
- 2011-12-27 US US13/337,468 patent/US20120265789A1/en not_active Abandoned
-
2012
- 2012-09-05 US US13/604,377 patent/US20120330779A1/en not_active Abandoned
-
2014
- 2014-04-08 US US14/248,240 patent/US9483778B2/en not_active Expired - Lifetime
-
2015
- 2015-01-16 US US14/599,263 patent/US20150154648A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450317A (en) * | 1993-11-24 | 1995-09-12 | U S West Advanced Technologies, Inc. | Method and system for optimized logistics planning |
US5835087A (en) * | 1994-11-29 | 1998-11-10 | Herz; Frederick S. M. | System for generation of object profiles for a system for customized electronic identification of desirable objects |
US6026370A (en) * | 1997-08-28 | 2000-02-15 | Catalina Marketing International, Inc. | Method and apparatus for generating purchase incentive mailing based on prior purchase history |
Non-Patent Citations (2)
Title |
---|
Chaudhuri et al., An overview of data warehousing and OLAP technology, ACM Sigmod Record, pp. 517-526, March 1997 * |
Imielinski et al., Querying in highly mobile distributed environments, Proceedings of the 18th VLDB Conference, pp. 41-52 (1992) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372175A1 (en) * | 2013-01-21 | 2014-12-18 | Flytxt B.V | Method and system for detection, classification and prediction of user behavior trends |
US20190026761A1 (en) * | 2013-06-13 | 2019-01-24 | Flytxt B.V. | Method and system for automated detection, classification and prediction of multi-scale, multidimensional trends |
US11461795B2 (en) * | 2013-06-13 | 2022-10-04 | Flytxt B.V. | Method and system for automated detection, classification and prediction of multi-scale, multidimensional trends |
US9824316B2 (en) | 2013-12-18 | 2017-11-21 | International Business Machines Corporation | Transforming rules into generalized rules in a rule management system |
US11049049B2 (en) | 2013-12-18 | 2021-06-29 | International Business Machines Corporation | Transforming rules into generalized rules in a rule management system |
RU2670610C1 (en) * | 2014-12-12 | 2018-10-25 | Бэйцзин Цзиндун Сенчури Трэйдинг Ко., Лтд. | Method and device for processing data of user operation |
RU2670610C9 (en) * | 2014-12-12 | 2018-11-26 | Бэйцзин Цзиндун Сенчури Трэйдинг Ко., Лтд. | Method and device for processing data of user operation |
US10860634B2 (en) * | 2018-08-06 | 2020-12-08 | Walmart Apollo, Llc | Artificial intelligence system and method for generating a hierarchical data structure |
Also Published As
Publication number | Publication date |
---|---|
US20050149460A1 (en) | 2005-07-07 |
IL136103A (en) | 2007-03-08 |
WO1999026180A1 (en) | 1999-05-27 |
US6236978B1 (en) | 2001-05-22 |
US20120265789A1 (en) | 2012-10-18 |
US7603331B2 (en) | 2009-10-13 |
IL136103A0 (en) | 2001-05-20 |
US20150154648A1 (en) | 2015-06-04 |
EP1029304A4 (en) | 2002-06-19 |
JP2002517027A (en) | 2002-06-11 |
US8103611B2 (en) | 2012-01-24 |
US6871186B1 (en) | 2005-03-22 |
WO1999026180A9 (en) | 1999-08-26 |
CA2309940A1 (en) | 1999-05-27 |
US20140222505A1 (en) | 2014-08-07 |
US20090327197A1 (en) | 2009-12-31 |
EP1029304A1 (en) | 2000-08-23 |
US9483778B2 (en) | 2016-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9483778B2 (en) | Generating a user profile | |
Cho et al. | A personalized recommender system based on web usage mining and decision tree induction | |
US10460347B2 (en) | Extracting predictive segments from sampled data | |
US7873643B2 (en) | Incremental clustering classifier and predictor | |
US7966225B2 (en) | Method, system, and medium for cluster-based categorization and presentation of item recommendations | |
US6078892A (en) | Method for customer lead selection and optimization | |
US20030055707A1 (en) | Method and system for integrating spatial analysis and data mining analysis to ascertain favorable positioning of products in a retail environment | |
US20100114665A1 (en) | Customer reference generator | |
US9147159B2 (en) | Extracting predictive segments from sampled data | |
JP2002543535A (en) | Method and apparatus for scalable stochastic clustering using decision trees | |
Chen et al. | Using data mining technology to provide a recommendation service in the digital library | |
Zaim et al. | E-CRM success factors as determinants of customer satisfaction rate in retail website | |
Zhang | Personalised product recommendation model based on user interest | |
Senvar et al. | Customer oriented intelligent DSS based on two-phased clustering and integrated interval type-2 fuzzy AHP and hesitant fuzzy TOPSIS | |
Granov | Customer loyalty, return and churn prediction through machine learning methods: for a Swedish fashion and e-commerce company | |
Sulova | Integration of Structured and Unstructured Data in the Analysis of E-commerce Customers | |
Dissanayake et al. | Association Mining Approach for Customer Behavior Analytics | |
Mohammadnezhad et al. | Providing a model for predicting tour sale in mobile e-tourism recommender systems | |
US11869063B2 (en) | Optimize shopping route using purchase embeddings | |
US11922476B2 (en) | Generating recommendations based on descriptors in a multi-dimensional search space | |
Sofikitis et al. | Development of recommendation systems using game theoretic techniques | |
BELHADJ | Customer Value Analysis Using Weighted RFM model: Empirical Case Study. | |
Joshi | Market basket analysis using apriori algorithm in data mining | |
Giha et al. | Customer profiling and segmentation based on association rule mining technique | |
Vats et al. | Grocery Product Recommendation Using Customer Feedback Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |
|
AS | Assignment |
Owner name: META PLATFORMS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058553/0802 Effective date: 20211028 |