Program, information processing method, and server
A server-based system with AI mediation reduces trip planning burdens by generating itineraries through user account interaction, addressing the heavy workload of coordinating travel details for multiple users.
Patent Information
- Application Number
- PCT/JP2025/001553
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-06
- Filing Date
- 2025-01-20
- Publication Date
- 2025-08-14
AI Technical Summary
Planning a trip for multiple users can be burdensome for the organizer, as they need to coordinate desired destinations, dates, and other details, leading to a heavy workload.
A server generates talk rooms involving user accounts and an AI account to facilitate itinerary planning, using a chatbot as a mediator to consolidate user opinions and generate a travel plan.
Reduces the organizer's workload by leveraging an AI account to consolidate user opinions and generate an itinerary efficiently, thus streamlining the trip planning process.
Smart Images

Figure JP2025001553_14082025_PF_FP_ABST
Abstract
Description
Program, information processing method, server
[0001] The present disclosure relates to a program, an information processing method, a server, and the like.
[0002] When planning a trip for multiple users and creating an itinerary, the burden on the user acting as the organizer may be heavy, as they must coordinate the desired destinations, dates, etc. For example, Patent Literature 1 discloses a group reservation support system that links the recruitment of participating members and the search for accommodations for a user who makes a hotel reservation procedure on behalf of a group.
[0003] JP 2011-053845 A
[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 transmitted from the first terminal; generates, by the control unit, second content based on first content transmitted 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: generating, by a control unit of the server, (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; 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, there is provided an information processing method for a server communicating with a first terminal and a second terminal, the method comprising: generating, by a control unit of the server, (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; generating, by the control unit, second content based on first content transmitted from the first account to the first talk room; and controlling, by the control unit, associating the generated second content with the AI account in the second talk room. According to a fifth aspect of the present invention, there is provided a server communicating with a first terminal and a second terminal, the server comprising: a control unit that generates, based on first information transmitted from the first terminal, a talk room including (i) the first account of the first terminal, (ii) the second account of the second terminal, and (iii) the AI account; generating, based on first content transmitted from the first account or the second account to the talk room, second content; and controlling 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 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 has a control unit that controls associating the generated second content with the AI account in the second talk room.
[0005] FIG. 1 is a diagram showing an example of a system configuration of a communication system according to the first embodiment. FIG. 1 is a diagram showing an example of functions implemented by a control unit of a server according to the first embodiment. FIG. 2 is a diagram showing an example of information stored in a storage unit of a server according to the first embodiment. FIG. 3 is a diagram showing an example of account registration data according to the first embodiment. FIG. 4 is a diagram showing an example of a talk room management database according to the first embodiment. FIG. 5 is a diagram showing an example of functions implemented by a control unit of a terminal according to the first embodiment. FIG. 6 is a diagram showing an example of information stored in a storage unit of a terminal according to the first embodiment. FIG. 7 is a diagram showing an example of a screen displayed on a display unit of a terminal according to the first embodiment. FIG. 8 is a diagram showing another example of a screen displayed on a display unit of a terminal according to the first embodiment. A flowchart showing an example of a process flow executed by each device according to the first embodiment. A diagram showing an example of a screen displayed on a display unit of a terminal according to the second embodiment. A diagram showing an example of a screen displayed on a display unit of a terminal according to the second embodiment. A diagram showing an example of a screen displayed on a display unit of a terminal according to the second embodiment. A flowchart showing an example of a process flow executed by each device according to the second embodiment. A flowchart showing an example of a process flow executed by each device according to the second embodiment.
[0006] Compliance with Legal Matters It should be noted that the disclosure described herein is subject to compliance with the laws of the country of implementation necessary for the implementation of this disclosure, such as secrecy of communications.
[0007] <Embodiments> In this specification, for ease of understanding, there are places where the phrase "for example" is used, but please note that not only those places but also the entire embodiment described below are not limited to the contents of that 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 on the terminal.
[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] Furthermore, in this specification, a system can be, for example, a configuration including multiple devices. The multiple 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. Note that a system can also be, for example, considered to be a configuration in which multiple devices work 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) Terminal and Server (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, the 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 also 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, some processing may be performed by one device and other processing may be performed by the other device. 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, if the server is configured with multiple devices, the devices may be physically located apart from each other.
[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 performed by the system's control unit (hereinafter collectively referred to as "control, etc.") may be (1A) performed only by the terminal's control unit, (1B) performed only by the server's control unit, or (1C) performed by both the terminal's control unit and the server's control unit. Also, in (1C), for example, some of the control, etc. performed by the system's control unit may be performed by the terminal's control unit, and the remaining control, etc. may be performed by the server's control unit. In this case, the allocation (allocation) of control, etc. 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 is included in the single device. Furthermore, if the server is configured with multiple devices, the communication unit of the server may be configured to include each communication unit that each device includes. For example, if the server includes 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 conceptually understood to include both 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 server (2A) among multiple servers, or by only other servers (2B), or by one server and other servers (2C). Also, in (2C), for example, some of the control, etc., performed by the server system may be performed by one server, and the remaining control, etc., may be performed by other servers. In this case, the allocation (allocation) of control, etc. may be equal, or may be allocated in different proportions. Furthermore, the management entity of the one or multiple servers may be managed by a single company or business, or may be shared and managed by multiple companies or businesses.
[0023] (3) can be, for example, a system composed of multiple terminals. This system can be, for example, the following systems: - A system in which terminals have server functions (distributed system). This can be realized, for example, by using blockchain technology. - A system in which terminals communicate wirelessly with each other. This can be realized, for example, by communicating using a P2P (peer-to-peer) method using short-range wireless communication technology such as Bluetooth (registered trademark).
[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) is exemplified. Note that the server system described in (2) above can also be applied 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 described in (3) above. In this case, the embodiment can be configured based on the blockchain technology described above. Specifically, for example, data stored and managed in the server described in the following embodiment is stored on the blockchain. Then, the 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 does not mean that the terminal is limited to a client device in a client-server environment. In other words, the term "terminal" may also include the concept of a device that is not in a client-server environment.
[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 through a communication I / F (through 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 processes two or more items, such as "transmitting A and B" or "receiving A and B," this may include both performing "A" and "B" in sync (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 transmitting the first information and the second information in sync and transmitting the first information and the second information at different times. Note that, taking into account lag (time lag), "simultaneous" may also include "almost simultaneously."
[0031] Note that, although "A" and "B" are performed at different times, this only needs to be performed for "A" and "B," and the purposes thereof do not necessarily have to be the same. For example, when transmitting first information and second information 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"). 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." For example, the chat application may enable users to chat in a chat room.
[0033] Note that messaging services (MS) (including instant messaging services (IMS)) can also be considered a 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 multiple devices (e.g., terminals) via a server. The instant messaging application allows users to talk in a talk room.
[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, when the first user's account and the second user's account are mutually associated, the first user and the second user may be said to be "friends." Also, for example, when the first user's account is associated with the 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 providers (for example, providers affiliated with messaging service providers) (hereinafter referred to as "OA talk rooms").
[0039] Furthermore, an account of a messaging application that is an account of a business operator and not a general user may be referred to as an "OA (Official Account)," and a 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." In contrast, an account of a messaging application that is an account of a user that is not an OA business operator may be referred to as a "general account," and a user of a general account may be referred to as a "general user." This may also be referred to as a "general account user." In other words, messaging application accounts may include both general accounts and official accounts.
[0040] Furthermore, for example, an office automation company may 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 used in a messaging service to define a sender and a destination, and may be information consisting of identification information (message ID) for identifying a message and message content. Furthermore, message content may be, for example, the contents of a message excluding the message ID. The message content may be one or more pieces of content.
[0042] Furthermore, information set as identification information for identifying a message is referred to as a "message ID." Message content included in messages with the same message ID can be considered to be identified by this message ID. Therefore, identification information for identifying a message can be considered to be essentially synonymous with identification information for identifying message content. Alternatively, individual identification information (message content ID) may or may not be set for each message content.
[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), sound content in sound format (including voice), etc. In addition to these, the content may also include operation content such as buttons and icons for user operation, and link content such as URIs (including URLs, etc.).
[0044] The text may include, for example, at least one of national characters represented by character codes, extended characters, machine-dependent characters, numbers, symbols, graphics, and codes. Note that the text does not have to include at least one of the above characters, extended characters, machine-dependent characters, numbers, symbols, graphics, and codes, 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] As an example, when planning a trip for multiple users and generating an itinerary such as a travel plan using an application, for example, a user who acts as a planner among the multiple users may need to consolidate and coordinate the opinions of the other users. In this case, the burden on the user who acts as a planner 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 when traveling or moving. An itinerary may include, for example, chronological and / or spatially specified elements (sometimes referred to as "itinerary elements") that include any of the following elements. An itinerary may also be called a "travel plan." - Place of departure and scheduled departure time - Destination and scheduled arrival time - Means of transportation and required time - Names and addresses of accommodation facilities - Names and addresses of tourist attractions - Order of visiting tourist attractions and duration of stay - Places to eat 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 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 cooperation with any external database.
[0051] First Example In the first example, a server generates an itinerary based on, for example, the contents of messages exchanged in a chat room in which a first user, a second user, and a chatbot participate. The content described in the first example can be similarly applied to any of the other examples 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 generation support service, any of the following forms can be applied: (A1) A form in which the travel plan generation support service function is provided as one function of a messaging application (A2) A form in which the messaging service function is provided as one function of a travel plan generation support application that provides the travel plan generation support service (B1) A form in which an application (integrated application) is configured that has the messaging service function and the travel plan generation support service function (C1) A form in which the travel plan generation support application is configured as a separate application from the messaging application (C2) A form in which the messaging application is configured as a separate application from the travel plan generation support application (D) A form in which the travel plan generation support application is configured as a standalone application
[0054] In the embodiments (A1), (A2), and (B1), for example, the messaging service provider and the travel plan creation support service provider can be the same 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 support application. In this case, another method is to automatically associate (link) the user's account in the messaging application with the user's account in the travel plan creation support application.
[0055] In the embodiments (C1) to (C2), for example, the messaging service provider can be a different provider from the travel plan creation support service provider. Also, in the embodiments (C1) to (C2), a process of associating (linking) the user's account in the messaging application with the user's account in the travel plan creation support application can be performed.
[0056] In the following, as an example, a description will be given of the case where a messaging service provider operates and manages a server 10 that provides a messaging service and a travel plan creation support service 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 A.A.", the user of terminal 20B as "user B.B.", the user of terminal 20C as "user C.C.", and so on.
[0058] 1-1 is a diagram illustrating an example of the 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 or a travel plan creation support service to a terminal 20 owned by a user via the network 30. The server 10 can also be expressed as a messaging service server, a travel plan creation support server, or the like. In this embodiment, for example, the user of the server 10 is a company that provides a messaging service or a travel plan creation support service (a provider of the messaging service or the travel plan creation support service). Note that the number of servers 10 and the number of terminals 20 connected to the network 30 are not limited to the above. In this embodiment, the "travel plan creation support service" is a service provided by a provider (server 10) such as a company that provides a travel plan creation support service, 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 smartphones, mobile phones (feature phones), computers (including, but not limited to, desktops, laptops, tablets, etc.), media computer platforms (including, but not limited to, cable and satellite set-top boxes, digital video recorders, etc.), handheld computer devices (including, but not limited to, personal digital assistants (PDAs), email clients, etc.), wearable devices (glasses-type devices, watch-type devices, etc.), virtual reality (VR) terminals, smart speakers (voice recognition devices), 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 terminals 20A, 20B, and 20C may be the same. Furthermore, if necessary, the terminal used by user X may be referred to as terminal 20X, and user information in a predetermined service associated with user X or terminal 20X may or may not be referred to as user information X. Note that user information is user information associated with an account used by the user in a predetermined service. User information includes, by way of example and without limitation, information associated with a user, such as the user's name, user icon image, user age, user gender, user address, user hobbies and interests, and user identifier, which is input by the user or assigned by the predetermined service, and may be any one or a combination of these.
[0062] The network 30 serves to connect the devices constituting the communication system 1. That is, 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 (not limited to, but an example of a server, information processing device, or information management device) has a function of providing a predetermined service (in this embodiment, a messaging service or a travel plan creation support service) to the terminal 20, etc. The server 10 may be any information processing device capable of implementing the functions described in each embodiment. Examples of the server 10 include a server device, a computer (e.g., a desktop, laptop, tablet, etc.), a media computer platform (e.g., a cable or satellite set-top box, digital video recorder, etc.), a handheld computer device (e.g., a PDA, email client, etc.), or other types of computer or communication platform. 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 HW configuration of each device included in the communication system 1 will be described.
[0066] (1) HW Configuration of Terminal FIG. 1-1 shows an example of the HW 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. Note that it is not essential for the HW configuration of the terminal 20 to include all components. For example, the terminal 20 may or may not be configured so that individual components or multiple components can be removed.
[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 unit having an input unit and an output unit, or may be separate units having an input unit and an 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 via 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 .
[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 (OELD)), a head mounted display (HDM), a 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. The sound output unit 26 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, for example, with a clock that uses a crystal oscillator. The clock unit 29A can also be expressed, for example, as 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 the 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. Note that, 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, the 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 the position calculation information detection unit 29B. The position of the terminal is referred to as the "terminal position," and the calculated terminal position is referred to as the "calculated terminal position." The control unit 21 may, but need not, associate the calculated terminal position with the date and time when the calculated terminal position is calculated and store the calculated terminal position in the 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), or 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). 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 processes 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) HW Configuration of Server FIG. 1-1 shows an example of the HW configuration of the server 10. 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 HW components 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 of the components. 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, an FPGA, or other devices. 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, or 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 via voice).
[0094] 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 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 organic electroluminescence display (OELD)). 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) Others The server 10 stores a program P in the storage unit 15, and by executing this program P, the control unit 11 executes the processes of each unit included in the control unit 11. In other words, the program P stored in the storage unit 15 causes the server 10 to realize each function executed by the 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 referred to as VLSIs, super LSIs, ultra LSIs, etc., depending on the level of integration. Therefore, the control unit 21 may or may not be referred to 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 difference file (difference 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 thereof. The storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate. Note that 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 a memory.
[0103] The server 10 and / or the terminal 20 can realize the functions of the multiple functional units shown in each embodiment by reading the program P stored in the storage medium and executing the read 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, for example, executes the program P downloaded via the Internet or the like to realize the functions of the multiple functional units shown in each embodiment. The same applies to other devices.
[0105] Furthermore, each embodiment of the present disclosure may be realized in the form of a data signal in which the program P is embodied by electronic transmission. At least a portion of the processing in the server 10 and / or the terminal 20 may, or may not, be realized by cloud computing consisting of one or more computers. At least a portion or all of the processing in the terminal 20 may, or may not, be configured to be performed by the server 10. In this case, at least a portion or all of the processing of each functional unit of the control unit 21 of the terminal 20 may, or may not, be configured to be performed by the server 10. At least a portion or all of the processing in the server 10 may, or may not, be configured to be performed by the terminal 20. In this case, at least a portion or all of the processing of each functional unit of the control unit 11 of the server 10 may, or may not, be configured to be performed by the terminal 20. Unless explicitly stated otherwise, a determination configuration in the embodiments of the present disclosure is not essential, and a predetermined process may, or may not, be executed when a determination condition is met, or a predetermined process may, or may not, be executed when a determination 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) Functional Configuration of Server 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] 1-3 is a diagram illustrating 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 an application management process, account registration data 153, and a talk room management database 155.
[0110] The account registration data 153 is registration data related to the account of an application (in this embodiment, a messaging application), and an example of the data configuration is shown in Fig. 1-4. For example, the account registration data 153 stores 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 unique to each account, and for example, a unique value (proper value) is set and stored for each account by the server 10. The application ID is information associated with the terminal 20 or the user of the terminal 20, and is an example of information related to the terminal or 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 (terminal telephone number) of terminal 20, an email address (terminal email address), and authentication information such as passwords (login password, authentication password, etc.) used for various authentications in the application.
[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, for example, the "identification information for identifying the terminal 20 = identification information for identifying the user of the terminal 20 = application ID" may be used.
[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] It is also possible to apply a method of managing accounts using information such as a terminal telephone number instead of various IDs such as an application ID. In this case, instead of storing information on IDs such as an application ID in the account registration data 153, information on terminal telephone numbers can be stored in the 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, without replacing information on IDs such as application IDs with information on terminal telephone numbers, but this is not necessary.
[0119] In the following examples, for the sake of simplicity, it is assumed that one account is registered for one terminal 20. In this case, as described above, "identification information for identifying the terminal 20 = identification information for identifying the user of the terminal 20 = application ID," and therefore, the term "user of the account" used in the following description 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 related to talk rooms in a messaging service and the content of messages posted in the talk rooms, and an example of the data configuration is shown in FIG. 1-5. The 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 talk room ID is information for identifying the talk room. The talk room name is the name of the talk room. The participant application ID is information for identifying the account of a user (or chatbot) participating in the talk room, and is, for example, an application ID registered in the account registration data 153. Note that in the figure, for example, the application ID of a chatbot account is represented as "BOT." The chatbot account may be an 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] The content management data stores, for example, a content ID, a transmission date and time, a sender ID, the transmitted content details, and a mention destination ID in association with each other.
[0125] The content ID is information for identifying content sent to a chat room. The sent date and time is the date and time the content was sent. The sender ID is the application ID of the user or chatbot that sent the content to the chat room. The sent content details store information about the content of the sent content (e.g., a pointer (URI) indicating the storage destination of the sent image, the sent text, etc.). When information indicating a mention (e.g., "@username") is added to the 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 the 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. For a content element to which a mention of the chatbot is added, the mention flag stores, for example, "Yes," and for a content element to which a mention of the chatbot is not 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 of the transmitted content with content ID "C0008" "How about Okinawa? Flights are cheap right now," the name of the travel destination suggested by the user, "Okinawa," and the recommended "flight" as "cheap," were extracted as positive content elements. Also, in response to the content of the transmitted content with content ID "C0009" "I'm not good at marine resorts...," the "marine resort," which the user indicated he / she doesn't like, was 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] 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> Display screen examples will be described below. The transition of the display screens described below is merely an example of the transition of the display screens for realizing the method of the present disclosure. In the transition of the display screens exemplified below, the display of some display screens may be omitted, or other display screens may be added. Furthermore, the terms used in 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 illustrated as an example in which the terminal 20 is a smartphone equipped with a display unit 24 having a vertically long display. For example, the smartphone has a touch panel that functions as an input unit, which is disposed opposite the display, constituting 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 predetermined screens displayed on different terminals 20 within one drawing or across multiple drawings. In this case, for example, a predetermined screen may be displayed on a different terminal 20 based on (triggered by) at least one of the following: - Automatically displayed - Displayed when some kind of notification (including push notification, etc.; the same applies below) is sent to the terminal 20 and the user performs an operation in response to the notification - No notification is sent to the terminal 20, but the user performs a predetermined operation on an application - Displayed when some kind of notification is sent to the terminal 20 and 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 the travel plan will be described as user A.A's terminal 20A. Terminal 20A may be an example of a first terminal, and user A.A may be an example of a first user of the first terminal. Terminal 20A or user A.A's account may be an example of a first account. In this example, the generation of the travel plan is performed within a messaging application, and the name of the messaging application is described as "Messaging App." Note that the generation of the travel plan may be performed on, for example, a travel plan generation support application different from the messaging application. In this case, for example, the itinerary may be presented in 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. In addition, what is referred to as a "travel plan" in the drawings will be referred to as an "itinerary" as appropriate.
[0140] The left side of Figure 1-8 shows an example of a group creation screen of a messaging application displayed on terminal 20A. In this example, a group of four members, including user A.A (user A), his / her friends user B.B. and user C.C, and a chatbot, is shown, and user A.A has entered information into terminal 20A to create a group for "travel talk."
[0141] The center and right sides show examples of the group talk room screen, which is a talk room for a group created in this way. The screen on which the talk room is displayed (the screen including the content display area) is sometimes referred to as the talk room screen.
[0142] The chat room screen includes an area CR (hereinafter referred to as the "content display area") where content and similar information are displayed. For example, content posted by the user (content originating from the user) may be displayed on the right side of the screen, and content posted 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 display content posted by the user (content originating from the user) on the right side of the screen, and content posted by group members other than the user (content originating from group members other than the user) on the left side of the screen. Furthermore, content may be displayed in association with information that enables the user to identify or identify the sender, for example, in association with 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 include the content. Furthermore, content may not be displayed in a speech bubble depending on the type of content and the information contained in the content. 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 a conversation about travel among group members. It also shows that User A.A. has added a chatbot to the group, and that the chatbot can help with things like itinerary creation by sending content that includes a mention of "@AI." The screen also shows User A.A., User B.B., and User C.C. looking back on past trips. The chatbot also participates in this conversation by automatically responding.
[0144] The right side shows a scene in which user A.A, user B.B, and user C.C are planning a trip to Okinawa, and user A.A sends content (an example of 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 room 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] In other words, in this example, the server 10 generates an itinerary based on the fact that the content elements analyzed from the content sent to the talk 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 about 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 of the first-type detailed information AC includes image information about the location, such as the location's appearance, the location's name, an evaluation of the location, and a user-operable object (in this example, a "details button") for displaying 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 information by performing a sliding or swiping operation left or right.
[0149] If the number of places included in the itinerary is large, the number of type 1 detailed information AC will also be large. However, by making it possible to switch between the types of first detailed information AC by, for example, a sliding operation or a swiping operation, the user can check the type 1 detailed information AC with a simple operation. Note that the type 1 detailed information AC corresponding to all places included in the itinerary is not limited to being displayed, and it may be possible to display only the type 1 detailed information AC corresponding to some of the places included in the itinerary. For example, it may be possible to not display information corresponding to accommodations, or to display information corresponding to places with high reviews. In this case, the server 10 may transmit to the terminal 20 only information about places to be displayed, or may transmit information about 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 displays a continuation of the conversation on the left screen, in which user B.B. tells the chatbot that there is a tourist attraction (in this example, "Naval Australia Park") that he would like to exclude from the itinerary, the chatbot asks user C.C. if he also wants to exclude this tourist attraction, and user C.C. agrees to exclude this tourist attraction in light of user B.B.'s wishes. In response, content originating from the chatbot is displayed, indicating that an itinerary will be generated excluding this tourist attraction and that the itinerary is being generated.
[0152] The right screen displays the continuation of the conversation from the center screen, and shows content originating from a chatbot, indicating that an itinerary reflecting user B.B.'s opinions has been generated. Below that, itinerary information CI1a based on the generated itinerary is displayed, just like the left screen. In this itinerary information CI1a, the "Visit Navy Australia Park" included in the aforementioned itinerary information CI1 has been changed to "Visit Himeyuri Tower," and other itinerary items have also been changed accordingly. Also, below that, Type 1 detailed information AC is displayed, just like the left screen, except that Type 1 detailed information AC1 for "Navy Australia Park" on the left screen has been changed to Type 1 detailed information AC1a for "Himeyuri Tower."
[0153] FIG. 1-10 shows 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 FIG. 1-8, but the continuation of the center screen in FIG. 1-10 shows a different conversation content from the right screen in FIG. 1-8. Specifically, User A.A, User B.B, and User C.C 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"). Nevertheless, in the course of the conversation, the chatbot suggests an itinerary, such as, "How about this travel plan?" Then, as shown in the continuation of the 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 talk room, and no content explicitly requesting the generation of an itinerary has been sent to the talk 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> Figures 1-11 are flowcharts showing an example of the flow of processing executed by each device in this embodiment. Starting from the left, the diagram shows an example of processing executed by the control unit 21 of user A.A's terminal 20A, 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 user B.B's terminal 20B. Note that the terminals 20 of other users (such as user C.C.) may execute processing similar to that of terminal 20B, and illustrations and explanations thereof will be omitted. Note that the processing described below is merely an example of processing for realizing the technique disclosed herein and is not limited thereto. Furthermore, additional 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 chat request information (an example of first information transmitted from a first terminal) to the server 10, 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 (e.g., a user input (e.g., a user operation input or a sound input, etc.); 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, upon receiving a talk room ID 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 (A110, B110) for chatting via the talk room between the terminal 20A, the terminal 20B, and the chatbot. In the chat start process, the control unit 21 of each terminal 20 causes, for example, the display unit 24 to display a talk room screen.
[0158] The chat request information may be transmitted from the terminal 20B to the server 10.
[0159] For example, when a user selects to send a message to the talk room based on a user input on the terminal 20B, the control unit 21 of the terminal 20B sends content transmission request information including, for example, the talk room ID and the text of the message to be sent to the 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 first content from the first account of the first terminal to the 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, performs 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. The control unit 11 of the server 10 then performs sentiment analysis on each extracted content element based on the text of the content transmission request information to determine 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 references 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. The content ID, content element, content element attribute, and mention flag are stored in association with each other in the content element accumulation management data.
[0163] The content elements may be extracted based on image generation prompts (text) obtained by applying a CLIP (Contrastive Language-Image Pretraining) model or the like to the images included in the content transmission request information.
[0164] Alternatively, the control unit 11 of the server 10 may perform the content element analysis and accumulation process collectively for content transmission request information received within a set period (e.g., one minute) rather than performing the content element analysis and accumulation process for each received content transmission request information. Alternatively, the control unit 11 of the server 10 may perform the content element analysis and accumulation process 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, for example, 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, with a predetermined probability (for example, "10%), use the content details transmitted so far and text based on the content transmission request information as input to the chatbot, and may additionally transmit the output sentence as content information to the terminal 20A and the terminal 20B. Hereinafter, content information based on the output sentence by the chatbot may be referred to as "response content information." Note that, when a question from the chatbot to the user is transmitted as content information, the probability of the chatbot's answer 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 sentences may use a travel information database (described later) as external knowledge to output the weather at a likely destination, recommended destinations for each season, etc. Also, by including the above-mentioned tag in the content transmission request information, the user may search the travel information database based on the tag and receive response content information including the search results on 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, 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 the stored content elements satisfy a predetermined condition (S140).
[0172] The predetermined conditions may be as follows: (1-A) When a word related to itinerary generation, such as "trip," "journey," or "plan," appears a predetermined number of times (e.g., "three times") or more in a content element with a positive content element attribute. (1-B) When a word related to travel elements, such as place names, transportation methods, or tourist destination names, appears a predetermined number of times (e.g., "six times") or more in a content element with a positive content element attribute. (1-C) When information for identifying the account performing automatic generation, such as "AI" or "chatbot," and a word related to itinerary generation, such as "trip," "journey," "plan," or "execute," appear as content elements with the same content ID. For example, when the 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 for itinerary generation (e.g., destination and schedule) appears in a content element, among the elements of the itinerary summary information described below. (1-E) When a content element explicitly generates an itinerary.
[0173] For example, if one or more of (1-A) to (1-E) apply, the server 10 may generate an itinerary based on the determination, 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 shows that the content is "content requesting that an itinerary be generated based on the content up to that point" or "content requesting that an itinerary be generated based on the opinions of other people (user B.B., user C.C., etc.)," the server 10 may determine that the content includes a request to an AI account (content determined to include instructions to an AI account through text analysis or the like 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 transmitted, an itinerary may be generated based on the first content and the content of the previous conversation (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 transmitted, an itinerary may be generated based only on the first content including the request to the AI account, regardless of the content of the previous conversation.
[0174] In determining whether (1-E) is true, the predetermined condition may be determined to be true based on the transmission of content including text explicitly instructing the user to generate an itinerary (e.g., "Generate an itinerary"). In this case, a mention (e.g., "@AI") of a chatbot (a chatbot account, an example of an AI account) may or may not be present (the mention flag may be "YES" or "NO"). Furthermore, the text explicitly instructing the user to generate an itinerary may include text instructing the user to generate an itinerary using content different from the content including at least a mention of the chatbot. In this case, the content including a mention of the chatbot may or may not be used to generate the itinerary.
[0175] The predetermined condition may also be as follows: (2) When a mention of an AI account is added to the content information. 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., a message mentioned by a user to the chatbot) whose mention destination ID is the chatbot's application ID is text requesting the generation of an itinerary. If it is determined that the text is text requesting the generation of an itinerary, it may be determined that the predetermined condition is met (S140: YES). Note that if a mention of an AI account is added to the content information and one or more of (1-A) to (1-E) above apply, it may be determined that the predetermined condition is met. Furthermore, if a mention of an AI account is added to the content information, it may be determined that the predetermined condition is met unconditionally. For example, if a chatbot is defined as an account for an itinerary generation service and a user recognizes that the chatbot's function can be used to instruct itinerary generation by mentioning it, an itinerary may be generated solely by mentioning the chatbot.
[0176] The transmitted content may include text such as "Create an itinerary based on the content discussed so far" or "Create an itinerary based on the opinions of other people (user B.B., user C.C., etc.)" (an example of second information for generating second content based on the first content different from the first content including the mention). When a piece of content such as "@AI I want to go to Okinawa. Create an itinerary based on the content discussed so far" is transmitted, an itinerary may be generated based on the first content including 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 including the mention and an example of information specifying a location) and the text "Based on the content discussed so far" (a part of the first content including the mention and an example of second information for generating second content based on the first content different from the first content). That is, 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 the 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 this case, the account from which the first content including the request to the AI account is sent may be one account. Furthermore, when determining whether or not the request is to the AI account based on the context (content elements) of multiple contents, the account from which the first content including the request to the 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 a predetermined condition (S140: YES) and execute 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 cumulative content elements, it may be said that the second content is generated based on a plurality of first contents. Alternatively, it may be said that the first content is composed of a plurality of contents. Furthermore, when the predetermined condition is determined based on a single first content that is mentioned or 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 the itinerary outline generation process (S150).If it is determined that the predetermined condition is not met (S140: NO), the control unit 11 of the server 10, for example, waits for the reception of content transmission request information again and executes the content element analysis and accumulation process (S120).
[0181] If it is determined that the predetermined condition is met (S140: YES), the control unit 11 of the server 10 may be configured to transmit content information such as "We can generate an itinerary. Would you like to create one?" to the terminal 20. If a positive response is received, the control unit 11 of the server 10 may execute an itinerary outline generation process. If 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 each terminal 20 to display an itinerary generation button. Then, based on an input operation on the itinerary generation button on each terminal 20, the control unit 11 of the server 10 may execute an itinerary outline generation process.
[0182] In the itinerary overview generation process, the control unit 11 of the server 10 generates itinerary overview information based on the content element storage management data, for example, using 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-answering model: "You are an excellent tour conductor. Please generate a travel plan that satisfies 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 for 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 only those whose mention flags are "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 a mention of the AI account. Also, 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 transmitted from the same terminal 20 or may be content transmitted from a different terminal 20), or may be generated based only on content different from this content.
[0188] The itinerary summary information may include any of the following elements, for example: - Point of departure (for example, a station or airport that is the destination on the outbound journey) - Places visited (for example, facility names and addresses) - Dining (for example, restaurant names and meal details) - Places of accommodation (for example, hotel names and addresses) - Places of arrival (for example, a station or airport that is the departure point on the 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 indicating that there is a deficiency in the generation of the itinerary overview information is generated, the control unit 11 of the server 10 may transmit content information (an example of third content) relating to a question for filling 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, once the itinerary overview information is generated, the control unit 11 of the server 10 executes a detailed itinerary element search process (S160). In the detailed itinerary element search process, the control unit 11 of the server 10 generates itinerary information, which is a feasible travel plan, based on the itinerary overview information, using, for example, a question-answering model (e.g., an open-book question-answering system) and a travel information database (not shown) as external knowledge (passages). The travel information database may be configured to store various information, such as guide information about tourist attractions (e.g., required sightseeing time and fees, URIs of tourist facility websites, etc.), information related to route search and required time search, 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 on the planned dates of stay, 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] The itinerary information may be presented from a database or web information (e.g., word-of-mouth, a website, or a post on a social networking site) that was used as the basis for generating the itinerary information. The itinerary information may also include content elements that were used as the basis for generating the itinerary summary information and 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 detailed itinerary element 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 terminate 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 terminate the process (S190: YES), the control unit 11 of the server 10 terminates the process.
[0201] When 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). When 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 determines 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 determines 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 20B. Then, the control unit 21 of the terminal 20A or 20B may cause the received itinerary summary information to be displayed on the display unit 24. Upon receiving correction information (e.g., a text instruction) for the itinerary summary information based on a user input, the terminal 20A or 20B may transmit the correction information to the server 10. Then, the server 10 may execute an itinerary element detail search process based on the itinerary summary information reflecting 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 okay to make a 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 20B receives correction information for the itinerary information based on user input, it may 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 send it to each terminal 20.
[0207] The control unit 11 of the server 10 may also be configured to transmit to each terminal 20 questionnaire information for determining which of the "M" pieces of itinerary summary information is to be used to generate the itinerary information. The control unit 11 of the server 10 may then 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 to, for example, a group chat room (in the above example, a group chat room including user A.A., user B.B., user C.C., and the chatbot), or to a different chat room. For example, in the above example, the itinerary information may be sent to: a chat room including user A.A but not user B.B. or user C.C. (e.g., a one-to-one chat room between user A.A. and the chatbot); a chat room including user B.B but not user A.A. or user C.C. (e.g., a one-to-one chat room between user B.B. and the chatbot); or a chat room including user C.C but not user A.A. or user B.B. (e.g., a one-to-one chat room between user C.C. and the chatbot).
[0209] Furthermore, the generated itinerary information may be sent to a chat room including a user different from the account that transmitted the first content including the request to the AI account. For example, if the itinerary information is generated based on content transmitted by user A.A and user B.B, the itinerary information may be sent to a chat room including user C.C, but not including user A.A or user B.B.
[0210] For example, when user A.A instructs a chatbot to generate an itinerary (by mention or explicit instruction), server 10 may transmit the generated itinerary information, including a mention of user B.B (a user different from the user who instructed the generation), to a talk room including user A.A, user B.B, and the chatbot.
[0211] In addition, content related to questions to supplement the aforementioned deficiencies or the aforementioned survey information may be examples of the second content. When such content is sent to a group chat room, it may be sent with a mention of the corresponding user to encourage each user to answer the question or survey.
[0212] Effects of the First Example In the present example, a server 10 communicating with a terminal 20A (an example of a first terminal) and a terminal 20B (an example of a second terminal) creates a talk room including a user A.A's account (an example of a first account of the first terminal), a user B.B'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 including 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 terminal and the second terminal 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 talk 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 be content that includes 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 has been 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 talk 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 from which the first content including the request to the AI account was transmitted, 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 regarding 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 is first generated to obtain the answer required to generate the second content from the first account or the second account, and the question is presented in the chat room, and the second content is generated based on the answer from the first account or the second account to the question.
[0225] Furthermore, according to this embodiment, if a user wants to check an itinerary that is different from the one that has been 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 (1)> In the above embodiment, the server 10 accepts dialogue messages from users of the terminals 20, analyzes the dialogue content (content element analysis and accumulation processing), and provides a travel information database, but this is not limiting. For example, the server 10 may be a server system made up of a dialogue reception server 10L that provides a messaging service and an interactive interface service, a generation AI server 10M that provides dialogue content analysis, and a travel information server 10T that provides a travel information database.
[0227] The following is an example of the processing in this case. First, for example, the dialogue reception server 10L executes chat start processing together with each terminal 20. For example, terminal 20A or terminal 20B transmits content transmission request information to the server 10L. Then, 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. Furthermore, if the text analysis request information is input to the chatbot and it is determined that a response from the chatbot is desirable, the content transmission request information generated by the chatbot is transmitted 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] The travel information server 10T then refers to the travel information database and executes a detailed itinerary element search process.
[0231] Then, the travel information server 10T transmits the itinerary element detail information including the searched itinerary elements to the generation AI server 10M. Upon receiving the itinerary element detail information, the generation AI server 10M transmits it to the dialogue reception server 10L.
[0232] In addition, the generation AI server 10M may, for example, refer to the travel information database of the travel information server 10T via an API and perform 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] When it receives 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 the control unit 11 of the server 10 determines in the determination of a predetermined condition (S140 in FIG. 1-11 ) that identical or similar content elements (e.g., “Naval Australia Park” and “Battlefields”) have a mixture of negative and positive content element attributes, the control unit 11 of the server 10 may transmit facilitation information to the user who sent the content determined to be negative, for example, to confirm that the content element is negative. Furthermore, when a chat room contains three or more users, the control unit 11 of the server 10 may transmit facilitation information (e.g., text such as “What do you think about Navy Australia Park, C.C?”) to the terminals 20 of users who have not yet received content transmission request information related to the identical or similar content element, confirming whether the content element is negative or positive. The control unit 11 of the server 10 may then determine the content elements and content element attributes based on the responses to the facilitation information, and may determine the attribute (positive or negative) with the greater number of content element attributes 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] For example, when identical or similar content elements have a mixture of negative and positive content element attributes, the server 10 may generate content organizing 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 on 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 prevails by majority vote.
[0239] <First Modification (3)> In the above embodiment, for example, the server 10 executes the content element analysis and accumulation process based on interactive content transmission request information, but this is not limited to this. For example, the server 10 may transmit an input template that makes it easy for the user to communicate their itinerary requests during the chat start process. Then, the server 10 may execute the content element analysis and accumulation process based on input into the input template at each terminal 20. The input template may be configured to allow specification of, for example, the following itinerary elements: Desired itinerary Destination Means of transportation Things to do Concerns Budget This makes it possible to efficiently collect 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] Furthermore, 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 user's profile registered in advance.
[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. However, for example, the participants in the chat room and the participants who are actually going on a trip may be different. The determination of whether a participant is going on a trip may be made, for example, during a conversation. For example, the server 10 may perform a process such as generating an itinerary outline by focusing on content elements sent by participants who are actually going on a trip.
[0245] In addition, there may 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 the chat room but is actually going on a trip registers their interests and concerns as profile information, the server 10 may take that profile information into account when executing the itinerary outline generation process, etc.
[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] For example, if users are discussing a trip, a chatbot may be added later based on user input. The server 10 may then refer to content information from the time the talk 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 example, the server 10 generates an itinerary based on the message exchange content in a talk room between a first user and a chatbot and the message exchange content in a talk room between a second user and a chatbot, and transmits the itinerary to each talk room. The content described in the second example can be similarly applied to any of the other examples 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 related identification ID may be assigned to the first chat room and the second chat room, indicating that the chat rooms are related to each other. The same applies to a third user, etc.
[0250] In the following description, 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] 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 A.A of terminal 20A is the first user, user B.B of terminal 20B is the second user, and user C.C 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 A.A and the chatbot, displayed on the display unit 24 of terminal 20A. This screen shows a scene in the content display area CR in which user A.A tells the chatbot that he wants to go on a trip this weekend, and in response to a question from the chatbot, says that he wants to invite users B.B and C.C to join him on a trip to Okinawa. In response to a response from the chatbot that user A.A will ask users B.B and C.C about this, user A.A instructs the chatbot to ask users B.B and C.C about their requests individually. In this case, the server 10 may, for example, send a notification inviting user A.A to travel to Okinawa to each of terminals 20B and 20C.
[0253] The center shows an example of a screen of a one-to-one chat room between user B.B and user C.C, displayed on the display unit of terminal 20B. Here, an example is shown in which the above notification is sent from server 10 to terminal 20B and terminal 20C in push format. This screen may be a screen of a one-to-one chat room that starts when user C.C learns through a push notification that user A.A has invited him to travel to Okinawa, user C.C sends a message to user B.B, and user B.B responds 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, superimposed on a portion of the content display area CR, and includes text indicating that user A.A has invited him to travel to Okinawa and suggests that he go with him. Note that this push notification may also be sent to terminal 20C in the same way.
[0254] The conversation shows User C.C telling User A.A that User A.A has also invited User C.C to go on a trip to Okinawa, and User C.C telling User B.B 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-on-one chat room between user B.B. and user C.C. to a screen of a one-on-one chat room between user B.B. and the chatbot (an example of a second chat room), as shown on the right. This screen displays, as content originating from the chatbot, the content displayed in the push notification (user A.A. has invited him to travel to Okinawa and 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 the terminal 20C, a screen of a one-to-one chat room (an example of a third chat room) between the user C.C. and the chatbot may be displayed, similar to the screen shown on the right side of FIG. 2-1.
[0257] Figure 2-2 shows an example of a one-to-one chat room screen with the chatbot displayed on each of terminals 20A, 20B, and 20C. The left side shows a screen displayed on terminal 20A, which is a continuation of the conversation on the screen (first chat room screen) shown on the left side of Figure 2-1, in which user A.A. tells the chatbot that he wants to spend the day watching the sunset at a resort hotel and asks other participants (users B.B. and C.C. in this example) to confirm this, and the chatbot responds that it is currently confirming with users B.B. and C.C.
[0258] The center shows an example of a screen displayed on terminal 20B, which is a continuation of the conversation between user B.B. and the chatbot shown on the right side of FIG. 2-1. Based on user A.A.'s request to the chatbot for confirmation from other participants on the screen of terminal 20A shown on the left, this screen displays, below the content about the schedule sent by the chatbot on the screen shown on the right side of FIG. 2-1, content sent by the chatbot asking about tourist spots the user would like to visit and content suggesting watching the sunset at the resort hotel for which user A.A. requested confirmation. Below that, content sent by user B.B. indicating agreement and a desire to eat Okinawa soba is displayed, and below that, content sent by the chatbot including content indicating acceptance of the request (in this example, "So you want to eat Okinawa soba") and content urging the user to wait for a while (in this example, "Please wait a moment...") is displayed.
[0259] The right side shows an example of a screen displayed on terminal 20C. This screen corresponds to the screen of the one-to-one chat room between user B.B 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 that user A.A would like to visit and content suggesting watching the sunset at a resort hotel that user A.A requested confirmation for. Below that, content originating from user C.C is displayed, informing user C.C that going to Okinawa is fine but that marine resorts are not their thing. Below that, content originating from the chatbot is displayed, including content indicating that user C.C.'s request has been accepted (in this example, "So you're not good at marine resorts") and content asking about places that user A.A. would like to go to (in this example, "What kind of place would you like to go to?"). In response to this, user C.C. Content sent from C is displayed, conveying a desire to visit war sites such as the Himeyuri Monument and the Okinawa Naval Park, and below that, content sent from the chatbot is displayed, including content indicating that the request has been accepted (in this example, "You want to visit war sites in Okinawa?") 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 one-on-one chat room screen displayed on each terminal 20 shown in Figure 2-2. The diagram is interpreted in the same way as in 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 A.A then informs the chatbot that he or she would like to visit a place not included in the suggested places (in this example, Shuri Castle), and sends content instructing the chatbot to generate an itinerary that includes this place. Content is then displayed indicating that the chatbot is summarizing the requests of users B.B. and C.C.
[0261] Similarly, on the screen of the central terminal 20B, below the latest content originating from the chatbot shown on the left screen of FIG. 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 B.B tells the chatbot a place he would like to exclude from the itinerary (in this example, Naval Australia Park), the chatbot agrees, and asks user B.B if there are any other places he would like to go, user B.B replies with another place he would like to go (in this example, "Okinawa Glass Workshop"), the chatbot agrees, and prompts user B.B 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 user C.C. has agreed to this itinerary, and the chatbot has agreed 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 running horizontally. 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 of 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. However, by enabling the display to be switched by, for example, a sliding operation or a swiping operation, the user can check the second-type detailed information BC with a simple operation. Note that the second-type detailed information BC corresponding to all locations included in the itinerary is not limited to being displayed, 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 conversation on the one-on-one chat room screen displayed on each terminal 20 shown in Figure 2-3. The diagram is 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 originated 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 user B.B.'s opinion, 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 the 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 described in the processing section.
[0268] In the screen in the center of FIG. 2-4, terminal 20B may transmit revision information for the presented itinerary information CI1a to server 10 based on input from user B.B. Then, server 10 may execute an itinerary element detail search process based on the itinerary summary information reflecting the revision 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 FIG. 2-4, terminal 20A may transmit revision information for the presented itinerary information CI1a to server 10 based on input from user A.A., and in the screen on the right side of FIG. 2-4, terminal 20C may transmit revision information for the presented itinerary information CI1a to server 10 based on input from user C.C.
[0269] <Processing> Figures 2-5 to 2-7 are flowcharts showing an example of the flow of processing executed by each device in this embodiment. Starting from the left, the figures show an example of processing executed by the control unit 21 of user A.A's terminal 20A and an example of processing executed by the control unit 11 of server 10. Note that processing executed by the control unit 21 of another user's (user C.C., etc.) terminal 20 may be similar to that of terminal 20B, for example, and will not be illustrated or described here.
[0270] The server 10 and the terminal 20A execute a first chat start process (A210 / S210) to start a conversation between the user A.A 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] Upon receiving the first content transmission request information from terminal 20A, server 10 executes a first content element analysis and accumulation process (S2210). The first content element analysis and accumulation process may be executed for the first content transmission request information in the same manner as S120 in FIG. 1-11. Note that server 10 may transmit first content information based on the received first content transmission request information to terminal 20A, and terminal 20A may display the received first content information so that terminal 20A can confirm its own input.
[0274] The server 10 then 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 previously transmitted and received, 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] The server 10 then transmits first response content information including the first response content to the terminal 20A (S2250). Upon receiving 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 accumulation 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 talk 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, the terminal 20A determines whether to invite other participants to the trip based on, for example, a user input on 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 the user input to the server 10 (A240). Note that the participant designation information may be able to designate two or more users.
[0280] If it is determined that participant designation information has been received from terminal 20A (S230: YES), for example, the server 10 and user B designated in the participant designation information execute a second chat start process (S240, B210) for terminal 20B of B. 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 travel invitation notification information indicating that the first user has invited the second user to travel to the terminal 20B. 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 recruited (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 B.B. on a 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 I ask B.B.?" 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 send 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 send, via a chatbot, first response content information to the terminal 20A indicating that the second user has refused the friend request and a response to the refusal.
[0285] For example, when the server 10 and the terminal 20B execute a second chat start process (B210, S240), they execute a 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 stored content elements are stored and updated.
[0286] The server 10 may be able to reference the first accumulated content element and the second accumulated content element as common accumulated content elements (referred to as "accumulated accumulated content elements") required for generating an itinerary, for example, via a chat room-related identification ID. In the first content element accumulation process and the second content element accumulation process, the server 10 may be able to generate first response content and second response content based on the accumulated accumulated 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, wording or content that directly prompts other participants for confirmation, such as a user name or a content element indicating confirmation, has appeared in the most recent first or second content element storage management data, the server 10 may generate first response content or second response content that prompts an answer to a question. For example, if, in the first content element storage process, the first content element "B.B." or "Navy Australia Park" has appeared and it is analyzed that the content of the transmitted content is a question for someone, the server 10 may generate second response content such as "B.B., what do you think about Navy Australia Park?"
[0288] In addition, if only the first content element "B.B." appears and the content of the transmitted content indirectly expresses a question such as "I wonder if B.B. will find this difficult," confirmation may be obtained from the first user by generating a first response content such as "Shall we ask B.B. from the chatbot?" to determine whether or not to raise a question when generating the second response content.
[0289] For example, terminal 20B and server 10 may determine whether to invite other participants to the trip based on a user input from terminal 20B. Then, for example, server 10 may further execute a chat start process with other users and a content element accumulation process based on receiving participant designation information from terminal 20B.
[0290] For example, after executing the first content element accumulation process and the second content element accumulation process, the server 10 determines whether the first accumulated content element satisfies a predetermined condition for generating an itinerary (S260). Here, the determination based on the predetermined condition may be performed, for example, in the same manner as in S140 of FIG. 1-11. Note that the server 10 may also 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 content element does not satisfy the predetermined condition (S260: NO), the server 10 transmits, for example, to the terminal 20A, first content element additional acquisition request information for further collection of the first content element (S270), and then executes the first content element accumulation process again (S280).
[0292] When it is determined that the 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 stored content element satisfies the predetermined condition (S260: YES), the server 10 determines, for example, whether the second stored 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 stored 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), and then 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 accumulated content element and the second accumulated content element satisfy a predetermined condition, the server 10 determines, for example, whether the degree of difference between the first accumulated content element and the second accumulated content element is greater than or equal to a predetermined value (S320).
[0297] Here, the dissimilarity between the first and second accumulated content elements may be, for example, initially set to "0." If the content element attributes of identical or similar content elements in the first and second accumulated content elements are either positive or negative, the dissimilarity is set to "0." If the content element attributes are split between positive and negative, the dissimilarity is set to "1." The sum of the dissimilarity values for each content element may be used as the dissimilarity value. Furthermore, even when a third user or the like is participating as a participant, the dissimilarity value for each of the two accumulated content elements may be calculated, and the sum of the dissimilarity values may be calculated as the final dissimilarity value. As a result, the greater the dissimilarity value, the greater the difference in the degree of positivity between users regarding identical or similar content elements, 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). Then, the server 10 executes the first content element accumulation process and the second content element accumulation process again (S340, S350). If the terminal 20A or the terminal 20B determines that it has received the first content element additional acquisition request information or the second content element additional acquisition request information (A320: YES, B320: YES), the server 10 executes the first content element accumulation process or the second content element accumulation 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 requests of the first user and the second user 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 make concessions, 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 overview generation process (S360) based on, for example, the first stored content element and the second stored content element (or the aggregated stored content element).The server 10 then executes an itinerary element detail search process based on the generated itinerary overview information (S370).Then, the generated itinerary information is sent to terminal 20A and 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, B380).
[0302] In addition, the accumulated content element may be used as the target of the predetermined condition determination in S260 or 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 content. 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 referenced.
[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] Effect of the Second Example In this example, 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 A.A'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 B.B'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 server control unit). 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 second content with an AI account in the second talk room). According to this example, it is possible to provide second content generated based on the first content of the first talk room to the second talk room. If there is no chat room that includes both the first account and the second account, or if there is one but the chat room does not send or receive content between the first account and the second account, communication between the first account and the second account can be assisted via an AI account that is included in both the first chat room and the second chat 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-on-one chat room between user A.A. and the chatbot) and the second chat room (a one-on-one chat room between user B.B. 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 (1)> In the above embodiment, participants who participate in itinerary generation are added by the user of the terminal 20, but this is not limited to this. 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, etc. The decision on whether to invite participants may be made at any timing. The participants may be multiple users.
[0308] The server 10 may transmit, for example, a list of candidate participants detected in the dialogue in the first content element accumulation process to the terminal 20A. Then, based on a user input on the terminal 20A, a user who will become a participant may be selected from the list of candidate participants.
[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 (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. However, this is not limited to this. For example, a concept may be determined by initially 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, allowing the detailed content to be determined. Note that response content information from a chatbot may be generated in the common chat room (as in 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." Furthermore, for example, if the number of content elements stored in the common chat room (referred to as "common stored content elements") exceeds a set value (e.g., "20"), the chatbot may send response content information such as "Let's discuss this individually" to each terminal 20, and the first chat start process and the second chat start process may be executed.
[0312] In the itinerary overview generation process, the server 10 may generate the itinerary overview 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 overview generation process, the server 10 may generate the itinerary overview 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 (3)> For example, when the server 10 generates itinerary summary information (S360), it may transmit it to terminal 20A or 20B. Then, terminal 20A or 20B may display the received itinerary summary information on the display unit 24. When terminal 20A or 20B receives correction information (e.g., text instructions) for the itinerary summary information based on user input, it may transmit the correction information to server 10. Then, for example, the server 10 may regard the correction 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 summary generation process, etc.
[0314] Furthermore, when terminal 20A or 20B receives itinerary modification information (e.g., text instructions) for the 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 the first content element accumulation process or the second content element accumulation 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 transmit the response content information to the terminal 20. For example, it may be possible to present itinerary summary information or itinerary information that includes an alternative such as, "If A.A. can compromise on <content element>, we have accommodations available for <itinerary element>."
[0316] Furthermore, terminal 20A or 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 not to agree with the itinerary information based on the received itinerary confirmation information, it may be configured to execute the first content element accumulation process or the second content element accumulation process again and calculate the degree of difference.
[0317] <Second Modification (4)> In the second embodiment, as in the first embodiment, the user can set whether to generate content by AI and based on which content to generate an itinerary, 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 to generate content by AI and based on which content to generate an itinerary, depending on whether or not to include "information for determining by analysis that a request to an AI account without a mention" 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 B.B., user C.C., etc.)"), which allows the user to set which content to use to generate the itinerary.
[0319] <Others> (1) Application Examples In the above embodiment, the case of generating an itinerary has been exemplified, but the present invention is not limited to this. For example, when users plan to participate in an event, content related to the event schedule may be generated as the second content. Furthermore, when holding a meeting, for example, inside or outside the company, there may be a situation where the schedule needs to be adjusted. In such a case, content related to the meeting schedule may be generated as the second content. In other words, the method of the above embodiment is not limited to generating an itinerary, and may be used to generate content (second content) according to a purpose or use.
[0320] (2) Linkage with Other Applications In the above embodiment, the travel plan generation assistance application may be linked with other applications (accounts of other applications) executed on the user's terminal 20 .
[0321] For example, the travel plan generation support application may be linked with a schedule application that manages the user's schedule information. In this case, for example, in the travel plan generation support application, the server 10 may send a message to the terminal 20 asking whether or not to permit account linking, and the terminal 20 may display the received message on the display unit 24. If the user permits linking, the 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 by a different provider. Furthermore, the information for each application may be managed by a single 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 for users whose accounts are linked from the 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, a one-night, two-day, two-night, three-day, or other itinerary is determined, with the travel date being the travel date. Then, for example, in the itinerary element detail search process, a travel information database is used as external knowledge (passage) to generate feasible itinerary information based on the itinerary overview information. 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 the itinerary element detail search process may be performed again to generate feasible itinerary information. This allows itineraries to be generated and proposed taking the user's schedule into consideration.
[0323] Furthermore, when the terminal 20 receives modification information indicating a desire to change the date or schedule of the generated itinerary information, the terminal 20 may transmit the modification information to the server 10. The server 10 may then determine a different itinerary based on the received modification information, for example, based on the score, and perform the itinerary element detail search process again to generate feasible itinerary information. In this way, the date or schedule can be changed based on the user's request.
[0324] Furthermore, for example, if the itinerary includes weekends, national holidays, and consecutive holidays, the itinerary element detailed search process may refer to the travel information database and exclude tourist spots with a certain level of reviews or ratings (popular tourist spots) to generate feasible itinerary information. In this way, it is possible to exclude from the itinerary information 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 tourist spots can be excluded from the itinerary information on days with bad weather.
[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 reservation 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, if a reservation for an accommodation facility is required based on the generated itinerary information, the server 10 may process the reservation for the accommodation facility using the account of a user whose account is linked with 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 above example, user A.A.; for convenience, referred to as the "first user") has linked their account, the server 10 may preferentially use the account of the first user to process the reservation for the accommodation facility. Furthermore, if the first user has not linked their account, the server 10 may process the reservation for the accommodation facility using the account of a user (for convenience, referred to as the "second user") who is included in the group and whose account is linked, excluding the first user and the chatbot.
[0329] In this case, the server 10 may send a first reservation confirmation content to the group talk room as a message mentioning a user who owns an account used for the reservation, confirming that the reservation will be made using that user's account. Then, when content is received from that user as a message indicating acceptance of the first reservation confirmation content, the server 10 may process the reservation using that user's account. Furthermore, when there are multiple accounts that can be used for the reservation, such as when the accounts of a first user and a second user can be used for the reservation, or when the accounts of multiple second users can be used for the reservation, the server 10 may send a 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 from one of those users as a message indicating acceptance 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 example, the server 10 may transmit third reservation account confirmation content to a one-to-one chat room between the chatbot and a user who owns the account used for the reservation, as a message confirming that the reservation will be made using the user's account. Then, when content serving 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, it is possible to make a travel reservation together with generating 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 partnership with a messaging service provider. In this case, the processes described in the above embodiments may be realized by a single server, or the processes described in the above embodiments may be shared and realized by a server system comprised of multiple servers. Note that a system comprised of 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, the server for distributing various applications (the server from which the terminal 20 downloads the applications) may be configured as a server different from the server that provides the corresponding service (application). In other words, the server for distributing applications and the server that performs the application management process described in the above-described embodiments 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] Furthermore, in the above embodiments, the present invention has been described as being implemented using a client-server system, but is not limited to this. As mentioned above, the present invention may be implemented using a system such as a distributed system in which the functions of a server or server system are provided in the terminal 20. 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.
[0337] 1 Communication system 10 Server 20 Terminal 30 Network
Claims
1. A program executed by a server that communicates with a first terminal and a second terminal, wherein the program executes the following operations: 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 sent from the first terminal; generating, by the control unit, second content based on first content sent 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.
2. A program as described in claim 1, wherein the second content is generated by the control unit based on the first content including a mention of the AI account.
3. A program according to claim 2, wherein the second content is content generated based only on the first content that includes the mention.
4. A program according to claim 2, wherein 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. A program as described in claim 2, wherein, when the first content including the mention includes second information for generating the second content based on a different first content, the second content is generated based on at least the first content that is different from the first content including the mention, and when the first content including the mention does not include the second information, the second content is generated based only on the first content including the mention.
6. A program according to claim 2, wherein the control unit sends the generated second content to an account different from the account from which the first content containing the mention was sent.
7. A program as claimed in claim 1, wherein the second content is generated by the control unit based on an analysis of the first content that indicates that the first content includes a request to the AI account.
8. The program according to claim 7, wherein the second content is content generated solely based on the first content including a request to the AI account.
9. The program according to claim 7, wherein 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. A program as described in claim 7, wherein, when the first content including the request to the AI account includes second information for generating the second content based on a different first content, the second content is generated based on at least the first content that is different from the first content that was the subject of the analysis, and when the first content including the request to the AI account does not include the second information, the second content is generated based only on the first content that was the subject of the analysis.
11. A program as claimed in claim 7, wherein the control unit transmits the generated second content to an account different from the account from which the first content including the request to the AI account was sent.
12. The program according to any one of claims 7 to 11, wherein the second content includes an itinerary.
13. A program as described in claim 12, wherein, when the second content including the itinerary can be generated based on the first content, the control unit generates the second content including the itinerary, and when the second content including the itinerary cannot be generated based on the first content, the control unit generates third content including a question sentence for generating the second content including the itinerary.
14. A program as described in claim 12, wherein, 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 being made by the first terminal or the second terminal.
15. A program as described in claim 1, wherein the server 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 communicating with a first terminal and a second terminal, the program executing on the server includes: (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) generating, by the control unit, a second talk room including a second account of the second terminal and the 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, associating the generated second content with the AI account in the second talk room.
17. A program as described in claim 16, wherein the program executed by the server is: after the second content is displayed in the second chat room, sixth content is generated by the control unit based on fifth content sent from the second account to the second chat room; and 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 that communicates 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.
19. A server that communicates with a first terminal and a second terminal, the 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 that communicates with a first terminal and a second terminal, comprising: (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 the 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.
21. A server that communicates with a first terminal and a second terminal, the server 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, generating second content based on first content sent from the first account to the first talk room, and having a control unit that controls associating the generated second content with the AI account in the second talk room.
Citation Information
Patent Citations
Artificial intelligence learning method, artificial intelligence learning system, and answer relay method
JP2017153078A
Distribution device, distribution method, distribution program, terminal device, display method, and display program
JP2018097564A
Information processing device and program
JP2020047039A
Travel plan presentation device, information processing program, and travel plan presentation method
JP2021039498A
Text generation device and text generation method
JP7325152B1