Abstract:
Text information analysis apparatus arranges a plurality of texts according to the content of each text. In the text information analysis apparatus, a category decision unit classifies text to one of a plurality of predetermined categories. A cluster generation unit clusters texts having similar contents from the plurality of texts. A control unit controls said category decision unit and said cluster generation unit to simultaneously execute a category decision and clustering for the plurality of texts.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
         [0001]    This application is based upon and claims the benefit of priority from the prior Japanese Patent Application PH2000-224063, filed on Jul. 25, 2000; the entire contents of which are incorporated herein by reference.  
         FIELD OF THE INVENTION  
         [0002]    The present invention relates to a text information analysis apparatus and a method for arranging a plurality of texts according to the content of each text.  
         BACKGROUND OF THE INVENTION  
         [0003]    Recently, in proportion to the increase in electrical text information, a text information analysis technique to classify or arrange a plurality of texts according to the content of each text attracts a user&#39;s attention. The text information analysis technique includes a text classification technique (categorization/classification) and a text clustering technique. In the text classification technique, N units of categories are previously determined and each text is classified to at least one of the plurality of texts. In the text clustering technique, categories are not previously determined, a similarity degree between texts is determined, and a plurality of texts are classified n to arbitrary units according to the similarity degree.  
           [0004]    In the text classification technique, suitability between each text and N units of categories is decided. Accordingly, the processing of each text comprises N steps and relatively executed at high speed. However, if the content of the text is not similar to a feature of one category, the text is not classified. Especially, in case that new text content occurs daily, i.e., if tendency of text content changes daily, classification using predetermined categories is often impossible. In this case, it is necessary that a new category is set automatically or by hand.  
           [0005]    On the other hand, in the text clustering technique, the content of the text drives the analysis. Accordingly, this technique is effective for text with unknown content. However, in general, the computational cost is enormous. In case of clustering of m units of text, a similarity degree between each pair of texts in m units of text is calculated and processing steps of a square of m is necessary.  
           [0006]    In a text information analysis system, only one of the text classification technique and the text clustering technique is used. However, both techniques include defects. On the other hand, a large number of unknown texts appear daily. The unknown texts are not always classified to a predetermined category. Accordingly, it is difficult to satisfy actual needs that the unknown texts are quickly classified and arranged.  
         SUMMARY OF THE INVENTION  
         [0007]    It is an object of the present invention to provide a text information analysis apparatus and a method to quickly classify and arrange a plurality of unknown texts.  
           [0008]    According to embodiments of the present invention, there is provided a text information analysis apparatus for arranging a plurality of texts according to the content of each text, comprising: a category decision unit configured to classify text to one of a plurality of predetermined categories; a cluster generation unit configured to cluster texts having similar contents from the plurality of texts; and a control unit configured to control said category decision unit and said cluster generation unit to simultaneously execute a category decision and clustering for the plurality of texts.  
           [0009]    Further in accordance with embodiments of the present invention, there is also provided a text information analysis method for arranging a plurality of texts according to the content of each text, comprising: classifying text to one of a plurality of predetermined categories; clustering texts having similar contents from the plurality of texts, and simultaneously executing a category decision and clustering for the plurality of texts.  
           [0010]    Further in accordance with embodiments of the present invention, there is also provided a computer program product for use with a computer, said computer program product comprising: a computer usable medium having computer readable program code embodied in said medium for causing said computer to arrange a plurality of texts according to the content of each text, said computer readable program code having: computer readable program code to classify text to one of a plurality of predetermined categories; computer readable program code to cluster texts having similar contents from the plurality of texts; and computer readable program code to simultaneously execute a category decision and clustering for the plurality of texts.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]    [0011]FIG. 1 is a block diagram of a text information analysis apparatus according to various embodiments of the present invention.  
         [0012]    [0012]FIG. 2 is a flow chart of processing of a category decision unit  15  according to embodiments of the present invention.  
         [0013]    [0013]FIG. 3 is a schematic diagram of one example of a category decision rule according to embodiments of the present invention.  
         [0014]    [0014]FIG. 4 is a schematic diagram of another example of the category decision rule according to embodiments of the present invention.  
         [0015]    [0015]FIG. 5 is a schematic diagram of matching a word between a category representative vector and a frequency vector of unclassified that text according to embodiments of the present invention.  
         [0016]    [0016]FIG. 6 is a flow chart of processing of a cluster generation unit  16  according to embodiments of the present invention.  
         [0017]    [0017]FIG. 7 is a schematic diagram of bit vector of words for clustering according to embodiments of the present invention.  
         [0018]    [0018]FIG. 8 is a flow chart of processing of a control unit  14  according to a first embodiment of the present invention.  
         [0019]    [0019]FIG. 9 is a schematic diagram of one example of a display of a category decision result and a clustering result according to the first embodiment of the present invention.  
         [0020]    [0020]FIG. 10 is a flow chart of processing of the control unit  14  according to a second embodiment of the present invention.  
         [0021]    [0021]FIG. 11 is a schematic diagram of one example of a display of a clustering result for each category according to the second embodiment of the present invention.  
         [0022]    [0022]FIG. 12 is a flow chart of processing of the control unit  14  according to a third embodiment of the present invention.  
         [0023]    [0023]FIG. 13 is a schematic diagram of one example of a display of the category decision result and the clustering result according to the third embodiment of the present invention.  
         [0024]    [0024]FIG. 14 is a flow chart of processing to automatically create a new category of the control unit  14  according to a fourth embodiment of the present invention.  
         [0025]    [0025]FIG. 15 is a flow chart of processing to automatically correct the category decision rule of the control unit  14  according to the fourth embodiment of the present invention.  
         [0026]    [0026]FIG. 16 is a flow chart of processing to automatically correct the category decision rule of the control unit  14  according to a first modification of the fourth embodiment of the present invention.  
         [0027]    [0027]FIG. 17 is a flow chart of processing to automatically correct the category decision rule of the control unit  14  according to a second modification of the fourth embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS  
       [0028]    Hereinafter, embodiments of the present invention will be explained by referring to the drawings. FIG. 1 is a block diagram of a text information analysis apparatus according to various embodiments of the present invention. In FIG. 1, an arrow represents data flow. The text information analysis apparatus includes an input unit  11 , an output unit  12 , a memory  13 , a control unit  14 , a category decision unit  15 , and a cluster generation unit  16 . The input unit  11  and the output unit  12  correspond to a user interface of the computer. As for the hardware, the input unit  11  is an input apparatus such as a keyboard or a mouse, and the output unit  12  is an output apparatus such as a display. In comparison with a text information analysis of the prior art, the text information analysis apparatus shown in FIG. 1 especially includes both the category decision unit  15  and the cluster generation unit  16 , and the control unit  14  controls both units  15 ,  16 .  
         [0029]    [0029]FIG. 2 is a flow chart of processing of the category decision unit  15  according to embodiments of the present invention. When the category decision unit  15  receives text information set as an object of category decision from the control unit  14  (S 21 ), the category decision unit  15  executes a morphological analysis for each text and identifies words included in each text (S 22 ). Next, the category decision unit  15  extracts category decision rules from the memory  13  (S 23 ). The category decision rules will be explained afterwards. Then, as for each category, the category decision unit  15  decides whether each text is classified to a category according to the category decision rule (S 24 ). The category decision unit  15  then stores a category decision result in the memory  13  and supplies the category decision result to the control unit  14  (S 25 ). The category decision result represents that each text is classified to which category.  
         [0030]    [0030]FIGS. 3 and 4 show examples of components of the category decision rules. In FIG. 3, at least one keyword is previously assigned to each category of N units. In this example, a set of keywords corresponds to the category decision rule. By using the category decision rule, a problem that some text is classified to which category is easily decided. For example, if the text includes a predetermined number of keywords, the text is classified to the category including the keyword. In the example of FIG. 3, category  1  and category N respectively include a keyword &lt;WORD  1 &gt;. However, in case of the text including keywords &lt;WORD  1 &gt; &lt;WORD  2 &gt; &lt;WORD  6 &gt;, the text may be classified to both category  1  and category N.  
         [0031]    In FIG. 4, at least one example (training data) of text information is assigned to each category of N units. For example, each word is extracted from each text by morphological analysis, a frequency vector of each word is calculated for all texts, and an average of frequency vectors for one text is calculated. In this way, a representative vector corresponding to a representative text of the category is obtained. By using the category decision rule, some unclassified text is classified to a category. First, each word is extracted from the unclassified text by morphological analysis, and a frequency vector for the same word is calculated. Next, as shown in FIG. 5, a similarity degree between the frequency vector and the representative vector of each category is calculated by unit of the same word index (word  1 ,  2 , . . . , n). If a sum of similarity degrees of all word indexes for one category is above a threshold, the unclassified text is classified to the one category. As for the similarity degree, the inner product or the cosine between the frequency vector and the representative vector is utilized. In FIG. 4, the text examples (training data), the category representative vector, and the threshold correspond to the category decision rule. As mentioned-above, in FIGS. 3 and 4, concrete examples of the category decision rule and category decision algorithm are shown. However, the category decision algorithm is not limited to this example. In case of a category decision, any algorithm of text classification may be used.  
         [0032]    [0032]FIG. 6 shows one example of a flow chart of processing of the cluster generation unit  16  according to the first embodiment. When the cluster generation unit  16  receives text information set of clustering object from the control unit  14  (S 61 ), the cluster generation unit  16  executes morphological analysis for each text and identifies each word included in the text (S 62 ). Then, each text is converted to a bit vector of words as shown in FIG. 7. In this example, m units of texts are objects of clustering and the number of different words extracted from all texts is n. Accordingly, an n-dimensional vector is composed. In FIG. 7, text  1  includes &lt;WORD  2 &gt; &lt;WORD  3 &gt; . . . &lt;WORD n&gt;. The cluster generation unit  16  generates clusters from a set of bit vectors as an object (S 64 ). For example, as the clustering method, UPGMA method (group average method) disclosed in “Cluster analysis of instances, H. C. Romesburg, ISBN 4-7536-0116-1 C 3041” is used. The clustering result is then stored in the memory  13  and supplied to the control unit  14  (S 65 ). In the first embodiment, the clustering algorithm is not limited to the flow chart in FIG. 6.  
         [0033]    [0033]FIG. 8 is one example of a flow chart of processing of the control unit  14  according to the first embodiment. First, the control unit  14  receives text information set as analysis object from the input unit  11  (S 81 ). Next, the control unit  14  supplies the text information set to the cluster generation unit  16  and the category decision unit  15  (S 82 , S 83 ). Then, when the category decision processing is completed (S 84 ), the category decision result is output through the output unit  12  (S 85 ). In the same way, when the clustering processing is completed (S 86 ), the clustering result is output through the output unit  12  (S 87 ). A specific point of the first embodiment is control to execute the category decision and the clustering for the same text information set. In general, as for the text information of the same volume, the clustering takes much more time than the category decision. This time difference increases in proportion to the amount of text information. Accordingly, for example, in case that the control unit  14  begins the category decision processing and the clustering processing at the same time, the category decision result is obtained faster than the clustering result. In this case, in the first embodiment, while the clustering result continues in the background, a user can watch and analyze the category decision result. In short, the wait time is effectively utilized. Furthermore, when both the category decision result and the clustering result are obtained, the user can compare the category decision result with the clustering result.  
         [0034]    [0034]FIG. 9 is one example of a screen display for comparatively displaying the category decision result and the clustering result for the same text information. In this example, text  1 ˜m classified to categories  1 ˜N and unclassified text  6  are shown at &lt;&lt;category decision result&gt;&gt;. In addition to this, a hierarchical clustering result of text  1 ˜m is shown at &lt;&lt;clustering result&gt;&gt;. In this case, the unclassified text  6  is discriminately displayed at &lt;&lt;category decision result&gt;&gt;. In short, a correspondence relation of text between the category decision result and the clustering result is shown. The text to be discriminately displayed is not limited to the text unclassified to a category. For example, in case of selecting text  1  in the category decision result of FIG. 9, the text  1  may be discriminately displayed in the clustering result. Conversely, by selecting the text  1  in the clustering result, the text  1  may be discriminately displayed in the category decision result. Furthermore, in &lt;&lt;clustering result&gt;&gt; of FIG. 9, text  1  and text  4  of the same cluster is classified to category  1 . In this way, when the user selects a specified category in the category decision result, all texts classified to the specified category are discriminately displayed. As a result, correspondence between the category decision result and the clustering result is clearer. Conversely, for example, when the user selects a cluster including texts  1 ,  4 ,  6  in the clustering result of FIG. 9, the texts  1 ,  4 ,  6  in the category decision result may be discriminately displayed.  
         [0035]    In FIG. 9, the text  6  is not classified to any category in the category decision result. In the clustering result, it is apparent that the text  6  relates to texts  1 ,  4  based on the content. In the category decision result, texts  1 ,  4  are classified to category  1 . Accordingly, it is assumed that the content of the text  6  is similar to category  1 . Hereinafter, in order to classify the text  6  to category  1 , the content of the text  6  is used to correct the category decision rule of category  1 . For example, in the category decision rule of FIG. 3, keyword of category  1  is &lt;WORD  1 &gt; &lt;WORD  2 &gt; &lt;WORD  3 &gt;. If the text  6  includes &lt;WORD  1 &gt; &lt;WORD  8 &gt;, &lt;WORD  8 &gt; is added to category  1  as a new keyword. Hereinafter, in FIG. 9, the text  6  is classified to category  1 . Furthermore, in FIG. 9, if many texts unclassified to every category exist and they form one cluster, the user may set a new category including the many texts. As mentioned-above, a comparison display of the category decision result and the clustering result is helpful to modify and set categories in order to avoid commonplace categories.  
         [0036]    Next, the second embodiment of the present invention is explained. The component of the second embodiment, and processings of the category decision unit  15  and the clustering unit  16  are the same as the first embodiment. Hereafter, processing of the control unit  14  is explained.  
         [0037]    [0037]FIG. 10 is a flow chart of processing of the control unit  14  according to the second embodiment. First, when the control unit  14  receives a text information set from the input unit  11  (S 101 ), the control unit  14  supplies the text information set to the category decision unit  15  (S 102 ), and receives the category decision result from the category decision unit  15  (S 103 ). Next, the control unit  14  supplies text information classified to each category to the cluster generation unit  16  in order (S 104 ). In short, N units of text set classified to category  1  N are respectively clustered (S 105 ). For example, assume that the number N of category is 10 and the number m of texts is 1000. In case of clustering for these texts, in general, calculation of steps of a square of “1000” (10 6 ) is necessary. On the other hand, in the second embodiment, the text information set is previously divided into ten units of subspaces, and each subspace is consisted of almost “100” units of texts. Accordingly, calculation steps are reduced as a square of “100” multiplying ten times (100 2 ×10=10 5 ). FIG. 11 shows one display example of the clustering result of each category  1 ˜N according to the second embodiment.  
         [0038]    Next, the third embodiment of the present invention is explained. The component of the third embodiment, and processings of the category decision unit  15  and the clustering unit  16  are the same as in the first embodiment. Hereafter, processing of the control unit  14  is explained.  
         [0039]    [0039]FIG. 12 is a flow chart of processing of the control unit  14  according to the third embodiment. First, when the control unit  14  receives a text information set from the input unit  11  (S 121 ), the control unit  14  supplies the text information to the category decision unit  15  (S 123 ), and receives the category decision result from the category decision unit  15  (S 124 ). As a result, the control unit  14  extracts text unclassified to any category and supplies the text to the cluster generation unit  16  (S 125 ). In the same way as in the second embodiment, this processing is related with reduction of the number of texts as clustering object. Accordingly, the computational cost is reduced (S 126 ).  
         [0040]    As a status that some text is not classified to any category, in the category decision rule of FIG. 3, a case that the text does not include a predetermined number of keywords of any category is considered. In the same way, in the category decision rule of FIG. 4, a case that a similarity degree between word-frequency vector of word and representative vector of each category is below a threshold is considered. These texts are not classified to the existing category, and may include new content.  
         [0041]    [0041]FIG. 13 shows a display example of the category decision result and the clustering result according to the third embodiment. In this example, the clustering result of texts unclassified to every category is only displayed. In this case, if a cluster consisting of a large number of texts is displayed, the user can set a new category to which this cluster is classified.  
         [0042]    Next, the fourth embodiment of the present invention is explained. The processing of the fourth embodiment is executed by combining the processings of the first, second, and third embodiments. As a specific feature of the fourth embodiment, the category decision rule is automatically corrected using the clustering result. Accordingly, in addition to control of the category decision processing and the clustering processing shown in the first, second, and third embodiments, after this processing, the control unit  14  corrects the category decision rule using the clustering result at arbitrary timing. Hereafter, this correction processing of the control unit  14  is explained.  
         [0043]    [0043]FIG. 14 is a flow chart of processing in which the control unit  14  automatically creates a new category by referring to the clustering result. First, the control unit  14  extracts the clustering result of texts unclassified to any category from the memory  13  (S 141 ), and selects C units of clusters in order from the largest cluster size from the clustering result (S 142 ). The cluster size is represented as the number of texts included in the cluster. Then, the control unit  14  extracts feature words of each cluster (S 143 ), and creates a new category of category decision rule including the feature words as shown in FIG. 3 (S 144 ). This new category of category decision rule is stored in the memory  13 . For example, as a method for extracting feature word of cluster, statistic quantity (offer weight) is calculated for all words in all texts of the cluster. The statistic quantity (offer weight) is disclosed in “Robertson, S. E. et al.: Simple, Proven Approaches to Text Retrieval, Computer Laboratory, University of Cambridge (1994)”. In this reference, the statistic quantity is represented as follows.  
         [0044]    Offer weight=rdf*log ((rdf+0.5) (C−df−R+rdc+0.5)/(R−rdc+0.5) (df−rdf+0.5))  
         [0045]    C: the number of all texts in the clustering result  
         [0046]    R: the number of texts in the cluster (cluster size)  
         [0047]    df: the number of texts including the word in all texts  
         [0048]    rdf: the number of texts including the word in the cluster  
         [0049]    After the statistic quantity of each word is calculated, a predetermined number of words are selected in order of larger value of the statistic quantity.  
         [0050]    In the fourth embodiment, a method for extracting feature words is not limited to the above-mentioned method. For example, a word commonly included in all texts of the cluster may be selected as the feature word.  
         [0051]    In the fourth embodiment, the case of creating new category is only explained. In addition to this, the category decision rule of the existing category is automatically corrected. FIG. 15 is a flow chart of processing of the control unit  14  for automatically correcting the category decision rule of the existing category. First, the control unit  14  extracts feature words of each cluster by above-mentioned method (S 151 ), and decides category corresponding to text belonging to the cluster (S 152 ). For example, in FIG. 9, assume that the feature words are extracted from the cluster consisting of texts  1 ,  4 ,  6 . Two (texts  1 ,  4 ) of these three texts (texts  1 ,  4 ,  6 ) belong to category  1 . Accordingly, the category corresponding to the cluster is regarded as category  1 . Next, the control unit  14  corrects the category decision rule of the category using the feature words of the cluster. For example, in FIG. 9, the feature words of cluster consisting of texts  1 ,  4 ,  6  are added to the category decision rule of category  1  in FIG. 3. Hereinafter, text of which content is similar to text  6  can be classified to category  1 .  
         [0052]    [0052]FIG. 16 is a flow chart of processing of automatic correction of the category decision rule of the existing category according to the first modification of FIG. 15. In the same way as in the second embodiment (FIGS. 10, 11), in case that category decision is firstly executed and clustering is executed for each category, this processing of the first modification is applicable. The control unit  14  executes the following processing for each category. First, the control unit  14  extracts a category decision rule and a clustering result of texts classified to a category of the category decision rule (S 161 ,  162 ). Next, the control unit  14  extracts feature words from each cluster of the clustering result (S 163 ), and corrects the category decision rule by using the feature words (S 164 ). In FIG. 16, the feature words are extracted from all clusters belonging to the category. However, in the same way as in FIG. 14, C units of clusters are selected in order of larger cluster size, and the C units of clusters may be used as object of extraction of feature words.  
         [0053]    [0053]FIG. 17 is a flow chart of processing of automatic correction of the category decision rule of the existing category according to the second modification of FIG. 15. In the same way as in the third embodiment (FIGS. 12, 13), in case that clustering is executed for texts unclassified to any category, this processing of the second modification is applicable. The control unit  14  separately extracts a cluster from the clustering result of texts unclassified to any category (S 171 ), and executes the following processing. First, the control unit  14  extracts feature words from the cluster and determines a representative vector using the feature words (S 172 ,  173 ). For example, each text belonging to the cluster is morphologically analyzed and each feature word is extracted from the analyzed text. A frequency vector of each word is calculated for all texts, and an average of the frequency vector of each word for one text is calculated. The average of the frequency vector is used as the representative vector of the cluster. Next, the control unit  14  calculates a representative vector of each category (S 174 ), and calculates a similarity degree between the representative vector of the cluster and the representative vector of each category. In the same way as the representative vector of the cluster, the representative vector of each category is calculated as an average of word frequency vector of each text belonging to the category. If the similarity degree (inner product, cosine) between the representative vector of the cluster and the representative vector of one category is above a threshold, the cluster is decided to be similar to the one category. In this case, the control unit  14  corrects the category decision rule of the one category using the feature words of the cluster (S 176 ).  
         [0054]    In the above-mentioned explanation, a new category is automatically created and the category decision rule of the existing category is automatically corrected. However, an interactive processing may be added. For example, candidates of feature words of a cluster may be presented for the user to select. Furthermore, the user may indicate whether a new category is created or whether the category decision rule is corrected.  
         [0055]    As mentioned-above, in the text information analysis apparatus of the present invention, even if unknown text not classified to an existing category is input, the unknown text is quickly classified and arranged.  
         [0056]    A memory device, such as a CD-ROM, floppy disk, hard disk magnetic tape, or semiconductor memory can be used to store instructions for causing a processor or computer to perform the processes described above.  
         [0057]    Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims.