WO2020044558A1 - 分類規則生成プログラム、分類規則生成方法および分類規則生成装置 - Google Patents
分類規則生成プログラム、分類規則生成方法および分類規則生成装置 Download PDFInfo
- Publication number
- WO2020044558A1 WO2020044558A1 PCT/JP2018/032449 JP2018032449W WO2020044558A1 WO 2020044558 A1 WO2020044558 A1 WO 2020044558A1 JP 2018032449 W JP2018032449 W JP 2018032449W WO 2020044558 A1 WO2020044558 A1 WO 2020044558A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- classification
- text data
- character strings
- character string
- appearance frequency
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
Definitions
- the present invention relates to a classification rule generation program, a classification rule generation method, and a classification rule generation device.
- Job logs such as application and window titles used in the computer, window titles, calendar schedule titles, titles of sent and received e-mails, etc. Classification has been done. For example, each text data associated with the business content is divided to extract a partial character string, and the partial character string having the highest appearance frequency is associated as a characteristic word of the business content.
- a partial character string is extracted for each of a plurality of texts used in “product planning”, and a partial character string “minutes” having the highest appearance frequency is specified. Then, “characteristic words (minutes), business contents (product planning)” are generated as classification rules. Thereafter, if the newly generated business log includes “minutes”, the business log is classified as “product planning”.
- the classification rule generated by the above technique is a classification based on a character string obtained from text data and is not suitable for subsequent classification, so that the classification accuracy is low.
- the character string “regular meeting” appears in many business logs, but the classification rule for including or not including “regular meeting” cannot specify the contents of the business.
- One object of the present invention is to provide a classification rule generation program, a classification rule generation method, and a classification rule generation device capable of generating a classification rule with high classification accuracy.
- the classification rule generation program causes the computer to execute a process of extracting a plurality of connected character strings obtained by connecting words obtained by dividing text data into words.
- the classification rule generating program refers to a computer for a storage unit that stores a classification category in which each of the plurality of text data including the text data is classified for each of the plurality of connected character strings. Then, a process of calculating a distribution destination of text data including the concatenated character string is performed.
- the classification rule generation program causes a computer to execute a process of selecting a characteristic word from the plurality of connected character strings based on the distribution of the classification destination.
- the classification rule generation program causes a computer to execute a process of generating a classification rule in which the classification category in which the text data is classified is associated with the characteristic word.
- a classification rule with high classification accuracy can be generated.
- FIG. 1 is a diagram illustrating an example of the overall configuration of a classification device according to the first embodiment.
- FIG. 2 is a functional block diagram illustrating the functional configuration of the classification device according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of a business log stored in the business log DB.
- FIG. 4 is a diagram illustrating an example of the classification information stored in the business classification DB.
- FIG. 5 is a diagram illustrating an example of information stored in the character string DB.
- FIG. 6 is a diagram illustrating a processing example of morphological analysis.
- FIG. 7 is a diagram illustrating calculation of the appearance frequency and correction of the appearance frequency.
- FIG. 8 is a diagram illustrating a correction result of the appearance frequency.
- FIG. 1 is a diagram illustrating an example of the overall configuration of a classification device according to the first embodiment.
- FIG. 2 is a functional block diagram illustrating the functional configuration of the classification device according to the first embodiment.
- FIG. 3 is a diagram
- FIG. 9 is a diagram illustrating the identification of a character string boundary based on the corrected appearance frequency.
- FIG. 10 is a diagram illustrating text division based on the corrected appearance frequency.
- FIG. 11 is a diagram illustrating an example of generating a classification rule.
- FIG. 12 is a flowchart illustrating the flow of the appearance frequency process.
- FIG. 13 is a flowchart illustrating the flow of the rule generation process.
- FIG. 14 is a diagram illustrating an example of a hardware configuration.
- FIG. 1 is a diagram illustrating an example of the overall configuration of a classification device 10 according to the first embodiment.
- the classification device 10 illustrated in FIG. 1 divides text data such as log information to extract a characteristic word, generates a business classification model that associates the characteristic word with a prepared category, and according to the generated business classification model.
- 1 is an example of a classification rule generation device that classifies log information into categories.
- the classification device 10 includes a learning device that learns a classification rule to be applied to a task classification model, and a classifier to which a learning result by the learning device is applied.
- the classification device 10 collects, as log information, business data such as mail, schedule, and telephone, and operation logs such as window titles and application files. Then, the learning device of the classification device 10 divides the text data included in the log information into words, and calculates the appearance frequency of a character string (word string) of N consecutive words.
- the learning device of the classification device 10 calculates the distribution (variation) of the classification destination of the business content when each character string appears in the business log, and corrects the appearance frequency. That is, the learning device lowers the frequency of appearance of a character string having a large variation. After that, the learning device of the classification device 10 determines a text data division unit based on the corrected appearance frequency of each character string, and determines a character string suitable for classification from the character strings divided by the determined division unit. Extract and adopt for classification rules. For example, the learning device generates “estimation, customer correspondence”, “business trip application, paperwork”, and the like as the classification rule “characteristic word, category”.
- the classifier of the classifying apparatus 10 constructs a business classification model to which the classification rules generated in this way are applied, and classifies newly generated business data and operation logs into categories according to the classification rules. For example, the classifier classifies a business log whose window title includes “estimate” into a category “customer correspondence”.
- the learning device of the classification device 10 periodically executes the above-described learning and updates the classification rule. For example, the learning device newly adds “ABC, customer correspondence”, “XY system, customer correspondence” as the classification rule “feature word, category” by repeating new learning according to the feedback. Therefore, the classification device 10 can generate a classification rule with high classification accuracy.
- FIG. 2 is a functional block diagram illustrating the functional configuration of the classification device 10 according to the first embodiment.
- the classification device 10 includes a communication unit 11, a storage unit 12, and a control unit 20.
- the communication unit 11 is a processing unit that controls communication with another device, and is, for example, a communication interface.
- the communication unit 11 receives log information such as business data and operation logs from another device, and transmits a classification result and the like to a management terminal and the like.
- the storage unit 12 is an example of a storage device that stores data, programs executed by the control unit 20, and the like, and is, for example, a hard disk or a memory.
- the storage unit 12 stores a business log DB 13, a business classification DB 14, a character string DB 15, and a classification rule DB 16.
- the business log DB 13 is a database that stores log information such as business data to be learned and operation logs.
- the log information stored here is text data, which can be periodically stored by the administrator, or can be acquired and stored by the control unit 20.
- FIG. 3 is a diagram showing an example of a business log stored in the business log DB 13.
- the business log DB 13 stores business logs such as transmission and reception mail titles, operation logs such as application files and window titles, a schedule generated by a scheduler and the like.
- the business log is log information in which “creation time” indicating the time at which the log was created is associated with “file name” that is the log file name.
- “X professional regular meeting_minutes” created at 9:00: 00 is stored as the business log as the business log.
- the operation log is log information in which "start time and end time” indicating the start and end of the operation, "window title” indicating the operation target, and "start process” indicating the process for starting the operation target are associated with each other. It is.
- “business negotiation report material.bbb” activated by the BBB process and operated by the user is stored as the business log from 9:35:06 to 9:38:43. .
- the schedule table is log information in which “start time and end time” indicating the start and end of the schedule are associated with “subject” indicating the content of the schedule.
- start time and end time indicating the start and end of the schedule are associated with “subject” indicating the content of the schedule.
- subject indicating the content of the schedule.
- a “section” that starts at 9:30:00 and ends at 10:30:30 is stored as a business log.
- the business classification DB 14 is a database that stores the classification destination category and the classified business logs in association with each other.
- FIG. 4 is a diagram showing an example of the classification information stored in the business classification DB 14. As shown in FIG. 4, the business classification DB 14 stores “classification category, applicable log” in association with each other.
- the “category category” indicates a category to be classified and can be arbitrarily changed by a user or the like.
- Applicable logs is a list of business logs classified into categories.
- the business log “business negotiation report material.bbb” is classified into the classification category “customer correspondence”, and the business log “X pro regular meeting_minutes” is classified into the classification category “product planning”. Indicates that it was done. Examples of classification categories include “customer response”, which corresponds to meetings with clients and creation of materials, “product planning”, which corresponds to surveys and review meetings for new products, product design, development, and testing. "Design / development” and “sales expansion” which correspond to planning and implementation of product sales events.
- the character string DB 15 is a database that stores information on the frequency of appearance of character strings extracted from the business log. The information stored here is generated by the control unit 20.
- FIG. 5 is a diagram illustrating an example of information stored in the character string DB 15. As shown in FIG. 5, the character string DB 15 stores “character string (w), appearance frequency (F (w)), corrected appearance frequency (F e (w))” in association with each other.
- “Character string (w)” is a character string extracted by the control unit 20, and “appearance frequency (F (w))” is an appearance frequency of the character string in all task logs to be learned.
- the corrected appearance frequency (F e (w)) ” is the appearance frequency of the character string corrected by the control unit 20.
- the appearance frequency of the entire business log in the character string “X professional regular meeting” is “6” times, and is corrected to “2.35” times by the control unit 20. The calculation method of each item will be described later.
- the classification rule DB 16 is a database that stores the classification rules generated by the control unit 20. Specifically, the classification rule DB 16 stores the character string and the category of the classification destination in association with each other. The classification rules stored here are generated by the control unit 20, which will be described later, are applied to a business classification model, and are used for classification of business logs.
- the control unit 20 is a processing unit that performs overall processing of the classification device 10, and is, for example, a processor.
- the control unit 20 includes a learning unit 30 and a classification unit 60.
- the learning unit 30 and the classifying unit 60 are an example of a process executed by an electronic circuit or a processor included in the processor or the like.
- the learning unit 30 includes an appearance frequency processing unit 40 and a rule processing unit 50.
- the learning unit 30 learns the relationship between a business log and the frequency of occurrence of a character string appearing in the business log, and generates a classification rule.
- the appearance frequency processing unit 40 includes a morphological analysis unit 41, a frequency calculation unit 42, and a frequency correction unit 43, and is a processing unit that extracts a relationship between an operation log and an appearance frequency of a character string appearing in the operation log.
- the morphological analysis unit 41 divides each text data of each business log into words and connects a series of N words (N is an arbitrary natural number) to each other (hereinafter, may be simply referred to as a character string).
- N is an arbitrary natural number
- the morphological analysis unit 41 divides the text data into words using a general morphological analysis technique. Then, the morphological analysis unit 41 extracts a connected character string every two consecutive words, a connected character string every three words, a connected character string every four words, and a connected character string every five words from the extracted words. Then, the output is output to the frequency calculation unit 42.
- FIG. 6 is a diagram for explaining a processing example of morphological analysis.
- the text data of the work log to be learned is “X pro regular meeting_minutes.xxx”.
- the morphological analysis unit 41 divides the text data “X pro regular meeting_minutes.xxx” into words and “X”, “pro”, “regular”, “kai”, “_” , “Proceedings”, “records”, “.”, And “xxx” are extracted.
- the frequency calculation unit 42 is a processing unit that calculates the appearance frequency of each character string generated by the morphological analysis unit 41. Specifically, the frequency calculation unit 42 counts how many times each character string extracted as N consecutive words appears in all the work logs to be learned, and outputs the number to the frequency correction unit 43. For example, the frequency calculation unit 42 indicates that the character string “X pro” appears in the text data “X pro regular meeting_minutes.xxx”, “X pro meal meeting”, and “X pro member minutes.yyy” of the business log. In this case, the appearance frequency of the character string “XPro” is counted as “3 times”. In this way, the frequency calculation unit 42 calculates the appearance frequency of each character string extracted as N words from the text data of each business log. The frequency calculating unit 42 stores each character string in the character string DB 15 in association with the appearance frequency.
- the frequency correction unit 43 is a processing unit that totalizes the classification destinations of business logs including each character string, calculates entropy as an index of the variation, and corrects the appearance frequency of each character string. Specifically, the frequency correction unit 43 specifies which classification category each character string is classified into by a classification method according to the current classification rule, and specifies the distribution of the classification destination. Then, the frequency correction unit 43 performs correction to reduce the frequency of appearance of character strings classified into many classification categories. That is, the frequency correction unit 43 lowers the appearance frequency of a character string whose classification destination varies.
- FIG. 7 is a diagram for explaining calculation of the appearance frequency and correction of the appearance frequency.
- the frequency of appearance of a character string when N is 2 will be described as an example.
- the frequency calculating unit 42 sets “character string (w), appearance frequency (F (w))” as “X pro, 8”, “pro regular example, 10”, “regular meeting 144”. , “Meeting_, 88”, “_proceedings, 37”, “minutes, 94”, “records., 22”, and “.xxx, 540” are extracted.
- the frequency correction unit 43 specifies the classification destination distribution of each character string by referring to the business classification DB 14 and the character string DB 15. For example, the frequency correction unit 43 determines that among the business logs (text data) including the character string “regular meeting”, the business log classified into the classification category “workplace activity” is “66” and the business log is classified into the classification category “product planning”.
- the business log to be classified is “20”, the business log to be classified into the classification category “sales expansion” is “13”, the business log to be classified into the classification category “design / development” is “7”, and the classification category is “ It specifies that the business log classified as “customer correspondence” is “four” and the business log classified into the classification category “other” is “four”.
- the frequency correction unit 43 calculates the entropy based on the ratio at which the classification destination of the business log including the character string (w) is c using Expression (1).
- "w” is a character string "regular meeting (144)”
- "c” is a business classification category of "workplace planning (66), product planning (20)”. ), Sales expansion (13), design / development (7), customer service (4), and other (4) ".
- the frequency correction unit 43 corrects the appearance frequency calculated for each character string by using Expression (2).
- “F (w)” in Expression (2) is the appearance frequency calculated by the frequency calculation unit 42, and “b” is a value larger than 1.0, and is 8.0 here.
- the frequency correction unit 43 executes the specification of the distribution of the classification destination, the calculation of the entropy, and the correction of the appearance frequency for each character string extracted as N consecutive words. Then, the frequency correction unit 43 stores the corrected appearance frequency in the character string DB 15.
- FIG. 8 is a diagram illustrating a correction result of the appearance frequency.
- the appearance frequency of the character string “X Pro” is corrected from “8" to "1.23", and the appearance frequency of the character string “Pro” is changed from “10” to "1.41".
- the frequency of occurrence of the character string "X pro regular” is corrected from “6” to "2.35", and the frequency of appearance of the character string "pro regular meeting” is corrected from “10" to "1.41" You.
- the “X pro regular” has a lower frequency of appearance than the “X pro”, “pro regular”, and “pro regular meeting”, but the variation (entropy) of the distribution of the classification destination is small.
- the frequency of appearance after correction becomes higher.
- the rule processing unit 50 includes a text division unit 51 and a rule generation unit 52, and categorizes from the text data of each business log using the corrected appearance frequency generated by the appearance frequency processing unit 40.
- This is a processing unit that extracts a character string suitable for. And generates a classification rule.
- the text division unit 51 is a processing unit that divides a business log (text data), which is learning data, into words using the corrected appearance frequency. Specifically, the text division unit 51 searches for a division unit of text data based on the corrected appearance frequency of the character string. Then, the text division unit 51 divides the text data in the searched unit and outputs the division result to the rule generation unit 52.
- FIG. 9 is a diagram for explaining the specification of a character string boundary based on the corrected appearance frequency.
- FIG. 9 shows an example of word division when N is 3.
- the text division unit 51 divides the text data “X pro regular meeting_minutes.xxx” into words, and “X”, “pro”, “regular”, “kai”, “_”, “Proceedings”, “records”, “.”, “Xxx” are extracted.
- the text division unit 51 calculates (1) the corrected appearance frequency “2.35” of the character string “X pro regular”, and (2) the corrected appearance frequency of the character string “kai_proceeding”.
- the frequency “2.87”, (3) the corrected appearance frequency “1.41” of the character string “Pro-Regular Meeting”, and (4) the corrected appearance frequency “1.58” of the character string “Regular Meeting_” are acquired. I do.
- the text division unit 51 straddles the attention boundary 1 with the corrected appearance frequency “2.35” of (1) and the corrected appearance frequency “2.87” of (2) on both sides of the attention boundary 1.
- the corrected appearance frequency “1.41” of (3) and the corrected appearance frequency “1.57” of (4) are specified.
- FIG. 10 is a diagram illustrating text division based on the corrected appearance frequency.
- the text division unit 51 indicates the ease of division between the words “X” and “pro” for the text data “X pro regular meeting_minutes.xxx”. Score “0.50”, score “0.50” indicating the ease of division between the words “pro” and “regular”, score “0.50” indicating the ease of division between the words “regular” and “meeting” 0.67 ", the ratio when the character string is generated from the top is specified based on the corrected appearance frequency ratio of the character string that straddles the boundary calculated in FIG. Then, the text division unit 51 sets a boundary that satisfies either the condition 1 “score exceeds a threshold value (for example, 0.5)” or the condition 2 “score higher than both adjacent boundaries” as a division boundary.
- a threshold value for example, 0.5
- the text dividing unit 51 determines the division boundary. .
- the text division unit 51 determines the division boundary because the score between the word “_” and the word “proceeding” satisfies the condition 1 with “0.75”.
- the text division unit 51 determines the division boundary. Then, the text division unit 51 outputs information on the determined division boundary to the rule generation unit 52.
- a division boundary different from a division boundary determined by a simple appearance frequency is obtained. For example, as shown in FIG. 10B, when a boundary having an appearance frequency exceeding a threshold value (for example, 0.5) is set as a division boundary, the word “pro” is between the word “X” and the word “pro”. A division boundary is determined between the word “regular”, between the word “_” and the word “proceeding”, and between the word “record” and the word “.”.
- a threshold value for example, 0.5
- the rule generation unit 52 extracts a divided character string based on the division boundary determined by the text division unit 51, and determines a divided character string suitable for the classification category from the extracted divided character strings.
- This is a processing unit. Specifically, the rule generation unit 52 divides text data (business log), which is learning data, according to the division boundary determined by the method shown in FIG. 10A, and extracts a corresponding divided character string. I do. Then, the rule generation unit 52 specifies a divided character string most suitable for classification from among the extracted plurality of divided character strings based on the above-described entropy and the appearance frequency before correction. After that, the rule generation unit 52 generates a classification rule that associates the specified divided character string with a classification category into which the text data as learning data is classified, and stores the generated classification rule in the classification rule DB 16.
- FIG. 11 is a diagram illustrating an example of generating a classification rule.
- the rule generation unit 52 converts the business log “X professional regular meeting_minutes.xxx”, which is learning data, into the divided character string “X professional regular” in accordance with the division boundary determined in FIG. , "Meeting_”, “minutes”, and “.xxx”. Subsequently, the rule generation unit 52 calculates the uncorrected appearance frequency and entropy of each of the divided character strings “X pro regular meeting”, “kai_”, “minutes”, and “.xxx” by using the appearance frequency processing unit 40 Obtained from column DB15.
- ⁇ Rule generation unit 52 extracts a divided character string that satisfies the condition as a feature word of the learning data.
- the rule generation unit 52 sets the appearance frequency “6” and entropy “0.45” for the divided character string “X Pro Regular”, and the appearance frequency “88” and entropy “ 1.44, the appearance frequency “94” and entropy “1.23” for the divided character string “minutes”, and the appearance frequency “540” and entropy “1.38” for the divided character string “.xxx”. Then, the rule generation unit 52 specifies the divided character string “X pro regular example” satisfying the condition “appearance frequency> 3 and entropy ⁇ 0.5”.
- the rule generation unit 52 specifies the classification category “product planning” of the business log “X professional regular meeting_minutes.xxx” as learning data from the business classification DB 14. Then, the rule generation unit 52 generates a classification rule that associates the divided character string “X pro regular meeting” with the classification category “product planning”.
- the classification unit 60 is a processing unit that classifies business logs according to the classification rule DB16. Specifically, the classifying unit 60 acquires a newly generated business log to be classified, and determines whether or not a divided character string of the classification rule stored in the classification rule DB 16 is included. Then, the classification unit 60 classifies the classification category associated with the divided character string included in the classification target business log into the classification target business log, and stores the result in the business classification DB 14.
- the classification unit 60 classifies the classification target business log as “sales expansion” in accordance with the classification rule shown in FIG. Similarly, when the classification target business log includes “Z system administrator regular”, the classification unit 60 classifies the classification target business log into “design / development” according to the classification rule shown in FIG. I do.
- the classification unit 60 may select any of the divided character strings. Can be associated with a plurality of classification categories.
- FIG. 12 is a flowchart illustrating the flow of the appearance frequency process. As illustrated in FIG. 12, the appearance frequency processing unit 40 acquires all the business logs (S101), and determines whether the word division processing has been performed on all the business logs (S102).
- the appearance frequency processing unit 40 extracts one business log (S103), divides the business log into words (S104), and A character string of N words to be extracted is extracted (S105).
- the appearance frequency processing unit 40 acquires all the extracted character strings (S106). Subsequently, the appearance frequency processing unit 40 determines whether or not the appearance frequency correction processing has been completed for all the character strings (S107).
- the appearance frequency processing unit 40 extracts one character string (S108), and classifies the business log including the character string. It is acquired from the business classification DB 14 (S109). After that, the appearance frequency processing unit 40 calculates the appearance frequency and the corrected appearance frequency, and updates the appearance frequency (S110). On the other hand, when the appearance frequency processing has been completed for all the business logs (S107: Yes), the appearance frequency processing unit 40 ends the processing.
- FIG. 13 is a flowchart illustrating the flow of the rule generation process.
- the rule processing unit 50 acquires all the business logs (S201), and determines whether or not the character string extraction processing has been performed for all the business logs (S202).
- the rule processing unit 50 extracts one business log (S203), and based on the corrected appearance frequency, executes the business log. Is divided, and each divided character string is extracted (S204).
- the rule processing unit 50 acquires all the extracted divided character strings (S205). Subsequently, in the character string extraction processing, it is determined whether or not the classification rule generation processing has been completed for all the divided character strings (S206).
- the rule processing unit 50 extracts one divided character string (S207), and determines the appearance frequency of the business log including the divided character string and The distribution of the classification destination is acquired from each DB (S208). After that, when the processing target divided character string satisfies the condition (S209: Yes), the rule processing unit 50 adds it to the classification rule (S210), repeats S206 and subsequent steps, and the processing target divided character string does not satisfy the condition. In this case (S209: No), S206 and subsequent steps are repeated without executing S210. On the other hand, when the generation processing of the classification rules has been completed for all the business logs (S206: Yes), the rule processing unit 50 ends the processing.
- the classification device 10 corrects the appearance frequency of each character string based on the distribution of the classification destination of the business log including the character string, and performs text segmentation using the appearance frequency information. Accordingly, a character string in a unit suitable for the later-stage business content classification can be acquired as a characteristic word, and the classification accuracy is improved by using a rule using the characteristic word. That is, the classification device 10 considers the latter classification at the stage of dividing the text data, and extracts the characteristic words using the distribution (variation) of the classification destination by each character string, so that the classification rule with high classification accuracy is obtained. Can be generated.
- the “appearance frequency” of a word, a character string, a divided character string, or the like in the above-described embodiment can be replaced with “sum of business operation hours (total business hours)”.
- each device shown in the drawings are functionally conceptual, and do not necessarily need to be physically configured as shown in the drawings. That is, the specific form of distribution and integration of each device is not limited to the illustrated one. That is, all or a part thereof can be configured to be functionally or physically distributed / integrated in arbitrary units according to various loads and usage conditions. Further, all or any part of each processing function performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
- FIG. 14 is a diagram illustrating an example of a hardware configuration.
- the classification device 10 includes a communication device 10a, a hard disk drive (HDD) 10b, a memory 10c, and a processor 10d.
- the units shown in FIG. 14 are mutually connected by a bus or the like.
- the communication device 10a is a network interface card or the like, and performs communication with another server.
- the HDD 10b stores programs and DBs for operating the functions shown in FIG.
- the processor 10d operates the process for executing each function described in FIG. 2 and the like by reading a program for executing the same processing as each processing unit illustrated in FIG. 2 from the HDD 10b or the like and expanding the program in the memory 10c. That is, this process performs the same function as each processing unit included in the classification device 10. Specifically, the processor 10d reads, from the HDD 10b or the like, a program having the same functions as those of the appearance frequency processing unit 40 and the rule processing unit 50. Then, the processor 10d executes a process of executing the same processing as that of the appearance frequency processing unit 40, the rule processing unit 50, and the like.
- the classification device 10 operates as an information processing device that executes a classification method by reading and executing a program.
- the classifying apparatus 10 can also realize the same functions as those in the above-described embodiments by reading the program from a recording medium by a medium reading device and executing the read program.
- the program referred to in the other embodiments is not limited to being executed by the classification device 10.
- the present invention can be similarly applied to a case where another computer or server executes a program, or a case where these execute a program in cooperation with each other.
- This program can be distributed via networks such as the Internet.
- This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO (Magneto-Optical disk), and a DVD (Digital Versatile Disc). It can be executed by being read.
- a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO (Magneto-Optical disk), and a DVD (Digital Versatile Disc). It can be executed by being read.
- Reference Signs List 10 Classification device 11 Communication unit 12 Storage unit 13 Business log DB 14 Business Classification DB 15 Character string DB 16 Classification Rule DB Reference Signs List 20 control unit 30 learning unit 40 appearance frequency processing unit 41 morphological analysis unit 42 frequency calculation unit 43 frequency correction unit 50 rule processing unit 51 text division unit 52 rule generation unit 60 classification unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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
分類装置は、テキストデータを単語分割して得られる単語を連結した複数の連結文字列を抽出する。分類装置は、複数の連結文字列それぞれについて、テキストデータを含む複数のテキストデータそれぞれが分類される分類カテゴリを記憶する記憶部を参照し、複数のテキストデータのうち、当該連結文字列を含むテキストデータの分類先の分布を算出する。分類装置は、分類先の分布に基づいて、複数の連結文字列から特徴語を選択し、テキストデータが分類される分類カテゴリと特徴語とを対応付けた分類規則を生成する。
Description
本発明は、分類規則生成プログラム、分類規則生成方法および分類規則生成装置に関する。
コンピュータで使用中のアプリケーションやウィンドウタイトル、予定表のスケジュールタイトル、送受信メールのタイトルなどの業務ログを、顧客対応や商品企画などのように、その業務ログが記録されたときに行っていた業務内容に分類することが行われている。例えば、業務内容に対応付けられた各テキストデータを分割して部分文字列を抽出し、出現頻度が最も多い部分文字列を業務内容の特徴語として対応付ける。
一例を挙げると、「商品企画」で使用された複数のテキストそれぞれについて部分文字列を抽出し、出現頻度が最も多い部分文字列「議事録」を特定する。そして、「特徴語(議事録)、業務内容(商品企画)」を分類規則として生成する。その後、新たに発生した業務ログに「議事録」が含まれる場合、当該業務ログを「商品企画」に分類する。
Rie Kubota Ando、Lillian Lee、"Mostly-Unsupervised Statistical Segmentation of Japanese Kanji Sequences"、2003年 Cambridge University Press
しかしながら、上記技術で生成された分類規則は、テキストデータから得られる文字列による分類であり、その後の分類に適したものではないので、分類精度が低い。例えば、文字列「定例会」は多くの業務ログに出現するが、「定例会」を含むか否かの分類規則では業務内容までを特定できない。
なお、分類に適した語句を集めた辞書を人手で事前に用意する手法も考えられるが、業務ログ内のテキストではその業務特有の表現、その略称、通称が多く、それらを網羅することは困難であり、現実的ではない。
一つの側面では、分類精度が高い分類規則を生成することができる分類規則生成プログラム、分類規則生成方法および分類規則生成装置を提供することを目的とする。
第1の案では、分類規則生成プログラムは、コンピュータに、テキストデータを単語分割して得られる単語を連結した複数の連結文字列を抽出する処理を実行させる。分類規則生成プログラムは、コンピュータに、前記複数の連結文字列それぞれについて、前記テキストデータを含む複数のテキストデータそれぞれが分類される分類カテゴリを記憶する記憶部を参照し、前記複数のテキストデータのうち、当該連結文字列を含むテキストデータの分類先の分布を算出する処理を実行させる。分類規則生成プログラムは、コンピュータに、前記分類先の分布に基づいて、前記複数の連結文字列から特徴語を選択する処理を実行させる。分類規則生成プログラムは、コンピュータに、前記テキストデータが分類される分類カテゴリと前記特徴語とを対応付けた分類規則を生成する処理を実行させる。
一つの側面では、分類精度が高い分類規則を生成することができる。
以下に、本発明にかかる分類規則生成プログラム、分類規則生成方法および分類規則生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[全体構成]
図1は、実施例1にかかる分類装置10の全体構成例を説明する図である。図1に示す分類装置10は、ログ情報などのテキストデータを分割して特徴語を抽出し、特徴語と予め用意されたカテゴリとを対応付ける業務分類モデルを生成し、生成した業務分類モデルにしたがって、ログ情報をカテゴリに分類する分類規則生成装置の一例である。
図1は、実施例1にかかる分類装置10の全体構成例を説明する図である。図1に示す分類装置10は、ログ情報などのテキストデータを分割して特徴語を抽出し、特徴語と予め用意されたカテゴリとを対応付ける業務分類モデルを生成し、生成した業務分類モデルにしたがって、ログ情報をカテゴリに分類する分類規則生成装置の一例である。
具体的には、図1に示すように、分類装置10は、業務分類モデルに適用する分類規則を学習する学習器と、学習器による学習結果を適用した分類器を有する。例えば、分類装置10は、メール、予定、電話などの業務データや、ウィンドウタイトル、アプリケーションファイルなどの操作ログをログ情報として収集する。そして、分類装置10の学習器は、ログ情報に含まれるテキストデータを単語に分割し、連続するN語の文字列(単語列)の出現頻度を計算する。
そして、分類装置10の学習器は、各文字列が業務ログに出現する場合の業務内容の分類先の分布(ばらつき)を計算し、出現頻度を補正する。すなわち、学習器は、ばらつきの大きい文字列の出現頻度を下げる。その後、分類装置10の学習器は、補正後の各文字列の出現頻度をもとにテキストデータの分割単位を決定し、決定した分割単位で分割された文字列から分類に適した文字列を抽出して、分類規則に採用する。例えば、学習器は、分類規則「特徴語、カテゴリ」として、「見積もり、顧客対応」や「出張申請、事務処理」などを生成する。
分類装置10の分類器は、このようにして生成された分類規則を適用した業務分類モデルを構築し、新たな発生する業務データや操作ログを分類規則にしたがってカテゴリに分類する。例えば、分類器は、ウィンドウタイトルに「見積もり」が含まれる業務ログをカテゴリ「顧客対応」に分類する。
また、管理者などのユーザは、分類結果を学習器に定期的にフィードバックする。そして、分類装置10の学習器は、上述した学習を定期的に実行し、分類規則を更新する。例えば、学習器は、フィードバックにしたがって新たな学習を繰り返すことで、分類規則「特徴語、カテゴリ」として「ABC、顧客対応」や「XYシステム、顧客対応」などを新たに追加する。したがって、分類装置10は、分類精度が高い分類規則を生成することができる。
[機能構成]
図2は、実施例1にかかる分類装置10の機能構成を示す機能ブロック図である。図2に示すように、分類装置10は、通信部11、記憶部12、制御部20を有する。
図2は、実施例1にかかる分類装置10の機能構成を示す機能ブロック図である。図2に示すように、分類装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、業務データや操作ログなどのログ情報を他の装置から受信し、分類結果などを管理端末などに送信する。
記憶部12は、データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばハードディスクやメモリなどである。記憶部12は、業務ログDB13、業務分類DB14、文字列DB15、分類規則DB16を記憶する。
業務ログDB13は、学習対象である業務データや操作ログなどのログ情報を記憶するデータベースである。ここで記憶されるログ情報は、テキストデータであり、管理者が定期的に格納することもでき、制御部20が取得して格納することもできる。
図3は、業務ログDB13に記憶される業務ログの例を示す図である。図3に示すように、業務ログDB13は、送受信メールタイトルなどの業務ログ、アプリケーションファイルやウィンドウタイトルなどの操作ログ、スケジューラ等によって生成される予定表などを記憶する。業務ログは、ログが作成された時刻を示す「作成時刻」と、ログのファイル名である「ファイル名」とが対応付けられたログ情報である。図3の例では、業務ログとして、9:00:00に作成された「Xプロ定例会_議事録」が業務ログとして格納されていることを示す。
操作ログは、操作の開始と終了を示す「開始時刻、終了時刻」と、操作対象を示す「ウィンドウタイトル」と、操作対象を起動するプロセスを示す「起動プロセス」とが対応付けられたログ情報である。図3の例では、9:35:06から9:38:43の間、BBBプロセスによって起動されて、ユーザによって操作された「商談報告資料.bbb」が業務ログとして格納されていることを示す。
予定表は、予定の開始と終了を示す「開始時刻、終了時刻」と予定の内容を示す「件名」とを対応付けたログ情報である。図3の例では、9:30:00に開始して、10:30:00に終了する「部会」が業務ログとして格納されていることを示す。
業務分類DB14は、分類先のカテゴリと分類済みの業務ログとを対応付けて記憶するデータベースである。図4は、業務分類DB14に記憶される分類情報の一例を示す図である。図4に示すように、業務分類DB14は、「分類カテゴリ、該当ログ」を対応付けて記憶する。「分類カテゴリ」は、分類先となるカテゴリを示し、ユーザ等により任意に設定変更することができる。「該当ログ」は、カテゴリに分類された業務ログの一覧である。
図4の例では、業務ログ「商談報告資料.bbb」が分類カテゴリ「顧客対応」に分類されたことを示し、業務ログ「Xプロ定例会_議事録」が分類カテゴリ「商品企画」に分類されたことを示す。なお、分類カテゴリの例としては、クライアントとの打ち合わせや資料作成に該当する「顧客対応」、新商品のための調査や検討会議などに該当する「商品企画」、商品の設計・開発・テストなどに該当する「設計・開発」、商品の販売イベントの企画や実施などに該当する「拡販」がある。また、部会や予算管理などに該当する「職場会議」、出張精算や商談状況登録などに該当する「事務処理」、講習会参加やe-Learningなどに該当する「教育」、いずれにも該当しない「その他」などがある。
文字列DB15は、業務ログから抽出された文字列の出現頻度に関する情報を記憶するデータベースである。ここで記憶される情報は、制御部20によって生成される。図5は、文字列DB15に記憶される情報の例を示す図である。図5に示すように、文字列DB15は、「文字列(w)、出現頻度(F(w))、補正後出現頻度(Fe(w))」を対応付けて記憶する。
「文字列(w)」は、制御部20によって抽出される文字列であり、「出現頻度(F(w))」は、学習対象である全業務ログにおける文字列の出現頻度であり、「補正後出現頻度(Fe(w))」は、制御部20によって補正された文字列の出現頻度である。図5の例では、文字列「Xプロ定例会」における業務ログ全体の出現頻度が「6」回で、制御部20によって「2.35」回に補正されたことを示す。各項目の算出手法等については後述する。
分類規則DB16は、制御部20によって生成される分類規則を記憶するデータベースである。具体的には、分類規則DB16は、文字列と分類先のカテゴリとを対応付けて記憶する。なお、ここで記憶される分類規則は、後述する制御部20によって生成され、業務分類モデルに適用されて、業務ログの分類に使用される。
制御部20は、分類装置10全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部20は、学習部30と分類部60を有する。なお、学習部30と分類部60は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
学習部30は、出現頻度処理部40と規則処理部50とを有し、業務ログと業務ログに出現する文字列の出現頻度との関係を学習し、分類規則を生成する処理部である。出現頻度処理部40は、形態素解析部41、頻度算出部42、頻度補正部43を有し、業務ログと業務ログに出現する文字列の出現頻度との関係を抽出する処理部である。
形態素解析部41は、各業務ログの各テキストデータを単語に分割し、連続するN語(Nは任意の自然数)を連結させた連結文字列(以下、単に文字列と記載する場合がある)を抽出する処理部である。具体的には、形態素解析部41は、一般的な形態素解析の手法を用いて、テキストデータを単語に分割する。そして、形態素解析部41は、抽出された単語から、連続する2語ごとに連結文字列、3語ごとの連結文字列、4語ごとの連結文字列、5語ごとの連結文字列それぞれを抽出し、頻度算出部42に出力する。
図6は、形態素解析の処理例を説明する図である。図6の例では、学習対象の業務ログのテキストデータが「Xプロ定例会_議事録.xxx」である例で説明する。図6に示すように、形態素解析部41は、テキストデータ「Xプロ定例会_議事録.xxx」を単語分割し、「X」、「プロ」、「定例」、「会」、「_」、「議事」、「録」、「.」、「xxx」を抽出する。
続いて、形態素解析部41は、抽出された単語から、連続する2語(N=2)を順次組み合わせた文字列(単語列)を生成する。すなわち、形態素解析部41は、「Xプロ」、「プロ定例」、「定例会」、「会_」、「_議事」、「議事録」、「録.」、「.xxx」を生成する。
同様に、形態素解析部41は、抽出された単語から、連続する3語(N=3)を順次組み合わせた文字列を生成する。すなわち、形態素解析部41は、「Xプロ定例」、「プロ定例会」、「定例会_」、「会_議事」、「_議事録」、「議事録.」、「録.xxx」を生成する。
同様に、形態素解析部41は、抽出された単語から、連続する4語(N=4)を順次組み合わせた文字列を生成する。すなわち、形態素解析部41は、「Xプロ定例会」、「プロ定例会_」、「定例会_議事」、「会_議事録」、「_議事録.」、「議事録.xxx」を生成する。
同様に、形態素解析部41は、抽出された単語から、連続する5語(N=5)を順次組み合わせた文字列を生成する。すなわち、形態素解析部41は、「Xプロ定例会_」、「プロ定例会_議事」、「定例会_議事録」、「会_議事録.」、「_議事録.xxx」を生成する。
頻度算出部42は、形態素解析部41により生成された各文字列の出現頻度を算出する処理部である。具体的には、頻度算出部42は、連続するN語として抽出された各文字列が、学習対象の全業務ログにおいて何回出現するかを計数し、頻度補正部43に出力する。例えば、頻度算出部42は、文字列「Xプロ」が業務ログのテキストデータ「Xプロ定例会_議事録.xxx」、「Xプロ食事会」、「Xプロメンバー議事録.yyy」に出現する場合、文字列「Xプロ」の出現頻度を「3回」と計数する。このようにして、頻度算出部42は、各業務ログのテキストデータからN語として抽出された各文字列の出現頻度を算出する。なお、頻度算出部42は、各文字列と出現頻度とを対応付けて文字列DB15に格納する。
頻度補正部43は、各文字列を含む業務ログの分類先を集計し、そのばらつきの指標としてエントロピーを計算し、各文字列の出現頻度を補正する処理部である。具体的には、頻度補正部43は、現状の分類規則に沿った分類手法により、各文字列がどの分類カテゴリに分類されるのかを特定し、分類先の分布を特定する。そして、頻度補正部43は、多くの分類カテゴリに分類されている文字列の出現頻度を下げる補正を行う。すなわち、頻度補正部43は、分類先がばらついている文字列の出現頻度を下げる。
図7は、出現頻度の計算および出現頻度の補正を説明する図である。図7では、Nが2のときの文字列の出現頻度を例にして説明する。図7に示すように、頻度算出部42によって、「文字列(w)、出現頻度(F(w))」として「Xプロ、8」、「プロ定例、10」、「定例会、144」、「会_、88」、「_議事、37」、「議事録、94」、「録.、22」、「.xxx、540」が抽出されたとする。
この状態で、まず、頻度補正部43は、業務分類DB14や文字列DB15を参照し、各文字列の分類先の分布を特定する。例えば、頻度補正部43は、文字列「定例会」を含む業務ログ(テキストデータ)のうち、分類カテゴリ「職場活動」に分類される業務ログが「66個」、分類カテゴリ「商品企画」に分類される業務ログが「20個」、分類カテゴリ「拡販」に分類される業務ログが「13個」、分類カテゴリ「設計・開発」に分類される業務ログが「7個」、分類カテゴリ「顧客対応」に分類される業務ログが「4個」、分類カテゴリ「その他」に分類される業務ログが「4個」であることを特定する。
次に、頻度補正部43は、式(1)を用いて、文字列(w)を含む業務ログの分類先がcとなる割合をもとにエントロピーを算出する。例えば、図7の定例会を例にして説明すると、「w」が文字列の「定例会(144)」であり、「c」が業務分類カテゴリの「職場企画(66)、商品企画(20)、拡販(13)、設計・開発(7)、顧客対応(4)、その他(4)」のそれぞれとなる。
その後、頻度補正部43は、式(2)を用いて、各文字列について算出された出現頻度を補正する。式(2)における「F(w)」は、頻度算出部42によって算出された出現頻度であり、「b」は、1.0より大きい値であり、ここでは8.0とする。図7の「定例会」を例にして説明すると、定例会の補正後の出現頻度は、「Fe(w)=144×8.0-1.276=8.031」と算出される。このようにして、頻度補正部43は、連続するN語として抽出された各文字列について、分類先の分布の特定、エントロピーの算出、出現頻度の補正を実行する。そして、頻度補正部43は、補正した出現頻度を文字列DB15に格納する。
ここで、文字列に対する出現頻度および補正後出現頻度の集計結果の例を説明する。図8は、出現頻度の補正結果を説明する図である。図8に示すように、文字列「Xプロ」の出現頻度が「8」から「1.23」に補正され、文字列「プロ定例」の出現頻度が「10」から「1.41」に補正され、文字列「Xプロ定例」の出現頻度が「6」から「2.35」に補正され、文字列「プロ定例会」の出現頻度が「10」から「1.41」に補正される。すなわち、単語「プロ」を含む文字列において、「Xプロ」「プロ定例」「プロ定例会」よりも「Xプロ定例」は出現頻度が低いが分類先の分布のばらつき(エントロピー)が小さいため補正後出現頻度は高くなる。
図2に戻り、規則処理部50は、テキスト分割部51と規則生成部52とを有し、出現頻度処理部40によって生成された補正後出現頻度を用いて、各業務ログのテキストデータから分類に適する文字列を抽出し、分類規則を生成する処理部である。
テキスト分割部51は、補正後の出現頻度を用いて、学習データである業務ログ(テキストデータ)を単語に分割する処理部である。具体的には、テキスト分割部51は、文字列の補正後の出現頻度を基に、テキストデータの分割単位を探索する。そして、テキスト分割部51は、探索された単位でテキストデータを分割し、分割結果を規則生成部52に出力する。
図9は、補正後の出現頻度に基づく文字列の境界の特定を説明する図である。図9では、Nが3のときの単語分割例を示している。図9に示すように、まず、テキスト分割部51は、テキストデータ「Xプロ定例会_議事録.xxx」を単語に分割し、「X」、「プロ」、「定例」、「会」、「_」、「議事」、「録」、「.」、「xxx」を抽出する。
続いて、テキスト分割部51は、N=3のときの文字列及び補正後出現頻度を文字列DB15から読み込み、文字列の境界を探索する。具体的には、テキスト分割部51は、N=3のときの各文字列の境界について、その両側の文字列の頻度と境界をまたぐ文字列の頻度を比較し、文字列の境界を決定する。
例えば、図9に示すように、テキスト分割部51は、(1)文字列「Xプロ定例」の補正後出現頻度「2.35」、(2)文字列「会_議事」の補正後出現頻度「2.87」、(3)文字列「プロ定例会」の補正後出現頻度「1.41」、(4)文字列「定例会_」の補正後出現頻度「1.58」を取得する。そして、テキスト分割部51は、先頭の単語「X」から3(N=3)単語目の単語「定例」と4単語目の単語「会」との境界を注目境界1とする。
続いて、テキスト分割部51は、注目境界1の両側となる(1)の補正後出現頻度「2.35」および(2)の補正後出現頻度「2.87」と、注目境界1を跨る(3)の補正後出現頻度「1.41」および(4)の補正後出現頻度「1.57」を特定する。そして、テキスト分割部51は、境界をまたぐ文字列の出現頻度の方が小さくなる割合(スコア)を算出する。すなわち、テキスト分割部51は、(1)>(3)、(2)>(3)、(1)>(4)、(2)>(4)であることから、割合「4/4=1」と算出する。
このようにして、テキスト分割部51は、N=3のときの文字列の各境界について、上記手法によるスコアを算出する。さらに、テキスト分割部51は、テキストデータ「Xプロ定例会_議事録.xxx」について、Nが2から5のときの各境界についても算出する。そして、テキスト分割部51は、Nが2から5で出現した各境界について、Nが2から5のそれぞれについて算出されたスコアの平均値を算出する。例えば、テキスト分割部51は、図9に示した注目境界1のスコアについて、Nが2から5のそれぞれで算出し、算出したスコアの平均値「0.67」と算出する。
次に、テキスト分割部51は、テキストデータにおける各境界について算出された上記スコアに基づいて、分割位置を決定する。図10は、補正後の出現頻度に基づくテキスト分割を説明する図である。
図10の(a)に示すように、テキスト分割部51は、テキストデータ「Xプロ定例会_議事録.xxx」について、単語「X」と「プロ」との間の分割されやすさを表すスコア「0.50」、単語「プロ」と「定例」の間の分割されやすさを表すスコア「0.50」、単語「定例」と「会」の間の分割されやすさを表すスコア「0.67」のように、図9で算出した境界を跨ぐ文字列の補正後出現頻度の割合に基づき、先頭から文字列を生成したときの割合を特定する。そして、テキスト分割部51は、条件1「スコアが閾値(例えば0.5)を超える」または条件2「両隣の境界のスコアより高い」のいずれかを満たす境界を分割境界とする。
例えば、図10の(a)の例では、テキスト分割部51は、単語「定例」と単語「会」との間のスコアが「0.67」で条件1を満たすので、分割境界に決定する。また、テキスト分割部51は、単語「_」と単語「議事」との間のスコアが「0.75」で条件1を満たすので、分割境界に決定する。同様に、テキスト分割部51は、単語「録」と単語「.」との間のスコアが「0.33」で条件2を満たすので、分割境界に決定する。そして、テキスト分割部51は、決定した分割境界に関する情報を規則生成部52に出力する。
このように、補正後出現頻度およびスコアを用いることで、単純な出現頻度で決定される分割境界とは異なる分割境界となる。例えば、図10の(b)に示すように、出現頻度が閾値(例えば0.5)を超える境界を分割境界とする場合、単語「X」と単語「プロ」の間、単語「プロ」と単語「定例」の間、単語「_」と単語「議事」の間、単語「録」と単語「.」の間が分割境界と決定される。
図2に戻り、規則生成部52は、テキスト分割部51により決定された分割境界に基づいて、分割文字列を抽出し、抽出した分割文字列の中から分類カテゴリに適した分割文字列を決定する処理部である。具体的には、規則生成部52は、図10の(a)で示した手法で決定された分割境界に従って、学習データであるテキストデータ(業務ログ)を分割し、該当する分割文字列を抽出する。そして、規則生成部52は、上述したエントロピーや補正前の出現頻度に基づき、抽出した複数の分割文字列の中から最も分類に適した分割文字列を特定する。その後、規則生成部52は、特定した分割文字列と、学習データであるテキストデータが分類される分類カテゴリと、を対応付けた分類規則を生成して分類規則DB16に格納する。
図11は、分類規則の生成例を説明する図である。図11に示すように、規則生成部52は、図10で決定された分割境界にしたがって、学習データである業務ログ「Xプロ定例会_議事録.xxx」を、分割文字列「Xプロ定例」、「会_」、「議事録」、「.xxx」に分割する。続いて、規則生成部52は、分割文字列「Xプロ定例会」、「会_」、「議事録」、「.xxx」それぞれの補正前の出現頻度とエントロピーを出現頻度処理部40や文字列DB15から取得する。
そして、規則生成部52は、条件を満たす分割文字列を、学習データの特徴語として抽出する。図11の例では、規則生成部52は、分割文字列「Xプロ定例」について出現頻度「6」とエントロピー「0.45」、分割文字列「会_」について出現頻度「88」とエントロピー「1.44」、分割文字列「議事録」について出現頻度「94」とエントロピー「1.23」、分割文字列「.xxx」について出現頻度「540」とエントロピー「1.38」を取得する。そして、規則生成部52は、条件「出現頻度>3かつエントロピー<0.5」を満たす分割文字列「Xプロ定例」を特定する。その後、規則生成部52は、学習データである業務ログ「Xプロ定例会_議事録.xxx」の分類カテゴリ「商品企画」を業務分類DB14から特定する。そして、規則生成部52は、分割文字列「Xプロ定例会」と分類カテゴリ「商品企画」とを対応付けた分類規則を生成する。
図2に戻り、分類部60は、分類規則DB16にしたがって業務ログを分類する処理部である。具体的には、分類部60は、新たに発生した分類対象の業務ログを取得し、分類規則DB16に記憶される分類規則の分割文字列が含まれるか否かを判定する。そして、分類部60は、分類対象の業務ログに含まれる分割文字列と対応付けられる分類カテゴリを、分類対象の業務ログに分類し、その結果を業務分類DB14に格納する。
例えば、分類部60は、分類対象の業務ログに「Y展定例」が含まれている場合、図11に示す分類規則にしたがって、分類対象の業務ログを「拡販」に分類する。同様に、分類部60は、分類対象の業務ログに「Zシス管理者定例」が含まれている場合、図11に示す分類規則にしたがって、分類対象の業務ログを「設計・開発」に分類する。なお、分類部60は、1つの分類対象の業務ログに、分類規則にある複数の分割文字列が含まれる場合、いずれかの分割文字列を選択してもよく、1つの分類対象の業務ログに複数の分類カテゴリを対応付けることもできる。
[処理の流れ]
次に、上述した各処理の流れについて説明する。ここでは、出現頻度処理の流れと規則生成処理の流れとについて説明する。なお、各処理や各処理内のステップは、矛盾のない範囲内で処理順番等を入れ替えることができる。
次に、上述した各処理の流れについて説明する。ここでは、出現頻度処理の流れと規則生成処理の流れとについて説明する。なお、各処理や各処理内のステップは、矛盾のない範囲内で処理順番等を入れ替えることができる。
(出現頻度処理の流れ)
図12は、出現頻度処理の流れを示すフローチャートである。図12に示すように、出現頻度処理部40は、業務ログをすべて取得し(S101)、全業務ログについて単語の分割処理が実行されたか否かを判定する(S102)。
図12は、出現頻度処理の流れを示すフローチャートである。図12に示すように、出現頻度処理部40は、業務ログをすべて取得し(S101)、全業務ログについて単語の分割処理が実行されたか否かを判定する(S102)。
ここで、出現頻度処理部40は、単語分割について未処理の業務ログが存在する場合(S102:No)、業務ログを1つ取り出し(S103)、業務ログを単語に分割し(S104)、連続するN語の文字列を抽出する(S105)。
一方、出現頻度処理部40は、全業務ログについて単語分割処理が終了した場合(S102:Yes)、抽出された文字列をすべて取得する(S106)。続いて、出現頻度処理部40は、全文字列について出現頻度の補正処理が完了したか否かを判定する(S107)。
そして、出現頻度処理部40は、出現頻度の補正処理について未処理に業務ログが存在する場合(S107:No)、文字列を1つ取り出し(S108)、文字列を含む業務ログの分類先を業務分類DB14から取得する(S109)。その後、出現頻度処理部40は、出現頻度の計算や補正後出現頻度を計算し、出現頻度を更新する(S110)。一方、出現頻度処理部40は、全業務ログについて出現頻度処理が終了した場合(S107:Yes)、処理を終了する。
(規則生成処理の流れ)
図13は、規則生成処理の流れを示すフローチャートである。図13に示すように、規則処理部50は、業務ログをすべて取得し(S201)、全業務ログについて文字列の抽出処理が実行されたか否かを判定する(S202)。
図13は、規則生成処理の流れを示すフローチャートである。図13に示すように、規則処理部50は、業務ログをすべて取得し(S201)、全業務ログについて文字列の抽出処理が実行されたか否かを判定する(S202)。
ここで、規則処理部50は、文字列の抽出処理について未処理の業務ログが存在する場合(S202:No)、業務ログを1つ取り出し(S203)、補正後の出現頻度を基に業務ログを分割し、各分割文字列を抽出する(S204)。
一方、規則処理部50は、全業務ログについて文字列の抽出処理が終了した場合(S202:Yes)、抽出された分割文字列をすべて取得する(S205)。続いて、文字列の抽出処理は、全分割文字列について分類規則の生成処理が完了したか否かを判定する(S206)。
そして、規則処理部50は分類規則の生成処理について未処理に業務ログが存在する場合(S206:No)、分割文字列を1つ取り出し(S207)、分割文字列を含む業務ログの出現頻度と分類先の分布を各DBから取得する(S208)。その後、規則処理部50は、処理対象の分割文字列が条件を満たす場合(S209:Yes)、分類規則に追加し(S210)、S206以降を繰り返し、処理対象の分割文字列が条件を満たさない場合(S209:No)、S210を実行することなく、S206以降を繰り返す。一方、規則処理部50は、全業務ログについて分類規則の生成処理が終了した場合(S206:Yes)、処理を終了する。
[効果]
上述したように、分類装置10は、各文字列の出現頻度を、その文字列を含む業務ログの分類先の分布をもとに補正し、その出現頻度情報を利用してテキスト分割を行うことにより、後段の業務内容分類に適した単位の文字列を特徴語として取得することができ、その特徴語を使った規則を使うことによって分類精度が向上する。すなわち、分類装置10は、テキストデータの分割の段階で後段の分類を考慮し、各文字列による分類先の分布(ばらつき)を利用して特徴語を抽出することにより、分類精度の高い分類規則を生成することができる。
上述したように、分類装置10は、各文字列の出現頻度を、その文字列を含む業務ログの分類先の分布をもとに補正し、その出現頻度情報を利用してテキスト分割を行うことにより、後段の業務内容分類に適した単位の文字列を特徴語として取得することができ、その特徴語を使った規則を使うことによって分類精度が向上する。すなわち、分類装置10は、テキストデータの分割の段階で後段の分類を考慮し、各文字列による分類先の分布(ばらつき)を利用して特徴語を抽出することにより、分類精度の高い分類規則を生成することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[時刻情報の採用]
例えば、上記実施例における単語、文字列、分割文字列などの「出現頻度」は、「業務発生時間の総和(総業務時間)」と置き換えることもできる。
例えば、上記実施例における単語、文字列、分割文字列などの「出現頻度」は、「業務発生時間の総和(総業務時間)」と置き換えることもできる。
[装置の分割]
上記実施例では、分類装置10が分類規則の学習と学習後の分類とを実行する例を説明したが、これに限定されるものではなく、学習と学習後の分類とを別々の装置で実行することもできる。
上記実施例では、分類装置10が分類規則の学習と学習後の分類とを実行する例を説明したが、これに限定されるものではなく、学習と学習後の分類とを別々の装置で実行することもできる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図14は、ハードウェア構成例を説明する図である。図14に示すように、分類装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図14に示した各部は、バス等で相互に接続される。
図14は、ハードウェア構成例を説明する図である。図14に示すように、分類装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図14に示した各部は、バス等で相互に接続される。
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、図2に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図2に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、分類装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、出現頻度処理部40と規則処理部50等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、出現頻度処理部40と規則処理部50等と同様の処理を実行するプロセスを実行する。
このように分類装置10は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、分類装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、分類装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
10 分類装置
11 通信部
12 記憶部
13 業務ログDB
14 業務分類DB
15 文字列DB
16 分類規則DB
20 制御部
30 学習部
40 出現頻度処理部
41 形態素解析部
42 頻度算出部
43 頻度補正部
50 規則処理部
51 テキスト分割部
52 規則生成部
60 分類部
11 通信部
12 記憶部
13 業務ログDB
14 業務分類DB
15 文字列DB
16 分類規則DB
20 制御部
30 学習部
40 出現頻度処理部
41 形態素解析部
42 頻度算出部
43 頻度補正部
50 規則処理部
51 テキスト分割部
52 規則生成部
60 分類部
Claims (7)
- コンピュータに、
テキストデータを単語分割して得られる単語を連結した複数の連結文字列を抽出し、
前記複数の連結文字列それぞれについて、前記テキストデータを含む複数のテキストデータそれぞれが分類される分類カテゴリを記憶する記憶部を参照し、前記複数のテキストデータのうち、当該連結文字列を含むテキストデータの分類先の分布を算出し、
前記分類先の分布に基づいて、前記複数の連結文字列から特徴語を選択し、
前記テキストデータが分類される分類カテゴリと前記特徴語とを対応付けた分類規則を生成する
処理を実行させることを特徴とする分類規則生成プログラム。 - 前記複数の連結文字列それぞれについて、当該連結文字列が前記複数のテキストデータ内に出現する出現頻度を算出し、
前記複数の連結文字列それぞれについて算出された前記分類先の分布に基づいて、前記複数の連結文字列それぞれの前記出現頻度を補正する、処理を前記コンピュータに実行させ、
前記選択する処理は、前記複数の連結文字列それぞれの補正後の出現頻度に基づき、前記特徴語を選択する、請求項1に記載の分類規則生成プログラム。 - 前記算出する処理は、前記複数の連結文字列それぞれについて、補正前の前記出現頻度および前記分類先の分布に基づいてエントロピーを算出し、
前記補正する処理は、前記複数の連結文字列それぞれの前記出現頻度を前記エントロピーに基づき補正することを特徴とする請求項2に記載の分類規則生成プログラム。 - 前記複数の連結文字列それぞれの補正後の出現頻度に基づき、前記テキストデータを分割する位置を特定し、
特定された位置に基づき、前記複数の連結文字列のいずれかが含まれるように前記テキストデータを分割して、複数の分割文字列を抽出する、処理を前記コンピュータに実行させ、
前記選択する処理は、前記複数の分割文字列のうち、前記出現頻度が閾値以上かつ前記エントロピーが閾値以下の分割文字列を前記特徴語として選択することを特徴とする請求項3に記載の分類規則生成プログラム。 - 業務ログが発生した場合に、前記業務ログに含まれる前記特徴語を特定し、
前記分類規則を参照し、特定した前記特徴語と対応付けられる前記分類カテゴリを特定し、
特定した前記分類カテゴリに前記業務ログを分類する、処理を前記コンピュータに実行させることを特徴とする請求項1から4のいずれか一つに記載の分類規則生成プログラム。 - コンピュータが、
テキストデータを単語分割して得られる単語を連結した複数の連結文字列を抽出し、
前記複数の連結文字列それぞれについて、前記テキストデータを含む複数のテキストデータそれぞれが分類される分類カテゴリを記憶する記憶部を参照し、前記複数のテキストデータのうち、当該連結文字列を含むテキストデータの分類先の分布を算出し、
前記分類先の分布に基づいて、前記複数の連結文字列から特徴語を選択し、
前記テキストデータが分類される分類カテゴリと前記特徴語とを対応付けた分類規則を生成する
処理を実行することを特徴とする分類規則生成方法。 - テキストデータを単語分割して得られる単語を連結した複数の連結文字列を抽出する抽出部と、
前記複数の連結文字列それぞれについて、前記テキストデータを含む複数のテキストデータそれぞれが分類される分類カテゴリを記憶する記憶部を参照し、前記複数のテキストデータのうち、当該連結文字列を含むテキストデータの分類先の分布を算出する算出部と、
前記分類先の分布に基づいて、前記複数の連結文字列から特徴語を選択する選択部と、
前記テキストデータが分類される分類カテゴリと前記特徴語とを対応付けた分類規則を生成する生成部と
を有することを特徴とする分類規則生成装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020540004A JP7044162B2 (ja) | 2018-08-31 | 2018-08-31 | 分類規則生成プログラム、分類規則生成方法および分類規則生成装置 |
| PCT/JP2018/032449 WO2020044558A1 (ja) | 2018-08-31 | 2018-08-31 | 分類規則生成プログラム、分類規則生成方法および分類規則生成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/032449 WO2020044558A1 (ja) | 2018-08-31 | 2018-08-31 | 分類規則生成プログラム、分類規則生成方法および分類規則生成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020044558A1 true WO2020044558A1 (ja) | 2020-03-05 |
Family
ID=69642878
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/032449 Ceased WO2020044558A1 (ja) | 2018-08-31 | 2018-08-31 | 分類規則生成プログラム、分類規則生成方法および分類規則生成装置 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7044162B2 (ja) |
| WO (1) | WO2020044558A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7472652B2 (ja) | 2020-05-21 | 2024-04-23 | 富士通株式会社 | 分類プログラム、分類方法、及び分類装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003085170A (ja) * | 2001-09-11 | 2003-03-20 | Nippon Hoso Kyokai <Nhk> | 定型文クラスタリング装置および方法 |
| WO2011071174A1 (ja) * | 2009-12-10 | 2011-06-16 | 日本電気株式会社 | テキストマイニング方法、テキストマイニング装置及びテキストマイニングプログラム |
| JP2011123706A (ja) * | 2009-12-11 | 2011-06-23 | Advanced Media Inc | 文章分類装置および文章分類方法 |
| WO2014208298A1 (ja) * | 2013-06-28 | 2014-12-31 | 日本電気株式会社 | 文章分類装置、文章分類方法、及び記録媒体 |
-
2018
- 2018-08-31 JP JP2020540004A patent/JP7044162B2/ja active Active
- 2018-08-31 WO PCT/JP2018/032449 patent/WO2020044558A1/ja not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003085170A (ja) * | 2001-09-11 | 2003-03-20 | Nippon Hoso Kyokai <Nhk> | 定型文クラスタリング装置および方法 |
| WO2011071174A1 (ja) * | 2009-12-10 | 2011-06-16 | 日本電気株式会社 | テキストマイニング方法、テキストマイニング装置及びテキストマイニングプログラム |
| JP2011123706A (ja) * | 2009-12-11 | 2011-06-23 | Advanced Media Inc | 文章分類装置および文章分類方法 |
| WO2014208298A1 (ja) * | 2013-06-28 | 2014-12-31 | 日本電気株式会社 | 文章分類装置、文章分類方法、及び記録媒体 |
Non-Patent Citations (1)
| Title |
|---|
| ISHIDA, EMI: "An overview of text categorization", THE JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY ASSOCIATION, vol. 56, no. 10, 1 October 2006 (2006-10-01), pages 469 - 474 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7472652B2 (ja) | 2020-05-21 | 2024-04-23 | 富士通株式会社 | 分類プログラム、分類方法、及び分類装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2020044558A1 (ja) | 2021-04-30 |
| JP7044162B2 (ja) | 2022-03-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10318617B2 (en) | Methods and apparatus for extraction of content from an email or email threads for use in providing implicit profile attributes and content for recommendation engines | |
| JP2025086085A (ja) | 提案支援システム、提案支援方法、および提案支援プログラム | |
| US20130035929A1 (en) | Information processing apparatus and method | |
| CN114357149B (zh) | 摘要生成装置、控制方法及系统 | |
| CN112567364B (zh) | 知识信息创建支援装置 | |
| US8433666B2 (en) | Link information extracting apparatus, link information extracting method, and recording medium | |
| CN116738065B (zh) | 一种企业搜索方法、装置、设备及存储介质 | |
| CN111026961A (zh) | 标引多重数据元素内的感兴趣的数据的方法及系统 | |
| US20190392005A1 (en) | Speech dialogue system, model creating device, model creating method | |
| US20120254166A1 (en) | Signature Detection in E-Mails | |
| CN105740232A (zh) | 一种自动提取反馈热点的方法和装置 | |
| JP2021092925A (ja) | データ生成装置およびデータ生成方法 | |
| US10474700B2 (en) | Robust stream filtering based on reference document | |
| US20230032143A1 (en) | Log generation apparatus, log generation method, and computer readable recording medium | |
| JP7044162B2 (ja) | 分類規則生成プログラム、分類規則生成方法および分類規則生成装置 | |
| US11275887B2 (en) | Non-transitory computer-readable recording medium, evaluation method, and information processing device | |
| US10169418B2 (en) | Deriving a multi-pass matching algorithm for data de-duplication | |
| US9824140B2 (en) | Method of creating classification pattern, apparatus, and recording medium | |
| US20160378767A1 (en) | Information extraction method, information processing device, and computer-readable storage medium storing information extraction program | |
| KR102508336B1 (ko) | 교육 훈련 시스템 및 교육 훈련 방법 | |
| JP2001022727A (ja) | テキスト分類学習方法及び装置及びテキスト分類学習プログラムを格納した記憶媒体 | |
| JP2011085993A (ja) | 情報分析装置、情報分析方法および情報分析プログラム | |
| JP2012022443A (ja) | 文書検索装置、文書検索方法及び文書検索プログラム | |
| CN114896209A (zh) | 一种文件展示方法及电子设备 | |
| JP5547030B2 (ja) | 情報分析装置及び方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 2020540004 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: 18931488 Country of ref document: EP Kind code of ref document: A1 |