WO2012055104A1 - Method and apparatus for performing user segmentation based on user behavior information - Google Patents

Method and apparatus for performing user segmentation based on user behavior information Download PDF

Info

Publication number
WO2012055104A1
WO2012055104A1 PCT/CN2010/078185 CN2010078185W WO2012055104A1 WO 2012055104 A1 WO2012055104 A1 WO 2012055104A1 CN 2010078185 W CN2010078185 W CN 2010078185W WO 2012055104 A1 WO2012055104 A1 WO 2012055104A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
information
segmentation
behavior
users
Prior art date
Application number
PCT/CN2010/078185
Other languages
French (fr)
Inventor
Happia Cao
Tengfei Bao
Jilei Tian
Original Assignee
Nokia Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Corporation filed Critical Nokia Corporation
Priority to PCT/CN2010/078185 priority Critical patent/WO2012055104A1/en
Publication of WO2012055104A1 publication Critical patent/WO2012055104A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information

Definitions

  • Service providers and device manufacturers are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services.
  • One area of interest is user segmentation based on data collected over a period of time. For example, user segmentation (e.g., identifying one or more characteristics of a population of users, and then grouping the users by the identified characteristics) may provide information for determining computing user tendencies, market analysis, targeted advertising and management of users, and the like.
  • the data used for the user segmentation may be data about user behavior with respect to the user's interactions with a device (e.g., a cell phone, smartphone, or other mobile device) that is used by the user.
  • a device e.g., a cell phone, smartphone, or other mobile device
  • the user segmentation is performed by manually collecting data by taking surveys and studying the user behaviors based on the collected data.
  • the manual gathering of data and computing of the user segmentation may produce results with decreased accuracy and may be time-consuming. Accordingly, service providers and device manufacturers face significant technical challenges in computing user segmentations via collected data.
  • a method comprises determining user behavior information associated with a plurality of users.
  • the method also comprises determining one or more hyper behavior patterns based on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information.
  • the method further comprises determining to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
  • an apparatus comprises at least one processor, and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause, at least in part, the apparatus to determine user behavior information associated with a plurality of users.
  • the apparatus is also caused to determine one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information.
  • the apparatus is further caused to determine to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
  • a computer-readable storage medium carries one or more sequences of one or more instructions which, when executed by one or more processors, cause, at least in part, an apparatus to determine user behavior information associated with a plurality of users.
  • the apparatus is also caused to determine one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information.
  • the apparatus is further caused to determine to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
  • an apparatus comprises means for determining user behavior information associated with a plurality of users.
  • the apparatus also comprises means for determining one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information.
  • the apparatus further comprises means for determining to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
  • FIG. 1 is a diagram of a system capable of performing user segmentation based on user behavior information, according to one embodiment
  • FIG. 2 is a diagram of the components of the user behavior platform, according to one embodiment
  • FIG. 3 is a flowchart of a process for performing user segmentation based on user behavior information, according to one embodiment
  • FIG. 4 is a flowchart of a process for mining data and determining user behavior patterns, according to one embodiment.
  • FIG. 5 is a flowchart of a process for performing user segmentation based on hyper behavior patterns, according to one embodiment.
  • FIGs. 6 A and 6B are diagrams of interactions between a client and a server utilized in data mining included in the processes of FIG. 4, according to various embodiments
  • FIG. 7 is a diagram of computation of the user habit vector from the behavior pattern vector.
  • FIGs. 8A-8F are diagrams of user interfaces at a client end utilized in the processes of FIGs. 3-5, more specifically FIG. 4, according to various embodiments.
  • FIG. 9 is a diagram of a user interface for a server utilized in the processes of FIG. 3, according to one embodiment.
  • FIG. 10 is a diagram of hardware that can be used to implement an embodiment of the invention.
  • FIG. 11 is a diagram of a chip set that can be used to implement an embodiment of the invention.
  • FIG. 12 is a diagram of a mobile terminal (e.g., handset) that can be used to implement an embodiment of the invention.
  • a mobile terminal e.g., handset
  • FIG. 1 is a diagram of a system capable of performing user segmentation based on user behavior information, according to one embodiment.
  • the traditional approach of manually gathering data about user behavior and performing analysis on the gathered data may have several drawbacks in computing the user segmentation. For example, because such approach is generally based on a large scale of user studies (e.g., conducted via manual administered surveys and/or questionnaires), it may be time consuming and expensive to collect data from a large number of users. Moreover, it may often take several months to collect sufficient amount of data from a sufficient number of users. Because the traditional data collection process may take a long time and the user behavior changes over a period of time, the user behavior computed based on the data collected via the traditional approach may not reflect the current user behavior.
  • the traditional data gathering approach of taking surveys from users by presenting questions to the users may also be unreliable because the users may not provide honest answers to the surveys.
  • the surveys are taken manually, it may be necessary to hire people who would take surveys from the users, which may be costly.
  • the surveys are taken electronically (e.g., via the Internet), then many users may refuse to participate in the survey because such participation can be time consuming and tedious. For example, not many users may want to respond to survey questions such as "Do you listen to music in the morning in your office?" and "Do you browse web while riding a bus home in the evening?" Even if they do want to participate, the users may not be able to provide an accurate assessment because they cannot accurately remember their habits.
  • a system 100 of FIG. 1 introduces the capability to perform user segmentation based on user behavior information.
  • the system 100 determines user behavior information associated with a plurality of users.
  • the user behavior information for each user may be derived by analyzing information acquired by a corresponding user device.
  • context information surrounding the user device may be acquired by the user device, and may be associated with interaction data showing the user's interaction with the user device.
  • the context information associated with the interaction data may provide information about user behavior patterns surrounding the user device.
  • the system 100 may compile a database of the user behavior information of different users. With the user behavior information, the system 100 determines hyper behavior patterns based, at least in part, on the user behavior information.
  • the hyper behavior patterns represent aggregations of at least respective subsets of the user behavior information or patterns.
  • the hyper behavior patterns may show sufficient common behavior patterns among some users for more efficient analysis when compared to processing all or a portion of the unaggregated behavior patterns.
  • the system 100 advantageously reduces the number of behavior patterns that are processed for user segmentation. Then, the system 100 determines to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns rather than directly on the behavior patterns.
  • the user segmentation based on the user behavior may involve two stages, a data mining stage and a user segmentation stage.
  • the data mining stage may take place at the user device, and may collect data related to the user behavior.
  • the user may be provided with an option to participate in the data mining process.
  • a participating user of data mining may install data mining software on the user device to enable mining of the data.
  • the user behavior information that can be collected via the user device may include context information such as location, time, environmental condition (e.g., noise, brightness, speed etc.), as well as interaction data reflecting user's interaction with the user device, such as talking on the phone, listening to rock music, browsing sports web sites, etc.
  • the user behavior information collected from the user device may represent habits of the users. Then, the software in user device may estimate user behavior patterns based on the context data and the user interaction data associated with the context data. Each behavior pattern may represent a particular set of context and the interaction associated with the set of context. When sufficient amount of data is collected over a period of time, the estimated user behavior patterns may show what type of interaction the user has for a certain context.
  • the estimated user behavior patterns of multiple users may be compiled at the server.
  • a degree of confidence may be assigned, in a number ranging from 0 to 1, for example that the behavior patterns represent the underlying behavior data. For example, if the collected behavior data more strongly associates a user with a particular behavior pattern, the degree of confidence is computed to be closer to one. If the association is weaker between the data and the determined behavior patter, the degree of confidence is closer to zero.
  • context data there may be numerous different combinations of different types of contexts (e.g., context patterns), and also there may various different types of interactions associated with the different combinations of contexts.
  • behavior patterns including various context patterns and interaction data associated with the context patterns.
  • users participating in the collection of the user behavior information. Therefore, the dimensions for the users and their corresponding behavior patterns may increase rapidly, thereby requiring greater resources (e.g., computing resources) to process and perform user segmentation.
  • hyper behavior patterns which are the behavior patterns that have high significance (e.g., high confidence values or high frequency values). By extracting these hyper behavior patterns, the dimensions of the user behavior information that are used for user segmentation can be reduced. Then, the user segmentation can be performed efficiently based on the hyper behavior patterns corresponding to respective users.
  • the system 100 comprises a user equipment (UE) 101 having connectivity to the user behavior platform 103 via a communication network 105.
  • the UE 101 has a behavior application 107 that can be used to collect context data and user interaction data from the UE 101.
  • the UE 101 can then store the collected data in, for instance, the data storage
  • the behavior application 107 can interact with one or more sensors 11 1
  • the behavior application 107 may also communicate with the user behavior platform 103 to perform user segmentation based on the collected data.
  • the user behavior platform 103 may use the collected context data and the user interaction data to determine user behavior information (e.g., user behavior patterns) corresponding to the user associated with the UE 101. In another embodiment, this operation of determining user behavior information may also be performed by the behavior application 107, instead of or along with the user behavior platform 103.
  • a context record includes, at least in part, all context data and interaction data (e.g., date, time of day, location, activity, etc.) collected at a specific time.
  • the context record may contain or describe several contexts wherein each context is a subset of the context data included in the context record.
  • contexts from the context data may be arranged according to the timestamp of each record and may be placed into context groups based on, for instance, the similarity of the contexts (e.g., whether the contexts associated with the same location, environmental condition, user activity, etc.).
  • a context can be any subset of the context data arranged in any combination, which can then be organized as context groups or patterns.
  • the combinations of the contexts with respect to the time stamp may be referred as context patterns, and same or similar context patterns may be grouped into context groups.
  • the behavior patterns of the user may be determined based on the association of the context groups (or context patterns) and the interaction data.
  • the context data is generally continuous over time and is volatile, whereas the interaction data is sparse over time.
  • the system 100 determines the time range over which a common context occurs and places the continuously recorded contexts into context groups associated with the common context. In this way, and the system 100 can associate the contexts (e.g., according to the time ranges represented by the context records in the context groups) with the interaction data, instead of associating individual context records, for determining behavior patterns.
  • the system 100 computes confidence values and/or frequencies for corresponding behavior patterns based on the user behavior information.
  • the hyper behavior patterns may be determined based on the behavior patterns and their respective confidence values and/or frequencies.
  • the user behavior information including the user behavior patterns may be filtered based on the respective confidence values and/or the respective frequencies. For example, as a process of determining the hyper behavior patterns, behavior patterns with sufficient confidence values and/or sufficient frequencies may be kept. For example, if a particular behavior pattern has a confidence value and a frequency that are greater than a threshold confidence value and a threshold frequency, respectively, then this particular behavior pattern may be kept.
  • the behavior patterns that are kept have sufficient confidence values and/or sufficient frequencies and thus may be compiled together to form hyper behavior patterns.
  • hyper behavior patterns may include the behavior patterns that may carry more significance than the behaviors patterns that are not kept through this process.
  • the behavior patterns and the corresponding confidence values may form a behavior pattern vector, with the confidence values. If there are multiple users, then there would be multiple behavior pattern vectors. Therefore, if there are m behavior patterns and n number of users, then n number of m-dimension behavior pattern vectors may form an m x n matrix.
  • the system 100 may generate user habit vectors for the multiple users based on the distribution of the hyper behavior patterns with respect to the multiple users. The system 100 may also determine the probabilities that respective users are associated with respective hyper behavior patterns. In this case, each hyper behavior pattern may be associated with a respective probability. User segmentation may be performed on the user habit vectors and/or the probabilities. Further, the user segmentation may also be based on the context information associated with the multiple users.
  • the system 100 may initiate the user segmentation based on a predetermined interval (e.g., weekly, monthly etc.) and/or a predetermined schedule (e.g., a user may set a schedule when the user segmentation should be performed).
  • the user segmentation may be updated with new user behavior information.
  • the system 100 may determine at least one update to the user behavior information, and initiate the user segmentation based on the update. In this case, the user segmentation may not be initiated if there is no update to the user behavior information (e.g., no changes to the user behavior information since the previous user segmentation). Further, the system 100 may also compare the user segmentation against another user segmentation that was performed at another time and/or for another time interval.
  • the system 100 may determine which user segmentation provides more accurate results. For example, if all of the user segmentations performed in the past ten intervals, except for one user segmentation in one interval, shows the same results, then the one user segmentation with different results may be ignored or considered as a glitch in the data.
  • the user behavior platform 103 and/or the behavior application 107 have connectivity to the context data available from, for instance, the service platform 113 which includes one or more services 115a-115n (e.g., weather service, location service, mapping service, media service, etc.).
  • these services 1 15 can provide additional information on environmental conditions (e.g., weather), activities (e.g., playing online games), preferences (e.g., musical preferences), location (e.g., location tracking service), etc. that can provide related context information associated with the UE 101 or the user of the UE 101.
  • demographic information of each user may be associated with the user segmentation.
  • the system 100 may also provide incentives to the users for participating in the segmentation. For example, for each time the user decides to participate in the segmentation, then a service provider may give the user online points that can be used towards acquiring additional services or online products. These incentives may be provided to the user before each time the user segmentation is performed.
  • an advantage of this approach is that, by automatically mining the behavior patterns and condensing the behavior patterns into hyper behavior patterns, the user segmentation may be efficiently performed without involving much of user's effort. Because this approach automatically mines the contexts and interaction data, and associates the contexts with the interaction data to form behavior patterns, this involves no or little effort by the user in providing the user behavior information. Further, instead of using all of the available behavior patterns, forming a hyper behavior patterns based on the behavior patterns and related information such as confidences and frequencies provides a more efficient way to perform user segmentation based on the hyper behavior patterns. Therefore, means for performing user segmentation based on user behavior information is anticipated.
  • the communication network 105 of system 100 includes one or more networks such as a data network (not shown), a wireless network (not shown), a telephony network (not shown), or any combination thereof.
  • the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), short range wireless network, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network, e.g., a proprietary cable or fiber-optic network, and the like, or any combination thereof.
  • the wireless network may be, for example, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., worldwide interoperability for microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP) data casting, satellite, mobile ad-hoc network (MANET), and the like, or any combination thereof.
  • EDGE enhanced data rates for global evolution
  • GPRS general packet radio service
  • GSM global system for mobile communications
  • IMS Internet protocol multimedia subsystem
  • UMTS universal mobile telecommunications system
  • WiMAX worldwide interoperability for microwave access
  • LTE Long Term Evolution
  • CDMA code division multiple
  • the UE 101 is any type of mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof. It is also contemplated that the UE 101 can support any type of interface to the user (such as "wearable" circuitry, etc.).
  • a protocol includes a set of rules defining how the network nodes within the communication network 105 interact with each other based on information sent over the communication links.
  • the protocols are effective at different layers of operation within each node, from generating and receiving physical signals of various types, to selecting a link for transferring those signals, to the format of information indicated by those signals, to identifying which software application executing on a computer system sends or receives the information.
  • the conceptually different layers of protocols for exchanging information over a network are described in the Open Systems Interconnection (OSI) Reference Model.
  • Each packet typically comprises (1) header information associated with a particular protocol, and (2) payload information that follows the header information and contains information that may be processed independently of that particular protocol.
  • the packet includes (3) trailer information following the payload and indicating the end of the payload information.
  • the header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol.
  • the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different, higher layer of the OSI Reference Model.
  • the header for a particular protocol typically indicates a type for the next protocol contained in its payload.
  • the higher layer protocol is said to be encapsulated in the lower layer protocol.
  • the headers included in a packet traversing multiple heterogeneous networks, such as the Internet typically include a physical (layer 1 ) header, a data-link (layer 2) header, an internetwork (layer 3) header and a transport (layer 4) header, and various application headers (layer 5, layer 6 and layer 7) as defined by the OSI Reference Model.
  • FIG. 2 is a diagram of the components of the user behavior platform 103, according to one embodiment.
  • the user behavior platform 103 includes one or more components for performing user segmentation based on user behavior information. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality.
  • the user behavior platform 103 includes a control module 201 , a computation module 203, a communication module 205, a presentation module 207, and a management module 209.
  • the control module 201 oversees tasks, including tasks performed by the control module 201 , the computation module 203, the communication module 205, the presentation module 207, and the management module 209.
  • the computation module 203 may perform various computations and determinations as well as analysis based on the information received from the UE 101.
  • the communication module 205 may be used to communicate with the UE 101 , the sensor 11 1 and the data storage 109 connected to the UE 101 as well as the service platform 1 13. For example, via the communication module 205, the context information and the interaction information acquired at the UE 101 may be transferred to the user behavior platform 103. Further, the context information acquired by the sensor module l l la-l l ln may be transferred to the user behavior platform 103 via the communication module 205.
  • the presentation module 207 may be used to present the user segmentation at a desired device such as the UE 101 or a display device (not shown) communicating with the user behavior platform 103. Further, the management module 209 may be used to manage the schedule to determine when the user segmentation is to be performed by the computation module 203, and to manage user segmentation data.
  • control module 201 can interact with the presentation module 207 to, for instance, present a user interface displaying the user segmentation as well as user behavior patterns, types of context data and user interaction data used in computing the behavior pattern, and/or the like. Some of these data may be displayed at the UE 101 , whereas others may be displayed at a device managed by a server controlling the user behavior platform 103.
  • the computation module 203 performs computations for determining user segmentation based on the user behavior information.
  • the computation module 203 determines the user behavior information associated with multiple users.
  • the user behavior information may be determined based on the context information and/or the interaction information.
  • the computation module 203 takes the acquired context data and interaction data, determines contexts from the context records, places the contexts into context groups, and associates the context groups with the interaction data. Then, the computation module 203 determines the user's behavior patterns based on the association between the context groups and the interaction data.
  • the computation module 203 may also arrange the contexts according to the context timestamps, and match the timestamps of interaction data with the timestamps of the context data to facilitate the grouping of the context data.
  • the computation module 203 also computes confidence values and/or frequencies for behavior patterns determined form the context groups.
  • the user behavior information as well as the confidence values may be calculated at the UE 101 , by the behavior application 107, instead of using the computation module 203, and the calculated user behavior information and the confidence values may be sent to the user behavior platform 103 for user segmentation.
  • the computation module 203 determines hyper behavior patterns based on the user behavior information.
  • the hyper behavior patterns represent at least respective subsets of the user behavior information, wherein the behavior information includes information about user behavior patterns.
  • the hyper behavior patterns may be determined by selecting the behavior patterns with more significance.
  • the computation module 203 may determine the hyper behavior patterns based on the confidence values and/or frequencies of the behavior patterns, by filtering the behavior patterns based on the confidence values and/or frequencies of the behavior patterns.
  • the computation module 203 may keep the behavior patterns with confidence values and/or frequencies that are sufficiently high, and compile such behavior patterns to form hyper behavior patterns.
  • the computation module 203 may select the behavior patterns to form hyper behavior patterns if the behavior patterns have confidence values and/or frequencies that are higher than a certain threshold value.
  • the computation module 203 may determine user habit vectors for respective users based on the distribution of the hyper behavior patterns with respect to the users. The dimension of the habit vector for each user may be determined by the number of hyper behavior patterns. The computation module 203 may perform user segmentation based on these user habit vectors. Further, the computation module 203 may also determine probability values (i.e., probabilities) that respective users are associated with respective hyper behavior patterns. Then, a probability is determined for each user and each hyper behavior pattern. The user segmentation may also be performed based on these probabilities. In addition, the computation module 203 may also determine context information associated with the users, and perform the user segmentation based on the context information.
  • probability values i.e., probabilities
  • the computation module 203 may also determine demographic information of the users, and associate the demographic information with the user segmentation.
  • the demographic information may be obtained from the UE 101, wherein the user has entered user profile information at the UE 101.
  • the demographic information may also be obtained from the service platform 1 13, wherein the user uploaded information about the user to the service platform 1 13 or the service 1 15.
  • the management module 209 may have the computation module 203 initiate user segmentation based on a predetermined interval and/or a predetermined schedule. For example, the user segmentation may be performed weekly, monthly, once every 15 days, etc., or can be performed when the time reaches a scheduled time.
  • the management module 209 may also maintain a database of past user segmentation results. Then, the computation module 203 may compare current user segmentation against other user segmentations that are performed at another time and/or for another time interval. The comparison may be performed for the purpose of checking for accuracy and/or to observe the trend or changes in the user segmentation.
  • the management module 209 may also provide incentives to the users for participating in the segmentation.
  • the management module 209 may provide the user at the UE 101 with an option to participate in the user segmentation, and show incentives such as online cash, bonus features and etc. If the user decides to participate in the segmentation, the user is awarded with these incentives. The purpose of these incentives is to encourage more users to participate in the segmentation. Further, the management module 209 may utilize the results of the user segmentation for target service offerings or other advertisements that are more likely to be of interest or relevance to the users.
  • FIG. 3 is a flowchart of a process for performing user segmentation based on user behavior information, according to one embodiment.
  • the user behavior platform 103 performs the process 300 and is implemented in, for instance, a chip set including a processor and a memory as shown in FIG. 1 1.
  • the user behavior platform 103 determines user behavior information associated with users.
  • the user behavior information may be determined based on the context information and/or the interaction information.
  • the context information may be acquired at the UE 101, and may be acquired via the sensor 11 1 connected to the UE 101.
  • the context information may also include context features such as time and day that can be acquired directly from the UE 101 as well as context features such as location information, speed, an audio level and temperature as well as other environmental conditions, which may be collected via a sensor such as a Global Positioning System (GPS) device, an accelerometer, a sound detector, and a temperature sensor.
  • the context record may include context features such as weather information, stock information, and etc., which can be retrieved from the service platform 113, as well as a profile of the user or any other information that may be set within the UE 101.
  • the context features to include in each of the context records can be determined by, for instance, the service provider, network operator, content provider, advertiser, user, or a combination thereof. These context features may be arranged according to time stamps (e.g., time intervals). Then, a combination of the context features corresponding to each time stamp may correspond to the interaction information. This combination of the context features may be referred as a context pattern.
  • the user behavior platform 103 determines hyper behavior patterns based on the user behavior information.
  • each or at least some of the behavior patterns includes the context pattern and the corresponding interaction information. Because there may be numerous types of context patterns and interactions associated with the context patterns, there may be many different types of behavior patterns. It may be difficult to efficiently perform user segmentation on the behavior patterns due to the large amount of data related to the context patterns and interactions. Therefore, the user behavior platform determines hyper behavior patterns that are aggregations of subsets of the user behavior information. The hyper behavior patterns may be generated based, at least in part, on behavior patterns with more significance (e.g., have higher degrees of confidence or numbers of observations).
  • hyper behavior patterns are mathematical constructs that do not have a "human readable" form. In other words, the aggregations of the behavior patterns into the hyper behavior patterns need not make semantic sense. Instead, the hyper patterns represent context characteristics that can be used to distinguish and/or segment one group of users from another.
  • the hyper behavior patterns may be determined based on confidences and/or frequencies for the corresponding behavior patterns. If the behavior patterns have confidences and/or frequencies that are higher than threshold values of the confidence and/or frequency, then such behaviors may be kept to form hyper behavior patterns.
  • the user behavior platform 103 performs segmentation of the users based on hyper behavior patterns, as shown in step 305.
  • the user habit vectors for respective users are generated based on the distribution of the hyper behavior patterns, and the user segmentation is performed based on the user habit vectors.
  • probabilities that respective users are associated with respective hyper behavior patterns are determined, and then the segmentation is performed based on the probabilities.
  • context information associated with the users is determined, and the segmentation is performed based on the context information.
  • the user behavior platform 103 may initiate the user segmentation periodically or based on a set schedule. It may be beneficial to perform a new user segmentation to gain the most recent information about the users.
  • the user segmentation may be performed at a predetermined interval (e.g., continuously, weekly, bi-weekly, monthly, etc.) and/or based on predetermined schedule.
  • the schedule may be set such that the user segmentation is initiated if the time reaches the scheduled time.
  • the user behavior platform 103 may determine any updates to the user behavior information, and initiate the user segmentation based on the updates. This may enable obtaining the most up-to-date information on the user behavior.
  • the user behavior platform 103 may also compare the current user segmentation against other user segmentations that were performed at other times and/or for other time intervals. This comparison of the user segmentations may provide information on the trend or changes in the user segmentation over a period of time. Further, this comparison may also help find a glitch or error in user segmentation, especially if one user segmentation is significantly different than other adjacent segmentations. [0051] This process is advantageous in that it provides an efficient way to compile information about user's behavior patterns into hyper behavior patterns, and perform user segmentation on the hyper behavior patterns. The user behavior platform 103 is a means for achieving this advantage.
  • FIG. 4 is a flowchart of a process for mining data and determining user behavior patterns, according to one embodiment.
  • the user behavior platform 103 performs the process 400 and is implemented in, for instance, a chip set including a processor and a memory as shown in FIG. 1 1.
  • the behavior application 107 may perform the process 400, and communicate the results of the process 400 to the user behavior platform 103.
  • the user behavior platform 103 or the behavior application 107 collects context information and interaction information associated with the context information at the UE 101.
  • the context information may include various types of context features that may be collected directly from the UE 101 or via the sensor 11 1 or the service platform 113.
  • context patterns which may be associated with the interaction data.
  • the user behavior patterns are determined by associating the context patterns with corresponding interaction information. Similar or same context patterns may be placed into context groups, as explained in more detail below with Table 1 as an example.
  • Table 1 shows an example of context records having four types of context features (e.g., type of day, day period, moving speed, audio level).
  • each context includes all four types of context features.
  • each context may include less than four types of context features.
  • the timestamp runs from tl-t62, wherein each time stamp represents a specific time of the day.
  • the interaction data may be represented as N/A if there is no interaction between the user and the UE 101 at a particular time.
  • the adjacent timestamps t2-t4 have the same pattern for the context values of the context features, which are work day, evening, high moving speed and high audio level.
  • the contexts corresponding to the timestamps t2-t4 may be placed into a common context group.
  • the context group is represented by the context features in bold letters.
  • the interaction data corresponding to timestamps t2 and t4 shows that there were no interactions (i.e., N/A) for timestamps t2 and t4.
  • the interaction data corresponding to timestamp t3 shows that there was an interaction of playing games.
  • the interaction of playing games is associated with the context group, and the indication of no interactions (i.e., N/A) for the timestamps t2 and t4 is not associated with the context group.
  • the contexts corresponding to the adjacent timestamps t28-30 have the same pattern for the context values of the context features, and thus these contexts are placed into another context group consisting of similar context features.
  • the interaction data indicates no interaction for timestamps t29 and t30, because there is an interaction of playing games for t28, this context group is associated with the interaction of playing games.
  • the contexts corresponding to timestamps t49-t52 can also be placed into a context group consisting of similar context features and may be associated with the interaction of playing games. However, if there are no interactions during the time range represented by a particular context group, then the context group may be associated with the indication of no interaction (i.e., N/A). For example, for the context group corresponding to timestamps t64-t66, the indication of no interaction (i.e., N/A) is associated with the context group.
  • less than four types of the context features may be included in each context to be considered for matching the patterns of the context values. For example, when timestamps t28-t31 are considered, if three types of the context features, Type of day, Day Period and Audio Level, are considered for matching, the timestamps t28-t31 correspond to this pattern. However, if all four types of the context features, Type of day, Day Period, Moving speed and Audio Level, are considered for matching, only the timestamps t28- t30 correspond to this pattern. Although considering more context features for matching the patterns of the context values provides more detailed matching of the patterns, it can result in fewer matches and groupings.
  • Timestamp Type of day Day Period Moving speed Audio Level Interaction tl Work day Afternoon Low Middle N/A t2 Work day Evening High High N/A
  • step 405 the confidence for each user behavior pattern is determined. Computations of the confidence are discussed in more detail. First, the support of a context pattern C with respect to an interaction I is calculated based on the following equation:
  • match_ num(I) means the number of context records in which C occurs during the m-th context range (i.e., the time range of a context) of C.
  • match_ num(I) means the number of context records in which C occurs during the m-th context range (i.e., the time range of a context) of C.
  • the number of context records with the context pattern e.g., workday, evening, high and high for type of day, day period, moving speed and audio level, respectively
  • the confidence of a context pattern C with respect to an interaction I may be calculated based on the following equation:
  • means the set of all interactions and io means the number of context ranges of C without any interactions.
  • the support of the context pattern e.g., workday, evening, high and high for type of day, day period, moving speed and audio level, respectively
  • the confidence according to the conventional method is generally very low because the contexts are continuous and volatile and the user interactions are sparse in time.
  • the present approach compensates for these two different natures of context information and the user interaction information.
  • the confidence of C with respect to I is: support _ of _ C group _ w.r.t. _ I
  • This process is advantageous in that it provides an automated way to collect contexts and interaction data, and calculate the confidence values for the behavior patterns, without involving the user.
  • the user behavior platform 103 or the behavior application 107 is a means for achieving this advantage.
  • FIG. 5 is a flowchart of a process for performing user segmentation based on hyper behavior patterns, according to one embodiment.
  • the user behavior platform 103 performs the process 500 and is implemented in, for instance, a chip set including a processor and a memory as shown in FIG. 1 1.
  • the user behavior platform 103 collects the behavior patterns and confidences associated with the behavior patterns of respective users. If the behavior patterns and confidences may be determined by the behavior application 107, then they are collected from the UE 101. Then, in step 503, the user behavior platform 103 determines the behavior pattern vectors based on the collected behavior patterns and the corresponding confidences. If the behavior pattern vector has m number of behavior patterns, then the behavior pattern vector is an m-dimensional vector.
  • the user behavior platform 103 determines the hyper behavior patterns from the behavior pattern vectors.
  • the user behavior platform 103 generates habit vectors based on a distribution of hyper behavior patterns. For example, if there are h number of hyper behavior patterns, the habit vector is an h-dimensional vector. With n number of users, the habit vector can be formed into an h x n matrix, wherein the rows represent the hyper behavior patterns and the columns represent different users. The user segmentation may be performed on these user habit vectors. Determination of the hyper behavior patterns are explained in more detail later in FIG. 7.
  • This process is advantageous in that it provides a way to form hyper behavior patterns based on the behavior patterns to enable efficient user segmentation.
  • the user behavior platform 103 is a means for achieving this advantage.
  • FIGs. 6 A and 6B are diagrams of interactions between a client and a server utilized in data mining included in the processes of FIG. 4, according to various embodiments.
  • FIG. 6A shows that data such as context records retrieved at the client end 601 from mobile devices 603 (e.g., UEs lOla-lOln), may be uploaded to the server end 605 through the Internet (e.g., communication network 105).
  • the uploaded data is stored in the user context database 607.
  • This embodiment is advantageous in that the mobile devices 603 can reduce their computational burdens associated with the data mining to the server 609.
  • the server 609 generally has more processing power and related resources (e.g., bandwidth, memory, etc.) than the mobile devices to handle this type of computation.
  • the user behavior platform 103 at the server end may handle the mining process, determination of the behavior patterns as well as confidence values.
  • the data retrieved by the mobile devices 633 at the client end 631 may be stored at storage media (not shown) of the respective mobile devices 633.
  • the mobile devices 633 may then locally perform via the behavior application 107 the computations for determining, for instance, the behavior patterns as well as confidence values from the data.
  • the results of the computation may be uploaded to the server end 635 including a server 639 and user context pattern database 637, such that the user behavior platform 103 may use such results to perform user segmentation.
  • This embodiment is advantageous in that the data is kept within the respective mobile devices 633, and is not uploaded to other devices or servers without the user's permission.
  • this embodiment in FIG. 6B provides a higher level of privacy protection.
  • the user of the mobile device may configure a privacy setting to determine whether any data retrieved from the mobile device can be sent to the server end 635.
  • much of the analysis of the behavior pattern according to this invention may be performed within the mobile device 633 even when the mobile device 633 is not connected to the server 639. As long as the mobile device 633 has the data and sufficient processing power to analyze the data, then the server 639 may not be required to perform the analysis.
  • FIG. 7 is a diagram 700 of computation of the user habit vector from the behavior pattern vector. This computation is performed at a server end (e.g., at the user behavior platform 103). This may be based on the blind source separation method that can be expressed as a matrix factorization problem, as shown below.
  • C is a m x n matrix having n number of m-dimensional behavior pattern vectors
  • M is a m x h matrix representing hyper behavior patterns in the form of distribution of behavior patterns
  • P is a h x n matrix having n number of h-dimensional habit vectors
  • N is a Gaussian Noise matrix.
  • the extraction of the hyper behavior patterns may be performed using Bayesian non- negative matrix factorization (NMF) approach on the matrix factorization problem shown above.
  • NMF Bayesian non- negative matrix factorization
  • This method enables extraction of the hyper behavior patterns for respective users from the behavior pattern vectors.
  • the hyper behavior patterns are lower in dimensions than the behavior patterns, and thus it is easier to perform efficient user segmentation on the hyper behavior patterns than on the behavior patterns.
  • FIGs. 8A-8F are diagrams of user interfaces at a client end utilized in the processes of FIGs. 3-5, more specifically FIG. 4, according to various embodiments.
  • FIG. 8A shows a user interface 800 of a UE 101 (e.g., a mobile device).
  • the information window 801 shows that this interface is for initializing the user segmentation.
  • the main window 803 displays a message that the user may be qualified for some benefits by participating in the user segmentation. Thus, this provides incentives to the users to participate in the user segmentation.
  • the buttons 805 can be selected to participate, or not to participate or to request more details about user segmentation.
  • the quit button 807 exits out of this user interface.
  • FIG. 8A shows a user interface 800 of a UE 101 (e.g., a mobile device).
  • the information window 801 shows that this interface is for initializing the user segmentation.
  • the main window 803 displays a message that the user may be qualified for some benefits by participating in the user segmentation. Thus,
  • the 8B shows a user interface 810 showing various context records that can be collected by the UE 101.
  • the information window 81 1 shows that the user interface for "data logging" and related information, and further shows that context records are in the process of being uploaded.
  • the list 813 shows the available context features that can be selected to be configured in the context records for uploading.
  • the options 815 provides additional options (e.g., privacy filters, searches, etc.) that can be configured and the more option 817 may be selected to show additional context features that can be configured.
  • FIG. 8C shows a user interface 830 showing configuration options for context features available at the mobile device.
  • alarm 831 is selected to be configured.
  • expandable menu 833 is displayed.
  • the alarm 831 activates on the detection of a specific behavior pattern or transition point.
  • the user can browse and select among the menu options 835 to specify the particular behavior pattern or transition point.
  • module option 833 is selected, which further displays additional options to enable modules, to disable modules or to change sample rate for gathering alarm-related context information.
  • FIG. 8D shows a user interface 850 that enables a user to choose data sources or sensors for collection of context records.
  • the context menu 851 shows a list of context features or context sources from which context records can be collected. In the example shown in FIG. 8D, Accelerometer, Current Status and Audio Level are selected. Thus, the context records retrieved from this mobile device will include these three context features.
  • FIG. 8E depicts a user interface 870 for displaying determined behavior patterns and their respective confidence values.
  • the information window 871 identifies that the user interface 870 is for "Results Display.”
  • the user interface 870 presents a list of behavior patterns 873 stored in a descending order of confidence values.
  • One of these behavior patterns may be selected to display more details about the behavior patterns, as shown in the user interface 890 of FIG. 8F.
  • Behavior pattern 1 891 is selected to display additional details.
  • the behavior pattern window 893 displays context features corresponding to Behavior pattern 1.
  • the behavior pattern window 893 also has a scroll 895 to scroll up and down the behavior pattern window 893.
  • the interaction window 897 displays what interaction is matched with Behavior pattern 1.
  • the confidence window 899 shows a confidence value, a support value, and a number of context records considered in computing the confidence and the support values.
  • the confidence window 899 shows the confidence of 90%, a support of 42, and that 642 context records were considered to compute the confidence and the support.
  • FIG. 9 is a diagram of a user interface for a server utilized in the processes of FIG. 3, according to one embodiment.
  • the server user interface 900 enables display of user segmentation results and provides options in scheduling user segmentation.
  • the status section 901 shows that the user segmentation displayed in the user interface 900 is a current user segmentation, performed using the data acquired from 11/1/04 to 12/1/04.
  • the next upcoming user segmentation is shown in the "Next" section 903 as 1/1/05.
  • the Set Interval button 905 may be selected to change the intervals at which the user segmentation is performed.
  • the interval section 907 shows that the interval is currently set to "Monthly.”
  • the set schedule button 909 may be selected to set a schedule for the next user segmentation to be performed.
  • the schedule section 91 1 shows that no schedule has been set yet.
  • the Show Previous button 913 and the Show Next button 915 may be selected to show the previous user segmentation and the next user segmentation, respectively.
  • the user segmentation section 917 shows pie graphs to show user segmentation.
  • the hyper behavior pattern user segmentation pie 919 shows segmentation for nine different hyper behavior patterns, HP1 - HP9.
  • the user statistics section 921 shows that the user segmentation is performed on 3214 total users.
  • the context user segmentation pie 923 shows the segmentation for different contexts.
  • the record statistics section 925 shows that the user segmentation is performed on 421325324 total records.
  • the processes described herein for performing user segmentation based on user behavior information may be advantageously implemented via software, hardware, firmware or a combination of software and/or firmware and/or hardware.
  • the processes described herein may be advantageously implemented via processor(s), Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.
  • DSP Digital Signal Processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Arrays
  • FIG. 10 illustrates a computer system 1000 upon which an embodiment of the invention may be implemented.
  • computer system 1000 is depicted with respect to a particular device or equipment, it is contemplated that other devices or equipment (e.g., network elements, servers, etc.) within FIG. 10 can deploy the illustrated hardware and components of system 1000.
  • Computer system 1000 is programmed (e.g., via computer program code or instructions) to perform user segmentation based on user behavior information as described herein and includes a communication mechanism such as a bus 1010 for passing information between other internal and external components of the computer system 1000.
  • Information is represented as a physical expression of a measurable phenomenon, typically electric voltages, but including, in other embodiments, such phenomena as magnetic, electromagnetic, pressure, chemical, biological, molecular, atomic, sub-atomic and quantum interactions.
  • a measurable phenomenon typically electric voltages, but including, in other embodiments, such phenomena as magnetic, electromagnetic, pressure, chemical, biological, molecular, atomic, sub-atomic and quantum interactions.
  • north and south magnetic fields, or a zero and non-zero electric voltage represent two states (0, 1) of a binary digit (bit).
  • Other phenomena can represent digits of a higher base.
  • a superposition of multiple simultaneous quantum states before measurement represents a quantum bit (qubit).
  • a sequence of one or more digits constitutes digital data that is used to represent a number or code for a character.
  • information called analog data is represented by a near continuum of measurable values within a particular range.
  • Computer system 1000, or a portion thereof constitutes a means for performing one or more steps of performing user segmentation
  • a bus 1010 includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus 1010.
  • One or more processors 1002 for processing information are coupled with the bus 1010.
  • a processor (or multiple processors) 1002 performs a set of operations on information as specified by computer program code related to perform user segmentation based on user behavior information.
  • the computer program code is a set of instructions or statements providing instructions for the operation of the processor and/or the computer system to perform specified functions.
  • the code for example, may be written in a computer programming language that is compiled into a native instruction set of the processor. The code may also be written directly using the native instruction set (e.g., machine language).
  • the set of operations include bringing information in from the bus 1010 and placing information on the bus 1010.
  • the set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND.
  • Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits.
  • a sequence of operations to be executed by the processor 1002, such as a sequence of operation codes, constitute processor instructions, also called computer system instructions or, simply, computer instructions.
  • Processors may be implemented as mechanical, electrical, magnetic, optical, chemical or quantum components, among others, alone or in combination.
  • Computer system 1000 also includes a memory 1004 coupled to bus 1010.
  • the memory 1004 such as a random access memory (RAM) or any other dynamic storage device, stores information including processor instructions for performing user segmentation based on user behavior information. Dynamic memory allows information stored therein to be changed by the computer system 1000. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses.
  • the memory 1004 is also used by the processor 1002 to store temporary values during execution of processor instructions.
  • the computer system 1000 also includes a read only memory (ROM) 1006 or any other static storage device coupled to the bus 1010 for storing static information, including instructions, that is not changed by the computer system 1000.
  • ROM read only memory
  • Non-volatile (persistent) storage device 1008 such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system 1000 is turned off or otherwise loses power.
  • Information including instructions for performing user segmentation based on user behavior information, is provided to the bus 1010 for use by the processor from an external input device 1012, such as a keyboard containing alphanumeric keys operated by a human user, or a sensor.
  • a sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system 1000.
  • a display device 1014 such as a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED (OLED) display, a plasma screen, or a printer for presenting text or images
  • a pointing device 1016 such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on the display 1014 and issuing commands associated with graphical elements presented on the display 1014.
  • a pointing device 1016 such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on the display 1014 and issuing commands associated with graphical elements presented on the display 1014.
  • one or more of external input device 1012, display device 1014 and pointing device 1016 is omitted.
  • special purpose hardware such as an application specific integrated circuit (ASIC) 1020
  • ASIC application specific integrated circuit
  • the special purpose hardware is configured to perform operations not performed by processor 1002 quickly enough for special purposes.
  • ASICs include graphics accelerator cards for generating images for display 1014, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.
  • Computer system 1000 also includes one or more instances of a communications interface 1070 coupled to bus 1010.
  • Communication interface 1070 provides a one-way or two-way communication coupling to a variety of external devices that operate with their own processors, such as printers, scanners and external disks. In general the coupling is with a network link 1078 that is connected to a local network 1080 to which a variety of external devices with their own processors are connected.
  • communication interface 1070 may be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer.
  • USB universal serial bus
  • communications interface 1070 is an integrated services digital network (ISDN) card or a digital subscriber line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • DSL digital subscriber line
  • a communication interface 1070 is a cable modem that converts signals on bus 1010 into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable.
  • communications interface 1070 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links may also be implemented.
  • LAN local area network
  • the communications interface 1070 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data.
  • the communications interface 1070 includes a radio band electromagnetic transmitter and receiver called a radio transceiver.
  • the communications interface 1070 enables connection to the communication network 105 for performing user segmentation based on user behavior information.
  • computer-readable medium refers to any medium that participates in providing information to processor 1002, including instructions for execution.
  • Such a medium may take many forms, including, but not limited to computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media.
  • Non-transitory media such as non-volatile media, include, for example, optical or magnetic disks, such as storage device 1008.
  • Volatile media include, for example, dynamic memory 1004.
  • Transmission media include, for example, twisted pair cables, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves.
  • Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, an EEPROM, a flash memory, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
  • the term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media.
  • Logic encoded in one or more tangible media includes one or both of processor instructions on a computer-readable storage media and special purpose hardware, such as ASIC 1020.
  • Network link 1078 typically provides information communication using transmission media through one or more networks to other devices that use or process the information.
  • network link 1078 may provide a connection through local network 1080 to a host computer 1082 or to equipment 1084 operated by an Internet Service Provider (ISP).
  • ISP equipment 1084 in turn provides data communication services through the public, world-wide packet-switching communication network of networks now commonly referred to as the Internet 1090.
  • a computer called a server host 1092 connected to the Internet hosts a process that provides a service in response to information received over the Internet.
  • server host 1092 hosts a process that provides information representing video data for presentation at display 1014. It is contemplated that the components of system 1000 can be deployed in various configurations within other computer systems, e.g., host 1082 and server 1092.
  • At least some embodiments of the invention are related to the use of computer system
  • processor 1002 for implementing some or all of the techniques described herein. According to one embodiment of the invention, those techniques are performed by computer system 1000 in response to processor 1002 executing one or more sequences of one or more processor instructions contained in memory 1004. Such instructions, also called computer instructions, software and program code, may be read into memory 1004 from another computer-readable medium such as storage device 1008 or network link 1078. Execution of the sequences of instructions contained in memory 1004 causes processor 1002 to perform one or more of the method steps described herein.
  • hardware such as ASIC 1020, may be used in place of or in combination with software to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware and software, unless otherwise explicitly stated herein.
  • Computer system 1000 can send and receive information, including program code, through the networks 1080, 1090 among others, through network link 1078 and communications interface 1070.
  • a server host 1092 transmits program code for a particular application, requested by a message sent from computer 1000, through Internet 1090, ISP equipment 1084, local network 1080 and communications interface 1070.
  • the received code may be executed by processor 1002 as it is received, or may be stored in memory 1004 or in storage device 1008 or any other non- volatile storage for later execution, or both. In this manner, computer system 1000 may obtain application program code in the form of signals on a carrier wave.
  • Various forms of computer readable media may be involved in carrying one or more sequence of instructions or data or both to processor 1002 for execution.
  • instructions and data may initially be carried on a magnetic disk of a remote computer such as host 1082.
  • the remote computer loads the instructions and data into its dynamic memory and sends the instructions and data over a telephone line using a modem.
  • a modem local to the computer system 1000 receives the instructions and data on a telephone line and uses an infrared transmitter to convert the instructions and data to a signal on an infra-red carrier wave serving as the network link 1078.
  • An infrared detector serving as communications interface 1070 receives the instructions and data carried in the infrared signal and places information representing the instructions and data onto bus 1010.
  • Bus 1010 carries the information to memory 1004 from which processor 1002 retrieves and executes the instructions using some of the data sent with the instructions.
  • the instructions and data received in memory 1004 may optionally be stored on storage device 1008, either before or after execution by the processor 1002.
  • FIG. 11 illustrates a chip set or chip 1 100 upon which an embodiment of the invention may be implemented.
  • Chip set 1100 is programmed to perform user segmentation based on user behavior information as described herein and includes, for instance, the processor and memory components described with respect to FIG. 10 incorporated in one or more physical packages (e.g., chips).
  • a physical package includes an arrangement of one or more materials, components, and/or wires on a structural assembly (e.g., a baseboard) to provide one or more characteristics such as physical strength, conservation of size, and/or limitation of electrical interaction. It is contemplated that in certain embodiments the chip set
  • Chip set or chip 1100 can be implemented in a single chip. It is further contemplated that in certain embodiments the chip set or chip 1100 can be implemented as a single "system on a chip.” It is further contemplated that in certain embodiments a separate ASIC would not be used, for example, and that all relevant functions as disclosed herein would be performed by a processor or processors.
  • Chip set or chip 1 100, or a portion thereof constitutes a means for performing one or more steps of providing user interface navigation information associated with the availability of functions. Chip set or chip 1100, or a portion thereof, constitutes a means for performing one or more steps of performing user segmentation based on user behavior information.
  • the chip set or chip 1100 includes a communication mechanism such as a bus 1 101 for passing information among the components of the chip set 1 100.
  • a processor 1 103 has connectivity to the bus 1101 to execute instructions and process information stored in, for example, a memory 1 105.
  • the processor 1103 may include one or more processing cores with each core configured to perform independently.
  • a multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores.
  • the processor 1103 may include one or more microprocessors configured in tandem via the bus
  • the processor 1103 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1 107, or one or more application-specific integrated circuits (ASIC) 1109.
  • DSP digital signal processors
  • ASIC application-specific integrated circuits
  • a DSP 1 107 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor
  • an ASIC 1 109 can be configured to performed specialized functions not easily performed by a more general purpose processor.
  • Other specialized components to aid in performing the inventive functions described herein may include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
  • FPGA field programmable gate arrays
  • the chip set or chip 1100 includes merely one or more processors and some software and/or firmware supporting and/or relating to and/or for the one or more processors.
  • the processor 1103 and accompanying components have connectivity to the memory 1105 via the bus 1101.
  • the memory 1105 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to perform user segmentation based on user behavior information.
  • the memory 1105 also stores the data associated with or generated by the execution of the inventive steps.
  • FIG. 12 is a diagram of exemplary components of a mobile terminal (e.g., handset) for communications, which is capable of operating in the system of FIG. 1, according to one embodiment.
  • mobile terminal 1201 or a portion thereof, constitutes a means for performing one or more steps of performing user segmentation based on user behavior information.
  • a radio receiver is often defined in terms of front-end and back-end characteristics. The front-end of the receiver encompasses all of the Radio Frequency (RF) circuitry whereas the back-end encompasses all of the base-band processing circuitry.
  • RF Radio Frequency
  • circuitry refers to both: (1) hardware-only implementations (such as implementations in only analog and/or digital circuitry), and (2) to combinations of circuitry and software (and/or firmware) (such as, if applicable to the particular context, to a combination of processor(s), including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions).
  • This definition of "circuitry” applies to all uses of this term in this application, including in any claims.
  • the term “circuitry” would also cover an implementation of merely a processor (or multiple processors) and its (or their) accompanying software/or firmware.
  • the term “circuitry” would also cover if applicable to the particular context, for example, a baseband integrated circuit or applications processor integrated circuit in a mobile phone or a similar integrated circuit in a cellular network device or other network devices.
  • Pertinent internal components of the telephone include a Main Control Unit (MCU) 1203, a Digital Signal Processor (DSP) 1205, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit.
  • a main display unit 1207 provides a display to the user in support of various applications and mobile terminal functions that perform or support the steps of performing user segmentation based on user behavior information.
  • the display 1207 includes display circuitry configured to display at least a portion of a user interface of the mobile terminal (e.g., mobile telephone). Additionally, the display 1207 and display circuitry are configured to facilitate user control of at least some functions of the mobile terminal.
  • An audio function circuitry 1209 includes a microphone 121 1 and microphone amplifier that amplifies the speech signal output from the microphone 121 1. The amplified speech signal output from the microphone 1211 is fed to a coder/decoder (CODEC) 1213.
  • CDEC coder/decoder
  • a radio section 1215 amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, via antenna 1217.
  • the power amplifier (PA) 1219 and the transmitter/modulation circuitry are operationally responsive to the MCU 1203, with an output from the PA 1219 coupled to the duplexer 1221 or circulator or antenna switch, as known in the art.
  • the PA 1219 also couples to a battery interface and power control unit 1220.
  • a user of mobile terminal 1201 speaks into the microphone 1211 and his or her voice along with any detected background noise is converted into an analog voltage.
  • the analog voltage is then converted into a digital signal through the Analog to Digital Converter (ADC) 1223.
  • ADC Analog to Digital Converter
  • the control unit 1203 routes the digital signal into the DSP 1205 for processing therein, such as speech encoding, channel encoding, encrypting, and interleaving.
  • the processed voice signals are encoded, by units not separately shown, using a cellular transmission protocol such as enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), satellite, and the like, or any combination thereof.
  • EDGE enhanced data rates for global evolution
  • GPRS general packet radio service
  • GSM global system for mobile communications
  • IMS Internet protocol multimedia subsystem
  • UMTS universal mobile telecommunications system
  • any other suitable wireless medium e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), satellite,
  • the encoded signals are then routed to an equalizer 1225 for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion.
  • the modulator 1227 combines the signal with a RF signal generated in the RF interface 1229.
  • the modulator 1227 generates a sine wave by way of frequency or phase modulation.
  • an up-converter 1231 combines the sine wave output from the modulator 1227 with another sine wave generated by a synthesizer 1233 to achieve the desired frequency of transmission.
  • the signal is then sent through a PA 1219 to increase the signal to an appropriate power level.
  • the PA 1219 acts as a variable gain amplifier whose gain is controlled by the DSP 1205 from information received from a network base station.
  • the signal is then filtered within the duplexer 1221 and optionally sent to an antenna coupler 1235 to match impedances to provide maximum power transfer. Finally, the signal is transmitted via antenna 1217 to a local base station.
  • An automatic gain control (AGC) can be supplied to control the gain of the final stages of the receiver.
  • the signals may be forwarded from there to a remote telephone which may be another cellular telephone, any other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.
  • PSTN Public Switched Telephone Network
  • Voice signals transmitted to the mobile terminal 1201 are received via antenna 1217 and immediately amplified by a low noise amplifier (LNA) 1237.
  • LNA low noise amplifier
  • a down-converter 1239 lowers the carrier frequency while the demodulator 1241 strips away the RF leaving only a digital bit stream.
  • the signal then goes through the equalizer 1225 and is processed by the DSP 1205.
  • a Digital to Analog Converter (DAC) 1243 converts the signal and the resulting output is transmitted to the user through the speaker 1245, all under control of a Main Control Unit (MCU) 1203 which can be implemented as a Central Processing Unit (CPU) (not shown).
  • MCU Main Control Unit
  • CPU Central Processing Unit
  • the MCU 1203 receives various signals including input signals from the keyboard 1247.
  • the keyboard 1247 and/or the MCU 1203 in combination with other user input components comprise a user interface circuitry for managing user input.
  • the MCU 1203 runs a user interface software to facilitate user control of at least some functions of the mobile terminal 1201 to perform user segmentation based on user behavior information.
  • the MCU 1203 also delivers a display command and a switch command to the display 1207 and to the speech output switching controller, respectively.
  • the MCU 1203 exchanges information with the DSP 1205 and can access an optionally incorporated SIM card 1249 and a memory 1251.
  • the MCU 1203 executes various control functions required of the terminal.
  • the DSP 1205 may, depending upon the implementation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally, DSP 1205 determines the background noise level of the local environment from the signals detected by microphone 121 1 and sets the gain of microphone 121 1 to a level selected to compensate for the natural tendency of the user of the mobile terminal 1201.
  • the CODEC 1213 includes the ADC 1223 and DAC 1243.
  • the memory 1251 stores various data including call incoming tone data and is capable of storing other data including music data received via, e.g., the global Internet.
  • the software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art.
  • the memory device 1251 may be, but not limited to, a single memory, CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flash memory storage, or any other non-volatile storage medium capable of storing digital data.
  • An optionally incorporated SIM card 1249 carries, for instance, important information, such as the cellular phone number, the carrier supplying service, subscription details, and security information.
  • the SIM card 1249 serves primarily to identify the mobile terminal 1201 on a radio network.
  • the card 1249 also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile terminal settings.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An approach is provided for performing user segmentation based on user behavior information. The user behavior platform determines user behavior information associated with a plurality of users. Next, the user behavior platform determines one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information. Then, the user behavior platform determines to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.

Description

METHOD AND APPARATUS FOR
PERFORMING USER SEGMENTATION BASED ON USER BEHAVIOR INFORMATION
BACKGROUND
[0001] Service providers and device manufacturers (e.g., wireless, cellular, etc.) are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services. One area of interest is user segmentation based on data collected over a period of time. For example, user segmentation (e.g., identifying one or more characteristics of a population of users, and then grouping the users by the identified characteristics) may provide information for determining computing user tendencies, market analysis, targeted advertising and management of users, and the like. By way of example, the data used for the user segmentation may be data about user behavior with respect to the user's interactions with a device (e.g., a cell phone, smartphone, or other mobile device) that is used by the user. Traditionally, the user segmentation is performed by manually collecting data by taking surveys and studying the user behaviors based on the collected data. However, the manual gathering of data and computing of the user segmentation may produce results with decreased accuracy and may be time-consuming. Accordingly, service providers and device manufacturers face significant technical challenges in computing user segmentations via collected data.
SOME EXAMPLE EMBODIMENTS
[0002] Therefore, there is a need for an approach for performing user segmentation based on user behavior information.
[0003] According to one embodiment, a method comprises determining user behavior information associated with a plurality of users. The method also comprises determining one or more hyper behavior patterns based on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information. The method further comprises determining to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns. [0004] According to another embodiment, an apparatus comprises at least one processor, and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause, at least in part, the apparatus to determine user behavior information associated with a plurality of users. The apparatus is also caused to determine one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information. The apparatus is further caused to determine to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
[0005] According to another embodiment, a computer-readable storage medium carries one or more sequences of one or more instructions which, when executed by one or more processors, cause, at least in part, an apparatus to determine user behavior information associated with a plurality of users. The apparatus is also caused to determine one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information. The apparatus is further caused to determine to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
[0006] According to another embodiment, an apparatus comprises means for determining user behavior information associated with a plurality of users. The apparatus also comprises means for determining one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information. The apparatus further comprises means for determining to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
[0007] Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the invention. The invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings:
[0009] FIG. 1 is a diagram of a system capable of performing user segmentation based on user behavior information, according to one embodiment;
[0010] FIG. 2 is a diagram of the components of the user behavior platform, according to one embodiment;
[0011] FIG. 3 is a flowchart of a process for performing user segmentation based on user behavior information, according to one embodiment;
[0012] FIG. 4 is a flowchart of a process for mining data and determining user behavior patterns, according to one embodiment.
[0013] FIG. 5 is a flowchart of a process for performing user segmentation based on hyper behavior patterns, according to one embodiment.
[0014] FIGs. 6 A and 6B are diagrams of interactions between a client and a server utilized in data mining included in the processes of FIG. 4, according to various embodiments
[0015] FIG. 7 is a diagram of computation of the user habit vector from the behavior pattern vector.
[0016] FIGs. 8A-8F are diagrams of user interfaces at a client end utilized in the processes of FIGs. 3-5, more specifically FIG. 4, according to various embodiments.
[0017] FIG. 9 is a diagram of a user interface for a server utilized in the processes of FIG. 3, according to one embodiment.
[0018] FIG. 10 is a diagram of hardware that can be used to implement an embodiment of the invention; [0019] FIG. 11 is a diagram of a chip set that can be used to implement an embodiment of the invention; and
[0020] FIG. 12 is a diagram of a mobile terminal (e.g., handset) that can be used to implement an embodiment of the invention.
DESCRIPTION OF SOME EMBODIMENTS
[0021] Examples of a method, apparatus, and computer program for performing user segmentation based on user behavior information are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
[0022] FIG. 1 is a diagram of a system capable of performing user segmentation based on user behavior information, according to one embodiment. As discussed previously, the traditional approach of manually gathering data about user behavior and performing analysis on the gathered data may have several drawbacks in computing the user segmentation. For example, because such approach is generally based on a large scale of user studies (e.g., conducted via manual administered surveys and/or questionnaires), it may be time consuming and expensive to collect data from a large number of users. Moreover, it may often take several months to collect sufficient amount of data from a sufficient number of users. Because the traditional data collection process may take a long time and the user behavior changes over a period of time, the user behavior computed based on the data collected via the traditional approach may not reflect the current user behavior. Further, the traditional data gathering approach of taking surveys from users by presenting questions to the users may also be unreliable because the users may not provide honest answers to the surveys. In addition, if the surveys are taken manually, it may be necessary to hire people who would take surveys from the users, which may be costly. If the surveys are taken electronically (e.g., via the Internet), then many users may refuse to participate in the survey because such participation can be time consuming and tedious. For example, not many users may want to respond to survey questions such as "Do you listen to music in the morning in your office?" and "Do you browse web while riding a bus home in the evening?" Even if they do want to participate, the users may not be able to provide an accurate assessment because they cannot accurately remember their habits. At least for these reasons, it may be difficult to gather reliable data from a sufficient number of users. Therefore, it is desired to utilize a method to acquire sufficient amount of data from the users within a relatively short period of time, and to perform at least a portion of the acquisition and computation of the user segmentation in an automated manner.
[0023] It is noted that typical modern users spend much of their time within proximity of their mobile devices. Therefore, user interactions with the mobile devices as well as the surrounding circumstances of the mobile device (e.g., context information such as location, time, sound etc.) may provide information regarding the user behavior. However, the data including this information may not clearly define user behaviors. Hence, computing the user segmentation based on the data acquired by the user device may be challenging.
[0024] To address this problem, a system 100 of FIG. 1 introduces the capability to perform user segmentation based on user behavior information. In one embodiment, the system 100 determines user behavior information associated with a plurality of users. The user behavior information for each user may be derived by analyzing information acquired by a corresponding user device. For example, context information surrounding the user device may be acquired by the user device, and may be associated with interaction data showing the user's interaction with the user device. Then, the context information associated with the interaction data may provide information about user behavior patterns surrounding the user device. The system 100 may compile a database of the user behavior information of different users. With the user behavior information, the system 100 determines hyper behavior patterns based, at least in part, on the user behavior information. In one embodiment, the hyper behavior patterns represent aggregations of at least respective subsets of the user behavior information or patterns. For example, the hyper behavior patterns may show sufficient common behavior patterns among some users for more efficient analysis when compared to processing all or a portion of the unaggregated behavior patterns. In this way, the system 100 advantageously reduces the number of behavior patterns that are processed for user segmentation. Then, the system 100 determines to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns rather than directly on the behavior patterns.
[0025] In one sample use case, the user segmentation based on the user behavior may involve two stages, a data mining stage and a user segmentation stage. The data mining stage may take place at the user device, and may collect data related to the user behavior. The user may be provided with an option to participate in the data mining process. By way of an example, a participating user of data mining may install data mining software on the user device to enable mining of the data. The user behavior information that can be collected via the user device may include context information such as location, time, environmental condition (e.g., noise, brightness, speed etc.), as well as interaction data reflecting user's interaction with the user device, such as talking on the phone, listening to rock music, browsing sports web sites, etc. Because users these days tend to spend a lot of time with their user devices, the user behavior information collected from the user device may represent habits of the users. Then, the software in user device may estimate user behavior patterns based on the context data and the user interaction data associated with the context data. Each behavior pattern may represent a particular set of context and the interaction associated with the set of context. When sufficient amount of data is collected over a period of time, the estimated user behavior patterns may show what type of interaction the user has for a certain context.
[0026] Then, in the user segmentation stage, the estimated user behavior patterns of multiple users may be compiled at the server. For each user behavior pattern, a degree of confidence may be assigned, in a number ranging from 0 to 1, for example that the behavior patterns represent the underlying behavior data. For example, if the collected behavior data more strongly associates a user with a particular behavior pattern, the degree of confidence is computed to be closer to one. If the association is weaker between the data and the determined behavior patter, the degree of confidence is closer to zero.
[0027] For various types of context data, there may be numerous different combinations of different types of contexts (e.g., context patterns), and also there may various different types of interactions associated with the different combinations of contexts. Thus, there may be numerous behavior patterns including various context patterns and interaction data associated with the context patterns. Further, there are numerous users participating in the collection of the user behavior information. Therefore, the dimensions for the users and their corresponding behavior patterns may increase rapidly, thereby requiring greater resources (e.g., computing resources) to process and perform user segmentation. Under the approach described herein, instead of using every single behavior pattern available, it may be beneficial to extract hyper behavior patterns, which are the behavior patterns that have high significance (e.g., high confidence values or high frequency values). By extracting these hyper behavior patterns, the dimensions of the user behavior information that are used for user segmentation can be reduced. Then, the user segmentation can be performed efficiently based on the hyper behavior patterns corresponding to respective users.
[0028] As shown in FIG. 1, the system 100 comprises a user equipment (UE) 101 having connectivity to the user behavior platform 103 via a communication network 105. The UE 101 has a behavior application 107 that can be used to collect context data and user interaction data from the UE 101. The UE 101 can then store the collected data in, for instance, the data storage
109. More specifically, the behavior application 107 can interact with one or more sensors 11 1
(a sound recorder, light sensor, global positioning system (GPS) device, temperature sensor, motion sensor, accelerometer, and/or any other device that can be used to collect information about surrounding environments associated with the UE 101) to collect the context data. The behavior application 107 may also communicate with the user behavior platform 103 to perform user segmentation based on the collected data. The user behavior platform 103 may use the collected context data and the user interaction data to determine user behavior information (e.g., user behavior patterns) corresponding to the user associated with the UE 101. In another embodiment, this operation of determining user behavior information may also be performed by the behavior application 107, instead of or along with the user behavior platform 103. The user behavior platform 103 then determines hyper behavior patterns based on the user behavior information, wherein the hyper behavior patterns may represent respective subsets of the user behavior information. The user behavior platform 103 then performs user segmentation based on the hyper behavior patterns of the multiple users. [0029] In one embodiment, a context record includes, at least in part, all context data and interaction data (e.g., date, time of day, location, activity, etc.) collected at a specific time. By way of example, the context record may contain or describe several contexts wherein each context is a subset of the context data included in the context record. For example, given a context record including a time, context data, and interaction data, e.g., [time=tl , Context Data = <(Work Day), (Evening), (High Speed), (High Audio Level)>, Interaction = Play Games], various combinations or permutations of the context data can yield various contexts such as: (1) <(Evening)>, (2) <High Speed>, (3) <(Work Day), (Evening)>, etc. Further, in one embodiment, the contexts from the context data may be arranged according to the timestamp of each record and may be placed into context groups based on, for instance, the similarity of the contexts (e.g., whether the contexts associated with the same location, environmental condition, user activity, etc.). For example, a context can be any subset of the context data arranged in any combination, which can then be organized as context groups or patterns. The combinations of the contexts with respect to the time stamp may be referred as context patterns, and same or similar context patterns may be grouped into context groups.
[0030] The behavior patterns of the user may be determined based on the association of the context groups (or context patterns) and the interaction data. As discussed previously, the context data is generally continuous over time and is volatile, whereas the interaction data is sparse over time. For example, when both the contexts and the interaction data are organized by timestamps representing different time intervals over a period of time, there may be many instances where there may be some context data but no interaction data corresponding to a certain time stamp because the user generally does not continuously interact with the UE 101. Thus, the system 100 determines the time range over which a common context occurs and places the continuously recorded contexts into context groups associated with the common context. In this way, and the system 100 can associate the contexts (e.g., according to the time ranges represented by the context records in the context groups) with the interaction data, instead of associating individual context records, for determining behavior patterns.
[0031] In one embodiment, the system 100 computes confidence values and/or frequencies for corresponding behavior patterns based on the user behavior information. The hyper behavior patterns may be determined based on the behavior patterns and their respective confidence values and/or frequencies. In one example, the user behavior information including the user behavior patterns may be filtered based on the respective confidence values and/or the respective frequencies. For example, as a process of determining the hyper behavior patterns, behavior patterns with sufficient confidence values and/or sufficient frequencies may be kept. For example, if a particular behavior pattern has a confidence value and a frequency that are greater than a threshold confidence value and a threshold frequency, respectively, then this particular behavior pattern may be kept. The behavior patterns that are kept have sufficient confidence values and/or sufficient frequencies and thus may be compiled together to form hyper behavior patterns. Thus, hyper behavior patterns may include the behavior patterns that may carry more significance than the behaviors patterns that are not kept through this process.
[0032] In one embodiment, the behavior patterns and the corresponding confidence values may form a behavior pattern vector, with the confidence values. If there are multiple users, then there would be multiple behavior pattern vectors. Therefore, if there are m behavior patterns and n number of users, then n number of m-dimension behavior pattern vectors may form an m x n matrix. When the hyper behavior patterns are extracted, as described above, the system 100 may generate user habit vectors for the multiple users based on the distribution of the hyper behavior patterns with respect to the multiple users. The system 100 may also determine the probabilities that respective users are associated with respective hyper behavior patterns. In this case, each hyper behavior pattern may be associated with a respective probability. User segmentation may be performed on the user habit vectors and/or the probabilities. Further, the user segmentation may also be based on the context information associated with the multiple users.
[0033] In one embodiment, the system 100 may initiate the user segmentation based on a predetermined interval (e.g., weekly, monthly etc.) and/or a predetermined schedule (e.g., a user may set a schedule when the user segmentation should be performed). In another embodiment, the user segmentation may be updated with new user behavior information. In one embodiment, the system 100 may determine at least one update to the user behavior information, and initiate the user segmentation based on the update. In this case, the user segmentation may not be initiated if there is no update to the user behavior information (e.g., no changes to the user behavior information since the previous user segmentation). Further, the system 100 may also compare the user segmentation against another user segmentation that was performed at another time and/or for another time interval. Based on the comparison, the system 100 may determine which user segmentation provides more accurate results. For example, if all of the user segmentations performed in the past ten intervals, except for one user segmentation in one interval, shows the same results, then the one user segmentation with different results may be ignored or considered as a glitch in the data.
[0034] Further, in one embodiment, the user behavior platform 103 and/or the behavior application 107 have connectivity to the context data available from, for instance, the service platform 113 which includes one or more services 115a-115n (e.g., weather service, location service, mapping service, media service, etc.). By way of example, these services 1 15 can provide additional information on environmental conditions (e.g., weather), activities (e.g., playing online games), preferences (e.g., musical preferences), location (e.g., location tracking service), etc. that can provide related context information associated with the UE 101 or the user of the UE 101. In addition, demographic information of each user may be associated with the user segmentation.
[0035] The system 100 may also provide incentives to the users for participating in the segmentation. For example, for each time the user decides to participate in the segmentation, then a service provider may give the user online points that can be used towards acquiring additional services or online products. These incentives may be provided to the user before each time the user segmentation is performed.
[0036] Therefore, an advantage of this approach is that, by automatically mining the behavior patterns and condensing the behavior patterns into hyper behavior patterns, the user segmentation may be efficiently performed without involving much of user's effort. Because this approach automatically mines the contexts and interaction data, and associates the contexts with the interaction data to form behavior patterns, this involves no or little effort by the user in providing the user behavior information. Further, instead of using all of the available behavior patterns, forming a hyper behavior patterns based on the behavior patterns and related information such as confidences and frequencies provides a more efficient way to perform user segmentation based on the hyper behavior patterns. Therefore, means for performing user segmentation based on user behavior information is anticipated.
[0037] By way of example, the communication network 105 of system 100 includes one or more networks such as a data network (not shown), a wireless network (not shown), a telephony network (not shown), or any combination thereof. It is contemplated that the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), short range wireless network, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network, e.g., a proprietary cable or fiber-optic network, and the like, or any combination thereof. In addition, the wireless network may be, for example, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., worldwide interoperability for microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP) data casting, satellite, mobile ad-hoc network (MANET), and the like, or any combination thereof.
[0038] The UE 101 is any type of mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof. It is also contemplated that the UE 101 can support any type of interface to the user (such as "wearable" circuitry, etc.). [0039] By way of example, the UE 101 , the user behavior platform 103 and the service platform 113 communicate with each other and other components of the communication network 105 using well known, new or still developing protocols. In this context, a protocol includes a set of rules defining how the network nodes within the communication network 105 interact with each other based on information sent over the communication links. The protocols are effective at different layers of operation within each node, from generating and receiving physical signals of various types, to selecting a link for transferring those signals, to the format of information indicated by those signals, to identifying which software application executing on a computer system sends or receives the information. The conceptually different layers of protocols for exchanging information over a network are described in the Open Systems Interconnection (OSI) Reference Model.
[0040] Communications between the network nodes are typically effected by exchanging discrete packets of data. Each packet typically comprises (1) header information associated with a particular protocol, and (2) payload information that follows the header information and contains information that may be processed independently of that particular protocol. In some protocols, the packet includes (3) trailer information following the payload and indicating the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol. Often, the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different, higher layer of the OSI Reference Model. The header for a particular protocol typically indicates a type for the next protocol contained in its payload. The higher layer protocol is said to be encapsulated in the lower layer protocol. The headers included in a packet traversing multiple heterogeneous networks, such as the Internet, typically include a physical (layer 1 ) header, a data-link (layer 2) header, an internetwork (layer 3) header and a transport (layer 4) header, and various application headers (layer 5, layer 6 and layer 7) as defined by the OSI Reference Model.
[0041] FIG. 2 is a diagram of the components of the user behavior platform 103, according to one embodiment. By way of example, the user behavior platform 103 includes one or more components for performing user segmentation based on user behavior information. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality. In this embodiment, the user behavior platform 103 includes a control module 201 , a computation module 203, a communication module 205, a presentation module 207, and a management module 209. The control module 201 oversees tasks, including tasks performed by the control module 201 , the computation module 203, the communication module 205, the presentation module 207, and the management module 209. The computation module 203 may perform various computations and determinations as well as analysis based on the information received from the UE 101. The communication module 205 may be used to communicate with the UE 101 , the sensor 11 1 and the data storage 109 connected to the UE 101 as well as the service platform 1 13. For example, via the communication module 205, the context information and the interaction information acquired at the UE 101 may be transferred to the user behavior platform 103. Further, the context information acquired by the sensor module l l la-l l ln may be transferred to the user behavior platform 103 via the communication module 205. The presentation module 207 may be used to present the user segmentation at a desired device such as the UE 101 or a display device (not shown) communicating with the user behavior platform 103. Further, the management module 209 may be used to manage the schedule to determine when the user segmentation is to be performed by the computation module 203, and to manage user segmentation data.
[0042] In one embodiment, the control module 201 can interact with the presentation module 207 to, for instance, present a user interface displaying the user segmentation as well as user behavior patterns, types of context data and user interaction data used in computing the behavior pattern, and/or the like. Some of these data may be displayed at the UE 101 , whereas others may be displayed at a device managed by a server controlling the user behavior platform 103.
[0043] The computation module 203 performs computations for determining user segmentation based on the user behavior information. The computation module 203 determines the user behavior information associated with multiple users. The user behavior information may be determined based on the context information and/or the interaction information. In one embodiment, the computation module 203 takes the acquired context data and interaction data, determines contexts from the context records, places the contexts into context groups, and associates the context groups with the interaction data. Then, the computation module 203 determines the user's behavior patterns based on the association between the context groups and the interaction data. The computation module 203 may also arrange the contexts according to the context timestamps, and match the timestamps of interaction data with the timestamps of the context data to facilitate the grouping of the context data. The computation module 203 also computes confidence values and/or frequencies for behavior patterns determined form the context groups. Alternatively, in another embodiment, the user behavior information as well as the confidence values may be calculated at the UE 101 , by the behavior application 107, instead of using the computation module 203, and the calculated user behavior information and the confidence values may be sent to the user behavior platform 103 for user segmentation.
[0044] When the user behavior is determined, the computation module 203 determines hyper behavior patterns based on the user behavior information. The hyper behavior patterns represent at least respective subsets of the user behavior information, wherein the behavior information includes information about user behavior patterns. For example, the hyper behavior patterns may be determined by selecting the behavior patterns with more significance. Thus, the computation module 203 may determine the hyper behavior patterns based on the confidence values and/or frequencies of the behavior patterns, by filtering the behavior patterns based on the confidence values and/or frequencies of the behavior patterns. The computation module 203 may keep the behavior patterns with confidence values and/or frequencies that are sufficiently high, and compile such behavior patterns to form hyper behavior patterns. For example, the computation module 203 may select the behavior patterns to form hyper behavior patterns if the behavior patterns have confidence values and/or frequencies that are higher than a certain threshold value.
[0045] The computation module 203 may determine user habit vectors for respective users based on the distribution of the hyper behavior patterns with respect to the users. The dimension of the habit vector for each user may be determined by the number of hyper behavior patterns. The computation module 203 may perform user segmentation based on these user habit vectors. Further, the computation module 203 may also determine probability values (i.e., probabilities) that respective users are associated with respective hyper behavior patterns. Then, a probability is determined for each user and each hyper behavior pattern. The user segmentation may also be performed based on these probabilities. In addition, the computation module 203 may also determine context information associated with the users, and perform the user segmentation based on the context information.
[0046] Further, in one embodiment, the computation module 203 may also determine demographic information of the users, and associate the demographic information with the user segmentation. For example, the demographic information may be obtained from the UE 101, wherein the user has entered user profile information at the UE 101. The demographic information may also be obtained from the service platform 1 13, wherein the user uploaded information about the user to the service platform 1 13 or the service 1 15.
[0047] The management module 209 may have the computation module 203 initiate user segmentation based on a predetermined interval and/or a predetermined schedule. For example, the user segmentation may be performed weekly, monthly, once every 15 days, etc., or can be performed when the time reaches a scheduled time. The management module 209 may also maintain a database of past user segmentation results. Then, the computation module 203 may compare current user segmentation against other user segmentations that are performed at another time and/or for another time interval. The comparison may be performed for the purpose of checking for accuracy and/or to observe the trend or changes in the user segmentation. The management module 209 may also provide incentives to the users for participating in the segmentation. For example, the management module 209 may provide the user at the UE 101 with an option to participate in the user segmentation, and show incentives such as online cash, bonus features and etc. If the user decides to participate in the segmentation, the user is awarded with these incentives. The purpose of these incentives is to encourage more users to participate in the segmentation. Further, the management module 209 may utilize the results of the user segmentation for target service offerings or other advertisements that are more likely to be of interest or relevance to the users.
[0048] FIG. 3 is a flowchart of a process for performing user segmentation based on user behavior information, according to one embodiment. In one embodiment, the user behavior platform 103 performs the process 300 and is implemented in, for instance, a chip set including a processor and a memory as shown in FIG. 1 1. In step 301, the user behavior platform 103 determines user behavior information associated with users. The user behavior information may be determined based on the context information and/or the interaction information. The context information may be acquired at the UE 101, and may be acquired via the sensor 11 1 connected to the UE 101. The context information may also include context features such as time and day that can be acquired directly from the UE 101 as well as context features such as location information, speed, an audio level and temperature as well as other environmental conditions, which may be collected via a sensor such as a Global Positioning System (GPS) device, an accelerometer, a sound detector, and a temperature sensor. Further, the context record may include context features such as weather information, stock information, and etc., which can be retrieved from the service platform 113, as well as a profile of the user or any other information that may be set within the UE 101. In one embodiment, the context features to include in each of the context records can be determined by, for instance, the service provider, network operator, content provider, advertiser, user, or a combination thereof. These context features may be arranged according to time stamps (e.g., time intervals). Then, a combination of the context features corresponding to each time stamp may correspond to the interaction information. This combination of the context features may be referred as a context pattern.
[0049] In step 303, the user behavior platform 103 determines hyper behavior patterns based on the user behavior information. In one embodiment, each or at least some of the behavior patterns includes the context pattern and the corresponding interaction information. Because there may be numerous types of context patterns and interactions associated with the context patterns, there may be many different types of behavior patterns. It may be difficult to efficiently perform user segmentation on the behavior patterns due to the large amount of data related to the context patterns and interactions. Therefore, the user behavior platform determines hyper behavior patterns that are aggregations of subsets of the user behavior information. The hyper behavior patterns may be generated based, at least in part, on behavior patterns with more significance (e.g., have higher degrees of confidence or numbers of observations). Because of the aggregation process, there are fewer hyper behavior patterns than the behavior patterns determined from the context data collected from the users. In one embodiment, hyper behavior patterns are mathematical constructs that do not have a "human readable" form. In other words, the aggregations of the behavior patterns into the hyper behavior patterns need not make semantic sense. Instead, the hyper patterns represent context characteristics that can be used to distinguish and/or segment one group of users from another. By way of example, the hyper behavior patterns may be determined based on confidences and/or frequencies for the corresponding behavior patterns. If the behavior patterns have confidences and/or frequencies that are higher than threshold values of the confidence and/or frequency, then such behaviors may be kept to form hyper behavior patterns. Once the hyper behavior patterns are determined, the user behavior platform 103 performs segmentation of the users based on hyper behavior patterns, as shown in step 305. In one embodiment, the user habit vectors for respective users are generated based on the distribution of the hyper behavior patterns, and the user segmentation is performed based on the user habit vectors. In another embodiment, probabilities that respective users are associated with respective hyper behavior patterns are determined, and then the segmentation is performed based on the probabilities. Further, in another embodiment, context information associated with the users is determined, and the segmentation is performed based on the context information.
[0050] The user behavior platform 103 may initiate the user segmentation periodically or based on a set schedule. It may be beneficial to perform a new user segmentation to gain the most recent information about the users. The user segmentation may be performed at a predetermined interval (e.g., continuously, weekly, bi-weekly, monthly, etc.) and/or based on predetermined schedule. The schedule may be set such that the user segmentation is initiated if the time reaches the scheduled time. Further, the user behavior platform 103 may determine any updates to the user behavior information, and initiate the user segmentation based on the updates. This may enable obtaining the most up-to-date information on the user behavior. Further, the user behavior platform 103 may also compare the current user segmentation against other user segmentations that were performed at other times and/or for other time intervals. This comparison of the user segmentations may provide information on the trend or changes in the user segmentation over a period of time. Further, this comparison may also help find a glitch or error in user segmentation, especially if one user segmentation is significantly different than other adjacent segmentations. [0051] This process is advantageous in that it provides an efficient way to compile information about user's behavior patterns into hyper behavior patterns, and perform user segmentation on the hyper behavior patterns. The user behavior platform 103 is a means for achieving this advantage.
[0052] FIG. 4 is a flowchart of a process for mining data and determining user behavior patterns, according to one embodiment. In one embodiment, the user behavior platform 103 performs the process 400 and is implemented in, for instance, a chip set including a processor and a memory as shown in FIG. 1 1. In another embodiment, the behavior application 107 may perform the process 400, and communicate the results of the process 400 to the user behavior platform 103. In step 401 , the user behavior platform 103 or the behavior application 107 collects context information and interaction information associated with the context information at the UE 101. As explained above, the context information may include various types of context features that may be collected directly from the UE 101 or via the sensor 11 1 or the service platform 113. A combination of these context features form context patterns, which may be associated with the interaction data. In step 403, the user behavior patterns are determined by associating the context patterns with corresponding interaction information. Similar or same context patterns may be placed into context groups, as explained in more detail below with Table 1 as an example.
[0053] Table 1 shows an example of context records having four types of context features (e.g., type of day, day period, moving speed, audio level). In this example, each context includes all four types of context features. However, in another example, each context may include less than four types of context features. The timestamp runs from tl-t62, wherein each time stamp represents a specific time of the day. The interaction data may be represented as N/A if there is no interaction between the user and the UE 101 at a particular time. In this example, the adjacent timestamps t2-t4 have the same pattern for the context values of the context features, which are work day, evening, high moving speed and high audio level. Because the timestamps t2-t4 include the contexts including the same pattern, the contexts corresponding to the timestamps t2-t4 may be placed into a common context group. The context group is represented by the context features in bold letters. The interaction data corresponding to timestamps t2 and t4 shows that there were no interactions (i.e., N/A) for timestamps t2 and t4. The interaction data corresponding to timestamp t3 shows that there was an interaction of playing games. Thus, for the context group corresponding to the adjacent timestamps t2-t4, the interaction of playing games is associated with the context group, and the indication of no interactions (i.e., N/A) for the timestamps t2 and t4 is not associated with the context group. Similarly, the contexts corresponding to the adjacent timestamps t28-30 have the same pattern for the context values of the context features, and thus these contexts are placed into another context group consisting of similar context features. In this context group, although the interaction data indicates no interaction for timestamps t29 and t30, because there is an interaction of playing games for t28, this context group is associated with the interaction of playing games. Further, the contexts corresponding to timestamps t49-t52 can also be placed into a context group consisting of similar context features and may be associated with the interaction of playing games. However, if there are no interactions during the time range represented by a particular context group, then the context group may be associated with the indication of no interaction (i.e., N/A). For example, for the context group corresponding to timestamps t64-t66, the indication of no interaction (i.e., N/A) is associated with the context group.
[0054] Furthermore, in this example of Table 1, less than four types of the context features may be included in each context to be considered for matching the patterns of the context values. For example, when timestamps t28-t31 are considered, if three types of the context features, Type of day, Day Period and Audio Level, are considered for matching, the timestamps t28-t31 correspond to this pattern. However, if all four types of the context features, Type of day, Day Period, Moving speed and Audio Level, are considered for matching, only the timestamps t28- t30 correspond to this pattern. Although considering more context features for matching the patterns of the context values provides more detailed matching of the patterns, it can result in fewer matches and groupings.
Table 1: Context Records and Interactions
Timestamp Type of day? Day Period Moving speed Audio Level Interaction tl Work day Afternoon Low Middle N/A t2 Work day Evening High High N/A
t3 Work day Evening High High Play games t4 Work day Evening High High N/A t28 Work day Evening High High Play games t29 Work day Evening High High N/A
t30 Work day Evening High High N/A
t31 Work day Evening Low High N/A t48 Work day Evening Middle High N/A
t49 Work day Evening High High N/A
t50 Work day Evening High High N/A
t51 Work day Evening High High Play games t52 Work day Evening High High N/A t63 Work day Evening Middle Middle N/A
t64 Work day Evening Zero Low N/A
t65 Work day Evening Zero Low N/A
t66 Work day Evening Zero Low N/A
[0055] In step 405, the confidence for each user behavior pattern is determined. Computations of the confidence are discussed in more detail. First, the support of a context pattern C with respect to an interaction I is calculated based on the following equation:
The support of C with respect to I = ∑ m match _ numm (I) ( 1 ) where match_ num(I) means the number of context records in which C occurs during the m-th context range (i.e., the time range of a context) of C. In the example shown in Table 1 , the number of context records with the context pattern (e.g., workday, evening, high and high for type of day, day period, moving speed and audio level, respectively) with respect to the interaction of playing games during the context range of timestamps tl-t66 is 3, which is the support of C with respect to I. [0056] According to a conventional method, the confidence of a context pattern C with respect to an interaction I may be calculated based on the following equation:
The confidence of C with respect to I:
support _ of _ C _ w.r.t. I
UppOrt _ Of C
Figure imgf000022_0001
wherein Γ means the set of all interactions and io means the number of context ranges of C without any interactions. Thus, according to a conventional method, for the example shown in Table 1 , the support of the context pattern (e.g., workday, evening, high and high for type of day, day period, moving speed and audio level, respectively) is 10. Thus, the confidence of C with respect to I, according to the conventional method, is 3/10=30%. The confidence according to the conventional method is generally very low because the contexts are continuous and volatile and the user interactions are sparse in time.
[0057] The present approach compensates for these two different natures of context information and the user interaction information. According to the present approach, the confidence of C with respect to I is: support _ of _ C group _ w.r.t. _ I
confidence of C with respect to I = ~ ~ (3) support _ of _ Cgroup wherein Cgroup is a context group having the same context pattern. Thus, according to the present approach, for the example shown in Table 1 , the support of the context group for the context pattern is 3, because there are three context groups with the same context pattern (i.e. workday, evening, high and high for type of day, day period, moving speed and audio level, respectively), wherein the three context groups belong to the time stamps t2-t4, t28-t30 and t49- t52. Further, the support of the context group for the context pattern with respect to the interaction of playing games is also 3. Therefore, the confidence of the context pattern with respect to interaction of playing games, according to the present approach, is 3/3=100%.
[0058] This process is advantageous in that it provides an automated way to collect contexts and interaction data, and calculate the confidence values for the behavior patterns, without involving the user. The user behavior platform 103 or the behavior application 107 is a means for achieving this advantage.
[0059] FIG. 5 is a flowchart of a process for performing user segmentation based on hyper behavior patterns, according to one embodiment. In one embodiment, the user behavior platform 103 performs the process 500 and is implemented in, for instance, a chip set including a processor and a memory as shown in FIG. 1 1. In step 501, the user behavior platform 103 collects the behavior patterns and confidences associated with the behavior patterns of respective users. If the behavior patterns and confidences may be determined by the behavior application 107, then they are collected from the UE 101. Then, in step 503, the user behavior platform 103 determines the behavior pattern vectors based on the collected behavior patterns and the corresponding confidences. If the behavior pattern vector has m number of behavior patterns, then the behavior pattern vector is an m-dimensional vector. Further, if there are n number of users, then there are multiple behavior pattern vectors, each vector corresponding to a respective user. Arranging the n number of m-dimensional behavior pattern vectors then results in an m x n matrix, wherein m rows represent behavior patterns and n columns represent different users. Then, in step 505, the user behavior platform 103 determines the hyper behavior patterns from the behavior pattern vectors. In step 507, the user behavior platform 103 generates habit vectors based on a distribution of hyper behavior patterns. For example, if there are h number of hyper behavior patterns, the habit vector is an h-dimensional vector. With n number of users, the habit vector can be formed into an h x n matrix, wherein the rows represent the hyper behavior patterns and the columns represent different users. The user segmentation may be performed on these user habit vectors. Determination of the hyper behavior patterns are explained in more detail later in FIG. 7.
[0060] This process is advantageous in that it provides a way to form hyper behavior patterns based on the behavior patterns to enable efficient user segmentation. The user behavior platform 103 is a means for achieving this advantage.
[0061] FIGs. 6 A and 6B are diagrams of interactions between a client and a server utilized in data mining included in the processes of FIG. 4, according to various embodiments. FIG. 6A shows that data such as context records retrieved at the client end 601 from mobile devices 603 (e.g., UEs lOla-lOln), may be uploaded to the server end 605 through the Internet (e.g., communication network 105). At the server end 605, the uploaded data is stored in the user context database 607. This embodiment is advantageous in that the mobile devices 603 can reduce their computational burdens associated with the data mining to the server 609. It is noted that the server 609 generally has more processing power and related resources (e.g., bandwidth, memory, etc.) than the mobile devices to handle this type of computation. In this case, the user behavior platform 103 at the server end may handle the mining process, determination of the behavior patterns as well as confidence values. Alternatively, as shown in FIG. 6B, the data retrieved by the mobile devices 633 at the client end 631 may be stored at storage media (not shown) of the respective mobile devices 633. The mobile devices 633 may then locally perform via the behavior application 107 the computations for determining, for instance, the behavior patterns as well as confidence values from the data. Then, the results of the computation (e.g., the behavior patterns and confidence values) may be uploaded to the server end 635 including a server 639 and user context pattern database 637, such that the user behavior platform 103 may use such results to perform user segmentation. This embodiment is advantageous in that the data is kept within the respective mobile devices 633, and is not uploaded to other devices or servers without the user's permission. Thus, this embodiment in FIG. 6B provides a higher level of privacy protection. In addition, for both embodiments in FIGs. 6 A and 6B, the user of the mobile device may configure a privacy setting to determine whether any data retrieved from the mobile device can be sent to the server end 635. Further, although not shown, much of the analysis of the behavior pattern according to this invention may be performed within the mobile device 633 even when the mobile device 633 is not connected to the server 639. As long as the mobile device 633 has the data and sufficient processing power to analyze the data, then the server 639 may not be required to perform the analysis.
[0062] FIG. 7 is a diagram 700 of computation of the user habit vector from the behavior pattern vector. This computation is performed at a server end (e.g., at the user behavior platform 103). This may be based on the blind source separation method that can be expressed as a matrix factorization problem, as shown below.
Figure imgf000025_0001
or in short
Figure imgf000025_0002
h hxn mxn
wherein C is a m x n matrix having n number of m-dimensional behavior pattern vectors, M is a m x h matrix representing hyper behavior patterns in the form of distribution of behavior patterns, P is a h x n matrix having n number of h-dimensional habit vectors, and N is a Gaussian Noise matrix.
[0063] The extraction of the hyper behavior patterns may be performed using Bayesian non- negative matrix factorization (NMF) approach on the matrix factorization problem shown above. This method enables extraction of the hyper behavior patterns for respective users from the behavior pattern vectors. As explained previously, the hyper behavior patterns are lower in dimensions than the behavior patterns, and thus it is easier to perform efficient user segmentation on the hyper behavior patterns than on the behavior patterns.
[0064] FIGs. 8A-8F are diagrams of user interfaces at a client end utilized in the processes of FIGs. 3-5, more specifically FIG. 4, according to various embodiments. FIG. 8A shows a user interface 800 of a UE 101 (e.g., a mobile device). The information window 801 shows that this interface is for initializing the user segmentation. The main window 803 displays a message that the user may be qualified for some benefits by participating in the user segmentation. Thus, this provides incentives to the users to participate in the user segmentation. The buttons 805 can be selected to participate, or not to participate or to request more details about user segmentation. The quit button 807 exits out of this user interface. FIG. 8B shows a user interface 810 showing various context records that can be collected by the UE 101. The information window 81 1 shows that the user interface for "data logging" and related information, and further shows that context records are in the process of being uploaded. The list 813 shows the available context features that can be selected to be configured in the context records for uploading. The options 815 provides additional options (e.g., privacy filters, searches, etc.) that can be configured and the more option 817 may be selected to show additional context features that can be configured.
[0065] FIG. 8C shows a user interface 830 showing configuration options for context features available at the mobile device. In the example shown in FIG. 8C, alarm 831 is selected to be configured. Once alarm 831 is selected, expandable menu 833 is displayed. In this example the alarm 831 activates on the detection of a specific behavior pattern or transition point. The user can browse and select among the menu options 835 to specify the particular behavior pattern or transition point. In this example, module option 833 is selected, which further displays additional options to enable modules, to disable modules or to change sample rate for gathering alarm-related context information. FIG. 8D shows a user interface 850 that enables a user to choose data sources or sensors for collection of context records. The context menu 851 shows a list of context features or context sources from which context records can be collected. In the example shown in FIG. 8D, Accelerometer, Current Status and Audio Level are selected. Thus, the context records retrieved from this mobile device will include these three context features.
[0066] FIG. 8E depicts a user interface 870 for displaying determined behavior patterns and their respective confidence values. As shown, the information window 871 identifies that the user interface 870 is for "Results Display." Moreover, the user interface 870 presents a list of behavior patterns 873 stored in a descending order of confidence values. One of these behavior patterns may be selected to display more details about the behavior patterns, as shown in the user interface 890 of FIG. 8F. In the example of FIG. 8F, Behavior pattern 1 891 is selected to display additional details. Accordingly, the behavior pattern window 893 displays context features corresponding to Behavior pattern 1. The behavior pattern window 893 also has a scroll 895 to scroll up and down the behavior pattern window 893. The interaction window 897 displays what interaction is matched with Behavior pattern 1. The confidence window 899 shows a confidence value, a support value, and a number of context records considered in computing the confidence and the support values. In this example, the confidence window 899 shows the confidence of 90%, a support of 42, and that 642 context records were considered to compute the confidence and the support.
[0067] FIG. 9 is a diagram of a user interface for a server utilized in the processes of FIG. 3, according to one embodiment. The server user interface 900 enables display of user segmentation results and provides options in scheduling user segmentation. The status section 901 shows that the user segmentation displayed in the user interface 900 is a current user segmentation, performed using the data acquired from 11/1/04 to 12/1/04. The next upcoming user segmentation is shown in the "Next" section 903 as 1/1/05. The Set Interval button 905 may be selected to change the intervals at which the user segmentation is performed. The interval section 907 shows that the interval is currently set to "Monthly." The set schedule button 909 may be selected to set a schedule for the next user segmentation to be performed. The schedule section 91 1 shows that no schedule has been set yet. The Show Previous button 913 and the Show Next button 915 may be selected to show the previous user segmentation and the next user segmentation, respectively. The user segmentation section 917 shows pie graphs to show user segmentation. The hyper behavior pattern user segmentation pie 919 shows segmentation for nine different hyper behavior patterns, HP1 - HP9. The user statistics section 921 shows that the user segmentation is performed on 3214 total users. The context user segmentation pie 923 shows the segmentation for different contexts. The record statistics section 925 shows that the user segmentation is performed on 421325324 total records.
[0068] The processes described herein for performing user segmentation based on user behavior information may be advantageously implemented via software, hardware, firmware or a combination of software and/or firmware and/or hardware. For example, the processes described herein, may be advantageously implemented via processor(s), Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc. Such exemplary hardware for performing the described functions is detailed below.
[0069] FIG. 10 illustrates a computer system 1000 upon which an embodiment of the invention may be implemented. Although computer system 1000 is depicted with respect to a particular device or equipment, it is contemplated that other devices or equipment (e.g., network elements, servers, etc.) within FIG. 10 can deploy the illustrated hardware and components of system 1000. Computer system 1000 is programmed (e.g., via computer program code or instructions) to perform user segmentation based on user behavior information as described herein and includes a communication mechanism such as a bus 1010 for passing information between other internal and external components of the computer system 1000. Information (also called data) is represented as a physical expression of a measurable phenomenon, typically electric voltages, but including, in other embodiments, such phenomena as magnetic, electromagnetic, pressure, chemical, biological, molecular, atomic, sub-atomic and quantum interactions. For example, north and south magnetic fields, or a zero and non-zero electric voltage, represent two states (0, 1) of a binary digit (bit). Other phenomena can represent digits of a higher base. A superposition of multiple simultaneous quantum states before measurement represents a quantum bit (qubit). A sequence of one or more digits constitutes digital data that is used to represent a number or code for a character. In some embodiments, information called analog data is represented by a near continuum of measurable values within a particular range. Computer system 1000, or a portion thereof, constitutes a means for performing one or more steps of performing user segmentation based on user behavior information.
[0070] A bus 1010 includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus 1010. One or more processors 1002 for processing information are coupled with the bus 1010.
[0071] A processor (or multiple processors) 1002 performs a set of operations on information as specified by computer program code related to perform user segmentation based on user behavior information. The computer program code is a set of instructions or statements providing instructions for the operation of the processor and/or the computer system to perform specified functions. The code, for example, may be written in a computer programming language that is compiled into a native instruction set of the processor. The code may also be written directly using the native instruction set (e.g., machine language). The set of operations include bringing information in from the bus 1010 and placing information on the bus 1010. The set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND. Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits. A sequence of operations to be executed by the processor 1002, such as a sequence of operation codes, constitute processor instructions, also called computer system instructions or, simply, computer instructions. Processors may be implemented as mechanical, electrical, magnetic, optical, chemical or quantum components, among others, alone or in combination.
[0072] Computer system 1000 also includes a memory 1004 coupled to bus 1010. The memory 1004, such as a random access memory (RAM) or any other dynamic storage device, stores information including processor instructions for performing user segmentation based on user behavior information. Dynamic memory allows information stored therein to be changed by the computer system 1000. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses. The memory 1004 is also used by the processor 1002 to store temporary values during execution of processor instructions. The computer system 1000 also includes a read only memory (ROM) 1006 or any other static storage device coupled to the bus 1010 for storing static information, including instructions, that is not changed by the computer system 1000. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled to bus 1010 is a non-volatile (persistent) storage device 1008, such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system 1000 is turned off or otherwise loses power. [0073] Information, including instructions for performing user segmentation based on user behavior information, is provided to the bus 1010 for use by the processor from an external input device 1012, such as a keyboard containing alphanumeric keys operated by a human user, or a sensor. A sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system 1000. Other external devices coupled to bus 1010, used primarily for interacting with humans, include a display device 1014, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED (OLED) display, a plasma screen, or a printer for presenting text or images, and a pointing device 1016, such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on the display 1014 and issuing commands associated with graphical elements presented on the display 1014. In some embodiments, for example, in embodiments in which the computer system 1000 performs all functions automatically without human input, one or more of external input device 1012, display device 1014 and pointing device 1016 is omitted.
[0074] In the illustrated embodiment, special purpose hardware, such as an application specific integrated circuit (ASIC) 1020, is coupled to bus 1010. The special purpose hardware is configured to perform operations not performed by processor 1002 quickly enough for special purposes. Examples of ASICs include graphics accelerator cards for generating images for display 1014, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.
[0075] Computer system 1000 also includes one or more instances of a communications interface 1070 coupled to bus 1010. Communication interface 1070 provides a one-way or two-way communication coupling to a variety of external devices that operate with their own processors, such as printers, scanners and external disks. In general the coupling is with a network link 1078 that is connected to a local network 1080 to which a variety of external devices with their own processors are connected. For example, communication interface 1070 may be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer. In some embodiments, communications interface 1070 is an integrated services digital network (ISDN) card or a digital subscriber line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of telephone line. In some embodiments, a communication interface 1070 is a cable modem that converts signals on bus 1010 into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable. As another example, communications interface 1070 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links may also be implemented. For wireless links, the communications interface 1070 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data. For example, in wireless handheld devices, such as mobile telephones like cell phones, the communications interface 1070 includes a radio band electromagnetic transmitter and receiver called a radio transceiver. In certain embodiments, the communications interface 1070 enables connection to the communication network 105 for performing user segmentation based on user behavior information.
[0076] The term "computer-readable medium" as used herein refers to any medium that participates in providing information to processor 1002, including instructions for execution.
Such a medium may take many forms, including, but not limited to computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Non-transitory media, such as non-volatile media, include, for example, optical or magnetic disks, such as storage device 1008. Volatile media include, for example, dynamic memory 1004.
Transmission media include, for example, twisted pair cables, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, an EEPROM, a flash memory, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read. The term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media.
[0077] Logic encoded in one or more tangible media includes one or both of processor instructions on a computer-readable storage media and special purpose hardware, such as ASIC 1020.
[0078] Network link 1078 typically provides information communication using transmission media through one or more networks to other devices that use or process the information. For example, network link 1078 may provide a connection through local network 1080 to a host computer 1082 or to equipment 1084 operated by an Internet Service Provider (ISP). ISP equipment 1084 in turn provides data communication services through the public, world-wide packet-switching communication network of networks now commonly referred to as the Internet 1090.
[0079] A computer called a server host 1092 connected to the Internet hosts a process that provides a service in response to information received over the Internet. For example, server host 1092 hosts a process that provides information representing video data for presentation at display 1014. It is contemplated that the components of system 1000 can be deployed in various configurations within other computer systems, e.g., host 1082 and server 1092.
[0080] At least some embodiments of the invention are related to the use of computer system
1000 for implementing some or all of the techniques described herein. According to one embodiment of the invention, those techniques are performed by computer system 1000 in response to processor 1002 executing one or more sequences of one or more processor instructions contained in memory 1004. Such instructions, also called computer instructions, software and program code, may be read into memory 1004 from another computer-readable medium such as storage device 1008 or network link 1078. Execution of the sequences of instructions contained in memory 1004 causes processor 1002 to perform one or more of the method steps described herein. In alternative embodiments, hardware, such as ASIC 1020, may be used in place of or in combination with software to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware and software, unless otherwise explicitly stated herein.
[0081] The signals transmitted over network link 1078 and other networks through communications interface 1070, carry information to and from computer system 1000. Computer system 1000 can send and receive information, including program code, through the networks 1080, 1090 among others, through network link 1078 and communications interface 1070. In an example using the Internet 1090, a server host 1092 transmits program code for a particular application, requested by a message sent from computer 1000, through Internet 1090, ISP equipment 1084, local network 1080 and communications interface 1070. The received code may be executed by processor 1002 as it is received, or may be stored in memory 1004 or in storage device 1008 or any other non- volatile storage for later execution, or both. In this manner, computer system 1000 may obtain application program code in the form of signals on a carrier wave.
[0082] Various forms of computer readable media may be involved in carrying one or more sequence of instructions or data or both to processor 1002 for execution. For example, instructions and data may initially be carried on a magnetic disk of a remote computer such as host 1082. The remote computer loads the instructions and data into its dynamic memory and sends the instructions and data over a telephone line using a modem. A modem local to the computer system 1000 receives the instructions and data on a telephone line and uses an infrared transmitter to convert the instructions and data to a signal on an infra-red carrier wave serving as the network link 1078. An infrared detector serving as communications interface 1070 receives the instructions and data carried in the infrared signal and places information representing the instructions and data onto bus 1010. Bus 1010 carries the information to memory 1004 from which processor 1002 retrieves and executes the instructions using some of the data sent with the instructions. The instructions and data received in memory 1004 may optionally be stored on storage device 1008, either before or after execution by the processor 1002.
[0083] FIG. 11 illustrates a chip set or chip 1 100 upon which an embodiment of the invention may be implemented. Chip set 1100 is programmed to perform user segmentation based on user behavior information as described herein and includes, for instance, the processor and memory components described with respect to FIG. 10 incorporated in one or more physical packages (e.g., chips). By way of example, a physical package includes an arrangement of one or more materials, components, and/or wires on a structural assembly (e.g., a baseboard) to provide one or more characteristics such as physical strength, conservation of size, and/or limitation of electrical interaction. It is contemplated that in certain embodiments the chip set
1100 can be implemented in a single chip. It is further contemplated that in certain embodiments the chip set or chip 1100 can be implemented as a single "system on a chip." It is further contemplated that in certain embodiments a separate ASIC would not be used, for example, and that all relevant functions as disclosed herein would be performed by a processor or processors. Chip set or chip 1 100, or a portion thereof, constitutes a means for performing one or more steps of providing user interface navigation information associated with the availability of functions. Chip set or chip 1100, or a portion thereof, constitutes a means for performing one or more steps of performing user segmentation based on user behavior information.
[0084] In one embodiment, the chip set or chip 1100 includes a communication mechanism such as a bus 1 101 for passing information among the components of the chip set 1 100. A processor 1 103 has connectivity to the bus 1101 to execute instructions and process information stored in, for example, a memory 1 105. The processor 1103 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 1103 may include one or more microprocessors configured in tandem via the bus
1101 to enable independent execution of instructions, pipelining, and multithreading. The processor 1103 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1 107, or one or more application-specific integrated circuits (ASIC) 1109. A DSP 1 107 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor
1103. Similarly, an ASIC 1 109 can be configured to performed specialized functions not easily performed by a more general purpose processor. Other specialized components to aid in performing the inventive functions described herein may include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
[0085] In one embodiment, the chip set or chip 1100 includes merely one or more processors and some software and/or firmware supporting and/or relating to and/or for the one or more processors.
[0086] The processor 1103 and accompanying components have connectivity to the memory 1105 via the bus 1101. The memory 1105 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to perform user segmentation based on user behavior information. The memory 1105 also stores the data associated with or generated by the execution of the inventive steps.
[0087] FIG. 12 is a diagram of exemplary components of a mobile terminal (e.g., handset) for communications, which is capable of operating in the system of FIG. 1, according to one embodiment. In some embodiments, mobile terminal 1201 , or a portion thereof, constitutes a means for performing one or more steps of performing user segmentation based on user behavior information. Generally, a radio receiver is often defined in terms of front-end and back-end characteristics. The front-end of the receiver encompasses all of the Radio Frequency (RF) circuitry whereas the back-end encompasses all of the base-band processing circuitry. As used in this application, the term "circuitry" refers to both: (1) hardware-only implementations (such as implementations in only analog and/or digital circuitry), and (2) to combinations of circuitry and software (and/or firmware) (such as, if applicable to the particular context, to a combination of processor(s), including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions). This definition of "circuitry" applies to all uses of this term in this application, including in any claims. As a further example, as used in this application and if applicable to the particular context, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) and its (or their) accompanying software/or firmware. The term "circuitry" would also cover if applicable to the particular context, for example, a baseband integrated circuit or applications processor integrated circuit in a mobile phone or a similar integrated circuit in a cellular network device or other network devices.
[0088] Pertinent internal components of the telephone include a Main Control Unit (MCU) 1203, a Digital Signal Processor (DSP) 1205, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit. A main display unit 1207 provides a display to the user in support of various applications and mobile terminal functions that perform or support the steps of performing user segmentation based on user behavior information. The display 1207 includes display circuitry configured to display at least a portion of a user interface of the mobile terminal (e.g., mobile telephone). Additionally, the display 1207 and display circuitry are configured to facilitate user control of at least some functions of the mobile terminal. An audio function circuitry 1209 includes a microphone 121 1 and microphone amplifier that amplifies the speech signal output from the microphone 121 1. The amplified speech signal output from the microphone 1211 is fed to a coder/decoder (CODEC) 1213.
[0089] A radio section 1215 amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, via antenna 1217. The power amplifier (PA) 1219 and the transmitter/modulation circuitry are operationally responsive to the MCU 1203, with an output from the PA 1219 coupled to the duplexer 1221 or circulator or antenna switch, as known in the art. The PA 1219 also couples to a battery interface and power control unit 1220.
[0090] In use, a user of mobile terminal 1201 speaks into the microphone 1211 and his or her voice along with any detected background noise is converted into an analog voltage. The analog voltage is then converted into a digital signal through the Analog to Digital Converter (ADC) 1223. The control unit 1203 routes the digital signal into the DSP 1205 for processing therein, such as speech encoding, channel encoding, encrypting, and interleaving. In one embodiment, the processed voice signals are encoded, by units not separately shown, using a cellular transmission protocol such as enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), satellite, and the like, or any combination thereof.
[0091] The encoded signals are then routed to an equalizer 1225 for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion. After equalizing the bit stream, the modulator 1227 combines the signal with a RF signal generated in the RF interface 1229. The modulator 1227 generates a sine wave by way of frequency or phase modulation. In order to prepare the signal for transmission, an up-converter 1231 combines the sine wave output from the modulator 1227 with another sine wave generated by a synthesizer 1233 to achieve the desired frequency of transmission. The signal is then sent through a PA 1219 to increase the signal to an appropriate power level. In practical systems, the PA 1219 acts as a variable gain amplifier whose gain is controlled by the DSP 1205 from information received from a network base station. The signal is then filtered within the duplexer 1221 and optionally sent to an antenna coupler 1235 to match impedances to provide maximum power transfer. Finally, the signal is transmitted via antenna 1217 to a local base station. An automatic gain control (AGC) can be supplied to control the gain of the final stages of the receiver. The signals may be forwarded from there to a remote telephone which may be another cellular telephone, any other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.
[0092] Voice signals transmitted to the mobile terminal 1201 are received via antenna 1217 and immediately amplified by a low noise amplifier (LNA) 1237. A down-converter 1239 lowers the carrier frequency while the demodulator 1241 strips away the RF leaving only a digital bit stream. The signal then goes through the equalizer 1225 and is processed by the DSP 1205. A Digital to Analog Converter (DAC) 1243 converts the signal and the resulting output is transmitted to the user through the speaker 1245, all under control of a Main Control Unit (MCU) 1203 which can be implemented as a Central Processing Unit (CPU) (not shown).
[0093] The MCU 1203 receives various signals including input signals from the keyboard 1247. The keyboard 1247 and/or the MCU 1203 in combination with other user input components (e.g., the microphone 1211) comprise a user interface circuitry for managing user input. The MCU 1203 runs a user interface software to facilitate user control of at least some functions of the mobile terminal 1201 to perform user segmentation based on user behavior information. The MCU 1203 also delivers a display command and a switch command to the display 1207 and to the speech output switching controller, respectively. Further, the MCU 1203 exchanges information with the DSP 1205 and can access an optionally incorporated SIM card 1249 and a memory 1251. In addition, the MCU 1203 executes various control functions required of the terminal. The DSP 1205 may, depending upon the implementation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally, DSP 1205 determines the background noise level of the local environment from the signals detected by microphone 121 1 and sets the gain of microphone 121 1 to a level selected to compensate for the natural tendency of the user of the mobile terminal 1201.
[0094] The CODEC 1213 includes the ADC 1223 and DAC 1243. The memory 1251 stores various data including call incoming tone data and is capable of storing other data including music data received via, e.g., the global Internet. The software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art. The memory device 1251 may be, but not limited to, a single memory, CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flash memory storage, or any other non-volatile storage medium capable of storing digital data.
[0095] An optionally incorporated SIM card 1249 carries, for instance, important information, such as the cellular phone number, the carrier supplying service, subscription details, and security information. The SIM card 1249 serves primarily to identify the mobile terminal 1201 on a radio network. The card 1249 also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile terminal settings.
[0096] While the invention has been described in connection with a number of embodiments and implementations, the invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. Although features of the invention are expressed in certain combinations among the claims, it is contemplated that these features can be arranged in any combination and order.

Claims

CLAIMS WHAT IS CLAIMED IS:
1. A method comprising:
determining user behavior information associated with a plurality of users;
determining one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information; and
determining to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
2. A method of claim 1 , further comprising:
determining context information, interaction information, or a combination thereof from one or more devices corresponding to respective ones of the plurality of users,
wherein the determining of the user behavior information is based, at least in part, on the context information, the interaction information, or a combination thereof.
3. A method according to any one of claims 1 and 2, wherein the respective subsets of the user behavior information comprise one or more user behavior patterns, and wherein the one or more hyper behavior patterns are distributions of the one or more behavior patterns.
4. A method according to any one of claims 1-3, further comprising:
determining to generate respective user habit vectors for the plurality of users based, at least in part, on a distribution of the one or more hyper behavior patterns with respect to the plurality of users,
wherein the segmentation is based, at least in part, on the user habit vectors.
5. A method according to any one of claims 1-4, further comprising:
determining respective confidences, respective frequencies, or a combination thereof of one or more behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns, the segmentation, or a combination thereof is based, at least in part, on the respective confidences, the respective frequencies, or a combination thereof.
6. A method of claim 5, further comprising:
determining to filter the user behavior information based, at least in part, on the respective confidences, the respective frequencies, or a combination thereof.
7. A method according to any one of claims 1-6, further comprising:
determining one or more probabilities that respective one or more of the plurality of users is associated with respective one or more of the hyper behavior patterns,
wherein the segmentation is based, at least in part, on the one or more probabilities.
8. A method according to any one of claims 1-7, further comprising:
determining context information associated with the plurality of users,
wherein the segmentation is based, at least in part, on the context information.
9. A method according to any one of claims 1-8, further comprising:
determining to initiate the segmentation based, at least in part, on a predetermined interval, a predetermined schedule, or a combination thereof.
10. A method according to any one of claims 1-9, further comprising:
determining at least one update to the user behavior information; and
determining to initiate the segmentation based, at least in part, on the at least one update.
11. A method according to any one of claims 1-10, further comprising: determining to compare the segmentation against another segmentation performed at another time, for another time interval, or a combination thereof.
12. A method according to any one of claims 1-11, further comprising:
determining demographic information of the plurality of users; and
determining to associate the demographic information with the segmentation.
13. A method according to any one of claims 1-12, further comprising:
determining to provide one or more incentives to the plurality of users for participating in the segmentation.
14. An apparatus comprising:
at least one processor; and
at least one memory including computer program code for one or more programs, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following,
determine user behavior information associated with a plurality of users;
determine one or more hyper behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns represent at least respective subsets of the user behavior information; and
determine to perform segmentation of the plurality of users based, at least in part, on the one or more hyper behavior patterns.
15. An apparatus of claim 14, wherein the apparatus is further caused to:
determine context information, interaction information, or a combination thereof from one or more devices corresponding to respective ones of the plurality of users,
wherein the determining of the user behavior information is based, at least in part, on the context information, the interaction information, or a combination thereof.
16. An apparatus according to any one of claims 14 and 15, wherein the respective subsets of the user behavior information comprise one or more user behavior patterns, and wherein the one or more hyper behavior patterns are distributions of the one or more behavior patterns.
17. An apparatus according to any one of claims 14-16, wherein the apparatus is further caused to:
determine to generate respective user habit vectors for the plurality of users based, at least in part, on a distribution of the one or more hyper behavior patterns with respect to the plurality of users,
wherein the segmentation is based, at least in part, on the user habit vectors.
18. An apparatus according to any one of claims 14-17, wherein the apparatus is further caused to:
determining respective confidences, respective frequencies, or a combination thereof of one or more behavior patterns based, at least in part, on the user behavior information, wherein the one or more hyper behavior patterns, the segmentation, or a combination thereof is based, at least in part, on the respective confidences, the respective frequencies, or a combination thereof.
19. An apparatus of claim 18, wherein the apparatus is further caused to:
determine to filter the user behavior information based, at least in part, on the respective confidences, the respective frequencies, or a combination thereof.
20. An apparatus according to any one of claims 14-19, wherein the apparatus is further caused to:
determine one or more probabilities that respective one or more of the plurality of users is associated with respective one or more of the hyper behavior patterns,
wherein the segmentation is based, at least in part, on the one or more probabilities.
21. An apparatus according to any one of claims 14-20, wherein the apparatus is further caused to:
determine context information associated with the plurality of users,
wherein the segmentation is based, at least in part, on the context information.
22. An apparatus according to any one of claims 14-21, wherein the apparatus is further caused to:
determine to initiate the segmentation based, at least in part, on a predetermined interval, a predetermined schedule, or a combination thereof.
23. An apparatus according to any one of claims 14-22, wherein the apparatus is further caused to:
determine at least one update to the user behavior information; and
determine to initiate the segmentation based, at least in part, on the at least one update.
24. An apparatus according to any one of claims 14-23, wherein the apparatus is further caused to:
determine to compare the segmentation against another segmentation performed at another time, for another time interval, or a combination thereof.
25. An apparatus according to any one of claims 14-24, wherein the apparatus is further caused to:
determine demographic information of the plurality of users; and
determine to associate the demographic information with the segmentation.
26. An apparatus according to any one of claims 14-25, wherein the apparatus is further caused to:
determine to provide one or more incentives to the plurality of users for participating in the segmentation.
27. A computer-readable storage medium carrying one or more sequences of one or more instructions which, when executed by one or more processors, cause an apparatus to perform at least a method of any one of claims 1-13.
28. An apparatus comprising means for performing a method of any one of claims 1-13.
29. A computer program product including one or more sequences of one or more instructions which, when executed by one or more processors, cause an apparatus to at least perform the steps of a method of any one of claims 1-13.
30. A method comprising facilitating access to at least one interface configured to allow access to at least one service, the at least one service configured to perform a method of any one of claims 1-13.
PCT/CN2010/078185 2010-10-28 2010-10-28 Method and apparatus for performing user segmentation based on user behavior information WO2012055104A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/078185 WO2012055104A1 (en) 2010-10-28 2010-10-28 Method and apparatus for performing user segmentation based on user behavior information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/078185 WO2012055104A1 (en) 2010-10-28 2010-10-28 Method and apparatus for performing user segmentation based on user behavior information

Publications (1)

Publication Number Publication Date
WO2012055104A1 true WO2012055104A1 (en) 2012-05-03

Family

ID=45993064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/078185 WO2012055104A1 (en) 2010-10-28 2010-10-28 Method and apparatus for performing user segmentation based on user behavior information

Country Status (1)

Country Link
WO (1) WO2012055104A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324998B2 (en) 2015-03-31 2019-06-18 Yandex Europe Ag Method and system for controlling presentation of web resources in a browser window
US10742519B2 (en) 2015-09-09 2020-08-11 Tate Consultancy Services Limited Predicting attribute values for user segmentation by determining suggestive attribute values

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023715A1 (en) * 2001-07-16 2003-01-30 David Reiner System and method for logical view analysis and visualization of user behavior in a distributed computer network
WO2007092962A2 (en) * 2006-02-09 2007-08-16 Claria Corporation Method and system for controlling and adapting a media stream
CN101071437A (en) * 2007-03-28 2007-11-14 腾讯科技(深圳)有限公司 User classifying method, directional advertising launching method, device and system
CN101577866A (en) * 2008-05-07 2009-11-11 中国移动通信集团公司 User classification method, advertisement release method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023715A1 (en) * 2001-07-16 2003-01-30 David Reiner System and method for logical view analysis and visualization of user behavior in a distributed computer network
WO2007092962A2 (en) * 2006-02-09 2007-08-16 Claria Corporation Method and system for controlling and adapting a media stream
CN101071437A (en) * 2007-03-28 2007-11-14 腾讯科技(深圳)有限公司 User classifying method, directional advertising launching method, device and system
CN101577866A (en) * 2008-05-07 2009-11-11 中国移动通信集团公司 User classification method, advertisement release method and device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324998B2 (en) 2015-03-31 2019-06-18 Yandex Europe Ag Method and system for controlling presentation of web resources in a browser window
US10860676B2 (en) 2015-03-31 2020-12-08 Yandex Europe Ag Method and system for controlling presentation of web resources in a browser window
US11200293B2 (en) 2015-03-31 2021-12-14 Yandex Europe Ag Method and system for controlling presentation of web resources in a browser window
US10742519B2 (en) 2015-09-09 2020-08-11 Tate Consultancy Services Limited Predicting attribute values for user segmentation by determining suggestive attribute values

Similar Documents

Publication Publication Date Title
US8954452B2 (en) Method and apparatus for characterizing user behavior patterns from user interaction history
US10277479B2 (en) Method and apparatus for determining user context
US9105053B2 (en) Method and apparatus for determining a user age range
US11210706B2 (en) Method and apparatus for determining context-aware similarity
US20120072381A1 (en) Method and Apparatus for Segmenting Context Information
US20120331137A1 (en) Method and apparatus for estimating user characteristics based on user interaction data
US9881092B2 (en) Method and apparatus for content-aware role modeling and recommendation
US20110136542A1 (en) Method and apparatus for suggesting information resources based on context and preferences
US10473684B2 (en) Method and apparatus for providing movement detection based on air pressure data
US20130145024A1 (en) Method and apparatus for transfer of radio resource allocation
US9710480B2 (en) Method and apparatus for performing an incremental update of a recommendation model
WO2013029233A1 (en) Method and apparatus for providing recommendations based on context-aware group modeling
US20150339371A1 (en) Method and apparatus for classifying significant places into place categories
WO2012129771A1 (en) Method and apparatus for creating an ephemeral social network
CN106233282A (en) Use the application searches of capacity of equipment
WO2011064448A1 (en) Method and apparatus for determining similarity of media interest
US20150142822A1 (en) Method and apparatus for providing crowd-sourced geocoding
EP2553614A1 (en) Method and apparatus for context-indexed network resources
US20150254692A1 (en) Method and apparatus for social networking service strategy based on spread simulation
JP2013543167A5 (en)
US20120172025A1 (en) Method and apparatus for providing recommendations based on preloaded models
US20200342409A1 (en) Method, apparatus, and system for providing a distance metric for skill or feature data of a talent platform
US20150331930A1 (en) Method and apparatus for classification of media based on metadata
WO2012055104A1 (en) Method and apparatus for performing user segmentation based on user behavior information
US20150220988A1 (en) Method and apparatus for associating hotkeys with point of interest information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10858833

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10858833

Country of ref document: EP

Kind code of ref document: A1