WO2014141452A1 - 文書分析装置及び文書分析プログラム - Google Patents
文書分析装置及び文書分析プログラム Download PDFInfo
- Publication number
- WO2014141452A1 WO2014141452A1 PCT/JP2013/057300 JP2013057300W WO2014141452A1 WO 2014141452 A1 WO2014141452 A1 WO 2014141452A1 JP 2013057300 W JP2013057300 W JP 2013057300W WO 2014141452 A1 WO2014141452 A1 WO 2014141452A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- category
- documents
- categories
- opinion
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
Definitions
- Embodiments described herein relate generally to a document analysis apparatus and a document analysis program.
- a technique for analyzing inquiries received from a contact center as a technique for analyzing a user's voice about a company or a product.
- this method in order to efficiently analyze the subjective opinions of users described in documents (eg, questionnaires) collected at contact centers, the contents described in the collected documents using a dictionary, that is, The intention of the user's remarks is classified from the viewpoint of request, question, dissatisfaction and unexpected, and analyzed from the viewpoint of this classification result and evaluation axis.
- the analysis of the inquiry sent to the contact center has the disadvantage that it can only analyze the voice of the user who does not bother with the act of inquiry.
- social networking services such as Twitter and Facebook, in particular, allow users to send documents easily, and are characterized by high frequency of sending documents and quick reporting.
- the problem to be solved by the present invention is that even if a document transmitted to social media includes a document using a broken expression, the document is appropriately analyzed and the document is classified into an appropriate classification system.
- a document analysis apparatus and a document analysis program are provided.
- the document analysis apparatus stores a plurality of first documents that include words and belong to each of a plurality of categories constituting a hierarchical structure, and include only opinion documents for a desired object.
- Second document storage means for storing a plurality of second documents comprising: a second document that does not belong to each of the plurality of categories among the plurality of second documents stored in the second document storage means
- the document analysis apparatus includes document extraction means, opinion document classification means, existing category classification means, document clustering means, and category determination means.
- the document extraction unit extracts the first document and the second document that satisfy the condition from the first document storage unit and the second document storage unit according to a condition in which an input is received according to a user operation.
- the opinion document classification means uses the extracted first document and the extracted second document as a teacher document with the extracted second document belonging to each of the plurality of categories as a teacher document.
- the second document that does not belong to each of the plurality of categories is classified into the opinion document and a document other than the opinion document.
- the existing category classification unit is configured to classify the stored first documents and second documents belonging to each of the plurality of categories among the plurality of stored second documents as teacher documents. Are classified into any of a plurality of categories to which the teacher document belongs.
- the document clustering means executes a document clustering process for opinion documents that are not classified into any category by the existing category classification means, creates a new category, and adds the opinion document to the new category. Classify.
- the category determination means includes a plurality of categories to which the stored plurality of first documents belong and a plurality of the plurality of stored second documents to which the plurality of second documents belonging to each of the plurality of categories belong. Using the category as a teacher document, it is determined whether or not the created new category is a child category subordinate to any of a plurality of categories to which the teacher document belongs.
- FIG. 1 is a block diagram showing a hardware configuration of the document analysis apparatus according to the present embodiment.
- FIG. 2 is a block diagram mainly showing a functional configuration of the document analysis apparatus according to the embodiment.
- FIG. 3 is a schematic diagram showing an example of the data structure of the first document stored in the first document storage unit according to the embodiment.
- FIG. 4 is a schematic diagram showing an example of the data structure of the second document stored in the second document storage unit according to the embodiment.
- FIG. 5 is a schematic diagram illustrating an example of a data structure of category information stored in the second document classification result storage unit according to the embodiment.
- FIG. 6 is a schematic diagram illustrating an example of a data structure of category information stored in the second document classification result storage unit according to the embodiment.
- FIG. 1 is a block diagram showing a hardware configuration of the document analysis apparatus according to the present embodiment.
- FIG. 2 is a block diagram mainly showing a functional configuration of the document analysis apparatus according to the embodiment.
- FIG. 3 is a schematic diagram showing an
- FIG. 7 is a schematic diagram illustrating an example of a data structure of category information stored in the second document classification result storage unit according to the embodiment.
- FIG. 8 is a schematic diagram showing an example of a data structure of category information stored in the second document classification result storage unit according to the embodiment.
- FIG. 9 is a schematic diagram illustrating an example of a data structure of category information stored in the second document classification result storage unit according to the embodiment.
- FIG. 10 is a schematic diagram illustrating an example of a data structure of category information stored in the second document classification result storage unit according to the embodiment.
- FIG. 11 is a flowchart showing an example of the operation of the document analysis apparatus according to the embodiment.
- FIG. 12 is a schematic diagram showing an example of a search screen displayed on the display.
- FIG. 13 is a schematic diagram showing an example of processing for classifying a plurality of unclassified second documents into opinion documents and documents other than opinion documents by the opinion document determination unit according to the embodiment.
- FIG. 14 is a flowchart showing an example of the operation of the existing category classification unit according to the embodiment.
- FIG. 15 is a flowchart showing an example of the operation of the existing category classification unit according to the embodiment.
- FIG. 16 is a flowchart showing an example of the operation of the existing category classification unit according to the embodiment.
- FIG. 17 is a flowchart showing an example of the operation of the existing category classification unit according to the embodiment.
- FIG. 18 is a schematic diagram illustrating an example of processing in which an opinion document is classified into one of existing categories by the existing category classification unit according to the embodiment.
- FIG. 19 is a flowchart showing an example of the operation of the document clustering unit according to the embodiment.
- FIG. 20 is a schematic diagram illustrating an example of a document clustering process executed by the document clustering unit according to the embodiment.
- FIG. 21 is a flowchart showing an example of the operation of the parent category determination unit according to the embodiment.
- FIG. 22 is a schematic diagram showing an example of processing for classifying a new child category into one of existing parent categories by the parent category determination unit according to the embodiment.
- FIG. 23 is a flowchart showing an example of the operation of the new category determination unit according to the embodiment.
- FIG. 24 is a schematic diagram illustrating an example of a process for authorizing a new child category as a new category by the new category determination unit according to the embodiment.
- FIG. 25 is a schematic diagram showing an example of a classification result screen displayed on the display.
- FIG. 1 is a block diagram showing a hardware configuration of the document analysis apparatus according to the present embodiment.
- the document analysis device is realized as a hardware configuration for realizing each function of the device or a combination configuration of hardware and software.
- the software is a program installed in advance from a storage medium or a network and causing the document analysis apparatus to realize its function.
- the document analysis apparatus 10 includes a storage device 11, a keyboard 12, a mouse 13, a central processing unit 14, and a display 15.
- the storage device 11 is a storage device that can be read or written from the central processing unit 14, and is, for example, a RAM (Random Access Memory).
- the storage device 11 stores a program (document analysis program) executed by the central processing unit 14 in advance.
- the keyboard 12 and the mouse 13 are input devices. For example, various information including data or commands is input to the central processing unit 14 by an operation (user) of the document analysis device 10.
- the central processing unit 14 is a CPU (processor), for example, and has a function of executing a program stored in the storage device 11 and a function of controlling the execution of each process based on information input from the keyboard 12 or the mouse 13. And a function of outputting the execution result to the display 15.
- CPU processor
- the display 15 is a display device, and has a function of displaying and visualizing, for example, each architecture model or feature model being edited.
- the display 15 has a function of displaying information output from the central processing unit 14.
- the document analysis apparatus 10 is realized by, for example, a computer to which the document analysis program according to the present embodiment is applied.
- FIG. 2 is a block diagram mainly showing a functional configuration of the document analysis apparatus 10 according to the present embodiment.
- the document analysis apparatus 10 includes a first document storage unit 100, a second document storage unit 110, a second document classification result storage unit 120, a user interface unit 130, and a second document classification unit 140. Yes.
- the first document storage unit 100, the second document storage unit 110, and the second document classification result storage unit 120 are stored in, for example, an external storage device (not shown).
- the user interface unit 130 and the second document classification unit 140 are realized by executing a document analysis program stored in the storage device 11 by the computer (central processing unit 14) of the document analysis device 10.
- the first document storage unit 100 stores a plurality of first documents to be analyzed by the document analysis apparatus 10.
- the first document is an opinion document from a customer about a company or a product.
- the second document storage unit 110 stores a plurality of second documents to be analyzed by the document analysis apparatus 10.
- the second document is a document posted on so-called social media such as blogs, bulletin boards, Twitter, Facebook, etc.
- social media such as blogs, bulletin boards, Twitter, Facebook, etc.
- the plurality of second documents stored in the second document storage unit 110 includes the second document that has been classified into one of the categories indicated by the category information stored in the second document classification result storage unit 120 described later.
- Two documents and an unclassified second document are included. In the following description, when simply referred to as a second document, both classified second documents and unclassified second documents are shown.
- the first document and the second document are sequentially stored.
- the second document classification result storage unit 120 category information indicating each of the categories into which the plurality of classified second documents stored in the second document storage unit 110 are classified (that is, the plurality of second documents). ) Is stored. Specifically, in the second document classification result storage unit 120, for example, a result of classification of a plurality of second documents stored in the second document storage unit 110 based on the contents of items included in the second document is stored.
- the user interface unit 130 further includes a search unit 131 and a visualization unit 132 as shown in FIG.
- the search unit 131 is stored in a plurality of first documents to be analyzed stored in the first document storage unit 100 or in the second document storage unit 110 in accordance with a condition in which an input is received according to a user operation. It has a function of searching a plurality of second documents to be analyzed and extracting the first document and the second document satisfying the conditions from the storage units 100 and 110.
- the visualization unit 132 outputs the classification results of the first document and the second document extracted by the search unit 131 (that is, the categories of the extracted first document and second document) to the display 15 illustrated in FIG. , Has a function to display (visualize). Thereby, the classification results of the first document and the second document extracted by the search unit 131 are presented to the user.
- the second document classification unit 140 further includes an opinion document determination unit 141, an existing category classification unit 142, a document clustering unit 143, a parent category determination unit 144, and a new category determination unit 145, as shown in FIG.
- the opinion document determination unit 141 has a function of classifying an unclassified second document into an opinion document and a document other than the opinion document among the second documents extracted by the search unit 131.
- the existing category classification unit 142 is a classified second document among the plurality of first documents stored in the first document storage unit 100 and the plurality of second documents stored in the second document storage unit 110.
- the opinion document classified by the opinion document determination unit 141 is classified into one of a plurality of categories to which the teacher document belongs.
- the document clustering unit 143 performs document clustering processing on opinion documents that are not classified into any category by the existing category classification unit 142, creates a new category, and adds the opinion document to the new category. Has a function to classify.
- the parent category determination unit 144 includes a plurality of categories to which the plurality of first documents stored in the first document storage unit 100 belong and a plurality of classified second documents stored in the second document storage unit 110. There is a function of determining whether a new category created by the document clustering unit 143 is a child category subordinate to any of the plurality of categories to which the teacher document belongs, using a plurality of categories belonging to the teacher document as a teacher document. is doing.
- the new category determination unit 145 stores the new category created by the document clustering unit 143 in the second document storage unit 110 and the plurality of categories to which the plurality of first documents stored in the first document storage unit 100 belong. And adding a new category to a classification system composed of a plurality of categories to which a plurality of classified second documents belong.
- FIG. 3 is a schematic diagram showing an example of the data structure of the first document stored in the first document storage unit 100 shown in FIG.
- the first document includes a document number for identifying the first document as an item name of an item included in the first document, a type of a product that is a target of an inquiry regarding the first document, Indicated by the main text that is the content of the first document, the inquiry date, the inquiry type that indicates the customer's intention regarding the content of the first document, the inquiry major classification that indicates the customer's opinion regarding the contents of the first document, and the inquiry major classification Inquiry categories that include more detailed customer feedback are included.
- the first document includes the content “d01” in association with the item name “document number”, for example. This indicates that the document number for identifying the first document is “d01”.
- the item name “document number” (contents associated with) has been described, but the first document also includes the contents of the other items in association with the item names.
- the content included in the first document in association with the item name “body” includes text composed of a plurality of words, and includes, for example, customer opinions and customer intentions.
- the first document storage unit 100 stores a plurality of first documents. Further, the first document stored in the first document storage unit 100 may not have all the items included in the first document shown in FIG. 3 described above, and may have other items. Also good.
- FIG. 4 is a schematic diagram showing an example of the data structure of the second document stored in the second document storage unit 110 shown in FIG.
- the second document 111 includes a document number for identifying the second document 111 as an item name of an item included in the second document 111, and a text that is the content of the second document 111.
- the second document 111 includes, for example, the content “s01” in association with the item name “document number”. This indicates that the document number for identifying the second document 111 is “s01”.
- the item name “document number” (contents associated with) has been described, but the second document 111 includes the contents of the other items in association with the item names in the same manner.
- the contents included in the second document 111 in association with the item name “body” include text composed of a plurality of words.
- the content of the item whose item name is “text” includes, for example, a user's opinion on the product such as “A product is serious”.
- the second document storage unit 110 stores a plurality of second documents. Further, the second document stored in the second document storage unit 110 may not have all the items included in the second document 111 illustrated in FIG. 4 described above, or may include other items. May be.
- the category information stored in the second document classification result storage unit 120 is a category in which the second document stored in the second document storage unit 110 is classified (that is, a plurality of classified second document categories). Indicates. Note that the categories indicated by the category information stored in the second document classification result storage unit 120 form a hierarchical structure, for example.
- a category in which the second document stored in the second document storage unit 120 is classified is created in advance, and category information indicating the category is stored in the second document classification result storage unit 120. It shall be.
- the category may be created by clustering a plurality of second documents stored in the second document storage unit 110, for example.
- the category information includes a category number, a parent category number, a category name, and a document number. Note that, as shown in FIG. 8, the category information may include conditions as necessary.
- the category number is an identifier for uniquely identifying the category.
- the parent category number indicates a category number for identifying a category (parent category) positioned one level higher than the category identified by the category number in the hierarchical structure.
- the category name indicates the name of the category identified by the category number.
- the document number indicates a document number for identifying the second document classified into the category identified by the category number.
- the condition indicates a condition to be satisfied by a document classified into the category identified by the category number.
- the category information 121 includes a category number “c01”, a parent category number “(none)”, a category name “(root)”, and a document number “s10, s11, s12,. ing.
- the category name of the category identified by the category number “c01” is “(root)”, that is, the category of the root in the hierarchical structure of the category (hereinafter, the root category).
- the parent category number “(none)” indicates that there is no parent category of the category (root category) identified by the category number “c01” in the hierarchical structure.
- the root category identified by the category number “c01” indicates that the second document identified by the document numbers “s10”, “s11”, “s12”, and the like is classified.
- the category information 122 includes a category number “c02”, a parent category number “c01”, a category name “opinion document”, and a document number “(none)”.
- the parent category of the category identified by the category number “c02” is the category identified by the parent category number “c01” (that is, the category indicated by the category information 121 shown in FIG. 5). It has been shown. Further, it is indicated that the category name of the category identified by the category number “c02” is “opinion document”. Further, the document number “(none)” indicates that the document is not classified into the category identified by the category number “c02”. Since the same applies to the document number “(none)” included in the category information described below, the description thereof is omitted.
- the category information 123 includes a category number “c04”, a parent category number “c02”, a category name “Taste”, and a document number “(None)”.
- the parent category of the category identified by the category number “c04” is the category identified by the parent category number “c02” (that is, the category indicated by the category information 122 shown in FIG. 6). It has been shown. Further, it is indicated that the category name of the category identified by the category number “c04” is “taste”.
- the category information 124 includes a category number “c03”, a parent category number “c04”, a category name “bad”, a document number “s01, s15, s23, s36,. “Bad” is included.
- the parent category of the category identified by the category number “c03” is the category identified by the parent category number “c04” (that is, the category indicated by the category information 123 shown in FIG. 7). It has been shown. Further, it is indicated that the category name of the category identified by the category number “c03” is “bad”.
- the category identified by the category number “c03” includes a second document that satisfies the condition “body contains“ bad ””, that is, the document numbers “s01”, “s15”, “s23”, “s36”, and the like. It is shown that the second document to be identified is classified. Note that the condition “text contains“ bad ”” indicates that the second document includes “bad” as the content of the item name “text”.
- the category information 125 includes a category number “c31”, a parent category number “c01”, a category name “by price”, and a document number “s07, s23, s58,.
- the parent category of the category identified by the category number “c31” is the category identified by the parent category number “c01” (that is, the category indicated by the category information 121 shown in FIG. 5). It has been shown. Further, it is indicated that the category name of the category identified by the category number “c31” is “by price”. Further, the category identified by the category number “c31” indicates that the second document identified by the document numbers “s07”, “s23”, “s58”, and the like is classified.
- the category information 126 includes a category number “c32”, a parent category number “c01”, a category name “by health”, and document numbers “s15, s32, s69,.
- the parent category of the category identified by the category number “c32” is the category identified by the category number “c01” (that is, the category indicated by the category information 121 shown in FIG. 5). It is shown. Further, it is indicated that the category name of the category identified by the category number “c32” is “by health”. Further, the category identified by the category number “c32” indicates that the second document identified by the document numbers “s15”, “s32”, “s69”, and the like is classified.
- the search unit 131 of the user interface unit 130 inputs a search keyword (search condition) according to a user operation, and outputs a plurality of uncategorized second documents stored in the second document storage unit 110.
- An input for designating a target (item name) of the search process to be executed for the search process and a search condition for the search process to be executed for the plurality of classified second documents stored in the second document storage unit 110 When receiving an input for designating and an input for designating a search processing target (item name) to be executed for a plurality of first documents stored in the first document storage unit 100, the input is received.
- a search process is executed according to the received search condition, and a first document that satisfies the search condition, an unclassified second document, and a classified second document are extracted from the first document storage unit 100 and the second document storage unit 110. (Step S1 .
- FIG. 12 is a schematic diagram showing an example of a search screen displayed on the display 15, for example, at the time of the above-described step S1.
- the search screen shown in FIG. 12 includes a keyword input area, a first search target designation area, a search condition designation area, a second search target designation area, a search button, and a cancel button.
- the search keyword “product A” is input to the keyword input area
- the item name “text” is specified as the search target in the first search target specification area
- the search condition “product” is specified in the search condition specification area.
- “A (March 2012)" is specified, and in the second search target specification area, the item names "product type” and "text” are specified as search targets.
- the search unit 131 refers to the search keyword “product A” in the content associated with the item name “text” among the plurality of uncategorized second documents stored in the second document storage unit 110.
- a plurality of uncategorized second documents including words are extracted from the second document storage unit 110.
- the search unit 131 also includes a second document classification result storage unit for “product A” by “March 2012” among the plurality of classified second documents stored in the second document storage unit 110.
- a plurality of classified second documents classified into any of the categories indicated by the category information stored in 120 are extracted from the second document storage unit 110.
- the search unit 131 adds the word “product A” to the content associated with the item name “product type” among the plurality of first documents stored in the first document storage unit 100.
- a plurality of first documents are extracted from the first document storage unit 100. Further, the search unit 131 includes a plurality of first documents stored in the first document storage unit 100 including the word “product A” in the content associated with the item name “text”. The first document is extracted from the first document storage unit 100.
- the opinion document determination unit 141 of the second document classification unit 140 uses the plurality of unclassified second documents and the plurality of classified second documents extracted by the search unit 131.
- the extracted plurality of unclassified second documents are classified into opinion documents and documents other than opinion documents (step S2).
- FIG. 13 is a schematic diagram illustrating an example of a process in which the opinion document determination unit 141 classifies a plurality of unclassified second documents into an opinion document and a document other than the opinion document.
- a plurality of unclassified second documents and a plurality of classified second documents are used to convert the plurality of unclassified second documents into opinion documents and documents other than opinion documents.
- documents other than the opinion document “I bought product A” are classified into the root category indicated by the category information 121 stored in the second document classification result storage unit 120.
- the opinion document “Product A is a problem” is classified into the category of the category name “opinion document” indicated by the category information 122 stored in the second document classification result storage unit 120.
- a classification model capable of classifying an opinion document and a document other than the opinion document is created by causing the SVM to learn using words included in the opinion document and words included in the document other than the opinion document as features.
- an unclassified second document that is sequentially stored that is, a newly collected second document, with the word contained in the second document as a feature, other than an opinion document and an opinion document And can be classified into documents. Since it is a known technique, further detailed explanation is omitted here.
- the existing category classification unit 142 of the second document classification unit 140 is stored in the second document storage unit 110 and the plurality of first documents stored in the first document storage unit 100.
- the opinion documents classified by the opinion document determination unit 141 are classified into any of the existing categories using the plurality of classified second documents as teacher documents (step S3).
- the existing category here includes a category (hereinafter referred to as a category) indicated by the contents associated with the item names “inquiry major classification” and “inquiry classification” of the first document stored in the first document storage unit 100. , Category cc) and a category indicated by the category name included in the category information stored in the second document classification result storage unit 120 (hereinafter referred to as category sc).
- step S3 by the existing category classification unit 142.
- the existing category classification unit 142 associates the category cc and the category sc and creates a category (hereinafter referred to as an integrated category p) that integrates them (step S11).
- the existing category classification unit 142 includes the category (category cc) indicated by the contents associated with the item names “inquiry major classification” and “inquiry classification” of the first document, and the category information. If the category indicated by the category name (category sc) matches, the integrated category p is created. By creating the integrated category p in this way, the integrated category p is classified into a document that is a combination of the first document classified into the category cc and the second document classified into the category sc.
- the first document and the second document are associated with each other.
- the feature words of the category cc and the category sc are extracted and the feature is extracted.
- the first document and the second document may be associated with each other.
- the existing category classification unit 142 generates a word vector of the document classified into the integrated category p (step S12).
- step S12 by the existing category classification unit 142 .
- a document d represents each opinion document classified by the opinion document determination unit 141, and a word vector of the document d is a word vector vpd.
- Each document classified by the opinion document determination unit 141 belongs to a category having a hierarchical structure as shown in FIG.
- the existing category classification unit 142 acquires text (hereinafter referred to as target text) that is a target for generating the word vector vpd from the document d (step S31).
- target text text
- the text included in the document d is acquired as the target text.
- the text may be acquired as the target text. Good.
- the existing category classification unit 142 performs morphological analysis on the acquired target text (step S32).
- the existing category classification unit 142 acquires a word included in the acquired target text and the part of speech of the word based on the morphological analysis result.
- the existing category classification unit 142 executes the processing of the following steps S33 to S36 for each acquired word.
- a word to be processed is referred to as a word t.
- the existing category classification unit 142 determines whether or not the part of speech of the word t corresponds to a predetermined part of speech (step S33).
- the predetermined part-of-speech means, for example, a noun, a sagittal noun, and a proper noun. That is, for example, a conjunction or adverb is not included in the predetermined part of speech.
- the existing category classification unit 142 determines whether or not the word t corresponds to a predetermined unnecessary word (step S34).
- the unnecessary word means a word that does not represent the feature of the document.
- the existing category classification unit 142 determines how often the word t appears in the acquired target text (hereinafter, appearance frequency tf). Is expressed) (step S35).
- the existing category classification unit 142 sets the word t as one dimension in the word vector vpd, and sets the calculated appearance frequency tf as the value of the dimension (step S36).
- step S37 it is determined whether or not the processing in steps S33 to S36 has been executed for all the words (words included in the target text) obtained by the morphological analysis described above (step S37).
- step S37 If it is determined that processing has not been performed for all the words obtained by morphological analysis (NO in step S37), the process returns to step S33 and is repeated. In this case, the processing is executed with the word t for which the processing in steps S33 to S36 has not been executed as the word t.
- step S37 if it is determined that the processing has been executed for all the words obtained by the morphological analysis (YES in step S37), the processing is terminated.
- step S33 to step S36 is executed for all the words obtained by morphological analysis, thereby generating a word vector vpd having a predetermined part of speech and a word that is not an unnecessary word as a dimension.
- the word “taste” appears once, that is, the appearance frequency of the “taste” is 1. Therefore, in the word vector of the first document shown in FIG. 3, the value of “taste” (the value of the dimension) which is one dimension of the word vector is 1. The same applies to other dimensions (for example, “A” and “not delicious”).
- step S33 determines whether the part of speech of the word t is a predetermined part of speech, or if it is determined in step S34 that the word t corresponds to a predetermined unnecessary word. If it is determined in step S33 that the part of speech of the word t is not a predetermined part of speech, or if it is determined in step S34 that the word t corresponds to a predetermined unnecessary word, the process of step S37 is executed. .
- the existing category classification unit 142 acquires a document set (hereinafter referred to as a document set Dc) that directly or indirectly belongs to the integrated category p (step S41).
- a document set Dc that directly or indirectly belongs to the integrated category p
- the document set Dc that directly or indirectly belongs to the integrated category p is the category belonging to the integrated category p and a category (child of the integrated category p) that is located in a lower hierarchy than the child category.
- Category that is, a set of documents belonging to the integrated category p).
- the category located in the hierarchy lower than the hierarchy of the integrated category p is positioned lower than the hierarchy of the integrated category p such as a child category of the child category of the integrated category p (that is, a grandchild category of the integrated category p). All categories to be included are included.
- the existing category classification unit 142 executes the following steps S42 to S44 for each of the words taken as dimensions of the word vector vpd of the document d generated by the process shown in FIG. .
- the existing category classification unit 142 calculates the number of documents including the word t in the acquired document set Dc (documents included in the document collection Dc) (hereinafter referred to as the document number dfc) (step S42).
- the existing category classification unit 142 calculates the value of the calculation formula “tf * (log (
- is the number of documents in the document set Dc
- Tf is the dimension value of the word t in the word vector vpd of the document d generated by the process shown in FIG. 15 (that is, the appearance frequency of the word t calculated in step S35 shown in FIG. 15 in the target text). ).
- This calculation formula is called TF * IDF and is widely used, for example, in the field of information retrieval or document classification.
- TF * IDF the more frequently the word t appears in the document d (that is, the larger the value of tf), the more the word t is included in the documents that directly or indirectly belong to the integrated category p.
- the existing category classification unit 142 sets the word t as one dimension of the word vector vpd (the word vector of the document d in the integrated category p), and uses the value calculated in step S43 (the value of TF * IDF) as the dimension. (Step S44).
- step S45 it is determined whether or not the processing in steps S42 to S44 described above has been executed for all the words of each dimension of the word vector vpd generated by the processing shown in FIG. 15 (step S45). .
- step S45 If it is determined that processing has not been performed for all the words in each dimension of the word vector vpd (NO in step S45), the process returns to step S42 and is repeated. In this case, the processing is executed with the word t for which the processing of steps S42 to S44 has not been executed as the word t.
- step S45 when it is determined that the processing has been executed for all the words of each dimension of the word vector vpd (YES in step S45), the word vector having each dimension of each word of the word vector vpd as a dimension. vpd is generated.
- the word vector vpd generated in this way is compared with the word vector vpd generated by the process shown in FIG. 15 described above, and the dimension value (word weight) appropriately representing the feature of the document d in the integrated category p. Becomes a large vector.
- the part corresponding to IDF in the above-described TF * IDF that is, the part of (log (
- step S42 Furthermore, in the process of calculating the number of documents dfc including the word t in step S42, for example, a configuration that improves the efficiency of the process by using means such as a transposed file in information retrieval may be used.
- the existing category classification unit 142 normalizes the value of each dimension of the generated word vector vpd by dividing by the norm
- the word vector vpd is a vector whose norm is 1.
- the existing category classification unit 142 acquires a document set Dc that directly or indirectly belongs to the integrated category p (step S51).
- the existing category classification unit 142 sets the initial value of the word vector vpc to be empty (that is, the values of all dimensions are 0) (step S52).
- the existing category classification unit 142 performs the following processing of step S53 and step S54 for each of the documents included in the acquired document set Dc.
- the existing category classification unit 142 generates a word vector vpd of the document d in the integrated category p (step S53). This word vector vpd is generated by the process shown in FIG.
- the existing category classification unit 142 adds the generated word vector vpd (value of each dimension thereof) to the word vector vpc (step S54).
- step S55 it is determined whether or not the processes in steps S53 and S54 described above have been executed for all the documents included in the document set Dc (step S55).
- step S55 If it is determined that all the documents included in the document set Dc have not been processed (NO in step S55), the process returns to step S53 and is repeated. In this case, the processing is executed with the document for which the processing of step S53 and step S54 has not been executed as the document d.
- a word vector vpc is generated. That is, the word vector vpc is generated by summing up the word vectors vpd (word vectors of the document in the integrated category p) generated for each document included in the document set Dc.
- the existing category classification unit 142 normalizes the value of each dimension of the generated word vector vpc by dividing by the norm
- the word vector vpc is a vector whose norm is 1.
- the word vector vpc is generated as an average vector representing the characteristics of a plurality of documents belonging to the child category c of the integrated category p in the child category c of the integrated category p.
- the existing category classification unit 142 executes the following steps S13 to S22 for each of the documents d classified into the integrated category p.
- the existing category classification unit 142 executes the following steps S14 to S18 for each child category of the integrated category p (hereinafter referred to as a child category c).
- the existing category classification unit 142 calculates the similarity between the document d and the child category c of the integrated category p (hereinafter referred to as similarity s) (step S14).
- the similarity s is calculated by, for example, the cosine of the word vector vpd of the document d to be classified and the word vector vpc of the child category c of the integrated category p.
- the existing category classification unit 142 determines whether or not the calculated similarity s is equal to or greater than a predetermined value (hereinafter referred to as a threshold value sth) (step S15). Note that the threshold value sth may be 0.
- the existing category classification unit 142 determines whether the calculated similarity s is greater than the above smax (step S16). .
- the existing category classification unit 142 determines whether or not the processing in steps S14 to S18 described above has been executed for all child categories c (step S19).
- step S19 If it is determined that the process has not been executed for all the child categories c (NO in step S19), the process returns to the above-described step S14 and is repeated. In this case, the process is executed with the child category c for which the processes of steps S14 to S18 have not been executed as the child category c.
- step S15 If it is determined in step S15 that the similarity s is not greater than or equal to the threshold sth, or if it is determined in step S16 that the similarity s is less than or equal to smax, the process of step S19 is executed.
- the category having the highest similarity to the document d (the word vector thereof) among all the child categories c becomes cmax.
- the existing category classification unit 142 determines whether or not cmax satisfying the condition exists (step S20). In other words, the existing category classification unit 142 satisfies the conditions in the above-described processing of step S15 and step S16, that is, whether or not there is a child category c for which the similarity s is greater than or equal to the threshold sth and greater than smax. Determine. If it is determined that cmax satisfying the condition does not exist (NO in step S20), the process proceeds to step S23 described later.
- the existing category classification unit 142 classifies the document d into cmax (that is, the child category c having the highest similarity with the document d) (step S21). ).
- the existing category classification unit 142 calculates again the word vector of the child category c (cmax) having the highest similarity with the document d (step S22). This word vector is generated by the process shown in FIG.
- step S23 it is determined whether or not the processing in steps S13 to S22 described above has been executed for all documents classified in the integrated category p.
- step S23 If it is determined that the processing has not been executed for all the documents classified in the integrated category p (NO in step S23), the processing returns to step S13 and is repeated. In this case, the process is executed with the document that has not been subjected to the processes in steps S13 to S22 as the document d.
- step S23 when it is determined that the processing has been executed for all the documents classified into the integrated category p (YES in step S23), the processing is terminated.
- step S11 to step S23 described above is the details of the processing in step S3 by the existing category classification unit 142.
- FIG. 18 is a schematic diagram illustrating an example of a process in which an opinion document is classified into one of existing categories by the existing category classification unit 142.
- a document corresponding to the second document stored in the storage unit corresponding to the second document storage unit 110 is employed as a teacher document (that is, the analysis target is stored).
- the matching word is only “Maji”, and the opinion document may not be classified into the category “category” in the example shown in FIG. 18. .
- the existing category classification unit 142 employs the first document and the second document stored in the first document storage unit 100 and the second document storage unit 110 as the teacher document, in the example illustrated in FIG.
- there are other words such as “Taste”, “Twice”, and “Don't drink”. Can be classified.
- the document clustering unit 143 of the second document classifying unit 140 executes document clustering processing for opinion documents that have not been classified into any of the existing categories by the existing category classifying unit 142 ( Step S4).
- step S4 the details of the processing in step S4 described above by the document clustering unit 143 will be described.
- the document clustering unit 143 acquires an opinion document (that is, an unclassified second document) that has not been classified into any of the existing categories by the existing category classification unit 142 (step S61).
- the document clustering unit 143 executes the following processes in steps S62 to S73 for each opinion document acquired in the process in step S61.
- the document clustering unit 143 executes the processing of the following steps S63 to S67 for each newly created child category c among the child categories c of the integrated category p. Note that a newly created child category c among the child categories c of the integrated category p is not generated when the first document clustering process is executed, but is generated by the process of step S71 described later.
- the document clustering unit 143 calculates the similarity between the document d and the new child category c (step S63).
- the similarity s is calculated by, for example, the cosine of the word vector vpd of the document d in the integrated category p and the word vector vpc of the new child category c.
- the document clustering unit 143 determines whether or not the calculated similarity s is equal to or greater than a predetermined threshold sth (step S64).
- the threshold value sth may be 0.
- the document clustering unit 143 determines whether the calculated similarity s is greater than the above smax (step S65).
- the document clustering unit 143 determines whether or not the processing in steps S63 to S67 described above has been executed for all the new child categories c (step S68).
- step S68 If it is determined that the process has not been executed for all the new child categories c (NO in step S68), the process returns to the above-described step S63 and is repeated. In this case, the process is executed with the new child category for which the processes of steps S63 to S67 are not executed as the new child category c.
- step S64 If it is determined in step S64 that the similarity s is not greater than or equal to the threshold sth, and if it is determined in step S65 that the similarity s is less than or equal to smax, the process of step S68 is executed.
- the category having the highest similarity to the document d (the word vector) among all the new child categories c becomes cmax.
- the document clustering unit 143 determines whether or not cmax satisfying the condition exists (step S69). That is, the document clustering unit 143 satisfies whether or not there is a new child category c that satisfies the conditions in the above-described processing of Step S64 and Step S65, that is, a similarity s that is greater than or equal to the threshold sth and greater than smax. Determine whether.
- step S69 If it is determined that cmax satisfying the condition does not exist (NO in step S69), the document clustering unit 143 has received a request for creating a new child category c from the user via the keyboard 12 or the mouse 13, for example. It is determined whether or not (step S70). If it is determined that a request for creating a new child category c has not been received (NO in step S70), the process proceeds to step S74 described later.
- the document clustering unit 143 sets cmax as the new child category as the category having the highest similarity to the document d. c is created (step S71).
- the document clustering unit 143 converts the document d to cmax (that is, a new child category having the highest similarity with the document d). c) (step S72).
- the document clustering unit 143 calculates again the word vector of the new child category c (cmax) having the highest similarity with the document d (step S73).
- the word vector of cmax is generated by the process shown in FIG. That is, the word vector of cmax can be calculated using the word vector of cmax (hereinafter referred to as the word vector vpcmax) before classifying the document d into the new child category c, and the word vector vpd. More specifically, if the number of documents that cmax before classifying document d into a new child category c is
- the document clustering unit 143 determines whether or not the processing in steps S62 to S73 has been executed for all the documents acquired in the processing in step S61 (step S74).
- step S74 If it is determined that the processing has not been executed for all the acquired documents (NO in step S74), the process returns to step S62 and is repeated. In this case, the process is executed with the document that has not been subjected to the processes in steps S62 to S73 as the document d.
- step S74 when it is determined that the processing has been executed for all the acquired documents (YES in step S74), the document clustering unit 143 is classified among the new child categories c created in the processing in step S71 described above. A new child category c having one document or less is deleted (step S75), and the process is terminated.
- steps S61 to S75 described above is the details of the processing in step S4 by the document clustering unit 143.
- FIG. 20 is a schematic diagram illustrating an example of a document clustering process executed by the document clustering unit 143.
- “new”, “sweat”, “CM”, and “blowing” are generated as new child categories.
- the parent category determination unit 144 of the second document classification unit 140 targets the new child category c generated by the document clustering unit 143, and the child category c is an existing (parent) category. It is determined whether it belongs to (subordinate to) any of the above (step S5).
- step S5 the details of the processing in step S5 described above by the parent category determination unit 144 will be described.
- the parent category determination unit 144 performs the following steps S81 to S90 for each new child category c generated by the document clustering unit 143.
- the parent category determination unit 144 executes an initialization process (step S81).
- the parent category determination unit 144 executes the processing of the following steps S82 to S86 for each of the first layer categories (hereinafter referred to as category ca).
- the parent category determination unit 144 calculates the similarity between the new child category c and the category ca (step S82).
- the similarity s is calculated by, for example, the cosine of the word vector vpc of the new child category c and the word vector vpca of the category ca.
- the parent category determination unit 144 determines whether or not the calculated similarity s is equal to or greater than a predetermined threshold sth (step S83). Note that the threshold value sth may be 0.
- the parent category determination unit 144 determines whether the calculated similarity s is greater than the above-described smax (step S84). .
- the parent category determination unit 144 determines whether or not the processing in steps S82 to S86 described above has been executed for all the categories ca (step S87).
- step S87 If it is determined that processing has not been executed for all categories ca (NO in step S87), the process returns to step S82 described above and is repeated. In this case, the process is executed with the category ca for which the processes in steps S82 to S86 have not been executed.
- step S83 If it is determined in step S83 that the similarity s is not greater than or equal to the threshold sth, and if it is determined in step S84 that the similarity s is less than or equal to smax, the process of step S87 is executed.
- the category ca having the highest similarity to the new child category c (the word vector thereof) among all the categories ca becomes cmax.
- the parent category determination unit 144 determines whether or not cmax satisfying the condition exists (step S88). That is, the parent category determination unit 144 satisfies whether or not there is a category ca that satisfies the conditions in the processing of the above-described Steps S83 and S84, that is, a category ca that is greater than or equal to the threshold sth and that has a similarity s greater than smax. judge. If it is determined that cmax satisfying the condition does not exist (NO in step S88), the process proceeds to step S91 described later.
- the parent category determination unit 144 classifies the new child category c into cmax (the category ca having the highest similarity with the new child category c). (Step S89).
- the parent category determination unit 144 calculates again the word vector of cmax (that is, the category ca having the highest similarity with the new child category c) (step S90).
- the word vector of cmax is generated by the process shown in FIG.
- the parent category determination unit 144 determines whether or not the processing in steps S81 to S90 has been executed for all new child categories c (step S91).
- step S91 If it is determined that the process has not been executed for all the new child categories c (NO in step S91), the process returns to step S81 and is repeated. In this case, the process is executed with the new child category for which the processes in steps S81 to S90 have not been executed as the new child category c.
- step S91 if it is determined that the process has been executed for all the new child categories c (YES in step S91), the process is terminated.
- steps S81 to S91 described above is details of the processing in step S5 performed by the parent category determination unit 144.
- FIG. 22 is a schematic diagram showing an example of processing for classifying a new child category into one of existing parent categories by the parent category determination unit 144.
- the parent category determination unit 144 determines that it is appropriate that the category name “shibui” of the new child category belongs directly under the category name “taste”, and the category name “shibui” is determined as the category. Classify (subordinate) directly under the name "Taste”.
- the new category determination unit 145 targets a category whose determination result by the parent category determination unit 144 does not belong to any of the existing parent categories, and the category relates to new contents. It is determined whether it is a category (step S6).
- step S6 the process of step S6 described above by the new category determination unit 145 will be described.
- the new category determination unit 145 performs the processing of the following steps S101 to S103 for each new child category c determined that the determination process by the parent category determination unit 144 does not belong to any of the existing parent categories. Execute.
- the new category determination unit 145 targets the new child category c whose determination processing result by the parent category determination unit 144 does not belong to any of the existing parent categories, and the search unit 131 of the user interface unit 130. It is determined whether or not the ratio of the number of users who have created opinion documents belonging to the new child category c to the number of users who have created the first document and the second document extracted by the step exceeds a predetermined ratio. (Step S101). That is, the new category determination unit 145 determines that, among the number of users who have created the first document and the second document to be analyzed, the number of users who have created the opinion document having the content related to the new child category c is the new child category. It is determined whether or not it is statistically significantly greater than the number of users who have created opinion documents classified into categories other than c.
- step S101 If it is determined that the number of users is significantly large (YES in step S101), the process proceeds to step S103 described later.
- the new category determination unit 145 determines that the result of determination processing by the parent category determination unit 144 does not belong to any of the existing parent categories For a child category c, it is determined whether or not a predetermined percentage of opinion documents belonging to the new child category c are documents stored in the second document storage unit 110 most recently. (Step S102). If it is determined that the document is not the most recently stored document in the second document storage unit 110 (NO in step S102), the process proceeds to step S104 described later.
- a method for classifying the most recent document and a document other than the most recent document for example, a method of classifying the documents so as to have a ratio of 50%, a method of specifying a desired date, and the date after the specified date
- a method of classifying a document into the most recent document is used, but the method is not particularly limited thereto.
- x-square test means that the x-square statistic (x) calculated using the following formula is an x-square distribution (3.84) with a significance level of 5% with 2 degrees of freedom or a significance level 1 with 2 degrees of freedom. It becomes statistically significant when it is smaller than the x-square distribution of% (6.63), and is not statistically significant when it is larger.
- x11 in the above formula is the user who created the opinion document classified into the new child category c determined not to belong to any of the existing parent categories by the parent category determination unit 144. This is the number of unique users, and b1 in the above formula is the total number of unique users of the user who created the document in the document to be analyzed.
- x11 in the above formula is the number of the latest opinion documents classified into the new child category c determined by the parent category determination unit 144 as not belonging to any of the existing parent categories.
- b1 in the above formula is the number of the latest documents to be analyzed.
- a1 in the above formula is the number of documents belonging to a new child category that is determined not to belong to any of the existing categories by the parent category determination unit 144 in both the processes of step S101 and step S102.
- N in the above formula is the number of all documents to be analyzed.
- x12 in the above formula is “a1-x11”
- x21 in the above formula is “b1-x11”
- x22 in the above formula is “n-a1-x21”.
- step S101 when it is determined that the number of users is significantly large (YES in step S101), or the document is stored in the second document storage unit 110 most recently. If it is determined (YES in step S102), the new category determination unit 145 adds the new child category c as a new category to the existing classification system including a plurality of categories (step S103).
- the new category determination unit 145 determines whether or not the above-described processing of steps S101 to S103 has been executed for all new child categories c determined by the parent category determination unit 144 not to belong to any of the existing parent categories. Is determined (step S104).
- step S104 If it is determined that processing has not been executed for all new child categories c (NO in step S104), the process returns to step S101 and is repeated. In this case, the process is executed with the new child category for which the processes of steps S101 to S103 have not been executed as the new child category c.
- step S104 when it is determined that the process has been executed for all the new child categories c (YES in step S104), the process is terminated.
- step S101 to step S104 described above is details of the processing in step S6 by the new category determination unit 145.
- FIG. 24 is a schematic diagram illustrating an example of a process for authorizing a new child category as a new category by the new category determination unit 145.
- the category name “sweat” and The category “CM” is certified as a new category
- the category with the category name “blowing” is certified as a category to which documents other than opinion documents belong.
- the second document classification unit 140 outputs the classification result obtained by the processing in steps S2 to S6 to the visualization unit 132 of the user interface unit 130 (step S7), and the processing is terminated. .
- FIG. 25 is a schematic diagram illustrating a screen example in which the result of the classification process by the second document classification unit 140 is displayed on the display 15 via the visualization unit 132 of the user interface unit 130.
- the category names “Shibui”, “Sweat”, and “CM” are highlighted as newly generated categories.
- the storage medium can store a program and can be read by a computer
- the storage format may be any form.
- an OS operating system
- MW middleware
- database management software network software
- the storage medium in each embodiment is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
- the number of storage media is not limited to one, and the case where the processing in each of the above embodiments is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.
- the computer in each embodiment executes each process in each of the above embodiments based on a program stored in a storage medium, and a single device such as a personal computer or a plurality of devices are connected to a network. Any configuration of the system or the like may be used.
- the computer in each embodiment is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. Yes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
実施形態の文書分析装置は、単語を含む複数の第1文書であって、階層構造を構成する複数のカテゴリの各々に属し、所望の対象に対する意見文書だけからなる複数の第1文書を記憶する第1文書記憶手段と、単語を含む複数の第2文書であって、階層構造を構成する複数のカテゴリの各々に属し、又は、属さず、所望の対象に対する意見文書と当該意見文書以外の文書とからなる複数の第2文書を記憶する第2文書記憶手段とを備えて、前記第2文書記憶手段に記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属さない第2文書を、階層構造を構成するいずれかのカテゴリに分類可能な装置である。
Description
本発明の実施形態は、文書分析装置及び文書分析プログラムに関する。
一般に、企業や製品に対するユーザの声を分析する手法として、コンタクトセンタに寄せられた問い合わせを分析する手法がある。この手法では、コンタクトセンタで収集した文書(例、アンケートなど)に記述されたユーザの主観的な意見を効率的に分析するために、辞書を用いて当該収集した文書に記述された内容、すなわち、ユーザの発言の意図を、要望、疑問、不満及び予想外の観点で分類し、この分類結果と評価軸との観点から分析する。
しかしながら、コンタクトセンタに寄せられた問い合わせの分析は、問い合わせという行為を面倒に思わないユーザの声の分析しかできないという不都合がある。
一方で、現在、ブログや掲示板、Twitter(登録商標)、Facebook(登録商標)といったソーシャルメディアを用いて、ユーザが、自由な意見や感想を含む文書(情報)を発信する機会が増加する傾向にある。この文書には、企業や製品に対する意見や感想が含まれることもあり、これらソーシャルメディアで話題となっている内容は、将来的に、コンタクトセンタに問い合わせとして寄せられる可能性が高いものと考えられる。
多数存在するソーシャルメディアの中でも、特にTwitterやFacebookなどのソーシャルネットワーキングサービスは、ユーザが手軽に文書を発信することが可能で、文書の発信頻度や速報性が高いという特長がある。
このため、ソーシャルメディアで話題となっている内容の文書を収集し、当該文書を分析することで、当該文書の内容を事前に把握できる、つまり、将来的にコンタクトセンタに寄せられると考えられる問い合わせに対しての応対方法を事前に検討することができる。このことから、近年、コールセンタが設置されるコールセンタ部門では、ソーシャルメディアに発信された文書を適切に分析する技術が重要となってきている。
しかしながら、ソーシャルメディアに発信される文書は、砕けた表現(つまり、未知の内容)を用いた文書であることが多々あるため、従来の技術では、当該文書を適切に分析し、当該文書を適切な分類体系に分類することができないという不都合がある。
本発明が解決しようとする課題は、ソーシャルメディアに発信された文書に砕けた表現を用いた文書が含まれていたとしても、当該文書を適切に分析し、当該文書を適切な分類体系に分類し得る文書分析装置及び文書分析プログラムを提供することである。
実施形態の文書分析装置は、単語を含む複数の第1文書であって、階層構造を構成する複数のカテゴリの各々に属し、所望の対象に対する意見文書だけからなる複数の第1文書を記憶する第1文書記憶手段と、単語を含む複数の第2文書であって、階層構造を構成する複数のカテゴリの各々に属し、又は、属さず、所望の対象に対する意見文書と当該意見文書以外の文書とからなる複数の第2文書を記憶する第2文書記憶手段とを備えて、前記第2文書記憶手段に記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属さない第2文書を、階層構造を構成するいずれかのカテゴリに分類可能な装置である。
前記文書分析装置は、文書抽出手段、意見文書分類手段、既存カテゴリ分類手段、文書クラスタリング手段及びカテゴリ判定手段を備えている。
前記文書抽出手段は、ユーザの操作に応じて入力を受け付けた条件に従って、当該条件を満たす前記第1文書及び前記第2文書を前記第1文書記憶手段及び前記第2文書記憶手段から抽出する。
前記意見文書分類手段は、前記抽出された第1文書と、前記抽出された第2文書のうち、前記複数のカテゴリの各々に属する第2文書とを教師文書として、前記抽出された第2文書のうち、当該複数のカテゴリの各々に属さない第2文書を前記意見文書と前記意見文書以外の文書とに分類する。
前記既存カテゴリ分類手段は、前記記憶された複数の第1文書と、前記記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属する第2文書とを教師文書として、前記分類された意見文書を、当該教師文書が属する複数のカテゴリのいずれかに分類する。
前記文書クラスタリング手段は、前記既存カテゴリ分類手段によって、いずれのカテゴリにも分類されない意見文書を対象にして文書クラスタリング処理を実行し、新規なカテゴリを作成すると共に、当該新規なカテゴリに当該意見文書を分類する。
前記カテゴリ判定手段は、前記記憶された複数の第1文書が属する複数のカテゴリと、前記記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属する第2文書が属する当該複数のカテゴリとを教師文書として、前記作成された新規なカテゴリが、当該教師文書が属する複数のカテゴリのいずれかに従属する子カテゴリとなるか否かを判定する。
以下、図面を参照して、実施形態について説明する。
図1は、本実施形態に係る文書分析装置のハードウェア構成を示すブロック図である。なお、文書分析装置は、当該装置の各機能を実現するためのハードウェア構成、またはハードウェアとソフトウェアとの組み合わせ構成として実現されている。ソフトウェアは、予め記憶媒体またはネットワークからインストールされ、文書分析装置にその機能を実現させるためのプログラムからなる。
図1に示すように、文書分析装置10は、記憶装置11、キーボード12、マウス13、中央演算装置14およびディスプレイ15を備える。
記憶装置11は、中央演算装置14から読み出しまたは書き込みが可能な記憶装置であり、例えばRAM(Random Access Memory)である。記憶装置11には、予め中央演算装置14によって実行されるプログラム(文書分析プログラム)が記憶されている。
キーボード12およびマウス13は、入力装置であり、例えば文書分析装置10の操作者(ユーザ)の操作により、データまたは命令からなる各種情報を中央演算装置14に入力する。
中央演算装置14は、例えばCPU(プロセッサ)であり、記憶装置11に記憶されているプログラムを実行する機能と、キーボード12またはマウス13から入力される情報に基づいて各処理の実行を制御する機能と、実行結果をディスプレイ15に出力する機能とを有する。
ディスプレイ15は、表示装置であり、例えば編集中の各アーキテクチャモデルやフィーチャモデル等を表示して可視化する機能を有する。また、ディスプレイ15は、中央演算装置14から出力された情報を表示する機能を有する。
なお、文書分析装置10は、例えば本実施形態に係る文書分析プログラムが適用された計算機によって実現される。
図2は、本実施形態に係る文書分析装置10の主として機能構成を示すブロック図である。
図2に示すように、文書分析装置10は、第1文書記憶部100、第2文書記憶部110、第2文書分類結果記憶部120、ユーザインタフェース部130及び第2文書分類部140を備えている。なお、第1文書記憶部100、第2文書記憶部110及び第2文書分類結果記憶部120は、例えば図示しない外部記憶装置等に格納される。また、ユーザインタフェース部130及び第2文書分類部140は、文書分析装置10のコンピュータ(中央演算装置14)が記憶装置11に記憶されている文書分析プログラムを実行することにより実現される。
第1文書記憶部100には、文書分析装置10による分析の対象となる複数の第1文書が記憶される。第1文書は、企業や製品に対する顧客からの意見文書であり、一例としては、コンタクトセンタに寄せられた問い合わせ内容を記述したコールログの文書などが挙げられる。
第2文書記憶部110には、文書分析装置10による分析の対象となる複数の第2文書が記憶される。第2文書は、ブログや掲示板、TwitterやFacebook等のいわゆるソーシャルメディアに投稿された文書であり、上記した第1文書とは異なり、企業や製品に対する顧客からの意見文書だけでなく、当該意見文書以外の文書(例えば、「今日は晴れです。」といった内容の文書等)も含む文書である。なお、第2文書記憶部110に記憶されている複数の第2文書には、後述する第2文書分類結果記憶部120に記憶されているカテゴリ情報により示されるカテゴリのいずれかに分類済の第2文書と未分類の第2文書とが含まれる。なお、以下の説明において、単に第2文書と表記したときは、分類済の第2文書と未分類の第2文書との両者を示すものとする。
第1文書記憶部100及び第2文書記憶部110には、第1文書及び第2文書が逐次記憶される。
第2文書分類結果記憶部120には、第2文書記憶部110に記憶されている複数の分類済の第2文書が分類されたカテゴリの各々を示すカテゴリ情報(つまり、当該複数の第2文書の分類結果)が記憶される。具体的には、第2文書分類結果記憶部120には、例えば第2文書が有する項目の内容に基づいて第2文書記憶部110に記憶されている複数の第2文書が分類された結果が記憶される。
ユーザインタフェース部130は、図2に示すように、検索部131及び可視化部132を更に備えている。
検索部131は、ユーザの操作に応じて入力を受け付けた条件に従って、第1文書記憶部100に記憶されている分析対象の複数の第1文書や、第2文書記憶部110に記憶されている分析対象の複数の第2文書を検索し、当該条件を満たす第1文書及び第2文書を各記憶部100及び110から抽出する機能を有する。
可視化部132は、検索部131によって抽出された第1文書及び第2文書の分類結果(つまり、当該抽出された第1文書及び第2文書のカテゴリ)を、図1に示すディスプレイ15に出力し、表示(可視化)させる機能を有する。これにより、検索部131によって抽出された第1文書及び第2文書の分類結果は、ユーザに対して提示される。
第2文書分類部140は、図2に示すように、意見文書判定部141、既存カテゴリ分類部142、文書クラスタリング部143、親カテゴリ判定部144及び新規カテゴリ判定部145を更に備えている。
意見文書判定部141は、検索部131によって抽出された第2文書のうち、未分類の第2文書を意見文書と意見文書以外の文書とに分類する機能を有する。
既存カテゴリ分類部142は、第1文書記憶部100に記憶されている複数の第1文書と、第2文書記憶部110に記憶されている複数の第2文書のうちの分類済の第2文書とを教師文書として、意見文書判定部141によって分類された意見文書を、当該教師文書が属する複数のカテゴリのいずれかに分類する機能を有する。
文書クラスタリング部143は、既存カテゴリ分類部142によって、いずれのカテゴリにも分類されない意見文書を対象にして文書クラスタリング処理を実行し、新規なカテゴリを作成すると共に、当該新規なカテゴリに当該意見文書を分類する機能を有する。
親カテゴリ判定部144は、第1文書記憶部100に記憶されている複数の第1文書が属する複数のカテゴリと、第2文書記憶部110に記憶されている複数の分類済の第2文書が属する複数のカテゴリとを教師文書として、文書クラスタリング部143によって作成された新規なカテゴリが、当該教師文書が属する複数のカテゴリのいずれかに従属する子カテゴリとなるか否かを判定する機能を有している。
新規カテゴリ判定部145は、文書クラスタリング部143によって作成された新規なカテゴリを、第1文書記憶部100に記憶されている複数の第1文書が属する複数のカテゴリと第2文書記憶部110に記憶されている複数の分類済の第2文書が属する複数のカテゴリとからなる分類体系に新たなカテゴリとして加える機能を有する。
図3は、図2に示す第1文書記憶部100に記憶される第1文書のデータ構造の一例を示す模式図である。図3に示す例では、第1文書には、当該第1文書が有する項目の項目名として、第1文書を識別するための文書番号、当該第1文書に関する問い合わせの対象である製品の種類、当該第1文書の内容である本文、問い合わせ日、当該第1文書の内容に関する顧客の意図を示す問い合わせ種類、当該第1文書の内容に関する顧客の意見を示す問い合わせ大分類、当該問い合わせ大分類により示される顧客の意見をより詳細に示す問い合わせ中分類が含まれている。
また、第1文書には、例えば項目名「文書番号」に対応づけて内容「d01」が含まれている。これによれば、第1文書を識別するための文書番号が「d01」であることが示されている。ここでは、項目名「文書番号」(に対応づけられている内容)について説明したが、第1文書には、他の項目についても同様に項目名に対応づけて内容が含まれている。なお、項目名「本文」に対応づけて第1文書に含まれる内容には、複数の単語からなるテキストが含まれており、例えば、顧客からの意見及び顧客の意図が含まれる。
ここでは、第1文書について説明したが、第1文書記憶部100には、複数の第1文書が記憶されている。また、第1文書記憶部100に記憶されている第1文書は、上記した図3に示す第1文書が有する項目の全てを有していなくてもよいし、他の項目を有していてもよい。
図4は、図2に示す第2文書記憶部110に記憶される第2文書のデータ構造の一例を示す模式図である。図4に示す例では、第2文書111には、当該第2文書111が有する項目の項目名として、第2文書111を識別するための文書番号と、当該第2文書111の内容である本文と、当該第2文書111を投稿したソーシャルメディアを利用するユーザのユーザ名と、当該第2文書111が投稿された投稿日時とが含まれている。
また、第2文書111には、例えば項目名「文書番号」に対応づけて内容「s01」が含まれている。これによれば、第2文書111を識別するための文書番号が「s01」であることが示されている。ここでは、項目名「文書番号」(に対応づけられている内容)について説明したが、第2文書111には、他の項目についても同様に項目名に対応づけて内容が含まれている。なお、項目名「本文」に対応づけて第2文書111に含まれる内容には、複数の単語からなるテキストが含まれている。図4に示す第2文書111の場合、項目名が「本文」である項目の内容には、例えば「A製品はまじー。」といった製品に対するユーザの意見などが含まれる。
ここでは、第2文書111について説明したが、第2文書記憶部110には、複数の第2文書が記憶されている。また、第2文書記憶部110に記憶されている第2文書は、上記した図4に示す第2文書111が有する項目の全てを有していなくてもよいし、他の項目を有していてもよい。
図5~図10は、図2に示す第2文書分類結果記憶部120に記憶されるカテゴリ情報のデータ構造の一例を示す模式図である。第2文書分類結果記憶部120に記憶されているカテゴリ情報は、第2文書記憶部110に記憶されている第2文書が分類されたカテゴリ(つまり、複数の分類済の第2文書のカテゴリ)を示す。なお、第2文書分類結果記憶部120に記憶されているカテゴリ情報によって示されるカテゴリは、例えば階層構造を構成する。なお、本実施形態において、第2文書記憶部120に記憶されている第2文書が分類されたカテゴリは予め作成され、当該カテゴリを示すカテゴリ情報が第2文書分類結果記憶部120に記憶されているものとする。また、カテゴリは、例えば第2文書記憶部110に記憶されている複数の第2文書をクラスタリングすることによって作成されてもよい。
図5~図10に示すように、カテゴリ情報には、カテゴリ番号、親カテゴリ番号、カテゴリ名及び文書番号が含まれる。なお、図8に示すように、カテゴリ情報には、必要に応じて条件が含まれていても構わない。
カテゴリ番号は、カテゴリを一意に識別するための識別子である。親カテゴリ番号は、階層構造においてカテゴリ番号によって識別されるカテゴリの一階層上位に位置するカテゴリ(親カテゴリ)を識別するためのカテゴリ番号を示す。カテゴリ名は、カテゴリ番号によって識別されるカテゴリの名称を示す。文書番号は、カテゴリ番号によって識別されるカテゴリに分類された第2文書を識別するための文書番号を示す。また、条件は、カテゴリ番号によって識別されるカテゴリに分類される文書が満たすべき条件を示す。
図5に示す例では、カテゴリ情報121には、カテゴリ番号「c01」、親カテゴリ番号「(なし)」、カテゴリ名「(ルート)」及び文書番号「s10,s11,s12,…」が含まれている。このカテゴリ情報121によれば、カテゴリ番号「c01」によって識別されるカテゴリのカテゴリ名が「(ルート)」であることが、つまり、当該カテゴリがカテゴリの階層構造におけるルートのカテゴリ(以下、ルートカテゴリと表記)であることが示されている。なお、親カテゴリ番号「(なし)」は、階層構造においてカテゴリ番号「c01」によって識別されるカテゴリ(ルートカテゴリ)の親カテゴリは存在しないことが示されている。また、カテゴリ番号「c01」によって識別されるルートカテゴリには、文書番号「s10」、「s11」及び「s12」等によって識別される第2文書が分類されていることが示されている。
図6に示す例では、カテゴリ情報122には、カテゴリ番号「c02」、親カテゴリ番号「c01」、カテゴリ名「意見文書」及び文書番号「(なし)」が含まれている。このカテゴリ情報122によれば、カテゴリ番号「c02」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c01」によって識別されるカテゴリ(つまり、図5に示すカテゴリ情報121によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c02」によって識別されるカテゴリのカテゴリ名が「意見文書」であることが示されている。更に、文書番号「(なし)」は、カテゴリ番号「c02」によって識別されるカテゴリには文書が分類されていないことが示されている。なお、以下に説明するカテゴリ情報に含まれる文書番号「(なし)」についても同様であるため、その説明については省略する。
図7に示す例では、カテゴリ情報123には、カテゴリ番号「c04」、親カテゴリ番号「c02」、カテゴリ名「味別」及び文書番号「(なし)」が含まれている。このカテゴリ情報123によれば、カテゴリ番号「c04」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c02」によって識別されるカテゴリ(つまり、図6に示すカテゴリ情報122によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c04」によって識別されるカテゴリのカテゴリ名が「味別」であることが示されている。
図8に示す例では、カテゴリ情報124には、カテゴリ番号「c03」、親カテゴリ番号「c04」、カテゴリ名「まずい」、文書番号「s01,s15,s23,s36,…」及び条件「本文contains“まずい”」が含まれている。このカテゴリ情報124によれば、カテゴリ番号「c03」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c04」によって識別されるカテゴリ(つまり、図7に示すカテゴリ情報123によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c03」によって識別されるカテゴリのカテゴリ名が「まずい」であることが示されている。更に、カテゴリ番号「c03」によって識別されるカテゴリには、条件「本文contains“まずい”」を満たす第2文書、つまり、文書番号「s01」、「s15」、「s23」及び「s36」等によって識別される第2文書が分類されていることが示されている。なお、条件「本文contains“まずい”」は、第2文書が項目名「本文」の内容として「まずい」を含むことを示している。
図9に示す例では、カテゴリ情報125には、カテゴリ番号「c31」、親カテゴリ番号「c01」、カテゴリ名「価格別」及び文書番号「s07,s23,s58,…」が含まれている。このカテゴリ情報125によれば、カテゴリ番号「c31」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c01」によって識別されるカテゴリ(つまり、図5に示すカテゴリ情報121によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c31」によって識別されるカテゴリのカテゴリ名が「価格別」であることが示されている。更に、カテゴリ番号「c31」によって識別されるカテゴリには、文書番号「s07」、「s23」及び「s58」等によって識別される第2文書が分類されていることが示されている。
図10に示す例では、カテゴリ情報126には、カテゴリ番号「c32」、親カテゴリ番号「c01」、カテゴリ名「健康別」及び文書番号「s15,s32,s69,…」が含まれている。このカテゴリ情報126によれば、カテゴリ番号「c32」によって識別されるカテゴリの親カテゴリがカテゴリ番号「c01」によって識別されるカテゴリ(つまり、図5に示すカテゴリ情報121によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c32」によって識別されるカテゴリのカテゴリ名が「健康別」であることが示されている。更に、カテゴリ番号「c32」によって識別されるカテゴリには、文書番号「s15」、「s32」及び「s69」等によって識別される第2文書が分類されていることが示されている。
次に、以上のように構成された文書分析装置10の動作の一例について、図11のフローチャートを参照しながら説明する。
始めに、ユーザインタフェース部130の検索部131は、ユーザの操作に応じて、検索キーワード(検索条件)の入力と、第2文書記憶部110に記憶されている複数の未分類の第2文書に対して実行する検索処理の対象(項目名)を指定する旨の入力と、第2文書記憶部110に記憶されている複数の分類済の第2文書に対して実行する検索処理の検索条件を指定する旨の入力と、第1文書記憶部100に記憶されている複数の第1文書に対して実行する検索処理の対象(項目名)を指定する旨の入力とを受け付けると、当該入力を受け付けた検索条件に従って検索処理を実行し、当該検索条件を満たす第1文書、未分類の第2文書及び分類済の第2文書を第1文書記憶部100及び第2文書記憶部110から抽出する(ステップS1)。
ここで、図12は、上記したステップS1の処理時に、例えばディスプレイ15に表示される検索画面の一例を示す模式図である。図12に示す検索画面には、キーワード入力領域、第1の検索対象指定領域、検索条件指定領域、第2の検索対象指定領域、検索ボタン及びキャンセルボタンが設けられている。図12に示す例では、キーワード入力領域に検索キーワード「製品A」が入力され、第1の検索対象指定領域では検索対象として項目名「本文」が指定され、検索条件指定領域では検索条件「製品A(2012年3月)」が指定され、第2の検索対象指定領域では検索対象として項目名「製品の種類」及び「本文」が指定されている。
このため、検索部131は、第2文書記憶部110に記憶されている複数の未分類の第2文書のうち、項目名「本文」に対応づけられている内容に検索キーワード「製品A」という単語を含む複数の未分類の第2文書を第2文書記憶部110から抽出する。また、検索部131は、第2文書記憶部110に記憶されている複数の分類済の第2文書のうち、「2012年3月」までに「製品A」に関して、第2文書分類結果記憶部120に記憶されているカテゴリ情報により示されるカテゴリのいずれかに分類された複数の分類済の第2文書を第2文書記憶部110から抽出する。また、検索部131は、第1文書記憶部100に記憶されている複数の第1文書のうち、項目名「製品の種類」に対応づけられている内容に検索キーワード「製品A」という単語を含む複数の第1文書を第1文書記憶部100から抽出する。更に、検索部131は、第1文書記憶部100に記憶されている複数の第1文書のうち、項目名「本文」に対応づけられている内容に検索キーワード「製品A」という単語を含む複数の第1文書を第1文書記憶部100から抽出する。
なお、検索部131による抽出処理の結果は、可視化部132によってユーザに対して適宜提示される。
再び図11に戻ると、第2文書分類部140の意見文書判定部141は、検索部131によって抽出された複数の未分類の第2文書と複数の分類済の第2文書とを使用して、当該抽出された複数の未分類の第2文書を意見文書と意見文書以外の文書とに分類する(ステップS2)。
ここで、図13は、意見文書判定部141によって複数の未分類の第2文書を意見文書と意見文書以外の文書とに分類される処理の一例を示す模式図である。図13に示す例では、複数の未分類の第2文書と、複数の分類済の第2文書とを使用して、複数の未分類の第2文書を意見文書と意見文書以外の文書とに分類しており、具体的には、「製品Aを買った。」という意見文書以外の文書は、第2文書分類結果記憶部120に記憶されているカテゴリ情報121により示されるルートカテゴリに分類され、「製品Aはしぶい。」という意見文書は、第2文書分類結果記憶部120に記憶されているカテゴリ情報122により示されるカテゴリ名「意見文書」のカテゴリに分類される例を示している。
なお、意見文書と意見文書以外の文書との分類は、SVMなどの機械学習による公知技術を使用する。例えば、意見文書に含まれる単語と、意見文書以外の文書に含まれる単語とを素性として、SVMに学習させることで、意見文書と意見文書以外の文書とを分類可能な分類モデルを作成する。この分類モデルを使用することで、逐次記憶される未分類の第2文書、つまり、新たに収集される第2文書を、当該第2文書に含まれる単語を素性として、意見文書と意見文書以外の文書とに分類することができる。公知技術のため、ここではこれ以上の詳細な説明は省略する。
再び図11に戻ると、第2文書分類部140の既存カテゴリ分類部142は、第1文書記憶部100に記憶されている複数の第1文書と、第2文書記憶部110に記憶されている複数の分類済の第2文書とを教師文書として、意見文書判定部141によって分類された意見文書を、既存のカテゴリのいずれかに分類する(ステップS3)。ここでの既存のカテゴリには、第1文書記憶部100に記憶されている第1文書の項目名「問い合わせ大分類」及び「問い合わせ中分類」に対応付けられている内容によって示されるカテゴリ(以下、カテゴリccと表記)と、第2文書分類結果記憶部120に記憶されているカテゴリ情報に含まれるカテゴリ名により示されるカテゴリ(以下、カテゴリscと表記)とが含まれる。
ここで、図14のフローチャートを参照して、既存カテゴリ分類部142による上記したステップS3の処理の詳細について説明する。
始めに、既存カテゴリ分類部142は、カテゴリcc及びカテゴリscを対応付けて、これらを統合したカテゴリ(以下、統合カテゴリpと表記)を作成する(ステップS11)。
具体的には、既存カテゴリ分類部142は、第1文書の項目名「問い合わせ大分類」及び「問い合わせ中分類」に対応付けられている内容により示されるカテゴリ(カテゴリcc)と、カテゴリ情報に含まれるカテゴリ名により示されるカテゴリ(カテゴリsc)とが一致する場合に、統合カテゴリpを作成する。このようにして統合カテゴリpを作成することで、統合カテゴリpには、カテゴリccに分類される第1文書と、カテゴリscに分類される第2文書とをあわせた文書が分類される。
なお、ここでは上記したように、カテゴリcc及びカテゴリscが一致する場合に、第1文書と第2文書とを対応付けたが、例えば、カテゴリcc及びカテゴリscの特徴語を抽出し、当該特徴語が一致した場合に第1文書と第2文書とを対応付けるとしてもよい。
続いて、既存カテゴリ分類部142は、統合カテゴリpに分類された文書の単語ベクトルを生成する(ステップS12)。
ここで、図15~図17のフローチャートを参照して、既存カテゴリ分類部142による上記したステップS12の処理の詳細について説明する。ここでは、既存カテゴリの文書の単語ベクトルと、分類対象の文書の単語ベクトルを生成する処理が必要だが、まとめて処理できるので、その処理手順について説明する。
なお、図15に示す処理の対象となるカテゴリpに分類される第1文書及び第2文書と、既存カテゴリの教師文書をともに文書dとする。また、文書dは、意見文書判定部141によって分類された各意見文書を表し、文書dの単語ベクトルを単語ベクトルvpdとする。意見文書判定部141によって分類された各文書は、図13のように階層構造をもったカテゴリに属している。
始めに、既存カテゴリ分類部142は、文書dから単語ベクトルvpdを生成する対象となるテキスト(以下、対象テキストと表記)を取得する(ステップS31)。ここでは、対象テキストとして文書dに含まれる本文を取得するものとするが、複数の単語からなるテキストが本文以外にも文書dに含まれている場合、当該テキストを対象テキストとして取得してもよい。
続いて、既存カテゴリ分類部142は、取得された対象テキストを形態素解析する(ステップS32)。既存カテゴリ分類部142は、取得された対象テキストに含まれる単語及び当該単語の品詞を、形態素解析結果に基づいて取得する。
既存カテゴリ分類部142は、取得された単語の各々について以下のステップS33~ステップS36の処理を実行する。以下、この処理の対象となる単語を単語tとする。
次に、既存カテゴリ分類部142は、単語tの品詞が所定の品詞に該当するか否かを判定する(ステップS33)。ここで、所定の品詞とは、例えば名詞、サ変名詞及び固有名詞をいう。つまり、例えば接続詞または副詞等は所定の品詞には含まれない。
単語tの品詞が所定の品詞であると判定された場合(ステップS33のYES)、既存カテゴリ分類部142は、単語tが予め定められた不要語に該当するか否かを判定する(ステップS34)。ここで、不要語とは、文書の特徴を表さない単語をいう。本実施形態に係る文書dとは異なるが、例えば特許文書を文書dとするような場合には、「装置」または「手段」のような単語は文書の特徴を表さないため、予め不要語として設定されている。
単語tが予め定められた不要語に該当しないと判定された場合(ステップS34のNO)、既存カテゴリ分類部142は、取得された対象テキスト中で単語tが出現する頻度(以下、出現頻度tfと表記)を算出する(ステップS35)。
続いて、既存カテゴリ分類部142は、単語tを単語ベクトルvpdにおける1つの次元とし、算出された出現頻度tfを当該次元の値とする(ステップS36)。
次に、上記した形態素解析により得られた単語(対象テキストに含まれる単語)の全てについてステップS33~ステップS36の処理が実行されたか否かが判定される(ステップS37)。
形態素解析により得られた単語の全てについて処理が実行されていないと判定された場合(ステップS37のNO)、ステップS33に戻って処理が繰り返される。この場合、ステップS33~ステップS36の処理が実行されていない単語を単語tとして処理が実行される。
一方、形態素解析により得られた単語の全てについて処理が実行されたと判定された場合(ステップS37のYES)、処理が終了される。
上記したようにステップS33~ステップS36の処理が形態素解析により得られた全ての単語について実行されることにより、所定の品詞であり、かつ、不要語でない単語を次元とする単語ベクトルvpdが生成される。
例えば上記した図3に示す第1文書の本文では、「味」という単語が1回出現する、すなわち、当該「味」の出現頻度は1である。したがって、図3に示す第1文書の単語ベクトルにおいては、当該単語ベクトルの1つの次元である「味」の値(当該次元の値)は1である。他の次元(例えば、「A」及び「おいしくない」等)についても同様である。
一方、上記したステップS33において単語tの品詞が所定の品詞でないと判定された場合及びステップS34において単語tが予め定められた不要語に該当すると判定された場合、ステップS37の処理が実行される。
次に、図16を参照して、既存カテゴリ分類部142による上記したステップS14の処理時に使用される単語ベクトルvpdを生成する処理について説明する。始めに、既存カテゴリ分類部142は、統合カテゴリpに直接的または間接的に属する文書集合(以下、文書集合Dcと表記)を取得する(ステップS41)。ここで、統合カテゴリpに直接的または間接的に属する文書集合Dcとは、上記したように統合カテゴリpに属する文書及び当該子カテゴリの階層より下位の階層に位置するカテゴリ(統合カテゴリpの子カテゴリ、つまり、統合カテゴリpの子カテゴリ等)に属する文書の集合をいう。なお、統合カテゴリpの階層より下位の階層に位置するカテゴリには、例えば統合カテゴリpの子カテゴリの子カテゴリ(つまり、統合カテゴリpの孫カテゴリ)のような統合カテゴリpの階層より下位に位置する全てのカテゴリが含まれる。
続いて、既存カテゴリ分類部142は、上記した図15に示す処理によって生成された文書dの単語ベクトルvpdの各次元とされた単語の各々について、以下のステップS42~ステップS44の処理を実行する。
既存カテゴリ分類部142は、取得された文書集合Dc(に含まれる文書)の中で単語tを含む文書数(以下、文書数dfcと表記)を算出する(ステップS42)。
次に、既存カテゴリ分類部142は、算出された文書数dfcを用いて、計算式「tf*(log(|Dc|/dfc)+1)」の値を算出する(ステップS43)。ここで、|Dc|は、文書集合Dcの文書数であり、「*」は乗算(×)を示すものである。また、tfは、上記した図15に示す処理によって生成された文書dの単語ベクトルvpdにおける単語tの次元の値(つまり、図15に示すステップS35において算出された単語tの対象テキストにおける出現頻度)である。
この計算式は、TF*IDFと呼ばれ、例えば情報検索または文書分類の分野において広く使用されているものである。このTF*IDFによれば、単語tが文書dに出現する頻度が多い(つまり、tfの値が大きい)ほど、また、統合カテゴリpに直接的または間接的に属する文書のうち単語tを含む文書が少ない(つまり、dfcの値が小さい)ほど、TF*IDFの値が大きくなり、当該単語tは文書dの特徴を適切に表す単語であるとみなされる。
続いて、既存カテゴリ分類部142は、単語tを単語ベクトルvpd(統合カテゴリpにおける文書dの単語ベクトル)の1つの次元とし、ステップS43において算出された値(TF*IDFの値)を当該次元の値とする(ステップS44)。
次に、上記した図15に示す処理によって生成された単語ベクトルvpdの各次元とされた単語の全てについて上記したステップS42~ステップS44の処理が実行されたか否かが判定される(ステップS45)。
単語ベクトルvpdの各次元とされた単語の全てについて処理が実行されていないと判定された場合(ステップS45のNO)、ステップS42に戻って処理が繰り返される。この場合、ステップS42~ステップS44の処理が実行されていない単語を単語tとして処理が実行される。
一方、単語ベクトルvpdの各次元とされた単語の全てについて処理が実行されたと判定された場合(ステップS45のYES)、当該単語ベクトルvpdの各次元とされた単語の各々を次元とする単語ベクトルvpdが生成される。
このようにして生成された単語ベクトルvpdは、上記した図15に示す処理によって生成された単語ベクトルvpdと比較すると、統合カテゴリpにおいて文書dの特徴を適切に表す次元の値(単語の重み)が大きいベクトルとなる。
なお、上記したTF*IDFにおけるIDFに相当する部分、すなわち、(log(|Dc|/dfc)+1)の部分は、統合カテゴリpに直接的または間接的に属する文書集合Dcを対象としている。このため、例えば文書集合Dcの文書数が少ない場合には、本来特徴的ではない単語tの重み(TF*IDFの値)が大きくなる場合がある。したがって、例えば第1文書記憶部100及び第2文書記憶部110に記憶されている全ての文書集合(文書集合D)および当該文書集合Dの中で単語tを含む文書数(df)を用いて、TF*IDFにおけるIDFの部分を計算しても構わない。また、文書集合Dc(および文書数dfc)を用いて計算したIDFの部分の値と、文書集合D(および文書数df)を用いて計算した値との両方を加味した値(例えば、平均)を用いても構わない。
更に、ステップS42における単語tを含む文書数dfcを算出する処理においては、例えば情報検索における転置ファイルのような手段を用いることにより処理の効率を向上させる構成であっても構わない。
しかる後、既存カテゴリ分類部142は、生成された単語ベクトルvpdの各次元の値を、当該単語ベクトルvpdのノルム|vpd|で割ることによって正規化する(ステップS46)。この結果、単語ベクトルvpdは、ノルムが1のベクトルとなる。
次に、図17を参照して、単語ベクトルvpcを生成する際の既存カテゴリ分類部142の処理手順について説明する。
始めに、既存カテゴリ分類部142は、統合カテゴリpに直接的または間接的に属する文書集合Dcを取得する(ステップS51)。
続いて、既存カテゴリ分類部142は、単語ベクトルvpcの初期値を空(つまり、すべての次元の値を0)とする(ステップS52)。
次に、既存カテゴリ分類部142は、取得された文書集合Dcに含まれる文書の各々について、以下のステップS53及びステップS54の処理を実行する。
既存カテゴリ分類部142は、統合カテゴリpにおける文書dの単語ベクトルvpdを生成する(ステップS53)。この単語ベクトルvpdは、上記した図16に示す処理によって生成される。
続いて、既存カテゴリ分類部142は、生成された単語ベクトルvpd(の各次元の値)を単語ベクトルvpcに加算する(ステップS54)。
次に、文書集合Dcに含まれる全ての文書について上記したステップS53及びステップS54の処理が実行されたか否かが判定される(ステップS55)。
文書集合Dcに含まれる全ての文書について処理が実行されていないと判定された場合(ステップS55のNO)、ステップS53に戻って処理が繰り返される。この場合、ステップS53及びステップS54の処理が実行されていない文書を文書dとして処理が実行される。
一方、文書集合Dcに含まれる全ての文書について処理が実行されたと判定された場合(ステップS55のYES)、単語ベクトルvpcが生成される。つまり、単語ベクトルvpcは、文書集合Dcに含まれる文書毎に生成された単語ベクトルvpd(統合カテゴリpにおける当該文書の単語ベクトル)を合計することによって生成される。
しかる後、既存カテゴリ分類部142は、生成された単語ベクトルvpcの各次元の値を、当該単語ベクトルvpcのノルム|vpc|で割ることによって正規化する(ステップS56)。この結果、単語ベクトルvpcは、ノルムが1のベクトルとなる。
上記したようにして、単語ベクトルvpcは、統合カテゴリpの子カテゴリcにおいて、当該統合カテゴリpの子カテゴリcに属する複数の文書の特徴を表す平均的なベクトルとして生成される。
再び図14に戻ると、既存カテゴリ分類部142は、統合カテゴリpに分類された文書dの各々について以下のステップS13~ステップS22の処理を実行する。
既存カテゴリ分類部142は、初期化処理を実行する(ステップS13)。この初期化処理では、既存カテゴリ分類部142は、後述するsmaxの値を0(つまり、smax=0)とし、後述するcmaxをなしとする。
既存カテゴリ分類部142は、統合カテゴリpの子カテゴリ(以下、子カテゴリcと表記)の各々について以下のステップS14~ステップS18の処理を実行する。
既存カテゴリ分類部142は、文書dと統合カテゴリpの子カテゴリcとの類似度(以下、類似度sと表記)を算出する(ステップS14)。この類似度sは、例えば分類対象の文書dの単語ベクトルvpdと、統合カテゴリpの子カテゴリcの単語ベクトルvpcとの余弦によって算出される。
既存カテゴリ分類部142は、算出された類似度sが予め定められた値(以下、閾値sthと表記)以上であるか否かを判定する(ステップS15)。なお、閾値sthは、0であっても構わない。
類似度sが閾値sth以上であると判定された場合(ステップS15のYES)、既存カテゴリ分類部142は、算出された類似度sが上記したsmaxより大きいか否かを判定する(ステップS16)。
類似度sがsmaxより大きいと判定された場合(ステップS16のYES)、既存カテゴリ分類部142は、上記したcmaxに子カテゴリc(つまり、cmax=c)を代入する(ステップS17)。
また、既存カテゴリ分類部142は、smaxにs(つまり、smax=s)を代入する(ステップS18)。
既存カテゴリ分類部142は、子カテゴリcの全てについて上記したステップS14~ステップS18の処理が実行されたか否かを判定する(ステップS19)。
全ての子カテゴリcについて処理が実行されていないと判定された場合(ステップS19のNO)、上記したステップS14に戻って処理が繰り返される。この場合、ステップS14~ステップS18の処理が実行されていない子カテゴリを子カテゴリcとして処理が実行される。
なお、上記したステップS15において類似度sが閾値sth以上でないと判定された場合及びステップS16において類似度sがsmax以下であると判定された場合には、ステップS19の処理が実行される。
このように、全ての子カテゴリcについて処理が実行されると、当該全ての子カテゴリcのうち、文書d(の単語ベクトル)と最も類似度の高いカテゴリがcmaxとなる。
子カテゴリcの全てについて処理が実行されたと判定された場合(ステップS19のYES)、既存カテゴリ分類部142は、条件を満たすcmaxが存在するか否かを判定する(ステップS20)。すなわち、既存カテゴリ分類部142は、上記したステップS15及びステップS16の処理における条件を満たす、つまり、閾値sth以上であり、かつsmaxより大きい類似度sを算出した子カテゴリcが存在するか否かを判定する。なお、条件を満たすcmaxが存在しないと判定された場合(ステップS20のNO)、後述するステップS23の処理に進む。
条件を満たすcmaxが存在すると判定された場合(ステップS20のYES)、既存カテゴリ分類部142は、文書dをcmax(つまり、文書dと最も類似度の高い子カテゴリc)に分類する(ステップS21)。
次に、既存カテゴリ分類部142は、文書dと最も類似度の高い子カテゴリc(cmax)の単語ベクトルを再度算出する(ステップS22)。この単語ベクトルは、上記した図17に示す処理によって生成される。
続いて、統合カテゴリpに分類された全ての文書について上記したステップS13~ステップS22の処理が実行されたか否かを判定する(ステップS23)。
統合カテゴリpに分類された全ての文書について処理が実行されていないと判定された場合(ステップS23のNO)、ステップS13に戻って処理が繰り返される。この場合、ステップS13~ステップS22の処理が実行されていない文書を文書dとして処理が実行される。
一方、統合カテゴリpに分類された全ての文書について処理が実行されたと判定された場合(ステップS23のYES)、処理が終了される。
上記したステップS11~ステップS23の処理が、既存カテゴリ分類部142によるステップS3の処理の詳細である。
図18は、既存カテゴリ分類部142によって意見文書が既存のカテゴリのいずれかに分類される処理の一例を示す模式図である。図18に示す例では、「製品Aは、味がまじい。最悪。2度と飲まない。」という意見文書を既存のカテゴリのカテゴリ名「まずい」のカテゴリに分類する例を示している。従来の分類機能では、一般的に、第2文書記憶部110に相当する記憶部に記憶されている第2文書に相当する文書を教師文書として採用するため(つまり、分析対象が記憶されている記憶部の同種の文書を教師文書として採用するため)、図18に示す例では、一致する単語が「まじい」のみであり、意見文書をカテゴリ名「まずい」のカテゴリに分類できないことがある。一方、既存カテゴリ分類部142は、第1文書記憶部100及び第2文書記憶部110に記憶されている第1文書及び第2文書を教師文書として採用するため、図18に示す例では、一致する単語として「まじい」の他に、「味」、「2度」及び「飲まない」といった単語が存在するため、従来に比べてより確度高く、意見文書をカテゴリ名「まずい」のカテゴリに分類することができる。
再び図11に戻ると、第2文書分類部140の文書クラスタリング部143は、既存カテゴリ分類部142によって既存のカテゴリのいずれにも分類されなかった意見文書を対象にして文書クラスタリング処理を実行する(ステップS4)。
ここで、図19を参照して、文書クラスタリング部143による上記したステップS4の処理の詳細について説明する。
始めに、文書クラスタリング部143は、既存カテゴリ分類部142によって既存のカテゴリのいずれにも分類されなかった意見文書(つまり、未分類の第2文書)を取得する(ステップS61)。
文書クラスタリング部143は、上記したステップS61の処理において取得した意見文書の各々について以下のステップS62~ステップS73の処理を実行する。
文書クラスタリング部143は、初期化処理を実行する(ステップS62)。この初期化処理では、文書クラスタリング部143は、smaxの値を0(つまり、smax=0)とし、cmaxをなしとする。
文書クラスタリング部143は、統合カテゴリpの子カテゴリcのうち、新規に作成された子カテゴリcの各々について以下のステップS63~ステップS67の処理を実行する。なお、統合カテゴリpの子カテゴリcのうちの新規に作成された子カテゴリcは、最初の文書クラスタリング処理実行時には生成されておらず、後述するステップS71の処理によって生成されるものとする。
文書クラスタリング部143は、文書dと新規な子カテゴリcとの類似度を算出する(ステップS63)。この類似度sは、例えば統合カテゴリpにおける文書dの単語ベクトルvpdと、新規な子カテゴリcの単語ベクトルvpcとの余弦によって算出される。
文書クラスタリング部143は、算出された類似度sが予め定められた閾値sth以上であるか否かを判定する(ステップS64)。なお、閾値sthは、0であっても構わない。
類似度sが閾値sth以上であると判定された場合(ステップS64のYES)、文書クラスタリング部143、算出された類似度sが上記したsmaxより大きいか否かを判定する(ステップS65)。
類似度sがsmaxより大きいと判定された場合(ステップS65のYES)、文書クラスタリング部143は、上記したcmaxに新規な子カテゴリc(つまり、cmax=c)を代入する(ステップS66)。
また、文書クラスタリング部143は、smaxにs(つまり、smax=s)を代入する(ステップS67)。
文書クラスタリング部143は、新規な子カテゴリcの全てについて上記したステップS63~ステップS67の処理が実行されたか否かを判定する(ステップS68)。
全ての新規な子カテゴリcについて処理が実行されていないと判定された場合(ステップS68のNO)、上記したステップS63に戻って処理が繰り返される。この場合、ステップS63~ステップS67の処理が実行されていない新規な子カテゴリを新規な子カテゴリcとして処理が実行される。
なお、上記したステップS64において類似度sが閾値sth以上でないと判定された場合及びステップS65において類似度sがsmax以下であると判定された場合には、ステップS68の処理が実行される。
このように、全ての新規な子カテゴリcについて処理が実行されると、当該全ての新規な子カテゴリcのうち、文書d(の単語ベクトル)と最も類似度の高いカテゴリがcmaxとなる。
新規な子カテゴリcの全てについて処理が実行されたと判定された場合(ステップS68のYES)、文書クラスタリング部143は、条件を満たすcmaxが存在するか否かを判定する(ステップS69)。すなわち、文書クラスタリング部143は、上記したステップS64及びステップS65の処理における条件を満たす、つまり、閾値sth以上であり、かつsmaxより大きい類似度sを算出した新規な子カテゴリcが存在するか否かを判定する。
条件を満たすcmaxが存在しないと判定された場合(ステップS69のNO)、文書クラスタリング部143は、例えばキーボード12やマウス13を介してユーザから新規に子カテゴリcを作成する旨の要求を受けたか否かを判定する(ステップS70)。なお、新規に子カテゴリcを作成する旨の要求を受けていないと判定された場合(ステップS70のNO)、後述するステップS74の処理に進む。
新規に子カテゴリcを作成する旨の要求を受けていると判定された場合(ステップS70のYES)、文書クラスタリング部143は、文書dと最も類似度の高いカテゴリとして、cmaxを新規な子カテゴリcとして作成する(ステップS71)。
cmaxが存在すると判定された場合(ステップS70のYES)またはステップS71の処理が実行されると、文書クラスタリング部143は、文書dをcmax(つまり、文書dと最も類似度の高い新規な子カテゴリc)に分類する(ステップS72)。
次に、文書クラスタリング部143は、文書dと最も類似度の高い新規な子カテゴリc(cmax)の単語ベクトルを再度算出する(ステップS73)。cmaxの単語ベクトルは、上記した図17に示す処理によって生成される。つまり、cmaxの単語ベクトルは、文書dを新規な子カテゴリcに分類する前のcmaxの単語ベクトル(以下、単語ベクトルvpcmaxと表記)と、単語ベクトルvpdとを使用して算出することができる、更に具体的には、文書dを新規な子カテゴリcに分類する前のcmaxがもつ文書数を|Dcmax|とすれば、単語ベクトル|Dcmax|*vpcmax+vpdをそのノルムで正規化して大きさを1とした単語ベクトルをcmaxの新しい単語ベクトルとすることができる。
文書クラスタリング部143は、上記したステップS61の処理において取得した全ての文書について、上記ステップS62~ステップS73の処理が実行されたか否かを判定する(ステップS74)。
取得した全ての文書について処理が実行されていないと判定された場合(ステップS74のNO)、ステップS62に戻って処理が繰り返される。この場合、ステップS62~ステップS73の処理が実行されていない文書を文書dとして処理が実行される。
一方、取得した全ての文書について処理が実行されたと判定された場合(ステップS74のYES)、文書クラスタリング部143は、上記したステップS71の処理において作成した新規な子カテゴリcのうち、分類された文書の数が1つ以下の新規な子カテゴリcを削除し(ステップS75)、処理が終了される。
上記したステップS61~ステップS75の処理が、文書クラスタリング部143による上記ステップS4の処理の詳細である。
図20は、文書クラスタリング部143によって実行される文書クラスタリング処理の一例を示す模式図である。図20に示す例では、新規な子カテゴリとして、「しぶい」、「汗」、「CM」及び「吹く」が生成される。
再び図11に戻ると、第2文書分類部140の親カテゴリ判定部144は、文書クラスタリング部143によって生成された新規な子カテゴリcを対象にして、当該子カテゴリcが既存の(親)カテゴリのいずれかに属する(従属する)か否かを判定する(ステップS5)。
ここで、図21を参照して、親カテゴリ判定部144による上記したステップS5の処理の詳細について説明する。
親カテゴリ判定部144は、文書クラスタリング部143によって生成された新規な子カテゴリcの各々について以下のステップS81~S90の処理を実行する。
始めに、親カテゴリ判定部144は、初期化処理を実行する(ステップS81)。この初期化処理では、親カテゴリ判定部144は、smaxの値を0(つまり、smax=0)とし、cmaxをなしとする。
親カテゴリ判定部144は、第1階層のカテゴリ(以下、カテゴリcaと表記)の各々について以下のステップS82~ステップS86の処理を実行する。
親カテゴリ判定部144は、新規な子カテゴリcとカテゴリcaとの類似度を算出する(ステップS82)。この類似度sは、例えば新規な子カテゴリcの単語ベクトルvpcと、カテゴリcaの単語ベクトルvpcaとの余弦によって算出される。
続いて、親カテゴリ判定部144は、算出された類似度sが予め定められた閾値sth以上であるか否かを判定する(ステップS83)。なお、閾値sthは、0であっても構わない。
類似度sが閾値sth以上であると判定された場合(ステップS83のYES)、親カテゴリ判定部144は、算出された類似度sが上記したsmaxより大きいか否かを判定する(ステップS84)。
類似度sがsmaxより大きいと判定された場合(ステップS84のYES)、親カテゴリ判定部144は、上記したcmaxに新規な子カテゴリc(つまり、cmax=c)を代入する(ステップS85)。
また、親カテゴリ判定部144は、smaxにs(つまり、smax=s)を代入する(ステップS86)。
親カテゴリ判定部144は、カテゴリcaの全てについて上記したステップS82~ステップS86の処理が実行されたか否かを判定する(ステップS87)。
全てのカテゴリcaについて処理が実行されていないと判定された場合(ステップS87のNO)、上記したステップS82に戻って処理が繰り返される。この場合、ステップS82~ステップS86の処理が実行されていないカテゴリをカテゴリcaとして処理が実行される。
なお、上記したステップS83において類似度sが閾値sth以上でないと判定された場合及びステップS84において類似度sがsmax以下であると判定された場合には、ステップS87の処理が実行される。
このように、全てのカテゴリcaについて処理が実行されると、当該全てのカテゴリcaのうち、新規な子カテゴリc(の単語ベクトル)と最も類似度の高いカテゴリcaがcmaxとなる。
カテゴリcaの全てについて処理が実行されたと判定された場合(ステップS87のYES)、親カテゴリ判定部144は、条件を満たすcmaxが存在するか否かを判定する(ステップS88)。すなわち、親カテゴリ判定部144は、上記したステップS83及びステップS84の処理における条件を満たす、つまり、閾値sth以上であり、かつsmaxより大きい類似度sを算出したカテゴリcaが存在するか否かを判定する。なお、条件を満たすcmaxが存在しないと判定された場合(ステップS88のNO)、後述するステップS91の処理に進む。
条件を満たすcmaxが存在すると判定された場合(ステップS88のYES)、親カテゴリ判定部144は、新規な子カテゴリcをcmax(新規な子カテゴリcと最も類似度の高いカテゴリca)に分類する(ステップS89)。
次に、親カテゴリ判定部144は、cmax(つまり、新規な子カテゴリcと最も類似度の高いカテゴリca)の単語ベクトルを再度算出する(ステップS90)。cmaxの単語ベクトルは、上記した図17に示す処理によって生成される。
親カテゴリ判定部144は、全ての新規な子カテゴリcについて、上記ステップS81~ステップS90の処理が実行されたか否かを判定する(ステップS91)。
全ての新規な子カテゴリcについて処理が実行されていないと判定された場合(ステップS91のNO)、ステップS81に戻って処理が繰り返される。この場合、ステップS81~ステップS90の処理が実行されていない新規な子カテゴリを新規な子カテゴリcとして処理が実行される。
一方、全ての新規な子カテゴリcについて処理が実行されたと判定された場合(ステップS91のYES)、処理が終了される。
上記したステップS81~ステップS91の処理が、親カテゴリ判定部144による上記ステップS5の処理の詳細である。
図22は、親カテゴリ判定部144により新規な子カテゴリを既存の親カテゴリのいずれかに分類させる処理の一例を示す模式図である。図22に示す例では、親カテゴリ判定部144は、新規な子カテゴリのカテゴリ名「しぶい」はカテゴリ名「味」の直下に属するのが適切であると判定し、カテゴリ名「しぶい」をカテゴリ名「味」の直下に分類する(従属させる)。
再び図11に戻ると、新規カテゴリ判定部145は、親カテゴリ判定部144による判定処理の結果が既存の親カテゴリのいずれにも属さなかったカテゴリを対象にして、当該カテゴリが、新規な内容に関するカテゴリであるか否かを判定する(ステップS6)。
ここで、図23を参照して、新規カテゴリ判定部145による上記したステップS6の処理の詳細について説明する。
新規カテゴリ判定部145は、親カテゴリ判定部144による判定処理の結果が既存の親カテゴリのいずれにも属さないと判定された新規な子カテゴリcの各々について以下のステップS101~ステップS103の処理を実行する。
始めに、新規カテゴリ判定部145は、親カテゴリ判定部144による判定処理の結果が既存の親カテゴリのいずれにも属さなかった新規な子カテゴリcを対象にして、ユーザインタフェース部130の検索部131により抽出された第1文書及び第2文書を作成したユーザの数に対する、当該新規な子カテゴリcに属する意見文書を作成したユーザの数の割合が所定の割合を超えているか否かを判定する(ステップS101)。つまり、新規カテゴリ判定部145は、分析対象の第1文書及び第2文書を作成したユーザの数のうち、新規な子カテゴリcに関する内容の意見文書を作成したユーザの数が、新規な子カテゴリc以外のカテゴリに分類された意見文書を作成したユーザの数に比べて統計的に有意に多いか否かを判定する。
なお、ユーザの数が有意に多いと判定された場合(ステップS101のYES)、後述するステップS103の処理に進む。
ユーザの数が有意に多くないと判定された場合(ステップS101のNO)、新規カテゴリ判定部145は、親カテゴリ判定部144による判定処理の結果が既存の親カテゴリのいずれにも属さなかった新規な子カテゴリcを対象にして、当該新規な子カテゴリcに属する意見文書のうちの所定の割合の意見文書が、直近に第2文書記憶部110に記憶された文書であるか否かを判定する(ステップS102)。直近に第2文書記憶部110に記憶された文書でないと判定された場合(ステップS102のNO)、後述するステップS104に進む。
なお、ここでは、直近な文書と直近以外な文書とを分類する手法としては、例えば、50%ずつの比率となるように分類する手法や、所望の日付を指定して当該指定した日付以降の文書を直近な文書に分類する手法等を用いるが、特にこれらに限定されるものではない。
また、上記したステップS101の処理やステップS102の処理において使用される統計的な検討手法としては、例えば、x二乗検定がある。x二乗検定とは、以下の数式を用いて算出されるx二乗統計量(x)が、自由度2の有意水準5%のx二乗分布(3.84)や、自由度2の有意水準1%のx二乗分布(6.63)より小さいときに統計的に有意となり、大きいときに統計的に有意とならない。
なお、ステップS101の処理では、上記数式のx11は、親カテゴリ判定部144によって既存の親カテゴリのいずれにも属さないと判定された新規な子カテゴリcに分類された意見文書を作成したユーザの固有ユーザ数であり、上記数式のb1は、分析対象の文書で、当該文書を作成したユーザの固有ユーザ総数である。
また、ステップS102の処理では、上記数式のx11は、親カテゴリ判定部144によって既存の親カテゴリのいずれにも属さないと判定された新規な子カテゴリcに分類された直近の意見文書の数であり、上記数式のb1は、分析対象の直近の文書の数である。
更に、上記数式のa1は、ステップS101及びステップS102のどちらの処理においても、親カテゴリ判定部144によって既存のカテゴリのいずれにも属さないと判定された新規な子カテゴリに属する文書の数であり、上記数式のnは、分析対処の全ての文書の数である。
また、上記数式のx12は「a1-x11」であり、上記数式のx21は「b1-x11」であり、上記数式のx22は「n-a1-x21」である。
再び図23に戻ると、ステップS101の処理において、ユーザの数が有意に多いと判定された場合(ステップS101のYES)、又は、直近に第2文書記憶部110に記憶された文書であると判定された場合(ステップS102のYES)、新規カテゴリ判定部145は、当該新規な子カテゴリcを、既存の複数のカテゴリからなる分類体系に新たなカテゴリとして加える(ステップS103)。
新規カテゴリ判定部145は、親カテゴリ判定部144によって既存の親カテゴリのいずれにも属さないと判定された全ての新規な子カテゴリcについて上記したステップS101~ステップS103の処理が実行されたか否かを判定する(ステップS104)。
全ての新規な子カテゴリcについて処理が実行されていないと判定された場合(ステップS104のNO)、ステップS101に戻って処理が繰り返される。この場合、ステップS101~ステップS103の処理が実行されていない新規な子カテゴリを新規な子カテゴリcとして処理が実行される。
一方、全ての新規な子カテゴリcについて処理が実行されたと判定された場合(ステップS104のYES)、処理が終了される。
上記したステップS101~ステップS104の処理が、新規カテゴリ判定部145による上記ステップS6の処理の詳細である。
図24は、新規カテゴリ判定部145により新規な子カテゴリを新たなカテゴリとして認定する処理の一例を示す模式図である。図24に示す例では、親カテゴリ判定部144によって既存のカテゴリのいずれにも従属しないと判定された新規な子カテゴリ「汗」、「CM」及び「吹く」のうち、カテゴリ名「汗」及び「CM」のカテゴリが新たなカテゴリとして認定され、カテゴリ名「吹く」のカテゴリが意見文書以外の文書が属するカテゴリとして認定されている。
再び図11に戻ると、第2文書分類部140が、上記したステップS2~ステップS6の処理による分類結果を、ユーザインタフェース部130の可視化部132に出力し(ステップS7)、処理が終了される。
図25は、第2文書分類部140による分類処理の結果をユーザインタフェース部130の可視化部132を介してディスプレイ15に表示させた画面例を示す模式図である。図25に示す例では、カテゴリ名「しぶい」、「汗」及び「CM」が新たに生成されたカテゴリとして強調表示されている。
以上説明した本実施形態によれば、ソーシャルメディアに発信された文書(第2文書)に砕けた表現(例えば、「まじー」等)を用いた文書が含まれていたとしても、当該文書を適切に分析し、当該文書を適切な分類体系に分類することができる。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD-ROM、DVPDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
Claims (4)
- 単語を含む複数の第1文書であって、階層構造を構成する複数のカテゴリの各々に属し、所望の対象に対する意見文書だけからなる複数の第1文書を記憶する第1文書記憶手段と、単語を含む複数の第2文書であって、階層構造を構成する複数のカテゴリの各々に属し、又は、属さず、所望の対象に対する意見文書と当該意見文書以外の文書とからなる複数の第2文書を記憶する第2文書記憶手段とを備えて、前記第2文書記憶手段に記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属さない第2文書を、階層構造を構成するいずれかのカテゴリに分類可能な文書分析装置であって、
ユーザの操作に応じて入力を受け付けた条件に従って、当該条件を満たす前記第1文書及び前記第2文書を前記第1文書記憶手段及び前記第2文書記憶手段から抽出する文書抽出手段と、
前記抽出された第1文書と、前記抽出された第2文書のうち、前記複数のカテゴリの各々に属する第2文書とを教師文書として、前記抽出された第2文書のうち、当該複数のカテゴリの各々に属さない第2文書を前記意見文書と前記意見文書以外の文書とに分類する意見文書分類手段と、
前記記憶された複数の第1文書と、前記記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属する第2文書とを教師文書として、前記分類された意見文書を、当該教師文書が属する複数のカテゴリのいずれかに分類する既存カテゴリ分類手段と、
前記既存カテゴリ分類手段によって、いずれのカテゴリにも分類されない意見文書を対象にして文書クラスタリング処理を実行し、新規なカテゴリを作成すると共に、当該新規なカテゴリに当該意見文書を分類する文書クラスタリング手段と、
前記記憶された複数の第1文書が属する複数のカテゴリと、前記記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属する第2文書が属する当該複数のカテゴリとを教師文書として、前記作成された新規なカテゴリが、当該教師文書が属する複数のカテゴリのいずれかに従属する子カテゴリとなるか否かを判定するカテゴリ判定手段と
を備えたことを特徴とする文書分析装置。 - 請求項1に記載の文書分析装置において、
前記第1文書記憶手段及び前記第2文書記憶手段には、新規な第1文書及び新規な第2文書が逐次記憶され、
前記カテゴリ判定手段により、前記作成された新規なカテゴリが前記子カテゴリとならないと判定されたとき、当該新規なカテゴリに属する意見文書のうちの所定の割合の意見文書が、直近に前記第2文書記憶手段に記憶された文書であるか否かを判定する第1の新規カテゴリ判定手段と、
前記第1の新規カテゴリ判定手段により、直近に前記第2文書記憶手段に記憶された文書であると判定されたとき、前記作成された新規なカテゴリを、前記階層構造を構成する複数のカテゴリの1つとして認定する第1の新規カテゴリ認定手段と
を更に備えたことを特徴とする文書分析装置。 - 請求項1または請求項2に記載の文書分析装置において、
前記カテゴリ判定手段により、前記作成された新規なカテゴリが前記子カテゴリとならないと判定されたとき、前記抽出された第1文書及び第2文書を作成したユーザの数に対する、当該新規なカテゴリに属する意見文書を作成したユーザの数の割合が所定の割合を超えているか否かを判定する第2の新規カテゴリ判定手段と、
前記第2の新規カテゴリ判定手段により、所定の割合を超えていると判定されたとき、前記作成された新規なカテゴリを、前記階層構造を構成する複数のカテゴリの1つとして認定する第2の新規カテゴリ認定手段と
を更に備えたことを特徴とする文書分析装置。 - 単語を含む複数の第1文書であって、階層構造を構成する複数のカテゴリの各々に属し、所望の対象に対する意見文書だけからなる複数の第1文書を記憶する第1文書記憶手段と、単語を含む複数の第2文書であって、階層構造を構成する複数のカテゴリの各々に属し、又は、属さず、所望の対象に対する意見文書と当該意見文書以外の文書とからなる複数の第2文書を記憶する第2文書記憶手段とを備えて、前記第2文書記憶手段に記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属さない第2文書を、階層構造を構成するいずれかのカテゴリに分類可能な文書分析装置のプログラムであって、
前記文書分析装置を、
ユーザの操作に応じて入力を受け付けた条件に従って、当該条件を満たす前記第1文書及び前記第2文書を前記第1文書記憶手段及び前記第2文書記憶手段から抽出する文書抽出手段、
前記抽出された第1文書と、前記抽出された第2文書のうち、前記複数のカテゴリの各々に属する第2文書とを教師文書として、前記抽出された第2文書のうち、当該複数のカテゴリの各々に属さない第2文書を前記意見文書と前記意見文書以外の文書とに分類する意見文書分類手段、
前記記憶された複数の第1文書と、前記記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属する第2文書とを教師文書として、前記分類された意見文書を、当該教師文書が属する複数のカテゴリのいずれかに分類する既存カテゴリ分類手段、
前記既存カテゴリ分類手段によって、いずれのカテゴリにも分類されない意見文書を対象にして文書クラスタリング処理を実行し、新規なカテゴリを作成すると共に、当該新規なカテゴリに当該意見文書を分類する文書クラスタリング手段、
前記記憶された複数の第1文書が属する複数のカテゴリと、前記記憶された複数の第2文書のうち、前記複数のカテゴリの各々に属する第2文書が属する当該複数のカテゴリとを教師文書として、前記作成された新規なカテゴリが、当該教師文書が属する複数のカテゴリのいずれかに従属する子カテゴリとなるか否かを判定するカテゴリ判定手段、
として機能させるための文書分析プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015505183A JP6039057B2 (ja) | 2013-03-14 | 2013-03-14 | 文書分析装置及び文書分析プログラム |
PCT/JP2013/057300 WO2014141452A1 (ja) | 2013-03-14 | 2013-03-14 | 文書分析装置及び文書分析プログラム |
US14/851,687 US10713292B2 (en) | 2013-03-14 | 2015-09-11 | Document analysis apparatus and document analysis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/057300 WO2014141452A1 (ja) | 2013-03-14 | 2013-03-14 | 文書分析装置及び文書分析プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/851,687 Continuation US10713292B2 (en) | 2013-03-14 | 2015-09-11 | Document analysis apparatus and document analysis program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014141452A1 true WO2014141452A1 (ja) | 2014-09-18 |
Family
ID=51536147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/057300 WO2014141452A1 (ja) | 2013-03-14 | 2013-03-14 | 文書分析装置及び文書分析プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10713292B2 (ja) |
JP (1) | JP6039057B2 (ja) |
WO (1) | WO2014141452A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341163B2 (en) | 2014-10-02 | 2019-07-02 | Immersion | Method and device to assist with decision-making |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522544A (zh) * | 2018-09-27 | 2019-03-26 | 厦门快商通信息技术有限公司 | 基于卡方检验的句向量计算方法、文本分类方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002092004A (ja) * | 2000-09-13 | 2002-03-29 | Nec Corp | 情報分類装置 |
JP2004078446A (ja) * | 2002-08-14 | 2004-03-11 | Nec Corp | キーワード抽出装置、抽出方法、文書検索装置、検索方法、文書分類装置及び分類方法並びにプログラム |
JP2005182611A (ja) * | 2003-12-22 | 2005-07-07 | Fuji Xerox Co Ltd | 文書分類方法、文書分類装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010036012A2 (ko) * | 2008-09-23 | 2010-04-01 | 주식회사 버즈니 | 인터넷을 이용한 의견 검색 시스템, 의견 검색 및 광고 서비스 시스템과 그 방법 |
JP2012003572A (ja) | 2010-06-18 | 2012-01-05 | Nomura Research Institute Ltd | 感性分析システム及びプログラム |
US8676730B2 (en) * | 2011-07-11 | 2014-03-18 | Accenture Global Services Limited | Sentiment classifiers based on feature extraction |
US9275041B2 (en) * | 2011-10-24 | 2016-03-01 | Hewlett Packard Enterprise Development Lp | Performing sentiment analysis on microblogging data, including identifying a new opinion term therein |
-
2013
- 2013-03-14 WO PCT/JP2013/057300 patent/WO2014141452A1/ja active Application Filing
- 2013-03-14 JP JP2015505183A patent/JP6039057B2/ja active Active
-
2015
- 2015-09-11 US US14/851,687 patent/US10713292B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002092004A (ja) * | 2000-09-13 | 2002-03-29 | Nec Corp | 情報分類装置 |
JP2004078446A (ja) * | 2002-08-14 | 2004-03-11 | Nec Corp | キーワード抽出装置、抽出方法、文書検索装置、検索方法、文書分類装置及び分類方法並びにプログラム |
JP2005182611A (ja) * | 2003-12-22 | 2005-07-07 | Fuji Xerox Co Ltd | 文書分類方法、文書分類装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341163B2 (en) | 2014-10-02 | 2019-07-02 | Immersion | Method and device to assist with decision-making |
Also Published As
Publication number | Publication date |
---|---|
US20160055238A1 (en) | 2016-02-25 |
JP6039057B2 (ja) | 2016-12-07 |
JPWO2014141452A1 (ja) | 2017-02-16 |
US10713292B2 (en) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shu et al. | Beyond news contents: The role of social context for fake news detection | |
Wang et al. | A sentiment‐enhanced hybrid recommender system for movie recommendation: a big data analytics framework | |
US11330009B2 (en) | Systems and methods for machine learning-based digital content clustering, digital content threat detection, and digital content threat remediation in machine learning task-oriented digital threat mitigation platform | |
Chehal et al. | Implementation and comparison of topic modeling techniques based on user reviews in e-commerce recommendations | |
Moghaddam et al. | ILDA: interdependent LDA model for learning latent aspects and their ratings from online product reviews | |
US8719192B2 (en) | Transfer of learning for query classification | |
Wang et al. | Topic sentiment analysis in twitter: a graph-based hashtag sentiment classification approach | |
US9135255B2 (en) | System and method for making gift recommendations using social media data | |
Lo et al. | Using support vector machine ensembles for target audience classification on Twitter | |
WO2017013667A1 (en) | Method for product search using the user-weighted, attribute-based, sort-ordering and system thereof | |
WO2018040069A1 (zh) | 信息推荐系统及方法 | |
JP2012027845A (ja) | 情報処理装置、関連文提供方法、及びプログラム | |
KR20130079352A (ko) | 다수의 소스로부터의 제품 종합 | |
US9996504B2 (en) | System and method for classifying text sentiment classes based on past examples | |
US20140089132A1 (en) | System and method for making gift recommendations using social media data | |
Dhingra et al. | Spam analysis of big reviews dataset using Fuzzy Ranking Evaluation Algorithm and Hadoop | |
Bykau et al. | Fine-grained controversy detection in Wikipedia | |
Joorabchi et al. | Automatic keyphrase annotation of scientific documents using Wikipedia and genetic algorithms | |
Vandic et al. | A framework for product description classification in e-commerce | |
JP2018073429A (ja) | 検索装置、検索方法および検索プログラム | |
Heredia et al. | Improving detection of untrustworthy online reviews using ensemble learners combined with feature selection | |
US9020962B2 (en) | Interest expansion using a taxonomy | |
Bordoloi et al. | Keyword extraction using supervised cumulative TextRank | |
JP6039057B2 (ja) | 文書分析装置及び文書分析プログラム | |
TW201243627A (en) | Multi-label text categorization based on fuzzy similarity and k nearest neighbors |
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: 13877637 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015505183 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: 13877637 Country of ref document: EP Kind code of ref document: A1 |