Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
AU2012216805B2 - Method, system and apparatus for determining a suitability rating for a recommendation - Google Patents
[go: Go Back, main page]

AU2012216805B2 - Method, system and apparatus for determining a suitability rating for a recommendation - Google Patents

Method, system and apparatus for determining a suitability rating for a recommendation Download PDF

Info

Publication number
AU2012216805B2
AU2012216805B2 AU2012216805A AU2012216805A AU2012216805B2 AU 2012216805 B2 AU2012216805 B2 AU 2012216805B2 AU 2012216805 A AU2012216805 A AU 2012216805A AU 2012216805 A AU2012216805 A AU 2012216805A AU 2012216805 B2 AU2012216805 B2 AU 2012216805B2
Authority
AU
Australia
Prior art keywords
recommendation
determining
profile
usage
electronic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
AU2012216805A
Other versions
AU2012216805A1 (en
Inventor
Sammy Chan
Ij Eric Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to AU2012216805A priority Critical patent/AU2012216805B2/en
Priority to US14/022,824 priority patent/US9990666B2/en
Publication of AU2012216805A1 publication Critical patent/AU2012216805A1/en
Application granted granted Critical
Publication of AU2012216805B2 publication Critical patent/AU2012216805B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Abstract METHOD, SYSTEM AND APPARATUS FOR DETERMINING A SUITABILITY RATING FOR A RECOMMENDATION A method (700) of determining a suitability rating for a recommendation, is disclosed. A usage profile is determined for an electronic device (101). The usage profile defines a measure of user interactions with the device for a period of time. An engagement profile associated with at least one task to be recommended is accessed. The engagement profile 10 identifies device user interactions required in order to action the task. A suitability rating is determined for the recommendation by comparing the determined usage profile for the device (101) with the engagement profile associated with the task. 6699069v 1 (P042039_SpeciAs Filed) -7/10 Start 510 500 Detect current device usage session by user Generate new recommendation for user Determine suitability rating of recommendation based on usage profile and engagement profile of recommendation No Is suit ability rating above a predetermined threshold? Yes 550 Present recommendation to user End Fig. 5 (699018v I) PO42039_DrawingsAs Filed

Description

S&F Ref: P042039 AUSTRALIA PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT Name and Address Canon Kabushiki Kaisha, of 30-2, Shimomaruko 3 of Applicant : chome, Ohta-ku, Tokyo, 146, Japan Actual Inventor(s): I-Jan Eric Wang Sammy Chan Address for Service: Spruson & Ferguson St Martins Tower Level 35 31 Market Street Sydney NSW 2000 (CCN 3710000177) Invention Title: Method, system and apparatus for determining a suitability rating for a recommendation The following statement is a full description of this invention, including the best method of performing it known to me/us: 5845c(6699942_1) METHOD, SYSTEM AND APPARATUS FOR DETERMINING A SUITABILITY RATING FOR A RECOMMENDATION FIELD OF INVENTION The current invention relates generally to delivery of recommendations and, in particular, the suitability of a recommendation to be delivered to an electronic device. The present invention also relates to a method and apparatus for determining a suitability rating for 5 a recommendation, and to a computer program product including a computer readable medium having recorded thereon a computer program for determining a suitability rating for a recommendation. DESCRIPTION OF BACKGROUND ART Recommendation has become a common feature in many electronic devices and other 10 systems. When there are a multitude of choices available to a user or when a user is unaware of the availability of potentially desirable goods and services, a recommendation system can be a useful tool for the user by bringing relevant choices to attention of the user. Thus, a lot of time and effort can be saved by the user in discovering individual choices. Recommendation systems are commonly used by online retailers to generate purchase 15 recommendations. Such recommendation systems are also used by media content providers to generate, for example, movie, music and news content recommendations. The recommendations are typically based on the user's own past behaviours and other similar users' past behaviours. Various degrees of personalisation may also be employed by a recommendation system to relate a recommendation to a personal aspect of the user in order 20 to increase the effectiveness of the recommendation. One example of such personalisation is the making of a recommendation for purchasing a gift for a loved one near a birthday of the loved one. As popularity of using various recommendation methods grows, the number of recommendations targeting a user has also increased dramatically. The user may receive a 25 recommendation through various means such as email or a notification on a mobile application running on a mobile phone (e.g., smart phone). Often, these recommendations are presented to the user unsolicited, causing the user to perceive them as advertising spam, especially when the current environment or user's mind-set is unsuitable to act upon a recommendation. Under such circumstances, a recommendation presented to the user may be 30 ignored or, at best, the action required for the recommendation may be postponed. Any 6699069vi (PO42039_SpeciAs Filed) -2 postponed recommendations may be forgotten by the user or the desire for utilising the recommendations may wane before the user has a chance to follow-up on the recommended action. This problem can cause a low utilisation of recommendations even if the recommendations are relevant and appropriately personalised. 5 SUMMARY OF THE INVENTION It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements. According to one aspect of the present disclosure, there is provided a method of determining a suitability rating for a recommendation, said method comprising: 0 determining a usage profile for an electronic device, said usage profile defining a measure of user interactions with the device for a period of time; accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and 5 determining a suitability rating for the recommendation by comparing the determined usage profile for the device with the engagement profile associated with the task. According to another aspect of the present disclosure, there is provided an apparatus for determining a suitability rating for a recommendation, said apparatus comprising: means for determining a usage profile for an electronic device, said usage profile 20 defining a measure of user interactions with the device for a period of time; means for accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and means for determining a suitability rating for the recommendation by comparing the 25 determined usage profile for the device with the engagement profile associated with the task. According to another aspect of the present disclosure, there is provided a system for determining a suitability rating for a recommendation, said system comprising: a memory for storing data and a computer program; 10981105vl -3 a processor coupled to the memory for executing said computer program, said computer program comprising instructions for: determining a usage profile for an electronic device, said usage profile defining a measure of user interactions with the device for a period of time; 5 accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and determining a suitability rating for the recommendation by comparing the determined usage profile for the device with the engagement profile associated with the 0 task. According to another aspect of the present disclosure, there is provided a computer readable medium with a computer program stored thereon for determining a suitability rating for a recommendation, said computer program comprising: code for determining a usage profile for an electronic device, said usage profile defining 5 a measure of user interactions with the device for a period of time; code for accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and code for determining a suitability rating for the recommendation by comparing the 20 determined usage profile for the device with the engagement profile associated with the task. Other aspects of the invention are also disclosed. BRIEF DESCRIPTION OF THE DRAWINGS One or more embodiments of the invention will now be described with reference to the following drawings, in which: 25 Figs. 1A and 1B collectively form a schematic block diagram representation of an electronic device upon which described arrangements can be practised; Fig. 1C is a schematic block diagram of a software architecture for use with the described arrangements; 10981105vl -4 Fig. 2 shows structure and example data of a usage profile; Fig. 3 is a schematic flow diagram showing a method of determining a usage profile; Fig. 4 is a schema diagram showing structure and example data of an engagement profile; 5 Fig. 5 is a schematic flow diagram showing a method of delivering an on-demand generated recommendation; Fig. 6 is a schematic flow diagram showing a method of prioritising and delivering pending recommendations; Fig. 7 is a schematic flow diagram showing a method of determining a suitability 10 rating for a recommendation, as used in the methods of Fig. 5 and Fig. 6; and Fig. 8 shows an engagement profile and a usage profile. DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for 15 the purposes of this description the same function(s) or operation(s), unless the contrary intention appears. A method 700 of determining a suitability rating for a recommendation is described below with reference to Fig. 7. The determined suitability rating may be used in a method 500 of delivering an on-demand generated recommendation, which is also described below with 20 reference to Fig. 5. The determined suitability rating may also be used in a method 600 of prioritising and delivering pending recommendations, which will also be described below with reference to Fig. 6. Figs. IA and I B collectively form a schematic block diagram of a general purpose electronic device 101 including embedded components, upon which the described methods 25 are desirably practiced. The electronic device 101 may be, for example, a mobile phone (e.g., smart phone), a portable media player, personal data assistant or a digital camera, in which processing resources are limited. Nevertheless, the methods to be described may also be performed on higher-level devices such as desktop computers, server computers, and other such devices with significantly larger processing resources. 30 As seen in Fig. lA, the electronic device 101 comprises an embedded controller 102. Accordingly, the electronic device 101 may be referred to as an "embedded device." In the present example, the controller 102 has a processing unit (or processor) 105 which is bi 6699069v 1 (PO42039_SpeciAs Filed) -5 directionally coupled to an internal storage module 109. The storage module 109 may be formed from non-volatile semiconductor read only memory (ROM) 160 and semiconductor random access memory (RAM) 170, as seen in Fig. lB. The RAM 170 may be volatile, non volatile or a combination of volatile and non-volatile memory. 5 The electronic device 101 includes a display controller 107, which is connected to a video display 114, such as a liquid crystal display (LCD) panel or the like. The display controller 107 is configured for displaying graphical images on the video display 114 in accordance with instructions received from the embedded controller 102, to which the display controller 107 is connected. 10 The electronic device 101 also includes user input devices 113 which are typically formed by keys, a keypad or like controls. In some implementations, the user input devices 113 may include a touch sensitive panel physically associated with the display 114 to collectively form a touch-screen. Such a touch-screen may thus operate as one form of graphical user interface (GUI) as opposed to a prompt or menu driven GUI typically used with 15 keypad-display combinations. Other forms of user input devices may also be used, such as a microphone (not illustrated) for voice commands or a joystick/thumb wheel (not illustrated) for ease of navigation about menus. As seen in Fig. lA, the electronic device 101 also comprises a portable memory interface 106, which is coupled to the processor 105 via a connection 119. The portable 20 memory interface 106 allows a complementary portable memory device 125 to be coupled to the electronic device 101 to act as a source or destination of data or to supplement the internal storage module 109. Examples of such interfaces permit coupling with portable memory devices such as Universal Serial Bus (USB) memory devices, Secure Digital (SD) cards, Personal Computer Memory Card International Association (PCMIA) cards, optical disks and 25 magnetic disks. The electronic device 101 also has a communications interface 108 to permit coupling of the device 101 to a computer or communications network 120 via a connection 121. The connection 121 may be wired or wireless. For example, the connection 121 may be radio frequency or optical. An example of a wired connection includes Ethernet. Further, an 30 example of wireless connection includes BluetoothTM type local interconnection, Wi-Fi (including protocols based on the standards of the IEEE 802.11 family), Infrared Data Association (IrDa) and the like. 6699069v 1 (P042039_SpeciAs Filed) -6 Typically, the electronic device 101 is configured to perform some special function. The embedded controller 102, possibly in conjunction with further special function components 110, is provided to perform that special function. For example, where the device 101 is a digital camera, the components 110 may represent a lens, focus control and image 5 sensor of the camera. The special function components 110 are connected to the embedded controller 102. As another example, the device 101 may be a mobile telephone handset. In this instance, the components 110 may represent those components required for communications in a cellular telephone environment. Where the device 101 is a portable device, the special function components 110 may represent a number of encoders and 10 decoders of a type including Joint Photographic Experts Group (JPEG), (Moving Picture Experts Group) MPEG, MPEG-I Audio Layer 3 (MP3), and the like. The methods described hereinafter may be implemented using the embedded controller 102, where the processes of Figs. 2 to 7 may be implemented as one or more software application programs 133 executable within the embedded controller 102. The electronic 15 device 101 of Fig. IA implements the described methods. In particular, with reference to Fig. I B, the steps of the described methods are effected by instructions in the software 133 that are carried out within the controller 102. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules 20 performs the described methods and a second part and the corresponding code modules manage a user interface between the first part and the user. The software 133 of the embedded controller 102 is typically stored in the non-volatile ROM 160 of the internal storage module 109. The software 133 stored in the ROM 160 can be updated when required from a computer readable medium. The software 133 can be 25 loaded into and executed by the processor 105. In some instances, the processor 105 may execute software instructions that are located in RAM 170. Software instructions may be loaded into the RAM 170 by the processor 105 initiating a copy of one or more code modules from ROM 160 into RAM 170. Alternatively, the software instructions of one or more code modules may be pre-installed in a non-volatile region of RAM 170 by a manufacturer. After 30 one or more code modules have been located in RAM 170, the processor 105 may execute software instructions of the one or more code modules. 6699069v 1 (PO42039_SpeciAs Filed) -7 The application program 133 is typically pre-installed and stored in the ROM 160 by a manufacturer, prior to distribution of the electronic device 101. However, in some instances, the application programs 133 may be supplied to the user encoded on one or more CD-ROM (not shown) and read via the portable memory interface 106 of Fig. IA prior to storage in the 5 internal storage module 109 or in the portable memory 125. In another alternative, the software application program 133 may be read by the processor 105 from the network 120, or loaded into the controller 102 or the portable storage medium 125 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that participates in providing instructions and/or data to the controller 102 for 10 execution and/or processing. Examples of such storage media include floppy disks, magnetic tape, CD-ROM, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto optical disk, flash memory, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the device 101. Examples of transitory or non-tangible computer readable transmission media that may also participate in the 15 provision of software, application programs, instructions and/or data to the device 10 1 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like. A computer readable medium having such software or computer program recorded on it is a computer program product. 20 The second part of the application programs 133 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display 114 of Fig. IA. Through manipulation of the user input device 113 (e.g., the keypad), a user of the device 101 and the application programs 133 may manipulate the interface in a functionally adaptable manner to 25 provide controlling commands and/or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers (not illustrated) and user voice commands input via the microphone (not illustrated). Fig. lB illustrates in detail the embedded controller 102 having the processor 105 for 30 executing the application programs 133 and the internal storage 109. The internal storage 109 comprises read only memory (ROM) 160 and random access memory (RAM) 170. The processor 105 is able to execute the application programs 133 stored in one or both of the 6699069v 1 (P042039_SpeciAs Filed) -8 connected memories 160 and 170. When the electronic device 101 is initially powered up, a system program resident in the ROM 160 is executed. The application program 133 permanently stored in the ROM 160 is sometimes referred to as "firmware". Execution of the firmware by the processor 105 may fulfil various functions, including processor management, 5 memory management, device management, storage management and user interface. The processor 105 typically includes a number of functional modules including a control unit (CU) 151, an arithmetic logic unit (ALU) 152 and a local or internal memory comprising a set of registers 154 which typically contain atomic data elements 156, 157, along with internal buffer or cache memory 155. One or more internal buses 159 interconnect these 10 functional modules. The processor 105 typically also has one or more interfaces 158 for communicating with external devices via system bus 181, using a connection 161. The application program 133 includes a sequence of instructions 162 though 163 that may include conditional branch and loop instructions. The program 133 may also include data, which is used in execution of the program 133. This data may be stored as part of the 15 instruction or in a separate location 164 within the ROM 160 or RAM 170. In general, the processor 105 is given a set of instructions, which are executed therein. This set of instructions may be organised into blocks, which perform specific tasks or handle specific events that occur in the electronic device 101. Typically, the application program 133 waits for events and subsequently executes the block of code associated with that event. 20 Events may be triggered in response to input from a user, via the user input devices 113 of Fig. IA, as detected by the processor 105. Events may also be triggered in response to other sensors and interfaces in the electronic device 101. The execution of a set of the instructions may require numeric variables to be read and modified. Such numeric variables are stored in the RAM 170. The disclosed method uses 25 input variables 171 that are stored in known locations 172, 173 in the memory 170. The input variables 171 are processed to produce output variables 177 that are stored in known locations 178, 179 in the memory 170. Intermediate variables 174 may be stored in additional memory locations in locations 175, 176 of the memory 170. Alternatively, some intermediate variables may only exist in the registers 154 of the processor 105. 30 The execution of a sequence of instructions is achieved in the processor 105 by repeated application of a fetch-execute cycle. The control unit 151 of the processor 105 maintains a register called the program counter, which contains the address in ROM 160 or 6699069v 1 (PO42039_SpeciAs Filed) -9 RAM 170 of the next instruction to be executed. At the start of the fetch execute cycle, the contents of the memory address indexed by the program counter is loaded into the control unit 151. The instruction thus loaded controls the subsequent operation of the processor 105, causing for example, data to be loaded from ROM memory 160 into processor registers 154, 5 the contents of a register to be arithmetically combined with the contents of another register, the contents of a register to be written to the location stored in another register and so on. At the end of the fetch execute cycle the program counter is updated to point to the next instruction in the system program code. Depending on the instruction just executed this may involve incrementing the address contained in the program counter or loading the program 10 counter with a new address in order to achieve a branch operation. Each step or sub-process in the processes of the methods described below is associated with one or more segments of the application program 133, and is performed by repeated execution of a fetch-execute cycle in the processor 105 or similar programmatic operation of other independent processor blocks in the electronic device 101. 15 The described methods recognise a set of operating conditions that can influence the utilisation of a recommendation and present the recommendation when the operating conditions are suitable. The operating conditions that are considered, in accordance with the described methods, are related to the electronic device 101 being used by a user of the device 10 1 to receive a recommendation. 20 The operating conditions that are considered are also related to "current usage environment". Current usage environment refers to the environmental factors that the user of the device 101 is operating under and/or currently experiencing. Current usage environment may include information such as current location of the electronic device 101. The current location of the electronic device 101 may be determined based on a physical geo-location or a 25 logical location (e.g., on a train travelling from home to the office, etc.). Current usage environment may also include current activity (e.g. browsing news articles on the device 101) and level of user interface interactivity with the electronic device 101 being used to carry out the current activity (e.g. frequency of user interface gestures such as swiping and tapping on user interface objects). 30 The described methods determine suitability of operating conditions, currently being experienced by the user, for delivery of a recommendation that is associated with a task. If the recommendation is deemed suitable, the user should be in a position to utilise the 6699069v i (P042039_SpeciAs Filed) - 10 recommendation. The user should also be in a position to act upon the associated task when presented with the recommendation, rather than dismissing the recommendation or postponing the action due to unsuitable operating conditions preventing the user from doing so at the time of delivery. As such, a rejection of a recommendation presented in accordance with the 5 described methods, is more potentially due to content of the recommendation rather than timing of the delivery. The described methods determine a suitability rating for a recommendation delivery by comparing what is required of the user for acting on the recommendation and current operating conditions of the user. Such a comparison is used to ensure that the conditions are 10 suitable for performing the task associated with the recommendation. Fig. IC is a schematic block diagram showing a software architecture 190 for use in the described methods. The software architecture 190 comprises software code modules 191, 194 and 196 as described below, which may form part of the software application program 133. 15 As seen in Fig. IC, a usage profiler module 196 examines any patterns in usage history of the electronic device 101 and constructs a usage profile 192 for the user of the electronic device 101. A recommendation engine module 191 generates recommendations 193 for the user. The generated recommendations 193 may be used, for example, to create personalised photo 20 merchandise. Any suitable method may be used by the recommendation module 191 for generating the recommendations 193. Typically, such a method involves a combination of following explicit preferences specified by the user, analysing the past behaviours of the user to predict future behaviours and using collaborative filtering methods to predict behaviour of the user 25 based on similar users. Each generated recommendation is associated with an engagement profile module 195. When the user is using the electronic device 101 and when there is a recommendation 193 pending, a recommendation delivery module 194 compares the usage profile 192 with a corresponding engagement profile 195 to determine a suitability rating. The suitability rating 30 may be used for delivering the recommendation 193 under currently determined operating conditions. 6699069vl (PO42039_SpeciAs Filed) - 11 Each of the modules 191, 194 and 196 may stored within the ROM 160 and be controlled in their execution by the processor 105. Similarly, the usage profile 192, recommendations 193 and engagement profile 195 may be stored within the storage module 109. 5 Fig. 2 shows an example of a usage profile 192. The usage profile 192 is a pattern of typical device usage sessions for the electronic device 101. Each of the usage sessions is associated with a set of operating conditions. As described in detail below, a particular cluster of one or more of the usage sessions is represented in the usage profile 192 by a particular device usage session record. For example, device usage session record 210 represents a 10 typical usage session for a time period between 8AM and 9AM for the user using the electronic device 101 to browse the Internet on the way to work. The device usage session record 210 indicates that the level of interactivity with the electronic device 101 is relatively low for reading web pages during a particular period associated with the record 210. The usage profile 192 is constructed from device usage session analytics collected for 15 the electronic device 101 over a period of time. The usage profile 192 may be continually updated by the usage profiler 196, under execution of the controller 102, to maintain an up-to date profile for the user. If such analytics show that the user uses the device 101 on a regular basis during a particular time and day of the week and/or at a particular location, there is a corresponding device usage session record in the usage profile 192 to indicate such typical 20 session. The usage profile 192 enables the recommendation delivery module 194 to determine the likely usage of the electronic device 101 and operating conditions at the time of potential recommendation delivery. A device usage session record, such as the record 210, may include the following fields: 25 (i) SessionPeriod: time period of the day and the day of the week when the user would typically use the device 101; (ii) DeviceType: type of device; (iii) TypeOfAppSet: types of applications that would typically be used in a session during the time period; 30 (iv) InteractivityLevel: amount of user interface interactions the user would typically have with the device 101 during a session during the time period; 6699069vl (PO42039_SpeciAs Filed) - 12 (v) GeoLocation: physical location of the device 101 during a session during the time period (or start and end locations if the user is in transit during the time period); (vi) LogicalLocation: is the logical location corresponding to the 5 GeoLocation in accordance with a context for the user. Fig. 3 is a schematic flow diagram showing a method 300 of determining a usage profile. The method 300 may be implemented as one or more software code modules of the software application program 133 (e.g., the usage profiler 196) resident in the ROM 160 and 10 being controlled in its execution by the processor 105 of the device 101. The method 300 will be described by way of example where the usage profile 196 is determined for the electronic device 101. The method 300 determines a usage profile 192 from the analytics of collected device usage sessions. The usage profile 192 determined in accordance with the method 300 includes the information for five of the fields described above (i.e., Session Period, 15 TypeOfAppSet, InteractivityLevel, Geolocation, LogicalLocation). The determined usage profile 192 is configured for defining a measure of user interactions with the electronic device 101 for a period of time. The method 300 starts at collecting step 310, where the usage profiler module 196, under execution of the processor 105, clusters usage sessions for the electronic device 101 20 based on time of the day and the day of the week (e.g., 0800-0900 Monday, 1800-0900 Monday). Each resulting cluster corresponds to a regular behaviour of device usage by the user and is represented by a record (e.g., 210) created in the usage profile 192 stored within the storage module 109. Each cluster is associated with the SessionPeriod field of the usage profile 192 stored within the storage module 109. 25 At mean time determining step 320, the sessions in each cluster are aggregated by the processor 105 to determine a mean time of the day and day of the week for the corresponding record in the usage profile 192. Clusters with a very small number of sessions may be ignored because such clusters are insignificant as an indicator of a regular behaviour. The aggregated clusters are stored within the storage module 109. 30 At mean interactivity level determining step 330, a mean interactivity level (InteractivityLevel) is determined for each cluster by the processor 105 and stored within the storage module 109. Step 330 involves summing the number of user interface gestures 6699069v 1 (PO42039_SpeciAs Filed) -13 including touch screen swipes, and taps and button presses and determining an average number of gestures per minute (e.g., 5 gestures/min, 45 gestures/min, 15 gestures/min) for the duration of each session within a cluster. The determined average numbers of gestures per minute, as determined at step 330, are stored by the processor 105 within the storage module 5 109. The determined average numbers of gestures per minute are each associated with a corresponding cluster within the storage module 109. Then at determining step 340, a set of types of applications (TypeOfAppSet) is determined by the processor 105 for each corresponding cluster. Each set is determined by combining the types of applications used in the corresponding session of a cluster into a set, 10 such that the set includes top occurrences of the various types of applications (e.g., Internet browser application, game, photography, mapping) in each cluster. Applications with low occurrences are not regarded as regular applications used by the user for the corresponding cluster of sessions. Each set determined in step 340 is stored in the storage module 109. Each stored set is associated with a corresponding cluster within the storage module 109. 15 At location determining step 350, a logical location (LogicalLocation) is determined by the processor 105 based on the physical location of the device 101 (GeoLocation instances) at the start and end of the sessions. In particular, the processor 105 correlates the geo locations at the start and end of the sessions with known geo-locations such as home, work, caf6, gymnasium etc., as provided by the user, to determine the logical location (e.g., 20 travelling from home to work, travelling from work to home, home). Each of the determined logical locations is stored within the storage module 109. Each determined logical location is associated with a corresponding cluster of sessions within the storage module 109. Fig. 4 shows an example of multiple instances (e.g., 401, 402, 403) of an engagement profile 195. Each instance (e.g., 401, 402, 403) is associated with a recommendation 193 by 25 the recommendation engine module 191. Each instance (e.g., 401, 402, 403) of the engagement profile 195 is a record that includes the following data fields, each of the data fields specifying preferred conditions necessary to provide a satisfactory user experience to the user of the device 101 when utilising the associated recommendation: DeviceType: minimal device preferred for receiving the associated recommendation 30 primarily based on screen size. For example, if an engagement profile instance associated with a recommendation is of DeviceType, smart phone, the recommendation is suitable to be 6699069vi (PO42039_SpeciAs Filed) - 14 delivered to a smart phone or a tablet. In contrast, the DeviceType, tablet, is suitable for a tablet but not a smart phone; InteractivityLevel: expected level of user interface interactions with the device 101 when performing the task associated with the recommendation on the device 101. Similar to the 5 InteractivityLevel in the usage profile 192, the InteractivityLevel in the engagement profile 195 is also measured in gestures per minute (10 gestures/min, 35 gestures/min, 15 gestures/min). The value determined for the InteractivityLevel in the engagement profile 195 is determined from the user's history of performing the particular type of task associated with a recommendation. For example, if the user has performed a photo-book creation task on a 10 particular device on multiple occasions previously, either as a result of a recommendation or on the user's own accord, the time and the number of gestures taken can be recorded and used to determine an average gestures per minute for the photo-book creation task. If the user does not have sufficient history, the value may be determined as an average from other users. Duration: expected amount of time required of the user to complete the task associated 15 with the recommendation. The value of the duration can be determined in a similar way the InteractivityLevel. PreferredLocation: preferred location for the user to receive the associated recommendation (e.g. Home rather than Work). The designation of an engagement profile 195 instance (e.g., 401) to a 20 recommendation 193 is primarily based on the nature of the effort required of the user for the task associated with the recommendation 193. For example, a relatively low interactivity level (InteractivityLevel) and required time (Duration) is required for a photo-card compared to a photo-book merchandise recommendation with many pages, since a photo-card typically has far fewer photos for the user to review or possibly edit compared to a photo-book. 25 The method 500 of delivering an on-demand generated recommendation, will now be described with reference to Fig. 5. The method 500 may be implemented as one or more software code modules of the software application program 133 (e.g., the recommendation engine module 191, the usage profiler module 196 and the recommendation delivery module 194) resident in the ROM 160 and being controlled in its execution by the processor 105 of 30 the device 101. The method 500 will be described by way of an example of delivering personalised photo merchandise recommendations. In the first example, an opportunity is detected that the 6699069v 1 (PO42039_SpeciAs Filed) - 15 user is using the device 101 and a recommendation 193 is generated by the recommendation engine 191, under execution of the processor 105, on-demand. The method 500 begins at detecting step 510, where the processor 105 detects starting of a mobile application or logging on to a website indicating that the user has started a current 5 session using the device 101. Upon detecting start of the current session, the processor 105 looks up a corresponding device usage session record (e.g., 210) in the usage profile 192 stored within the storage module 109. The processor 105 looks up the corresponding device usage session record 210 based on matching the SessionPeriod data field of each device usage session record of the usage profile 192 with the current time. If the corresponding device 10 usage session record 210 exists within the usage profile 192, then the current session is a typical session that the user carries out on a regular basis and the usage profile 192 may be used to determine the suitability of an available recommendation. At generating step 520, the recommendation engine module 191, under execution of the processor 105, generates a personalised photo merchandise recommendation 193 using the 15 most up-to-date information stored within the storage module 109 about the user. Such up-to date information may be related to a recent event in which the user had taken many new photos that could be used in a photo merchandise product. As described above, any suitable method may be used by the recommendation module 191 for generating the recommendation 193 at step 520. 20 At determining step 530, the processor 105 determines a suitability rating of the recommendation generated at step 520. The suitability rating is determined at step 530 is based on the usage session record 210 in the usage profile 192 as determined at step 510. The suitability rating is also determined at step 530 based on an instance of the engagement profile 195 associated with the recommendation 193 generated at step 520. The method 700 of 25 determining a suitability rating for a recommendation, as executed at step 530, will be described in below with reference to Fig. 7. At decision step 540, if the processor 105 determines that the suitability rating determined at step 530 is at or above a predetermined threshold then the method 500 proceeds to step 550. Otherwise, the method 500 returns to step 510 and the method 500 will be 30 repeated again when the user starts using the device 101 in another session next time. 6699069v 1 (P042039_Speci_As Filed) - 16 If the calculated suitability rating is at or above the predetermined threshold, then the current operating condition is considered to be suitable for delivering the generated recommendation. At presenting step 550, the processor 105 presents the recommendation generated at 5 step 520 to the user. For example, the processor 105 may display the recommendation as a textual message on the display 114. In an alternative arrangement, if the suitability rating of the recommendation determined at step 530 is below the predetermined threshold for the current user operating conditions, a more suitable recommendation may be generated by the recommendation engine 191. For example, a recommendation with a lower value of 10 InteractivityLevel or Duration fields in the associated engagement profile 195 may be generated by the recommendation engine 191 if appropriate. The more suitable recommendation may recommend a photo-card instead of a photo-book. A method 600 of prioritising and delivering pending recommendations, will now be described with reference to Fig. 6. The method 600 may be implemented as one or more 15 software code modules of the software application program 133 (e.g., the recommendation engine module 191, the usage profiler module 196 and the recommendation delivery module 194) resident in the ROM 160 and being controlled in its execution by the processor 105 of the device 101. The method 600 will be described by way of a second example where an opportunity 20 is detected for presenting previously generated recommendations to the user. The method 600 begins at detecting step 610, where the processor 105 detects starting of a mobile application or logging on to a website indicating that the user has started a current session using the device 101 as in step 510. At retrieving step 620, the processor 105 retrieves from RAM 170 a list of previously 25 generated recommendations 193 pending delivery. Then at determining step 630, the processor 105 determines a suitability rating for each of the recommendations 193 retrieved at step 620. The suitability rating is determined at step 630 in accordance with the method 700, which will be described in more details later with reference to Fig. 7. 30 At ranking step 640, the processor 105 ranks the recommendations 193 retrieved at step 620 according to the suitability ratings determined at step 630. 6699069v1 (PO42039_SpeciAs Filed) - 17 Then at presenting step 650, the processor 105 presents a predetermined maximum number of the retrieved recommendations to the user. For example, the processor 105 may display the retrieved recommendations as textual messages on the display 114. The retrieved recommendations are presented at step 650 in the order of the associated suitability ratings, 5 according to the rankings determined at step 640. In one implementation, recommendations having an associated suitability rating which is at or above a predefined threshold are presented at step 650, with remaining recommendations (i.e., recommendations having an associated suitability rating that is below the predefined threshold) being discarded. Alternatively, the remaining recommendations may be withheld for potential delivery at a next 10 session when the user uses the electronic device 101 again. In another alternative, all of the recommendations retrieved at step 620 are presented at step 650 in order of the associated suitability ratings. The method 700 of determining a suitability rating for a recommendation, as executed at steps 530 and 630, will now be described with reference to Fig. 7. The method 700 may be 15 implemented as one or more software code modules of the software application program 133 (e.g., the recommendation engine module 191, the usage profiler module 196 and the recommendation delivery module 194) resident in the ROM 160 and being controlled in its execution by the processor 105 of the device 101. The method 700 begins at capturing step 710, where the processor 105 performs the 20 step of capturing a usage history of the electronic device 101. The usage history captured at step 710 comprises details of usage sessions associated with the electronic device 101 as described above in relation to Fig 2. In particular, at step 710, for each usage session, the processor 105 determines the information for the SessionPeriod field, the DeviceType field; the TypeOfAppSet field, the InteractivityLevel, the GeoLocation and the LogicalLocation, as 25 described above. The determined information for each of the fields may be retrieved from the storage module 109. Then at determining step 720, the processor 105 performs the step of determining a usage profile 192 from the usage session history captured for the electronic device 10 1 at 710, in accordance with the method 300 described above. The usage profile 192 represents a 30 typical usage pattern for the user. The usage profile 192 is configured for defining a measure of the user's interactions with the electronic device 101 for a period of time. 6699069v I (PO42039_SpeciAs Filed) - 18 At retrieving step 730, the processor 105 retrieves the instance (e.g., 401) of the engagement profile 195 associated with the recommendation 193 generated at step 530 of the method 500 where the method 700 is being executed during the method 500. Alternatively, at step 730, the processor 105 retrieves the instance (e.g., 401) of the engagement profile 195 5 associated with one of the recommendations retrieved at step 620 of the method 600 where the method 700 is being executed during the method 600. The processor 105 retrieves the instance (e.g., 401) by accessing the engagement profile 195 associated with at least one task to be recommended with the recommendation. The engagement profile 195 is used for identifying device user interactions required in order to action the task to be recommended. 10 Then at determining step 740, the processor 105 determines a suitability rating for the recommendation. The suitability rating is determined for the recommendation by comparing the determined usage profile 192 for the device 101 with the engagement profile 195 associated with the task to be recommended by the recommendation. In particular, the suitability rating is determined at step 740 by comparing related fields (e.g., the SessionPeriod 15 field) of the retrieved instance (e.g., 401) of the engagement profile 195 and the corresponding usage session in the usage profile 192. In one arrangement, the related fields used for comparing the engagement profile 195 and the usage profile 192 are shown in Fig. 8. As seen in Fig. 8, the DeviceType field specified in the engagement profile 195 is compared with the DeviceType field of the usage profile 192; the InteractivityLevel field specified in the 20 engagement profile 195 is compared with the InteractivityLevel field of the usage profile 192; the Duration field specified in the engagement profile 195 is compared with the SessionPeriod field of the usage profile 192; and the PreferredLocation field specified in the engagement profile 195 is compared with the PreferredLocation field of the usage profile 192. A comparison function may be used at step 740 to yield a status indicating whether an 25 aspect of the engagement profile 195 is satisfied by the usage profile 192. The resulting status is combined mathematically to produce a suitability rating in the form of a percentage. For a percentage of 100% all aspects of the engagement profile 195 are satisfied by the usage profile 192. In one arrangement, the mathematical calculation is a weighted mean of the comparison functions below: t? YWf(e,u) 30 " n=1 6699069v l (PO42039_SpeciAs Filed) - 19 where f(e,u) is a comparison function comparing a field in the engagement profile, e, with the related field in the usage profile, u. That is, there is a comparison function corresponding to each of the fields used for comparing the engagement profile 195 with the usage profile 192 as shown in Fig. 8. Each comparison function returns a numeric value between 0.0 and 1.0 5 indicating suitability of the corresponding aspect, where 1.0 is most suitable. For example, the comparison function for the DeviceType field will return 1.0 if the DeviceType field of the engagement profile 195 is tablet and the DeviceType field of the usage profile 192 is also tablet. Further, the comparison function for the DeviceType field will return 0.0 if the DeviceType field of the engagement profile 195 is tablet and the DeviceType field for the 10 usage profile 192 is smart phone. W, is a weighting factor configured to provide more weight for more important aspects, such as DeviceType and InteractivityLevel. For example, with the following engagement profile 195 and usage profile 192 and weighting factors Wi = {2, 2, 1, 1}: EngagementProfile (smart phone, 10 gestures/min, 15 mins, Home); and UsageProfile 192 (smart phone, 15 15 gestures/min, 30 mins, Travelling), the suitability rating determined for the recommendation at step 740 is (2*1.0 + 2*1.0 + 1*1.0 + 1*0.0) / (2 + 2 + I + 1) = 83% with only the PreferredLocation of the engagement profile 195 not satisfied by the LogicalLocation of the usage profile 192. The method 700 concludes at assigning step 750, where the suitability rating 20 determined at step 740 is assigned to the recommendation 193 generated at step 530 of the method 500 where the method 700 is being executed during the method 500. Alternatively, at step 750, the processor 105 assigns the suitability rating determined at step 740 to the recommendations retrieved at step 620 of the method 600 where the method 700 is being executed during the method 600. 25 Industrial Applicability The arrangements described are applicable to the computer and data processing industries and particularly for delivering recommendations. The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit 30 of the invention, the embodiments being illustrative and not restrictive. In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including", and not "consisting only 6699069vi (PO42039_SpeciAs Filed) -20 of'. Variations of the word "comprising", such as "comprise" and "comprises" have correspondingly varied meanings. 6699069vl (PO42039_SpeciAs Filed)

Claims (18)

1. A method of determining a suitability rating for a recommendation, said method comprising: 5 determining a usage profile for an electronic device, said usage profile defining a measure of user interactions with the device for a period of time; accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and 0 determining a suitability rating for the recommendation by comparing the determined usage profile for the device with the engagement profile associated with the task.
2. The method according to claim 1, further comprising capturing a usage history of an electronic device. 5
3. The method according to claim 2, wherein the usage profile is determined from the captured usage history.
4. The method according to claim 1, further comprising determining a type for the 20 electronic device for use in the usage profile.
5. The method according to claim 1, further comprising determining a time of use of the electronic device. 10981105vl - 22
6. The method according to claim 1, further comprising determining types of applications used during a time period.
7. The method according to claim 1, further comprising determining physical location of 5 the electronic device during a time period.
8. The method according to claim 1, further comprising determining a logical location based on a physical location of the electronic device during the time period. 0
9. The method according to claim 1, wherein the electronic device is a mobile phone.
10. The method according to claim 1, wherein the electronic device is a portable media player. 5
11. The method according to claim 1, wherein the electronic device is a digital camera.
12. The method according to claim 1, wherein the electronic device is a computer.
13. The method according to any one of claims 2, further comprising identifying repeating 20 patterns in the captured usage history to determine the usage profile.
14. The method according to claim 13, further comprising: monitoring a current user session on the electronic device to collect current user session data; and 25 determining whether the current user session exists in the usage profile for said electronic device using the current user session data. 10981105vl -23
15. The method according to claim 14, wherein the suitability rating for the recommendation is determined if the current user session exists in the usage profile.
16. An apparatus for determining a suitability rating for a recommendation, said apparatus 5 comprising: means for determining a usage profile for an electronic device, said usage profile defining a measure of user interactions with the device for a period of time; means for accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required 0 in order to action the at least one task to be recommended; and means for determining a suitability rating for the recommendation by comparing the determined usage profile for the device with the engagement profile associated with the task.
17. A system for determining a suitability rating for a recommendation, said system 5 comprising: a memory for storing data and a computer program; a processor coupled to the memory for executing said computer program, said computer program comprising instructions for: determining a usage profile for an electronic device, said usage profile defining a 20 measure of user interactions with the device for a period of time; accessing an engagement profile associated with at least one task to be recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and 10981105vl -24 determining a suitability rating for the recommendation by comparing the determined usage profile for the device with the engagement profile associated with the task. 5
18. A computer readable medium with a computer program stored thereon for determining a suitability rating for a recommendation, said computer program comprising: code for determining a usage profile for an electronic device, said usage profile defining a measure of user interactions with the device for a period of time; code for accessing an engagement profile associated with at least one task to be 0 recommended, said engagement profile identifying a level of device user interactions required in order to action the at least one task to be recommended; and code for determining a suitability rating for the recommendation by comparing the determined usage profile for the device with the engagement profile associated with the task. 5 CANON KABUSHIKI KAISHA Patent Attorneys for the Applicant/Nominated Person SPRUSON & FERGUSON 10981105vl
AU2012216805A 2012-09-12 2012-09-12 Method, system and apparatus for determining a suitability rating for a recommendation Active AU2012216805B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2012216805A AU2012216805B2 (en) 2012-09-12 2012-09-12 Method, system and apparatus for determining a suitability rating for a recommendation
US14/022,824 US9990666B2 (en) 2012-09-12 2013-09-10 Method, system and apparatus for delivering a recommendation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2012216805A AU2012216805B2 (en) 2012-09-12 2012-09-12 Method, system and apparatus for determining a suitability rating for a recommendation

Publications (2)

Publication Number Publication Date
AU2012216805A1 AU2012216805A1 (en) 2014-03-27
AU2012216805B2 true AU2012216805B2 (en) 2016-03-24

Family

ID=50343385

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2012216805A Active AU2012216805B2 (en) 2012-09-12 2012-09-12 Method, system and apparatus for determining a suitability rating for a recommendation

Country Status (1)

Country Link
AU (1) AU2012216805B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110056A1 (en) * 2001-10-31 2003-06-12 International Business Machines Corporation Method for rating items within a recommendation system based on additional knowledge of item relationships
US20030149612A1 (en) * 2001-10-31 2003-08-07 International Business Machines Corporation Enabling a recommendation system to provide user-to-user recommendations
US7756879B2 (en) * 2004-07-23 2010-07-13 Jeffrey Parsons System and method for estimating user ratings from user behavior and providing recommendations
US20110191311A1 (en) * 2010-02-03 2011-08-04 Gartner, Inc. Bi-model recommendation engine for recommending items and peers
US20120036523A1 (en) * 2009-01-01 2012-02-09 Orca Interactive Ltd. Adaptive Blending of Recommendation Engines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110056A1 (en) * 2001-10-31 2003-06-12 International Business Machines Corporation Method for rating items within a recommendation system based on additional knowledge of item relationships
US20030149612A1 (en) * 2001-10-31 2003-08-07 International Business Machines Corporation Enabling a recommendation system to provide user-to-user recommendations
US7756879B2 (en) * 2004-07-23 2010-07-13 Jeffrey Parsons System and method for estimating user ratings from user behavior and providing recommendations
US20120036523A1 (en) * 2009-01-01 2012-02-09 Orca Interactive Ltd. Adaptive Blending of Recommendation Engines
US20110191311A1 (en) * 2010-02-03 2011-08-04 Gartner, Inc. Bi-model recommendation engine for recommending items and peers

Also Published As

Publication number Publication date
AU2012216805A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
US9990666B2 (en) Method, system and apparatus for delivering a recommendation
US11086484B1 (en) Techniques for context sensitive illustrated graphical user interface elements
TWI498843B (en) Portable electronic device, content recommendation method and computer-readable medium
JP6301555B2 (en) Apparatus, method and graphical user interface for presenting and installing applications
US20160034695A1 (en) Displaying Different Levels of Personal Information on a Screen
CN113938551B (en) Caching method and device, electronic equipment and storage medium
CN106796517A (en) Personal digital assistant is called by means of neighbouring equipment
WO2012138878A2 (en) A system for automated media delivery to mobile devices and mobile device lockscreens
CN108353105A (en) Electronic device and content output method of electronic device
CN110913135A (en) Video shooting method and device, electronic equipment and storage medium
US20140212112A1 (en) Contact video generation system
US10346594B2 (en) Digital rights management leveraging motion or environmental traits
WO2009133232A1 (en) Method, apparatus, and computer program product for providing usage analysis
CN107402767A (en) The method and apparatus for showing PUSH message
US11843815B2 (en) Interfacing a television with a second device
US20210192399A1 (en) Ticket information display system
CN105096162B (en) Content item display method and device
CN113312545B (en) Page information processing method, device and electronic device
US20160225028A1 (en) Data exchange over a network
CN106776990B (en) Information processing method and device and electronic equipment
AU2012216805B2 (en) Method, system and apparatus for determining a suitability rating for a recommendation
AU2012227156B2 (en) A method of selecting a device for delivering a recommendation
CN104079654A (en) App image distribution method, client and electronic device
CN107807763A (en) Method for showing interface and device
CN113572893A (en) Terminal device, emotion feedback method and storage medium

Legal Events

Date Code Title Description
DA3 Amendments made section 104

Free format text: THE NATURE OF THE AMENDMENT IS: AMEND THE NAME OF THE INVENTOR TO READ WANG, IJ ERIC AND CHAN, SAMMY

FGA Letters patent sealed or granted (standard patent)