[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2015190289A1 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
WO2015190289A1
WO2015190289A1 PCT/JP2015/065192 JP2015065192W WO2015190289A1 WO 2015190289 A1 WO2015190289 A1 WO 2015190289A1 JP 2015065192 W JP2015065192 W JP 2015065192W WO 2015190289 A1 WO2015190289 A1 WO 2015190289A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
user
presentation
activation
information processing
Prior art date
Application number
PCT/JP2015/065192
Other languages
English (en)
French (fr)
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
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2016527732A priority Critical patent/JP6684449B2/ja
Priority to US15/311,529 priority patent/US10324588B2/en
Publication of WO2015190289A1 publication Critical patent/WO2015190289A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • H04M1/72472User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Definitions

  • the present technology relates to an information processing device, an information processing method, and a program, and more particularly, to an information processing device, an information processing method, and a program that improve user convenience when using an application program.
  • the present technology has been made in view of such a situation, and is intended to improve the convenience of the user when using the application program.
  • An information processing apparatus includes an information acquisition unit that acquires first information indicating a current situation including a current date and time and a current position of the user, and a usage history of the user application program, Presented to the user on the basis of the use history including the second information indicating the start time including the date and time of the application program and the position of the user, the user profile, and the first information And a selection unit that selects a presentation application that is an application program to be displayed.
  • the selection unit can further select the presentation application based on the usage history of another user.
  • the other user can be a user similar to the user.
  • the similar user can be a user whose application program is similar to the user.
  • the selection unit is a model for predicting the activation probability of each application program, based on the first model generated based on the usage history of the user and the usage history of the other user.
  • the presenting application can be selected using the generated second model.
  • the selection unit can cause the presentation application to be selected from an application program selected using a model for predicting the activation probability of each application program and an application program similar to the selected application program.
  • the similar application program may be an application program having a similar distribution of users to the selected application program.
  • the selection unit is further provided with a display control unit that controls display of an icon representing the presentation application within a predetermined screen, and the priority order of the presentation application is set, and the display control unit is configured within the screen.
  • a predetermined operation is performed, a plurality of the icons are displayed side by side in the screen according to the priority order, and the icons of the presentation application having the higher priority order are displayed closer to the position where the operation is performed. Can be made.
  • a display control unit that controls display of an icon representing the presentation application within a predetermined screen is further provided, the selection unit is configured to set a priority order of the presentation application, and the display control unit is configured to include a plurality of the icons. Can be displayed side by side in the screen according to the priority order, and the icon of the presentation application having the higher priority order can have a wider interval between adjacent icons.
  • a display control unit that controls display of an icon representing the presentation application in a predetermined screen is further provided, the selection unit is configured to set a priority order of the presentation application, and the display control unit is configured to display the icon in the screen.
  • the icons displayed in the screen are switched according to the priority order, and the moving distance necessary for switching the icons displayed in the screen is the priority. It can be adjusted according to the order.
  • a display control unit that controls display of an icon representing the presentation application within a predetermined screen is further provided, the selection unit is configured to set a priority order of the presentation application, and the display control unit is configured to include a plurality of the icons. Are arranged and displayed in the screen according to the priority order, and when the position designated by the user in the screen moves in a predetermined first direction, the icon displayed in the screen is switched according to the priority order, When the instructed position moves in a second direction different from the first direction, the icons displayed in the screen can be switched in the reverse order of the priority order.
  • the display control unit that controls the display of the icon representing the presentation application in the lock screen where the user operation is restricted, and when the icon is selected, the restriction on the user operation is released, and the icon corresponds to the selected icon
  • An execution control unit that makes the presenting application usable is further provided.
  • the state at the time of starting may include the state of the user when the application program is started, and the current state may include the state of the current user.
  • a learning unit that generates a model that predicts the activation probability of each application program may be further provided, and the selection unit may select the presentation application using the model.
  • a first model for predicting the activation probability of each application program at a specified date and time using a predetermined periodic function, and a plurality of representative points are set, and each application at each representative point is set. Based on the activation probability, at least one of the second models for predicting the activation probability of each application program at the designated position can be generated.
  • a communication unit that transmits information indicating the selection result of the presentation application to another information processing apparatus can be further provided.
  • An information processing method includes an information acquisition step of acquiring first information indicating a current situation including a current date and time and a current position of the user, and a usage history of the user application program, Presented to the user on the basis of the use history including the second information indicating the start time including the date and time of the application program and the position of the user, the user profile, and the first information Selecting a presentation application that is an application program to be executed.
  • a program includes an information acquisition step of acquiring first information indicating a current situation including a current date and time and a current position of a user, and a usage history of the user application program, An application to be presented to the user based on the use history including the second information indicating the start time including the date and time of the program start and the position of the user, the user profile, and the first information And causing a computer to execute a process including a selection step of selecting a presentation application that is a program.
  • first information indicating the current situation including the current date and time and the current position of the user is acquired, and is a usage history of the user application program
  • a presentation application that is an application program that is presented to the user based on the use history including second information indicating a start-up situation including date and time and the user's position, the user's profile, and the first information. Is selected.
  • an application program that has a high probability of being used by the user can be selected as an application program that is presented to the user.
  • the convenience of the user when using the application program is improved.
  • FIG. 1 is a block diagram illustrating an embodiment of an information processing system to which the present technology is applied. It is a block diagram which shows the structural example of a server. It is a block diagram which shows the structural example of the function implement
  • Embodiment 2 modes for carrying out the present technology (hereinafter referred to as embodiments) will be described. The description will be given in the following order. 1. Embodiment 2. FIG. Modified example
  • FIG. 1 shows an embodiment of an information processing system 1 to which the present technology is applied.
  • the information processing system 1 is configured to include a server 11 and clients 12-1 to 12-n.
  • the server 11 and the clients 12-1 to 12-n are connected to each other via the network 13 and communicate with each other.
  • the communication method of the server 11 and the clients 12-1 to 12n can adopt any communication method regardless of wired or wireless.
  • the server 11 presents an application according to the situation to the user who uses the clients 12-1 to 12-n, thereby supporting the user to start a desired application (hereinafter referred to as a start support service). Provided). Further, the server 11 provides, for example, an application necessary for using the boot support service (hereinafter referred to as a boot support application) to the clients 12-1 to 12-n.
  • a boot support application an application necessary for using the boot support service
  • the clients 12-1 to 12-n may be any device as long as they can install and execute a plurality of applications and can use the activation support service.
  • the clients 12-1 to 12-n are configured by a smart phone, a tablet, a mobile phone, a portable information terminal such as a laptop personal computer, a desktop personal computer, a game machine, a video playback device, a music playback device, or the like.
  • the clients 12-1 to 12-n are configured by various wearable devices such as glasses, wristwatches, bracelets, necklaces, neckbands, earphones, headsets, and head mounts. .
  • clients 12-1 to 12-n when it is not necessary to distinguish the clients 12-1 to 12-n from each other, they are simply referred to as clients 12.
  • FIG. 2 shows a configuration example of the server 11.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 105 is further connected to the bus 104.
  • An input unit 106, an output unit 107, a storage unit 108, a communication unit 109, and a drive 110 are connected to the input / output interface 105.
  • the input unit 106 is configured by an input device such as a keyboard, a mouse, and a microphone.
  • the output unit 107 includes, for example, a display, a speaker, and the like.
  • the storage unit 108 is configured by, for example, a hard disk or a nonvolatile memory.
  • the communication unit 109 includes, for example, a wired or wireless communication device, a network interface, and the like. An arbitrary communication method can be applied to the communication unit 109, and a plurality of communication methods can also be applied.
  • the drive 110 drives a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 101 loads a program stored in the storage unit 108 to the RAM 103 via the input / output interface 105 and the bus 104 and executes the program, thereby performing a series of processes.
  • the program executed by the server 11 can be provided by being recorded in, for example, a removable medium 111 such as a package medium.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 108 via the input / output interface 105 by attaching the removable medium 111 to the drive 110. Further, the program can be received by the communication unit 109 via a wired or wireless transmission medium and installed in the storage unit 108. In addition, the program can be installed in advance in the ROM 102 or the storage unit 108.
  • each unit of the server 11 transmits and receives information and the like via the bus 104 and the input / output interface 105
  • description of the bus 104 and the input / output interface 105 is omitted.
  • the communication unit 109 supplies received data to the CPU 101 via the bus 104 and the input / output interface 105
  • the description of the bus 104 and the input / output interface 105 is omitted, and the communication unit 109 transmits the received data to the CPU 101. Expressed as supply.
  • FIG. 3 is a block diagram illustrating a configuration example of functions related to the present technology among the functions realized by the CPU 101 of the server 11.
  • functions including the information acquisition unit 131, the learning unit 132, the selection unit 133, and the presentation control unit 134 are realized.
  • the information acquisition unit 131 acquires information (hereinafter referred to as application holding information) indicating the application holding status of each user from each client 12 via the network 13 and the communication unit 109.
  • the information acquisition unit 131 acquires the usage history of each user's application in each client 12 (hereinafter referred to as application usage history or simply usage history) from each client 12 via the network 13 and the communication unit 109. To do.
  • log data indicating individual histories of application usage history, that is, data for one application usage.
  • the learning unit 132 performs learning for presenting an appropriate application to each user.
  • the learning unit 132 is configured to include a feature vector generation unit 141 and a model learning unit 142.
  • the feature quantity vector generation unit 141 generates a feature quantity vector (hereinafter referred to as an application vector) representing the feature of each application based on the application possession information acquired from each client 12.
  • the feature vector generation unit 141 generates a feature vector (hereinafter referred to as a user vector) representing the feature of each user based on the application possession information acquired from each client 12.
  • the model learning unit 142 is a model for predicting the activation probability of each application (hereinafter referred to as an activation prediction model) based on the application usage history of each user acquired from each client 12 and the user vector of each user. Do learning.
  • the selection unit 133 selects an application to be presented to each user (hereinafter referred to as a presentation application).
  • the selection unit 133 is configured to include a score calculation unit 151, a similar application search unit 152, and a presentation application selection unit 153.
  • the score calculation unit 151 uses the activation prediction model generated by the model learning unit 142 to calculate a score (hereinafter referred to as an activation score) indicating the activation probability (ease of activation) of each application.
  • the similar application search unit 152 searches for an application similar to the designated application (hereinafter referred to as a similar application) based on the application vector of each application.
  • the presentation application selection unit 153 selects a presentation application to be presented to the user based on the activation score of each application and the search result of similar applications. In addition, the presentation application selection unit 153 sets a priority order when presenting the presentation application to the user based on the activation score or the like.
  • the presentation control unit 134 controls the presentation of the presentation application to the user in each client 12.
  • the presentation control unit 134 is configured to include an application providing unit 161 and an application list generating unit 162.
  • the application providing unit 161 provides an activation support application to each client 12. For example, the application providing unit 161 transmits a start application to the requesting client 12 via the communication unit 109 and the network 13 in response to a request from each client 12.
  • the application list generation unit 162 generates an application list that is information indicating the selection result of the presentation application.
  • the application list generation unit 162 transmits the generated application list to the client 12 via the communication unit 109 and the network 13.
  • FIG. 4 shows a configuration example of the client 12.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 205 is further connected to the bus 204.
  • An input unit 206, an output unit 207, a sensor unit 208, a storage unit 209, a communication unit 210, and a drive 211 are connected to the input / output interface 205.
  • the input unit 206 includes input devices such as a keyboard, a mouse, a button, a touch panel, a touchless interface, and a microphone.
  • the output unit 207 includes, for example, a display, a speaker, and the like.
  • the sensor unit 208 includes, for example, various sensors such as an acceleration sensor, a gyro sensor, an atmospheric pressure sensor, a GPS (Global Positioning System) receiver, a receiver, and the like.
  • various sensors such as an acceleration sensor, a gyro sensor, an atmospheric pressure sensor, a GPS (Global Positioning System) receiver, a receiver, and the like.
  • the storage unit 209 is configured by, for example, a hard disk or a non-volatile memory.
  • the communication unit 210 includes, for example, a wired or wireless communication device, a network interface, and the like. An arbitrary communication method can be applied to the communication unit 210, and a plurality of communication methods can also be applied.
  • the drive 211 drives a removable medium 212 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 201 loads a program stored in the storage unit 209 to the RAM 203 via the input / output interface 205 and the bus 204 and executes the program, thereby performing a series of processes.
  • a program (including an application program) executed by the client 12 (CPU 201) can be provided by being recorded on a removable medium 212 such as a package medium.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 209 via the input / output interface 205 by attaching the removable medium 212 to the drive 211.
  • the program can be received by the communication unit 210 via a wired or wireless transmission medium and installed in the storage unit 209.
  • the program can be installed in advance in the ROM 202 or the storage unit 209.
  • each unit of the client 12 transmits and receives information and the like via the bus 204 and the input / output interface 205
  • description of the bus 204 and the input / output interface 205 is omitted.
  • the communication unit 210 supplies received data to the CPU 201 via the bus 204 and the input / output interface 205
  • the description of the bus 204 and the input / output interface 205 is omitted, and the communication unit 210 transmits the received data to the CPU 201. Expressed as supply.
  • the configuration of the client 12 in FIG. 4 is an example, and various modifications can be made according to the embodiment of the client 12.
  • FIG. 5 is a block diagram illustrating a configuration example of functions related to the present technology among the functions realized by the CPU 201 of the client 12.
  • Functions including the information acquisition unit 231 and the presentation control unit 232 are realized by the CPU 201 executing a predetermined control program.
  • the presentation control unit 232 includes a display control unit 241 and an execution control unit 242.
  • the information acquisition unit 231 investigates the application installed in the storage unit 209, and generates application possession information based on the investigation result. Further, the information acquisition unit 231 acquires information indicating a user's application startup status based on information from the input unit 206 and the sensor unit 208, and generates an application usage history. The information acquisition unit 231 transmits the application holding information and the application usage history to the server 11 via the communication unit 109 and the network 13.
  • the display control unit 241 controls display of a screen such as a display included in the output unit 207.
  • the execution control unit 242 controls execution of programs necessary for processing of the client 12, such as application programs and operating systems.
  • the display control unit 241 controls the display of the presentation application selected by the server 11, and the execution control unit 242 controls the execution of the presentation application selected by the server 11.
  • the presentation application is presented to the user by displaying or executing the presentation application.
  • step S1 the information processing system 1 acquires information (application holding information) indicating the holding status of each user's application program.
  • the information acquisition unit 231 of the client 12 investigates an application installed in the storage unit 209. And the information acquisition part 231 produces
  • the information acquisition unit 231 transmits application holding information to the server 11 via the communication unit 210 and the network 13.
  • the application ID is an ID for uniquely identifying each application, and a different value is assigned to each application.
  • the user ID is an ID for uniquely identifying each user who uses the activation support service, and a different value is assigned to each user.
  • an application in which usable users are not limited (for example, an application for which a use license or the like is not set) is considered to be held by each user. .
  • the information acquisition unit 131 of the server 11 receives the application holding information transmitted from the client 12 via the communication unit 109.
  • the information acquisition unit 131 stores the received application possession information in the storage unit 108.
  • each client 12 transmits application holding information to the server 11 when requested by the server 11 or periodically. Further, for example, each client 12 transmits application possession information to the server 11 when logging into the activation support service or when starting the activation support application.
  • step S2 the information processing system 1 acquires the application usage history (application usage history) of each user.
  • the information acquisition unit 231 of the client 12 acquires information indicating the status at the time of activation of the application from the input unit 206, the sensor unit 208, and the like.
  • the application startup status includes, for example, the date and time of startup, the characteristics of the startup date, the location of the user (client 12) at startup, the user status at startup, and the user's startup status. Ambient conditions are included.
  • the characteristics of the start date include, for example, holidays of the user's country, anniversary dates of the user and related parties of the user (for example, relatives, acquaintances, etc.), etc. It is.
  • the anniversary of the user and the related person of the user includes, for example, a user profile registered in the client 12 and a user profile including personal information, contact information including contact information and personal information of the person with whom the user contacts. Investigated based on user schedule information and the like.
  • position information acquired by a GPS receiver included in the sensor unit 208 of the client 12 when the application is activated is used as the position of the user at the time of activation (hereinafter also referred to as an activation position).
  • the communication unit 210 of the client 12 performs wireless communication via an access point such as Wi-Fi, for example, the ID of the access point to which the client 12 is connected when the application is activated is the position of the user at the time of activation. Used as
  • the state of the user at the time of activation is a discrete state determined based on time-series sensor data obtained from an acceleration sensor, a gyro sensor, an atmospheric pressure sensor, or the like included in the sensor unit 208 of the client 12, for example.
  • the user's state is classified according to the user's action content.
  • the information acquisition unit 231 determines the state of the user using a technique disclosed in Japanese Patent Application Laid-Open No. 2014-56585.
  • the state of the user's surroundings includes, for example, the weather, temperature, humidity, atmospheric pressure, etc. around the user at the time of activation.
  • the information acquisition unit 231 generates an application usage history including the application ID of the used application, the user ID of the user who uses the application, and information indicating the status when the application is started.
  • the information acquisition unit 231 transmits the generated application usage history to the server 11 via the communication unit 210 and the network 13.
  • the information acquisition unit 131 of the server 11 receives the application usage history transmitted from the client 12 via the communication unit 109.
  • the information acquisition unit 131 stores the received application usage history in the storage unit 108.
  • step S1 the process returns to step S1, and the processes after step S1 are executed.
  • each client 12 transmits the application usage history to the server 11 can be arbitrarily set. For example, each time an application is used, each client 12 transmits an application usage history for the use at the time of starting or ending the application. Alternatively, for example, each client 12 accumulates an application usage history, and transmits the accumulated application usage history periodically or at a predetermined timing.
  • the server 11 may acquire a part of information indicating the status when the application is started.
  • the information acquisition unit 131 of the server 11 may acquire information related to the characteristics of the day when the application is started from the user profile, contact information, schedule information, etc. registered in the server 11 or other servers. .
  • the application usage history may include, for example, information on the usage status of the application such as usage time and date and time of usage termination, status in use, status after use, and the like. Further, for example, information indicating one or more n applications started immediately before may be included in the application usage history.
  • step S51 the model learning unit 142 learns the activation prediction model of each application. Specifically, the model learning unit 142 acquires the application usage history of each user from the storage unit 209. The model learning unit 142 learns the activation prediction model of each application based on the acquired application usage history.
  • the model learning unit 142 learns an activation prediction model that predicts the activation probability of an application based on the date and time (hereinafter referred to as a date and time activation prediction model).
  • the model learning unit 142 outputs an activation score indicating the activation probability (ease of activation) of each application at a specified date and time using a periodic function such as the von Mises distribution shown in Expression (1). Generate a date and time activation prediction model.
  • x is a variable obtained by converting the date and time into a value from 0 to 2 ⁇ in a predetermined cycle.
  • is a variable obtained by converting the application start date and time to a value from 0 to 2 ⁇ in the same cycle as x.
  • is a variable representing the width of the distribution base and is set to a predetermined constant, for example.
  • I 0 ( ⁇ ) is a Bessel function with ⁇ as a variable.
  • the model learning unit 142 uses the expression (1) for each usage history log of the application u1 of the user u1, and uses the distribution when the activation date and time of the application a1 is expressed in a 24-hour cycle, and 7 days (1 Generate a distribution expressed as a weekly cycle.
  • is represented by a value obtained by converting 24 hours into a value from 0 to 2 ⁇ in the case of a 24-hour cycle, and a value obtained by converting 7 days into a value from 0 to 2 ⁇ in the case of a 7-day cycle. It is represented by
  • the model learning unit 142 sets all logs of the usage history of the application u1 of the user u1 with the time axis of the distribution representing the start date and time of the application a1 in a 24-hour cycle and the distribution represented in a cycle of 7 days. Add together. At this time, normalization may be performed so that the integrated value over the entire period (one week) of the distribution of the start date and time after the addition is 1. Thereby, the distribution of the start date and time after the addition can be used as the start probability distribution based on the day of the week and the time of the application a1.
  • the model learning unit 142 may add the distribution of the 24-hour period and the distribution of the seven-day period with weights.
  • FIG. 8 shows an example of a graph showing the distribution of the start date and time of the application a1 using the von Mises distribution.
  • the horizontal axis represents the time axis for one week.
  • the graph D1 is a graph representing the distribution of the activation date / time of the application a1 in a cycle of 24 hours
  • the graph D2 is a graph representing the distribution of the activation date / time of the application a1 in a cycle of 7 days
  • the graph D3 is a graph obtained by adding the graph D1 and the graph D2.
  • the date / time activation prediction model for the application a1 of the user u1 is generated.
  • a date and time activation prediction model for each application of each user is generated by the same method.
  • the date / time activation prediction model generated for each user is a model reflecting the tendency of the date / time when each user's application is activated.
  • the model learning unit 142 classifies users into a plurality of groups, and generates a date / time activation prediction model for each application for each group. That is, the model learning unit 142 uses the application usage history of all members for each group to generate a date / time activation prediction model for each application for each group by the same method as described above.
  • the group classification method is arbitrary, and the number of groups, the size of the group, etc. are arbitrary.
  • the feature vector generation unit 141 generates a user vector for each user based on the application possession information for each user. For example, when the total number of applications is M, the feature quantity of the i-th dimension (where 0 ⁇ i ⁇ M) of the user vector indicates whether the target user has the i-th application. Then, the i-th feature quantity of the user vector is set to 1 when the target user has the i-th application, and is set to 0 when the user is not.
  • the model learning unit 142 calculates the similarity of user vectors between users using Jaccard coefficients and the like. Then, the model learning unit 142 classifies users into a plurality of groups based on the calculated similarity. As a result, a plurality of groups to which users with similar applications belong are generated. For example, a group to which a user who has a lot of business applications belongs or a group to which a user who has a lot of entertainment applications such as games belongs is created.
  • model learning unit 142 may subdivide each group based on demographics of each user such as age, gender, nationality, place of residence (for example, country or region in which they live).
  • model learning unit 142 may classify users into a plurality of groups based on the similarity of some or all items of demographics of each user without using user vectors.
  • the date / time start prediction model generated for each group is a model reflecting the date / time tendency of starting each application of each group (user group similar to each other).
  • the model learning unit 142 uses the application usage history of all users to generate a date / time start prediction model for each application for all users by the same method as described above.
  • This date / time activation prediction model is a model reflecting a general tendency of the date and time when each application is activated.
  • the model learning unit 142 counts the number of activations of each application in each group for each category. And the model learning part 142 produces
  • model learning unit 142 counts the activation counts of each application for all users for each category. And the model learning part 142 produces
  • a position activation prediction model (First learning method of position activation prediction model) that predicts the activation probability of the application based on the position of the user.
  • the model learning unit 142 when the model learning unit 142 inputs position information acquired by a GPS receiver or the like, the model learning unit 142 generates a date and time start prediction model that outputs a start score of each application at the input position.
  • the model learning unit 142 generates a position activation prediction model using the k-NN method.
  • a case where the position activation prediction model of the user u1 is generated will be described.
  • the model learning unit 142 generates, as a position activation prediction model, a distribution based on application activation positions of all logs included in the application usage history of the user u1.
  • the score calculation unit 151 includes k pieces in order from the closest starting position to the input position (hereinafter referred to as the input position). To extract logs. For example, the score calculation unit 151 adds a score corresponding to the distance between the activation position and the input position of each of the extracted k logs for each application. Note that the closer the activation position is to the input position, the higher the score. And the score calculation part 151 sets the score after the addition for every application to the starting score of each application. Therefore, the activation score increases as the number of activations increases near the current position of the user. In addition, the activation score is higher as the application is activated at a position closer to the current position of the user.
  • the position activation prediction model of the user u1 is generated, and the activation score for each application at the current position of the user u1 is calculated using the generated position activation prediction model. Further, a position activation prediction model for each user is generated by the same method, and an activation score for each application at each user's current position is calculated using each generated position activation prediction model.
  • the position activation prediction model generated for each user is a model reflecting the tendency of the position where each application of each user is activated.
  • model learning unit 142 divides the user into a plurality of groups as described above, and uses the application usage history of all the members for each group, and performs the position activation prediction model for each group by the same method as described above. Is generated.
  • the date / time activation prediction model generated for each group is a model that reflects the tendency of the activation positions of the applications of the groups (user groups similar to each other).
  • the model learning unit 142 generates a position activation prediction model for all users using the application usage history of all users by the same method as described above.
  • This position activation prediction model is a model that reflects a general tendency of the position where each application is activated.
  • the first learning method of the position activation prediction model for example, when the number of users increases and the application usage history log increases, real-time processing becomes difficult. Therefore, for example, a plurality of representative points are set in advance, the activation score (activation probability) of each application at each representative point is obtained, and the designated position (input position) is determined based on the activation score at each representative point. You may make it calculate the starting score of each application.
  • the model learning unit 142 randomly extracts a predetermined number of logs from the application usage history of the user u1. Note that the model learning unit 142 may extract all the logs of the application usage history of the user u1 when there is a sufficient processing time. Then, the model learning unit 142 sets a predetermined number of representative points for the user u1 using a clustering technique such as k-means based on the distribution of the activation positions in the extracted log. At this time, only the activation position of the application is considered, and the type of application is not considered. In addition, the density of representative points is set high in places where the activation positions of applications such as the city center are high, and the density of representative points is set low in places where the density of application activation positions is low such as in the suburbs.
  • a clustering technique such as k-means
  • the representative points for each user are set using the application usage history of each user.
  • the representative point setting process can be performed by a batch process.
  • the model learning unit 142 calculates an activation score for each application of the user u1 at each representative point. Specifically, for example, the model learning unit 142 extracts k1 logs from the application usage history of the user u1 in the order that the activation position is closer to the representative point p1. And the model learning part 142 adds the score according to the distance between the starting position of each extracted k1 log, and the representative point p1 for every application. Note that the closer the activation position is to the representative point p1, the higher the score.
  • the model learning unit 142 sets the score after addition for each application as the activation score for each application of the user u1 at the representative point p1.
  • the model learning unit 142 calculates the activation score for each application of the user u1 by the same process for other representative points.
  • the model composed of the activation score for each application at each representative point is the user u1 position activation prediction model.
  • the activation score for each application at each representative point of each user is calculated by the same method.
  • the calculation process of the activation score at each representative point can be performed by a batch process.
  • the score calculation unit 151 extracts k2 representative points in order from the closest to the input position among the representative points for the user u1. To do. Next, the score calculation unit 151 adds the activation score for each application of the user u1 at the extracted k2 representative points for each application. At this time, the score calculation unit 151 may perform weighted addition so that the representative point closer to the input position has a higher weight. Then, the score calculation unit 151 sets the added activation score for each application as the activation score for each application of the user u1 at the input position.
  • the score calculation unit 151 may extract a predetermined number of applications having higher activation scores at each of k2 representative points, and add the activation scores of the extracted applications for each application. .
  • the position activation prediction model of the user u1 is generated, and the activation score for each application at the current position of the user u1 is calculated using the generated position activation prediction model. Further, a position activation prediction model for each user is generated by the same method, and an activation score for each application at each user's current position is calculated using each generated position activation prediction model.
  • the position activation prediction model generated for each user is a model reflecting the tendency of the position where each application of each user is activated.
  • the user is divided into a plurality of groups.
  • a predetermined number of logs are randomly extracted from the application usage history of all the members of the group, and representative points for the group are set by the above-described method using the extracted logs. For example, when there is a margin in processing time, all logs may be used. Thereby, the same representative point is set for all members of the group. Similarly, representative points for each group are set.
  • the activation score for each application at each representative point is calculated by the method described above using the application usage history of all members of the group. Thereby, the same starting score is set for each representative point for each application for all members of the group. In this way, the position activation prediction model for the group is generated. Similarly, a position activation prediction model for each group is generated.
  • the position activation prediction model generated for each group is a model that reflects the tendency of the positions where the applications of the groups (user groups similar to each other) are activated.
  • the model learning unit 142 generates a position activation prediction model for all users using the application usage history of all users by the same method as described above.
  • This position activation prediction model is a model that reflects a general tendency of the position where each application is activated.
  • the model learning unit 142 may set a representative point for each group even when generating a position activation prediction model for each user. Furthermore, for example, the model learning unit 142 may set a representative point common to all users even when generating a position activation prediction model for each user or for each group.
  • the model learning unit 142 can generate a position activation prediction model based on an access point such as Wi-Fi, for example.
  • an access point such as Wi-Fi
  • a case where the position activation prediction model of the user u1 is generated will be described.
  • the model learning unit 142 counts the activation count of each application of the user u1 for each access point to which the client 12 is connected when the application is activated based on the application usage history of the user u1. And the model learning part 142 sets the starting score according to the frequency
  • a model composed of the activation score for each application at each access point is the position activation prediction model of the user u1. Similarly, a position activation prediction model for each user is generated.
  • model learning unit 142 divides the user into a plurality of groups as described above. And the model learning part 142 produces
  • model learning unit 142 generates a position activation prediction model for all users using the application usage history of all users by the same method as described above.
  • the model learning unit 142 generates a start prediction model (hereinafter referred to as a user state start prediction model) that predicts the start probability of the application based on the user state.
  • a start prediction model hereinafter referred to as a user state start prediction model
  • the model learning unit 142 counts the number of activations of each application for each state of the user u1 at the time of activation based on the application usage history of the user u1. And the model learning part 142 sets the activation score according to the frequency
  • a model composed of activation scores for each application in each state of the user u1 is a user state activation prediction model of the user u1.
  • a user state activation prediction model for each user is generated.
  • the user state activation prediction model generated for each user is a model in which the tendency of the state at the time of activation of each application of each user is reflected.
  • model learning unit 142 divides the user into a plurality of groups as described above. And the model learning part 142 produces
  • the user state activation prediction model generated for each group is a model reflecting the tendency of the state at the time of activation of each application of each group (user group similar to each other).
  • the model learning unit 142 generates a user state activation prediction model for all users using the application usage history of all users by the same method as described above.
  • This user state activation prediction model is a model reflecting a general tendency of the state at the time of activation of each application.
  • the model learning unit 142 can generate a user state activation prediction model using a naive Bayes model.
  • a user state activation prediction model for the user u1 is generated using the naive Bayes model will be described.
  • the model learning unit 142 calculates the activation probability p (Y
  • Y) is a probability that the state of the user u1 is the state X when the application Y is activated.
  • p (Y) is the probability that the user u1 activates the application Y, and is calculated, for example, by the number of activations of the application Y of the user u1 / the number of activations of all the applications of the user.
  • p (X) is the probability that the state of the user u1 is the state X.
  • the model learning unit 142 calculates the activation probability p (Y
  • X) for all combinations of the state X and the application Y is the user situation activation probability model of the user u1.
  • a user state activation prediction model for each user is generated.
  • the user state activation prediction model generated for each user is a model in which the tendency of the state at the time of activation of each application of each user is reflected.
  • model learning unit 142 divides the user into a plurality of groups as described above. And the model learning part 142 produces
  • the user state activation prediction model generated for each group is a model reflecting the tendency of the state at the time of activation of each application of each group (user group similar to each other).
  • the model learning unit 142 generates a user state activation prediction model for all users using the application usage history of all users by the same method as described above.
  • This user state activation prediction model is a model reflecting a general tendency of the state at the time of activation of each application.
  • an activation prediction model (hereinafter referred to as an immediately preceding application activation prediction model) can be generated as an input.
  • the immediately preceding application state has three types of states in which the applications A, B, and C are activated immediately before.
  • the conditions for adopting the application started immediately before may be limited. For example, it may be limited to an application started after the client 12 is turned on, or limited to an application started after a predetermined time before the current time.
  • the activation prediction model described above can be integrated or divided.
  • the model learning unit 142 can integrate the activation prediction model by generating an activation prediction model by combining a plurality of input parameters.
  • the model learning unit 142 can generate an activation prediction model that receives a combination of the date and time and the activation position as an input, or can generate an activation prediction model that receives the combination of the activation position and the user state.
  • the model learning unit 142 can generate an activation prediction model by dividing according to the date and time, the activation position, or the user state. For example, the model learning unit 142 can divide and generate a date / time activation prediction model, a position activation prediction model, and a previous application activation prediction model for each user state. For example, the model learning unit 142 can generate a date / time activation prediction model, a position activation prediction model, and a previous application activation prediction model, depending on whether the user is moving or not.
  • the model learning unit 142 can generate the position activation prediction model, the user state activation prediction model, and the immediately preceding application activation prediction model by dividing by time zone, day of the week, or the like.
  • the model learning unit 142 can generate a date / time activation prediction model, a user state activation prediction model, and a previous application activation prediction model by dividing the activation learning position according to the activation position.
  • the model learning unit 142 may generate a date and time start prediction model, a user state start prediction model, and a previous application start prediction model separately when the user is at home, in the office, and otherwise. it can.
  • the model learning unit 142 causes the storage unit 209 to store information regarding the generated startup prediction model as described above.
  • model learning unit 142 does not necessarily generate all the activation prediction models listed above, and may generate only a part of the activation prediction models.
  • the above-described activation prediction model is an example thereof, and activation prediction models other than those described above can be employed.
  • the feature vector generation unit 141 generates a feature vector (application vector) for each application. Specifically, the feature vector generation unit 141 generates an application vector for each application based on the distribution of users that it holds. For example, if all users of the activation support service are N, the feature quantity of the jth dimension (however, 0 ⁇ j ⁇ N) of the application vector indicates whether or not the jth user has the target application. Indicate. Then, the j-th feature quantity of the application vector is set to 1 when the j-th user possesses the target application, and is set to 0 when not possessing.
  • the feature vector generation unit 141 causes the storage unit 209 to store the generated application vector of each application.
  • step S101 the information acquisition unit 231 of the client 12 acquires information on the current situation and the like.
  • the information acquisition unit 231 performs the same processing as step S2 in FIG. 6 to perform the current date and time, today's characteristics, the current target user (client 12) position, the current target user status, and the current user. Acquire information indicating the surrounding state of the.
  • step S ⁇ b> 102 the information acquisition unit 231 of the client 12 transmits information on the current situation acquired in the process of step S ⁇ b> 101 to the server 11 via the communication unit 210 and the network 13. At this time, the information acquisition unit 231 transmits a user ID that is one of the profiles of the target user together so that the target user can be identified. Note that the entire profile of the target user may be transmitted.
  • step S103 the information acquisition unit 131 of the server 11 receives the information on the current situation and the like transmitted from the client 12 in the process of step S102 via the communication unit 109.
  • the server 11 may acquire a part of information indicating the current situation.
  • the information acquisition unit 131 of the server 11 may acquire information related to today's characteristics from a user profile, contact information, schedule information, or the like registered in the server 11 or another server.
  • the information acquisition unit 131 may acquire information indicating the current date and time from the internal clock of the server 11.
  • step S104 the score calculation unit 151 of the server 11 calculates the activation score of each application using the activation prediction model for the target user. Specifically, the score calculation unit 151 reads, from the storage unit 108, information regarding the activation prediction model generated for only the target user based on the user ID of the target user. Then, the score calculation unit 151 calculates the activation score of each application by inputting the current situation (date and time, position, user status, etc.) to the read activation prediction model.
  • the score calculation unit 151 does not necessarily use all the activation prediction models for the target user, and may select the activation prediction model to be used. Moreover, the score calculation part 151 adds the starting score calculated using each starting prediction model for every application, when using a some starting prediction model. Thereby, a plurality of activation prediction models are substantially integrated.
  • the score calculation unit 151 may add the weights for each of the activation prediction models when adding the activation scores of the respective activation prediction models. This weight is set based on, for example, the accuracy and the degree of influence of each activation prediction model. For example, the weight of the activation prediction model with higher accuracy is set to a larger value. Note that the weight may be a fixed value or variable depending on the situation.
  • the activation score calculated based on the activation prediction model for the target user is referred to as an activation score for the target user.
  • step S105 the score calculation unit 151 of the server 11 calculates the activation score of each application using another activation prediction model.
  • the score calculation unit 151 reads, from the storage unit 108, information related to the activation prediction model generated for the group to which the target user belongs. Then, the score calculation unit 151 calculates the activation score of each application by inputting the current situation (date and time, position, user status, etc.) to the read activation prediction model.
  • the score calculation unit 151 does not necessarily need to use all the activation prediction models for the group to which the target user belongs, and may select the activation prediction model to be used. Moreover, when using a some activation prediction model, the score calculation part 151 adds the activation score calculated using each activation prediction model for every application similarly to the process of step S104.
  • the activation score calculated based on the activation prediction model for the group to which the target user belongs is referred to as a group activation score.
  • the score calculation unit 151 reads out information related to the activation prediction model generated for all users from the storage unit 108. Then, the score calculation unit 151 calculates the activation score of each application by inputting the current situation (date and time, position, user status, etc.) to the read activation prediction model.
  • the score calculation unit 151 does not necessarily use all of the activation prediction models for all users, and may select an activation prediction model to be used. Moreover, when using a some activation prediction model, the score calculation part 151 adds the activation score calculated using each activation prediction model for every application similarly to the process of step S104.
  • the activation score calculated based on the activation prediction model for all users is referred to as an activation score for all users.
  • step S106 the presentation application selection unit 153 of the server 11 selects an application based on the activation score. Specifically, the presentation application selection unit 153 adds the target user start score, the group start score, and the all user start score for each application.
  • the presentation application selection unit 153 may perform weighted addition. For example, when the weight for the activation score for the target user is increased, the activation score for an application frequently used by the target user in the current situation increases. For example, when the weight for the group activation score is increased, the activation score for an application frequently used by members of the group to which the target user belongs in the current situation increases. Further, for example, when the weight for the activation score for all users is increased, the activation score for an application that is generally used in the current situation is increased.
  • the presentation application selection part 153 selects the candidate (henceforth a score selection application) of the application shown to a user based on the starting score after addition. For example, the presentation application selection unit 153 selects a predetermined number of applications as the score selection application in order from the largest starting score after addition. In addition, for example, the presentation application selection unit 153 selects, as the score selection application, an application whose added activation score is equal to or greater than a predetermined threshold.
  • step S107 the similar application search unit 152 of the server 11 selects an application similar to the application selected based on the activation score. Specifically, the similar application search unit 152 reads the application vector of each application from the storage unit 108. And the similar application search part 152 calculates the similarity between the application vector of each score selection application, and the application vector of each application other than a score selection application using a Jaccard coefficient etc.
  • the similar application search unit 152 selects an application candidate (hereinafter referred to as a similar application) to be presented to the user from applications other than the score selection application. For example, the similar application search unit 152 selects a predetermined number of applications as similar applications in descending order of similarity. Further, for example, the similar application search unit 152 selects an application having a similarity equal to or higher than a predetermined threshold as a similar application. As a result, an application having a distribution of users similar to each score selection application is selected as a similar application.
  • step S108 the presentation application selection unit 153 of the server 11 selects an application (presentation application) to be presented to the target user. Specifically, the presentation application selection unit 153 selects a predetermined number of applications from the score selection application and similar applications as the presentation application.
  • the method for selecting the presentation application from the score selection application and similar applications can be set to any method. For example, when the number of presentation applications is n, the presentation application selection unit 153 selects n score selection applications as the presentation application in order from the highest presentation score when there are n or more score selection applications. On the other hand, when the number of score selection applications is less than n, for example, the presentation application selection unit 153 selects all the score selection applications as presentation applications, and in order from the similar applications in descending order of the degree of similarity. Select a presentation application.
  • the presentation application selection unit 153 may select a presentation application from similar applications even when there are n or more score selection applications. In addition, for example, the presentation application selection unit 153 may exclude an application that is not held by the target user from candidates and select a presentation application only from applications that are held by the target user.
  • the presentation application selection unit 153 selects a presentation application from applications that the target user does not have, for example, if there is an application that is set to be preferentially recommended by promotion or the like, the application Is selected as the presentation application.
  • the presentation application selection unit 153 sets the priority order of the selected presentation application based on the activation score and the similarity. For example, the presentation application selection unit 153 arranges score selection applications among the presentation applications in descending order of activation score, and then sets a priority in which similar applications are arranged in descending order of similarity.
  • the presentation application selection unit 153 may set an application owned by the target user to a higher priority than an application not owned by the target user. For example, if there is an application that is set to be preferentially recommended among the presentation applications, the presentation application selection unit 153 may set the priority of the application higher.
  • the presentation application is selected based on the score calculated using the target user activation prediction model generated based on the target user's application usage history. Thereby, the presentation application is selected substantially based on the application usage history of the target user.
  • startup prediction model startup prediction model for group and startup prediction model for all users generated based on the application usage history of other users different from the target user
  • An application is selected. Thereby, the presentation application is selected substantially based on the application usage history of other users.
  • step S109 the application list generation unit 162 of the server 11 generates an application list. Specifically, the application list generation unit 162 generates an application list including information regarding each presentation application and priority.
  • step S110 the application list generation unit 162 of the server 11 transmits the application list. That is, the application list generation unit 162 transmits the generated application list to the client 12 of the target user via the communication unit 109 and the network 13.
  • step S111 the CPU 201 of the client 12 receives the application list transmitted from the server 11 via the communication unit 210.
  • step S112 the client 12 presents an application.
  • the display control unit 241 of the client 12 displays a screen for presenting the presentation application on the display included in the output unit 207.
  • FIGS. 10 to 14 indicate the priority order of the presentation application.
  • the icon displaying the number 1 represents the presentation application having the first priority order.
  • Icon In practice, an image or the like representing the corresponding presentation application is displayed in each icon.
  • FIG. 10 shows a first example of a presentation application presentation method.
  • the screen 311 of the smartphone 301 is largely divided into an area A1 and an area A2.
  • buttons 321 to 325 for operating the smartphone 301 are displayed so as to be arranged in a horizontal row.
  • icons 326a to 326e representing the presentation application are displayed in the area A2 above the area A1.
  • the icons 326a to 326e are simply referred to as icons 326 when it is not necessary to distinguish them individually.
  • Each icon 326 has an approximately arc shape from the lower left to the upper right of the area A2 in the order of the icon 326a, the icon 326b, the icon 326c, the icon 326d, and the icon 326e from the side closer to the button 321 operated by the target user.
  • each icon 326 is in the order of icon 326a, icon 326b, icon 326c, icon 326d, and icon 326e. That is, the icon 326 of the presentation application with a higher priority is larger and the icon 326 of the presentation application with a lower priority is smaller.
  • the presentation application corresponding to the icon 326 is selected. Then, the execution control unit 242 activates the selected presentation application.
  • the icon 326 of a presentation application with a higher priority is displayed larger near the button 321, the target user can easily select a presentation application with a higher priority.
  • FIG. 11 shows a second example of the presentation application presentation method.
  • the screen 311 of the smartphone 301 is divided into an area A1 and an area A2, and buttons 321 to 325 are arranged in the area A1.
  • buttons 321 to 325 are arranged in the area A1.
  • icons 341a to 341f representing the presentation application are displayed in the area A2.
  • the icons 341a to 341f are simply referred to as icons 341 when it is not necessary to distinguish them individually.
  • the icons 341 are arranged in the order of the icon 341a, the icon 341b, the icon 341c, the icon 341d, the icon 341e, and the icon 341f from the side closer to the button 321 operated by the target user, from the lower left to the upper right of the area A2. They are arranged in an arc. In other words, a presentation application icon 341 having a higher priority is displayed closer to the button 321, and a presentation application icon 341 having a lower priority is displayed farther from the button 321. In addition, the interval between the icon 341 of the presentation application with the higher priority becomes wider and the interval between the icons 341 adjacent to the icon 341 of the presentation application with the lower priority becomes narrower. Yes.
  • the presentation application corresponding to the icon 341 is selected. Then, the execution control unit 242 activates the selected presentation application.
  • the presentation application icon 341 having a higher priority is displayed near the button 302 and the interval between the adjacent icons 341 is wider. It becomes easy to select.
  • FIG. 12 shows a third example of the presentation application presentation method.
  • the screen 311 of the smartphone 301 is largely divided into an area A1 and an area A2.
  • the area A2 is divided into an area A2a and an area A2b.
  • the horizontal dotted line in the screen 311 in FIG. 12 is an auxiliary line and is not actually displayed.
  • buttons 321 to 325 are arranged in the same manner as in the example of FIG. 10 (however, the button 321 is not shown in FIG. 12). Then, when the target user touches the button 321 with the finger 302 and slides the finger 302 into the area A2a above the area A1, icons 361a to 361c are displayed in the area of the button 321. Specifically, as shown in the leftmost diagram in FIG. 12, icons 361a to 361c are displayed in an overlapping manner from the top in the order of icon 361a, icon 361b, and icon 361c. Further, the size of the frontmost icon 361a is the largest, and the size of the rearmost icon 361c is the smallest. In the following, the icons 361a, 361b, 361c,... Are simply referred to as icons 361 when it is not necessary to distinguish them individually.
  • the icon 361 displayed on the forefront in the area A1 is displayed according to the moving distance of the position designated by the finger 302. Switch according to. For example, when the finger 302 is slid a predetermined distance in the area A2a from the state shown in the leftmost diagram of FIG. 12, the icon 361b is displayed in the foreground in the area A1, as shown in the center of FIG. Is done. Although illustration is omitted, icons 361c and 361d are superimposed and displayed on the back of the icon 361b as in the leftmost diagram.
  • the icon 361d is an icon representing a presentation application with the fourth priority.
  • the icon 361c is displayed at the forefront in the area A1, as shown at the right end of FIG. Is displayed.
  • icons 361d and 361e are overlapped and displayed on the back of the icon 361c as in the leftmost diagram.
  • the icon 361e is an icon representing a presentation application with the fifth priority.
  • the target user can select the presentation application corresponding to the icon 361 displayed at the forefront in the area A1 by releasing the finger 302 from the screen 311 in the area A2a. Then, the execution control unit 242 activates the selected presentation application.
  • the direction in which the finger 302 is slid in the area A2 is not particularly limited, and the icon 361 displayed on the forefront in the area A1 is switched based only on the distance (movement distance) by which the finger 302 is slid.
  • the moving distance of the finger 302 necessary for switching the display of the icon 361 is adjusted according to the priority order. Specifically, as the icon 361 of the presentation application having a higher priority is set, the moving distance of the finger 302 required until the display is switched to the next icon 361 (the next icon 361 is displayed in the foreground) is set longer. The on the other hand, as the icon 361 of the presentation application with the lower priority is set, the movement distance of the finger 302 required until the display is switched to the next icon 361 (the next icon 361 is displayed in the foreground) is set shorter. For example, the moving distance of the finger 302 required when switching the foremost icon 361a in the area A1 to the icon 361b is longer than when switching the icon 361b to the icon 361c.
  • the target user can display and select the lower priority icon 361 on the screen 311 earlier. Become.
  • FIG. 13 shows a fourth example of the presentation application presentation method.
  • a lock screen on which user operations are restricted is displayed on the screen 311 of the smartphone 301.
  • the horizontal dotted line in the screen 311 in FIG. 13 is an auxiliary line and is not actually displayed.
  • the target user touches the finger 302 in the area A11 from the upper end of the screen 311 to slightly below the center and slides the finger 302 by a predetermined distance in the area A11
  • the target user is shown in the upper right diagram in FIG.
  • an icon 381a is displayed in the area A11.
  • an icon 381b is displayed in the area A11 as shown in the lower left diagram in FIG.
  • the icons 381a, 381b,... are simply referred to as icons 381 when it is not necessary to distinguish them individually.
  • the icon 381 displayed in the area A11 is switched according to the priority order of the presentation applications. Then, the target user can select the presentation application corresponding to the icon 381 displayed in the area A11 by releasing the finger 302 from the screen 311 in the area A11. Then, the execution control unit 242 releases the lock screen (user operation restriction) and activates the selected presentation application.
  • the direction in which the finger 302 slides in the area A11 is not particularly limited, and the icon 381 displayed in the area A11 is based only on the distance to which the finger 302 is slid (the moving distance of the position designated by the finger 302). Switches.
  • the moving distance of the finger 302 necessary for switching the display of the icon 381 is adjusted according to the priority order. Specifically, as the icon 381 of the presentation application with the higher priority order, the movement distance of the finger 302 required until the display is switched to the next icon 381 becomes longer. On the other hand, the moving distance of the finger 302 required until the display is switched to the next icon 381 is shortened as the icon 381 of the presentation application with the lower priority. For example, the moving distance of the finger 302 required when switching the icon 361a in the area A11 to the icon 361b is longer than that when switching the icon 361b to the icon 361c.
  • the target user can easily select the presentation application with the higher priority.
  • the target user can display and select the icon 381 with the lower priority on the screen 311 earlier. Become. Further, since the selected presentation application is activated along with the release of the lock screen, the target user can use the desired application more quickly and easily.
  • the selection of the presentation application is canceled. That is, in this case, no presentation application is activated. Then, the execution control unit 242 releases the lock screen (user operation restriction), and the display control unit 241 displays a normal screen (for example, a launcher screen) displayed after the lock is released.
  • a normal screen for example, a launcher screen
  • FIG. 14 shows a fifth example of the presentation application presentation method.
  • a lock screen is displayed on the screen 311 of the smartphone 301. This lock screen is released, for example, by sliding the finger 302 up and down on the screen 311.
  • the icons 401a to 401d are displayed at the left end of the screen 311 as shown in the upper right diagram in FIG. It is displayed so as to overlap in a slightly diagonal direction from the center. Further, the icon 401a is displayed at the bottom and foremost, and the icon 401d is displayed at the top and the back. Also, the size of the icons 401a to 401d increases as going forward and decreases as going backward. In the following, the icons 401a, 401b, 401c,... Are simply referred to as icons 401 when it is not necessary to distinguish them individually.
  • the range of the icon 401 displayed in the screen 311 slides forward according to the priority order as shown in the lower left in the figure. That is, the foremost icon 401a disappears, the icon 401b moves to the foreground, and the icon 401d appears on the foreground.
  • the target user slides the finger 302 further upward, the range of the icon 401 displayed in the screen 311 slides forward according to the priority order. That is, the icon 401 displayed in the screen 311 is switched according to the priority order of the presentation application, and the icon 401 displayed in the foreground is switched according to the priority order of the presentation application.
  • the range of the icon 401 displayed in the screen 311 slides backward according to the reverse order of priority. That is, the icon 401 displayed in the screen 311 is switched according to the reverse order of the priority order of the presentation applications, and the icon 401 displayed in the foreground is switched according to the reverse order of the priority order of the presentation applications.
  • the target user can select the presentation application corresponding to the icon 401 displayed in the foreground in the screen 311 by releasing the finger 302 from the screen 311. Then, the execution control unit 242 releases the lock screen (user operation restriction) and activates the selected presentation application.
  • the target user can easily select the presentation application with the higher priority.
  • the target user can switch the icon 401 displayed on the screen 311 in the forward direction (priority order) or the reverse direction (reverse order of priority order), so that it becomes easy to select a desired application.
  • the selected presentation application is activated along with the release of the lock screen, the target user can use the desired application more quickly and easily.
  • the icon 401a is displayed in the foreground, as shown in the lower right screen of FIG. 14, when the finger 302 is slid downward by a predetermined distance, the icons 401a to 401d are grayed out.
  • the selection of the presentation application is canceled. That is, in this case, no presentation application is activated.
  • the execution control unit 242 releases the lock screen (user operation restriction), and the display control unit 241 displays a normal screen (for example, a launcher screen) displayed after the lock is released.
  • the server 11 can select an application that is not owned by the target user (for example, an application that is not installed in the smartphone 301) as the presentation application. Therefore, for example, when presenting a presentation application that is not held by the target user, the display control unit 241 may display the presentation application held by the target user separately from the color or shape of the icon. .
  • the execution control unit 242 controls to display a screen 311 by accessing a web page where the presentation application can be obtained.
  • the target user can quickly obtain and use a desired application.
  • a plurality of presentation applications may be simultaneously selected and activated simultaneously.
  • an appropriate application is selected according to the current situation and presented to the target user.
  • the target user can use a desired application quickly and easily, and convenience is improved.
  • the presentation application is selected based on not only the application usage history of the target user but also the application usage history of other users, for example, even in a situation where the target user has not experienced so far, an appropriate application can be selected.
  • an appropriate application can be selected.
  • an application that is not owned by the target user may be presented by selecting a presentation application based on another user's application usage history or by selecting a presentation application from similar applications. Thereby, the target user can know a new application suitable for the current situation and obtain it as necessary.
  • a date / time prediction model is generated using a periodic function, and time information is handled as a continuous value, so that time information is divided into time zones, days of the week, etc. and discretized.
  • the activation score can be calculated more accurately. As a result, it is possible to present an application that has a higher probability of being used by the target user.
  • the position prediction model is generated based on the fixed area by setting the density of representative points according to the density of the activation positions of past applications and generating the position activation prediction model.
  • the activation score can be calculated more accurately. As a result, it is possible to present an application that has a higher probability of being used by the target user.
  • FIG. 15 shows a history of applications used by a certain user in the past in each situation.
  • the situation is classified by three elements: date and time, place (position), and user action.
  • the date and time is classified into two types, weekdays (Monday to Friday) and weekends (Saturday and Sunday), and further classified into three types, morning, noon, and night, both on weekdays and weekends.
  • an unknown place is a place that is not in the user's application usage history.
  • User behavior is classified into two types, a moving state and a non-moving state.
  • the moving state is a state in which the user is moving from place to place, for example, when walking, running, driving, or riding a vehicle.
  • the state of not moving is a state where the user has not moved from place to place, for example, when sitting or sleeping.
  • each column in the table shows applications that the user has started in the past in each situation.
  • an application started in a situation where the user has moved at home in the past on weekends is a transfer guidance and map application.
  • an application started in a situation where the user has moved in the past on a weekday morning is a news application.
  • an application started in a situation where the user has not moved in the office on a weekday night in the past is a browser.
  • the situation indicated by * 1 in the column is a situation in which there is no log of past user application usage history.
  • an appropriate application is presented to the user using the past log having a situation close to the current situation.
  • the current situation is a situation where the user is moving at home on a weekday night
  • there is no past log in the current situation for example, a situation in which the user is moving in the office on a weekday night (hereinafter referred to as “Situation 1”), a situation in which the user is moving at home on a weekday morning (hereinafter referred to as “Situation 2”).
  • situation 3 In a situation where the user is not moving at home on a weekday night (hereinafter referred to as situation 3), there is a past log.
  • the situation indicated by * 2 in the column is a situation in an unknown place (for example, a place where the user has visited for the first time) that is not in the user's application use history, and there is no past log.
  • an appropriate application is presented to the user using, for example, past logs in a situation where conditions other than the place match or are similar.
  • the presentation application is selected using the activation prediction model generated using the application usage history of the other user, the usage history log of the other user in the current user situation is used. Based on this, the appropriate application is presented to the user. In this case, a more appropriate application is presented to the user by using the activation prediction model generated using the application usage history of the group of users similar to the user. Further, by dividing a group of similar users by demographics, a more appropriate application is presented to the user.
  • the server 11 uses the above-described position activation prediction model, so that even if the user is in an unknown place, the activation score of each application at each representative point (house and office) and each representative point Based on the distance, an appropriate application can be presented to the user.
  • the server 11 learns an activation prediction model using a distance from a registered place (for example, a house and an office) as a feature quantity, and is unknown by using the generated activation prediction model.
  • An appropriate application can be presented to the user based on the distance between the correct location and the registered location.
  • the server 11 can also handle this distance as discrete data, for example.
  • the server 11 can determine whether the user is out of the office or whether the user is in the country or abroad based on the distance.
  • the server 11 is assigned to an unknown place by generating a startup prediction model using a general label (for example, a sightseeing spot, a mountain, a restaurant, etc.) assigned to each place as a feature amount.
  • a general label for example, a sightseeing spot, a mountain, a restaurant, etc.
  • Appropriate applications can be presented based on the labels that are present.
  • the server 11 selects a presentation application using the target user, group, and start prediction models for all users. However, any one or two are used.
  • the presentation application may be selected.
  • the server 11 can select a presentation application using only the target user activation prediction model, or can select a presentation application using only the target user and group activation prediction models. .
  • the server 11 can also select a presentation application using, for example, a start prediction model for a group to which the target user does not belong (for example, a group to which a user not similar to the target user belongs).
  • the server 11 can also select a similar application based on a similarity that is different from the similarity of the distribution of the users held. For example, the server 11 can select a similar application based on the similarity of feature quantities based on application metadata or the like. Further, the server 11 can select a similar application by combining a plurality of types of similarities.
  • the method of presenting the presentation application to the target user is not limited to the above-described example, and any method can be adopted.
  • the execution control unit 242 of the client 12 may present the presentation application to the target user by automatically making one or more presentation applications usable without depending on a user operation. For example, the execution control unit 242 may automatically start the presentation application when an application list is received from the server 11. Further, for example, when the presentation application is operating in the background when the application list is received from the server 11, the execution control unit 242 may automatically operate in the foreground.
  • the startup application that is automatically started or automatically operated in the foreground may be only a part of the startup applications included in the application list.
  • the execution control unit 242 automatically executes the presentation application when the presentation application that is automatically started or automatically operated in the foreground is not included in the application list received after the next time. May be terminated automatically, or may be automatically operated in the background.
  • the execution control unit 242 when the execution control unit 242 receives the application list from the server 11, the execution application may be automatically executed in the background of the lock screen. Accordingly, when the target user releases the lock screen, the presentation application becomes usable in the foreground, and the presentation application can be used immediately.
  • the execution control unit 242 automatically executes an application (for example, a weather forecast application) that does not require any particular operation and can achieve the purpose just by looking and displays it on the lock screen, for example. You may make it show to.
  • an application for example, a weather forecast application
  • the application presentation method and the application to be presented may be changed depending on the type of the client 12.
  • the presentation control unit 232 of the client 12 may preferentially present a presentation application with low power consumption when the client 12 is operated by a battery.
  • the presentation control unit 232 may select a presentation application to be presented according to the specifications and capabilities of the client 12 (for example, the processing capability of the processor, the size of the display, etc.).
  • the presentation control unit 232 may select a presentation application to be presented according to, for example, the specifications and functions of the client 12. For example, when the client 12 includes a wearable device, the presentation control unit 232 may select a presentation application to be presented according to the specifications and functions of the wearable device.
  • the target user has a plurality of clients 12
  • the plurality of clients 12 may cooperate to present a presentation application to the target user.
  • a portable information terminal such as a smartphone and a wearable device
  • the portable information terminal when a presentation application is executed on a wearable device, when the lock screen of the portable information terminal is released, the portable information terminal activates the same presentation application as the wearable device, and the wearable device uses the wearable device. More detailed information than the device may be presented.
  • the wearable device when a weather forecast application is selected by the server 11, the wearable device immediately executes the weather forecast application and displays only today's weather at the current position.
  • the portable information terminal activates a weather forecast application and displays a more detailed weather forecast.
  • the portable information terminal displays the weather every three hours of the current position, the weekly weather forecast, the temperature, the weather forecast of the surrounding area, and the like. Thereby, the target user can obtain necessary information only with the wearable terminal, and further can obtain more detailed information using the portable information terminal.
  • the wearable device when the target user is at a shooting spot such as a sightseeing spot and the camera application is selected by the server 11, the wearable device presents the current icon provided from the server 11 together with an icon representing the camera application. Display photos taken at the location.
  • the portable information terminal activates the application of the camera when the lock screen is released. As a result, the target user can surely know that the current location is the shooting spot from the information from the wearable device, and can immediately take a picture using the portable information terminal.
  • the client 12 that communicates with the server 11 may control other clients 12 to execute presentation application presentation and the like.
  • the portable information terminal may communicate with the wearable terminal and cause the wearable terminal to present a presentation application or the like.
  • FIGS. 10 to 14 an example in which the target user touches the screen with a finger is shown.
  • the presentation method in FIGS. 10 to 14 can be performed by any method other than touching a finger.
  • the present invention can also be applied when a position is designated and operated.
  • the presentation method shown in FIGS. 10 to 14 can be applied to a case where a mouse or stylus pen is used or a touchless interface is used.
  • FIGS. 10 to 14 are examples thereof, and can be changed as necessary. Also, the presentation methods of FIGS. 10 to 14 may be used in combination as much as possible.
  • the user may be able to set rules regarding applications that are automatically started and applications that are presented.
  • the presentation control unit 232 of the client 12 presents an application whose activation probability in a certain situation is equal to or higher than a predetermined threshold, and the user sets or presents the application so as to be automatically activated in that situation as necessary. You may enable it to set a high priority.
  • the presentation control unit 232 presents an application whose activation probability in a certain situation is less than a predetermined threshold, and the priority set by the user so as not to present or present in that situation as necessary. May be set low.
  • functions corresponding to the learning unit 132 and the selection unit 133 of the server 11 are provided in the client 12, and the learning process (generation of a startup prediction model) and selection of a presentation application are performed by the client 12 alone without using the server 11 And presentation may be performed.
  • a function corresponding to the selection unit 133 of the server 11 is provided in the client 12, the client 12 receives a learning result (for example, an activation prediction model) from the server 11, and the presentation application is based on the received learning result. May be selected and presented.
  • a learning result for example, an activation prediction model
  • the client 12 When the presentation application is selected in the client 12, for example, the client 12 transmits an application list indicating the selection result to another device (for example, a device that operates in cooperation with the client 12 described above). Also good.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the present technology can take the following configurations.
  • An information acquisition unit for acquiring first information indicating the current situation including the current date and time and the current position of the user; The usage history of the application program of the user, the usage history including second information indicating the startup status including the date and time and the location of the user of each application program, the user profile, and the An information processing apparatus comprising: a selection unit that selects a presentation application that is an application program to be presented to the user based on first information.
  • the information processing apparatus according to (3), wherein the similar user is a user whose application program is similar to the user.
  • the selection unit is a model for predicting the activation probability of each application program, and is generated based on the first model generated based on the usage history of the user and the usage history of the other user.
  • the information processing apparatus according to any one of (2) to (4), wherein the presentation application is selected using the second model that has been set.
  • the selection unit selects the presentation application from among an application program selected using a model for predicting the activation probability of each application program and an application program similar to the selected application program.
  • the information processing apparatus according to any one of 4).
  • the information processing apparatus according to (6), wherein the similar application program is an application program having a similar distribution of users to the selected application program.
  • a display control unit for controlling display of an icon representing the presentation application in a predetermined screen;
  • the selection unit sets a priority order of the presentation application, When a predetermined operation is performed in the screen, the display control unit displays a plurality of the icons side by side in the screen according to the priority order, and the icons of the presentation application with the higher priority order are displayed.
  • the information processing apparatus according to any one of (1) to (7), wherein the information is displayed near a position where the operation is performed.
  • a display control unit for controlling display of an icon representing the presentation application in a predetermined screen The selection unit sets a priority order of the presentation application, The display control unit displays a plurality of the icons side by side in the screen according to the priority order, and widens the interval between the icons of the presentation application having the higher priority order. Thru
  • the selection unit sets a priority order of the presentation application,
  • the display control unit displays a plurality of the icons side by side in the screen according to the priority, and displays the icons in the screen when the position designated by the user in the screen moves in a predetermined first direction.
  • the icons to be switched are switched according to the priority order, and when the designated position moves in a second direction different from the first direction, the icons displayed in the screen are switched according to the reverse order of the priority order
  • the information processing apparatus according to any one of (7) to (7).
  • a display control unit that distinguishes and displays an icon representing the presentation application held by the user and an icon representing the presentation application not owned by the user on the screen.
  • the information processing apparatus according to any one of the above.
  • a display control unit that controls display of an icon representing the presentation application in a lock screen where user operations are restricted; (1) to (7), further comprising: an execution control unit that, when the icon is selected, releases the restriction on user operation and makes the presenting application corresponding to the selected icon usable.
  • the information processing apparatus according to any one of the above.
  • the status at the time of starting includes the state of the user at the time of starting the application program,
  • the information processing apparatus according to any one of (1) to (13), wherein the current situation includes a current state of the user.
  • a learning unit that generates a model for predicting the activation probability of each application program; The information processing apparatus according to any one of (1) to (4) and (7) to (14), wherein the selection unit selects the presentation application using the model.
  • the learning unit sets a first model for predicting the activation probability of each application program at a specified date and time using a predetermined periodic function, and sets a plurality of representative points, and sets each application point at each representative point.
  • the information processing apparatus according to (15), wherein at least one of second models for predicting a start probability of each application program at a specified position is generated based on the start probability.
  • the information processing apparatus according to any one of (1) to (16), further including a communication unit that transmits information indicating a selection result of the presentation application to another information processing apparatus.
  • the information processing apparatus according to any one of (1) to (17), further including an execution control unit configured to make the presentation application usable without depending on a user operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

 本技術は、アプリケーションプログラムを使用する際のユーザの利便性を向上させることができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。 情報取得部は、現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する。選択部は、ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及びユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、ユーザのプロファイル、並びに、第1の情報に基づいて、ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する。本技術は、例えば、ロック画面やランチャー画面の表示を制御する装置やプログラムに適用することができる。

Description

情報処理装置、情報処理方法、及び、プログラム
 本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、アプリケーションプログラムを使用する際のユーザの利便性を向上させるようにした情報処理装置、情報処理方法、及び、プログラムに関する。
 従来、携帯型のゲーム装置等の情報処理装置において、アプリケーションプログラム(以下、単にアプリケーションと称する)やコンテンツの利用状況に基づいてユーザの関心度を算出し、関心度の高いアプリケーションやコンテンツをメニュー内のユーザが視認又は選択しやすい領域に配置することが提案されている(例えば、特許文献1参照)。
特開2014-21608号公報
 一方、近年、スマートフォンやタブレット等の携帯情報端末の普及に伴い、携帯情報端末で使用可能なアプリケーションの数が増大している。そして、携帯情報端末にインストールするアプリケーションの数が増加すると、ユーザが所望のアプリケーションを見つけにくくなったり、所望のアプリケーションの起動に必要な操作手順が増加したりする。
 本技術はこのような状況に鑑みてなされたものであり、アプリケーションプログラムを使用する際のユーザの利便性を向上させるようにするものである。
 本技術の一側面の情報処理装置は、現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得部と、前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択部とを備える。
 前記選択部には、さらに他のユーザの前記使用履歴に基づいて、前記提示アプリケーションを選択させることができる。
 前記他のユーザを、前記ユーザと類似するユーザとすることができる。
 前記類似するユーザを、前記ユーザと保有するアプリケーションプログラムが類似するユーザとすることができる。
 前記選択部には、各アプリケーションプログラムの起動確率を予測するモデルであって、前記ユーザの前記使用履歴に基づいて生成された第1のモデル、及び、前記他のユーザの前記使用履歴に基づいて生成された第2のモデルを用いて、前記提示アプリケーションを選択させることができる。
 前記選択部には、各アプリケーションプログラムの起動確率を予測するモデルを用いて選択したアプリケーションプログラム、及び、前記選択したアプリケーションプログラムと類似するアプリケーションプログラムの中から前記提示アプリケーションを選択させることができる。
 前記類似するアプリケーションプログラムを、前記選択したアプリケーションプログラムと保有するユーザの分布が類似するアプリケーションプログラムとすることができる。
 前記選択部には、所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに設け、前記提示アプリケーションの優先順位を設定させ、前記表示制御部には、前記画面内において所定の操作が行われたとき、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記優先順位が高い前記提示アプリケーションの前記アイコンほど前記操作が行われた位置の近くに表示させることができる。
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに設け、前記選択部には、前記提示アプリケーションの優先順位を設定させ、前記表示制御部には、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記優先順位が高い前記提示アプリケーションの前記アイコンほど隣接する前記アイコンとの間隔を広くさせることができる。
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに設け、前記選択部には、前記提示アプリケーションの優先順位を設定させ、前記表示制御部には、前記画面内においてユーザにより指示された位置の移動距離に応じて、前記画面内に表示する前記アイコンを前記優先順位に従って切り替えさせるとともに、前記画面内に表示する前記アイコンを切り替えるために必要な前記移動距離を前記優先順位に応じて調整させることができる。
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに設け、前記選択部には、前記提示アプリケーションの優先順位を設定させ、前記表示制御部には、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記画面内においてユーザにより指示された位置が所定の第1の方向に移動すると、前記画面内に表示する前記アイコンを前記優先順位に従って切り替え、前記指示された位置が前記第1の方向と異なる第2の方向に移動すると、前記画面内に表示する前記アイコンを前記優先順位の逆順に従って切り替えさせることができる。
 前記ユーザが保有する前記提示アプリケーションを表すアイコンと、前記ユーザが保有していない前記提示アプリケーションを表すアイコンとを区別して画面内に表示させる表示制御部をさらに設けることができる。
 ユーザ操作が制限されるロック画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部と、前記アイコンが選択された場合、ユーザ操作の制限を解除し、選択された前記アイコンに対応する前記提示アプリケーションを使用可能な状態にする実行制御部とをさらに設けることができる。
 前記起動時の状況には、アプリケーションプログラムの起動時の前記ユーザの状態を含ませ、前記現在の状況には、現在の前記ユーザの状態を含ませることができる。
 各アプリケーションプログラムの起動確率を予測するモデルを生成する学習部をさらに設け、前記選択部には、前記モデルを用いて、前記提示アプリケーションを選択させることができる。
 前記学習部には、所定の周期関数を用いて、指定された日時における各アプリケーションプログラムの起動確率を予測する第1のモデル、及び、複数の代表点を設定し、各前記代表点における各アプリケーションの前記起動確率に基づいて、指定された位置における各アプリケーションプログラムの起動確率を予測する第2のモデルのうち少なくとも1つを生成させることができる。
 前記提示アプリケーションの選択結果を示す情報を他の情報処理装置に送信する通信部をさらに設けることができる。
 ユーザ操作によらずに前記提示アプリケーションを使用可能な状態にする実行制御部をさらに設けることができる。
 本技術の一側面の情報処理方法は、現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得ステップと、前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択ステップとを含む。
 本技術の一側面のプログラムは、現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得ステップと、前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択ステップとを含む処理をコンピュータに実行させる。
 本技術の一側面においては、現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報が取得され、前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションが選択される。
 本技術の一側面によれば、ユーザが使用する確率が高いアプリケーションプログラムをユーザに提示するアプリケーションプログラムとして選択することができる。その結果、アプリケーションプログラムを使用する際のユーザの利便性が向上する。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用した情報処理システムの一実施の形態を示すブロック図である。 サーバの構成例を示すブロック図である。 サーバのCPUにより実現される機能の構成例を示すブロック図である。 クライアントの構成例を示すブロック図である。 クライアントのCPUにより実現される機能の構成例を示すブロック図である。 情報取得処理を説明するためのフローチャートである。 学習処理を説明するためのフローチャートである。 フォン・ミーゼス分布を用いてアプリケーションの起動日時の分布を表したグラフの例を示す図である。 アプリケーション起動支援処理について説明するためのフローチャートである。 アプリケーションの提示方法の第1の例を示す図である。 アプリケーションの提示方法の第2の例を示す図である。 アプリケーションの提示方法の第3の例を示す図である。 アプリケーションの提示方法の第4の例を示す図である。 アプリケーションの提示方法の第5の例を示す図である。 提示されるアプリケーションの具体例を説明するための図である。
 以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
{情報処理システム1の構成例}
 図1は、本技術を適用した情報処理システム1の一実施の形態を示している。
 情報処理システム1は、サーバ11及びクライアント12-1乃至12-nを含むように構成される。サーバ11及びクライアント12-1乃至12-nは、ネットワーク13を介して相互に接続されており、互いに通信を行う。サーバ11及びクライアント12-1乃至12nの通信方式は、有線又は無線に関わらず、任意の通信方式を採用することが可能である。
 サーバ11は、クライアント12-1乃至12-nを使用するユーザに対して、状況に応じたアプリケーションを提示することにより、ユーザが所望のアプリケーションを起動するのを支援するサービス(以下、起動支援サービスと称する)を提供する。また、サーバ11は、例えば、起動支援サービスを利用するのに必要なアプリケーション(以下、起動支援アプリケーションと称する)をクライアント12-1乃至12-nに提供する。
 クライアント12-1乃至12-nは、複数のアプリケーションをインストールし、実行することが可能であり、かつ、起動支援サービスを利用可能な装置であれば、その実施形態は問わない。例えば、クライアント12-1乃至12-nは、スマートフォン、タブレット、携帯電話機、ノート型のパーソナルコンピュータ等の携帯情報端末、デスクトップ型のパーソナルコンピュータ、ゲーム機、動画再生装置、音楽再生装置等により構成される。また、クライアント12-1乃至12-nは、例えば、眼鏡型、腕時計型、ブレスレット型、ネックレス型、ネックバンド型、イヤフォン型、ヘッドセット型、ヘッドマウント型等の各種のウエアラブル機器により構成される。
 なお、以下、クライアント12-1乃至12-nを個々に区別する必要がない場合、単にクライアント12と称する。
{サーバ11の構成例}
 図2は、サーバ11の構成例を示している。
 サーバ11においては、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103が、バス104により相互に接続されている。バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、及びドライブ110が接続されている。
 入力部106は、例えば、キーボード、マウス、マイクロフォン等の入力デバイスにより構成される。
 出力部107は、例えば、ディスプレイ、スピーカ等により構成される。
 記憶部108は、例えば、ハードディスクや不揮発性のメモリ等により構成される。
 通信部109は、例えば、有線又は無線の通信装置、ネットワークインタフェース等により構成される。通信部109には、任意の通信方式を適用することが可能であり、複数の通信方式を適用することも可能である。
 ドライブ110は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア111を駆動する。
 サーバ11では、例えば、CPU101が、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、一連の処理が行われる。
 サーバ11(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア111に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 サーバ11では、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
 なお、以下、サーバ11の各部がバス104や入出力インタフェース105を介して情報等の送受信を行う場合において、バス104及び入出力インタフェース105の記載を省略する。例えば、通信部109が、バス104及び入出力インタフェース105を介して、CPU101に受信データを供給する場合、バス104及び入出力インタフェース105の記載を省略して、通信部109がCPU101に受信データを供給すると表現する。
{サーバ11のCPU101により実現される機能の構成例}
 図3は、サーバ11のCPU101により実現される機能のうち、本技術に関連する機能の構成例を示すブロック図である。CPU101が所定の制御プログラムを実行することにより、情報取得部131、学習部132、選択部133、及び、提示制御部134を含む機能が実現される。
 情報取得部131は、ネットワーク13及び通信部109を介して、各ユーザのアプリケーションの保有状況を示す情報(以下、アプリケーション保有情報と称する)を各クライアント12から取得する。また、情報取得部131は、ネットワーク13及び通信部109を介して、各クライアント12における各ユーザのアプリケーションの使用履歴(以下、アプリケーション使用履歴、又は、単に使用履歴と称する)を各クライアント12から取得する。
 なお、以下、アプリケーション使用履歴の個々の履歴を示すデータ、すなわち、1回のアプリケーションの使用分のデータをログと称する。
 学習部132は、各ユーザに適切なアプリケーションを提示するための学習を行う。学習部132は、特徴量ベクトル生成部141及びモデル学習部142を含むように構成される。
 特徴量ベクトル生成部141は、各クライアント12から取得されたアプリケーション保有情報に基づいて、各アプリケーションの特徴を表す特徴量ベクトル(以下、アプリケーションベクトルと称する)を生成する。また、特徴量ベクトル生成部141は、各クライアント12から取得されたアプリケーション保有情報に基づいて、各ユーザの特徴量を表す特徴量ベクトル(以下、ユーザベクトルと称する)を生成する。
 モデル学習部142は、各クライアント12から取得された各ユーザのアプリケーション使用履歴、及び、各ユーザのユーザベクトルに基づいて、各アプリケーションの起動確率を予測するモデル(以下、起動予測モデルと称する)の学習を行う。
 選択部133は、各ユーザに提示するアプリケーション(以下、提示アプリケーションと称する)の選択を行う。選択部133は、スコア算出部151、類似アプリケーション検索部152、及び、提示アプリケーション選択部153を含むように構成される。
 スコア算出部151は、モデル学習部142により生成された起動予測モデルを用いて、各アプリケーションの起動確率(起動されやすさ)を示すスコア(以下、起動スコアと称する)を算出する。
 類似アプリケーション検索部152は、各アプリケーションのアプリケーションベクトルに基づいて、指定されたアプリケーションと類似するアプリケーション(以下、類似アプリケーションと称する)を検索する。
 提示アプリケーション選択部153は、各アプリケーションの起動スコア、及び、類似アプリケーションの検索結果に基づいて、ユーザに提示する提示アプリケーションを選択する。また、提示アプリケーション選択部153は、起動スコア等に基づいて、ユーザに提示アプリケーションを提示する際の優先順位を設定する。
 提示制御部134は、各クライアント12におけるユーザへの提示アプリケーションの提示を制御する。提示制御部134は、アプリケーション提供部161及びアプリケーションリスト生成部162を含むように構成される。
 アプリケーション提供部161は、各クライアント12に起動支援アプリケーションを提供する。例えば、アプリケーション提供部161は、各クライアント12からの要求に応じて、通信部109及びネットワーク13を介して、要求元のクライアント12に起動アプリケーションを送信する。
 アプリケーションリスト生成部162は、提示アプリケーションの選択結果を示す情報であるアプリケーションリストを生成する。アプリケーションリスト生成部162は、生成したアプリケーションリストを、通信部109及びネットワーク13を介してクライアント12に送信する。
{クライアント12の構成例}
 図4は、クライアント12の構成例を示している。
 クライアント12においては、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203が、バス204により相互に接続されている。バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、センサ部208、記憶部209、通信部210、及び、ドライブ211が接続されている。
 入力部206は、例えば、キーボード、マウス、ボタン、タッチパネル、タッチレスインタフェース、マイクロフォン等の入力デバイスにより構成される。
 出力部207は、例えば、ディスプレイ、スピーカ等により構成される。
 センサ部208は、例えば、加速度センサ、ジャイロセンサ、気圧センサ、GPS(Global Positioning System)受信機等の各種のセンサや受信機等により構成される。
 記憶部209は、例えば、ハードディスクや不揮発性のメモリ等により構成される。
 通信部210は、例えば、有線又は無線の通信装置、ネットワークインタフェース等により構成される。通信部210には、任意の通信方式を適用することが可能であり、複数の通信方式を適用することも可能である。
 ドライブ211は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア212を駆動する。
 クライアント12では、例えば、CPU201が、記憶部209に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、一連の処理が行われる。
 クライアント12(CPU201)が実行するプログラム(アプリケーションプログラムを含む)は、例えば、パッケージメディア等としてのリムーバブルメディア212に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 クライアント12では、プログラムは、リムーバブルメディア212をドライブ211に装着することにより、入出力インタフェース205を介して、記憶部209にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部210で受信し、記憶部209にインストールすることができる。その他、プログラムは、ROM202や記憶部209に、あらかじめインストールしておくことができる。
 なお、以下、クライアント12の各部がバス204や入出力インタフェース205を介して情報等の送受信を行う場合において、バス204及び入出力インタフェース205の記載を省略する。例えば、通信部210が、バス204及び入出力インタフェース205を介して、CPU201に受信データを供給する場合、バス204及び入出力インタフェース205の記載を省略して、通信部210がCPU201に受信データを供給すると表現する。
 なお、図4のクライアント12の構成は、その一例であり、クライアント12の実施形態により、種々の変更が可能である。
{クライアント12のCPU201により実現される機能の構成例}
 図5は、クライアント12のCPU201により実現される機能のうち、本技術に関連する機能の構成例を示すブロック図である。CPU201が所定の制御プログラムを実行することにより、情報取得部231及び提示制御部232を含む機能が実現される。また、提示制御部232は、表示制御部241及び実行制御部242を含む。
 情報取得部231は、記憶部209にインストールされているアプリケーションを調査し、調査結果に基づいて、アプリケーション保有情報を生成する。また、情報取得部231は、入力部206及びセンサ部208からの情報等に基づいて、ユーザのアプリケーション起動時の状況を示す情報等を取得し、アプリケーション使用履歴を生成する。情報取得部231は、アプリケーション保有情報及びアプリケーション使用履歴を、通信部109及びネットワーク13を介してサーバ11に送信する。
 表示制御部241は、出力部207に含まれるディスプレイ等の画面の表示を制御する。
 実行制御部242は、アプリケーションプログラムやオペレーティングシステム等の、クライアント12の処理に必要なプログラムの実行を制御する。
 なお、例えば、表示制御部241は、サーバ11により選択された提示アプリケーションの表示を制御し、実行制御部242は、サーバ11により選択された提示アプリケーションの実行を制御する。このように、提示アプリケーションの表示又は実行が行われることにより、ユーザへの提示アプリケーションの提示が行われる。
{情報処理システム1の処理}
 次に、図6乃至図15を参照して、情報処理システム1の処理について説明する。
(情報取得処理)
 まず、図6のフローチャートを参照して、情報処理システム1により実行される情報取得処理について説明する。
 ステップS1において、情報処理システム1は、各ユーザのアプリケーションプログラムの保有状況を示す情報(アプリケーション保有情報)を取得する。例えば、クライアント12の情報取得部231は、記憶部209にインストールされているアプリケーションを調査する。そして、情報取得部231は、調査結果に基づいて、クライアント12にインストールされているアプリケーションのアプリケーションID、及び、アプリケーションの保有するユーザのユーザIDを含むアプリケーション保有情報を生成する。情報取得部231は、通信部210及びネットワーク13を介して、サーバ11にアプリケーション保有情報を送信する。
 ここで、アプリケーションIDは、各アプリケーションを一意に識別するためのIDであり、アプリケーション毎に異なる値が割り当てられる。ユーザIDは、起動支援サービスを利用する各ユーザを一意に識別するためのIDであり、ユーザ毎に異なる値が割り当てられる。
 なお、1つのクライアント12を複数のユーザが共用する場合、例えば、使用できるユーザが限定されていないアプリケーション(例えば、使用ライセンス等が設定されていないアプリケーション)は、各ユーザが保有するものとみなされる。
 サーバ11の情報取得部131は、通信部109を介して、クライアント12から送信されたアプリケーション保有情報を受信する。情報取得部131は、受信したアプリケーション保有情報を記憶部108に記憶させる。
 なお、各クライアント12が、サーバ11にアプリケーション保有情報を送信するタイミングは、任意に設定することができる。例えば、各クライアント12は、サーバ11から要求されたとき、或いは、定期的にアプリケーション保有情報をサーバ11に送信する。また、例えば、各クライアント12は、起動支援サービスへのログイン時や、起動支援アプリケーションの起動時等に、アプリケーション保有情報をサーバ11に送信する。
 ステップS2において、情報処理システム1は、各ユーザのアプリケーションの使用履歴(アプリケーション使用履歴)を取得する。
 クライアント12の情報取得部231は、アプリケーションが使用される毎に、入力部206及びセンサ部208等からアプリケーションの起動時の状況を示す情報を取得する。ここで、アプリケーションの起動時の状況には、例えば、起動時の日時、起動した日の特徴、起動時のユーザ(クライアント12)の位置、起動時のユーザの状態、及び、起動時のユーザの周囲の状態が含まれる。
 ここで、起動した日の特徴には、例えば、ユーザの国の祝日、ユーザ及びユーザの関係者(例えば、親族、知人等)の記念日(例えば、誕生日、結婚記念日等)等が含まれる。なお、ユーザ及びユーザの関係者の記念日は、例えば、クライアント12に登録されているユーザのユーザID及び個人情報を含むユーザプロファイル、ユーザがコンタクトを取る人の連絡先や個人情報を含むコンタクト情報、ユーザのスケジュール情報等に基づいて調査される。
 起動時のユーザの位置(以下、起動位置とも称する)には、例えば、アプリケーションの起動時にクライアント12のセンサ部208に含まれるGPS受信機により取得された位置情報が用いられる。また、クライアント12の通信部210がWi-Fi等のアクセスポイントを介した無線通信を行う場合、例えば、アプリケーションの起動時にクライアント12が接続しているアクセスポイントのIDが、起動時のユーザの位置として用いられる。
 起動時のユーザの状態は、例えば、クライアント12のセンサ部208に含まれる加速度センサ、ジャイロセンサ、気圧センサ等から得られる時系列のセンサデータに基づいて判別される離散的な状態である。例えば、ユーザの状態は、ユーザの行動内容により分類される。また、例えば、情報取得部231は、特開2014-56585に開示されている技術等を用いて、ユーザの状態を判別する。
 ユーザの周囲の状態は、例えば、起動時のユーザの周囲の天候、気温、湿度、気圧等を含む。
 情報取得部231は、使用したアプリケーションのアプリケーションID、アプリケーションを使用したユーザのユーザID、及び、アプリケーションの起動時の状況を示す情報を含むアプリケーション使用履歴を生成する。情報取得部231は、通信部210及びネットワーク13を介して、生成したアプリケーション使用履歴をサーバ11に送信する。
 サーバ11の情報取得部131は、通信部109を介して、クライアント12から送信されたアプリケーション使用履歴を受信する。情報取得部131は、受信したアプリケーション使用履歴を記憶部108に記憶させる。
 その後、処理はステップS1に戻り、ステップS1以降の処理が実行される。
 なお、各クライアント12が、サーバ11にアプリケーション使用履歴を送信するタイミングは、任意に設定することができる。例えば、各クライアント12は、アプリケーションを使用する毎に、アプリケーションの起動時や終了時等に当該使用に対するアプリケーション使用履歴を送信する。或いは、例えば、各クライアント12は、アプリケーション使用履歴を蓄積し、定期的に或いは所定のタイミングで、蓄積したアプリケーション使用履歴を送信する。
 また、アプリケーションの起動時の状況を示す情報の一部を、サーバ11が取得するようにしてもよい。例えば、サーバ11の情報取得部131が、サーバ11又は他のサーバに登録されているユーザプロファイル、コンタクト情報、スケジュール情報等から、アプリケーションを起動した日の特徴に関する情報を取得するようにしてもよい。
 なお、アプリケーション使用履歴に、例えば、使用時間、使用を終了した日時等のアプリケーションの使用状態に関する情報、使用中の状況、使用後の状況等を含めるようにしてもよい。また、アプリケーション使用履歴に、例えば、直前に起動された1以上のn個のアプリケーションを示す情報を含めるようにしてもよい。
(学習処理)
 次に、図7のフローチャートを参照して、サーバ11により実行される学習処理について説明する。なお、この処理は、例えば、定期的に実行される。
 ステップS51において、モデル学習部142は、各アプリケーションの起動予測モデルの学習を行う。具体的には、モデル学習部142は、各ユーザのアプリケーション使用履歴を記憶部209から取得する。モデル学習部142は、取得したアプリケーション使用履歴に基づいて、各アプリケーションの起動予測モデルの学習を行う。
(日時起動予測モデルの第1の学習方法)
 アプリケーションの中には、日時(曜日を含む)により使用頻度が大きく異なるものがある。そこで、モデル学習部142は、日時に基づいてアプリケーションの起動確率を予測する起動予測モデル(以下、日時起動予測モデルと称する)の学習を行う。
 例えば、モデル学習部142は、式(1)に示されるフォン・ミーゼス分布等の周期関数を用いて、指定された日時における各アプリケーションの起動確率(起動されやすさ)を示す起動スコアを出力する日時起動予測モデルを生成する。
f(x|μ,σ)=exp{σcos(x-μ)}/{2πI0(σ)}
                            ・・・(1)
 ここで、xは、日時を所定の周期で0から2πまでの値に変換した変数である。μは、アプリケーションの起動日時をxと同じ周期で0から2πまでの値に変換した変数である。σは分布の裾野の広さを表す変数であり、例えば、所定の定数に設定される。I0(σ)は、σを変数とするベッセル関数である。
 ここで、ユーザu1のアプリケーションa1に対する日時起動予測モデルを生成する場合について説明する。
 例えば、モデル学習部142は、ユーザu1のアプリケーションa1の使用履歴のログ毎に、式(1)を用いて、アプリケーションa1の起動日時を24時間周期で表した場合の分布と、7日(1週間)周期で表した分布を生成する。式(1)のμは、24時間周期の場合、24時間を0から2πまでの値に変換した値で表され、7日周期の場合、7日を0から2πまでの値に変換した値で表される。
 そして、モデル学習部142は、アプリケーションa1の起動日時を24時間周期で表した分布、及び、7日間周期で表した分布を、時間軸を合わせて、ユーザu1のアプリケーションa1の使用履歴の全ログ分足し合わせる。このとき、足し合わせた後の起動日時の分布の全周期(1週間分)にわたる積分値が1になるように正規化してもよい。これにより、足し合わせた後の起動日時の分布を、アプリケーションa1の曜日及び時刻に基づく起動確率分布として利用することができる。また、モデル学習部142は、24時間周期の分布と7日間周期の分布を、重みをつけて加算するようにしてもよい。
 図8は、フォン・ミーゼス分布を用いてアプリケーションa1の起動日時の分布を表したグラフの例を示している。なお、横軸は、1週間分の時間軸を表している。
 グラフD1は、アプリケーションa1の起動日時の分布を24時間周期で表したグラフであり、グラフD2は、アプリケーションa1の起動日時の分布を7日周期で表したグラフである。グラフD3は、グラフD1とグラフD2を加算したグラフである。
 このようにして、ユーザu1のアプリケーションa1に対する日時起動予測モデルが生成される。また、同様の方法により、各ユーザの各アプリケーションに対する日時起動予測モデルが生成される。このユーザ毎に生成された日時起動予測モデルは、各ユーザの各アプリケーションを起動する日時の傾向が反映されたモデルとなる。
 また、モデル学習部142は、ユーザを複数のグループに分類し、グループ毎に各アプリケーションに対する日時起動予測モデルを生成する。すなわち、モデル学習部142は、グループ毎に全メンバーのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、グループ毎に各アプリケーションに対する日時起動予測モデルを生成する。
 なお、グループの分類方法は任意であり、グループ数、グループの規模等は任意である。
 例えば、特徴量ベクトル生成部141は、各ユーザのアプリケーション保有情報に基づいて、各ユーザのユーザベクトルを生成する。例えば、アプリケーションの総数をMとした場合、ユーザベクトルのi次元目(ただし、0≦i≦M)の特徴量は、対象となるユーザがi番目のアプリケーションを保有しているか否かを示す。そして、ユーザベクトルのi次元目の特徴量は、対象となるユーザがi番目のアプリケーションを保有している場合、1に設定され、保有していない場合、0に設定される。
 次に、モデル学習部142は、Jaccard係数等を用いて、各ユーザ間のユーザベクトルの類似度を算出する。そして、モデル学習部142は、算出した類似度に基づいて、複数のグループにユーザを分類する。これにより、保有するアプリケーションが類似するユーザが属するグループが複数生成される。例えば、ビジネス系のアプリケーションを多く保有するユーザが属するグループや、ゲーム等の娯楽系のアプリケーションを多く保有するユーザが属するグループが生成される。
 なお、モデル学習部142は、年齢、性別、国籍、居住地(例えば、住んでいる国や地域)等の各ユーザのデモグラフィックにより、各グループを細分化するようにしてもよい。
 また、例えば、モデル学習部142は、ユーザベクトルを用いずに、各ユーザのデモグラフィックの一部又は全部の項目の類似度に基づいて、ユーザを複数のグループに分類するようにしてもよい。
 このグループ毎に生成された日時起動予測モデルは、各グループ(互いに類似するユーザ群)の各アプリケーションを起動する日時の傾向が反映されたモデルとなる。
 さらに、例えば、モデル学習部142は、全ユーザのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、全ユーザに対する各アプリケーションの日時起動予測モデルを生成する。この日時起動予測モデルは、各アプリケーションを起動する日時の一般的な傾向が反映されたモデルとなる。
(日時起動予測モデルの第2の学習方法)
 なお、上述した日時起動予測モデルの学習処理は、アプリケーション使用履歴のログが多くなると、リアルタイム処理が困難になる。
 そこで、モデル学習部142は、アプリケーション使用履歴のログが多くなった場合、日時(時間情報)を離散化して扱い、離散化した日時起動予測モデルを生成するようにしてもよい。例えば、モデル学習部142は、オフラインのバッチ処理により、1週間を1秒単位で604,800区分(=3600秒×24時間×7日)に分割し、各ユーザの各アプリケーションの起動回数を区分毎に集計する。そして、モデル学習部142は、各区分における各アプリケーションの起動回数、又は、起動回数に基づく順位に基づいて、各ユーザの各アプリケーションに対する起動スコアを区分毎に算出する日時起動予測モデルを生成する。
 同様に、モデル学習部142は、各グループの各アプリケーションの起動回数を区分毎に集計する。そして、モデル学習部142は、各区分における各アプリケーションの起動回数、又は、起動回数に基づく順位に基づいて、各グループの各アプリケーションに対する起動スコアを区分毎に算出する日時起動予測モデルを生成する。
 また、モデル学習部142は、全ユーザの各アプリケーションの起動回数を区分毎に集計する。そして、モデル学習部142は、各区分における各アプリケーションの起動回数、又は、起動回数に基づく順位に基づいて、全ユーザの各アプリケーションに対する起動スコアを区分毎に算出する日時起動予測モデルを生成する。
(位置起動予測モデルの第1の学習方法)
 また、アプリケーションの中には、ユーザの位置により使用頻度が大きく異なるものがある。そこで、モデル学習部142は、ユーザの位置に基づいてアプリケーションの起動確率を予測する起動予測モデル(以下、位置起動予測モデルと称する)を生成する。
 例えば、モデル学習部142は、GPS受信機等で取得される位置情報を入力した場合、入力された位置における各アプリケーションの起動スコアを出力する日時起動予測モデルを生成する。
 例えば、モデル学習部142は、k-NN法を用いて、位置起動予測モデルを生成する。ここで、ユーザu1の位置起動予測モデルを生成する場合について説明する。
 例えば、モデル学習部142は、ユーザu1のアプリケーション使用履歴に含まれる全ログのアプリケーションの起動位置に基づく分布を、位置起動予測モデルとして生成する。
 そして、スコア算出部151は、例えば、ユーザu1(が使用するクライアント12)の現在位置が入力された場合、入力された位置(以下、入力位置と称する)に起動位置が近い方から順にk個のログを抽出する。そして、例えば、スコア算出部151は、抽出したk個の各ログの起動位置と入力位置との間の距離に応じたスコアを、アプリケーション毎に加算する。なお、起動位置が入力位置に近いほど、スコアが高くなる。そして、スコア算出部151は、アプリケーション毎の加算後のスコアを、各アプリケーションの起動スコアに設定する。従って、ユーザの現在位置の近傍において起動回数が多いアプリケーションほど、起動スコアが高くなる。また、ユーザの現在位置により近い位置で起動されたアプリケーションほど、起動スコアが高くなる。
 このようにして、ユーザu1の位置起動予測モデルが生成され、生成された位置起動予測モデルを用いて、ユーザu1の現在位置における各アプリケーションに対する起動スコアが算出される。また、同様の方法により、各ユーザの位置起動予測モデルが生成され、生成された各位置起動予測モデルを用いて、各ユーザの現在位置における各アプリケーションに対する起動スコアが算出される。このユーザ毎に生成された位置起動予測モデルは、各ユーザの各アプリケーションを起動する位置の傾向が反映されたモデルとなる。
 また、モデル学習部142は、上述したようにユーザを複数のグループに分割し、グループ毎に全メンバーのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、グループ毎に位置起動予測モデルを生成する。このグループ毎に生成された日時起動予測モデルは、各グループ(互いに類似するユーザ群)の各アプリケーションを起動する位置の傾向が反映されたモデルとなる。
 さらに、モデル学習部142は、全ユーザのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、全ユーザに対する位置起動予測モデルを生成する。この位置起動予測モデルは、各アプリケーションを起動する位置の一般的な傾向が反映されたモデルとなる。
(位置起動予測モデルの第2の学習方法)
 位置起動予測モデルの第1の学習方法では、例えば、ユーザ数が多くなり、アプリケーション使用履歴のログが多くなると、リアルタイム処理が困難になる。そこで、例えば、予め複数の代表点を設定し、各代表点における各アプリケーションの起動スコア(起動確率)を求めておき、各代表点における起動スコアに基づいて、指定された位置(入力位置)における各アプリケーションの起動スコアを算出するようにしてもよい。
 例えば、モデル学習部142は、ユーザu1のアプリケーション使用履歴から所定数のログをランダムに抽出する。なお、モデル学習部142は、処理時間に余裕がある場合には、ユーザu1のアプリケーション使用履歴の全てのログを抽出するようにしてもよい。そして、モデル学習部142は、抽出したログにおける起動位置の分布に基づいて、k-means等のクラスタリング手法を用いて、ユーザu1に対する所定の数の代表点を設定する。このとき、アプリケーションの起動位置のみが考慮され、アプリケーションの種類は考慮されない。また、都心部等のアプリケーションの起動位置の密度が高い場所では、代表点の密度が高く設定され、郊外等のアプリケーションの起動位置の密度が低い場所では、代表点の密度が低く設定される。
 同様の方法により、各ユーザのアプリケーション使用履歴をそれぞれ用いて、各ユーザに対する代表点が設定される。なお、この代表点の設定処理は、バッチ処理で行うことが可能である。
 次に、モデル学習部142は、各代表点におけるユーザu1の各アプリケーションに対する起動スコアを算出する。具体的には、モデル学習部142は、例えば、ユーザu1のアプリケーション使用履歴の中から、起動位置が代表点p1に近い順にk1個のログを抽出する。そして、モデル学習部142は、抽出したk1個の各ログの起動位置と代表点p1との間の距離に応じたスコアを、アプリケーション毎に加算する。なお、起動位置が代表点p1に近いほど、スコアが高くなる。
 そして、モデル学習部142は、アプリケーション毎の加算後のスコアを、代表点p1におけるユーザu1の各アプリケーションに対する起動スコアに設定する。また、モデル学習部142は、他の代表点についても同様の処理により、ユーザu1の各アプリケーションに対する起動スコアを算出する。この、各代表点における各アプリケーションに対する起動スコアからなるモデルが、ユーザu1の位置起動予測モデルとなる。
 また、同様の方法により、各ユーザの各代表点における各アプリケーションに対する起動スコアが算出される。
 なお、この各代表点における起動スコアの算出処理は、バッチ処理で行うことが可能である。
 そして、例えば、スコア算出部151は、ユーザu1(が使用するクライアント12)の現在位置が入力された場合、ユーザu1に対する代表点のうち、入力位置に近い方から順にk2個の代表点を抽出する。次に、スコア算出部151は、抽出したk2個の代表点におけるユーザu1の各アプリケーションに対する起動スコアをアプリケーション毎に加算する。このとき、スコア算出部151は、入力位置に近い代表点ほど重みが大きくなるように、重み付け加算するようにしてもよい。そして、スコア算出部151は、アプリケーション毎の加算後の起動スコアを、入力位置におけるユーザu1の各アプリケーションに対する起動スコアとする。
 なお、このとき、スコア算出部151は、k2個の各代表点において、起動スコアが上位の所定の数のアプリケーションを抽出し、抽出したアプリケーションの起動スコアをアプリケーション毎に加算するようにしてもよい。
 このようにして、ユーザu1の位置起動予測モデルが生成され、生成された位置起動予測モデルを用いて、ユーザu1の現在位置における各アプリケーションに対する起動スコアが算出される。また、同様の方法により、各ユーザの位置起動予測モデルが生成され、生成された各位置起動予測モデルを用いて、各ユーザの現在位置における各アプリケーションに対する起動スコアが算出される。このユーザ毎に生成された位置起動予測モデルは、各ユーザの各アプリケーションを起動する位置の傾向が反映されたモデルとなる。
 また、上述したようにユーザが複数のグループに分割される。次に、グループの全メンバーのアプリケーション使用履歴の中からランダムに所定数のログが抽出され、抽出されたログを用いて、上述した方法により、当該グループに対する代表点が設定される。なお、例えば、処理時間に余裕がある場合には、全てのログを用いるようにしてもよい。これにより、当該グループの全メンバーに対して、同じ代表点が設定される。また、同様にして、各グループの代表点が設定される。
 また、グループの全メンバーのアプリケーション使用履歴を用いて、上述した方法により、各代表点における各アプリケーションに対する起動スコアが算出される。これにより、当該グループの全メンバーに対して、各アプリケーションについて代表点毎に同じ起動スコアが設定される。このようにして、当該グループの位置起動予測モデルが生成される。また、同様にして、各グループの位置起動予測モデルが生成される。このグループ毎に生成された位置起動予測モデルは、各グループ(互いに類似するユーザ群)の各アプリケーションを起動する位置の傾向が反映されたモデルとなる。
 さらに、モデル学習部142は、全ユーザのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、全ユーザに対する位置起動予測モデルを生成する。この位置起動予測モデルは、各アプリケーションを起動する位置の一般的な傾向が反映されたモデルとなる。
 なお、例えば、モデル学習部142は、ユーザ毎に位置起動予測モデルを生成する場合においても、グループ毎に代表点を設定するようにしてもよい。さらに、例えば、モデル学習部142は、ユーザ毎又はグループ毎に位置起動予測モデルを生成する場合においても、全ユーザ共通に代表点を設定するようにしてもよい。
(位置起動予測モデルの第3の学習方法)
 また、モデル学習部142は、例えば、Wi-Fi等のアクセスポイントに基づく位置起動予測モデルを生成することが可能である。ここで、ユーザu1の位置起動予測モデルを生成する場合について説明する。
 例えば、モデル学習部142は、ユーザu1のアプリケーション使用履歴に基づいて、ユーザu1の各アプリケーションの起動回数を、クライアント12がアプリケーションの起動時に接続されていたアクセスポイント毎に集計する。そして、モデル学習部142は、各アプリケーションに対して、アクセスポイント毎に起動回数に応じた起動スコアを設定する。この各アクセスポイントにおける各アプリケーションに対する起動スコアからなるモデルが、ユーザu1の位置起動予測モデルとなる。同様にして、各ユーザの位置起動予測モデルが生成される。
 さらに、モデル学習部142は、上述したようにユーザを複数のグループに分割する。そして、モデル学習部142は、グループ毎に全メンバーのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、グループ毎に位置起動予測モデルを生成する。
 また、モデル学習部142は、全ユーザのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、全ユーザに対する位置起動予測モデルを生成する。
(ユーザ状態起動予測モデルの第1の学習方法)
 また、アプリケーションの中には、ユーザの状態により使用頻度が大きく異なるものがある。そこで、モデル学習部142は、ユーザの状態に基づいてアプリケーションの起動確率を予測する起動予測モデル(以下、ユーザ状態起動予測モデルと称する)を生成する。
 ここで、ユーザu1に対するユーザ状態起動予測モデルを生成する場合について説明する。
 例えば、モデル学習部142は、ユーザu1のアプリケーション使用履歴に基づいて、各アプリケーションの起動回数を、起動時のユーザu1の状態毎に集計する。そして、モデル学習部142は、ユーザu1の状態毎に、起動回数に応じた起動スコアを各アプリケーションに設定する。このユーザu1の各状態における各アプリケーションに対する起動スコアからなるモデルが、ユーザu1のユーザ状態起動予測モデルとなる。同様にして、各ユーザのユーザ状態起動予測モデルが生成される。このユーザ毎に生成されたユーザ状態起動予測モデルは、各ユーザの各アプリケーションの起動時の状態の傾向が反映されたモデルとなる。
 さらに、モデル学習部142は、上述したようにユーザを複数のグループに分割する。そして、モデル学習部142は、グループ毎に全メンバーのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、グループ毎にユーザ状態起動予測モデルを生成する。このグループ毎に生成されたユーザ状態起動予測モデルは、各グループ(互いに類似するユーザ群)の各アプリケーションの起動時の状態の傾向が反映されたモデルとなる。
 さらに、例えば、モデル学習部142は、全ユーザのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、全ユーザに対するユーザ状態起動予測モデルを生成する。このユーザ状態起動予測モデルは、各アプリケーションの起動時の状態の一般的な傾向が反映されたモデルとなる。
(ユーザ状態起動予測モデルの第2の学習方法)
 また、例えば、モデル学習部142は、ナイーブベイズモデルを用いて、ユーザ状態起動予測モデルを生成することができる。ここで、ナイーブベイズモデルを用いて、ユーザu1に対するユーザ状態起動予測モデルを生成する場合について説明する。
 モデル学習部142は、ユーザu1のアプリケーション使用履歴に基づいて、次式(2)を用いて、ユーザu1の状態XにおけるアプリケーションYの起動確率p(Y|X)を算出する。
p(Y|X)=p(X|Y)×p(Y)/p(X) ・・・(2)
 なお、p(X|Y)は、アプリケーションYが起動された場合に、ユーザu1の状態が状態Xである確率である。p(Y)は、ユーザu1がアプリケーションYを起動する確率であり、例えば、ユーザu1のアプリケーションYの起動回数/ユーザの全アプリケーションの起動回数により算出される。p(X)は、ユーザu1の状態が状態Xである確率である。
 そして、モデル学習部142は、状態XとアプリケーションYの全ての組み合わせについて、起動確率p(Y|X)を算出する。この状態XとアプリケーションYの全ての組み合わせに対する起動確率p(Y|X)からなるモデルが、ユーザu1のユーザ状況起動確率モデルとなる。同様にして、各ユーザのユーザ状態起動予測モデルが生成される。このユーザ毎に生成されたユーザ状態起動予測モデルは、各ユーザの各アプリケーションの起動時の状態の傾向が反映されたモデルとなる。
 さらに、モデル学習部142は、上述したようにユーザを複数のグループに分割する。そして、モデル学習部142は、グループ毎に全メンバーのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、グループ毎にユーザ状態起動予測モデルを生成する。このグループ毎に生成されたユーザ状態起動予測モデルは、各グループ(互いに類似するユーザ群)の各アプリケーションの起動時の状態の傾向が反映されたモデルとなる。
 さらに、例えば、モデル学習部142は、全ユーザのアプリケーション使用履歴を用いて、上述した方法と同様の方法により、全ユーザに対するユーザ状態起動予測モデルを生成する。このユーザ状態起動予測モデルは、各アプリケーションの起動時の状態の一般的な傾向が反映されたモデルとなる。
(直前アプリケーション起動予測モデルの学習方法)
 例えば、アプリケーションの中には、同時に使用されることが多いアプリケーションの組み合わせや、続けて使用されることが多いアプリケーションの組み合わせ等、互いに関連が深いアプリケーションの組み合わせが存在する。例えば、文書作成用のアプリケーションと辞書アプリケーションの組み合わせ等である。
 ここで、直前に起動されたアプリケーションに基づく状態(以下、直前アプリケーション状態と称する)を離散的な状態とみなすことにより、上述した状態起動予測モデルと同様の方法により、直前に起動されたアプリケーションを入力とする起動予測モデル(以下、直前アプリケーション起動予測モデル)を生成することができる。
 なお、直前アプリケーション状態を、直前に起動された1系列のアプリケーションのみにより定義することも可能であるし、2以上のn個前から最も直前に起動されたアプリケーションまでのn系列のアプリケーションにより定義することも可能である。
 例えば、アプリケーションA、B、Cの3つのアプリケーションがある場合、前者においては、直前アプリケーション状態は、アプリケーションA、B、Cをそれぞれ直前に起動した状態の3種類となる。
 一方、後者においては、例えば、直前アプリケーション状態を直前に起動された2系列のアプリケーションに基づく状態とした場合、直前アプリケーション状態は、全部で9種類となる。すなわち、2つ前にアプリケーションAを起動した後、1つ前にアプリケーションA、B又はCをそれぞれ起動した場合の3種類、2つ前にアプリケーションBを起動した後、1つ前にアプリケーションA、B又はCをそれぞれ起動した場合の3種類、2つ前にアプリケーションCを起動した後、1つ前にアプリケーションA、B又はCのいずれかをそれぞれ起動した場合の3種類の合計9種類となる。
 なお、直前に起動されたアプリケーションは、各ユーザのアプリケーション使用履歴を参照することにより調査することが可能である。
 なお、直前に起動されたアプリケーションであっても、その間にクライアント12の電源がいったんオフされている場合には、次に起動するアプリケーションとの関連性は低いと考えられる。また、例えば、前のアプリケーションが起動されてから次のアプリケーションが起動されるまでの間隔が長い場合、この2つのアプリケーションの間の関連性は低いと考えられる。
 そこで、直前に起動したアプリケーションを採用する条件を限定するようにしてもよい。例えば、クライアント12の電源がオンされた後に起動されたアプリケーションに限定したり、現在の時刻から所定の時間前より後に起動されたアプリケーションに限定したりすることが考えられる。
(起動予測モデルの統合及び分割について)
 以上に説明した起動予測モデルは、統合したり分割したりすることが可能である。
 例えば、モデル学習部142は、複数の入力パラメータを組み合わせて、起動予測モデルを生成することにより、起動予測モデルを統合することができる。例えば、モデル学習部142は、日時と起動位置の組み合わせを入力とする起動予測モデルを生成したり、起動位置とユーザの状態の組み合わせを入力とする起動予測モデルを生成したりすることができる。
 また、例えば、モデル学習部142は、日時、起動位置、又は、ユーザの状態等により分割して起動予測モデルを生成することができる。例えば、モデル学習部142は、ユーザの状態毎に、日時起動予測モデル、位置起動予測モデル、直前アプリケーション起動予測モデルを分割して生成することができる。例えば、モデル学習部142は、ユーザが移動している場合と移動していない場合とで分けて、日時起動予測モデル、位置起動予測モデル、直前アプリケーション起動予測モデルをそれぞれ生成することができる。
 また、例えば、モデル学習部142は、時間帯や曜日等により分割して、位置起動予測モデル、ユーザ状態起動予測モデル、直前アプリケーション起動予測モデルをそれぞれ生成することができる。
 さらに、例えば、モデル学習部142は、起動位置により分割して、日時起動予測モデル、ユーザ状態起動予測モデル、直前アプリケーション起動予測モデルを生成することができる。例えば、モデル学習部142は、ユーザが家にいる場合、オフィスにいる場合、及び、それ以外で分けて、日時起動予測モデル、ユーザ状態起動予測モデル、直前アプリケーション起動予測モデルをそれぞれ生成することができる。
 そして、モデル学習部142は、以上のようにして、生成した起動予測モデルに関する情報を記憶部209に記憶させる。
 なお、モデル学習部142は、必ずしも以上に挙げた全ての起動予測モデルを生成する必要はなく、一部の起動予測モデルのみ生成するようにしてもよい。また、上述した起動予測モデルは、その一例であり、上述した以外の起動予測モデルを採用することも可能である。
 ステップS52において、特徴量ベクトル生成部141は、各アプリケーションの特徴量ベクトル(アプリケーションベクトル)を生成する。具体的には、特徴量ベクトル生成部141は、保有しているユーザの分布に基づいて、各アプリケーションのアプリケーションベクトルを生成する。例えば、起動支援サービスの全ユーザをN人とした場合、アプリケーションベクトルのj次元目(ただし、0≦j≦N)の特徴量は、j番目のユーザが対象となるアプリケーションを保有しているか否かを示す。そして、アプリケーションベクトルのj次元目の特徴量は、j番目のユーザが対象となるアプリケーションを保有している場合、1に設定され、保有していない場合、0に設定される。
 特徴量ベクトル生成部141は、生成した各アプリケーションのアプリケーションベクトルを記憶部209に記憶させる。
 その後、学習処理は終了する。
(アプリケーション起動支援処理)
 次に、図9のフローチャートを参照して、情報処理システム1により実行されるアプリケーション起動支援処理について説明する。なお、以下、この処理において、起動支援サービスを利用し、アプリケーションが提示される対象となるユーザを対象ユーザと称する。
 ステップS101において、クライアント12の情報取得部231は、現在の状況等に関する情報等を取得する。例えば、情報取得部231は、図6のステップS2と同様の処理により、現在の日時、今日の特徴、現在の対象ユーザ(クライアント12)の位置、現在の対象ユーザの状態、及び、現在のユーザの周囲の状態等を示す情報を取得する。
 ステップS102において、クライアント12の情報取得部231は、ステップS101の処理で取得した現在の状況等に関する情報を、通信部210及びネットワーク13を介してサーバ11に送信する。このとき、情報取得部231は、対象ユーザの識別ができるように、対象ユーザのプロファイルの1つであるユーザIDを合わせて送信する。なお、対象ユーザのプロファイルを全て送信するようにしてもよい。
 ステップS103において、サーバ11の情報取得部131は、通信部109を介して、ステップS102の処理でクライアント12から送信された現在の状況等に関する情報を受信する。
 なお、現在の状況を示す情報の一部を、サーバ11が取得するようにしてもよい。例えば、サーバ11の情報取得部131が、サーバ11又は他のサーバに登録されているユーザプロファイル、コンタクト情報、スケジュール情報等から、今日の特徴に関する情報を取得するようにしてもよい。また、例えば、情報取得部131が、サーバ11の内部時計から現在の日時を示す情報を取得するようにしてもよい。
 ステップS104において、サーバ11のスコア算出部151は、対象ユーザ用の起動予測モデルを用いて、各アプリケーションの起動スコアを算出する。具体的には、スコア算出部151は、対象ユーザのユーザIDに基づいて、対象ユーザのみを対象にして生成された起動予測モデルに関する情報を記憶部108から読み出す。そして、スコア算出部151は、読み出した起動予測モデルに現在の状況(日時、位置、ユーザの状態等)を入力することにより、各アプリケーションの起動スコアを算出する。
 このとき、スコア算出部151は、対象ユーザ用の起動予測モデルを必ずしも全て使用する必要はなく、使用する起動予測モデルを選択するようにしてもよい。また、スコア算出部151は、複数の起動予測モデルを用いる場合、各起動予測モデルを用いて算出された起動スコアをアプリケーション毎に加算する。これにより、複数の起動予測モデルが、実質的に統合される。
 また、スコア算出部151は、各起動予測モデルによる起動スコアを加算する際に、起動予測モデル毎に重みをつけて加算するようにしてもよい。この重みは、例えば、各起動予測モデルの精度や影響度等に基づいて設定される。例えば、精度が高い起動予測モデルほど、重みが大きい値に設定される。なお、重みは、固定値としてもよいし、状況に応じて可変とするようにしてもよい。
 なお、以下、対象ユーザ用の起動予測モデルに基づいて算出された起動スコアを、対象ユーザ用起動スコアと称する。
 ステップS105において、サーバ11のスコア算出部151は、他の起動予測モデルを用いて、各アプリケーションの起動スコアを算出する。例えば、スコア算出部151は、対象ユーザが属するグループを対象にして生成された起動予測モデルに関する情報を記憶部108から読み出す。そして、スコア算出部151は、読み出した起動予測モデルに現在の状況(日時、位置、ユーザの状態等)を入力することにより、各アプリケーションの起動スコアを算出する。
 このとき、スコア算出部151は、対象ユーザが属するグループ用の起動予測モデルを必ずしも全て使用する必要はなく、使用する起動予測モデルを選択するようにしてもよい。また、スコア算出部151は、複数の起動予測モデルを用いる場合、ステップS104の処理と同様に、各起動予測モデルを用いて算出された起動スコアをアプリケーション毎に加算する。
 なお、以下、対象ユーザが属するグループ用の起動予測モデルに基づいて算出された起動スコアを、グループ用起動スコアと称する。
 また、例えば、スコア算出部151は、全ユーザを対象にして生成された起動予測モデルに関する情報を記憶部108から読み出す。そして、スコア算出部151は、読み出した起動予測モデルに現在の状況(日時、位置、ユーザの状態等)を入力することにより、各アプリケーションの起動スコアを算出する。
 このとき、スコア算出部151は、全ユーザ用の起動予測モデルを必ずしも全て使用する必要はなく、使用する起動予測モデルを選択するようにしてもよい。また、スコア算出部151は、複数の起動予測モデルを用いる場合、ステップS104の処理と同様に、各起動予測モデルを用いて算出された起動スコアをアプリケーション毎に加算する。
 なお、以下、全ユーザ用の起動予測モデルに基づいて算出された起動スコアを、全ユーザ用起動スコアと称する。
 ステップS106において、サーバ11の提示アプリケーション選択部153は、起動スコアに基づいて、アプリケーションを選択する。具体的には、提示アプリケーション選択部153は、アプリケーション毎に、対象ユーザ用起動スコア、グループ用起動スコア、及び、全ユーザ用起動スコアを加算する。
 このとき、提示アプリケーション選択部153は、重み付け加算を行うようにしてもよい。例えば、対象ユーザ用起動スコアに対する重みを大きくすると、現在の状況において対象ユーザがよく使用するアプリケーションに対する起動スコアが大きくなる。また、例えば、グループ用起動スコアに対する重みを大きくすると、現在の状況において対象ユーザが属するグループのメンバーがよく使用するアプリケーションに対する起動スコアが大きくなる。さらに、例えば、全ユーザ用起動スコアに対する重みを大きくすると、現在の状況において一般的によく使用されるアプリケーションに対する起動スコアが大きくなる。
 そして、提示アプリケーション選択部153は、加算後の起動スコアに基づいて、ユーザに提示するアプリケーションの候補(以下、スコア選択アプリケーションと称する)を選択する。例えば、提示アプリケーション選択部153は、加算後の起動スコアの大きい方から順に所定の数のアプリケーションをスコア選択アプリケーションに選択する。また、例えば、提示アプリケーション選択部153は、加算後の起動スコアが所定の閾値以上のアプリケーションをスコア選択アプリケーションに選択する。
 ステップS107において、サーバ11の類似アプリケーション検索部152は、起動スコアに基づいて選択されたアプリケーションに類似するアプリケーションを選択する。具体的には、類似アプリケーション検索部152は、各アプリケーションのアプリケーションベクトルを記憶部108から読み出す。そして、類似アプリケーション検索部152は、Jaccard係数等を用いて、各スコア選択アプリケーションのアプリケーションベクトルと、スコア選択アプリケーション以外の各アプリケーションのアプリケーションベクトルとの間の類似度を算出する。
 そして、類似アプリケーション検索部152は、算出した類似度に基づいて、スコア選択アプリケーション以外のアプリケーションの中からユーザに提示するアプリケーションの候補(以下、類似アプリケーションと称する)を選択する。例えば、類似アプリケーション検索部152は、類似度の高い方から順に所定の数のアプリケーションを類似アプリケーションに選択する。また、例えば、類似アプリケーション検索部152は、類似度が所定の閾値以上のアプリケーションを類似アプリケーションに選択する。これにより、各スコア選択アプリケーションと保有するユーザの分布が類似するアプリケーションが、類似アプリケーションに選択される。
 ステップS108において、サーバ11の提示アプリケーション選択部153は、対象ユーザに提示するアプリケーション(提示アプリケーション)を選択する。具体的には、提示アプリケーション選択部153は、スコア選択アプリケーションと類似アプリケーションの中から所定の数のアプリケーションを提示アプリケーションに選択する。
 なお、スコア選択アプリケーションと類似アプリケーションの中から提示アプリケーションを選択する方法は、任意の方法に設定できる。例えば、提示アプリケーションの数をn個とした場合、提示アプリケーション選択部153は、スコア選択アプリケーションがn個以上ある場合、提示スコアが高い方から順にn個のスコア選択アプリケーションを提示アプリケーションに選択する。一方、スコア選択アプリケーションがn個未満である場合、例えば、提示アプリケーション選択部153は、スコア選択アプリケーションを全て提示アプリケーションに選択するとともに、足りない分だけ類似アプリケーションの中から類似度が高い方から順に提示アプリケーションを選択する。
 なお、提示アプリケーション選択部153は、スコア選択アプリケーションがn個以上ある場合も、類似アプリケーションの中から提示アプリケーションを選択するようにしてもよい。また、例えば、提示アプリケーション選択部153は、対象ユーザが保有していないアプリケーションを候補から外し、対象ユーザが保有しているアプリケーションのみから、提示アプリケーションを選択するようにしてもよい。
 また、提示アプリケーション選択部153は、対象ユーザが保有していないアプリケーションの中から提示アプリケーションを選択する場合、例えば、プロモーション等により優先的に推薦するように設定されているアプリケーションがあれば、そのアプリケーションを優先して提示アプリケーションに選択する。
 また、提示アプリケーション選択部153は、起動スコア及び類似度に基づいて、選択した提示アプリケーションの優先順位を設定する。例えば、提示アプリケーション選択部153は、提示アプリケーションのうちスコア選択アプリケーションを起動スコアが高い順に並べ、その後に類似アプリケーションを類似度が高い順に並べた順位を優先順位に設定する。
 なお、例えば、提示アプリケーション選択部153は、対象ユーザが保有するアプリケーションを対象ユーザが保有していないアプリケーションより優先順位を高く設定するようにしてもよい。また、例えば、提示アプリケーション選択部153は、提示アプリケーションの中に優先的に推薦するように設定されているアプリケーションがあれば、そのアプリケーションの優先順位を高く設定するようにしてもよい。
 このように、対象ユーザのアプリケーション使用履歴に基づいて生成された対象ユーザ用の起動予測モデルを用いて算出したスコアに基づいて、提示アプリケーションが選択される。これにより、実質的に対象ユーザのアプリケーション使用履歴に基づいて、提示アプリケーションが選択される。
 また、対象ユーザとは異なる他のユーザのアプリケーション使用履歴に基づいて生成された起動予測モデル(グループ用の起動予測モデル及び全ユーザ用の起動予測モデル)を用いて算出したスコアに基づいて、提示アプリケーションが選択される。これにより、実質的に他のユーザのアプリケーション使用履歴に基づいて、提示アプリケーションが選択される。
 ステップS109において、サーバ11のアプリケーションリスト生成部162は、アプリケーションリストを生成する。具体的には、アプリケーションリスト生成部162は、各提示アプリケーションに関する情報、及び、優先順位を含むアプリケーションリストを生成する。
 ステップS110において、サーバ11のアプリケーションリスト生成部162は、アプリケーションリストを送信する。すなわち、アプリケーションリスト生成部162は、生成したアプリケーションリストを、通信部109及びネットワーク13を介して、対象ユーザのクライアント12に送信する。
 その後、サーバ11の処理は終了する。
 ステップS111において、クライアント12のCPU201は、通信部210を介して、サーバ11から送信されたアプリケーションリストを受信する。
 ステップS112において、クライアント12は、アプリケーションの提示を行う。例えば、クライアント12の表示制御部241は、出力部207に含まれるディスプレイに提示アプリケーションを提示するための画面を表示させる。
 ここで、図10乃至図14を参照して、クライアント12がスマートフォン301からなる場合に、スマートフォン301の画面311に提示アプリケーションを提示する方法の例について説明する。なお、画面311はタッチパネルからなる。また、図10乃至図14の各アイコン内に示される番号は、提示アプリケーションの優先順位を示しており、例えば、数字の1が表示されているアイコンは、優先順位が1番目の提示アプリケーションを表すアイコンである。なお、実際には、各アイコン内には、対応する提示アプリケーションを表す画像等が表示される。
 図10は、提示アプリケーションの提示方法の第1の例を示している。この例において、スマートフォン301の画面311は、エリアA1とエリアA2に大きく分かれる。画面311の下端のエリアA1内には、スマートフォン301を操作するためのボタン321乃至ボタン325が、横一列に並ぶように表示されている。そして、対象ユーザが、指302でボタン321に触れると(ボタン321に対して所定の操作を行うと)、提示アプリケーションを表すアイコン326a乃至326eが、エリアA1の上のエリアA2内に表示される。なお、以下、アイコン326a乃至326eを個々に区別する必要がない場合、単にアイコン326と称する。
 各アイコン326は、対象ユーザにより操作が行われたボタン321に近い方から、アイコン326a、アイコン326b、アイコン326c、アイコン326d、アイコン326eの順に、エリアA2の左下から右上に向けて略円弧状に並んでいる。すなわち、優先順位が高い提示アプリケーションのアイコン326ほど、ボタン321の近くに表示され、優先順位が低い提示アプリケーションのアイコン326ほど、ボタン321から遠い位置に表示される。
 また、各アイコン326の大きさは、アイコン326a、アイコン326b、アイコン326c、アイコン326d、アイコン326eの順になっている。すなわち、優先順位が高い提示アプリケーションのアイコン326ほど大きく、優先順位が低い提示アプリケーションのアイコン326ほど小さい。
 そして、対象ユーザが、指302を画面311に触れたまま画面311上をスライドさせ、所望のアイコン326上で画面311から離した場合、そのアイコン326に対応する提示アプリケーションが選択される。そして、実行制御部242は、選択された提示アプリケーションを起動する。ここで、優先順位が高い提示アプリケーションのアイコン326ほど、ボタン321の近くに大きく表示されるため、対象ユーザは、優先順位が高い提示アプリケーションを選択しやすくなる。
 一方、対象ユーザが、指302を各アイコン326以外の位置で画面から離すことにより、提示アプリケーションの選択がキャンセルされる。そして、各アイコン326が画面311から消え、いずれの提示アプリケーションも起動されない。
 図11は、提示アプリケーションの提示方法の第2の例を示している。この例では、図10の例と同様に、スマートフォン301の画面311がエリアA1とエリアA2に分かれ、エリアA1内にボタン321乃至ボタン325が並んでいる。そして、対象ユーザが、指302でボタン321に触れると(ボタン321に対して所定の操作を行うと)、提示アプリケーションを表すアイコン341a乃至341fが、エリアA2内に表示される。なお、以下、アイコン341a乃至341fを個々に区別する必要がない場合、単にアイコン341と称する。
 各アイコン341は、対象ユーザにより操作が行われたボタン321から近い方から、アイコン341a、アイコン341b、アイコン341c、アイコン341d、アイコン341e、アイコン341fの順に、エリアA2の左下から右上に向けて略円弧状に並んでいる。すなわち、優先順位が高い提示アプリケーションのアイコン341ほど、ボタン321の近くに表示され、優先順位が低い提示アプリケーションのアイコン341ほど、ボタン321から遠い位置に表示される。また、優先順位が高い提示アプリケーションのアイコン341ほど、隣接するアイコン341との間の間隔が広くなり、優先順位が低い提示アプリケーションのアイコン341ほど、隣接するアイコン341との間の間隔が狭くなっている。
 そして、対象ユーザが、指302を画面311に触れたまま画面311上をスライドさせ、所望のアイコン341上で画面311から離した場合、そのアイコン341に対応する提示アプリケーションが選択される。そして、実行制御部242は、選択された提示アプリケーションを起動する。ここで、優先順位が高い提示アプリケーションのアイコン341ほど、ボタン302の近くに表示されるとともに、隣接するアイコン341との間の間隔が広くなっているため、対象ユーザは、優先順位が高い提示アプリケーションを選択しやすくなる。
 一方、対象ユーザが、指302を各アイコン341以外の位置で画面から離すことにより、提示アプリケーションの選択がキャンセルされる。そして、各アイコン341が画面311から消え、いずれの提示アプリケーションも起動されない。
 図12は、提示アプリケーションの提示方法の第3の例を示している。この例では、図10の例と同様に、スマートフォン301の画面311は、エリアA1とエリアA2に大きく分かれる。さらに、エリアA2は、エリアA2aとエリアA2bに分かれる。なお、図12の画面311内の横方向の点線は、補助線であり、実際には表示されない。
 エリアA1内には、図10の例と同様に、ボタン321乃至325が並べられている(ただし、図12では、ボタン321は不図示)。そして、対象ユーザが、指302でボタン321に触れた後、指302をエリアA1の上のエリアA2a内にスライドさせると、アイコン361a乃至361cが、ボタン321の領域に表示される。具体的には、図12内の左端の図に示されるように、アイコン361a乃至361cが、アイコン361a、アイコン361b、アイコン361cの順に上から重ねて表示される。また、最前面のアイコン361aのサイズが最も大きく、最背面のアイコン361cのサイズが最も小さくなっている。なお、以下、アイコン361a、361b、361c、・・・を個々に区別する必要がない場合、単にアイコン361と称する。
 そして、対象ユーザが、指302をエリアA2a内でスライドさせると、指302により指示された位置の移動距離に応じて、エリアA1内の最前面に表示されるアイコン361が、提示アプリケーションの優先順位に従って切り替わる。例えば、図12の左端の図に示される状態から、指302をエリアA2a内で所定の距離だけスライドさせると、図12の中央に示されるように、エリアA1内においてアイコン361bが最前面に表示される。また、図示は省略するが、左端の図と同様に、アイコン361bの背面に、アイコン361c及び361dが重ねて表示される。なお、アイコン361dは、優先順位が4番目の提示アプリケーションを表すアイコンである。
 また、例えば、図12の中央の図に示される状態から、指302をエリアA2a内で所定の距離だけスライドさせると、図12の右端に示されるように、エリアA1内においてアイコン361cが最前面に表示される。また、図示は省略するが、左端の図と同様に、アイコン361cの背面に、アイコン361d及び361eが重ねて表示される。なお、アイコン361eは、優先順位が5番目の提示アプリケーションを表すアイコンである。
 そして、対象ユーザは、エリアA2a内で指302を画面311から離すことにより、そのときにエリアA1内で最前面に表示されているアイコン361に対応する提示アプリケーションを選択することができる。そして、実行制御部242は、選択された提示アプリケーションを起動する。
 なお、エリアA2内で指302をスライドさせる方向は特に限定されず、指302をスライドした距離(移動距離)のみに基づいて、エリアA1内の最前面に表示されるアイコン361が切り替わる。
 ここで、アイコン361の表示を切り替えるために必要な指302の移動距離が優先順位に応じて調整される。具体的には、優先順位が高い提示アプリケーションのアイコン361ほど、次のアイコン361に表示が切り替わる(次のアイコン361が最前面に表示される)までに必要な指302の移動距離が長く設定される。一方、優先順位が低い提示アプリケーションのアイコン361ほど、次のアイコン361に表示が切り替わる(次のアイコン361が最前面に表示される)までに必要な指302の移動距離が短く設定される。例えば、エリアA1内の最前面のアイコン361aをアイコン361bに切り替える場合に必要な指302の移動距離は、アイコン361bをアイコン361cに切り替える場合より長くなる。
 従って、優先順位が高い提示アプリケーションのアイコン361ほど画面311に表示される時間が長くなり、対象ユーザは、優先順位が高い提示アプリケーションを選択しやすくなる。また、優先順位が低い提示アプリケーションのアイコン361ほど画面311に表示される時間が短くなるため、対象ユーザは、優先順位が下位のアイコン361をより早く画面311に表示させ、選択することが可能になる。
 一方、対象ユーザが、指302をエリアA2aの上のエリアA2b内までスライドさせてから画面311から離すことにより、提示アプリケーションの選択がキャンセルされる。そして、各アイコン361が画面311から消え、ボタン321が再表示され、いずれの提示アプリケーションも起動されない。
 図13は、提示アプリケーションの提示方法の第4の例を示している。この例では、スマートフォン301の画面311には、ユーザ操作が制限されるロック画面が表示されている。なお、図13の画面311内の横方向の点線は、補助線であり、実際には表示されない。
 例えば、対象ユーザが、画面311の上端から中央より少し下までのエリアA11内に指302で触れ、エリアA11内で所定の距離だけ指302をスライドさせると、図13内の右上の図に示されるように、エリアA11内にアイコン381aが表示される。さらに、対象ユーザが、指302をエリアA11内で所定の距離だけスライドさせると、図13内の左下の図に示されるように、エリアA11内にアイコン381bが表示される。なお、以下、アイコン381a、381b、・・・を個々に区別する必要がない場合、単にアイコン381と称する。
 このように、対象ユーザがエリアA11内で指302をスライドさせることにより、エリアA11内に表示されるアイコン381が、提示アプリケーションの優先順位に従って切り替わる。そして、対象ユーザは、エリアA11内で指302を画面311から離すことにより、そのときにエリアA11内に表示されているアイコン381に対応する提示アプリケーションを選択することができる。そして、実行制御部242は、ロック画面(ユーザ操作の制限)を解除するとともに、選択された提示アプリケーションを起動する。
 なお、エリアA11内で指302をスライドさせる方向は特に限定されず、指302をスライドした距離(指302により指示された位置の移動距離)のみに基づいて、エリアA11内に表示されるアイコン381が切り替わる。
 ここで、アイコン381の表示を切り替えるために必要な指302の移動距離が優先順位に応じて調整される。具体的には、優先順位が高い提示アプリケーションのアイコン381ほど、次のアイコン381に表示が切り替わるまでに必要な指302の移動距離が長くなる。一方、優先順位が低い提示アプリケーションのアイコン381ほど、次のアイコン381に表示が切り替わるまでに必要な指302の移動距離が短くなる。例えば、エリアA11内のアイコン361aをアイコン361bに切り替える場合に必要な指302の移動距離は、アイコン361bをアイコン361cに切り替える場合より長くなる。
 従って、優先順位が高い提示アプリケーションのアイコン381ほど画面311に表示される時間が長くなり、対象ユーザは、優先順位が高い提示アプリケーションを選択しやすくなる。また、優先順位が低い提示アプリケーションのアイコン381ほど画面311に表示される時間が短くなるため、対象ユーザは、優先順位が下位のアイコン381をより早く画面311に表示させ、選択することが可能になる。また、ロック画面の解除とともに、選択した提示アプリケーションが起動するので、対象ユーザは、より迅速かつ簡単に所望のアプリケーションを使用することができる。
 一方、対象ユーザが、指302をエリアA11の下のエリアA12内までスライドさせてから画面311から離すことにより、提示アプリケーションの選択がキャンセルされる。すなわち、この場合、いずれの提示アプリケーションも起動されない。そして、実行制御部242は、ロック画面(ユーザ操作の制限)を解除し、表示制御部241は、ロック解除後に表示される通常の画面(例えば、ランチャー画面)を表示させる。
 図14は、提示アプリケーションの提示方法の第5の例を示している。この例において、スマートフォン301の画面311にはロック画面が表示されている。このロック画面は、例えば、画面311上で指302を上下方向にスライドさせることにより解除される。
 そして、例えば、対象ユーザが、指302で画面311に触れ、指302を上方向にスライドさせると、図14内の右上の図に示されるように、アイコン401a乃至401dが、画面311の左端のほぼ中央から上下やや斜め方向に重なるように表示される。また、アイコン401aが最も下かつ最前面に表示され、アイコン401dが最も上かつ最背面に表示される。また、アイコン401a乃至401dのサイズは、前に行くほど大きくなり、後ろに行くほど小さくなる。なお、以下、アイコン401a、401b、401c、・・・を個々に区別する必要がない場合、単にアイコン401と称する。
 さらに、対象ユーザが指302を上方向にスライドさせると、図内の左下に示されるように、画面311内に表示されるアイコン401の範囲が優先順位に従って前方向にスライドする。すなわち、最前面のアイコン401aが消え、アイコン401bが最前面に移動し、アイコン401dが最背面に現れる。
 なお、図示は省略するが、対象ユーザが指302をさらに上方向にスライドさせると、画面311内に表示されるアイコン401の範囲が優先順位に従って前方向にスライドする。すなわち、画面311内に表示されるアイコン401が、提示アプリケーションの優先順位に従って切り替わり、最前面に表示されるアイコン401が、提示アプリケーションの優先順位に従って切り替わる。
 一方、対象ユーザが指302を下方向にスライドさせると、画面311内に表示されるアイコン401の範囲が優先順位の逆順に従って後ろ方向にスライドする。すなわち、画面311内に表示されるアイコン401が、提示アプリケーションの優先順位の逆順に従って切り替わり、最前面に表示されるアイコン401が、提示アプリケーションの優先順位の逆順に従って切り替わる。
 そして、対象ユーザは、指302を画面311から離すことにより、そのときに画面311内で最前面に表示されているアイコン401に対応する提示アプリケーションを選択することができる。そして、実行制御部242は、ロック画面(ユーザ操作の制限)を解除し、選択された提示アプリケーションを起動する。
 従って、優先順位が高い提示アプリケーションのアイコン401ほど画面311に早く表示されるため、対象ユーザは、優先順位が高い提示アプリケーションを選択しやすくなる。また、対象ユーザは、画面311に表示させるアイコン401を順方向(優先順位の順)にも逆方向(優先順位の逆順)にも切り替えることができるので、所望のアプリケーションを選択しやすくなる。また、ロック画面の解除とともに、選択した提示アプリケーションが起動するので、対象ユーザは、より迅速かつ簡単に所望のアプリケーションを使用することができる。
 一方、アイコン401aが最前面に表示されている状態において、図14の右下の画面に示されるように、指302を下方向に所定の距離だけスライドさせると、アイコン401a乃至401dがグレイアウトされる。この状態で、対象ユーザが指302を画面311から離すことにより、提示アプリケーションの選択がキャンセルされる。すなわち、この場合、いずれの提示アプリケーションも起動されない。そして、実行制御部242は、ロック画面(ユーザ操作の制限)を解除し、表示制御部241は、ロック解除後に表示される通常の画面(例えば、ランチャー画面)を表示させる。
 なお、上述したように、サーバ11は、対象ユーザが保有していないアプリケーション(例えば、スマートフォン301にインストールされていないアプリケーション)を提示アプリケーションに選択することが可能である。そこで、例えば、表示制御部241は、対象ユーザが保有していない提示アプリケーションを提示する場合、対象ユーザが保持している提示アプリケーションとアイコンの色や形等を区別して表示するようにしてもよい。
 また、対象ユーザが保有していない提示アプリケーションが選択された場合、例えば、実行制御部242は、その提示アプリケーションを入手可能なウエブページにアクセスし、画面311に表示させるよう制御する。これにより、対象ユーザが迅速に所望のアプリケーションを入手し、使用することが可能になる。
 さらに、例えば、複数の提示アプリケーションを同時に選択し、同時に起動できるようにしてもよい。
 その後、クライアント12の処理は終了する。
 以上のようにして、現在の状況に応じて適切なアプリケーションが選択され、対象ユーザに提示される。これにより、対象ユーザは、迅速かつ簡単に所望のアプリケーションを使用することができ、利便性が向上する。
 また、対象ユーザのアプリケーション使用履歴だけでなく、他のユーザのアプリケーション使用履歴に基づいて、提示アプリケーションが選択されるので、例えば、対象ユーザが今まで経験していない状況においても、適切なアプリケーションが提示される。さらに、対象ユーザと類似するユーザが属するグループ用の起動予測モデルを用いて、提示アプリケーションを選択することにより、より適切なアプリケーションを提示することが可能になる。
 また、他のユーザのアプリケーション使用履歴に基づいて提示アプリケーションを選択したり、類似アプリケーションの中から提示アプリケーションを選択したりすることにより、対象ユーザが保有していないアプリケーションが提示される場合がある。これにより、対象ユーザは、現在の状況に適した新たなアプリケーションを知り、必要に応じて入手することができる。
 また、上述したように、周期関数を用いて日時予測モデルを生成し、時間情報を連続値として扱うことにより、時間情報を時間帯や曜日等により分割して離散化して扱う場合と比較して、より正確に起動スコアを算出することができる。その結果、より対象ユーザが使用する確率が高いアプリケーションを提示することができる。
 さらに、上述したように、過去のアプリケーションの起動位置の密度に応じて、代表点の密度を設定し、位置起動予測モデルを生成することにより、固定したエリアに基づいて位置予測モデルを生成する場合と比較して、より正確に起動スコアを算出することができる。その結果、より対象ユーザが使用する確率が高いアプリケーションを提示することができる。
 ここで、図15を参照して、ユーザに提示されるアプリケーションの具体例について説明する。
 図15では、あるユーザが各状況において過去に使用したアプリケーションの履歴が示されている。具体的には、図15の表では、日時、場所(位置)、ユーザの行動の3つの要素により状況が分類されている。日時は、平日(月曜日から金曜日)と週末(土曜日と日曜日)の2種類に分類され、さらに、平日及び週末とも朝、昼、夜の3種類に分類されている。場所は、家、外出、オフィス、不明な場所の4種類に分類されている。ここで、不明な場所とは、ユーザのアプリケーション使用履歴にない場所のことである。ユーザの行動は、動いている状態と動いていない状態の2種類に分類されている。ここで、動いている状態とは、例えば、歩いたり、走ったり、運転したり、乗り物に乗ったりしている場合など、ユーザが場所を移動している状態である。動いていない状態とは、例えば、座ったり、寝たりしている場合など、ユーザが場所を移動していない状態である。
 そして、表内の各欄に、各状況において過去にユーザが起動したアプリケーションが示されている。例えば、ユーザが過去に週末の昼に家で動いている状況で起動したアプリケーションは、乗換案内と地図のアプリケーションである。また、例えば、ユーザが過去に平日の朝に外出中に動いている状況で起動したアプリケーションは、ニュースのアプリケーションである。さらに、例えば、ユーザが過去に平日の夜にオフィスで動いていない状況で起動したアプリケーションは、ブラウザである。
 上述した起動支援サービスを用いて、ユーザにアプリケーションを提示する場合、ユーザの過去のアプリケーション使用履歴のログが存在する状況では、そのログに記録されているアプリケーションが提示される可能性が高い。例えば、現在の状況が、ユーザが平日の朝に家で動いている状況である場合、ニュースのアプリケーションが提示される可能性が高い。
 一方、欄内に*1が示されている状況は、過去のユーザのアプリケーション使用履歴のログが存在しない状況である。しかし、上述した起動支援サービスによれば、現在の状況が過去のログが存在しない状況であっても、現在の状況に近い状況の過去のログを利用して、適切なアプリケーションがユーザに提示される。
 例えば、現在の状況が、ユーザが平日の夜に家で動いている状況である場合、現在の状況における過去のログは存在しない。しかし、例えば、現在の状況に近い、ユーザが平日の夜にオフィスで動いている状況(以下、状況1と称する)、ユーザが平日の朝に家で動いている状況(以下、状況2と称する)、ユーザが平日の夜に家で動いていない状況(以下、状況3と称する)では、過去のログが存在する。従って、例えば、状況1の過去のログにおけるメール、状況2の過去のログにおけるニュース、状況3の過去のログにおける時計のアプリケーションの全部又は一部が、ユーザに提示される可能性が高い。また、提示されるアプリケーションは、現在の状況に近い状況において過去にユーザが起動したアプリケーションなので、ユーザが使用する確率が高いと予測される。
 また、欄内に*2が示されている状況は、ユーザのアプリケーション使用履歴にない不明な場所(例えば、ユーザが初めて訪れた場所)における状況であり、過去のログが存在しない。しかし、例えば、ユーザが現在不明な場所にいたとしても、例えば、場所以外の条件が一致又は類似する状況における過去のログを用いて、適切なアプリケーションがユーザに提示される。
 或いは、上述したように、他のユーザのアプリケーション使用履歴を用いて生成された起動予測モデルを用いて、提示アプリケーションが選択されるため、現在のユーザの状況における他のユーザの使用履歴のログに基づいて、適切なアプリケーションがユーザに提示される。この場合、ユーザに類似するユーザのグループのアプリケーション使用履歴を用いて生成された起動予測モデルを用いることにより、より適切なアプリケーションがユーザに提示される。また、類似するユーザのグループをデモグラフィックにより細分化することにより、さらに適切なアプリケーションがユーザに提示される。
 例えば、類似するユーザのグループを国籍で細分化した例について検討する。例えば、日本人のユーザが観光で初めてハワイを訪れている場合、類似するユーザのグループを国籍で細分化しなければ、現地の類似するユーザがよく使用するアプリケーションが提示される可能性がある。この場合、観光で訪れたユーザにとって、現地のユーザが使用するアプリケーションは、不要である可能性が高い。一方、類似するユーザのグループを国籍で細分化した場合、日本人の類似するユーザがハワイでよく使用するアプリケーション(例えば、日本人の観光客がハワイでよく使用するアプリケーション)が提示される。このアプリケーションは、ユーザにとって有用である可能性が高い。
 このように類似するユーザのグループをデモグラフィックにより細分化することにより、より適切なアプリケーションがユーザに提示される。
 また、例えば、サーバ11は、上述した位置起動予測モデルを用いることにより、ユーザが不明な場所にいても、各代表点(家とオフィス)における各アプリケーションの起動スコアと、各代表点との間の距離に基づいて、適切なアプリケーションをユーザに提示することができる。
 さらに、例えば、サーバ11は、登録されている場所(例えば、家及びオフィス)との間の距離を特徴量として用いて起動予測モデルの学習を行い、生成した起動予測モデルを用いることにより、不明な場所と登録されている場所との間の距離に基づいて、適切なアプリケーションをユーザに提示することができる。また、サーバ11は、例えば、この距離を離散化したデータとして扱うことも可能である。さらに、サーバ11は、例えば、この距離に基づいて、ユーザが外出中か否かや、国内又は外国のいずれにいるか等の判定を行うことも可能である。
 また、例えば、サーバ11は、各場所に付与されている一般的なラベル(例えば、観光地、山、レストラン等)を特徴量として、起動予測モデルを生成することにより、不明な場所に付与されているラベルに基づいて、適切なアプリケーションを提示することができる。
<2.変形例>
 以下、上述した本技術の実施の形態の変形例について説明する。
{提示アプリケーションの選択方法に関する変形例}
 以上の説明では、サーバ11が、対象ユーザ用、グループ用、及び、全ユーザ用の起動予測モデルを用いて、提示アプリケーションを選択する例を示したが、いずれか1つ又は2つを用いて、提示アプリケーションを選択するようにしてもよい。例えば、サーバ11は、対象ユーザ用の起動予測モデルのみを用いて提示アプリケーションを選択したり、対象ユーザ用及びグループ用の起動予測モデルのみを用いて提示アプリケーションを選択したりすることが可能である。
 また、サーバ11は、例えば、対象ユーザが属していないグループ(例えば、対象ユーザと類似しないユーザが属するグループ)用の起動予測モデルを用いて、提示アプリケーションを選択することも可能である。
 さらに、サーバ11は、保有するユーザの分布の類似度とは異なる類似度に基づいて、類似アプリケーションを選択するようにすることも可能である。例えば、サーバ11は、アプリケーションのメタデータ等に基づく特徴量の類似度に基づいて、類似アプリケーションを選択することが可能である。また、サーバ11は、複数の種類の類似度を組み合わせて、類似アプリケーションを選択することが可能である。
{アプリケーションの提示方法に関する変形例}
 対象ユーザへの提示アプリケーションの提示方法は、上述した例に限定されるものではなく、任意の方法を採用することが可能である。
 例えば、クライアント12の実行制御部242が、1以上の提示アプリケーションをユーザ操作によらずに自動的に使用可能な状態にすることにより、対象ユーザに提示アプリケーションを提示するようにしてもよい。例えば、実行制御部242は、サーバ11からアプリケーションリストを受信したときに、提示アプリケーションを自動的に起動させるようにしてもよい。また、例えば、実行制御部242は、サーバ11からアプリケーションリストを受信したときに提示アプリケーションがバックグラウンドで動作している場合、自動的にフォアグラウンドで動作させるようにしてもよい。
 なお、この場合、自動的に起動したり、自動的にフォアグラウンドで動作させたりする起動アプリケーションは、アプリケーションリストに含まれる起動アプリケーションの一部のみでもよい。また、例えば、実行制御部242は、自動的に起動したり、自動的にフォアグラウンドで動作させた提示アプリケーションが、次回以降に受信したアプリケーションリストに含まれない場合、当該提示アプリケーションの実行を自動的に終了したり、自動的にバックグラウンドで動作させたりするようにしてもよい。
 さらに、例えば、実行制御部242は、サーバ11からアプリケーションリストを受信したときに、ロック画面のバックグラウンドで提示アプリケーションを自動的に実行させるようにしてもよい。これにより、対象ユーザは、ロック画面を解除すると、提示アプリケーションがフォアグラウンドで使用可能な状態になり、すぐに提示アプリケーションを使用することが可能になる。
 さらに、実行制御部242は、例えば、特に操作が必要なく、見るだけで目的を果たすことができるアプリケーション(例えば天気予報のアプリケーション)を自動的に実行し、ロック画面上に表示することにより、ユーザに提示するようにしてもよい。
 また、例えば、クライアント12の種類により、アプリケーションの提示方法や、提示するアプリケーションを変更するようにしてもよい。例えば、クライアント12の提示制御部232は、クライアント12がバッテリにより動作する場合、消費電力の少ない提示アプリケーションを優先して提示するようにしてもよい。また、例えば、提示制御部232は、クライアント12の仕様や能力等(例えば、プロセッサの処理能力、ディスプレイの大きさ等)に応じて、提示する提示アプリケーションを選択するようにしてもよい。
 さらに、提示制御部232は、例えば、クライアント12の仕様や機能等に応じて、提示する提示アプリケーションを選択するようにしてもよい。例えば、クライアント12がウエアラブル機器からなる場合、提示制御部232は、そのウエアラブル機器の仕様や機能に応じて、提示する提示アプリケーションを選択するようにしてもよい。
 また、例えば、対象ユーザが複数のクライアント12を所持している場合、複数のクライアント12が連携して、対象ユーザに提示アプリケーションを提示するようにしてもよい。ここで、対象ユーザが、スマートフォン等の携帯情報端末と、ウエアラブル機器を所持している場合の例について説明する。
 例えば、ウエアラブル機器で提示アプリケーションを実行している場合に、携帯情報端末のロック画面が解除されたとき、携帯情報端末は、ウエアラブル機器と同じ提示アプリケーションを起動するとともに、起動した提示アプリケーションにより、ウエアラブル機器より詳細な情報を提示するようにしてもよい。
 例えば、サーバ11により天気予報のアプリケーションが選択された場合、ウエアラブル機器は、その天気予報のアプリケーションをすぐに実行し、現在位置の今日の天気のみを表示する。一方、携帯情報端末は、ロック画面が解除されたとき、天気予報のアプリケーションを起動し、より詳細な天気予報を表示する。例えば、携帯情報端末は、現在位置の3時間毎の天気、週間天気予報、気温や、周辺の地域の天気予報等を表示する。これにより、対象ユーザは、ウエアラブル端末のみで必要な情報を得ることができ、さらに携帯情報端末を用いてより詳細な情報を得ることができる。
 また、例えば、対象ユーザが観光地等の撮影スポットにいる場合に、サーバ11によりカメラのアプリケーションが選択されたとき、ウエアラブル機器は、そのカメラのアプリケーションを表すアイコンとともに、サーバ11から提供された現在の場所で撮影された写真を表示する。一方、携帯情報端末は、ロック画面が解除されたとき、そのカメラのアプリケーションを起動する。これにより、対象ユーザは、ウエアラブル機器からの情報により現在の場所が撮影スポットであることを確実に知ることができ、さらに、携帯情報端末を用いてすぐに撮影することができる。
 なお、複数のクライアント12が連携して処理を行う場合、必ずしも全てのクライアント12がサーバ11と通信を行う必要はなく、一部のクライアント12のみがサーバ11と通信を行うようにしてもよい。そして、サーバ11と通信するクライアント12が、他のクライアント12を制御して、提示アプリケーションの提示等を実行させるようにしてもよい。例えば、携帯情報端末が、サーバ11と通信を行い、アプリケーションリストをサーバ11から受信した場合、ウエアラブル端末と通信を行い、ウエアラブル端末に提示アプリケーションの提示等を実行させるようにしてもよい。
 また、例えば、図10及び図11の提示方法において、画面311のエリアA2内の任意の位置に指302を触れた場合に、指302が触れた位置の近くにアイコンを表示させるようにすることも可能である。
 さらに、図10乃至図14では、対象ユーザが指で画面に触れ操作する例を示したが、例えば、図10乃至図14の提示方法は、指を触れる以外の方法により、画面内の任意の位置を指示し、操作する場合にも適用することができる。例えば、図10乃至図14の提示方法は、マウス、スタイラスペンを用いたり、タッチレスインタフェースを用いたりする場合等にも適用できる。
 また、図10乃至図14で示した操作方向、アイコンの数、アイコンの位置等は、その一例であり、必要に応じて変更することが可能である。また、図10乃至図14の提示方法は、可能な範囲で組み合わせて用いてもよい。
 さらに、例えば、ユーザが、自動起動するアプリケーションや提示するアプリケーションに関するルールを設定できるようにしてもよい。例えば、クライアント12の提示制御部232が、ある状況における起動確率が所定の閾値以上のアプリケーションを提示し、ユーザが、必要に応じて、その状況において必ず自動起動するように設定したり、提示する優先順位を高く設定できるようにしてもよい。逆に、例えば、提示制御部232が、ある状況における起動確率が所定の閾値未満のアプリケーションを提示し、ユーザが、必要に応じて、その状況において提示しないように設定したり、提示する優先順位を低く設定できるようにしてもよい。
{機能分担等に関する変形例}
 上述したサーバ11とクライアント12の機能の分担は、その一例であり、任意に変更することが可能である。
 例えば、サーバ11の学習部132及び選択部133に相当する機能をクライアント12に設け、サーバ11を介さずに、クライアント12単独で、学習処理(起動予測モデルの生成)、並びに、提示アプリケーションの選択及び提示を行うようにしてもよい。
 また、例えば、サーバ11の選択部133に相当する機能をクライアント12に設け、クライアント12が、サーバ11から学習結果(例えば、起動予測モデル)を受信し、受信した学習結果に基づいて、提示アプリケーションの選択及び提示を行うようにしてもよい。
 また、クライアント12において提示アプリケーションの選択を行う場合、例えば、クライアント12が、選択結果を示すアプリケーションリストを他の装置(例えば、上述したクライアント12と連携して動作する装置)に送信するようにしてもよい。
{コンピュータの構成例}
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 さらに、例えば、本技術は以下のような構成も取ることができる。
(1)
 現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得部と、
 前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択部と
 を備える情報処理装置。
(2)
 前記選択部は、さらに他のユーザの前記使用履歴に基づいて、前記提示アプリケーションを選択する
 前記(1)に記載の情報処理装置。
(3)
 前記他のユーザは、前記ユーザと類似するユーザである
 前記(2)に記載の情報処理装置。
(4)
 前記類似するユーザは、前記ユーザと保有するアプリケーションプログラムが類似するユーザである
 前記(3)に記載の情報処理装置。
(5)
 前記選択部は、各アプリケーションプログラムの起動確率を予測するモデルであって、前記ユーザの前記使用履歴に基づいて生成された第1のモデル、及び、前記他のユーザの前記使用履歴に基づいて生成された第2のモデルを用いて、前記提示アプリケーションを選択する
 前記(2)乃至(4)のいずれかに記載の情報処理装置。
(6)
 前記選択部は、各アプリケーションプログラムの起動確率を予測するモデルを用いて選択したアプリケーションプログラム、及び、前記選択したアプリケーションプログラムと類似するアプリケーションプログラムの中から前記提示アプリケーションを選択する
 前記(1)乃至(4)のいずれかに記載の情報処理装置。
(7)
 前記類似するアプリケーションプログラムは、前記選択したアプリケーションプログラムと保有するユーザの分布が類似するアプリケーションプログラムである
 前記(6)に記載の情報処理装置。
(8)
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
 前記選択部は、前記提示アプリケーションの優先順位を設定し、
 前記表示制御部は、前記画面内において所定の操作が行われたとき、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記優先順位が高い前記提示アプリケーションの前記アイコンほど前記操作が行われた位置の近くに表示させる
 前記(1)乃至(7)のいずれかに記載の情報処理装置。
(9)
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
 前記選択部は、前記提示アプリケーションの優先順位を設定し、
 前記表示制御部は、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記優先順位が高い前記提示アプリケーションの前記アイコンほど隣接する前記アイコンとの間隔を広くする
 前記(1)乃至(7)のいずれかに記載の情報処理装置。
(10)
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
 前記選択部は、前記提示アプリケーションの優先順位を設定し、
 前記表示制御部は、前記画面内においてユーザにより指示された位置の移動距離に応じて、前記画面内に表示する前記アイコンを前記優先順位に従って切り替えるとともに、前記画面内に表示する前記アイコンを切り替えるために必要な前記移動距離を前記優先順位に応じて調整する
 前記(1)乃至(7)のいずれかに記載の情報処理装置。
(11)
 所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
 前記選択部は、前記提示アプリケーションの優先順位を設定し、
 前記表示制御部は、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記画面内においてユーザにより指示された位置が所定の第1の方向に移動すると、前記画面内に表示する前記アイコンを前記優先順位に従って切り替え、前記指示された位置が前記第1の方向と異なる第2の方向に移動すると、前記画面内に表示する前記アイコンを前記優先順位の逆順に従って切り替える
 前記(1)乃至(7)のいずれかに記載の情報処理装置。
(12)
 前記ユーザが保有する前記提示アプリケーションを表すアイコンと、前記ユーザが保有していない前記提示アプリケーションを表すアイコンとを区別して画面内に表示させる表示制御部を
 さらに備える前記(1)乃至(7)のいずれかに記載の情報処理装置。
(13)
 ユーザ操作が制限されるロック画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部と、
 前記アイコンが選択された場合、ユーザ操作の制限を解除し、選択された前記アイコンに対応する前記提示アプリケーションを使用可能な状態にする実行制御部と
 をさらに備える前記(1)乃至(7)のいずれかに記載の情報処理装置。
(14)
 前記起動時の状況は、アプリケーションプログラムの起動時の前記ユーザの状態を含み、
 前記現在の状況は、現在の前記ユーザの状態を含む
 前記(1)乃至(13)のいずれかに記載の情報処理装置。
(15)
 各アプリケーションプログラムの起動確率を予測するモデルを生成する学習部をさらに備え、
 前記選択部は、前記モデルを用いて、前記提示アプリケーションを選択する
 前記(1)乃至(4)及び(7)乃至(14)のいずれかに記載の情報処理装置。
(16)
 前記学習部は、所定の周期関数を用いて、指定された日時における各アプリケーションプログラムの起動確率を予測する第1のモデル、及び、複数の代表点を設定し、各前記代表点における各アプリケーションの前記起動確率に基づいて、指定された位置における各アプリケーションプログラムの起動確率を予測する第2のモデルのうち少なくとも1つを生成する
 前記(15)に記載の情報処理装置。
(17)
 前記提示アプリケーションの選択結果を示す情報を他の情報処理装置に送信する通信部を
 さらに備える前記(1)乃至(16)のいずれかに記載の情報処理装置。
(18)
 ユーザ操作によらずに前記提示アプリケーションを使用可能な状態にする実行制御部を
 さらに備える前記(1)乃至(17)のいずれかに記載の情報処理装置。
(19)
 現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得ステップと、
 前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択ステップと
 を含む情報処理方法。
(20)
 現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得ステップと、
 前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択ステップと
 を含む処理をコンピュータに実行させるためのプログラム。
 1 情報処理システム, 11 サーバ, 12-1乃至12-n クライアント, 101 CPU, 109 通信部, 131 情報取得部, 132 学習部, 133 選択部, 134 提示制御部, 141 特徴量ベクトル生成部, 142 モデル学習部, 151 スコア算出部, 152 類似アプリケーション検索部, 153 提示アプリケーション選択部, 161 アプリケーション提供部, 162 アプリケーションリスト生成部, 201 CPU, 206 入力部, 207 出力部, 208 センサ部, 210 通信部, 231 情報取得部, 232 提示制御部, 241 表示制御部, 242 実行制御部, 301 スマートフォン, 302 指, 311 画面, 321 ボタン, 326a乃至326d,341a乃至341f,361a乃至361e,381a,381b,401a乃至401e アイコン

Claims (20)

  1.  現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得部と、
     前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択部と
     を備える情報処理装置。
  2.  前記選択部は、さらに他のユーザの前記使用履歴に基づいて、前記提示アプリケーションを選択する
     請求項1に記載の情報処理装置。
  3.  前記他のユーザは、前記ユーザと類似するユーザである
     請求項2に記載の情報処理装置。
  4.  前記類似するユーザは、前記ユーザと保有するアプリケーションプログラムが類似するユーザである
     請求項3に記載の情報処理装置。
  5.  前記選択部は、各アプリケーションプログラムの起動確率を予測するモデルであって、前記ユーザの前記使用履歴に基づいて生成された第1のモデル、及び、前記他のユーザの前記使用履歴に基づいて生成された第2のモデルを用いて、前記提示アプリケーションを選択する
     請求項2に記載の情報処理装置。
  6.  前記選択部は、各アプリケーションプログラムの起動確率を予測するモデルを用いて選択したアプリケーションプログラム、及び、前記選択したアプリケーションプログラムと類似するアプリケーションプログラムの中から前記提示アプリケーションを選択する
     請求項1に記載の情報処理装置。
  7.  前記類似するアプリケーションプログラムは、前記選択したアプリケーションプログラムと保有するユーザの分布が類似するアプリケーションプログラムである
     請求項6に記載の情報処理装置。
  8.  所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
     前記選択部は、前記提示アプリケーションの優先順位を設定し、
     前記表示制御部は、前記画面内において所定の操作が行われたとき、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記優先順位が高い前記提示アプリケーションの前記アイコンほど前記操作が行われた位置の近くに表示させる
     請求項1に記載の情報処理装置。
  9.  所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
     前記選択部は、前記提示アプリケーションの優先順位を設定し、
     前記表示制御部は、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記優先順位が高い前記提示アプリケーションの前記アイコンほど隣接する前記アイコンとの間隔を広くする
     請求項1に記載の情報処理装置。
  10.  所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
     前記選択部は、前記提示アプリケーションの優先順位を設定し、
     前記表示制御部は、前記画面内においてユーザにより指示された位置の移動距離に応じて、前記画面内に表示する前記アイコンを前記優先順位に従って切り替えるとともに、前記画面内に表示する前記アイコンを切り替えるために必要な前記移動距離を前記優先順位に応じて調整する
     請求項1に記載の情報処理装置。
  11.  所定の画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部をさらに備え、
     前記選択部は、前記提示アプリケーションの優先順位を設定し、
     前記表示制御部は、複数の前記アイコンを前記優先順位に従って前記画面内に並べて表示させるとともに、前記画面内においてユーザにより指示された位置が所定の第1の方向に移動すると、前記画面内に表示する前記アイコンを前記優先順位に従って切り替え、前記指示された位置が前記第1の方向と異なる第2の方向に移動すると、前記画面内に表示する前記アイコンを前記優先順位の逆順に従って切り替える
     請求項1に記載の情報処理装置。
  12.  前記ユーザが保有する前記提示アプリケーションを表すアイコンと、前記ユーザが保有していない前記提示アプリケーションを表すアイコンとを区別して画面内に表示させる表示制御部を
     さらに備える請求項1に記載の情報処理装置。
  13.  ユーザ操作が制限されるロック画面内において前記提示アプリケーションを表すアイコンの表示を制御する表示制御部と、
     前記アイコンが選択された場合、ユーザ操作の制限を解除し、選択された前記アイコンに対応する前記提示アプリケーションを使用可能な状態にする実行制御部と
     をさらに備える請求項1に記載の情報処理装置。
  14.  前記起動時の状況は、アプリケーションプログラムの起動時の前記ユーザの状態を含み、
     前記現在の状況は、現在の前記ユーザの状態を含む
     請求項1に記載の情報処理装置。
  15.  各アプリケーションプログラムの起動確率を予測するモデルを生成する学習部をさらに備え、
     前記選択部は、前記モデルを用いて、前記提示アプリケーションを選択する
     請求項1に記載の情報処理装置。
  16.  前記学習部は、所定の周期関数を用いて、指定された日時における各アプリケーションプログラムの起動確率を予測する第1のモデル、及び、複数の代表点を設定し、各前記代表点における各アプリケーションの前記起動確率に基づいて、指定された位置における各アプリケーションプログラムの起動確率を予測する第2のモデルのうち少なくとも1つを生成する
     請求項15に記載の情報処理装置。
  17.  前記提示アプリケーションの選択結果を示す情報を他の情報処理装置に送信する通信部を
     さらに備える請求項1に記載の情報処理装置。
  18.  ユーザ操作によらずに前記提示アプリケーションを使用可能な状態にする実行制御部を
     さらに備える請求項1に記載の情報処理装置。
  19.  現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得ステップと、
     前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択ステップと
     を含む情報処理方法。
  20.  現在の日時及びユーザの現在位置を含む現在の状況を示す第1の情報を取得する情報取得ステップと、
     前記ユーザのアプリケーションプログラムの使用履歴であって、各アプリケーションプログラムの起動時の日時及び前記ユーザの位置を含む起動時の状況を示す第2の情報を含む使用履歴、前記ユーザのプロファイル、並びに、前記第1の情報に基づいて、前記ユーザに提示するアプリケーションプログラムである提示アプリケーションを選択する選択ステップと
     を含む処理をコンピュータに実行させるためのプログラム。
PCT/JP2015/065192 2014-06-09 2015-05-27 情報処理装置、情報処理方法、及び、プログラム WO2015190289A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016527732A JP6684449B2 (ja) 2014-06-09 2015-05-27 情報処理装置、情報処理方法、及び、プログラム
US15/311,529 US10324588B2 (en) 2014-06-09 2015-05-27 Organizing application icon based on user history information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014118610 2014-06-09
JP2014-118610 2014-06-09

Publications (1)

Publication Number Publication Date
WO2015190289A1 true WO2015190289A1 (ja) 2015-12-17

Family

ID=54833391

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/065192 WO2015190289A1 (ja) 2014-06-09 2015-05-27 情報処理装置、情報処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US10324588B2 (ja)
JP (1) JP6684449B2 (ja)
WO (1) WO2015190289A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138970A (ja) * 2017-01-06 2017-08-10 ヤフー株式会社 学習装置、学習方法及び学習プログラム
JP2017191355A (ja) * 2016-04-11 2017-10-19 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP6250775B1 (ja) * 2016-12-06 2017-12-20 楽天株式会社 端末装置、表示方法、ならびに、プログラム
JP2018018560A (ja) * 2017-11-06 2018-02-01 ヤフー株式会社 学習装置、学習方法及び学習プログラム
US10824299B2 (en) 2017-05-31 2020-11-03 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Application display method and related products
CN112997543A (zh) * 2018-12-29 2021-06-18 深圳市欢太科技有限公司 应用分组调整方法、装置、存储介质及电子设备
US11500913B2 (en) * 2018-03-29 2022-11-15 Ntt Docomo, Inc. Determination device

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346441B2 (en) * 2015-06-05 2019-07-09 Apple Inc. Systems and methods for providing predictions to applications executing on a computing device
US10755180B2 (en) * 2017-03-24 2020-08-25 Facebook, Inc. Accounting for long-term user interaction with an application in selection of content associated with the application by an online system
US10417403B2 (en) * 2017-06-29 2019-09-17 International Business Machines Corporation Automation authentication and access
KR20190053675A (ko) * 2017-11-10 2019-05-20 삼성전자주식회사 전자 장치 및 그 동작 방법
JP7306390B2 (ja) * 2018-07-18 2023-07-11 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
KR20200010131A (ko) * 2018-07-20 2020-01-30 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11870862B2 (en) * 2018-09-17 2024-01-09 Amazon Technologies, Inc. State prediction of devices
US10609165B1 (en) 2018-10-01 2020-03-31 Citrix Systems, Inc. Systems and methods for gamification of SaaS applications
CN111868686B (zh) * 2019-02-20 2023-12-08 Lg电子株式会社 常用应用程序的导出方法和使用该方法的导出设备
JP7331529B2 (ja) * 2019-07-29 2023-08-23 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN111124224B (zh) * 2019-12-12 2021-08-10 维沃移动通信有限公司 一种应用程序的控制方法及电子设备
CN112100046A (zh) * 2020-09-01 2020-12-18 广州掌淘网络科技有限公司 一种识别游戏相似程度的方法与设备
CN112214297A (zh) * 2020-09-30 2021-01-12 维沃移动通信(杭州)有限公司 应用切换方法和电子设备
WO2022213308A1 (en) * 2021-04-08 2022-10-13 Citrix Systems, Inc. Sorting optimization based on user's time preferences and habits
CN114138142B (zh) * 2021-08-25 2023-05-02 成都统信软件技术有限公司 一种桌面图标处理方法、计算设备及可读存储介质
JP2023100151A (ja) * 2022-01-05 2023-07-18 シャープ株式会社 ユーザー認証機能付の処理装置およびユーザー認証受付方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348442A (ja) * 1993-06-08 1994-12-22 Chugoku Nippon Denki Software Kk Hmi自動制御方式
JP2007293460A (ja) * 2006-04-21 2007-11-08 Akebono Kogyo Kk アイコンの選択を容易にする方法
JP2010157207A (ja) * 2008-12-05 2010-07-15 Sony Corp 情報処理装置、および情報処理方法
JP2012198750A (ja) * 2011-03-22 2012-10-18 Konica Minolta Business Technologies Inc 画像形成装置およびプログラム
JP2013003685A (ja) * 2011-06-13 2013-01-07 Sony Corp 情報処理装置、情報処理方法、および、プログラム
JP2013025787A (ja) * 2011-07-22 2013-02-04 Samsung Electronics Co Ltd 携帯端末でユーザインタフェースオブジェクトの配置方法及びその装置
JP2013041378A (ja) * 2011-08-12 2013-02-28 Kyocera Corp 携帯電子機器、制御方法、および、制御プログラム
JP2013200846A (ja) * 2012-03-26 2013-10-03 Ntt Docomo Inc 通信システム、方法及び移動通信端末

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4632102B2 (ja) * 2008-07-17 2011-02-16 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
KR101537706B1 (ko) * 2009-04-16 2015-07-20 엘지전자 주식회사 이동 단말기 및 그 제어 방법
JP6066602B2 (ja) 2012-07-13 2017-01-25 株式会社ソニー・インタラクティブエンタテインメント 処理装置
US20140108978A1 (en) * 2012-10-15 2014-04-17 At&T Mobility Ii Llc System and Method For Arranging Application Icons Of A User Interface On An Event-Triggered Basis
US20140201681A1 (en) * 2013-01-16 2014-07-17 Lookout, Inc. Method and system for managing and displaying activity icons on a mobile device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348442A (ja) * 1993-06-08 1994-12-22 Chugoku Nippon Denki Software Kk Hmi自動制御方式
JP2007293460A (ja) * 2006-04-21 2007-11-08 Akebono Kogyo Kk アイコンの選択を容易にする方法
JP2010157207A (ja) * 2008-12-05 2010-07-15 Sony Corp 情報処理装置、および情報処理方法
JP2012198750A (ja) * 2011-03-22 2012-10-18 Konica Minolta Business Technologies Inc 画像形成装置およびプログラム
JP2013003685A (ja) * 2011-06-13 2013-01-07 Sony Corp 情報処理装置、情報処理方法、および、プログラム
JP2013025787A (ja) * 2011-07-22 2013-02-04 Samsung Electronics Co Ltd 携帯端末でユーザインタフェースオブジェクトの配置方法及びその装置
JP2013041378A (ja) * 2011-08-12 2013-02-28 Kyocera Corp 携帯電子機器、制御方法、および、制御プログラム
JP2013200846A (ja) * 2012-03-26 2013-10-03 Ntt Docomo Inc 通信システム、方法及び移動通信端末

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017191355A (ja) * 2016-04-11 2017-10-19 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
US10635264B2 (en) 2016-04-11 2020-04-28 Ricoh Company, Ltd. Information processing apparatus, information processing system, method for processing information, and information processing program
JP6250775B1 (ja) * 2016-12-06 2017-12-20 楽天株式会社 端末装置、表示方法、ならびに、プログラム
JP2018092471A (ja) * 2016-12-06 2018-06-14 楽天株式会社 端末装置、表示方法、ならびに、プログラム
JP2017138970A (ja) * 2017-01-06 2017-08-10 ヤフー株式会社 学習装置、学習方法及び学習プログラム
US10824299B2 (en) 2017-05-31 2020-11-03 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Application display method and related products
JP2018018560A (ja) * 2017-11-06 2018-02-01 ヤフー株式会社 学習装置、学習方法及び学習プログラム
US11500913B2 (en) * 2018-03-29 2022-11-15 Ntt Docomo, Inc. Determination device
CN112997543A (zh) * 2018-12-29 2021-06-18 深圳市欢太科技有限公司 应用分组调整方法、装置、存储介质及电子设备
CN112997543B (zh) * 2018-12-29 2022-11-01 深圳市欢太科技有限公司 应用分组调整方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
JP6684449B2 (ja) 2020-04-22
US10324588B2 (en) 2019-06-18
JPWO2015190289A1 (ja) 2017-04-20
US20170160881A1 (en) 2017-06-08

Similar Documents

Publication Publication Date Title
WO2015190289A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
US12108314B2 (en) Personalized entity repository
US10969928B2 (en) Contextual launch interfaces
US20220337915A1 (en) Methods, systems, and media for presenting suggestions of media content
KR101552149B1 (ko) 미래 목표-중심 활동을 예측 및 추천하기 위한 방법 및 시스템
US10909464B2 (en) Semantic locations prediction
JP2020129388A (ja) ユーザ選択されたコンテンツに対するアクション提案
US20170351767A1 (en) Information processing system, information processing device, control method, and program
US20160300263A1 (en) Inferring venue visits using semantic information
CN105027061A (zh) 具有上下文交互机制的计算系统及其操作方法
US20160328108A1 (en) Systems And Methods for Displaying Information
US20230179554A1 (en) Method and system for dynamically generating a card
US8818827B2 (en) Systems and methods for providing context-based movie information
US9767400B2 (en) Method and system for generating a card based on intent
US20190090197A1 (en) Saving battery life with inferred location
US20220415319A1 (en) On-device generation and personalization of zero-prefix suggestion(s) and use thereof
WO2020106499A1 (en) Saving battery life using an inferred location

Legal Events

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

Ref document number: 15806433

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016527732

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15311529

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15806433

Country of ref document: EP

Kind code of ref document: A1