Program, information processing method, and server
A server program creates talk rooms with user and AI accounts to generate itineraries by consolidating user opinions, addressing the burden on trip organizers and improving planning efficiency.
Patent Information
- Application Number
- JP2024016671
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-06
- Publication Date
- 2025-08-19
AI Technical Summary
Planning a trip for multiple users involves a heavy burden on the organizer to coordinate desired destinations, dates, and other details, as existing systems do not effectively facilitate user collaboration and opinion consolidation.
A server program creates talk rooms involving user accounts and an AI account, generating content based on user input to consolidate opinions and generate an itinerary, reducing the organizer's burden.
The system efficiently generates travel itineraries by leveraging AI to consolidate user opinions, thereby alleviating the organizer's workload and enhancing trip planning efficiency.
Smart Images

Figure 2025121302000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing method, a server, and the like. [Background technology]
[0002] When planning a trip for multiple users and creating an itinerary, the burden on the user acting as the organizer to coordinate the desired destinations, dates, etc. of each user can be heavy. For example, Patent Document 1 discloses a group reservation support system that links the recruitment of participating members with the search for accommodations for a user who makes a hotel reservation procedure on behalf of a group. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-053845 Summary of the Invention
[0004] According to a first aspect of the present invention, a program executed by a server communicating with a first terminal and a second terminal generates, by a control unit of the server, a talk room including (i) a first account of the first terminal, (ii) a second account of the second terminal, and (iii) an AI account based on first information sent from the first terminal; generates, by the control unit, second content based on first content sent to the talk room from the first account or the second account; and controls, by the control unit, to associate the generated second content with the AI account in the talk room. According to a second aspect of the present invention, a program executed by a server communicating with a first terminal and a second terminal includes the following operations: (i) generating, by a control unit of the server, a first talk room including a first account of the first terminal and an AI account, and (ii) a second talk room including a second account of the second terminal and an AI account; generating, by the control unit, second content based on first content sent from the first account to the first talk room; and controlling, by the control unit, to associate the generated second content with the AI account in the second talk room. According to a third aspect of the present invention, there is provided an information processing method for a server communicating with a first terminal and a second terminal, comprising: generating, by a control unit of the server, a talk room including (i) a first account of the first terminal, (ii) a second account of the second terminal, and (iii) an AI account based on first information transmitted from the first terminal; generating, by the control unit, second content based on first content transmitted to the talk room from the first account or the second account; and controlling, by the control unit, to associate the generated second content with the AI account in the talk room. According to a fourth aspect of the present invention, an information processing method of a server communicating with a first terminal and a second terminal includes generating (i) a first talk room including a first account of the first terminal and an AI account, and (ii) a second talk room including a second account of the second terminal and the AI account by a control unit of the server; generating second content by the control unit based on first content sent from the first account to the first talk room; and controlling by the control unit to associate the generated second content with the AI account in the second talk room. According to a fifth aspect of the present invention, a server that communicates with a first terminal and a second terminal is provided, and is equipped with a control unit that generates a talk room including (i) a first account of the first terminal, (ii) a second account of the second terminal, and (iii) an AI account based on first information sent from the first terminal, generates second content based on first content sent to the talk room from the first account or the second account, and controls associating the generated second content with the AI account in the talk room. According to a sixth aspect of the present invention, a server communicating with a first terminal and a second terminal is provided, which generates (i) a first talk room including a first account of the first terminal and an AI account, and (ii) a second talk room including a second account of the second terminal and an AI account, generates second content based on first content sent from the first account to the first talk room, and controls associating the generated second content with the AI account in the second talk room. [Brief explanation of the drawings]
[0005] [Figure 1-1] FIG. 1 is a diagram showing an example of a system configuration of a communication system according to a first embodiment. [Figure 1-2] FIG. 3 is a diagram showing an example of functions realized by a control unit of the server according to the first embodiment. [Figure 1-3] FIG. 3 is a diagram showing an example of information stored in a storage unit of the server according to the first embodiment. [Figure 1-4] FIG. 3 is a diagram showing an example of account registration data according to the first embodiment. [Figure 1-5] FIG. 3 is a diagram showing an example of a talk room management database according to the first embodiment. [Figure 1-6] FIG. 2 is a diagram showing an example of functions realized by a control unit of the terminal according to the first embodiment. [Figure 1-7] FIG. 3 is a diagram showing an example of information stored in a storage unit of the terminal according to the first embodiment. [Figure 1-8] FIG. 3 is a diagram showing an example of a screen displayed on a display unit of the terminal according to the first embodiment. [Figure 1-9]FIG. 3 is a diagram showing an example of a screen displayed on a display unit of the terminal according to the first embodiment. [Figure 1-10] FIG. 10 is a diagram showing another example of a screen displayed on the display unit of the terminal according to the first embodiment. [Figure 1-11] 4 is a flowchart showing an example of the flow of processing executed by each device according to the first embodiment. [Figure 2-1] FIG. 10 is a diagram showing an example of a screen displayed on a display unit of a terminal according to a second embodiment. [Figure 2-2] FIG. 10 is a diagram showing an example of a screen displayed on a display unit of a terminal according to a second embodiment. [Figure 2-3] FIG. 10 is a diagram showing an example of a screen displayed on a display unit of a terminal according to a second embodiment. [Figure 2-4] FIG. 10 is a diagram showing an example of a screen displayed on a display unit of a terminal according to a second embodiment. [Figure 2-5] 10 is a flowchart showing an example of the flow of processing executed by each device according to the second embodiment. [Figure 2-6] 10 is a flowchart showing an example of the flow of processing executed by each device according to the second embodiment. [Figure 2-7] 10 is a flowchart showing an example of the flow of processing executed by each device according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0006] <Compliance with legal matters> It should be noted that the disclosures set forth herein are subject to compliance with the laws of the country of implementation, such as communications privacy, as required for the implementation of the disclosures.
[0007] <Embodiment> In this specification, for ease of understanding, there are places where the term "for example" is used, but please note that not only those places but also the entire embodiment described below are not limited to the content of the description.
[0008] An embodiment for implementing a program etc. according to the present disclosure will be described with reference to the drawings.
[0009] The production of a terminal of the claimed invention (terminal of the claimed invention) may include, for example, the concept that a state is created in which the functions of the claimed invention can be realized (a state in which the claimed invention can be executed) on a terminal owned (possessed) by a user by receiving (or receiving and storing) a program (for example, an application program) described in this specification.
[0010] Furthermore, the production of the system of the invention claimed in the present application (the system of the invention of the present application) may include, for example, the concept that a state in which the functions of the invention of the system claimed in the present application can be realized (a state in which the invention claimed in the present application can be executed) is created by receiving a program described in this specification (for example, an application program) transmitted from a server included in the system of the present application at a terminal included in the system of the present application (or by storing the received program in the terminal).
[0011] In this specification, a system may be, for example, configured to include a plurality of devices. The plurality of devices may be a combination of devices of the same type, a combination of devices of different types, or a combination of devices of the same type and devices of different types. A system can also be thought of as, for example, a plurality of devices working together to perform some kind of processing.
[0012] Furthermore, a system relating to a client (client device) and a server can be considered to be, for example, at least one of the following: (1) Terminals and servers (2) Server (3) Terminal
[0013] (1) is, for example, a system including at least one terminal and at least one server. One example of this is a client-server system.
[0014] The server is configured by the following devices, for example, and may be a single device or a combination of multiple devices.
[0015] Specifically, a server is configured to have, for example, at least one processor (for example, CPU: Central Processing Unit, GPU: Graphics Processing Unit, APU: Accelerated Processing Unit, DSP: Digital Signal Processor (for example, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array), etc.), computer device (processor + memory), control device, arithmetic device, processing device, etc., and may be configured to have multiple of the same type of device (for example, CPU + CPU, homogeneous multi-core processor, etc.), or multiple of different types of device (for example, CPU + DSP, heterogeneous multi-core processor, etc.), or may be a combination of multiple devices (for example, processor + computer device, processor + arithmetic device, multiple devices made heterogeneous, etc.). The processor may be a virtual processor.
[0016] Furthermore, when a server performs some processing, if the server is configured with a single device, the processing described in the embodiments is performed by the single device. Furthermore, if the server is configured with multiple devices, one device may perform some of the processing, and the other device may perform other processing. For example, if the server is configured with a processor and an arithmetic device, the processor may perform a first processing, and the arithmetic device may perform a second processing. Furthermore, when a plurality of devices are used, the devices may be located at positions physically separated from one another.
[0017] Furthermore, the server functions may be provided in the form of PaaS, IaaS, or SaaS in cloud computing, for example.
[0018] The control unit of the system can be at least one of the control unit of the terminal and the control unit of the server. That is, for example, the control unit of the system can be any of (1A) only the control unit of the terminal, (1B) only the control unit of the server, or (1C) both the control unit of the terminal and the control unit of the server.
[0019] Furthermore, the control and processing (hereinafter collectively referred to as "control, etc.") performed by the control unit of the system may be performed by (1A) only the control unit of the terminal, (1B) only the control unit of the server, or (1C) both the control unit of the terminal and the control unit of the server. In addition, in (1C), for example, some of the controls performed by the control unit of the system may be performed by the control unit of the terminal, and the remaining controls may be performed by the control unit of the server. In this case, the allocation (allocation) of the controls may be equal or may be allocated in different proportions.
[0020] Furthermore, when referring to the communication unit of a server, if the server is configured with a single device, it may refer to the communication unit itself that the single device has, or if the server is configured with multiple devices, it may be configured to include each communication unit that each device has. For example, if a server comprises a first device and a second device, and the first device has a first communication unit and the second device has a second communication unit, the communication unit of the server may be considered to include the first communication unit and the second communication unit.
[0021] (2) can be, for example, a system consisting of multiple servers (hereinafter referred to as a "server system"). In this case, the configuration of each server can be similarly applied to the configuration described above.
[0022] The control etc. performed by the server system may be performed by only one of the multiple servers (2A), by only the other servers (2B), or by both the one server and the other servers (2C). In addition, in (2C), for example, one server may perform some of the control, etc., performed by the server system, and another server may perform the remaining control, etc. In this case, the allocation (allocation) of the control, etc. may be equal or may be allocated in different proportions. Furthermore, the management entity of the one or more servers may be a single company or business, or may be shared among multiple companies or businesses.
[0023] (3) can be, for example, a system consisting of multiple terminals. This system can be, for example, the following system. A system that gives server functions to terminals (distributed system). This can be realized, for example, using blockchain technology. A system in which terminals communicate wirelessly with each other. This can be achieved, for example, by using short-range wireless communication technology such as Bluetooth (registered trademark) to communicate in a P2P (peer-to-peer) format.
[0024] The above is not limited to the control unit, but also applies to each functional unit such as an input / output unit, a communication unit, a storage unit, and a clock unit that may be components of the system.
[0025] In the following embodiment, a system including a terminal and a server (a client-server system, for example) will be described as an example. It is also possible to apply the server system described in (2) above as the server.
[0026] Furthermore, instead of a system including a terminal and a server, it is also possible to apply a system that does not include a server, such as the system (3) above. In this case, the embodiment can be configured based on the above-mentioned blockchain technology, etc. Specifically, for example, data stored and managed in a server described in the following embodiment is stored on the blockchain. Then, a terminal generates a transaction to the blockchain, and when the transaction is approved on the blockchain, the data stored on the blockchain is updated.
[0027] It should be noted that even when the term "terminal" is used, this is not limited to the meaning of a terminal as a client device in a client server. That is, a terminal may include the concept of a device that is not in a client-server context.
[0028] Furthermore, in this specification, the expression "through a communication I / F" is used as appropriate. This may, for example, indicate that a device transmits and receives various information and data via a communication I / F (via a communication unit) based on the control of a control unit (such as a processor).
[0029] Furthermore, in this specification, when the terms "related to" or "related to" are used, for example, "B related to A" or "B related to A" may mean "B" that has some kind of relationship with "A." Specific examples of this will be described later.
[0030] Furthermore, in this specification, when a device performs processing on two or more objects, such as "sending A and B" or "receiving A and B," this may include performing "A" and "B" at the same time (hereinafter referred to as "simultaneous"), and performing "A" and "B" at different times (hereinafter referred to as "non-simultaneous"). For example, when referring to transmitting first information and second information, this may include both the concepts of transmitting the first information and the second information at the same time, and transmitting the first information and the second information at different times. In addition, taking into account the lag (time lag), "simultaneous" may include "almost simultaneously."
[0031] Note that even though "A" and "B" are performed at different times, this only needs to be done with "A" and "B" as the processing targets, and the purposes do not necessarily have to be the same. For example, when the first information and the second information are transmitted as described above, it is sufficient to transmit the first information and the second information, and this may include cases where the first information and the second information are transmitted for the same purpose, as well as cases where the first information and the second information are transmitted for different purposes.
[0032] In the following embodiments, a messaging service is exemplified as an example of a service that allows users to chat (hereinafter referred to as a "chat service"). Furthermore, an application that realizes the chat service is referred to as a "chat application," and an application that realizes the messaging service is referred to as a "messaging application." A chat application may, for example, allow users to chat in chat rooms.
[0033] Note that messaging services (MS) (including instant messaging services (IMS)) can also be considered one form of social networking services (SNS). Therefore, messaging services and social networking services may or may not be distinguished. In other words, messaging services may be included in social networking services.
[0034] In the following embodiments, an example of a messaging service is an IMS (Instant Messaging Service) that transmits and receives simple messages between a plurality of devices (terminals, for example) via a server. An instant messaging application may, for example, allow users to talk in talk rooms.
[0035] A chat room (for example, a talk room) can be a UI (User Interface) or GUI (Graphical User Interface) that allows each user to view content transmitted and received between the terminals of multiple users.
[0036] In a messaging service, for example, a user can register any account as a "friend" and exchange messages via a chat room.
[0037] Note that "friend" may refer to, for example, a relationship between a first user and a second user when the first user's account and the second user's account in a messaging application are unilaterally or bilaterally associated. For example, if a first user's account and a second user's account are mutually associated, the first user and the second user may be said to be "friends." Also, for example, if a first user's account is associated with a second user's account, the first user and the second user may be said to be "friends" even if the second user's account is not associated with the first user's account.
[0038] In addition, talk rooms can include one-on-one user talk rooms (hereinafter referred to as "one-on-one talk rooms"), group talk rooms including multiple users (hereinafter referred to as "group talk rooms"), and talk rooms with OA businesses (for example, businesses affiliated with messaging service providers) (hereinafter referred to as "OA talk rooms"), etc.
[0039] Furthermore, a messaging application account that is an account of a business operator and not a general user may be referred to as an "OA (Official Account)," and the user of this official account may be referred to as an "official user." This may also be referred to as an "official account user" or an "official account business operator," etc. In contrast, a messaging application account that is owned by a user who is not an OA provider is called a "general account," and a user of a general account is called a "general user." This may also be called a "general account user," etc. In other words, messaging application accounts may include general accounts and official accounts.
[0040] Furthermore, for example, an OA business may also be able to use a terminal similar to that of a user with a general account to send and receive messages to and from other devices via the server.
[0041] Furthermore, a message (message information) may be, for example, information that defines the sender and destination used in a messaging service, and may be information that is composed of identification information (message ID) for identifying the message and message content. Furthermore, the message content may refer to the contents of the message excluding the message ID, for example. The message content may be one or more pieces of content.
[0042] Moreover, information set as identification information for identifying a message is called a "message ID." It can also be considered that message content included in messages with the same message ID is identified by this message ID. Therefore, identification information for identifying a message can also be considered to be essentially synonymous with identification information for identifying message content. Alternatively, individual identification information (message content ID) may be set for each message content, but this is not required.
[0043] The content may include, for example, text content in text format, image content in image format (including at least one of still images and moving images), and sound content in sound format (including voice). In addition, it may also include operation content such as buttons and icons for user operations, and link content such as URIs (including URLs).
[0044] The text may include, for example, at least one of national characters represented by character codes, extended characters, machine-dependent characters, numbers, symbols, figures, and codes. The text does not have to include at least one of the above characters, extended characters, machine-dependent characters, numbers, symbols, figures, and signs, and may include other text.
[0045] The image may include at least one of various types of image information such as an icon, a button, a stamp, a pictogram, and a banner image.
[0046] Unlike the above definition, it is possible to define that a superordinate concept of a message is content, or that content and message are synonymous, but it is not necessary to define them in this way.
[0047] <Embodiment> For example, when planning a trip for multiple users and generating an itinerary such as a travel plan using an application, a user who acts as a organizer may need to collect and coordinate the opinions of the other users. In this case, the burden on the organizer is likely to be heavy.
[0048] This embodiment relates to a service in which, for example, in a chat room in which multiple users participate, a chatbot (which may also be called an "AI account") acts as a mediator to consolidate opinions among users and generate an itinerary.
[0049] Here, an itinerary may include, for example, a plan of action for traveling or moving. An itinerary may include, for example, chronological and / or spatially specified elements (sometimes referred to as "itinerary elements"), such as any of the following elements: An itinerary may also be referred to as a "travel plan": Departure point and scheduled departure time Destination and estimated arrival time Transportation methods and travel times Accommodation name and address Tourist attraction names and addresses -Sightseeing order and duration Dining location and meal contents Budget and payment method
[0050] In the following, a question-answering system (which may also be referred to as a "question-answering model") may be used as an example of a method for realizing the processing. The question-answering system may be a closed-book question-answering system implemented using a language model such as HyperCLOVA, ChatGPT, or Llama. The question-answering model may also be an open-book question-answering system implemented by combining an external knowledge retrieval model such as DPR (Dense Passage Retriever) or BPR (Binary Passage Retriever) with a language model. The question-answering system may be able to generate output sentences (response sentences) in conjunction with any external database.
[0051] <First Example> The first embodiment is an embodiment in which the server generates an itinerary based on the content of messages exchanged in a talk room in which a first user, a second user, and a chatbot participate, for example. The contents described in the first embodiment can be similarly applied to any of the other embodiments and other modified examples.
[0052] In the following embodiments, a service for realizing itinerary creation support is referred to as a “travel plan creation support service.” The travel plan creation support service may be available by a user interacting with a chatbot in a messaging application, for example.
[0053] As an example of a form for realizing the travel plan creation support service, any of the following forms can be applied. (A1) A form in which a travel plan creation support service function is provided as one of the functions of a messaging application (A2) A form in which a messaging service function is provided as one function of a travel plan creation support application that provides a travel plan creation support service (B1) A form that configures an application (integrated application) having a messaging service function and a travel plan creation support service function (C1) A form in which a travel plan generation support application is configured as a separate application from a messaging application (C2) A form in which a messaging application is configured as a separate application from a travel plan generation support application (D) A travel plan generation support application configured as a standalone application
[0054] In the forms (A1), (A2), and (B1), for example, the messaging service provider can be the same provider as the travel plan generation support service provider. In this case, one method is to use a common account for the user's account in the messaging application and the user's account in the travel plan creation assistance application. In this case, as another method, the user's account in the messaging application and the user's account in the travel plan creation assistance application can be automatically associated (linked).
[0055] In the forms (C1) to (C2), for example, the messaging service provider may be a provider different from the travel plan generation support service provider. In addition, in the modes (C1) to (C2), a process for associating the user's account in the messaging application with the user's account in the travel plan creation support application (a linking process) can be performed.
[0056] In the following, as an example, a description will be given of the case where a server 10 that provides a messaging service and a travel plan creation support service is operated and managed by a messaging service provider in accordance with the form (A1).
[0057] In the following description, the user of terminal 20A communicating with server 10 will be referred to as "user AA," the user of terminal 20B as "user BB," the user of terminal 20C as "user CC," . . .
[0058] <System configuration> 1-1 is a diagram illustrating an example of a system configuration of a communication system 1 according to this embodiment. In the communication system 1, for example, a server 10 is connected to one or more terminals 20 (terminal 20A, terminal 20B, terminal 20C, ...) via a network 30.
[0059] The server 10 has a function of providing, for example, a messaging service and a travel plan creation support service to a terminal 20 or the like owned by a user via a network 30 . The server 10 can also be expressed as a messaging service server, a travel plan creation support server, etc. In this embodiment, the user of the server 10 is assumed to be a company that provides a messaging service or a travel plan creation support service (a messaging service or a travel plan creation support service provider), for example. Note that the number of servers 10 and the number of terminals 20 connected to the network 30 are not limited to those described above. In this embodiment, the "travel plan creation support service" is a service provided by a business operator (server 10) such as a company that provides travel plan creation support services, and may be provided to a user (user's terminal 20), for example.
[0060] The terminal 20 (terminal 20A, terminal 20B, terminal 20C, etc.) may be any information processing terminal capable of implementing the functions described in each embodiment. Examples of the terminal 20 include a smartphone, a mobile phone (feature phone), a computer (including, but not limited to, a desktop, laptop, tablet, etc.), a media computer platform (including, but not limited to, a cable or satellite set-top box, digital video recorder, etc.), a handheld computer device (including, but not limited to, a PDA (personal digital assistant), email client, etc.), a wearable device (glasses-type device, watch-type device, etc.), a VR (Virtual Reality) terminal, a smart speaker (a device for voice recognition), or other types of computers or communication platforms. The terminal 20 may also be referred to as an information processing terminal.
[0061] For example, the configurations of terminal 20A, terminal 20B, and terminal 20C can be the same. Furthermore, as necessary, the terminal used by user X may be expressed as terminal 20X, and user information in a predetermined service associated with user X or terminal 20X may or may not be expressed as user information X. The user information is information of a user associated with an account used by the user in a predetermined service. The user information includes, but is not limited to, information associated with a user, such as the user's name, an icon image of the user, the user's age, the user's gender, the user's address, the user's hobbies and interests, and a user identifier, which is input by the user or assigned by the predetermined service, and may be any one of these, or a combination thereof, or may not be the same.
[0062] The network 30 serves to connect the devices that make up the communication system 1. In other words, the network 30 refers to a communication network that provides connection paths so that the above-mentioned various devices can be connected and then transmit and receive data.
[0063] One or more portions of network 30 may or may not be a wired or wireless network. Network 30 may include, by way of example, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular network, integrated service digital networks (ISDN), wireless LAN, long term evolution (LTE), code division multiple access (CDMA), Bluetooth, satellite communications, etc., or a combination of two or more thereof. Network 30 may include one or more networks 30.
[0064] The server 10 (which is not limited to a server, an example of an information processing device, or an information management device) has a function of providing a predetermined service (in this embodiment, a messaging service or a travel plan generation support service) to the terminal 20, etc. The server 10 may be any information processing device that can realize the functions described in each embodiment. Examples of the server 10 include a server device, a computer (e.g., a desktop, a laptop, a tablet, etc.), a media computer platform (e.g., a cable or satellite set-top box, a digital video recorder), a handheld computer device (e.g., a PDA, an email client, etc.), or other types of computers or communication platforms. The server 10 may also be referred to as an information processing device. When there is no need to distinguish between the server 10 and the terminal 20, the server 10 and the terminal 20 may or may not each be referred to as an information processing device.
[0065] [Hardware (HW) configuration of each device] The hardware configuration of each device included in the communication system 1 will be described.
[0066] (1) Hardware configuration of the terminal FIG. 1-1 shows an example of the hardware configuration of the terminal 20. The terminal 20 includes, for example, a control unit 21 (CPU: central processing unit), a storage unit 28, a communication I / F 22 (interface), an input / output unit 23, a clock unit 29A, and a position calculation information detection unit 29B. The HW components of the terminal 20 are connected to each other, for example, via a bus B. It is not essential that the HW configuration of the terminal 20 includes all of the components. For example, the terminal 20 may or may not be configured such that individual components or multiple components are detachable.
[0067] The communication I / F 22 transmits and receives various data via the network 30. The communication may be performed either wired or wirelessly, and any communication protocol may be used as long as mutual communication is possible. The communication I / F 22 has a function of communicating with various devices such as the server 10 via the network 30. The communication I / F 22 transmits various data to various devices such as the server 10 in accordance with instructions from the control unit 21. The communication I / F 22 also receives various data transmitted from various devices such as the server 10 and transmits it to the control unit 21. The communication I / F 22 may also be simply referred to as a communication unit. When the communication I / F 22 is configured as a physically structured circuit, it may also be referred to as a communication circuit.
[0068] The input / output unit 23 includes a device for inputting various operations to the terminal 20, a device for outputting processing results processed by the terminal 20, etc. The input / output unit 23 may be an integrated input unit and an output unit, or may be separate input unit and output unit, or may not be so.
[0069] The input unit is realized by any one or a combination of all types of devices that can accept input from a user and transmit information related to the input to the control unit 21. Examples of the input unit include hardware keys such as a touch panel, a touch display, and a keyboard, a pointing device such as a mouse, a camera (for inputting operations via moving images), and a microphone (for inputting operations by voice).
[0070] The output unit is realized by any one or a combination of all types of devices that can output the processing results processed by the control unit 21. Examples of the output unit include a touch panel, a touch display, a speaker (audio output), a lens (for example, 3D (three dimensions) output or hologram output), a printer, etc.
[0071] Although this is merely an example, the input / output unit 23 includes a display unit 24, a sound input unit 25, a sound output unit 26, and an imaging unit 27, for example.
[0072] The display unit 24 is realized by any one of all types of devices or a combination thereof that can display according to the display data written to the frame buffer. Examples of the display unit 24 include a touch panel, a touch display, a monitor (e.g., a liquid crystal display or an organic electroluminescence display (OLED)), a head mounted display (HDM), projection mapping, a hologram, and a device that can display images, text information, etc. in air (which may or may not be a vacuum). Note that these display units 24 may or may not be capable of displaying display data in 3D.
[0073] The sound input unit 25 is used to input sound data (including voice data; the same applies below.) The sound input unit 25 includes a microphone and the like. The sound output unit 26 is used to output sound data and includes a speaker and the like. The imaging unit 27 is used to acquire image data (including still image data and moving image data; the same applies below.) The imaging unit 27 includes a camera and the like.
[0074] When the input / output unit 23 is a touch panel, the input / output unit 23 and the display unit 24 may be disposed opposite each other and have approximately the same size and shape.
[0075] The clock unit 29A is a built-in clock of the terminal 20, and outputs time information (timekeeping information). The clock unit 29A is configured to include, for example, a clock that uses a crystal oscillator. The clock unit 29A can also be expressed as, for example, a timekeeping unit or a time information detection unit.
[0076] The clock unit 29A may or may not have a clock that conforms to the NITZ (Network Identity and Time Zone) standard or the like.
[0077] The position calculation information detection unit 29B is a functional unit that detects (measures) information (hereinafter referred to as "position calculation information") necessary for the control unit 21 to calculate (measure) the position of its own terminal 20. The position calculation information detection unit 29B can also be expressed as a position calculation sensor unit, for example.
[0078] The position calculation information detection unit 29B includes, for example, a satellite positioning sensor (satellite positioning unit) which is a sensor or unit for calculating the position of the terminal 20 using a satellite positioning system such as GPS (Global Positioning System), an inertial measurement sensor (inertial measurement unit (IMU (Inertial Measurement Unit))) which is a sensor or unit for calculating the position of the terminal 20 using an inertial navigation system, a UWB positioning sensor (UWB positioning unit) which is a sensor or unit for calculating the position of the terminal 20 using UWB (Ultra Wide Band), and the like.
[0079] The satellite positioning unit includes, for example, an RF receiving circuit that converts RF (Radio Frequency) signals, including positioning satellite signals transmitted from positioning satellites and received by an antenna (not shown), into digital signals, and a baseband processing circuit that performs correlation calculation processing on the digital signals output from the RF receiving circuit to capture the positioning satellite signals, and outputs information such as satellite orbit data and time data extracted from the positioning satellite signals as information for position calculation.
[0080] The inertial measurement unit has an inertial sensor that is a sensor that detects information necessary for calculating the position of the terminal 20 by inertial navigation calculation. The inertial sensor includes, for example, a three-axis acceleration sensor and a three-axis gyro sensor, and outputs the acceleration detected by the acceleration sensor and the angular velocity detected by the gyro sensor as information for position calculation.
[0081] The UWB positioning unit includes, for example, an ultra-wideband RF (Radio Frequency) receiving circuit that converts an ultra-wideband RF signal, including an ultra-wideband pulse signal for positioning transmitted from a positioning beacon and received by an antenna not shown, into a digital signal, and a relative position calculation processing circuit that calculates the relative position between the terminal 20 and the positioning beacon based on the digital signal output from the ultra-wideband RF receiving circuit. For example, the UWB positioning unit may or may not cause the terminal 20 to function as a positioning beacon by transmitting an ultra-wideband RF signal including an ultra-wideband pulse signal for positioning from an antenna not shown.
[0082] For example, control unit 21 calculates the position of its own terminal 20 at regular intervals or specific intervals based on the position calculation information detected by position calculation information detection unit 29B. The terminal position is referred to as the "terminal position," and the calculated terminal position is referred to as the "calculated terminal position." Control unit 21 may, but need not, associate the calculated terminal position with the date and time when the calculated terminal position was calculated and store the calculated terminal position in storage unit 28 as calculated terminal position history data.
[0083] The control unit 21 has a circuit physically structured to execute the functions realized by the code or instructions contained in the program, and is realized by, for example, a data processing device built into hardware. Therefore, the control unit 21 may or may not be expressed as a control circuit.
[0084] The control unit 21 includes, for example, a central processing unit (CPU), a microprocessor, a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA).
[0085] The storage unit 28 has a function of storing various programs and various data required for the operation of the terminal 20. The storage unit 28 includes, for example, various storage media such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a random access memory (RAM), and a read only memory (ROM). Furthermore, the storage unit 28 may or may not be expressed as a memory.
[0086] Terminal 20 stores program P in storage unit 28, and by executing this program P, control unit 21 executes the processing of each unit included in control unit 21. In other words, program P stored in storage unit 28 causes terminal 20 to realize each function executed by control unit 21. Furthermore, this program P may or may not be expressed as a program module.
[0087] (2) Server hardware configuration FIG. 1-1 shows an example of the hardware configuration of the server 10. In FIG. The server 10 includes, for example, a control unit 11 (CPU), a memory unit 15, a communication I / F 14 (interface), an input / output unit 12, a display unit 13, and a clock unit 19. The components of the HW of the server 10 are connected to each other, for example, via a bus B. Note that the HW of the server 10 does not necessarily have to include all components as the configuration of the HW of the server 10. For example, the HW of the server 10 may or may not be configured so that individual components or multiple components can be removed.
[0088] The control unit 11 has circuits that are physically structured to execute the functions realized by the codes or instructions contained in the program, and is realized, for example, by a data processing device built into hardware.
[0089] The control unit 11 is typically a central processing unit (CPU), but may also be a microprocessor, a processor core, a multiprocessor, an ASIC, or an FPGA. In the present disclosure, the control unit 11 is not limited to these.
[0090] The storage unit 15 has a function of storing various programs and various data required for the operation of the server 10. The storage unit 15 is realized by various storage media such as an HDD, an SSD, and a flash memory. However, in the present disclosure, the storage unit 15 is not limited to these. Furthermore, the storage unit 15 may or may not be expressed as a memory.
[0091] The communication I / F 14 transmits and receives various data via the network 30. The communication may be performed either wired or wirelessly, and any communication protocol may be used as long as mutual communication is possible. The communication I / F 14 has a function of communicating with various devices such as the terminal 20 via the network 30. The communication I / F 14 transmits various data to various devices such as the terminal 20 in accordance with instructions from the control unit 11. The communication I / F 14 also receives various data transmitted from various devices such as the terminal 20 and transmits it to the control unit 11. The communication I / F 14 may also be simply referred to as a communication unit. When the communication I / F 14 is configured as a physically structured circuit, it may also be referred to as a communication circuit.
[0092] The input / output unit 12 includes a device for inputting various operations to the server 10, a device for outputting processing results processed by the server 10, etc. The input / output unit 12 may be an integrated input unit and an output unit, or may be separate input unit and output unit, or may not be the same.
[0093] The input unit is realized by any one of or a combination of all types of devices that can accept input from a user and transmit information related to the input to the control unit 11. The input unit is typically realized by hardware keys such as a keyboard or a pointing device such as a mouse. Note that the input unit may or may not include, for example, a touch panel, a camera (for operation input via moving images), or a microphone (for operation input by voice).
[0094] The output unit is realized by any one or a combination of all kinds of devices that can output the processing results processed by the control unit 11. Examples of the output unit include a touch panel, a touch display, a speaker (sound output), a lens (for example, 3D (three dimensions) output or hologram output), a printer, etc.
[0095] By way of example only, the input / output unit 12 includes a display unit 13, for example.
[0096] The display unit 13 is realized by a display or the like. The display is typically realized by a monitor (for example, a liquid crystal display or an OLED (organic electroluminescence display)). The display may or may not be a head-mounted display (HDM) or the like. These displays may or may not be capable of displaying display data in 3D. In the present disclosure, the display is not limited to these.
[0097] The clock unit 19 is a built-in clock of the server 10, and outputs time information (timekeeping information). The clock unit 19 is configured to include, for example, an RTC (Real Time Clock) as a hardware clock, a system clock, etc. The clock unit 19 can also be expressed as, for example, a timekeeping unit or a time information detection unit.
[0098] (3) Other Server 10 stores program P in storage unit 15, and by executing this program P, control unit 11 executes the processes of each unit included in control unit 11. In other words, program P stored in storage unit 15 causes server 10 to realize each function executed by control unit 11. This program P may or may not be expressed as a program module. The same applies to other devices.
[0099] In each embodiment of the present disclosure, the description will be given assuming that the CPU of the terminal 20 and / or the server 10 executes the program P to realize the present invention. The same applies to other devices.
[0100] The control unit 21 of the terminal 20 and / or the control unit 11 of the server 10 may or may not realize each process not only by a CPU having a control circuit but also by a logic circuit (hardware) formed in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)), or a dedicated circuit. These circuits may be realized by one or more integrated circuits, and multiple processes shown in each embodiment may or may not be realized by a single integrated circuit. LSIs may also be called VLSIs, super LSIs, ultra LSIs, etc. depending on the degree of integration. Therefore, the control unit 21 may or may not be expressed as a control circuit. The same applies to other devices.
[0101] Furthermore, the program P (e.g., a software program, a computer program, or a program module) of each embodiment of the present disclosure may or may not be provided in a state stored in a computer-readable storage medium. The storage medium can store the program P in a "non-transitory tangible medium." The program P may or may not be intended to realize part of the functions of each embodiment of the present disclosure. Furthermore, the program P may or may not be a so-called differential file (differential program) that can realize the functions of each embodiment of the present disclosure in combination with a program P already recorded on a storage medium.
[0102] The storage medium may include one or more semiconductor-based or other integrated circuits (ICs) (such as, for example, field programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM drives, secure digital cards, or drives, any other suitable storage media, or any suitable combination of two or more of these. The storage medium may be volatile, nonvolatile, or a combination of volatile and nonvolatile, where appropriate. The storage medium is not limited to these examples and may be any device or medium capable of storing the program P. Furthermore, the storage medium may or may not be referred to as memory.
[0103] The server 10 and / or the terminal 20 can implement the functions of the multiple functional units shown in each embodiment by reading out the program P stored in the storage medium and executing the read out program P. The same applies to other devices.
[0104] Furthermore, the program P of the present disclosure may or may not be provided to the server 10 and / or the terminal 20 via any transmission medium capable of transmitting a program (such as a communication network or broadcast waves). The server 10 and / or the terminal 20 executes the program P downloaded via the Internet or the like, for example, to realize the functions of the multiple functional units shown in each embodiment. The same applies to other devices.
[0105] In addition, each embodiment of the present disclosure may also be realized in the form of a data signal in which the program P is embodied by electronic transmission. At least a part of the processing in the server 10 and / or the terminal 20 may or may not be realized by cloud computing configured by one or more computers. At least a part or all of the processing in the terminal 20 may or may not be performed by the server 10. In this case, at least a part or all of the processing of each functional unit of the control unit 21 of the terminal 20 may or may not be performed by the server 10. At least a part or all of the processing in the server 10 may or may not be performed by the terminal 20. In this case, at least a part or all of the processing of each functional unit of the control unit 11 of the server 10 may or may not be performed by the terminal 20. Unless explicitly stated otherwise, the judgment configuration in the embodiments of the present disclosure is not essential, and a predetermined process may or may not be performed when the judgment condition is met, or when the judgment condition is not met.
[0106] The program of the present disclosure is implemented using, for example, a scripting language such as ActionScript or JavaScript (registered trademark), a compiler language such as Objective-C or Java (registered trademark), or a markup language such as HTML Living Standard.
[0107] [Functional configuration of each device] (1) Server functional configuration FIG. 1-2 is a diagram showing an example of functions realized by the control unit 11 of the server 10 in this embodiment. The control unit 11 includes, for example, an application management processing unit 111 as a functional unit.
[0108] The application management processing unit 111 has a function of executing application management processing in accordance with an application management processing program 151 stored in the storage unit 15, for example.
[0109] FIG. 1-3 is a diagram showing an example of information stored in the storage unit 15 of the server 10 in this embodiment. The storage unit 15 stores, for example, an application management processing program 151 executed as application management processing, account registration data 153, and a talk room management database 155.
[0110] The account registration data 153 is registration data relating to the account of an application (messaging application in this embodiment), and an example of the data configuration is shown in FIG. 1-4. The account registration data 153 stores, for example, a user name, an application ID, and other registration information in association with each other.
[0111] The user name is the name of the account of the terminal 20 that uses this application, and for example, the name that the user of the terminal 20 registers when using the application is stored.
[0112] The application ID is information used to identify an application account, or the account itself. This application ID is preferably a value that is unique for each account, and for example, a unique value (proper value) is set and stored by the server 10 for each account. The application ID is information associated with the terminal 20 or the user of the terminal 20, and is an example of information about the terminal or information about the user of the terminal.
[0113] Other registration information may include, for example, various types of information such as identification information for identifying terminal 20, the telephone number of terminal 20 (terminal telephone number), email address (terminal email address), and authentication information such as passwords (login password, authentication password, etc.) used for various authentications in applications.
[0114] The identification information for identifying the terminal 20 may be, for example, a terminal ID (for example, an IMEI (International Mobile Equipment Identity)).
[0115] For example, the other registration information may be stored in association with user information.
[0116] Note that the application ID may or may not be replaced with a "user ID." Furthermore, if the application allows only one account to be registered per terminal 20, then for example, "identification information for identifying the terminal 20 = identification information for identifying the user of the terminal 20 = application ID."
[0117] Also, for example, it may or may not be possible to assign multiple terminal IDs to one application ID. In this case, it may or may not be possible to simultaneously launch an application on multiple terminals 20 using one application ID as an identification (login) target.
[0118] Furthermore, instead of various IDs such as application IDs, it is also possible to apply a method of managing accounts using information such as terminal phone numbers. In this case, instead of storing information on IDs such as application IDs in account registration data 153, information on terminal telephone numbers and the like can be stored in account registration data 153. It is also possible to have one-to-one correspondence between information on IDs such as application IDs and information on terminal telephone numbers and the like, without replacing information on IDs such as application IDs with information on terminal telephone numbers and the like, but this is not required.
[0119] In the following embodiment, for the sake of simplicity, it is assumed that one account is registered for one terminal 20. Furthermore, in this case, as described above, "identification information for identifying terminal 20 = identification information for identifying the user of terminal 20 = application ID," so the term "user of the account" used in the following explanation may or may not be substantially synonymous with "terminal of the account."
[0120] The talk room management database 155 is a database for managing, for example, information relating to talk rooms in a messaging service and the contents of messages posted in the talk rooms, and an example of the data configuration is shown in FIG. 1-5. Talk room management database 155 stores talk room management data as management data for each talk room.
[0121] In each talk room management data, for example, a talk room ID, a talk room name, a participant application ID, content management data, and content element accumulation management data are stored in association with each other.
[0122] The chat room ID is information for identifying the chat room. The chat room name is the name of this chat room. The participant application ID is information for identifying the account of a user (or chatbot) participating in this talk room, and for example, the application ID registered in the account registration data 153 is stored. In the figure, for example, the application ID of a chatbot account is written as "BOT." A chatbot account is a good example of an AI account.
[0123] The content management data is data for storing the content posted to the talk room, and may also be called message management data.
[0124] In the content management data, for example, a content ID, a transmission date and time, a sender ID, the transmitted content details, and a mention destination ID are stored in association with each other.
[0125] The content ID is information used to identify the content sent to the chat room. The transmission date and time is the date and time when the content was transmitted. The sender ID is the application ID of the user or chatbot that sent the content to the chat room. The transmitted content details store information about the transmitted content (for example, a pointer (URI) indicating the storage destination of the transmitted image, transmitted text, etc.). When information indicating a mention (for example, "@username") is added to content, the mention destination ID stores the application ID of the mention destination.
[0126] The content element storage management data is data for storing and accumulating content elements analyzed in a content element analysis and storage process (described later) for content sent to this chat room. For example, the control unit 11 of the server 10 generates an itinerary based on the content element storage management data.
[0127] In the content element storage management data, for example, a content ID, a content element, a content element attribute, and a mention flag are stored in association with each other.
[0128] The content ID is information for identifying the content in which the content element is detected, and is, for example, the content ID stored in the content management data.
[0129] A content element is, for example, a noun that represents the main information in the text of the transmitted content. This content element is extracted, for example, in the content element analysis and accumulation process, by linking the content element with a content element attribute.
[0130] The content element attribute is attribute information that indicates whether the user who sent the content to the content element is positive (indicated as "Pos." in the figure) or negative (indicated as "Neg." in the figure). Note that neutral may also be added as attribute information.
[0131] The mention flag is flag information indicating whether a content element is based on transmitted content to which a mention of the chatbot is added. If the content element has a mention of the chatbot added, the mention flag stores, for example, "Yes," and if the content element has no mention of the chatbot added, the mention flag stores, for example, "No."
[0132] For example, the data shown at the front of Figure 1-5 shows that in response to the content sent with content ID "C0008" saying "How about Okinawa? Flights are cheap right now," the name of the travel destination suggested by the user, "Okinawa," and the recommended "airplane" as "cheap," were extracted as positive content elements. Also, in response to the content sent with content ID "C0009" saying "I'm not good at marine resorts...," the "marine resorts," which the user indicated they didn't like, were extracted as a negative content element.
[0133] (2) Functional configuration of the terminal FIG. 1-6 is a diagram showing an example of functions realized by the control unit 21 of the terminal 20 in this embodiment. The control unit 21 includes, as a functional unit, an application processing unit 211 for executing application processing in accordance with an application processing program 281 stored in the storage unit 28, for example.
[0134] FIG. 1-7 is a diagram showing an example of data stored in the storage unit 28 of the terminal 20 in this embodiment. The storage unit 28 stores, for example, an application processing program 281 to be executed as application processing, and an application ID 283 corresponding to the terminal 20 or the account of the user of the terminal 20.
[0135] <Display screen> Examples of display screens will be described below. The transitions of the display screens described below are merely examples of transitions of the display screens for realizing the technique of the present disclosure. In the transitions of the display screens exemplified below, the display of some of the display screens may be omitted, or other display screens may be added. Furthermore, the terms used on the display screens described below may differ from the terms used in the processes described thereafter (some terms may not be consistent).
[0136] In the following, the terminal 20 is exemplified as a smartphone having a display unit 24 with a vertically long display. In the smartphone, a touch panel functioning as an input unit is disposed opposite the display, forming a touch screen. When an element such as an icon, button, item, or input area is displayed on the display, and a part of the touch panel that faces the area where the element is displayed is operated by a user, a program associated with the element or a subroutine of the program may be executed.
[0137] Note that the flow of screen transitions may be explained by showing specific screens displayed on different terminals 20 within one drawing or across multiple drawings. In this case, for example, the specific screen may be displayed on the different terminals 20 based on (triggered by) at least one of the following: - Automatically displayed A notification (including a push notification, etc.; the same applies below) is sent to the terminal 20, and is displayed when the user performs an operation in response to the notification. No notification is sent to the terminal 20, but it is displayed when the user performs a predetermined operation on the application. A notification is sent to the terminal 20, and the message is displayed when the user performs a predetermined operation on the application that sent the notification.
[0138] In the following, an example of an account that will be the initiator of generating a travel plan will be taken as an example where terminal 20A of user AA is used. Terminal 20A may be used as an example of a first terminal, and user AA may be used as an example of a first user of the first terminal. Furthermore, terminal 20A or the account of user AA may be used as an example of a first account. In this example, the travel plan is generated within a messaging application, and the name of the messaging application is shown as "Messaging App." The travel plan may be generated on a different application, such as a travel plan generation support application, from the messaging application. In this case, the travel plan may be presented on the travel plan generation support application based on a conversation in a chat room of the messaging application.
[0139] 1-8 and 1-9 are diagrams showing examples of screens displayed on the display unit 24 of the terminal 20A in this embodiment. Also, what is referred to as a "travel plan" in the drawings will be explained as an "itinerary" where appropriate.
[0140] The left side of Figure 1-8 shows an example of a group generation screen of a messaging application displayed on terminal 20A.In this example, a group consisting of four members, including user AA (user AA), his friends user BB and user CC, and a chatbot, is shown, and user AA has entered information into terminal 20A to generate a group profile for "travel talk."
[0141] The center and right sides show an example of a group talk room screen, which is a group talk room created in this way. The screen on which the talk room is displayed (the screen including the content display area) may be referred to as the talk room screen.
[0142] The chat room screen is configured with an area CR where content and similar information are displayed (hereinafter referred to as the "content display area"), and for example, content sent by the user (content originating from the user) may be displayed on the right side of the screen, and content sent by the other user (content originating from the other user) may be displayed on the left side of the screen. On a group chat room screen, the content display area CR may be configured so that content sent by the user (content originating from the user) is displayed on the right side of the screen, and content sent by group members other than the user (content originating from group members other than the user) is displayed on the left side of the screen. The content may also be displayed in association with information that allows the sender to be specified or identified, such as a registered icon image of the user. The content may also be displayed in a speech bubble. In this case, the text in the speech bubble may be considered to be the content, or the speech bubble may be considered to be the content. Also, depending on the type of content or the information contained in the content, it may be possible not to display the content in a balloon. A single piece of content may include different elements (for example, text, images, and objects such as buttons and icons), and such content may be referred to as "composite content."
[0143] The central screen shows group members chatting about travel. It also shows that user AA has added a chatbot to the group, and that by sending content that mentions "@AI," the chatbot can help with things like itinerary creation. Users AA, BB, and CC are also looking back on past trips. The chatbot is also participating in this conversation by automatically responding.
[0144] On the right side, a scene is shown in which users AA, BB, and CC are planning a trip to Okinawa, and user AA sends content (an example of the first content) that includes a mention "@AI" to the chatbot's account and requests the chatbot to generate an itinerary for the upcoming weekend, and the chatbot accepts this and is currently generating the itinerary.
[0145] The left side of Figure 1-9 shows the continuation of the conversation on the group chat screen on the right side of Figure 1-8. Below the content indicating that an itinerary originating from the chatbot is being generated, content indicating that the itinerary has been generated based on the flow of the conversation originating from the chatbot is displayed, and below that, itinerary information CI1, which is an example of information based on the generated itinerary, is displayed. The itinerary information may be considered content, and may be configured as, for example, composite content. In this example, in addition to the itinerary information in text format, a map display button for displaying a map based on this itinerary is included as an example of a user-operable object.
[0146] That is, in this example, the server 10 generates an itinerary based on the fact that the content elements analyzed from the content sent to the chat room are content elements to which a mention of the chatbot has been added.
[0147] Below the itinerary information CI1, detailed information is displayed as content originating from the chatbot, which is information for each location (place to visit) such as a tourist spot included in the generated itinerary information, allowing the user to check detailed information about the location. The detailed information may be considered as content, and may be configured as, for example, composite content. The detailed information may also be itinerary information.
[0148] For convenience, the detailed information in the form shown in this figure will be referred to as first type detailed information AC (AC1, AC2, . . . ). Each first type of detailed information AC includes image information about the location, such as the location's appearance, the location's name, a rating of the location, and a user-operable object (in this example, a "details button") to display more detailed information about the location. These first-type detailed information AC are displayed, for example, in a carousel format, and are configured so that the user can switch between the displayed items by performing a slide operation or a swipe operation in the left and right directions.
[0149] If the number of locations included in the itinerary is large, the number of first-class detailed information AC will also be large. However, by making it possible to switch between the displayed information using, for example, a slide or swipe operation, the user can check the first-class detailed information AC with a simple operation. Note that the display of the first-type detailed information AC corresponding to all the places included in the itinerary is not limited, and the first-type detailed information AC corresponding to some of the places included in the itinerary may be displayed. For example, information corresponding to accommodations may not be displayed, or information corresponding to places with high reviews may be displayed. In this case, the server 10 may transmit to the terminal 20 only information on places to be displayed, or may transmit information on places not to be displayed to the terminal 20, allowing the terminal 20 to select places to be displayed from the transmitted information.
[0150] The first type of detailed information AC may be regarded as a type of itinerary information CI. Furthermore, the itinerary information CI and the first type of detailed information AC may be examples of second content.
[0151] The center screen shows a continuation of the conversation on the left screen, in which user BB says that there is a tourist spot (in this example, "Naval Australia Park") that he would like to exclude from the itinerary, the chatbot asks user CC if he also wants to exclude this tourist spot, and user CC agrees to exclude this tourist spot in light of user BB's wishes.In response to this, content originating from the chatbot is displayed, indicating that an itinerary will be generated excluding this tourist spot, and that the itinerary is being generated.
[0152] On the right side, the continuation of the conversation on the central screen is displayed, and content originating from the chatbot is displayed, indicating that an itinerary reflecting user BB's opinions has been generated. Below this, itinerary information CI1a based on the generated itinerary is displayed, just like on the left screen. In this itinerary information CI1a, the "Visit to Naval Australia Park" that was included in the above-mentioned itinerary information CI1 has been changed to "Visit to Himeyuri Tower," and other dates have also changed accordingly. Also, below that, Type 1 detailed information AC is displayed, just like on the left screen, but what was Type 1 detailed information AC1 for "Naval Australia Park" on the left screen has been changed to Type 1 detailed information AC1a for "Himeyuri Tower."
[0153] FIG. 1-10 is a diagram showing another example of a screen displayed on the display unit 24 of the terminal 20A in this embodiment. The left screen is similar to the center screen in Figure 1-8, but the content of the conversation in the continuation center screen of Figure 1-10 is different from that in the right screen of Figure 1-8. Specifically, user AA, user BB, and user CC are still planning a trip to Okinawa, but none of them have instructed the chatbot to generate an itinerary (they have not sent content by mentioning "@AI"). Despite this, the chatbot suggests an itinerary as the conversation progresses, saying, "How about this travel plan?" Then, as shown in the continuation right screen, itinerary information CI1 originating from the chatbot is displayed.
[0154] That is, in this example, as shown in the screen on the right side of Figure 1-8, no content including a mention of the chatbot has been sent to the chat room, nor has any content explicitly requesting the generation of an itinerary been sent to the chat room, but the itinerary has been generated by the server 10. An example of this condition will be explained in the processing section.
[0155] <Processing> 1-11 is a flowchart showing an example of the flow of processing executed by each device in this embodiment. From the left, this figure shows an example of processing executed by the control unit 21 of the terminal 20A of user AA, an example of processing executed by the control unit 11 of the server 10, and an example of processing executed by the control unit 21 of the terminal 20B of user BB. Note that the terminals 20 of other users (user CC, etc.) may be configured to execute processing similar to that of terminal 20B, for example, and illustrations and explanations thereof will be omitted. Note that the processes described below are merely examples of processes for realizing the method of the present disclosure, and are not limited to these. Furthermore, other steps may be added to the processing described below, or some steps may be omitted (deleted) from the processing described below.
[0156] First, the control unit 21 of the terminal 20A transmits, to the server 10, chat request information (an example of first information transmitted from a first terminal) for requesting a chat with the user of the terminal 20B and the chatbot via a talk room, based on, for example, an input to the input / output unit 23 of the terminal 20A (for example, a user input (such as a user operation input or sound input); the same may apply hereinafter). Upon receiving the chat request information from the terminal 20A, the control unit 21 of the server 10 executes a chat start process for conducting a chat between the terminal 20A, the terminal 20B, and the chatbot via the talk room (S110). In the chat start process, the control unit 11 of the server 10, for example, activates the chatbot. Then, the control unit 11 of the server 10 generates, for example, a talk room ID for identifying the talk room, and transmits the generated talk room ID to each terminal 20 participating in the talk room.
[0157] For example, when a talk room ID is received from the server 10, the control unit 21 of the terminal 20A and the control unit 21 of the terminal 20B execute a chat start process to conduct a chat between the terminal 20A, the terminal 20B, and the chatbot via the talk room (A110-B110). In the chat start process, the control unit 21 of each terminal 20 causes the display unit 24 to display, for example, a talk room screen.
[0158] The chat request information may be transmitted from the terminal 20B to the server 10.
[0159] For example, when sending a message to the talk room is selected based on a user input on terminal 20B, control unit 21 of terminal 20B sends content transmission request information including, for example, the talk room ID and the text of the message to be sent to server 10 (B120). This may be an example of sending a first content from a second account of a second terminal to the talk room.
[0160] Similarly, the control unit 21 of the terminal 20A may transmit content transmission request information to the server 10 (A120). This may be an example of transmitting a first content from a first account of a first terminal to a talk room.
[0161] When the content transmission request information is received from the terminal 20B, the control unit 11 of the server 10 executes a content element analysis and accumulation process (S120). Note that the control unit 11 of the server 10 may also execute a content element analysis and accumulation process when the content transmission request information is received from the terminal 20A.
[0162] In the content element analysis and accumulation process, the control unit 11 of the server 10, for example, executes named entity recognition (named entity extraction) on the text of the received content transmission request information to extract content elements. The named entity recognition model used may be a knowledge (dictionary) based model, a machine learning model, or a neural network model. Then, the control unit 11 of the server 10 performs, for example, sentiment analysis on each extracted content element based on the text of the content transmission request information, and determines the content element attributes. The sentiment analysis model used may be a knowledge (dictionary) based model, a machine learning model, or a neural network model. The control unit 11 of the server 10 then refers to the talk room management database 155 and determines whether the mention destination ID of the content ID from which the content element was extracted is the application ID of a chatbot. Then, the control unit 11 associates the content ID, content element, content element attribute, and mention flag and stores them in the content element storage management data.
[0163] The content elements may be extracted based on a prompt (text) for generating an image obtained by applying a CLIP (Contrastive Language-Image Pretraining) model or the like to the image included in the content transmission request information.
[0164] In addition, the control unit 11 of the server 10 may not execute the content element analysis and accumulation process each time content transmission request information is received, but may execute the content element analysis and accumulation process all at once for content transmission request information received within a set period (e.g., "1 minute"). In addition, the control unit 11 of the server 10 may perform content element analysis and accumulation processing only for content transmission request information whose mention destination ID is the application ID of a chatbot (an example of generating itinerary information based only on the first content that includes a mention).
[0165] Then, the control unit 11 of the server 10 transmits content information including text based on the content transmission request information to the terminal 20A and the terminal 20B (S130).
[0166] The content information may include elements of the content that are related to the itinerary (for example, "hot springs" or "hidden spots") along with tags, etc. This makes it easier for users to search by searching for tags when considering a trip.
[0167] Furthermore, the control unit 11 of the server 10 may use the content details transmitted so far and text based on the content transmission request information as input to the chatbot with a predetermined probability (for example, "10%), and may additionally transmit the output sentence as content information to the terminal 20A and the terminal 20B. Hereinafter, the content information based on the output sentence by the chatbot may be referred to as "response content information." In addition, when a question from the chatbot to the user is sent as content information, the probability of the chatbot answering the question may be increased.
[0168] In addition, if the content transmission request information includes a mention of the chatbot, the control unit 11 of the server 10 may use the content of the content transmitted so far and text based on the content transmission request information as input to the chatbot, and may additionally transmit the output sentence to terminal 20A and terminal 20B as response content information.
[0169] The chatbot's output statements may be configured to use the travel information database described below as external knowledge to output information such as the weather at the likely destination or recommended destinations for the season. Furthermore, the user may include the above-mentioned tag in the content transmission request information, so that the user can search the travel information database based on the tag and receive response content information including the search results at the terminal 20.
[0170] When the content information and response content information are received from the server 10, the control unit 21 of each terminal 20 adds the received content information to the talk room screen and displays it on the display unit 24 (A130 and B130).
[0171] For example, when the control unit 11 of the server 10 transmits the content information, the control unit 11 refers to the content element storage management data and determines whether or not the stored content elements satisfy a predetermined condition (S140).
[0172] The predetermined conditions may be as follows: (1-A) When a content element with a positive content element attribute contains a word related to itinerary generation, such as "trip," "journey," or "plan," that appears a predetermined number of times (for example, "three times"). (1-B) When a word related to travel elements such as place names, transportation means, and tourist spot names appears a predetermined number of times (for example, "6 times") in a content element whose content element attribute is positive. (1-C) When information for identifying an account that automatically generates content, such as "AI" or "chatbot," and words related to itinerary generation, such as "travel," "journey," "plan," and "execute," appear as content elements of the same content ID. For example, when content transmission request information includes text such as "Why not just let AI do that?" or "Should we let AI create an itinerary now?" (1-D) When the minimum information required to generate an itinerary (for example, destination and schedule) among the elements of the itinerary summary information described later appears in the content element. (1-E). When an explicit itinerary generation occurs in a content element.
[0173] For example, if one or more of (1-A) to (1-E) apply, the server 10 may generate an itinerary based on determining, through element analysis of the content information, that the content includes a request to the server 10 (AI account) to generate an itinerary. As an example, if the analysis finds that the content is "content that requests that an itinerary be generated based on the content that has been provided so far" or "content that requests that an itinerary be generated based on the opinions of other people (user BB, user CC, etc.)," it may be determined that the content includes a request to an AI account (content that is determined to include instructions to an AI account through text analysis, etc., without mentioning the AI account). For example, when a piece of content with the content "I want to go to Okinawa. Please generate an itinerary based on what we've learned so far" is sent, an itinerary may be generated based on the first content and the content of the conversation so far (an example of different first content) based on the text "Okinawa," "itinerary," and "generate" (part of the first content including the request to the AI account), the text "based on what we've learned so far" (part of the first content including the request to the AI account, which is an example of second information for generating second content based on the first content different from this content). In other words, the second content may be generated based on the first content including the request to the AI account and the different first content. On the other hand, when a piece of content with the content "I want to go to Okinawa, please generate an itinerary" that does not include the second information is sent, an itinerary may be generated based only on the first content including the request to the AI account, regardless of the content of the conversation so far.
[0174] In determining whether (1-E) is true, it may be determined that the predetermined condition is true based on the transmission of content including text that explicitly instructs the user to generate an itinerary (e.g., "Generate an itinerary"). In this case, it does not matter whether there is a mention (e.g., "@AI") of the chatbot (a chatbot account, an example of an AI account) (the mention flag may be "YES" or "NO"). The text explicitly instructing the user to generate an itinerary may also include text instructing the user to generate the itinerary using content different from the content that includes at least a mention of the chatbot, in which case the content that includes a mention of the chatbot may or may not be used in generating the itinerary.
[0175] The predetermined conditions may be as follows: (2) When the content information includes a mention of the AI account. For example, the control unit 11 of the server 10 may refer to the content management data and, for example, use a language model (encoder model) to determine whether the content of the transmitted content (i.e., the message mentioned by the user to the chatbot) whose mention destination ID is the application ID of the chatbot is text requesting the creation of an itinerary. If it is determined that the text is text requesting the creation of an itinerary, it may be determined that the predetermined condition is met (S140: YES). In addition, if a mention to an AI account is added to the content information and one or more of the above (1-A) to (1-E) are met, it may be determined that the predetermined condition is met. Furthermore, if a mention of an AI account is added to content information, it may be determined that the predetermined condition is met unconditionally. For example, if a chatbot is defined as an account of an itinerary generation service and a user recognizes that a mention of the chatbot is a function that allows the user to instruct itinerary generation, the itinerary may be generated solely by mentioning the chatbot.
[0176] The transmitted content may include text such as "Create an itinerary based on what has been said so far" or "Create an itinerary based on the opinions of other people (users BB, CC, etc.)" (an example of second information for generating second content based on a first content different from the first content containing the mention). When a piece of content such as "@AI I want to go to Okinawa. Create an itinerary based on what has been said so far" is sent, an itinerary may be generated based on the first content containing the mention and the content of the previous conversation (an example of different first content) based on the text "Okinawa" (a part of the first content containing the mention and an example of information specifying a location) and the text "Based on what has been said so far" (a part of the first content containing the mention and an example of second information for generating second content based on a first content different from this content). In other words, the second content may be generated based on the first content containing the mention and a different first content, while when a piece of content such as "@AI I want to go to Okinawa" that does not contain the second information is sent, an itinerary may be generated based only on the first content containing this mention, regardless of the content of the conversation up to that point.
[0177] The content including the request to the AI account may be one content (message), in which case the account that transmits the first content including the request to the AI account may be one account. Furthermore, when determining whether or not a request is made to an AI account based on the context (content elements) of multiple pieces of content, the account from which the first content including a request to an AI account is sent may be multiple accounts.
[0178] In addition, when content with a mention to an AI account is sent from terminal 20, server 10 may determine that the content satisfies the specified condition (S140: YES) and execute the itinerary generation even if it determines that the content is not related to the itinerary generation instruction.
[0179] When the predetermined condition is determined based on the cumulative content element, it may be said that the second content is generated based on a plurality of first contents, or that the first content is made up of a plurality of contents. Furthermore, when a predetermined condition is determined based on a single first content that is mentioned or that explicitly instructs the creation of a trip, it may be said that the second content is generated based on the single first content.
[0180] If it is determined that the predetermined condition is met (S140: YES), the control unit 11 of the server 10 executes an itinerary outline generation process (S150). If it is determined that the predetermined condition is not satisfied (S140: NO), the control unit 11 of the server 10, for example, waits for reception of content transmission request information again, and executes the content element analysis and storage process (S120).
[0181] If it is determined that the predetermined condition is met (S140: YES), the control unit 11 of the server 10 may transmit content information such as "We can create an itinerary. Would you like to create one?" to the terminal 20. Then, if a positive response is received, the control unit 11 of the server 10 may execute an itinerary outline generation process. Furthermore, when it is determined that the predetermined condition is met (S140: YES), the control unit 11 of the server 10 may be configured to transmit a command to display an itinerary generation button to each terminal 20. Then, based on an input operation on the itinerary generation button at each terminal 20, the control unit 11 of the server 10 may be configured to execute an itinerary outline generation process.
[0182] In the itinerary outline generation process, the control unit 11 of the server 10 generates itinerary outline information based on the content element storage management data, using, for example, a question-answering model (for example, a closed-book question-answering system).
[0183] In the itinerary summary information generation process, for example, the control unit 11 of the server 10 may input the following first prompt sentence into the question-and-answer model. "You are a great tour guide. Please generate an itinerary that meets the following elements: <element 1>, <element 2>, ..." Here, each element of the first prompt sentence may be assigned a content element whose content element attribute is stored as positive and / or neutral in the content element storage management data. Furthermore, a content element whose content element attribute is stored as negative may be assigned as a negative prompt of the first prompt sentence. Furthermore, only elements identified as place names, dates, or organization names in named entity recognition may be assigned as content elements that become elements of the first prompt sentence.
[0184] The first prompt sentence may include a prompt such as "Please list M candidates," which includes a character string for generating any "M" number of candidates ("M" is a natural number). This number "M" may be specified by the user, for example, and may be the number of itineraries to be generated based on the content transmission request information.
[0185] Furthermore, the content elements used as the elements of the first prompt sentence may be limited to content elements whose mention flag is "YES."
[0186] Furthermore, in the itinerary outline generation process, the control unit 11 of the server 10 may use, for example, the text other than the mention portion of the content transmission request information (e.g., "@AI, I want to go to Atami, so please make an itinerary") in which the mention flag is "YES", the mention destination ID is the chatbot's application ID, and the content explicitly instructs the generation of an itinerary as the first prompt sentence.
[0187] That is, the itinerary information may be generated based only on content that includes mentions of the AI account. In addition, the itinerary information may be generated based on content that includes a mention of the AI account and content different from this content (which may be content sent from the same terminal 20 or content sent from a different terminal 20), or it may be generated based only on content different from this content.
[0188] The itinerary summary information may include, for example, any of the following elements: · Departure point (for example, the station or airport where you will arrive on your outbound journey) · Places visited (e.g., facility names and addresses) Dining options (e.g., restaurant name, meal details, etc.) · Place of accommodation (e.g., hotel name and address) Arrival point (e.g., the station or airport where you will depart for your return journey)
[0189] The itinerary summary information may be, for example, a generated sentence that roughly describes the contents of the travel plan. The itinerary summary information may also be, for example, a list of departure points, visit points, and accommodation points. The itinerary summary information may include, for example, information about departure points, visit points, restaurants, and accommodation points based on visit history information. The itinerary summary information may also include, for example, information about a rough schedule, estimated costs, etc.
[0190] When a generated statement is generated indicating that there is a deficiency in the generation of the itinerary overview information, the control unit 11 of the server 10 may transmit content information (an example of third content) relating to a question to fill the deficiency to each terminal 20. Then, the control unit 11 of the server 10 may execute the itinerary overview generation process again based on a response input from the user.
[0191] For example, when the itinerary summary information is generated, the control unit 11 of the server 10 executes an itinerary element detail search process (S160). In the itinerary element detail search process, the control unit 11 of the server 10 uses, for example, a question-answering model (e.g., an open-book question-answering system) to generate itinerary information, which is a feasible travel plan, based on the itinerary summary information, using a travel information database (not shown) as external knowledge (passage). The travel information database may be configured to store various information, such as guide information about tourist destinations (e.g., required sightseeing time and fees, URIs of tourist facility websites, etc.), information related to route and travel time searches, map information, restaurant reservation information, hotel rates and availability information, weather forecasts, etc.
[0192] In the itinerary element detail search process, the control unit 11 of the server 10 may input a second prompt to the question-answering model, requesting a search for feasible routes and / or accommodations available for the planned accommodation date, using the departure point, destination points, and accommodation points output as drafts as the itinerary summary information. Then, it may generate itinerary information, which is an output statement of the question-answering model. The itinerary information may include any of the aforementioned elements related to the itinerary.
[0193] It should be noted that the itinerary information may be presented from a database or information on the web (for example, word of mouth, a website, or posts on SNS) that was used as the basis for generating the itinerary information. The itinerary information may also include the content elements that were the basis for generating the itinerary summary information and the details of the transmitted content that includes those content elements.
[0194] This allows us to eliminate infeasible itineraries generated by hallucination of the language model.
[0195] Furthermore, by separating the itinerary overview generation process, which can be realized by a closed-book question-answering system and requires relatively few resources, from the itinerary element detail search process, it is possible to efficiently generate itinerary overview information based on the first content. Then, by executing the itinerary element detail search process based on the generated itinerary overview information and generating itinerary information that is refined in accordance with reality, it is possible to reduce the prompt length in the itinerary element detail search process, which requires access to a large number of external resources for processing.
[0196] The itinerary element detail search process is not limited to using a question-answering model. For example, the control unit 11 of the server 10 may refer to a travel information database based on the departure point, destinations, etc. in the itinerary summary information and the schedule, and search for a feasible itinerary using dynamic programming (DP). The searched itinerary may then be output as itinerary information.
[0197] Furthermore, it is not necessary to explicitly distinguish between the itinerary overview generation process and the itinerary element detail search process. For example, the control unit 11 of the server 10 may refer to the travel information database and execute a process similar to the itinerary overview generation process to directly generate itinerary information.
[0198] Furthermore, some itinerary elements (such as schedules) of the itinerary information may not be generated by the itinerary overview generation process or the itinerary element detail search process, but may be generated using an external tool (such as a schedule adjustment tool).
[0199] When the itinerary information is generated, the control unit 11 of the server 10 transmits the itinerary information to the terminal 20A and the terminal 20B (S170).
[0200] Then, the control unit 11 of the server 10 determines whether or not to end the process (S190). If it is determined to continue the process (S190: NO), the control unit 11 of the server 10, for example, waits for reception of content transmission request information, and returns the process to S120. On the other hand, if it is determined to end the process (S190: YES), the control unit 11 of the server 10 ends the process.
[0201] If it is determined that itinerary information has been received from the server 10 (A140: YES), the control unit 21 of the terminal 20A outputs the received itinerary information (for example, displays it on the display unit 24) (A150). If it is determined that itinerary information has not been received from the server 10 (A140: NO), the control unit 21 of the terminal 20A, for example, accepts content transmission request information (A120). The same applies to the terminal 20B (B140 and B150).
[0202] Then, the control unit 21 of the terminal 20A determines whether or not to end the processing (A190). If it is determined to continue the processing (A190: NO), the control unit 21 of the terminal 20A returns the processing to A120, for example. On the other hand, if it is determined to end the processing (A190: YES), the control unit 21 of the terminal 20A ends the processing. The same applies to the terminal 20B (B190).
[0203] Note that, once the control unit 11 of the server 10 generates the itinerary summary information (S150), it may be configured to transmit it to the terminal 20A or the terminal 20B. Then, the control unit 21 of the terminal 20A or the terminal 20B may cause the display unit 24 to display the received itinerary summary information. When terminal 20A or terminal 20B receives correction information (e.g., text instructions) for the itinerary summary information based on user input, it may be configured to transmit the correction information to server 10. Then, server 10 may execute an itinerary element detail search process based on the itinerary summary information that reflects the correction information.
[0204] Note that, for example, a user sentiment analysis may be performed on the itinerary elements in the itinerary summary information, and if the sentiment is determined to be positive, the control unit 11 of the server 10 may determine that adjustment of the itinerary elements is complete and transmit content information such as "Is this itinerary the final decision?" to each terminal 20. Then, if it is determined that approval has been obtained based on a reply or the like to the transmitted content information, the control unit 11 of the server 10 may execute a detailed itinerary element search process.
[0205] Furthermore, when terminal 20A or terminal 20B receives correction information for itinerary information based on user input, it may be configured to transmit the correction information to server 10. Then, server 10 may execute the itinerary element detail search process again based on the itinerary summary information that reflects the correction information.
[0206] In addition, when itinerary summary information is generated for "M" itineraries, the control unit 11 of the server 10 may generate "M" itinerary information corresponding to each itinerary summary information and transmit them to each terminal 20.
[0207] Furthermore, the control unit 11 of the server 10 may transmit questionnaire information to each terminal 20 to determine which of the "M" pieces of itinerary summary information is to be used to generate the itinerary information. Then, the control unit 11 of the server 10 may determine the itinerary summary information to be used in the itinerary element detail search process based on the questionnaire result information input by each terminal 20. This allows the user to generate a desired final itinerary from multiple itinerary candidates.
[0208] The generated itinerary information may be sent, for example, to a group chat room (in the example above, a group chat room including user AA, user BB, user CC, and a chatbot), but it may also be sent to a different chat room. For example, in the example above, A chat room that does not include user BB or user CC but does include user AA (for example, a one-on-one chat room between user AA and a chatbot) A chat room that does not include user AA or user CC but does include user BB (for example, a one-on-one chat room between user BB and a chatbot) A chat room that does not include user AA or user BB but does include user CC (for example, a one-on-one chat room between user CC and a chatbot) The information may be transmitted to
[0209] In addition, the generated itinerary information may be sent, for example, to a chat room containing a user different from the account that sent the first content including the request to the AI account. For example, if itinerary information is generated based on content sent by users AA and BB, the itinerary information may be sent to a chat room that does not include users AA and BB but does include user CC.
[0210] For example, if user AA instructs a chatbot to generate an itinerary (by mention or explicit instruction), server 10 may send the generated itinerary information, including a mention of user BB (a user different from the user who instructed the generation), in a chat room that includes user AA, user BB, and the chatbot.
[0211] Furthermore, content relating to questions to make up for the aforementioned deficiencies and the aforementioned questionnaire information may be examples of the second content. Furthermore, when sending these contents to a group chat room, the contents may be sent with a mention of the corresponding user to encourage each user to answer questions or questionnaires.
[0212] <Effects of the First Embodiment> In this embodiment, a server 10 that communicates with terminal 20A (an example of a first terminal) and terminal 20B (an example of a second terminal) creates a talk room including user AA's account (an example of a first account of the first terminal), user BB's account (an example of a second account of the second terminal), and a chatbot (an example of an AI account) through a chat start process based on chat request information (an example of first information) transmitted from the first terminal. The server 10 also generates itinerary information (an example of second content) based on content transmission request information (an example of first content) transmitted from the first account or the second account to the talk room. The server 10 then transmits the itinerary information to each terminal 20 as content from the chatbot. This is an example of control for associating the generated second content with the AI account in the talk room. According to this embodiment, by including an AI account when creating a talk room that includes a first account and a second account, second content can be generated based on first content sent to the talk room from the first account or the second account, and the second content can be displayed in the talk room as content provided by the AI account. This makes it easier for users of the first and second terminals to use the content generation function provided by the AI account, thereby improving the convenience of the talk room and promoting communication.
[0213] Furthermore, according to this embodiment, the second content is generated based on the first content including a mention of the AI account, so the user of the terminal can easily set whether or not to use the content generation function of the AI account by whether or not to add a mention.
[0214] Furthermore, according to this embodiment, the second content is generated based only on the first content that includes the mention, so the user of the terminal can easily set what information the second content will be generated based on by whether or not to add a mention.
[0215] Furthermore, according to this embodiment, the second content is generated based on the first content that is different from the first content that includes at least a mention, and therefore, by adding a mention on the terminal user side, the content of the chat room can be effectively utilized to generate the second content.
[0216] Furthermore, according to this embodiment, if the first content containing the mention contains second information, the second content is generated based on at least a first content that is different from the first content, and if the first content containing the mention does not contain second information, the second content is generated based only on the first content. Therefore, the user of the terminal can set what first content the second content will be generated based on, depending on whether or not the second information is added to the mention.
[0217] Furthermore, according to this embodiment, by transmitting the generated second content to an account different from the account that transmitted the first content including the mention, it is possible to diversify the destinations of the second content. For example, it is possible to generate second content targeted at a second account based on the first content transmitted from the first account and transmit the second content to the second account.
[0218] Furthermore, according to this embodiment, the second content is automatically generated based on the fact that the first content is analyzed to contain a request to an AI account, so that the user of the terminal can generate the second content without being aware of how to use the content generation function of the AI account.
[0219] Furthermore, according to this embodiment, the second content is generated based only on the first content that is analyzed to include a request to an AI account, so the basis for generation can be made clear, and it is easy for the user of the terminal to clearly understand the correspondence, such as what first content the second content was generated based on.
[0220] Furthermore, according to this embodiment, the second content is generated based on the first content that is different from the first content that has been analyzed to include at least a request to the AI account, and therefore the second content can be generated by effectively utilizing the content of the chat room.
[0221] Furthermore, according to this embodiment, if the first content including a request to an AI account includes second information, the second content is generated based on at least the first content that is different from the first content, and if the first content including a request to an AI account does not include second information, the second content is generated based only on the first content, so the user of the terminal can set what first content the second content will be generated based on depending on whether or not the first content includes second information.
[0222] Furthermore, according to this embodiment, by transmitting the generated second content to an account different from the account that transmitted the first content including the request to the AI account, it is possible to diversify the destinations of the second content. For example, it is possible to generate second content targeted at a second account based on the first content transmitted from the first account and transmit the second content to the second account.
[0223] Furthermore, according to this embodiment, by presenting the generated itinerary to the user of the first account and the user of the second account, communication about travel in the chat room can be promoted.
[0224] Furthermore, according to this embodiment, if the first content (content content and / or number of contents) required to generate the second content exists, the second content is generated as is; if it does not exist, a question to obtain the answer required to generate the second content from the first account or the second account is first generated and presented in the chat room, and the second content can be generated based on the answer to the question from the first account or the second account.
[0225] Furthermore, according to this embodiment, if a user wants to check an itinerary that is different from the one that was generated and displayed in the chat room, the user of the first terminal or the user of the second terminal can input information to change the itinerary, and a different itinerary will be generated and displayed in the chat room, thereby improving convenience.
[0226] <First Modification Example (1)> In the above embodiment, the server 10 accepts dialogue messages from users of the terminals 20, analyzes dialogue content (content element analysis and accumulation processing), and provides a travel information database, but the present invention is not limited to this. For example, the server 10 may be a server system consisting of a dialogue reception server 10L that provides messaging services and interactive interface services, a generation AI server 10M that provides dialogue content analysis, and a travel information server 10T that provides a travel information database.
[0227] The process in this case will be exemplified below. First, for example, the dialogue reception server 10L executes chat start processing together with each terminal 20. For example, the terminal 20A or the terminal 20B transmits content transmission request information to the server 10L. In response, the server 10L transmits text analysis request information based on the received content transmission request information to the generation AI server 10M. The generation AI server 10M executes content element analysis and accumulation processing based on the received text analysis request information. Also, when the text analysis request information is input to the chatbot and it is determined that a response from the chatbot is desirable, it transmits content transmission request information generated by the chatbot to the server 10L.
[0228] The server 10L transmits content information to each terminal 20 based on content transmission request information received from the terminal 20 and the generation AI server 10M.
[0229] For example, if the generation AI server 10M determines that the stored content elements satisfy a predetermined condition (similar to S140 in FIG. 1-11), the generation AI server 10M executes an itinerary summary generation process based on the content elements required to generate the itinerary information. Then, the generation AI server 10M transmits itinerary element detail inquiry information to the travel information server 10T to generate a more specific itinerary based on the itinerary summary information.
[0230] Then, the travel information server 10T refers to the travel information database, and the travel information server 10T executes a detailed itinerary element search process.
[0231] Then, the travel information server 10T transmits detailed itinerary element information including the searched itinerary elements to the generation AI server 10M. Upon receiving the itinerary element detailed information, the generation AI server 10M transmits it to the dialogue reception server 10L.
[0232] The generation AI server 10M may refer to the travel information database of the travel information server 10T via an API, for example, and execute the itinerary element detail search process.
[0233] When receiving the itinerary element detailed information from the generation AI server 10M, for example, the dialogue reception server 10L converts the itinerary element detailed information into a format that can be displayed and output, and transmits the converted itinerary information to each terminal 20.
[0234] Upon receiving the itinerary information from the dialogue reception server 10L, each terminal 20 outputs (for example, displays) the received itinerary information.
[0235] The above process may be repeated.
[0236] According to this modified example, the server can be configured in an optimized manner by including a dialogue reception server (an example of a first server) for chat start processing (an example of a first control) and a generation AI server (an example of a second server) for content element analysis and storage processing and itinerary outline generation processing (an example of a second control).
[0237] <First Modification (2)> For example, when determining whether a predetermined condition is met (S140 in FIG. 1-11), if the same or similar content elements (e.g., "Naval Australia Park" and "Battle Site") have a mixture of negative and positive content element attributes, the control unit 11 of the server 10 may send facilitation information to the user who sent the content determined to be negative to confirm again that the content element is negative. Furthermore, in a talk room with three or more users, the control unit 11 of the server 10 may transmit, for example, facilitation information (e.g., text such as "What do you think about Naval Australia Park, CC?") confirming whether the content element is negative or positive to the terminals 20 of users who have not yet received content transmission request information for the same or similar content element. Then, the control unit 11 of the server 10 may determine the content elements and content element attributes based on the responses to the facilitation information, and may set the attribute with the greater number of content element attributes (positive or negative) as the final content element attribute for that content element. This allows itinerary information to be generated while arbitrating conflicts regarding content element attributes between users.
[0238] Note that, for example, when identical or similar content elements have a mixture of negative and positive content element attributes, the server 10 may generate content summarizing general questions and opinions about the content elements using a question-answering system and transmit the content to the terminals 20 as the chatbot's opinion. Furthermore, when it is determined based on the responses to the facilitation information that a compromise cannot be reached, the server 10 may transmit, for example, majority vote information for taking a majority vote about the content elements to each terminal 20. Then, based on the replies to the majority vote information, the server 10 may determine the content element attribute that will prevail by majority vote.
[0239] <First Modification (3)> In the above embodiment, for example, the server 10 executes the content element analysis and storage process based on interactive content transmission request information, but the present invention is not limited to this. For example, the server 10 may transmit an input template that allows the user to easily communicate their travel itinerary needs during chat initiation processing. Then, based on input to the input template at each terminal 20, the server 10 may execute content element analysis and accumulation processing. The input template may be configured so that, for example, the following itinerary elements can be specified: ·Preferred date ·Destination Transportation Things I want to do Concerns ·budget This allows for efficient collection of content elements that are effective for generating an itinerary.
[0240] The input template may be created by the user. Alternatively, for example, the user may be able to select items to be used in the input template to be sent to the talk room from among input templates prepared in advance by the service provider.
[0241] Furthermore, the input template may be generated by a language model or the like based on content elements that have appeared up to that point in the content element analysis and accumulation process, for example.
[0242] In addition, the user's preferences and concerns (e.g., favorite foods, driving experience, allergies, whether a baby bed is required for children, etc.) may be saved as a profile for reuse.The server 10 may then generate an input template for filling in missing elements in determining itinerary elements based on the pre-registered user profile.
[0243] If a user profile is registered, the server 10 may take the profile information into consideration when executing the itinerary outline generation process, etc. The server 10 may also associate the profile information that has been taken into consideration with the generated itinerary information and transmit it.
[0244] <First Modification (4)> In the above embodiment, it is assumed that the participants in the chat room are going on a trip, but for example, the participants in the chat room and the participants who actually go on a trip may be different. Whether the participants are going on a trip may be determined, for example, during a conversation. For example, the server 10 may perform the itinerary outline generation process, etc., by placing emphasis on content elements sent by participants who will actually go on the trip.
[0245] There may also be participants who are not participating in the chat room but are actually going on a trip. For example, if a user who is not participating in a chat room but is actually going on a trip has registered their interests and concerns as profile information, the server 10 may take that profile information into account when performing processes such as generating an itinerary outline.
[0246] <First Modification (5)> In the above embodiment, a chatbot is added when a talk room is created (generated), but this is not limiting. For example, a chatbot does not need to be added when a talk room is created.
[0247] When users are talking about travel, a chatbot may be added later based on user input, for example. The server 10 may then refer to content information from the time the chat room was created and execute a content element analysis and accumulation process to generate an itinerary that takes into account the conversation before the chatbot was added.
[0248] <Second Example> In the second embodiment, for example, the server 10 generates an itinerary based on the message exchange content in a chat room between a first user and a chatbot and the message exchange content in a chat room between a second user and a chatbot, and sends the itinerary to each chat room. The contents described in the second embodiment are similarly applicable to any of the other embodiments and other modified examples.
[0249] In the following, for example, a talk room in which a first user and a chatbot participate will be referred to as a "first chat room," and a talk room in which a second user and a chatbot participate will be referred to as a "second chat room." For example, a common chat room association identification ID may be assigned to the first chat room and the second chat room, indicating that the two chat rooms are associated with each other. The same applies to third users, etc.
[0250] In the following, for example, a content element detected in a first chat room will be referred to as a “first content element,” and a content element detected in a second chat room will be referred to as a “second content element.” The same applies to a third chat room, etc.
[0251] <Display screen> 2-1 to 2-4 are diagrams showing examples of screens displayed on the display unit 24 of each terminal 20 in this embodiment. For example, the following description will be given assuming that user AA of terminal 20A is the first user, user BB of terminal 20B is the second user, and user CC of terminal 20C is the third user.
[0252] The left side of FIG. 2-1 shows an example of a screen of a one-to-one chat room (an example of a first chat room) between user AA and a chatbot, displayed on the display unit 24 of the terminal 20A. This screen shows a scene in which user AA tells the chatbot in content display area CR that he wants to go on a trip this coming weekend, and in response to a question from the chatbot, says that he wants to invite users BB and CC to go on a trip to Okinawa together. Then, in response to the chatbot's response that he will ask users BB and CC about it, user AA instructs the chatbot to ask users BB and CC about their requests individually. In this case, the server 10 may transmit, for example, to each of the terminals 20B and 20C, a notification from the user AA inviting them to travel to Okinawa.
[0253] The center shows an example of a screen of a one-to-one talk room between user BB and user CC, displayed on the display unit of terminal 20 B. Here, an example is shown in which the above notification is sent from server 10 to terminal 20 B and terminal 20 C in push format. This screen may be a screen of a one-on-one chat room that started when user CC learned via a push notification that user AA had invited him / her to Okinawa, and user CC sent a message to user BB, who responded to the message. In this example, a push notification PN1 from a messaging application, sent by a chatbot, is displayed at the bottom of the screen and superimposed on part of the content display area CR, containing text indicating that user AA has invited him / her to Okinawa and that the user would like to go together. Note that this push notification may also be sent to terminal 20C in the same way.
[0254] The conversation shows User CC telling User AA that User AA has also invited him to a trip to Okinawa, and User CC telling User BB that he is not good at marine resorts and will consult the chatbot.
[0255] When the push notification is touched, terminal 20B transitions from the screen of the one-to-one chat room between user BB and user CC to a screen of a one-to-one chat room between user BB and the chatbot (an example of a second chat room), as shown on the right, for example. This screen displays the content sent from the chatbot, including the content displayed in the push notification (user AA has invited him to go on a trip to Okinawa and he is proposing to go with him) and content related to the date (indicating that the date is this coming weekend).
[0256] In addition, when the push notification is touched on terminal 20C, a screen of a one-to-one chat room (an example of a third chat room) between user CC and the chatbot may be displayed, similar to the screen shown on the right side of Figure 2-1.
[0257] FIG. 2-2 shows an example of a one-to-one talk room screen with the chatbot that is subsequently displayed on each of the terminals 20A, 20B, and 20C. On the left side is a screen displayed on terminal 20A, showing a continuation of the conversation on the screen shown on the left side of Figure 2-1 (the screen of the first chat room), in which user AA tells the chatbot that he wants to spend the day watching the sunset at a resort hotel and asks the other participants (in this example, users BB and CC) to confirm this, and the chatbot responds that it is currently checking with users BB and CC.
[0258] In the center, an example of a screen displayed on terminal 20B, which is a continuation of the conversation between user BB and the chatbot shown on the right side of FIG. 2-1, is shown. On the screen of terminal 20A shown on the left, user AA has requested the chatbot to confirm with other participants, and on this screen, below the content about the itinerary sent by the chatbot on the screen shown on the right of Figure 2-1, content sent by the chatbot asking about tourist spots that user AA would like to visit and content suggesting watching the sunset at the resort hotel for which user AA has requested confirmation are displayed. Below that, content sent by user BB is displayed, informing user BB that user AA agrees with the request and that user AA would like to eat Okinawa soba, and below that, content sent by the chatbot is displayed, including content indicating that user AA's request has been accepted (in this example, "So you want to eat Okinawa soba") and content urging user AA to wait for a while (in this example, "Please wait a moment...").
[0259] On the right side, an example of a screen displayed on the terminal 20C is shown, and this screen corresponds to the screen of the one-to-one talk room between the user BB and the chatbot shown on the right side of FIG. 2-1. In this screen, too, below the content about the schedule originating from the chatbot, content originating from the chatbot is displayed, asking about tourist spots the user wants to visit and suggesting watching the sunset at a resort hotel that user AA requested confirmation for. Below that, content originating from user CC is displayed, conveying that going to Okinawa is fine but that marine resorts are not her thing. Below that, content originating from the chatbot is displayed, including content indicating that the user's request has been accepted (in this example, "So you're not good at marine resorts?") and content asking about places the user wants to go (in this example, "What kind of places do you want to go to?"). In response to this, content originating from user CC is displayed, conveying that the user wants to visit war sites such as the Himeyuri Monument and the Navy Australia Park. Below that, content originating from the chatbot is displayed, including content indicating that the user's request has been accepted (in this example, "Touring war sites in Okinawa, right?") and content instructing the user to wait for a while (in this example, "Please wait a moment...").
[0260] Figure 2-3 shows the continuation of the talk on the screen of the one-to-one talk room displayed on each terminal 20 shown in Figure 2-2. The diagram can be viewed in the same way as Figure 2-2. On the screen of the left terminal 20A, below the latest content originating from the chatbot shown on the left screen of Figure 2-2, content originating from the chatbot, which suggests places to include in the itinerary, is displayed. User AA then tells the chatbot that he or she would like to visit a place not included in the suggested places (Shuri Castle in this example), and sends content instructing the chatbot to generate an itinerary that includes this place, and content is displayed indicating that the chatbot is summarizing the requests of users BB and CC.
[0261] Similarly, on the screen of the central terminal 20B, below the latest content originating from the chatbot shown on the left screen of Figure 2-2, content also originating from the chatbot, which suggests places to include in the itinerary, is displayed. Then, content is displayed in which user BB tells the chatbot which places they would like to exclude from the itinerary (in this example, Naval Australia Park), the chatbot agrees and asks user BB if there are any other places they would like to go, user BB replies with which other places they would like to go (in this example, "Okinawa Glass Workshop"), the chatbot agrees and prompts the user to wait for a while.
[0262] Similarly, on the screen of the right terminal 20C, below the latest content originating from the chatbot shown on the left screen of Figure 2-2, content originating from the chatbot, which suggests places to include in the itinerary, is displayed. Then, content is displayed in which the user CC has accepted the itinerary, and the chatbot has accepted and is prompting the user to wait for a while.
[0263] Furthermore, on each screen, below the content display area CR, second type detailed information BC (BC1, BC2, BC3, ...) which is information about places included in the generated itinerary and has a different form from the above-mentioned first type detailed information AC is displayed in a carousel format from side to side. The second type detailed information BC contains less information and is simpler than the first type detailed information AC, and includes, for example, an image related to the place and the name of the place.
[0264] If the number of locations included in the itinerary is large, the number of second-type detailed information BC will also increase accordingly, but by making it possible to switch between displays using, for example, a slide or swipe operation, the user can check the second-type detailed information BC with a simple operation. Note that the display of the second type detailed information BC corresponding to all locations included in the itinerary is not limited to this, and the second type detailed information BC corresponding to only some of the locations included in the itinerary may be displayed. For example, information corresponding to accommodations may not be displayed, or information corresponding to locations with high reviews may be displayed. In this case, the server 10 may transmit to the terminal 20 only information about locations to be displayed, or may transmit information about locations not to be displayed to the terminal 20, allowing the terminal 20 to select locations to be displayed from the transmitted information.
[0265] The second type of detailed information BC may be itinerary information or itinerary summary information.
[0266] Figure 2-4 shows the continuation of the talk on the screen of the one-to-one talk room displayed on each terminal 20 shown in Figure 2-3. The diagram can be viewed in the same way as Figure 2-2. In the content display area CR of these screens, itinerary information CI1a is displayed below content that informs users that the itinerary was created based on the opinions of each user, who sent the chatbot. This itinerary information CI1a is the same as the itinerary information CI1a shown on the right side of Figure 1-9, for example, and reflects the opinions of user BB, resulting in an itinerary that does not include "Navy Australia Park." Additionally, below the itinerary information CI1a, the first-class detailed information AC1 for "Navy Australia Park" on the left screen has been changed to first-class detailed information AC1a for "Himeyuri Tower."
[0267] In this example, for example, a content element storage process may be executed between the server 10 and each terminal 20, and an itinerary may be generated based on the content elements stored for each terminal 20. Details will be explained in the processing section.
[0268] In addition, in the screen in the center of FIG. 2-4, the terminal 20B may be configured to transmit correction information for the presented itinerary information CI1a to the server 10 based on input from the user BB. Then, the server 10 may execute an itinerary element detail search process based on the itinerary summary information reflecting the correction information, and transmit the itinerary information again to each one-to-one chat room. The same may be true for terminal 20A and terminal 20C; in the screen on the left side of Figure 2-4, terminal 20A may be configured to send correction information for the presented itinerary information CI1a to server 10 based on input from user AA, and in the screen on the right side of Figure 2-4, terminal 20C may be configured to send correction information for the presented itinerary information CI1a to server 10 based on input from user CC.
[0269] <Processing> 2-5 to 2-7 are flowcharts showing an example of the flow of processing executed by each device in this embodiment. In this figure, from the left, an example of processing executed by the control unit 21 of the terminal 20A of user AA and an example of processing executed by the control unit 11 of the server 10 are shown. Note that the processing executed by the control unit 21 of the terminal 20 of another user (user CC, etc.) may be the same as that of terminal 20B, for example, and will not be shown or described here.
[0270] The server 10 and the terminal 20A execute a first chat start process (A210-S210) to start a dialogue between the user AA of the terminal 20A and the chatbot. The first chat start process may be executed in the same manner as A110-S110 in FIG. 1-11.
[0271] Then, the server 10 and the terminal 20A execute, for example, a first content element storage process (A220-S220).
[0272] In the first content element accumulation process, for example, when terminal 20A selects to send a message to the first chat room based on user input on terminal 20A, it sends first content transmission request information to server 10, including, for example, the chat room ID and the text of the message to be sent (A2210).
[0273] When receiving the first content transmission request information from the terminal 20A, the server 10 executes a first content element analysis and accumulation process (S2210). The first content element analysis and accumulation process may be executed on the first content transmission request information in the same manner as S120 in FIG. 1-11, for example. In addition, the server 10 may transmit the first content information based on the received first content transmission request information to the terminal 20A, and the terminal 20A may display the received first content information so that the user can confirm his / her own input.
[0274] Then, the server 10 executes a first response content generation process (S2230). In the first response content generation process, for example, the first content transmission request information and text based on the first response content information that have been transmitted and received so far, and text based on the newly received first content transmission request information are used as inputs to the chatbot to generate the first response content.
[0275] Then, the server 10 transmits first response content information including the first response content to the terminal 20A (S2250). When the terminal 20A receives the first response content information, the terminal 20A adds the received first response content information to the talk room screen and displays it on the display unit 24 (A2230).
[0276] In the first content element storage process, the server 10 may execute the first response content generation process and transmit the first response content information to the terminal 20A without waiting for the reception of the first content transmission request information.
[0277] By executing the first content element storage process, for example, content element storage management data is stored and updated in the chat room management data for the first chat room. Hereinafter, content elements stored in the content element storage management data based on the first content element storage process will be referred to as "first stored content elements." The same applies to other chat rooms.
[0278] In the first content element storage process, for example, the terminal 20A and the server 10 may repeatedly execute steps A2210 to A2230 and S2210 to S2250.
[0279] For example, when the terminal 20A executes the first content element accumulation process, it determines whether or not to invite other participants to the trip based on, for example, a user input to the terminal 20A (A230). If it determines to invite participants (A230: YES), the terminal 20A transmits participant designation information including identification information of a second user designated based on, for example, the user input to the server 10 (A240). Note that the participant designation information may allow two or more users to be designated.
[0280] When it is determined that the participant designation information has been received from the terminal 20A (S230: YES), for example, the server 10 and the terminal 20B of the user BB designated in the participant designation information execute a second chat start process (S240-B210). The second chat start process may be executed in the same manner as the first chat start process, for example.
[0281] In the second chat start process, for example, the server 10 may transmit to the terminal 20B travel invitation notification information indicating that the first user has invited the second user to go on a trip. The terminal 20B may output (for example, display) the received travel invitation notification information to notify the second user.
[0282] If it is determined that participants are not being invited (A230: NO), for example, the terminal 20A executes the first content element accumulation process again. Also, if it is determined that participant designation information has not been received (S230: NO), for example, the server 10 executes the first content element accumulation process again.
[0283] The determination of whether to invite participants may be performed by the server 10. The participant designation information may be an API command including the application ID of the second user or may be based on a text instruction such as "Invite BB to join the trip." If the instruction to invite participants is not clear, the server 10 may transmit first response content information related to a confirmation such as "Shall we ask BB?" to the terminal 20A.
[0284] If the second user specified in the participant specification information is not a friend of the first user, the server 10 may transmit a notification to the first user and the second user urging them to add the first user as a friend. For example, if the second user refuses to add the first user as a friend, the server 10 may transmit, via a chatbot, first response content information to the terminal 20A indicating that the second user has refused the friend request and the response to the refusal.
[0285] For example, when the server 10 and the terminal 20B execute the second chat start process (B210-S240), they execute the second content element storage process (B250-S250). The second content element storage process may be executed in the same manner as the first content element storage process. By executing the second content element storage process, the second storage content element is stored and updated.
[0286] The server 10 may be able to refer to the first accumulated content element and the second accumulated content element as common accumulated content elements (referred to as "aggregated accumulated content elements") required for generating an itinerary, for example, via a chat room related identification ID. In the first content element storage process and the second content element storage process, the server 10 may be configured to generate the first response content and the second response content based on the accumulated storage content elements.
[0287] Furthermore, in the first response content generation process or the second response content generation process, if the server 10 determines that, for example, a user name, a content element indicating confirmation, or other wording or content that directly prompts other participants for confirmation has appeared in the most recent first or second content element storage management data, the server 10 may generate a first response content or a second response content that prompts an answer to a question. For example, if the first content element "BB" or "Navy Australia Park" appears in the first content element storage process and it is analyzed that the content of the transmitted content is a question for someone, the server 10 may generate a second response content such as "BB, what do you think about Navy Australia Park?"
[0288] In addition, if only the first content element "BB" appears and the content of the transmitted content indirectly expresses a question such as "I wonder if this is difficult for BB," confirmation may be obtained from the first user by generating a first response content such as "Shall we ask BB from the chatbot?" to determine whether or not to raise a question when generating the second response content.
[0289] For example, based on a user input at terminal 20B, terminal 20B and server 10 may determine whether to invite other participants to the trip. Then, based on receiving participant designation information from terminal 20B, server 10 may further execute chat start processing with other users and content element accumulation processing.
[0290] For example, after executing the first content element storage process and the second content element storage process, the server 10 determines whether the first stored content element satisfies a predetermined condition for generating an itinerary (S260). Here, the determination based on the predetermined condition may be made in the same manner as in S140 of FIG. 1-11. The server 10 may determine whether the content of the transmitted content, whose mention destination ID is the application ID of a chatbot, is text requesting the generation of an itinerary.
[0291] If it is determined that the first storage content element does not satisfy the predetermined condition (S260: NO), the server 10 transmits, for example, first content element additional acquisition request information to the terminal 20A to further collect the first content element (S270), and then the server 10 executes the first content element storage process again (S280).
[0292] When it is determined that first content element additional acquisition request information has been received from the server 10 (A260: YES), the terminal 20A, for example, executes the first content element accumulation process again (A280).
[0293] If it is determined that the first storage content element satisfies the predetermined condition (S260: YES), the server 10 determines, for example, whether the second storage content element satisfies the predetermined condition for generating an itinerary (S290). Here, the determination based on the predetermined condition may be made in the same manner as in S140 of FIG. 1-11.
[0294] If it is determined that the second storage content element does not satisfy the predetermined condition (S290: NO), the server 10 transmits, for example, second content element additional acquisition request information to the terminal 20B to further collect the second content element (S300).Then, the server 10 executes the second content element storage process again (S310).
[0295] When it is determined that second content element additional acquisition request information has been received from the server 10 (B260: YES), the terminal 20B, for example, executes the second content element accumulation process again (B310).
[0296] For example, if it is determined that the first and second storage content elements satisfy a predetermined condition, the server 10 determines, for example, whether the degree of difference between the first and second storage content elements is equal to or greater than a predetermined value (S320).
[0297] Here, the dissimilarity between the first and second storage content elements may be, for example, set to "0" as an initial value, and set to "+0" if the content element attributes of identical or similar content elements in the first and second storage content elements are either positive or negative, or set to "+1" if the content element attributes are split between positive and negative. The sum of the dissimilarity for each content element may then be used as the dissimilarity. It should be noted that even when a third user or the like is participating as a participant, the degree of difference between each of the two stored content elements may be calculated, and the sum of the respective degrees of difference may be calculated as the final degree of difference. As a result, the greater the degree of difference, the greater the difference in the degree of affirmation between users for the same or similar content element, and the greater the index value indicating that there is no consensus among users.
[0298] For example, if the degree of difference is equal to or exceeds a predetermined value (e.g., "+5"), the server 10 transmits first content element additional acquisition request information and second content element additional acquisition request information to each terminal 20 (S330), and then executes the first content element storage process and the second content element storage process again (S340-S350). When terminal 20A or terminal 20B determines that it has received first content element additional acquisition request information or second content element additional acquisition request information (A320: YES·B320: YES), it executes the first content element storage process or the second content element storage process again (A340·B350).
[0299] In addition, in the first content element storage process or the second content element storage process, for example, if the first user's request and the second user's request are contradictory (if the content element attributes of the content elements are different), the server 10 may generate response content information that encourages the first user or the second user to compromise or give in, and send it to the terminal 20.
[0300] For example, if the degree of difference is less than a predetermined value or equal to or less than a predetermined value (S320: NO), the server 10 determines that the users have reached a consensus, and executes an itinerary outline generation process (S360), for example, based on the first accumulated content element and the second accumulated content element (or the aggregated accumulated content element). Then, the server 10 executes a detailed itinerary element search process based on the generated itinerary overview information (S370), and then transmits the generated itinerary information to the terminal 20A and the terminal 20B (S380). Each process may be executed in the same manner as, for example, S150 to S170 in FIG. 1-11.
[0301] When the terminal 20A and the terminal 20B receive the itinerary information from the server 10, they output the received itinerary information (for example, display it on the display unit 24) (A380 and B380).
[0302] In addition, the accumulated content element may be used as the target of the predetermined condition determination in S260 and S290 instead of the first accumulated content element or the second accumulated content element. In this case, if it is determined that the accumulated content element satisfies the predetermined condition, the server 10 executes, for example, step S320.
[0303] Furthermore, for example, in S320, the server 10 may analyze the transmitted content based on the content element that appears first in the first stored content element or the second stored content element among the content elements with a difference degree of "+1," generate a question to be posed to other users, and generate response content information. This may enable the question to be posed to other users to be generated from the initial instruction. The response content information may include the name of the user who made the initial instruction regarding the content element with a difference degree of "+1," which user made a comment about this content element, and so on. This allows the user to understand the content of conversations in other chat rooms that cannot be directly accessed.
[0304] The response content that prompts the user to answer the question may be an example of the second content. The response content may be sent to a chat room (one-on-one chat room) that includes the user to whom the question is addressed and the chatbot, or may be sent to a group chat room. In this case, the response content may be sent with a mention of the user to prompt the user to answer the question.
[0305] <Effects of the second embodiment> In this embodiment, a server communicating with terminal 20A (an example of a first terminal) and terminal 20B (an example of a second terminal) creates a talk room (an example of a first talk room) including user AA's account (an example of a first account of the first terminal) and a chatbot (an example of an AI account) and a talk room (an example of a second talk room) including user BB's account (an example of a second account of the second terminal) and the chatbot (an example of an AI account) through a first chat start process and a second chat start process (an example of generation by a control unit of the server). Furthermore, it generates itinerary information (an example of second content) based on content transmission request information (an example of first content) sent from the first account to the first talk room. Then, in the second talk room, it transmits the itinerary information to each terminal 20 as content from the chatbot (an example of control of associating the second content with an AI account in the second talk room). According to this embodiment, it is possible to provide the second content generated based on the first content in the first talk room to the second talk room. In cases where there is no talk room including both the first account and the second account, or even if there is such a talk room, if content is not exchanged between the first account and the second account in that talk room, communication between the first account and the second account can be assisted via an AI account included in both the first talk room and the second talk room.
[0306] Furthermore, according to this embodiment, after the second account confirms the second content (itinerary information before the amendment) displayed in the second chat room, the sixth content (amended itinerary information) can be generated based on the fifth content (amendment information) sent from the second account. Furthermore, by displaying the sixth content in the first chat room (a one-to-one chat room between user AA and the chatbot) and the second chat room (a one-to-one chat room between user BB and the chatbot), the sixth content can be shared between the first account and the second account. For example, if the second content is the content of an inquiry from the first account to the second account and the fifth content is the content of a response to the inquiry, the sixth content generated based on the content of the inquiry and the content of the response will be shared between the first account and the second account.
[0307] <Second Modification Example (1)> In the above embodiment, participants who participate in the itinerary generation are added by the user of the terminal 20, but this is not limiting. For example, the server 10 may not accept participant designation information, and the decision on whether to invite participants may be made within a dialogue in the first content element storage process or the like. The decision on whether to invite participants may be made at any timing. Participants may be multiple users.
[0308] The server 10 may be configured to transmit, for example, a list of participant candidate information detected in the dialogue in the first content element accumulation process to the terminal 20A. Then, based on a user input at the terminal 20A, a user who will become a participant may be selected from the list of participant candidate information.
[0309] Furthermore, for example, the selection of potential participants may be performed using calendar schedule information registered for each user, and if the user who is a potential participant has an available schedule on the itinerary, the user may be selected as a potential participant.
[0310] <Second Modification Example (2)> In the above embodiment, the opinions of the first user and the second user are aggregated using a first chat room in which the first user participates and a second chat room in which the second user participates, but this is not limiting. For example, a concept may be initially determined while accumulating content elements and content element attributes in a common chat room in which the first user and the second user participate, and then the first chat room and the second chat room may be added and generated midway to allow the detailed content to be determined. Note that response content information from the chatbot may be generated in the common chat room (similar to the first embodiment).
[0311] The first chat room and the second chat room may be generated (created) based on the content of the conversation in the common chat room. In this case, the first chat start process and the second chat start process may be executed based on an explicit user instruction to the chatbot, such as, for example, "@AI, please arrange travel details separately with the members in this chat room." Also, for example, if the number of content elements of accumulated content elements (referred to as "common accumulated content elements") in the common chat room exceeds a set value (e.g., "20"), response content information such as "Let's discuss this individually" may be sent from the chatbot to each terminal 20, and the first chat start process and the second chat start process may be executed.
[0312] In the itinerary summary generation process, the server 10 may generate the itinerary summary information based on, for example, the common storage content element, the first storage content element, and the second storage content element. In addition, in the itinerary summary generation process, the server 10 may generate the itinerary summary information based on, for example, the first storage content element and the second storage content element without using the common storage content element.
[0313] <Second Modification Example (3)> For example, once the server 10 generates the itinerary summary information (S360), it may transmit the itinerary summary information to the terminal 20A or the terminal 20B. Then, the terminal 20A or the terminal 20B may display the received itinerary summary information on the display unit 24. When terminal 20A or terminal 20B receives correction information (e.g., text instructions) for the itinerary summary information based on user input, it may be configured to transmit the correction information to server 10. Then, server 10 may, for example, regard the correction information as first content transmission request information or second content transmission request information, and execute the first content element storage process, second content element storage process, itinerary summary generation process, etc. again.
[0314] Furthermore, when terminal 20A or terminal 20B receives itinerary modification information (e.g., text instructions) for itinerary information based on user input, it may be configured to transmit the information to server 10. Then, server 10 may, for example, regard the itinerary modification information as first content transmission request information or second content transmission request information, and again execute the first content element storage process, the second content element storage process, the itinerary outline generation process, the itinerary element detail search process, etc.
[0315] In addition, in the first content element storage process or the second content element storage process, for example, if the first user's request and the second user's request are contradictory (if the content element attributes of the content elements are different), the server 10 may generate response content information that encourages the first user or the second user to compromise or give in, and send it to the terminal 20. For example, it may be possible to present itinerary summary information or itinerary information including alternatives such as "If you can get AA to compromise on the <content element>, the accommodation for the <itinerary element> is available."
[0316] Furthermore, terminal 20A and terminal 20B may be configured to transmit itinerary confirmation information indicating whether or not the user agrees with the itinerary information to server 10, for example, based on a user input. If server 10 determines that the user does not agree with the itinerary information based on the received itinerary confirmation information, it may be configured to execute the first content element accumulation process and the second content element accumulation process again and calculate the degree of difference.
[0317] <Second Modification Example (4)> In the second embodiment, as in the first embodiment, the user can set whether or not to generate content by AI and which content to base the itinerary on, depending on whether or not to include a mention of an AI account in the message. Also, as in the first embodiment, the user can set whether or not to generate content by AI and which content to base the itinerary on, depending on whether or not to include "information for determining by analysis that a request to an AI account without a mention is included" in the message.
[0318] Also, in the second embodiment, as in the first embodiment, the message includes second information for specifying the first content to be used to generate the second content (for example, "content requesting that an itinerary be generated based on the content up to now" or "content requesting that an itinerary be generated based on the opinions of other people (user BB, user CC, etc.)"), allowing the user to set which content to use to generate the itinerary.
[0319] <Other> (1) Application examples In the above embodiment, a case where an itinerary is generated is exemplified, but the present invention is not limited to this. For example, when users plan to participate in an event, content relating to the schedule of the event may be generated as the second content. Furthermore, when a meeting is to be held inside or outside the company, for example, there may be a situation where the schedule needs to be adjusted. In such a case, content relating to the schedule of the meeting may be generated as the second content. That is, the method of the above embodiment is not limited to generating an itinerary, but may be used to generate content (second content) according to a purpose or use.
[0320] (2) Integration with other applications In the above embodiment, the travel plan generation assistance application may be linked to other applications (accounts of other applications) executed on the terminal 20 of the user.
[0321] For example, a travel plan generation support application may be linked to a schedule application that manages a user's schedule information. In this case, for example, in the travel plan generation support application, server 10 may send a message to terminal 20 asking whether or not to permit account linking, and terminal 20 may display the received message on display unit 24. If the user permits, server 10 may link the user's travel plan generation support application account with the user's schedule application account. Note that the schedule application may be provided by the same travel plan generation support service provider, or may be provided by a different provider. Furthermore, information for each application may be managed by one server, or by multiple servers.
[0322] In this case, the server 10 may use information about the user's schedule managed by the schedule application to generate the itinerary. Specifically, for example, in the itinerary overview generation process, the server 10 acquires schedule information of users whose accounts are linked from a schedule application server. Then, for example, by assigning "1" to an available day and "0" to a booked day, the server 10 calculates the sum of all users' scores for each day and identifies the consecutive days with the highest score. Then, an itinerary of one night and two days, two nights and three days, etc., is determined, with those days as travel days. Then, for example, in the itinerary element detail search process, it generates feasible itinerary information for that itinerary based on the itinerary overview information, using a travel information database as external knowledge (passage). In this case, if feasible itinerary information cannot be generated because accommodation reservations cannot be made, for example, a different itinerary may be determined based on the score, and feasible itinerary information may be generated by performing the itinerary element detail search process again. In this way, it is possible to generate and propose a schedule taking into account the user's schedule.
[0323] Furthermore, when the terminal 20 receives correction information indicating a desire to change the date or schedule of the generated itinerary information, the terminal 20 may transmit the correction information to the server 10. Then, the server 10 may determine a different schedule based on the received correction information, for example, on the score, and perform the itinerary element detail search process again to generate feasible itinerary information. In this way, the date and schedule can be changed based on the user's request.
[0324] Furthermore, for example, if the itinerary includes weekends, national holidays, or long weekends, the itinerary element detail search process may refer to a travel information database and, for example, exclude tourist destinations with word-of-mouth reviews or ratings above a certain level (popular tourist destinations) to generate feasible itinerary information. In this way, it is possible to exclude from the itinerary information those places to visit that may be crowded.
[0325] Furthermore, if there are days with bad weather such as rain or snow based on the weather forecast information in the travel information database, feasible itinerary information may be generated for those days by excluding outdoor tourist spots, for example. In this way, outdoor destinations can be excluded from the itinerary information on days when the weather is bad.
[0326] The generated itinerary information may also be reflected in the schedule information of the user's schedule application. In this case, the server 10 may transmit the generated itinerary information to the server of the schedule application, and the server of the schedule application may update the user's schedule information based on the received itinerary information. In this way, the generated itinerary information can be reflected in the user's schedule information.
[0327] Furthermore, in the above embodiment, the travel plan generation assistance application may be linked to a travel application (travel booking application) executed on the user's terminal 20. As in the above, the user may be asked whether or not to link their accounts, and the following processing may be performed for users who agree.
[0328] In this case, for example, based on the generated itinerary information, if a reservation at an accommodation facility is required, the server 10 may process the reservation at the accommodation facility using the user's account that is linked to the travel application. For example, in the first embodiment, if the user who created the group including the chatbot (e.g., the user acting as the organizer; in the example above, user AA; for convenience, referred to as the "first user") has linked accounts, the first user's account may be used preferentially to process reservations at accommodation facilities. In addition, if the first user does not have an account linked, the reservation for the accommodation facility may be processed using the account of a user (for convenience, referred to as the "second user") who has an account linked among the users included in the group, excluding the first user and the chatbot.
[0329] In this case, the server 10 may send the first reservation confirmation content to the group talk room as a message mentioning the user who owns the account used for the reservation, confirming that the reservation will be made using the user's account. Then, when the server 10 receives content from the user as a message indicating consent to the first reservation confirmation content, the server 10 may process the reservation using the user's account. Furthermore, when there are multiple accounts that can be used for a reservation, such as when the accounts of a first user and a second user can be used for a reservation, or when the accounts of multiple second users can be used for a reservation, the server 10 may transmit second reservation account confirmation content to the group talk room as a message confirming which user's account to use for the reservation. Then, when content is received as a message of acceptance from one of the users based on the second reservation confirmation content, the server 10 may process the reservation using that user's account.
[0330] When applied to the second embodiment, the server 10 may transmit third reservation account confirmation content as a message confirming that the reservation will be made using the user's account to a one-to-one chat room between the chatbot and a user who owns the account used for the reservation. Then, when content as a message of acceptance is received from the user, the server 10 may process the reservation using the user's account. In this way, travel reservations can be made in conjunction with the generation of itinerary information.
[0331] (3) At least a part of the processing that was to be performed by the server 10 in the above embodiment may be performed by the terminal 20. Conversely, at least a part of the processing that was to be performed by the terminal 20 in the above example may be performed by the server 10.
[0332] The operator of the server 10 may also be a travel plan creation support service provider in cooperation with a messaging service provider. In this case, the processing described in the above embodiments may be realized by one server, or the processing described in the above embodiments may be shared and realized by a server system consisting of multiple servers. A system configured with one or more servers may be defined as a server system, and the server of the present invention may be considered as a server system.
[0333] Furthermore, in the above-described embodiments, a server for distributing various applications (a server from which the terminal 20 downloads applications) may be configured as a server different from a server for providing the corresponding service (application). In other words, a server for distributing applications and a server for performing application management processing, etc., described in the above-described embodiments, etc., may be configured as physically separated servers, or may be configured as a single server.
[0334] Furthermore, applications are not limited to various application programs, but may also include, for example, a program that provides a function of another service as one function of a base application (for example, a program that provides a function of an advertisement distribution service as one function of a messaging application, or vice versa), a program for updating the base application, etc. Data used in application programs (which may include data for updating applications, etc.) may also be included.
[0335] In the above embodiments, the present invention is implemented by a client-server system, but is not limited to this. As mentioned above, the present invention may be implemented by a system such as a distributed system in which the terminal 20 has the functions of a server or server system. For example, the processes described in the flowcharts of the above embodiments as being performed by a server or server system may be performed by a terminal.
[0336] Furthermore, as mentioned above, the contents described in the above-mentioned embodiments, modifications, other embodiments, etc. can be applied in combination with each other. [Explanation of symbols]
[0337] 1. Communication Systems 10 Servers 20 terminals 30 Network
Claims
1. A program executed by a server in communication with a first terminal and a second terminal, generating, by a control unit of the server, a talk room including (i) a first account of the first terminal, (ii) a second account of the second terminal, and (iii) an AI account, based on first information transmitted from the first terminal; generating second content by the control unit based on first content sent to the talk room from the first account or the second account; A program executed by the server, in which the control unit controls associating the generated second content with the AI account in the talk room.
2. 2. The program according to claim 1, A program that generates the second content by the control unit based on the first content including a mention of the AI account.
3. 3. The program according to claim 2, The second content is content generated based only on the first content that includes the mention.
4. 3. The program according to claim 2, The second content is content generated based on the first content that is different from the first content that includes at least the mention.
5. 3. The program according to claim 2, When the first content including the mention includes second information for generating the second content based on the different first content, generating the second content based on the first content different from at least the first content including the mention; A program that generates the second content based only on the first content including the mention, when the second information is not included in the first content including the mention.
6. 3. The program according to claim 2, The program causes the control unit to transmit the generated second content to an account different from an account that is a transmission source of the first content that includes the mention.
7. 2. The program according to claim 1, A program that generates the second content by the control unit based on the analysis of the first content showing that the first content is content including a request to the AI account.
8. 8. The program according to claim 7, The second content is content generated based solely on the first content including a request to the AI account.
9. 8. The program according to claim 7, The second content is content generated based on the first content that is different from the first content that includes at least a request to the AI account.
10. 8. The program according to claim 7, When the first content including the request to the AI account includes second information for generating the second content based on the different first content, generating the second content based on the first content that is different from at least the first content that was the subject of the analysis; If the second information is not included in the first content including the request to the AI account, the second content is generated based only on the first content that was the subject of the analysis. program.
11. 8. The program according to claim 7, A program that causes the control unit to transmit the generated second content to an account different from the account from which the first content including the request to the AI account was transmitted.
12. The program according to any one of claims 7 to 11, The second content includes an itinerary.
13. 13. The program according to claim 12, A program that generates, by the control unit, the second content including the itinerary when it is possible to generate the second content including the itinerary based on the first content, and generates, by the control unit, third content including a question sentence for generating the second content including the itinerary when it is not possible to generate the second content including the itinerary based on the first content.
14. 13. The program according to claim 12, A program in which, after the second content including the itinerary is displayed in the chat room, the control unit generates fourth content including an itinerary different from the itinerary based on an input to change the itinerary made by the first terminal or the second terminal.
15. 2. The program according to claim 1, The program includes a first server that performs first control to display content in the talk room, and a second server that performs second control to generate the second content.
16. A program executed by a server in communication with a first terminal and a second terminal, (i) generating a first talk room including a first account of the first terminal and an AI account, and (ii) generating a second talk room including a second account of the second terminal and the AI account by a control unit of the server; generating second content by the control unit based on first content sent from the first account to the first talk room; A program executed by the server, in which the control unit controls associating the generated second content with the AI account in the second talk room.
17. 17. The program of claim 16, After the second content is displayed in the second chat room, generating sixth content by the control unit based on fifth content sent from the second account to the second chat room; A program executed by the server, in which the control unit controls displaying the sixth content in the first chat room in association with the AI account, and associating the sixth content with the AI account in the second chat room.
18. An information processing method for a server communicating with a first terminal and a second terminal, comprising: generating, by a control unit of the server, a talk room including (i) a first account of the first terminal, (ii) a second account of the second terminal, and (iii) an AI account, based on first information transmitted from the first terminal; generating second content by the control unit based on first content sent to the talk room from the first account or the second account; An information processing method including: controlling the control unit to associate the generated second content with the AI account in the talk room.
19. a server in communication with a first terminal and a second terminal, A server having a control unit that generates a talk room including (i) a first account of the first terminal, (ii) a second account of the second terminal, and (iii) an AI account based on first information sent from the first terminal, generates second content based on first content sent to the talk room from the first account or the second account, and controls associating the generated second content with the AI account in the talk room.
20. An information processing method for a server communicating with a first terminal and a second terminal, comprising: (i) generating a first talk room including a first account of the first terminal and an AI account, and (ii) generating a second talk room including a second account of the second terminal and the AI account by a control unit of the server; generating second content by the control unit based on first content sent from the first account to the first talk room; An information processing method including controlling the control unit to associate the generated second content with the AI account in the second chat room.
21. a server in communication with a first terminal and a second terminal, A server having a control unit that generates (i) a first talk room including a first account of the first terminal and an AI account, and (ii) a second talk room including a second account of the second terminal and the AI account, generates second content based on first content sent from the first account to the first talk room, and controls associating the generated second content with the AI account in the second talk room.
Citation Information
Patent Citations
Group reservation support system
JP2011053845A
Cited By
Systems, methods, and programs for generating travel plans
JP7868280B1