Information processing device, information processing method, and program
Patent Information
- Application Number
- JP2025516452
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-10-02
- Publication Date
- 2026-01-09
AI Technical Summary
Existing text classification methods are highly dependent on the appropriateness of keywords used, leading to varying classification accuracy, and there is a need for an information processing device that can determine suitable keywords for effective classification.
An information processing device that includes a class acquisition means, candidate set generation means, and keyword set generation means to acquire and optimize keyword sets for each class based on relationships between keywords, using scores for inter-class exclusivity and intra-class diversity to select optimal keywords.
The device achieves high accuracy in text classification by optimizing keyword sets, reducing duplication and bias, and ensuring keywords represent unique characteristics of each class from multiple aspects.
Abstract
Description
Information processing device, information processing method, and recording medium
[0001] TECHNICAL FIELD This disclosure relates to classifying document data.
[0002] A text classification method has been proposed for classifying input text data into one of a number of classes. For example, Patent Documents 1 and 2 disclose methods for classifying document data into predetermined classes using keywords.
[0003] Japanese Patent Application Laid-Open No. 05-324726 International Publication No. 2009 / 087757
[0004] In text classification methods that use keywords as described above, the accuracy of classification depends greatly on whether the keywords used are appropriate. Therefore, it is important to determine the keywords to be used for classification appropriately.
[0005] One object of the present disclosure is to provide an information processing device capable of determining appropriate keywords for text classification.
[0006] In one aspect of the present disclosure, an information processing device includes: a class acquisition means for acquiring a plurality of classes into which target data is to be classified; a candidate set generation means for generating a keyword candidate set which is a set of keyword candidates corresponding to each class; and a keyword set generation means for generating a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationships between keywords included in the keyword candidate set.
[0007] In another aspect of the present disclosure, an information processing method executed by a computer acquires multiple classes into which target data is classified, generates a keyword candidate set that is a set of keyword candidates corresponding to each class, and generates a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationships between keywords included in the keyword candidate set.
[0008] In yet another aspect of the present disclosure, a recording medium records a program for executing information processing to acquire a plurality of classes into which target data is classified, generate a keyword candidate set which is a set of keyword candidates corresponding to each class, and generate a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationships between keywords included in the keyword candidate set.
[0009] 1 shows the concept of a text classification device according to a first embodiment; FIG. 2 is a block diagram showing the hardware configuration of a text classification device; FIG. 3 is a block diagram showing the functional configuration of a text classification device; FIG. 4 shows an example of input / output of a keyword candidate acquisition unit; FIG. 5 shows an example of input / output of an optimization unit; FIG. 6 is a diagram explaining the meaning of each score; FIG. 7 is a diagram explaining inter-class exclusivity and intra-class diversity; FIG. 8 shows the configuration of an optimization unit when an optimization problem is solved by a greedy method; FIG. 9 shows an example of generating a keyword set using a first method; FIG. 10 shows an example of generating a keyword set using a second method; FIG. 11 shows an example of text classification by a classification unit; FIG. 12 is a flowchart of keyword optimization processing; FIG. 13 is a flowchart of text classification processing; FIG. 14 shows the configuration of an information retrieval system according to an application example of an embodiment; FIG. 15 shows an example of analysis results of information about hospitals by a server device; FIG. 16 shows an example of display of search results for a user; FIG. 17 is a block diagram showing the configuration of an information processing device according to a second embodiment; FIG. 18 is a flowchart of processing by an information processing device according to a second embodiment.
[0010] Preferred embodiments of the present disclosure will now be described with reference to the drawings. First Embodiment [Concept of Text Classification Device] FIG. 1 illustrates the concept of a text classification device according to a first embodiment. The text classification device 100 classifies input text data (hereinafter referred to as "target data") into one of multiple predetermined classes. In the example of FIG. 1, target data "The World Baseball Championship was held" is input to the text classification device 100. The text classification device 100 classifies this target data into one of three predetermined classes: "Politics," "Sports," and "Science and Technology." In this example, the text classification device 100 classifies the target data into the class "Sports" and outputs the classification result "Sports." In the following embodiment, the text classification device 100 classifies the target data using a set of keywords prepared corresponding to multiple classes, the details of which will be described later.
[0011] 2 is a block diagram showing the hardware configuration of text categorization device 100. As shown in the figure, text categorization device 100 includes an interface (IF) 12, a processor 13, a memory 14, a recording medium 15, a database (DB) 16, a display unit 17, and an input unit 18.
[0012] The IF 12 acquires target data from an external source and outputs the classification results of the target data to an external source. The IF 12 also acquires keyword candidates from an external source for generating a keyword set, which will be described later.
[0013] The processor 13 is a computer such as a CPU (Central Processing Unit) that executes a pre-prepared program to control the entire text categorization device 100. The processor 13 may be a CPU, a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating Point number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination thereof. The processor 13 executes keyword optimization processing and text categorization processing, which will be described later.
[0014] The memory 14 is composed of a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The memory 14 stores various programs executed by the processor 13. The memory 14 is also used as a working memory while the processor 13 is executing various processes.
[0015] Recording medium 15 is a non-volatile, non-transitory recording medium such as a disk-shaped recording medium or semiconductor memory, and is configured to be detachable from text categorization device 100. Recording medium 15 stores various programs executed by processor 13. When text categorization device 100 executes various processes, the programs stored on recording medium 15 are loaded into memory 14 and executed by processor 13.
[0016] The DB 16 stores a set of keyword candidates including keyword candidates acquired from an external source by the IF 12. The DB 16 also stores a set of keywords generated by selecting appropriate keyword candidates from the set of keyword candidates. The DB 16 also stores the classification model used for text classification, the class names into which target data will be classified, the classification results obtained by the text classification process, and the like.
[0017] Display unit 17 is configured with, for example, a liquid crystal display, etc. Input unit 18 includes, for example, a keyboard, a mouse, etc. Display unit 17 and input unit 18 are used, for example, when a user or operator of text classification device 100 performs necessary operation input.
[0018] 3 is a block diagram showing the functional configuration of the text classification device 100. As shown in the figure, the text classification device 100 functionally comprises a target data acquisition unit 21, a classification model acquisition unit 22, a classification unit 23, a class name acquisition unit 24, a keyword candidate acquisition unit 25, an optimization unit 26, a classification model storage unit 31, a class name storage unit 32, a keyword candidate storage unit 33, a keyword storage unit 34, and a classification result storage unit 35. The classification model storage unit 31, the class name storage unit 32, the keyword candidate storage unit 33, the keyword storage unit 34, and the classification result storage unit 35 are realized by the DB 16 described above.
[0019] Text classification according to this embodiment is primarily performed in two steps: optimizing the keywords used for text classification (hereinafter referred to as "keyword optimization"), and classifying the target data using the optimized keywords (hereinafter referred to as "text classification").
[0020] (Configuration for Keyword Optimization) First, the components that perform keyword optimization will be described. Keyword optimization is performed mainly by the class name acquisition unit 24, the keyword candidate acquisition unit 25, and the optimization unit .
[0021] The class name storage unit 32 stores the class names of multiple classes into which target data is classified when the target data is text-classified. The class name acquisition unit 24 acquires the class names of the multiple classes into which the data is classified from the class name storage unit 32. The class name acquisition unit 24 may acquire multiple class names that have been determined in advance from the multiple class names stored in the class name storage unit 32, or may acquire multiple class names selected by the user. The class name acquisition unit 24 outputs the acquired multiple class names to the keyword candidate acquisition unit 25. The class name acquisition unit 24 is an example of a class acquisition means.
[0022] The keyword candidate acquisition unit 25 collects keyword candidates associated with each class name input from the class name acquisition unit 24, and generates a keyword candidate set. FIG. 4 shows an example of input / output of the keyword candidate acquisition unit 25. The keyword candidate acquisition unit 25 acquires keyword candidates associated with each of a plurality of class names. In the example of FIG. 4 , the keyword candidate acquisition unit 25 acquires a plurality of keyword candidates such as "soccer" and "baseball" for the class name "Sports" input from the class name acquisition unit 24, and generates a keyword candidate set including the acquired keyword candidates. The keyword candidate acquisition unit 25 is an example of a candidate set generation means.
[0023] As a specific method, the keyword candidate acquisition unit 25 may refer to dictionary data and extract synonyms, hyponyms, etc. of the target class name to set as keyword candidates. Alternatively, the keyword candidate acquisition unit 25 may acquire a sentence containing a class name from a large-scale corpus such as Wikipedia, and extract phrases from the sentence using a known keyphrase extraction method to set as keyword candidates. In this way, the keyword candidate acquisition unit 25 generates a set of keyword candidates for each class, as shown in FIG. 4 , stores the set in the keyword candidate storage unit 33, and outputs the set to the optimization unit 26.
[0024] The optimization unit 26 optimizes the keywords used for text classification. Specifically, the optimization unit 26 selects appropriate keywords from the keyword candidate sets for each class generated by the keyword candidate acquisition unit 25, and generates a keyword set for each class. In other words, the optimization unit 26 generates a subset of keyword candidates with desirable properties from the keyword candidate set as a keyword set. FIG. 5 shows an example of input / output of the optimization unit 26. The keyword candidate sets for each class are input to the optimization unit 26 from the keyword candidate acquisition unit 25. The optimization unit 26 selects appropriate keywords from the keyword candidate sets for each class, and generates a keyword set. The optimization unit 26 then stores the generated keyword sets in the keyword storage unit 34 and outputs them to the classification unit 23.
[0025] Next, the process of the optimization unit 26 will be described in detail. The optimization unit 26 solves the combinatorial optimization problem of Equation (1) using the keyword candidate sets for each class generated by the keyword candidate acquisition unit 25, thereby obtaining the keyword set P * k Here, "p j k " is the "j"th keyword of the "k"th class, k " indicates the "k"th class name, and "K" indicates the set of all classes. If this optimization problem can be solved directly, it can be solved directly, but if it cannot be solved directly, an approximate solution can be used as the keyword set using a greedy method or the like.
[0026]
[0027] Here, the score S in formula (1) is j k , c k , {P k} K k=1 ) is given by the following formula:
[0028] That is, the score S is expressed as follows: S = α·S0 + β·S1 + γ·S2. Note that α, β, and γ in formula (2) are hyperparameters, and indicate the weights of the scores S0, S1, and S2 in the score S.
[0029] 6 is a diagram explaining the meaning of scores S0 to S2. Score S0 indicates the degree of similarity between the class name of a certain class and the keywords belonging to that class. In other words, score S0 indicates how favorable a certain keyword is for the class to which that keyword belongs, and the higher the favorability, the larger the score.
[0030] The score S1 indicates the exclusivity between keywords belonging to a certain class and keywords belonging to a different class (also called "inter-class exclusivity"). That is, the score S1 indicates the degree of dissimilarity (dissimilarity) between keywords belonging to a certain class and keywords belonging to another class, and the higher the dissimilarity, the larger the value.
[0031] The score S2 indicates the diversity between keywords belonging to a certain class and other keywords belonging to the same class (also called "intra-class diversity"). That is, the score S2 indicates the degree of dissimilarity (dissimilarity) between keywords belonging to a certain class and other keywords in the same class, and the higher the dissimilarity, the larger the value.
[0032] Therefore, for a keyword belonging to a certain class, the score S will be higher the more similar the keyword is to the class name of that class, and the higher the value will be the more dissimilar the keyword is to keywords in other classes, and the higher the value will be the more dissimilar the keyword is to other keywords in the same class.
[0033] As an index of the similarity indicated by the score S0 and the dissimilarity indicated by the scores S1 and S2, the optimization unit 26 may calculate embedding vectors from the class names and keywords and use the cosine similarity between them. In this way, the optimization unit 26 selects keyword candidates for each class from the keyword candidate set for each class so as to maximize the sum of the score S, thereby generating a keyword set for each class. Note that the optimization unit 26 is an example of a keyword set generation means.
[0034] FIG. 7 is a diagram illustrating the inter-class exclusivity and intra-class diversity described above. As shown in FIG. 7 , assume there are two classes, "Beauty" and "Health." In this example, the keyword "skin" is included in both the two classes, "Beauty" and "Health." If identical or similar keywords are included in different classes, for example, when target data contains the word "skin," the accuracy of determining whether the target data should be classified into the two classes, "Beauty" or "Health," may decrease. Therefore, in this embodiment, the score S1 is used to make it easier for the optimization unit 26 to select keywords with high inter-class exclusivity. By taking inter-class exclusivity into consideration in this way, it is possible to reduce keyword overlap between different classes.
[0035] In the example of FIG. 7 , two keywords with similar meanings, "skin" and "dermis," are included in the same class "Health." If similar keywords are included in the same class, the target data classified into the "Health" class may be biased toward those containing words with similar meanings to "skin" and "dermis." In other words, it is preferable to classify the target data from a variety of perspectives by including as many keywords as possible in the same class. Therefore, in this embodiment, the score S2 is used to make it easier for the optimization unit 26 to select keywords with high intra-class diversity. Considering intra-class diversity in this way makes it possible to reduce keyword duplication within the same class.
[0036] Next, a specific example of the optimization unit 26 will be described. In this example, the optimization unit 26 uses a greedy algorithm to obtain a solution by solving an optimization problem of selecting one keyword per class multiple times. That is, the optimization unit 26 generates a keyword set by determining preferred keywords one by one from a keyword candidate set. Specifically, the optimization unit 26 obtains one solution to the optimization problem shown in equation (1) by solving the partial optimization problem shown in the following equation (3) the required number of times (i.e., the number of classes × the desired number of keywords).
[0037] The score S on the right side of equation (3) is the same as in equation (2) above.
[0038] 8 is a block diagram showing the configuration of the optimization unit 26 when solving the optimization problem shown in Equation (1) using a greedy algorithm. As shown in the figure, the optimization unit 26 has a score calculation unit 26a and a keyword determination unit 26b. The score calculation unit 26a calculates a score S for each keyword candidate included in each keyword candidate set input from the keyword candidate acquisition unit 25 and outputs the score S to the keyword determination unit 26b. Based on the score S for each keyword candidate for each class calculated by the score calculation unit 26a, the keyword determination unit 26b determines, as keywords, preferred keyword candidates, i.e., keyword candidates with high scores S, from among the multiple keyword candidates for each class. The keyword determination unit 26b performs this process multiple times to generate a keyword set, which is a collection of preferred keywords, for each class.
[0039] Next, a method for generating a keyword set by the optimization unit 26 will be described. In a first method, the optimization unit 26 selects keywords evenly for each class to generate a keyword set. Fig. 9 shows an example of generating a keyword set using the first method. In the first method, the optimization unit 26 first determines a first keyword for each class, then determines a second keyword for each class, then determines a third keyword for each class, and so on, determining keywords so that the number of selected keywords for each class is equal.
[0040] In the example of Fig. 9, the score calculation unit 26a first calculates the above-mentioned score S for all keyword candidates belonging to the three classes, with no keywords determined for any of the classes. In this case, the scores S1 and S2 of the score S are 0. The keyword determination unit 26b determines the keyword candidate with the highest score S from among all keyword candidates belonging to the three classes as the keyword. In the example of Fig. 9, the keyword "math" for the class "Science" is thus determined first.
[0041] Next, with the keyword "math" included in the keyword set for the class "Science", the score calculation unit 26a calculates the scores S for all keyword candidates belonging to the remaining classes "Sports" and "Music". At this time, the scores S1 and S2 are calculated based on the keyword "math" for the class "Science" that has already been determined. Then, the keyword determination unit 26b determines the keyword candidate with the highest score S as the keyword from among the keyword candidates belonging to the remaining classes "Sports" and "Music". As a result, the keyword "soccor" for the class "Sports" is determined.
[0042] Next, the score calculation unit 26a calculates the score S for all remaining keyword candidates belonging to the class "Music" when the keyword set for the class "Science" includes the keyword "math" and the keyword set for the class "Sports" includes the keyword "soccor." The keyword determination unit 26b then determines the keyword candidate with the highest score from among the keyword candidates belonging to the class "Music" as the keyword. As a result, the keyword "jazz" for the class "Music" is determined.
[0043] Once the first keyword for each class has been determined in this way, the optimization unit 26 determines the second and third keywords for each class in the same manner. When the number of keywords determined for each class reaches a predetermined number m, the optimization unit 26 ends the generation of the keyword set.
[0044] On the other hand, in the second method, the optimization unit 26 determines keywords in descending order of the keyword candidates with the highest score S at each point in time. Therefore, in the second method, more keywords are determined first from classes that include many keyword candidates with high scores. Figure 10 shows an example of generating a keyword set using the second method.
[0045] 10, the score calculation unit 26a first calculates the score S for all keyword candidates belonging to the three classes when no keyword has been determined for any of the classes. The keyword determination unit 26b determines the keyword candidate with the highest score S from among all keyword candidates belonging to the three classes as the keyword. In the example of FIG. 10, the keyword "math" for the class "Science" is thus determined first.
[0046] Next, the score calculation unit 26a calculates the score S for all keyword candidates belonging to the three classes, with the keyword "math" included in the keyword set for the class "Science." Then, the keyword determination unit 26b determines the keyword candidate with the highest score S from among the keyword candidates belonging to all classes as the keyword. As a result, the keyword "soccor" for the class "Sports" is determined.
[0047] Next, the score calculation unit 26a calculates the score S for all keyword candidates belonging to all classes, with the keyword "math" included in the keyword set for the class "Science" and the keyword "soccor" included in the keyword set for the class "Sports." The keyword determination unit 26b then determines the keyword candidate with the highest score from among the keyword candidates belonging to all classes as the keyword. As a result, the keyword "baseball" for the class "Sports" is determined.
[0048] In this way, in the second method, once a keyword for any class is determined, the score S is calculated for all keyword candidates for all classes, and the keyword candidate with the largest score S is determined as the keyword. Therefore, as in the example of Figure 10, it is possible that multiple keywords are determined consecutively for a certain class. However, even in the second method, once the number of keywords for a certain class reaches a predetermined number m, keywords can be determined only for the remaining classes, and ultimately the predetermined number m of keywords can be obtained for each class.
[0049] The keyword set for each class determined as described above may be displayed on the display unit 17 so that the user can view it. Furthermore, the user may be allowed to modify the keyword set as necessary. For example, the user may be allowed to delete inappropriate keywords or change certain keywords to more appropriate keywords.
[0050] (Configuration for Text Classification) Next, the components that perform text classification will be described. In Fig. 3, text classification is mainly performed by a target data acquisition unit 21, a classification model acquisition unit 22, and a classification unit 23. Note that in text classification, a keyword set for each class generated by an optimization unit 26 is used.
[0051] The target data acquisition unit 21 acquires target data to be subjected to text classification and outputs it to the classification unit 23. The classification model storage unit 31 stores multiple types of models for performing text classification. The classification model acquisition unit 22 acquires a classification model from the classification model storage unit 31 and outputs it to the classification unit 23. Of the multiple classification models stored in the classification model storage unit 31, the classification model acquisition unit 22 acquires a classification model of the type that performs classification using keywords.
[0052] The classification unit 23 acquires target data from the target data acquisition unit 21, acquires a classification model from the classification model acquisition unit 22, and acquires a set of keywords for each classification destination class from the optimization unit 26. The classification unit 23 then classifies the target data using the acquired classification model. That is, the classification unit 23 determines to which of the multiple classification destination classes the target data belongs.
[0053] FIG. 11 shows an example of text classification by the classification unit 23. As shown in FIG. 11, the target data is "The baseball world championship was held." and a set of keywords for three classes, "Sports," "Science," and "Music," is input from the optimization unit 26. The classification model is a model that classifies the target data using, for each class, the predicted probability of the class name for the target data and statistical values (average, maximum, etc.) of the predicted probability of each keyword for the target data. Note that the predicted probability may be, for example, the relevance or semantic similarity between the target data and the class name or keyword.
[0054] In the example of FIG. 11 , the classification unit 23 calculates the predicted probability of the class name "Sports" for the target data as "0.9," and the predicted probabilities of the keywords "soccer" and "baseball" for the target data as "0.2" and "0.8," respectively. Similarly, the classification unit 23 also calculates predicted probabilities for the class names of the classes "Science" and "Music" and the keywords belonging to each class. Then, the classification unit 23 outputs the class "Sports," which has the highest statistical value of predicted probability among the three classes, as the classification result.
[0055] In this manner, in this embodiment, text classification can be performed using a preferred keyword set generated by the optimization unit 26. In particular, by optimizing keywords in consideration of inter-class exclusivity and intra-class diversity as described above, it becomes possible to perform text classification with high accuracy using keywords that indicate characteristics unique to each class or keywords that express the characteristics of each class in a multifaceted manner.
[0056] The classification method used by the classification unit 23 is not limited to a specific method as long as it uses keywords for each class. For example, the classification method used by the classification unit 23 may be the method described in the following document 1. Document 1: Hu et al., Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification, ACL2022
[0057] Alternatively, the classification unit 23 may perform classification by applying keywords to the method described in the following document 2: Yin et al., Benchmarking Zero-shot Text Classification: Datasets, Evaluation and Entailment Approach, EMNLP2019
[0058] Specifically, in Literature 2, a text classification task is converted into an entailment recognition task, and the data to be classified is classified based on the entailment between the data to be classified and the sentence "This sentence relates to (class name)." Therefore, the predicted probability for each class may be calculated using statistical values (average, maximum, etc.) of the predicted probability obtained when a keyword for each class is inserted in the "class name" portion of the above sentence, and the class for the data to be classified may be determined.
[0059] [Keyword Optimization Process] Next, we will explain the keyword optimization process performed by the text classification device 100. Fig. 12 is a flowchart of the keyword optimization process. This process is realized by the processor 13 shown in Fig. 2 executing a program prepared in advance and operating as each element shown in Fig. 3.
[0060] First, the class name acquisition unit 24 acquires multiple class names into which the target data will be classified from the class name storage unit 32 (step S11). Next, the keyword candidate acquisition unit 25 acquires keyword candidates related to each class using a dictionary, corpus, etc., and generates a set of keyword candidates (step S12). Next, the optimization unit 26 calculates a score S for the keyword candidates belonging to each class (step S13). Next, the optimization unit 26 determines the keyword candidate with the highest score as the keyword and adds it to the keyword set for the corresponding class (step S14). Next, the optimization unit 26 determines whether the number of keywords in each class has reached a predetermined number (step S15). If the number of keywords in each class has not reached the predetermined number (step S15: No), the process returns to step S13, and steps S13 to S15 are repeated. Then, if the number of keywords in each class has reached the predetermined number (step S15: Yes), the keyword optimization process ends.
[0061] [Text Categorization Processing] Next, we will explain the text categorization processing performed by the text categorization device 100. Figure 13 is a flowchart of the text categorization processing. This processing is realized by the processor 13 shown in Figure 2 executing a prepared program and operating as each element shown in Figure 3.
[0062] First, the target data acquisition unit 21 acquires target data and outputs it to the classification unit 23 (step S21). Next, the classification model acquisition unit 22 acquires the classification model to be used from the classification model storage unit 31 and outputs it to the classification unit 23 (step S22). Next, the classification unit 23 acquires a set of keywords for each classification destination class from the optimization unit 26 (step S23). This set of keywords is generated by the keyword optimization process described above. Next, the classification unit 23 classifies the target data using the classification destination class name and keywords in accordance with the classification model, and outputs the class name to which the target data belongs as the classification result (step S24). Then, the text classification process ends.
[0063] [Application Example] An application example in which the above embodiment is applied to the medical and healthcare fields will be described. The above embodiment can be used to classify statements sent using SNS (Social Network Service) into appropriate categories. An example in which the present embodiment is used to search for information about hospitals will be described below.
[0064] 14 shows the configuration of an information retrieval system according to an application example of the embodiment. The information retrieval system includes a server device 200 and a user terminal 210. The server device 200 is connected to an analysis result DB 201. The server device 200 collects information about hospitals, such as reviews and comments, sent and received over the Web using SNS or the like, and analyzes the information using the method of the embodiment.
[0065] FIG. 15 shows an example of the analysis results of information related to hospitals by the server device 200. In the example of FIG. 15, the server device 200 collects tweets from SNS and applies the text classification method of the above-described embodiment. Specifically, the server device 200 receives the tweet text as input, classifies the tweets using a keyword set prepared in advance for each class, and outputs the classification results as categories. In this case, the server device 200 extracts keywords contained in the target tweet text from among multiple keywords contained in a keyword set corresponding to the category obtained as the classification result. FIG. 15 shows the keywords extracted in this manner. As a result, the keywords extracted corresponding to each tweet clearly indicate the content of the tweet text. The server device 200 stores the analysis results obtained in this manner in the analysis result DB 201.
[0066] A user who wants to search for information about hospitals operates the user terminal 210 to access a hospital search site operated by the server device 200. The user terminal 210 is a PC, a smartphone, or the like. On the hospital search site, the server device 200 presents the user with a plurality of categories included in the analysis results shown in FIG. 15 as options. The categories presented to the user may be, for example, types of hospitals or medical specialties. The user selects a category of interest from the plurality of categories.
[0067] The server device 200 references the analysis result DB 201, which stores analysis results such as those illustrated in FIG. 15, and extracts keywords corresponding to the category selected by the user. For example, assume that analysis results including the analysis result illustrated in FIG. 15 are stored in the analysis result DB 201, and the user selects "general medical facilities" as the category. In this case, the server device 200 acquires keywords such as "hospital," "examination," "staff," "kindness," "medical center," "health checkup," and "peace of mind" corresponding to Tweet_001 and Tweet_002. Furthermore, if there are other tweets categorized in the "general medical facilities" category in addition to the tweets illustrated in FIG. 15, the server device 200 also acquires keywords corresponding to those tweets. The server device 200 then transmits the acquired keywords to the user terminal 210 as search results and displays them. The keywords stored in the analysis result DB 201 in association with each category closely reflect the content of the original tweets. Therefore, by viewing the presented keywords, the user can easily learn about social media ratings for the category selected by the user.
[0068] FIG. 16 shows an example of a search result displayed to a user. In the example of FIG. 16, the server device 200 displays the acquired keywords in the form of a word cloud. By using the word cloud, the user can easily visually grasp the keywords and phrases contained in reviews and comments. In the text classification method of the embodiment, identical or similar keywords are eliminated from the keyword set of each class by keyword optimization, so that the displayed word cloud does not contain duplicate identical or similar keywords.
[0069] In the example of FIG. 16 , keywords for the category "general medical facilities" are displayed, but the user can also specify a medical institution to search for information. In this case, the server device 200 extracts the name of the medical institution from the body of each tweet and stores it in the analysis result DB. When the user selects a category and the name of the medical institution, the server device 200 extracts and displays keywords corresponding to the selected category and medical institution name. This allows the user to know the evaluation of each medical institution on SNS, etc.
[0070] 17 is a block diagram showing the configuration of an information processing device according to the second embodiment. An information processing device 70 according to the second embodiment includes a class acquisition unit 71, a candidate set generation unit 72, and a keyword set generation unit 73.
[0071] 18 is a flowchart of processing by an information processing device 70 according to the second embodiment. The class acquisition means 71 acquires multiple classes into which target data will be classified (step S71). The candidate set generation means 72 generates a keyword candidate set, which is a set of keyword candidates corresponding to each class (step S72). The keyword set generation means 73 generates a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationships between keywords included in the keyword candidate set (step S73).
[0072] According to the information processing device 70 of the second embodiment, it is possible to determine appropriate keywords for text classification.
[0073] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.
[0074] (Supplementary Note 1) An information processing device comprising: a class acquisition means for acquiring a plurality of classes into which target data is to be classified; a candidate set generation means for generating a keyword candidate set which is a set of keyword candidates corresponding to each class; and a keyword set generation means for generating a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationship between keywords included in the keyword candidate set.
[0075] (Supplementary Note 2) The information processing device according to Supplementary Note 1, further comprising: a classification unit that classifies the target data into one of the plurality of classes using the keyword set.
[0076] (Supplementary Note 3) The information processing device according to Supplementary Note 1, wherein the keyword set generation means selects optimal keyword candidates from the keyword candidate set based on the relationships between keywords belonging to different classes and the relationships between keywords belonging to the same class, and includes the optimal keyword candidates in the keyword set.
[0077] (Supplementary Note 4) The information processing device according to Supplementary Note 3, wherein the keyword set generation means selects, from the keyword candidates belonging to each class, keyword candidates that have a lower similarity to keywords belonging to different classes and a lower similarity to other keywords belonging to the same class.
[0078] (Supplementary Note 5) The information processing device according to Supplementary Note 3, wherein the keyword set generation means adds to the keyword set keyword candidates belonging to each class in descending order of the total score of the first to third scores, the first score increases as the similarity between each keyword candidate and the class to which the keyword candidate belongs increases, the second score increases as the similarity between each keyword candidate and keywords belonging to a different class from the keyword candidate decreases, and the third score increases as the similarity between each keyword candidate and other keywords belonging to the same class as the keyword candidate decreases.
[0079] (Supplementary Note 6) The information processing device according to Supplementary Note 5, wherein the keyword set generation means selects a predetermined number of keyword candidates for each class in descending order of the total score, and adds the selected keyword candidates to the keyword set for the corresponding class.
[0080] (Supplementary Note 7) The information processing device according to Supplementary Note 5, wherein the keyword set generation means selects keyword candidates in descending order of the total score across all classes, and adds the selected keyword candidates to the keyword set of the class corresponding to the selected keyword candidates.
[0081] (Supplementary Note 8) An information processing method that is executed by a computer, acquires multiple classes into which target data is classified, generates a keyword candidate set that is a set of keyword candidates corresponding to each class, and generates a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationships between keywords included in the keyword candidate set.
[0082] (Supplementary Note 9) A recording medium having recorded thereon a program for executing information processing to acquire multiple classes into which target data will be classified, generate a keyword candidate set which is a set of keyword candidates corresponding to each class, and generate a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationships between keywords included in the keyword candidate set.
[0083] Although the present disclosure has been described above with reference to the embodiments and examples, the present disclosure is not limited to the above-described embodiments and examples. Various modifications that can be understood by a person skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure.
[0084] REFERENCE SIGNS LIST 13 Processor 21 Target data acquisition unit 22 Classification model acquisition unit 23 Classification unit 24 Class name acquisition unit 25 Keyword candidate acquisition unit 26 Optimization unit 26a Score calculation unit 26b Keyword determination unit 100 Text classification device 200 Server device 201 Analysis result DB 210 User terminal
Claims
1. class acquisition means for acquiring a plurality of classes into which the target data is to be classified; a candidate set generating means for generating a keyword candidate set, which is a set of keyword candidates corresponding to each class; a keyword set generating means for generating a keyword set corresponding to each class from the keyword candidate set corresponding to the class based on the relationship between keywords included in the keyword candidate set; An information processing device comprising:
2. The information processing apparatus according to claim 1 , further comprising a classification unit that classifies the target data into one of the plurality of classes using the keyword set.
3. 2. The information processing device according to claim 1, wherein the keyword set generation means selects optimal keyword candidates from the keyword candidate set based on relationships between keywords belonging to different classes and relationships between keywords belonging to the same class, and includes the optimal keyword candidates in the keyword set.
4. 4. The information processing apparatus according to claim 3, wherein the keyword set generating means selects, from the keyword candidates belonging to each class, keyword candidates that have lower similarity to keywords belonging to different classes and lower similarity to other keywords belonging to the same class.
5. the keyword set generation means adds to the keyword set keyword candidates belonging to each class in descending order of the total score of the first to third scores, the first score increases as the similarity between each keyword candidate and the class to which the keyword candidate belongs increases; the second score increases as the degree of similarity between each keyword candidate and a keyword belonging to a different class from the keyword candidate decreases; The information processing apparatus according to claim 3 , wherein the third score increases as the degree of similarity between each keyword candidate and other keywords belonging to the same class as the keyword candidate decreases.
6. 6. The information processing apparatus according to claim 5, wherein the keyword set generating means selects a predetermined number of keyword candidates for each class in descending order of the total score, and adds the selected keyword candidates to the keyword set for the corresponding class.
7. 6. The information processing apparatus according to claim 5, wherein the keyword set generating means selects keyword candidates in descending order of the total score across all classes, and adds the selected keyword candidates to the keyword set of the class corresponding to the selected keyword candidates.
8. is executed by a computer, Obtain multiple classes into which the target data will be classified, Generate a keyword candidate set, which is a set of keyword candidates corresponding to each class; An information processing method for generating a keyword set corresponding to each class from a keyword candidate set corresponding to the class, based on the relationships between keywords included in the keyword candidate set.
9. Obtain multiple classes into which the target data will be classified, Generate a keyword candidate set, which is a set of keyword candidates corresponding to each class; A program that causes a computer to execute information processing to generate a keyword set corresponding to each class from a keyword candidate set corresponding to the class, based on the relationships between keywords included in the keyword candidate set.