Information processing device, control program, control method, and information processing system
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-08-14
- Publication Date
- 2026-08-14
AI Technical Summary
【0018】 この発明によれば、利用者に応じてキャラクタを変えることができる。
Smart Images

Figure 0007905076000001 
Figure 0007905076000002 
Figure 0007905076000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a control program, a control method, and an information processing system, and more particularly, for example, to an information processing apparatus, a control program, a control method, and an information processing system in which a user and an operator communicate by chat or talk.
Background Art
[0002] An example of this type of conventional information processing apparatus is disclosed in Patent Document 1. In the communication system disclosed in Patent Document 1, in a state where the tele-avatar distance mode is set, the operator terminal converts the expression and gesture of the operator into coordinate data and transmits it to the response terminal together with the response voice data. The response terminal generates avatar response information in which the expression and gesture of the operator are reflected in the expression and gesture of the avatar based on the coordinate data sent from the operator terminal, and displays it to the user.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the above Patent Document 1, there is only one avatar displayed on the response terminal, and it was not possible to switch the avatar according to the user. There is room for improvement in displaying an avatar that is considered appropriate according to the user. )]]
[0005] Therefore, the main object of this invention is to provide a novel information processing apparatus, control program, control method, and information processing system.
[0006] Another object of this invention is to provide an information processing device, a control program, a control method, and an information processing system that can change the character according to the user. [Means for solving the problem]
[0007] The first invention is an information processing device that provides a predetermined service, and when displaying a character corresponding to an operator who interacts with a user on the user's terminal, the information processing device comprises a first selection means for selecting one character from a plurality of characters based on user type information which contains an evaluation value determined based on the usage status of a plurality of users who use the predetermined service, corresponding to classification information that classifies users who use the predetermined service, and a display control means for displaying the selected one character on the user's terminal.
[0008] The second invention is subordinate to the first invention, and the first selection means selects a character based on the magnitude of an evaluation value described corresponding to each of a plurality of characters included in the user type information.
[0009] The third invention is dependent on the second invention, and the first selection means randomly selects one of the multiple characters whose evaluation values are partially or entirely the same in size when some or all of the evaluation values corresponding to each of the multiple characters are the same.
[0010] The fourth invention is subordinate to the third invention and further comprises a second selection means for randomly selecting a character corresponding to an operator interacting with a user, regardless of user type information, 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's terminal.
[0011] The fifth invention is dependent on the third or fourth invention and further comprises a second storage means for storing probability information corresponding to each of a plurality of characters, which includes a selection probability set for each of the plurality of characters, and when the number of times a character has been selected exceeds a predetermined number of times, the selection probabilities corresponding to each of the plurality of characters are all set to the same value.
[0012] The sixth invention is dependent on any of the first to fifth inventions, and the usage includes the period from the time the character display started to the time it ended.
[0013] The seventh invention is dependent on any of the first to sixth inventions, and the usage includes the number of utterances or utterance rate by the user.
[0014] The eighth invention is dependent on any of the first to seventh inventions and further comprises an update means for updating the evaluation value when the display of the character is finished.
[0015] The ninth invention is a control program executed in an information processing device that provides a predetermined service, which causes the processor of the information processing device to display a character corresponding to an operator who interacts with a user on the user's terminal, and to select a character based on user type information that describes an evaluation value determined based on the usage status of multiple users who use the predetermined service, corresponding to classification information that classifies users who use the predetermined service, and to display the selected character on the user's terminal.
[0016] The tenth invention is a control method for an information processing device that provides a predetermined service, the control method comprising: (a) when displaying a character corresponding to an operator who interacts with a user on the user's terminal, selecting a character based on user type information which describes an evaluation value determined based on the usage status of multiple users who use the predetermined service, for each of a plurality of characters corresponding to classification information which classifies users who use the predetermined service; and (b) displaying the selected character on the user's terminal.
[0017] The eleventh invention is an information processing system comprising an information processing device that provides a predetermined service and a user terminal that receives the predetermined service, wherein the information processing device, in response to a request from the user terminal, selects one character corresponding to an operator that interacts with the user from a plurality of characters based on user type information which describes an evaluation value determined based on the usage status of a plurality of users that use the predetermined service, for each of a plurality of characters corresponding to classification information that classifies users that use the predetermined service, and transmits information of the character selected by the selection means to the user terminal, and the user terminal comprises a request means for requesting the information processing device to select a character prior to displaying the character, a receiving means for receiving information of the character transmitted by the transmission means, and a display means for displaying the character indicated by the information of the character received by the receiving means, in order to display the character. [Effects of the Invention]
[0018] According to this invention, the characters can be changed according to the user.
[0019] The above-mentioned objectives, other objectives, features, and advantages of this invention will become even clearer from the following detailed description of embodiments with reference to the drawings. [Brief explanation of the drawing]
[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. 1. [Figure 3] FIG. 3 is a block diagram showing the electrical configuration of the user-side terminal shown in FIG. 1. [Figure 4] FIG. 4 is a diagram showing an example of a screen displayed on the display device of the user-side terminal. [Figure 5] FIG. 5 is a diagram showing another example of a screen displayed on the display device of the user-side terminal. [Figure 6] FIG. 6 is a diagram showing another example of a screen displayed on the display device of the user-side terminal. [Figure 7] FIG. 7 is a diagram showing an example of a user type table. [Figure 8] FIG. 8 is a diagram showing an example of a 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. 2. [Figure 10] FIG. 10 is a diagram showing an example of the specific content of the storage area of the RAM shown in FIG. 9. [Figure 11] FIG. 11 is a flowchart showing a first part of an example of the control process of the CPU of the server shown in FIG. 2. [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, which follows FIG. 11. [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, which follows FIG. 11. [Figure 14] FIG. 14 is a flowchart showing an example of the avatar selection process of the CPU of the server shown in FIG. 2. [Figure 15] FIG. 15 is a flowchart showing an example of the update process of the CPU of the server shown in FIG. 2. [Figure 16] FIG. 16 is a flowchart showing a first part of an example of the control process of the CPU of the user-side terminal according to the second embodiment. [Figure 17]Figure 17 is a flowchart showing a second part of an example of the CPU control process of the user-side terminal in the second embodiment, and is a subsequent flowchart to Figure 16. [Figure 18] Figure 18 is a flowchart showing a third part of an example of the CPU control process of the user-side terminal in the second embodiment, and is a follow-up to Figure 17. [Figure 19] Figure 19 is a flowchart showing a fourth part of an example of the CPU control process of the user-side terminal in the second embodiment, and is a follow-up to Figure 17. [Modes for carrying out the invention]
[0021] <First Example> Referring to Figure 1, the information processing system 10 of this first embodiment includes a server 12, which is communicated via a network 14 to a plurality of user-side terminals 16 and a plurality of operator-side terminals 18.
[0022] Multiple user-side terminals 16 are used by different users, and multiple operator-side terminals 18 are used by different operators. In this first embodiment, a user is a person who uses a predetermined service provided by the server 12. An operator is a person who responds to a user.
[0023] Server 12 is an information processing device, and a general-purpose server can be used. In the first embodiment, Server 12 is provided for operating a site that provides a predetermined service.
[0024] Network 14 consists 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 can include public telephone networks, mobile phone networks, wired LANs, wireless LANs, CATV (Cable Television), etc.
[0025] The user terminal 16 is an information processing device different from the server 12, and one example is a smartphone equipped with a browser function. In other embodiments, a general-purpose terminal such as a tablet PC, notebook PC, or desktop PC can also be used as the user terminal 16.
[0026] The operator-side terminal 18 is an information processing device different from the server 12 and the user-side terminal 16. For example, it may be a notebook PC or a desktop PC, but in other embodiments, a general-purpose terminal such as a smartphone or tablet PC may be used. Therefore, the operator-side terminal 18 includes a CPU 18a and a storage unit (including HDD, ROM, and RAM) 18b, as well as components such as a communication interface and an input / output interface.
[0027] Figure 2 is a block diagram showing the electrical configuration of the server 12 shown in Figure 1. As shown in Figure 2, the 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 the overall control of the server 12. However, instead of the CPU 20, a System-on-a-chip (SoC) that includes multiple functions such as CPU function and GPU (Graphics Processing Unit) function may be provided. The storage unit 22 includes an HDD, ROM, and RAM. However, non-volatile memory such as an SSD may be used instead of the HDD, or in addition to the HDD, ROM, and RAM.
[0029] The communication interface 24 has a wired interface for sending 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 wireless LAN or Bluetooth® can also be used as the communication interface 24.
[0030] Input / output interface 26 is connected to an input device 28 and a display device 30. The input device 28 can be a keyboard or a computer mouse. The display device 30 is an LCD or an organic EL display.
[0031] The input / output interface 26 outputs operation data (or operation information) received 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] Note that the electrical configuration of server 12 shown in Figure 2 is just one example and is not limited to other configurations.
[0033] Figure 3 is a block diagram showing the electrical configuration of the user terminal 16 shown in Figure 1. As shown in Figure 3, the user terminal 16 includes a CPU 50, which is connected to the storage unit 52, communication interface 54, and input / output interface 56 via an internal bus.
[0034] The CPU 50 is responsible for the overall control of the user terminal 16. However, instead of the CPU 50, an SoC (System on a Chip) including multiple functions such as CPU and GPU functions may be provided. The storage unit 52 includes an HDD, ROM, and RAM. However, instead of the HDD, or in addition to the HDD, ROM, and RAM, non-volatile memory such as an SSD may be used.
[0035] The communication interface 54 has a wired interface for sending 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 wireless LAN or Bluetooth® can also be used as the communication interface 54.
[0036] The input / output interface 56 is connected to an input device 58, a display device 60, a microphone 62, and a speaker 64. The input device 58 consists of 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, electromagnetic induction, resistive, or infrared touch panel.
[0037] However, if a notebook PC or desktop PC is used as the user terminal 16, the input device 58 is a keyboard and a computer mouse. Furthermore, a touch panel may also be provided.
[0038] The input / output interface 56 converts the user's voice detected by the microphone 62 into digital audio data and outputs it to the CPU 50. The CPU 50 then converts the audio data output into an analog audio signal and outputs it through the speaker 64. However, in the first embodiment, the audio data output from the CPU 50 is the audio data received from the operator terminal 18 via the server 12. The input / output interface 56 also 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 the display device 60 to display a screen or image corresponding to the image data. However, in some cases, image data received from an external computer (for example, the server 12 or the operator terminal 18) may be output by the CPU 50.
[0039] Note that the electrical configuration of the user terminal 16 shown in Figure 3 is just an example and is not limited to that configuration. In other embodiments, the user terminal 16 may be equipped with a camera. Also, 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 network, or a mobile phone network and a public telephone network. However, 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 in the first embodiment will be described in detail below. However, since the operation of each user terminal 16 is the same, only one of the multiple terminals will be described, and the descriptions of the other user terminals 16 will be omitted. Similarly, since the operation of each operator terminal 18 is the same, only one of the multiple terminals will be described, and the descriptions of the other operator terminals 18 will be omitted.
[0042] In such an information processing system 10, when a user is using a predetermined 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 predetermined service provided by the server 12, an application (hereinafter simply referred to as "app") is launched that allows the user to communicate with an operator via chat or talk, provided that certain conditions are met.
[0043] For example, the specified service is online shopping, and users can conduct e-commerce such as searching for products and purchasing desired products on the web screen 100. Therefore, the web screen 100 is a web page screen included in the website of the specified service (in the first embodiment, a shopping site).
[0044] Since online shopping itself is already well-known, we will omit the explanation of the processing performed by server 12 and user terminal 16 related to online shopping.
[0045] Furthermore, the operator who responds to the user is the person with whom the user communicates via chat or talk. One operator is matched from among several operators by the server 12, and the user's user-side terminal 16 and the operator's operator-side terminal 18 of the operator matched with that user communicate via the server 12.
[0046] In addition, for online shopping, each operator responds to users on the matched user terminal 16 via chat or talk. Specifically, each operator responds to user inquiries and provides customer service to those users.
[0047] Figure 4 shows an example where the app selection screen 110 is displayed in front of the web screen 100. However, the web screen 100 is displayed on the display device 60 of the user terminal 16 by launching a web browser and entering a predetermined URL. As described above, the web screen 100 is the screen of the website (or web page) of a predetermined service. Figure 4 shows an example of the web screen 100 of an online shopping site. The selection screen 110 is the initial screen that is displayed when an app is launched, etc.
[0048] As described above, the application is launched when certain conditions are met. In this first embodiment, the conditions are that the user instructs the application to launch (or run) while the web screen of a predetermined service (web screen 100 in this first embodiment) is displayed, that there is no user interaction for a predetermined time (30 seconds in this first embodiment), that the user is pointing to the same or a similar location (a nearby location) on the web screen, and that the user returns to the same web screen multiple times (for example, three times) on the predetermined service.
[0049] Figure 4 shows an example of how the web screen 100 is displayed on the display device 60 when the user terminal 16 is a smartphone. Furthermore, the web screen 100 is just one example; screens for other commercial transaction services, such as flea markets or auctions, may also be displayed.
[0050] The selection screen 110 has a display frame 112 at the top of the screen, and below the 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) to 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 chat or talk partner (the person the user is interacting with). Therefore, the avatar image 120 is a character modeled after a human, and in this first embodiment, it is an image of the head and neck.
[0052] However, avatar image 120 may be an image of an animal or robot, an anime character, a game character, etc. Also, avatar image 120 may be an image of the upper body or the whole body of the character.
[0053] Furthermore, in this first embodiment, when chatting or talking, the avatar image 120 speaks or performs a speaking action in accordance with the display of the operator's chat response or the output of the response (or spoken content) in the talk. In this first embodiment, since the avatar image 120 displays the head and neck, during a speaking action, the lips of the avatar image 120 move in accordance with the output of the text of the chat response or the voice of the response in the talk. Thus, it is represented as if the avatar is actually speaking.
[0054] On the selection screen 110, the avatar performs natural actions (hereinafter referred to as "unconscious actions"). Typical examples of unconscious actions include blinking and breathing. In addition to such physiological actions, actions due to habits are also included in unconscious actions. For example, actions due to habits include touching one's hair, touching one's face, and biting one's nails. However, when the selection screen 110 is displayed, the avatar image 120 is initially displayed in a static state, and then it is displayed in a manner that greets the user (for example, by bowing).
[0055] Therefore, on the selection screen 110, an image 120 of a static avatar is displayed, followed by an image 120 of an avatar performing an unconscious action or a greeting action. As this is not essential to the present invention, a detailed explanation will be omitted, but as an example, the display of the static avatar image 120 is performed by outputting (or playing back) pre-stored static image data. The display of the avatar images 120 performing unconscious actions and greeting actions is performed by playing back pre-stored video (animation) data.
[0056] Button 114 is a button for the user to chat with the operator. Chat means communicating in real time through text exchange, and in this first embodiment, text data is sent and received between the user terminal 16 and the operator terminal 18 via the server 12 based on the actions of the user and the operator.
[0057] Button 116 is a button for the user to talk to the operator. Talking means communicating in real time through voice exchange, and in this first embodiment, voice data is sent and received between the user terminal 16 and the operator terminal 18 via the server 12 based on the speech of the user and the operator.
[0058] Button 118 is used to close the app. When button 118 is pressed, the app is closed, and the selection screen 110 is hidden on the user's device 16.
[0059] Figure 5 shows an example of a state where the chat screen 130 is displayed in front of the web screen 100. When button 114 is turned on in the selection screen 110, the chat screen 130 shown in Figure 5 is displayed on the display device 60 of the user terminal 16.
[0060] The chat screen 130 has a display frame 132 at the top of the screen, and the avatar image 120 is displayed within the display frame 132. Below the display frame 132, display frames 134 and 136 are arranged vertically, and a button 138 is provided below the display frame 136.
[0061] Display frame 134 is a frame image for displaying the operator's response. The operator's response is the specific content of the response (or answer) to the user's inquiry (or question), but also includes greetings and questions directed at the user. In other words, the text data sent from the operator's terminal 18 is displayed in display frame 134. Although a detailed explanation is omitted, in the case of chat, the text data sent from the operator's terminal 18 is data about what the operator typed using the input device 58.
[0062] Display frame 136 is a frame image for displaying the user's inquiry (question). In the case of chat, the user's question is entered using the input device 28 on the user's terminal 16. Although not shown in Figure 5, on smartphones and tablet PCs, a software keyboard is displayed separately from the chat screen 130, allowing users to input characters (text) by touch or to indicate that text input is complete (send the question) by touch. When the instruction to send the question is given, the text data of the question is sent to the operator's terminal 18. Therefore, the text of the question is displayed on the display device of the operator's terminal 18. Although not shown in the illustration, in chat, a chat screen capable of displaying both the response and the question is displayed on the display device of the operator's terminal 18.
[0063] Button 138 is used to end the chat. When button 138 is turned on, the chat ends, the chat screen 130 is hidden on the user's terminal 16, and the selection screen 110 is displayed in front of the web screen 100.
[0064] Figure 6 shows an example of the chat screen 150 being displayed in front of the web screen 100. When button 116 is turned on on the selection screen 110, the chat screen 150 shown in Figure 6 is displayed.
[0065] On the chat screen 150, a display frame 152 is provided at the top of the screen, and the avatar image 120 is displayed within the display frame 152. Additionally, a button 154 is provided at the bottom of the screen, below the display frame 152.
[0066] While a detailed explanation is omitted, in the case of a talk session, the audio data transmitted from the operator's terminal 18 is data about the voice input by the operator through the microphone. The audio data transmitted from the operator's terminal 18 is received by the user's terminal 16 and output from the speaker 64.
[0067] In the case of a talk session, the audio data transmitted from the user terminal 16 is data about the voice input by the user through the microphone 62. The audio data transmitted from the user terminal 16 is received by the operator terminal 18 and output from the speaker.
[0068] Button 154 is used to end the chat. When button 154 is turned on, the chat ends, the chat screen 150 is hidden on the user's 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-synced to the voice output from the speaker 64. Therefore, the avatar image 120 is represented as speaking.
[0070] As mentioned above, when the app is launched, an avatar image 120 is displayed, and the user can choose to chat or talk.
[0071] Generally, there is only one avatar image (one type) and it cannot be changed depending on the user. For shopping site operators, using appropriate avatars for each user is important for increasing user purchasing intent.
[0072] Therefore, one might consider having users select their own avatar, but this would impose a burden on users and be inconvenient.
[0073] Therefore, in this first embodiment, the avatar is changed according to the type of user. Furthermore, by performing a predetermined evaluation of the avatar used, a more appropriate avatar is used for the user.
[0074] Figure 7 shows an example of a user type table (corresponding to "user type information"). The user type table is used to classify users into one of several types and to select an avatar that is deemed appropriate for the classified type (hereinafter referred to as "average score selection").
[0075] As shown in Figure 7, the user type table includes gender, age group, nationality, and interests, corresponding to each type. In this first embodiment, users are classified by four pieces of information (hereinafter referred to as "classification information"): gender, age group, nationality, and interests.
[0076] In this embodiment, the user type is classified based on four pieces of information, but it is also possible to classify the user type based on at least one of the four pieces of information mentioned above.
[0077] Furthermore, all four pieces of information are examples and can be replaced or added to with other information. For example, instead of nationality, the place of residence (prefecture or region) may be listed. Other information that may be included includes blood type, birth month, personality, special skills, and hobbies.
[0078] The more information is included in the user type table, the more diverse the range of users you can select avatars for.
[0079] The "Type" column contains identification information that identifies the type of user. In the example shown in Figure 7, the identification information is listed as Type 1, Type 2, Type 3, Type 4, ... This is just one example; the identification information may be set to be identifiable using numbers or / and letters.
[0080] The gender field will be filled in as either male or female. The age range field will be filled in assorted age groups of 10 years. However, this is just an example, and you may further subdivide the age range (for example, into 5-year increments) or broadly into 20-year increments.
[0081] The nationality field will state Japan, but other nationalities may also be listed. The interests field will list areas of interest such as subculture, fashion, makeup, and healthcare. However, these are just examples and are not limited to specific areas of interest; they will be determined as appropriate depending on the nature of the service, for example, the products traded on the shopping site.
[0082] When a user accesses the shopping site on the server 12 using the user terminal 16, the user's type is classified based on the user's information (hereinafter, "user information"). However, user information includes the user ID, user's name, contact information (address, telephone number, email address), gender, age group (or age), nationality, and information about interests.
[0083] Server 12 obtains user information of users accessing the shopping site and classifies the users into categories that have classification information that matches all of the gender, age group, nationality, and interests included in the obtained user information.
[0084] In this first embodiment, each user's user information is stored in a database managed by server 12, and the user information for the current user is retrieved from this database. The database managed by server 12 is either a storage unit (in this case, an HDD) 22 built into server 12, or a database that is directly connected to server 12 or communicated via network 14.
[0085] Furthermore, if a user's gender, age group, nationality, and interests all match the classification information in the user's profile, this information will be added to the user type table as new classification information.
[0086] Furthermore, the user type table lists the average score for each of the multiple avatars corresponding to each user type. Here, the score is an evaluation value that assesses the appropriateness of the avatar according to the user type. Specific avatar images other than Avatar Image 120 are omitted, but each of the multiple avatars has a different appearance. The user type table also lists the identification information (for example, the name) for each avatar. In the user type table shown in Figure 7, the identification information for the avatars is listed as Avatar 1, Avatar 2, Avatar 3, Avatar 4, ...
[0087] In this embodiment, the score is calculated based on the user's usage of the shopping site. However, since the score is an evaluation value for assessing the appropriateness of the avatar, as shown in Equation 1, it is calculated based on the time the avatar image 120 was displayed during the time the user was browsing and / or purchasing products on the shopping site (hereinafter referred to as "stay time") and the purchase amount of the products. However, stay time is in seconds, and purchase amount is in yen. The coefficients K and L are set as appropriate. For example, if stay time and purchase amount are given equal weight, coefficients K and L are set to the same value. However, if stay time exceeds M (for example, 1800 seconds), coefficient K is set to 0. This is because if the stay time is too long, it is considered that there is a low correlation between the display of the avatar image 120 and the length of stay time.
[0088] [Mathematics 1] Score = K × Time spent + L × Amount spent The calculated score is stored in a way that identifies the user type and the avatar used. When a score is calculated, the average score corresponding to the user type and the avatar used is calculated (or updated). In other words, the user type table is updated.
[0089] Although not shown in the diagram, the initial user type table has all average scores set to 0, and the user type table is updated each time a score is calculated. However, when the user finishes viewing the avatar image 120 on the shopping site, that is, when they close the app and close 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 duration of stay and / or purchase amount is large. Therefore, when selecting an avatar to use in the average score selection, the avatar with the highest average score among multiple avatars will be selected. However, in the user type table, what is referenced are the multiple average scores listed corresponding to the classified user type.
[0091] However, in the initial user type table, all average scores are set to 0, so it is not possible to select an avatar to use when selecting an average score. In this case, an avatar is selected randomly (hereinafter referred to as "random selection").
[0092] Furthermore, if the number of times a score is calculated, that is, the number of times an avatar is selected (hereinafter referred to as "number of selections"), is small, there will be many entries in the user type table where the average score is 0. Therefore, the reliability of the average score, and thus the user type table, is low, and it is unlikely that an appropriate avatar will be selected for each user when an avatar is selected based on the average score.
[0093] Therefore, in this first embodiment, the avatar to be used is selected by random selection until the number of times an avatar has been selected exceeds a first predetermined number (for example, several hundred to several thousand times). After the number of times an avatar has been selected exceeds the first predetermined number, the method of selecting an avatar is randomly selected as either average score selection or 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 an avatar has been selected exceeds the first predetermined number, the selection probability P for average score selection is set to 0, and once the number of times an avatar has been selected exceeds the first predetermined number, the selection probability P is set to 0.5, and further, as the number of times an avatar has been selected increases, the selection probability P is set to be greater than 0.5. In other words, as the confidence level of the user type table increases, the probability of average score selection being selected increases.
[0094] In addition, in random selection, avatars are selected using selection probabilities set in a probability table. Figure 8 shows an example of a probability table. In the probability table shown in Figure 8, a uniform selection probability (1 / n) is set for each of the (total number n) avatars. In the first embodiment, in the initial probability table, the selection probabilities of all avatars are set uniformly.
[0095] When a new avatar is added, the selection probability of that new avatar is set to 1 to increase its likelihood of being selected as the avatar to be used, in order to improve the confidence of the average score for that new avatar. However, in this case, only one avatar is added. The selection probability of the new avatar is decreased by a predetermined value (e.g., 0.05) each time the number of times an avatar has been selected increases by a second predetermined number (e.g., from a hundred to several hundred times), and when the number of times an avatar has been selected exceeds a third predetermined number (e.g., from several hundred to several thousand times), the selection probability is set uniformly for all avatars. In this way, the probability table is updated. However, this is just an example and does not need to be limited. Also, 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 avatars will be set to a value greater than the selection probability of the already existing (registered or provided) avatars, but less than 1, in order to increase the likelihood of the added avatars being selected as the avatar to be used. The selection probability of the added avatars will gradually decrease, just as when adding a single avatar.
[0097] Furthermore, in this first embodiment, the selection probability of the added avatar is set to be higher than that of an already existing avatar in order to make it more likely to be selected as the avatar to be used, but it is not limited to this. If the appearance of the added avatar is similar to that of an already existing avatar, the selection probability may be set to be the same as or approximately the same as that of the avatar with a similar appearance.
[0098] In addition, avatars with low average scores may be deleted. In this case, the corresponding avatar and its average score will be removed from the user type table. Also, the corresponding avatar and its selection probability will be removed from the probability table. If the selection probabilities of all avatars that have not been deleted are the same, the selection probabilities will be changed (or updated) to a uniform value (1 / n) for the total number of avatars n after deletion.
[0099] Furthermore, when selecting an avatar using the average score mentioned above, if there are multiple avatars with the highest average score, one avatar will be randomly selected from these multiple avatars. In this case as well, a probability table is used.
[0100] In this way, an avatar is selected by either average score selection or random selection, and the selected avatar is used on the selection screen 110, chat screen 130, and talk screen 150. That is, the selection screen 110, chat screen 130, and talk screen 150 are displayed, including the image 120 of the selected avatar.
[0101] Figure 9 shows an example of the memory map 300 of the storage unit (here, RAM) 22 built into the server 12. The RAM is used as the work area and buffer area for the CPU 20. As shown in Figure 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 program includes a startup 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 counting program 302g, an avatar selection program 302h, a score calculation program 302i, and an update program 302j, among others.
[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 counting program 302g, an avatar selection program 302h, a score calculation program 302i, and an update program 302j, among others.
[0104] However, the app can also utilize the communication program, image generation program, and image output program that the user's device 16 has built-in as a function of the device itself.
[0105] The startup determination program 302a is a program for determining whether or not to start the application of this first embodiment. The main processing program 302b is a program for executing the processing (overall processing) of the main routine of the application of this first embodiment.
[0106] The communication program 302c is a program for communicating (sending and receiving data) with external devices, in this first embodiment, the user terminal 16 and the operator terminal 18, via wired or wireless means.
[0107] The image generation program 302d is a program for generating image data corresponding to all or part of various screens to be displayed on the display device 60 of the user terminal 16, using image generation data 304c. However, the image generation program 302d is also a program for generating image data corresponding to various screens to be displayed on the display device 30, using image generation data 304c.
[0108] The image output program 302e is a program for outputting 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 causes each avatar to perform speech actions, unconscious actions, and greeting actions (including voice output of greetings) according to the avatar control program 302f.
[0110] The dwell time counting program 302g is a program that counts the time a user spends viewing a web screen 100 with the avatar image 120 displayed, that is, the time from when the avatar image 120 is displayed (the initial selection screen 110 is displayed) until the avatar image 120 is hidden (the application is closed).
[0111] The avatar selection program 302h is a program for selecting an avatar (or avatar image 120) to be displayed on the selection screen 110, chat screen 130, and talk screen 150, according to the user of a given 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 in this instance among multiple avatars corresponding to the user type in this instance.
[0113] Although not shown in the diagram, the program storage area 302 also stores middleware such as the operating system of the server 12, a program for providing a predetermined service, i.e., a program for operating a shopping site, and other application programs other than the application of this invention.
[0114] Furthermore, the data storage area 304 stores transmitted data 304a, received data 304b, image generation data 304c, user information data 304d, selection count data 304e, user type table data 304f, probability table data 304g, and score data 304h.
[0115] The transmitted data 304a is data to be sent to the user terminal 16 or the operator terminal 18. The transmitted data 304a sent to the user terminal 16 includes image data of the selection screen 110, the chat screen 130, and the talk screen 150, image data of the avatar image 120 that performs the speaking action, text data of the operator's response in the chat, and audio data of the operator's response in the talk. The transmitted data 304a sent to the operator terminal 18 includes text data of the user's question in the chat and audio data of the user's question in the talk.
[0116] Received data 304b is data transmitted and received from either the user terminal 16 or the operator terminal 18. The data transmitted and received from the user terminal 16 includes operation data, text data about the user's questions in the chat, and audio data about the user's questions in the talk. The data transmitted and received from the operator terminal 18 includes text data about the operator's responses in the chat and audio data about the operator's responses in the talk.
[0117] The image generation data 304c is data for generating various screens displayed on the display device 60 of the user terminal 16, and includes data for generating images of each avatar, including the avatar image 120. Furthermore, the data for generating images of each avatar includes, for each of the multiple avatars, static image data of the avatar image 120, animation data for unconscious movements and greeting movements. However, the image generation data 304c is also data for generating various screens displayed on the display device 30.
[0118] User information data 304d is data about user information of users who use a predetermined service, and in the first embodiment, it is obtained from a database managed by server 12. The database managed by server 12 is a storage unit (in this case, HDD) 22 built into server 12, or a database that is connected to server 12 directly or via network 14 for communication. As described above, user information includes user ID, user name, contact information (address, telephone number, email address), user gender, age, nationality, and information about interests.
[0119] The selection count data 304e is the data for the number of times an avatar has been selected, and it 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 Figure 7. The user type table data 304f is updated when the average score is updated, the number of user types increases, new avatars are added, or avatars are deleted.
[0121] The probability table data 304g is data for a probability table as shown in Figure 8. The probability table sets the selection probability uniformly for multiple pre-prepared avatars. In the example shown in Figure 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 corresponding to that new avatar is set to 1. At this time, as described above, the selection count data 304e is reset, and then, when the number of selections exceeds a predetermined number, the selection probability corresponding to all avatars is set uniformly. Also, if an avatar is deleted, and the selection probabilities set for multiple avatars that have not been deleted are the same, the selection probabilities are changed to a uniform value for the total number of avatars after deletion.
[0122] Score data 304h contains data on all scores calculated up to this point, and is stored in a way that allows for the identification of the type of user and the avatar used when each score was calculated.
[0123] Furthermore, a timer 304i is provided in the data storage area 304. The timer 304i is a timer for counting the time spent in the device.
[0124] Although not shown in the diagram, the data storage area 304 stores other data necessary for executing control processing, and also contains other timers (counters) and flags necessary for executing control processing.
[0125] Although not shown in the diagram, in order to conduct chat or talk between the user terminal 16 and the operator terminal 18 via the server 12, the memory unit (here, RAM) 52 of the user terminal 16 and the memory unit (here, RAM) 18b of the operator terminal 18 store programs and data for conducting chat or talk.
[0126] Specifically, the program storage area of the storage unit 52 of the user terminal 16 stores the main processing program, operation detection program, communication program, image generation program, image output program, sound detection program, sound output program, and browser program, among others.
[0127] The main processing program is a program that executes the main routine processing (overall processing) of the application on the user terminal 16 that communicates via chat or talk.
[0128] The operation detection program is a program that detects operation data input from the input device 58 according to the user's operation and stores it 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, either by 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 image generation data.
[0131] The image output program is a program for outputting image data received from the server 12 and / or image data generated according to the image generation program to the display device 60.
[0132] The sound detection program is designed to detect the user's voice input from microphone 62.
[0133] The sound output program is a program that outputs the voice data received by the operator.
[0134] A browser program is a program that performs tasks related to displaying web pages, scrolling web pages, navigating between pages, and handling operations on web pages for any website, including the website of a specified service.
[0135] Furthermore, the data storage area of the storage unit 52 stores operation data, transmission data, reception data, image generation data, and audio data, among other things.
[0136] Operation data is operation data detected according to the operation detection program. Transmission data is data sent to server 12, and consists of text data about the user's questions in chat and audio data about the user's questions in talk. Received data is data sent from and received by server 12, and consists of text data about the operator's responses in chat and audio data about the operator's responses in talk.
[0137] Image generation data is data used to generate various screens displayed on the display device 60 of the user terminal 16. Audio data is data corresponding to the user's voice detected according to the sound detection program.
[0138] Furthermore, the program storage area of the memory unit 18b of the operator terminal 18 stores the main processing program, operation detection program, communication program, image generation program, image output program, sound detection program, and sound output program, among others.
[0139] The main processing program is a program that executes the main routine processing (overall processing) of the application on the operator terminal 18 that communicates via chat or talk.
[0140] The operation detection program is a program that detects operation data input from the input device according to the operator's actions and stores it 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, either by wired or wireless connection.
[0142] An image generation program is a program that generates image data corresponding to various screens for display on a display device, using image generation data.
[0143] The image output program is a program for outputting image data received from server 12 and / or image data generated according to the image generation program to a display device.
[0144] Furthermore, the operator's terminal 18 does not need to select a chat or talk, or display an avatar image. Therefore, the operator's terminal 18 does not display a screen like the selection screen 110, and the avatar image corresponding to the user is not displayed on screens like the chat screen 130 and the talk screen 150. However, it is also possible to display an avatar image corresponding to the user.
[0145] The sound detection program is a program designed to detect the operator's voice input through the microphone.
[0146] The sound output program is a program that outputs the voice data received from the user.
[0147] Furthermore, a browser program is also stored in the program storage area of the memory unit 18b of the operator terminal 18. The browser program is a program that performs operations related to displaying a web page for a specified service's website, scrolling the web page, moving between pages, and operations on the web page.
[0148] Furthermore, the data storage area of the memory unit 18b stores operation data, transmission data, reception data, image generation data, and audio data, among others.
[0149] Operation data is operation data detected according to the operation detection program. Transmission data is data sent to server 12, and consists of text data about the operator's response in chat and audio data about the operator's response in talk. Received data is data sent from and received by server 12, and consists of text data about the user's question in chat and audio data about the user's question in talk.
[0150] Image generation data is data used to generate various screens displayed on the display device 60 of the operator terminal 18. Audio data is data corresponding to the user's voice detected according to the sound detection program.
[0151] Figures 11-13 are flowcharts showing the control processing of the CPU 20 of server 12. Although not shown in the diagram, in parallel with the control processing, the CPU 20 performs operation data detection processing and also performs processing to receive transmission data sent from the user terminal 16 and the operator terminal 18. Furthermore, the CPU 20 of server 12 performs control processing for each user terminal 16 accessing the shopping site operated by server 12. This is also true for the update processing (see Figure 15) which will be described later.
[0152] As shown in Figure 11, when the CPU 20 of the server 12 starts control processing, in step S1 it determines whether the application launch conditions are met. As described above, the CPU 20 determines that the application launch conditions are met when the user instructs to launch (or execute) the application while the web screen of a predetermined service (web screen 100 in the first embodiment) is displayed, when there is no user operation for a certain period of time or longer, when the user instructs the same or a similar location (a nearby location) on the web screen, or when the user returns to the same web screen multiple times (for example, three times) on the predetermined service.
[0153] If the answer in step S1 is "NO," meaning the application launch conditions are not met, the process returns to step S1. On the other hand, if the answer in step S1 is "YES," meaning the application launch conditions are met, the application is launched in step S3. In the control process, steps S3 onwards constitute the application's main routine.
[0154] In the following step S5, the avatar selection process (see Figure 14), which will be described later, is executed, and in step S7, the selection screen 110 shown in Figure 4 is displayed on the user terminal 16. That is, the CPU 20 generates image data for the selection screen 110 as shown in Figure 4 and outputs (or transmits) it to the user terminal 16. Therefore, the selection screen 110 is displayed in front of the web screen 100 on the display device 60 of the user terminal 16. The same applies when a screen is displayed on the user terminal 16.
[0155] However, on the selection screen 110, the image 120 of the avatar selected during the avatar selection process is displayed. Similarly, when displaying the chat screen 130 and the talk screen 150, which will be described later, the image 120 of the avatar selected during the avatar selection process is also displayed.
[0156] Furthermore, when the app is first launched, that is, when the selection screen 110 is displayed for the first time after the app is launched, the CPU 20 generates image data for the selection screen 110, which displays a static image of the avatar 120 in the display frame 112, and sends it to the user terminal 16. Subsequently, it outputs animation data to the user terminal 16 to make the avatar perform a greeting action.
[0157] Additionally, when the app is launched and the selection screen 110 is displayed for the first time, the CPU 20 starts timer 304i and begins counting the time spent on the app. However, timer 304i is reset when the app is launched.
[0158] Next, in step S9, the avatar image 120 is made to perform a waiting action. Here, the CPU 20 sends animation data to the user terminal 16 to cause the avatar to perform an unconscious action. However, if there is no user interaction on the selection screen 110, the CPU 20 sends animation data to cause the avatar to perform an unconscious action every few seconds or tens of seconds.
[0159] Next, in step S11, it is determined whether or not a button has been pressed. Here, the CPU 20 determines whether it has received operation data from the user terminal 16 indicating that button 114, button 116, or button 118 on the selection screen 110 has been turned on.
[0160] If the answer in step S11 is "NO," that is, if there was no button operation, the process returns to step S9. On the other hand, if the answer in step S11 is "YES," that is, if there was a button operation, the process returns to step S13 to determine whether the application should be terminated. Here, the CPU 20 determines whether the operation data indicates that button 118 is ON.
[0161] If the answer in step S13 is "YES," that is, if the application is to be terminated, then in step S15, the user terminal 16 is instructed to close the selection screen 110, that is, the application is terminated, and in step S17, the count of the time spent is stopped, and the control process is terminated. However, in step S17, the CPU 20 stops the timer 304i.
[0162] On the other hand, if the answer in step S13 is "NO," that is, if the app is not terminated, then in step S19, it is determined whether or not it is a chat. Here, the CPU 20 determines whether or not the operation data indicates that button 114 is ON.
[0163] If the answer in step S19 is "NO," that is, if it is not a chat, it is determined to be a talk and the process proceeds to step S39 shown in Figure 13. On the other hand, if the answer in step S19 is "YES," that is, if it is a chat, then in step S21 shown in Figure 12, the chat screen 130 shown in Figure 5 is displayed on the user terminal 16. In other words, the CPU 20 generates image data of the chat screen 130 shown in Figure 5 and sends it to the user terminal 16.
[0164] If a hardware keyboard is not connected to the user's terminal 16, a software keyboard will be displayed along with the chat screen 130. Also, when the chat screen 130 is displayed on the user's terminal 16, the selection screen 110 will be hidden.
[0165] In the next step, S23, it is determined whether or not the question content has been entered. Here, the CPU 20 determines whether or not it has received operation data from the user terminal 16 indicating the key input of the question content (text).
[0166] If the answer in step S23 is "YES," that is, if the user has entered the question content, then in step S25, image data is generated that displays the characters or strings corresponding to the key input indicated by the operation data as text in the display frame 136, and this image data is sent to the user terminal 16, before returning to step S23.
[0167] On the other hand, if the answer in step S23 is "NO," that is, if no question content has been entered, then in step S27, it is determined whether or not the question content has been sent. Here, the CPU 20 determines whether or not it has received operation data from the user terminal 16 indicating that the question content has been confirmed (or that the question content has been sent).
[0168] If the answer in step S27 is "YES," that is, if the question content is to be sent, then in step S29, the text data of the question content is sent to the operator's terminal 18, and the process proceeds to step S31. However, the text data of the question content is data in which the characters or strings entered by the user in this question are arranged in chronological order. On the other hand, if the answer in step S27 is "NO," that is, if the question content is not to be sent, the process proceeds to step S31.
[0169] In step S31, it is determined whether the text data of the response has been received from the operator terminal 18. If the answer in step S31 is "YES," that is, if the text data of the response has been received from the operator terminal 18, then in step S33, the avatar is made to speak in accordance with the displayed response, and the process proceeds to step S35. On the other hand, if the answer in step S31 is "NO," that is, if the text data of the response has not been received from the operator terminal 18, the process proceeds to step S35.
[0170] In step S33 described above, the CPU 20 generates image data that displays the response content as text, one character at a time, in the display frame 134 and sends it to the user terminal 16. At the same time, it generates image data for an avatar image 120 that changes its lips to simulate speaking in accordance with the display and sends it to the user terminal 16.
[0171] Therefore, on the user's terminal 16, the response content is displayed character by character in the display frame 134 of the chat screen 130, and an image 120 of an avatar performing a speaking action in accordance with the display of the response content is displayed in the display frame 132.
[0172] Furthermore, once the entire response is displayed in display frame 134, all the text in display frame 132 is cleared (i.e., hidden) to allow the user to enter the content of the question.
[0173] In step S35, it is determined whether the chat should be ended. Here, the CPU 20 determines whether it has received operation data indicating that button 138 is ON, or operation data from the operator terminal 18 instructing the end of the chat.
[0174] If the answer in step S35 is "NO," that is, if the chat is not ending, the process returns to step S23. On the other hand, if the answer in step S35 is "YES," that is, if the chat is ending, the process returns to step S7 shown in Figure 11, in step S37, instructing the user terminal 16 to close the chat screen 130.
[0175] Furthermore, as mentioned above, if the answer in step S19 is "NO", then in step S39 shown in Figure 13, the chat screen 150 shown in Figure 6 is displayed on the user terminal 16. In other words, the CPU 20 generates image data for the chat screen 150 as shown in Figure 6 and sends it to the user terminal 16. Consequently, the selection screen 110 is hidden on the display device 30 of the user terminal 16, and the chat screen 150 is displayed in front of the web screen 100.
[0176] In the following step S41, it is determined whether or not the audio data of the user's question has been received from the user's terminal 16. If the answer in step S41 is "NO," that is, if the audio data of the question has not been received, the process proceeds to step S45.
[0177] On the other hand, if the answer in step S41 is "YES," that is, if the audio data of the question is received, then in step S43, the audio data of the question is sent to the operator's terminal 18, and the process proceeds to step S45.
[0178] In other words, server 12 transmits the audio data of the question received from user terminal 16 to operator terminal 18. Consequently, the user's voice is output from the speaker on operator terminal 18. Meanwhile, operator terminal 18 transmits the audio data of the operator's response to server 12.
[0179] In step S45, it is determined whether or not audio data of the response has been received. If the answer in step S45 is "YES," that is, if audio data of the response has been received, then in step S47, image data of the avatar image 120 that performs a speaking action in accordance with the audio data of the response is generated.
[0180] In the following step S49, the audio data of the received response and the image data of the avatar image 120 generated in step S47 are sent to the user terminal 16, and the process returns to step S41. Consequently, on the user terminal 16, the audio of the response is output from the speaker 34, and on the talk screen 150, the image 120 of the avatar, which lip-syncs to the audio of the response and performs a speaking action, is displayed in the display frame 152.
[0181] Furthermore, if the answer in step S45 is "NO," that is, if no audio data of the response has been received, then in step S51, it is determined whether the talk has ended. Here, the CPU 20 determines whether it has received operation data from the user terminal 16 indicating that button 154 has been turned on, or operation data from the operator terminal 18 instructing the end of the talk.
[0182] If the answer in step S51 is "NO," that is, if the conversation has not ended, the process returns to step S41. On the other hand, if the answer in step S51 is "YES," that is, if the conversation has ended, the process returns to step S7 in step S53, instructing the user terminal 16 to close the conversation screen 150.
[0183] Figure 14 is a flowchart showing the avatar selection process in step S5 shown in Figure 11. As shown in Figure 14, when the CPU 20 starts the avatar selection process, it obtains user information in step S81. Here, the CPU 20 obtains user information of users who have logged into 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 (in the first embodiment, several hundred to several thousand times). If the answer in step S83 is "YES," that is, if the number of selections has exceeded the third predetermined number, then in step S85, the selection probability is set uniformly for all avatars, and the process proceeds to step S91. In other words, in step S85, the selection probability for all avatars is set to 1 / n (where n is the total number of avatars).
[0185] On the other hand, if the answer in step S83 is "NO," that is, if the number of selections does not exceed the third predetermined number, then in step S87, it is determined whether the number of selections has exceeded the second predetermined number (in the first embodiment, 100 to 100 times). If the answer in step S87 is "NO," that is, if the number of selections has not exceeded the second predetermined number, the process proceeds to step S91. On the other hand, if the answer in step S87 is "YES," that is, if the number of selections has exceeded the second predetermined number, then in step S89, the selection probability of the added avatar is subtracted by a predetermined value (0.05 in the first embodiment), and the process proceeds to step S91. However, if no avatar has been added, the process in step S89 is skipped.
[0186] Step S91 determines how the avatar is selected. As mentioned above, either random selection or average score selection is randomly chosen as the avatar selection method.
[0187] As described above, the probability of selecting an average score is P(0≦P≦1), and the probability of selecting a random score is 1-P. Although not shown in the diagram, as described above, the probability P for selecting an average score is set to 0, and when the number of avatar selections exceeds a first predetermined number, the probability P is set to 0.5, and further, as the number of avatar selections increases, the probability P is set to be greater than 0.5.
[0188] Returning to Figure 14, the next step, S93, determines whether the method of selecting the avatar has been decided as random selection. If the answer in step S93 is "YES," that is, if the method of selecting the avatar has been decided as random selection, then in step S95, an avatar is randomly selected, and the process proceeds to step S103.
[0189] On the other hand, if the answer in step S93 is "NO," that is, if the method of selecting an avatar is determined to be average score selection, then in step S97, it is determined whether or not there are avatars with the same average score. Here, the CPU 20 refers to the user type table corresponding to the user type table data 304f and determines whether or not there are avatars with the same average score among the avatars listed corresponding to the types of users classified based on the user information.
[0190] If the answer in step S97 is "YES," that is, if there are avatars with the same average score, then in step S99, one avatar is randomly selected from those avatars with the same average score, and the process proceeds to step S103.
[0191] On the other hand, if the answer in step S97 is "NO," meaning there are no avatars with the same average score, then in step S101, the avatar with the highest average score is selected, and the process proceeds to step S103.
[0192] In step S103, the number of times the avatar has been selected, as indicated by the selection count data 304e, is incremented by 1. Then, the avatar selection process is terminated, and the process returns to the control process.
[0193] Figure 15 is a flowchart showing an example of the update process. When the CPU 20 finishes the control process, it starts the update process shown in Figure 15. As shown in Figure 15, when the CPU 20 starts the update process, in step S201 it determines whether the current user's stay time is longer than M (1800 seconds in the first embodiment). However, the stay time is the time (count value) counted by the timer 304i.
[0194] If the answer in step S201 is "NO," that is, if the user's stay time is not longer than M, proceed to step S205. On the other hand, if the answer in step S201 is "YES," that is, if the user's stay time is longer than M, then in step S203, set the coefficient K to 0 and proceed to step S205.
[0195] In step S205, the current score is calculated according to number 1. At this time, data about the current score is added to score data 304h, making it possible to identify the type of user and the avatar used.
[0196] In the following step S207, the average score of the avatar used in this instance is calculated from among multiple avatars corresponding to the user type. As mentioned above, the average score is calculated by adding the current score to the sum of the scores previously calculated for the avatar used in this instance that corresponds to the user type, and then dividing by the total number of scores calculated for the avatar used in this instance.
[0197] Then, in step S209, the user type table is updated and the update process is terminated. In step S209, the CPU 20 updates the user type table data 304f by overwriting the corresponding part of the user type table with the average score calculated in step S207.
[0198] According to the first embodiment, since an avatar is selected using a user type table, an avatar corresponding to the user type is selected, the image of the selected avatar is displayed, and a predetermined service is provided, so the avatar can be changed according to the user.
[0199] Furthermore, according to the first embodiment, if the number of avatar selections is small, random selection is determined as the method of avatar selection, allowing various avatars to be selected for each user type and 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 sent and received text data and voice data via the server 12. However, communication between the user terminal 16 and the operator terminal 18 may be performed without going through the server 12.
[0201] In other embodiments, a different server (or computer) from server 12 may perform the avatar selection and update processes.
[0202] <Second Example> In the second embodiment, except for some processing, the control processing is performed on the user terminal 16, which is the same as in the first embodiment, so redundant explanations will be omitted.
[0203] In the information processing system 10 of the second embodiment, an application as described in the first embodiment is stored on the user terminal 16 and executed on the user terminal 16.
[0204] Therefore, in the second embodiment, the main processing program stored in the program storage area of the memory unit (RAM) 52 of the user terminal 16 is modified to execute processing similar to that of the main processing program 302b in the first embodiment. In addition, in the second embodiment, the same programs as the avatar control program 302f and the stay time count program 302g are further stored in the program storage area of the memory unit 52 of the user terminal 16.
[0205] In the second embodiment, the data to be transmitted stored in the data storage area of the memory unit (RAM) 52 of the user-side terminal 16 is data to be transmitted to the server 12 and data to be transmitted to the operator-side terminal 18. The data to be transmitted to the server 12 is data regarding the avatar selection request and the instruction to execute the update process. However, along with the instruction to execute the update process, data regarding the time spent is also transmitted. The data to be transmitted to the operator-side terminal 18 is text data regarding the content of the user's questions in the chat and audio data regarding the content of the user's questions in the talk.
[0206] Similarly, in the second embodiment, the received data stored in the data storage area of the memory unit (RAM) 52 of the user-side terminal 16 consists of data transmitted from and received by the server 12 and data transmitted from and received by the operator-side terminal 18. The data transmitted from and received by the server 12 is data about the avatar selection result. The data transmitted from and received by the operator-side terminal 18 consists of text data about the operator's response in the chat and audio data about the operator's response in the talk.
[0207] In the second embodiment, the image generation data stored in the data storage area of the memory unit (RAM) 52 of the user terminal 16 also includes data for generating the selection screen 110, the chat screen 130, and the talk screen 150, as well as data for generating the avatar image 120. Furthermore, the data for generating the avatar image 120 includes, for each of the multiple avatars, static image data of the avatar image 120, animation data for unconscious actions and greeting actions.
[0208] Furthermore, if another avatar is added, the user's device 16 updates the app, which adds image generation data for generating the image 120 of the added avatar.
[0209] Furthermore, in the second embodiment, the data storage area of the memory unit (RAM) 52 of the user terminal 16 is provided with the same timer as timer 304i.
[0210] Figures 16-19 are flowcharts showing the control processing (i.e., the main routine processing) of the CPU 50 of the user-side terminal 16 in the second embodiment. Although not shown in the diagram, the CPU 50 performs operation data detection processing in parallel with the control processing, and also performs processing to receive transmission data sent from the server 12 and the operator-side terminal 18.
[0211] Furthermore, the CPU 20 of server 12 executes avatar selection processing for each user terminal 16 accessing the shopping site operated by server 12, and similarly executes update processing each time in response to execution instructions from each user terminal 16.
[0212] The control process of the CPU 50 of the user terminal 16 in the second embodiment will be described below with reference to Figures 16-19, but the same content as described in the first embodiment will be briefly explained.
[0213] As shown in Figure 16, when the CPU 50 of the user terminal 16 starts control processing, in step S301 it determines whether the conditions for launching the application are met. If the result in step S301 is "NO", it returns to step S1. On the other hand, if the result in step S301 is "YES", it launches the application in step S303.
[0214] In the following step S305, the avatar selection request is sent to the server 12. In the next step S307, it is determined whether the avatar selection result has been received from the server 12. If the answer in step S307 is "NO", that is, if the 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 in step S307 is "YES," that is, if the avatar selection result is received from the server 12, then in step S309 shown in Figure 17, the selection screen 110 shown in Figure 4 is displayed in front of the web screen 100. In other words, the CPU 50 generates image data for the selection screen 110 shown in Figure 4 and outputs it to the display device 60. The same applies when the screen is displayed on the user terminal 16.
[0216] However, on the selection screen 110, the avatar image 120 representing the avatar selection result is displayed. Similarly, when displaying the chat screen 130 and the talk screen 150 described later, the avatar image 120 representing the avatar selection result is also displayed.
[0217] Furthermore, as mentioned above, when the app is first launched, that is, when the selection screen 110 is displayed for the first time after launching the app, the CPU 50 displays a still image of the avatar 120, then plays animation data to make the avatar perform a greeting action.
[0218] Furthermore, when the app is launched and the selection screen 110 is displayed for the first time, CPU 50 starts a timer and begins counting the time spent on the screen. However, the timer is reset when the app is launched.
[0219] Next, in step S311, the avatar image 120 is made to perform a waiting action. Here, the CPU 50 causes the avatar to perform an unconscious action. However, if there is no user interaction on the selection screen 110, the CPU 50 causes the avatar to perform an unconscious action every few seconds or tens of seconds.
[0220] Next, in step S313, it is determined whether or not a button has been pressed. Here, the CPU 50 refers to the operation data to determine whether or not button 114, button 116, or button 118 on the selection screen 110 has been turned on.
[0221] If the answer in step S313 is "NO," that is, if there is no button operation, the process returns to step S311. On the other hand, if the answer in step S313 is "YES," that is, if there is a button operation, the process returns to step S315 to determine whether the application should be terminated. Here, the CPU 50 determines whether the operation data indicates that button 118 is ON.
[0222] If the answer in step S315 is "YES", then in step S317 the selection screen 110 is closed, in step S319 the count of the time spent is terminated, and in step S321 an instruction to execute the update process is sent to the server 12, ending the control process. As described above, in step S321 the CPU 50 sends the time spent data to the server 12 along with the instruction to execute the update process.
[0223] On the other hand, if the answer in step S315 is "NO", then in step S323, it is determined whether or not it is a chat. Here, the CPU 50 determines whether or not the operation data indicates that button 114 is ON. If the answer in step S323 is "NO", it is determined to be a talk and the process proceeds to step S343 shown in Figure 19. On the other hand, if the answer in step S323 is "YES", then in step S325 shown in Figure 18, the chat screen 130 shown in Figure 5 is displayed in front of the web screen 100.
[0224] If a hardware keyboard is not connected to the user's terminal 16, a software keyboard will be displayed along with the chat screen 130.
[0225] In the next step, S327, it is determined whether or not the question content has been entered. Here, the CPU 50 determines whether or not it has received operation data from the user terminal 16 indicating the key input of the question content (text).
[0226] If the answer in step S327 is "YES", then in step S329, the entered question content is displayed in the display frame 136, and the process returns to step S327. On the other hand, if the answer in step S327 is "NO", then in step S331, it is determined whether or not to send the question content. Here, the CPU 50 determines whether or not the question content has been confirmed.
[0227] If the answer in step S331 is "YES", then in step S333, the text data of the question is sent to the operator's terminal 18, and the process proceeds to step S335. On the other hand, if the answer in step S331 is "NO", the process proceeds to step S335.
[0228] In step S335, it is determined whether the text data of the response has been received from the operator terminal 18. If the answer in step S335 is "NO", the process proceeds to step S339. On the other hand, if the answer in step S335 is "YES", in step S337 the avatar speaks in accordance with the displayed response, and the process proceeds to step S339.
[0229] In step S337 described above, the CPU 50 displays the response content as text, one character at a time, in the display frame 134, and displays an image 120 of the avatar in the display frame 132, in which the avatar changes its lips to perform a speaking action in accordance with the display.
[0230] Furthermore, once the entire response is displayed in display frame 134, all the text in display frame 136 is cleared (i.e., hidden) to allow the user to enter the content of the question.
[0231] In step S339, it is determined whether the chat has ended. Here, the CPU 50 determines whether button 138 has been turned on or whether the operator's terminal 18 has instructed the chat to end.
[0232] If the answer in step S339 is "NO", the process returns to step S327. On the other hand, if the answer in step S339 is "YES", the process returns to step S309 shown in Figure 17, after which the chat screen 130 is closed in step S341.
[0233] Furthermore, as mentioned above, if the answer in step S323 is "NO", then in step S343, as shown in Figure 19, the talk screen 150 shown in Figure 6 is displayed in front of the web screen 100.
[0234] In the following step S345, it is determined whether or not there is an audio input. Here, the CPU 50 determines whether or not audio has been detected by the microphone 62. If the answer in step S345 is "NO", that is, if there is no audio input, the process proceeds to step S349. On the other hand, if the answer in step S345 is "YES", that is, if there is an audio input, in step S347, the audio data corresponding to the input audio (i.e., the audio data of the question) is sent to the operator terminal 18, and the process proceeds to step S349.
[0235] In step S349, it is determined whether or not the audio data of the response has been received. If the answer in step S349 is "YES", then in step S351, the audio data of the response is output, and in step S353, image data of the avatar image 120 that performs a speaking action in accordance with the audio data of the response is generated and output, and the process returns to step S345.
[0236] Furthermore, if the answer in step S349 is "NO", then in step S355, it is determined whether the conversation has ended. If the answer in step S355 is "NO", that is, if the conversation has not ended, the process returns to step S345. On the other hand, if the answer in step S355 is "YES", then in step S357, the conversation 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 according to the user.
[0238] Furthermore, in the second embodiment, as in the first embodiment, the reliability of the average score of the user type table can be improved.
[0239] In the second embodiment, image generation data for generating avatar images is stored on the user's terminal, and the server sends the avatar selection result to the user's terminal. However, the system is not limited to this configuration. The image generation data for generating avatar images may not be stored on the user's terminal, and the server may send the image generation data for generating avatar images to the user's terminal as needed.
[0240] Furthermore, in the embodiments described above, the chat involved text exchange between the operator and the chatbot. However, the user's terminal may also access a chat service server on the network (cloud) and exchange messages with the chatbot.
[0241] Furthermore, in the embodiments described above, the operator's voice was output directly from the user's terminal speaker, but it is also possible to output a converted version of the operator's voice. In this case, the avatar can be changed according to the user, including not only its appearance but also its voice. Also, in this case, avatars that look the same but have different voices can be treated as different types of avatars.
[0242] Furthermore, in the embodiments described above, users communicate with the operator via chat or talk, but communication may also be conducted solely through chat (i.e., text exchange) or solely through talk (i.e., voice exchange). In other examples, the invention can also be applied to web conferences or video calls, where an avatar image selected according to the user is displayed. The present invention is applicable when text or audio of what a certain person says is output to a terminal used by another person interacting with that person, and an avatar image corresponding to that person is displayed on the terminal used by the other person. However, in other examples, the method of determining or calculating the score may be changed as appropriate, and the user type table may also be changed as appropriate.
[0243] Furthermore, in the embodiments described above, the app was launched when the launch conditions were met, but it may also be configured to launch when a web screen is displayed.
[0244] Furthermore, while the above embodiments calculate scores based on dwell time and purchase amount, the system is not limited to these methods. Instead of dwell time, the number of questions asked by the user (number of utterances) or the user's utterance rate (i.e., the number of utterances by the user out of the total number of utterances by the user and operator) may be used. Also, instead of purchase amount, the number of purchases may be used. Moreover, if services other than e-commerce services such as shopping sites are provided, scores may be calculated appropriately based on metrics corresponding to those services.
[0245] Furthermore, the order in which each step in the flowchart shown in the above-described embodiments is changed is possible if the same result can be obtained.
[0246] Furthermore, the various screens and specific numerical values mentioned in each of the above-mentioned embodiments are merely examples and can be modified as needed. For example, in the case of chat, it is possible to display only the avatar image instead of displaying the chat screen. [Explanation of symbols]
[0247] 10. Information Processing Systems 12 ... Server 14 ... Network 16 ... User-side terminal 18 ... Operator-side terminal 18a, 20, 50 ...CPU 18b, 22, 52...Storage section 24, 54 ... Communication I / F 26, 56 ... Input / Output Interface 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, When displaying a character corresponding to an operator interacting with a user on the user's terminal, a first selection means selects one character from a plurality of characters based on user type information that includes an evaluation value determined based on the usage status of multiple users of the predetermined service, corresponding to classification information that classifies users of the predetermined service, and An information processing device comprising display control means for displaying the selected character on the user-side terminal.
2. The information processing apparatus according to claim 1, wherein the first selection means selects the character based on the magnitude of an evaluation value corresponding to each of the plurality of characters included in the user type information.
3. The information processing apparatus according to claim 2, wherein the first selection means randomly selects one character from among a plurality of characters whose evaluation values are partially or entirely the same in size when the size of partially or entirely the evaluation values corresponding to each of the plurality of characters is the same.
4. When displaying a character corresponding to the operator interacting with the user on the user's terminal, a second selection means randomly selects one of the characters regardless of the user type information, and The system further comprises a selection method determination means for determining the selection made by the first selection means or the second selection means, The information processing apparatus according to claim 3, wherein the display control means causes the one 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.
5. The system further includes a second storage means for storing probability information that describes the selection probability set for each of the aforementioned multiple characters, The information processing apparatus according to claim 3 or 4, wherein if the number of times the character is selected exceeds a predetermined number of times, the selection probability corresponding to each of the plurality of characters is set to be the same for all of them.
6. The information processing apparatus according to any one of claims 1 to 5, wherein the usage status includes the period from the time the display of one character started to the time it ended.
7. The information processing device according to any one of claims 1 to 6, wherein the usage status includes the number of utterances or utterance rate of the user.
8. The information processing apparatus according to any one of claims 1 to 7, further comprising an update means for updating the evaluation value when the display of the character ends.
9. A control program executed on an information processing device that provides a predetermined service, The processor of the aforementioned information processing device, When displaying a character corresponding to an operator interacting with a user on the user's terminal, a selection step is made to select one character from the multiple characters based on user type information that includes an evaluation value determined based on the usage status of multiple users of the predetermined service, corresponding to classification information that classifies users of the predetermined service, and A control program that executes a display control step of displaying the selected character on the user terminal.
10. A control method for an information processing device that provides a predetermined service, (a) When displaying a character corresponding to an operator interacting with a user on the user's terminal, the steps include: selecting one character from a plurality of characters based on user type information that includes an evaluation value determined based on the usage status of multiple users of the predetermined service, corresponding to classification information that classifies users of the predetermined service; and (b) A control method comprising the step of displaying an image of the selected character on the user terminal.
11. An information processing system comprising an information processing device that provides a predetermined service and a user terminal that receives the predetermined service, The aforementioned information processing device is In response to a request from the user terminal, a selection means selects one character corresponding to the operator who interacts with the user from among a plurality of characters, based on user type information which describes an evaluation value determined based on the usage status of multiple users who use the predetermined service, corresponding to classification information that classifies users who use the predetermined service, and The system includes a transmission means for transmitting information about the character selected by the selection means to the user-side terminal, The aforementioned user terminal is Prior to displaying the character, a request means for requesting the information processing device to select one of the characters, A receiving means for receiving character information transmitted by the transmitting means, and An information processing system comprising a display means for displaying the 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