Program, information processing apparatus, method, and system
A system generates keywords from birth information and time to match users without personal identification, addressing the need for personalized recommendations while preserving privacy.
Patent Information
- Application Number
- JP2024101496
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-24
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2044-06-24
AI Technical Summary
Consumers desire personalized product recommendations without revealing personal information, as existing technologies rely on identifying personal information to define avatar personalities and behaviors.
A system that generates keywords based on birth information and a specified date and time, allowing for matching with compatible users without requiring personal identification, using a fortune-telling engine to derive keywords and a matching engine to calculate compatibility.
Enables personalized recommendations without disclosing personal information, facilitating user matching through a system that utilizes birth information and time-based keywords to determine compatibility.
Smart Images

Figure 2026003508000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing device, a method, and a system. [Background technology]
[0002] There is a technology that generates artificial life forms, generally called avatars, in a virtual space created by a computer system based on the results of psychological tests and the like, and causes these avatars to perform various actions.
[0003] Techniques related to the above-mentioned techniques are disclosed in Patent Documents 1 and 2.
[0004] Patent Document 1 discloses technology related to a virtual space providing device. The virtual space providing device generates DNA to be set for an avatar corresponding to a user based on information input by the user. The virtual space providing device generates an avatar from innate parts determined by the DNA and acquired parts selected in response to a selection instruction from the user, and places the avatar in a virtual space.
[0005] Furthermore, Patent Document 2 discloses technology relating to an on-demand micron system that matches a user, captures a facial image of the matched user, and uses a database of blood type personality judgments and other data, as well as AI learning software, to give the captured facial image a personality and conversational ability, thereby generating a micron. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2008-293401 [Patent Document 2] Japanese Patent Application Laid-Open No. 2002-269589 Summary of the Invention [Problem to be solved by the invention]
[0007] The technologies disclosed in Patent Documents 1 and 2 both define the personality and behavior of an avatar using psychological tests, etc. However, consumers have needs for recommendations of products suitable for them on shopping sites, etc., without providing personal information in a form that can identify them.
[0008] Therefore, the present disclosure has been made to solve the above problem, and its purpose is to provide a technology that enables individuals to receive recommendations without identifying their personal information. [Means for solving the problem]
[0009] A program for operating a computer having a processor and a memory. First information related to birth information of a plurality of registered users is stored in the memory. The program causes the processor to execute the following steps: accepting input of the first information related to the birth information of the first user from the first user and acquiring second information related to a predetermined date and time; generating a first keyword related to the first user based on the first information of the first user and the second information related to the predetermined date and time; generating at least one second keyword related to at least some of the registered users based on the first information of the registered user and the second information; selecting one or more matching partners for the first user from among registered users associated with the second keyword based on similarity between the first keyword and the second keyword; and presenting information about the selected matching partners to the first user. [Effects of the Invention]
[0010] According to the present disclosure, recommendations can be received for individuals without identifying personal information. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram illustrating an overview of the operation of a system according to the present disclosure. [Figure 2]1 is a block diagram showing an example of the overall configuration of a system 1 according to a first embodiment. [Figure 3] 1 is a block diagram illustrating an example of a functional configuration of a terminal device 10 according to a first embodiment. [Figure 4] FIG. 2 is a diagram illustrating an example of a functional configuration of a server 20 according to the first embodiment. [Figure 5] FIG. 2 is a diagram showing the data structure of a user information DB 2021 according to the first embodiment. [Figure 6] FIG. 2 is a diagram showing a data structure of a keyword information DB 2022 according to the first embodiment. [Figure 7] FIG. 2 is a diagram showing the data structure of a keyword DB 2026 according to the first embodiment. [Figure 8] 4 is a flowchart showing an example of an operation of the server 20 according to the first embodiment. [Figure 9] FIG. 1 is a diagram showing a screen displayed on the terminal device 10 when a user of the terminal device 10 according to the first embodiment logs in to the system 1 (server 20) of the present embodiment. [Figure 10] FIG. 10 is a diagram showing a screen displayed on the terminal device 10 following the display of the screen shown in FIG. 9. [Figure 11] This figure shows a screen displayed on terminal device 10 to request the user of terminal device 10 to input blood type information in response to the user of terminal device 10 performing an input operation on "OK!" button 1603 in Figure 10. [Figure 12] FIG. 10 is a diagram showing a screen displaying services presented by a partner selection module 2037 according to the first embodiment. [Figure 13] FIG. 2 is a diagram illustrating an example of a data structure of an avatar information DB 2025 according to the first embodiment. [Figure 14] FIG. 10 is a block diagram showing an example of the overall configuration of a system 1A according to a second embodiment. [Figure 15] FIG. 10 is a diagram illustrating an example of a functional configuration of a terminal device 10A according to a second embodiment. [Figure 16] FIG. 10 is a diagram illustrating an example of a functional configuration of a server 20A according to a second embodiment. [Figure 17] FIG. 10 is a diagram illustrating an example of a functional configuration of an electronic commerce server 30 according to a second embodiment. [Figure 18] FIG. 11 is a diagram showing the data structure of an account information DB 2023 according to the second embodiment. [Figure 19] FIG. 11 is a diagram showing a data structure of a purchase history information DB 3021 according to the second embodiment. [Figure 20] 10 is a flowchart illustrating an example of an operation of the server 20A according to the second embodiment. [Figure 21] A diagram showing the relationship between the five elements. [Figure 22] This is a diagram showing an example of an excerpt from the Four Pillars of Destiny charts of the first user and the registered user. [Figure 23] FIG. 10 is a block diagram for explaining the functional configuration of a server 20 according to a third embodiment. [Figure 24] 10 is a flowchart illustrating a flow executed by a control unit 203 according to the third embodiment. [Figure 25] 10 is a flowchart illustrating a flow executed by a control unit 203 according to a fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all drawings describing the embodiments, common components are designated by the same reference numerals, and repeated description will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Furthermore, not all components shown in the embodiments are necessarily essential components of the present disclosure. Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration.
[0013] In the following description, a "processor" refers to one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may also be another type of processor such as a GPU (Graphics Processing Unit). The at least one processor may be single-core or multi-core.
[0014] Furthermore, the at least one processor may be a processor in the broad sense, such as a hardware circuit (for example, a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) that performs part or all of the processing.
[0015] In the following explanation, information that produces an output for an input may be described using expressions such as "xxx table," but this information may be data of any structure, or may be a learning model such as a neural network that produces an output for an input. Therefore, an "xxx table" may be referred to as "xxx information."
[0016] Furthermore, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.
[0017] In addition, in the following explanation, processing may be described using the "program" as the subject, but since a program is executed by a processor to perform specified processing while appropriately using a memory unit and / or an interface unit, etc., the subject of the processing may also be the processor (or a device such as a controller that has that processor).
[0018] The program may be installed in a device such as a computer, or may be stored in, for example, a program distribution server or a computer-readable (e.g., non-transitory) recording medium. Also, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.
[0019] Furthermore, in the following description, identification numbers are used as identification information for various objects, but other types of identification information (for example, identifiers including alphabetic characters or symbols) may also be used.
[0020] In addition, in the following description, when describing elements of the same type without distinguishing between them, reference symbols (or common symbols among the reference symbols) may be used, and when describing elements of the same type with distinction between them, the identification numbers (or reference symbols) of the elements may be used.
[0021] In the following description, the control lines and information lines are those that are considered necessary for the description, and do not necessarily represent all the control lines and information lines in the product. All components may be interconnected.
[0022] <0 System Overview> 1 is a diagram illustrating an overview of the operation of a system according to the present disclosure. The system according to the present disclosure accepts input of information specific to the first user from the first user, generates a first keyword related to the first user based on the information specific to the first user, generates second keywords related to the registered user based on information specific to other registered users, and presents to the first user users from among the registered users who are compatible with the first user based on the similarity between the first keyword and the second keyword.
[0023] The information the user is prompted to input is first information related to the user's birth information and second information related to a specified date and time. The first information related to the first user's birth information is information unique to the first user. The first information of the first user always includes information related to the first user's date of birth, and may also include at least one of information related to the first user's time of birth, location information related to the first user's place of birth, and the first user's blood type. The second information is, for example, the time when the input of the first information is accepted. The system generates a first keyword based on the first information and second information of the first user.
[0024] Meanwhile, the system's database stores first information related to the birth information of a large number of registered users. The first information of a registered user necessarily includes information related to the registered user's date of birth, and may also include at least one of information related to the registered user's time of birth, location information related to the registered user's place of birth, and the registered user's blood type. The system generates second keywords based on the registered user's first information and second information. Here, the registered user's second information is information related to a specific date and time. For example, the date and time when the registered user inputs the first information.
[0025] In the system according to the present disclosure, keywords are generated by the fortune-telling engine. Generally, fortune-telling can be said to be a statistical process in which birth information, facial images, palm images, etc. are used as input data, and results are derived once this input data is determined. In this sense, although individual differences between fortune-telling engines are allowed, for a single fortune-telling engine, once the input data is determined, the keywords output by the fortune-telling engine are uniquely determined. Naturally, multiple fortune-telling engines can be provided in the system according to the present disclosure, and a single fortune-telling engine can also output multiple keywords.
[0026] In the case of a fortune-telling engine that receives input of first information, if the second information changes, the keywords output by the fortune-telling engine will also change. For example, if the second information is information regarding the date and time the first information was input, the keywords may change depending on the date (more specifically, the date and time) on which the fortune-telling engine outputs the keywords. For example, biorhythms or horoscopes change depending on changes in the second information, and the keywords change accordingly.
[0027] The first information and the second information may be input in any form. For example, an avatar that acts independently in a virtual space constructed on a terminal device (information processing device) such as a smartphone owned by a first user is generated, and the first user is asked to input the first information, etc., through conversation with the avatar or text input / output, and the first information, etc., is acquired from the first user. Preferably, at least one of the behavioral pattern and personality of the avatar is set based on keywords output by the fortune-telling engine. The generated avatar may be used in the overall system according to the present disclosure.
[0028] The keywords output by the fortune-telling engine may be input to a matching engine, which will be described later, but there is a possibility that the load on the matching engine may be high if, for example, the fortune-telling engine outputs a large number of keywords. For this reason, in the system according to the present disclosure, attributes and weightings may be assigned to the keywords output by the fortune-telling engine, and the keywords to be input to the matching engine may be selected based on these attributes and / or weightings.
[0029] The method for assigning attributes to keywords is arbitrary and is not particularly limited. One example is a method in which the system according to the present disclosure has a thesaurus dictionary, classifies and categorizes keywords based on the thesaurus dictionary, and assigns attributes associated with these categories to the keywords. Similarly, one example is a method in which the system according to the present disclosure has a morphological analysis engine, and assigns attributes to keywords by referring to the part-of-speech classification and word order of the keywords obtained as the output of the morphological analysis engine. Such analysis methods are well known, including those implemented in Internet content search engines, etc.
[0030] There are also no particular limitations on the meaning of weighting or the method for assigning weighting. One example is a method of assigning weighting from the perspective of whether or not a matching engine, which will be described later, can present appropriate services to a user.
[0031] The keywords output by the fortune-telling engine are diverse, and the degree of appropriateness of the keywords as keywords for presenting matching partners may vary. One example is a method of using the degree of appropriateness as a weighting value. Preferably, the weighting value may be assigned based on the attributes assigned to the keywords.
[0032] The fortune-telling engine generates a first group of keywords from the first information and second information of the first user, and generates a second group of keywords from the first information and second information of at least some of the registered users.
[0033] The matching engine compares the first keyword group with the second keyword group and calculates a compatibility value taking weighting into consideration. The compatibility value is an evaluation value that evaluates the similarity between the first keyword group of the first user and the second keyword group of the registered user taking weighting into consideration and quantifies the compatibility between the first user and the registered user, with the higher the similarity between the first keyword group and the second keyword group, the higher the value. The compatibility value is, for example, a real number between 0 and 1. A compatibility value of 1 indicates the best compatibility between the first user and the registered user, and a compatibility value of 0 indicates the worst compatibility between the first user and the registered user. Alternatively, the compatibility value may be a real number between 0 and 100. The maximum and minimum values are merely a matter of normalization and can be set freely.
[0034] The matching engine calculates compatibility values for a plurality of registered users and extracts a plurality of users with high compatibility values from the calculated registered users.
[0035] In the present disclosure, memory may include volatile memory, non-volatile memory, storage, and other storage devices.
[0036] First Embodiment <1 Overall system configuration> Fig. 2 is a block diagram showing an example of the overall configuration of the system 1. The system 1 shown in Fig. 2 includes, for example, a plurality of terminal devices 10 and a server 20. The plurality of terminal devices 10 and the server 20 are connected for communication via, for example, a network 80.
[0037] The terminal device 10 is a terminal owned or used by a user who owns or uses the terminal and inputs his or her own unique information, such as birth information, and wishes to receive services based on this unique information.
[0038] In this embodiment, a collection of multiple devices may be considered as one server. The allocation of multiple functions required to realize the server 20 according to this embodiment to one or more pieces of hardware can be determined appropriately in consideration of the processing capacity of each piece of hardware and / or the specifications required for the server 20.
[0039] 2 may be, for example, a mobile terminal such as a smartphone or a tablet, a desktop personal computer (PC), a laptop PC, or a wearable terminal such as a head mounted display (HMD) or a wristwatch terminal.
[0040] The terminal device 10 includes a communication IF (Interface) 12, an input device 13, an output device 14, a memory 15, a storage 16, and a processor 19.
[0041] The communication IF 12 is an interface for inputting and outputting signals so that the terminal device 10 can communicate with devices in the system 1, such as the server 20, for example.
[0042] The input device 13 is a device for receiving input operations from a user (for example, a touch panel, a touch pad, a pointing device such as a mouse, a keyboard, etc.).
[0043] The output device 14 is a device (such as a display or speaker) for presenting information to the user.
[0044] The memory 15 is for temporarily storing programs and data to be processed by the programs, and is a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0045] The storage 16 is for storing data, and is, for example, a flash memory or a hard disk drive (HDD).
[0046] The processor 19 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, a register, a peripheral circuit, and the like.
[0047] The server 20 generates keywords based on the user's unique information provided by the terminal device 10. The generated keywords may also be selected as necessary. The server 20 then generates a first keyword group from the first information and second information of the first user, and generates a second keyword group from the first information and second information of the registered user. The server 20 then evaluates the similarity between the first keyword group and the second keyword group, and matches the first user with the registered user.
[0048] The server 20 is realized by, for example, a computer (information processing device) connected to a network 80. As shown in FIG. 2, the server 20 includes a communication IF 22, an input / output IF 23, a memory 25, a storage 26, and a processor 29.
[0049] The communication IF 22 is an interface for inputting and outputting signals so that the server 20 can communicate with devices in the system 1, such as the terminal device 10, for example.
[0050] The input / output IF 23 functions as an interface with an input device for receiving input operations from the user and an output device for presenting information to the user.
[0051] The memory 25 is for temporarily storing programs and data to be processed by the programs, and is a volatile memory such as a DRAM.
[0052] The storage 26 is for storing data, and is, for example, a flash memory or a HDD.
[0053] The processor 29 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, registers, peripheral circuits, and the like.
[0054] <1.1 Functional configuration of terminal device> Fig. 3 is a block diagram illustrating an example of the functional configuration of the terminal device 10 illustrated in Fig. 2. The terminal device 10 illustrated in Fig. 3 is realized by, for example, a PC, a mobile terminal, or a wearable terminal. As illustrated in Fig. 3, the terminal device 10 includes a communication unit 120, an input device 13, an output device 14, an audio processing unit 17, a microphone 171, a speaker 172, a camera 160, a position information sensor 150, a storage unit 180, and a control unit 190. The blocks included in the terminal device 10 are electrically connected by, for example, a bus or the like.
[0055] The communication unit 120 performs processing such as modulation and demodulation for the terminal device 10 to communicate with other devices. The communication unit 120 performs transmission processing on the signal generated by the control unit 190 and transmits it to the outside (for example, the server 20). The communication unit 120 performs reception processing on the signal received from the outside and outputs it to the control unit 190.
[0056] The input device 13 is a device for inputting instructions or information by a user operating the terminal device 10. The input device 13 may be realized by, for example, a keyboard, a mouse, a reader, etc. If the terminal device 10 is a mobile terminal or the like, the input device 13 may be realized by, for example, a touch-sensitive device 131, which inputs instructions by touching the operation surface. The input device 13 converts instructions input by the user into electrical signals and outputs the electrical signals to the control unit 190. The input device 13 may also include, for example, a receiving port that receives electrical signals input from an external input device.
[0057] The output device 14 is a device for presenting information to a user operating the terminal device 10. The output device 14 is realized, for example, by a display 141 or the like. The display 141 displays data according to the control of the control unit 190. The display 141 is realized, for example, by an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display or the like.
[0058] The audio processing unit 17 performs, for example, digital-to-analog conversion processing of an audio signal. The audio processing unit 17 converts a signal provided from the microphone 171 into a digital signal and provides the converted signal to the control unit 190. The audio processing unit 17 also provides the audio signal to the speaker 172. The audio processing unit 17 is realized, for example, by a processor for audio processing. The microphone 171 receives audio input and provides an audio signal corresponding to the audio input to the audio processing unit 17. The speaker 172 converts the audio signal provided from the audio processing unit 17 into audio and outputs the audio to the outside of the terminal device 10.
[0059] The camera 160 is a device that receives light with a light receiving element and outputs the light as an image capturing signal.
[0060] The position information sensor 150 is a sensor that detects the position of the terminal device 10, and is, for example, a GPS (Global Positioning System) module. The GPS module is a receiving device used in a satellite positioning system. In the satellite positioning system, signals are received from at least three or four satellites, and the current position of the terminal device 10 equipped with the GPS module is detected based on the received signals. The position information sensor 150 may detect the current position of the terminal device 10 from the position of the wireless base station to which the terminal device 10 is connected.
[0061] The storage unit 180 is realized by, for example, the memory 15, the storage 16, etc., and stores data and programs used by the terminal device 10. The storage unit 180 stores, for example, account information 181.
[0062] The account information 181 is information for identifying the user (account) of the terminal device 10, which is required when logging in to the electronic commerce server 30, and examples thereof include a user ID and a user password.
[0063] The control unit 190 is realized by the processor 19 reading a program stored in the storage unit 180 and executing instructions included in the program. The control unit 190 controls the operation of the terminal device 10. The control unit 190 functions as an operation reception unit 191, a transmission / reception unit 192, and a presentation control unit 193 by operating in accordance with the program.
[0064] The operation reception unit 191 performs processing for receiving instructions or information input from the input device 13. Specifically, for example, the operation reception unit 191 receives information based on instructions input from a keyboard, a mouse, or the like.
[0065] Furthermore, the operation reception unit 191 receives voice instructions input from the microphone 171. Specifically, for example, the operation reception unit 191 receives a voice signal that is input from the microphone 171 and converted into a digital signal by the voice processing unit 17. For example, the operation reception unit 191 analyzes the received voice signal and extracts a predetermined noun, thereby acquiring an instruction from the user.
[0066] The transmitting / receiving unit 192 performs processing for the terminal device 10 to transmit and receive data to and from an external device such as the server 20 in accordance with a communication protocol. Specifically, for example, the transmitting / receiving unit 192 transmits the business content input by the user to the server 20. In addition, the transmitting / receiving unit 192 receives information about the user from the server 20.
[0067] The presentation control unit 193 controls the output device 14 to present information provided from the server 20 to the user. Specifically, for example, the presentation control unit 193 causes the information transmitted from the server 20 to be displayed on the display 141. In addition, the presentation control unit 193 causes the information transmitted from the server 20 to be output from the speaker 172.
[0068] <1.2 Functional configuration of server 20> 4 is a diagram showing an example of the functional configuration of the server 20. As shown in FIG. 4, the server 20 functions as a communication unit 201, a storage unit 202, and a control unit 203.
[0069] The communication unit 201 performs processing for the server 20 to communicate with external devices.
[0070] The storage unit 202 includes, for example, a user information DB 2021, a keyword information DB 2022, an avatar information DB 2025, a keyword DB 2026, and the like.
[0071] The user information DB 2021 is a database for holding information about users (who are also users of the terminal devices 10) who use the system 1 (particularly the server 20) of this embodiment. Details will be described later.
[0072] The keyword information DB 2022 is a database for holding information relating to keywords generated by the server 20 (particularly the keyword generation module 2034, which will be described later). Details will be described later.
[0073] The avatar information DB 2025 is a database for holding information about avatars that perform various actions in the virtual space provided by the server 20. Details will be described later.
[0074] The keyword DB 2026 is a database that is referenced when the keyword generation module 2034 of the server 20 generates a keyword, as will be described in detail later.
[0075] The control unit 203 is realized by the processor 29 reading a program stored in the storage unit 202 and executing instructions included in the program. By operating in accordance with the program, the control unit 203 performs functions indicated as a reception control module 2031, a transmission control module 2032, a birth information etc. acquisition module 2033, a keyword generation module 2034, a weighting module 2035, a compatibility value calculation module 2036, a partner selection module 2037, and an avatar management module 2038.
[0076] The reception control module 2031 controls the process by which the server 20 receives signals from external devices in accordance with a communication protocol.
[0077] The transmission control module 2032 controls the process in which the server 20 transmits signals to external devices in accordance with a communication protocol.
[0078] The birth information etc. acquisition module 2033 accepts input of birth information (first information) that is unique information of the user from the user of the terminal device 10. Then, the birth information etc. acquisition module 2033 stores the birth information of the accepted unique information in the user information DB 2021 and temporarily stores the birth information in the storage unit 202.
[0079] Here, the birth information always includes information about the user's date of birth, and may also include at least one of information about the user's time of birth, location information about the user's place of birth, and the user's blood type. The reason the user's time of birth is included in the birth information is that the keyword generation module 2034, which is a fortune-telling engine described below, can output keywords that are unique to the user (and therefore suitable for the user) by including the time of birth as birth information. The location information about the user's place of birth is also included as birth information to make matching more suitable for the user. Information about blood type is information that categorizes users into four categories, and is similarly included as birth information to make matching more suitable for the user.
[0080] The birth information etc. acquisition module 2033 may accept input of birth information etc. via an avatar generated by the avatar management module 2038, which will be described later. As an example, the avatar generated by the avatar management module 2038 may have a conversation with the user requesting input of birth information etc., and the user may respond (input) the birth information etc. to the avatar, thereby accepting input of birth information etc.
[0081] The keyword generation module 2034 generates keywords related to the user based on the birth information etc. input accepted by the birth information etc. acquisition module 2033 , and stores the generated keywords in the keyword information DB 2022 .
[0082] The keyword generation module 2034 is the fortune-telling engine described above, and is an engine that performs statistical processing to derive results from inputting birth information and the like based on the fortune-telling procedure (which can also be called an algorithm). In that sense, although individual differences between fortune-telling engines are allowed, for a single fortune-telling engine, once the input data is determined, the keywords output by the fortune-telling engine are uniquely determined. Naturally, the keyword generation module 2034 can have multiple fortune-telling engines, and generate a large number of keywords using these multiple fortune-telling engines. Alternatively, the user may be prompted to select a fortune-telling engine, and keywords may be generated by the selected fortune-telling engine.
[0083] Alternatively, the keyword generation module 2034 references the keyword DB 2026 and outputs a keyword that is uniquely determined using birth information, etc. as input. The keyword DB 2026 itself may be generated by storing a plurality of keywords that are generated in advance using birth information, etc. as input based on the above-described algorithm. In this case, as will be mentioned when explaining the keyword DB 2026, it is preferable that multiple keywords are associated with one input of birth information, etc. in the keyword DB 2026. This allows the keyword generation module 2034 to output a plurality of related keywords using birth information, etc. as input.
[0084] The fortune-telling engine that constitutes the keyword generation module 2034 can generate a plurality of keywords. The keyword generation module 2034 can generate a plurality of keywords, but may output only a portion of the plurality of keywords.
[0085] Here, when the birth information etc. acquisition module 2033 accepts input of birth information (first information), the keyword generation module 2034 acquires information about a predetermined date and time (second information) in addition to the first information, and generates a keyword based on the first information and the second information. An example of the predetermined date and time is the current date and time when the keyword generation module 2034 generates a keyword.
[0086] The keyword generation module 2034 generates a first group of keywords from the first information and second information of the first user. Also, the keyword generation module 2034 generates a second group of keywords from the first information and second information of at least some of the registered users.
[0087] The first keyword and the second keyword are keywords that are uniquely determined based on the first information and the second information.
[0088] The weighting module 2035 assigns weights to the keyword group generated by the keyword generation module 2034. The weighting module 2035 assigns weights to each keyword in the first keyword group from the first information and second information of the first user. The weighting module 2035 assigns weights to each keyword in the second keyword group from the first information and second information of at least some of the registered users.
[0089] The compatibility value calculation module 2036 calculates a compatibility value between the first user and at least some of the registered users. The compatibility value is an evaluation value that evaluates the similarity between the first user's first keyword group and the registered user's second keyword group, taking into account weighting, and quantifies the compatibility between the first user and the registered user. The higher the similarity between the first keyword group and the second keyword group, the higher the compatibility value. The compatibility value is, for example, a value between 0 and 1. When the compatibility value is 1, the compatibility between the first user and the registered user is best. When the compatibility value is 0, the compatibility between the first user and the registered user is worst.
[0090] The compatibility value calculation module 2036 may, for example, quantify the similarity between one keyword in the first keyword group and one keyword in the second keyword group, and multiply the quantified value by a weighting factor. In this case, it is preferable to multiply the quantified value by both the weighting factor of the first keyword group and the weighting factor of the second keyword group.
[0091] The similarity compatibility value CS1, which is a compatibility value related to similarity, is given by, for example, the following formula. CS1 = Σij (ai × bj × Eij) ………(1) i: A serial number for the first user's multiple keywords j: A serial number for multiple keywords of a registered user Σij: sum over i and j ai: Weighting value of the first keyword bj: weight value of the second keyword Eij: The similarity score between the first and second keywords
[0092] The above formula quantifies the similarity between the keywords in the first keyword group and the keywords in the second keyword group as an evaluation value Eij, multiplies it by the weighting value ai of the keyword in the first keyword group and the weighting value bj of the keyword in the second keyword group, and then sums up the results for all combinations.
[0093] Let us take the example of calculating the compatibility score between user 0001 and user 0002 in Figure 6 (described later). First, the first term of the sum is the evaluation score for the keywords "red" and "contact a friend." a1 is +2, and b1 is -2. E11 is the evaluation score for the similarity between the keywords "red" and "contact a friend." These similarity evaluation scores can be defined, for example, as a numerical distance across the hierarchical levels of a thesaurus. That is, if two words are located in a very close hierarchical level in the thesaurus, a high evaluation score is assigned, and if they are located in a distant hierarchical level, a low evaluation score is assigned. Furthermore, if these two words are located in a lower hierarchical level in the thesaurus, a value with a large absolute value may be used as the evaluation score Eij. Alternatively, the similarity may be evaluated based on the distance between two words in the thesaurus.
[0094] The second term of the sum calculates the evaluation value for the keywords “red” and “family gathering.” In this way, the compatibility value CS1 is calculated by adding up the evaluation values calculated in sequence.
[0095] In this case, the weighting value of the first keyword group may be set to be larger. For example, the weighting value of the first keyword group may be doubled. Conversely, the weighting value of the second keyword group may be set to be larger.
[0096] The compatibility value calculation module 2036 does not necessarily have to set a maximum value or a minimum value. Alternatively, after calculation, the compatibility value may be scaled to a real number between 0 and 100, for example.
[0097] The partner selection module 2037 sorts the registered users whose compatibility values have been calculated in descending order of compatibility value. The partner selection module 2037, for example, selects the top five users with the highest compatibility values. The partner selection module 2037, for example, displays the user names and compatibility values of the top five users. The number of registered users to be displayed may be changed as appropriate.
[0098] The avatar management module 2038 forms a virtual space within the server 20, generates an avatar for each user within this virtual space, and causes the avatar to act within the virtual space. The avatar management module 2038 references the avatar information DB 2025 to determine the behavior pattern and personality of the avatar for each user, and causes the avatar to perform various actions within the virtual space based on the determined behavior pattern and personality. The behavior pattern and personality of the avatar for each user stored in the avatar information DB 2025 may be set by the avatar management module 2038 by assigning predetermined values in advance, or may be determined by the avatar management module 2038 based on a first keyword generated by the keyword generation module 2034. The avatar management module 2038 may also set or change the behavior pattern and personality of the avatar based on conversational input between the user and the avatar (mainly input from the user).
[0099] <2 Data Structure> 5 to 7 are diagrams showing the data structure of the database stored in the server 20. Note that FIGS. 5 to 7 are merely examples and do not exclude data not shown.
[0100] The databases shown in Figures 5 to 7 are relational databases, which are used to manage and correlate data sets called tables, which are structured by rows and columns. In a database, a table is called a table, a column in a table is called a column, and a row in a table is called a record. In a relational database, relationships between tables can be set and associated.
[0101] Typically, each table has a column set as a primary key for uniquely identifying a record, but setting a primary key to a column is not essential. The control units 203, 303 of the server 20 and the e-commerce server 30 can cause the processor 29 to add, delete, or update records in specific tables stored in the storage units 202, 302 according to various programs.
[0102] FIG. 5 is a diagram showing the data structure of the user information DB2021. As shown in FIG. 5, each record of the user information DB2021 includes, for example, an item "user ID," an item "user password," and an item "date of birth." Of the information stored in the user information DB2021, the items "user ID" and "user password" are information assigned by the control unit 203 when the user first registers with the system 1 of this embodiment, and the item "date of birth" is information acquired from the user by the birth information acquisition module 2033 of the server 20. The information stored in the user information DB2021 can be changed or updated as appropriate.
[0103] The item "User ID" is an ID for identifying a user who uses the system 1 (particularly the server 20) of this embodiment. The item "User PW" is a password used by the user when logging in to the system 1 of this embodiment. The server 20 authenticates the user using these items "User ID" and "User PW" and the information entered by the user when logging in. The item "Birthday" is the user's birth information, which is the first information acquired by the birth information acquisition module 2033.
[0104] FIG. 6 is a diagram showing the data structure of the keyword information DB2022. As shown in FIG. 6, each record of the keyword information DB2022 includes, for example, an item "user ID," an item "creation date," an item "keyword ID," an item "keyword," an item "attribute," an item "weighting," and an item "parameter." Of the information stored in the keyword information DB2022, the items "user ID," "creation date," "keyword ID," and "keyword" are information generated by the keyword generation module 2034 with reference to the user information DB2021, the items "attribute" and "weighting" are generated by, for example, the weighting module 2035, and the item "parameter" is generated by, for example, the weighting module 2035. The information stored in the keyword information DB2022 can be changed or updated as appropriate.
[0105] The item "User ID" is an ID for identifying a user and is the same as the item "User ID" in the user information DB 2021. The item "Creation Date" is information indicating the date on which a keyword was generated by the keyword generation module 2034. The item "Keyword ID" is information for identifying a keyword generated by the keyword generation module 2034. The item "Keyword" is information indicating a keyword identified by the keyword ID. In the keyword information DB 2022 of this embodiment, keywords are classified by user and by creation date. Therefore, even if the "keyword" is the same information, if the user and creation date are different, they are managed as different keywords. The item "Attribute" is information indicating the attribute of a keyword identified by the keyword ID. The item "Weighting" is information indicating a weighting value of a keyword identified by the keyword ID. In the example shown in FIG. 6, the weighting value takes positive and negative values centered around 0, but the weighting value is not limited to the illustrated example. The item "Parameter" is information indicating a parameter value of a keyword identified by a keyword ID. In the example shown in FIG. 7, the parameter value is a value equal to or greater than 0, but the parameter value is not limited to the example shown.
[0106] Fig. 7 is a diagram showing the data structure of the keyword DB 2026. As shown in Fig. 7, each record of the keyword DB 2026 includes, for example, an item "keyword ID," an item "birth information," an item "date and time," and an item "keyword." The information stored in the keyword information DB 2022 is information generated by the keyword generation module 2034. The information stored in the keyword DB 2026 can be changed and updated as appropriate.
[0107] The item "Keyword ID" is information for identifying a keyword generated by the keyword generation module 2034. The item "Birth Information" is birth information uniquely associated with a keyword identified by a keyword ID. The item "Date" is a date uniquely associated with a keyword identified by a keyword ID. The item "Keyword" is information indicating a keyword identified by a keyword ID.
[0108] 7, in the keyword DB 2026, multiple keywords are associated with one input of birth information, etc. This allows the keyword generation module 2034 to output multiple related keywords using birth information, etc. as input.
[0109] <3 Example of operation> An example of the operation of the server 20 will now be described.
[0110] Fig. 8 is a flowchart illustrating an example of the operation of the server 20. Fig. 8 is a flowchart illustrating an example of the operation when a first user of the terminal device 10 inputs first information, which is birth information, the server 20 generates a first keyword group based on the first information of the first user, etc., the server 20 generates a second keyword group based on the first information of registered users, etc., calculates a compatibility value that evaluates the similarity between the first keyword group and the second keyword group, and the server 20 presents matching partners to the first user based on the compatibility value.
[0111] In step S1400, the control unit 203 transmits screen data to the terminal device 10, requesting input of birth information, etc., of the user of the terminal device 10. Specifically, for example, the control unit 203 generates screen data using the birth information, etc., acquisition module 2033, and transmits the generated screen data to the terminal device 10 via the network 80. The control unit 190 of the terminal device 10 to which the screen data has been transmitted receives the screen data via, for example, the transmission / reception unit 192 and the communication unit 120, and generates and displays a predetermined display screen on the display 141 based on the received screen data using the presentation control unit 193.
[0112] In step S1401, the control unit 203 waits for input of birth information, etc. by the user of the terminal device 10, and upon accepting the user's operation input (YES in step S1401), the process proceeds to step S1402. Specifically, for example, the operation accepting unit 191 of the control unit 190 of the terminal device 10 accepts the operation input of birth information, etc., entered by the user via the touch-sensitive device 131, and transmits the entered birth information, etc. to the server 20 via the transmission / reception unit 192, the communication unit 120, and the network 80. The control unit 203 of the server 20 accepts the user's birth information, etc., transmitted from the terminal device 10, for example, using the birth information, etc., acquisition module 2033, and stores the information in the user information DB 2021. In this way, the control unit 203 accepts input of first information related to the first user's birth information from the first user and acquires second information related to a predetermined date and time. The second information is, for example, the time when the first user inputs the first information and the birth information etc. acquisition module 2033 stores the first information in the user information DB 2021.
[0113] In step S1402, the control unit 203 generates a first keyword group based on the birth information, etc. of the user of the terminal device 10 accepted in step S1401, and, if necessary, a predetermined date and time (generally the current date and time), which is the second information. Specifically, for example, the control unit 203 generates the first keyword group using the keyword generation module 2034, based on the birth information, etc. of the user of the terminal device 10, and the predetermined date and time, which is the second information.
[0114] In step S1403, the control unit 203 generates a second group of keywords based on the birth information, etc. of at least some of the registered users and the second information. Specifically, for example, the control unit 203 generates a first group of keywords based on the birth information, etc. of the registered users and a predetermined date and time, which is the second information, using the keyword generation module 2034. Here, the second information is the same as that used in step S1402.
[0115] In step S1404, the weighting module 2035 assigns attributes and weighting values to the first keyword group, and stores the assigned attributes and the like in the keyword information DB 2022. The weighting value may also be changed depending on the attribute.
[0116] In step S1405, the weighting module 2035 assigns attributes and weighting values to the second keyword group, and stores the assigned attributes and the like in the keyword information DB 2022. The weighting value may also be changed depending on the attribute.
[0117] In step S1406, the compatibility value calculation module 2036 calculates the compatibility value. At this time, the similarity between the keywords in the first keyword group and the keywords in the second keyword group is quantified, and the quantified value is multiplied by the weighting value of the first keyword group and the weighting value of the second keyword group. Of course, other processing may be performed.
[0118] In step S1407, the partner selection module 2037 selects a match partner. At this time, for example, the partner selection module 2037 displays the user names and compatibility values of the top five registered users whose compatibility values have been calculated on the terminal device 10. At this time, for example, it is advisable to scale the compatibility value to a value between 0 and 100. This is because the first user who receives the presented information can easily imagine how well he or she will fare with the selected registered user.
[0119] <4 Screen example> An example of a screen output to the terminal device 10 will be described below with reference to FIGS.
[0120] FIG. 9 is a diagram showing a screen displayed on the terminal device 10 when the user of the terminal device 10 logs in to the system 1 (server 20) of this embodiment.
[0121] An avatar 1501 generated by the avatar management module 2038 of the server 20 is displayed on a screen 1500 of the terminal device 10, and an area 1502 is displayed in which a question from the avatar 1501 is displayed. The area 1502 asks the user to input birth information, etc., of the user of the terminal device 10.
[0122] FIG. 10 is a diagram showing a screen displayed on the terminal device 10 following the screen shown in FIG.
[0123] The avatar management module 2038 and the birth information etc. acquisition module 2033 of the server 20 cause the terminal device 10 to display a screen 1600 as shown in FIG. 10 on its display 141. The screen 1600 continues to display the avatar 1601, and displays an area 1602 in which a question from the avatar 1601 is displayed. The area 1502 provides a field for inputting the user's birth information etc. The user of the terminal device 10 inputs the birth information etc. in the area 1602, and if the user determines that the input birth information etc. can be transmitted to the server 20, performs an input operation by touching an "OK!" button 1603, for example. On the other hand, if the user does not wish to transmit the birth information etc., the user performs an input operation by touching a "Cancel" button 1604, for example. When an input operation such as touching the "OK!" button 1603 is performed, the birth information etc. of the user of the terminal device 10 is sent to the server 20 and stored in the user information DB 2021.
[0124] FIG. 11 shows a screen displayed on the terminal device 10 to request the user of the terminal device 10 to input blood type information in response to the user of the terminal device 10 performing an input operation on the "OK!" button 1603 in FIG. 10.
[0125] The avatar management module 2038 and the birth information, etc. acquisition module 2033 of the server 20 cause the terminal device 10 to display a screen 1700, as shown in FIG. 11, on its display 141. The screen 1700 continues to display the avatar 1701, and displays an area 1702 in which a question from the avatar 1701 is displayed. The area 1702 provides a field for inputting the user's blood type. The user of the terminal device 10 inputs their blood type in the area 1702, and if they decide to transmit the input blood type information to the server 20, they perform an input operation, such as touching an "OK!" button 1703. On the other hand, if the user does not wish to transmit the blood type information, they perform an input operation, such as touching a "Cancel" button 1704. When the "OK!" button 1703 is touched, the blood type information of the user of the terminal device 10 is sent to the server 20 and stored in the user information DB 2021.
[0126] FIG. 12 is a diagram showing a screen displaying services presented by the partner selection module 2037.
[0127] The avatar management module 2038 of the server 20 causes the terminal device 10 to display a screen 1800 as shown in Fig. 12 on its display 141. The screen 1800 continues to display the avatar 1801, and also displays an area 1802 in which a message from the avatar 1801 is displayed. Area 1802 displays information on the top two registered users selected by the partner selection module 2037. Area 1802 displays the user names, compatibility scores, ages, blood types, zodiac signs, and keywords of Person A and Person B.
[0128] By performing an input operation such as touching the "continue" button 1803, the user can select, for example, person A and register him or her as a favorite.
[0129] The user can terminate the matching by performing an input operation such as touching the "End" button 1804.
[0130] <5. Effects of the First Embodiment> As described above in detail, the system 1 of this embodiment accepts input of birth information and other information specific to the user from the user of the terminal device 10, generates a first group of keywords related to the user based on the birth information and other information, generates a second group of keywords related to the registered users based on the birth information and other information of at least some of the registered users, calculates a compatibility value that evaluates the similarity between the first group of keywords and the second group of keywords, and presents information on registered users with a high compatibility value to the user. This makes it possible to present registered users who are compatible with the user based on the user and the registered users' birth information and other information.
[0131] For example, if the current date and time is used as the second information and horoscope is used as the divination method, keywords based on the horoscopes of the first user and the registered user at the time of their birth and the current date and time will be added. Because horoscope information for the current date and time is used in this way, if the current date and time as the second information changes, the compatibility value will also change accordingly.
[0132] <6 Variations> <Keywords> The first keyword group and the second keyword group may each be one keyword. That is, the first keyword group may be one first keyword, and the second keyword group may be one second keyword.
[0133] <Affinity Value> A large compatibility value CS1 indicates a good compatibility between the first user and the registered user, and a small compatibility value CS1 indicates a poor compatibility between the first user and the registered user. When calculating the compatibility value CS1, ai and bj may be normalized to real numbers between 0 and 1. In addition, the evaluation value Eij may be a positive or negative real number.
[0134] Furthermore, if the number of keywords is not so large, the evaluation values Eij may be tabulated, since this is faster than counting the number of times the thesaurus hierarchy is crossed each time a calculation is performed.
[0135] The compatibility value may be calculated using other algorithms.
[0136] <Adjusting weighting values> In the step of weighting the first keywords, weighting values for keywords generated from the birth information of the first user may be generated initially and set to a larger value, and in the step of weighting the second keywords, weighting values for keywords generated from the birth information of the registered user may be generated initially and set to a larger value. In this case, compatibility based on the birth information is emphasized. It is possible to pick out partners who are compatible over a long period of time.
[0137] Conversely, in the step of weighting the first keywords, weighting values for keywords generated from the birth information of the first user may be generated initially and the weighting values may be set to a smaller value, and in the step of weighting the second keywords, weighting values for keywords generated from the birth information of the registered user may be generated initially and the weighting values may be set to a smaller value. In this case, for example, it is possible to pick out a partner who is compatible with the user on that day.
[0138] The first and second keyword groups do not necessarily need to be weighted. In that case, the weighting value can be set to 1.
[0139] <Second information> The second information is information common to the first user and the registered user. The control unit 203 may also receive a predetermined date and time from the first user as the second information. In some cases, the second information of the first user and the second information of the registered user may be different dates.
[0140] <Horoscope> Processor 29 may use a horoscope. In this case, processor 29 executes the steps of: setting a first user group including users who have a first commonality in their birth information; setting a second user group including users who have a second commonality in their birth information and are not included in the first user group; generating a first keyword associated with the first group based on the first commonality; generating a second keyword associated with the second group based on the second commonality; selecting a group from the second user group to be a match partner for the first user group based on similarity between the first keyword and the second keyword; and presenting information about the selected match partners to the first user.
[0141] For example, if the first user group is Aries and the first common point is the birthday period of Aries, and the second user group is Virgo and the second common point is the birthday period of Virgo, the processor 29 creates keywords for the first user group from the characteristics of Aries and keywords for the second user group from the characteristics of Virgo. This allows the compatibility value between the first user group and the second user group to be calculated.
[0142] Processor 29 may execute the steps of: designating a first group as a group to which a first user belongs based on the first information and second information of the first user; and designating a second group as a group to which a registered user belongs based on the first information and second information of the registered user. In the step of generating a first keyword, the processor may add a first keyword to a first keyword group based on characteristics of the first group; and in the step of generating a second keyword, the processor may add a second keyword to a second keyword group based on characteristics of the second group. For example, the first group and the second group are constellations in astrology. This allows a compatibility value to be calculated by tracing keywords from the characteristics of the constellations.
[0143] <Favorites> Processor 29 may execute the steps of selecting a plurality of matching partners in the step of selecting matching partners, presenting the plurality of matching partners in the step of presenting matching partners, and accepting a selection of one or more matching partners from the plurality of matching partners by the first user, and storing information for identifying the accepted matching partners' account information in association with the first user's account information. The first user can register the matching partners' information as favorites. In addition, the second information, etc., at that time may be linked to this information and registered in a database.
[0144] <Avatar> Processor 29 may execute a step of generating an avatar representing the first user in the virtual space based on the first keyword. Processor 29 may also set at least one of a behavior pattern and a personality of the avatar based on the first keyword.
[0145] Fig. 13 is a diagram showing an example of the data structure of the avatar information DB 2025. As shown in Fig. 13, the personality and behavior pattern of the avatar are determined for each user. Also, avatar animations corresponding to the avatar's personality or behavior pattern are stored in memory 25.
[0146] <Keyword refinement> The number of keywords may be reduced in order to reduce the amount of processing work. When selecting keywords based on weighting values, various selection procedures are possible, such as selecting a certain number of keywords in descending order of weighting value, or selecting keywords with weighting values equal to or greater than a predetermined value.
[0147] <Narrowing down registered users> To reduce the amount of processing work, the number of registered users for whom compatibility values are calculated as matching partners may be narrowed down. To achieve this, for example, 1,000 users may be selected in the order in which they were registered. Of course, the number of users selected may be changed. Alternatively, a certain number of users may be selected from the most recent registered users. Alternatively, registered users within a predetermined range of years based on the birth year of the first user may be selected. For example, registered users within five years of the age of the first user may be selected. Even in this case, the compatibility values are still calculated for at least some of the registered users.
[0148] Alternatively, the number of days since the first user's last login, the age range of the matched partner, and the region of the matched partner may be accepted. In this case, processor 29 selects registered users who meet the conditions and calculates the compatibility value. Here, it is not necessary to calculate the compatibility value for all registered users who meet the conditions. The compatibility value may be calculated for some of the registered users who meet the conditions.
[0149] <Morphological decomposition> The control unit 203 may have a morpheme decomposition module. The morpheme decomposition module decomposes keywords into morphemes. For example, the keyword "contact a friend" is decomposed into two keywords, "friend" and "contact."
[0150] <Multiple Divinations> The keyword generation module 2034 may use any divination method to generate keywords. The keyword generation module 2034 may also use multiple divination methods to generate keywords. For example, the keyword generation module 2034 can generate keywords from four pillars of destiny and astrology.
[0151] Second Embodiment <1.1 Functional configuration of server 20> Fig. 14 is a block diagram showing an example of the overall configuration of a system 1A. The system 1A shown in Fig. 14 includes, for example, a terminal device 10A, a server 20A, and an e-commerce server 30 which is an example of a service site. The terminal device 10A, the server 20A, and the e-commerce server 30 are connected for communication via, for example, a network 80.
[0152] The hardware configuration of the electronic commerce server 30 is the same as that of the server 20 .
[0153] The e-commerce server 30 is realized, for example, by a computer connected to the network 80. The e-commerce server 30 is a so-called web server that provides many pages presenting products and services, accepts operational inputs from users who view these pages wishing to purchase the products presented on the pages, and performs product delivery, payment, etc. based on this operational input. The e-commerce server 30 may also be a server that provides a platform for such product purchases, product shipping, and payment. In this case, some of the so-called e-commerce procedures, such as determining the content listed on the pages and product shipping, may be performed by individual sellers participating in the e-commerce platform. The e-commerce server 30 stores the past purchase histories of users who use the e-commerce server 30.
[0154] In FIG. 14, the electronic commerce server 30 is provided as a single unit, but a single electronic commerce server 30 may be a collection of multiple devices.
[0155] 15 is a diagram illustrating an example of the functional configuration of the terminal device 10A according to the second embodiment. The terminal device 10A is the terminal device 10A according to the first embodiment, with site identification information 182 stored in the storage unit 180.
[0156] The site identification information 182 is information that allows the e-commerce server 30 to identify a user, and is information that is provided from the e-commerce server 30 to the terminal device 10A when the user of the terminal device 10A logs in using the account information 181 or the like. Information called an HTTP Cookie is known as an example of such site identification information 182. However, since cookies have recently become increasingly avoided by users from the perspective of protecting personal information, it is preferable to use site identification information 182 that is not strongly associated with personal information.
[0157] 16 is a diagram showing an example of the functional configuration of the server 20A of the second embodiment. The server 20A is obtained by adding a site browsing information DB 2024 and a site search module 2039 to the server 20 of the first embodiment.
[0158] The site browsing information DB 2024 is a database for holding history information of the user of the terminal device 10A browsing the e-commerce server 30. This history information also includes purchase history information of the e-commerce server 30.
[0159] The site search module 2039 searches the e-commerce server 30 to acquire keywords, and temporarily stores the search results, i.e., site keywords, in the storage unit 202. In the system 1A of this embodiment, both a pattern in which the server 20A searches the e-commerce server 30 and a pattern in which the e-commerce server 30 itself searches will be described. Which pattern to use, or whether to use both patterns, can be determined by the system 1A. The site search module 2039 is a module used when the server 20A searches the e-commerce server 30. If the account information 181 of a user of the e-commerce server 30 is stored in the account information DB 2023, the site search module 2039 may use the account information 181 to refer to the purchase history information DB 3021 and the site browsing information DB 3023 for each user stored in the e-commerce server 30, and acquire site keywords from, or with priority given to, a page where the user has previously purchased a service on the e-commerce server 30. In addition, in cases where the e-commerce server 30 does not allow reference to the purchase history information DB3021 and site browsing information DB3023 for each user, the site search module 2039 may search the e-commerce server 30 without referencing the user's purchase history to obtain keywords, and temporarily store the search results, site keywords, in the memory unit 202.
[0160] The timing of the search of the electronic commerce server 30 by the site search module 2039 is also arbitrary.
[0161] <1.2 Functional configuration of the e-commerce server 30> 17 is a diagram showing an example of the functional configuration of the e-commerce server 30. As shown in FIG. 17, the e-commerce server 30 functions as a communication unit 301, a storage unit 302, and a control unit 303.
[0162] The communication unit 301 performs processing for the electronic commerce server 30 to communicate with external devices.
[0163] The storage unit 302 includes, for example, a purchase history information DB 3021, screen page data 3022, and a site browsing information DB 3023.
[0164] The purchase history information DB 3021 is a database for storing information relating to the history of purchases of services, products, etc. made by users of the e-commerce server 30 on the e-commerce server 30. Details will be described later.
[0165] The screen page data 3022 is data for configuring a page provided on the e-commerce server 30.
[0166] The site browsing information DB 3023 is a database for holding history information of the user of the terminal device 10A browsing the e-commerce server 30. This history information also includes purchase history information of the e-commerce server 30.
[0167] The control unit 303 is realized by the processor of the e-commerce server 30 reading a program stored in the storage unit 302 and executing instructions included in the program. By operating in accordance with the program, the control unit 303 performs functions shown as a reception control module 3031, a transmission control module 3032, a site search module 3033, an information presentation module 3034, a site browsing detection module 3035, an e-commerce module 3036, and a payment module 3037.
[0168] The reception control module 3031 controls the process in which the electronic commerce server 30 receives signals from external devices in accordance with a communication protocol.
[0169] The transmission control module 3032 controls the process in which the electronic commerce server 30 transmits signals to external devices in accordance with a communication protocol.
[0170] The site search module 3033 searches the e-commerce server 30 to acquire keywords, and temporarily stores the search results, that is, site keywords, in the storage unit 302. The site search module 3033 is a module used by the e-commerce server 30 when searching its own e-commerce server 30. The site search module 3033 may refer to the user purchase history information DB 3021 and the site browsing information DB 3023, and acquire site keywords from a page where the user has previously purchased a service on the e-commerce server 30, or by giving priority to this page.
[0171] The timing of the search of the electronic commerce server 30 by the site search module 3033 is also arbitrary.
[0172] In response to a request from the server 20A, the information presentation module 3034 selects a service within the e-commerce server 30 based on the matching results, and sends information about this service to the control unit 203 of the server 20A.
[0173] The site browsing detection module 3035 detects that a visitor to the e-commerce server 30 , including the user, has browsed the e-commerce server 30 , and stores this browsing history in the site browsing information DB 2024 .
[0174] The e-commerce module 3036 generates a page for e-commerce using the screen page data 3022 etc. for visitors, including users, who have viewed (visited) the e-commerce server 30, sends it to the visitor's terminal (including the user's terminal device 10), transitions pages based on operation input from the visitor, and, if there is a purchase input, sells and provides the service or product related to the input to the visitor. The operation of the e-commerce module 3036 is well known, and further explanation will be omitted.
[0175] When a service or the like is sold by the e-commerce module 3036, the payment module 3037 performs payment processing including an external payment server.
[0176] <2 Data Structure> The account information DB 2023 is a database for holding the account information 181 used when the user of the terminal device 10A accesses the e-commerce server 30.
[0177] 18 is a diagram showing the data structure of the account information DB2023. As shown in FIG. 18, each record of the account information DB2023 includes, for example, an item "user ID," an item "site ID," an item "electronic commerce site," an item "site_user ID," and an item "site_user PW." Of the information stored in the account information DB2023, the items "user ID" and "site ID" are information assigned by the control unit 203, and the items "electronic commerce site," "site_user ID," and "site_user PW" are information acquired by the user by providing the account information 181 stored in the terminal device 10 to the control unit 203. The information stored in the account information DB2023 can be changed or updated as appropriate.
[0178] The item "User ID" is an ID for identifying a user, and is the same as the item "User ID" in the user information DB2021. The item "Site ID" is information for identifying the e-commerce server (site) 30 that requires account information 181. The item "E-commerce site" is information regarding the name of the e-commerce server (site) 30 identified by the item "Site ID". The item "Site_User ID" is information regarding the user ID required to log in under a user name to the e-commerce server (site) 30 identified by the item "Site ID". The item "Site_User PW" is information regarding the user password required to log in under a user name to the e-commerce server (site) 30 identified by the item "Site ID".
[0179] Fig. 19 is a diagram showing the data structure of the purchase history information DB3021. As shown in Fig. 19, each record in the purchase history information DB3021 includes, for example, an item "site_user ID," an item "viewed page ID," an item "viewed page URL," and an item "purchased item." The information stored in the purchase history information DB3021 is created by the site browsing detection module 3035 and the e-commerce module 3036 and stored in the purchase history information DB3021. The information stored in the purchase history information DB3021 can be changed or updated as appropriate.
[0180] The item "site_user ID" is information for identifying a user on the e-commerce server 30, and is shared with the item "site_user ID" in account information DB2023. The item "viewed page ID" is information for identifying a page viewed by a user identified by the item "site_user ID", and is shared with the item "viewed page ID" in account information DB2023. The item "viewed page URL" is information regarding the URL of the e-commerce server (site) 30 identified by the item "viewed page ID", and is shared with the item "viewed page URL" in account information DB2023. The item "purchased product" is information regarding the name of a service, etc. purchased when a user identified by the item "site_user ID" purchases a service, etc. on a page of the e-commerce server (site) 30 identified by the item "viewed page ID".
[0181] <3 Example of operation> An example of the operation of the server 20A will be described below.
[0182] FIG. 20 is a flowchart showing an example of the operation of the server 20A.
[0183] In step S2400, similarly to step S1400, the control unit 203 sends screen data to the terminal device 10A requesting input of birth information and the like of the user of the terminal device 10.
[0184] In step S2401, similarly to step S1401, the control unit 203 waits for the user of the terminal device 10 to input birth information and the like, and when the control unit 203 accepts the user's operation input (YES in step S1401), the process proceeds to step S1402.
[0185] In step S2402, the purchase history of at least some of the first user and registered users is acquired. First, the keyword generation module 2034 accesses the account information DB 2023 shown in Fig. 18. The keyword generation module 2034 acquires data on the site users and e-commerce sites of the first user and registered users.
[0186] Next, data on purchased items is obtained from the purchase history information DB3021 shown in FIG. 19. The site search module 2039 accesses the purchase history information DB3021 in the storage unit 302 of the e-commerce server 30. The purchase history information DB3021 has information on the purchase history of the first user and the purchase history of registered users. The control unit 203 obtains the information on the purchase history of the first user and the purchase history of the registered users from the purchase history information DB3021. Then, the information on the purchase history of the first user and the purchase history of the registered users is sent to the keyword generation module 2034.
[0187] In step S2403, similarly to step S1402, the control unit 203 generates a first keyword group based on the birth information, etc. of the user of the terminal device 10 accepted in step S2401 and, if necessary, a predetermined date and time (generally the current date and time), which is the second information. Specifically, for example, the control unit 203 generates the first keyword group using the keyword generation module 2034, based on the birth information, etc. of the user of the terminal device 10A and the predetermined date and time, which is the second information.
[0188] Furthermore, the control unit 203 references the purchase history information DB 3021 of the e-commerce server 30, generates keywords based on the purchase history information of the first user, and adds the keywords to the first keyword group. Here, the purchased item itself may be used as the keyword, or the keyword generation module 2034 may generate keywords related to the purchased item. Alternatively, the keyword generation module 2034 may generate keywords based on site keywords of the e-commerce site.
[0189] In step S2404, similar to step S1403, the control unit 203 generates a second keyword group based on the birth information, etc. of at least some of the registered users and the second information. Specifically, for example, the control unit 203 generates a first keyword group based on the birth information, etc. of the registered users and a predetermined date and time, which is the second information, using the keyword generation module 2034. Here, the second information is the same as that used in step S1402. Furthermore, the control unit 203 references the purchase history information DB 3021 of the e-commerce server 30, generates keywords based on the purchase history information of the registered users, and adds the keywords to the second keyword group.
[0190] In step S2405, similarly to step S1404, the weighting module 2035 assigns attributes and weighting values to the first keyword group, and stores the assigned attributes and the like in the keyword information DB 2022.
[0191] In step S2406, similarly to step S1405, the weighting module 2035 assigns attributes and weighting values to the second keyword group, and stores the assigned attributes and the like in the keyword information DB 2022.
[0192] In step S2407, similar to step S1406, the compatibility value calculation module 2036 calculates the compatibility value.
[0193] In step S2408, similarly to step S1407, the partner selection module 2037 selects a match partner. At this time, for example, the partner selection module 2037 causes the terminal device 10 to display the user names and compatibility values of the top five registered users whose compatibility values have been calculated. At this time, for example, it is advisable to scale the compatibility value to a value between 0 and 100. This is because it is easy for the first user who receives the presented information to imagine how well he or she will fare with the selected registered user.
[0194] <4. Effects of the Second Embodiment> The system 1A of the second embodiment selects a match partner for the first user from at least some of the registered users. In this case, purchase history information from the e-commerce sites used by the first user and the registered users is used. This system A1 can take into account commonalities based on daily purchasing behavior when calculating the compatibility value. Therefore, the system A1 can perform more accurate matching.
[0195] <5 Variations> The control unit 203 may extract at least a portion of the registered users, because this can shorten the processing time for the steps of generating and matching keywords.
[0196] <Second information> The second information may be information about the date and time when the user actually uses the presented service (such as purchasing a product or receiving a service). By having the keyword generation module 2034 generate keywords taking the second information into consideration, for example, even when the same user (in which case the first information is the same) receives a presented service, the presented service may differ depending on the date and time when the user uses the system 1 according to the present disclosure, which creates an incentive for the user to repeatedly use the system 1 according to the present disclosure.
[0197] <Weighting by attribute> Weighting values may be assigned based on attributes assigned to keywords. As just one example, it is conceivable to assign a higher weighting value if the keyword attribute relates to an action or a situation, and a lower weighting value if the keyword attribute relates to the user's personality. In other words, keywords related to actions or situations are likely to match well with keywords (hereinafter referred to as "site keywords") acquired by a matching engine by crawling an e-commerce site, and are therefore considered suitable as keywords for presenting services. On the other hand, keywords related to the user's personality are highly abstract, and therefore do not necessarily match well with site keywords. Naturally, the type of suitable service that can be extracted as a result of matching depends on the performance of the matching engine, and there may be e-commerce sites that can extract site keywords similar to keywords related to the user's personality. Therefore, it is not necessary to assign a low weighting value to keywords related to the user's personality.
[0198] In the system according to the present disclosure, a matching engine crawls an e-commerce site and extracts site keywords from pages included in the e-commerce site. The matching engine may crawl the e-commerce site at any frequency, such as periodically crawling, detecting updates to page content on the e-commerce site and crawling the updated pages, or crawling when keywords are output from a fortune-telling engine (or after they are appropriately selected). Techniques for crawling pages and extracting site keywords are known, for example, in internet search sites, and will not be described further here.
[0199] The matching engine may exist as a standalone entity, or may be implemented as a function of an e-commerce site. An example of a function of an e-commerce site is when a keyword is entered into a search box on the homepage of the e-commerce site, and pages that match the keyword are displayed. In this case, keywords output by the fortune-telling engine (including pre-selected keywords) are entered into the search box, and characteristic site keywords are extracted for the pages that are displayed.
[0200] If a user has previously used an e-commerce site, the e-commerce site often retains the user's purchase history. The matching engine can refer to this purchase history to make the keywords it obtains more favorable to the user. In this case, since the purchase history is usually stored within the e-commerce site, it is preferable for the matching engine and / or the e-commerce site to obtain the user's account information on the e-commerce site in order to identify which user's purchase history it belongs to. However, in situations where the user is giving a product as a gift to someone other than the user, or in cases where the e-commerce site's policies do not allow the user to access the purchase history, it is also possible not to reference the user's own purchase history.
[0201] Thereafter, the matching engine matches the keywords output by the fortune-telling engine with site keywords acquired by crawling the electronic commerce site, and presents services in the electronic commerce site to the user based on the site keywords with a high matching rate.
[0202] There are various known methods for matching keywords with site keywords, and the methods are not particularly limited. One example is a method of simply matching keywords with site keywords and calculating the matching rate (matching score). Another method is to interpret the meanings of keywords and site keywords, cluster them, and perform matching based on the distance between the clusters. This type of method is generally called data mining. The methods used in data mining are generally suitable for matching keywords with site keywords. Another example is a method of generating word vectors for keywords and site keywords, and performing matching using the distance between the word vectors as the degree of similarity.
[0203] There are various methods for presenting services to users based on the matching rate, and the methods are not particularly limited. One example is a method of presenting services that are presented on a page of an e-commerce site that contains a site keyword with a high matching rate. In this case, the information presented to the user includes the URL (Uniform Resource Locator) of the relevant page of the e-commerce site and the page title information (the title tag ( <title> )) Also, if a thumbnail image is specified for the page (if there is a description about an image in the HTML header (), this image can be used as the thumbnail image), it is a good idea to present this thumbnail image to the user as well.< / title>
[0204] In addition to presenting the user with the page itself that contains the site keywords with a high matching rate, or instead of presenting the user with a page that exists at a higher level than the page that contains the site keywords and that succinctly indicates the services provided on the page, the page may be presented to the user.
[0205] The timing at which the matching engine presents services to the user can also be arbitrary. For example, the matching engine can constantly crawl keywords on an e-commerce site (repeatedly at regular intervals), and while constantly performing matching, present services to the user at times when the user is likely to be active. As an example, the engine may detect that the user has operated a terminal device such as a smartphone, or that it is daytime, and present services based on the detection results. In addition, the engine may detect that the user has had a conversation with the avatar described above and present services.
[0206] In addition, in Figure 1, an e-commerce site has been used as an example of a service site, but the system according to the present disclosure can also be applied to service sites other than e-commerce sites, such as travel sites.
[0207] Although the keywords generated by the keyword generation module 2034 of the server 20 are based on the user's birth information and the like, they are based on information that abstracts most of the user's personal information. In other words, the user can obtain keywords related to the user without providing the system 1 with information that identifies the individual, such as name or address, and can receive a presentation of services within the e-commerce server 30 based on these keywords. Therefore, the user of the terminal device 10 can receive a presentation of services that match the user's preferences without providing the server 20 and the e-commerce server 30 with personal information such as name and address.
[0208] <Combination with Modifications of the First Embodiment> The second embodiment and the modified example of the first embodiment may be freely combined.
[0209] <Third embodiment> <1. Definition of compatibility value> <Friendliness> In the first embodiment, the compatibility value between the first user and the registered user is calculated based on the similarity. That is, the compatibility between the first user and the registered user is evaluated based on the commonalities between the two users. However, the compatibility is not necessarily evaluated based only on the commonalities.
[0210] For example, when evaluating compatibility, it is sometimes evaluated based on intimacy. Intimacy refers to a relationship that indicates whether the relationship with the other person is close or distant. In the case of "parent," the two are in harmony and have good compatibility. In the case of "loose," the two are in disharmony and have poor compatibility. Intimacy will be explained using the five elements, four pillars of destiny, and astrology as examples.
[0211] <Five elements> FIG. 21 is a diagram showing the relationship between the five elements. The five elements, "wood," "fire," "earth," "metal," and "water," are applied to the person being fortune-told. For example, in FIG. 21, solid arrows indicate good relationships, while dashed arrows indicate bad relationships. For example, the compatibility between "wood" and "fire" is good, the compatibility between "wood" and "earth" is bad, and the compatibility between "wood" and "wood" is neither good nor bad (harmony). Such relationships cannot be expressed by formula (1) in the first embodiment.
[0212] In the first embodiment, the compatibility value is calculated assuming that the more commonalities there are, the better the compatibility. However, depending on the divination method, the compatibility between oneself (first user) and another person (registered user) may be determined to be good based on different elements rather than commonalities like the five elements. Thus, in the third embodiment, the relationship between the elements contained in the first information of the first user and the elements contained in the first information of the registered user is evaluated individually.
[0213] In reality, the relationships between the five elements are more complex than those illustrated in the previous example.
[0214] The compatibility value is given by the following formula, for example: CSf = Fkl k: The element type of the first user l: The type of the registered user's five elements Fkl: Relationship between the Five Elements of the First User and the Five Elements of the Registered User
[0215] For example, assign the numbers 1, 2, 3, 4, and 5 to each of "wood", "fire", "earth", "metal", and "water". For example, when the five elements of the first user are "earth" and the five elements of the registered user are "water", from the above formula, the compatibility value CSf is F35. Here, k and l are any values from 1 to 5.
[0216] Here, k and l respectively indicate the types of the five elements of the first user and the types of the five elements of the registered user. Since the types of the five elements are unique to the user, no sum is taken for k and l. Note that the numbers assigned to "wood", "fire", "earth", "metal", and "water" can be freely determined by the system designer.
[0217] Fkl gives, for example, +10 in the case of the relationship of the solid-line arrow in Fig. 21, -10 in the case of the relationship of the dashed-line arrow, and 0 in the case of the relationship of the same element. Of course, other numerical values may also be used. Here, a positive value indicates that the relationship between the two is "close", and a negative value indicates that the relationship between the two is "疏远".
[0218] <Four Pillars of Destiny> Four Pillars of Destiny includes the concept of the five elements.
[0219] Fig. 22 is a diagram illustrating an excerpt of a part of the Four Pillars of Destiny formula of the first user and the registered user. In the formula, heavenly stems and earthly branches are given for each of the year pillar, month pillar, day pillar, and hour pillar.
[0220] There are ten types of heavenly stems: A, B, C, D, E, F, G, H, I, and J. Table 1 shows the relationship between the elements and the heavenly stems.
[0221] [Table 1] Element Heavenly Stem Wood A, B Fire C, D Earth E, F Metal G, H Water I, J
[0222] There are twelve Earthly Branches: Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, and Pig. Table 2 shows the relationship between the elements and Earthly Branches.
[0223] [Table 2] element Wood Tiger, Rabbit Fire Snake, Morning Earth Ox, Dragon, Wei, Dog Golden Monkey, Rooster Mizuko, Pig
[0224] In Four Pillars of Destiny, when determining compatibility, the relationship between the Heavenly Stem of the first user's day pillar and the Heavenly Stem of the registered user's day pillar is taken into consideration, as well as the relationship between the Earthly Branch of the first user's day pillar and the Earthly Branch of the registered user's day pillar. In other words, the relationship between the same matrices in Figure 22 is taken into consideration.
[0225] In Figure 22, the heavenly stem of the day pillar of the first user is "Ding". From Table 1, the element corresponding to "Ding" is "Fire". The heavenly stem of the day pillar of the registered user is "Wu". From Table 1, the element corresponding to "Wu" is "Earth". From Figure 21, the relationship between "Fire" and "Earth" is good.
[0226] In Figure 22, the earthly branch of the day pillar of the first user is "Rabbit". From Table 2, the element corresponding to "Rabbit" is "Wood". The earthly branch of the day pillar of the second user is "Worm". From Table 2, the element corresponding to "Worm" is "Fire". From Figure 21, the relationship between "Wood" and "Fire" is good.
[0227] In terms of compatibility, each person's day pillar has the greatest influence, but the year pillar, month pillar, and hour pillar also have a small influence.
[0228] The compatibility value CS2 is given by the following equation (2). CS2 = Σm (cm × Fkl) ………(2) k: The element type of the first user l: The type of the registered user's five elements m: Pillar, Heavenly Stem, Earthly Branch Fkl: Evaluation value based on the relationship between the first user's five elements and the registered user's five elements cm: Weighting value for the type of pillar, heavenly stem, and earthly support
[0229] Here, m is a numerical value assigned to each of the matrices in Figure 22. Figure 22 has four columns (four rows) and two columns (two columns) for the heavenly stems and earthly branches. Therefore, m can take on a value up to 8 (4 x 2).
[0230] cm takes large values for the Fkl of the heavenly stem of the day pillar and the earthly branch of the day pillar, and takes small values for other Fkl.
[0231] In addition, in Four Pillars of Destiny, in addition to the Heavenly Stems and Earthly Branches, "Heavenly Stems and Stars" and "Zangan Stems and Stars" may also be used to evaluate compatibility. In such cases, the value of m can be increased accordingly. Also, in formula (2), k and l are types of the five elements, but instead of the types of the five elements, they can be directly assigned to the Heavenly Stems or Earthly Branches. In other words, instead of "fire" and "earth," a separate numerical value can be prepared for the relationship between "ding" and "wu."
[0232] <Astrology> A case where compatibility is evaluated using astrology will be described. For example, the types of celestial bodies of the first user, the types of celestial bodies of the registered user, and the angles between the aforementioned celestial bodies are taken into consideration. The types of celestial bodies are, for example, the sun, moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
[0233] The compatibility value CS3 is given by the following equation (3). CS3 = Σpq (dp × eq × Gpqr) ………(3) p: the first user's object q :Registered user's celestial body r: the angular range between object p and object q Σpq :sum over p and q dp: The weighting value for the first user's celestial object eq: weighting value for the registered user's object Gpqr: Evaluation value based on the angle range between the first user's celestial object and the registered user's celestial object
[0234] For p and q, for example, numbers from 1 to 10 are assigned to the sun, moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto in that order. In this case, the evaluation value G for the first user's sun and the registered user's sun is G11r. Also, the evaluation value G for the first user's sun and the registered user's moon is G12r.
[0235] As mentioned above, p and q represent celestial bodies such as the sun, and are common to all users. Here, the control unit 203 calculates the position of each celestial body using the horoscope of the first user and the horoscope of the registered user. In this case, the birth information of the first user and the birth information of the registered user are used.
[0236] A horoscope shows the angle at which each celestial body is positioned on a circle relative to a reference point. By overlaying the horoscope of a first user with the horoscope of a registered user, it is possible to calculate, for example, the angle between the first user's Jupiter and the registered user's Venus. Of course, angles can be calculated for all combinations of celestial bodies.
[0237] Table 3 illustrates the relationship between the range of angles between the first user's sun and the registered user's moon and the evaluation value Gpqr. For example, if the angle between the sun and the moon is 61.5° based on the results of both users' horoscopes, the evaluation value Gpqr for the index 3 item is +15.
[0238] In astrology, strong correlations generally appear when the angles between celestial bodies are near 0°, 60°, 90°, 120°, and 180°. For example, in Table 3, angles near 60° and 120° are given positive evaluation values, angles near 0°, 90°, and 180° are given negative evaluation values, and other angles are given a value of 0.
[0239] If the first user's celestial body and the registered user's celestial body are different celestial bodies, the evaluation value Gpqr in Table 3 will of course take a different value. Note that the angle ranges and evaluation values Gpqr in Table 3 are merely examples, and in practice, a different table may be used.
[0240] [Table 3] Index Angle range Evaluation value Gpqr 1 0° or more and less than 5° -10 2 5° or more and less than 55° 0 3 55° or more and less than 65° +15 4 65° or more and less than 85° 0 5 85° or more and less than 95° -10 6 95° or more and less than 115° 0 7 115° or more but less than 125° +15 8 125° or more and less than 175° 0 9 175° or more but less than 180° -10
[0241] As shown in Table 3, the important angle ranges (e.g., 0°, 60°, etc.) are determined by astrology, so the increments (increment angles) of the angle range do not need to be equally spaced.
[0242] Instead of or in addition to celestial bodies, zodiac constellations such as Aries may be considered, or fictional celestial bodies may be considered.
[0243] <Combination of closeness and intimacy> In the first embodiment, any divination method can ultimately be reduced to keywords. Therefore, formula (1) can be used regardless of the divination method. However, affinity varies greatly depending on the divination method. For example, in four pillars of destiny, the relationship between the corresponding elements of heavenly stems and earthly branches determines compatibility. In astrology, the angle between celestial bodies determines compatibility. For this reason, it is theoretically impossible to use the same formula for affinity. However, because four pillars of destiny include the concept of the five elements, it is possible to integrate four pillars of destiny and the five elements into the same formula.
[0244] As you can see, the definition of affinity varies depending on the divination method. However, by adding together the formulas of different divination methods, it is possible to calculate a compatibility value using the results of multiple different divination methods.
[0245] The compatibility value based on familiarity can be expressed as in the following equation (4). CSD = CS2 + CS3 ………(4)
[0246] Here, the compatibility value CSD in equation (4) is the sum of the compatibility value CS2 from Four Pillars of Destiny and the compatibility value CS3 from astrology. The compatibility value CSD is a compatibility value that takes into account both the compatibility from Four Pillars of Destiny and the compatibility from astrology. In other words, the compatibility value CSD is the sum of the compatibility values from multiple different divination methods.
[0247] In addition, in formula (4), CS2 and CS3 may each be multiplied by a weighting value, thereby making it possible to calculate a compatibility value that places emphasis on the results of the Four Pillars of Destiny, for example.
[0248] The affinity-based compatibility values CS2, CS3, and CSD are all evaluation values that evaluate the compatibility between the first user and the registered user based on affinity based on divination.
[0249] In this way, in the third embodiment, any of the affinity / unaffection values CS2, CS3, and CSD based on affinity / unaffection can be used.
[0250] <Combination with the first embodiment> The third embodiment may be combined with the first embodiment.
[0251] In this case, the compatibility value CSA is expressed by the following equation (5). CSA = CS1 + CSD = CS1 + CS2 + CS3 ………(5)
[0252] In this case, the compatibility value CSA includes the similarity (CS1) and the closeness (CSD) between the first user and the registered user.
[0253] In this disclosure, affinity includes similarity and intimacy.
[0254] <2 Server Functional Configuration> 23 is a block diagram for explaining the functional configuration of the server 20 of the third embodiment. In addition to the configuration of the first embodiment, the control unit 203 has an affinity calculation module 2040. The affinity calculation module 2040 uses at least one of four pillars of destiny, astrology, and other divination methods to calculate compatibility values CS2, CS3, and CSD based on affinity using any of formulas (2), (3), and (4).
[0255] The compatibility value calculation module 2036 evaluates the compatibility between the first user and the registered user using one of the compatibility values CS2, CS3, and CSD calculated by the affinity calculation module 2040.
[0256] Furthermore, the compatibility value calculation module 2036 may evaluate the compatibility between the first user and the registered user using the compatibility value CSA of equation (5).
[0257] <3 Example of operation> Fig. 24 is a flowchart showing the flow executed by the control unit 203 of the third embodiment. Fig. 24 shows a case where the compatibility value CSA of the formula (5) is used. Differences from the first embodiment will be described.
[0258] In step S3402, the control unit 203 executes divination techniques such as four pillars of destiny and astrology. If birth information or the like is included in the first information, the control unit 203 can execute divination techniques such as four pillars of destiny and astrology. In some cases, the control unit 203 uses the second information. From the first information of the first user and the first information of at least some of the registered users, the control unit 203 calculates, using multiple divination techniques, multiple affinity compatibility values that evaluate the compatibility between the first user and the registered users based on the affinity between the first user and the registered users.
[0259] Steps S3403 to S3406 are carried out in the same manner as in the first embodiment, using the results of the executed divination.
[0260] In step S3407, the control unit 203 calculates the compatibility value CSA of the formula (5). That is, the control unit 203 calculates the compatibility value between the first user and the registered user based on the similarity compatibility value and the closeness compatibility value.
[0261] When formulas (2), (3), and (4) are used, steps may be omitted from the above description as appropriate.
[0262] <4. Effects of the Third Embodiment> In the third embodiment, the control unit 203 can calculate the compatibility value using the affinity specific to the divination method. In particular, in formula (5), the compatibility between the two people can be evaluated taking into account the similarity and affinity between the two people.
[0263] In the first embodiment, similarity is taken into consideration when calculating the compatibility value CS1. Regardless of the divination method used, it can ultimately be reduced to a first group of keywords related to the first user and a second group of keywords related to the registered user. Therefore, regardless of the divination method used, the compatibility value CS1 can be expressed in the form of formula (1).
[0264] On the other hand, the degree of intimacy differs depending on the divination method. Therefore, when the type of divination method differs, it may be necessary to express it using different formulas, such as formula (2) and formula (3).
[0265] <5 Variations> The divination method for calculating the affinity value is not limited to the Four Pillars of Destiny and horoscope, but other divination methods such as sanmeijutsu may also be used.
[0266] The modified example of the first embodiment may be freely combined with the second embodiment and its modified examples.
[0267] <Fourth embodiment> In the first embodiment, the input date and time of birth information is treated as the second information, but the first user may specify it arbitrarily. For example, the first user may use a fortune-telling engine to find the most favorable date and time in a certain year and month, and treat that date and time as the second information. This allows the first user to pick out a matchmaking partner who is compatible with the first user on a lucky day.
[0268] 25 is a flowchart for explaining the flow executed by the control unit 203 of the fourth embodiment. The characteristic parts of the fourth embodiment will be explained.
[0269] In step S4402, a period of good fortune for the first user is derived using divination. This good fortune period may be, for example, a specific date and time, or a specific week. If it is a specific week, the luckiest day within that week is derived. Then, the specific date and time or the luckiest day is set as the second information. That is, in step S4402, the control unit 203 derives a good fortune period for the first user and sets a predetermined date and time included in the good fortune period as the second information.
[0270] This allows the control unit 203 to select a matched partner who is compatible with the first user on a lucky day.
[0271] <Combination of each embodiment> The above first to fourth embodiments may be freely combined.
[0272] <Additional Notes> It should be noted that the above-described embodiments have been described in detail to clearly explain the present disclosure, and are not necessarily limited to those including all of the described configurations. Furthermore, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations.
[0273] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tape, non-volatile memory cards, and ROMs.
[0274] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, and Java (registered trademark).
[0275] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or storage medium.
[0276] The matters described in the above embodiments will be supplemented below.
[0277] (Appendix 1) A program for operating a computer (20) having a processor (29) and a memory (25), wherein first information relating to birth information of a plurality of registered users is stored in the memory (25), and the program causes the processor (29) to execute the following steps: accepting input of the first information relating to the birth information of the first user from the first user and acquiring second information relating to a predetermined date and time (S1401); generating a first keyword related to the first user based on the first information of the first user and the second information relating to the predetermined date and time (S1402); generating at least one second keyword related to at least some of the registered users based on the first information and the second information of the registered user (S1403); selecting one or more matching partners for the first user from among registered users associated with the second keyword based on similarity between the first keyword and the second keyword (S1406); and presenting information on the selected matching partners to the first user (S1407). (Appendix 2) The program according to claim 1, wherein the first keyword and the second keyword are keywords that are uniquely determined based on the first information and the second information. (Appendix 3) The program of Appendix 1, wherein the birth information necessarily includes information regarding the user's date of birth, and may also include at least one of information regarding the user's time of birth, location information regarding the user's place of birth, and the user's blood type. (Appendix 4) The program described in Appendix 1, wherein in the step of generating first keywords (S1402), a plurality of first keywords are generated to generate a first keyword group, in the step of generating second keywords (S1403), a plurality of second keywords are generated to generate a second keyword group, and in the step of selecting matching partners, a matching partner is selected based on the similarity between the first keywords included in the first keyword group and the second keywords included in the second keyword group. (Appendix 5) The program described in Appendix 4 further causes the processor (29) to execute a step (S1404) of weighting a plurality of first keywords included in the first keyword group, and a step (S1405) of weighting a plurality of second keywords included in the second keyword group. (Appendix 6) 6. The program according to claim 5, wherein in the step of selecting a matching partner (S1406), a matching partner is selected based on the weighting of the first keyword group and the weighting of the second keyword group. (Appendix 7) The program described in Appendix 1, wherein the step of selecting a matching partner (S1406) includes a step of evaluating the similarity between the first keyword and the second keyword and calculating a similarity compatibility value that quantifies the compatibility between the first user and the registered user, the higher the value the better the compatibility between the first user and the registered user, and a step of extracting a matching partner with a high similarity compatibility value. (Appendix 8) The program described in Appendix 7, wherein the step of selecting a matching partner (S1406) includes a step of quantifying the similarity compatibility value based on the similarity and weighting between the first keyword group and the second keyword group, so that the better the compatibility between the first user and the registered user, the higher the similarity compatibility value, and a step of extracting a matching partner with a high similarity compatibility value. (Appendix 9) A program described in Appendix 5, wherein in a step (S1404) of weighting a first keyword, a weighting value for a keyword generated from the birth information of a first user is initially generated and the weighting value is set to an even smaller value, and in a step (S1405) of weighting a second keyword, a weighting value for a keyword generated from the birth information of a registered user is initially generated and the weighting value is set to an even smaller value. (Appendix 10) A program as described in Appendix 5, wherein in a step (S1404) of weighting a first keyword, a weighting value for a keyword generated from the birth information of a first user is generated initially and the weighting value is set to a larger value, and in a step (S1405) of weighting a second keyword, a weighting value for a keyword generated from the birth information of a registered user is generated initially and the weighting value is set to a larger value. (Appendix 11) The program described in Appendix 10 further causes the processor (29) to execute the steps of selecting a plurality of matching partners in a step of selecting matching partners, presenting the plurality of matching partners in a step of presenting matching partners, and accepting a selection of one or more matching partners by the first user from the plurality of matching partners, and storing information for identifying the accepted account information of the matching partners in association with the account information of the first user. (Appendix 12) The program further causes the processor (29) to execute the steps of designating a first group as a group to which a first user belongs based on the first information and second information of the first user, and designating a second group as a group to which a registered user belongs based on the first information and second information of the registered user, and in the step of generating a first keyword, adds the first keyword to the first keyword group based on the characteristics of the first group, and in the step of generating a second keyword, adds the second keyword to the second keyword group based on the characteristics of the second group. (Appendix 13) The program further causes the processor (29) to execute the steps of: referencing the purchase history of the first user on the e-commerce site (S2402); generating keywords from the purchase history of the first user and adding them to a first keyword group (S2403); referencing the purchase history of a registered user on the e-commerce site (S2402); and generating keywords from the purchase history of the registered user and adding them to a second keyword group (S2404). (Appendix 14) The program according to claim 1, further causing the processor (29) to execute a step of generating an avatar representing the first user in the virtual space based on the first keyword. (Appendix 15) 14. The program according to claim 13, wherein the program sets at least one of the behavior pattern and the personality of the avatar based on the first keyword. (Appendix 16) The program further causes the processor (29) to execute the steps of: calculating an affinity compatibility value that evaluates the compatibility between the first user and the registered user based on the affinity between the first user and the registered user from the first information of the first user and the first information of at least some of the registered users; and calculating a compatibility value between the first user and the registered user based on the similarity compatibility value and the affinity compatibility value, as described in Appendix 1. (Appendix 17) The program according to claim 1, further causing the processor (29) to execute a step of deriving a good period for the first user and setting a predetermined date and time included in the good period as the second information. (Appendix 18) A program for operating a computer having a processor (29) and a memory (25), wherein first information relating to birth information of a plurality of registered users is stored in the memory (25), and the program causes the processor (29) to execute the steps of: accepting input of the first information relating to the birth information of the first user from the first user; calculating, using a plurality of divination techniques, a plurality of affinity compatibility values for evaluating the compatibility between the first user and the registered users based on the affinity between the first user and the registered users, from the first information of the first user and the first information of at least some of the registered users; selecting one or more matching partners for the first user from among the registered users based on the plurality of affinity compatibility values; and presenting information on the selected matching partners to the first user. (Appendix 19) A program for operating a computer (20) having a processor (29) and a memory (25), wherein first information regarding birth information of a plurality of registered users is stored in the memory (25), and the program causes the processor (29) to execute the following steps: setting a first user group including users who have a first commonality in their birth information; setting a second user group including users who have a second commonality in their birth information and are not included in the first user group; generating a first keyword associated with the first user group based on the first commonality; generating a second keyword associated with the second user group based on the second commonality; selecting a group from the second user group to be a matching partner for the first user group based on the similarity between the first keyword and the second keyword; and presenting information regarding the selected matching partners to the registered user. (Appendix 20) An information processing device (20) comprising a processor (29) and a memory (25), wherein first information relating to birth information of a plurality of registered users is stored in the memory, and the processor executes the following steps: accepting input of the first information relating to the birth information of the first user from the first user and acquiring second information relating to a predetermined date and time (S1401); generating a first keyword relating to the first user based on the first information of the first user and the second information relating to the predetermined date and time (S1402); generating at least one second keyword relating to at least some of the registered users based on the first information and the second information of the registered user (S1403); selecting one or more matching partners for the first user from among registered users associated with the second keyword based on similarity between the first keyword and the second keyword (S1406); and presenting information relating to the selected matching partners to the first user (S1407). (Appendix 21) A method executed by a computer (20) having a processor (29) and a memory (25), wherein first information regarding birth information of a plurality of registered users is stored in the memory, and the processor (29) executes the following steps: accepting input of the first information regarding the birth information of the first user from the first user and acquiring second information regarding a predetermined date and time (S1401); generating a first keyword related to the first user based on the first information of the first user and the second information regarding the predetermined date and time (S1402); generating at least one second keyword related to at least some of the registered users based on the first information and the second information of the registered user (S1403); selecting one or more matching partners for the first user from registered users associated with the second keyword based on similarity between the first keyword and the second keyword (S1406); and presenting information regarding the selected matching partners to the first user (S1407). (Appendix 22) A system (1) comprising: means for storing in a memory first information relating to birth information of a plurality of registered users; means for accepting input of the first information relating to the birth information of the first user from the first user and acquiring second information relating to a predetermined date and time; means for generating a first keyword related to the first user based on the first information of the first user and the second information relating to the predetermined date and time; means for generating at least one second keyword related to at least some of the registered users based on the first information and the second information of the registered user; means for selecting one or more matching partners for the first user from among registered users associated with the second keyword based on similarity between the first keyword and the second keyword; and means for presenting information relating to the selected matching partners to the first user. [Explanation of symbols]
[0278] 1 System, 10 Terminal Device, 20 Server, 25 Memory, 26 Storage, 29 Processor, 30 E-commerce Server, 80 Network, 180, 202, 302 Storage Unit, 181 Account Information, 182 Site Specific Information, 190, 203, 303 Control Unit, 2021 User Information DB, 2022 Keyword Information DB, 2023 Account Information DB, 2025 Avatar Information DB, 2026 Keyword DB, 2033 Birth Information etc. Acquisition Module, 2034 Keyword Generation Module, 2035 Weighting Module, 2036 Compatibility Value Calculation Module, 2037 Partner Selection Module, 2038 Avatar Management Module, 2039 Site Search Module
Claims
1. A program for operating a computer having a processor and a memory, First information relating to birth information of a plurality of registered users is stored in the memory; The program causes the processor to: receiving input of the first information related to the birth information of the first user from the first user and acquiring second information related to a predetermined date and time; generating a first keyword associated with the first user based on the first information of the first user and the second information relating to a predetermined date and time; generating at least one second keyword associated with at least some of the registered users based on the first information and the second information of the registered users; selecting one or more matching partners for the first user from among the registered users associated with the second keyword based on a similarity between the first keyword and the second keyword; presenting information about the selected matched partner to the first user; A program that executes.
2. The program according to claim 1 , wherein the first keyword and the second keyword are uniquely determined based on the first information and the second information.
3. The program according to claim 1 , wherein the birth information necessarily includes information regarding the user's date of birth, and may include at least one of information regarding the user's time of birth, location information regarding the user's place of birth, and the user's blood type.
4. In the step of generating the primary keywords, a plurality of the primary keywords are generated to generate a primary keyword group; In the step of generating the second keywords, a plurality of the second keywords are generated to generate a second keyword group; In the step of selecting a matching partner, the matching partner is selected based on the similarity between the first keyword included in the first keyword group and the second keyword included in the second keyword group. The program according to claim 1.
5. The program further causes the processor to weighting the plurality of first keywords included in the first keyword group; weighting the second keywords included in the second keyword group; The program according to claim 4, wherein the program executes the following.
6. In the step of selecting a matching partner, the matching partner is selected based on the weighting of the first keyword group and the weighting of the second keyword group. The program according to claim 5.
7. The step of selecting a matching partner includes: a step of evaluating the similarity between the first keyword and the second keyword and calculating an evaluation value that quantifies the compatibility between the first user and the registered user, the higher the similarity compatibility value that the better the compatibility between the first user and the registered user; extracting the matching partners having a high similarity compatibility value; The program of claim 1 , comprising:
8. In the step of generating the primary keywords, a plurality of the primary keywords are generated to generate a primary keyword group; In the step of generating the second keywords, a plurality of the second keywords are generated to generate a second keyword group; In the step of selecting a matching partner, the matching partner is selected based on the similarity between the first keyword included in the first keyword group and the second keyword included in the second keyword group; The step of selecting a matching partner includes: a step of quantifying the similarity compatibility value so that the better the compatibility between the first user and the registered user is, based on the similarity and the weighting between the first keyword group and the second keyword group; extracting the matching partners having a high similarity compatibility value; The program according to claim 7, comprising:
9. In the step of weighting the first keyword, a weighting value of the first keyword generated from the birth information of the first user is generated initially, and the weighting value is set to a smaller value; In the step of weighting the second keywords, a weighting value of the second keywords generated from the birth information of the registered user is generated initially, and the weighting value is set to a smaller value. The program according to claim 5.
10. In the step of weighting the first keyword, a weighting value of the first keyword generated from the birth information of the first user is generated initially, and the weighting value is set to a larger value; In the step of weighting the second keywords, a weighting value of the second keywords generated from the birth information of the registered user is generated initially, and the weighting value is set to a larger value. The program according to claim 5.
11. The program further causes the processor to In the step of selecting a matching partner, a plurality of matching partners are selected; presenting a plurality of matching partners in the step of presenting matching partners; receiving a selection of one or more matching partners from the first user from the plurality of matching partners; storing the received information for identifying the account information of the matching partner in association with the account information of the first user; The program according to claim 1 ,
12. The program further causes the processor to designating a first group as a group to which the first user belongs based on the first information and the second information of the first user; designating a second group as a group to which the registered user belongs based on the first information and the second information of the registered user; Execute In the step of generating the first keyword, the first keyword is added to the first keyword group based on the characteristics of the first group; In the step of generating the second keywords, the second keywords are added to the second keyword group based on the characteristics of the second group. The program according to claim 4.
13. The program further causes the processor to referencing a purchase history of the first user at an e-commerce site; generating keywords from the purchase history of the first user and adding the keywords to the first keyword group; referencing the registered user's purchase history at the e-commerce site; generating keywords from the purchase history of the registered user and adding the keywords to the second keyword group; The program according to claim 4, wherein the program executes the following.
14. The program further causes the processor to: Executing a step of generating an avatar representing the first user in a virtual space based on the first keyword; The program according to claim 1.
15. The program setting at least one of a behavior pattern and a personality of the avatar based on the first keyword; The program according to claim 14.
16. The program further causes the processor to: calculating a closeness / uncloseness compatibility value that evaluates the compatibility between the first user and the registered users based on the closeness between the first user and the registered users from the first information of the first user and the first information of at least some of the registered users; calculating a compatibility value between the first user and the registered user based on the similarity compatibility value and the intimacy compatibility value; The program according to claim 7, which causes the program to execute the following.
17. The program further causes the processor to: deriving a good period for the first user and setting a predetermined date and time included in the good period as the second information; The program according to claim 1.
18. A program for operating a computer having a processor and a memory, First information relating to birth information of a plurality of registered users is stored in the memory; The program causes the processor to: accepting input of the first information from a first user regarding birth information of the first user; calculating, from the first information of the first user and the first information of at least some of the registered users, a plurality of affinity compatibility values that evaluate the compatibility between the first user and the registered users based on affinity between the first user and the registered users using a plurality of divination methods; selecting one or more matching partners for the first user from among the registered users based on the plurality of affinity values; presenting information about the selected matched partner to the first user; A program that executes.
19. A program for operating a computer having a processor and a memory, First information relating to birth information of a plurality of registered users is stored in the memory; The program causes the processor to: setting a first user group including the registered users who have a first commonality in the birth information; setting a second user group including the registered users who have a second commonality in the birth information and are not included in the first user group; generating first keywords associated with the first group of users based on the first commonality; generating second keywords associated with the second group of users based on the second commonality; selecting a group from the second user group to be matched with the first user group based on similarity between the first keyword and the second keyword; presenting information about the selected matched partner to the registered user; A program that executes.
20. An information processing device including a processor and a memory, First information relating to birth information of a plurality of registered users is stored in the memory; The processor: receiving input of the first information relating to birth information of the first user from the first user and acquiring second information relating to a predetermined date and time; generating a first keyword associated with the first user based on the first information of the first user and the second information relating to a predetermined date and time; generating at least one second keyword associated with at least some of the registered users based on the first information and the second information of the registered users; selecting one or more matching partners for the first user from among the registered users associated with the second keyword based on a similarity between the first keyword and the second keyword; presenting information about the selected matched partner to the first user; An information processing device that executes the above.
21. 1. A computer-implemented method comprising: First information relating to birth information of a plurality of registered users is stored in the memory; The processor: receiving input of the first information relating to birth information of the first user from the first user and acquiring second information relating to a predetermined date and time; generating a first keyword associated with the first user based on the first information of the first user and the second information relating to a predetermined date and time; generating at least one second keyword associated with at least some of the registered users based on the first information and the second information of the registered users; selecting one or more matching partners for the first user from among the registered users associated with the second keyword based on a similarity between the first keyword and the second keyword; presenting information about the selected matched partner to the first user; How to perform.
22. means for storing in a memory first information relating to birth information of a plurality of registered users; means for accepting input of the first information relating to birth information of the first user from the first user and acquiring second information relating to a predetermined date and time; means for generating a first keyword related to the first user based on the first information of the first user and the second information related to a predetermined date and time; means for generating at least one second keyword related to at least some of the registered users based on the first information and the second information of the registered users; a means for selecting one or more matching partners for the first user from among the registered users related to the second keyword based on a similarity between the first keyword and the second keyword; means for presenting information about the selected matched partner to the first user; A system comprising:
Citation Information
Patent Citations
Information providing system
JP2002259820A
User matching method and device
JP2003108507A
Information processing apparatus, information processing method, and information processing program
JP2019036196A
Information processing system, information processing device, information processing method, and program
JP2021073549A
Display control device, information processing device, and program
JP2022026759A