WO2013136477A1 - 関係者抽出方法、装置、及びプログラム - Google Patents
関係者抽出方法、装置、及びプログラム Download PDFInfo
- Publication number
- WO2013136477A1 WO2013136477A1 PCT/JP2012/056616 JP2012056616W WO2013136477A1 WO 2013136477 A1 WO2013136477 A1 WO 2013136477A1 JP 2012056616 W JP2012056616 W JP 2012056616W WO 2013136477 A1 WO2013136477 A1 WO 2013136477A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- sequence map
- file sequence
- keyword
- index
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
Definitions
- the present invention relates to a technique for extracting parties related to a keyword using a communication log and a file.
- Patent Document 1 discloses a technique for extracting a community, which is a set of people having a high density of relationships based on common topics and interests, from a set of data representing relationships between people and the contents of the relationships.
- Patent Document 2 discloses a technique for extracting a person who works together with a skill name as an input in consideration of human relations.
- Patent Document 1 is a technology for extracting communities based on human relationships. Therefore, it does not consider whether there is a relationship related to a certain matter with respect to an individual person, and does not intend to extract related parties related to the keyword.
- Patent Document 2 is a technique for extracting a person based on a skill name set in advance, a person who is not specified by a skill name or a person who is given a different skill name due to a shake of a word cannot be extracted.
- An object of the present invention is to provide a method, an apparatus, and a program for extracting related parties that do not depend on fluctuation or change of a keyword from keywords related to a certain matter in consideration of the above-described problem.
- a related party extraction method by a processing unit that extracts a related party related to a keyword using a keyword as an input, and the processing unit uses a file sequence map from the input keyword. Is generated, a relationship index for each individual is generated from the file sequence map and communication related to the file sequence map, and a related party extraction method for extracting related parties based on the generated relationship index is provided.
- a processing unit connectable to the storage unit, the processing unit generates a file sequence map from the input keyword, and the file sequence map and communication related to the file sequence map
- an apparatus configured to generate a relationship index for each individual from a log and extract related persons based on the generated relationship index.
- a program for extracting interested parties executed by a processing unit that extracts a related party related to the keyword using a keyword as an input, Generate a file sequence map from the input keywords, generate a relationship index for each individual from the file sequence map and communication related to the file sequence map, and operate to extract related parties based on the generated relationship index
- a processing unit that extracts a related party related to the keyword using a keyword as an input, Generate a file sequence map from the input keywords, generate a relationship index for each individual from the file sequence map and communication related to the file sequence map, and operate to extract related parties based on the generated relationship index
- the parties related to the event can be more accurately identified. Can be extracted.
- FIG. 1 It is a figure which shows the example of 1 structure of the participant extraction apparatus of a 1st Example. It is a block diagram explaining the party extraction process of a 1st Example. It is the figure which showed the outline
- a file sequence map is a file editing history, that is, a history of file operations mapped to a date and classification by an operator, and a relationship index is an operator for each file sequence map. Means an indicator of the strength of relationships between individuals based on common topics and interests. Further, the cumulative relation index means the statistical quantity of the relation index between individuals for a plurality of file sequence maps. Further, in this specification, the log means both a log of an operation performed by an operator on a computer and a log of communication by e-mail, SIP (Session Initiation Protocol), IM (Instant Messaging), or the like.
- SIP Session Initiation Protocol
- IM Intelligent Messaging
- a file related to an input keyword is extracted, a file sequence map expressing the creation and editing relationship of the file is generated, and a person who operates a file included in the generated file sequence map is extracted. Then, a relationship index is calculated for each individual using the content of the communication before and after the extracted person operated the file and the amount of change with respect to the normal communication volume, and the cumulative relationship index for the keyword is calculated using the relationship index. And a related party extraction method and apparatus for extracting a human part having a cumulative relationship index greater than or equal to a certain level as a related party.
- FIG. 1 is a diagram illustrating a configuration example of an extraction apparatus that implements the related party extraction method according to the first embodiment.
- the computer 101, the communication server 121, and the related person extraction server 141 are connected by a network 100.
- the network 100 is a LAN (Local Area Network), an Internet line, or the like.
- the computer 101 is, for example, a PC (Personal Computer) used for business or various work.
- FIG. 1 illustrates one computer 101, a plurality of computers may be connected to the network 100.
- the computer 101 includes a CPU (Central Processing Unit) 102, a memory 103, an output device 104, an input device 105, an external storage device 106, and a network interface 107, which are processing units connected to each other via a bus.
- CPU Central Processing Unit
- the CPU 102 is an arithmetic processing unit that executes various processes by processing a program stored in the memory 103.
- the external storage device 106 is a storage unit that stores data used by a program main body stored in the memory 103 or a program stored in the memory 103.
- the memory 103 is a storage unit that stores a program processed by the CPU 102 and data used. Programs and data that are not processed by the CPU 102 are stored in the external storage device 106.
- the memory 103 stores various programs for realizing the functions of the operation recording unit 201 and the operation log transmission unit 202.
- the external storage device 105 stores an individual operation log table 203.
- the output device 104 is a display device such as a display.
- the output device 104 displays or presents the parties extracted by the method described below and the parameter management interface (see FIG. 16) used for extraction.
- the input device 105 is an input unit such as a keyboard or a mouse. Using this input device 105, the user inputs an operation for managing keywords related to a certain matter and parameters used for extracting related parties.
- the network interface 107 is an interface unit for connecting and communicating with the communication server 121, the related party extraction server 141, and other external computers.
- the communication server 121 has a normal computer configuration including a CPU 122, a memory 123, an external storage device 124, and a network interface 125 that are connected to each other via a bus.
- the CPU 122, memory 123, external storage device 124, and network interface 125 are the same as the CPU 102, memory 103, external storage device 106, and network interface 107 of the computer 101, respectively.
- the communication server 121 is one of a mail server, a SIP server, an IM server, or the like, or a server having a plurality of functions or capable of recording communication logs thereof.
- the memory 123 stores programs that realize the functions of the communication recording unit 204 and the communication log transmission unit 205.
- the external storage device 124 stores a communication server log table 206.
- the related party extraction server 141 has a normal computer configuration including a CPU 142, a memory 143, an external storage device 144, and a network interface 145 connected to each other by a bus.
- the CPU 142, memory 143, external storage device 144, and network interface 145 are the same as the CPU 102, memory 103, external storage device 106, and network interface 107 of the computer 101, respectively.
- the memory 143 of the related party extraction server 141 includes an operation log receiving unit 207, a communication log receiving unit 208, a GUI (Graphical User Interface) generating unit 209 that functions as a user interface unit, a file sequence map generating unit 210, and a cumulative relationship index generating unit.
- Various programs for realizing the functions 211 are stored.
- the external storage device 144 stores an operation log table 212 and a communication log table 213.
- the function of the GUI generation unit 209 is not limited to the related party extraction server 141, such as other servers directly connected to the network 100 or the related party extraction server. It can also be realized by a computer.
- FIG. 2 is a block diagram for explaining a related party extraction method in the extraction apparatus of the first embodiment. The overall flow of the related party extraction method of this embodiment will be described with reference to FIG.
- the operation recording unit 201 of the computer 101 records the operation performed by the user on the computer 101 in the individual operation log table 203.
- the operation recording unit 201 may be realized by any method as long as the user's operation on the computer 101 can be recorded.
- the individual operation log table 203 holds a user operation log acquired by the operation recording unit 201. The format of the individual operation log table will be described later with reference to FIG.
- the operation log transmission unit 202 transmits the record recorded in the individual operation log table 203 to the related person extraction server 141.
- the transmission may be sequential transmission or transmission at regular intervals.
- the transmitted operation log is recorded in the operation log table 212 by the operation log receiving unit 207.
- a communication log by mail, SIP, IM or the like is recorded by the communication recording unit 204.
- the recorded communication log is held by the communication server log table 206.
- the communication log transmission unit 205 transmits the held communication log to the related person extraction server 141.
- the transmitted log is received by the communication log receiving unit 208 and held in the communication log table 213.
- the GUI generation unit 209 of the related party extraction server 141 includes a user input unit 222 and a result output unit 223.
- the user input unit 222 has a function of accepting reference information such as keyword input from the user and various parameter input for related party extraction
- the result output unit 223 is a related party extracted for the input keyword. Is provided to the user.
- These functions can be preferably realized by a function of generating display data for using a display screen such as a display that can be viewed by the user as an input / output unit. Therefore, in this specification, the GUI generation unit means at least a program function for generating the display data, and further includes a display device for projecting a display screen using the display data. There is a case. In the latter case, the GUI generation unit includes a display device.
- the input by the user input unit 222 or the presentation by the result output unit 223 may be performed by a display device on a related party extraction server, or may be performed on a display on another computer via the network 100. It may be done. In the latter case, as described above, the input device 104 and the output device 104 of the computer 101 in FIG. 1 can be used.
- the file sequence map generation unit 210 includes a file search unit 215 and a sequence construction unit 216. After receiving a keyword input from the user in the user input unit 212, the file search unit 215 searches for a file including the keyword.
- the function of the file search unit 215 is realized by a conventional full-text search, associative search, or the like.
- the search target file includes a file stored in the external storage device 144, a file server connected through the network 100, and a file stored in another computer.
- the sequence construction unit 216 creates a file sequence map based on the file searched by the file search unit 215 and the user operation log recorded in the operation log table 212.
- the file sequence map will be described later with an example shown in FIG.
- the cumulative relational index generation unit 211 includes a relational index generation part 220 and a relational index integration part 221.
- the relationship index generation unit 220 generates a relationship index for each individual based on the file sequence map generated by the sequence construction unit 216 and the records in the communication log table 213.
- the relationship index integration unit 221 calculates a cumulative relationship index based on the relationship index generated by the relationship index generation unit 220.
- FIG. 3 shows an example of the flow of the related party extraction described above.
- FIG. 4 is a flowchart showing an example of a related party extraction flow.
- a file search is performed using search keywords 301, 303, and 305. This corresponds to step 401 in FIG. 302 and 303 are unique expressions that specify search conditions when a plurality of keywords are input, and other expression formats may be used.
- Files searched based on the input keywords are search result files 306, 307, and 308. This corresponds to step 402.
- a file sequence map is generated from the searched file. This corresponds to step 403 in FIG.
- Reference numeral 309 denotes a file sequence map generated from the search result file 306, and 310 denotes a file sequence map generated from the search result files 307 and 308.
- the human networks 311 and 312 are generated and the relationship index is calculated.
- the human network 311 is generated from the file sequence map 309 and the human network 312 is generated from the file sequence map 310. This corresponds to step 404 in FIG. Nodes indicated by black circles in the human networks 311 and 312 indicate people, and the numbers in the vicinity of the black circles indicate a relationship index for each individual.
- the cumulative relationship index is calculated using the human networks 311 and 312 corresponding to the generated file sequence maps 309 and 310. This corresponds to step 405 in FIG.
- the integrated network 313 is obtained by integrating the human networks 311 and 312, and the numbers in the vicinity of the nodes are cumulative relationship indexes obtained by summing up the relationship indexes.
- individuals whose cumulative relationship index is equal to or greater than the cumulative relationship threshold are output as related parties. The above is the flow of the related party extraction process starting from the search by keyword.
- FIG. 5 shows an example of the operation log table 212 used for creating the file sequence maps 309 and 310 described above.
- Each record in the table represents a single operation performed by one user.
- the operation log table 212 is an aggregation of the individual operation log tables 203 from a plurality of computers. Therefore, the structure of the individual operation log table 203 is the same as that of the operation log table 212.
- an OID (Operation IDentifier) 501 is an identifier for uniquely identifying a record in the operation log table 212, and any expression may be used as long as it can be uniquely identified.
- the user 502 is an ID for identifying the user who performed the operation indicated by each record, and may be in any expression format as long as the user can be uniquely identified.
- the operation date and time 503 indicates the date and time when the operation was performed, and other representation formats may be used as long as the date and time can be identified.
- An operation content 504 indicates the content of the operation, and is a character string or a symbol indicating an operation such as file creation, update, or copy.
- the target file 505 and the post-operation file 506 hold the file name that is the target of the operation, and the file name after the operation when there is a possibility that the file name will change due to the operation. The case where there is a possibility that the file name may change is when the file is copied or the file name is changed. When the file name does not change, the post-operation file 506 becomes “ ⁇ ”.
- the target file 505 and the post-operation file 506 can be expressed in any form as long as the above-described expression is possible and the file can be uniquely identified.
- FIG. 6 is an example of a file sequence map generation flow performed by the file sequence map generation unit 210 of the related party extraction server 141.
- step 602 the processing from step 603 to step 606 is performed for each file searched in step 402. This process is performed by the sequence construction unit 216.
- step 603 it is determined whether or not the current target file is included in the already created file sequence map. If it is included in the already created file sequence map, the processing in step 603 is performed for the next file. If it is not included, the processes of step 604 and step 605 are performed in order.
- step 604 and step 605 are performed in order.
- step 604 related files are extracted using the operation log according to the related file extraction flow described in FIG. Then, a file sequence map is constructed in step 605 using the file extracted in step 604.
- the importance of the file sequence map is calculated in step 606.
- the importance of the file sequence map is the average value of the relevance of the file searched in step 402 included in the file sequence map.
- the degree of association is the degree of association between a keyword and a file used in the search in step 402.
- PageRank S. Brin and L. Page. The anatomy of a large-scale hypertextual Web search engine. Computer networks and ISDN systems, sVol. 30, No. 1-7, pp. 107 -117, 1998.
- TF / IDF see K. S. Jones. A Statistical Interpretation of Term Specificity and its Application in Retrieval. Journal of Documentation, Vol. 28, pp. 11-21, 1972.
- the known technique is used.
- the importance of the file sequence map 310 in FIG. 3 is an average value of the relevance of the search result files 307 and 308.
- the importance level may be calculated using the median value or the total sum of the relevance levels.
- FIG. 7 is an example of a processing flow of related file extraction performed in step 604.
- step 701 a record in which the file name of the file selected in step 602 matches the value of the target file 505 or the post-operation file 506 is searched from the operation log table 212, and the matching record is extracted.
- step 702 the values of the OID 501, the target file 505, and the post-operation file name 506 described in the extracted record are recorded.
- step 703 it is determined whether there is a file name recorded in step 702 that has not yet been used for search. “Not used for search” means whether it was used for search in step 701 or step 705. If there is a file name that is not used in the search, the processing of steps 704 and 705 is performed.
- step 704 one file recorded in 702 and not used in the search is selected.
- a selection method a recorded order or random method is used.
- step 705 as in step 701, a record in which the value of the target file 505 or the post-operation file 506 matches the selected file name is searched from the operation log table 212 and extracted. Then, the process of step 702 is performed.
- FIG. 8 shows an example of the processing flow of step 605.
- step 801 a corresponding file node is created for each recorded OID 501.
- the recorded OID 501 indicates the OID 501 recorded in step 702.
- a file node refers to a node in the file sequence map.
- step 802 steps 803 to 808 are repeated for each record in the operation log table 212 indicated by the recorded OID 501.
- step 803 it is determined whether the post-operation file 506 of the current target record matches “ ⁇ ”. If they match, step 804 to step 806 are performed, and if they do not match, step 807 to step 808 are performed. Execute.
- step 804 the value of the post-operation file 506 of the record currently being repeated is set as the starting file name.
- step 805 the OID 501 of the record whose value of the target file 505 matches the starting file name, the operation date / time 503 is newer than the record to be repeated, and the difference between the operation date / time 503 is equal to or smaller than the date / time threshold is acquired.
- the date and time threshold value is input by the user through the GUI shown in FIG. The GUI shown in FIG. 16 will be described in detail later.
- step 806 the file node corresponding to the OID 501 acquired in step 805 and the file node corresponding to the OID 501 of the record currently being repeated are connected by a link.
- step 807 the OID 501 of the record that is older than the operation date / time 503 of the record currently being repeated, the difference between the operation date / time 503 is equal to or smaller than the date / time threshold, and the value of the target file 505 matches is acquired.
- step 808 it is determined whether or not the OID 501 that satisfies the condition in step 807 has been acquired. If it has been acquired, step 806 is executed.
- step 810 an individual file sequence map is set for each set of file nodes that can be reached by all file node pairs following the link.
- the above is the process for generating the file sequence map in this embodiment.
- it is possible to create a file sequence map expressing file editing and updating based on the input keyword and operation log.
- 9A and 9B show an example of a file sequence map generated by the extraction device of this embodiment.
- 9A and 9B are file sequence maps 901 and 921 divided in step 810, respectively.
- File nodes 909, 910, 911, 912, 913, 925, and 926 correspond to the respective records of the operation log table 212.
- the file node 909 corresponds to a record whose OID 501 is “1” in the operation log table 212 of FIG.
- the value of the target file 505 and the operation content 504 are displayed.
- each file node is arranged on a table that is divided by a person who has changed the time in the horizontal direction and operated in the vertical direction.
- Date and time labels 902, 903, 904, 905, 922, and 923 indicate the date and time when the operation corresponding to the file node was performed.
- Person name labels 906, 907, 908, and 924 are displayed with “san” added to the user 502 in the operation log table 212.
- Each date and time label and each user label may be expressed in different ways as long as the user can express the date and time of operation.
- the file sequence maps 901 and 921 may be other than the tabular format as long as the time change of the file by the operation and the change of the user can be expressed.
- Each file node is connected by links 914, 915, 916, 917, and 927. These links are generated at step 806.
- FIG. 10 shows an example of the communication log table 213 used for calculating the cumulative relation index.
- the communication log table 213 is a collection of records in the communication server log table 206 of the communication server 121. Therefore, the structure of the communication server log table 206 is the same as that of the communication log table 213.
- a TID (Transmission IDentifier) 1001 is a number for uniquely identifying each record in the communication log table 213.
- the calling user 1002 and the receiving user 1003 are a transmission user and a receiving user of communication represented by each record, respectively.
- the communication date and time 1004 indicates the time when communication was performed or started.
- the communication type 1005 indicates what kind of communication has been performed, and is, for example, IM or SIP telephone or email. Here, only in the case of E-mail, it is expressed in any one of To, Cc, and BCC.
- the communication content 1006 indicates the content of communication, and is a message sent in the case of mail or a message sent in the case of IM.
- the content 1006 is “ ⁇ ”, it indicates that the content does not exist or cannot be recorded.
- the transmission type 1005 is SIP
- the content 1006 is “ ⁇ ”.
- the content 1006 may be included in the content by converting the content into a text by voice recognition or storing a recorded file.
- Other 1007 is information accompanying communication, and stores unique information for each transmission type. For example, when the transmission type 1005 is SIP, the communication period is stored as the communication time.
- FIG. 11 shows an example of the relationship index generation flow performed by the relationship index generation unit 220 of the cumulative relationship index generation unit 211 shown in FIG. 2, and corresponds to step 404 in FIG.
- the processing flow shown in FIG. 11 is executed for each of a plurality of created file sequence maps.
- step 1101 the OID 501 corresponding to the file node in the file sequence map is extracted, and the user 502 is extracted from the record of the operation log table corresponding to the extracted OID 501. For example, “A”, “B”, and “C” are extracted from the file sequence map 901.
- a node corresponding to each extracted user is created, and a link is created between the nodes, thereby creating the human networks 311 and 312 shown in FIG.
- the importance of the current file sequence map is set as the relation index of each node.
- step 1105 is repeated for each node created in step 1102.
- node addition, link addition, and relation index setting are performed using the records of the communication log table 213.
- FIG. 12 shows a processing flow of node addition, link addition, and relation index setting performed in step 1105.
- step 1201 a file node operated by the user corresponding to the current target node is acquired.
- steps 1203 to 1209 are repeated for each acquired file node.
- step 1203 a communication log table 213 in which the user corresponding to the target file node is included in the originating user 1002 or the receiving user 1003 and the communication date 1004 is within a certain period before and after the operation date 503 of the target file node.
- the calling user 1002 and the receiving user 1003 are extracted from these records and set as the relation index addition target users.
- Step 1204 Step 1205 to Step 1209 are repeated for each user to which the relational index is added.
- step 1205 an additional relation index is calculated using the method described later with reference to FIG.
- step 1206 it is determined whether or not the calculated additional relation index is 0. If it is not 0, the process proceeds to step 1207. If it is 0, the process returns to step 1204 to perform processing for the next relation index addition target user. .
- step 1207 it is determined whether or not the node of the relation index addition target user exists in the current human network. If not, in step 1208, a node corresponding to the relation index addition target user is added and the relationship of the node is determined. Set the exponent to zero. In step 1209, the additional relation index calculated in step 1205 is added to the relation index of the node corresponding to the relation index addition target user.
- FIG. 13 is an example of a detailed processing flow of additional relation index calculation performed in step 1205 described above.
- the communication performed to the relation index addition target user during the communication extraction period is acquired from the communication log table.
- the communication extraction period is a constant that determines the range of communication used for calculating the additional relation index, for example, one month before and after.
- step 1302 it is determined whether or not there is a record whose content 1006 is not “ ⁇ ” in the acquired record. If such a record exists, the average similarity is calculated in step 1303, and if not, the average similarity is set to 0 in step 1304.
- step 1303 the similarity value with the file indicated by the file node which is the current object is calculated for the record whose content 1006 is not “ ⁇ ” among the records acquired in 1301, and the average of these is calculated as the average similarity degree.
- the method for calculating the similarity to the file is determined according to the communication contents and the file contents. For example, in the case of an e-mail and a text file, the similarity is calculated by a known method such as a ratio including similar keywords. In the case of a SIP and an audio file, the audio similarity is calculated. Furthermore, other methods may be used as long as the similarity between the communication and the file can be calculated.
- step 1305 to step 1309 a frequency index indicating the communication frequency is calculated.
- step 1305 the moving average of the number of communications performed from the relation index addition target user or to the relation index addition target user before the earliest date of the record acquired in step 1301 is calculated for each communication partner. Calculate with weights.
- the communication performed from the relation index addition target user or to the relation index addition target user is communication in which the relation index addition target user is included in the originating user 1002 or the receiving user 1003.
- the weight of the communication type 1005 is set to 1 for To and 0.8 for Cc.
- the numerical value of the weight is set in advance or is set from the GUI shown in FIG.
- step 1306 the total number of records acquired in step 1301 is calculated with the weight of the transmission type 1005 in the same manner as in step 1305, and is used as the total number of communications.
- step 1307 if the total number of communications is larger than the product of the moving average and the frequency threshold (moving average ⁇ frequency threshold), step 1308 is executed; otherwise, step 1309 is executed.
- step 1308 a value obtained by dividing the total number of communications by the moving average (communication total number / moving average) is set as a frequency index, and in step 1309, the frequency index is set to zero.
- an additional relation index (importance ⁇ (frequency index + average similarity)) is calculated using the frequency index, the average similarity, and the importance.
- the personal relationship index is calculated for each individual file sequence map by the above processing. As a result, it is possible to extract only the file related to the keyword input by the user and the communication that may be attributed to the file, and calculate the personal relationship index. In step 1305, the moving average is calculated as a statistic, but another statistic may be used.
- FIG. 14 shows an example of a processing flow for calculating the cumulative relation index from the relation indices calculated up to FIG.
- the integrated human network used for calculating the cumulative relationship index is referred to as an integrated network.
- step 1401 the processes in and after step 1402 are repeated for each generated human network.
- step 1402 the processing from step 1403 to step 1405 is repeated for each node in the human network.
- step 1403 it is determined whether or not a node indicating the same user as the user indicated by the node that is the current repetition target exists on the integrated network. If there is not, step 1404 is executed. In step 1404, a node indicating the same user as the user indicated by the current node to be repeated is added to the integrated network, and the relationship index of the added node is set to zero. In step 1405, the relation index of the node currently being repeated is added to the relation index of the node on the integrated network indicating the same user as the user indicated by the node.
- step 1406 an integrated network link is created.
- step 1406 for a node pair on the integrated network, a link is created on the integrated network if the node pair is connected by a link on any human network.
- the relationship index possessed by the nodes on the integrated network is set as the individual cumulative relationship index. Note that the cumulative relationship index may be calculated using the characteristics of the network, such as deleting nodes whose cumulative relationship index is less than or equal to the threshold value, and deleting nodes that do not have links as a result. This completes the description of how to calculate the cumulative relationship index.
- FIG. 15A and FIG. 15B describe an example of calculation of a relation index using a mail log in this embodiment.
- FIG. 15A shows the transmission / reception of an email in which only “Mr. C” is extracted from the file sequence map shown in FIG. 9A and “Mr. C” is a sender or a recipient.
- Date and time labels 1501 to 1505 indicate the dates on which the illustrated file operations and emails were sent and received
- personal name labels 1506 to 1509 indicate the users who performed those operations.
- E-mails 1513 to 1517 represent e-mail transmission / reception records. For example, the e-mail 1513 is sent from “C” to “F” by E-mail To from 10:00 to 11:00 on November 20, 2011. It shows that.
- the importance 1518 is the importance of the file sequence map calculated in step 606.
- a frequency threshold 1519 is a frequency threshold used in steps 1307 and 1308, a communication extraction period 1520 is a communication extraction period used in step 1301, and a weight 1521 is a weight for a communication type used in steps 1305 and 1306.
- the moving average 1522 is a moving average of the number of weighted communications before November 20, 2011, which is calculated by the processing in step 1305, and the average similarity 1523 is the average similarity calculated in step 1303. To do.
- step 1305 calculates the relationship index for “Mr. D”. Since “Mr. D” is communicating with “Mr. C” in E-mail 1515 using To, the total number of communications in step 1305 is 1.0. Since the product of the moving average and the frequency threshold is 0.6 and the total number of communications is larger, the frequency index is calculated as 2.5 in step 1308. In step 1310, the relationship index is set to 6.75 using the importance 1518 and the average similarity 1523.
- “Mr. E” uses E-mail 1516 in Bcc, so the total number of communications is 0.2
- Mr. F has E-mails 1513, 1514, and 1517 as To, respectively, so the total number of communications is 3.0. It becomes.
- “Mr. E” and “Mr. F” have a product of a moving average and a frequency threshold of 0.3 and 6.0, respectively, so both are larger than the total number of communications.
- the frequency index is set to 0 in step 1308, and the relationship index is calculated as 1.8 and 0.75 using only the importance 1518 and the average similarity 1523, respectively.
- 15A and 15B show an example of calculating the relation index by e-mail, but IM, SIP, and other communications are similarly processed by setting weights. Further, after the above processing is performed for each file sequence map, the cumulative relation index is calculated by the processing of FIG.
- FIG. 16 shows an example of a GUI which is a user interface unit for input / output and management in the cumulative relation index calculation method in the present embodiment described above.
- Input and setting of reference information such as keywords and parameters for extracting related parties and output of results are performed by a screen showing a file sequence map list, a related party list and an integrated network as shown in FIG. 16 generated by the GUI generation unit 209. .
- the window 1601 includes an input unit 1602 generated by the user input unit 222 and an output unit 1621 generated by the result output unit 223.
- the input unit 1602 inputs various reference information for calculating a cumulative relation index, a keyword input field 1603, a communication extraction period input field 1604, 1605, a cumulative relation index threshold value input field 1606, a frequency threshold value input field 1607, To It includes a weight input field 1608, a Cc weight input field 1609, a Bcc weight input field 1610, a SIP weight input field 1611, an IM weight input field 1612, and a date / time threshold value input field 1613. Information is entered.
- the keyword input field 1603 is a field where the user inputs a keyword in step 401.
- the communication extraction period input fields 1604 and 1605 are fields for inputting the communication extraction period used in step 1301, and the start and end widths of the period are input to 1604 and 1605, respectively.
- the cumulative relationship index threshold value input field 1606 is a field into which the cumulative relationship threshold value used in step 406 is input.
- the To weight input field 1608, the Cc weight input field 1609, the Bcc weight input field 1610, the SIP weight input field 1611, and the IM weight input field 1612 are fields in which the weights for each type of communication are input. E-mail Cc, E-mail Bcc, SIP, and IM weights are input.
- a date / time threshold used in steps 804 and 807 is input to the date / time threshold input field 1613.
- the input unit 1602 may have a configuration other than the keyboard and handwriting input configuration shown in FIG. 16, for example, a pull-down menu or pop-up menu type input unit configuration.
- the output unit 1621 is generated by the result output unit 223, and includes a related party output unit 1622, an integrated network display unit 1623, a file sequence map list display unit 1624, and a file sequence map display unit 1625.
- the related person output unit 1622 displays the user output in step 406.
- the integrated network display unit 1623 displays the integrated network generated in FIG.
- the file sequence map list display unit 1624 displays the importance of the file sequence map generated in step 403.
- the file sequence map display unit 1625 displays the file sequence map selected by the file sequence map list display unit 1624.
- the communication log and the operation log are used to determine the parties related to the matter without depending on the shake or leakage of the keyword. It becomes possible to extract.
- the extracted related party groups are ranked by the cumulative relationship index, it is possible to limit the targets of subsequent hearings and information collection.
- the communication extraction period used for extraction, the threshold value used in each process, and the weight of the communication type must be determined in advance or set by the user.
- the reference information for calculating the cumulative relation index is set using the reference information when generating the past cumulative relation index.
- FIG. 17 is a diagram showing a configuration example of the second embodiment. In the following description, the same components as those in FIG.
- the second embodiment includes a parameter learning unit 1701 and a correct answer data table 1702 in addition to the components of the first embodiment of FIG.
- the correct answer data table 1702 stores keywords input in the past and correct answer data for the keywords.
- the parameter learning unit 1701 uses the data stored in the correct answer data table 1702 to set parameters that are optimal for related party extraction.
- FIG. 18 is a software block diagram for explaining related party extraction and parameter learning for extraction in the second embodiment. With reference to FIG. 18, the overall flow of the party learning and parameter learning method for extraction according to the present embodiment will be described. In the following description, the same components as those in FIG.
- the parameter learning unit 1701 calculates parameters necessary for the subsequent processing.
- the parameter is calculated by extracting the parties based on the keywords actually used in the past.
- the parameter calculation process will be described with reference to FIG. It should be noted that the parameter calculation may be performed at other timings, such as when the batch calculation is performed at a specific date and time or when the number of records in the correct data table 1702 is increased by a certain number.
- FIG. 19 shows a configuration example of the correct answer data table 1702 used for parameter calculation.
- Each record stores the date on which the related party extraction shown in the first embodiment was performed, the input at that time, and correct answer data.
- a CID (Case IDentifier) 1901 is an identifier for uniquely identifying each record, and may be in another expression format as long as it can be uniquely identified.
- the implementation date 1902 indicates the date on which the related party extraction indicated by each record was implemented.
- the input keyword 1903 is a keyword input in the related party extraction of each record, and the correct answer data 1904 is a related party list to be extracted at that time.
- the correct answer data 1904 may be set manually, or the finally referred individual may be extracted from the operation log or communication log.
- FIG. 20 shows an example of a parameter calculation flow.
- all parameters are set to initial values.
- all parameters are a communication extraction period, a cumulative relationship index threshold, a frequency threshold, a date / time threshold, a To weight, a Cc weight, a Bcc weight, a SIP weight, and an IM weight.
- the initial value is a value that is set in accordance with learning, and is 0, for example.
- step 2003 and step 2004 are repeated for each record in the correct data table. Note that it is not necessary to target all the records in the correct data table, and a certain number of the latest records may be targeted, or records with similar input keywords may be targeted.
- related parties for the input keyword 1902 in the record are extracted using the current parameters.
- step 2004, the number of matches between the extracted parties and the parties in the correct answer data is calculated. As the number of matches, the number, ratio, or the like of the parties in the correct answer data 1904 that have been extracted is used.
- step 2005 if all the numbers of matches calculated in step 2004 are equal to or greater than the match threshold value, step 2006 is executed, otherwise step 2007 is executed. It should be noted that step 2005 is a condition that makes it easier to execute step 2006 as the number of matches increases, for example, the product of the number of matches is equal to or greater than the match threshold, or the average number of matches is equal to or greater than the match threshold. Conditions may be used.
- step 2006 the related party extraction described in the first embodiment is performed using the current parameters.
- step 2007, the number of times that the repetitive processing in step 2002 has been executed is counted, and if the number is larger than the repetitive threshold, step 2008 is executed, and otherwise, 2009 is executed.
- step 2008 since it is difficult to find a parameter that satisfies the condition, the related party extraction described in the first embodiment is performed using the parameter having the largest number of matches so far.
- another index such as a product or average of the numbers of matches may be used as in step 2005.
- step 2009 the parameter is changed to a value that has not been tried so far, and the processes in and after step 2002 are performed again.
- an existing machine learning method such as a genetic algorithm or annealing method is used.
- the optimum parameters are automatically set by learning, and it becomes possible to improve the accuracy of the related party extraction.
- the related party extraction is performed using only the keyword input by the user.
- the third embodiment is an embodiment in which keywords are complemented using keywords included in a file extracted in creating a file sequence map. That is, a word is extracted from a file included in the file sequence map, a keyword search is performed using the word, and another file sequence map based on the search result is generated.
- FIG. 21 is a block diagram for explaining a related party extraction and keyword expansion method for extraction in the third embodiment.
- the same components as those in FIG. 21 are identical to FIG. 21.
- the keyword detection unit 2101 extracts words that can be keywords from all the extracted files after the file search unit 215 performs the related file extraction process in FIG. 7, that is, after the process of step 604. Then, a search is performed using the newly extracted keyword. File search and keyword extraction are performed until no new keywords are extracted. After no new keywords are extracted, the process of step 605 is performed.
- FIG. 22 is an example of the processing flow of the above-described file search and keyword extraction processing.
- keywords are extracted from the file extracted in step 604. Existing methods such as specific expression extraction are used for keyword extraction.
- step 2202 step 2203 to step 2205 are repeated for unsearched keywords.
- An unsearched keyword refers to a keyword that has not been searched in step 2203 among the keywords extracted in steps 2201 and 2205.
- step 2203 a file search is performed using the selected keyword, and in step 2204, a related file is extracted.
- the file search uses an existing method as in step 402.
- the related file extraction process is the same as the flow shown in FIG.
- step 2205 as in step 2201, keywords are extracted from the searched and extracted files and added to the search target keywords. If there is an unsearched keyword after the repetition of step 2202, the processing after step 2202 is repeated.
- keywords can be extracted from a file that can be a target of a file sequence map, and keywords that are not considered by the user can be input.
- keywords that are not considered by the user can be input.
- the extracted parties have been explained by exemplifying individuals as users and operators.
- Groups and organizations can also be treated as individuals in this specification and extracted as interested parties.
- such a group or organization can also be a target individual or a related party to be extracted.
- a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Furthermore, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
- each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit.
- information such as programs, tables, and files for realizing each function can be stored in a semiconductor memory, a storage device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card or DVD. However, it can be downloaded and installed via a network or the like as necessary.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ある事柄に関するキーワードから、人間関係の内容を考慮し、かつキーワードの揺れ、変化に頑健な関係者特定方法及び装置を提供する。 【解決手段】 キーワードを入力として当該キーワードに関連する関係者を抽出するため、ユーザが入力したキーワードからファイルシーケンスマップを生成するファイルシーケンスマップ生成部210と、生成されたファイルシーケンスマップに与えられる重要度と、ファイルシーケンスマップに関連する通信とから、各個人の累積関係指数を算出する累積関係指数生成部211と、算出された個人の累積関係指数を出力するためのGUI生成部とを備え、個人ごとに累積関係指数の値が閾値以上である人物を関係者として抽出し、出力する。
Description
本発明は、通信ログとファイルを用い、キーワードに対する関係者を抽出する技術に関する。
米国における電子情報開示(Electronic Discovery)や、知識共有等を目的として、ある事柄に関する重要人物や責任者、例えば製品訴訟であればその製品の開発に携わった技術者および責任者を効率よく抽出する必要が生じている。現状では、人間関係を表現したネットワークを用いて当該事柄に関係するコミュニティを抽出する手段、またはこれまでの業務内容や経歴、専門分野等のプロフィール情報からテキスト検索により関係者を抽出する手段が利用されている。
このような訴訟や業務における関係者を抽出する技術としては、例えば特許文献1、2に開示された技術が知られている。特許文献1では、人物間の関係と関係の内容を表すデータの集合から、共通の話題や関心に基づいた関係を高密度に持った人物の集合であるコミュニティを抽出する技術が開示されている。また、特許文献2では、スキル名を入力として人間関係を考慮して共に仕事を行う人物を抽出する技術が開示されている。
しかしながら、従来の人物抽出技術では、訴訟や業務の内容と人物を関係づけるデータが明確に定義されている必要があった。すなわち、関係者を抽出したい訴訟や業務の内容に関して、そのキーワードが明確に漏れなく判明しており、かつそれらのキーワードによって関係者が特徴づけられる必要があり、キーワードが曖昧であったり、訴訟や業務の内容に関するキーワードが変化したりする場合には、キーワードが不一致となるため対応できなかった。
特許文献1で開示された技術は、人間関係を基にコミュニティを抽出する技術である。そのため、個々人に関してある事柄に関する関係があるかどうかは考慮しておらず、キーワードに関連する関係者の抽出を意図していない。
特許文献2では、あらかじめ設定されたスキル名称に基づいて人物を抽出する技術であるので、スキル名によって明示されない人物、あるいは単語の揺れによって異なるスキル名を与えられた人物が抽出できなかった。
本発明の目的は、上述した問題を考慮したものであって、ある事柄に関するキーワードから、キーワードの揺れや変化に依存しない関係者の抽出方法、装置、及びプログラムを提供することにある。
上記の目的を達成するため、本発明においては、キーワードを入力として当該キーワードに関連する関係者を抽出する処理部による関係者抽出方法であって、処理部は、入力されたキーワードからファイルシーケンスマップを生成し、ファイルシーケンスマップと当該ファイルシーケンスマップに関連する通信から個人毎の関係指数を生成し、生成した関係指数に基づき、関係者を抽出する関係者抽出方法を提供する。
また、上記の目的を達成するため、本発明においては、キーワードを入力として当該キーワードに関連する関係者を抽出する装置であって、ファイルを対象とした個人の操作を記録した操作ログと、個人の通信ログを記憶する記憶部と、当該記憶部に接続可能な処理部を備え、処理部は、入力されたキーワードからファイルシーケンスマップを生成し、ファイルシーケンスマップと、ファイルシーケンスマップに関連する通信ログから個人毎の関係指数を生成し、生成した当該関係指数に基づき、関係者を抽出する構成の装置を提供する。
更に、上記の目的を達成するため、本発明においては、キーワードを入力として当該キーワードに関連する関係者を抽出する処理部によって実行される関係者抽出のためのプログラムであって、処理部を、入力されたキーワードからファイルシーケンスマップを生成し、ファイルシーケンスマップと、ファイルシーケンスマップに関連する通信から個人毎の関係指数を生成し、生成した当該関係指数に基づき、関係者を抽出させるよう動作させるプログラムを提供する。
本発明によれば、ある事柄を示すキーワードから、そのキーワードが含まれていない、あるいはそのキーワードと関連を有する異なるキーワードを含む通信ログやファイルも利用することにより、その事柄の関係者をより正確に抽出することが可能になる。
以下、本発明の各種の実施形態について図面を用いて説明する。以下の説明において、ファイルシーケンスマップとは、ファイルの編集履歴、すなわちファイルに対する操作の履歴を日付および操作者による分類にマッピングしたものを、関係指数とは、各ファイルシーケンスマップについての操作者である個人間の、共通の話題や関心に基づく関係の強さを示す指標を意味する。また、累積関係指数とは、複数のファイルシーケンスマップに対する、個人間の関係指数の統計量を意味するものとする。更に、本明細書において、ログとは操作者が計算機上で行った操作のログ、及びメールや、SIP(Session Initiation Protocol)、IM(Instant Messaging)等による通信のログの両方を意味する。
図1~図16を用いて、第1の実施例に係る関係者抽出方法、装置を説明する。本実施例は、入力されたキーワードに関係するファイルを抽出し、当該ファイルの作成、編集関係を表現するファイルシーケンスマップを生成し、生成されたファイルシーケンスマップに含まれるファイルを操作した人物を抽出し、抽出された人物が当該ファイルを操作した前後の通信の内容及び通常の通信量に対する変化量を用いて、個人ごとに関係指数を算出し、当該関係指数を用いて、キーワードに対する累積関係指数を算出し、一定以上の累積関係指数を持つ人部を関係者として抽出する関係者抽出方法、及び装置に関するものである。
図1は、第1の実施例の関係者抽出方法を実現する抽出装置の一構成例を示す図である。計算機101、通信サーバ121、関係者抽出サーバ141はネットワーク100によって接続されている。ネットワーク100とは、LAN(Local Area Network)やインターネット回線などである。計算機101は、業務や各種作業に用いられる例えばPC(Personal Computer)である。図1には、一個の計算機101を図示しているが、ネットワーク100には、複数の計算機が接続されていても良い。
計算機101は、バスによって相互に接続された処理部であるCPU(Central Processing Unit)102、メモリ103、出力装置104、入力装置105、外部記憶装置106及びネットワークインターフェース107を備える。
CPU102は、メモリ103に記憶されているプログラムを処理することによって、各種処理を実行する演算処理部である。外部記憶装置106は、メモリ103に記憶されているプログラム本体又はメモリ103に記憶されているプログラムによって利用されるデータを格納する記憶部である。メモリ103は、CPU102によって処理されるプログラム及び使用されるデータを格納する記憶部である。CPU102によって処理されないプログラム及びデータは、外部記憶装置106に格納される。
メモリ103は、操作記録部201、操作ログ送信部202の機能を実現する各種のプログラムを格納する。外部記憶装置105は、個別操作ログテーブル203を格納する。
出力装置104は、例えばディスプレイなどの表示デバイスである。この出力装置104は、以降で説明する方法によって抽出された関係者や、抽出に用いられるパラメータの管理用インターフェース(図16参照)を表示、あるいは提示する。入力装置105は、例えばキーボードやマウスなどの入力部である。この入力装置105を用いて、ユーザはある事柄に関するキーワードや関係者抽出に用いるパラメータを管理するための操作を入力する。
ネットワークインターフェース107は、通信サーバ121、関係者抽出サーバ141及びその他の外部の計算機等と接続し、通信するためのインターフェース部である。
通信サーバ121は、バスによって相互に接続されたCPU122、メモリ123、外部記憶装置124及びネットワークインターフェース125を備える通常の計算機構成を有する。CPU122、メモリ123、外部記憶装置124及びネットワークインターフェース125は、それぞれ計算機101のCPU102、メモリ103、外部記憶装置106及びネットワークインターフェース107と同様である。通信サーバ121はメールサーバやSIPサーバ、IMサーバ等のいずれか、またはそれら複数の機能を備えるか、それらの通信ログを記録可能なサーバである。
メモリ123は、通信記録部204、通信ログ送信部205の機能を実現するプログラムを格納する。外部記憶装置124は、通信サーバログテーブル206を格納する。
関係者抽出サーバ141は、バスによって相互に接続されたCPU142、メモリ143、外部記憶装置144及びネットワークインターフェース145を備える通常の計算機構成をする。CPU142、メモリ143、外部記憶装置144及びネットワークインターフェース145は、それぞれ計算機101のCPU102、メモリ103、外部記憶装置106及びネットワークインターフェース107と同様である。
関係者抽出サーバ141のメモリ143は、操作ログ受信部207、通信ログ受信部208、ユーザインタフェース部として機能するGUI(Graphical User Interface)生成部209、ファイルシーケンスマップ生成部210、累積関係指数生成部211の機能を実現する各種のプログラムを格納する。外部記憶装置144は、操作ログテーブル212、通信ログテーブル213を格納する。なお、関係者抽出サーバ141で実現される各種の機能の内、GUI生成部209の機能は、関係者抽出サーバ141以外の、ネットワーク100や関係者抽出サーバに直接接続された他のサーバ等の計算機で実現することもできる。
図2は、第1の実施例の抽出装置における関係者抽出方法を説明するブロック図である。図2を用いて、本実施例の関係者抽出方法の全体的な流れを説明する。
計算機101の操作記録部201は、ユーザが計算機101上で行った操作を個別操作ログテーブル203に記録する。操作記録部201は、ユーザの計算機101上での操作を記録可能であればどのような方法で実現してもよい。個別操作ログテーブル203は、操作記録部201が取得したユーザの操作ログを保持する。個別操作ログテーブルの形式は、後で図5を用いて説明する。
操作ログ送信部202は、個別操作ログテーブル203に記録されているレコードを関係者抽出サーバ141に送信する。送信は、逐次送信でも、一定期間ごとに送信するのでもよい。送信された操作ログは操作ログ受信部207によって操作ログテーブル212に記録される。
一方、通信サーバ121では、メールやSIP、IM等による通信ログが通信記録部204によって記録される。記録された通信ログは通信サーバログテーブル206によって保持される。通信ログ送信部205は、保持された通信ログを関係者抽出サーバ141に送信する。送信されたログは通信ログ受信部208によって受信され、通信ログテーブル213に保持される。
関係者抽出サーバ141のGUI生成部209は、ユーザ入力部222、結果出力部223から構成される。ユーザ入力部222は、ユーザからのキーワード入力および関係者抽出のための各種のパラメータ入力等、基準情報受け付ける機能を有し、結果出力部223は、入力されたキーワードに対して抽出した関係者等をユーザに提示する機能を有している。これらの機能は、好適には、ユーザが見ることのできるディスプレイ等の表示画面を入出力部とするための表示データを生成する機能で実現可能である。そのため、本明細書において、GUI生成部という場合、少なくとも上記の表示データを生成するプログラム機能を意味するが、更には上記の表示データを用いて表示画面を映すための表示デバイスを含めたものをいう場合がある。後者の場合、GUI生成部は、表示デバイスを備える。
なお、このユーザ入力部222による入力、或いは結果出力部223による提示は、関係者抽出サーバ上の表示デバイスで行われても良いし、またはネットワーク100を経由して、その他の計算機上のディスプレイで行われても良い。後者の場合、先に説明した様に、図1の計算機101の入力装置104や出力装置104を用いることができる。
ファイルシーケンスマップ生成部210は、ファイル検索部215、シーケンス構築部216から構成されている。ユーザ入力部212において、ユーザからキーワードの入力を受け付けた後、ファイル検索部215は当該キーワードを含むファイルの検索を行う。ファイル検索部215の機能は、従来の全文検索や連想検索等によって実現される。また、検索対象となるファイルは、外部記憶装置144に格納されているファイルや、ネットワーク100を通じて接続されるファイルサーバや、その他の計算機に格納されているファイルを含む。
シーケンス構築部216は、ファイル検索部215によって検索されたファイル及び操作ログテーブル212に記録されたユーザ操作ログを基に、ファイルシーケンスマップを作成する。このファイルシーケンスマップについては、後に図9にて例を示して説明する。
累積関係指数生成部211は、関係指数生成部220、関係指数統合部221から構成される。関係指数生成部220では、シーケンス構築部216が生成したファイルシーケンスマップ、および通信ログテーブル213のレコードを基に、個人ごとの関係指数を生成する。関係指数統合部221では、関係指数生成部220で生成された関係指数を基に、累積関係指数を算出する。
図3は、前述した関係者抽出の流れの一例を示している。また、図4に関係者抽出の流れの一例をフローチャートで示している。最初に、検索キーワードである301、303、305によってファイルの検索が行われる。これは図4のステップ401に該当する。302、303は複数のキーワードが入力された場合の検索条件を指定する固有の表現であり、他の表現形式を用いてもよい。入力されたキーワードを基に検索されたファイルが、検索結果ファイル306、307、308である。これはステップ402に該当する。
次に、検索されたファイルからファイルシーケンスマップが生成される。これは図4のステップ403に該当する。309は検索結果ファイル306から生成されたファイルシーケンスマップを、310は検索結果ファイル307および308から生成されたファイルシーケンスマップを示している。
そして、検索結果の複数のファイルごとに生成されたファイルシーケンスマップ309、310を基に、人的ネットワーク311,312の生成と関係指数の算出が行われる。人的ネットワーク311はファイルシーケンスマップ309より、人的ネットワーク312はファイルシーケンスマップ310より生成されている。これは図4のステップ404に該当する。人的ネットワーク311,312の黒丸で示されるノードは人を示しており、黒丸付近の数字は個人ごとの関係指数を示している。
最後に、生成された複数のファイルシーケンスマップ309、310に対応する人的ネットワーク311、312を用いて累積関係指数の算出を行う。これは図4のステップ405に該当する。統合ネットワーク313は、人的ネットワーク311、312を統合したものであり、ノード付近の数字は関係指数の総和をとった累積関係指数となっている。そして、図4のステップ406において、累積関係指数が累積関係閾値以上の個人が関係者として出力される。以上が、キーワードによる検索からスタートする関係者抽出処理の流れである。
図5に、上述したファイルシーケンスマップ309、310の作成に用いられる操作ログテーブル212の一例を示す。テーブル中の各レコードは一人のユーザが行った単一の操作を示している。操作ログテーブル212は個別操作ログテーブル203を複数の計算機から集約したものである。そのため、個別操作ログテーブル203の構造も操作ログテーブル212と同様である。
同図において、OID(Operation IDentifier)501は操作ログテーブル212のレコードを一意に識別するための識別子であり、一意に識別可能であればどのような表現でもよい。ユーザ502は各レコードが示す操作を行ったユーザを識別するためのIDであり、ユーザを一意に識別可能であればどのような表現形式でもよい。
操作日時503は操作が行われた日時を示しており、日時が識別可能であれば他の表現形式でもよい。操作内容504は操作の内容を示しており、ファイルの作成や更新、コピー等の操作を示す文字列または記号等である。対象ファイル505、操作後ファイル506にはそれぞれ操作の対象であるファイル名、操作によってファイル名に変化が生じる可能性があった場合にその操作後のファイル名が保持されている。ファイル名に変化が生じる可能性がある場合とは、ファイルのコピーやファイル名の変更等が行われた場合である。ファイル名に変化が生じない場合は、操作後ファイル506が“-”となる。対象ファイル505、操作後ファイル506は、上述の表現が可能であり、かつファイルが一意に特定できればどのような表現形式でもよい。
図6は関係者抽出サーバ141のファイルシーケンスマップ生成部210で行われるファイルシーケンスマップ生成フローの一例である。まず、ステップ602で、ステップ402で検索されたファイルそれぞれに対して、ステップ603からステップ606までの処理を行う。この処理はシーケンス構築部216が行う。ステップ603では、現在対象としているファイルが、既に作成済みのファイルシーケンスマップに含まれているかどうかを判定し、作成済みのファイルシーケンスマップに含まれていれば次のファイルに対してステップ603の処理を行い、含まれていなければステップ604、ステップ605の処理を順に行う。ステップ604では、図7で述べる関連ファイル抽出フローに従って操作ログを用いて関連するファイルを抽出する。そして、ステップ604で抽出されたファイルを用いて、ステップ605でファイルシーケンスマップを構築する。
全てのファイルシーケンスマップが生成された後、ステップ606にて、ファイルシーケンスマップの重要度を算出する。ファイルシーケンスマップの重要度は、当該ファイルシーケンスマップ中に含まれるステップ402で検索されたファイルの関連度の平均値とする。関連度とは、ステップ402の検索で用いられる、キーワードとファイルが関連している度合いである。
なお、この関連度の算出は、PageRank(S. Brin and L. Page. The anatomy of a large-scale hypertextual Web search engine. Computer networks and ISDN systems, Vol. 30, No. 1-7, pp. 107-117, 1998.参照)や、TF/IDF(K. S. Jones. A Statistical Interpretation of Term Specificity and its Application in Retrieval. Journal of Documentation, Vol. 28, pp. 11-21, 1972.参照)等の公知技術を用いる。例えば、図3のファイルシーケンスマップ310の重要度は、検索結果ファイル307、308の関連度の平均値となる。重要度の算出は関連度の中央値や総和を用いてもよい。
図7は、ステップ604で行う関連ファイル抽出の処理フローの一例である。ステップ701において、ステップ602で選択されたファイルのファイル名と、対象ファイル505または操作後ファイル506の値が一致するレコードを操作ログテーブル212から検索し、一致するレコードを抽出する。ステップ702において、抽出されたレコードに記述されたOID501および対象ファイル505および操作後ファイル名506の値を記録する。そして、ステップ703において、ステップ702で記録されたファイル名で、まだ検索に用いられていないファイル名が存在するかどうかを判定する。検索に用いられていないとは、ステップ701またはステップ705で検索に用いられたかどうかである。検索に用いられていないファイル名が存在すればステップ704、705の処理を行う。
ステップ704では、702で記録され、検索に用いられていないファイルを一つ選択する。選択方法は、記録された順や無作為等の方法を用いる。そして、ステップ705において、ステップ701と同様に、対象ファイル505または操作後ファイル506の値が選択されたファイル名と一致するレコードを操作ログテーブル212から検索し、抽出する。そして、ステップ702の処理を行う。
図8に、ステップ605の処理フローの一例を示す。まず、ステップ801において、記録されたOID501それぞれに対して対応するファイルノードを作成する。記録されたOID501とは、ステップ702において記録されたOID501を指す。また、ファイルノードとは、ファイルシーケンスマップ中のノードを指す。
ステップ802では、記録されたOID501が示す操作ログテーブル212のレコードごとにステップ803から808を繰り返す。まず、ステップ803において、現在対象としているレコードの操作後ファイル506が“-”と一致するか判定し、一致していればステップ804からステップ806を、一致していなければステップ807からステップ808を実行する。
ステップ804では、現在繰り返し対象としているレコードの操作後ファイル506の値を起点ファイル名とする。ステップ805において、対象ファイル505の値が起点ファイル名と一致し、かつ繰り返し対象としているレコードより操作日時503が新しく、さらに操作日時503の差が日時閾値以下かつ最小のレコードのOID501を取得する。日時閾値は、図16に示すGUIによりユーザから入力される。図16に示すGUIについては、後で詳述する。ステップ806で、ステップ805で取得したOID501に対応するファイルノードと、現在繰り返し対象としているレコードのOID501に対応するファイルノードとをリンクで接続する。
ステップ807では、現在繰り返し対象としているレコードの操作日時503より古く、かつ操作日時503の差が日時閾値以下かつ最小であり、対象ファイル505の値が一致するレコードのOID501を取得する。ステップ808では、ステップ807において条件を満たすOID501を取得できたかどうか判定し、取得できた場合はステップ806を実行する。
ステップ802の繰り返し処理終了後、ステップ810において、全てのファイルノード対がリンクを辿ることにより到達可能なファイルノード集合ごとに個別のファイルシーケンスマップとする。
以上が本実施例における、ファイルシーケンスマップ生成のための処理である。上述の処理により、入力されたキーワードと操作ログを基に、ファイルの編集や更新を表現したファイルシーケンスマップを作成することが可能になる。
図9A、図9Bに、本実施例の抽出装置で生成されたファイルシーケンスマップの一例を示す。図9A、図9Bはそれぞれ、ステップ810にて分割されたファイルシーケンスマップ901、921である。ファイルノード909、910、911、912、913、925、926は、操作ログテーブル212の各レコードに相当する。例えば、ファイルノード909は、図2の操作ログテーブル212におけるOID501が“1”のレコードに相当する。各ファイルノードには、対象ファイル505の値および操作内容504が表示されている。
また、各ファイルノードは、横方向に時間変化、縦方向に操作を行った人物によって区分けられた表の上に配置されている。日時ラベル902、903、904、905、922、923は、それぞれファイルノードに該当する操作が行われた日時を示している。また、人名ラベル906、907、908、924は操作ログテーブル212のユーザ502に“さん”を付けて表示している。各日時ラベル、各ユーザラベルは操作を行った日時、ユーザが表現できれば別の表記でもよい。また、操作によるファイルの時間変化、およびユーザの変化が表現できればファイルシーケンスマップ901、921は表形式以外でもよい。
各ファイルノードは、リンク914、915、916、917、927によって接続されている。これらのリンクは、ステップ806にて生成される。
本実施例によれば、図9A、図9Bが示すようなファイルシーケンスマップを作成することで、ファイル中のキーワードが変化、削除されてしまっても同様の内容を扱ったファイルの特定が可能になる。
続いて図10~図13を用いて、上述したファイルシーケンスマップを用いて、関係者抽出サーバ141の累積関係指数生成部211が、累積関係指数を算出する方法について説明する。
まず図10に、累積関係指数の算出に用いる通信ログテーブル213の一例を示す。なお、通信ログテーブル213は、通信サーバ121の通信サーバログテーブル206のレコードを集約したものである。そのため、通信サーバログテーブル206の構造も通信ログテーブル213と同様である。
まず図10に、累積関係指数の算出に用いる通信ログテーブル213の一例を示す。なお、通信ログテーブル213は、通信サーバ121の通信サーバログテーブル206のレコードを集約したものである。そのため、通信サーバログテーブル206の構造も通信ログテーブル213と同様である。
TID(Transmission IDentifier)1001は通信ログテーブル213の各レコードを一意に識別するための数字である。発ユーザ1002、受ユーザ1003は、それぞれ各レコードが表現する通信の発信ユーザ、受信ユーザである。通信日時1004は通信が行われた、または開始された時刻を示す。通信種別1005はどのような通信が行われたかを示しており、例えばIMやSIPによる電話、Eメールである。ここでは、Eメールの場合に限り、To、Cc、BCCのいずれかで表現している。
通信内容1006は、通信の内容を示しており、メールであればその本文、IMであれば送ったメッセージである。内容1006が“-”である場合、内容が存在しないか、記録不可能であったことを示す。ここでは、送信種別1005がSIPの場合、内容1006が“-”となっているが、音声認識による内容のテキスト化や、録音したファイルを格納する等により内容に含めてもよい。その他1007は、通信に付随する情報であり、送信種別ごとに固有の情報を格納する。例えば、送信種別1005がSIPの場合、通信を行った期間を通信時間として格納している。
図11は、図2に示した累積関係指数生成部211の関係指数生成部220が行う関係指数生成フローの一例を示しており、図4のステップ404に該当する。図11で示す処理フローは、作成された複数のファイルシーケンスマップごとに実行する。ステップ1101では、ファイルシーケンスマップ中のファイルノードに対応するOID501を抽出し、抽出されたOID501に該当する操作ログテーブルのレコードからユーザ502を抽出する。例えば、ファイルシーケンスマップ901からは“A”、“B”、“C”が抽出される。そして、ステップ1102で、抽出されたユーザごとに対応するノードを作成し、各ノード間にリンクを作成することで、図3で図示した人的ネットワーク311、312等を作成する。ステップ1103で、現在対象としているファイルシーケンスマップの重要度を、各ノードの関係指数とする。
ステップ1104では、ステップ1102で作成されたノードごとにステップ1105を繰り返す。ステップ1105では、通信ログテーブル213のレコードを用いて、ノード追加、リンク追加、関係指数設定を行う。
図12にステップ1105で行われるノード追加、リンク追加、関係指数設定の処理フローを示す。まず、ステップ1201において、現在対象としているノードに対応するユーザが操作を行ったファイルノードを取得する。そしてステップ1202では、取得されたファイルノードごとにステップ1203から1209を繰り返す。ステップ1203では、対象としているファイルノードに対応するユーザが発ユーザ1002または受ユーザ1003に含まれ、かつ通信日付1004が対象としているファイルノードの操作日付503の前後一定期間内である通信ログテーブル213のレコードから発ユーザ1002および受ユーザ1003を抽出し、関係指数追加対象ユーザとする。
ステップ1204では、関係指数追加対象ユーザごとにステップ1205からステップ1209を繰り返す。ステップ1205では図13で用いて後述する方法を用いて追加関係指数を算出する。そして、ステップ1206で、算出された追加関係指数が0かどうかを判定し、0でなければステップ1207に進み、0であればステップ1204に戻り次の関係指数追加対象ユーザに対して処理を行う。
ステップ1207では、関係指数追加対象ユーザのノードが現在の人的ネットワークに存在するかどうか判定し、存在しなければステップ1208で、関係指数追加対象ユーザに対応するノードを追加し、そのノードの関係指数を0に設定する。そして、ステップ1209において、関係指数追加対象ユーザに対応するノードの関係指数にステップ1205で算出した追加関係指数を加算する。
図13は、上記のステップ1205で行われる追加関係指数算出の詳細処理フローの一例である。まず、対象としているファイルノードが示す操作日付を基に、通信抽出期間に関係指数追加対象ユーザへ行われた通信を通信ログテーブルから取得する。通信抽出期間とは、追加関係指数算出に用いる通信の範囲を決定づける定数であり、例えば前後一ヶ月である。
次に、ステップ1302において、取得したレコード中に内容1006が“-”ではないレコードが存在するかどうか判定する。そのようなレコードが存在すればステップ1303で平均類似度を算出し、存在しなければステップ1304で平均類似度を0に設定する。ステップ1303では、1301で取得したレコードの中で内容1006が“-”ではないレコードを対象として、現在対象としているファイルノードが示すファイルとの類似値を算出し、それらの平均を平均類似度とする。ファイルとの類似度の算出方法は、通信の内容とファイルの内容にしたがって決定される。例えばEメールとテキストファイルであれば、同様のキーワードを含む割合等の公知の方法によって類似度が算出される。また、SIPと音声ファイルであれば、音声の類似度で算出される。さらに、通信とファイルの類似度が算出可能であれば、その他の方法を用いてもよい。
そして、ステップ1305からステップ1309で、通信頻度を示す頻度指数を算出する。ステップ1305において、ステップ1301で取得したレコードの最も古い日付以前に、関係指数追加対象ユーザから、または関係指数追加対象ユーザに行われた通信数の移動平均を、通信の相手ごとに通信種別1005の重み付きで算出する。関係指数追加対象ユーザから、または関係指数追加対象ユーザに行われた通信とは、発ユーザ1002または受ユーザ1003に関係指数追加対象ユーザが含まれている通信である。また、通信種別1005の重みは、例えばToであれば1、Ccであれば0.8というように設定される。重みの数値は、あらかじめ設定されるか、あるいは図16に示すGUIから設定される。
ステップ1306では、ステップ1301で取得したレコードの総数を、ステップ1305と同様に送信種別1005の重み付きで算出し、通信総数とする。そして、ステップ1307において、通信総数が、移動平均と頻度閾値の積(移動平均×頻度閾値)より大きければステップ1308を、そうでなければステップ1309を実行する。ステップ1308では、通信総数を移動平均で割った値(通信総数/移動平均)を頻度指数とし、ステップ1309では頻度指数を0とする。ステップ1310において、頻度指数および平均類似度、重要度を用いて追加関係指数(重要度×(頻度指数+平均類似度))を算出する。
上述した処理により、個別のファイルシーケンスマップごとに、個人の関係指数が算出される。これにより、ユーザが入力したキーワードに関連するファイルおよびそのファイルに起因する可能性がある通信のみを抽出し、個人の関係指数を算出することが可能になる。ステップ1305において移動平均を統計量として算出しているが、他の統計量を利用しても構わない。
図14に、図13までで算出した関係指数から累積関係指数を算出するための処理フローの一例を示す。以下、累積関係指数算出のために用いる統合された人的ネットワークを統合ネットワークと呼ぶ。ステップ1401では、ステップ1402以降の処理を生成された人的ネットワークごとに繰り返す。ステップ1402では、ステップ1403からステップ1405までの処理を人的ネットワーク内のノードごとに繰り返す。
ステップ1403では、現在繰り返し対象となっているノードが指すユーザと同じユーザを指すノードが、統合ネットワーク上に存在するかどうかを判定し、存在しなければステップ1404を実行する。ステップ1404では、現在繰り返し対象のノードが指すユーザと同じユーザを指すノードを統合ネットワーク上に加え、加えたノードの関係指数を0とする。そして、ステップ1405において、現在繰り返し対象のノードの関係指数を、そのノードが指すユーザと同じユーザを指す統合ネットワーク上のノードの関係指数に加算する。
ステップ1401の繰り返し処理が全て終了した後、ステップ1406において統合ネットワークのリンクを作成する。ステップ1406では、統合ネットワーク上のノード対に対して、それらのノード対がいずれかの人的ネットワーク上でリンクにより接続されていれば統合ネットワーク上にリンクを作成する。そして、ステップ1407で、統合ネットワーク上のノードが持つ関係指数を個人の累積関係指数とする。なお、累積関係指数が閾値以下のノードを削除し、その結果リンクを持たず孤立してしまうノードを削除する等、ネットワークの特性を利用して累積関係指数を算出してもよい。
以上、累積関係指数の算出方法について述べた。
以上、累積関係指数の算出方法について述べた。
図15A、図15Bでは、本実施例においてメールログを用いた関係指数の算出の一例を述べる。図15Aには、図9Aで示したファイルシーケンスマップにおいて“Cさん”が関与した部分のみを抽出し、かつ“Cさん”が発信者または受信者であるEメールの授受を示したものである。日時ラベル1501から1505は図示されたファイル操作、Eメールの送受信が行われた日付を示し、人名ラベル1506から1509はそれらの操作を行ったユーザを示す。Eメール1513から1517はEメールの送受信の記録を表し、例えばEメール1513は、2011年11月20日の10時から11時の間に“Cさん”から“Fさん”にEメールToで送付されたことを示す。
図15Bにおいて、重要度1518は、ステップ606で算出されるファイルシーケンスマップの重要度である。頻度閾値1519はステップ1307、1308で用いられる頻度閾値、通信抽出期間1520はステップ1301で用いられる通信抽出期間、重み1521はステップ1305、1306で用いる通信種別に対する重みである。
ここでは、ファイルノード909周辺の通信を用いて“Dさん”、“Eさん”、“Fさん”それぞれの関係指数を算出する例を示す。まず、Eメール1513から1517は全て通信抽出期間1520の範囲内なので、関係指数算出の対象となる。移動平均1522は、ステップ1305の処理によって算出される、2011年11月20日以前の重み付きの通信数の移動平均であり、平均類似度1523はステップ1303で算出される平均類似度であるとする。
まず、“Dさん”の関係指数を算出する。“Dさん”はEメール1515で“Cさん”とToで通信を行っているため、ステップ1305の通信総数は1.0となる。そして、移動平均と頻度閾値との積は0.6であり、通信総数の方が大きいため、ステップ1308で頻度指数が2.5と算出される。そして、ステップ1310において、重要度1518と平均類似度1523を用いて、関係指数が6.75に設定される。
同様に“Eさん”はEメール1516がBccで行われているため、通信総数が0.2、“Fさん”はEメール1513、1514、1517がそれぞれToであるため通信総数が3.0となる。しかし、“Eさん”、“Fさん”は移動平均と頻度閾値の積がそれぞれ0.3、6.0となるため、どちらも通信総数よりも大きい。その結果、ステップ1308で頻度指数が0に設定され、関係指数は重要度1518と平均類似度1523のみを用いて、それぞれ1.8、0.75と算出される。
図15A、図15Bに示す例においては、“Cさん”と“Dさん”間では普段通信が行われておらず、かつファイル作成近辺でメールが送受信されており、ファイル操作に起因する確率が高いため、関係指数が高く設定される。一方、“Cさん”と“Eさん”間では普段通信が行われておらず、かつファイル作成近辺でメールが送受信されているが、Bccであり、参考程度の可能性が高いため、関係指数が低く設定される。“Cさん”と“さん”間では、ファイル作成近辺でメールが送受信されているが、普段通信が行われており、ファイル作成と無関係な可能性が高いため、関係指数を低く設定されることとなる。
図15A、図15BではEメールによる関係指数算出の例を示したが、IMやSIP、その他の通信も、重みを設定することで同様に処理する。また、上述の処理をファイルシーケンスマップごとに行った後、図14の処理で累積関係指数を算出する。
図16に、以上の本実施例における累積関係指数算出方法における入出力および管理用のユーザインタフェース部であるGUIの一例を示す。関係者抽出のためのキーワードおよびパラメータ等の基準情報の入力設定、結果出力は、GUI生成部209が生成する図16のようなファイルシーケンスマップ一覧、関係者一覧や統合ネットワークを示す画面によって行われる。
ウィンドウ1601はユーザ入力部222が生成する入力部1602と、結果出力部223が生成する出力部1621によって構成される。入力部1602は、累積関係指数を算出するための各種の基準情報を入力する、キーワード入力フィールド1603、通信抽出期間入力フィールド1604、1605、累積関係指数閾値入力フィールド1606、頻度閾値入力フィールド1607、To重み入力フィールド1608、Cc重み入力フィールド1609、Bcc重み入力フィールド1610、SIP重み入力フィールド1611、IM重み入力フィールド1612、日時閾値入力フィールド1613を含み、各フィールドにキーボード入力や手書き入力により、該当する基準情報の入力がなされる。
キーワード入力フィールド1603はステップ401でユーザがキーワードを入力するフィールドである。また、通信抽出期間入力フィールド1604、1605は、ステップ1301で用いる通信抽出期間を入力するフィールドであり、1604、1605にそれぞれ期間の開始、終了の幅が入力される。累積関係指数閾値入力フィールド1606はステップ406で用いる累積関係閾値が入力されるフィールドである。To重み入力フィールド1608、Cc重み入力フィールド1609、Bcc重み入力フィールド1610、SIP重み入力フィールド1611、IM重み入力フィールド1612は通信の種別ごとの重みが入力されるフィールドであり、それぞれEメールのTo、EメールのCc、EメールのBcc、SIP、IMの重みが入力される。日時閾値入力フィールド1613には、ステップ804、807で利用される日時閾値が入力される。なお、上記以外の通信の種別を対象とする場合その種別重み入力フィールドが、他の閾値が増えた場合はその閾値入力フィールドが入力部1602に表示される。
この入力部1602の構成として、図16に示すキーボードや手書き入力構成以外の、例えばプルダウンメニューやポップアップメニュー方式の入力部構成とすることも可能であることは言うまでもない。
出力部1621は結果出力部223によって生成され、関係者出力部1622、統合ネットワーク表示部1623、ファイルシーケンスマップ一覧表示部1624、ファイルシーケンスマップ表示部1625を含む。関係者出力部1622は、ステップ406で出力されたユーザが表示される。また、統合ネットワーク表示部1623には、図14で生成された統合ネットワークが表示される。ファイルシーケンスマップ一覧表示部1624には、ステップ403で生成されたファイルシーケンスマップの重要度が表示される。ファイルシーケンスマップ表示部1625は、ファイルシーケンスマップ一覧表示部1624で選択されたファイルシーケンスマップが表示される。
以上に示した第1の実施例によれば、ある事柄に関するキーワードをユーザが入力することにより、通信ログと操作ログを用いて、キーワードの揺れや漏れに依存せず、その事柄に対する関係者を抽出することが可能になる。
すなわち、ファイル間の作成、編集関係と、それらを行ったユーザの前後の通信とファイルに対する類似度及び通信量の変化から関係指数を算出することで、キーワードによって明示されない関係を抽出することができるので、キーワードの揺れや漏れに依存を防止できる。
また、ファイルが作成、編集された前後の時間帯に行われた通信を抽出し、その通信が当該編集に起因するかどうかを定量的に判定することで、無関係な人物が出力に含まれることを抑制することができる。
更に、抽出された関係者群が累積関係指数によってランク付けされるので、その後のヒヤリングや情報収集の対象を限定することも可能となる。
前述の第1の実施例では、抽出に用いられる通信抽出期間および各処理で用いられる閾値、通信種別の重みはあらかじめ定めるか、ユーザが設定する必要があった。第2の実施例では、過去の抽出結果を用いてそれらの値を学習する実施例を説明する。すなわち、累積関係指数を算出するための基準情報を、過去の累積関係指数生成時の基準情報を用いて設定する。
図17は、第2の実施例の構成例を示す図である。なお、以下では図1と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。
第2の実施例は、図1の第1の実施例の各構成要素に加えて、パラメータ学習部1701、正解データテーブル1702を有する。正解データテーブル1702には、過去に入力されたキーワードと、そのキーワードに対する正解データが格納されている。パラメータ学習部1701は、正解データテーブル1702に格納されているデータを用いて関係者抽出に最適なパラメータを設定する。
図18は、第2の実施例の関係者抽出および抽出のためのパラメータ学習を説明するソフトウェアブロック図である。図18を用いて、本実施例の関係者抽出および抽出のためのパラメータ学習方法の全体的な流れを説明する。なお、以下では図2と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。
まず、ユーザよりキーワードが入力された後、以降の処理で必要なパラメータをパラメータ学習部1701が算出する。パラメータの算出は、実際に過去用いられたキーワードを基に関係者を抽出することによって行われる。パラメータの算出処理は図20にて述べる。なお、パラメータの算出は、キーワード入力の後以外でも、バッチ処理として特定の日時に行う、正解データテーブル1702のレコード数が一定数増えた時行う等、他のタイミングで実施しても良い。
図19に、パラメータの算出に用いられる正解データテーブル1702の一構成例を示す。各レコードは、実施例1で示した関係者抽出が実施された日付、およびその時の入力、正解データを格納している。CID(Case IDentifier)1901は各レコードを一意に識別するための識別子であり、一意に識別可能であれば他の表現形式でもよい。実施日時1902は、各レコードが示す関係者抽出が実施された日付を示す。入力キーワード1903は、各レコードの関係者抽出において入力となったキーワードであり、正解データ1904はその時に抽出されるべき関係者一覧である。なお、正解データ1904は、人手によって設定されてもよいし、最終的に参照された個人を操作ログや通信ログから抽出してもよい。
図20に、パラメータの算出フローの一例を示す。まず、ステップ2001において、全てのパラメータを初期値に設定する。ここで、全てのパラメータとは、通信抽出期間、累積関係指数閾値、頻度閾値、日時閾値、To重み、Cc重み、Bcc重み、SIP重み、IM重みである。対応する通信の種類が増えた場合は、増えた通信に対する重みも対象となる。また、必要であればこれらのパラメータのいくつかは対象に含めず固定値でもよい。なお、初期値は、学習にともなって設定される値であり、例えば0である。
次に、ステップ2002において、正解データテーブルの各レコードに対して、ステップ2003およびステップ2004を繰り返す。なお、正解データテーブルの全レコードを対象にする必要はなく、最新のレコード一定数を対象にしたり、入力キーワードが類似のレコードを対象にしたりしてもかまわない。ステップ2003では、現在のパラメータを用いてレコード中の入力キーワード1902に対する関係者を抽出する。ステップ2004において、抽出された関係者と正解データ中の関係者の一致数を算出する。一致数は、正解データ1904中の関係者が抽出された関係者に出てきた数や割合等を用いる。
ステップ2005において、ステップ2004において算出された全ての一致数が一致閾値以上であった場合、ステップ2006を実行し、そうでなければステップ2007を実施する。なお、ステップ2005は、一致数の積が一致閾値以上である、または一致数の平均が一致閾値以上である等、一致数が多ければ多いほどステップ2006を実行しやすい条件であれば、他の条件を用いてもかまわない。ステップ2006では、現在のパラメータを用いて、実施例1で述べた関係者抽出を行う。
ステップ2007では、ステップ2002の繰り返し処理が実行された回数をカウントし、その回数が繰り返し閾値よりも大きい場合はステップ2008を、それ以外は2009を実行する。ステップ2008では、条件を満たすパラメータの発見が困難として、これまでで最も一致数が多かったパラメータを用いて実施例1で述べた関係者抽出を行う。一致数が多いと判定する条件は、ステップ2005同様、一致数の積や平均等、他の指標を用いてもかまわない。
ステップ2009では、パラメータをこれまで試行していない値に変更し、再びステップ2002以降の処理を実施する。パラメータの変更方法に関しては、遺伝的アルゴリズムや焼きなまし法等、既存の機械学習の手法を用いる。
以上に示した第2の実施例によれば、第1の実施例の利点に加え、学習により最適なパラメータが自動で設定され、関係者抽出の精度を向上させることが可能となる。
前述の第1の実施例では、ユーザが入力したキーワードのみを用いて関係者抽出を行った。第3の実施例は、ファイルシーケンスマップ作成において抽出されたファイルに含まれるキーワードを用いてキーワードの補完を行う実施例である。すなわち、ファイルシーケンスマップが含むファイルから単語を抽出し、当該単語を用いてキーワード検索を行い、その検索結果に基づく、他のファイルシーケンスマップを生成する。
図21は、第3の実施例の関係者抽出および抽出のためのキーワード拡充方法を説明するブロック図である。なお、以下では図2と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。
キーワード検出部2101は、ファイル検索部215が図7における関連ファイル抽出処理を行った後、すなわちステップ604の処理の後に、抽出された全てのファイルからキーワードとなりうる単語を抽出する。そして、新規に抽出されたキーワードを用いて検索を行う。新たなキーワードが抽出されなくなるまでファイル検索およびキーワード抽出を行う。新たなキーワードが抽出されなくなった後、ステップ605の処理を行う。
図22は、前述のファイル検索およびキーワード抽出処理の処理フローの一例である。まず、ステップ2201において、ステップ604にて抽出されたファイルからキーワードを抽出する。キーワードの抽出には固有表現抽出等の既存手法を用いる。次に、ステップ2202において、未検索のキーワードに対してステップ2203からステップ2205を繰り返す。未検索のキーワードとは、ステップ2201およびステップ2205において抽出されたキーワードの中で、ステップ2203で検索されていないキーワードを指す。ステップ2203では、選択されたキーワードを用いてファイル検索を行い、ステップ2204で関連ファイルの抽出を行う。ファイル検索はステップ402同様に既存の手法を用いる。また、関連ファイルの抽出処理は図7で示したフローと同様の処理を行う。その後ステップ2205でステップ2201と同様に、検索、抽出されたファイルからキーワードを抽出し、検索対象のキーワードに追加する。ステップ2202の繰り返し処理終了後、未検索のキーワードが存在すればステップ2202以降の処理を繰り返す。
実施例3における上述の処理により、ファイルシーケンスマップの対象になりうるファイルからキーワードを抽出し、ユーザが考慮しなかったキーワードも入力とすることが可能になる。これにより、実施例1の利点に加え、より多くのキーワードを用いることが可能になり、抽出する関係者の漏れをより少なくすることが可能になる。
以上、本発明の種々の実施例について説明したが、上記各実施例は本発明の適用例の一つを示したものであり、本発明の技術的範囲を上記各実施例の具体的構成に限定する趣旨ではない。
例えば、上記の説明において、抽出される関係者は、ユーザや操作者としての個人を例示して説明したが、所定のグループや組織を構成する複数のユーザを纏めて一個人として扱える場合は、当該グループや組織も本明細書における個人として扱い、関係者として抽出することができる。言い換えるなら、本明細書において、そのようなグループや組織も、対象とする個人、抽出する関係者とすることができる。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることが可能である。更に、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また更に、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。更にまた、各機能を実現するプログラム、テーブル、ファイル等の情報は、半導体メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、DVD等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストロールすることも可能である。
101 計算機
121 通信サーバ
141 関係者抽出サーバ
209 GUI生成部
210 ファイルシーケンスマップ生成部
211 累積関係指数生成部
212 操作ログテーブル
213 通信ログテーブル
215 ファイル検索部
216 ファイルシーケンス生成部
220 関係指数生成部
221 関係指数統合部
222 ユーザ入力部
223 結果出力部
1701 パラメータ学習部
1702 正解データテーブル
2101 キーワード検出部
121 通信サーバ
141 関係者抽出サーバ
209 GUI生成部
210 ファイルシーケンスマップ生成部
211 累積関係指数生成部
212 操作ログテーブル
213 通信ログテーブル
215 ファイル検索部
216 ファイルシーケンス生成部
220 関係指数生成部
221 関係指数統合部
222 ユーザ入力部
223 結果出力部
1701 パラメータ学習部
1702 正解データテーブル
2101 キーワード検出部
Claims (15)
- キーワードを入力として当該キーワードに関連する関係者を抽出する処理部による関係者抽出方法であって、
前記処理部は、
入力されたキーワードからファイルシーケンスマップを生成し、
前記ファイルシーケンスマップと、前記ファイルシーケンスマップに関連する通信ログから個人毎の関係指数を生成し、
生成した当該関係指数に基づき、前記関係者を抽出して出力する、
ことを特徴とする関係者抽出方法。 - 請求項1に記載の関係者抽出方法であって、
前記処理部は、
前記キーワードから検索により得られる検索結果のファイルと、当該ファイルを対象に行われた操作を記録した操作ログを用いて、前記ファイルシーケンスマップを生成する、
ことを特徴とする関係者抽出方法。 - 請求項2に記載の関係者抽出方法であって、
前記処理部は、
前記ファイルシーケンスマップが含む前記ファイルの内容と、前記ファイルに対する操作が行われた時間の前後に行われた通信に基づき、前記ファイルシーケンスマップ毎の前記関係指数を算出し、
前記ファイルシーケンスマップ毎に算出された前記関係指数の統計量を累積関係指数とし、
当該累積関係指数が閾値以上である個人を前記関係者とする、
ことを特徴とする関係者抽出手法。 - 請求項3に記載の関係者抽出方法であって、
前記処理部は、
前記ファイルシーケンスマップが含む前記ファイルの内容と、前記通信の内容の類似度と、前記ファイルに対する操作の前後一定期間に対する通信頻度から前記関係指数を算出する、
ことを特徴とする関係者抽出手法。 - 請求項3に記載の関係者抽出方法であって、
前記処理部は、
前記累積関係指数を算出するための基準情報を設定し、且つ、抽出された前記ファイルシーケンスマップ、及び前記関係者を出力するデータを生成する、
ことを特徴とする関係者抽出手法。 - 請求項4に記載の関係者抽出方法であって、
前記処理部は、
前記累積関係指数を算出するための前記基準情報を、過去の累積関係指数生成時の基準情報を用いて設定する、
ことを特徴とする関係者抽出方法。 - 請求項2に記載の関係者抽出方法であって、
前記処理部は、
前記ファイルシーケンスマップが含む前記ファイルから単語を抽出し、
前記抽出した前記単語を用いてキーワード検索を行い、
その検索結果に基づく、他のファイルシーケンスマップを生成する
ことを特徴する関係者抽出方法。 - キーワードを入力として当該キーワードに関連する関係者を抽出する装置であって、
ファイルを対象とした個人の操作を記録した操作ログと、個人の通信ログを記憶する記憶部と、当該記憶部に接続可能な処理部を備え、
前記処理部は、
入力されたキーワードからファイルシーケンスマップを生成し、
前記ファイルシーケンスマップと、前記ファイルシーケンスマップに関連する前記通信ログから個人毎の関係指数を生成し、
生成した当該関係指数に基づき、前記関係者を抽出する、
ことを特徴とする装置。 - 請求項8に記載の装置であって、
前記処理部は、
前記キーワードから検索により得られる検索結果のファイルと、当該ファイルを対象に行われた操作の前記操作ログを用いて、前記ファイルシーケンスマップを生成する、
ことを特徴とする装置。 - 請求項9に記載の装置であって、
前記処理部は、
前記ファイルシーケンスマップが含む前記ファイルの内容と、前記ファイルに対する操作が行われた時間の前後に行われた前記通信ログに基づき、前記ファイルシーケンスマップ毎の前記関係指数を算出し、
前記ファイルシーケンスマップ毎に算出された前記関係指数の統計量を累積関係指数とし、
当該累積関係指数が閾値以上である個人を前記関係者として抽出する、
ことを特徴とする装置。 - 請求項10に記載の装置であって、
前記処理部は、
前記ファイルシーケンスマップが含む前記ファイルの内容と、前記通信ログの内容の類似度と、前記ファイルに対する操作の前後一定期間に対する通信頻度から前記関係指数を算出する、
ことを特徴とする装置。 - 請求項10に記載の装置であって、
前記処理部は、
前記累積関係指数を算出するための基準情報を設定し、且つ、抽出された前記ファイルシーケンスマップ、及び前記関係者を出力するデータを生成する、
ことを特徴とする装置。 - 請求項11に記載の装置であって、
前記処理部は、
前記累積関係指数を算出するための前記基準情報を、過去の累積関係指数生成時の基準情報を用いて設定する、
ことを特徴とする装置。 - 請求項9に記載の装置であって、
前記処理部は、
前記ファイルシーケンスマップが含む前記ファイルから単語を抽出し、
前記抽出した前記単語を用いてキーワード検索を行い、
その検索結果に基づく、他のファイルシーケンスマップを生成する
ことを特徴する装置。 - キーワードを入力として当該キーワードに関連する関係者を抽出する処理部によって実行される関係者抽出のプログラムであって、
前記処理部を、
入力されたキーワードからファイルシーケンスマップを生成し、
前記ファイルシーケンスマップと、前記ファイルシーケンスマップに関連する通信ログから個人毎の関係指数を生成し、
生成した当該関係指数に基づき、前記関係者を抽出させるよう動作させる、
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/056616 WO2013136477A1 (ja) | 2012-03-15 | 2012-03-15 | 関係者抽出方法、装置、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/056616 WO2013136477A1 (ja) | 2012-03-15 | 2012-03-15 | 関係者抽出方法、装置、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013136477A1 true WO2013136477A1 (ja) | 2013-09-19 |
Family
ID=49160445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/056616 WO2013136477A1 (ja) | 2012-03-15 | 2012-03-15 | 関係者抽出方法、装置、及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013136477A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015149085A (ja) * | 2015-03-26 | 2015-08-20 | 株式会社Ubic | データ分析システム、データ分析方法、および、データ分析プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000322441A (ja) * | 1999-05-13 | 2000-11-24 | Ntt Data Corp | パーソナルネットワーク構築方法、通信システム及びその構成装置 |
JP2001297111A (ja) * | 2000-04-14 | 2001-10-26 | Fuji Xerox Co Ltd | 情報処理システム |
JP2002297883A (ja) * | 2001-03-29 | 2002-10-11 | Fujitsu Ltd | 知識情報管理方法、知識情報生成方法、知識情報利用方法および知識情報管理装置 |
-
2012
- 2012-03-15 WO PCT/JP2012/056616 patent/WO2013136477A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000322441A (ja) * | 1999-05-13 | 2000-11-24 | Ntt Data Corp | パーソナルネットワーク構築方法、通信システム及びその構成装置 |
JP2001297111A (ja) * | 2000-04-14 | 2001-10-26 | Fuji Xerox Co Ltd | 情報処理システム |
JP2002297883A (ja) * | 2001-03-29 | 2002-10-11 | Fujitsu Ltd | 知識情報管理方法、知識情報生成方法、知識情報利用方法および知識情報管理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015149085A (ja) * | 2015-03-26 | 2015-08-20 | 株式会社Ubic | データ分析システム、データ分析方法、および、データ分析プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10650034B2 (en) | Categorizing users based on similarity of posed questions, answers and supporting evidence | |
US8725711B2 (en) | Systems and methods for information categorization | |
US9633140B2 (en) | Automated contextual information retrieval based on multi-tiered user modeling and dynamic retrieval strategy | |
JP5647508B2 (ja) | ショートテキスト通信のトピックを識別するためのシステムおよび方法 | |
US11709878B2 (en) | Enterprise knowledge graph | |
US8666984B2 (en) | Unsupervised message clustering | |
TWI501097B (zh) | 文字串流訊息分析系統和方法 | |
US9703860B2 (en) | Returning related previously answered questions based on question affinity | |
US20110055196A1 (en) | Data mining electronic communications | |
US10713291B2 (en) | Electronic document generation using data from disparate sources | |
US20140040371A1 (en) | Systems and methods for identifying geographic locations of social media content collected over social networks | |
US11709848B2 (en) | Focused probabilistic entity resolution from multiple data sources | |
US7386439B1 (en) | Data mining by retrieving causally-related documents not individually satisfying search criteria used | |
US20160098444A1 (en) | Corpus Management Based on Question Affinity | |
US11194840B2 (en) | Incremental clustering for enterprise knowledge graph | |
CN113661488A (zh) | 用于访问主数据管理系统的数据记录的方法 | |
US20180365324A1 (en) | Method of data organization and data searching for use in constructing evidence-based beliefs | |
EP4120101A1 (en) | Concepts and link discovery system | |
CN111008285B (zh) | 一种基于论文关键属性网络的作者消歧方法 | |
CN115329078B (zh) | 文本数据处理方法、装置、设备以及存储介质 | |
WO2013136477A1 (ja) | 関係者抽出方法、装置、及びプログラム | |
JP5292336B2 (ja) | 検索システムユーザの分野ごとにおける知識量推定装置、知識量推定方法および知識量推定プログラム | |
CN104951869A (zh) | 一种基于工作流的舆情监控方法及装置 | |
JP2008026968A (ja) | データ管理装置、データプログラム及びデータ管理方法 | |
US20230068293A1 (en) | System and method for detecting reputation attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12871385 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12871385 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |