Program, knowledge information generation method, and knowledge information generation device
The method generates comprehensive knowledge information representing relationships among multiple persons by combining message history from first and second terminals, addressing the limitations of existing techniques that focus primarily on follower and followee relationships.
Patent Information
- Application Number
- JP2024088585
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-29
- Filing Date
- 2024-05-31
- Publication Date
- 2025-06-10
AI Technical Summary
Existing techniques for generating information representing relationships among multiple persons primarily focus on follower and followee relationships, neglecting other types of relationships.
A program and method that utilize message history from a first terminal to generate knowledge tuples, combining identifiers of sending and receiving entities with message phrases, and extend this information to include relationships with second terminals by specifying and adding corresponding knowledge tuples.
This approach enables the generation of comprehensive knowledge information representing various relationships among multiple persons, including those not previously addressed, thereby enhancing the understanding of message exchanges.
Smart Images

Figure 2025087565000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a program, a method for generating knowledge information, and a knowledge information generation device.
Background Art
[0002] Techniques for generating information representing the relationships of multiple persons have been developed. For example, Patent Document 1 discloses a technique for extracting a small group to which a specific user belongs from a social networking service (SNS), and representing the relationships of multiple users belonging to the small group as a directed graph such that the relationship between a follower and a followee can be understood.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The relationships of multiple persons are not limited to the relationship between a follower and a followee. However, Patent Document 1 does not mention techniques for representing relationships other than the follower and followee relationships for multiple persons. The present disclosure has been made in view of this problem, and one of its purposes is to provide a new technique for generating information representing the relationships of multiple persons.
Means for Solving the Problems
[0005] The program of the present disclosure uses the message history of the message application of the first terminal to generate, for each of one or more messages, a knowledge tuple that is a combination of the identifier of the sending entity of the message, the identifier of the receiving entity of the message, and the phrases in the message, and generates knowledge information including the knowledge tuple in a first generation step; a specifying step of specifying a second terminal that is a counterpart of a message not shown in the message history using the communication history of the first terminal; and an adding step of generating the knowledge tuple using the message history of the message application of the second terminal and adding the generated knowledge tuple to the knowledge information, and causes a computer to execute them.
[0006] The knowledge information generation method of the present disclosure is executed by a computer. The control method includes a first generation step of using the message history of the message application of the first terminal to generate, for each of one or more messages, a knowledge tuple that is a combination of the identifier of the sending entity of the message, the identifier of the receiving entity of the message, and the phrases in the message, and generating knowledge information including the knowledge tuple; a specifying step of specifying a second terminal that is a counterpart of a message not shown in the message history using the communication history of the first terminal; and an adding step of generating the knowledge tuple using the message history of the message application of the second terminal and adding the generated knowledge tuple to the knowledge information.
[0007] The knowledge information generation device of the present disclosure uses the message history of the message application of the first terminal to generate, for each of one or more messages, a knowledge tuple that is a combination of the identifier of the transmission entity of the message, the identifier of the reception entity of the message, and the phrases in the message, and generates knowledge information including the knowledge tuple; a first generation means; using the communication history of the first terminal, a specifying means for specifying a second terminal that is the counterpart of a message not shown in the message history; using the message history of the message application of the second terminal to generate the knowledge tuple, and an adding means for adding the generated knowledge tuple to the knowledge information.
Effect of the Invention
[0008] According to the present disclosure, a new technology for generating information representing the relationships of multiple persons is provided.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Embodiments for Carrying Out the Invention
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In each drawing, the same or corresponding elements are denoted by the same reference numerals, and redundant descriptions are omitted as necessary for clarity of explanation. Also, unless otherwise specified, predetermined values such as predetermined values and threshold values are stored in advance in a storage device accessible from the device that uses the value. Further, unless otherwise specified, the storage unit is composed of one or more arbitrary numbers of storage devices.
[0011] <Summary> The knowledge information generation device generates knowledge information. FIG. 1 is a diagram illustrating the knowledge information generated by the knowledge information generation device. In the upper part of FIG. 1, the knowledge information 30 is illustrated in a table format.
[0012] For each of the plurality of messages transmitted between entities, the knowledge information 30 indicates a combination of 1) a transmitting entity 32, 2) a receiving entity 34, and 3) a phrase 36. Here, each combination included in the knowledge information 30 is also called a knowledge tuple. In the knowledge information 30 of FIG. 1, the knowledge tuple is represented by one record. It can also be said that the knowledge information 30 is a set of knowledge tuples.
[0013] An entity is a subject or an object in the transmission of a message. The transmitting entity 32 is the subject in the transmission of a message (i.e., the source of the message). The receiving entity 34 is the object in the transmission of a message (i.e., the destination of the message). An entity may be a single person or a group composed of multiple persons. Also, an entity may be a group (e.g., a corporate account) treated as a single person. Such an entity is also called a channel or the like.
[0014] The phrase 36 is composed of one or more words included in the message and represents part or all of the message. For example, the phrase 36 is a predicate included in the message.
[0015] For example, assume that a message "Please receive the luggage." is transmitted from person A to person B. Also, assume that the predicate included in the message is treated as the phrase 36. In this case, for the above message, a knowledge tuple (transmitting entity 32: person A, receiving entity 34: person B, phrase 36: Please) is generated.
[0016] Note that the phrase 36 only needs to be composed of one or more words included in the message and is not limited to a predicate.
[0017] The data included in the knowledge tuple is not limited to only the transmission entity 32, the reception entity 34, and the phrase 36. For example, the knowledge tuple may further indicate the transmission / reception date and time of the message (transmission date and time or reception date and time).
[0018] The lower part of FIG. 1 shows a directed graph generated using the knowledge information 30. This directed graph is called a knowledge graph 40. In the knowledge graph 40, an entity is represented by a node 42.
[0019] One knowledge tuple is represented by two nodes 42 and an edge 44 connecting them. The node 42 located at the starting point of the edge 44 represents the transmission entity 32. The node 42 located at the ending point of the edge 44 represents the reception entity 34. The edge 44 indicates the phrase 36.
[0020] Here, the knowledge graph 40 is an example of data that visually and clearly represents the content of the knowledge information 30. The knowledge information generation device 2000 only needs to generate the knowledge information 30 and does not need to generate the knowledge graph 40.
[0021] According to the knowledge information generation device 2000, a new technology is provided to generate knowledge information 30 that represents the relationship of message exchanges for a plurality of persons.
[0022] FIG. 2 is a diagram showing an overview of the knowledge information generation device 2000. FIG. 2 is a diagram for facilitating the understanding of the operation of the knowledge information generation device 2000 and does not limit the operations that the knowledge information generation device 2000 can perform.
[0023] The knowledge information generation device 2000 generates a knowledge tuple 50 for each message transmitted or received by the message application 60 installed in the first terminal 10, and generates knowledge information 30 composed of those knowledge tuples 50. To do so, the knowledge information generation device 2000 uses a message history 70 indicating the history of each message transmitted or received by the message application 60.
[0024] The message history 70 indicates information (hereinafter referred to as message information) about each message transmitted or received by the message application 60. The message information indicates the identifier of the transmitting entity, the identifier of the receiving entity, the content of the message, and the date and time of sending and receiving the message.
[0025] For each message information indicated in the message history 70, the knowledge information generation device 2000 generates a knowledge tuple 50 that indicates the transmitting entity of the message information as the transmitting entity 32, the receiving entity of the message information as the receiving entity 34, and the phrase extracted from the message of the message information as the phrase 36.
[0026] The message application 60 is any application that can transmit and receive messages to and from other terminals. For example, the message application 60 is an email application or a chat application.
[0027] A plurality of message applications 60 may be installed in the first terminal 10. In this case, the knowledge information generation device 2000 generates the knowledge information 30 using the message history 70 of each of one or more message applications 60. Note that different knowledge information 30 may be generated for each of the plurality of message applications 60, or one knowledge information 30 may be generated.
[0028] Here, among the messages transmitted or received by the message application 60, there may be messages whose information is not shown in the message history 70. That is, there may be messages without a history. For example, assume that the message application 60 has a function of automatically deleting message information about messages for which a certain period of time has elapsed since transmission or reception from the message history 70. In this case, the information of each message for which a certain period of time has elapsed since transmission or reception is not included in the message history 70.
[0029] The knowledge information generation device 2000 attempts to generate a knowledge tuple 50 even for messages without a history in this way. Specifically, the knowledge information generation device 2000 detects communication information that satisfies the following two conditions from the communication history 80 indicating information about each network communication performed by the first terminal 10 in the past (hereinafter, communication information). (1) Represents communication performed by the message application 60. (2) Information about the message estimated to be transmitted or received by the communication indicated by the communication information is not included in the message history 70.
[0030] The communication information that satisfies the above two conditions can be estimated to be communication information representing the transmission or reception of a message that is a message transmitted or received by the message application 60 but whose information is not shown in the message history 70. Therefore, the communication partner of the communication information that satisfies the above two conditions can be estimated to be the destination of the message transmitted by the message application 60 or the source of the message received by the message application 60.
[0031] Therefore, for the message application 90 installed on the communication partner's terminal (hereinafter referred to as the second terminal 20) indicated in the communication information that satisfies the above two conditions, the knowledge information generation device 2000 acquires a message history 100 indicating information about each message transmitted or received by the message application 90. The message application 90 is an application that transmits or receives messages, similar to the message application 60. The message history 100 indicates message information about each message transmitted or received by the message application 90, similar to the message history 70.
[0032] The knowledge information generation device 2000 generates a knowledge tuple 50 from the message history 100 in the same way as the method of generating the knowledge tuple 50 from the message history 70. Then, the knowledge information generation device 2000 adds the generated knowledge tuple 50 to the knowledge information 30.
[0033] It can be presumed that the second terminal 20 is the terminal that has exchanged messages with the first terminal 10. Therefore, the messages transmitted or received by the message application 90 of the second terminal 20 may include messages exchanged with the first terminal 10. Therefore, by using the message history 100 obtained from the second terminal 20, it is possible to generate a knowledge tuple 50 for a message that was transmitted or received by the first terminal 10 but has no remaining history in the message history 70. Therefore, according to the knowledge information generation device 2000, it is possible to include in the knowledge information 30 information about a message that was transmitted or received by the first terminal 10 but has no remaining history in the message history 70. Therefore, according to the knowledge information generation device 2000, more information about messages can be included compared to the case where the knowledge information generation device 2000 is not used.
[0034] Hereinafter, the knowledge information generation device 2000 of the present embodiment will be described in more detail.
[0035] <Example of functional configuration> FIG. 3 is a block diagram illustrating the functional configuration of the knowledge information generation device 2000. The knowledge information generation device 2000 includes a first generation unit 2020, a specifying unit 2040, and an adding unit 2060. The first generation unit 2020 generates knowledge information 30 by generating one or more knowledge tuples 50 using the message history 70 of the message application 60 in the first terminal 10. The specifying unit 2040 specifies communication information that (1) represents communication by the message application 60 and (2) information of messages presumed to be transmitted or received by the communication indicated by the communication information and is not included in the message history 70 from the communication history 80 of the first terminal 10. Then, the specifying unit 2040 specifies the communication partner indicated by the specified communication information. The adding unit 2060 generates one or more knowledge tuples 50 using the message history 100 of the message application 90 in the second terminal 20, which is the communication partner specified by the specifying unit 2040, and adds them to the knowledge information 30.
[0036] <Example of hardware configuration> Each functional configuration unit of the knowledge information generation device 2000 may be realized by hardware (e.g., a hard-wired electronic circuit, etc.) that realizes each functional configuration unit, or may be realized by a combination of hardware and software (e.g., a combination of an electronic circuit and a program that controls it, etc.). Hereinafter, the case where each functional configuration unit of the knowledge information generation device 2000 is realized by a combination of hardware and software will be further described.
[0037] FIG. 4 is a block diagram illustrating the hardware configuration of a computer 1000 that implements the knowledge information generation device 2000. The computer 1000 is an arbitrary computer. For example, the computer 1000 is a stationary computer such as a PC (Personal Computer) or a server machine. In addition, for example, the computer 1000 is a portable computer such as a smartphone or a tablet terminal. The computer 1000 may be a dedicated computer designed to implement the knowledge information generation device 2000, or may be a general-purpose computer.
[0038] For example, by installing a predetermined application on the computer 1000, each function of the knowledge information generation device 2000 is realized on the computer 1000. The above application is composed of programs for realizing each functional component of the knowledge information generation device 2000. Note that the method for obtaining the above program is arbitrary. For example, the program can be obtained from a storage medium in which the program is stored. The storage medium in which the program is stored is an arbitrary storage medium such as a DVD (Digital Versatile Disk) or a USB (Universal Serial Bus) memory. In addition, for example, the program can be obtained by downloading the program from a server device that manages the storage device in which the program is stored.
[0039] The computer 1000 includes a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120. The bus 1020 is a data transmission path for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to transmit and receive data to and from each other. However, the method of connecting the processor 1040 and the like to each other is not limited to bus connection.
[0040] The processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array). The memory 1060 is a main storage device realized using, for example, RAM (Random Access Memory). The storage device 1080 is an auxiliary storage device realized using a hard disk, an SSD (Solid State Drive), a memory card, or a ROM (Read Only Memory).
[0041] The input / output interface 1100 is an interface for connecting the computer 1000 and an input / output device. For example, an input device such as a keyboard and an output device such as a display device are connected to the input / output interface 1100.
[0042] The network interface 1120 is an interface for connecting the computer 1000 to a network. This network may be a LAN (Local Area Network) or a WAN (Wide Area Network).
[0043] The storage device 1080 stores a program (a program that realizes the aforementioned application) that realizes each functional component of the knowledge information generation device 2000. The processor 1040 reads and executes this program in the memory 1060 to realize each functional component of the knowledge information generation device 2000.
[0044] The knowledge information generation device 2000 may be realized by one computer 1000 or by a plurality of computers 1000. In the latter case, the configurations of the respective computers 1000 do not have to be the same and can be different from each other.
[0045] <Regarding the first terminal 10 and the second terminal 20> The first terminal 10 and the second terminal 20 are arbitrary computers. For example, the first terminal 10 and the second terminal 20 are portable computers such as smartphones, tablet terminals, or notebook PCs. Additionally, for example, the first terminal 10 and the second terminal 20 are stationary computers such as desktop PCs. Note that the first terminal 10 and the second terminal 20 may be of the same type of computer as each other, or may be of different types of computers from each other.
[0046] <Flow of processing> FIG. 5 is a flowchart illustrating the flow of processing executed by the knowledge information generation device 2000. The first generation unit 2020 acquires the message history 70 (S102). The first generation unit 2020 generates knowledge information 30 by generating one or more knowledge tuples 50 using the message history 70 (S104).
[0047] Here, there may be a case where no message information exists in the message history 70. In this case, for example, the first generation unit 2020 generates empty knowledge information 30. For example, when the knowledge information 30 is a table, the empty knowledge information 30 is a table in which no records exist.
[0048] The specifying unit 2040 specifies the second terminal 20 using the communication history 80 (S106). The adding unit 2060 acquires the message history 100 (S108). The adding unit 2060 generates one or more knowledge tuples 50 using the message history 100 and adds the generated knowledge tuples 50 to the knowledge information 30 (S110).
[0049] <Acquisition of message history 70: S102> The first generation unit 2020 acquires the message history 70 (S102). There are various methods for the first generation unit 2020 to acquire the message history 70. For example, the message history 70 is pre-stored in an external storage unit such as a memory card. Here, the external storage unit means a storage unit other than the storage unit built into the knowledge information generation device 2000. In this case, the user of the knowledge information generation device 2000 connects the external storage unit to the knowledge information generation device 2000. The first generation unit 2020 acquires the message history 70 from the connected external storage unit. Here, the method for acquiring predetermined data from the external storage unit is arbitrary.
[0050] In addition, for example, the first generation unit 2020 may acquire the message history 70 by receiving the message history 70 transmitted from another device. In this case, for example, the user of the knowledge information generation device 2000 operates the first terminal 10 to transmit the message history 70 from the first terminal 10 to the knowledge information generation device 2000.
[0051] Here, the method for obtaining the message history 70 from the message application 60 is arbitrary. For example, assume that the message application 60 has a function of outputting the message history 70 as a file. In this case, for example, the user of the knowledge information generation device 2000 operates the message application 60 on the first terminal 10 to cause the message application 60 to output a file representing the message history 70.
[0052] The data representing the message history 70 is not limited to one file. For example, the message history 70 may be represented by a plurality of files. For example, when the message application 60 is an email application, a text file representing the content of each email can be generated for each email. In this case, the message history 70 is represented by a set of text files representing each email.
[0053] The message history 70 may indicate all messages sent or received by the message application 60, or may indicate only some of the messages. In the latter case, for example, the message history 70 including only the messages for a specific period among the messages sent or received in the message application 60 is acquired by the first generation unit 2020. The specific period is specified by the user of the knowledge information generation device 2000, for example.
[0054] FIG. 6 is a diagram illustrating the configuration of the message history 70. In FIG. 6, for each message, the message history 70 indicates a transmission entity 72, a reception entity 74, a message 76, and a transmission / reception date / time 78. Each record of the message history 70 represents one piece of message information.
[0055] The transmission entity 72 indicates an identifier of the transmission entity. The reception entity 74 indicates an identifier of the reception entity. The message 76 indicates the content of the message. The transmission / reception date / time 78 indicates the date and time when the message was sent or received.
[0056] In the message history 70 obtained from the message application 60, the identifier of the entity is, for example, the identifier used in the message application 60. For example, the identifier of the entity in the message history 70 is an account ID (identifier), an account name, or a user name in the message application 60, etc.
[0057] <Generation of knowledge tuple: S104> The first generation unit 2020 generates a knowledge tuple 50 from each message information shown in the message history 70 (S104). The first generation unit 2020 determines an identifier to be set for the transmission entity 32 of the knowledge tuple 50 using the identifier shown in the transmission entity 72 of the message information. Similarly, the first generation unit 2020 determines an identifier to be set for the reception entity 34 of the knowledge tuple 50 using the identifier shown in the reception entity 74 of the message information.
[0058] The identifier of the entity set in the knowledge tuple 50 may be the same as or different from the identifier of the entity shown in the message information. In the latter case, for example, the first generation unit 2020 uses the identifier of the entity shown in the message information to specify an identifier that does not depend on the message application for the person represented by the identifier. The identifier of a person that does not depend on the message application is, for example, the person's real name or a name assigned by the user of the knowledge information generation device 2000 to the person.
[0059] For example, assume that a person with the real name Bob uses two message applications 60 on the first terminal 10. And assume that Bob's account name in one message application 60 is Mike, and Bob's account name in the other message application 60 is Nick.
[0060] In this case, in the knowledge information 30 generated using each of the two message applications 60, Bob can be used as the identifier of the entity that does not depend on the message application. Thereby, even when the same person uses different account names in each of the plurality of message applications 60, the same person can be represented by one entity.
[0061] The specific part 2040 uses information indicating the correspondence between, for example, an identifier of an entity that does not depend on the message application 60 and an identifier of the entity in the message application 60. Hereinafter, this information is also referred to as person information. The person information is stored, for example, in a storage unit accessible from the knowledge information generation device 2000.
[0062] FIG. 7 is a diagram illustrating the configuration of person information. The person information 110 is information associating a person identifier 112 with an account list 114. The person identifier 112 is an identifier assigned to one person. As described above, for example, the person's real name or the like is used as the person identifier 112. In addition, for example, a terminal identifier, an identifier of a SIM (Subscriber Identity Module), an identifier associated with the OS installed in the terminal, etc. can be used as the person identifier 112. The account list 114 indicates identifiers such as an account ID and an account name for each of one or more accounts of the person specified by the person identifier 112.
[0063] For example, the record in the first row of FIG. 7 shows Bob in the person identifier 112 and shows Mike and Nick in the account list 114. Thus, as in the example described above, it is possible to represent a situation where a person named Bob uses different account names Mike and Nick in two message applications 60.
[0064] The first generation unit 2020 identifies a record in which the identifier of the transmission entity indicated in the message information matches the account list 114 from the person information 110. Further, the first generation unit 2020 sets the identifier indicated in the person identifier 112 of the identified record to the transmission entity 32 of the knowledge tuple 50.
[0065] Similarly, the first generation unit 2020 identifies, from the person information 110, a record in which the identifier of the receiving entity indicated in the message information is shown in the account list 114. Further, the first generation unit 2020 sets the identifier shown in the person identifier 112 of the identified record to the receiving entity 34 of the knowledge tuple 50.
[0066] The phrase 36 is generated from the message 76 of the message information. Here, there may be cases where a plurality of phrases 36 can be generated from one message. For example, assume that the message is an email and that this email contains a plurality of sentences. In this case, the message 76 contains a plurality of sentences. Therefore, phrases 36 can be generated from each of these plurality of sentences.
[0067] When a plurality of phrases 36 can be generated from one message in this way, the first generation unit 2020 may generate a plurality of knowledge tuples 50 from one message information. For example, the first generation unit 2020 generates a phrase 36 from each sentence included in the message 76 and generates a knowledge tuple 50 for each phrase 36. In the plurality of knowledge tuples 50 generated from one message information, both the sending entity 32 and the receiving entity 34 are the same.
[0068] <Specification of the second terminal 20: S106> The specifying unit 2040 specifies the second terminal 20 using the communication history 80 (S106). Specifically, the specifying unit 2040 detects communication information that satisfies the following two conditions from the communication history 80. (1) Represents communication by the message application 60. (2) Information of a message that is presumed to have been sent or received by the communication indicated in the communication information is not included in the message history 70.
[0069] FIG. 8 is a diagram illustrating the configuration of the communication history 80. In FIG. 8, the communication history 80 shows an application 82, a communication partner 84, a communication type 86, and a communication date and time 88. One record represents one piece of communication information.
[0070] Application 82 indicates the identifier of the application that performed the communication. Communication partner 84 indicates the identifier of the communication partner. Communication type 86 indicates the type of communication, such as transmission or reception. Communication date and time 88 indicates the date and time when the communication was performed.
[0071] There are various methods for acquiring the communication history 80. For example, the communication history 80 is generated by the operating system (OS) of the first terminal 10 or the like and stored in the storage unit of the first terminal 10. Thus, for example, the specifying unit 2040 acquires the communication history 80 by reading the communication history 80 from the storage unit of the first terminal 10. Additionally, for example, the communication history 80 is copied from the storage unit of the first terminal 10 to an external storage unit. In this case, the specifying unit 2040 acquires the communication history 80 by reading the communication history 80 from this external storage unit. Additionally, for example, the specifying unit 2040 acquires the communication history 80 by receiving the communication history 80 transmitted from the first terminal 10 to the knowledge information generation device 2000.
[0072] For each communication information indicated in the communication history 80, the specifying unit 2040 determines whether the identifier indicated in the application 82 matches the identifier of the message application 60. When the identifier indicated in the application 82 of the communication information matches the identifier of the message application 60, the specifying unit 2040 determines that the communication information satisfies condition (1). On the other hand, when the identifier indicated in the application 82 of the communication information does not match the identifier of the message application 60, the specifying unit 2040 determines that the communication information does not satisfy condition (1).
[0073] For the communication information that satisfies condition (1), the specifying unit 2040 further determines whether condition (2) is satisfied. Whether the communication information satisfies condition (2) can be determined based on the communication date and time 88. Specifically, the specifying unit 2040 determines whether there is message information indicating the transmission and reception date and time 78 whose difference from the communication date and time 88 is sufficiently small (for example, the difference is less than or equal to the threshold value) in the message history 70. For example, the threshold value is 1 second or the like.
[0074] Regarding the communication information representing the communication performed by the message application 60, assume that there is message information indicating the transmission and reception date and time 78 whose difference from the communication date and time 88 of the communication information is sufficiently small. In this case, the probability that the communication represented by the communication information represents the transmission or reception of a message by the message application 60 is high.
[0075] Therefore, when there is message information indicating the transmission and reception date and time 78 whose difference from the communication date and time 88 of a certain communication information is sufficiently small in the message history 70, the specifying unit 2040 determines that the communication information satisfies condition (2). On the other hand, when there is no message information indicating the transmission and reception date and time 78 whose difference from the communication date and time 88 of a certain communication information is sufficiently small in the message history 70, the specifying unit 2040 determines that the communication information does not satisfy condition (2).
[0076] The specifying unit 2040 treats the terminal specified by the identifier indicated in the communication partner 84 of the communication information that satisfies both condition (1) and condition (2) as the second terminal 20. Here, the identifier of the communication partner indicated in the communication history may be a network address such as an IP (Internet Protocol) address. In such a case, the specifying unit 2040 specifies the second terminal 20 by specifying the identifier of the terminal having the network address from the network address indicated in the communication information.
[0077] For example, in advance, information indicating the association between a network address and an identifier of a terminal (hereinafter referred to as terminal information) is stored in a storage unit accessible from the knowledge information generation device 2000. The specifying unit 2040 specifies the second terminal 20 using the terminal information.
[0078] <Acquisition of message history 100: S108> The adding unit 2060 acquires the message history 100 for the message application 90 of the second terminal 20 specified by the specifying unit 2040. Here, the method of acquiring the message history 100 for the second terminal 20 is the same as the method of acquiring the message history 70 for the first terminal 10. For example, the user of the knowledge information generation device 2000 operates the message application 90 of the second terminal 20 to cause the message application 90 to output the message history 100. In this case, on the premise that the user of the knowledge information generation device 2000 can operate both the first terminal 10 and the second terminal 20.
[0079] Here, assume that the message application 60 is an application that sends and receives messages with the same application. In this case, the same application as the message application 60 is treated as the message application 90. An application that sends and receives messages with the same application like this is, for example, a chat application.
[0080] On the other hand, assume that the message application 60 is not limited to the same application, but is an application that sends and receives messages with applications of the same type. In this case, an application of the same type as the message application 60 is treated as the message application 90. An application that sends and receives messages with applications of the same type like this is, for example, a mailer. This is because two mailers that send and receive emails to each other do not have to be the same mailer.
[0081] <Generation of Knowledge Tuple 50 Using Message History 100: S110> The addition unit 2060 generates one or more knowledge tuples 50 using the message history 100 and adds the generated knowledge tuples 50 to the knowledge information 30 (S110). Here, the method of generating the knowledge tuple 50 from the message history 100 is the same as the method of generating the knowledge tuple 50 from the message history 70.
[0082] <Output of Results> The knowledge information generation device 2000 outputs the knowledge information 30. The output mode of the knowledge information 30 is arbitrary. For example, the knowledge information generation device 2000 stores the knowledge information 30 in an arbitrary storage device. Additionally, for example, the knowledge information generation device 2000 transmits the knowledge information 30 to an arbitrary device. Additionally, for example, the knowledge information generation device 2000 may display the knowledge information 30 on an arbitrary display device.
[0083] Instead of outputting the knowledge information 30 itself, the knowledge information generation device 2000 may output other information generated from the knowledge information 30, such as the knowledge graph 40.
[0084] <Usage Example of Knowledge Information Generation Device 2000> For example, for each of one or more events, the knowledge information generation device 2000 generates the knowledge information 30 as one of the information representing the relationships among a plurality of persons involved in the event. In this case, each terminal of one or more persons involved in the event is treated as the first terminal 10, and one piece of knowledge information 30 is generated.
[0085] For example, assume that terminals T1, T2, and T3 are obtained from a plurality of persons involved in event E1. In this case, the knowledge information generation device 2000 treats each of terminals T1, T2, and T3 as the first terminal 10 and generates one piece of knowledge information 30. That is, the knowledge tuples 50 generated using terminal T1, the knowledge tuples 50 generated using terminal T2, and the knowledge tuples 50 generated using terminal T3 are all included in the same piece of knowledge information 30. By using this knowledge information 30, the relationships of a plurality of persons involved in event E1 can be easily grasped. In particular, by generating a knowledge graph 40 from the knowledge information 30, the relationships of the persons involved in event E1 can be visually and easily grasped.
[0086] Here, when the period of the event is known, the knowledge information generation device 2000 may generate the knowledge information 30 of the event using only the messages exchanged during that period. For example, the knowledge information generation device 2000 generates a knowledge tuple 50 using only the message information about the messages transmitted and received during that period. Also for example, the knowledge information generation device 2000 identifies the second terminal 20 using only the communication information about the communication performed during that period.
[0087] <Regarding generation of person information 110> As described above, the person information 110 associates the identifier of a person with the identifier of each account used by that person. Here, information about each of one or more accounts used in the terminal is managed, for example, by the OS of the terminal. Therefore, for example, the knowledge information generation device 2000 generates a record of the person information 110 about the owner of the first terminal 10 by acquiring the information of the accounts managed by the OS of the first terminal 10.
[0088] Here, when the knowledge information 30 is generated in relation to an event as described above, the person information 110 can be used as information about the person related to the event. Therefore, it is preferable that the knowledge information generation device 2000 generates the person information 110 including information about each person related to the event.
[0089] FIG. 9 is a block diagram illustrating a functional configuration of a knowledge information generation device 2000 having a function of generating the person information 110. In FIG. 9, the knowledge information generation device 2000 includes a second generation unit 2080. The second generation unit 2080 generates the person information 110.
[0090] For example, the second generation unit 2080 generates the person information 110 indicating information about the owner of each terminal by acquiring account information from, for example, the OS of each terminal of the persons related to the event. More specifically, the second generation unit 2080 acquires, from the terminal, an identifier of the person who is the owner of the terminal and information about one or more accounts used on the terminal, and generates the person information 110 in which these are associated. The second generation unit 2080 includes, at least, information obtained from the first terminal 10 and the second terminal 20 in the person information 110.
[0091] In addition, the second generation unit 2080 may add, to the person information 110, information about the accounts of the persons presumed to be related to the owner of the first terminal 10, using the history of approvals for friend requests in the SNS (Social Network System) application or the like of the first terminal 10. Here, the friend request means a request for connection between accounts in the SNS.
[0092] In the SNS application of the first terminal 10, it can be inferred that an account for which a friend request has been approved is an account of a person related to the owner of the first terminal 10. Therefore, the knowledge information generation device 2000 adds the information of the account for which the friend request has been approved in the SNS application of the first terminal 10 to the person information 110. Specifically, the knowledge information generation device 2000 adds a record in which the identifier of the account for which the friend request has been approved is shown in the account list 114 to the person information 110. In this record, an identifier may not be set in the person identifier 112, or an arbitrary identifier generated by the knowledge information generation device 2000 may be set.
[0093] In addition to the person identifier 112 and the account list 114, the person information 110 may indicate various information about the person. For example, the knowledge information generation device 2000 identifies the attributes and characteristics of the person by any method and includes the attributes and characteristics of the person in the person information 110. Examples of the attributes of the person include age, gender, address, nationality, or language used. Examples of the characteristics of the person include a face image, a fingerprint image, voice data of a voice, personality, or behavioral habits.
[0094] The knowledge information generation device 2000 stores the person information 110 in the storage unit in association with the event. Thereby, for each event, the person information 110 representing various information about the person related to that event is recorded.
[0095] <Restoration of Messages Using the History of Character Conversion> The knowledge information generation device 2000 may restore the phrases of the messages not shown in the message history 70 (that is, those for which no history remains) using the history of character conversion in the first terminal 10. Character conversion is a process of converting the input character string into a character string including Chinese characters, katakana, etc. The history of character conversion is managed, for example, by the OS installed in the first terminal 10 or character input conversion software.
[0096] The method of using the character conversion history in this manner has the advantage that it may be possible to restore phrases that cannot be obtained from the second terminal 20.
[0097] FIG. 10 is a diagram illustrating the configuration of a character conversion history. The character conversion history 120 indicates an input character string 122, a conversion result 124, and a conversion date and time 126. The input character string 122 indicates an input character string. The conversion result 124 indicates a result of character conversion. For example, the first line of the character conversion history 120 indicates that the character string "monoto" input by the user has been converted to the character string "bunga no". The conversion result 124 can also be expressed as a conversion result by character conversion. The conversion date and time 126 indicates the date and time when the character conversion was performed. Each record of the character conversion history 120 is called character conversion information.
[0098] Fig. 11 is a block diagram illustrating the functional configuration of a knowledge information generation device 2000 having a function of restoring a phrase using a character conversion history. The knowledge information generation device 2000 in Fig. 11 has a restoration unit 2100. The restoration unit 2100 restores a phrase using the character conversion history, and generates a knowledge tuple 50 including the restored phrase.
[0099] The restoration unit 2100 utilizes communication information that satisfies the conditions (1) and (2) as well as the condition (3) that the communication information is communication information that indicates transmission by the first terminal 10. The communication information that satisfies the condition (3) indicates “transmission” in the communication type 86.
[0100] It can be presumed that the communication indicated by the communication information satisfying conditions (1), (2), and (3) is a communication representing the transmission of a message by the message application 60. It can also be presumed that the input of this message was made before the communication date and time 88 of this communication information.
[0101] Therefore, the restoration unit 2100 identifies the communication information that satisfies conditions (1), (2), and (3), and extracts the communication date and time 88 from the communication information. Hereinafter, this communication date and time 88 is referred to as the message transmission date and time. Further, the restoration unit 2100 restores the phrase using the character conversion information indicating the conversion date and time 126 before the message transmission date and time among the character conversion information shown in the character conversion history 120.
[0102] For example, the restoration unit 2100 extracts the conversion result 124 from a plurality of character conversion information indicating the conversion date and time 126 before the message transmission date and time, in descending order of the conversion date and time 126 (in order from the character conversion information with a later conversion date and time 126) until a phrase can be generated. If the first extracted conversion result 124 represents a phrase, that conversion result 124 is treated as the restored phrase. On the other hand, if a single conversion result 124 does not represent a phrase, a phrase is restored by concatenating a plurality of conversion results 124 in ascending order of the conversion date and time 126.
[0103] For example, assume that four pieces of character conversion information arranged in order of the conversion date and time 126 being close to the message transmission date and time respectively show the conversion results 124 of "shimasu", "onegai", "uke toru o", and "nimotsu no". This means that when inputting the message "nimotsu no uke toru o onegai shimasu", the processes of inputting "ni motsu no" and converting it to "nimotsu no", inputting "u ke to ri o" and converting it to "uke toru o", inputting "o ne gai" and converting it to "onegai", and inputting "shi masu" and converting it to "shimasu" were performed in this order.
[0104] Here, assume that the predicate is treated as a phrase. In this case, by concatenating the conversion result 124 of "shimasu" extracted from the character conversion information with the conversion date and time 126 closest to the message transmission date and time and the conversion result 124 of "onegai" extracted from the character conversion information with the conversion date and time 126 second closest to the message transmission date and time, a predicate of "onegai shimasu" can be generated.
[0105] Therefore, the restoration unit 2100 generates a knowledge tuple 50 that indicates this "please" as phrase 36. The transmission entity 32 of the knowledge tuple 50 is the first terminal 10. Also, the receiving entity 34 of the knowledge tuple 50 is identified from the communication partner 84 of the communication information specified by the restoration unit 2100. For example, the restoration unit 2100 converts an identifier such as a network address shown for the communication partner 84 into an identifier of the terminal. Further, the restoration unit 2100 uses the person information 110 to convert the identifier of the terminal into an identifier of a person, and uses the identifier of the person as the receiving entity 34.
[0106] <Aggregation of message numbers> The knowledge information generation device 2000 may have a function of specifying the number of messages related to each entity for each entity. Hereinafter, the functional component that realizes this function is called an aggregation unit. FIG. 12 is a block diagram illustrating the functional configuration of the knowledge information generation device 2000 having the aggregation unit 2120.
[0107] When the entity is a group, the messages related to the entity represent, for example, the messages transmitted and received within the group. In other words, the messages related to the entity represent the messages transmitted to the group by any user included in the group. When the entity is not a group, the messages related to the entity represent the messages transmitted from the entity to other entities.
[0108] The aggregation unit 2120 specifies the number of messages for each entity using the knowledge information 30. The number of messages related to an entity that is a group is represented, for example, by the total number of knowledge tuples 50 in which the entity is shown as the receiving entity 34. On the other hand, the number of messages related to an entity that is not a group is represented, for example, by the total number of knowledge tuples 50 in which the entity is shown as the transmission entity 32.
[0109] The aggregating unit 2120 may count the number of messages related to each entity only for a specific period (hereinafter referred to as the aggregation period). For example, the aggregation period is specified by the user of the knowledge information generation device 2000. In this case, the aggregating unit 2120 specifies the number of messages related to each entity by using only the knowledge tuples 50 whose transmission / reception date and time are included in the aggregation period.
[0110] FIG. 13 is a diagram illustrating an aggregation screen on which the number of messages related to each entity is displayed. The aggregation screen 130 includes an aggregation period specifying area 140, an aggregation button 145, and a table 150. The user specifies the start time and end time of the aggregation period in the aggregation period specifying area 140 and then presses the aggregation button 145. As a result, a table 150 representing the result of the aggregation is displayed.
[0111] In the example of FIG. 13, the table 150 includes three columns: group 152, individual 154, and channel 156. The group 152 indicates the number of messages related to each group. The individual 154 indicates the number of messages related to each individual. The channel 156 indicates the number of messages related to a channel (for example, a company account) which is an entity other than an individual treated as one user. Note that the types of entities are not limited to the three types illustrated in FIG. 13, and there may be four or more types.
[0112] The aggregating unit 2120 may count the number of messages related to each entity for each message application 60. In this case, the knowledge information generation device 2000 generates the knowledge tuple 50 so as to further include the message application 60 used for transmission / reception of a message including the phrase 36 in the knowledge tuple 50.
[0113] The determination of the number of messages may be performed without using the knowledge information 30. For example, the aggregation unit 2120 may determine the number of messages related to each entity by using the message history 70 of each of one or more first terminals 10. Specifically, for an entity that is a group, the aggregation unit 2120 determines the total number of records indicated by the receiving entity 74 for the group as the number of messages related to the group. On the other hand, for an entity that is not a group, the aggregation unit 2120 determines the total number of records indicated by the sending entity 72 for the entity as the number of messages related to the entity.
[0114] In addition, for example, when the operation history of the first terminal 10 is acquirable, the aggregation unit 2120 may count the number of messages related to each entity by using the operation history of the first terminal 10. Here, it is assumed that the operation history of the first terminal 10 indicates the operated application, the operation time, the sending entity, the receiving entity, and the content of the message. For an entity that is a group, the aggregation unit 2120 determines the total number of records of the operation history indicated by the receiving entity for the group as the number of messages related to the group. On the other hand, for an entity that is not a group, the aggregation unit 2120 determines the total number of records of the operation history indicated by the sending entity for the entity as the number of messages related to the entity.
[0115] When determining the number of messages only during the aggregation period by using the message history 70 or the operation history, similar to the case of using the knowledge information 30, the aggregation unit 2120 uses only the records whose transmission / reception time is included in the aggregation period.
[0116] The aggregation unit 2120 may determine the number of messages related to each entity for each of a plurality of periods. In other words, the aggregation unit 2120 may determine the transition of the number of messages related to each entity.
[0117] For example, the aggregation unit 2120 divides the aggregation period into periods of a specific length, such as one month, one week, or one day (hereinafter referred to as sub-periods). The aggregation unit 2120 identifies the number of messages for each sub-period by counting the number of messages for each sub-period.
[0118] FIG. 14 is a diagram illustrating an aggregation screen on which the number of messages for each sub-period is displayed. The aggregation screen 160 includes an aggregation period specification area 170, an aggregation button 175, and a graph 180. The user specifies the start time and end time of the aggregation period in the aggregation period specification area 170 and presses the aggregation button 175. As a result, a graph 180 representing the result of the aggregation is displayed. The graph 180 shows the number of messages in each sub-period as a bar graph for each entity. The longer the length of the bar graph, the larger the number of messages. In the example of FIG. 14, the length of the sub-period is one month.
[0119] <Identification of the number of users belonging to a group> The knowledge information generation device 2000 may identify the number of participants (users belonging to the group) in each group. Hereinafter, the number of participants in a group is also referred to as the group size. Also, a functional component that realizes the function of identifying the group size is called a group size identification unit. FIG. 15 is a block diagram illustrating the functional configuration of the knowledge information generation device 2000 having a group size identification unit 2140.
[0120] There are various methods for specifying the group size. For example, the group size specifying unit 2140 specifies the group size using the knowledge information 30. In the knowledge tuple 50 in which the group is indicated to the receiving entity 34, the entity indicated to the transmitting entity 32 can be said to be a participant in the group. Therefore, the group size specifying unit 2140 extracts the knowledge tuple 50 in which the group is indicated to the receiving entity 34 from the knowledge information 30. Further, for each group, the group size specifying unit 2140 specifies the transmitting entity 32 of the knowledge tuple 50 in which the group is indicated to the receiving entity 34 as a participant in the group. Then, the group size specifying unit 2140 specifies the group size of each group by counting the number of the specified participants for each group.
[0121] In addition, for example, the group size specifying unit 2140 may specify the group size based on the approval history for the group participation request. The approval history for the group participation request is included in, for example, the operation history of the message application 60 in which the group was created. More specifically, the operation history of the message application 60 may include the history of processing the group participation request. The processing history of the group participation request indicates, for each of one or more group participation requests, the group to be participated in, the entity that transmitted the group participation request (i.e., the entity attempting to participate in the group), and the approval result indicating whether the group participation request was approved.
[0122] For example, the group size specifying unit 2140 acquires the operation history of each message application 60 from each terminal (one or more first terminals 10 and one or more second terminals 20) handled by the knowledge information generation device 2000. The group size specifying unit 2140 extracts the processing history indicating approval from the processing history of the group participation request included in the acquired operation history. The group size specifying unit 2140 totals the number of the extracted processing histories for each group. Thereby, the group size specifying unit 2140 specifies the number of entities that have participated in the group for each group.
[0123] Here, the creator of the group becomes a participant in that group without sending a participation request. Therefore, for each group, the group size determination unit 2140 determines, as the group size of that group, a value obtained by adding 1 to the number of entities that have joined that group by a participation request.
[0124] FIG. 16 is a diagram illustrating a screen on which the group size is displayed. The screen 190 includes a table 200. The table 200 shows the group size of each group.
[0125] According to the group size determination unit 2140, the size of each group can be easily grasped.
[0126] <List of group participants> The knowledge information generation device 2000 may generate a list of participants for each group. Hereinafter, the functional configuration unit that generates the list of group participants is called a generation unit. FIG. 17 is a block diagram illustrating the functional configuration of the knowledge information generation device 2000 having a generation unit 2150. Here, as a specific method for identifying the participants of each group, the same method as the method by which the group size determination unit 2140 identifies the participants of each group can be adopted.
[0127] FIG. 18 is a diagram illustrating a list of group participants. The screen 230 includes a participant list 240. The participant list 240 shows information about each participant in the group for each group. The information about the participant includes, for example, information about the account of the participant (such as an account identifier, an account name, a user identifier, a user name, or a phone number). In addition, for example, the information about the participant includes unique information for each participant. The unique information for each participant is, for example, information that can be used as the above-described person identifier 112 (such as a terminal identifier, a SIM identifier, or an identifier associated with the OS).
[0128] As described above, there is a possibility that the same person is using different accounts. Therefore, the generation unit 2150 may use the person information 110 illustrated in FIG. 7 to indicate an identifier that does not depend on the account (such as the name of the person) for each participant in the group. Note that the person identifier 112 can be used as the identifier that does not depend on the account.
[0129] The generation unit 2150 may have a function of merging the participant lists of two or more groups. For example, the user of the knowledge information generation device 2000 designates two or more participant lists to be merged. In response to the designation, the generation unit 2150 generates one participant list in which the designated multiple participant lists are merged.
[0130] As described above, there is a possibility that the same person is using different accounts. Therefore, two or more merged participant lists may include information regarding two or more accounts each owned by the same person. Therefore, the generation unit 2150 may merge information (records) of multiple accounts owned by the same person in the merged participant list. The record of the participant list generated by the merge indicates information of multiple accounts of the participant in association with the person identifier 112 of the participant.
[0131] For example, assume that the account A1 included in the participant list of the group G1 and the account A25 included in the participant list of the group G2 are different accounts generated by the same person P1. In this case, the generation unit 2150 merges the information regarding the account A1 and the information regarding the account A25 to generate information regarding the person P1, and causes the merged participant list to indicate the information regarding the person P1. In this way, by merging the information of the accounts used by the same person, it becomes easier to view the information of the participants.
[0132] <Detection of Entities with Specific Features> The knowledge information generation device 2000 may further have a function of detecting an entity having specific features based on the content of messages related to each entity. Hereinafter, the functional component that realizes this function is called a detection unit. FIG. 19 is a block diagram illustrating the functional configuration of the knowledge information generation device 2000 having a detection unit 2160.
[0133] The specific features handled by the detection unit 2160 are various. For example, the specific feature is a feature that the probability of being related to a specific event (hereinafter referred to as criminality) is high, such as "the probability of being related to a crime is high".
[0134] The detection unit 2160 detects an entity having specific features by using, for example, the phrase 36 shown in the knowledge information 30. For example, assume that one or more words that may be included in the speech by an entity having specific features are defined in advance as keywords. In this case, the detection unit 2160 detects a knowledge tuple 50 in which the keyword is included in the phrase 36 from the knowledge information 30. Then, the detection unit 2160 detects the entity indicated by the transmission entity 32 of the detected knowledge tuple 50 as an entity having specific features.
[0135] The detection unit 2160 may detect an entity in which the number of phrases 36 including keywords is equal to or greater than a predetermined threshold as an entity having specific features. For example, assume that the knowledge information 30 includes N knowledge tuples 50 that satisfy the condition that "entity E is the transmission entity 32 and the keyword is included in the phrase 36". And assume that the above-mentioned predetermined threshold is Th1. The detection unit 2160 detects entity E as an entity having specific features when N >= Th1. On the other hand, when N < Th1, the detection unit 2160 does not detect entity E as an entity having specific features.
[0136] Instead of, or in addition to, the number of phrases 36 that include the keyword, the ratio of the phrases 36 that include the keyword may be used. For example, assume that there are M1 knowledge tuples 50 in which the entity E is the sending entity 32 included in the knowledge information 30. Also, assume that among the M1 knowledge tuples 50, there are M2 knowledge tuples 50 in which the keyword is included in the phrase 36. And assume that Th2 is defined as the threshold of the ratio of the phrases 36 that include the keyword.
[0137] In this case, when (M2 / M1)>=Th2, the detection unit 2160 detects the entity E as an entity having a specific feature. On the other hand, when (M2 / M1)<Th2, the detection unit 2160 does not detect the entity E as an entity having a specific feature.
[0138] When both the number and ratio of the phrases 36 are used, for example, when M1>=Th1 and (M2 / Mh1)<=Th2, the detection unit 2160 detects the entity E as an entity having a specific feature. Otherwise, the detection unit 2160 does not detect the entity E as an entity having a specific feature.
[0139] Whether an entity has a specific feature may be determined using a machine learning model (hereinafter referred to as a determination model). The determination model can be implemented by various models such as a neural network or a support vector machine. The determination model is trained in advance to output a flag (hereinafter referred to as a determination flag) indicating whether the entity that sent the message has a specific feature in response to the input of the message, for example.
[0140] The detection unit 2160 obtains a determination flag from the determination model by inputting the phrase 36 to the determination model. When the determination flag indicates that "it has a specific feature", the detection unit 2160 detects the entity indicated by the transmission entity 32 corresponding to the phrase 36 as an entity having a specific feature. On the other hand, when the determination flag indicates that "it does not have a specific feature", the detection unit 2160 does not detect the entity indicated by the transmission entity 32 corresponding to the phrase 36 as an entity having a specific feature.
[0141] The detection unit 2160 may further use the above-described thresholds for the number and ratio of the phrases 36. For example, for the entity E, when the determination flag of "having a specific feature" is obtained Th1 or more times, the detection unit 2160 specifies the entity E as an entity having a specific feature. For another example, it is assumed that there are M1 knowledge tuples 50 in which the entity E is indicated in the transmission entity 32, and M2 determination flags of "having a specific feature" are obtained for the entity E. In this case, the detection unit 2160 detects the entity E as an entity having a specific feature when (M2 / M1) >= Th2.
[0142] The determination model is pre-trained using a plurality of training data. The training data includes, for example, a training message which is text data representing a training message, and a ground truth determination flag. The detection unit 2160 calculates a loss using the output obtained by inputting the training message to the determination model and the ground truth determination flag, and trains the determination model by updating the parameters of the determination model based on the calculated loss. The output obtained from the determination flag during training is, for example, data representing the probability that the entity has a specific feature.
[0143] The detection unit 2160 may use the message history 70, the operation history of the first terminal 10, etc. instead of the knowledge information 30. When the message history 70 is used, the message 76 is treated in the same way as the phrase 36. When the operation history is used, the message indicated in the operation history is treated in the same way as the phrase 36.
[0144] FIG. 20 is a diagram illustrating a screen showing whether each entity has a specific feature. The screen 210 includes a table 220. The table 220 shows whether each group, each individual, and each channel has a specific feature. A check mark indicates that the corresponding entity has a specific feature.
[0145] According to the detection unit 2160, an entity having a specific feature can be easily identified. For example, assume that a feature of "high criminality" is treated as a specific feature. In this case, by using the knowledge information generation device 2000, it is possible to easily detect a person with a high probability of being involved in a crime or a high probability of being involved in a crime in the future, or a group with a high probability of being used in a crime or a high probability of being used in a crime in the future.
[0146] As described above, the present disclosure has been described with reference to the embodiments, but the present disclosure is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. And each embodiment can be combined with other embodiments as appropriate.
[0147] The figures are merely illustrative for explaining one or more embodiments. Each figure may be associated with not only one specific embodiment but also one or more other embodiments. As can be understood by those skilled in the art, various features or steps described with reference to any one figure can be combined with features or steps shown in one or more other figures, for example, to create embodiments that are not explicitly illustrated or described. Not all of the features or steps shown in any one figure for explaining exemplary embodiments are necessarily essential, and some features or steps may be omitted. The order of the steps described in any figure may be changed as appropriate.
[0148] In the present disclosure, a program includes a set of instructions (or software code) for causing a computer to perform one or more functions described in the embodiments when loaded into the computer. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, the computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD), or other memory technologies, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disc, or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage, or other magnetic storage devices. The program may be transmitted on a transitory computer-readable medium or a communication medium. By way of example and not limitation, the transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.
[0149] Some or all of the above embodiments may be described as follows, but are not limited thereto. (Appendix 1) Using the message history of the message application of the first terminal, for each of one or more messages, generate a knowledge tuple that is a combination of the identifier of the sending entity of the message, the identifier of the receiving entity of the message, and the phrases in the message, and generate knowledge information including the knowledge tuple; a first generation step; A specifying step of specifying a second terminal that is a counterpart of a message not shown in the message history using the communication history of the first terminal; A program that causes a computer to execute an adding step of generating the knowledge tuple using the message history of the message application of the second terminal and adding the generated knowledge tuple to the knowledge information. (Appendix 2) The message history shows message information indicating, for each of one or more messages, the identifier of the sending entity of the message, the identifier of the receiving entity of the message, the content of the message, and the date and time of sending and receiving of the message. The communication history shows communication information indicating, for each communication, the identifier of the application that performed the communication, the identifier of the counterpart of the communication, and the date and time of the communication. In the specifying step, Specify the communication information that satisfies the condition that the identifier of the application shown in the communication information is the identifier of the message application of the first terminal and the condition that the message information indicating the date and time of sending and receiving whose difference from the date and time of the communication in the communication information is equal to or less than a threshold value does not exist in the message history of the first terminal, The program according to Appendix 1, wherein the counterpart of the communication in the specified communication information is specified as the second terminal. (Appendix 3) In the first generation step, Using the person information that associates the identifier of a person with the identifiers of one or more accounts used by that person, identify the identifier of the person specified by the identifier of the sending entity shown in the message information, and set the identifier of the specified person to the identifier of the sending entity in the knowledge tuple. The program according to Supplementary Note 2, which uses the person information to identify the identifier of the person specified by the identifier of the receiving entity shown in the message information, and sets the identifier of the specified person to the identifier of the receiving entity in the knowledge tuple. (Supplementary Note 4) The computer is made to execute a second generation step of including information about the person using the first terminal in the person information by acquiring from the storage unit of the first terminal the identifier of the person using the first terminal and the identifiers of one or more accounts used on the first terminal, and including information about the person using the second terminal in the person information by acquiring from the storage unit of the second terminal the identifier of the person using the second terminal and the identifiers of one or more accounts used on the second terminal. The program according to Supplementary Note 3. (Supplementary Note 5) The computer is further made to execute a restoration step of restoring a phrase of a message not shown in the message history of the first terminal using one or more conversion results shown in the character conversion history of the first terminal, and generating the knowledge tuple indicated by the restored phrase. The program according to Supplementary Note 2. (Supplementary Note 6) The communication information indicates the type of the communication. In the restoration step, Identify the communication information that satisfies the condition that the identifier of the application shown in the communication information is the identifier of the message application of the first terminal, the condition that the difference between the communication date and time of the communication information and the communication date and time is equal to or less than a threshold value, and the condition that the type of communication shown in the communication information represents transmission, and that the message information indicating the transmission date and time does not exist in the message history of the first terminal. The program according to Appendix 5, which restores the phrase by using one or more conversion results in character conversion performed before the date and time of the communication of the specified communication information. (Appendix 7) The program according to any one of Appendices 1 to 6, wherein when the message application of the first terminal is a chat application, the message application of the second terminal is the same application as the message application of the first terminal. (Appendix 8) A first generation step of generating knowledge information including a knowledge tuple, which is a combination of an identifier of a transmission entity of each message, an identifier of a reception entity of the message, and a phrase in the message, for each of one or more messages by using the message history of the message application of the first terminal; An identification step of identifying a second terminal, which is a counterpart of a message not shown in the message history, by using the communication history of the first terminal; A knowledge information generation method, comprising: an addition step of generating the knowledge tuple by using the message history of the message application of the second terminal and adding the generated knowledge tuple to the knowledge information. (Appendix 9) The message history shows message information indicating, for each of one or more messages, an identifier of a transmission entity of the message, an identifier of a reception entity of the message, the content of the message, and the date and time of transmission and reception of the message. The communication history shows communication information indicating, for each communication, an identifier of an application that performed the communication, an identifier of a counterpart of the communication, and the date and time of the communication. In the identification step, Identifying the communication information that satisfies the condition that the identifier of the application indicated in the communication information is the identifier of the message application of the first terminal and the condition that the difference between the communication date and time of the communication information and a threshold value is equal to or less than the threshold value and the message information indicating the transmission and reception date and time that does not exist in the message history of the first terminal, The method for generating knowledge information according to appended note 8, wherein the communication partner in the identified communication information is identified as the second terminal. (Appended note 10) In the first generation step, Using the person information that associates the identifier of a person with the identifiers of one or more accounts used by that person, identifying the identifier of the person specified by the identifier of the transmission entity indicated in the message information, and setting the identified identifier of the person as the identifier of the transmission entity in the knowledge tuple, The method for generating knowledge information according to appended note 9, wherein the person information is used to identify the identifier of the person specified by the identifier of the reception entity indicated in the message information, and the identified identifier of the person is set as the identifier of the reception entity in the knowledge tuple. (Appended note 11) The method for generating knowledge information according to appended note 10, further comprising a second generation step of including information about the person using the first terminal in the person information by obtaining the identifier of the person using the first terminal and the identifiers of one or more accounts used on the first terminal from the storage unit of the first terminal, and including information about the person using the second terminal in the person information by obtaining the identifier of the person using the second terminal and the identifiers of one or more accounts used on the second terminal from the storage unit of the second terminal. (Appended note 12) The method for generating knowledge information according to appended note 9, further comprising a restoration step of restoring a phrase of a message not shown in the message history of the first terminal using one or more conversion results shown in the character conversion history of the first terminal, and generating the knowledge tuple indicated by the restored phrase. (Appendix 13) The communication information indicates the type of the communication, In the restoration step, the communication information that satisfies the conditions that the identifier of the application indicated by the communication information is the identifier of the message application of the first terminal, the difference between the communication date and time of the communication information and the communication date and time is equal to or less than a threshold value, and the message information indicating the transmission and reception date and time does not exist in the message history of the first terminal, and the type of the communication indicated by the communication information represents transmission is specified, The knowledge information generation method according to Appendix 12, wherein the phrase is restored by using one or more conversion results in character conversion performed before the communication date and time of the specified communication information. (Appendix 14) When the message application of the first terminal is a chat application, the message application of the second terminal is the same application as the message application of the first terminal, the knowledge information generation method according to any one of Appendices 8 to 13. (Appendix 15) First generation means for generating a knowledge tuple, which is a combination of the identifier of the transmission entity of a message, the identifier of the reception entity of the message, and a phrase in the message, for each of one or more messages by using the message history of the message application of the first terminal, and generating knowledge information including the knowledge tuple; Specifying means for specifying a second terminal, which is the counterpart of a message not shown in the message history, by using the communication history of the first terminal; Adding means for generating the knowledge tuple by using the message history of the message application of the second terminal and adding the generated knowledge tuple to the knowledge information, a knowledge information generation device having the above. (Appendix 16) The message history indicates message information showing, for each of one or more messages, an identifier of a transmission entity of the message, an identifier of a reception entity of the message, content of the message, and a transmission / reception date and time of the message. The communication history indicates communication information showing, for each communication, an identifier of an application that performed the communication, an identifier of a counterpart of the communication, and a date and time of the communication. The specifying means specifies the communication information that satisfies a condition that the identifier of the application indicated in the communication information is the identifier of the message application of the first terminal and a condition that the message information indicating the transmission / reception date and time whose difference from the date and time of the communication in the communication information is equal to or less than a threshold value does not exist in the message history of the first terminal. The knowledge information generation device according to Supplementary Note 15, which specifies the counterpart of the communication in the specified communication information as the second terminal. (Supplementary Note 17) The first generation means uses person information associating an identifier of a person with identifiers of one or more accounts used by the person to specify an identifier of the person specified by the identifier of the transmission entity indicated in the message information, and sets the specified identifier of the person to the identifier of the transmission entity in the knowledge tuple. The knowledge information generation device according to Supplementary Note 16, which uses the person information to specify an identifier of the person specified by the identifier of the reception entity indicated in the message information, and sets the specified identifier of the person to the identifier of the reception entity in the knowledge tuple. (Supplementary Note 18) A knowledge information generation device according to Supplementary Note 17, comprising second generation means for including information about a person using the first terminal in the person information by obtaining an identifier of the person using the first terminal and identifiers of one or more accounts being used on the first terminal from a storage unit of the first terminal, and for including information about a person using the second terminal in the person information by obtaining an identifier of the person using the second terminal and identifiers of one or more accounts being used on the second terminal from a storage unit of the second terminal. (Supplementary Note 19) A knowledge information generation device according to Supplementary Note 16, comprising restoration means for restoring a phrase of a message not shown in the message history of the first terminal using one or more conversion results shown in the character conversion history of the first terminal, and for generating the knowledge tuple indicated by the restored phrase. (Supplementary Note 20) The communication information indicates the type of the communication. The restoration means identifies the communication information that satisfies the condition that the identifier of the application indicated in the communication information is the identifier of the message application of the first terminal, the condition that the difference between the communication date and time of the communication information and the communication date and time is equal to or less than a threshold value and the message information indicating the transmission and reception date and time does not exist in the message history of the first terminal, and the condition that the type of the communication indicated in the communication information represents transmission, and restores the phrase using one or more conversion results in character conversion performed before the communication date and time of the identified communication information. A knowledge information generation device according to Supplementary Note 19. (Supplementary Note 21) When the message application of the first terminal is a chat application, the message application of the second terminal is the same application as the message application of the first terminal. A knowledge information generation device according to any one of Supplementary Notes 15 to 20. (Supplementary Note 22) The program according to Appendix 1, which further causes the computer to execute an aggregation step of specifying the number of messages related to the entity for each entity. (Appendix 23) The program according to Appendix 22, which in the aggregation step specifies the number of messages related to the entity for each of a plurality of periods. (Appendix 24) The program according to Appendix 1, which further causes the computer to execute a group size specifying step of specifying the number of participants in each of one or more groups. (Appendix 25) The program according to Appendix 1, which causes the computer to execute a generation step of identifying the participants in each of one or more groups and generating a list of the participants in each group. (Appendix 26) The program according to Appendix 1, which further causes the computer to execute a detection step of detecting the entity having specific characteristics based on the content of the message transmitted by each entity. (Appendix 27) The knowledge information generation method according to Appendix 8, which further has an aggregation step of specifying the number of messages related to the entity for each entity. (Appendix 28) The knowledge information generation method according to Appendix 27, which in the aggregation step specifies the number of messages related to the entity for each of a plurality of periods. (Appendix 29) The knowledge information generation method according to Appendix 8, which further has a group size specifying step of specifying the number of participants in each of one or more groups. (Appendix 30) The program according to Appendix 8, which further has a generation step of identifying the participants in each of one or more groups and generating a list of the participants in each group. (Appendix 31) The knowledge information generation method according to Supplementary Note 8, further comprising a detection step of detecting the entity having specific characteristics based on the content of the message transmitted by each of the entities. (Supplementary Note 32) The knowledge information generation apparatus according to Supplementary Note 15, further comprising a totaling means for specifying the number of messages related to the entity for each entity. (Supplementary Note 33) The knowledge information generation apparatus according to Supplementary Note 32, wherein the totaling means specifies the number of messages related to the entity for each of a plurality of periods. (Supplementary Note 34) The program according to Supplementary Note 15, further comprising a generation step of specifying participants in each of one or more groups and generating a list of the participants in each group. (Supplementary Note 35) The knowledge information generation apparatus according to Supplementary Note 15, further comprising a group size specifying means for specifying the number of participants in each of one or more groups. (Supplementary Note 36) The knowledge information generation apparatus according to Supplementary Note 15, further comprising a detection means for detecting the entity having specific characteristics based on the content of the message transmitted by each of the entities.
[0150] This application claims priority based on Japanese Patent Application No. 2023-201964 filed on November 29, 2023, and incorporates the entire disclosure thereof herein.
Explanation of Reference Numerals
[0151] 10 First terminal 20 Second terminal 30 Knowledge information 32 Transmitting entity 34 Receiving entity 36 Phrase 40 Knowledge graph 42 Node 44 Edge 50 Knowledge tuple 60 Message Application 70 Message History 72 Sending Entity 74 Receiving Entity 76 Message 78 Sending / Receiving Date and Time 80 Communication History 82 Application 84 Communication Partner 86 Communication Type 88 Communication Date and Time 90 Message Application 100 Message History 110 Person Information 112 Person Identifier 114 Account List 120 Character Conversion History 122 Input Character String 124 Conversion Result 126 Conversion Date and Time 130 Aggregation Screen 140 Aggregation Period Specification Area 145 Aggregation Button 150 Table 152 Group 154 Individual 156 Channel 160 Aggregation Screen 170 Aggregation Period Specification Area 175 Aggregation Button 180 Graph 190 Screen 200 Table 210 Screen 220 Table 230 Screen 240 Participant List 1000 Computer 1020 Bus 1040 Processor 1060 Memory 1080 Storage Device 1100 Input / Output Interface 1120 Network Interface 2000 Knowledge Information Generation Device 2020 First Generation Unit 2040 Identification Unit 2060 Addition Unit 2080 Second Generation Unit 2100 Restoration Unit 2120 Aggregation Unit 2140 Group Size Identification Unit 2150 Generation Unit 2160 Detection Unit
Claims
1. a first generation step of generating, for each of one or more messages, a knowledge tuple that is a combination of an identifier of a sending entity of the message, an identifier of a receiving entity of the message, and a phrase in the message, using a message history of a message application of the first terminal, and generating knowledge information that includes the knowledge tuple; A step of identifying a second terminal that is a recipient of a message not shown in the message history by using a communication history of the first terminal; generating the knowledge tuple by using a message history of a message application of the second terminal, and adding the generated knowledge tuple to the knowledge information.
2. the message history indicates, for each of one or more messages, message information indicating an identifier of a sending entity of the message, an identifier of a receiving entity of the message, the content of the message, and a date and time when the message was sent or received; The communication history indicates, for each communication, communication information indicating an identifier of an application that performed the communication, an identifier of the other party of the communication, and a date and time of the communication; In the identifying step, Identifying communication information that satisfies a condition that the identifier of the application indicated in the communication information is the identifier of the message application of the first terminal, and a condition that the message information indicating the transmission / reception date and time that differs from the date and time of the communication of the communication information by a threshold or less is not present in the message history of the first terminal, The program according to claim 1 , further comprising: identifying the communication partner in the identified communication information as the second terminal.
3. In the first generating step, Using person information that associates a person's identifier with an identifier of one or more accounts used by the person, identify an identifier of a person identified by the identifier of the sending entity indicated in the message information, and set the identifier of the identified person as the identifier of the sending entity in the knowledge tuple; The program according to claim 2, further comprising: using the person information to identify an identifier of a person identified by the identifier of the receiving entity indicated in the message information; and setting the identifier of the identified person as the identifier of the receiving entity in the knowledge tuple.
4. The program of claim 3, further comprising: causing the computer to execute a second generation step of including information about the person using the first terminal in the personal information by acquiring an identifier of the person using the first terminal and an identifier of each of one or more accounts used on the first terminal from a memory unit of the first terminal; and including information about the person using the second terminal in the personal information by acquiring an identifier of the person using the second terminal and an identifier of each of one or more accounts used on the second terminal from a memory unit of the second terminal.
5. 3. The program of claim 2, further causing the computer to execute a restoration step of using one or more conversion results indicated in the character conversion history of the first terminal to restore a phrase of a message not indicated in the message history of the first terminal, and generating the knowledge tuple in which the restored phrase is indicated.
6. the communication information indicates a type of the communication, In the restoration step, identifying communication information that satisfies the following conditions: the identifier of the application indicated in the communication information is the identifier of the message application of the first terminal; the message information indicating the transmission / reception date and time that is different from the date and time of the communication of the communication information by a threshold or less is not present in the message history of the first terminal; and the type of communication indicated in the communication information indicates a transmission; 6. The program according to claim 5, wherein the phrase is restored using one or more conversion results in character conversion performed before the date and time of the communication of the identified communication information.
7. The program according to claim 1 , wherein when the message application of the first terminal is a chat application, the message application of the second terminal is the same application as the message application of the first terminal.
8. a first generation step of generating, for each of one or more messages, a knowledge tuple that is a combination of an identifier of a sending entity of the message, an identifier of a receiving entity of the message, and a phrase in the message, using a message history of a message application of the first terminal, and generating knowledge information that includes the knowledge tuple; A step of identifying a second terminal that is a recipient of a message not shown in the message history by using a communication history of the first terminal; generating the knowledge tuple using a message history of a message application of the second terminal, and adding the generated knowledge tuple to the knowledge information.
9. the message history indicates, for each of one or more messages, message information indicating an identifier of a sending entity of the message, an identifier of a receiving entity of the message, the content of the message, and a date and time when the message was sent or received; The communication history indicates, for each communication, communication information indicating an identifier of an application that performed the communication, an identifier of the other party of the communication, and a date and time of the communication; In the identifying step, Identifying communication information that satisfies a condition that the identifier of the application indicated in the communication information is the identifier of the message application of the first terminal, and a condition that the message information indicating the transmission / reception date and time that differs from the date and time of the communication of the communication information by a threshold or less is not present in the message history of the first terminal, The knowledge information generating method according to claim 8 , further comprising the step of identifying the other party of the communication in the identified communication information as the second terminal.
10. a first generating means for generating, for each of one or more messages, a knowledge tuple that is a combination of an identifier of a sending entity of the message, an identifier of a receiving entity of the message, and a phrase in the message, using a message history of a message application of the first terminal, and generating knowledge information that includes the knowledge tuple; A means for identifying a second terminal that is a recipient of a message not shown in the message history, using a communication history of the first terminal; an adding unit that generates the knowledge tuple by using a message history of a message application of the second terminal and adds the generated knowledge tuple to the knowledge information.
Citation Information
Patent Citations
Method and program for extracting small group from social network, and naming and visualizing the same
JP2013015973A