KR20130113361A - Application recommendation method, application recommendation apparatus, application recommendation system and recordable medium - Google Patents

Application recommendation method, application recommendation apparatus, application recommendation system and recordable medium Download PDF

Info

Publication number
KR20130113361A
KR20130113361A KR1020130017682A KR20130017682A KR20130113361A KR 20130113361 A KR20130113361 A KR 20130113361A KR 1020130017682 A KR1020130017682 A KR 1020130017682A KR 20130017682 A KR20130017682 A KR 20130017682A KR 20130113361 A KR20130113361 A KR 20130113361A
Authority
KR
South Korea
Prior art keywords
item
correlation
context
user
application recommendation
Prior art date
Application number
KR1020130017682A
Other languages
Korean (ko)
Inventor
송 유
와이. 쳉 도린
정 상오
칼라사퍼 스왈로프
Original Assignee
삼성전자주식회사
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
Priority claimed from US13/436,237 external-priority patent/US8521750B2/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP13161345.7A priority Critical patent/EP2645321A1/en
Priority to CN201310110271.8A priority patent/CN103646020A/en
Publication of KR20130113361A publication Critical patent/KR20130113361A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Discuss the application recommendation method. An application recommendation method according to an embodiment of the present disclosure may include storing data related to a usage pattern of a user including information about an item and a context, wherein the context is determined by the electronic device when the item is used. Including a situation in which it operates, constructing a correlation table that includes the recommendable items and contexts extracted from each user's usage pattern, and what is the correlation value between the items and the context? It is stored in a correlation table, which is used to recommend one or more items.

Description

Application recommendation method, application recommendation device, application recommendation system and recording medium {APPLICATION RECOMMENDATION METHOD, APPLICATION RECOMMENDATION APPARATUS, APPLICATION RECOMMENDATION SYSTEM AND RECORDABLE MEDIUM}

The present invention relates to situational awareness. Specifically, the present invention relates to the situation-aware recommendation of an item to a user by using an association.

Conceptually, computing systems (e.g., computing devices, personal computers, laptops, smartphones, mobile phones) are those that accept information (content or data) and manipulate that information to obtain results, or substantially process that information effectively. Results can be determined based on sequential guidelines describing the law. In general, information used by a computing system is stored in computer-readable memory using digital or binary formats. More complex computing systems can store content, including the computer program itself. A computer program is a method of being embedded in a computer (or computing) device as a logic circuit on an invariant microprocessor or computer chip. In today's general-purpose computers, both types of programming are possible. The computing system may have, among other things, a support system that manages various resources (eg, memory, peripherals) and services (eg, basic functions such as opening files) and allows the resources to be shared among multiple programs. One such support system is generally known as an operating system (OS) that provides programmers with an interface used to access these resources and services.

There are many kinds of computing devices today. These computing devices range in size, cost, storage volume, from expensive, high-performance servers to relatively inexpensive personal computers (PCs) and notebooks, and to lower cost microprocessors or computer chips provided in automobiles, home electronics, and storage devices. And in terms of processing performance.

In recent years, the mobility and portability of computing systems have increased. A variety of mobile and micro devices are available. For example, cordless phones, media players, and personal digital assistants (PDAs) are widely used. In general, a mobile or miniature device (also referred to as a miniature computer or simply miniature) may be a pocket-size computing device that typically uses a small image display screen for user output and a miniature keyboard for user input. In the case of a PDA, the input and output can be combined into a touch screen interface.

In particular, mobile communication devices (such as mobile phones) are becoming very popular. Some mobile communication devices (eg, smartphones) provide a computing environment similar to that provided by personal computers (PCs). In other words, a smartphone can effectively provide a complete operating system, such as a standardized interface and platform for application developers. Given the popularity of mobile communication devices, mobile communication is described in more detail later.

In general, a mobile phone or a mobile phone may be a long distance, portable electronic device used for mobile communication. In addition to the phone's standard voice features, current mobile phones offer SMS, SMS, e-mail, packet switching for Internet access, and multimedia messaging services for sending pictures and videos (MMS). Can support various additional services.

Most modern cell phones are connected to the cellular network (mobile site) of the base station, and the bases are interconnected to the public switched telephone network (PSTN) (with the exception of satellite phones).

Short message service (SMS), often referred to as text messaging, is a means of sending and receiving relatively short messages in a mobile phone. SMS was originally defined in 1985 as part of the GSM specification as a means of sending and receiving messages of up to 160 characters on Global System for Mobile Communications (GMS) mobile terminals. Since then, support for these services has been extended to include alternative mobile standards such as ANSI CDMA networks and digital AMPS, satellite and wired networks. However, although the standard also supports other types of broadcast messaging, most SMS messages are used as text messages in mobile terminal periods. Especially in non-English European countries where GSM systems are well established, the term SMS is often used in the non-technical sense of the text message itself.

Multimedia Messaging Service (MMS) is a more modern solution for telephony messaging systems that can send messages that contain multimedia objects (images, audio, video, rich text) as well as text such as SMS. It is a standard. It can be used in cellular networks with other messaging systems such as SMS, mobile instant messaging and mobile e-mail. Major standardization efforts are made by 3GPP, 3GPP2 and Open Mobile Alliance (OMA).

When a user uses a computer or other electronic device to download, install and / or use an application or other item, there may be a number of situations in which a software application or other item may be recommended for use. One of them is the situation where a user moves a mobile device. The display and interface limitations of the device often make it difficult for a user to use them to perform a search for an application.

For example, a user may wish to utilize a price comparison software application on his mobile device for shopping. However, it may be difficult for a user to navigate a directory of available software application applications using a mobile device. In this case, you need to recommend a small set of software applications to the user.

The present invention has been made in accordance with the above-described needs, and an object of the present invention is to provide an application recommendation method, an application recommendation apparatus, an application recommendation system, and a recording medium for automatically recommending a software application suitable for a user's situation. .

According to an embodiment of the present invention, data related to a user's usage pattern is stored, and the stored data includes information on which item is used in which context. A correlation table is constructed so that the correlation values between each item and each context are stored in a correlation table, which is used to recommend one or more items.

According to another embodiment of the present invention, data of a user's usage pattern including an interface and information on which items are used in which context, a correlation table, and a correlation between each item and each context may be stored. An apparatus is provided that includes one or more processors configured to store and recommend one or more items using the correlation.

Another embodiment of the present invention provides a system for recommending to a user, the system comprising: means for storing usage pattern data of a user, including information about an item used and its context, means for constructing a correlation table; Means for storing a correlation value between each item in the correlation table and each context to recommend one or more items using the correlation.

Another embodiment of the present invention provides a program storage medium that can be recognized by a machine that explicitly executes an executable command program to perform a method for recommending to a user. The method comprises means for storing usage pattern data of a user, including information about an item used and its context, means for constructing a correlation table, each item in the correlation table to recommend one item using the correlation. And means for storing a correlation value between each context.

According to various embodiments of the present disclosure as described above, the present invention may automatically recommend a software application suitable for a user's situation.

1 is a diagram showing an example vector storing user information and context for a single data point;
2 is a diagram showing an example graph,
3 is an example of the graph where data points are gathered,
Figure 4 shows a method for recommending to the user according to the embodiment of the present invention. Flow chart,
5 illustrates an example of a correlation table according to an embodiment of the present invention;
Figure 6 is a block diagram showing a system according to an embodiment of the present invention, and
7 is a diagram illustrating a computing system according to various embodiments of the present disclosure.

The invention describes in detail specific embodiments, including the best mode contemplated by the inventors for carrying out the invention. Such specific embodiments are illustrated in the accompanying drawings. Although the present invention has been described in conjunction with specific embodiments, it is not intended to limit the invention to the described embodiments only. It is intended to cover alternatives, modifications, and equivalents that may be included within the meaning and scope of the invention as defined by the appended claims. Specific details are set forth in the following description in order to provide a thorough understanding of the present invention. The present invention may be realized without some or all of these specific details. In addition, well known configurations may not be described in detail in order not to unnecessarily distort the invention.

Various types of operating systems, programming languages, computing platforms, computer programs and / or general purpose machines may be used to implement components, steps, and / or data structures consistent with the present invention. Those skilled in the art will also appreciate that the devices, embedded in hardware, field program arrays (FPGAs), less general purpose devices, special purpose integrated circuits (ASICs), or similar contexts may be used without departing from the spirit and concept of the invention described herein. It will be appreciated that less general purpose devices may also be used. The invention may be embodied explicitly in a set of computer instructions stored on a computer readable medium, such as a memory device.

In an embodiment of the present invention, an application or other item (ITEM) is automatically recommended to the user based on data related to the current context (CONTEXT) and usage information. CONTEXT means a device and / or a situation in which the user operates. For example, the context may include the user's location as to whether the user is at home, at the office, or at another location. The context may include when of the day, such as whether it is morning, afternoon or evening. Those skilled in the art will recognize that many contexts contain different kinds of information, and nothing in this document should be construed as limiting the invention to any particular kind of information.

In one way the system provides software recommendations, the user specifies his or her own PREFERENCE, and uses that preference to guide application and service recommendations. For example, a user may indicate preference information for business-related software, and the system may use this preference information to recommend business-related software applications.

In this case, for example, if you have to choose between a game application and a word processing application, the system will recommend a word processing application. However, this method has the drawback that, according to research on its use, only a small number of users make an effort to specify preferences, so there is not enough data to elicit recommendations. Also, even when preferences are specified, user preferences depend on the particular situation. In other words, the user's preferences change with each situation. For example, a user may prefer business-related software during business hours or during the day, but the same user may prefer entertainment-related software at home. As another example, at home on a rainy evening, a user may want to prepare dinner or watch the news and prefer a software application related to these tasks. However, if a user attends a meeting at a similar time in the office, the user may want to call home or order food to take home on the way home. If only the recommendation method based on the preference is used, it is difficult to provide app information of the app which is effective in actual use.

According to an embodiment of the present invention, information about a context is collected and used in a process of recommending an application. In advance data about the use of the information is collected and stored as data points. The data point may be stored in a vector. 1 is a diagram showing an example vector storing user information and context for a single data point. In this example, the context information includes time 100, location 102, and temperature 104. Usage information indicates which applications the user has run, including e-mail 106, web browsing 108, and notepad 110.

Each point must be drawn as a point on a two-dimensional graph. 2 is a diagram showing an example of a graph. The mutual proximity of the data points on the graph indicates the degree of similarity of the vector. In an embodiment of the invention these data points are grouped into clusters of similar data points. Clustering is the classification of objects into different groups, or more precisely, the division of data sets into subsets (clusters), whereby data in each subset (ideally) shares some common characteristics (usually some defined distance Proximity to measurement). These clusters are useful for selecting the appropriate application for the system to recommend.

One way to cluster data points is to try to determine the optimal number of clusters for a given set of data points. This optimal number is called K. There are a variety of traditional techniques for making this determination, but all are beyond the scope of the present invention. However, there are several disadvantages to this approach. K must be determined dynamically and requires significant processing power that may be lacking in mobile devices. Also, determining K accurately can be very difficult, and incorrect guesses can negatively affect both clustering and recommendation accuracy. Considering the partitioned cluster, one of the methods for extracting the pattern is to compare the current data point with the cluster center to determine where the current data point belongs. Application patterns are then extracted from this cluster. For n-dimensional structures, the center is the intersection of all hyperplanes that divide X from the hyperplane to the same two moments. Informally, the hyperplane is the 'average' of all X points. Thus, the center of the cluster is the average of all points in the cluster. 3 is an example in which data points are collected on a graph. Cluster 300 has center 302 and cluster 304 has center 306.

However, comparing centers causes the problem that some data points neighboring the current data point are not selected as data points neighboring K even though they are close to the current data point just because the center belongs to a cluster far from the current data point. You can. As an example, data point 308 is depicted in FIG. 3 as part of cluster 310. Data point 308 is closer to cluster 300 than any data point in cluster 304. However, since the center 312 of the cluster 310 is farther from the center 302 of the cluster 300 than the center 306 of the cluster 304, the data point 308 may not be used for analysis even though it is most similar to the related data point 314 in the cluster 300.

Unlike clustering, another way of extracting a pattern is to collect the nearest data point from the current data point. The nearest neighbor is most similar to the current context and application. The application pattern is extracted through the information about the neighbor. However, this approach requires a comparison of all existing data points to find neighbors, which is also not suitable for on-line calculations in resource-constrained devices such as mobile.

In an embodiment of the invention, rather than clustering the data, the correlation between the item and the context is calculated from the usage log. The correlation value reveals how the context affects the use of the item. The final usage pattern of an item is calculated by integrating actions from multiple contexts.

When a new point comes in (i.e., a recommendation is made based on the current context), the value of each item is calculated based on the current context values and the combined multiple effects on the correlation table. The recommendation decision is then made based on the calculated value for each item.

4 is a flowchart illustrating a method for recommending to a user according to an embodiment of the present invention. Each step of the method is implemented in hardware, software or a combination thereof. The user may use the electronic device. This device can be a stationary device such as a desktop computer or a mobile device such as a mobile phone, PDA or laptop computer. Those skilled in the art will recognize that other types of devices may be used in the present invention, and that the content in this document should not be construed as limiting the device to specific implementations.

In step 400, data on the user's use of the item is stored. This data includes information about the item used by the user and the context in which the item was used. The item includes all items that the user finds helpful in making recommendations. In one embodiment of the present invention, the item may include a software application running on the device. Therefore, a user may find that recommendation through other non-operating applications is more helpful to prevent the operation, installation, or download of applications that are less likely to be of interest. In another embodiment, the item may include a computing service. Examples include applications that use other devices such as antivirus services, diagnostic services, or remote games. In another embodiment, an item may include other information such as music, a website, or a movie. Those skilled in the art will recognize that many other kinds of objects can be recommended through various embodiments of the present invention. This use is for example stored in a vector. The vector contains the context associated with the application usage value.

In step 402 a correlation table may be constructed. The correlation table includes correlation values for each item and each context. In one embodiment, the correlation value ranges from 1 to -1. A 1 indicates a strong positive correlation between the item and the context, which means that as the value of the context increases, the value of the item also increases. -1 indicates a strong negative correlation between the item and the context, which means that as the value of the context decreases, the value of the item also decreases. 0 indicates that there is no correlation between the item and the context or the correlation is incorrect. The main advantage of using correlation is the speed and efficiency of the solution. There is no need to guess K for clustering.

 5 is a correlation table according to an embodiment of the present invention. In this example, the item represents the software application to be represented. Here, several contexts are listed on each axis (where three time zones of the day, AM, PM, night and two places, home and office are listed). Also, items recommended for each axis are email, word processor, and chess. Within the table there is a probability corresponding to each context and item. For example, the probability that a user wants to use a word processor program in the context of morning is 0.83 (1 is the highest and 0 is the lowest). This is shown in cell 500.

It should be noted that the correlation table is an abstraction of the data storage method. There is no requirement that correlations be stored in traditional table data structures. For example, the correlation table may be stored in an array.

In step 404, it is easier to determine the probability that an item may be useful to a user in a particular context after this table is populated. This is true regardless of the number of dimensions in the context.

For example, FIG. 5 is a sample table using a two-dimensional context, and the context includes a first range of time of day and a second range of place. Probability calculations based on two ranges can be determined using the following formula:

Figure pat00001

Where P is the probability, Ci is the i-th part of the current context (Cn is the end of this part), Ai is the i-th recommended software, and d is the number of context ranges.

Thus, for example, if the user's current context is work in the morning, and the system is determining the probability that the user wants to use a word processing application, then the correlation table may be a combination of morning and word processing (here 0.83) and work And will be contacted for a combination of word processing (here 0.95). Adding these numbers and dividing by 2 (the number of ranges in the context) yields a 0.89 probability that the user will want to use a word processing program at work in the morning. Similar calculations can be performed for items that the user wishes to use or recommend.

In one embodiment of the present invention, the value to be stored in the correlation coefficient table is configured using Pearson's correlation coefficient. Pearson's correlation coefficient reflects the degree of linear relationship between two variables. The range is from +1 to -1. A correlation coefficient of +1 means a perfect positive linear relationship between the variables.

In another embodiment of the present invention, the value to be stored in the correlation table is constructed using a cosine based correlation. In cosine-based correlations, the correlation coefficient is also considered as the cosine of the angle between two vectors of the sample.

In step 405 one or more items are recommended based on the probability that the user wishes to use. The number of items to be recommended is determined in various ways. In one embodiment, the system recommends x items that are most likely to be used by the user, and x is determined dynamically using the average number of items used in the selected cluster. In another embodiment of the present invention, x may be a value previously determined by an administrator.

In another embodiment of the present invention, when recommending items, in order to obtain an estimate of the true value of each item, it is necessary to obtain an estimate of the true value of each item, using a formula that has a result with values that vary from zero to one, just like the original correlation table. The value of application usage is recalculated. Specifically, the value is recalculated using the formula:

Figure pat00002

R (i) represents the true value of the application's use under the past context. The executed application coef (i, j) represents the correlation between the application i and the context or the running application. vj Shows the value of the context of application j during execution. uj represents the average value of the context of the application j during execution.

The true value of a non-running application is between 1 and -1. 1 indicates a perfect positive correlation, -1 indicates a perfect negative correlation. For each non-running application, the system calculates a threshold as shown below.

Figure pat00003

In one case in the Ri log, this represents the estimated real value for application i. And σ represents the reference deviation of R for this application on all conditions in the log. This threshold is used to determine whether to recommend the application. For example, if the correlation value for one non-running application is less than the threshold, the application may not be recommended.

It should be noted that the above calculation and recommendation steps are usually performed only on items that are not currently in use by the user, since the user does not usually need a recommendation for an item that is already in use. However, there may be situations where it is beneficial for a user to recommend an item that is already in use. As such, unless the language is explicitly disclosed, nothing in this document should be construed to limit the recommendation to non-executive or other unused items.

It should be noted that it may be desirable to perform some of the steps of the method of FIGS. 4-5 at non-operational (offline) time of the device to increase computing efficiency. More specifically, to maximize the utility of the processor of the user's device and to reduce the (online) response time when the actual recommendation is required, it may be beneficial to perform some of the tasks described above if the user's device is used slightly or not. Can be.

Many of the steps involved in gathering and clustering the data itself can be performed offline.

In another embodiment of the present invention, a solution based on the probability described above may be mixed with other techniques to improve the recommendation process. For example, solutions based on user-selected preferences are described earlier in this document. This solution is very limited when implemented alone, but if a solution based on this preference is mixed with a solution based on the probabilities described above, each solution performed alone can be improved. Such solutions may include weighting the determined probabilities for a given context, for example based on the user's preferences. For example, in the previous example, the probability that a user wants to run a word processing application in the office in the morning is 0.89. But maybe this particular user prefers to run a game application in the office in the morning because the boss doesn't go to work until afternoon. If the user specifies that by providing a preference for the game application, the weighting decreases the likelihood that the user wishes to run the word processing application (or increases the likelihood that the user wants to run the game application). do). In another embodiment of the present invention, granulation may be performed to the same degree as the context detected by the preference. Thus, it can be clearly stated that the user is very fond of gaming applications in the office during the morning.

For a combination of probability-based and preference-based solutions, the system will simply use a preference-based solution or a combination of preference and probability-based solutions if the user specifies a preference. If is not specified, it can be designed to simply use a probability-based solution. This allows the use of preference-based information even when multiple users do not choose to specify a preference, or even if they want to provide preference only for a specific context, excluding other contexts.

6 is a block diagram illustrating a system according to an exemplary embodiment. The system on this diagram is a mobile device. However, one skilled in the art will recognize that the system can be realized in various devices or groups of devices. For example, the system includes a mobile device having a processor that performs some of the enumerated steps, and also a server that performs other parts of the enumerated steps.

The system may include an interface 600 and one or more processors 602. The processor is configured to perform some or all of the steps disclosed in FIG. 4 and the corresponding text above. In addition, when the system includes a mobile device, it may include a load detection module 604. The load detection module may detect the degree of load of the processor 602 (ie, how busy the processor is). In this case, the one or more processors may be configured to perform storage and clustering when the device is not used or less used, and to make decisions and selections, calculations, and recommendations when the user requires an actual recommendation.

7 illustrates a computing system 700A and 700B according to various embodiments of the present disclosure. Those skilled in the art will appreciate that computing system 700A and / or 700B may be a computing device including, for example, one or more processors and memory (not shown). Computing system 700A substantially includes pattern sensing system 702 that exhibits acquisition of a state (or status) and / or contextual information of user 704 and / or a corresponding improvement.

In one embodiment of the present invention, computing system 700A may be a mobile device and computing system 700B may be a server. However, this is merely one example of what form such computing device may take and is not intended to be limiting.

Typically, the state of user 604 is based on or related to one or more components 708 of computing system 700A. Component 708 may include internal 708A and remote 708B components. For example, one or more components 708 may be one or more movable and / or available components (e.g., one or more applications running on computing system 700A).

In a similar context, the context 706 obtained by the pattern sensing system 702 is associated with one or more components 710. And / or the context 706 obtained by the pattern sensing system 702 is determined or based on one or more components 710. Therefore, component 708 may be identical to component 710 or one or more other components. In general, the pattern sensing system 702 obtains the context (e.g. context of use) of the computing system 700A, which represents a situation for the computing system 700A. The context is determined based on various internal and external factors, including the status of one or more component 708A uses. By way of example, one or more components 710 may determine (e.g. measure) one or more elements, elements, or variables associated with the external environment 710 and provide them to the pattern sensing system 702. Also as an example, internal context 706a representing the context of computing system 700A usage may also be determined due to one or more components 708A and / or 710. And / or based thereon, and provided to the pattern sensing system 702. External context 706c is also received directly, for example, from one or more external components (not shown) and processed by the pattern sensing system 702. Therefore, the pattern sensing system 702 that determines the situation considers both the context of use of one or more components 708 and / or 710 and other context information 706.

In any case, the pattern detection system 702 processes the state of the usage information 704 and the context information 706 to generate the integrated state and contextual usage data 714. It is evaluated that the pattern detection system 702 can effectively represent the context information 706 as a situation related to the state of use 704. Thus, the unified state and context usage 714 can effectively include a set of situations (situations 1, 2 and 3) with each (or related) usage state. For example, the unified state and contextual usage data 714 may effectively specify that the computing system 700A is within the first usage state (use state A), etc. in the first situation (situation 1). As a result, it allows to determine the usage pattern of computing system 700A based on the association between the integration state and the contextual use state and the particular situation containing the effectively observed usage state.

In particular, the pattern extractor / use prediction system 716 can effectively acquire the integrated state and contextual usage data 714 to determine contextual patterns of usage data 718 based on the relationship between usage status and the situation in which the usage is observed. have. The pattern extractor / use prediction system 716 may use a situation-specific pattern of use data 718 for a plurality of applications. For example, the contextual pattern of usage data 718 is used to determine the availability 720 of computing system 700 for a particular situation. Availability 720 shows, for example, the probability that computing system 700A will be used in a particular situation (e.g. situation 2) according to a particular usage state (e.g. usage state C).

Those skilled in the art will readily appreciate that the pattern detection system 702 and the pattern extractor / expectation of use system 716 can be combined and supplied to a singular computing system (e.g. computing device). That is, the singular computing system extracts the contextual pattern of usage data 718, including effectively determining the unified state and contextual usage data 714 and using it to determine the likelihood 720 of usage. It should be noted that the pattern branch system 702 can communicate with the pattern extractor / use prediction system 716. The pattern detection system 702 can effectively determine the integration state and the context usage data 714. In addition, the pattern extractor / use prediction system 716 may include, for example, the contextual pattern and / or use of the usage data 718 to affect information gathered by the pattern detection system, including, for example, the state and context information 709 of use 704. Based on the possibility 720, it effectively provides feedback to the pattern detection system 702.

The pattern extractor / use prediction system 716 determines a usage pattern based, for example, on the frequency of occurrence of one or more states of use relating to one or more situations. It will be appreciated that there is no need to provide supervised training to the computing system 700A or 700B to determine the usage pattern (e.g. usage pattern of the computing system 700A). Furthermore, situations in which the integrated state and contextual usage data 714 effectively represent need not be predefined before they occur. That is, the situation is defined when it occurs. The pattern of usage data 718 is used to define and / or influence, for example, information that is obtained dynamically. Similarly, the state of use does not need to be predefined before it occurs. As a result, computing systems 700A and 700B can be easily used for new usage (eg new applications) and situations, and changes in usage (eg changes to frequently used applications, use of devices by other users or other habitual users) and / or computing. It can be adapted to changes related to the use of the system (eg using devices used in the office at home, moving to different geographical locations).

While the invention has been particularly shown and described with reference to specific embodiments, it will be understood by those skilled in the art that changes may be made in form and detail of the embodiments described without departing from the spirit and scope of the invention. In addition, while various advantages, aspects, and objects of the present invention have been discussed herein with reference to various embodiments, the scope of the present invention is not limited to references to these advantages, aspects, and objects. Rather, the scope of the invention should be determined with reference to the appended claims.

100: time 102: location
104: Temperature 106: Email
108: Web Browsing 108 110: Notepad
300, 304; Cluster 302,306: Cluster Centered
600: interface 602: processor
604: Load Detection Module
700A, 700B: Computing Systems
702: pattern detection system 704: user status

Claims (15)

In the application recommendation method,
Storing data related to a usage pattern of a user including information about an item and a context, wherein the context includes a situation in which the electronic device operates when the item is used,
Constructing a correlation table, each axis of the table including a recommendable item and context extracted from the usage pattern of the user,
An correlation relationship value between the item and the context is stored in the correlation table, wherein the correlation table is used to recommend one or more of the items.
The method of claim 1,
Wherein the correlation value indicates a relationship between the item and the context.
The method of claim 1,
And the item comprises at least one of a software application, a computing service, and data.
The method of claim 1,
Wherein said correlation table includes one or more items and respective contexts depicted by data points on each axis of said correlation table.
The method of claim 1,
Wherein said correlation value is configured using Pearson's correlation coefficient.
The method of claim 1,
Wherein the correlation value is configured using a cosine-based correlation.
The method of claim 1,
Recalculating one or more of the correlation values to collect actual values in a usage log.
The method of claim 1,
Comprising the correlation table,
Application recommendation method characterized in that performed without performing the clustering of the usage pattern.
interface; And
Store data related to a user's usage pattern, including information about the item and the context in which the item is used, the background including a situation in which the device operates when the item is used;
Each axis of the table constitutes a correlation table that contains all of the recommended items and contexts,
At least one processor for storing a correlation value between the item in the correlation table and the context;
Wherein said correlation is used to recommend one or more items.
The device of claim 9, wherein the application recommendation device is a mobile device. 10. The method of claim 9,
And the correlation table is configured without performing clustering of the usage pattern.
The apparatus of claim 11, wherein the application recommendation device is a mobile device. In the application recommendation system,
Means for storing data about a user's usage pattern including information about an item and the context in which the item is used, wherein the context includes a situation in which the electronic device operates when the item is used;
Means for constructing a correlation table in which each axis of the table includes both the recommendable item and the context extracted from the usage pattern;
Means for storing a correlation value between said item of said correlation table and said context,
A computer processor for performing interaction with said storage means, said constituent means, and performing calculations and providing results based on inputs from said storage means, said constituent means;
Wherein said correlation is used to recommend one or more items.
The method of claim 13,
And the configuration means configures the correlation table without performing clustering of the usage patterns.
A recording medium having recorded thereon a computer readable program capable of executing the method for recommending an application according to any one of claims 1 to 9.
KR1020130017682A 2012-03-30 2013-02-19 Application recommendation method, application recommendation apparatus, application recommendation system and recordable medium KR20130113361A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13161345.7A EP2645321A1 (en) 2012-03-30 2013-03-27 Situation-aware recommendation using correlation
CN201310110271.8A CN103646020A (en) 2012-03-30 2013-04-01 Situation-aware recommendation using correlation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/436,237 US8521750B2 (en) 2007-10-22 2012-03-30 Situation-aware recommendation using correlation
US13/436,237 2012-03-30

Publications (1)

Publication Number Publication Date
KR20130113361A true KR20130113361A (en) 2013-10-15

Family

ID=49640542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130017682A KR20130113361A (en) 2012-03-30 2013-02-19 Application recommendation method, application recommendation apparatus, application recommendation system and recordable medium

Country Status (1)

Country Link
KR (1) KR20130113361A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116992152A (en) * 2023-08-28 2023-11-03 荣耀终端有限公司 Application recommendation method and electronic equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116992152A (en) * 2023-08-28 2023-11-03 荣耀终端有限公司 Application recommendation method and electronic equipment

Similar Documents

Publication Publication Date Title
US8521750B2 (en) Situation-aware recommendation using correlation
US8478747B2 (en) Situation-dependent recommendation based on clustering
US8166052B2 (en) Situation recognition for recommendation using merge-split approach
US8019782B2 (en) Situation-aware recommendation using limited cluster sizes
US8037007B2 (en) Situation-aware thresholding for recommendation
US7899813B2 (en) Situation-aware pattern extraction and recommendation
CN107209781B (en) Contextual search using natural language
WO2019119985A1 (en) Method for preloading application, storage medium, and terminal device
US20090307176A1 (en) Clustering-based interest computation
US9858342B2 (en) Method and system for searching for applications respective of a connectivity mode of a user device
US20100241663A1 (en) Providing content items selected based on context
US8032468B2 (en) Identifying and recommending potential uses of computing systems based on their patterns of use
EP3329430A1 (en) Inferring user availability for a communication and changing notifications settings based on user availability or context
CN103049515A (en) Method, device and equipment for classifying application programs
CN109582470B (en) Data processing method and data processing device
US20100114930A1 (en) Situation-aware, interest based search query generation
CN112104505B (en) Application recommendation method, device, server and computer readable storage medium
US11023544B2 (en) User matching method and apparatus
EP2645321A1 (en) Situation-aware recommendation using correlation
CN107450951B (en) Application processing method and device, storage medium and terminal
CN110929129A (en) Information detection method, equipment and machine-readable storage medium
EP3076608B1 (en) Techniques to share and remix media through a messaging system
KR20130113361A (en) Application recommendation method, application recommendation apparatus, application recommendation system and recordable medium
US8234893B2 (en) Cold-start in situation-aware systems
CN111666485B (en) Information recommendation method, device and terminal

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination