Patent Description:
Consideration has been given to a scheme in which a car insurance rate is determined in accordance with a level of skill and safety of a vehicle driver, for example. Accordingly, it is desirable to be able to identify a user who is driving a vehicle. For example, in Patent Literature <NUM>, a technique is disclosed in which a history of drivers and on-board users is stored for each day of the week along with time slots in in-vehicle equipment <NUM>, and when a user ID, driving environment information, and the like are received upon transmittance from a terminal <NUM> are received, a cell corresponding to an on-board user in a history information table is specified, and the driver is estimated.

<CIT> relates to an information processing apparatus including a vehicle movement history information storage unit that stores vehicle movement history information concerning a movement history including position information and clock time information of each of a plurality of vehicles, a terminal movement history information storage unit that stores terminal movement history information concerning a movement history including position information and clock time information of each of a plurality of mobile terminals and a vehicle specifying unit that specifies one or more vehicles having a possibility of being boarded by a user of each mobile terminal, from among the vehicles, based on the vehicle movement history information and the terminal movement history information.

An object of the present invention is to provide a learning model for specifying a user who is driving a vehicle.

The object of the invention is achieved by the subject-matter of the independent claim.

The on-board user estimating unit estimates the group of users on board the vehicle by comparing a position of a terminal carried by each of the on-board users and a position of the vehicle.

The on-board user estimating unit estimates the group of users on board the vehicle by comparing data detected by a terminal carried by each of the on-board users and data detected by the vehicle.

The learning model generating unit may generate a learning model using, as training data, identification information of a user estimated by the driver estimating unit, driving attributes of the user, and identification information of users included in the group of users specified by the on-board user specifying unit.

The learning model generating unit generates a learning model using, as training data, identification information of a user estimated by the driver estimating unit, attributes of the user, and attributes of the vehicle.

The learning model generating unit generates a learning model using, as training data, identification information of a user estimated by the driver estimating unit, driving attributes of the user, and an environment in which the vehicle is driven.

According to the present invention, a learning model for specifying a user who is driving a vehicle is provided.

<FIG> is a diagram illustrating an example of information processing system <NUM> according to the present embodiment. Information processing system <NUM> is a system for specifying a user who is driving a vehicle. As shown in <FIG>, information processing system <NUM> includes a plurality of terminals 10a, 10b, and 10c, which are respectively used by a plurality of users, in-vehicle equipment <NUM> that is mounted to vehicle <NUM>, server <NUM> that specifies a user who is driving vehicle <NUM>, and communication network <NUM>, which includes a wireless or wired communication network for communicably connecting these apparatuses.

Terminals 10a, 10b, and 10c, in-vehicle equipment <NUM>, and server <NUM> are each a computer. Specifically, each of terminals 10a, 10b, and 10cis a user-carriable computer, such as a smartphone, a wearable terminal, or a tablet. In-vehicle equipment <NUM> is a computer that is integrated in or connected to a car navigation apparatus or a control apparatus that controls the components of vehicle <NUM>, for example. Server <NUM> functions as an information processing apparatus that generates a learning model for specifying a user who is driving vehicle <NUM>, and also functions as a driver specification apparatus for specifying a user who is driving vehicle <NUM> using the learning model.

It is of note that in FIG. lone vehicle <NUM>, one in-vehicle equipment <NUM> and one server <NUM> are illustrated, but a plurality of vehicles <NUM>, in-vehicle equipment <NUM>, and servers <NUM> may be included. Also, three terminals 10a, 10b, and 10c are illustrated as terminals used by users, but the number of users and the number of terminals may be any number of two or more. It is of note that terminals 10a, 10b, and 10c have a similar configuration and functions, and therefore are hereafter collectively referred to as terminals <NUM>.

<FIG> is a diagram illustrating a hardware configuration of server <NUM>. Physically, server <NUM> is configured as a computer that includes processor <NUM>, memory <NUM>, storage <NUM>, communication unit <NUM>, input device <NUM>, output device <NUM>, a bus for connecting these apparatuses, and the like. These apparatuses operate using power supplied from a battery (not shown). It is of note that, in the following description, "apparatus" can be substituted with "circuit," "device," "unit," or the like. With respect to each apparatus shown in <FIG>, the hardware configuration of server <NUM> may also be configured to include one or a plurality of the apparatuses, or may be configured to not include one or more of the apparatuses. Server <NUM> may be configured by communicably connecting a plurality of apparatuses each having different casings.

Functions of server <NUM> are realized by causing predetermined software (programs) to be loaded on hardware such as processor <NUM> and memory <NUM> and processor <NUM> for performing computational operations to control communication by communication unit <NUM>, and to control at least one of reading and writing of data in memory <NUM> and storage <NUM>.

Processor <NUM> controls the computer as a whole by causing an operating system to run, for example. Processor <NUM> may be constituted of a central processing unit (CPU) that includes an interface with peripheral apparatuses, a control apparatus, a computational operation apparatus, registers, and the like. Also, a baseband signal processing unit, a call processing unit, and the like may be realized by processor <NUM>, for example.

Processor <NUM> reads a program (program code), a software module, data and the like from at least one of storage <NUM> and communication unit <NUM> for writing into memory <NUM>, and executes a variety of processing according to the read-out program and the like. A program that causes a computer to execute at least some of the later-described operations is used as the program. The functional blocks of server <NUM> may be realized by a control program that is stored in memory <NUM> and runs in processor <NUM>. The various types of processing may be executed by one processor <NUM>, but may be executed simultaneously or sequentially by two or more processors <NUM>. Processor <NUM> may be implemented using one or more computer chips. It is of note that a program may be transmitted from communication network <NUM> to server <NUM> over a wired communication line.

Memory <NUM> is a computer-readable recording medium, and may be constituted of at least one of a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), a RAM (Random Access Memory), and so on, for example. Memory <NUM> may also be referred to as a "register," "cache," "main memory" (a main storage apparatus), or the like. Memory <NUM> can store an executable program (program code) for implementing a method according to the present embodiment, software modules, and the like.

Storage <NUM> is a computer-readable recording medium, and, for example, may be constituted of at least one of an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magnetooptical disk (for example, a compact disk, a digital versatile disk, or a Blu-ray (registered trademark) disk), a smartcard, a flash memory (for example, a card, a stick, or a key drive), a Floppy (registered trademark) disk, a magnetic strip, and the like. Storage <NUM> may be referred to as an auxiliary storage apparatus.

Communication unit <NUM> is hardware (a transmitting and receiving device) for performing communication between computers via communication network <NUM>, and is also referred to as a network device, a network controller, a network card, and a communication module, for example.

Input device <NUM> is an input device for receiving an input from an external apparatus (e.g., a key, a switch, a button, or a microphone). Output device <NUM> is an output device that performs output to an external apparatus (e.g., a display, a speaker, or a LED lamp). It is of note that input device <NUM> and output device <NUM> may also be made integral (e.g., a touch panel).

Apparatuses such as processor <NUM> and memory <NUM> are connected via a bus for communicating information. The bus may be constituted of a single bus, or may be constituted of a plurality of buses for connection between apparatuses.

Server <NUM> may be constituted of hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), and the like, and some or all of the functional blocks may be realized by the hardware. For example, processor <NUM> may be implemented using at least one piece of hardware.

<FIG> is a diagram illustrating a hardware configuration of terminal <NUM>. Terminal <NUM> is physically configured as a computer that includes processor <NUM>, memory <NUM>, storage <NUM>, communication unit <NUM>, input device <NUM>, output device <NUM>, and a bus for connecting these apparatuses, similarly to server <NUM>, and further includes positioning unit <NUM> and sensor <NUM>.

Sensor <NUM> includes a group of sensors for detecting various states such as a posture and orientation of terminal <NUM>, examples of which include a gyro sensor, an acceleration sensor, and a magnetic (direction) sensor.

Positioning unit <NUM> measures a position of terminal <NUM>. Positioning unit <NUM> is a GPS (Global Positioning System) receiver, for example, and measures the position of terminal <NUM> based on GPS signals received from a plurality of satellites.

It is of note that communication unit <NUM> included in terminal <NUM> is hardware (a transmitting and receiving device) for performing communication that conforms to a communication standard such as LTE (Long Time Evolution) between computers via communication network <NUM> to realize wireless communication. The communication unit may be configured to include a high frequency switch, a duplexer, a filter, a frequency synthesizer, and the like to realize at least one of frequency division duplex (FDD: Frequency Division Duplex) and time division duplex (TDD: Time Division Duplex), for example. Also, a transmitting and receiving antenna, an amplifier unit, a transmitting and receiving unit, a transmission path interface, and the like may be realized by the communication unit. The transmitting and receiving unit may be implemented such that the transmitting unit and the receiving unit are separated physically or logically.

In-vehicle equipment <NUM> is physically configured as a computer that includes a processor, a memory, a storage, a communication unit, an input device, an output device, a positioning unit, a sensor, a bus for connecting these apparatuses, and the like, similarly to terminal <NUM>. The sensor in in-vehicle equipment <NUM> includes a sensor group for detecting a driving behavior of a user with respect to vehicle <NUM>. The driving behavior of the user is represented by states of vehicle operating mechanisms operated by the user, such as a steering wheel, an accelerator pedal, a brake pedal, a direction indicator switch , and a light switch. Specifically, the sensors of in-vehicle equipment <NUM> include an accelerator pedal sensor for detecting a pressing amount and a timing of pressing and release of the accelerator pedal, a brake pedal sensor for detecting a pressing amount and a timing of pressing and release of the brake pedal, vehicle speed pulse sensors that are respectively installed in a right front wheel, a left front wheel, a right rear wheel, and a left rear wheel of vehicle <NUM> and that output rotational speeds of the respective wheels, a steering angle sensor for detecting a steering angle and a timing of a steering operation made to a steering wheel, sensors for detecting timings at which the direction indicator switch and the light switch are operated, and the like.

<FIG> is a block diagram illustrating a functional configuration of information processing system <NUM>. In server <NUM>, on-board user specifying unit <NUM> specifies a group of users on board vehicle <NUM>. The group of users on board vehicle <NUM> includes a user who is driving vehicle <NUM> and at least one user who is a passenger in vehicle <NUM> and is not driving vehicle <NUM>. In the following, a user driving vehicle <NUM> (a person who participates in driving vehicle <NUM> or is in charge of driving vehicle <NUM>) is referred to as a "driver. " Also, the group of users including the driver, as well as the at least one user who is on board vehicle <NUM> and is not driving vehicle <NUM> (a person who does not participate in driving vehicle <NUM> or is not in charge of driving vehicle <NUM>, namely, a passenger) is collectively referred to as "on-board users. " On-board user specifying unit <NUM> acquires positions measured by terminals <NUM> carried by respective users, and a position measured by in-vehicle equipment <NUM> from the terminals <NUM> and in-vehicle equipment <NUM> via communication network <NUM>. Also, on-board user specifying unit <NUM> compares the positions of the terminals <NUM> and the position of in-vehicle equipment <NUM> (that is, the position of vehicle <NUM>), extracts information from the terminals <NUM> that move in such a manner as to match the time series displacement of the position of in-vehicle equipment <NUM>, and specifies the users of the (extracted) terminals <NUM> from which the information is extracted, as a group of users (on-board users) that is on board in the vehicle <NUM>. In short, if a user is on board vehicle <NUM>, the position of vehicle <NUM> at any given time along with that of the on-board users closely match.

Attribute acquiring unit <NUM> acquires attributes (an attribute value) with regard to driving of vehicle <NUM> by the driver. The driving attributes can be obtained from detection results of the aforementioned sensors of in-vehicle equipment <NUM>. That is, attribute acquiring unit <NUM> acquires, from in-vehicle equipment <NUM> of vehicle <NUM> via communication network <NUM>, detection results of the sensors of the in-vehicle equipment <NUM>, such as a pressing level and a timing of pressing and release of the accelerator pedal, a pressing level and a timing of pressing and release of the brake pedal, rotational speeds of the wheels, a steering angle and timing of the steering operation performed on the steering wheel, and operation timing of the direction indicator switch, the light switch, and the like, and obtains the driving attributes of vehicle <NUM> to which the in-vehicle equipment <NUM> is mounted by analyzing the detection results in accordance with a predetermined algorithm. Driving behavior of drivers of vehicle <NUM> vary depending on factors such as driving skill and proficiency, and also on human characteristics such as age, gender, and personality, for example. As a result, driving behavior is unique to each driver.

Driver estimating unit <NUM> estimates, based on the group of users specified by on-board user specifying unit <NUM> with respect to a plurality of movements of vehicle <NUM>, that the driver who drives vehicle <NUM> is a user who is included in the group of users and for whom attributes acquired by attribute acquiring unit <NUM> are the same for a plurality of movements of vehicle <NUM>.

<FIG> is a diagram illustrating a concept of driver estimating unit <NUM> for estimating a user who is driving vehicle <NUM>. In <FIG>, histories of on-board users and driving attributes are shown relative to a plurality of movements of a certain vehicle <NUM>. Specifically, groups of users on board vehicle <NUM> are associated with attributes of driving vehicle <NUM> at respective times. In the example shown in <FIG>, the driving attribute value of vehicle <NUM> when users A, B, and C are on board is α, the driving attribute value of vehicle <NUM> when users A and D are on board is α, the driving attribute value of vehicle <NUM> when users A and C are on board is β, the driving attribute value of vehicle <NUM> when users A, D, and E are on board is α, the driving attribute value of vehicle <NUM> when users C and D are on board is β, and the driving attribute value of vehicle <NUM> when user B is on board is γ.

If the number of on-board users of one vehicle is one (in <FIG> when only user B is on board), the on-board user is the driver. Therefore, the driving attributes at this time (driving attribute value γ in <FIG>) consists of the driving attributes of user B.

On the other hand, if a plurality of users are on board, it will not generally be known which of the on-board users is the driver. However, there are cases where, based on histories of on-board users and attributes of driving with respect to a plurality of movements of vehicle <NUM>, a user who is always on board when attributes are the same can be extracted. From the example shown in <FIG>, it will be understood that in each of the cases when users A, B, and C are on board, when users A and D are on board, and when users A, D, and E are on board, the driving attributes have the same driving attribute value α, and in this example user A is always on board. Also, it will be understood that when users A and C are on board, and users C and D are on board, the driving attributes have the same value β, and in this example user C is always on board. In these cases, it can be estimated that the driving attribute value when user A is the driver is driving attribute value α, and the driving attribute value when user C is the driver is driving attribute value β.

Learning model generating unit <NUM> generates a learning model using the user IDs of users estimated by driver estimating unit <NUM> and the attributes of driving when users are on board as training data. Specifically, learning model generating unit <NUM> generates a learning model using one of the aforementioned driving attribute values (e.g., driving attribute value α) as an explanatory variable, and the user ID of a driver (e.g., user ID of user A) as an objective variable. When various driving attributes are input to the learning model generated in this way, a user ID of a driver specified by the attributes is output.

Driver specifying unit <NUM> inputs the driving attributes acquired by attribute acquiring unit <NUM> into the learning model, and specifies a user of the user ID output from the learning model as the driver.

It is of note that if at least one condition is satisfied from among the conditions that the stop period of vehicle <NUM> exceeds a threshold value, the driving source of vehicle <NUM> has stopped, and a door of vehicle <NUM> has been opened and closed, then driver specifying unit <NUM> resets the result of specifying the user who is driving vehicle <NUM>. This is because, if one of these conditions is satisfied, it is possible that the user who is driving vehicle <NUM> has changed. Then, if at least one condition is satisfied from among the conditions that vehicle <NUM> starts moving again, the driving source of the vehicle starts operating, and a door of the vehicle is again opened and closed, then driver specifying unit <NUM> again attempts to specify the driver.

In this way, specified result accumulating unit <NUM> accumulates the results of specifications made by driver specifying unit <NUM>. Then, specified result accumulating unit <NUM> performs an output operation such as displaying the results on a display apparatus and writing the results in a storage medium, as appropriate.

Next, operations of information processing system <NUM> will be described. It is of note that in the following description where server <NUM> is described as an agent of processing, the specific meaning is that the processing is executed by processor <NUM> performing computation in response to predetermined software (program) being loaded onto hardware such as processor <NUM> and memory <NUM>, and controlling communication by communication unit <NUM> and reading and/or writing of data from or to memory <NUM> and storage <NUM>. The same applies to terminal <NUM> and in-vehicle equipment <NUM>.

The operations of information processing system <NUM> include a phase for generating the aforementioned learning model and a phase for specifying a driver using the learning model. These phases may be performed in parallel simultaneously, or may be performed otherwise.

First, the phase for generating a learning model will be described. In <FIG>, each terminal <NUM> regularly transmits the position measured by positioning unit <NUM> to server <NUM> via communication network <NUM> (step S11). Meanwhile, in-vehicle equipment <NUM> regularly transmits the position measured by the positioning unit and the detection results of the sensors to server <NUM> via communication network <NUM> (step S12). Accordingly, on-board user specifying unit <NUM> of server <NUM> acquires the positions of terminals <NUM> and the position of in-vehicle equipment <NUM> (that is, the position of vehicle <NUM>). Also, attribute acquiring unit <NUM> of server <NUM> acquires the driving attributes of the driver of vehicle <NUM>. It is of note that the sequence in which step S11 and step S12 is performed is interchangeable.

In server <NUM>, on-board user specifying unit <NUM> compares the positions of terminals <NUM> with the position of in-vehicle equipment <NUM> (that is, the position of vehicle <NUM>), extracts information from terminals <NUM> that move in such a manner as to match the time series displacement of the position of in-vehicle equipment <NUM>, and specifies the users of the extracted terminals <NUM> as a group of users (on-board users) that is on board the vehicle <NUM> (step S13).

Next, in server <NUM>, driver estimating unit <NUM> estimates, based on the user groups specified by on-board user specifying unit <NUM> with respect to a plurality of movements of vehicle <NUM>, that the driver is a user who is included in common in the groups of users for which the attribute acquired by attribute acquiring unit <NUM> is the same with respect to a plurality of movements of vehicle <NUM> (step S14). Cases exist where it is not possible to estimate the driver as described in the example shown in <FIG>, such as when an amount of data for the moving history of vehicle <NUM> is insufficient. In such cases, the processing does not move to the next step S15. Rather, the processing moves to step S15 if the driver has been estimated by driver estimating unit <NUM>.

Then, learning model generating unit <NUM> generates a learning model using the user IDs of users estimated by driver estimating unit <NUM> and the driving attributes when users are on board as training data (step S15). Specifically, learning model generating unit <NUM> generates a learning model using the driving attribute as an explanatory variable, and the user ID of a driver as an objective variable. When the learning model for specifying a certain user as the driver is generated in this way, the generated learning model is stored in learning model generating unit <NUM>.

Next, the phase for specifying the driver using the learning model will be described. In <FIG>, each terminal <NUM> regularly transmits the position measured by positioning unit <NUM> to server <NUM> via communication network <NUM> (step S21). Meanwhile, in-vehicle equipment <NUM> regularly transmits the position measured by the positioning unit and the detection results of the sensors to server <NUM> via communication network <NUM> (step S22). Accordingly, on-board user specifying unit <NUM> of server <NUM> acquires the positions of terminals <NUM> and the position of in-vehicle equipment <NUM> (that is, the position of vehicle <NUM>). Also, attribute acquiring unit <NUM> of server <NUM> acquires driving attributes of vehicle <NUM> performed by the driver. It is of note that the sequence in which step S21 and step S22 is performed is interchangeable.

In server <NUM>, on-board user specifying unit <NUM> compares the positions of terminals <NUM> with the position of in-vehicle equipment <NUM> (that is, the position of vehicle <NUM>), extracts information from terminals <NUM> that move in such a manner as to match the time series displacement of the position of in-vehicle equipment <NUM>, and specifies the users of the (extracted) terminals <NUM> as a group of users (on-board users) that is on board the vehicle <NUM> (step S23).

Next, in server <NUM>, driver specifying unit <NUM> inputs the driving attributes acquired by attribute acquiring unit <NUM> into the aforementioned learning model, and specifies a user of the user ID output from the learning model as the driver (step S24). It is of note that if the specified user ID is included in the user IDs of the on-board users specified by on-board user specifying unit <NUM>, it is determined that the result of specifying the driver by driver specifying unit <NUM> is correct. On the other hand, if the specified user ID is not included in the user IDs of the on-board users specified by on-board user specifying unit <NUM>, it is determined that the result of specifying the driver by driver specifying unit <NUM> is not correct, and driver specifying unit <NUM> performs predetermined error processing such as outputting a message indicating that specification of the driver is not possible. Driver specifying unit <NUM> also performs predetermined error processing if the user ID of a driver is not output as a result of inputting the driving attributes acquired by attribute acquiring unit <NUM> into the learning model.

Also, in server <NUM>, specified result accumulating unit <NUM> accumulates the results of specifications made by driver specifying unit <NUM> (step S25). The accumulated results are used in various applications such as for determining a car insurance rate for a user, for example.

According to the embodiment described above, a learning model for specifying a user who is driving a vehicle is provided. Furthermore, an advantage is obtained in that a burden on users in compiling the learning model is small because the users need only be on board vehicle <NUM>.

The present invention is not limited to the embodiment described above. The embodiment described above may also be modified as follows. Also, two or more of the following modifications may be implemented in combination[,so long as no contradiction arises from such combination].

The present invention can be considered as a learning model generated by server <NUM>.

In the embodiment described above, on-board user specifying unit <NUM> specifies a group of users (on-board users) that is on board vehicle <NUM> based on positions of terminals <NUM> and a position of in-vehicle equipment <NUM> (that is, the position of vehicle <NUM>). However, the method of specifying an on-board user is not limited to the example described in the embodiment. On-board user specifying unit <NUM> may specify an on-board user by comparing a physical variable such as sound, vibration, or acceleration, which is detected by terminals <NUM>, with a physical variable such as sound, vibration, or acceleration, which is detected by in-vehicle equipment <NUM>, instead of using positional information, for example. Noise inside and outside vehicle <NUM> and environmental sound in a vicinity where vehicle <NUM> is running can be detected by a terminal <NUM> of a user on board vehicle <NUM>; and can also be detected by in-vehicle equipment <NUM> of vehicle <NUM>. Such detection results show closely correlated changes in a like time series. Also, vibration and acceleration in vehicle <NUM> when the vehicle <NUM> is running can be detected by a terminal <NUM> of a user on board vehicle <NUM>, and can also be detected by in-vehicle equipment <NUM> of vehicle <NUM>. Such detection results also show closely correlated changes in a like time series. Accordingly, on-board user specifying unit <NUM> can specify a group of users on board the vehicle <NUM> by comparing data detected by terminal <NUM> carried by a user with data detected by the vehicle <NUM>, and determining that the data match.

Driving attributes of a driver may not always be the same, and may vary dependent on differing driving conditions. For example, driving attributes of a driver may change dependent on a combination of the driver and other users who are on board vehicle <NUM> with the driver. It can be conceived that if the driver is on board with an elderly user, an infant user, or a significant other user, the driver may drive the vehicle carefully and smoothly. On the other hand, if the driver is on board with one or more users of the same gender and generation the driver may drive the vehicle relatively less carefully and smoothly. Therefore, learning model generating unit <NUM> may also generate a learning model using as training data the identification information of a user estimated by driver estimating unit <NUM>, the driving attributes of the user, and identification information of users included in the group of users specified by on-board user specifying unit <NUM>. In this example, when a user drives vehicle <NUM>, the user notifies server <NUM> that the user is the driver by indicating his/her user ID by use of his/her terminal <NUM>. Learning model generating unit <NUM> of server <NUM> acquires the driving attributes based on detection results of the sensors that are acquired from in-vehicle equipment <NUM> of vehicle <NUM>, and generates the learning model using the attributes and the user IDs of the on-board users specified by on-board user specifying unit <NUM> as explanatory variables, and the notified user ID of the user as an objective variable. When specifying a driver, driver specifying unit <NUM> acquires driving attributes based on detection results of the sensors that are acquired from in-vehicle equipment <NUM> of vehicle <NUM>, and obtains the user ID of a driver by inputting the driving attributes and the user IDs of the on-board users specified by on-board user specifying unit <NUM> to the learning model.

Driving attributes of a driver may change dependent on vehicle attributes of vehicle <NUM> to be driven. For example, if vehicle <NUM> is a family car, the driver may drive the vehicle carefully or smoothly. On the other hand, if vehicle <NUM> is a sports car the driver may drive the vehicle relatively less carefully and smoothly. Accordingly, learning model generating unit <NUM> may also generate a learning model using the identification information of a user estimated by driver estimating unit <NUM>, the driving attributes of the user, and the attributes of vehicle <NUM> as training data. In this example, when a user drives vehicle <NUM>, the user notifies server <NUM> that the user is the driver by using his/her user ID by operating his/her terminal <NUM>. Also, in-vehicle equipment <NUM> notifies server <NUM> of information for specifying attributes of vehicle <NUM> (e.g., vehicle ID, or the like). Learning model generating unit <NUM> of server <NUM> acquires driving attributes based on detection results of the sensors that are acquired from in-vehicle equipment <NUM> of vehicle <NUM>, and generates the learning model using the attributes and the notified vehicle attributes as explanatory variables, and the notified user ID of the user as an objective variable. When specifying the driver, driver specifying unit <NUM> acquires driving attributes based on the detection results of the sensors that are acquired from in-vehicle equipment <NUM> of vehicle <NUM>, and obtains the user ID of a driver by inputting the driving attributes and the vehicle attributes notified from in-vehicle equipment <NUM> to the learning model.

Driving attributes of a driver may change dependent on a driving environment (e.g., weather, time slot, and road type) for example. For example, if the weather is bad, the driver may drive vehicle <NUM> carefully or smoothly. On the other hand, if the weather is good the driver may drive vehicle <NUM> relatively less carefully and smoothly. Also, if driving at night, the driver may drive vehicle <NUM> carefully or smoothly. On the other hand, if driving during the day the driver may drive vehicle <NUM> less carefully and smoothly. If driving on an unpaved road, the driver may drive vehicle <NUM> carefully or smoothly. On the other hand, if driving on a paved road the driver may drive vehicle <NUM> less carefully and smoothly. Therefore, learning model generating unit <NUM> may be configured to generate a learning model using the identification information of a user estimated by driver estimating unit <NUM>, the driving attributes of the user, and the environment where the vehicle is driven, as training data. In this example, when a user drives vehicle <NUM>, the user notifies server <NUM> that the user is the driver by using his/her user ID by using his/her terminal <NUM>. Learning model generating unit <NUM> of server <NUM> acquires the driving attributes based on the detection results of the sensors that are acquired from in-vehicle equipment <NUM> of vehicle <NUM>, and generates the learning model using the attributes and the environment at the time of driving (e.g., weather, time slot, and road type) as explanatory variables, and the notified user ID of the user as an objective variable. The weather and the road type can be specified based on the position of terminal <NUM> or in-vehicle equipment <NUM>. Also, the time slot can be specified by a timer of server <NUM> or the like. When specifying the driver, driver specifying unit <NUM> acquires driving attributes based on the detection results of the sensors that are acquired from in-vehicle equipment <NUM> of vehicle <NUM>, and obtains the user ID of the driver by inputting the attributes and the driving environment to the learning model.

In the phase for generating the learning model described in the embodiment above, driver estimating unit <NUM> estimates a driver (step S14), and learning model generating unit <NUM> generates a learning model using the user IDs of the estimated users and the driving attributes of the estimated users as training data (step S15). A configuration is possible in which, after generating the learning model using the training data, each time new training data is obtained, learning model generating unit <NUM> updates the learning model to improve accuracy by performing machine learning using the newly obtained training data in addition to prior-obtained training data. It is of note that driving attributes of a user may notably differ dependent on a state of mind and consequent behavior of the user, and also dependent on a change in driving environment and the like at a time of driving. Therefore, there will be cases where it is not appropriate to use driving attributes as training data. Accordingly, learning model generating unit <NUM> may perform the following processing when newly obtained driving attributes with respect to a certain user differ, by a threshold value or more, from prior-obtained driving attributes of the user. In the following, an example of transition of a driving attribute acquired each time driver Ais estimated at step S14 is shown.

In such a case, learning model generating unit <NUM> deems driving attribute value β in the fourth movement to be noise, and does not adopt it as training data for driver A, and instead adopts driving attribute value α as the training data. In short, learning model generating unit <NUM> uses, as training data, attributes in common that are acquired at a predetermined ratio (e.g., <NUM>%) or more (in other words, an attribute a frequency of appearance of which is a predetermined value or more, e.g., a driving attribute value α that is acquired <NUM> times out of a total <NUM> times, which corresponds to <NUM>% or more), of all the times (e.g., <NUM> times) that of the acquired driving attribute. It is of note that attribute values α and β may also be specified as attribute values having a certain range, in addition to parameter values (a set thereof).

Also, the following case is conceivable.

In such a case, learning model generating unit <NUM> deems driving attribute value α in the first to third movements as noise, and does not adopt it as training data for driver A, but instead adopts driving attribute value β in the fourth to tenth movements as training data. In other words, if the driving attribute value changes by a threshold value or more (e.g., changes from driving attribute value α to driving attribute value β), and the new driving attribute value continues for a threshold number of times or more (e.g., if the threshold value is seven times, new driving attribute value β continues for seven times after driving attribute value α), learning model generating unit <NUM> uses the new driving attribute value (e.g., driving attribute value β) as the training data.

It is of note that the block diagram used in the description of the above embodiment shows blocks of functional units. These function blocks (constituent units) can be realized by any combination of at least one of hardware and software. The method of realizing each function block is not particularly limited. That is, each functional block may be realized by using one apparatus that is physically or logically coupled to, or may be realized by directly or indirectly connecting two or more apparatus that are physically or logically separated (using, for example, a wired connection, a wireless connection, or the like), and using a plurality of these apparatus. Functional blocks may also be realized by combining the one apparatus or a plurality of the apparatus with software.

Examples of functions include determining, deciding, summing, calculating, processing, deriving, surveying, searching, confirming, receiving, transmitting, outputting, accessing, solving, selecting, setting, establishing, comparing, assuming, expecting, considering, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, and the like, but these are not limitations. For example, a functional block (constituent unit) that causes transmission to function may be referred to as a transmission control unit (transmitting unit) or a transmitter (transmitter). In any event, as described above, the method of realizing a function is not particularly limited.

For example, the apparatus or the like in the above embodiment of the present invention may function as a computer that performs processing as set out in the present invention.

The modes/embodiment described in the present invention may be applied to at least one of a system that uses LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER <NUM>, IMT-Advanced, <NUM> (<NUM>th generation mobile communication system), <NUM> (<NUM>th generation mobile communication system), FRA (Future Radio Access), NR (new Radio), W-CDMA (registered trademark), GSM (registered trademark), CDMA2000, UMB (Ultra Mobile Broadband), IEEE <NUM> (Wi-Fi (registered trademark)), IEEE <NUM> (WiMAX (registered trademark)), IEEE <NUM>, UWB (Ultra-Wide Band), Bluetooth (registered trademark), another appropriate system, or a next-generation system that has been developed based on the systems described above. Also, a plurality of systems may also be applied in combination (e.g., a combination of at least one of LTE and LTE-A and <NUM>).

The order of the processing procedures, sequences, flowcharts and the like of the modes/embodiment described in the present invention may be changed, as long as no inconsistency results. For example, with regard to the methods described in the present invention, the elements of the various steps are presented using an illustrative order, but are not limited to the order in which they are presented.

Information and the like that has been input/output may be saved in a specific location (for example, a memory), or may be managed using a management table. The information and the like that is input/output can be overwritten, updated, or added to. Information and the like that has been output may be deleted. Information and the like that has been input may be transmitted to another apparatus.

Determination may be performed according to a value (<NUM> or <NUM>) represented by <NUM> bit, or may be performed according to a Boolean value (Boolean: true or false), or may be performed by comparing numerical values (for example, comparison with a predetermined value).

Regardless of whether software is referred to as software, firmware, middleware, microcode, hardware description language, or by another name, "software" should be interpreted broadly as meaning commands, command sets, code, code segments, program code, programs, sub-programs, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, sequences, functions, and the like. Additionally, software, commands, and the like may be exchanged via a transmission medium. For example, when software is transmitted from a website, a server, or another remote source using hardwired technologies such as coaxial cable, fiber optic cable, twisted pair cabling, or digital subscriber line (DSL), and/or wireless technologies such as infrared light, radio waves, or microwaves, at least one of these hardwired technologies and wireless technologies is included in the definition of "transmission medium.

The information, signals, and the like described in the present invention may be expressed using any of a variety of different techniques For example, data, instructions, commands, information, signals, bits, symbols, chips, and the like that may be referred to throughout all of the foregoing descriptions may be realized as voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, photo fields or photons, or any desired combination thereof.

It is of note that a term that has been described in the present invention and a term required to understand the present invention may be substituted by a term that has the same or a similar meaning.

Also, information, a parameter, or the like described in the present invention may be represented by an absolute value, by a relative value derived from a predetermined value, or by other corresponding information.

The phrase "based on" used in the present invention does not mean "based only on" unless specified as such. In other words, the phrase "based on" may be used to mean "based only on" or "based at least on.

Any reference to an element for which a phrase such as "first" or "second" that is used in the present invention does not generally limit the amount or order of such an element. These phrases may be used in the present invention as a convenient way to distinguish two or more elements. Therefore, a reference to first and second elements does not mean that only those two elements are adopted, or that the first element must precede the second element.

The "unit" in the configuration of each apparatus described above may be replaced by a "means," a "circuit," a "device," or the like.

In the present invention, when terms "include" and "including" and a variety of these terms are used, the terms are intended to be comprehensive and equivalent to the term "comprising. " Moreover, the term "or" used in the present invention is not used as an exclusive OR.

When an article such as a, an, or the in English is present in the English translation of the present invention, the present invention may include a case where a noun following these articles is plural.

Claim 1:
An information processing apparatus (<NUM>) comprising:
an on-board user specifying unit (<NUM>) configured to specify a group of users on board a vehicle (<NUM>);
an acquiring unit (<NUM>) configured to acquire an attribute value of driving of the vehicle (<NUM>);
a driver estimating unit (<NUM>) configured to estimate, based on the group of users specified by the on-board user specifying unit (<NUM>) relative to a plurality of movements of groups of users' movements of the vehicle (<NUM>), that a user driving the vehicle (<NUM>) is a user who is included in the group out of the groups of users for which the attribute value acquired by the acquiring unit (<NUM>) is the same relative to the plurality of movements of the vehicle (<NUM>); and
a learning model generating unit (<NUM>) configured to generate a learning model using identification information of the user specified by the driver estimating unit and driving attributes of the user as training data.