Information processing apparatus, control program, control method, and information processing system
The system dynamically selects avatars based on user characteristics using evaluation values and probability adjustments, addressing the limitation of static avatars in conventional systems to improve user engagement and experience.
Patent Information
- Application Number
- JP2025134971
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-14
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2041-11-12
AI Technical Summary
Conventional information processing systems lack the ability to dynamically switch avatars based on user characteristics, limiting the appropriateness of the displayed character for individual users.
An information processing system that selects an avatar based on user type information, utilizing evaluation values derived from user interaction data to determine the most suitable character for display, incorporating random selection and probability adjustments to enhance accuracy over time.
Enables dynamic avatar selection tailored to individual user preferences, improving user engagement and motivation by ensuring a more appropriate representation of the operator, thereby enhancing the user experience.
Smart Images

Figure 2025159132000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a control program, a control method, and an information processing system, and more particularly to an information processing device, a control program, a control method, and an information processing system in which, for example, a user and an operator communicate by chat or talk. [Background technology]
[0002] An example of this type of conventional information processing device is disclosed in Patent Document 1. In the communication system disclosed in Patent Document 1, when telexistence mode is set, the operator terminal converts the operator's facial expressions and gestures into coordinate data and transmits it to the response terminal along with response voice data. The response terminal generates an avatar based on the coordinate data sent from the operator terminal, thereby generating character response information in which the operator's facial expressions and gestures are reflected in the avatar's facial expressions and behavior, and displays it to the user. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-56940 Summary of the Invention [Problem to be solved by the invention]
[0004] In the above-mentioned Patent Document 1, only one avatar is displayed on the answering terminal, and it is not possible to switch the avatar depending on the user. There is room for improvement in order to display an avatar that is deemed appropriate depending on the user.
[0005] Therefore, a primary object of the present invention is to provide a novel information processing device, a control program, a control method, and an information processing system.
[0006] Another object of the present invention is to provide an information processing device, a control program, a control method, and an information processing system that can change characters depending on the user. [Means for solving the problem]
[0007] A first invention is an information processing device that provides a specified service, and when a character corresponding to an operator interacting with a user is displayed on the user's user terminal, the information processing device comprises: a first selection means that selects one character from a plurality of characters based on user type information that describes an evaluation value determined based on the usage status of a plurality of users who use the specified service for each of the plurality of characters in accordance with classification information that classifies users who use the specified service; and a display control means that displays the selected one character on the user terminal.
[0008] A second invention is according to the first invention, wherein the first selection means selects a character based on the magnitude of an evaluation value written corresponding to each of the plurality of characters included in the user type information.
[0009] A third invention is according to the second invention, and the first selection means randomly selects one character from the plurality of characters having the same magnitude of some or all of the evaluation values entered corresponding to each of the plurality of characters.
[0010] A fourth invention is dependent on the third invention, and further comprises a second selection means for randomly selecting a character regardless of user type information when displaying a character corresponding to an operator interacting with a user on the user terminal of the user, and a selection method determination means for determining the selection by the first selection means or the second selection means, and the display control means causes the character selected by the first selection means or the second selection means determined by the selection method determination means to be displayed on the user terminal.
[0011] A fifth invention is according to the third or fourth invention, and further comprises a second storage means for storing probability information describing selection probabilities set for each of a plurality of characters, and when the number of times a character is selected exceeds a predetermined number of times, the selection probabilities for all of the plurality of characters are set to the same.
[0012] A sixth invention is dependent on any one of the first to fifth inventions, and the usage status includes a period from when the display of the character starts to when it ends.
[0013] A seventh invention is dependent on any one of the first to sixth inventions, and the usage status includes the number of times the user speaks or a speech rate.
[0014] An eighth invention is according to any one of the first to seventh inventions, and further comprises an update means for updating the evaluation value when display of the character is completed.
[0015] A ninth invention is a control program executed by an information processing device that provides a specified service, which causes a processor of the information processing device to execute a selection step of selecting a character based on user type information that describes an evaluation value determined based on the usage status of multiple users who use the specified service for each of multiple characters corresponding to classification information that classifies users who use the specified service when displaying a character corresponding to an operator who interacts with a user on the user's user terminal, and a display control step of displaying the selected character on the user's terminal.
[0016] A tenth invention is a control method for an information processing device that provides a specified service, comprising: (a) a step of selecting a character based on user type information that describes an evaluation value determined based on the usage status of multiple users who use the specified service for each of multiple characters corresponding to classification information that classifies users who use the specified service when displaying a character corresponding to an operator who interacts with a user on the user terminal of the user; and (b) a step of displaying the selected character on the user terminal.
[0017] An eleventh invention is an information processing system comprising an information processing device that provides a specified service and a user terminal that receives the specified service, wherein the information processing device comprises a selection means that, in response to a request from the user terminal, selects one character corresponding to an operator that interacts with a user from a plurality of characters based on user type information that describes an evaluation value determined based on the usage status of a plurality of users who use the specified service for each of the plurality of characters corresponding to classification information that classifies users who use the specified service, and a transmission means that transmits information of the character selected by the selection means to the user terminal, and the user terminal comprises a request means that requests the information processing device to select a character prior to displaying the character, a receiving means that receives the character information transmitted by the transmission means, and a display means that displays the character indicated by the character information received by the receiving means. [Effects of the Invention]
[0018] According to this invention, the character can be changed depending on the user.
[0019] The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the preferred embodiments with reference to the drawings. [Brief explanation of the drawings]
[0020] [Figure 1]FIG. 1 is a diagram showing an information processing system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the electrical configuration of the server shown in FIG. [Figure 3] FIG. 3 is a block diagram showing the electrical configuration of the user terminal shown in FIG. [Figure 4] FIG. 4 is a diagram showing an example of a screen displayed on the display device of the user terminal. [Figure 5] FIG. 5 is a diagram showing another example of a screen displayed on the display device of the user terminal. [Figure 6] FIG. 6 is a diagram showing another example of a screen displayed on the display device of the user terminal. [Figure 7] FIG. 7 is a diagram showing an example of the user type table. [Figure 8] FIG. 8 is a diagram showing an example of the probability table. [Figure 9] FIG. 9 is a diagram showing an example of a memory map of the RAM of the server shown in FIG. [Figure 10] FIG. 10 is a diagram showing an example of specific contents of the storage area of the RAM shown in FIG. [Figure 11] FIG. 11 is a flowchart showing a first part of an example of control processing by the CPU of the server shown in FIG. [Figure 12] FIG. 12 is a flowchart showing a second part of an example of the control process of the CPU of the server shown in FIG. 2, and follows FIG. [Figure 13] FIG. 13 is a flowchart showing a third part of an example of the control process of the CPU of the server shown in FIG. 2, and follows FIG. [Figure 14] FIG. 14 is a flowchart showing an example of an avatar selection process by the CPU of the server shown in FIG. [Figure 15] FIG. 15 is a flowchart showing an example of update processing of the CPU of the server shown in FIG. [Figure 16] FIG. 16 is a flowchart showing a first part of an example of control processing by the CPU of the user terminal according to the second embodiment. [Figure 17]FIG. 17 is a flowchart showing a second part of an example of the control process of the CPU of the user terminal of the second embodiment, and follows FIG. [Figure 18] FIG. 18 is a flowchart showing a third part of an example of the control process of the CPU of the user terminal of the second embodiment, and follows FIG. [Figure 19] FIG. 19 is a flowchart showing a fourth part of an example of the control process of the CPU of the user terminal of the second embodiment, and follows FIG. DETAILED DESCRIPTION OF THE INVENTION
[0021] <First Example> Referring to FIG. 1, an information processing system 10 of the first embodiment includes a server 12, which is communicably connected to a plurality of user terminals 16 and a plurality of operator terminals 18 via a network 14.
[0022] The plurality of user terminals 16 are each used by a different user, and the plurality of operator terminals 18 are each used by a different operator. In this first embodiment, the users are those who use a predetermined service provided by the server 12. The operators are those who respond to the users.
[0023] The server 12 is an information processing device, and may be a general-purpose server. In the first embodiment, the server 12 is provided to operate a site that provides predetermined services.
[0024] The network 14 is composed of an IP network (or IP network) including the Internet, and an access network (or access network) for accessing this IP network. The access network may be a public telephone network, a mobile phone network, a wired LAN, a wireless LAN, or a CATV (Cable Television) network.
[0025] The user terminal 16 is an information processing device other than the server 12, and is, for example, a smartphone having a browser function. In other embodiments, the user terminal 16 may be a general-purpose terminal such as a tablet PC, a notebook PC, or a desktop PC.
[0026] The operator terminal 18 is an information processing device other than the server 12 and the user terminal 16, and is, for example, a notebook PC or a desktop PC, but in other embodiments, a general-purpose terminal such as a smartphone or a tablet PC can also be used. Therefore, the operator terminal 18 includes a CPU 18a and a storage unit (including a HDD, a ROM, and a RAM) 18b, as well as components such as a communication interface and an input / output interface.
[0027] Fig. 2 is a block diagram showing the electrical configuration of server 12 shown in Fig. 1. As shown in Fig. 2, server 12 includes a CPU 20, which is connected to a storage unit 22, a communication interface (hereinafter referred to as "communication I / F") 24, and an input / output interface (hereinafter referred to as "input / output I / F") 26 via an internal bus.
[0028] The CPU 20 is responsible for overall control of the server 12. However, instead of the CPU 20, a system-on-a-chip (SoC) including multiple functions such as a CPU function and a graphics processing unit (GPU) function may be provided. The storage unit 22 includes a HDD, ROM, and RAM. However, instead of the HDD, or in addition to the HDD, ROM, and RAM, a non-volatile memory such as an SSD may be used.
[0029] The communication I / F 24 has a wired interface for transmitting and receiving control signals and data to and from external computers such as the user terminal 16 and the operator terminal 18 via the network 14 under the control of the CPU 20. However, a wireless interface such as a wireless LAN or Bluetooth (registered trademark) can also be used as the communication I / F 24.
[0030] An input device 28 and a display device 30 are connected to the input / output I / F 26. A keyboard and a computer mouse are used as the input device 28. The display device 30 is an LCD or an organic EL display.
[0031] The input / output I / F 26 outputs operation data (or operation information) input from the input device 28 to the CPU 20, and also outputs image data generated by the CPU 20 to the display device 30, causing the display device 30 to display a screen corresponding to the image data.
[0032] The electrical configuration of the server 12 shown in FIG. 2 is an example and does not need to be limited to this.
[0033] Fig. 3 is a block diagram showing the electrical configuration of the user terminal 16 shown in Fig. 1. As shown in Fig. 3, the user terminal 16 includes a CPU 50, which is connected to a storage unit 52, a communication I / F 54, and an input / output I / F 56 via an internal bus.
[0034] The CPU 50 is responsible for overall control of the user terminal 16. However, instead of the CPU 50, an SoC including multiple functions such as a CPU function and a GPU function may be provided. The storage unit 52 includes a HDD, ROM, and RAM. However, instead of the HDD, or in addition to the HDD, ROM, and RAM, a non-volatile memory such as an SSD may be used.
[0035] The communication I / F 54 has a wired interface for transmitting and receiving control signals and data to and from an external computer such as a user terminal 16 via the network 14 under the control of the CPU 50. However, a wireless interface such as a wireless LAN or Bluetooth (registered trademark) can also be used as the communication I / F 54.
[0036] An input device 58, a display device 60, a microphone 62, and a speaker 64 are connected to the input / output I / F 56. The input device 58 is a touch panel and hardware buttons. The touch panel is a general-purpose touch panel, and any type of touch panel can be used, such as a capacitive type, an electromagnetic induction type, a resistive film type, or an infrared type.
[0037] However, when a notebook PC or a desktop PC is used as the user terminal 16, the input device 58 is a keyboard and a computer mouse. In addition, a touch panel may also be provided.
[0038] The input / output I / F 56 converts the user's voice detected by the microphone 62 into digital voice data and outputs it to the CPU 50, and also converts the voice data output by the CPU 50 into an analog voice signal and outputs it from the speaker 64. However, in the first embodiment, the voice data output from the CPU 50 is voice data received from the operator side terminal 18 via the server 12. Furthermore, the input / output I / F 56 outputs operation data (or operation information) input from the input device 58 to the CPU 50, and outputs image data generated by the CPU 50 to the display device 60, causing a screen or image corresponding to the image data to be displayed on the display device 60. However, there are also cases where image data received from an external computer (for example, the server 12 or the operator side terminal 18) is output by the CPU 50.
[0039] 3 is an example and is not intended to be limiting. In other embodiments, the user terminal 16 may include a camera. Furthermore, each user terminal 16 does not need to have the same configuration.
[0040] Furthermore, if the user terminal 16 is a smartphone, it is equipped with a call circuit for making calls via a mobile phone communication network, or via a mobile phone network and a public telephone network, but in the first embodiment, such calls are not made, so they are not shown in the illustration.
[0041] The operation of the information processing system 10 of the first embodiment will be specifically described below, but since the operation of each user terminal 16 is the same, we will only describe one of the multiple terminals and omit a description of the other user terminals 16. Similarly, since the operation of each operator terminal 18 is the same, we will only describe one of the multiple terminals and omit a description of the other operator terminals 18.
[0042] In such an information processing system 10, when a user is using a specified service provided by the server 12, that is, when the user is using the user terminal 16 to view the web screen 100 of the specified service provided by the server 12, if certain conditions are met, an application (hereinafter simply referred to as an "app") is launched that allows the user to communicate with an operator via chat or talk.
[0043] As an example, the predetermined service is online shopping, and a user can conduct electronic commerce such as searching for a product and purchasing the desired product by performing a purchase operation on the web screen 100. Therefore, the web screen 100 is a screen of a web page included in the website of the predetermined service (a shopping site in the first embodiment).
[0044] Since online shopping itself is already well known, a description of the processing of the server 12 and the user terminal 16 relating to online shopping will be omitted.
[0045] The operator who responds to the user is the person who communicates with the user through chat or talk. One operator from among multiple operators is matched by the server 12, and the user's user terminal 16 and the operator terminal 18 of the operator matched with the user communicate with each other via the server 12.
[0046] In addition, in online shopping, each operator responds to the user of the matched user terminal 16 through chat or talk. Specifically, each operator responds to inquiries from the user and provides customer service to the user.
[0047] FIG. 4 shows an example of a case where an app selection screen 110 is displayed in front of a web screen 100. However, the web screen 100 is displayed on the display device 60 of the user terminal 16 by starting a web browser and entering a specific URL. As described above, the web screen 100 is the screen of a website (or web page) of a specific service. FIG. 4 shows an example of a web screen 100 for a certain online shopping service. The selection screen 110 is also an initial screen that is displayed when the app is started, for example.
[0048] As described above, an app is launched when certain conditions are met. In this first embodiment, the certain conditions are that a user issues an instruction to launch (or execute) the app while a web screen (web screen 100 in this first embodiment) of a certain service is displayed, that there is no user operation for a certain period of time (30 seconds in this first embodiment), that the same location or a similar location (a nearby location) is specified on the web screen, and that the user returns to the same web screen for the certain service multiple times (for example, three times).
[0049] 4 shows an example of web screen 100 displayed on display device 60 when user terminal 16 is a smartphone. Web screen 100 is just an example, and a screen for a service other than online shopping that provides other commercial transactions, such as a flea market or auction, may also be displayed.
[0050] Selection screen 110 has a display frame 112 at the top of the screen, and below display frame 112, buttons 114, 116, and 118 are arranged vertically.
[0051] The display frame 112 is a frame image for displaying the avatar image 120. The avatar image 120 is displayed (or drawn) at a size that fits within the display frame 112. In this first embodiment, the avatar image 120 is a character that represents the operator, who is the other party in a chat or conversation (interaction partner). Therefore, the avatar image 120 is a character that resembles a human, and in this first embodiment, it is an image of the head and neck.
[0052] However, avatar image 120 may also be an image of an animal or robot character, an anime character, a game character, etc. Avatar image 120 may also be an image of the upper body or the entire body of a character.
[0053] Furthermore, in this first embodiment, when chatting or talking, the avatar image 120 speaks or performs speaking movements in accordance with the display of the operator's chat response content or the audio output of the operator's chat response content (or speech content). In this first embodiment, the avatar image 120 displays the head and neck, so that in speaking movements, the lips of the avatar image 120 move in accordance with the text of the chat response content or the audio output of the chat response content. Therefore, the avatar is expressed as if it is actually speaking.
[0054] On the selection screen 110, the avatar performs natural movements (hereinafter referred to as "unconscious movements"). Typical examples of unconscious movements include blinking and breathing. In addition to such physiological movements, unconscious movements also include habitual movements. For example, habitual movements include touching hair, touching face, and biting nails. However, when the selection screen 110 is displayed, the avatar image 120 is initially displayed in a still state, and then appears to greet the user (for example, bow).
[0055] Therefore, on selection screen 110, after avatar image 120 in a stationary state is displayed, avatar image 120 performing an unconscious action or a greeting action is displayed. Although a detailed description is omitted because it is not essential to the present invention, as an example, display of avatar image 120 in a stationary state is performed by outputting (or playing) pre-stored image data of the stationary state. Furthermore, display of avatar image 120 performing an unconscious action or a greeting action is performed by playing pre-stored video (animation) data.
[0056] Button 114 is a button for the user to chat with the operator. Chatting means talking in real time by exchanging text, and in this first embodiment, text data is sent and received between user terminal 16 and operator terminal 18 via server 12 by operations by the user and operator.
[0057] Button 116 is a button for the user to talk with the operator. Talking means talking in real time through audio exchange, and in this first embodiment, audio data is sent and received between user terminal 16 and operator terminal 18 via server 12 in response to speech from the user and operator.
[0058] The button 118 is a button for terminating the application. When the button 118 is turned on, the application is terminated and the selection screen 110 is hidden on the user terminal 16.
[0059] 5 shows an example of a state in which a chat screen 130 is displayed on top of the web screen 100. When the button 114 is turned on in the selection screen 110, the chat screen 130 shown in FIG. 5 is displayed on the display device 60 of the user terminal 16.
[0060] Chat screen 130 has a display frame 132 at the top of the screen, and avatar image 120 is displayed within display frame 132. Below display frame 132, display frame 134 and display frame 136 are provided vertically side by side, and below display frame 136, button 138 is provided.
[0061] The display frame 134 is a frame image for displaying the operator's response content. The operator's response content is a specific response (or answer) to the user's inquiry (or question), and also includes greetings to the user and questions to the user. In other words, the text data transmitted from the operator-side terminal 18 is displayed in the display frame 134. Although a detailed explanation will be omitted, in the case of chat, the text data transmitted from the operator-side terminal 18 is data regarding the content input by the operator using the input device 58.
[0062] The display frame 136 is a frame image for displaying the contents of the user's inquiry (question). In the case of chat, the user's question is input using the input device 28 of the user terminal 16. Although not shown in FIG. 5, on a smartphone or tablet PC, a software keyboard is displayed separately from the chat screen 130, and characters (text) can be input by touch using the software keyboard, or an instruction that the character input is complete (transmission of the question) can be input by touch. When an instruction to send the question is given, text data of the question is transmitted to the operator terminal 18. Therefore, the text of the question is displayed on the display device of the operator terminal 18. Although not shown in the figure, in chat, a chat screen on which the response content and the question content can be displayed is displayed on the display device of the operator terminal 18.
[0063] Button 138 is a button for ending the chat. When button 138 is turned on, the chat ends, the chat screen 130 is hidden on the user terminal 16, and the selection screen 110 is displayed in front of the web screen 100.
[0064] 6 shows an example of a state in which a talk screen 150 is displayed on top of the web screen 100. When the button 116 is turned on in the selection screen 110, the talk screen 150 shown in FIG.
[0065] A display frame 152 is provided at the top of the talk screen 150, and an avatar image 120 is displayed within the display frame 152. Also, a button 154 is provided at the bottom of the talk screen 150, below the display frame 152.
[0066] Although a detailed description will be omitted, in the case of a talk, the voice data transmitted from the operator terminal 18 is data on the voice input by the operator through the microphone. The voice data transmitted from the operator terminal 18 is received by the user terminal 16 and output from the speaker 64.
[0067] In the case of a talk, the voice data transmitted from the user terminal 16 is data on the voice input by the user through the microphone 62. The voice data transmitted from the user terminal 16 is received by the operator terminal 18 and output from the speaker.
[0068] The button 154 is a button for ending the talk. When the button 154 is turned on, the talk ends, the talk screen 150 is hidden on the user terminal 16, and the selection screen 110 is displayed in front of the web screen 100.
[0069] As described above, the voice data corresponding to the operator's voice is output from the speaker 64 of the user terminal 16, and at this time the avatar performs a speaking action. In this first embodiment, the avatar image 120 is lip-synchronized with the voice output from the speaker 64. Therefore, the avatar image 120 appears to be speaking.
[0070] As described above, when the app is executed, an avatar image 120 is displayed and the user can choose to chat or talk.
[0071] Generally, there is only one avatar image 120 (one type) and it cannot be changed depending on the user. It is important for the operator of a shopping site to use an appropriate avatar for each user to increase the user's motivation to purchase.
[0072] For this reason, it is conceivable to have the user select the avatar to be used, but this would impose a burden on the user and be troublesome.
[0073] Therefore, in this first embodiment, the avatar is changed depending on the type of user. Also, by performing a predetermined evaluation on the avatar used, the more appropriate avatar is used for the user.
[0074] 7 shows an example of a user type table (corresponding to "user type information"). The user type table is a table for classifying users into one of several types and selecting an avatar that is deemed appropriate for the classified type (hereinafter referred to as "average score selection").
[0075] 7, the user type table lists gender, age group, nationality, and interests / concerns corresponding to each type. In this first embodiment, user types are classified by four pieces of information (hereinafter referred to as "classification information"): gender, age group, nationality, and interests / concerns.
[0076] In this embodiment, the type of user is classified based on four pieces of information, but the type of user can also be classified based on at least one of the above four pieces of information.
[0077] Furthermore, all four pieces of information are examples, and other information can be substituted or added. For example, instead of nationality, the area of residence (prefecture or region) can be listed. Other information that can be listed includes blood type, month of birth, personality, special skills, hobbies, etc.
[0078] The more information entered in the user type table, the more avatars can be selected for various types of users.
[0079] The type column contains identification information that identifies the type of user. In the example shown in Fig. 7, type 1, type 2, type 3, type 4, etc. are listed as identification information. This is just an example, and the identification information may be set to be identifiable using numbers and / or alphabets.
[0080] In the gender column, male or female is entered. In the age column, ages are entered in 10-year age groups. However, these age groups are just an example, and the age groups may be further divided (for example, in 5-year age groups) or more broadly divided (for example, in 20-year age groups).
[0081] In the "nationality" field, "Japanese" is entered, but other nationalities may also be entered. In the "interests" field, subculture, fashion, makeup, health care, etc. are entered as interests or concerns. However, the interests or concerns are merely examples and are not necessarily limited, and are determined appropriately depending on the content of a given service, for example, the products traded on a shopping site.
[0082] When a user accesses the shopping site of the server 12 using the user terminal 16, the type of the user is classified based on the information about the user (hereinafter referred to as "user information"), which includes the user ID, the user's name, contact information (address, telephone number, email address), gender, generation (or age), nationality, and information about interests / concerns.
[0083] The server 12 acquires user information of users accessing the shopping site and classifies the users into a type having classification information that matches all of the gender, age, nationality, and interests / concerns contained in the acquired user information.
[0084] In this first embodiment, the user information of each user is stored in a database managed by the server 12, and the user information of the current user is obtained from this database. The database managed by the server 12 is a storage unit (here, a HDD) 22 built into the server 12, or a database communicatively connected to the server 12 directly or via the network 14.
[0085] In addition, if classification information that matches all of the gender, age, nationality, and interests / concerns contained in the user information is not listed in the user type table, it will be added to the user type table as new classification information.
[0086] The user type table also lists an average score for each of a plurality of avatars corresponding to each type. Here, the score is an evaluation value that evaluates the appropriateness of the avatar according to the type of user. Specific avatar images other than avatar image 120 are omitted, but each of the plurality of avatars has a different appearance. The user type table also lists identification information (for example, name) for each avatar. In the user type table shown in FIG. 7, avatar identification information such as avatar 1, avatar 2, avatar 3, avatar 4, etc. is listed.
[0087] In this embodiment, the score is calculated according to the user's usage of the shopping site. However, since the score is an evaluation value for evaluating the appropriateness of the avatar, it is calculated based on the time during which the avatar image 120 was displayed out of the time during which the user browsed and / or purchased products on the shopping site (hereinafter referred to as "stay time") and the purchase price of the products, as shown in Equation 1. However, the stay time is in seconds, and the purchase price is in yen. Furthermore, the coefficients K and L are set appropriately. For example, if the stay time and the purchase price are weighted equally, the coefficients K and L are set to the same value. However, if the stay time exceeds M (e.g., 1800 seconds), the coefficient K is set to 0. This is because if the stay time is too long, there is considered to be little correlation between the display of the avatar image 120 and the length of the stay time.
[0088] [Number 1] Score = K x time spent + L x purchase amount The calculated scores are stored in a manner that allows the user type and the avatar used to be identified, and when the scores are calculated, the average scores recorded corresponding to the user type and the avatar used are calculated (or updated). In other words, the user type table is updated.
[0089] Although not shown in the figure, in the initial user type table, all average scores are set to 0, and the user type table is updated each time a score is calculated. However, when the user finishes displaying the avatar image 120 on the shopping site, that is, when the user exits the app and closes the selection screen 110, a score is calculated and the user type table is updated.
[0090] Furthermore, as can be seen from Equation 1, the score and average score increase when the length of stay and / or purchase amount is long, so when selecting an avatar to use in average score selection, the avatar with the highest average score is selected from among multiple avatars. However, in the user type table, reference is made to multiple average scores listed corresponding to the classified types of users.
[0091] However, in the initial user type table, all average scores are set to 0, so the avatar to be used cannot be selected by average score selection. In this case, an avatar is selected randomly (hereinafter referred to as "random selection").
[0092] Furthermore, if the number of times the score is calculated, i.e., the number of times the avatar is selected (hereinafter referred to as the "number of selections"), is small, there will be many columns in the user type table where the average score is 0, so the reliability of the average score, i.e., the user type table, will be low, and if an avatar is selected using average score selection, it is unlikely that an appropriate avatar will be selected for the user.
[0093] Therefore, in this first embodiment, the avatar to be used is selected by random selection until the number of times the avatar is selected exceeds a first predetermined number of times (e.g., several hundred to several thousand times). After the number of times the avatar is selected exceeds the first predetermined number of times, the method of selecting the avatar is randomly selected between average score selection and random selection. For example, the selection probability of average score selection is set to P (0≦P≦1), and the selection probability of random selection is set to 1−P. Therefore, until the number of times the avatar is selected exceeds the first predetermined number of times, the selection probability P for average score selection is set to 0. After the number of times the avatar is selected exceeds the first predetermined number of times, the selection probability P is set to 0.5. Furthermore, as the number of times the avatar is selected increases, the selection probability P is set to be greater than 0.5. In other words, as the reliability of the user type table increases, the probability that average score selection will be selected increases.
[0094] In addition, in the random selection, an avatar is selected using a selection probability set in a probability table. Fig. 8 shows an example of the probability table. In the probability table shown in Fig. 8, a uniform selection probability (1 / n) is set for each of all avatars (total number n). In the first embodiment, in the initial probability table, the selection probability for all avatars is set to be uniform.
[0095] When a new avatar is added, the selection probability of the new avatar is set to 1 so that the new avatar is more likely to be selected as the avatar to be used, in order to improve the reliability of the average score for the new avatar. However, in this example, only one avatar is added. The selection probability of the new avatar is decreased by a predetermined value (e.g., 0.05) as the number of times the avatar is selected increases by a second predetermined number (e.g., one hundred to several hundred times), and when the number of times the avatar is selected exceeds a third predetermined number (e.g., several hundred to several thousand times), the selection probability is set uniformly for all avatars. In this manner, the probability table is updated. However, this is merely an example and need not be limited to this. In this first embodiment, the second predetermined number is set to be smaller than the third predetermined number.
[0096] It is also possible to add multiple avatars. When adding multiple avatars, the selection probability of the added multiple avatars is set to a value greater than the selection probability of an avatar that already exists (is registered or provided) and less than 1, so that the added multiple avatars are more likely to be selected as the avatar to be used. The selection probability of the added multiple avatars gradually decreases, just like when adding one avatar.
[0097] In the first embodiment, the selection probability of the added avatar is set to be higher than the selection probability of the existing avatars in order to make it easier for the added avatar to be selected as the avatar to be used, but this does not have to be limited to this. If the appearance of the avatar to be added is similar to that of an existing avatar, the selection probability may be set to be the same as or approximately the same as the selection probability of the avatar with the similar appearance.
[0098] Note that avatars with low average scores may be deleted. In this case, the corresponding avatar and its average score are deleted from the user type table. The corresponding avatar and its selection probability are also deleted from the probability table. In this case, if the selection probabilities of all avatars that have not been deleted are the same, the selection probability is changed (or updated) to a uniform value (1 / n) for the total number of avatars n after deletion.
[0099] Also, when selecting an avatar to use in the above average score selection, if there are multiple avatars with the highest average score, one avatar will be randomly selected from these multiple avatars. In this case too, a probability table is used.
[0100] In this way, the avatar to be used is selected by average score selection or random selection, and the selected avatar is used on the selection screen 110, the chat screen 130, and the talk screen 150. In other words, the selection screen 110, the chat screen 130, and the talk screen 150, each including an image 120 of the selected avatar, are displayed.
[0101] 9 shows an example of a memory map 300 of the storage unit (here, RAM) 22 built into the server 12. The RAM is used as a work area and a buffer area for the CPU 20. As shown in FIG. 9, the storage unit 22 includes a program storage area 302 and a data storage area 304. The control program of this embodiment is stored in the program storage area 302.
[0102] The control programs include a start-up determination program 302a, a main processing program 302b, a communication program 302c, an image generation program 302d, an image output program 302e, an avatar control program 302f, a stay time count program 302g, an avatar selection program 302h, a score calculation program 302i, and an update program 302j.
[0103] The application of the first embodiment described above includes a main processing program 302b, a communication program 302c, an image generation program 302d, an image output program 302e, an avatar control program 302f, a stay time count program 302g, an avatar selection program 302h, a score calculation program 302i, and an update program 302j.
[0104] However, the application can also use a communication program, an image generation program, and an image output program that the user terminal 16 has as its own terminal functions.
[0105] The start-up determination program 302a is a program for determining whether to start up the application of this embodiment 1. The main processing program 302b is a program for executing the main routine processing (overall processing) of the application of this embodiment 1.
[0106] The communication program 302c is a program for communicating (transmitting and receiving data) with external devices, in this first embodiment, the user terminal 16 and the operator terminal 18, via wire or wirelessly.
[0107] Image generation program 302d is a program for generating, using image generation data 304c, image data corresponding to all or part of various screens to be displayed on display device 60 of user terminal 16. However, image generation program 302d is also a program for generating, using image generation data 304c, image data corresponding to various screens to be displayed on display device 30.
[0108] The image output program 302e is a program for outputting the image data generated according to the image generation program 302d to the user terminal 16 or the display device 30.
[0109] The avatar control program 302f is a program for operating each avatar. In this first embodiment, the CPU 20, in accordance with the avatar control program 302f, causes each avatar to speak, perform unconscious actions, and perform greeting actions (including voice output of greetings).
[0110] The stay time counting program 302g is a program for counting the time that the user is viewing the web screen 100 with the avatar image 120 displayed, i.e., the time from when the avatar image 120 is displayed (the selection screen 110 is first displayed) to when the avatar image 120 is hidden (the app is closed).
[0111] The avatar selection program 302h is a program for selecting an avatar (or an avatar image 120) to be displayed on the selection screen 110, the chat screen 130, and the talk screen 150 according to the user of a predetermined service.
[0112] The score calculation program 302i is a program for calculating the current score according to the above-mentioned equation 1. The update program 302j is a program for updating the user type table. Specifically, the update program 302j uses the current score calculated according to the score calculation program 302i to update the average score of the avatar used this time among multiple avatars corresponding to the current user type.
[0113] Although not shown in the figure, the program storage area 302 also stores middleware such as the operating system of the server 12, programs for providing specified services, i.e., for operating a shopping site, and other application programs other than the app of the present application.
[0114] The data storage area 304 also stores transmission data 304a, reception data 304b, image generation data 304c, user information data 304d, number of selections data 304e, user type table data 304f, probability table data 304g, score data 304h, and the like.
[0115] The transmission data 304a is data to be transmitted to the user terminal 16 or the operator terminal 18. The transmission data 304a to be transmitted to the user terminal 16 includes image data for the selection screen 110, chat screen 130, and talk screen 150, image data for the avatar image 120 performing a speaking action, text data regarding the operator's response in the chat, and audio data regarding the operator's response in the talk. The transmission data 304a to be transmitted to the operator terminal 18 includes text data regarding the user's question in the chat and audio data regarding the user's question in the talk.
[0116] The received data 304b is data transmitted from and received by the user terminal 16 or the operator terminal 18. The data transmitted from and received by the user terminal 16 is operation data, text data about the content of the user's question in the chat, and audio data about the content of the user's question in the talk. The data transmitted from and received by the operator terminal 18 is text data about the content of the operator's response in the chat and audio data about the content of the operator's response in the talk.
[0117] Image generation data 304c is data for generating various screens to be displayed on display device 60 of user terminal 16, and includes data for generating images of each avatar, including avatar image 120. The data for generating each avatar image also includes, for each of the multiple avatars, image data of avatar image 120 in a static state, and animation data for unconscious movements and greeting movements. However, image generation data 304c is also data for generating various screens to be displayed on display device 30.
[0118] The user information data 304d is data on user information of users who use a specified service, and in the first embodiment, is acquired from a database managed by the server 12. The database managed by the server 12 is a storage unit (here, a HDD) 22 built into the server 12, or a database communicatively connected to the server 12 directly or via the network 14. As described above, the user information is information on the user ID, the user's name, contact information (address, telephone number, email address), the user's gender, age, nationality, and interests / concerns.
[0119] The selection count data 304e is data on the number of times an avatar has been selected, and is reset when a new avatar is added.
[0120] The user type table data 304f is data about the user type table as shown in Fig. 7. The user type table data 304f is updated when the average score is updated, the type of user is increased, a new avatar is added, or an avatar is deleted.
[0121] The probability table data 304g is data for a probability table such as that shown in FIG. 8. In the probability table, a uniform selection probability is set for each of the multiple avatars prepared in advance. In the example shown in FIG. 8, the uniform selection probability is 1 / n, where n is the total number of avatars. When a new avatar is added (n=n+1), the selection probability for the new avatar is set to 1. At this time, as described above, the selection count data 304e is reset, and when the number of selections exceeds a predetermined number, the selection probabilities for all avatars are set to a uniform value. When an avatar is deleted, if the selection probabilities set for the remaining avatars are the same, the selection probability is changed to a uniform value for the total number of avatars after the deletion.
[0122] Score data 304h is data on all scores calculated up to this point, and is stored so that the type of user and the avatar used when each score was calculated can be identified.
[0123] Furthermore, a timer 304i is provided in the data storage area 304. The timer 304i is a timer for counting the stay time.
[0124] Although not shown in the figure, the data storage area 304 stores other data required to execute the control process, and is provided with other timers (counters) and flags required to execute the control process.
[0125] Also, although not shown in the figure, in order to chat or talk between the user terminal 16 and the operator terminal 18 via the server 12, programs and data for chatting or talking are stored in the memory unit (here, RAM) 52 of the user terminal 16 and the memory unit (here, RAM) 18b of the operator terminal 18.
[0126] Specifically, the program storage area of the storage unit 52 of the user terminal 16 stores a main processing program, an operation detection program, a communication program, an image generation program, an image output program, a sound detection program, a sound output program, a browser program, and the like.
[0127] The main processing program is a program for executing the main routine processing (overall processing) of the application of the user terminal 16 that communicates by chat or talk.
[0128] The operation detection program is a program for detecting operation data input from the input device 58 in accordance with a user's operation and storing the data in the data storage area of the storage unit 52.
[0129] The communication program is a program for communicating with external devices, in this first embodiment, the server 12 and the operator terminal 18 via wire or wirelessly.
[0130] The image generation program is a program for generating image data corresponding to various screens to be displayed on the display device 60 using the image generation data.
[0131] The image output program is a program for outputting to the display device 60 image data received from the server 12 and / or image data generated in accordance with the image generation program.
[0132] The sound detection program is a program for detecting the user's voice input from the microphone 62 .
[0133] The sound output program is a program for outputting received voice data of the operator.
[0134] The browser program is a program for displaying a web screen for any website, including a website for a specified service, and for executing processes related to scrolling the web screen, page navigation, etc., and processes corresponding to operations on the web screen.
[0135] Furthermore, the data storage area of the storage unit 52 stores operation data, transmission data, reception data, image generation data, audio data, and the like.
[0136] The operation data is operation data detected according to the operation detection program. The transmission data is data to be transmitted to the server 12, and is text data about the content of the user's question in the chat and audio data about the content of the user's question in the talk. The reception data is data transmitted from and received by the server 12, and is text data about the content of the operator's response in the chat and audio data about the content of the operator's response in the talk.
[0137] The image generation data is data for generating various screens to be displayed on the display device 60 of the user terminal 16. The voice data is data corresponding to the voice of the user detected according to the sound detection program.
[0138] The program storage area of the storage unit 18b of the operator side terminal 18 stores a main processing program, an operation detection program, a communication program, an image generation program, an image output program, a sound detection program, a sound output program, and the like.
[0139] The main processing program is a program for executing the main routine processing (overall processing) of the application of the operator side terminal 18 that communicates by chat or talk.
[0140] The operation detection program is a program for detecting operation data input from the input device in accordance with an operator's operation and storing the data in the data storage area of the storage unit 18b.
[0141] The communication program is a program for communicating with external devices, in this first embodiment, the server 12 and the user terminal 16 via wired or wireless communication.
[0142] The image generation program is a program for generating, using image generation data, image data corresponding to various screens to be displayed on a display device.
[0143] The image output program is a program for outputting image data received from the server 12 and / or image data generated in accordance with the image generation program to a display device.
[0144] It should be noted that there is no need to select chat or talk or to display an avatar image on the operator side terminal 18. For this reason, the operator side terminal 18 does not display a screen such as the selection screen 110, and does not display an avatar image corresponding to the user on screens such as the chat screen 130 and the talk screen 150. However, an avatar image corresponding to the user may be displayed.
[0145] The sound detection program is a program for detecting the voice of the operator input from the microphone.
[0146] The sound output program is a program for outputting received user voice data.
[0147] A browser program is also stored in the program storage area of storage unit 18b of operator terminal 18. The browser program is a program for executing processes related to displaying a web screen for a website of a predetermined service, scrolling the web screen, moving between pages, and the like, as well as processes corresponding to operations on the web screen.
[0148] Furthermore, the data storage area of storage unit 18b stores operation data, transmission data, reception data, image generation data, audio data, and the like.
[0149] The operation data is operation data detected according to the operation detection program. The transmission data is data transmitted to the server 12, and is text data about the operator's response in the chat and audio data about the operator's response in the talk. The reception data is data transmitted from and received by the server 12, and is text data about the user's question in the chat and audio data about the user's question in the talk.
[0150] The image generation data is data for generating various screens to be displayed on the display device 60 of the operator side terminal 18. The voice data is data corresponding to the voice of the user detected according to the sound detection program.
[0151] 11 to 13 are flow diagrams showing the control processing of the CPU 20 of the server 12. Although not shown in the figures, the CPU 20 executes a process of detecting operation data in parallel with the control processing, and executes a process of receiving transmission data sent from the user terminal 16 and the operator terminal 18. The CPU 20 of the server 12 also executes the control processing for each user terminal 16 that is accessing the shopping site operated by the server 12. The same applies to the update processing (see FIG. 15) described later.
[0152] 11, when the CPU 20 of the server 12 starts the control process, it determines in step S1 whether the application start conditions are met. As described above, the CPU 20 determines that the application start conditions are met when, while a web screen (web screen 100 in the first embodiment) of a predetermined service is displayed, the user instructs the application to start (or execute), there is no operation from the user for a certain period of time, the user designates the same location or a similar location (a nearby location) on the web screen, or the user returns to the same web screen for the predetermined service multiple times (for example, three times).
[0153] If step S1 is "NO," that is, if the conditions for starting the application are not met, the process returns to step S1. On the other hand, if step S1 is "YES," that is, if the conditions for starting the application are met, the application is started in step S3. Note that in the control process, step S3 and onward constitute the main routine process of the application.
[0154] In the next step S5, an avatar selection process (see FIG. 14), which will be described later, is executed, and in step S7, a selection screen 110 such as that shown in FIG. 4 is displayed on the user terminal 16. That is, the CPU 20 generates image data of the selection screen 110 such as that shown in FIG. 4 and outputs (or transmits) it to the user terminal 16. Therefore, on the display device 60 of the user terminal 16, the selection screen 110 is displayed in front of the web screen 100. The same applies to the cases below where a screen is displayed on the user terminal 16.
[0155] However, the image 120 of the avatar selected in the avatar selection process is displayed on the selection screen 110. Similarly, when a chat screen 130 and a talk screen 150, which will be described later, are displayed, the image 120 of the avatar selected in the avatar selection process is also displayed.
[0156] Also, when the application is first started, that is, when the application is started and the selection screen 110 is displayed for the first time, the CPU 20 generates image data for the selection screen 110 that displays an image 120 of a stationary avatar in the display frame 112, transmits the image data to the user terminal 16, and then outputs animation data to the user terminal 16 to cause the avatar to perform a greeting action.
[0157] Furthermore, when the application is launched and the selection screen 110 is displayed for the first time, the CPU 20 starts the timer 304i to begin counting the stay time. However, when the application is launched, the timer 304i is reset.
[0158] Next, in step S9, the avatar image 120 is made to perform a standby action. Here, the CPU 20 transmits animation data for making the avatar perform an unconscious action to the user terminal 16. However, when there is no operation by the user on the selection screen 110, the CPU 20 transmits the animation data for making the avatar perform an unconscious action every few seconds or every few tens of seconds.
[0159] Next, in step S11, it is determined whether or not a button operation has been performed. Here, the CPU 20 determines whether or not operation data indicating that the button 114, button 116, or button 118 on the selection screen 110 has been turned on has been received from the user terminal 16.
[0160] If "NO" in step S11, that is, if there is no button operation, the process returns to step S9. On the other hand, if "YES" in step S11, that is, if there is a button operation, the process determines whether or not the application is to be terminated in step S13. Here, the CPU 20 determines whether or not the operation data indicates that the button 118 is turned on.
[0161] If the answer is "YES" in step S13, that is, if the application is to be terminated, the CPU 20 instructs the user terminal 16 to close the selection screen 110 in step S15, that is, to terminate the application, and then ends counting the stay time in step S17, thereby terminating the control process. However, in step S17, the CPU 20 stops the timer 304i.
[0162] On the other hand, if "NO" in step S13, that is, if the application is not to be terminated, it is determined whether or not it is a chat in step S19. Here, the CPU 20 determines whether or not the operation data indicates that the button 114 is turned on.
[0163] If the answer is "NO" in step S19, that is, if it is not a chat, it is determined to be a talk, and the process proceeds to step S39 shown in Fig. 13. On the other hand, if the answer is "YES" in step S19, that is, if it is a chat, the chat screen 130 shown in Fig. 5 is displayed on the user terminal 16 in step S21 shown in Fig. 12. That is, the CPU 20 generates image data for the chat screen 130 shown in Fig. 5 and transmits it to the user terminal 16.
[0164] If a hardware keyboard is not connected to the user terminal 16, a software keyboard is also displayed along with the chat screen 130. In addition, when the chat screen 130 is displayed on the user terminal 16, the selection screen 110 is not displayed.
[0165] In the next step S23, it is determined whether or not a question has been input. Here, the CPU 20 determines whether or not operation data indicating key input of the question (text) has been received from the user terminal 16.
[0166] If the answer is "YES" in step S23, that is, if a question is being entered, then in step S25, image data is generated to display the characters or character string corresponding to the key input indicated by the operation data as text in the display frame 136, and the image data is sent to the user terminal 16, and the process returns to step S23.
[0167] On the other hand, if the answer is "NO" in step S23, that is, if the question is not being input, then in step S27, it is determined whether the question is to be sent. Here, the CPU 20 determines whether operation data indicating that the question has been finalized (or that the question is to be sent) has been received from the user terminal 16.
[0168] If step S27 is "YES," that is, if a question is to be sent, then in step S29, text data of the question is sent to the operator terminal 18, and the process proceeds to step S31. Note that the text data of the question is data in which the characters or character strings entered by the user for this question are arranged in chronological order. On the other hand, if step S27 is "NO," that is, if a question is not to be sent, the process proceeds to step S31.
[0169] In step S31, it is determined whether or not text data of the response content has been received from the operator terminal 18. If the answer is "YES" in step S31, that is, if the text data of the response content has been received from the operator terminal 18, then in step S33, the avatar is made to speak in accordance with the displayed response content, and the process proceeds to step S35. On the other hand, if the answer is "NO" in step S31, that is, if the text data of the response content has not been received from the operator terminal 18, the process proceeds to step S35.
[0170] In step S33 above, the CPU 20 generates image data that displays the response content in text, character by character, in the display frame 134 and transmits it to the user terminal 16, and also generates image data for the avatar image 120 that changes its lips to speak in accordance with the display and performs speaking actions, and transmits it to the user terminal 16.
[0171] Therefore, on the user terminal 16, the response content is displayed character by character in the display frame 134 of the chat screen 130, and the avatar image 120 making a speaking action in accordance with the display of the response content is displayed in the display frame 132.
[0172] When all of the response content is displayed in display frame 134, all of the character strings in display frame 132 are erased (that is, hidden) so that the question content can be input.
[0173] In step S35, it is determined whether the chat has ended. Here, CPU 20 determines whether operation data indicating that button 138 has been turned on or operation data instructing the end of the chat has been received from operator terminal 18.
[0174] If "NO" in step S35, that is, if the chat has not ended, the process returns to step S23. On the other hand, if "YES" in step S35, that is, if the chat has ended, the process instructs the user terminal 16 to close the chat screen 130 in step S37, and the process returns to step S7 shown in FIG.
[0175] Also, as described above, if the result in step S19 is "NO," then in step S39 shown in Fig. 13, the talk screen 150 as shown in Fig. 6 is displayed on the user terminal 16. That is, the CPU 20 generates image data of the talk screen 150 as shown in Fig. 6 and transmits it to the user terminal 16. Therefore, on the display device 30 of the user terminal 16, the selection screen 110 is hidden, and the talk screen 150 is displayed in front of the web screen 100.
[0176] In the following step S41, it is determined whether or not voice data of the user's question has been received from the user terminal 16. If "NO" in step S41, that is, if voice data of the question has not been received, the process proceeds to step S45.
[0177] On the other hand, if "YES" in step S41, that is, if the voice data of the question has been received, the voice data of the question is transmitted to the operator terminal 18 in step S43, and the process proceeds to step S45.
[0178] That is, the server 12 transmits the voice data of the question received from the user terminal 16 to the operator terminal 18. Therefore, the user's voice is output from a speaker in the operator terminal 18. Meanwhile, the operator terminal 18 transmits the voice data of the operator's response to the server 12.
[0179] In step S45, it is determined whether or not the voice data of the response content has been received. If the answer is "YES" in step S45, that is, if the voice data of the response content has been received, in step S47, image data of avatar image 120 that speaks in accordance with the voice data of the response content is generated.
[0180] In the following step S49, the voice data of the received response content and the image data of the avatar image 120 generated in step S47 are transmitted to the user terminal 16, and the process returns to step S41. Accordingly, in the user terminal 16, the voice of the response content is output from the speaker 34, and the avatar image 120 making a speaking motion in lip-sync with the voice of the response content is displayed in the display frame 152 on the talk screen 150.
[0181] If the answer is "NO" in step S45, that is, if the voice data of the response content has not been received, the CPU 20 determines whether the talk has ended in step S51. Here, the CPU 20 determines whether operation data indicating that the button 154 has been turned on has been received from the user terminal 16, or whether operation data instructing the end of the talk has been received from the operator terminal 18.
[0182] If "NO" in step S51, that is, if the talk has not ended, the process returns to step S41. On the other hand, if "YES" in step S51, that is, if the talk has ended, the process instructs the user terminal 16 to close the talk screen 150 in step S53, and the process returns to step S7.
[0183] Fig. 14 is a flow diagram showing the avatar selection process in step S5 shown in Fig. 11. As shown in Fig. 14, when the avatar selection process starts, the CPU 20 acquires user information in step S81. Here, the CPU 20 acquires user information of a user who has logged in to the shopping site provided by the server 12 from a database managed by the server 12.
[0184] In the next step S83, it is determined whether the number of selections has exceeded a third predetermined number of times (several hundred to several thousand times in the first embodiment). If the answer is "YES" in step S83, that is, if the number of selections has exceeded the third predetermined number of times, then in step S85, the selection probability is set to be uniform for all avatars, and the process proceeds to step S91. That is, in step S85, the selection probability for all avatars is set to 1 / n (n is the total number of avatars).
[0185] On the other hand, if step S83 returns "NO," that is, if the number of selections has not exceeded the third predetermined number of times, then in step S87 it is determined whether the number of selections has exceeded a second predetermined number of times (100 to several hundred times in the first embodiment). If step S87 returns "NO," that is, if the number of selections has not exceeded the second predetermined number of times, the process proceeds to step S91. On the other hand, if step S87 returns "YES," that is, if the number of selections has exceeded the second predetermined number of times, then in step S89 a predetermined value (0.05 in the first embodiment) is subtracted from the selection probability of the added avatar, and the process proceeds to step S91. However, if no avatar has been added, the process of step S89 is skipped.
[0186] In step S91, the avatar selection method is determined. As described above, the avatar selection method is randomly selected from the random selection method and the average score selection method.
[0187] As described above, the selection probability of average score selection is P (0≦P≦1), and the selection probability of random selection is 1 − P. Although not shown in the figures, as described above, the selection probability P for average score selection is set to 0, and when the number of times the avatar is selected exceeds a first predetermined number of times, the selection probability P is set to 0.5, and further, as the number of times the avatar is selected increases, the selection probability P is set to be greater than 0.5.
[0188] 14, in the next step S93, it is determined whether or not the avatar selection method has been determined to be random selection. If the determination in step S93 is "YES," that is, if the avatar selection method has been determined to be random selection, an avatar is selected at random in step S95, and the process proceeds to step S103.
[0189] On the other hand, if the answer is "NO" in step S93, that is, if the avatar selection method is determined to be average score selection, then in step S97, it is determined whether there are avatars with the same average score. Here, CPU 20 refers to the user type table corresponding to user type table data 304f, and determines whether there are avatars with the same average score among the avatars listed corresponding to the user types classified based on the user information.
[0190] If "YES" in step S97, that is, if there are avatars with the same average score, in step S99, one avatar is randomly selected from the avatars with the same average score, and the process proceeds to step S103.
[0191] On the other hand, if "NO" in step S97, that is, if there is no avatar with the same average score, the avatar with the highest average score is selected in step S101, and the process proceeds to step S103.
[0192] In step S103, the number of times the avatar is selected, which is indicated by the number-of-selections data 304e, is incremented by 1. Then, the avatar selection process ends, and the process returns to the control process.
[0193] Fig. 15 is a flow diagram showing an example of update processing. When the control processing ends, the CPU 20 starts the update processing shown in Fig. 15. As shown in Fig. 15, when the update processing starts, the CPU 20 determines in step S201 whether the current user's stay time is longer than M (1800 seconds in the first embodiment). Note that the stay time is the time counted by the timer 304i (count value).
[0194] If step S201 is "NO," that is, if the current user's stay time is not longer than M, proceed to step S205. On the other hand, if step S201 is "YES," that is, if the current user's stay time is longer than M, set coefficient K to 0 in step S203, and proceed to step S205.
[0195] In step S205, the current score is calculated according to Equation 1. At this time, data on the current score is added to score data 304h, with the type of user and the avatar used this time made identifiable.
[0196] In the next step S207, the average score of the avatar used this time among the multiple avatars corresponding to the current user type is calculated. As described above, the average score is calculated by adding the current score to the sum of previously calculated scores for the avatar used this time corresponding to the current user type among the multiple avatars, and dividing the result by the total number of scores calculated for the avatar used this time.
[0197] Then, in step S209, the CPU 20 updates the user type table and ends the update process. In step S209, the CPU 20 updates the user type table data 304f by overwriting the corresponding portion of the user type table with the average score calculated in step S207.
[0198] According to the first embodiment, an avatar is selected using a user type table, so that an avatar according to the type of user is selected, an image of the selected avatar is displayed, and a specified service is provided, so that the avatar can be changed according to the user.
[0199] Furthermore, according to the first embodiment, when the number of avatar selections is small, random selection is determined as the avatar selection method, and various avatars are selected for each user type, thereby updating the average score. Therefore, the reliability of the average score in the user type table can be improved.
[0200] In the first embodiment, in chat and talk, the user terminal 16 and the operator terminal 18 send and receive text data and voice data via the server 12, but communication between the user terminal 16 and the operator terminal 18 may also be performed without going through the server 12.
[0201] In other embodiments, a server (or computer) different from server 12 may perform the avatar selection and update processes.
[0202] <Second Example> In the second embodiment, except for a part of the processing, the control processing is executed in the user terminal 16, and the rest is the same as in the first embodiment, so a duplicated explanation will be omitted.
[0203] In the information processing system 10 of the second embodiment, the application as described in the first embodiment is stored in the user terminal 16 and executed by the user terminal 16.
[0204] Therefore, in the second embodiment, the main processing program stored in the program storage area of the storage unit (RAM) 52 of the user terminal 16 is modified to execute processing similar to the main processing program 302b of the first embodiment. Also, in the second embodiment, the program storage area of the storage unit 52 of the user terminal 16 further stores programs identical to the avatar control program 302f and the staying time count program 302g.
[0205] In the second embodiment, the transmission data stored in the data storage area of the storage unit (RAM) 52 of the user terminal 16 is data to be transmitted to the server 12 and data to be transmitted to the operator terminal 18. The data transmitted to the server 12 is data regarding a request to select an avatar and an instruction to execute an update process. However, data regarding the duration of stay is also transmitted along with the instruction to execute the update process. The data transmitted to the operator terminal 18 is text data regarding the content of the user's question in the chat and audio data regarding the content of the user's question in the talk.
[0206] Similarly, in the second embodiment, the received data stored in the data storage area of the storage unit (RAM) 52 of the user terminal 16 is data transmitted and received from the server 12 and data transmitted and received from the operator terminal 18. The data transmitted and received from the server 12 is data regarding the selection result of the avatar. Furthermore, the data transmitted and received from the operator terminal 18 is text data regarding the operator's response in the chat and audio data regarding the operator's response in the talk.
[0207] In the second embodiment, the image generation data stored in the data storage area of the storage unit (RAM) 52 of the user terminal 16 also includes data for generating the selection screen 110, chat screen 130, and talk screen 150, and data for generating the avatar image 120. The data for generating the avatar image 120 also includes, for each of the multiple avatars, image data of the avatar image 120 in a static state, and animation data of unconscious movements and greeting movements.
[0208] When another avatar is newly added, user terminal 16 updates the application, thereby adding image generation data for generating image 120 of the added avatar.
[0209] Furthermore, in the second embodiment, the data storage area of the storage unit (RAM) 52 of the user terminal 16 is provided with a timer identical to the timer 304i.
[0210] 16 to 19 are flow charts showing the control processing (i.e., the main routine processing) of the CPU 50 of the user terminal 16 of the second embodiment. Although not shown, the CPU 50 executes a process of detecting operation data and a process of receiving transmission data transmitted from the server 12 and the operator terminal 18 in parallel with the control processing.
[0211] In addition, the CPU 20 of the server 12 executes an avatar selection process for each user terminal 16 accessing the shopping site operated by the server 12 in response to a selection request from each user terminal 16, and similarly executes an update process each time in response to an execution instruction from each user terminal 16.
[0212] The control process of the CPU 50 of the user terminal 16 of the second embodiment will be described below with reference to FIGS. 16 to 19, but the same content as that described in the first embodiment will be briefly described.
[0213] 16, when the CPU 50 of the user terminal 16 starts the control process, it determines in step S301 whether the conditions for starting the application are met. If the answer is "NO" in step S301, the process returns to step S1. On the other hand, if the answer is "YES" in step S301, the application is started in step S303.
[0214] In the following step S305, an avatar selection request is sent to the server 12. In the next step S307, it is determined whether or not an avatar selection result has been received from the server 12. If "NO" in step S307, that is, if an avatar selection result has not been received from the server 12, the process returns to step S307.
[0215] On the other hand, if the answer is "YES" in step S307, that is, if the avatar selection result has been received from the server 12, then in step S309 shown in Fig. 17, the selection screen 110 as shown in Fig. 4 is displayed in front of the web screen 100. That is, the CPU 50 generates image data of the selection screen 110 as shown in Fig. 4 and outputs it to the display device 60. The same applies to the case where a screen is displayed on the user terminal 16.
[0216] However, an image 120 of an avatar indicated by the result of the avatar selection is displayed on the selection screen 110. Similarly, when a chat screen 130 and a talk screen 150, which will be described later, are displayed, an image 120 of an avatar indicated by the result of the avatar selection is also displayed.
[0217] Also, as described above, when the app is first launched, that is, when the selection screen 110 is first displayed after the app is launched, the CPU 50 displays the image 120 of the stationary avatar, and then plays animation data to cause the avatar to perform a greeting action.
[0218] Furthermore, when the application is launched and the selection screen 110 is displayed for the first time, the CPU 50 starts a timer to begin counting the stay time. However, the timer is reset when the application is launched.
[0219] Next, in step S311, the CPU 50 causes the avatar image 120 to perform a standby action. Here, the CPU 50 causes the avatar to perform an unconscious action. However, when there is no user operation on the selection screen 110, the CPU 50 causes the avatar to perform the unconscious action every few seconds or every few tens of seconds.
[0220] Next, in step S313, it is determined whether or not a button operation has been performed. Here, the CPU 50 refers to the operation data and determines whether or not the button 114, button 116, or button 118 on the selection screen 110 has been turned on.
[0221] If "NO" in step S313, that is, if there is no button operation, the process returns to step S311. On the other hand, if "YES" in step S313, that is, if there is a button operation, the process determines whether or not the application is to be terminated in step S315. Here, the CPU 50 determines whether or not the operation data indicates that the button 118 is turned on.
[0222] If the determination is "YES" in step S315, the selection screen 110 is closed in step S317, the stay time count is terminated in step S319, and an instruction to execute update processing is sent to the server 12 in step S321, thereby terminating the control processing. As described above, in step S321, the CPU 50 transmits data on the stay time together with an instruction to execute update processing to the server 12.
[0223] On the other hand, if "NO" in step S315, it is determined in step S323 whether or not it is a chat. Here, the CPU 50 determines whether or not the operation data indicates that the button 114 is on. If "NO" in step S323, it is determined to be a talk, and the process proceeds to step S343 shown in Fig. 19. On the other hand, if "YES" in step S323, the chat screen 130 as shown in Fig. 5 is displayed on top of the web screen 100 in step S325 shown in Fig. 18.
[0224] If a hardware keyboard is not connected to the user terminal 16, a software keyboard is also displayed along with the chat screen 130.
[0225] In the next step S327, it is determined whether or not a question has been input. Here, the CPU 50 determines whether or not operation data indicating key input of the question (text) has been received from the user terminal 16.
[0226] If "YES" in step S327, the entered question is displayed in display frame 136 in step S329, and the process returns to step S327. On the other hand, if "NO" in step S327, it is determined in step S331 whether the question is to be transmitted. Here, CPU 50 determines whether the question has been confirmed.
[0227] If "YES" in step S331, in step S333, text data of the question content is transmitted to the operator side terminal 18, and the process proceeds to step S335. On the other hand, if "NO" in step S331, the process proceeds to step S335.
[0228] In step S335, it is determined whether or not the text data of the response content has been received from the operator terminal 18. If "NO" in step S335, the process proceeds to step S339. On the other hand, if "YES" in step S335, the process proceeds to step S337, where the avatar is made to speak in accordance with the displayed response content, and the process proceeds to step S339.
[0229] In step S337 above, CPU 50 displays the response content in text, character by character, in display frame 134, and displays image 120 of the avatar in display frame 132, in which the avatar's lips change to speak in accordance with the display.
[0230] When all of the response content is displayed in display frame 134, all of the character strings in display frame 136 are erased (that is, hidden) so that the question content can be input.
[0231] In step S339, it is determined whether or not the chat has ended. Here, the CPU 50 determines whether or not the button 138 has been turned on or whether or not an instruction to end the chat has been given from the operator terminal 18.
[0232] If "NO" in step S339, the process returns to step S327. On the other hand, if "YES" in step S339, the chat screen 130 is closed in step S341, and the process returns to step S309 shown in FIG.
[0233] 19. Also, as described above, if "NO" in step S323, the talk screen 150 as shown in FIG. 6 is displayed on top of the web screen 100 in step S343 shown in FIG.
[0234] In the next step S345, it is determined whether or not a voice has been input. Here, CPU 50 determines whether or not a voice has been detected by microphone 62. If "NO" in step S345, that is, if a voice has not been input, the process proceeds to step S349. On the other hand, if "YES" in step S345, that is, if a voice has been input, the process proceeds to step S347, where voice data corresponding to the input voice (i.e., voice data of the question) is transmitted to operator terminal 18, and the process proceeds to step S349.
[0235] In step S349, it is determined whether or not the voice data of the response content has been received. If the determination in step S349 is YES, in step S351, the voice data of the response content is output, and in step S353, image data of avatar image 120 making a speech action in accordance with the voice data of the response content is generated and output, and the process returns to step S345.
[0236] If step S349 is "NO", then in step S355 it is determined whether the talk has ended. If step S355 is "NO", that is, if the talk has not ended, the process returns to step S345. On the other hand, if step S355 is "YES", then in step S357 the talk screen 150 is closed and the process returns to step S309.
[0237] In the second embodiment, as in the first embodiment, the avatar can be changed depending on the user.
[0238] Also in the second embodiment, similar to the first embodiment, the reliability of the average score in the user type table can be improved.
[0239] In the second embodiment, the image generation data for generating an avatar image is stored in the user terminal, and the server transmits the avatar selection results to the user terminal, but this is not limited to this. The image generation data for generating an avatar image may not be stored in the user terminal, and the server may transmit the image generation data for generating an avatar image to the user terminal as needed.
[0240] In addition, in each of the above-mentioned embodiments, chat is performed by exchanging text with the operator, but the user terminal may also access a chat service server on a network (cloud) and exchange messages with the chatbot.
[0241] Furthermore, in the above-described embodiments, the operator's voice is output directly from the speaker of the user terminal, but the operator's voice may be converted and output instead. In this case, the avatar can be changed depending on the user, including not only the appearance but also the voice. In this case, avatars with the same appearance but different voices can be treated as different types of avatars.
[0242] Furthermore, in each of the above-described embodiments, the user communicates with the operator through chat or talk, but communication may be performed only through chat (i.e., text exchange) or only through talk (i.e., voice exchange). In another example, the present invention can also be applied to web conferences or video calls, in which an avatar image selected according to the user is displayed during the web conference or video call. The present invention can also be applied to cases in which text or audio spoken by a person is output to a terminal used by another person who is interacting with the person, and an avatar image corresponding to the person is displayed on the terminal used by the other person. However, in other examples, the score determination or calculation method and the user type table may be changed as appropriate.
[0243] Furthermore, in each of the above-described embodiments, an application is started when the start condition is satisfied, but the application may be started when a web screen is displayed.
[0244] Furthermore, in the above embodiments, the score is calculated based on the duration of stay and the purchase amount, but this is not necessarily limited to this. Instead of the duration of stay, the number of questions (number of utterances) asked by the user or the user's utterance rate (i.e., the number of utterances made by the user out of the total number of utterances made by the user and the operator) may be used. Furthermore, instead of the purchase amount, the number of purchases may be used. Furthermore, when services other than e-commerce services, such as shopping sites, are provided, the score is calculated appropriately based on indicators corresponding to the other services.
[0245] Furthermore, the order of processing steps in the flowcharts shown in the above embodiments can be changed if the same results are obtained.
[0246] In addition, the various screens and specific values given in the above embodiments are merely examples and can be changed as needed. For example, in the case of a talk session, instead of displaying a talk screen, it is also possible to display only an avatar image. [Explanation of symbols]
[0247] 10. Information Processing Systems 12...server 14...Network 16...User terminal 18...Operator terminal 18a, 20, 50...CPU 18b, 22, 52...Storage section 24, 54...Communication I / F 26, 56... Input / output I / F 28, 58...input device 30, 60...display device 32, 62...Mike 34, 64...speakers
Claims
1. An information processing device that provides a predetermined service, a first selection means for selecting one character from the plurality of characters based on user type information describing an evaluation value determined based on usage situations of the plurality of users who use the predetermined service, for each of the plurality of characters corresponding to classification information that classifies users who use the predetermined service, when a character corresponding to an operator who interacts with the user is displayed on the user terminal of the user; An information processing device comprising a display control means for displaying the one selected character on the user terminal.
2. 2. The information processing apparatus according to claim 1, wherein said first selection means selects said character based on the magnitude of an evaluation value written corresponding to each of a plurality of characters included in said user type information.
3. 3. The information processing device according to claim 2, wherein the first selection means randomly selects the one character from the plurality of characters having the same magnitude of some or all of the evaluation values written corresponding to each of the plurality of characters when the magnitudes of some or all of the evaluation values written corresponding to each of the plurality of characters are the same.
4. a second selection means for randomly selecting the one character regardless of the user type information when a character corresponding to an operator who interacts with the user is displayed on the user terminal of the user; and further comprising a selection method determination means for determining the selection by the first selection means or the second selection means; 4. The information processing apparatus according to claim 3, wherein said display control means causes said one character selected by said first selection means or said second selection means determined by said selection method determination means to be displayed on said user terminal.
5. a second storage means for storing probability information describing a selection probability set corresponding to each of the plurality of characters; 5. The information processing apparatus according to claim 3, wherein when the number of times that said character is selected exceeds a predetermined number of times, the selection probabilities corresponding to each of said plurality of characters are all set to be the same.
6. The information processing device according to claim 1 , wherein the usage status includes a period from when the display of the one character starts to when the display of the one character ends.
7. The information processing device according to claim 1 , wherein the usage status includes a number of utterances or a rate of utterances of the user.
8. 8. The information processing apparatus according to claim 1, further comprising an update unit that updates the evaluation value when display of the character is terminated.
9. A control program executed by an information processing device that provides a predetermined service, A processor of the information processing device a selection step of selecting one character from the plurality of characters based on user type information describing an evaluation value determined based on usage situations of the plurality of users who use the predetermined service, for each of the plurality of characters corresponding to classification information that classifies users who use the predetermined service, when a character corresponding to an operator who interacts with the user is displayed on the user terminal of the user; a control program that executes a display control step of displaying the one selected character on the user terminal;
10. A method for controlling an information processing device that provides a predetermined service, comprising: (a) when a character corresponding to an operator who interacts with a user is displayed on the user terminal of the user, selecting one character from the plurality of characters based on user type information describing an evaluation value determined based on usage situations of the plurality of users who use the predetermined service for each of the plurality of characters corresponding to classification information that classifies users who use the predetermined service; (b) a control method including a step of displaying an image of the one selected character on the user terminal.
11. An information processing system including an information processing device that provides a predetermined service and a user terminal that receives the predetermined service, The information processing device includes: a selection means for selecting one character corresponding to an operator who will interact with a user from a plurality of characters in response to a request from the user terminal, based on user type information describing an evaluation value determined based on usage situations of a plurality of users who use the predetermined service for each of the plurality of characters in response to classification information that classifies users who use the predetermined service; a transmitting means for transmitting information of the character selected by the selecting means to the user terminal; The user terminal includes: a request means for requesting the information processing device to select one of the characters prior to displaying the character; a receiving means for receiving the character information transmitted by the transmitting means; and An information processing system comprising a display means for displaying a character indicated by the character information received by the receiving means.
Citation Information
Patent Citations
Virtual character fostering server, virtual character fostering method and mechanically readable recording medium recorded with program realizing the method
JP2002032009A
Device, method and program for avatar allocation
JP2010146075A
Electronic commerce type order-taking support device, control program for management side communication terminal and control program for user side communication terminal
JP2011215704A
Sales system and computer program for the same
JP2012008638A
Avatar display control method
JP2020098462A