Sentiment analysis system, sentiment analysis method, and program
By clustering and analyzing suitable sentences within user comments, the system improves the accuracy of opinion analysis by isolating relevant content for sentiment analysis.
Patent Information
- Application Number
- JP2025107475
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-30
- Filing Date
- 2025-06-25
- Publication Date
- 2025-08-22
AI Technical Summary
Existing opinion analysis technologies suffer from reduced accuracy due to the inclusion of sentences unsuitable for emotion analysis, which act as noise when analyzing entire documents.
The system performs clustering on user comments to identify suitable sentences for opinion analysis, extracts opinion words, and analyzes these sentences based on topic words and dependency relationships to improve accuracy.
This approach enhances the accuracy of opinion analysis by focusing on relevant sentences, reducing noise and improving the precision of sentiment analysis.
Smart Images

Figure 2025123566000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an opinion analysis system, an opinion analysis method, and a program. [Background technology]
[0002] Conventionally, techniques have been considered for analyzing user opinions based on comments about a service entered by users who use the service. For example, Patent Document 1 describes a technique for analyzing evaluations of a topic in multiple regions by extracting keywords from all posted documents in the language used in each region, and analyzing sentiment from all posted documents based on the extracted keywords. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2017-134787 Summary of the Invention [Problem to be solved by the invention]
[0004] However, because the technology of Patent Document 1 analyzes emotions from the entire posted document, if the posted document contains expressions that are not suitable for emotion analysis, the accuracy of the emotion analysis may be reduced due to these expressions. For example, if a posted document contains sentences that are suitable for emotion analysis and sentences that are not suitable for emotion analysis, if the entire posted document is analyzed, the sentences that are not suitable for emotion analysis may become noise, which may reduce accuracy.
[0005] One of the goals of this disclosure is to improve the accuracy of opinion analysis. [Means for solving the problem]
[0006] The opinion analysis system according to the present disclosure includes a comment acquisition unit that acquires a first comment about a service input by a user using the service, a clustering execution unit that performs clustering on the first comment, an opinion word acquisition unit that acquires opinion words related to opinions about the service based on the results of the clustering execution, and an opinion analysis unit that analyzes the opinion in a first sentence included in the first comment based on the opinion words. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram illustrating an example of an overall configuration of an opinion analysis system. [Figure 2] FIG. 1 is a diagram illustrating an example of a general flow of an opinion analysis system. [Figure 3] FIG. 1 is a diagram illustrating an example of functions realized by an opinion analysis system. [Figure 4] FIG. 10 is a diagram illustrating an example of a comment database. [Figure 5] FIG. 2 illustrates an example of a cluster database. [Figure 6] FIG. 2 is a diagram illustrating an example of a dictionary database. [Figure 7] FIG. 10 is a diagram illustrating an example of a cluster. [Figure 8] FIG. 10 is a flowchart illustrating an example of processing executed in the opinion analysis system. [Figure 9] FIG. 10 is a diagram illustrating an example of a function in a modified example. [Figure 10] FIG. 10 is a diagram illustrating an example of a process of assigning labels to clusters. [Figure 11] FIG. 10 is a diagram showing an example of a method for filling in an aspect term of a first sentence for which an opinion word has been acquired but no aspect term has been acquired. DETAILED DESCRIPTION OF THE INVENTION
[0008] [1. Overall structure of the opinion analysis system] An example of an embodiment of an opinion analysis system according to the present disclosure will be described. FIG. 1 is a diagram showing an example of the overall configuration of an opinion analysis system. For example, the opinion analysis system 1 includes a server 10 and a user terminal 20. Each of the server 10 and the user terminal 20 can be connected to a network N such as the Internet or a LAN. Here, "opinion" includes any of a user's reputation, evaluation, or emotion regarding the content of a topic word, which will be described later.
[0009] The server 10 is a server computer. The control unit 11 includes at least one processor. The storage unit 12 includes a volatile memory such as RAM and a non-volatile memory such as flash memory. The communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication.
[0010] The user terminal 20 is a user's computer. For example, the user terminal 20 is a personal computer, a tablet terminal, a smartphone, or a wearable terminal. The physical configurations of the control unit 21, the memory unit 22, and the communication unit 23 are the same as those of the control unit 11, the memory unit 12, and the communication unit 13, respectively. The operation unit 24 is an input device such as a touch panel or a mouse. The display unit 25 is a liquid crystal display or an organic EL display.
[0011] The programs stored in the storage units 12 and 22 may be supplied via the network N. Each computer may also include at least one of a reading unit (e.g., a memory card slot) that reads a computer-readable information storage medium and an input / output unit (e.g., a USB port) that inputs and outputs data to and from an external device. For example, a program stored in an information storage medium may be supplied via at least one of the reading unit and the input / output unit.
[0012] Furthermore, the opinion analysis system 1 is not limited to the example of FIG. 1 as long as it includes at least one computer. For example, the opinion analysis system 1 may include only the server 10 without including the user terminal 20. In this case, the user terminal 20 exists outside the opinion analysis system 1. For example, the opinion analysis system 1 may include another computer other than the server 10, and processing related to opinion analysis may be performed by the other computer. For example, the other computer may be a personal computer, a tablet terminal, or a smartphone.
[0013] [2. Overview of the opinion analysis system] The opinion analysis system 1 analyzes user opinions about a service based on comments entered by users who use the service. In this embodiment, a communication service is described as an example of a service. The service itself may be of any type and is not limited to a communication service. For example, the opinion analysis system 1 may be applied to e-commerce services, online flea market services, travel reservation services, payment services, financial services, or other services. Furthermore, the opinion analysis system 1 may be applied to comments about items or people (objects) in addition to services. In this case, the opinion analysis system 1 analyzes user opinions about the object based on comments entered by the user.
[0014] A comment is a character string that indicates content related to a service. For example, a comment is sometimes called a customer's testimonial. A comment includes at least one sentence. In this embodiment, a case will be described in which a user can input any character string as a comment, but the format of the comment may be determined to some extent. For example, a comment may be input using semi-structured text. A comment may express some opinion of the user. Not all sentences in a comment necessarily express the user's opinion. For example, some sentences may express only facts rather than the user's opinion.
[0015] Opinions are impressions about a service. Opinions can also be praise or complaints about a service. In this embodiment, ABSA (Aspect Based Sentiment Analysis) will be described as an example of an opinion analysis method. ABSA is a method of extracting a predetermined keyword as a viewpoint and predicting the polarity for the keyword. Polarity is information indicating whether the viewpoint is positive or negative. The opinion analysis method itself may be any method and is not limited to ABSA. For example, a method of predicting polarity based on keywords other than the viewpoint, or a method of extracting only the viewpoint or other keywords without predicting the polarity, may be used.
[0016] 2 is a diagram showing an example of a general flow of the opinion analysis system 1. For example, when a user operates the user terminal 20 to access the server 10, an input screen SC including an input form F and a button B for inputting comments about the service is displayed on the display unit 25. The input screen SC may have any format and is not limited to the format shown in FIG. 2. For example, the input screen SC may be in the form of a questionnaire in which the user answers questions about the service.
[0017] For example, the user operates the operation unit 24 to input an arbitrary comment into the input form F. In the example of FIG. 2, the comment is input in English, but the comment can be input in any language, such as Japanese, Chinese, French, or Spanish. The processing described in this embodiment may also be performed according to the language of the comment. When the user selects button B, the user terminal 20 transmits the comment input into the input form F to the server 10.
[0018] In the example of Figure 2, a comment such as "I went to XYZ mobile shop. The network connection becomes very good." is entered. This comment contains two sentences: "I went to XYZ mobile shop." and "The network connection becomes very good." The first sentence, "I went to XYZ mobile shop.", indicates only the fact that the user went to the store, and does not express the user's opinion. The second sentence indicates the quality of the service that the user felt, and therefore expresses the user's opinion.
[0019] For example, when a person looks at the comments in Figure 2, they can understand that the first sentence does not express the user's opinion, but that the second sentence expresses the user's opinion. Furthermore, when a person looks at the second sentence, they can understand that a "positive" user opinion is expressed, such as "network connection," which is one of the service qualities, being "very good." In this embodiment, the server 10 is able to identify that the above opinion is expressed in the second sentence by analyzing the comments.
[0020] For example, the server 10 extracts three elements, such as (aspect term, opinion word, polarity), from a sentence in which a user's opinion is expressed. The method for extracting these three elements is sometimes called ASTE (Aspect Sentiment Triplet Extraction). ASTE is one method of ABSA. An aspect term indicates a viewpoint in ABSA. An opinion word indicates the content of an opinion in the viewpoint indicated by the aspect term. Polarity indicates whether the opinion is positive or negative. Hereinafter, the above three elements are referred to as analysis result data.
[0021] For example, suppose the technology of Patent Document 1 mentioned above is applied to ASTE. As mentioned above, the technology of Patent Document 1 subjects the entire posted document to opinion analysis, so if the posted document contains a sentence that is not suitable for opinion analysis, this sentence may become noise and reduce the accuracy of the opinion analysis. Therefore, in this embodiment, the accuracy of the opinion analysis is improved by subjecting the sentences contained in the comment, rather than the entire comment, to opinion analysis. The details of this embodiment will be described below.
[0022] [3. Functions realized by the opinion analysis system] FIG. 3 is a diagram showing an example of functions realized by the opinion analysis system 1. As shown in FIG.
[0023] [3-1. Functions realized by the server] The server 10 includes a data storage unit 100, a comment acquisition unit 101, a morphological analysis unit 102, a combination unit 103, a clustering execution unit 104, a topic word acquisition unit 105, and an opinion analysis unit 106. The data storage unit 100 is realized by the memory unit 12. The comment acquisition unit 101, the morphological analysis unit 102, the combination unit 103, the clustering execution unit 104, the topic word acquisition unit 105, and the opinion analysis unit 106 are realized by the control unit 11.
[0024] [Data storage section] The data storage unit 100 stores data necessary for opinion analysis. For example, the data storage unit 100 stores a comment database DB1, a cluster database DB2, and a dictionary database DB3.
[0025] FIG. 4 is a diagram showing an example of the comment database DB1. The comment database DB1 is a database in which various data related to comments is stored. For example, the comment database DB1 stores comment IDs, comments, sentence IDs, sentences, and analysis result data. The comment ID is data that can uniquely identify a comment. Comments may be stored in the comment database DB1 in any data format, such as text format, rich text format, document format, or email format.
[0026] The sentence ID is data that can uniquely identify a sentence included in a comment. A sentence in a comment can be identified by the position of a symbol such as a period. A comment may include multiple sentences or only one sentence. The analysis result data indicates the analysis results by the opinion analysis unit 106. As described above, in this embodiment, the analysis result data indicates three elements: (aspect term, opinion word, polarity). Analysis result data is not associated with a sentence that does not express the user's opinion.
[0027] The comment database DB1 may also store other data related to the comments. For example, the name of the user who input the comment, the user's email address, and the date and time the comment was acquired may be stored in the comment database DB1. For example, the cluster ID or label of the cluster to which the sentence included in the comment belongs may be stored in the comment database DB1. For example, if the comment is in the form of a questionnaire, information that can identify the question corresponding to the comment may be stored in the comment database DB1.
[0028] 5 is a diagram showing an example of the cluster database DB2. The cluster database DB2 is a database that stores various data related to the results of clustering performed by the clustering performing unit 104. For example, the cluster database DB2 stores cluster IDs, labels, comment IDs, sentence IDs, candidate words, and appearance frequencies. The cluster ID is data that can uniquely identify a cluster.
[0029] In this embodiment, a cluster is a collection of sentences that have similar meanings. A cluster may also be called a topic or a group. A cluster is not limited to a collection of sentences, but may be a collection of comments or candidate words that have similar meanings. A label is the name of a cluster. In this embodiment, it is assumed that the label is manually input. For example, when an administrator of the opinion analysis system 1 inputs a character string that indicates a label, this character string is stored as a label in the cluster database DB2.
[0030] The comment ID and sentence ID are the comment ID of a comment that includes a sentence that belongs to a cluster, and the sentence ID of that sentence. In this embodiment, a case will be described in which a sentence is identified by a combination of a comment ID and a sentence ID, but if a sentence can be identified by the sentence ID alone, the comment ID does not need to be stored in the cluster database DB2.
[0031] Candidate words are words that are candidates for topic words, which will be described later. Candidate words are all or part of words contained in a sentence. In this embodiment, morphemes or compound nouns acquired by morphological analysis, which will be described later, correspond to candidate words. In a word-spaced language such as English, words separated by spaces may be acquired as candidate words without using morphological analysis. The occurrence frequency is the frequency at which a candidate word appears in sentences belonging to a cluster. The occurrence frequency is calculated by the topic word acquisition unit 105, which will be described later. The occurrence frequency can also be referred to as the number of occurrences.
[0032] 6 is a diagram showing an example of the dictionary database DB3. The dictionary database DB3 is a database that stores various data related to topic words. For example, the dictionary database DB3 stores the cluster IDs and labels of clusters from which topic words are obtained, and the topic words themselves. In this embodiment, it is assumed that at least one topic word is obtained from one cluster. An upper limit may be set for the number of topic words obtained from one cluster, or there may be no particular upper limit set.
[0033] Topic words are words that represent a topic, meaning some kind of topic. Topic words are an example of opinion words. Therefore, in this embodiment, the words "topic words" can be read as "opinion words." Opinion words are words related to users' opinions about a service. In other words, opinion words are words that express users' opinions in some form, or words related to those words. Opinion words can also be said to be words that represent a cluster. Opinion words may include multiple words or may include only one word. Opinion words may also be words that are not particularly related to the concept of a topic.
[0034] In this embodiment, an example is given in which an aspect term corresponds to a topic word, but a topic word may be a word other than an aspect term. For example, an opinion word may correspond to a topic word. For example, when using an opinion analysis method other than ABSA, a word that indicates some kind of user opinion may be used as a topic word. The topic words acquired by the topic word acquisition unit 105 (described later) are stored in the dictionary database DB3.
[0035] For example, the data storage unit 100 stores a polarity estimation model M1 in addition to the above data. The polarity estimation model M1 is a model for estimating polarity. In this embodiment, the polarity estimation model M1 that uses a machine learning technique is taken as an example, but the polarity estimation model M1 may also be a model that uses a technique other than the machine learning technique. For example, the polarity estimation model M1 may also be a model that uses a rule base.
[0036] For example, if the polarity estimation model M1 is a rule-based model, the relationship between at least one of an aspect term and an opinion word and polarity is defined in advance as a rule. This rule is assumed to be stored in the data storage unit 100 as data in a table format or other format. The polarity associated with at least one of an aspect term and an opinion word included in a sentence is acquired as the polarity to be included in the classification result data of this sentence.
[0037] For example, if the polarity estimation model M1 is a model that uses a machine learning technique, various techniques can be used for the machine learning technique itself. For example, the polarity estimation model M1 may use any of supervised learning, semi-supervised learning, and unsupervised learning. In this embodiment, the polarity estimation model M1 uses a technique called BERT (Bidirectional Encoder Representations from Transformers) as an example. However, the polarity estimation model M1 may use other techniques other than BERT, such as a Transformer or a neural network. For example, the polarity estimation model M1 may use a technique called a Q&A-based model. For example, in a sentence in which an aspect term corresponds to the subject and an opinion word corresponds to the predicate, the polarity estimation model M1 estimates the polarity using the dependency relationship between the subject and the predicate as a clue.
[0038] The polarity estimation model M1 of this embodiment is trained with training data that is a pair of a training aspect term and an opinion word, and a training polarity. The training polarity is data that indicates whether a sentence including the training aspect term and opinion word is positive or negative. The training polarity is a correct polarity corresponding to the training aspect term and opinion word. The training data may be created manually or automatically using a known tool. For example, the parameters of the polarity estimation model M1 are adjusted so that when a training aspect term and an opinion word are input, a training polarity is output. The training method itself of the polarity estimation model M1 can be various methods used in machine learning. The polarity estimation model M1 is trained with both training data indicating positive opinions and training data indicating negative opinions.
[0039] The data storage unit 100 can store any data. The data stored in the data storage unit 100 is not limited to the above examples. For example, the data storage unit 100 may store a morphological analysis tool used in morphological analysis, a clustering tool used in clustering, and a program for calculating frequency of occurrence. For example, the data storage unit 100 may store a frequency threshold for a candidate word to become a topic word.
[0040] [Comment acquisition section] The comment acquisition unit 101 acquires comments about a service input by users who use the service. Hereinafter, a comment acquired by the comment acquisition unit 101 will be referred to as a first comment. The first comment is a comment that is the subject of clustering. That is, the first comment is a comment that is used to acquire topic words. In this embodiment, a case will be described in which the first comment is also the subject of opinion analysis, but the first comment does not have to be the subject of opinion analysis. That is, the first comment may be a comment that is used only to acquire topic words. In this case, the second comment is the subject of opinion analysis, as in a modified example described below.
[0041] For example, the comment acquisition unit 101 acquires a first comment input into the input form F from the user terminal 20. The first comment may be input using the user's voice detected by a microphone of the user terminal 20, rather than input from the operation unit 24. In this case, the user's voice converted into text corresponds to the first comment. The comment acquisition unit 101 identifies the first sentence based on the position of a symbol such as a period included in the first comment. The first sentence is a sentence included in the first comment.
[0042] For example, the comment acquisition unit 101 divides the first comment into at least one first sentence. The comment acquisition unit 101 issues a comment ID so that the comment ID does not overlap with other first comments. The comment acquisition unit 101 issues a sentence ID so that the comment ID does not overlap with other first sentences. The comment acquisition unit 101 associates the comment ID, the first comment, the sentence ID, and the first sentence with each other and stores them in the comment database DB1. The comment acquisition unit 101 can acquire the first comment stored in the comment database DB1 at any timing.
[0043] The comment acquiring unit 101 may acquire the first comment using means other than a website, for example, the input screen SC. For example, the comment acquiring unit 101 may acquire the first comment using a dedicated application installed on the user terminal 20, email, SNS, SMS, or a messaging app. For example, the comment acquiring unit 101 may acquire the first comment using a plurality of these means.
[0044] [Morphological analysis department] The morphological analysis unit 102 performs morphological analysis on the first sentence. The morphological analysis itself can use various morphological analysis tools. For example, if the first sentence is in English, the morphological analysis unit 102 may perform morphological analysis of the first comment based on a morphological analysis tool such as Tree Tagger or NLTK. For example, if the first sentence is in Japanese, the morphological analysis unit 102 may perform morphological analysis of the first sentence based on a morphological analysis tool such as MeCab or JUMAN.
[0045] For example, the morphological analysis unit 102 decomposes the first sentence into a plurality of morphemes. For each first sentence, the morphological analysis unit 102 decomposes the first sentence into a plurality of morphemes and records the plurality of morphemes in the data storage unit 100. If the first comment includes a plurality of first sentences, the morphological analysis unit 102 performs morphological analysis on each of the plurality of first sentences and records the plurality of morphemes decomposed from each of the plurality of first sentences in the data storage unit 100.
[0046] Note that, since the morphological analysis can also identify the part of speech of each morpheme, the morphological analysis unit 102 also records the part of speech of each morpheme in the data storage unit 100. In the example of FIG. 2, if "network" included in the second first sentence is decomposed into two nouns, "net" and "work," by the morphological analysis, the morphological analysis unit 102 records in the data storage unit 100 that the part of speech of "net" is a noun and that the part of speech of "work" is a noun. The morphological analysis unit 102 similarly records the parts of speech of other morphemes in the data storage unit 100.
[0047] [Joining part] When the plurality of morphemes acquired from the first sentence include a plurality of consecutive nouns, the combining unit 103 combines the plurality of nouns to acquire a combined noun. In the example of Fig. 2, if "network" included in the first sentence is broken down into two nouns, such as "net" and "work," the combining unit 103 combines these two consecutive nouns to acquire a combined noun, such as "network." Similarly, when three or more consecutive nouns are involved, the combining unit 103 may combine the three or more consecutive nouns to acquire a combined noun.
[0048] [Clustering execution part] The clustering execution unit 104 executes clustering on the first comments. In this embodiment, k-means clustering is used as an example of the clustering method, but various clustering methods can be used. For example, clustering methods such as Ward's method, group average method, shortest distance method, or DBSCAN can be used. For example, the clustering execution unit 104 may execute clustering using a clustering method called a topic model, which is a type of probability model. An unsupervised learning method may be used for the clustering.
[0049] In this embodiment, the clustering execution unit 104 performs clustering on the first sentence based on features related to the first sentence included in the first comment. The features related to the first sentence are data indicating the features of all or part of the first sentence. The features are sometimes called embedded representations. For example, the clustering execution unit 104 acquires a feature vector of the first sentence included in the first comment. The features related to the first sentence can be expressed in any format and are not limited to a vector format. For example, the features related to the first sentence may be expressed in other formats such as an array or a single numerical value.
[0050] In this embodiment, fastText is used as an example of a method for acquiring a feature vector of a first sentence, but various methods can be used to acquire the feature vector. For example, a technique called BOW or Word2vec may be used to acquire the feature vector of the first sentence. For example, the clustering execution unit 104 acquires multiple first sentences from multiple first comments and acquires the feature vector of each of the multiple first sentences.
[0051] For example, the clustering execution unit 104 performs k-means clustering based on the feature vectors of each of a plurality of first sentences. The clustering execution unit 104 performs clustering so that sentences with similar feature vectors belong to the same cluster. Similar feature vectors mean that the distance between the first sentences in vector space is short. For example, the clustering execution unit 104 identifies a predetermined number of first sentences in descending order of distance from each other, and performs clustering so that the predetermined number of first sentences belong to the same cluster. The clustering execution unit 104 generates a cluster ID for each cluster and updates the cluster database DB2 so that the sentences belonging to the clusters are associated with each other.
[0052] FIG. 7 is a diagram showing an example of clusters. In the example of FIG. 7, three clusters C1 to C3 are shown. Hereinafter, when clusters C1 to C3 are not to be distinguished from one another, they will be simply referred to as cluster C. The number of clusters C may be two or four or more, and is not limited to three. For example, an upper limit on the number of clusters C may be set, or there may not be a particular upper limit set. In this embodiment, a case will be described in which clustering is performed on the first sentence included in the first comment, but the target of clustering may not be the first sentence, but the entire first comment, or individual words (morphemes or compound nouns) included in the first comment.
[0053] For example, first sentences S101, S102, etc. belong to cluster C1. The clustering execution unit 104 acquires candidate words W1, W2, etc. contained in each of the first sentences S101, S102, etc. In this embodiment, the topic word is the noun aspect. Once the term is acquired, the clustering execution unit 104 acquires morphemes classified as nouns by morphological analysis as candidate words W1, W2, etc. The candidate words W1, W2, etc. are acquired so that there is no overlap with each other. The topic word acquisition unit 105, which will be described later, calculates the frequency of appearance of each of the candidate words W1, W2, etc., and acquires the topic word W2, etc.
[0054] For example, sentences S201, S202, etc. belong to cluster C2. The clustering execution unit 104 acquires candidate words W1, W3, etc. included in each of sentences S201, S202, etc. The clustering execution unit 104 acquires morphemes classified as nouns by morphological analysis as candidate words W1, W3, etc. The candidate words W1, W3, etc. are acquired so that they do not overlap with each other. The topic word acquisition unit 105, which will be described later, calculates the frequency of appearance of each of words W1, W3, etc., and acquires topic words W3, etc.
[0055] For example, sentences S301, S302, etc. belong to cluster C3. The clustering execution unit 104 acquires candidate words W1, W4, etc. included in each of sentences S301, S302, etc. The clustering execution unit 104 acquires morphemes classified as nouns by morphological analysis as candidate words W1, W4, etc. The candidate words W1, W4, etc. are acquired so that they do not overlap with each other. The topic word acquisition unit 105, which will be described later, calculates the frequency of appearance of each of words W1, W4, etc., and acquires topic words W4, etc.
[0056] Note that, when an opinion word that is an adjective is acquired as a topic word, the clustering execution unit 104 may acquire, as candidate words, morphemes classified as adjectives by morphological analysis. Furthermore, the aspect term may be a part of speech other than a noun, and the opinion word may be a part of speech other than an adjective. The clustering execution unit 104 may acquire, as candidate words, morphemes of the part of speech acquired as candidate words. The clustering execution unit 104 may also acquire all words as candidate words, regardless of the part of speech.
[0057] In this embodiment, when multiple nouns resolved by morphological analysis are consecutive, they are combined to form a compound noun, so the clustering execution unit 104 performs clustering based on the compound noun. For example, the clustering execution unit 104 acquires a feature vector of the first sentence based on the compound noun and performs clustering. The clustering execution unit 104 acquires a feature vector of the first sentence based on the compound noun, not the multiple nouns before being combined. The method of performing clustering is as described above.
[0058] [Topic word acquisition section] The topic word acquisition unit 105 acquires topic words based on the results of clustering. For example, for each cluster C, the topic word acquisition unit 105 acquires, as topic words, words included in the first sentence belonging to that cluster. For example, for each cluster C to which the first sentence belongs, the topic word acquisition unit 105 acquires a topic word that represents that cluster C.
[0059] In this embodiment, the topic word acquisition unit 105 acquires multiple candidate words related to the topic word for each cluster C based on the results of clustering, and acquires a topic word from among the multiple candidate words. For example, the topic word acquisition unit 105 calculates the appearance frequency of each candidate word, and acquires the topic word based on the appearance frequency.
[0060] For example, the topic word acquisition unit 105 counts the occurrence of candidate words for each cluster C and acquires the result as the occurrence frequency. The method for calculating the occurrence frequency itself may be any method, such as simply counting the number of occurrences, or the TF-IDF method. When the TF-IDF method is used, the occurrence frequency of candidate words that appear frequently only in a specific cluster C will be high, and the occurrence frequency of candidate words that appear evenly in all clusters C will be low.
[0061] 7, the topic word acquisition unit 105 calculates the frequency of occurrence of each of the candidate words W1, W2, etc. in cluster C1, and stores the cluster ID, candidate word, and frequency of occurrence in the cluster database DB2 while associating them with one another. The topic word acquisition unit 105 calculates the frequency of occurrence of each of the candidate words W1, W3, etc. in cluster C2, and stores the cluster ID, candidate word, and frequency of occurrence in the cluster database DB2 while associating them with one another. The topic word acquisition unit 105 calculates the frequency of occurrence of each of the candidate words W1, W3, etc. in cluster C3, and stores the cluster ID, candidate word, and frequency of occurrence in the cluster database DB2 while associating them with one another.
[0062] For example, the topic word acquisition unit 105 may acquire, as topic words, candidate words whose appearance frequency is equal to or greater than a threshold. The threshold may be common to all clusters C, or a threshold may be determined for each cluster C. For example, the threshold may be determined according to the number of candidate words belonging to cluster C. The topic word acquisition unit 105 may acquire, as topic words, a predetermined number of candidate words in descending order of appearance frequency.
[0063] 7, the topic word acquisition unit 105 calculates the frequency of occurrence based on the TF-IDF method. Since the candidate word W1 appears evenly across clusters C1 to C3, its frequency of occurrence based on the TF-IDF method is low. Since the candidate word W1 is not a word that represents each of clusters C1 to C3, but is merely a word that is commonly used when entering a comment about a service, it is not acquired as a topic word.
[0064] On the other hand, candidate word W2 appears frequently only in cluster C1, so its frequency of occurrence based on the TF-IDF method is high. Since candidate word W2 is a representative word that well represents the characteristics of cluster C1, it is acquired as a topic word for cluster C1. Similarly, candidate word W3 is a representative word for cluster C2, so it is acquired as a topic word for cluster C2. Since candidate word W4 is a representative word for cluster C3, it is acquired as a topic word for cluster C3.
[0065] The topic word acquisition unit 105 may acquire topic words based on a predetermined method. The method of acquiring topic words is not limited to the above example. For example, the topic word acquisition unit 105 may acquire all candidate words as topic words without calculating the frequency of appearance. For example, the topic word acquisition unit 105 may acquire candidate words randomly selected from a plurality of candidate words as topic words.
[0066] [Opinion Analysis Department] The opinion analysis unit 106 analyzes the opinion in the first sentence included in the first comment based on the topic words. In this embodiment, a case will be described in which the opinion analysis unit 106 analyzes the opinion in the first sentence based on the topic words. Note that the opinion analysis unit 106 may also analyze the opinion in the second sentence included in the second comment based on the topic words. A case in which the opinion in the second sentence is analyzed will be described in a modified example described below.
[0067] The second comment is a comment different from the first comment. The second comment is a comment that is not subject to clustering. In other words, the second comment is a comment that is not used to acquire topic words. The comment acquisition unit 101 described above may acquire the second comment. The method for acquiring the second comment may be the same as the method for acquiring the first comment. In the embodiment described below, it is assumed that the first sentence included in the first comment is the subject of opinion analysis.
[0068] In this embodiment, the opinion analysis unit 106 analyzes opinions by determining whether the first sentence contains a topic word. Since opinions are expressed by multiple elements including a topic word and other elements related to the topic word, when it is determined that the first sentence contains a topic word, the opinion analysis unit 106 analyzes opinions by acquiring other elements based on parts of the first sentence other than the topic word.
[0069] For example, the opinion analysis unit 106 acquires, from other parts, dependency words that have a dependency relationship with the topic word included in the first sentence as other elements. The method of acquiring dependency words itself can use various dependency analysis tools. For example, since some of the above-mentioned morphological analysis tools are capable of dependency analysis, the opinion analysis unit 106 may acquire dependency words using a morphological analysis tool. For example, in the present embodiment, when an aspect term, which is a noun, corresponds to a topic word, the opinion analysis unit 106 may identify an adjective that has a dependency relationship with the noun as a dependency word.
[0070] In the example of FIG. 2, the opinion analysis unit 106 identifies "very good," which has a dependency relationship with the aspect term "network connection," which is a topic word, as a dependency word. The opinion analysis unit 106 acquires the identified dependency word "very good" as an opinion word. In this case, the part of the first sentence other than the aspect term, "The becomes very good.", corresponds to the other part, and the opinion word corresponds to the other element.
[0071] Note that the topic word may be an opinion word. In the example of FIG. 2, the opinion analysis unit 106 identifies "network connection," which has a dependency relationship with the opinion word "very good," which is a topic word, as a dependency word. The opinion analysis unit 106 acquires the identified dependency word "network connection" as an aspect term. In this case, the aspect term corresponds to another element. When an opinion word, which is an adjective, corresponds to a topic word, the opinion analysis unit 106 may identify a noun (subject) which has a dependency relationship with the adjective as a dependency word.
[0072] In this embodiment, the elements expressing an opinion include topic words, dependency words, and polarity related to the opinion. Polarity is information indicating whether an opinion is positive or negative. In this embodiment, polarity is expressed as a binary value, positive or negative, but intermediate values may exist instead of these two values. For example, polarity may be information that expresses the degree of positivity or negativity as a percentage.
[0073] For example, the opinion analysis unit 106 analyzes opinions by acquiring polarity based on at least one of topic words and dependency words. In this embodiment, a case will be described in which the opinion analysis unit 106 acquires polarity based on both topic words and dependency words, but the opinion analysis unit 106 may acquire polarity based on only either topic words or dependency words.
[0074] For example, the opinion analysis unit 106 acquires polarity based on topic words, dependency words, and a polarity estimation model M1. The opinion analysis unit 106 inputs the topic words and dependency words into the polarity estimation model M1. The polarity estimation model M1 calculates feature vectors of the topic words and dependency words, and outputs polarity according to the feature vectors. The opinion analysis unit 106 acquires the polarity output from the polarity estimation model M1.
[0075] For example, the opinion analysis unit 106 generates analysis result data based on the results of the opinion analysis described above and stores the data in the comment database DB1. The analysis result data can be used for any purpose. For example, the server 10 may transmit the analysis result data to a terminal of an administrator of the opinion analysis system 1. The administrator's terminal may display various user opinions in association with the labels of cluster C based on the analysis result data.
[0076] [3-2. Functions implemented on user devices] The user terminal 20 includes a data storage unit 200, a display control unit 201, and an operation reception unit 202. The data storage unit 200 is realized by the storage unit 22. The display control unit 201 and the operation reception unit 202 are realized by the control unit 21.
[0077] [Data storage section] The data storage unit 200 stores data necessary for inputting the first comment. For example, the data storage unit 200 stores a browser necessary for displaying the input screen SC. For example, the data storage unit 200 may store a dedicated application instead of a browser. For example, if the first comment is input using voice, the data storage unit 200 may store a conversion tool that converts voice to text.
[0078] [Display control section] The display control unit 201 causes the display unit 25 to display the input screen SC.
[0079] [Operation reception section] The operation receiving unit 202 receives an operation to input a first comment.
[0080] [4. Processing performed by the opinion analysis system] Fig. 8 is a flow diagram showing an example of processing executed by the opinion analysis system 1. Fig. 8 shows processing executed by the server 10. The processing in Fig. 8 is executed by the control unit 11 operating in accordance with a program stored in the storage unit 12. Before the processing in Fig. 8 is executed, it is assumed that the server 10 acquires first comments from each of the multiple user terminals 20 and stores the first comments entered by each of the multiple users in the comment database DB1.
[0081] As shown in FIG. 8, the server 10 acquires first comments stored in the comment database DB1 (ST1). In ST1, a case where the server 10 acquires a predetermined number of first comments is described, but the server 10 may acquire first comments one by one and repeatedly execute the processes from ST2 onwards. The server 10 breaks down the first comments into first sentences and executes morphological analysis on the first sentences (ST2). The server 10 acquires compound nouns by combining consecutive nouns from the multiple morphemes acquired from the first sentences (ST3). If there are no consecutive nouns, the process of ST3 is not executed.
[0082] The server 10 acquires a feature vector of the first sentence (ST4). The server 10 performs clustering based on the feature vector acquired in ST4 (ST5). In ST5, the server 10 performs clustering so that sentences with similar feature vectors belong to the same cluster C. The server 10 calculates the appearance frequency of candidate words for each cluster C (ST6). The server 10 acquires topic words for each cluster C based on the appearance frequency of candidate words (ST7). In ST7, the server 10 acquires candidate words with an appearance frequency equal to or greater than a threshold as topic words. Creation of the dictionary database DB3 is completed by the processes up to ST7.
[0083] The server 10 identifies dependency words that have dependency relationships with the topic words for each first comment (ST8). In ST8, the server 10 identifies dependency words that have dependency relationships with the topic words that are aspect terms as opinion words. For each first sentence, the server 10 acquires the polarity of the first sentence based on the topic words and dependency words acquired from the first sentence and the polarity estimation model M1 (ST9), and this process ends.
[0084] The opinion analysis system 1 of this embodiment acquires topic words related to opinions about a service based on the results of clustering a first comment about the service entered by a user using the service. The opinion analysis system 1 analyzes opinions in a first sentence included in the first comment based on the topic words. By targeting the first sentence rather than the entire first comment for opinion analysis, even if the first comment contains a first sentence that is not suitable for opinion analysis, this first sentence can be prevented from becoming noise, thereby improving the accuracy of opinion analysis.
[0085] Furthermore, the opinion analysis system 1 analyzes opinions in the first sentence based on the topic words. As in a modified example described below, the opinion analysis system 1 may also analyze the second sentence, but by analyzing the first sentence, it is possible to analyze opinions in the first sentence without creating an opinion analysis model as in a modified example described below.
[0086] Furthermore, the opinion analysis system 1 performs clustering on the first sentence based on features related to the first sentence included in the first comment. For each cluster C related to the first sentence, the opinion analysis system 1 acquires a topic word that represents the cluster C. By targeting the first sentence for clustering, topic words that are more suitable for opinion analysis can be acquired, thereby further increasing the accuracy of opinion analysis.
[0087] Furthermore, the opinion analysis system 1 analyzes opinions by determining whether the first sentence contains a topic word. This allows opinion analysis of the first sentence containing a topic word representative of cluster C, thereby improving the accuracy of opinion analysis.
[0088] Furthermore, when it is determined that the first sentence contains a topic word, the opinion analysis system 1 analyzes opinions by acquiring other elements based on parts of the first sentence other than the topic word. By analyzing opinions using parts other than the topic word, the accuracy of opinion analysis is further improved.
[0089] Furthermore, the opinion analysis system 1 acquires, as other elements, dependency words that have dependency relationships with the topic words included in the first sentence from parts other than the topic word part. By analyzing opinions using dependency words that have dependency relationships with the topic words, the accuracy of opinion analysis is further improved.
[0090] Furthermore, the opinion analysis system 1 analyzes opinions by acquiring polarity based on at least one of topic words and dependency words, thereby making it possible to estimate the polarity of opinions.
[0091] Furthermore, based on the results of clustering, the opinion analysis system 1 acquires a plurality of candidate words related to the topic word for each cluster C. The opinion analysis system 1 acquires a topic word from the plurality of candidate words. By acquiring a topic word from the plurality of candidate words for each cluster C, it is possible to acquire a topic word suitable for cluster C, thereby further improving the accuracy of opinion analysis.
[0092] Furthermore, the opinion analysis system 1 calculates the frequency of occurrence of each candidate word. The opinion analysis system 1 acquires topic words based on the frequency of occurrence. This allows the candidate words that frequently appear in the first sentences belonging to cluster C to be used as topic words, thereby acquiring topic words that represent cluster C, thereby further improving the accuracy of opinion analysis.
[0093] Furthermore, if the multiple morphemes acquired from the first comment include multiple consecutive nouns, the opinion analysis system 1 combines the multiple nouns to acquire a compound noun. The opinion analysis system 1 performs clustering based on the compound noun. This allows for even if a word that is originally a single noun is broken down into multiple nouns by morphological analysis, to be restored to the original single word, that is, the compound noun, thereby further improving the accuracy of opinion analysis.
[0094] [5. Modifications] The present disclosure is not limited to the above-described exemplary embodiments, and can be modified as appropriate without departing from the spirit of the present disclosure.
[0095] Fig. 9 is a diagram showing an example of functions in a modified example. As shown in Fig. 9, in the modified example described below, a cluster estimation unit 107 and a filling unit 108 are realized. The cluster estimation unit 107 and the filling unit 108 are realized mainly by the control unit 11. In addition, the data storage unit 100 stores an opinion analysis model M2. Details of the opinion analysis model M2 will be described later.
[0096] [5-1. Variation 1] For example, in the embodiment, a case has been described in which the label of cluster C is assigned manually, but the label of cluster C may also be assigned automatically. The opinion analysis system 1 of variant 1 further includes a cluster estimation unit 107. For each cluster C, the cluster estimation unit 107 estimates whether or not cluster C is related to a predetermined topic based on the topic words of that cluster C and related words associated with the predetermined topic. Related words are words that represent the predetermined topic. Related words are also called seed words.
[0097] FIG. 10 is a diagram showing an example of processing for assigning a label to cluster C. In Modification 1, the cluster estimation unit 107 acquires, for each cluster C, a feature vector of the topic word and a feature vector of the related word. The method for acquiring the feature vector is as described in the embodiment. The features of the related word may also be expressed in a format other than the vector format (for example, an array format or a single numerical value). In Modification 1, a case will be described in which fastText is used, as in the embodiment.
[0098] In the example of FIG. 10, the topic is "quality" and the related word is "signal strength." This related word is a word that represents one of the qualities of a service. The cluster estimation unit 107 calculates the cosine similarity sim1 between the feature vector of topic word W2 in cluster C1 and the feature vector of the related word. The cluster estimation unit 107 calculates the cosine similarity sim2 between the feature vector of topic word W3 in cluster C2 and the feature vector of the related word. The cluster estimation unit 107 calculates the cosine similarity sim3 between the feature vector of topic word W4 in cluster C3 and the feature vector of the related word.
[0099] For example, the cluster estimation unit 107 assigns a label to the cluster C1 associated with the highest cosine similarity sim1 among the cosine similarities sim1 to sim3, with a topic associated with the related word. The cluster estimation unit 107 may assign labels based on the cosine similarities sim1 to sim3 and a threshold. For example, if the cosine similarity sim1 is the only one of the cosine similarities sim1 to sim3 that is equal to or greater than the threshold, the cluster estimation unit 107 assigns a label to the cluster C1 associated with the cosine similarity sim1 that is equal to or greater than the threshold, with a topic associated with the related word.
[0100] The opinion analysis unit 106 of the first modification analyzes opinions based on the estimation results of the cluster estimation unit 107. The analysis result data of the first modification also includes the label of the cluster C to which the topic word belongs, in addition to the three elements described in the embodiment. The opinion analysis unit 106 analyzes opinions by acquiring the analysis result data that also includes the label of the cluster C.
[0101] The opinion analysis system 1 of the first modification estimates, for each cluster C, whether the cluster C is related to a specific topic based on the topic word W of the cluster C and the related words associated with the specific topic. The opinion analysis system 1 analyzes opinions based on the estimation result. This further improves the accuracy of opinion analysis.
[0102] [5-2. Variation 2] For example, if the first sentence included in the first comment entered by the user is insufficient as a sentence, it may not be possible to identify the three elements from the first sentence. For example, there may be a first sentence in which the aspect term is acquired but the opinion word is omitted. Conversely, there may be a first sentence in which the opinion word is acquired but the aspect term is omitted. In this case, the missing element of the three elements may be compensated for in some way.
[0103] The opinion analysis system 1 of the second modification includes a filling unit 108. If other elements related to the topic word are not acquired from parts other than the topic word, the filling unit 108 fills in the other elements based on a predetermined filling method. If other elements are acquired, the filling unit 108 does not perform filling. In the second modification, an example is taken of a case where the topic word is an opinion word and the other elements are aspect terms. The filling method may be the method described in the second modification, or the method described in the third or fourth modification.
[0104] FIG. 11 is a diagram showing an example of a method for supplementing an aspect term of a first sentence for which an opinion word has been acquired but no aspect term has been acquired. As shown in FIG. 11, the input screen SC of Modification 2 is assumed to be in the form of a questionnaire. The first comment is an answer to a question. The supplementing unit 108 supplements other elements based on the content of the question. For example, in the example of FIG. 11, in response to the question "How was the connection environment?", the first comment obtained is "I went to XYZ mobile shop. Very good." The first comment includes two first sentences, "I went to XYZ mobile shop." and "Very good." As in the embodiment, the first first sentence does not express the user's opinion.
[0105] In the example of FIG. 11 , the subject of the second first sentence is omitted. Therefore, unlike the embodiment, there is no dependency relationship with the opinion word "Very good," which is a topic word, and therefore an aspect term such as "network connection" cannot be identified. In this case, the filling unit 108 fills in an aspect term based on the question "How was the connection environment?" in the first sentence, for which no aspect term could be identified. For example, the filling unit 108 may fill in the subject of this question, "connection environment," as an aspect term, or may associate an aspect term such as "network connection" with this question in advance and fill in the "network connection" associated with this question as an aspect term.
[0106] It should be noted that the method of filling by the filling unit 108 is not limited to the above example. For example, suppose that "Network connection." is acquired as the first comment in response to a question such as "What was good about the service you used?" In this case, the first comment consists of only one first sentence. Furthermore, suppose that the aspect term "network connection" is acquired as a topic word. In this case, since the opinion word is omitted from the first sentence of the first comment, the filling unit 108 may fill in the adjective "bad" contained in the question as it is as the opinion word, or may associate an opinion word such as "very good" with this question in advance and fill in the "very good" associated with this question as the opinion word.
[0107] The opinion analysis system 1 of the second modification example supplements other elements based on a predetermined supplementation method when other elements related to the topic word are not acquired from parts other than the topic word. This allows the other elements to be supplemented even if the first sentence is incomplete and other elements cannot be acquired, thereby improving the accuracy of opinion analysis. For example, even if only an aspect term can be acquired from the first sentence, supplementing the opinion word makes it possible to analyze the opinion of an incomplete first sentence that does not include an aspect term. Conversely, even if only an opinion word can be acquired from the first sentence, supplementing the aspect term makes it possible to analyze the opinion of an incomplete first sentence that does not include an opinion word.
[0108] Furthermore, the opinion analysis system 1 supplements other elements related to the topic word based on the content of the question. This increases the accuracy of supplementing other elements when the first sentence is incomplete. For example, a user inputs an answer about the connection environment in response to a question such as "How was the connection environment?". Therefore, even if the first sentence is incomplete and does not include an aspect term, it can be estimated that the first sentence is about the connection environment. In this case, the aspect term can be supplemented based on the question. For example, a user inputs a bad service in response to a question such as "What services have you used that were bad?". Therefore, even if the first sentence is incomplete and does not include an opinion word, it can be estimated that the first sentence is a service that the user found bad. In this case, the opinion word can be supplemented based on the question.
[0109] [5-3. Variation 3] For example, in Modification 2, if the first sentence is incomplete and an aspect term and an opinion word are obtained from a third sentence of similar content, the incomplete and unobtainable part may be supplemented from at least one of the aspect term and opinion word obtained from the third sentence. The input screen SC of Modification 3 is assumed to be in a free-form format as in the embodiment, but may also be in a question format as in Modification 2. In Modification 3, the topic word is assumed to be an opinion word.
[0110] For example, suppose a user inputs a first comment such as, "I went to XYZ mobile shop. The service becomes very good." As described in the embodiment, the first sentence does not express the user's opinion. The second sentence contains the opinion word "very good" as a topic word. The subject of the dependency relation is "The service," but it is an abstract word and is inappropriate as an aspect term.
[0111] In the above example, suppose another user inputs a third comment such as, "I went to XYZ mobile shop. The network connection becomes very good." A sentence included in the third comment is called the third sentence. In this case, as described in the embodiment, the aspect term "network connection" and the opinion word "very good" can be obtained from the second third sentence of the third comment. To obtain these, the first comment and first sentence in the description of the embodiment can be read as the third comment and the third sentence, respectively.
[0112] The filling unit 108 of Modification 3 fills in other elements of the first sentence based on other elements acquired from a third comment containing content similar to that of the first sentence. For example, in the above example, the opinion word "very good" is acquired as a topic word, but no aspect word is acquired. For example, the filling unit 108 determines that the first and third sentences are similar based on the feature vector of the second first sentence of the first comment and the feature vector of the second third sentence of the third comment. These sentences are similar when the distance between the feature vectors is less than a threshold. For example, the filling unit 108 fills in the aspect term "network connection" acquired from the third sentence as an aspect term not acquired from the first sentence. The third sentence may be a sentence containing the same opinion word as the first sentence, rather than a feature vector. In this case, no feature vector is calculated, and a third sentence containing the same opinion word as the first sentence without the aspect term is identified.
[0113] Note that the method of interpolation by the interpolation unit 108 is not limited to the above example. For example, when an aspect term is acquired from a first sentence but an opinion word is not acquired, the interpolation unit 108 may interpolate an opinion word acquired from a third sentence similar to the first sentence as an aspect term of the first sentence. For example, suppose that a user inputs a first sentence from which the opinion word is omitted, such as "I went to XYZ mobile shop. The network connection becomes...". In this case, the interpolation unit 108 identifies a third sentence similar to the second first sentence, "The network connection becomes very good." The interpolation unit 108 may identify the opinion word "very good" acquired from the third sentence as the opinion word of the first sentence.
[0114] The opinion analysis system 1 of the third modification example supplements other elements of a first sentence based on other elements acquired from a third sentence that includes content similar to the first sentence. This increases the accuracy of supplementing other elements when the first sentence is incomplete. For example, even if the first sentence is incomplete and does not include an aspect term, it can be supplemented with an aspect term acquired from a third sentence that includes content similar to the first sentence. For example, even if the first sentence is incomplete and does not include an opinion word, it can be supplemented with an opinion word acquired from a third sentence that includes content similar to the first sentence.
[0115] [5-4. Variation 4] For example, the first comment may not be entered into a dedicated form such as the input screen SC, but may be a post on a social networking site. In this case, information called a hashtag may be associated with the first comment. A hashtag is information that allows the content of the first comment to be classified. In this case, the filling unit 108 may fill in the missing elements of the first sentence based on the hashtag associated with the incomplete first sentence.
[0116] A hashtag is an example of a classification. Therefore, the word "hashtag" can be read as "classification." A classification is not limited to a hashtag, and can be any information that classifies the first comment in some way. For example, information using symbols other than hash marks can also correspond to a classification. In Variation 4, a case will be described in which the user who inputs the first comment inputs the classification, but the user may also select a classification from a plurality of predetermined classifications.
[0117] The filling unit 108 of the fourth modification fills in other elements based on the hashtag. For example, suppose that a user inputs a first comment such as, "I went to XYZ mobile shop. The service becomes very good." as a post on an SNS. Suppose that the hashtag "#network connection" is associated with this first comment. As described in the third modification, the second first sentence of this first comment includes the opinion word "very good" but does not include an aspect term. The filling unit 108 acquires "network connection" included in the hashtag as an aspect term.
[0118] It should be noted that the method of interpolation by the interpolation unit 108 is not limited to the above example. For example, suppose that a user inputs a first comment such as "I went to XYZ mobile shop. The network connection becomes..." as a post on an SNS. Suppose that the hashtag "#very good" is associated with this first comment. As described in Modification Example 3, the second first sentence of this first comment does not include an opinion word. The interpolation unit 108 may acquire "very good" included in the hashtag as the opinion word.
[0119] The opinion analysis system 1 of the fourth modification example supplements other elements based on the hashtag associated with the first comment. This increases the accuracy of supplementing other elements when the first sentence is incomplete. For example, even if the first sentence is incomplete and does not include an aspect term, it can be supplemented with an aspect term obtained from the hashtag associated with the first sentence. For example, even if the first sentence is incomplete and does not include an opinion word, it can be supplemented with an opinion word obtained from the hashtag associated with the first sentence.
[0120] [5-5. Variation 5] For example, in the embodiment and modified examples 1 to 4, a case has been described in which opinion analysis is performed on the first sentence, but opinion analysis may also be performed on the second sentence. To perform opinion analysis on the second sentence, the first sentence in the description of the opinion analysis unit 106 in the embodiment and modified examples 1 to 4 should be replaced with the second sentence. Note that the opinion analysis unit 106 may perform opinion analysis on either the first sentence or the second sentence. The opinion analysis unit 106 may perform opinion analysis on both the first sentence and the second sentence.
[0121] The opinion analysis unit 106 analyzes the opinion in the second sentence based on the topic word. For example, the opinion analysis unit 106 analyzes the opinion by determining whether the second sentence contains a topic word. If it is determined that the second sentence contains a topic word, the opinion analysis unit 106 may analyze the opinion by acquiring other elements based on parts of the second sentence other than the topic word. For example, the opinion analysis unit 106 may acquire, from the other parts, dependency words that have a dependency relationship with the topic word contained in the second sentence as other elements. These processes may be performed by replacing the "first sentence" in the embodiments with the "second sentence."
[0122] For example, similar to Modification Example 2, the second comment may be an answer to a question. For example, similar to Modification Example 3, the filling unit 108 may fill in other elements of the second sentence based on other elements acquired from a third sentence that includes content similar to the second sentence. For example, similar to Modification Example 4, the second comment may be associated with classification information, for example, a hashtag. When the second comment is incomplete, a method of filling in missing elements is to replace the "first sentence" in the explanations of Modification Examples 2 to 4 with the "second sentence."
[0123] The opinion analysis system 1 of the fifth modification analyzes the opinion in the second sentence, thereby making it possible to perform opinion analysis in the second sentence using topic words acquired based on the first comment.
[0124] Furthermore, the opinion analysis system 1 analyzes opinions by determining whether the second sentence contains an opinion word. This allows opinion analysis of the second sentence containing a topic word representative of cluster C, thereby improving the accuracy of opinion analysis.
[0125] [5-6. Variation 6] For example, when analyzing opinions in the second sentence as in Variation 5, the opinion analysis unit 106 performs learning of an opinion analysis model M2 for analyzing opinions based on topic words. The opinion analysis model M2 is an example of a machine learning model that uses a machine learning technique. Therefore, the phrase "opinion analysis model M2" can be read as "machine learning model."
[0126] For example, the opinion analysis model M2 may use any of supervised learning, semi-supervised learning, or unsupervised learning. In this embodiment, the opinion analysis model M2 using a method called BERT is taken as an example, but the opinion analysis model M2 may use a Transformer or neural network method other than BERT. For example, the opinion analysis model M2 may use a method called a Q&A-based model.
[0127] The opinion analysis model M2 is trained with training data that is a pair of a first sentence and an aspect term, an opinion word, and a polarity obtained from the first sentence. The method of obtaining the aspect term, the opinion word, and the polarity from the first sentence may be the same as the method described in the embodiment. The training data may be created manually or automatically using a known tool. For example, the parameters of the opinion analysis model M2 are adjusted so that when the first sentence is input, the aspect term, the opinion word, and the polarity obtained from the first sentence are output. The learning method of the opinion analysis model M2 itself can be any of various methods used in machine learning.
[0128] For example, the opinion analysis unit 106 analyzes opinions based on the trained opinion analysis model M2 and the second sentence. The opinion analysis unit 106 inputs the second sentence to the trained opinion analysis model M2. The opinion analysis model M2 calculates a feature vector of the second sentence and outputs an aspect term, an opinion word, and a polarity according to the feature vector. The opinion analysis unit 106 analyzes opinions by acquiring the aspect term, opinion word, and polarity output by the opinion analysis model M2.
[0129] The opinion analysis system 1 of the sixth modification executes learning of an opinion analysis model M2 for analyzing opinions based on topic words. The opinion analysis system 1 analyzes opinions based on the learned opinion analysis model M2 and the second sentence. This improves the accuracy of opinion analysis for the second sentence.
[0130] [5-7. Other variations] For example, the above modifications may be combined.
[0131] For example, the functions described as being implemented by the server 10 may be implemented by the user terminal 20 or another computer, or may be shared among multiple computers. For example, the comment acquisition unit 101 may be implemented by a first computer, the morphological analysis unit 102 and the combination unit 103 may be implemented by a second computer, and the clustering execution unit 104, topic word acquisition unit 105, and opinion analysis unit 106 may be implemented by a third computer, and so on. [Explanation of symbols]
[0132] 1 Opinion analysis system, B Button, F Input form, N Network, 10 Server, 11 Control unit, 12 Memory unit, 13 Communication unit, 20 User terminal, 21 Control unit, 22 Memory unit, 23 Communication unit, 24 Operation unit, 25 Display unit, M1 Polarity estimation model, M2 Opinion analysis model, SC Input screen, 100 Data storage unit, 101 Comment acquisition unit, 102 Morphological analysis unit, 103 Combination unit, 104 Clustering execution unit, 105 Topic word acquisition unit, 106 Opinion analysis unit, 107 Cluster estimation unit, 108 Complement unit, 200 Data storage unit, 201 Display control unit, 202 Operation reception unit, DB1 Comment database, DB2 Cluster database, DB3 Dictionary database.
Claims
1. a comment acquisition unit that acquires a first comment about the service input by a user who uses the service; an opinion word acquisition unit that acquires opinion words related to opinions about the service based on the first comment; an opinion analysis unit that analyzes the opinions based on the opinion words; An opinion analysis system including:
2. the opinion analysis unit analyzes the opinion in a second sentence included in a second comment different from the first comment based on the opinion word; The opinion analysis system of claim 1 .
3. the opinion word acquisition unit acquires the opinion word related to the opinion expressed by a plurality of elements including the opinion word and other elements related to the opinion word; the opinion analysis unit determines whether or not the opinion word is included in a first sentence included in the first comment, and when it is determined that the opinion word is included in the first sentence, analyzes the opinion in the first sentence by acquiring the other element based on a part of the first sentence other than the opinion word; the opinion analysis system further includes a supplementing unit that, when the other element is not acquired from the other portion, supplements the other element based on the other element acquired from a third sentence including content similar to the first sentence; The opinion analysis system according to claim 1 or 2.
4. the opinion word acquisition unit acquires the opinion word related to the opinion expressed by a plurality of elements including the opinion word and other elements related to the opinion word; the opinion analysis unit determines whether or not the opinion word is included in a first sentence included in the first comment, and when it is determined that the opinion word is included in the first sentence, analyzes the opinion in the first sentence by acquiring the other element based on a part of the first sentence other than the opinion word; the opinion analysis system further includes a supplementing unit that supplements the other element based on a classification related to the first comment that is associated with the first comment when the other element is not acquired from the other portion; The opinion analysis system according to claim 1 or 2.
5. The computer a comment acquisition step of acquiring a first comment about the service input by a user who uses the service; an opinion word acquisition step of acquiring opinion words related to opinions about the service based on the first comment; an opinion analysis step of analyzing the opinions based on the opinion words; An opinion analysis method to carry out.
6. a comment acquisition unit that acquires a first comment about the service input by a user who uses the service; an opinion word acquisition unit that acquires opinion words related to opinions about the service based on the first comment; an opinion analysis unit that analyzes the opinions based on the opinion words; A program that allows a computer to function as a
Citation Information
Patent Citations
Text analyzer, text analytical method, and text analytical program
JP2019109757A
Document analysis device, and document analysis program
WO2014141452A1
Device, program, and method for analyzing topic evaluation in multiple areas
JP2017134787A