Dialogue control program, dialogue control method, and dialogue control device

The dialogue control system addresses the exclusion of non-participants in chat by analyzing past and current dialogues to invite organizationally close and knowledgeable individuals, improving the community's inclusivity and advice quality.

JP7824509B2Active Publication Date: 2026-03-05エフサステクノロジーズ株式会社
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022019283
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-10
Publication Date
2026-03-05
Estimated Expiration
2042-02-10

AI Technical Summary

Technical Problem

In text-based communication tools like chat, non-participants are often excluded from valuable advice or chatter from organizationally distant or outdated knowledge holders, limiting the community's inclusivity and usefulness.

Method used

A dialogue control system that analyzes past and current dialogues to calculate feature distances and organizational separation, inviting non-participants with beneficial advice by generating and transmitting invitation information based on weighted feature distances.

Benefits of technology

Enables the inclusion of non-participants who can provide useful advice to dialogue participants, enhancing the community's value and inclusivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007824509000001
    Figure 0007824509000001
  • Figure 0007824509000002
    Figure 0007824509000002
  • Figure 0007824509000003
    Figure 0007824509000003
Patent Text Reader

Abstract

To provide an interaction control program, an interaction control method and an interaction control device which invite an interaction nonparticipant beneficial to an interaction participant.SOLUTION: An interaction control program causes a computer to execute processing of acquiring old interaction information including an old interaction being an interaction that has been performed, generating first feature information including a first independent word included in a first character string and the appearance frequency of the first independent word on the basis of the morphological analysis to the first character string expressing the old interaction, acquiring current interaction information including a current interaction being an interaction that is being performed, generating second feature information including a second independent word included in a second character string and the appearance frequency of the second independent word on the basis of the morphological analysis to the second character string expressing the current interaction, calculating a feature distance expressing a distance between the first feature information and the second feature information, applying a prescribed weight according to the temporal first separation degree between the old interaction and the current interaction to the feature distance, and inviting an interaction nonparticipant who is not participating in the current interaction on the basis of the specific feature distance being equal to or less than a threshold in the feature distances applied with the weight.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a dialogue control program, a dialogue control method, and a dialogue control device. [Background technology]

[0002] Internet communities, such as social networking services (SNS) and electronic bulletin boards, are known as communication tools in virtual spaces. In an SNS, users can create groups of several to several hundred people and create bulletin boards specific to each group within the SNS to exchange information and share data. There is also known a technology that compares logs of past posts written on each group's bulletin board to calculate the similarity of the posts and recommends other groups whose similarity exceeds a threshold to users (see, for example, Patent Document 1).

[0003] Additionally, there is known a technique for extracting regularly appearing topic words and features representing friends who regularly communicate with each other from the history of social media activities (posts and communications) (see, for example, Patent Document 2). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2013-161328 [Patent Document 2] Japanese Patent Application Laid-Open No. 2014-106943 Summary of the Invention [Problem to be solved by the invention]

[0005] One of the communication tools mentioned above is chat, which is a form of text-based conversation. With the spread of teleworking, communication in virtual spaces using chat is on the rise, while verbal communication between employees in the office, for example, is on the decline.

[0006] However, when communicating via chat, the community is limited to chat participants, and unlike in an office, advice or chatter from non-chat participants cannot be overheard. In other words, with chat, it is difficult for non-chat participants to join the community of chat participants based on advice or chatter from non-chat participants.

[0007] For example, one possible method is to extract characteristic terms used in chats, search for non-chat participants who have frequently used the extracted terms in chats or emails in the past, and invite those non-chat participants to chats with chat participants.However, if a non-chat participant who is organizationally distant from the chat participants is searched for, useful advice may not be obtained due to differences in work.Also, if a non-chat participant with outdated knowledge of the extracted terms is searched for, useful advice may not be obtained due to the outdated knowledge.

[0008] Therefore, in one aspect, an object is to provide a dialogue control program, a dialogue control method, and a dialogue control device that invite non-participants in a dialogue who are beneficial to dialogue participants. [Means for solving the problem]

[0009] In one embodiment, the dialogue control program acquires old dialogue information including an old dialogue that is a dialogue that has already been exchanged, and generates first feature information including a first independent word included in a first character string representing the old dialogue and the number of times the first independent word appears based on a morphological analysis of a first character string representing the old dialogue, acquires current dialogue information including a current dialogue that is a dialogue that is currently being exchanged, and generates second feature information including a second independent word included in the second character string and the number of times the second independent word appears based on a morphological analysis of a second character string representing the current dialogue, calculates a feature distance representing the distance between the first feature information and the second feature information, assigns a predetermined weight to the feature distance according to a first temporal separation degree between the old dialogue and the current dialogue, and selects a specific feature distance that is equal to or smaller than a threshold value among the weighted feature distances. The dialogue participants of the old dialogue for which the corresponding first feature information was generated are , non-participants in the current dialogue as To invite, to cause a computer to execute a process. [Effects of the Invention]

[0010] It is possible to invite non-participants in the dialogue who are beneficial to the dialogue participants. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of a dialogue control system. [Figure 2] FIG. 2 is an example of organizational information. [Figure 3] FIG. 3 is a block diagram showing an example of the hardware configuration of the dialogue control server. [Figure 4] FIG. 4 is a block diagram showing an example of the functional configuration of the dialogue control server. [Figure 5] FIG. 5 is an example of a user feature vector. [Figure 6] FIG. 6 is a flowchart showing an example of pre-processing executed by the dialogue control server in advance. [Figure 7] FIG. 7 is a flowchart showing an example of a dialogue control process executed by the dialogue control server. [Figure 8] FIG. 8 is a diagram for explaining an example of calculating the tissue distance. [Figure 9]Figure 9 shows an example of generating chat feature vectors. [Figure 10] FIG. 10 shows an example of calculating the feature distance. [Figure 11] FIG. 11 shows an example of the feature distance after weighting. [Figure 12] Fig. 12(a) is a diagram for explaining an example of specifying a user feature vector, and Fig. 12(b) is an example of a screen for inviting non-chat participants. [Figure 13] Fig. 13(a) is a diagram for explaining another example of specifying a user feature vector, and Fig. 13(b) is another example of a screen for inviting non-chat participants. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0013] 1, the dialogue control system ST includes a plurality of user terminals 11, 12, 13, . . . , 18, a chat server 51, an organization information server 52, and a dialogue control server 100. The dialogue control server 100 is an example of a dialogue control device. The dialogue control system ST may or may not include a mail server 53.

[0014] 1 shows a notebook PC (Personal Computer) as an example of user terminal 11, but user terminal 11 is not limited to a notebook PC and may be a desktop PC, a smartphone, a tablet terminal, or the like. The same applies to user terminals 12, . . . , 18. Also, while FIG. 1 shows eight user terminals 11, . . . , 18 as an example, there may be three user terminals, 11, 12, and 13, for example. User terminals 11, . . . , 18 are operated by users 1A, . . . , 1H, respectively.

[0015] The user terminals 11, 12, 13, ..., 18 are connected to the chat server 51 and the mail server 53 via a first communication network NW1. Meanwhile, the chat server 51, the organization information server 52, and the dialogue control server 100 are connected via a second communication network NW2. The first communication network NW1 and the second communication network NW2 include a LAN (Local Area Network). The LAN may be wired or wireless. The first communication network NW1 and the second communication network NW2 are communication networks separate and independent from each other. Therefore, access to the dialogue control server 100 from the multiple user terminals 11, 12, 13, ..., 18 is blocked. The mail server 53 is also connected to a third communication network NW3. The third communication network NW3 includes, for example, the Internet.

[0016] Chat server 51 has an app (specifically, an application program) that can realize chats, and provides chat services to user terminals 11, . . . , 18. Chats include, for example, conversations using text. As a result, if chat server 51 provides a chat service to user terminal 11 and user terminal 12, for example, user 1A and user 1B can chat using the chat service. Chat server 51 manages chat information, including chats conducted between users.

[0017] The mail server 53 has an application capable of implementing e-mail and provides e-mail services to the user terminals 11, . . . , 18. As a result, for example, if the mail server 53 provides an e-mail service to the user terminal 11, the user 1A can send and receive e-mails. The mail server 53 manages mail information including e-mails sent and received by the user 1A.

[0018] The organizational information server 52 stores organizational information of the organizations to which users 1A, ..., 1H belong. Specifically, as shown in FIG. 2, user 1A with the user name "User A" to user 1H with the user name "User H" each belong to company "Company P." On the other hand, users 1A, 1B, and 1C belong to the same department, "Department S," and user 1H belongs to a different department, "Department W," from users 1A, 1B, and 1C. The organizational information may be defined in a tree structure or in a structure other than a tree structure. In this way, users 1A, ..., 1H all belong to specific departments.

[0019] The dialogue control server 100 periodically (for example, daily) accesses the organization information server 52 to identify users 1A,...,1H who belong to the organization. After identifying users 1A,...,1H, the dialogue control server 100 accesses the chat server 51 to obtain chat information for the previous day managed by the chat server 51. More specifically, the dialogue control server 100 obtains chat information for each identified user 1A,...,1H. Since the chat information is chat information for the previous day, it includes previously-exchanged dialogues as chats. Since the previously-exchanged dialogues are previously-exchanged dialogues, these previously-exchanged dialogues may also be referred to as old dialogues.

[0020] The dialogue control server 100 also accesses the mail server 53 to acquire the email information for the previous day managed by the mail server 53. More specifically, the dialogue control server 100 acquires email information for each identified user 1A,...,1H. Since it is email information for the previous day, the email information includes the email body that has already been sent. Since it is email body that has already been sent, this email body may also be referred to as the old email body. Note that the chat information and email information acquired by the dialogue control server 100 are not limited to chat information and email information for the previous day, but may also be information for the day before that and the day before that.

[0021] As will be described in detail later, when the dialogue control server 100 acquires chat information and email information, it performs morphological analysis based on the character strings contained in the chat information and the character strings contained in the email information, and extracts independent words contained in these character strings. After extracting an independent word, the dialogue control server 100 counts the number of times the independent word appears and generates a user feature vector including the independent word and the number of times the independent word appears. Since the dialogue control server 100 acquires chat information and email information for each user, it generates a user feature vector for each user. The user feature vector is an example of first feature information. The user feature vector can identify the tendency of the terms used by each of users 1A,...,1H in chats and emails as one of its features.

[0022] Furthermore, the dialogue control server 100 periodically (for example, every few minutes) accesses the chat server 51 to acquire information about ongoing chats managed by the chat server 51. Since the chat information is information about ongoing chats, the chat information includes ongoing dialogues as chats. Since the chat information is ongoing dialogues, the ongoing dialogues may also be referred to as the current dialogue. Upon acquiring the chat information, the dialogue control server 100 performs morphological analysis based on the character strings included in the chat information to extract independent words included in the character strings. After extracting the independent words, the dialogue control server 100 counts the number of times the independent words appear and generates a chat feature vector including the independent words and the number of times the independent words appear. The chat feature vector is an example of second feature information. The chat feature vector can identify the tendency of the terms used by chat participants in chats as one of the features.

[0023] After generating the chat feature vector, the dialogue control server 100 calculates a feature distance, which represents the distance between the chat feature vector and the user feature vector, using a predetermined distance calculation method. In this embodiment, the cosine distance is used as an example of the distance calculation method, but Euclidean distance, Pearson correlation coefficient, etc. may be used instead of the cosine distance.

[0024] After calculating the characteristic distance, the dialogue control server 100 generates invitation information to invite non-chat participants using the characteristic distance and the degree of separation. The degree of separation is the degree of separation between a reference and a party (specifically, an evaluation target) relative to the reference. More specifically, the dialogue control server 100 generates invitation information based on the characteristic distance, a first degree of separation, which is the temporal separation between the chat outgoing date and the chat implementation date of the currently ongoing chat, and a second degree of separation, which is the organizational separation between chat participants and non-chat participants. The first degree of separation represents the number of days elapsed from the chat outgoing date to the chat implementation date. The chat implementation date corresponds to the reference, and the chat outgoing date corresponds to the party relative to the reference. The chat outgoing date may also correspond to the reference, and the chat implementation date may also correspond to the party relative to the reference. The email sending date may be used instead of the chat outgoing date. The second degree of separation represents the organizational distance, which is the distance between the chat participants and non-chat participants. The chat participants correspond to the reference, and the non-chat participants correspond to the party relative to the reference. The dialogue control server 100 may generate invitation information based on either the first distance or the second distance and the feature distance.

[0025] When the dialogue control server 100 transmits the invitation information to the chat server 51, the chat server 51 displays a guide to invite non-chat participants on the chat screen of the chat participants. This allows the chat participants to invite non-chat participants by following the guide displayed on the screen. In particular, if the number of days elapsed corresponding to the first degree of separation or the organizational distance corresponding to the second degree of separation is close, it is possible to invite non-chat participants who can be expected to provide useful advice to the chat participants.

[0026] The dialogue control system ST will be described in detail below.

[0027] First, the hardware configuration of the dialogue control server 100 that executes the dialogue control method will be described with reference to Fig. 3. Note that the user terminals 11,...,18, chat server 51, organization information server 52, and mail server 53 basically have the same hardware configuration as the dialogue control server 100, so detailed description will be omitted.

[0028] The dialogue control server 100 includes a CPU (Central Processing Unit) 100A as a processor, and RAM (Random Access Memory) 100B and ROM (Read Only Memory) 100C as memories. The dialogue control server 100 also includes a network I / F (Interface) 100D and an HDD (Hard Disk Drive) 100E. An SSD (Solid State Drive) may be used instead of the HDD (Hard Disk Drive) 100E.

[0029] The dialogue control server 100 may include at least one of an input I / F 100F, an output I / F 100G, an input / output I / F 100H, and a drive device 100I, as necessary. The CPU 100A to the drive device 100I are interconnected by an internal bus 100J. In other words, the dialogue control server 100 can be realized by a computer.

[0030] An input device 710 is connected to the input I / F 100F. Examples of the input device 710 include a keyboard, a mouse, and a touch panel. A display device 720 is connected to the output I / F 100G. Examples of the display device 720 include an LCD display. A semiconductor memory 730 is connected to the input / output I / F 100H. Examples of the semiconductor memory 730 include a USB (Universal Serial Bus) memory and a flash memory. The input / output I / F 100H reads the dialogue control program stored in the semiconductor memory 730. The input I / F 100F and the input / output I / F 100H each include, for example, a USB port. The output I / F 100G includes, for example, a display port.

[0031] A portable recording medium 740 is inserted into the drive device 100I. The portable recording medium 740 may be a removable disk such as a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc). The drive device 100I reads an interaction control program recorded on the portable recording medium 740. The network I / F 100D includes, for example, a LAN (Local Area Network) port and a communication circuit. The communication circuit includes either or both of a wired communication circuit and a wireless communication circuit. The network I / F 100D is connected to a second communication network NW2.

[0032] The CPU 100A temporarily stores in the RAM 100B an interaction control program stored in at least one of the ROM 100C, the HDD 100E, and the semiconductor memory 730. The CPU 100A temporarily stores in the RAM 100B an interaction control program recorded on the portable recording medium 740. By executing the stored interaction control program, the CPU 100A realizes various functions described below and executes various processes described below. The interaction control program may be one that corresponds to the flowchart described below.

[0033] The functional configuration of the dialogue control server 100 will be described with reference to Figures 4 and 5. Note that Figure 4 shows the main functions of the dialogue control server 100. Furthermore, details of the functions of the dialogue control server 100 will be explained, as necessary, when explaining the operation of the dialogue control server 100.

[0034] The dialogue control server 100 includes a storage unit 110, a processing unit 120, and a communication unit 130. The storage unit 110 can be realized by either or both of the RAM 100B and HDD 100E described above. The processing unit 120 can be realized by the CPU 100A described above. The communication unit 130 can be realized by the network I / F 100D described above.

[0035] The memory unit 110, the processing unit 120, and the communication unit 130 are connected to one another. The memory unit 110 includes a feature memory unit 111. The processing unit 120 includes an information acquisition unit 121, a feature generation unit 122, and a dialogue control unit 123. The processing unit 120 also includes a feature distance calculation unit 124, a tissue distance calculation unit 125, and a weighting unit 126. The information acquisition unit 121 is an example of an acquisition means. The feature generation unit 122 is an example of a generation means. The dialogue control unit 123 is an example of a control means. The feature distance calculation unit 124 is an example of a calculation means. The weighting unit 126 is an example of an assignment means.

[0036] The feature storage unit 111 stores user feature vectors. Specifically, as shown in FIG. 5, the feature storage unit 111 stores user feature vectors C2, C3, F2, F3, etc., managed for each chat transmission date or email transmission date on the same day as the chat transmission date, and for each user. For example, the user feature vector F3 is generated based on the chat string sent by a user (not shown) with the username "User F" on the chat transmission date of "September 3, 2021" and the email string sent on the email transmission date of "September 3, 2021." The user feature vector F3 includes multiple independent words, such as word 1 and word 2, corresponding to these strings, and the number of occurrences of these independent words. Each user feature vector is generated by the feature generation unit 122 and stored in the feature storage unit 111.

[0037] The information acquisition unit 121 acquires chat information including the old dialogue as a chat. The information acquisition unit 121 acquires a character string representing this chat as an old chat character string. The old chat character string is an example of a first character string. The information acquisition unit 121 also acquires email information including the body of the old email. The information acquisition unit 121 acquires a character string representing this body of the old email as an old email character string. The old email character string is an example of a third character string.

[0038] The feature generation unit 122 generates a user feature vector based on both the old chat string and the old email string. For example, the feature generation unit 122 extracts a first independent word included in the old chat string and a third independent word included in the old email string based on morphological analysis of each of the old chat string and the old email string. If the first independent word and the third independent word are common, the feature generation unit 122 generates a user feature vector for each user in chronological order, the user feature vector including either the extracted first independent word or the extracted third independent word and the total number of times the first independent word and the third independent word appear. If the first independent word and the third independent word are not common, the feature generation unit 122 generates a user feature vector for each user in chronological order, the user feature vector including the extracted first independent word and its number of times it appears, and the extracted third independent word and its number of times it appears.

[0039] The feature generation unit 122 may generate a user feature vector by solely using the old chat string. For example, the feature generation unit 122 may extract first independent words included in the old chat string based on morphological analysis of the old chat string, and generate a user feature vector for each user in chronological order, including the extracted first independent words and the number of times the first independent words appear. After generating the user feature vector, the feature generation unit 122 stores the user feature vector in the feature storage unit 111.

[0040] The dialogue control unit 123 acquires chat information including the current dialogue as a chat. The dialogue control unit 123 acquires a character string representing this chat as a current chat character string. The current chat character string is an example of a second character string. The dialogue control unit 123 generates a chat feature vector based on the current chat character string. For example, the dialogue control unit 123 extracts second independent words included in the current chat character string based on morphological analysis of the current chat character string, and generates a chat feature vector including the extracted second independent words and the number of times the second independent words appear. The dialogue control unit 123 also generates invitation information to invite chat non-participants who are not currently participating in the ongoing chat, using the weighted distance described below, and transmits the invitation information to the chat server 51.

[0041] The feature distance calculation unit 124 calculates the feature distance between each of the user feature vectors and the chat feature vector based on the distance calculation method described above (for example, cosine distance). The organization distance calculation unit 125 calculates the organization distance, which is the distance between the organizations of the chat participants in the currently ongoing chat and the non-chat participants who are not participating in this chat, based on the organization information. The weighting unit 126 assigns a predetermined weight to each of the feature distances according to either or both of the first separation degree and the second separation degree, and calculates a weighted distance by assigning the weight to the feature distance. That is, the weighting unit 126 calculates the weighted distance by assigning a predetermined weight to each of the feature distances according to either or both of the number of days (or elapsed time) from the past chat to the currently ongoing chat and the organizational distance.

[0042] Next, with reference to FIG. 6, a pre-processing that the dialogue control server 100 executes in advance will be described.

[0043] First, the information acquisition unit 121 starts a daily loop process (step S1). That is, the information acquisition unit 121 executes the subsequent process every day. When the loop process starts, the information acquisition unit 121 identifies users from the organizational information (step S2). More specifically, the information acquisition unit 121 accesses the organizational information server 52 via the communication unit 130 and identifies all users included in the organizational information. In this embodiment, the information acquisition unit 121 identifies users 1A,...,1H. Note that the information acquisition unit 121 may exclude some users from being identified depending on settings, design, etc.

[0044] Once the user is identified, the information acquisition unit 121 starts loop processing for each user (step S3). That is, the information acquisition unit 121 executes the subsequent processing for each identified user. Once the loop processing starts, the information acquisition unit 121 acquires chat information for the previous day (step S4). More specifically, the information acquisition unit 121 accesses the chat server 51 via the communication unit 130 and acquires the chat information for the previous day. After acquiring the chat information for the previous day, the information acquisition unit 121 acquires email information for the previous day (step S5). More specifically, the information acquisition unit 121 accesses the email server 53 via the communication unit 130 and acquires the email information for the previous day. Note that if the dialogue control system ST does not include the email server 53, the information acquisition unit 121 may skip the processing of step S5.

[0045] When the email information is acquired, the feature generation unit 122 extracts independent words through morphological analysis (step S6). More specifically, the feature generation unit 122 performs morphological analysis on the old chat string in the chat information and the old email string in the email information, extracting first independent words from the old chat string and third independent words from the old email string. After extracting the independent words, the feature generation unit 122 generates and stores a user feature vector (step S7). More specifically, the feature generation unit 122 counts the number of times each of the first independent word and the third independent word appears. As described above, if the first independent word and the third independent word are common, the feature generation unit 122 adds up the number of times they appear. After counting the number of times they appear, the feature generation unit 122 generates a user feature vector including the first independent word, the third independent word, and their respective number of times they appear, and stores the vector in the feature storage unit 111 (see FIG. 5). The feature generation unit 122 may generate and store a user feature vector sorted in descending order of frequency of appearance. If the first independent word and the third independent word are common, the feature generation unit 122 generates and stores a user feature vector including either the first independent word or the third independent word and their combined value. By the processing of step S7, the user feature vector for one user for the previous day is stored in the feature storage unit 111.

[0046] Once the user feature vector has been stored, the information acquisition unit 121 ends the loop processing on a per-user basis (step S8). As a result, the process returns to step S3, and the information acquisition unit 121 specifies another user for whom the user feature vector has not yet been generated, and repeats the processing from step S4 to step S7. As a result, the user feature vectors for the previous day for all users identified by the information acquisition unit 121 are stored in the feature storage unit 111. When the loop processing on a per-user basis is completed, the information acquisition unit 121 ends the daily loop processing (step S9) and ends the pre-processing. As a result, the time-series user feature vectors are stored in the feature storage unit 111.

[0047] The dialogue control process executed by the dialogue control server 100 will be described with reference to FIGS.

[0048] First, as shown in FIG. 7, the dialogue control unit 123 starts a first loop process in units of minutes (step S11). The unit minutes can be, for example, several minutes, such as one minute or two minutes. In this embodiment, one minute is used as an example of the unit minute. Therefore, the dialogue control unit 123 executes the subsequent process every minute. When the first loop process starts, the dialogue control unit 123 acquires chat information (step S12). More specifically, the dialogue control unit 123 accesses the chat server 51 via the communication unit 130 and acquires chat information including the chat currently in progress (i.e., the current dialogue).

[0049] When the chat information is acquired, the dialogue control unit 123 extracts users (step S13). More specifically, the dialogue control unit 123 extracts specific users who are organizationally close to the users included as chat participants from among users other than those included as chat participants in the chat information. For example, as shown in FIG. 8, when a user 1A with the username "User A" and a user 1B with the username "User B" are chatting, the dialogue control unit 123 specifies users 1C with the username "User C" through "User F" who belong to the same headquarters as users 1A and 1B (i.e., department "Headquarters Q") as extraction targets. The dialogue control unit 123 specifies a user (not shown) with the username "User G" and a user 1H with the username "User H" who belong to a different headquarters (i.e., department "Headquarters R") from users 1A and 1B as extraction targets.

[0050] In this way, in this embodiment, the dialogue control unit 123 extracts specific users who belong to the same headquarters as the user who is a chat participant, and excludes users who belong to a different headquarters. Note that organizational proximity is not limited to headquarters standards, and may be determined appropriately according to operational policies, settings, etc., such as business division standards.

[0051] Once the user is extracted, the dialogue control unit 123 acquires user feature vectors (step S14). More specifically, the dialogue control unit 123 acquires user feature vectors for the past few days associated with the extracted user. The dialogue control unit 123 may acquire user feature vectors for the past one day, or may acquire user feature vectors for the past three days. The dialogue control unit 123 may acquire user feature vectors for the past several tens of days, or may acquire user feature vectors for the past several hundred days. The number of days to acquire can be determined appropriately. In this embodiment, as an example, the dialogue control unit 123 acquires user feature vectors for the past three days from user 1C with the username "User C" to a user (not shown) with the username "User F." Therefore, the dialogue control unit 123 acquires 12 user feature vectors including user feature vectors C2, C3, F2, and F3 (see FIG. 5).

[0052] After acquiring the user feature vector, the dialogue control unit 123 starts a second loop process in units of minutes (step S15). The unit can be, for example, several minutes, such as one or two minutes. In this embodiment, one minute is used as an example of the unit. Therefore, the dialogue control unit 123 executes the subsequent process every minute. After starting the second loop process, the dialogue control unit 123 acquires a current chat string (step S16). More specifically, the dialogue control unit 123 acquires a current chat string within a certain period of time (for example, within five or ten minutes) from the chat information acquired in the process of step S12. This makes it possible to avoid acquiring a current chat string that is too old.

[0053] After acquiring the current chat string, the dialogue control unit 123 extracts independent words through morphological analysis (step S17). More specifically, the dialogue control unit 123 performs morphological analysis on the current chat string to extract second independent words from the current chat string. In this embodiment, as shown in FIG. 9, the dialogue control unit 123 extracts the independent words "CPU" and "cost" as second independent words from the current chat string sent by user 1A. In addition, the dialogue control unit 123 extracts the independent word "T-part" as a second string from the current chat string sent by user 1B.

[0054] Once the independent words are extracted, the dialogue control unit 123 generates a chat feature vector (step S18). More specifically, the dialogue control unit 123 counts the number of times the second independent words appear, and generates a chat feature vector including the second independent words and the number of times each of the second independent words appears. The dialogue control unit 123 may generate a chat feature vector sorted in descending order of frequency of appearance. By the processing of step S18, a chat feature vector Vc of the chat currently in progress between users 1A and 1B is generated, as shown in FIG. 9, for example.

[0055] Once the chat feature vector is generated, the feature distance calculation unit 124 calculates the feature distance (step S19). Specifically, as shown in FIG. 10, the feature distance calculation unit 124 calculates multiple feature distances between each of the user feature vectors C1,...,F3 acquired by the dialogue control unit 123 and the chat feature vector Vc. When calculating the feature distance, the feature distance calculation unit 124 may calculate the feature distance by limiting it to the top several tens of independent words (for example, about 30 words) included in the user feature vectors C1,...,F3. In other words, independent words with low appearance counts may be excluded from the calculation of the feature distance. This may reduce, for example, the processing load on the CPU 100A and the time required to calculate the feature distance.

[0056] After calculating the feature distance, the feature distance calculation unit 124 calculates the number of elapsed days (step S20). More specifically, the feature distance calculation unit 124 calculates the number of elapsed days as the number of elapsed days from the chat outgoing dates corresponding to each of the user feature vectors C1,...,F3 to the chat execution date corresponding to the chat feature vector Vc. For example, if the chat execution date "September 4, 2021" corresponds to the chat feature vector Vc and the chat outgoing date "September 3, 2021" corresponds to the user feature vector C3, the number of elapsed days is calculated to be "1 day."

[0057] After calculating the number of elapsed days, the organizational distance calculation unit 125 calculates the organizational distance (step S21). More specifically, as shown in FIG. 8, the organizational distance calculation unit 125 calculates the organizational distance between the chat participants and the non-chat participants corresponding to each of the user feature vectors C1,...,F3 based on the organizational information. For example, when calculating the organizational distance from user 1A with the username "User A" to a user (not shown) with the username "User D", the organizational distance calculation unit 125 calculates the number of departments that are passed from the former to the latter as the organizational distance. In this case, since the three departments, "S Department", "X Business Department", and "T Department", are passed from the former to the latter, the organizational distance calculation unit 125 calculates an organizational distance of "3". The case of user 1B with the username "User B", who is a chat participant, is similar to that of user 1A with the username "User A", and therefore will not be described again.

[0058] Note that when user 1A with the username "User A" and a user with the username "User F" who belongs to a different department from user 1A are chat participants, the organizational distance calculation unit 125 adopts the smallest distance as the organizational distance. For example, when calculating the organizational distance between user 1A with the username "User A" and a user with the username "User E" (not shown), the organizational distance calculation unit 125 calculates the organizational distance as "5." On the other hand, when calculating the organizational distance between a user with the username "User F" and a user with the username "User E," the organizational distance calculation unit 125 calculates the organizational distance as "3." In this case, the organizational distance calculation unit 125 adopts the organizational distance as "3" because it is assumed that the user with the username "User F" can obtain useful advice from the user with the username "User E," who is organizationally close to the user with the username "User F."

[0059] Furthermore, when calculating the organizational distance between a chat participant and a non-chat participant who belongs to the same department, the number of departments between the chat participant and the non-chat participant is one. In this case, in this embodiment, the organizational distance calculation unit 125 adopts an organizational distance of "0." For example, the number of departments between user 1A with the username "User A" and user 1C with the username "User C" is one, the department "S Department." In this case, the organizational distance calculation unit 125 adopts an organizational distance of "0." In weighting the feature distance, which will be described later, it is assumed that there is little need to assign a weight according to the organizational distance if the departments are the same. Therefore, the organizational distance calculation unit 125 adopts an organizational distance of "0." Note that even in such a case, the organizational distance calculation unit 125 may adopt an organizational distance of "1."

[0060] After calculating the organizational distance, the weighting unit 126 assigns a weight to the feature distance (step S22). More specifically, as shown in Fig. 11, the weighting unit 126 assigns both a weight according to the number of days elapsed and a weight according to the organizational distance to the feature distance to calculate the weighted feature distance. Here, the weighting unit 126 calculates the weighted feature distance using the following calculation formula. The weighting coefficient "0.01" assigned to the number of days elapsed and the weighting coefficient "0.1" assigned to the organizational distance may be changed as appropriate depending on the design, operation, etc. <Calculation formula> Weighted feature distance = feature distance ×{1+(number of days elapsed × 0.01)} ×{1+(tissue distance×0.1)}

[0061] As a result, for example, the weighted feature distance between user feature vector D3 and chat feature vector Vc is calculated as "0.39" by multiplying the feature distance "0.3" by the weight "1.01" corresponding to the number of days elapsed by the weight "1.3" corresponding to the organizational distance. The same applies to user feature vectors C1 and other vectors other than user feature vector D3, and therefore detailed explanations will be omitted.

[0062] After weighting the feature distances, the dialogue control unit 123 invites non-chat participants based on the weighted feature distances (step S23). More specifically, as shown in FIG. 12(a), the dialogue control unit 123 identifies weighted feature distances that are equal to or less than a predetermined threshold value from among the weighted feature distances. When a threshold value of "0.5" is used as the predetermined threshold value, the dialogue control unit 123 identifies a weighted feature distance of "0.39".

[0063] When the dialogue control unit 123 identifies a weighted feature distance that is equal to or less than the threshold, it generates invitation information to invite a non-chat participant corresponding to the identified weighted feature distance, and transmits the invitation information to the chat server 51. In this embodiment, the dialogue control unit 123 generates invitation information to invite a user with the username "User D," corresponding to the weighted feature distance of "0.39," as a non-chat participant, and transmits the invitation information to the chat server 51, as shown in FIG. 12(b). As a result, an invitation message inviting the user with the username "User D" appears on the chat screens of users 1A and 1B.

[0064] A user with the username "User D" chatted with User 1A and User 1B on a date close to the chat date, using the same terms as those used in the chat between User 1A and User 1B, and useful advice can be expected. Furthermore, a user with the username "User D" is closer to both User 1A and User 1B in terms of organizational distance than a user with the username "User F," and useful advice can therefore be expected. Therefore, inviting a user with the username "User D" will be beneficial for both User 1A and User 1B.

[0065] When non-chat participants have been invited, the dialogue control unit 123 ends the second loop process for the unit minute (step S24). This returns to the process of step S15, and the dialogue control unit 123 again repeats the processes from step S16 to step S23. As a result, every time a weighted feature distance equal to or less than the threshold is identified, the dialogue control unit 123 invites non-chat participants for each unit minute. When the second loop process ends, the dialogue control unit 123 ends the first loop process (step S25), and ends the dialogue control process.

[0066] Other embodiments will be described with reference to FIG. 13. In the above-described embodiment, a threshold value of "0.5" was used as the predetermined threshold value. However, the threshold value may be changed as appropriate. For example, as shown in FIG. 13(a), the threshold value may be set to "0.6." As a result, the dialogue control unit 123 identifies weighted feature distances of "0.39" and "0.52." The dialogue control unit 123 then generates invitation information inviting user 1D and a user with the username "User C" corresponding to the weighted feature distance of "0.52" as non-chat participants, and transmits the invitation information to the chat server 51. As a result, as shown in FIG. 13(b), a message appears on the chat screens of users 1A and 1B inviting a user with the username "User D" and a user with the username "User C." In this way, if there is a possibility that appropriate advice will not be obtained, the threshold value can be reset to broaden the range of users to be presented as invitation candidates.

[0067] Although the preferred embodiments of the present invention have been described in detail above, the present invention is not limited to the specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention as described in the claims.

[0068] For example, the dialogue control server 100 may be implemented as a physical server or a virtual server. The dialogue control server 100 may be located on a cloud (CL) or on-premise. [Explanation of symbols]

[0069] 11,12,13,···,18 User terminal 51 Chat Server 52 Organization Information Server 53 Mail Server 100 Dialogue Control Server 110 Storage section 111 Feature Memory Unit 120 Processing section 121 Information Acquisition Department 122 Feature Generation Unit 123 Dialogue control unit 124 Feature distance calculation unit 125 Tissue distance calculation section 126 Weighting section

Claims

1. Obtain old dialogue information including old dialogues that have already been dialogued, generating first feature information including a first independent word included in the first character string and the number of occurrences of the first independent word based on a morphological analysis of the first character string representing the old dialogue; Acquire current dialogue information including a current dialogue, which is a dialogue that is currently being dialogued; generating second feature information including a second independent word included in the second character string and the number of occurrences of the second independent word based on the morphological analysis of the second character string representing the current dialogue; calculating a feature distance representing a distance between the first feature information and the second feature information; assigning a predetermined weight to the feature distance according to a first temporal distance between the old dialogue and the current dialogue; inviting a dialogue participant of the previous dialogue for which the first feature information corresponding to a specific feature distance that is equal to or smaller than a threshold value among the weighted feature distances has been generated as a dialogue non-participant who is not participating in the current dialogue; An interactive control program that causes a computer to execute a process.

2. The process of acquiring the old dialogue information includes acquiring the old dialogue information daily for each of the dialogue participants, the process of generating the first characteristic information includes generating the first characteristic information in chronological order for each of the dialogue participants on a dialogue transmission date basis of the previous dialogue; the calculating process calculates the feature distance between each piece of the first feature information in time series and the second feature information; the assigning process assigns a weight corresponding to an elapsed time from the previous dialogue to the current dialogue as the predetermined weight to each of the feature distances.

2. The dialogue control program according to claim 1.

3. Obtain old dialogue information including old dialogues that have already been dialogued, generating first feature information including a first independent word included in the first character string and the number of occurrences of the first independent word based on a morphological analysis of the first character string representing the old dialogue; Acquire current dialogue information including a current dialogue, which is a dialogue that is currently being dialogued; generating second feature information including a second independent word included in the second character string and the number of occurrences of the second independent word based on the morphological analysis of the second character string representing the current dialogue; calculating a feature distance representing a distance between the first feature information and the second feature information; calculating a second distance representing an organizational distance between the dialogue participants of the old dialogue and the dialogue participants of the current dialogue based on organizational information of organizations to which the dialogue participants of the old dialogue and the dialogue participants of the current dialogue belong; assigning a predetermined weight to the feature distance according to the second distance; Inviting non-participants in the current dialogue based on a specific feature distance that is equal to or smaller than a threshold value among the weighted feature distances. An interactive control program that causes a computer to execute a process.

4. Obtain old dialogue information including old dialogues that have already been dialogued, generating first feature information including a first independent word included in the first character string and the number of occurrences of the first independent word based on a morphological analysis of the first character string representing the old dialogue; Acquire current dialogue information including a current dialogue, which is a dialogue that is currently being dialogued; generating second feature information including a second independent word included in the second character string and the number of occurrences of the second independent word based on the morphological analysis of the second character string representing the current dialogue; calculating a feature distance representing a distance between the first feature information and the second feature information; calculating a second distance representing an organizational distance between the dialogue participants of the old dialogue and the dialogue participants of the current dialogue based on organizational information of organizations to which the dialogue participants of the old dialogue and the dialogue participants of the current dialogue belong; assigning predetermined weights to the feature distances according to the first and second temporal distances between the old dialogue and the current dialogue; inviting a dialogue participant of the previous dialogue for which the first feature information corresponding to a specific feature distance that is equal to or smaller than a threshold value among the weighted feature distances has been generated as a dialogue non-participant who is not participating in the current dialogue; An interactive control program that causes a computer to execute a process.

5. Including a process for obtaining email information including past emails, The process of generating the first characteristic information generates the first characteristic information based on the morphological analysis of a third character string representing a mail body included in the mail information, the first characteristic information including a third independent word included in the third character string and the number of occurrences of the third independent word, together with the first independent word and the number of occurrences of the first independent word.

5. The dialogue control program according to claim 1, wherein the dialogue control program is a program for executing a dialogue control process.

6. The threshold value is configurable.

6. The dialogue control program according to claim 1, wherein the dialogue control program is a program for executing a dialogue control process.

7. Obtain old dialogue information including old dialogues that have already been dialogued, generating first feature information including a first independent word included in the first character string and the number of occurrences of the first independent word based on a morphological analysis of the first character string representing the old dialogue; Acquire current dialogue information including a current dialogue, which is a dialogue that is currently being dialogued; generating second feature information including a second independent word included in the second character string and the number of occurrences of the second independent word based on the morphological analysis of the second character string representing the current dialogue; calculating a feature distance representing a distance between the first feature information and the second feature information; assigning a predetermined weight to the feature distance according to a first temporal distance between the old dialogue and the current dialogue; inviting a dialogue participant of the previous dialogue for which the first feature information corresponding to a specific feature distance that is equal to or smaller than a threshold value among the weighted feature distances has been generated as a dialogue non-participant who is not participating in the current dialogue; An interactive control method in which processing is executed by a computer.

8. An acquisition means for acquiring old dialogue information including an old dialogue that has already been dialogued; a generating means for generating first feature information including a first independent word included in the first character string and the number of occurrences of the first independent word based on a morphological analysis of the first character string representing the old dialogue; a control means for acquiring current dialogue information including a current dialogue that is a dialogue in progress, and generating second feature information including a second independent word included in the second character string and the number of occurrences of the second independent word based on the morphological analysis of the second character string representing the current dialogue; a calculation means for calculating a feature distance representing a distance between the first feature information and the second feature information; and assigning means for assigning a predetermined weight to the feature distance according to a first temporal distance between the old dialogue and the current dialogue, the control means invites a dialogue participant of the previous dialogue for which the first feature information corresponding to a specific feature distance that is equal to or smaller than a threshold value among the weighted feature distances has been generated, as a dialogue non-participant not participating in the current dialogue. A dialogue control device characterized by:

Citation Information

Patent Citations

  • Server device, program, and communication system

    JP2013161328A

  • Group extraction device, group extraction method, and program

    JP2014106943A

  • User dialogue assisting system, user dialogue assisting method, and program

    JP2019008577A

  • Information exchange system, server, and information exchange method

    JP2021184194A