WO2020144730A1 - 抽出方法、抽出プログラムおよび情報処理装置 - Google Patents

抽出方法、抽出プログラムおよび情報処理装置 Download PDF

Info

Publication number
WO2020144730A1
WO2020144730A1 PCT/JP2019/000083 JP2019000083W WO2020144730A1 WO 2020144730 A1 WO2020144730 A1 WO 2020144730A1 JP 2019000083 W JP2019000083 W JP 2019000083W WO 2020144730 A1 WO2020144730 A1 WO 2020144730A1
Authority
WO
WIPO (PCT)
Prior art keywords
similarity
character string
word
distributed
user
Prior art date
Application number
PCT/JP2019/000083
Other languages
English (en)
French (fr)
Inventor
清司 大倉
謙介 馬場
智哉 野呂
茂紀 福田
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2020565043A priority Critical patent/JP7222402B2/ja
Priority to PCT/JP2019/000083 priority patent/WO2020144730A1/ja
Publication of WO2020144730A1 publication Critical patent/WO2020144730A1/ja
Priority to US17/366,276 priority patent/US11893814B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Definitions

  • the present invention relates to an extraction method and the like.
  • a conference adjustment system that adjusts the conference room according to the conditions specified by the user.
  • a conference adjustment system when a user specifies a reservation condition, a meeting room that satisfies the reservation condition is searched and a search result is output. For example, the user specifies, as reservation conditions, the number of participants in the conference, the priority of the desired conference room, the confidentiality of the conference, and the like.
  • the conference room and the number of participants that the user has participated in can be estimated from the history of similar conference names. You can book a meeting room that suits your needs.
  • FIG. 18 is a diagram showing an example of the calculation result of the similarity according to the conventional technique.
  • FIG. 18 an example of the similarity between the word “meeting” and each of the other words is shown.
  • the word indicated by “′′” is the word compared when calculating the similarity.
  • the numerical value beside the word is the similarity.
  • the similarity between the word “meeting” and the word “examination” is “0.08011”.
  • the words are shown in descending order of similarity to the word “meeting”.
  • a word that is similar in concept to the word “meeting” is “consultation, consultation, extraction meeting, summary meeting, bu meeting” when the user judges, but the degree of similarity between such word and “meeting” Becomes very small.
  • the similarity between the word “meeting” and the word “examination, FUK, nmpj, small, maximum” that is not a similar concept to the word “meeting” becomes large. That is, if a similarity obtained by a simple comparison of distributed expressions of each word is calculated and words with a high degree of similarity are extracted, a lot of noise is included, and a similar concept of a word designated by a user should be extracted. I can't.
  • the present invention aims to provide an extraction method, an extraction program, and an information processing device capable of extracting a similar concept of a word.
  • the computer executes the following processing.
  • the computer acquires the first word input by the first user and acquires the second word input by the second user.
  • the computer calculates a first distributed representation of the first character string that is a concatenation of the first word and the character string that identifies the first user.
  • the computer calculates a second distributed representation of the second character string that is a concatenation of the second word and the character string that identifies the second user.
  • the computer calculates the degree of similarity between the first distributed expression and the second distributed expression and extracts the word associated with the second distributed expression based on the similarity.
  • FIG. 1 is a diagram for explaining an example of processing of the information processing apparatus according to the present embodiment.
  • FIG. 2 is a diagram showing an example of the calculation result of the similarity.
  • FIG. 3 is a functional block diagram showing the configuration of the information processing apparatus according to the present embodiment.
  • FIG. 4 is a diagram showing an example of the data structure of the user table.
  • FIG. 5 is a diagram showing an example of the data structure of the conference information table.
  • FIG. 6 is a diagram showing an example of the data structure of text data.
  • FIG. 7 is a diagram showing an example of the data structure of the distributed expression list.
  • FIG. 8 is a diagram showing an example of the data structure of the first similarity table.
  • FIG. 9 is a diagram showing an example of a list included in the first similarity table.
  • FIG. 1 is a diagram for explaining an example of processing of the information processing apparatus according to the present embodiment.
  • FIG. 2 is a diagram showing an example of the calculation result of the similarity.
  • FIG. 3
  • FIG. 10 is a diagram showing an example of the data structure of the second similarity table.
  • FIG. 11 is a diagram showing an example of a list included in the second similarity table.
  • FIG. 12 is a flowchart showing the processing procedure of the information processing apparatus according to the present embodiment.
  • FIG. 13 is a flowchart showing the processing procedure of the text generation processing.
  • FIG. 14 is a flowchart showing the processing procedure of the similarity calculation processing.
  • FIG. 15 is a flowchart showing the processing procedure of the normalization processing.
  • FIG. 16 is a flowchart showing the processing procedure of the search processing unit.
  • FIG. 17 is a diagram illustrating an example of the hardware configuration of a computer that realizes the same functions as the information processing apparatus according to the present embodiment.
  • FIG. 18 is a diagram showing an example of the calculation result of the similarity according to the conventional technique.
  • FIG. 1 is a diagram for explaining an example of processing of the information processing apparatus according to the present embodiment.
  • the information processing apparatus acquires a word input by the user (or a participant in the conference) and generates a character string that connects the word and the user. For example, when the user “OSA” inputs the word “patent”, the information processing device generates the character string “patent ⁇ OSA”. When the user “MAS” inputs the word “patent”, the information processing device generates the character string “patent ⁇ MAS”.
  • the information processing apparatus repeatedly generates the plurality of character strings by performing the above process for each of the other users and the respective words. When only the word is acquired, the information processing apparatus does not connect the word to the user and sets the character string of only the word.
  • the information processing device calculates the distributed expression (vector) of each character string based on the learning of the word distributed expression represented by word2vec. Further, the information processing apparatus compares the distributed expressions of the character strings to calculate the degree of similarity between words.
  • the degree of similarity between the character string "patent ⁇ OSA” and other character strings is shown.
  • the character string indicated by “′′” is the character string corresponding to the distributed expression compared when the similarity is calculated.
  • the numerical value shown beside the character string is the similarity.
  • the similarity between the character string “patent ⁇ OSA” and the character string “patent ⁇ MAS” is “0.9893”.
  • the respective character strings are shown in descending order from the one having a high degree of similarity with the character string "patent ⁇ OSA”. The lower the rank, the higher the degree of similarity with the reference character string (for example, "patent ⁇ OSA").
  • the information processing device calculates the similarity of each word based on the similarity of each character string.
  • the degree of similarity between words is calculated according to the number of appearances of a word included in a character string and the rank of the character string including the word. For example, the information processing apparatus calculates the degree of similarity between the word “wX” of the reference character string and the comparison target word “wi” based on the equation (1).
  • “Vi” indicates the total similarity of the words wi included in the character strings up to k in consideration of the rank of wi.
  • the similarity of the word wi included in the character string of rank i (i ⁇ k) is “similarity of character string of rank i (i ⁇ k) ⁇ log(i+1)”.
  • the sum of the similarities of the respective words wi is the value of Vi. The lower the rank of the character string including the word wi, the lower the similarity of the word wi.
  • the similarity between the word wX and the word wi is the same as that of the character string including the word wi. The similarity remains (first condition).
  • the character string including the word “summary” is the character string of the order 3, 13, 15, 20.
  • the similarity (after normalization) of the word “summary” is “0.8170” according to the equation (2).
  • the user name of “Summary Meeting OSA” is the same as the reference character string “Patent OSA”, so the similarity is “0.9825” under the first condition.
  • the user names of the other “summary gathering, summary gathering ⁇ II, summary gathering ⁇ SAI” are different, so the similarity of each “summary gathering, summary gathering ⁇ II, summary gathering ⁇ SAI” is “ The degree of similarity of “summary meeting” is “0.8170”.
  • FIG. 2 is a diagram showing an example of the calculation result of the similarity.
  • the list 10A shown in FIG. 2 shows the relationship between words and similarities.
  • List 10B is a table showing the results of sorting words and similarities in descending order of similarity.
  • the similarities between the word "patent”, which is the reference, and the "summary meeting ⁇ OSA" and the “extraction meeting”, which have similar concepts are high. Also, much noise can be reduced. That is, according to the information processing apparatus according to the present embodiment, the process of detecting a word having a concept similar to the designated word is improved as compared with the result of the conventional technique described in FIG.
  • FIG. 3 is a functional block diagram showing the configuration of the information processing apparatus according to the present embodiment.
  • the information processing device 100 includes a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
  • the communication unit 110 is a processing unit that communicates with other external devices via the network.
  • the communication unit 110 receives the information of the conference information table 140b described later from the external device.
  • the control unit 150 which will be described later, exchanges information with an external device via the communication unit 110.
  • the communication unit 110 is an example of a communication device.
  • the input unit 120 is an input device for inputting various information to the information processing device 100.
  • the input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.
  • the user operates the input unit 120 to input a user ID (identification), a conference name (word), and the like.
  • the display unit 130 is a device that displays information output from the control unit 150.
  • the display unit 130 corresponds to a liquid crystal display, a touch panel, or the like.
  • the display unit 130 displays a plurality of words (meeting name) that are similar in concept to the word (meeting name) input by the user.
  • the display unit 130 displays the similarity list and the like shown in FIG.
  • the storage unit 140 has a user table 140a, a conference information table 140b, text data 140c, a distributed expression list 140d, a first similarity table 140e, and a second similarity table 140f.
  • the storage unit 140 corresponds to semiconductor memory devices such as RAM (Random Access Memory), ROM (Read Only Memory), and flash memory (Flash Memory), and storage devices such as HDD (Hard Disk Drive).
  • the user table 140a is a table that defines a user name for a user ID.
  • FIG. 4 is a diagram showing an example of the data structure of the user table. As shown in FIG. 4, the user table 140a associates the user ID with the user name. For example, the user name corresponding to the user ID “user101” is “OSA”.
  • the conference information table 140b is a table that holds various information regarding conferences that the user has used in the past.
  • FIG. 5 is a diagram showing an example of the data structure of the conference information table.
  • the conference information table 140b associates the conference room name, the meeting name, and the participant list.
  • the conference room name indicates the name of the conference room used by the user.
  • the meeting name is information input to the user, and is information (words and character strings) related to the meeting used when the user holds a meeting.
  • the participant list is the user name of each user who participated in the meeting.
  • the meeting with the meeting name “XX/Research Consignment/Theme/Meeting” is held in the meeting room with the meeting room name “C102” and the participants are “MURA, YAMA It is.
  • the user may operate the input unit 120 to input the conference room name, the meeting name, and the participant list in the conference information table 140b.
  • the information in the conference information table 140b may be collected and registered in the conference information table 140b.
  • the text data 140c is text information.
  • FIG. 6 is a diagram showing an example of the data structure of text data. Each character string of the text data 140c shown in FIG. 6 is generated based on the conference information table 140b.
  • the distributed expression list 140d is a table that holds a distributed expression of each character string.
  • FIG. 7 is a diagram showing an example of the data structure of the distributed expression list. As shown in FIG. 7, the distributed expression list 140d associates character strings with distributed expressions.
  • the character string is a concatenation of a user (user name) and a word obtained as a result of morphological analysis of the meeting name in FIG.
  • the distributed expression is a distributed expression calculated based on learning of a word distributed expression represented by word2vec.
  • the first similarity table 140e is a table that holds the similarity of each character string included in the distributed expression list 140d.
  • FIG. 8 is a diagram showing an example of the data structure of the first similarity table. As shown in FIG. 8, this first similarity table associates a reference character string with a list. Each list is a list showing each similarity between a reference character string and each character string to be compared. A reference character string is referred to as a “reference character string”. For example, the reference character string corresponds to the first character string, and the character string to be compared corresponds to the second character string.
  • FIG. 9 is a diagram showing an example of a list included in the first similarity table.
  • the list shown in FIG. 9 has a reference character string, a rank, a character string, and a degree of similarity.
  • the reference character string is a character string that serves as a reference when calculating the degree of similarity.
  • the character string is a character string to be compared with the reference character string.
  • the degree of similarity indicates the degree of similarity between the distributed representation of the reference character string and the distributed representation of the character string.
  • the rank is obtained by ranking the set of the reference character string and the character string based on the degree of similarity. The smaller the number of ranks, the greater the similarity between the reference character string and the character string.
  • the second similarity table 140f is a table obtained by performing the process described in FIG. 1 on each list of the first similarity table 140e.
  • FIG. 10 is a diagram showing an example of the data structure of the second similarity table. As shown in FIG. 10, the second similarity table 140f associates the reference character string with the list. Each list is a list showing each similarity between the reference character string and each character string to be compared.
  • FIG. 11 is a diagram showing an example of a list included in the second similarity table.
  • the list shown in FIG. 11 has a reference character string, a rank, a character string (word), and a degree of similarity.
  • the reference character string is a character string that serves as a reference when calculating the degree of similarity.
  • the character string is a character string to be compared with the reference character string.
  • the degree of similarity is a degree of similarity obtained by performing the process described in FIG. 1 on the degree of similarity of each character string shown in FIG.
  • the rank is obtained by ranking the set of the reference character string and the character string based on the degree of similarity.
  • the control unit 150 includes an acquisition unit 150a, a text generation unit 150b, a distributed expression calculation unit 150c, a similarity calculation unit 150d, an extraction unit 150e, and a search processing unit 150f.
  • the control unit 150 can be realized by a CPU (Central Processing Unit) or MPU (Micro Processing Unit).
  • the control unit 150 can also be realized by hard-wired logic such as ASIC (Application Specific Integrated Circuit) and FPGA (Field Programmable Gate Array).
  • the acquisition unit 150a is a processing unit that acquires information regarding the conference information table 140b. For example, the acquisition unit 150a acquires the information on the conference room name, the meeting name, and the participant list from the external device via the communication unit 110, and stores the information in the conference information table 140b.
  • the external device is a device that manages the usage history of the conference. Further, the user operates the input unit 120 to input the information of the conference room name, the meeting name, and the participant list, and the acquisition unit 150a acquires the input information and stores it in the conference information table 140b. Good.
  • the text generation unit 150b is a processing unit that generates the text data 140c based on the meeting name and the participant list of the conference information table 140b. For example, the text generation unit 150b extracts a record from the conference information table 140b and arranges the conference room included in the record. Further, the text generation unit 150b performs morpheme analysis on the meeting name and connects each morpheme with each user on the participant list to generate text data.
  • the conference room name of the record is “meeting room A”
  • the morpheme (morpheme list) obtained by morphological analysis of the meeting name is “w1, w2, w3,..., Wn”.
  • the users included in the participant list are “p1, p2,..., pm”.
  • the text generator 150b generates the following text data.
  • the text generation unit 150b generates a plurality of text data by repeatedly executing the above process for each user of each record of the conference information table 140b, and collects the generated plurality of text data to generate the text data 140c. To generate.
  • the text generation unit 150b stores the text data 140c in the storage unit 140.
  • the distributed expression calculation unit 150c is a processing unit that calculates (learns) the distributed expression (vector) of each character string included in the text data 140c based on the learning of the word distributed expression represented by word2vec.
  • the distributed expression calculation unit 150c associates the character string with the distributed expression and stores them in the distributed expression list 140d. For example, the distributed expression calculation unit 150c calculates a distributed expression for a character string (for example, w ⁇ p) in which a word included in the text data 140c and a user are connected.
  • the similarity calculation unit 150d is a processing unit that calculates the similarity of each character string.
  • the similarity calculation unit 150d generates the first similarity table 140e based on the distributed expression list 140d.
  • the similarity calculation unit 150d also generates a second similarity table 140f based on the first similarity table 140e.
  • the similarity calculation unit 150d selects a reference character string from each character string in the distributed expression list 140d, compares the distributed expression of the selected reference character string with the distributed expression of each of the other character strings, and Calculate the similarity for each character string. For example, the similarity calculation unit 150d calculates the distance between the distributed representation (vector) of the reference character string and the distributed representation (vector) of another character string as the similarity.
  • the similarity calculation unit 150d stores, in the first similarity table 140e, each similarity between the reference character string and each of the other character strings as a list. For example, the list when the reference character string is "patent ⁇ OSA" is the list shown in FIG.
  • the similarity calculation unit 150d sorts the character strings and the similarities in descending order of the similarity and sets the rank.
  • the similarity calculation unit 150d selects a reference character string from the character strings in the distributed expression list 140d and repeats the above process to generate a list corresponding to the selected reference character string, thereby generating the first similarity.
  • the information of the table 140e is generated.
  • the similarity calculation unit 150d stores the first similarity table 140e in the storage unit 140.
  • the similarity calculation unit 150d selects a record in the first similarity table 140e, and performs the following process on the list included in the selected record.
  • the similarity calculation unit 150d calculates the similarity (before normalization) between the word wX of the reference character string and the word wi of the character string to be compared based on the expression (1), and then the expression (2) is obtained. Based on this, the degree of similarity (after normalization) is calculated.
  • the similarity calculation unit 150d calculates the similarity of the list by repeatedly executing the above process for each character string included in the list, and registers it in the second similarity table 140f.
  • the similarity calculation unit 150d repeatedly executes the above process for each record of the first similarity table 140e to calculate the information of the second similarity table 140f, and stores the information in the storage unit 140.
  • the similarity calculation unit 150d calculates Ui as follows.
  • the similarity calculation unit 150d calculates Vi as follows.
  • the character string including the word “patent” is a character string of ranks 1, 8, and 9.
  • the similarity calculation unit 150d calculates Ui as follows.
  • the similarity calculation unit 150d calculates Vi as follows.
  • the character string including the word “summary meeting” is the character string of ranks 3, 13, 15, and 20.
  • the similarity calculation unit 150d calculates the similarity (after normalization) “0.8170” of the word “summary” by the formula (2).
  • the similarity calculation unit 150d performs the above processing for the words of other character strings as well, so that the similarity of the second similarity table 140f shown in FIG. 11 is changed from the list of the first similarity table 140e shown in FIG. Generate a list.
  • the similarity calculation unit 150d sorts the character strings and the similarities in descending order of the similarity and sets the rank.
  • the similarity calculation unit 150d repeatedly executes the above process for each list in the first similarity table 140e in FIG. 8 to generate information in each list in the second similarity table 140f in FIG.
  • the similarity calculation unit 150d stores the information of each list of the second similarity table 140f in the second similarity table 140f.
  • the extraction unit 150e is a processing unit that extracts a character string (word) similar to each reference character string based on the second similarity table 140f. For example, the extraction unit 150e extracts, based on the second similarity table 140f, information of character strings up to rank L and similarity for each reference character string, and outputs the extracted extraction result to the display unit 130. To do. Alternatively, the extraction unit 150e transmits the character string up to the Lth rank and the similarity information to the external device. “L” is a natural number of 1 or more that is appropriately set.
  • the search processing unit 150f is a processing unit that searches for a meeting name and a word having a similar concept when the user ID and the meeting name (X) are input from the input unit 120.
  • the search processing unit 150f outputs and displays the search result on the display unit 130.
  • an example of the processing of the search processing unit 150f will be described.
  • the search processing unit 150f compares the user ID with the user table 140a and acquires the user name corresponding to the user ID.
  • the search processing unit 150f performs morpheme analysis on the meeting name to generate a morpheme list.
  • the search processing unit 150f creates a search character string by connecting the morpheme and the user name for each morpheme included in the morpheme list. For example, if the morpheme “summary meeting” and the user name are “OSA”, the search processing unit 150f generates the search character string “summary meeting OSA”. When there are a plurality of morphemes, a plurality of search character strings are generated.
  • the search processing unit 150f compares the search character string with the reference character string of the second similarity table 140f, identifies a record that includes the same reference character string as the search character string, and lists included in the identified record. To get The search processing unit 150f acquires each character string included in the acquired list and the degree of similarity. In the following description, a word included in each character string included in the acquired list will be referred to as a “synonym”. In addition, the similarity of a character string including a synonym is described as a synonym “score”.
  • the search processing unit 150f compares the synonym with the meeting name in the conference information table 140b, identifies the meeting name (Y) including the synonym, and adds the score of the synonym to the score corresponding to the specified meeting name.
  • the initial value of the score corresponding to each meeting name is “0”.
  • the search processing unit 150f may normalize the score for the meeting name. For example, the score corresponding to the meeting name is normalized based on the equation (3).
  • N included in the equation (3) is a value obtained by dividing the number of morphemes of the meeting name (X) by the number of morphemes of the meeting name (Y).
  • N is larger than 1, the value of N is updated to a value obtained by dividing the number of morphemes of the meeting name (Y) by the number of morphemes of the meeting name (X).
  • Score (after normalization) Score (before normalization)/N... (3)
  • the search processing unit 150f calculates the score for each meeting name (Y) by repeatedly executing the above processing.
  • the search processing unit 150f sorts the meeting names (Y) in descending order of the score, searches for the top M meeting names, and outputs them to the display unit 130.
  • FIG. 12 is a flowchart showing the processing procedure of the information processing apparatus according to the present embodiment.
  • the acquisition unit 150a of the information processing device 100 acquires the information of the conference information table 140b from the external device or the input unit 120 (step S10).
  • the text generation unit 150b of the information processing device 100 executes a text generation process (step S11).
  • the distributed expression calculation unit 150c of the information processing apparatus 100 calculates a distributed expression (vector) of each character string and stores it in the distributed expression list 140d (step S12).
  • the similarity calculation unit 150d of the information processing device 100 calculates the similarity of each character string and stores it in the first similarity table 140e (step S13).
  • the similarity calculation unit 150d executes a similarity calculation process (step S14).
  • the similarity calculation unit 150d executes a normalization process (step S15).
  • the similarity calculation unit 150d generates information on the second similarity table (step S16).
  • the extraction unit 150e of the information processing apparatus 100 extracts and outputs the upper character string of each list of the second similarity table 140f (step S17).
  • FIG. 13 is a flowchart showing the processing procedure of the text generation processing.
  • the text generation unit 150b of the information processing device 100 acquires a record from the conference information table 140b (step S101).
  • the text generation unit 150b sets an output buffer in the storage unit 140 (step S102).
  • the text generation unit 150b selects the meeting name of the record (step S103).
  • the text generation unit 150b performs morpheme analysis on the meeting name to generate a morpheme list (step S104).
  • the text generation unit 150b acquires the participant list of the record (step S105).
  • the text generation unit 150b sets a line buffer in the storage unit 140 (step S106).
  • the text generation unit 150b repeatedly executes the process of adding "W ⁇ AW" to the row buffer for each morpheme (W) in the morpheme list and each user (A) in the participant list (step S107).
  • the text generation unit 150b adds the information in the line buffer to the output buffer and starts a new line (step S108).
  • the text generation unit 150b determines whether all the records have been acquired from the conference information table 140b (step S109). If all the records have not been acquired from the conference information table 140b (step S109, No), the text generation unit 150b proceeds to step S101.
  • step S109 when all the records are acquired from the conference information table 140b (step S109, Yes), the text generation unit 150b moves to step S110.
  • the text generation unit 150b stores the information in the output buffer as the text data 140c in the storage unit 140 (step S110).
  • FIG. 14 is a flowchart showing the processing procedure of the similarity calculation processing.
  • the similarity calculation unit 150d acquires a list of reference character strings in the first similarity table (step S201).
  • the similarity calculation unit 150d selects the reference character string WA and acquires the words (w1, w2,..., Wk) of each character string in the top k of the list corresponding to the reference character string WA (step S202). ..
  • the similarity calculation unit 150d initializes the count U and the similarity V of the words (w1, w2,..., Wk) of each character string (step S203).
  • step S204 When the user (user name) is not connected to the word wi (step S204, No), the similarity calculation unit 150d moves to step S205. On the other hand, if the user (user name) is connected to the word wi (step S204, Yes), the similarity calculation unit 150d moves to step S207.
  • step S205 The processing of step S205 will be described.
  • the similarity calculation unit 150d performs a process of adding 1 to the count U[wi] (step S205).
  • the similarity calculation unit 150d performs a process of adding the similarity V[wi] to the similarity of wi ⁇ 1/log(i+1) (step S206), and proceeds to step S209.
  • step S207 determines whether the user (p) included in the reference character string WA and the user (pi) included in the character string wi are the same (step S207). When the user (p) included in the reference character string WA and the user (pi) included in the character string wi are not the same (step S207, No), the similarity calculation unit 150d proceeds to step S205.
  • step S207 when the user (p) included in the reference character string WA and the user (pi) included in the character string wi are the same (step S207, Yes), the similarity calculation unit 150d determines that the wi ⁇ pi. The similarity (score (WA, wi)) is registered as it is (step S208), and the process proceeds to step S205.
  • the similarity calculation unit 150d adds 1 to i (step S209). If i is equal to or less than k (step S210, Yes), the similarity calculation unit 150d proceeds to step S204. On the other hand, if i is larger than k (step S210, No), the similarity calculation unit 150d moves to step S211.
  • the similarity calculation unit 150d registers the similarity of wi to the reference character string WA (step S211). If not all reference character strings have been selected (No in step S212), the similarity calculation unit 150d proceeds to step S202. On the other hand, when the similarity calculation unit 150d selects all the reference character strings (Yes in step S212), the similarity calculation unit 150d ends the process.
  • FIG. 15 is a flowchart showing the processing procedure of the normalization processing.
  • the similarity calculation unit 150d selects the word W of the reference character string WA (step S301).
  • the similarity calculation unit 150d sets the similarity of the same word as the word W(wX) as norm (step S302).
  • the similarity calculation unit 150d selects the similar word T(wi) of the word W (step S303). When the format of the similar word T is w ⁇ p (Yes in step S304), the similarity calculation unit 150d proceeds to step S306. On the other hand, when the format of the similar word T is not w ⁇ p (No in step S304), the similarity calculation unit 150d normalizes the similarity between the word W and the similar word TT (step S305).
  • step S306 If not all the similar words T have been selected (step S306), the similarity calculation unit 150d moves to step S303. On the other hand, if all the similar words T have been selected (Yes at step S306), the similarity calculation unit 150d proceeds to step S307.
  • step S307 If all the words W have not been selected (No in step S307), the similarity calculation unit 150d proceeds to step S301. On the other hand, the similarity calculation unit 150d ends the process when all the words W have been selected (step S307, Yes).
  • FIG. 16 is a flowchart showing the processing procedure of the search processing unit.
  • the search processing unit 150f of the information processing apparatus 100 receives the user ID from the input unit 120 and acquires the user name from the user table 140a (step S401).
  • the search processing unit 150f receives the input of the meeting name from the input unit 120 (step S402).
  • the search processing unit 150f morphologically analyzes the meeting name and generates a morphological list (step S403).
  • the search processing unit 150f generates a search character string (step S404).
  • the search processing unit 150f initializes the scores of all the meeting names to 0 (step S405).
  • the search processing unit 150f acquires a list of similarities corresponding to the search character string from the second similarity table 140f (step S406).
  • the search processing unit 150f selects the synonyms included in the list (step S407).
  • the search processing unit 150f acquires synonyms and scores (step S408).
  • the search processing unit 150f acquires a list of meeting names including synonyms, and adds a synonym score for each meeting name (step S409).
  • the search processing unit 150f normalizes the score of each meeting name (step S410).
  • step S411 If all the synonyms have not been selected (No in step S411), the search processing unit 150f proceeds to step S407. On the other hand, the search processing unit 150f sorts the meeting names in descending order of the score and outputs the higher meeting name to the display unit 130 (step S412).
  • the information processing apparatus 100 compares, based on each user and each meeting name in the participant list of the conference, a distributed expression of a character string in which a word (morpheme) of the meeting name and a user name are connected to each other, and the similarity is calculated. To calculate. As a result, it is possible to detect a word having a concept similar to the word of a certain meeting.
  • the character string to which the distributed expression is assigned includes the morpheme of the user name and the meeting name
  • the character strings that include users who participated in the same meeting include users who did not participate in the same meeting.
  • a list of synonyms calculated by the information processing device 100 is as shown in 10B of FIG. 2 above.
  • the similarities between the word "patent”, which is the reference, and the "summary meeting ⁇ OSA” and the “extraction meeting”, which have similar concepts, are high. Also, much noise can be reduced. That is, according to the information processing apparatus according to the present embodiment, the process of detecting a word having a concept similar to the designated word is improved as compared with the result of the conventional technique described in FIG.
  • the information processing apparatus 100 compares the distributed expression of the reference character string and the distributed expression of the comparison target character string to calculate the similarity, and generates the first similarity table 140e. Further, the information processing apparatus 100 acquires a list corresponding to the reference character string from the first similarity table 140e, and based on the rank of the comparison target character strings included in the list, the similarity of the comparison target character strings. Is calculated (corrected). As a result, the higher the rank, the larger the similarity can be set, and the detection accuracy can be improved.
  • the information processing apparatus 100 calculates (corrects) the degree of similarity of the comparison target character strings based on the number of appearances of the words of the comparison target character strings among the higher order k of the comparison target character strings included in the list. ..
  • the degree of similarity can be set to be large for words that appear frequently, and detection accuracy can be improved.
  • k is a preset value.
  • FIG. 17 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing apparatus according to the present embodiment.
  • the computer 400 includes a CPU 401 that executes various types of arithmetic processing, an input device 402 that receives data input from a user, and a display 403.
  • the computer 400 also includes a reading device 404 that reads a program or the like from a storage medium, and an interface device 405 that exchanges data with an external device or the like via a wired or wireless network.
  • the computer 400 has a RAM 406 for temporarily storing various information and a hard disk device 407. Each of the devices 401 to 407 is connected to the bus 408.
  • the hard disk device 407 has an acquisition program 407a, a text generation program 407b, a distributed expression calculation program 407c, a similarity calculation program 407d, an extraction program 407e, and a search program 407f.
  • the CPU 401 reads the acquisition program 407a, the text generation program 407b, the distributed expression calculation program 407c, the similarity calculation program 407d, the extraction program 407e, and the search program 407f, and expands them in the RAM 406.
  • the acquisition program 407a functions as the acquisition process 406a.
  • the text generation program 407b functions as a text generation process 406b.
  • the distributed expression calculation program 407c functions as a distributed expression calculation process 406c.
  • the similarity calculation program 407d functions as a similarity calculation process 406d.
  • the extraction program 407e functions as the extraction process 406e.
  • the search program 407f functions as the search process 406f.
  • the process of the acquisition process 406a corresponds to the process of the acquisition unit 150a.
  • the processing of the text generation process 406b corresponds to the processing of the text generation unit 150b.
  • the processing of the distributed expression calculation process 406c corresponds to the processing of the distributed expression calculation unit 150c.
  • the processing of the similarity calculation process 406d corresponds to the processing of the similarity calculation unit 150d.
  • the process of the extraction process 406e corresponds to the process of the extraction unit 150e.
  • the processing of the search program 407f corresponds to the processing of the search processing unit 150f.
  • each of the programs 407a to 407f does not necessarily have to be stored in the hard disk device 407 from the beginning.
  • each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC card, which is inserted into the computer 400. Then, the computer 400 may read out and execute each of the programs 407a to 407f.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報処理装置100は、第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する。情報処理装置100は、第一の単語と第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出する。情報処理装置100は、第二の単語と第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出する。情報処理装置100は、第一の分散表現と第二の分散表現との類似度を算出し、類似度を基にして、第二の分散表現に対応付けられた単語を抽出する。

Description

抽出方法、抽出プログラムおよび情報処理装置
 本発明は、抽出方法等に関する。
 ユーザの指定する条件に応じた会議室を調整する会議調整システムがある。従来の会議調整システムでは、ユーザによって予約条件が指定されると、予約条件を満たす会議室を検索し、検索結果を出力する。たとえば、ユーザは、予約条件として、会議の参加人数、希望する会議室の優先度、会議の機密性等を指定する。
 ここで、会議システムを利用する度に、ユーザが各種の予約条件を指定する作業は、ユーザに負担をかけるため、ユーザによって入力される情報を最小限にして、ユーザの希望にあう会議室を検索することが好ましい。
 たとえば、ユーザが指定(音声入力)した「ある単語」に類似する会議名を抽出することができれば、類似する会議名に関する履歴から、ユーザが過去に参加した会議室や参加人数を推定でき、ユーザの希望にあう会議室を予約することができる。
 単語の類似度を算出する従来技術として、word2vecに代表される単語分散表現の学習を用いる技術がある。この従来技術では、テキストデータを解析して、単語を分散表現化(単語ベクトル化)し、各単語のベクトルを比較して、単語間の類似度を算出する。
特開2014-127079号公報 特開2012-141752号公報 特開2006-252064号公報
 しかしながら、上述した従来技術では、単語の類似概念を抽出することができないという問題がある。
 たとえば、ユーザが「打ち合わせ」なる単語を指定した場合に、会議名の観点から、この「打ち合わせ」に対して類似概念となる単語(会議名)を抽出することが望ましい。しかし、従来技術のように、各単語の分散表現の単純な比較によって得られる類似度を基にして、類似度の高い単語を抽出すると多くのノイズが含まれてしまう。
 図18は、従来技術による類似度の算出結果の一例を示す図である。図18に示す例では、単語「打ち合わせ」と、他の各単語との類似度の一例を示す。図18において「’’」で示される単語が類似度を算出する際に比較された単語である。単語の横に示す数値が類似度である。たとえば、単語「打ち合わせ」と単語「検討」との類似度は「0.08011」となる。ここでは、単語「打ち合わせ」との類似度が大きいものから降順に各単語を示している。
 ここで、単語「打ち合わせ」の類似概念となる単語は、ユーザが判断すると、「ご相談、相談、抽出会、まとめの会、bu会」であるが、かかる単語と「打ち合わせ」との類似度は非常に小さくなってしまう。これに対して、単語「打ち合わせ」の類似概念とならない単語「検討、FUK、nmpj、小、最大」と、単語「打ち合わせ」との類似度は大きくなってしまう。すなわち、各単語の分散表現の単純な比較によって得られる類似度を算出し、類似度の高い単語を抽出すると多くのノイズが含まれてしまい、ユーザに指定された単語の類似概念を抽出することができない。
 1つの側面では、本発明は、単語の類似概念を抽出することができる抽出方法、抽出プログラムおよび情報処理装置を提供することを目的とする。
 第1の案では、コンピュータが次の処理を実行する。コンピュータは、第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する。コンピュータは、第一の単語と第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出する。コンピュータは、第二の単語と第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出する。コンピュータは、第一の分散表現と第二の分散表現との類似度を算出し、類似度を基にして、第二の分散表現に対応付けられた単語を抽出する。
 単語の類似概念を精度よく抽出することができる。
図1は、本実施例にかかる情報処理装置の処理の一例を説明するための図である。 図2は、類似度の算出結果の一例を示す図である。 図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図4は、ユーザテーブルのデータ構造の一例を示す図である。 図5は、会議情報テーブルのデータ構造の一例を示す図である。 図6は、テキストデータのデータ構造の一例を示す図である。 図7は、分散表現リストのデータ構造の一例を示す図である。 図8は、第1類似度テーブルのデータ構造の一例を示す図である。 図9は、第1類似度テーブルに含まれるリストの一例を示す図である。 図10は、第2類似度テーブルのデータ構造の一例を示す図である。 図11は、第2類似度テーブルに含まれるリストの一例を示す図である。 図12は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。 図13は、テキスト生成処理の処理手順を示すフローチャートである。 図14は、類似度算出処理の処理手順を示すフローチャートである。 図15は、正規化処理の処理手順を示すフローチャートである。 図16は、検索処理部の処理手順を示すフローチャートである。 図17は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図18は、従来技術による類似度の算出結果の一例を示す図である。
 以下に、本願の開示する抽出方法、抽出プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
 図1は、本実施例にかかる情報処理装置の処理の一例を説明するための図である。情報処理装置は、ユーザ(あるいは、会議の参加者)が入力した単語を取得し、単語とユーザとを連結した文字列を生成する。たとえば、ユーザ「OSA」が、単語「特許」を入力した場合に、情報処理装置は、文字列「特許^OSA」を生成する。ユーザ「MAS」が、単語「特許」を入力した場合に、情報処理装置は、文字列「特許^MAS」を生成する。情報処理装置は、他の各ユーザ、他の各単語に関して、上記処理を繰り返し実行することで、複数の文字列を生成する。なお、情報処理装置は、単語のみ取得した場合には、単語とユーザとの連結を行わないで、単語のみの文字列とする。
 情報処理装置は、word2vecに代表される単語分散表現の学習を基にして、各文字列の分散表現(ベクトル)をそれぞれ算出する。また、情報処理装置は、各文字列の分散表現を比較して、単語間の類似度を算出する。図1に示す例では、文字列「特許^OSA」と、他の各文字列との類似度を示す。図1において「’’」で示される文字列が類似度を算出する際に比較された分散表現に対応する文字列である。文字列の横に示す数値が類似度である。たとえば、文字列「特許^OSA」と文字列「特許^MAS」との類似度は「0.9893」となる。ここでは、文字列「特許^OSA」との類似度が大きいものから降順に各文字列を示している。順位は、値が小さいほど、基準となる文字列(たとえば「特許^OSA」)との類似度が高いことを示す。
 続いて、情報処理装置は、各文字列の類似度を基にして、各単語の類似度を算出する。単語の類似度は、文字列に含まれる単語の出現回数と、単語を含む文字列の順位に応じて算出される。たとえば、情報処理装置は、式(1)を基にして、基準となる文字列の単語「wX」と、比較対象の単語「wi」との類似度を算出する。
 単語wXと単語wiとの類似度(正規化前)=Vi×sqrt(sqrt(Ui))・・・(1)
 式(1)において、「Vi」は、上位kまでの文字列に含まれる単語wiについて、wiの順位を考慮した類似度の総計を示すものである。たとえば、順位i(i<k)の文字列に含まれる単語wiの類似度は、「順位i(i<k)の文字列の類似度×log(i+1)」とする。上位kまでに、複数の同一の単語wiが存在する場合には、各単語wiの類似度を総計したものが、Viの値となる。単語wiを含む文字列の順位が下位であるほど、単語wiの類似度は小さくなる。
 式(1)において、「Ui」は、上位kまでの文字列に関する、単語wiの出現回数を示すものである。
 なお、単語wXに連結されたユーザと、単語wiに連結されたユーザとが同一のユーザである場合、単語wXと単語wiとの類似度(正規化前)は、単語wiを含む文字列の類似度のままとする(第1条件)。
 式(1)によって算出される類似度は、式(2)に基づいて正規化される。normは、式(1)によって算出される単語Wxと同一の単語との類似度(正規化前)とする。なお、単語Wxと同一の単語との類似度が算出されていない場合には、norm=1となる。
 単語wXと単語wiとの類似度(正規化後)=式(1)の類似度/norm・・・(2)
 ここで、情報処理装置が、単語wX=特許(文字列「特許^OSA」の単語)と、単語wi=特許との類似度を算出する処理について説明する。k=20として説明を行う。Uiは次のようになる。図1に示す例では、上位k=20までの文字列に関する、単語「特許」の出現回数が「3」となるため、「Ui=3」となる。
 Viは、次のようになる。上位k=20の各文字列について、単語「特許」を含む文字列は、順位1、8、9の文字列となる。ここで、順位1の文字列「特許^MAS」に含まれる単語「特許」の類似度は「0.9893×1/log(1+1)=3.2867」となる。順位8の文字列「特許^FUU」に含まれる単語「特許」の類似度は「0.9691×1/log(8+1)=1.0156」となる。順位9の文字列「特許^MOO」に含まれる単語「特許」の類似度は「0.9689×1/log(9+1)=0.9690」となる。このため、Vi=3.2867+1.0156+0.9690=5.2713となる。式(1)に代入すると、単語「特許」の類似度(正規化前)は「6.9375」となる。
 また、単語wX=特許に対応するnormは、単語「特許」の類似度となる(wX=wi)ため、norm=6.9375となる。したがって、単語「特許」の類似度を正規化すると、類似度は「1」となる。
 続いて、情報処理装置が、単語wX=特許(文字列「特許^OSA」の単語)と、単語wi=まとめ会との類似度を算出する処理について説明する。また、k=20として説明を行う。Uiは次のようになる。図1に示す例では、上位kまでの文字列に関する、単語「まとめ会」の出現回数が「4」となるため、「Ui=4」となる。
 Viは次のようになる。上位k=20の各文字列について、単語「まとめ会」を含む文字列は、順位3、13、15、20の文字列となる。ここで、順位3の文字列「まとめ会^OSA」に含まれる単語「まとめ会」の類似度は「0.9826×1/log(3+1)=1.6320」となる。順位13の文字列「まとめ会」に含まれる単語「まとめ会」の類似度は「0.9675×1/log(13+1)=0.8442」となる。順位15の文字列「まとめ会」に含まれる単語「まとめ会」の類似度は「0.9674×1/log(15+1)=0.8034」となる。順位20の文字列「まとめ会」に含まれる単語「まとめ会」の類似度は「0.9630×1/log(20+1)=0.72983」となる。そうすると、Vi=1.6320+0.8442+0.8034+0.72983=4.008となる。式(1)に代入すると、単語「まとめ会」の類似度(正規化前)は「5.668」となる。
 また、上記より、norm=6.9375となる。このため、式(2)により、単語「まとめ会」の類似度(正規化後)は「0.8170」となる。なお、「まとめの会^OSA」については、基準となる文字列「特許^OSA」とユーザ名が同一となるため、第1条件により、類似度は「0.9825」となる。他の「まとめ会、まとめの会^II、まとめの会^SAI」については、ユーザ名が異なるので、各「まとめ会、まとめの会^II、まとめの会^SAI」の類似度は、「まとめ会」の類似度「0.8170」となる。
 各文字列について、上記の処理を繰り返し実行すると、各単語の類似度(正規化後)は、図2に示すものとなる。図2は、類似度の算出結果の一例を示す図である。図2に示すリスト10Aは、単語と、類似度との関係を示す。リスト10Bは、類似度の降順に単語と類似度とをソートした結果を示すテーブルである。図2のリスト10Bに示すように、基準となる単語「特許」と類似の概念となる「まとめの会^OSA」、「抽出会」の類似度が大きくなっている。また、多くのノイズを削減できる。すなわち、本実施例に示す情報処理装置によれば、図18で説明した従来技術の結果と比較して、指定された単語と類似の概念となる単語を検出する処理が改善される。
 次に、本実施例に係る情報処理装置の構成の一例について説明する。図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図3に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
 通信部110は、ネットワークを介して他の外部装置と通信を行う処理部である。たとえば、通信部110は、外部装置から後述する会議情報テーブル140bの情報を受信する。後述する制御部150は、通信部110を介して、外部装置と情報をやり取りする。通信部110は、通信装置の一例である。
 入力部120は、情報処理装置100に各種の情報を入力するための入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。たとえば、ユーザは、入力部120を操作して、ユーザID(identification)、会議名(単語)等を入力する。
 表示部130は、制御部150から出力される情報を表示する装置である。表示部130は、液晶ディスプレイやタッチパネル等に対応する。たとえば、表示部130は、ユーザに入力された単語(会議名)の類似概念となる複数の単語(会議名)を表示する。たとえば、表示部130は、図2に示した類似度リスト等を表示する。
 記憶部140は、ユーザテーブル140a、会議情報テーブル140b、テキストデータ140c、分散表現リスト140d、第1類似度テーブル140e、第2類似度テーブル140fを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
 ユーザテーブル140aは、ユーザIDに対するユーザ名を定義するテーブルである。図4は、ユーザテーブルのデータ構造の一例を示す図である。図4に示すように、ユーザテーブル140aは、ユーザIDと、ユーザ名とを対応付ける。たとえば、ユーザID「user101」に対応するユーザ名は「OSA」となる。
 会議情報テーブル140bは、ユーザが過去に利用した会議に関する各種の情報を保持するテーブルである。図5は、会議情報テーブルのデータ構造の一例を示す図である。図5に示すように、会議情報テーブル140bは、会議室名と、打ち合わせ名と、参加者リストとを対応付ける。会議室名は、ユーザが利用した会議室の名称を示す。打ち合わせ名は、ユーザに入力される情報であり、ユーザが会議を行う場合に用いた打ち合わせに関連する情報(単語、文字列)である。参加者リストは、打ち合わせに参加した各ユーザのユーザ名である。
 たとえば、図5の1行目のレコードを参照すると、打ち合わせ名「XX/研究委託/テーマ/打合せ」の会議は、会議室名「C102」の会議室で行われ、参加者は「MURA、YAMA」である。ユーザが入力部120を操作して、会議情報テーブル140bに、会議室名、打ち合わせ名、参加者リストを入力してもよいし、情報処理装置100が、会議の使用履歴を管理する外部装置から、会議情報テーブル140bの情報を収集して、会議情報テーブル140bに登録してもよい。
 テキストデータ140cは、テキストの情報である。図6は、テキストデータのデータ構造の一例を示す図である。図6に示すテキストデータ140cの各文字列は、会議情報テーブル140bを基にして生成される。
 分散表現リスト140dは、各文字列の分散表現を保持するテーブルである。図7は、分散表現リストのデータ構造の一例を示す図である。図7に示すように、この分散表現リスト140dは、文字列と、分散表現とを対応付ける。文字列は、ユーザ(ユーザ名)と、図5の打ち合わせ名を形態素解析した結果得られる単語とを連結したものである。分散表現は、word2vecに代表される単語分散表現の学習を基にして、算出される分散表現である。
 第1類似度テーブル140eは、分散表現リスト140dに含まれる各文字列の類似度を保持するテーブルである。図8は、第1類似度テーブルのデータ構造の一例を示す図である。図8に示すように、この第1類似度テーブルは、基準文字列と、リストとを対応付ける。各リストはそれぞれ、基準となる文字列と、比較対象の各文字列との各類似度を示すリストである。基準となる文字列を、「基準文字列」と表記する。たとえば、基準文字列が、第一の文字列に対応し、比較対象の文字列が、第二の文字列に対応する。
 図9は、第1類似度テーブルに含まれるリストの一例を示す図である。図9に示すリストは、基準文字列、順位、文字列、類似度を有する。基準文字列は、類似度を算出する場合の基準となる文字列である。文字列は、基準文字列の比較対象となる文字列である。類似度は、基準文字列の分散表現と、文字列の分散表現との類似度を示す。順位は、基準文字列と文字列との組について、類似度の大きさに基づき順位付けしたものである。順位の数が小さいものほど、基準文字列と文字列との類似度が大きい。
 第2類似度テーブル140fは、第1類似度テーブル140eの各リストについて、図1で説明した処理を行うことで得られるテーブルである。図10は、第2類似度テーブルのデータ構造の一例を示す図である。図10に示すように、この第2類似度テーブル140fは、基準文字列と、リストとを対応付ける。各リストはそれぞれ、基準文字列と、比較対象の各文字列との各類似度を示すリストである。
 図11は、第2類似度テーブルに含まれるリストの一例を示す図である。図11に示すリストは、基準文字列、順位、文字列(単語)、類似度を有する。基準文字列は、類似度を算出する場合の基準となる文字列である。文字列は、基準文字列の比較対象となる文字列である。類似度は、図9に示した各文字列の類似度について、図1で説明した処理を行うことで得られる類似度である。順位は、基準文字列と文字列との組について、類似度の大きさに基づき順位付けしたものである。
 図3の説明に戻る。制御部150は、取得部150a、テキスト生成部150b、分散表現算出部150c、類似度算出部150d、抽出部150e、検索処理部150fを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
 取得部150aは、会議情報テーブル140bに関する情報を取得する処理部である。たとえば、取得部150aは、通信部110を介して外部装置から、会議室名、打ち合わせ名、参加者リストの情報を取得し、会議情報テーブル140bに格納する。外部装置は、会議の使用履歴を管理する装置である。また、ユーザが入力部120を操作して、会議室名、打ち合わせ名、参加者リストの情報を入力し、取得部150aは、入力された情報を取得して、会議情報テーブル140bに格納してもよい。
 テキスト生成部150bは、会議情報テーブル140bの打ち合わせ名および参加者リストを基にして、テキストデータ140cを生成する処理部である。たとえば、テキスト生成部150bは、会議情報テーブル140bのレコードを抽出し、レコードに含まれる会議室を配置する。また、テキスト生成部150bは、打ち合わせ名を形態素解析し、各形態素と参加者リストの各ユーザとを連結することで、テキストデータを生成する。
 たとえば、レコードの会議室名を「会議室A」とし、打ち合わせ名を形態素解析して得られる形態素(形態素リスト)を「w1,w2,w3,・・・,wn」とする。また、参加者リストに含まれるユーザを「p1,p2,・・・,pm」とする。この場合には、テキスト生成部150bは、次のようなテキストデータを生成する。
 会議室A w1 w2・・・wn w1^p1 w2^p1・・・wn^p1
 会議室A w1 w2・・・wn w1^p2 w2^p2・・・wn^p2
 ・・・
 会議室A w1 w2・・・wn w1^pm w2^pm・・・wn^pm
 テキスト生成部150bは、会議情報テーブル140bの各レコードの各ユーザについて、上記処理を繰り返し実行することで、複数のテキストデータを生成し、生成した複数のテキストデータをまとめることで、テキストデータ140cを生成する。テキスト生成部150bは、テキストデータ140cを、記憶部140に格納する。
 分散表現算出部150cは、word2vecに代表される単語分散表現の学習に基づいて、テキストデータ140cに含まれる各文字列の分散表現(ベクトル)を算出(学習)する処理部である。分散表現算出部150cは、文字列と分散表現とを対応付けて、分散表現リスト140dに格納する。たとえば、分散表現算出部150cは、テキストデータ140cに含まれる単語とユーザとが連結された文字列(たとえば、w^p)について、分散表現を算出する。
 類似度算出部150dは、各文字列の類似度を算出する処理部である。類似度算出部150dは、分散表現リスト140dを基にして、第1類似度テーブル140eを生成する。また、類似度算出部150dは、第1類似度テーブル140eを基にして、第2類似度テーブル140fを生成する。
 類似度算出部150dが、第1類似度テーブル140eを生成する処理について説明する。類似度算出部150dは、分散表現リスト140dの各文字列から、基準文字列を選択し、選択した基準文字列の分散表現と、他の各文字列との分散表現とをそれぞれ比較して、文字列毎の類似度を算出する。たとえば、類似度算出部150dは、基準文字列の分散表現(ベクトル)と、他の文字列の分散表現(ベクトル)との距離を、類似度として算出する。類似度算出部150dは、上記の基準文字列と、他の各文字列との各類似度を、リストとして、第1類似度テーブル140eに格納する。たとえば、基準文字列を「特許^OSA」とした場合のリストは、図9に示すリストとなる。類似度算出部150dは、類似度の降順に、文字列と類似度とをソートして、順位を設定する。
 類似度算出部150dは、分散表現リスト140dの文字列から基準文字列を選択し、上記処理を繰り返し実行することで、選択した基準文字列に対応するリストを生成することで、第1類似度テーブル140eの情報を生成する。類似度算出部150dは、第1類似度テーブル140eを、記憶部140に格納する。
 続いて、類似度算出部150dが、第1類似度テーブル140eを基にして、第2類似度テーブル140fを生成する処理について説明する。係る類似度算出部150dの処理は、図1で説明した処理に対応するものとなる。
 すなわち、類似度算出部150dは、第1類似度テーブル140eのレコードを選択し、選択したレコードに含まれるリストについて、次の処理を行う。類似度算出部150dは、式(1)を基にして、基準文字列の単語wXと、比較対象の文字列の単語wiとの類似度(正規化前)を算出し、式(2)を基にして、類似度(正規化後)を算出する。
 類似度算出部150dは、リストに含まれる各文字列について上記処理を繰り返し実行することで、リストの類似度を算出し、第2類似度テーブル140fに登録する。類似度算出部150dは、第1類似度テーブル140eの各レコードについて上記処理を繰り返し実行することで、第2類似度テーブル140fの情報を算出し、記憶部140に格納する。
 まず、類似度算出部150dが、図9(図1)に示した単語wX=特許(基準文字列「特許^OSA」の単語)と、単語wi=特許との類似度を算出する処理について説明する。k=20として説明を行う。
 類似度算出部150dは、Uiを次のように算出する。類似度算出部150dは、リストの文字列を走査し、文字列に単語「特許」が出現する回数をカウントする。図9に示す例では「Ui=3」となる。
 類似度算出部150dは、Viを次のように算出する。類似度算出部150dは、リストの文字列を走査し、上位k=20の各文字列について、単語「特許」を含む文字列の順位を特定する。図9に示す例では、単語「特許」を含む文字列は、順位1、8、9の文字列となる。
 類似度算出部150dは、順位1の文字列「特許^MAS」に含まれる単語「特許」の類似度を、「0.9893×1/log(1+1)=3.2867」により算出する。類似度算出部150dは、順位8の文字列「特許^FUU」に含まれる単語「特許」の類似度を、「0.9691×1/log(8+1)=1.0156」により算出する。類似度算出部150dは、順位9の文字列「特許^MOO」に含まれる単語「特許」の類似度を、「0.9689×1/log(9+1)=0.9690」により算出する。
 類似度算出部150dは、単語「特許」の各類似度の総計を算出することで、Viを算出する。具体的には、Vi=3.2867+1.0156+0.9690=5.2713となる。類似度算出部150dは、「Ui=3」と「Vi=5.2713」と、式(1)により、単語「特許」の類似度(正規化前)を「6.9375」として算出する。
 また、単語wX=特許に対応するnormは、単語「特許」の類似度となる(wX=wi)ため、norm=6.9375となる。したがって、類似度算出部150dは、式(2)に基づいて、単語「特許」の類似度を正規化すると、類似度は「1」となる。
 続いて、類似度算出部150dが、図9(図1)に示した単語wX=特許(基準文字列「特許^OSA」の単語)と、単語wi=まとめ会との類似度を算出する処理について説明する。k=20として説明を行う。
 類似度算出部150dは、Uiを次のように算出する。類似度算出部150dは、リストの文字列を走査し、文字列に単語「まとめ会」が出現する回数をカウントする。図9に示す例では「Ui=4」となる。
 類似度算出部150dは、Viを次のように算出する。類似度算出部150dは、リストの文字列を走査し、上位k=20の各文字列について、単語「まとめ会」を含む文字列の順位を特定する。図9に示す例では、単語「まとめ会」を含む文字列は、順位3、13、15、20の文字列となる。
 類似度算出部150dは、順位3の文字列「まとめ会^OSA」に含まれる単語「まとめ会」の類似度を「0.9826×1/log(3+1)=1.6320」により算出する。類似度算出部150dは、順位13の文字列「まとめ会」に含まれる単語「まとめ会」の類似度を「0.9675×1/log(13+1)=0.8442」により算出する。類似度算出部150dは、順位15の文字列「まとめ会」に含まれる単語「まとめ会」の類似度を「0.9674×1/log(15+1)=0.8034」により算出する。類似度算出部150dは、順位20の文字列「まとめ会」に含まれる単語「まとめ会」の類似度を「0.9630×1/log(20+1)=0.72983」により算出する。
 類似度算出部150dは、単語「まとめ会」の各類似度の総計を算出することで、Viを算出する。具体的には、Vi=1.6320+0.8442+0.8034+0.72983=4.008となる。類似度算出部150dは、「Ui=4」と「Vi=4.008」と、式(1)により、単語「特許」の類似度(正規化前)を「5.668」として算出する。
 なお、特許の類似度を算出する場合において、類似度算出部150dは、norm=5.668である旨を算出済みである。類似度算出部150dは、式(2)により、単語「まとめ会」の類似度(正規化後)「0.8170」を算出する。
 なお、「まとめの会^OSA」については、基準となる文字列「特許^OSA」とユーザ名が同一となるため、第1条件に基づき、類似度は「0.9825」となる。他の「まとめ会、まとめの会^II、まとめの会^SAI」については、ユーザ名が異なるので、各「まとめ会、まとめの会^II、まとめの会^SAI」の類似度は、「まとめ会」の類似度「0.8170」となる。
 類似度算出部150dは、他の文字列の単語についても、上記処理を行うことで、図9に示した第1類似度テーブル140eのリストから、図11に示した第2類似度テーブル140fのリストを生成する。類似度算出部150dは、類似度の降順に、文字列と類似度とをソートして、順位を設定する。
 類似度算出部150dは、図8の第1類似度テーブル140eの各リストについて、上記処理を繰り返し実行することで、図10の第2類似度テーブル140fの各リストの情報を生成する。類似度算出部150dは、第2類似度テーブル140fの各リストの情報を、第2類似度テーブル140fに格納する。
 図3の説明に戻る。抽出部150eは、第2類似度テーブル140fを基にして、各基準文字列に類似する文字列(単語)を抽出する処理部である。たとえば、抽出部150eは、第2類似度テーブル140fを基にして、基準文字列毎に、順位L位までの文字列および類似度の情報を抽出し、抽出した抽出結果を表示部130に出力する。または、抽出部150eは、順位L位までの文字列および類似度の情報を外部装置に送信する。「L」は、適宜設定される1以上の自然数である。
 検索処理部150fは、入力部120からユーザIDおよび打ち合わせ名(X)の入力を受け付けた場合に、打ち合わせ名と、類似概念となる単語を検索する処理部である。検索処理部150fは、検索結果を表示部130に出力して表示させる。以下において、検索処理部150fの処理の一例について説明する。
 検索処理部150fは、ユーザIDと、ユーザテーブル140aとを比較して、ユーザIDに対応するユーザ名を取得する。検索処理部150fは、打ち合わせ名を形態素解析し、形態素リストを生成する。検索処理部150fは、形態素リストに含まれる各形態素について、形態素とユーザ名とを連結することで、検索文字列を作成する。たとえば、形態素「まとめ会」、ユーザ名を「OSA」とすると、検索処理部150fは、検索文字列「まとめ会^OSA」を生成する。形態素が複数存在する場合には、複数の検索文字列が生成される。
 検索処理部150fは、検索文字列と、第2類似度テーブル140fの基準文字列とを比較して、検索文字列と同一の基準文字列を含むレコードを特定し、特定したレコードに含まれるリストを取得する。検索処理部150fは、取得したリストに含まれる各文字列と、類似度とを取得する。以下の説明では、取得したリストに含まれる各文字列に含まれる単語を「類義語」と表記する。また、類義語を含む文字列の類似度を、類義語の「スコア」と表記する。
 検索処理部150fは、類義語と、会議情報テーブル140bの打ち合わせ名とを比較し、類義語を含む打ち合わせ名(Y)を特定し、特定した打ち合わせ名に対応するスコアに、類義語のスコアを加算する。各打ち合わせ名に対応するスコアの初期値を「0」とする。
 検索処理部150fは、打ち合わせ名に対するスコアを正規化してもよい。たとえば、式(3)に基づいて、打ち合わせ名に対応するスコアを正規化する。式(3)に含まれるNは、打ち合わせ名(X)の形態素の数を、打ち合わせ名(Y)の形態素の数で除算した値である。なお、Nが1よりも大きい場合には、Nの値を、打ち合わせ名(Y)の形態素の数を、打ち合わせ名(X)の形態素の数で除算した値に更新する。
 スコア(正規化後)=スコア(正規化前)/N・・・(3)
 検索処理部150fは、上記の処理を繰り返し実行することで、各打ち合わせ名(Y)に対するスコアを算出する。検索処理部150fは、各打ち合わせ名(Y)をスコアの降順にソートし、上位Mの打ち合わせ名を検索し、表示部130に出力する。
 次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図12は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図12に示すように、情報処理装置100の取得部150aは、会議情報テーブル140bの情報を、外部装置または入力部120から取得する(ステップS10)。情報処理装置100のテキスト生成部150bは、テキスト生成処理を実行する(ステップS11)。
 情報処理装置100の分散表現算出部150cは、各文字列の分散表現(ベクトル)を算出し、分散表現リスト140dに格納する(ステップS12)。情報処理装置100の類似度算出部150dは、各文字列の類似度を算出し、第1類似度テーブル140eに格納する(ステップS13)。
 類似度算出部150dは、類似度算出処理を実行する(ステップS14)。類似度算出部150dは、正規化処理を実行する(ステップS15)。類似度算出部150dは、第2類似度テーブルの情報を生成する(ステップS16)。情報処理装置100の抽出部150eは、第2類似度テーブル140fの各リストの上位の文字列を抽出して出力する(ステップS17)。
 続いて、図12のステップS11に示したテキスト生成処理の一例について説明する。図13は、テキスト生成処理の処理手順を示すフローチャートである。図13に示すように、情報処理装置100のテキスト生成部150bは、会議情報テーブル140bから、レコードを取得する(ステップS101)。
 テキスト生成部150bは、記憶部140に出力バッファを設定する(ステップS102)。テキスト生成部150bは、レコードの打ち合わせ名を選択する(ステップS103)。テキスト生成部150bは、打ち合わせ名を形態素解析し、形態素リストを生成する(ステップS104)。テキスト生成部150bは、レコードの参加者リストを取得する(ステップS105)。
 テキスト生成部150bは、記憶部140に行バッファを設定する(ステップS106)。テキスト生成部150bは、形態素リストの各形態素(W)、参加者リストの各ユーザ(A)について、行バッファに「W^A W」を追加する処理を繰り返し実行する(ステップS107)。
 テキスト生成部150bは、出力バッファに行バッファの情報を追加し、改行する(ステップS108)。テキスト生成部150bは、全てのレコードを、会議情報テーブル140bから取得したか否かを判定する(ステップS109)。テキスト生成部150bは、全てのレコードを、会議情報テーブル140bから取得していない場合には(ステップS109,No)、ステップS101に移行する。
 一方、テキスト生成部150bは、全てのレコードを、会議情報テーブル140bから取得した場合には(ステップS109,Yes)、ステップS110に移行する。テキスト生成部150bは、出力バッファの情報をテキストデータ140cとして記憶部140に格納する(ステップS110)。
 続いて、図12のステップS14に示した類似度算出処理の一例について説明する。図14は、類似度算出処理の処理手順を示すフローチャートである。図14に示すように、類似度算出部150dは、第1類似度テーブルの各基準文字列の一覧を取得する(ステップS201)。
 類似度算出部150dは、基準文字列WAを選択し、基準文字列WAに対応するリストについて上位kの各文字列の単語(w1,w2,・・・,wk)を取得する(ステップS202)。類似度算出部150dは、各文字列の単語(w1,w2,・・・,wk)のカウントU、類似度Vを初期化する(ステップS203)。
 類似度算出部150dは、単語wiにユーザ(ユーザ名)が連結していない場合には(ステップS204,No)、ステップS205に移行する。一方、類似度算出部150dは、単語wiにユーザ(ユーザ名)が連結している場合には(ステップS204,Yes)、ステップS207に移行する。
 ステップS205の処理について説明する。類似度算出部150dは、カウントU[wi]に1を加算する処理を行う(ステップS205)。類似度算出部150dは、類似度V[wi]に、wiの類似度×1/log(i+1)を加算する処理を行い(ステップS206)、ステップS209に移行する。
 ステップS207の処理について説明する。類似度算出部150dは、基準文字列WAに含まれるユーザ(p)と、文字列wiに含まれるユーザ(pi)とが同一であるか否かを判定する(ステップS207)。類似度算出部150dは、基準文字列WAに含まれるユーザ(p)と、文字列wiに含まれるユーザ(pi)とが同一でない場合には(ステップS207,No)、ステップS205に移行する。
 一方、類似度算出部150dは、基準文字列WAに含まれるユーザ(p)と、文字列wiに含まれるユーザ(pi)とが同一である場合には(ステップS207,Yes)、wi^piの類似度(score(WA,wi))をそのまま登録し(ステップS208)、ステップS205に移行する。
 類似度算出部150dは、iに1を加算する(ステップS209)。類似度算出部150dは、iがk以下である場合には(ステップS210,Yes)、ステップS204に移行する。一方、類似度算出部150dは、iがkより大きい場合には(ステップS210,No)、ステップS211に移行する。
 類似度算出部150dは、基準文字列WAに対するwiの類似度を登録する(ステップS211)。類似度算出部150dは、全ての基準文字列を選択していない場合には(ステップS212,No)、ステップS202に移行する。一方、類似度算出部150dは、全ての基準文字列を選択した場合には(ステップS212,Yes)、処理を終了する。
 続いて、図12のステップS15に示した正規化処理の一例について説明する。図15は、正規化処理の処理手順を示すフローチャートである。図15に示すように、類似度算出部150dは、基準文字列WAの単語Wを選択する(ステップS301)。類似度算出部150dは、単語W(wX)と同一の単語の類似度をnormとして設定する(ステップS302)。
 類似度算出部150dは、単語Wの類似単語T(wi)を選択する(ステップS303)。類似度算出部150dは、類似単語Tの形式がw^pである場合には(ステップS304,Yes)、ステップS306に移行する。一方、類似度算出部150dは、類似単語Tの形式が、w^pでない場合には(ステップS304,No)、単語Wと類似単語TTとの類似度を正規化する(ステップS305)。
 類似度算出部150dは、全ての類似単語Tを選択していない場合には(ステップS306)、ステップS303に移行する。一方、類似度算出部150dは、全ての類似単語Tを選択した場合には(ステップS306,Yes)、ステップS307に移行する。
 類似度算出部150dは、全ての単語Wを選択していない場合には(ステップS307,No)、ステップS301に移行する。一方、類似度算出部150dは、全ての単語Wを選択した場合には(ステップS307,Yes)、処理を終了する。
 次に、本実施例に係る情報処理装置100の検索処理部150fが実行する処理手順の一例について説明する。図16は、検索処理部の処理手順を示すフローチャートである。図16に示すように、情報処理装置100の検索処理部150fは、入力部120からユーザIDを受け付け、ユーザテーブル140aから、ユーザ名を取得する(ステップS401)。検索処理部150fは、入力部120から打ち合わせ名の入力を受け付ける(ステップS402)。
 検索処理部150fは、打ち合わせ名を形態素解析し、形態素リストを生成する(ステップS403)。検索処理部150fは、検索文字列を生成する(ステップS404)。検索処理部150fは、全ての打ち合わせ名のスコアを0に初期化する(ステップS405)。
 検索処理部150fは、検索文字列に対応する類似度のリストを第2類似度テーブル140fから取得する(ステップS406)。検索処理部150fは、リストに含まれる類義を選択する(ステップS407)。検索処理部150fは、類義語とスコアを取得する(ステップS408)。
 検索処理部150fは、類義語を含む打ち合わせ名のリストを取得し、それぞれの打ち合わせ名について、類義語のスコアを加算する(ステップS409)。検索処理部150fは、各打ち合わせ名のスコアを正規化する(ステップS410)。
 検索処理部150fは、全ての類義語を選択していない場合には(ステップS411,No)、ステップS407に移行する。一方、検索処理部150fは、各打ち合わせ名をスコアの降順にソートし、上位の打ち合わせ名を表示部130に出力する(ステップS412)。
 次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、会議の参加者リストの各ユーザ、各打ち合わせ名を基にして、打ち合わせ名の単語(形態素)とユーザ名とを連結した文字列の分散表現をそれぞれ比較して、類似度を算出する。これによって、ある打ち合わせの単語と類似の概念となる単語を検出することができる。
 たとえば、分散表現を割り当てる文字列には、ユーザ名、打ち合わせ名の形態素が含まれるため、同一の打ち合わせに参加したユーザが含まれる文字列同士は、同一の打ち合わせに参加していないユーザが含まれない文字列同士と比較して、分散表現が類似する傾向を利用して、ある打ち合わせの単語と類似の概念となる単語を検出している。
 たとえば、情報処理装置100により算出される類義語のリストは、上記の図2の10Bに示すものとなる。図2のリスト10Bに示すように、基準となる単語「特許」と類似の概念となる「まとめの会^OSA」、「抽出会」の類似度が大きくなっている。また、多くのノイズを削減できる。すなわち、本実施例に示す情報処理装置によれば、図18で説明した従来技術の結果と比較して、指定された単語と類似の概念となる単語を検出する処理が改善される。
 情報処理装置100は、基準文字列の分散表現と、比較対象の文字列の分散表現とを比較して、類似度を算出し、第1類似度テーブル140eを生成する。また、情報処理装置100は、基準文字列に対応するリストを第1類似度テーブル140eから取得し、リストに含まれる比較対象の文字列の順位を基にして、比較対象の文字列の類似度を算出(補正)する。これにより、順位が上であるほど、類似度を大きく設定でき、検出精度を向上できる。
 情報処理装置100は、リストに含まれる比較対象の文字列の上位kのうち、比較対象の文字列の単語の出現回数を基にして、比較対象の文字列の類似度を算出(補正)する。これにより、上位kの文字列に含まれる単語のうち、出現回数の多い単語の類似度を大きく設定でき、検出精度を向上できる。kは、予め設定される値である。
 図17は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 図17に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
 ハードディスク装置407は、取得プログラム407a、テキスト生成プログラム407b、分散表現算出プログラム407c、類似度算出プログラム407d、抽出プログラム407e、検索プログラム407fを有する。CPU401は、取得プログラム407a、テキスト生成プログラム407b、分散表現算出プログラム407c、類似度算出プログラム407d、抽出プログラム407e、検索プログラム407fを読み出して、RAM406に展開する。
 取得プログラム407aは、取得プロセス406aとして機能する。テキスト生成プログラム407bは、テキスト生成プロセス406bとして機能する。分散表現算出プログラム407cは、分散表現算出プロセス406cとして機能する。類似度算出プログラム407dは、類似度算出プロセス406dとして機能する。抽出プログラム407eは、抽出プロセス406eとして機能する。検索プログラム407fは、検索プロセス406fとして機能する。
 取得プロセス406aの処理は、取得部150aの処理に対応する。テキスト生成プロセス406bの処理は、テキスト生成部150bの処理に対応する。分散表現算出プロセス406cの処理は、分散表現算出部150cの処理に対応する。類似度算出プロセス406dの処理は、類似度算出部150dの処理に対応する。抽出プロセス406eの処理は、抽出部150eの処理に対応する。検索プログラム407fの処理は、検索処理部150fの処理に対応する。
 なお、各プログラム407a~407fについては、必ずしも最初からハードディスク装置407に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ400が各プログラム407a~407fを読み出して実行するようにしてもよい。
 100  情報処理装置
 110  通信部
 120  入力部
 130  表示部
 140  記憶部
 140a ユーザテーブル
 140b 会議情報テーブル
 140c テキストデータ
 140d 分散表現リスト
 140e 第1類似度テーブル
 140f 第2類似度テーブル
 150  制御部
 150a 取得部
 150b テキスト生成部
 150c 分散表現算出部
 150d 類似度算出部
 150e 抽出部
 150f 検索処理部

Claims (13)

  1.  コンピュータが実行する抽出方法であって、
     第一のユーザが入力した第一の単語を取得し、
     第二のユーザが入力した第二の単語を取得し、
     前記第一の単語と前記第一のユーザを識別する文字列とを含む第一の文字列の第一の分散表現を算出し、
     前記第二の単語と前記第二のユーザを識別する文字列とを含む第二の文字列の第二の分散表現を算出し、
     前記第一の分散表現と前記第二の分散表現との類似度を算出し、
     前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する
     処理を実行することを特徴とする抽出方法。
  2.  前記第一の分散表現を算出する処理は、前記第一の単語と前記第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出し、前記第二の分散表現を算出する処理は、前記第二の単語と前記第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出することを特徴とする請求項1に記載の抽出方法。
  3.  前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、
     複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項1に記載の抽出方法。
  4.  前記補正する処理は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項3に記載の抽出方法。
  5.  前記単語を抽出する処理は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項2、3または4に記載の抽出方法。
  6.  コンピュータに、
     第一のユーザが入力した第一の単語を取得し、
     第二のユーザが入力した第二の単語を取得し、
     前記第一の単語と前記第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出し、
     前記第二の単語と前記第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出し、
     前記第一の分散表現と前記第二の分散表現との類似度を算出し、
     前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する
     処理を実行させることを特徴とする抽出プログラム。
  7.  前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、
     複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項6に記載の抽出プログラム。
  8.  前記補正する処理は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項7に記載の抽出プログラム。
  9.  前記単語を抽出する処理は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項7または8に記載の抽出プログラム。
  10.  第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する取得部と、
     前記第一の単語と前記第一のユーザを識別する文字列とを含む第一の文字列の第一の分散表現を算出し、前記第二の単語と前記第二のユーザを識別する文字列とを含む第二の文字列の第二の分散表現を算出する分散表現算出部と、
     前記第一の分散表現と前記第二の分散表現との類似度を算出する類似度算出部と、
     前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する抽出部と
     を有することを特徴とする情報処理装置。
  11.  前記分散表現算出部は、前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、前記類似度算出部は、複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項10に記載の情報処理装置。
  12.  前記類似度算出部は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項11に記載の情報処理装置。
  13.  前記抽出部は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項11または12に記載の情報処理装置。
PCT/JP2019/000083 2019-01-07 2019-01-07 抽出方法、抽出プログラムおよび情報処理装置 WO2020144730A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020565043A JP7222402B2 (ja) 2019-01-07 2019-01-07 抽出方法、抽出プログラムおよび情報処理装置
PCT/JP2019/000083 WO2020144730A1 (ja) 2019-01-07 2019-01-07 抽出方法、抽出プログラムおよび情報処理装置
US17/366,276 US11893814B2 (en) 2019-01-07 2021-07-02 Extraction method, computer-readable recording medium storing extraction program, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/000083 WO2020144730A1 (ja) 2019-01-07 2019-01-07 抽出方法、抽出プログラムおよび情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/366,276 Continuation US11893814B2 (en) 2019-01-07 2021-07-02 Extraction method, computer-readable recording medium storing extraction program, and information processing device

Publications (1)

Publication Number Publication Date
WO2020144730A1 true WO2020144730A1 (ja) 2020-07-16

Family

ID=71521482

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/000083 WO2020144730A1 (ja) 2019-01-07 2019-01-07 抽出方法、抽出プログラムおよび情報処理装置

Country Status (3)

Country Link
US (1) US11893814B2 (ja)
JP (1) JP7222402B2 (ja)
WO (1) WO2020144730A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220284189A1 (en) * 2019-08-07 2022-09-08 Nippon Telegraph And Telephone Corporation Similarity score evaluation apparatus, similarity score evaluation method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059255A (ja) * 2016-12-08 2017-03-23 ヤフー株式会社 推定装置、推定方法及び推定プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100324989B1 (ko) * 1993-11-08 2002-06-24 마츠시타 덴끼 산교 가부시키가이샤 입력표시일체형정보처리장치
JP2006252064A (ja) 2005-03-09 2006-09-21 Honda Motor Co Ltd 会議室検索システム、会議室検索方法および会議室検索プログラム
JP5640739B2 (ja) 2010-12-28 2014-12-17 株式会社リコー 情報処理装置、情報処理システム、プログラム
JP2013235507A (ja) * 2012-05-10 2013-11-21 Mynd Inc 情報処理方法、装置、コンピュータプログラムならびに記録媒体
US8612213B1 (en) * 2012-10-16 2013-12-17 Google Inc. Correction of errors in character strings that include a word delimiter
JP6020152B2 (ja) 2012-12-27 2016-11-02 株式会社リコー 情報処理装置及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059255A (ja) * 2016-12-08 2017-03-23 ヤフー株式会社 推定装置、推定方法及び推定プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FERRARI, ALESSIO ET AL.: "Detecting Domain-Specific Ambiguities: An NLP Approach Based on Wikipedia Crawling and Word Embeddings", 2017 IEEE 25TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE WORKSHOPS (REW, 4 September 2017 (2017-09-04), pages 393 - 399, XP033159509, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/abstract/document/8054883> DOI: 10.1109/REW.2017.20 *
LIN, JING: "Using Distributional Similarity to Identify Individual Verb Choice", INLG '06 PROCEEDINGS OF THE FOURTH INTERNATIONAL NATURAL LANGUAGE GENERATION CONFERENCE, 15 July 2006 (2006-07-15), pages 33 - 40, XP058270969, Retrieved from the Internet <URL:https://dl.acm.org/citation.cfm?id=1706278> *
PONNAMPERUMA, KAPILA ET AL.: "Using distributional similarity for identifying vocabulary differences between individuals", WORKSHOP ON COMPUTATIONAL APPROACHES TO THE STUDY OF DIALECTAL AND TYPOLOGICAL VARIATION, 6 August 2012 (2012-08-06), XP055725464, Retrieved from the Internet <URL:http://www.sfs.uni-tuebingen.de/~gjaeger/conferences/essli_2012/preproceedings/Ponnamperuma_DiaTyp12.pdf> *

Also Published As

Publication number Publication date
US20210334576A1 (en) 2021-10-28
JP7222402B2 (ja) 2023-02-15
JPWO2020144730A1 (ja) 2021-11-18
US11893814B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
WO2020073664A1 (zh) 指代消解方法、电子装置及计算机可读存储介质
US20190005049A1 (en) Corpus search systems and methods
US8176050B2 (en) Method and apparatus of supporting creation of classification rules
JP6044963B2 (ja) 情報処理装置、方法及びプログラム
CN109522922B (zh) 学习数据选择方法及设备以及计算机可读记录介质
WO2020237872A1 (zh) 语义分析模型准确度的校验方法、装置、存储介质及设备
JP5538185B2 (ja) テキストデータ要約装置、テキストデータ要約方法及びテキストデータ要約プログラム
D’Silva et al. Unsupervised automatic text summarization of Konkani texts using K-means with Elbow method
CN111523019B (zh) 用于输出信息的方法、装置、设备以及存储介质
JP2020166735A (ja) 生成方法、学習方法、生成プログラム、及び生成装置
JP2019204246A (ja) 学習データ作成方法及び学習データ作成装置
JP2020187738A (ja) 著者名の曖昧性解消のための情報処理装置、方法及び記憶媒体
JP2017134694A (ja) 属性付与制御プログラム、情報処理装置および属性付与制御方法
WO2020144730A1 (ja) 抽出方法、抽出プログラムおよび情報処理装置
Schoen et al. Order-of-addition orthogonal arrays to study the effect of treatment ordering
JP7211011B2 (ja) 学習方法、学習プログラム及び生成方法
JP6210865B2 (ja) データ検索システムおよびデータ検索方法
JP2017134693A (ja) 意味情報登録支援プログラム、情報処理装置および意味情報登録支援方法
WO2014170965A1 (ja) 文書処理方法、文書処理装置および文書処理プログラム
KR20220054753A (ko) 음성 검색 방법 및 장치, 전자 기기, 컴퓨터 판독 가능 한 저장 매체 및 컴퓨터 프로그램
KR20220041336A (ko) 중요 키워드 추천 및 핵심 문서를 추출하기 위한 그래프 생성 시스템 및 이를 이용한 그래프 생성 방법
JP5971794B2 (ja) 特許調査支援装置、特許調査支援方法、およびプログラム
CN110688472A (zh) 一种自动筛选问题答案的方法、终端设备及存储介质
JP6348915B2 (ja) データ処理方法、データ処理装置及びデータ処理プログラム
US11188598B2 (en) Document data processing apparatus and non-transitory computer readable medium

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: 19908265

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020565043

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19908265

Country of ref document: EP

Kind code of ref document: A1