WO2010036013A2 - 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법 - Google Patents

웹 문서에서의 의견 추출 및 분석 장치 및 그 방법 Download PDF

Info

Publication number
WO2010036013A2
WO2010036013A2 PCT/KR2009/005408 KR2009005408W WO2010036013A2 WO 2010036013 A2 WO2010036013 A2 WO 2010036013A2 KR 2009005408 W KR2009005408 W KR 2009005408W WO 2010036013 A2 WO2010036013 A2 WO 2010036013A2
Authority
WO
WIPO (PCT)
Prior art keywords
opinion
web document
language
module
domain
Prior art date
Application number
PCT/KR2009/005408
Other languages
English (en)
French (fr)
Other versions
WO2010036013A3 (ko
Inventor
남상협
Original Assignee
주식회사 버즈니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 버즈니 filed Critical 주식회사 버즈니
Priority to US13/121,644 priority Critical patent/US8731904B2/en
Publication of WO2010036013A2 publication Critical patent/WO2010036013A2/ko
Publication of WO2010036013A3 publication Critical patent/WO2010036013A3/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Definitions

  • the present invention relates to a device for extracting and analyzing opinions in a web document, and more particularly, by automatically extracting and analyzing user opinion information from web documents scattered on various websites existing on the Internet. It is easy to implement a feedback search service that allows you to check the statistics and search by negative feedback, and users of the feedback search can easily implement a system to easily search and monitor other users' opinions on specific keywords in one web document. Opinion relates to automatic extraction and analysis device and method thereof.
  • the existing information retrieval technology simply provides a search based on the information in which the keyword exists, and provides a higher level search based on the positive / negative evaluation of the document or sentence in which each keyword appears. It is not.
  • attempts have been made to apply user feedback extraction techniques to information retrieval, but they are still only at the level of sharing positive and negative documents.
  • the present invention has been made to solve the above-described problems, and an object of the present invention is to search for positive / negative opinions by automatically extracting and analyzing user opinion information from web documents scattered on various websites existing on the Internet. And a feedback search service that can check statistics, and users can easily implement a system for easily searching and monitoring other users' opinions on specific keywords at a glance.
  • An analysis device and a method thereof are provided.
  • a first aspect of the present invention provides a document collection module for collecting specific web document data including an opinion sentence;
  • a language processing module for separating specific web document data collected from the document collection module into sentence units and extracting linguistic features by performing language processing on the separated sentences;
  • An opinion learning module for generating a specific opinion extraction model by performing a machine learning algorithm on linguistic features of each sentence extracted from the language processing module;
  • at least one opinion extraction module for probabilistically extracting an opinion sentence with respect to the input web document data using the opinion extraction model generated from the opinion learning module.
  • a domain classification module for classifying the web document data input from the opinion extraction module for each of the predetermined domains and delivering them to each opinion extraction module.
  • the domain classification module at least one document collecting unit for collecting the web document data associated with the domain for each preset domain; At least one language processor extracting semantically separable features by performing language processing on the collected web document data for each domain; A domain classification learning unit configured to generate a specific domain classification model after probabilistic learning of each extracted feature of each domain using a machine learning algorithm; And a domain classification unit configured to perform probabilistic classification for each of the predetermined domains on the web document data input using the generated domain classification model.
  • the web document data for each domain collected by each document collecting unit may be a combination of opinion data and fact data for the corresponding domain.
  • the ratio of the opinion data and the fact data is kept the same.
  • the language processing may be morphological analysis or spacing.
  • the language processor when using the spacing data, extracts a feature of at least one of unigram, bigram, and trigram, and performs the morphological analysis. If one data is used, the linguistic processor removes at least one of a survey, affix, a pre-end ending, or a ending ending that has no special meaning as a result of morpheme analysis, and then uses a unigram, a bigram, or a trigram. At least one of the features of the trigram) can be extracted.
  • a second aspect of the present invention includes a language processing module for performing language processing on an opinion sentence having an evaluation result present in specific web document data and separating the semantic language units into semantic language units; An opinion expression calculation module for normalizing and calculating a probability value to be a positive / negative expression for each of the separated language units; An opinion expression display module for comparing the calculated probability value for each language unit with a preset opinion expression reference value and displaying positive / negative opinion expression for each language unit according to the result; An opinion expression learning module for generating a specific opinion expression model by performing a machine learning algorithm on the opinion sentences represented by the positive / negative opinion expressions for each language unit; And at least one opinion expression classification module for displaying and distinguishing positive / negative opinion expressions after performing language processing on the opinion sentences having evaluation results of the inputted web document data using the generated opinion expression model. It is to provide a device for analyzing opinions in a web document.
  • the opinion vocabulary storage module further includes a database for storing the probability values for each language unit calculated from the opinion expression calculating module in a database.
  • the document collection module for collecting a specific web document data including a comment sentence having an evaluation result;
  • a first language processing module which separates the collected web document data into sentence units and performs linguistic processing on each of the separated sentences to extract linguistic features;
  • An opinion learning module for generating a specific opinion extraction model by performing a machine learning algorithm on the linguistic features of the extracted sentences;
  • At least one opinion extraction module for probabilistically extracting an opinion sentence with respect to the input web document data using the generated opinion extraction model;
  • a second language processing module for performing language processing on the opinion sentence having the extracted evaluation result and separating the semantic language units into semantic language units;
  • An opinion expression calculation module for normalizing and calculating a probability value to be a positive / negative expression for each of the separated language units;
  • An opinion expression display module for comparing the calculated probability value for each language unit with a preset opinion expression reference value and displaying positive / negative opinion expression for each language unit according to the result;
  • An opinion expression learning module for generating a specific opinion expression model by performing a machine
  • a fourth aspect of the invention includes the steps of: (a) collecting specific web document data including a comment sentence; (b) separating the collected specific web document data in sentence units, and performing linguistic processing on each of the separated sentences to extract linguistic features; (c) generating a specific opinion extraction model by performing a machine learning algorithm on the linguistic features of the extracted sentences; And (d) probably extracting opinion sentences from the input web document data using the generated opinion extraction model.
  • the method may further include performing probabilistic classification of the web document data input in the step (d) for each predetermined domain.
  • the performing of the probabilistic classification for each preset domain comprises: a first process of collecting web document data related to the corresponding domain for each preset domain; and language processing for the collected web document data for each domain; A second process of extracting semantically separable features by performing a method, and a third process of generating a specific domain classification model after probabilistic learning of the extracted features of each domain using a machine learning algorithm And a fourth process of performing probabilistic classification for each of the predetermined domains on the web document data input using the generated domain classification model.
  • the language processing may perform morphological analysis or spacing.
  • a fifth aspect of the present invention provides a method for processing a comment sentence comprising (a ') performing language processing on an opinion sentence having an evaluation result present in specific web document data and separating the semantic language units into semantic language units; (b ') normalizing and calculating a probability value to be a positive / negative expression for each of the separated language units; (c ') comparing the calculated probability value for each language unit with a preset opinion expression reference value and displaying the positive / negative opinion expression for each language unit according to the result; (d ') generating a specific opinion expression model by performing a machine learning algorithm on the opinion sentences represented by the positive / negative opinion expressions for each language unit; And (e ') performing language processing on an opinion sentence having an evaluation result of the input web document data using the generated opinion expression model, and then displaying and distinguishing positive / negative opinion expressions. It provides a method for analyzing opinions in a document.
  • the method may further include converting a probability value for each language unit calculated in the step (b ') into a database and storing it in a separate storage module.
  • a sixth aspect of the present invention provides a method for collecting a web document data, including: (a ") collecting specific web document data including an opinion sentence having an evaluation result; Extracting linguistic features by performing linguistic processing on each sentence; (c ") generating a specific opinion extraction model by performing a machine learning algorithm on the linguistic qualities of the extracted sentences; (d”) web document data input using the generated opinion extraction model; Probably extracting a comment sentence for; (e ") performing language processing on the opinion sentence having the extracted evaluation result and separating it into semantic language units; (f”) normalizing a probability value to be a positive / negative expression for each separated language unit; Calculating by; (g ”) comparing the calculated probability value for each language unit with a predetermined opinion expression reference value and displaying the result as positive / negative opinion expression for each language unit according to the result; (h”) positive / for each language unit; Generating a specific opinion expression model by performing a machine learning algorithm on the opinion sentence indicated by the negative opinion expression; And (i ") performing a language processing on an opinion
  • a seventh aspect of the present invention is to provide a recording medium on which a program for executing the method of extracting and analyzing opinions from the above-described web document is recorded.
  • the apparatus for extracting and analyzing opinions in a web document of the present invention as described above, and the method, by automatically extracting and analyzing user opinion information from web documents scattered on various websites existing on the Internet, You can easily implement a feedback search service that allows you to check search and statistics by negative feedback, and users of feedback search can easily implement a system to easily search and monitor other users' opinions on specific keywords at a glance. This has the advantage of greatly reducing the amount of time spent exploring the opinions of other users.
  • marketers, stock investors, corporate value evaluators, etc. of each company can check the opinions of various users on the company or goods existing on the vast Internet at a glance, and know the opinions of the users. In order to reduce the cost of surveys and consulting firms, it is possible to effectively extract the opinions and statistics of each user.
  • FIG. 1 is an overall block diagram illustrating an apparatus for extracting opinions from a web document according to an embodiment of the present invention.
  • FIG. 2 is a schematic block diagram illustrating an apparatus for extracting opinions from a web document including a domain classification module applied to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a domain classification module of FIG. 2 in detail.
  • FIG. 4 is an overall flowchart illustrating a method of extracting opinions from a web document according to an embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating an apparatus for analyzing opinions in a web document according to an embodiment of the present invention.
  • FIG. 6 is a schematic block diagram illustrating an apparatus for analyzing opinions in a web document including a domain classification module applied to an embodiment of the present invention.
  • FIG. 7 is an overall flowchart illustrating a method for analyzing opinions in a web document according to an embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating an apparatus for extracting opinions in a web document according to an embodiment of the present invention
  • FIG. 2 is a comment extraction in a web document including a domain classification module applied to an embodiment of the present invention
  • FIG. 3 is a schematic block diagram illustrating an apparatus
  • FIG. 3 is a block diagram illustrating the domain classification module of FIG. 2 in detail.
  • the apparatus 100 for extracting opinions from a web document includes a document collecting module 110, a language processing module 120, and an opinion learning module 130. And opinion extraction module 140.
  • the document collection module 110 performs a function of collecting data of specific web documents 10a to 10n including an opinion sentence existing on the Internet. That is, the document collection module 110 may download the Hyper Text Markup Language (HTML) information of specific Web sites existing on the Internet in real time.
  • the web documents 10a to 10n mean specific web document data including opinion sentences arbitrarily selected to generate a specific opinion learning model described later.
  • the document collection module 110 collects and collects web document data including opinion information data (ie, general sentence / document data and information data given affirmative / negative evaluation thereof) as shown in Table 1 below. desirable.
  • opinion information data ie, general sentence / document data and information data given affirmative / negative evaluation thereof
  • Table 1 expression score Opinion Content ⁇ 10 It is interesting and sends it ⁇ 10 Report stories of 'smart' people ⁇ 8 The daily plucking of wise people! Declaration ⁇ 9 Soaked in my uncle's charm ... Shingo ⁇ 8 Report stories of ordinary people, not smart people ⁇ 10 It is a love story with good acting and good content. Uncle is so attractive ⁇ ???? Declaration ⁇ 10 It was a very spectacular story. Declaration ⁇ 10 I watched with no expectation, it was a heart warming movie all the time. It's fun. Report it. ⁇ 6 It's warm and comic .. It's too short for a movie. Declaration ⁇ 5 Turn around, it's obvious. Declaration
  • the target data collected through the document collection module 110 are opinion information data, that is, general sentence / document data and information data given affirmative / negative evaluation thereof, as shown in Table 1 above.
  • the positive / negative evaluation may be expressed as a score within a certain range, or may be variously evaluated using an asterisk or other symbols. In the present invention, all of the positive / negative evaluations expressed in this manner are recalculated and used in the same score range.
  • the present invention uses a score between 1 and 10 points (positive as closer to 10 points), and the collected data is 2 points when the score is used between 1 and 5 points. If it is, it is calculated as Equation 2 below.
  • the collected data as described above is a set of opinion scores ⁇ (data, score), (data, score), (data, score), (data, score) ⁇ converted into corresponding data sentences / documents and scores used in the present invention.
  • the Internet is a service that exists in the TCP / IP protocol and its upper layers, namely, Hyper Text Transfer Protocol (HTTP), Telnet, File Transfer Protocol (FTP), Domain Name System (DNS), and Simple Mail (SMTP). It refers to a global open computer network architecture that provides Transfer Protocol, Simple Network Management Protocol (SNMP), Network File Service (NFS), and Network Information Service (NIS).
  • HTTP Hyper Text Transfer Protocol
  • Telnet Telnet
  • FTP File Transfer Protocol
  • DNS Domain Name System
  • SMTP Simple Mail
  • It refers to a global open computer network architecture that provides Transfer Protocol, Simple Network Management Protocol (SNMP), Network File Service (NFS), and Network Information Service (NIS).
  • SNMP Simple Network Management Protocol
  • NFS Network File Service
  • NIS Network Information Service
  • the Internet may be a wired or wireless Internet, or may be a core network integrated with a wired public network, a wireless mobile communication network, or a portable Internet.
  • the language processing module 120 separates the specific web document data collected from the document collection module 110 in sentence units and performs language processing on each of the separated sentences to extract linguistic features. It performs the function.
  • the language processing module 120 In addition to the specific web document data collected from the document collection module 110, the language processing module 120 also separates the general document data (eg, text, Hangul, Word or Excel documents, etc.) into sentence units. The linguistic processing may be performed on each sentence to extract linguistic features.
  • general document data eg, text, Hangul, Word or Excel documents, etc.
  • the general document data may include preset opinions and / or fact sentences in order to generate an opinion extraction model that can more accurately distinguish whether the data is opinion data or fact data, thereby effectively supplementing the limited web document data. can do.
  • the document collection module 110 collects a data set consisting of opinions and a data set consisting only of fact information. Thereafter, the language processing module 120 performs language processing, for example, Morpheme Analyze or Segmentation, to extract an appropriate linguistic feature.
  • language processing for example, Morpheme Analyze or Segmentation
  • the spacing is a process of dividing an input sentence into units having meanings. For example, if the input sentence says "I enjoyed the movie”, the resulting sentence translates to "I enjoyed the movie”.
  • the morpheme analysis is a task for finding what part of speech information for each of the divided units. For example, if the input sentence says "I enjoyed the movie”, the result sentence reads "I (CTP1 first person pronoun) + (fjb assistant) movie (CMCN secretary common noun) + (fjco purpose check) (YBDO general verbs) + crab (fmoca auxiliary verb) + (YBDO general verbs) + (fmbtp past tense first ending endings) + da (fmofd flat ending endings).
  • the language processing is preferably performed by, for example, Morpheme Analyze or Segmentation processing, but in addition to the irradiation process for extracting features (or index words), Korean refractive processing, or circular return processing, etc. It may be.
  • the opinion learning module 130 performs a machine learning algorithm (eg, Naive Baysian, SVM, K-NN, etc.) on the linguistic features of each sentence extracted from the language processing module 120 to extract a specific opinion. Function to create a model.
  • a machine learning algorithm eg, Naive Baysian, SVM, K-NN, etc.
  • This opinion learning module 130 can be easily implemented using the conventional machine learning algorithm described above. That is, using a linguistic feature extracted from the language processing module 120, a conventional machine learning algorithm, for example, Naive Baysian, SVM, K-NN or other model is selected to perform learning. When learning is finished and any sentence or document is inputted, a feedback extraction model is generated to distinguish whether the data is opinion data or fact data.
  • a conventional machine learning algorithm for example, Naive Baysian, SVM, K-NN or other model is selected to perform learning.
  • a feedback extraction model is generated to distinguish whether the data is opinion data or fact data.
  • the sentences extracted from the language processing module 120 there are some sentences with opinions, there are also general sentences without opinions. These sentences may be divided into sentences in which an opinion exists and sentences in which an opinion does not exist using a specific opinion extraction model generated through the opinion learning module 130.
  • the opinion extraction module 140 performs a function of probabilistically extracting an opinion sentence with respect to the input web document 20a to 20n data using the opinion extraction model generated from the opinion learning module 130.
  • the opinion extraction module 140 may be provided and implemented for each of the web document data for each domain classified through the domain classification module 150 to be described later.
  • the web documents 20a to 20n mean all web document data existing on the Internet.
  • the web document 20a to 20n data input from the opinion extraction module 140 are classified into predetermined domains and transmitted to each opinion extraction module 140a to 140n.
  • the domain classification module 150 may be further included.
  • the domain classification module 150 may include at least one document collecting unit 151a to 151n for collecting web document data 25a to 25n related to the corresponding domain for each preset domain, and each document collecting unit 151a to 151n. At least one language processor 152a to 152n for extracting semantically separable features by performing language processing on the web document data for each domain collected from each domain, and each domain extracted from each language processor 152a to 152n.
  • the domain classification learning unit 153 and the domain classification model generated from the domain classification learning unit 153 for probabilistic learning by using a machine learning algorithm on each feature, and generating a specific domain classification model.
  • the domain classification unit 154 performs probabilistic classification for each of the predetermined domains on the input web document data 20a to 20b.
  • the web documents 25a to 25n mean web document data for each domain that is arbitrarily selected in order to generate a specific domain classification model described later.
  • each domain eg, a movie, a book, an electronic product, a cosmetic, a clothing, a person, etc. decided to classify through each document collecting unit 151a to 151n is associated with the domain. Collect data to obtain data by domain.
  • the data collected for each domain is composed of a combination of review data and fact data for the domain.
  • the ratio of opinion data and fact data of the data collected by each domain is maintained at the same or similar ratio, so that the data is purely classified according to domains.
  • language processing is performed through each language processor 152a to 152n in order to extract an appropriate feature from each domain.
  • the language processing may be divided into semantically separable language units through, for example, Morpheme Analyze or Segmentation.
  • the characteristics of the corresponding domain are as follows.
  • Trigram The author is a book, is a book A, from book A, interesting from A, interesting, interesting, make writing, writing a writing, make up a writing, Was ,.
  • the quality of the domain is as follows. That is, as a result of morphological analysis, after removing the investigation, affix, pre-end ending, and ending ending which do not have a special meaning, the qualities in the form of unigram, bigram, and trigram as shown in the above spacing are removed. Can be used.
  • each domain is probabilistically learned through the domain classification learning unit 153 using, for example, Naive Baysian, SVM or K-NN, and other general machine learning algorithms (Machine Learning Classifier Algorithm). Done.
  • linear classifier may be expressed as Equation 4 below.
  • the size of the vector is the total number of features, and features that do not appear in the document have "0" values, and features that appear in the document have their number or value "1".
  • weight vector which is a vector that gives weight to each feature for each class
  • matrix size is the number of types of features ⁇ class Count
  • the machine learning algorithm can use the data in the same manner as described above.
  • Naive Baysian as an example, it may be expressed as Equation 5 below.
  • C means a class, for example, a domain such as a movie, a book, a product, and the like.
  • the F i means each feature, for example, Unigram (author), Bigram (author book), Trigram (author book A), and the like.
  • P (C) is the probability that the class C comes out. For example, if there are five movie data, twelve book data, and eight commodity data, P (movie) has a "5 / (5 + 12 + 8)" probability.
  • P (F 1 ,..., F n ) is a probability that each F i appears at the same time, and may be omitted because the same applies to all classes (the same applies to all classes as denominators).
  • C) is a probability that F 1 ,..., F n is generated when class C is given.
  • Equation 5 the calculation of the molecules for determining the actual class probabilities assumes that each feature is conditionally independent of each other, and is specifically calculated as shown in Equation 6 below.
  • C) is a probability of F i given a given C
  • C) represents the number (Frequency) of the feature (F j ) in any class C.
  • the total number of features is N.
  • one domain classification model is generated, and any sentence or document is entered as an input using the domain classification model generated as described above through the domain classification unit 154. In this case, it is determined probabilisticly in which domain the data is included.
  • the feature is selected in the same manner as the feature is selected.
  • the domain classification model outputs class C showing the highest generation probability for the corresponding features.
  • a dictionary can be constructed in an automated manner when extracting opinions, and the opinion analysis apparatus 200 according to an embodiment of the present invention is provided.
  • a learning model can also be created automatically to distinguish opinion expressions in.
  • FIG. 4 is an overall flowchart illustrating a method of extracting opinions from a web document according to an embodiment of the present invention.
  • opinion extraction module 140 By using the opinion extraction model generated in the step S120 through the inputted probability sentence extraction for the web document (20a to 20n) data input (S130).
  • the method may further include performing probabilistic classification for each predetermined domain through the domain classification module 150 on the web document 20a to 20n data input in step S130.
  • the performing of the probabilistic classification for each preset domain may include a first process of collecting web document data related to the corresponding domain for each of the preset domains, and performing language processing on the collected web document data for each domain. For example, by performing morphological analysis or spacing, the second process of extracting semantically separable qualities, and the probabilistic learning of the extracted qualities of each domain using a machine learning algorithm are performed. And a fourth process of generating a classification model and a fourth process of performing probabilistic classification for each of the predetermined domains on the web document data input using the generated domain classification model.
  • FIG. 5 is a block diagram illustrating an apparatus for analyzing opinions in a web document according to an embodiment of the present invention
  • FIG. 6 is a comment analysis in a web document including a domain classification module applied to an embodiment of the present invention. It is a schematic block diagram for explaining an apparatus.
  • the opinion analysis apparatus 200 in a web document includes a language processing module 210, an opinion expression calculation module 220, and an opinion expression display module ( 230, the opinion expression learning module 240, the opinion expression division module 250, and the like.
  • the language processing module 210 performs language processing (eg, morphological analysis or spacing, etc.) on the opinion sentence having the evaluation result existing in the specific web document 30a to 30n data, and converts them into semantic language units. It performs the function of separating.
  • the web documents 30a to 30n mean specific web document data arbitrarily selected to generate a specific opinion expression model described later.
  • the present invention automatically calculates the positive score and the negative score of each semantic unit through the opinion expression calculation module 220 to be described later, and automatically stores them in a separate opinion vocabulary storage module 260. Done.
  • the opinion expression calculating module 220 normalizes and calculates a probability value that becomes a positive / negative expression for each language unit separated from the language processing module 210.
  • the input data includes a score indicating a positive degree and sentences / documents belonging to the score as described below.
  • these opinion data are collected through review sites where the user posts positive / negative scores and opinions on the general web.
  • the opinion expression operation module 220 is used to obtain the positive / negative value of each language unit by using the opinion data on which the language processing is performed.
  • the probability of how "best” (CMCN secretary common noun) represents positive / negative and how the word "best (CMCN secretary common noun)" is distributed to each score range (1 to 10).
  • the calculation is performed through the following equation (7).
  • the w j shown below is the "highest (CMCN non-ordinary common noun)", it can represent a combination of words and tag information (POS-Part Of Speech), or can represent a single word except the "best" tag information. have.
  • S means all score sets. For example, if a movie evaluation sentence has 1 to 10 points, it means a set of sentences scored as 1 to 10 points.
  • the score (s i ) means the actual score of the corresponding score set. In other words, the score (s i ) of the 10-point score set is 10.
  • the score (w i ) represents the positive / negative score of w i .
  • Freq (w j , s i ) represents the number of times the word w j appears in the score set s i . Is the sum of the number of occurrences of the word w j in all score sets, which means the number of times w j appears in the entire data.
  • Equation 7 For example, assuming that only two 10-point sentences and two 9-point sentences exist as "fun”, it can be obtained as shown in Equation 8 below.
  • the semantic unit may be configured as a semantic unit by tying "fun” with the morpheme "YBDO”, or with only one word of "fun”.
  • Equation 10 is required in consideration of the number of data in each score band.
  • s i ) is a probability value where w j appears in the s i score set.
  • the word is normalized using a probability value appearing in each score band, thereby solving a problem in which scores are biased according to the size of the score band.
  • the positive / negative scores of each semantic unit are calculated and stored in a separate opinion vocabulary storage module 260.
  • the opinion expression display module 230 compares the probability value for each language unit calculated from the opinion expression operation module 220 or stored in the opinion vocabulary storage module 260 with a preset opinion expression reference value, so that the probability value for each language unit is increased. If the predetermined opinion expression reference value is greater than the positive opinion expression, and if the probability value for each language unit is smaller than the preset opinion expression reference value, it performs a function of marking as negative opinion expression.
  • the input sentence is "1 (SGR instructional noun) movie (CMCN secretary common noun) + (fjb assistant) really (SBO general adverb) funny (YBDO general verb) + (fmbtp Past tense fresh ending ending) + c (fmofd flat ending ending)-10 points,
  • a vocabulary of more than a certain score among the scores of 1 to 10 points is considered as positive, and vocabulary less than or equal to the specific score is regarded as negative vocabulary.
  • the opinion expression division module 250 is implemented using the opinion expression model. That is, the opinion expression division module 250 performs a role of specifically finding and marking a part that is an opinion when a sentence is input as described above.
  • sentence 4 belongs to a set of 1-point sentences, it is certain that sentence 4 is a negative sentence, and using the information of such a negative sentence, all the positive / negative vocabulary in sentence 4 is changed to negative vocabulary. Will be displayed. That is, sentence 4 is displayed as follows.
  • the opinion expression learning module 240 performs a function of generating a specific opinion expression model by performing a machine learning algorithm on the opinion sentences displayed as positive / negative opinion expression for each language unit from the opinion expression display module 230. do.
  • the opinion expression division module 250 performs language processing (eg, morphological analysis) on an opinion sentence having an evaluation result of web document 40a to 40n data input by using the opinion expression model generated from the opinion expression learning module 240. Or spaces, etc.), and displays and distinguishes positive / negative opinions.
  • the web documents 40a to 40n mean all web document data existing on the Internet.
  • the models used for learning are, for example, Hidden Markov Model (HMM), Maximum Entropy Model (ME), Conditional Random Field, Struct Support Vector Machine, or other Machine Learning algorithms.
  • HMM Hidden Markov Model
  • ME Maximum Entropy Model
  • Conditional Random Field Struct Support Vector Machine
  • Struct Support Vector Machine or other Machine Learning algorithms.
  • the data commonly input in these machine learning algorithm models are (x 1 , y 1 ), ..., (x n , y n ), where x is the meaning unit of "funny (YBDO general verb)" or " Funny “," YBDO general verbs ", etc., and y is a level (Label) that the semantic unit can have, such as” Positive “,” Negative “, and” Neutral “. You can also add other levels, such as "Strength,” which will help you determine affirmations.
  • the opinion expression model desired in the present invention is a model for predicting a level y that is eventually attached to the input data sequence x.
  • a machine learning algorithm model referred to above are with respect to the x i x i a specific location ( x i-1 , y i-1 ), (x i + 1 , y i + 1 ), (x i-2 , y i-2 ) before and after, and (x i + 2 , y i + 2 ),
  • the level of y i of x i under certain conditions It will predict whether it becomes (Label).
  • the opinion expression classification module 250 may select a label sequence y i for the corresponding data sequence. Will predict if is generated.
  • a language processing such as spacing or Morpheme Analyze may be selectively performed as shown below.
  • the following expression may be expressed. Can be.
  • the input sentence is "4 Lee (SGR-directed noun) movie (CMCN secretary common noun) + (fjb assistant) funny (YBDO common verb) + Ji (fmoca auxiliary conjunction) + (YA auxiliary verb) + (Fmbtp past tense fresh ending) + c (fmofd flat ending ending) +. (G symbol)-1 point ",
  • Sentences with affirmative / negative opinions are divided into "4 Lee (SGR-directed adjective) / NEUTRAL movie (CMCN secretary common noun) / NEUTRAL + (fjb assistant) / NEUTRAL funny (YBDO general verb) / NEGATIVE + G (fmoca secondary concatenation) / NEGATIVE No (YA auxiliary language) Of NEGATIVE + NEWRAL + c (fmofd flat ending ending) / NEUTRAL +. (G symbol) / NEUTRAL ".
  • the opinion expression classification module 250 configured as described above is a linguistic feature of the opinion sentence extracted from the opinion extraction module 140 of the opinion extraction device 100 of the opinion extraction device 100 in the web document according to an embodiment of the present invention ( It is also possible to distinguish positive / negative opinions about features.
  • the opinion expression division module 250 finds a part that is a positive / negative opinion among the opinion sentences extracted from the opinion extraction module 140 and displays the part. Meanwhile, as described above, the positive / negative expression may be displayed in the input comment sentence using the opinion expression division module 250 without using the opinion extraction module 140.
  • the opinion expression division module 250 quantifies the degree of affirmation / negativeness of all words such as general self-supporting words and words as well as salmon, and utilizes them as a resource, and finds a machine learning model for finding positive / negative expressions in sentences. Can be used to generate
  • the opinion vocabulary storage module 260 may further include a database for storing the probability value of each language unit calculated from the opinion expression calculating module 220 to form a database DB.
  • the web document 40a to 40n data inputted from the opinion expression division module 250 are classified into predetermined domains and delivered to each opinion expression division module 250a to 250n.
  • the classification module 150 may be further included.
  • the opinion expression calculation module 220 is for the respective web document data classified through the domain classification module 150 Each one is preferably provided to be implemented.
  • FIG. 7 is an overall flowchart illustrating a method for analyzing opinions in a web document according to an embodiment of the present invention.
  • the opinion expression display module 230 compares the probability value for each language unit calculated in step S210 and the preset opinion expression reference value and displays the positive / negative opinion expression for each language unit according to the result (
  • the expression expression learning module 240 generates a specific expression expression model by performing a machine learning algorithm on the opinion sentence indicated by the positive / negative opinion expression for each language unit in operation S220 (S230).
  • the method may further include storing a probability value for each language unit calculated in step S210 into a database (DB) and storing it in a separate opinion vocabulary storage module 260.
  • DB database
  • the method of extracting and analyzing opinions from a web document may also be implemented as computer readable codes on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • a computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, a removable storage device, a nonvolatile memory (Flash memory).
  • Flash memory nonvolatile memory
  • the computer readable recording medium can also be distributed over computer systems connected over a computer network so that the computer readable code is stored and executed in a distributed fashion.
  • an embodiment of the present invention implements an apparatus and method for extracting and analyzing opinions from a web document based on Korean
  • the present invention is not limited thereto, and may be implemented by applying various languages such as English, Japanese, and Chinese. It may be.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법에 관한 것으로, 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 웹 문서에서 사용자 의견 정보들을 자동 추출 및 분석함으로써, 긍정/부정 의견별로 검색 및 통계를 확인할 수 있는 의견 검색 서비스를 간편하게 구현할 수 있으며, 의견 검색 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링(Monitoring)하는 시스템을 용이하게 구현할 수 있는 효과가 있다. 또한, 본 발명에 의하면, 각 회사의 마케팅 담당자나 주식 투자자, 기업 가치 평가자 등은 방대한 인터넷 상에서 존재하는 해당 기업이나 물품에 대한 여러 사용자들의 의견을 한눈에 확인할 수 있으며, 기존에 사용자들의 의견을 알기 위해서 실시했던 설문조사나 컨설팅 회사에 들였던 비용을 대폭 줄일 수 있으면서 효과적으로 각 사용자들의 의견 추출 및 통계를 내서 활용할 수 있다.

Description

웹 문서에서의 의견 추출 및 분석 장치 및 그 방법
본 발명은 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법에 관한 것으로, 보다 상세하게는 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 웹 문서에서 사용자 의견 정보들을 자동 추출 및 분석함으로써, 긍정/부정 의견별로 검색 및 통계를 확인할 수 있는 의견 검색 서비스를 간편하게 구현할 수 있으며, 의견 검색 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링하는 시스템을 용이하게 구현할 수 있도록 한 웹 문서에서의 의견 자동 추출 및 분석 장치 및 그 방법에 관한 것이다.
최근에 인터넷 사용이 점차 활발해 짐에 따라, 많은 사람들이 인터넷에서 예컨대, 블로그(Blog), 위키(Wiki)와 같은 매체를 통해서 자신의 의견을 표현하고 있는 추세이다. 또한, 특정한 정보의 가치를 평가할 때, 이러한 다른 사람들이 인터넷 상에 올려놓은 의견 정보를 참조하고자 하는 수요도 높아지고 있다.
예를 들면, 인터넷 상에는 상품 리뷰(Review)에서 영화 리뷰까지 다양한 사용자들의 의견이 존재한다. 이러한 각 사용자들의 의견들은 일반 사용자들이 물품을 구매하거나, 영화를 보기 전에 다른 사용자들의 의견을 보고자 하는 경우에도 이용될 수 있으며, 마케팅 담당자나 주식 매매자 등이 각 물품이나 회사에 대한 일반 사용자들의 다양한 의견을 알고자 하는 경우에도 사용될 수 있다. 특히, 일반 사용자들은 특정 물품을 구매하기 전에 다른 사용자들의 평가를 먼저 보고 나서 이런 물품을 구매하려는 경향이 크다.
하지만, 이러한 인터넷 상에 존재하는 의견들은 개개의 웹사이트들에만 존재하여, 이러한 의견 정보들을 사용하고자 할 경우에는 사용자가 일일이 이러한 개개의 모든 웹사이트를 수동으로 찾아보아야 하는 번거로움이 존재한다.
이러한 모든 웹사이트들을 사용자들이 모두 찾아보기 어려우며 일반 검색으로 다른 사용자들의 의견을 찾고자 하는 경우에는 의견이 있는 웹 문서, 긍정적인 의견이 있는 웹 문서, 부정적인 의견이 있는 웹 문서 등이 혼재하여 효과적으로 다른 사용자들의 의견을 찾아보기 어려운 문제점이 있다.
이러한 문제점을 해결하기 위하여 국/내외 학계를 중심으로 사용자 의견 추출 기술이 활발하게 연구되고 있으며, 정보 검색 분야에서도 2000년도 초반부터 크게 발전하여 다양한 기술이 연구되고 있다.
그러나, 기존의 정보 검색 기술은 단순히 키워드가 존재하는 정보에 기반한 검색만 제공해주고 있을 뿐이고, 각 키워드가 등장하는 문서나 문장에서 긍정적/부정적으로 평가된 내용을 기반으로 한 좀더 고차원적인 검색까지 제공해주고 있지 못하고 있다. 최근에 사용자 의견 추출 기술을 정보 검색에 적용하려는 시도가 진행되고 있으나 아직도 단순히 긍정, 부정 문서를 나누는 수준에만 머무르고 있는 실정이다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 웹 문서에서 사용자 의견 정보들을 자동 추출 및 분석함으로써, 긍정/부정 의견별로 검색 및 통계를 확인할 수 있는 의견 검색 서비스를 간편하게 구현할 수 있으며, 의견 검색 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링하는 시스템을 용이하게 구현할 수 있도록 한 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 문서수집모듈; 상기 문서수집모듈로부터 수집된 특정의 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 언어처리모듈; 상기 언어처리모듈로부터 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 의견학습모듈; 및 상기 의견학습모듈로부터 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 적어도 하나의 의견추출모듈을 포함하는 웹 문서에서의 의견 추출 장치를 제공하는 것이다.
여기서, 상기 의견추출모듈로부터 입력되는 웹 문서 데이터를 기 설정된 도메인별로 분류하여 각 의견추출모듈로 전달하기 위한 도메인 분류모듈이 더 포함됨이 바람직하다.
바람직하게, 상기 도메인 분류모듈은, 기 설정된 도메인별로 해당 도메인과 관련된 웹 문서 데이터를 수집하는 적어도 하나의 문서수집부; 상기 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 적어도 하나의 언어처리부; 상기 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 도메인 분류학습부; 및 상기 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 도메인 분류부를 포함할 수 있다.
바람직하게, 각 문서수집부에서 수집하는 각 도메인별 웹 문서 데이터는 해당 도메인에 대한 의견 데이터와 사실 데이터의 조합으로 이루어질 수 있다.
바람직하게, 상기 의견 데이터와 사실 데이터의 비율은 동일하게 유지되도록 한다.
바람직하게, 상기 언어처리는 형태소 분석 또는 띄어쓰기 처리로 이루어질 수 있다.
바람직하게, 상기 띄어쓰기를 수행한 데이터를 사용할 경우, 상기 언어처리부는 유니그램(Unigram), 바이그램(Bigram) 또는 트라이그램(Trigram) 중 적어도 어느 하나의 형태의 자질을 추출하며, 상기 형태소 분석을 수행한 데이터를 사용할 경우, 상기 언어처리부는 형태소 분석 결과 특별한 의미를 가지지 않는 조사, 접사, 선 어말 어미 또는 종결 어미 중 적어도 어느 하나를 제거한 후, 유니그램(Unigram), 바이그램(Bigram) 또는 트라이그램(Trigram) 중 적어도 어느 하나의 형태의 자질을 추출할 수 있다.
본 발명의 제2 측면은, 특정의 웹 문서 데이터에 존재하는 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 언어처리모듈; 상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 의견표현 연산모듈; 상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 의견표현 표시모듈; 상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 의견표현 학습모듈; 및 상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 적어도 하나의 의견표현 구분모듈을 포함하는 웹 문서에서의 의견 분석 장치를 제공하는 것이다.
여기서, 상기 의견표현 연산모듈로부터 계산된 각 언어 단위별 확률값을 데이터베이스(DB)화하여 저장하기 위한 의견어휘 저장모듈이 더 포함됨이 바람직하다.
본 발명의 제3 측면은, 평가 결과를 갖는 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 문서수집모듈; 상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 제1 언어처리모듈; 상기 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 의견학습모듈; 상기 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 적어도 하나의 의견추출모듈; 상기 추출된 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 제2 언어처리모듈; 상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 의견표현 연산모듈; 상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 의견표현 표시모듈; 상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 의견표현 학습모듈; 및 상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 적어도 하나의 의견표현 구분모듈을 포함하는 웹 문서에서의 의견 추출 및 분석 장치를 제공하는 것이다.
본 발명의 제4 측면은, (a) 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 단계; (b) 상기 수집된 특정의 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 단계; (c) 상기 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 단계; 및 (d) 상기 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 단계를 포함하는 웹 문서에서의 의견 추출 방법을 제공하는 것이다.
바람직하게, 상기 단계(d)에서 입력되는 웹 문서 데이터에 대해 기 설정된 도메인별로 확률적인 분류를 수행하는 단계를 더 포함할 수 있다.
바람직하게, 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 단계는, 상기 기 설정된 도메인별로 해당 도메인과 관련된 웹 문서 데이터를 수집하는 제1 과정과, 상기 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 제2 과정과, 상기 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 제3 과정과, 상기 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 제4 과정을 포함할 수 있다.
바람직하게, 상기 언어처리는 형태소 분석 또는 띄어쓰기 처리를 수행할 수 있다.
본 발명의 제5 측면은, (a') 특정의 웹 문서 데이터에 존재하는 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 단계; (b') 상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 단계; (c') 상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 단계; (d') 상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 단계; 및 (e') 상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 단계를 포함하는 웹 문서에서의 의견 분석 방법을 제공하는 것이다.
바람직하게, 상기 단계(b')에서 계산된 각 언어 단위별 확률값을 데이터베이스(DB)화하여 별도의 저장모듈에 저장하는 단계를 더 포함할 수 있다.
본 발명의 제6 측면은, (a") 평가 결과를 갖는 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 단계; (b") 상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 단계; (c") 상기 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 단계; (d") 상기 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 단계; (e") 상기 추출된 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 단계; (f") 상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 단계; (g") 상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 단계; (h") 상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 단계; 및 (i") 상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 단계를 포함하는 웹 문서에서의 의견 추출 및 분석 방법을 제공하는 것이다.
본 발명의 제7 측면은, 상술한 웹 문서에서의 의견 추출 및 분석 방법을 실행시키기 위한 프로그램을 기록한 기록매체를 제공하는 것이다.
이상에서 설명한 바와 같은 본 발명의 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법에 따르면, 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 웹 문서에서 사용자 의견 정보들을 자동 추출 및 분석함으로써, 긍정/부정 의견별로 검색 및 통계를 확인할 수 있는 의견 검색 서비스를 간편하게 구현할 수 있으며, 의견 검색 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링하는 시스템을 용이하게 구현할 수 있을 뿐 아니라 기존에 다른 사용자들의 의견을 검색하기 위해서 들였던 많은 시간을 크게 단축시킬 수 있는 이점이 있다.
또한, 본 발명에 의하면, 각 회사의 마케팅 담당자나 주식 투자자, 기업 가치 평가자 등은 방대한 인터넷 상에서 존재하는 해당 기업이나 물품에 대한 여러 사용자들의 의견을 한눈에 확인할 수 있으며, 기존에 사용자들의 의견을 알기 위해서 실시했던 설문조사나 컨설팅 회사에 들였던 비용을 대폭 줄일 수 있으면서 효과적으로 각 사용자들의 의견 추출 및 통계를 내서 활용할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 적용된 도메인 분류모듈을 포함한 웹 문서에서의 의견 추출 장치를 설명하기 위한 개략적인 블록 구성도이다.
도 3은 도 2의 도메인 분류모듈을 구체적으로 설명하기 위한 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 방법을 설명하기 위한 전체적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 6은 본 발명의 일 실시예에 적용된 도메인 분류모듈을 포함한 웹 문서에서의 의견 분석 장치를 설명하기 위한 개략적인 블록 구성도이다.
도 7은 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 방법을 설명하기 위한 전체적인 흐름도이다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
도 1은 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 장치를 설명하기 위한 전체적인 블록 구성도이고, 도 2는 본 발명의 일 실시예에 적용된 도메인 분류모듈을 포함한 웹 문서에서의 의견 추출 장치를 설명하기 위한 개략적인 블록 구성도이며, 도 3은 도 2의 도메인 분류모듈을 구체적으로 설명하기 위한 블록 구성도이다.
도 1 내지 도 3을 참조하면, 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 장치(100)는, 크게 문서수집모듈(110), 언어처리모듈(120), 의견학습모듈(130) 및 의견추출모듈(140) 등을 포함하여 이루어진다.
여기서, 문서수집모듈(110)은 인터넷(Internet) 상에 존재하는 의견 문장을 포함하는 특정의 웹 문서(10a 내지 10n) 데이터를 수집하는 기능을 수행한다. 즉, 문서수집모듈(110)은 인터넷 상에 존재하는 특정한 웹사이트(Web Site)들의 HTML(Hyper Text Markup Language) 정보를 실시간으로 다운로드(Download) 받게 된다. 이때, 웹 문서(10a 내지 10n)는 후술하는 특정의 의견학습모델을 생성하기 위하여 임의로 선별된 의견 문장을 포함하는 특정의 웹 문서 데이터를 의미한다.
이러한 문서수집모듈(110)은 하기의 표 1과 같이, 의견정보 데이터(즉, 일반 문장/문서 데이터와 이에 대한 긍정/부정 평가가 매겨진 정보 데이터)를 포함하는 웹 문서 데이터들을 선별하여 수집함이 바람직하다.
이때, 상기 의견정보 데이터를 포함하는 웹 문서 데이터들만을 선별적으로 수집하기 위한 방법으로는, 의견정보 데이터를 포함하는 특정의 웹 문서 데이터를 선별하고, 후술하는 기계학습 알고리즘(예컨대, SVM, K-NN, Bayseian 등)을 사용하여 웹 문서 선별 모델을 생성한 후, 상기 생성된 웹 문서 선별 모델을 사용하여 전체 인터넷 웹 페이지에서 의견정보 데이터가 포함된 웹 문서 데이터들만을 선별적으로 수집할 수 있다.
최근 들어서 사용자들의 자신이 본 영화나 구매한 상품 및 유명인, 국가 정책 등에 대한 평가/의견 글들을 인터넷에 올리는 양이 급증하고 있다. 하기의 표 1에 나타난 데이터도 우리가 흔히 볼 수 있는 영화에 대한 평가 글들이다.
이처럼 현재의 웹(Web)에서는 (문장/문서, 긍정/부정 점수) 쌍으로 되어 있는 가용데이터가 크게 증가하고 있다. 이러한 웹 문서 데이터의 증가는 자동적인 의견 어휘 사전 구축 및 의견 추출 시스템 개발에 있어서 큰 기여를 하게 된다.
표 1
표현 점수 의견내용
★★★★★ 10 재미있어 신고
★★★★★ 10 '똑똑한' 사람들이 살아가는 이야기 신고
★★★★★ 8 현명한 사람들의 일상 뜯어고치기! 신고
★★★★★ 9 삼촌의 매력에 흠뻑... 신고
★★★★★ 8 스마트한 사람들의 이야기가 아닌 평범한 사람들의 이야기 신고
★★★★★ 10 연기도 좋고 내용도 잼있고 가슴 훈훈해지는 사랑이야기. 삼촌 너무 매력적이야∼???? 신고
★★★★★ 10 정말 감동할만한 이야기이었어요. 신고
★★★★★ 10 별 기대 안하고 봤는데, 보는 내내 가슴 따뜻해지는 영화였습니다. 재미도 있고요 신고
★★★★ 6 훈훈하고 코믹하고.. 영화 넘 짧은거 같은데.. 근데 진짜 삼촌없음 어쩔뻔???? 신고
★★★ 5 돌고돌고돌아 결국은 뻔한 이야기. 신고
즉, 문서수집모듈(110)을 통해 수집되는 대상 데이터는 상기의 표 1에 나타난 바와 같이, 의견정보 데이터 즉, 일반 문장/문서 데이터와 이에 대한 긍정/부정 평가가 매겨진 정보 데이터들이다.
이때, 상기 긍정/부정 평가는 일정 범위내의 점수로 표현되어지거나, 별표(★)나 기타 기호들을 이용하여 다양하게 평가될 수 있다. 본 발명에서는 이렇게 다양한 방식으로 표현되는 긍정/부정 평가는 모두 동일한 점수 범위로 재 계산되어서 사용된다.
이를 구체적으로 설명하면, 본 발명의 일 실시예에서 사용하는 점수 범위가 a∼b 라고 하였을 때에 수집한 데이터의 점수범위가 c∼d 라고 한다면, 해당 수집 점수 x는 하기의 수학식 1과 같이 변화된다.
수학식 1
Figure PCTKR2009005408-appb-M000001
예를 들어, 본 발명은 1∼10점 사이의 점수를 사용하고(10점에 가까울수록 긍정), 수집한 데이터는 1∼5점 사이의 점수를 사용하는 경우에, 수집한 데이터가 2점이라고 한다면, 하기의 수학식 2와 같이 계산되어 진다.
수학식 2
Figure PCTKR2009005408-appb-M000002
다른 경우로, 본 발명에서는 1∼10점 사이의 점수를 사용하고, 수집한 데이터가 1∼20점 사이의 점수를 사용한다고 하면, 하기의 수학식 3과 같이 계산되어 진다.
수학식 3
Figure PCTKR2009005408-appb-M000003
상기와 같이 수집한 데이터는 해당 데이터 문장/문서와 본 발명에서 사용하는 점수로 변환된 의견 점수 집합{(데이터, 점수), (데이터, 점수), (데이터, 점수), (데이터, 점수)}이 된다.
한편, 인터넷(Internet)은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미한다. 이러한 인터넷은 유선 또는 무선 인터넷일 수도 있고, 이외에도 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망 일 수도 있다.
그리고, 언어처리모듈(120)은 문서수집모듈(110)로부터 수집된 특정의 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질(Feature)들을 추출하는 기능을 수행한다.
또한, 언어처리모듈(120)은 문서수집모듈(110)로부터 수집된 특정의 웹 문서 데이터 이외에 일반적인 문서 데이터(예컨대, 텍스트, 한글, 워드 또는 엑셀 문서 등)에 대해서도 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질(Feature)들을 추출할 수도 있다.
한편, 상기 일반적인 문서 데이터에는 해당 데이터가 의견 데이터인지 사실 데이터인지 보다 정확하게 구분할 수 있는 의견추출모델을 생성하기 위하여 미리 설정된 의견 및/또는 사실 문장들이 포함될 수 있으며, 이에 따라 한정된 웹 문서 데이터를 효과적으로 보완할 수 있다.
즉, 문서수집모듈(110)을 통해 의견으로 이루어진 데이터 집합과 사실 정보로만 이루어진 데이터 집합을 수집한다. 이후에, 언어처리모듈(120)을 통해 언어처리 예컨대, 형태소 분석(Morpheme Analyze)이나 띄어쓰기(Segmentation) 등을 수행하여 적절한 언어적인 자질(Feature)을 추출한다.
여기서, 상기 띄어쓰기(Segmentation)라 함은 입력 문장을 의미를 가지는 단위로 나누는 과정이다. 예를 들면, 입력 문장이 "나는 영화를 재밌게 봤다"라고 한다면, 결과 문장은 "나 는 영화 를 재밌 게 보 았 다"로 변환된다.
그리고, 상기 형태소 분석(Morpheme Analyze)이라 함은 상기 각 나뉘어진 단위에 대하여 어떤 품사(Part Of Speech) 정보를 지니고 있는지 찾아주는 작업이다. 예를 들면, 입력 문장이 "나는 영화를 재밌게 봤다"라고 한다면, 결과 문장은 "나(CTP1 1인칭 대명사) + 는(fjb 보조사) 영화(CMCN 비서술 보통명사) + 를(fjco 목적격조사) 재밌(YBDO 일반동사) + 게(fmoca 보조 연결어미) 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미)"로 변환된다.
한편, 상기 언어처리는 예컨대, 형태소 분석(Morpheme Analyze) 또는 띄어쓰기(Segmentation) 처리로 수행됨이 바람직하지만, 이외에도 자질(또는 색인어) 추출을 위한 조사 처리, 한국어 굴절 처리, 또는 원형 복귀 처리 등을 수행할 수도 있다.
그리고, 의견학습모듈(130)은 언어처리모듈(120)로부터 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘(예컨대, Naive Baysian, SVM, K-NN 등)을 수행하여 특정의 의견추출모델을 생성하는 기능을 수행한다.
이러한 의견학습모듈(130)은 상술한 통상의 기계학습 알고리즘을 이용하여 용이하게 구현될 수 있다. 즉, 언어처리모듈(120)로부터 추출된 언어적인 자질(Feature)을 이용하여 통상의 기계학습 알고리즘인 예컨대, Naive Baysian, SVM, K-NN 이나 기타 모델을 선택하여 학습을 수행한다. 이렇게 학습이 끝나고, 임의의 문장이나 문서가 입력이 되면, 해당 데이터가 의견 데이터인지 사실 데이터인지 구분할 수 있는 의견추출모델을 생성한다.
한편, 언어처리모듈(120)로부터 추출된 문장들은 의견이 있는 문장들도 있고, 의견이 존재하지 않은 일반 문장도 있다. 이러한 문장들은 의견학습모듈(130)을 통해 생성된 특정의 의견추출모델을 이용하여 의견이 존재하는 문장과 의견이 존재하지 않은 문장으로 구분할 수 있게 된다.
그리고, 의견추출모듈(140)은 의견학습모듈(130)로부터 생성된 의견추출모델을 이용하여 입력되는 웹 문서(20a 내지 20n) 데이터에 대해 확률적으로 의견 문장을 추출하는 기능을 수행한다. 이러한 의견추출모듈(140)은 후술하는 도메인 분류모듈(150)을 통해 분류된 각 도메인별 웹 문서 데이터들에 대해 각각 하나씩 구비되어 구현될 수도 있다. 이때, 웹 문서(20a 내지 20n)는 인터넷 상에 존재하는 모든 웹 문서 데이터를 의미한다.
추가적으로, 도 2 및 도 3에 도시된 바와 같이, 의견추출모듈(140)로부터 입력되는 웹 문서(20a 내지 20n) 데이터를 기 설정된 도메인별로 분류하여 각 의견추출모듈(140a 내지 140n)로 전달하기 위한 도메인 분류모듈(150)이 더 포함될 수 있다.
이러한 도메인 분류모듈(150)은, 기 설정된 도메인별로 해당 도메인과 관련된 웹 문서(25a 내지 25n) 데이터를 수집하는 적어도 하나의 문서수집부(151a 내지 151n)와, 각 문서수집부(151a 내지 151n)로부터 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 적어도 하나의 언어처리부(152a 내지 152n)와, 각 언어처리부(152a 내지 152n)로부터 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 도메인 분류학습부(153)와, 도메인 분류학습부(153)로부터 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서(20a 내지 20b) 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 도메인 분류부(154)를 포함함이 바람직하다. 이때, 웹 문서(25a 내지 25n)는 후술하는 특정의 도메인 분류모델을 생성하기 위하여 임의로 선별된 각 도메인별 웹 문서 데이터를 의미한다.
이를 구체적으로 설명하면, 먼저, 각 문서수집부(151a 내지 151n)를 통해 분류하기로 결정한 각 도메인별(예컨대, 영화, 책, 전자제품, 화장품, 의류, 인물, 기타 등등)로 해당 도메인과 관련된 데이터를 수집하여 도메인별로 데이터를 확보한다.
이때, 수집하는 각 도메인별 데이터는 해당 도메인에 대한 의견(Review) 데이터와 사실 데이터의 조합으로 이루어져 있다. 각 도메인별로 수집한 데이터의 의견 데이터와 사실 데이터의 비율은 모두 같거나 비슷한 비율을 유지하도록 하여, 데이터가 순수하게 도메인에 따라서 분류되도록 한다.
다음으로, 이렇게 수집한 도메인들에서는 각 도메인에서 적절한 자질(Feature)을 추출하기 위해서 각 언어처리부(152a 내지 152n)를 통해 언어처리를 수행하게 된다. 이때, 상기 언어처리는 예컨대, 형태소 분석(Morpheme Analyze)이나 띄어쓰기(Segmentation) 등을 통해서 의미적으로 분리 가능한 언어 단위로 나누게 된다.
한편, 후술하는 기계학습 알고리즘 모델에 입력되는 각 도메인의 자질(Feature)은 다음과 같다.
예를 들어, 도서관련 도메인에서 입력(Input) 데이터가 "저자는 도서 A에서 흥미진진하게 글을 구성하였다."일 경우, 상기 띄어쓰기(Segmentation)를 수행하면, "저자 는 도서 A 에서 흥미진진 하 게 글 을 구성하 였다."로 변환되고, 상기 형태소 분석을 수행하면, "저자(CTP3 3인칭 대명사) + 는(fjb 보조사) 도서(CMCN 비서술 보통명사) A(F 외국문자) 에(UM 체언 추정) + 에서(fjcao 일반 부사격조사) 흥미진진(CMCPA 동작성 서술 보통명사) + 하(fph 형용사파생접사) + 게(fmoca 보조 연결어미) 글(CMCN 비서술 보통명사) + 을(fjco 목적격조사) 구성하(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호)"로 변환된다.
이때, 상기 띄어쓰기(Segmentation)를 수행한 데이터만 사용하는 경우, 해당 도메인의 자질은 다음과 같다.
① 유니그램(Unigram) : 저자, 는, 도서, A, 에서, 흥미진진, 하, 게, 글, 을, 구성하, 였다,.
=> a b c d e -> a, b, c, d, e
② 바이그램(Bigram) : 저자 는, 는 도서, 도서 A, A 에서, 에서 흥미진진, 흥미진진 하, 하 게, 게 글, 글 을, 을 구성하, 구성하 였다, 였다 .
=> a b c d e -> a b, b c, c d, d e
③ 트라이그램(Trigram) : 저자 는 도서, 는 도서 A, 도서 A 에서, A 에서 흥미진진, 에서 흥미진진 하, 흥미진진 하 게, 하 게 글, 게 글 을, 글 을 구성하, 을 구성하 였다,.
=> a b c d e -> a b c, b c d, c d e
한편, 상기 형태소 분석을 수행한 데이터를 사용하는 경우, 해당 도메인의 자질은 다음과 같다. 즉, 형태소 분석 결과 특별한 의미를 가지지 않는 조사나 접사, 선 어말 어미, 종결 어미 등을 제거한 후, 상기의 띄어쓰기와 같이 유니그램(Unigram), 바이그램(Bigram), 트라이그램(Trigram) 형태의 자질을 사용할 수 있다.
① 유니그램(Unigram) : 저자, 도서, A, 흥미진진, 글, 구성하
② 바이그램(Bigram) : 저자 도서, 도서 A, A 흥미진진, 흥미진진 글, 글 구성하
③ 트라이그램(Trigram) : 저자 도서 A,도서 A 흥미진진, A 흥미진진 글, 흥미진진 글 구성하
전술한 바와 같이, 유니그램(Unigram), 바이그램(Bigram), 트라이그램(Trigram) 형태의 자질을 모두 사용하거나, 일부분만 선택적으로 사용할 수 있으며, 이는 평가 데이터를 이용한 평가를 통해 가장 높은 성능을 보이는 경우의 조합을 선택하게 된다.
이후에, 각 도메인별 자질(Feature)들은 도메인 분류학습부(153)를 통해 예컨대, Naive Baysian, SVM 또는 K-NN, 기타 일반적인 기계학습 알고리즘(Machine Learning Classifier Algorithm)을 이용하여 확률적으로 학습을 하게 된다.
예를 들면, 선형 분류기(Linear Classifier)는 하기의 수학식 4와 같이 표현될 수 있다.
수학식 4
Figure PCTKR2009005408-appb-M000004
여기서,
Figure PCTKR2009005408-appb-I000001
는 입력 데이터 벡터로서 본 발명의 일 실시예에서는 선택한 유니그램(Unigram), 바이그램(Bigram), 트라이그램(Trigram) 입력 데이터들이 이에 해당된다.
Figure PCTKR2009005408-appb-I000002
는 해당 각 자질(Feature)의 개수(Frequency)나, 존재 유무 등의 정보를 이용하여 벡터를 만들게 된다.
상기 벡터의 크기는 전체 자질(Feature) 수이며, 해당 문서에서 등장하지 않은 자질(Feature)은 "0" 값들 가지며, 해당 문서에서 등장한 자질(Feature)들은 그것의 개수(Frequency)나 "1" 값을 가지게 된다.
그래서,
Figure PCTKR2009005408-appb-I000003
는 예컨대, [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,….]과 같이 자질 벡터(Feature Vector)로 표현된다.
그리고,
Figure PCTKR2009005408-appb-I000004
는 가중치 벡터(Weight Vector)로서 각 클래스(Class)별로 각 자질(Feature)에 가중치(Weight)를 부여하는 벡터(Vector)로서 매트릭스(Matrix) 크기는 자질(Feature)의 종류 수 × 클래스(class) 개수이다.
이와 같이 학습을 하게 되면
Figure PCTKR2009005408-appb-I000005
의 값을 예측할 수 있게 된다.
Figure PCTKR2009005408-appb-I000006
의 값을 알게 되면, 임의의
Figure PCTKR2009005408-appb-I000007
가 입력되었을 때에
Figure PCTKR2009005408-appb-I000008
와 매트릭스 연산을 수행하여 어느 클래스(Class)에서 가장 높은 값을 가지는지 알 수 있게 된다.
또한, 기계학습 알고리즘에는 상기와 같은 방식으로 데이터를 사용할 수 있게 된다. 구체적으로 Naive Baysian을 예로 들어서 설명하면, 하기의 수학식 5와 같이 표현될 수 있다.
수학식 5
Figure PCTKR2009005408-appb-M000005
여기서, 상기 C는 클래스(Class)를 의미하며 예컨대, 영화, 도서, 상품 등과 같은 도메인이 이에 해당된다. 상기 Fi는 각각의 자질(Feature)을 의미하며 예컨대, 유니그램(Unigram)(저자), 바이그램(Bigram)(저자 도서), 트라이그램(Trigram)(저자 도서 A) 등이 이에 해당된다.
그리고, 상기 P(C)는 클래스 C가 나올 확률이다. 예컨대, 영화 데이터가 5개, 도서 데이터가 12개, 상품 데이터가 8개라고 한다면, P(영화)는 "5/(5+12+8)" 확률이 된다.
그리고, 상기 P(F1,...,Fn)는 각각의 Fi가 동시에 나올 확률인데, 모든 클래스에 대해서 동일하게 적용되기 때문에 생략도 가능하다(모든 클래스에 동일하게 분모로 적용됨). 그리고, 상기 P(F1,...,Fn|C)는 클래스 C가 주어졌을 때, F1,...,Fn 가 생성될 확률이다.
상기의 수학식 5에서 실제 클래스 확률을 결정하는 분자들의 계산은 각각의 자질(Feature)들이 서로 조건적으로 독립적(Conditionally Independent)이라고 가정하고 구체적으로 하기의 수학식 6과 같이 계산한다.
수학식 6
Figure PCTKR2009005408-appb-M000006
여기서, 상기 p(Fi|C)는 임의의 C가 주어졌을 때, 상기 Fi의 확률로서,
Figure PCTKR2009005408-appb-I000009
와 같이 계산할 수 있으며, 상기 Freq(Fj|C)는 임의의 클래스 C 안에서의 자질(Feature) Fj의 개수(Frequency)를 나타낸다. 전체 자질(Feature)의 개수는 N개이다.
상기와 같이, Naive Baysian 이외에도 기타 기계학습 알고리즘에 상기 자질(Feature)들을 입력으로 받아서 임의의 입력 데이터들에 대하여 클래스 C를 결정해주는 모델을 생성 가능하게 된다.
마지막으로, 전술한 바와 같이 학습을 마치면, 하나의 도메인 분류모델이 생성되며, 도메인 분류부(154)를 통해 상기와 같이 생성된 도메인 분류모델을 이용하여 임의의 문장이나 문서가 입력으로 들어오게 되면, 해당 데이터가 어떤 도메인에 포함되는지 확률적으로 결정하게 된다.
한편, 실제로 도메인 분류모델을 사용할 때, 임의의 문장이나 문서가 입력되면, 상기의 예에서 자질(Feature)을 선택하였듯이, 해당 입력 데이터에 대해서 자질을 같은 방식으로 선택한다.
그런 다음, 해당 입력 데이터의 자질들을 도메인 분류모델에 입력하게 되면, 도메인 분류모델은 해당 자질들에 대해서 가장 높은 생성 확률을 보이는 클래스 C를 출력하게 된다.
전술한 바와 같이, 본 발명의 일 실시예에서 도메인 분류모듈(150)을 사용할 경우, 의견 추출 시 자동화된 방식으로 사전을 구축할 수 있으며, 본 발명의 일 실시예에 따른 의견 분석 장치(200)에서 의견 표현을 구분하기 위한 학습 모델도 자동적으로 생성할 수 있다.
이에 따라, 각 도메인별로 데이터를 분류하여 학습 모델을 구축하게 되면, 도메인에 최적화된 성능을 내는 의견 추출을 위한 모델을 자동적으로 생성할 수 있는 효과가 있다.
이하에는 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 방법에 대하여 상세하게 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 방법을 설명하기 위한 전체적인 흐름도이다.
도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 방법은, 먼저, 문서수집모듈(110)을 통해 의견 문장을 포함한 특정의 웹 문서 데이터를 수집한 후(S100), 언어처리모듈(120)을 통해 상기 단계S100에서 수집된 특정의 웹 문서 데이터 및/또는 일반적인 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행하여 언어적인 자질(Feature)들을 추출한다(S110).
다음으로, 의견학습모듈(130)을 통해 상기 단계S110에서 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성한 후(S120), 의견추출모듈(140)을 통해 상기 단계S120에서 생성된 의견추출모델을 이용하여 입력되는 웹 문서(20a 내지 20n) 데이터에 대해 확률적으로 의견 문장을 추출한다(S130).
추가적으로, 상기 단계S130에서 입력되는 웹 문서(20a 내지 20n) 데이터에 대해 도메인 분류모듈(150)을 통해 기 설정된 도메인별로 확률적인 분류를 수행하는 단계를 더 포함할 수 있다.
이때, 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 단계는, 상기 기 설정된 도메인별로 해당 도메인과 관련된 웹 문서 데이터를 수집하는 제1 과정과, 상기 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 제2 과정과, 상기 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 제3 과정과, 상기 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 제4 과정을 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 장치를 설명하기 위한 전체적인 블록 구성도이고, 도 6은 본 발명의 일 실시예에 적용된 도메인 분류모듈을 포함한 웹 문서에서의 의견 분석 장치를 설명하기 위한 개략적인 블록 구성도이다.
도 5 및 도 6을 참조하면, 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 장치(200)는, 크게 언어처리모듈(210), 의견표현 연산모듈(220), 의견표현 표시모듈(230), 의견표현 학습모듈(240) 및 의견표현 구분모듈(250) 등을 포함하여 이루어진다.
여기서, 언어처리모듈(210)은 특정의 웹 문서(30a 내지 30n) 데이터에 존재하는 평가 결과를 갖는 의견 문장에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행하여 의미적인 언어 단위들로 분리하는 기능을 수행한다. 이때, 웹 문서(30a 내지 30n)는 후술하는 특정의 의견표현모델을 생성하기 위하여 임의로 선별된 특정의 웹 문서 데이터를 의미한다.
이를 구체적으로 설명하면, 인터넷 상에는 영화 리뷰(Review), 상품평, 책 서평 등 각종 리뷰가 존재한다. 이러한 리뷰(Review)들은 보통 평가 문장들과 함께 평가 결과도 함께 게시되어 있다.
예를 들어, "이 영화는 최고의 걸작이다."하고 10점을 주거나, "이거는 완전히 쓰레기 영화다."하고 1점을 주는 방식이다. 이러한 의견 데이터를 기반으로 하여 본 발명에서는 후술하는 의견표현 연산모듈(220)을 통해 각 의미 단위들이 가지는 긍정 점수와 부정 점수를 확률적으로 계산하여 자동적으로 별도의 의견어휘 저장모듈(260)에 저장하게 된다.
만약, 입력 문장이 「"이 영화는 정말 재밌었다" - 10점, "이번에 본거는 꽤 재밌었다" - 9점, "내 생애 최고로 재밌었던 영화" - 9점」이라고 한다면,
상기 언어처리를 수행할 경우, 「"이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 정말(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미)" - 10점, "이번(CMCN 비서술 보통명사) + 에(fjcao 일반 부사격조사) 본거(CMCN 비서술 보통명사) + 는(fjb 보조사) 꽤(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미)" - 9점, "나(CTP1 1인칭 대명사) + 에(fjcao 일반 부사격조사) 생애(CMCN 비서술 보통명사) 최고(CMCN 비서술 보통명사) + 로(fjcao 일반 부사격조사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 던(fmotgp 과거시제 관형형 전성어미) 영화(CMCN 비서술 보통명사)" - 9점」과 같이 언어 단위별로 분리된다.
의견표현 연산모듈(220)은 언어처리모듈(210)로부터 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화(Normalization)하여 계산하는 기능을 수행한다.
이를 구체적으로 예를 들어 설명하면, 입력 데이터는 아래와 같이, 긍정 정도를 나타내는 점수와 해당 점수에 속하는 문장/문서들로 이루어져 있다. 이 의견 데이터들은 상술한 바와 같이 일반 웹에서 사용자가 긍정/부정 점수와 의견을 같이 올리는 리뷰 사이트들을 통해서 수집하게 된다.
「① 1점 - ["A를 봤는데 지루했다", "B는 최악이다",…],
② 2점 - ["C를 봤는데 실망이었다", "D는 졸작이다",…],
③ 9점 - ["E를 봤는데 흥미진진 했다", "F는 수작이다",…],
④ 10점 - ["G는 최고의 영화이다", "H는 세계 최고의 영화이다",…].」
이러한 데이터들은 전술한 바와 같이, 띄어쓰기(Segmentation)와 언어별로 형태소 분석(Morpheme Analyze)을 수행하게 된다(다른 언어에서도 동일하게 적용 가능하다). 그러면, 아래와 같이 의견 데이터가 변환된다.
「① A(F 외국문자) + 를(fjco 목적격조사) + 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 는데(fmocs 종속 연결어미) + 지루(CMCPA 동작성 서술 보통명사) + 하(fph 형용사파생접사) + 였(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미), B(F 외국문자) + 는(fjb 보조사) + 최악(CMCPS 상태성 서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미),
② C(F 외국문자) + 를(fjco 목적격조사) + 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 는데(fmocs 종속 연결어미) + 실망(CMCPA 동작성 서술 보통명사) + 이(fpd 동사파생접사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미), D(F 외국문자) + 는(fjb 보조사) + 졸작(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미),
③ E(F 외국문자) + 를(fjco 목적격조사) + 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 는데(fmocs 종속 연결어미) + 흥미진진(CMCN 비서술 보통명사) + 하(YBDO 일반동사) + 였(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미), F(F 외국문자) + 는(fjb 보조사) + 수작(CMCPA 동작성 서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미),
④ G(F 외국문자) + 는(fjb 보조사) + 최고(CMCN 비서술 보통명사) + 의(fjcg 관형격조사) + 영화(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미), H(F 외국문자) + 는(fjb 보조사) + 세계(CMCN 비서술 보통명사) + 최고(CMCN 비서술 보통명사) + 의(fjcg 관형격조사) + 영화(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미)」
다음으로, 의견표현 연산모듈(220)을 통해 이렇게 언어처리가 수행된 의견 데이터를 이용하여, 각 언어 단위가 가지는 긍정/부정 수치를 얻어내는 것이다.
예를 들어, "최고(CMCN 비서술 보통명사)"가 얼마 정도의 긍정/부정을 나타내는지 "최고(CMCN 비서술 보통명사)"라는 단어가 각 점수대별(1∼10)에 어떻게 분포하는지를 확률적으로 하기의 수학식 7과 같은 수식을 거쳐서 계산하게 된다.
아래에서 나타내는 wj는 "최고(CMCN 비서술 보통명사)"이며, 이와 같이 단어와 태그정보(POS - Part Of Speech)의 조합을 나타내거나, "최고" 태그정보를 제외한 하나의 단어를 나타낼 수 있다.
즉, 모든 1∼10점의 점수대에 모두 같은 개수의 데이터가 존재한다면 하기의 수학식 7과 같이 구할 수 있게 된다.
수학식 7
Figure PCTKR2009005408-appb-M000007
여기서, 상기 S는 모든 점수 집합을 의미한다. 예를 들어, 영화 평가문이 1∼10점이 있다면, 1∼10점으로 점수가 매겨진 문장 집합을 의미한다. 상기 Score(si)는 해당 점수 집합의 실제 점수를 의미한다. 즉, 10점 점수 집합의 Score(si)는 10이 된다.
그리고, 상기 Score(wi)는 wi의 긍정/부정 점수를 나타낸다. 상기 Freq(wj,si)는 단어 wj가 점수 집합 si에서 나타나는 횟수를 나타낸다.
Figure PCTKR2009005408-appb-I000010
는 결국 모든 점수 집합에서 단어 wj가 나타난 횟수를 더한 값으로서, 결국 전체 데이터에서 wj가 나타난 횟수를 의미한다.
상기의 수학식 7과 같은 간단한 평균으로 구할 수 있으며, 예를 들어, "재밌"이란 10점 문장 2개, 9점 문장 2개만이 존재한다고 가정하면, 하기의 수학식 8과 같이 구할 수 있다.
수학식 8
Figure PCTKR2009005408-appb-M000008
여기서, 의미 단위는 "재밌"을 형태소인 "YBDO"와 함께 묶어서 하나의 의미 단위로 구성할 수도 있으며, "재밌"이라는 단어 하나만을 가지고 의미 단위로 구성할 수도 있다.
한편, 현실 상황에서는 모든 점수대에서 같은 개수의 문장이 존재하는 경우는 드물다. 이런 환경에서 상기와 같은 단순히 평균을 적용하게 된다면, 10점대의 데이터가 10만개, 1점대의 데이터가 1만개가 있는 환경에서 "영화"와 같이 모든 점수대에서 자주 등장하는 단어는 단순히 평균이 되어 버리기 때문에, 10점대의 데이터가 많다는 이유 하나만으로 10점에 가까운 상당히 긍정적인 단어로 판단되는 문제점이 존재한다.
예를 들어, "영화"라는 키워드가 10만개 10점대 문장에서 5만번 등장하고, 1만개 1점대 문장에서 5000번 등장했다고 가정하면, 하기의 수학식 9와 같이 계산되어 진다.
수학식 9
Figure PCTKR2009005408-appb-M000009
상기와 같이 "영화"라는 키워드는 10점대와, 1점대에서 등장하는 비율이 똑같아서, 상식적으로 보면 5점대에 가까워야 맞지만, 각 점수대의 데이터 개수가 다르면 상기와 같은 문제가 발생한다. 그래서, 각 점수대의 데이터의 개수를 고려하여 하기의 수학식 10이 필요하다.
수학식 10
Figure PCTKR2009005408-appb-M000010
여기서, 상기 P(wj|si)는 wj가 si 점수 집합에서 나타날 확률 값이다. 그래서, 상기 wj의 si에서의 빈도수를 si 안의 전체 단어 수
Figure PCTKR2009005408-appb-I000011
로 나눈 것이다.
상기의 수학식 10으로 위에서 예제로 든 문제상황 "영화"라는 키워드가 10만개 10점 문서에서 50000번 나타나고, 1만개 1점 문서에서 5000번 나타나는 상황을 다시 계산해 보면 하기의 수학식 11과 같이 나타낼 수 있다.
수학식 11
Figure PCTKR2009005408-appb-M000011
전술한 바와 같이, 단어가 각 점수대에서 나타나는 확률값을 이용하여 정규화(Normalization)를 수행하여 점수대의 크기에 따라 점수가 치우치는(Biased) 문제를 해결하게 된다.
다음으로, 상기와 같이 각 의미 단위들의 긍정적/부정적인 점수를 계산하여 별도의 의견어휘 저장모듈(260)에 저장하게 된다.
그리고, 의견표현 표시모듈(230)은 의견표현 연산모듈(220)로부터 계산되거나 의견어휘 저장모듈(260)에 저장된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여, 각 언어 단위별 확률값이 상기 기 설정된 의견표현 기준값보다 클 경우 긍정 의견표현으로 표시하고, 각 언어 단위별 확률값이 상기 기 설정된 의견표현 기준값보다 작을 경우 부정 의견표현으로 표시(Marking)하는 기능을 수행한다.
이를 구체적으로 예를 들어 설명하면, 입력 문장이 「① 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 정말(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) - 10점,
② 이번(CMCN 비서술 보통명사) + 에(fjcao 일반 부사격조사) 본거(CMCN 비서술 보통명사) + 는(fjb 보조사) 꽤(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) - 9점,
③ 나(CTP1 1인칭 대명사) + 에(fjcao 일반 부사격조사) 생애(CMCN 비서술 보통명사) 최고(CMCN 비서술 보통명사) + 로(fjcao 일반 부사격조사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 던(fmotgp 과거시제 관형형 전성어미) 영화(CMCN 비서술 보통명사) - 9 점,
④ 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 재밌(YBDO 일반동사) + 지(fmoca 보조 연결어미) 않(YA 보조용언) + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호) - 1점」이라고 한다면,
상기 긍정/부정 의견표현으로 표시된 문장은 다음과 같다.
「① 이(SGR 지시 관형사)/NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 정말(SBO 일반 부사) /NEUTRAL 재밌(YBDO 일반동사)/POSITIVE + 었(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL - 10점,
② 이번(CMCN 비서술 보통명사) /NEUTRAL + 에(fjcao 일반 부사격조사) /NEUTRAL 본거(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 꽤(SBO 일반 부사) /NEUTRAL 재밌(YBDO 일반동사) /POSITIVE + 었(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL - 9점,
③ 나(CTP1 1인칭 대명사) /NEUTRAL + 에(fjcao 일반 부사격조사) /NEUTRAL 생애(CMCN 비서술 보통명사) /NEUTRAL 최고(CMCN 비서술 보통명사) /POSITIVE + 로(fjcao 일반 부사격조사) /NEUTRAL 재밌(YBDO 일반동사) /POSITIVE + 었(fmbtp 과거시제 선어말어미) /NEUTRAL + 던(fmotgp 과거시제 관형형 전성어미) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL - 9 점,
④ 이(SGR 지시 관형사) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 재밌(YBDO 일반동사)/POSITIVE + 지(fmoca 보조 연결어미) /NEUTRAL 않(YA 보조용언) /NEGATIVE + 았(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL + .(g 기호) /NEUTRAL」
또한, 의견어휘 저장모듈(260)에 저장되어 있는 어휘들 중에서 1∼10점 사이의 점수 중 특정 점수 이상의 어휘는 긍정, 특정 점수 이하의 어휘는 부정 어휘들로 간주한다.
그리고, 상기의 예제에서는 "재밌(YBDO 일반동사)"이 긍정 어휘, "않(YA 보조용언)"이 부정 어휘로 간주된 경우에 있어서 표시된 모습이다.
여기서, ④번 같은 경우 긍정/부정 어휘가 혼재되어 있으며, 전체적으로 긍정으로 표시해야 할지, 부정으로 표시해야 할지 판단하기 어려운 경우이다. 이러한 경우가 다음 단계에서 많기 때문에, 의견표현모델을 이용하여 의견표현 구분모듈(250)을 구현하게 된다. 즉, 의견표현 구분모듈(250)은 상기와 같이 문장이 입력되면 구체적으로 의견인 부분을 찾아서 표시(Marking)해주는 역할을 수행한다.
한편, 의견어휘로 표시를 하는 부분에서는 해당 어휘가 긍정인지 부정인지에 따라서 상기와 같이 바로 표시하는 방법도 존재하며, 동시에 해당 문장이 긍정적인 문장인지 부정적인 문장인지 정보를 이용하여 긍정/부정 어휘를 표시하는 방법도 가능하다.
예를 들어, ④번 문장이 1점 문장 집합에 속한다고 하면, ④번 문장은 부정 문장임이 확실하고, 이런 부정 문장이라는 정보를 이용하여 ④번 문장 내에서의 긍정/부정 어휘를 모두 부정 어휘로 표시하게 된다. 즉, ④번 문장은 다음과 같이 표시하게 된다.
④ 이(SGR 지시 관형사) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 재밌(YBDO 일반동사)/NEGATIVE + 지(fmoca 보조 연결어미) /NEUTRAL 않(YA 보조용언) /NEGATIVE + 았(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL + .(g 기호) /NEUTRAL
그리고, 의견표현 학습모듈(240)은 의견표현 표시모듈(230)로부터 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 기능을 수행한다.
의견표현 구분모듈(250)은 의견표현 학습모듈(240)로부터 생성된 의견표현모델을 이용하여 입력되는 웹 문서(40a 내지 40n) 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 기능을 수행한다. 이때, 웹 문서(40a 내지 40n)는 인터넷 상에 존재하는 모든 웹 문서 데이터를 의미한다.
이를 구체적으로 예를 들어 설명하면, 의견표현 표시모듈(230)로부터 긍정/부정 의견표현이 표시된 문장들을 이용하여 의견표현 구분모듈(250)을 구현하기 위하여 학습하게 된다. 이때, 학습하는 데에 이용되는 모델은 예컨대, Hidden Markov Model(HMM), Maximum Entropy Model(ME), Conditional Random Field, Struct Support Vector Machine 이나 기타 기계학습(Machine Learning) 알고리즘들이다.
이러한 기계학습 알고리즘 모델들에서 공통적으로 입력되는 데이터는 (x1, y1),...,(xn, yn)로서, 상기 x는 의미 단위로서 "재밌(YBDO 일반동사)"이나 "재밌", "YBDO 일반동사" 등이 가능하며, 상기 y는 해당 의미 단위가 가질 수 있는 레벨(Label)로서, 상기에서 예로 든 "Positive", "Negative" 및 "Neutral" 등이 가능하며, "Strength"와 같이 긍정/부정을 판단하는데 도움을 주는 다른 레벨(Label)도 추가할 수 있다.
즉, 본 발명에서 원하는 의견표현모델은 결국 입력 데이터 시퀀스(Sequence) x들에 대하여 붙게 되는 레벨(Label) y를 예측하는 모델이다. 상기의 데이터 (x1, y1),...,(xn, yn)가 입력으로 주어지게 되면, 상기에 언급한 기계학습 알고리즘 모델들은 특정 위치의 xi에 대하여 xi의 앞뒤 (xi-1, yi-1), (xi+1, yi+1), 그 앞뒤의 앞뒤인 (xi-2, yi-2), (xi+2, yi+2), 이처럼 계속적으로 확장한 주변 데이터, 그 외에 해당 위치에 존재하는 다른 자질(Feature-Part Of Speech, Capital Letter, Emoticon etc.) 정보도 또한 같이 사용하여 특정한 조건하에서 xi의 yi가 어떤 레벨(Label)이 되는지 예측하게 된다.
전술한 바와 같이 기계학습 알고리즘 모델이 학습하게 되면, 특정의 의견표현모델이 생성된다. 그리고, 의견표현 구분모듈(250)은 상기 생성된 의견표현모델을 이용하여 임의의 데이터 시퀀스(Sequence) xi가 들어오게 되면, 해당 데이터 시퀀스(Sequence)에 대해서 어떤 레벨 시퀀스(Label Sequence) yi가 생성되는지 예측하게 된다.
만약, 임의의 문장이 입력되면, 아래와 같이 띄어쓰기(Segmentation) 또는 형태소 분석(Morpheme Analyze) 등과 같은 언어처리를 선택적으로 수행하게 되고, 이러한 데이터가 의견표현 구분모듈(250)에 입력되면 다음과 같이 표현할 수 있다.
예를 들면, 입력 문장이 "④ 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 재밌(YBDO 일반동사) + 지(fmoca 보조 연결어미) 않(YA 보조용언) + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호) - 1 점"이라고 한다면,
긍정/부정 의견표현이 구분된 문장은 "④ 이(SGR 지시 관형사) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 재밌(YBDO 일반동사)/NEGATIVE + 지(fmoca 보조 연결어미) /NEGATIVE 않(YA 보조용언) /NEGATIVE + 았(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL + .(g 기호) /NEUTRAL"으로 표현된다.
이때, 이 문장에서 연속으로 같은 극성(Polarity)의 의견어휘가 나오면 하나의 의견표현으로 간주하고, "POSITVE", "NEGATIVE" 표현 위주로 표시를 하게 되면 "NEUTRAL"은 제거한다.
즉, "④ 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) 는(fjb 보조사) <NEGATIVE>재밌(YBDO 일반동사) + 지(fmoca 보조 연결어미) 않(YA 보조용언)</NEGATIVE> + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호)"와 같이 표현된다.
여기서, <NEGATIVE> 은 표현의 시작이고, </NEGATIVE> 은 표현의 끝을 나타낸다.
한편, 전술한 바와 같이 구성된 의견표현 구분모듈(250)은 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 장치(100)의 의견추출모듈(140)로부터 추출된 의견 문장의 언어적인 자질(Feature)들에 대해 긍정/부정 의견표현으로 구분하는 것도 가능하다.
즉, 의견표현 구분모듈(250)은 의견추출모듈(140)로부터 추출된 의견 문장 중에서 긍정적/부정적 의견인 부분을 찾아서 그 부분을 표시해준다. 한편, 전술한 바와 같이 의견추출모듈(140)을 사용하지 않고 바로 의견표현 구분모듈(250)을 사용하여 입력된 의견 문장에서 긍정적/부정적 표현 부분을 표시해 줄 수도 있다.
이러한 의견표현 구분모듈(250)은 연어뿐만 아니라 일반적인 자립어, 어절 등 모든 단어들의 긍정/부정 정도를 수량화하여 하나의 자원으로 활용하고, 문장 내에서 긍정/부정 표현을 찾아내기 위한 기계학습 모델을 생성하는데 사용될 수 있다.
추가적으로, 의견표현 연산모듈(220)로부터 계산된 각 언어 단위별 확률값을 데이터베이스(DB)화하여 저장하기 위한 의견어휘 저장모듈(260)이 더 포함될 수 있다.
더욱이, 도 6에 도시된 바와 같이, 의견표현 구분모듈(250)로부터 입력되는 웹 문서(40a 내지 40n) 데이터를 기 설정된 도메인별로 분류하여 각 의견표현 구분모듈(250a 내지 250n)로 전달하기 위한 도메인 분류모듈(150)이 더 포함될 수 있다.
한편, 도메인 분류모듈(150)을 이용하여 의견표현모델을 생성할 경우, 도메인 분류모듈(150)로 입력되는 긍정/부정 부분이 표시된 의견 데이터를 분류한 후에 각 도메인별로 대응되도록 적어도 하나의 의견표현 구분모듈(250)을 구현하는 방식도 가능하다.
또한, 도메인 분류모듈(150)은 의견표현 연산모듈(220)의 전단에 구비될 경우, 의견표현 연산모듈(220)은 도메인 분류모듈(150)을 통해 분류된 각 도메인별 웹 문서 데이터들에 대해 각각 하나씩 구비되어 구현됨이 바람직하다.
이하에는 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 방법에 대하여 상세하게 설명하기로 한다.
도 7은 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 방법을 설명하기 위한 전체적인 흐름도이다.
도 5 내지 도 7을 참조하면, 본 발명의 일 실시예에 따른 웹 문서에서의 의견 분석 방법은, 먼저, 언어처리모듈(210)을 통해 특정의 웹 문서(30a 내지 30n) 데이터에 존재하는 평가 결과를 갖는 의견 문장에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행하여 의미적인 언어 단위들로 분리한 후(S200), 의견표현 연산모듈을 통해 상기 단계S200에서 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산한다(S210).
다음으로, 의견표현 표시모듈(230)을 통해 상기 단계S210에서 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시한 후(S220), 의견표현 학습모듈(240)을 통해 상기 단계S220에서 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성한다(S230).
마지막으로, 의견표현 구분모듈(250)을 통해 상기 단계S230에서 생성된 의견표현모델을 이용하여 입력되는 웹 문서(40a 내지 40d) 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행한 후, 긍정/부정 의견표현을 표시 및 구분한다(S240).
추가적으로, 상기 단계S210에서 계산된 각 언어 단위별 확률값을 데이터베이스(DB)화하여 별도의 의견어휘 저장모듈(260)에 저장하는 단계를 더 포함할 수 있다.
한편, 본 발명의 일 실시예에 따른 웹 문서에서의 의견 추출 및 분석 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
예를 들면, 본 발명의 일 실시예에서는 한국어를 기반으로 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법을 구현하였지만, 이에 국한하지 않으며, 예컨대, 영어, 일본어, 중국어 등 다양한 언어를 적용하여 구현할 수도 있다.

Claims (24)

  1. 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 문서수집모듈;
    상기 문서수집모듈로부터 수집된 특정의 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 언어처리모듈;
    상기 언어처리모듈로부터 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 의견학습모듈; 및
    상기 의견학습모듈로부터 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 적어도 하나의 의견추출모듈을 포함하는 웹 문서에서의 의견 추출 장치.
  2. 제1 항에 있어서,
    상기 의견추출모듈로부터 입력되는 웹 문서 데이터를 기 설정된 도메인별로 분류하여 각 의견추출모듈로 전달하기 위한 도메인 분류모듈이 더 포함되는 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  3. 제2 항에 있어서,
    상기 도메인 분류모듈은,
    기 설정된 도메인별로 해당 도메인과 관련된 웹 문서 데이터를 수집하는 적어도 하나의 문서수집부;
    상기 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 적어도 하나의 언어처리부;
    상기 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 도메인 분류학습부; 및
    상기 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 도메인 분류부를 포함하는 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  4. 제3 항에 있어서,
    각 문서수집부에서 수집하는 각 도메인별 웹 문서 데이터는 해당 도메인에 대한 의견 데이터와 사실 데이터의 조합으로 이루어진 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  5. 제4 항에 있어서,
    상기 의견 데이터와 사실 데이터의 비율은 동일하게 유지되도록 하는 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  6. 제1 항 또는 제3 항에 있어서,
    상기 언어처리는 형태소 분석 또는 띄어쓰기 처리로 이루어진 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  7. 제6 항에 있어서,
    상기 띄어쓰기를 수행한 데이터를 사용할 경우, 상기 언어처리부는 유니그램(Unigram), 바이그램(Bigram) 또는 트라이그램(Trigram) 중 적어도 어느 하나의 형태의 자질을 추출하며,
    상기 형태소 분석을 수행한 데이터를 사용할 경우, 상기 언어처리부는 형태소 분석 결과 특별한 의미를 가지지 않는 조사, 접사, 선 어말 어미 또는 종결 어미 중 적어도 어느 하나를 제거한 후, 유니그램(Unigram), 바이그램(Bigram) 또는 트라이그램(Trigram) 중 적어도 어느 하나의 형태의 자질을 추출하는 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  8. 제1 항에 있어서,
    상기 언어처리모듈은 상기 문서수집모듈로부터 수집된 특정의 웹 문서 데이터와 함께 미리 설정된 의견/사실 문장들을 포함하는 일반적인 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 것을 특징으로 하는 웹 문서에서의 의견 추출 장치.
  9. 특정의 웹 문서 데이터에 존재하는 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 언어처리모듈;
    상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 의견표현 연산모듈;
    상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 의견표현 표시모듈;
    상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 의견표현 학습모듈; 및
    상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 적어도 하나의 의견표현 구분모듈을 포함하는 웹 문서에서의 의견 분석 장치.
  10. 제9 항에 있어서,
    상기 의견표현 연산모듈로부터 계산된 각 언어 단위별 확률값을 데이터베이스(DB)화하여 저장하기 위한 의견어휘 저장모듈이 더 포함되는 것을 특징으로 하는 웹 문서에서의 의견 분석 장치.
  11. 평가 결과를 갖는 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 문서수집모듈;
    상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 제1 언어처리모듈;
    상기 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 의견학습모듈;
    상기 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 적어도 하나의 의견추출모듈;
    상기 추출된 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 제2 언어처리모듈;
    상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 의견표현 연산모듈;
    상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 의견표현 표시모듈;
    상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 의견표현 학습모듈; 및
    상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 적어도 하나의 의견표현 구분모듈을 포함하는 웹 문서에서의 의견 추출 및 분석 장치.
  12. 제11 항에 있어서,
    상기 의견추출모듈로부터 입력되는 웹 문서 데이터를 기 설정된 도메인별로 분류하여 각 의견추출모듈로 전달하기 위한 도메인 분류모듈이 더 포함되는 것을 특징으로 하는 웹 문서에서의 의견 추출 및 분석 장치.
  13. 제12 항에 있어서,
    상기 도메인 분류모듈은,
    기 설정된 도메인별로 해당 도메인과 관련된 웹 문서 데이터를 수집하는 적어도 하나의 문서수집부;
    상기 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 적어도 하나의 언어처리부;
    상기 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 도메인 분류학습부; 및
    상기 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 도메인 분류부를 포함하는 것을 특징으로 하는 웹 문서에서의 의견 추출 및 분석 장치.
  14. 제13 항에 있어서,
    상기 각 문서수집부에서 수집하는 각 도메인별 웹 문서 데이터는 해당 도메인에 대한 의견 데이터와 사실 데이터의 조합으로 이루어진 것을 특징으로 하는 웹 문서에서의 의견 추출 및 분석 장치.
  15. 제14 항에 있어서,
    상기 의견 데이터와 사실 데이터의 비율은 동일하게 유지되도록 하는 것을 특징으로 하는 웹 문서에서의 의견 추출 및 분석 장치.
  16. 제11 항 또는 제13 항에 있어서,
    상기 언어처리는 형태소 분석 또는 띄어쓰기 처리로 이루어진 것을 특징으로 하는 웹 문서에서의 의견 추출 및 분석 장치.
  17. 제16 항에 있어서,
    상기 띄어쓰기를 수행한 데이터를 사용할 경우, 상기 언어처리부는 유니그램(Unigram), 바이그램(Bigram) 또는 트라이그램(Trigram) 중 적어도 어느 하나의 형태의 자질을 추출하며,
    상기 형태소 분석을 수행한 데이터를 사용할 경우, 상기 언어처리부는 형태소 분석 결과 특별한 의미를 가지지 않는 조사, 접사, 선 어말 어미 또는 종결 어미 중 적어도 어느 하나를 제거한 후, 유니그램(Unigram), 바이그램(Bigram) 또는 트라이그램(Trigram) 중 적어도 어느 하나의 형태의 자질을 추출하는 것을 특징으로 하는 웹 문서에서의 의견 추출 및 분석 장치.
  18. (a) 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 단계;
    (b) 상기 수집된 특정의 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 단계;
    (c) 상기 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 단계; 및
    (d) 상기 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 단계를 포함하는 웹 문서에서의 의견 추출 방법.
  19. 제18 항에 있어서,
    상기 단계(d)에서 입력되는 웹 문서 데이터에 대해 기 설정된 도메인별로 확률적인 분류를 수행하는 단계를 더 포함하는 것을 특징으로 하는 웹 문서에서의 의견 추출 방법.
  20. 제19 항에 있어서,
    상기 기 설정된 도메인별로 확률적인 분류를 수행하는 단계는,
    상기 기 설정된 도메인별로 해당 도메인과 관련된 웹 문서 데이터를 수집하는 제1 과정과,
    상기 수집된 각 도메인별 웹 문서 데이터에 대해 언어처리를 수행하여 의미적으로 분리 가능한 자질들을 추출하는 제2 과정과,
    상기 추출된 각 도메인별 자질들에 대해 기계학습 알고리즘을 이용하여 확률적으로 학습한 후 특정의 도메인 분류모델을 생성하는 제3 과정과,
    상기 생성된 도메인 분류모델을 이용하여 입력되는 웹 문서 데이터에 대해 상기 기 설정된 도메인별로 확률적인 분류를 수행하는 제4 과정을 포함하는 것을 특징으로 하는 웹 문서에서의 의견 추출 방법.
  21. 제18 항에 있어서,
    상기 언어처리는 형태소 분석 또는 띄어쓰기 처리를 수행하는 것을 특징으로 하는 웹 문서에서의 의견 추출 방법.
  22. (a') 특정의 웹 문서 데이터에 존재하는 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 단계;
    (b') 상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 단계;
    (c') 상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 단계;
    (d') 상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 단계; 및
    (e') 상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 단계를 포함하는 웹 문서에서의 의견 분석 방법.
  23. 제22 항에 있어서,
    상기 단계(b')에서 계산된 각 언어 단위별 확률값을 데이터베이스(DB)화하여 별도의 저장모듈에 저장하는 단계를 더 포함하는 것을 특징으로 하는 웹 문서에서의 의견 분석 방법.
  24. (a") 평가 결과를 갖는 의견 문장을 포함한 특정의 웹 문서 데이터를 수집하는 단계;
    (b") 상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 단계;
    (c") 상기 추출된 각 문장의 언어적인 자질들에 대해 기계학습 알고리즘을 수행하여 특정의 의견추출모델을 생성하는 단계;
    (d") 상기 생성된 의견추출모델을 이용하여 입력되는 웹 문서 데이터에 대해 확률적으로 의견 문장을 추출하는 단계;
    (e") 상기 추출된 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행하여 의미적인 언어 단위들로 분리하는 단계;
    (f") 상기 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률값을 정규화하여 계산하는 단계;
    (g") 상기 계산된 각 언어 단위별 확률값과 기 설정된 의견표현 기준값을 비교하여 그 결과에 따라 각 언어 단위별로 긍정/부정 의견표현으로 표시하는 단계;
    (h") 상기 각 언어 단위별 긍정/부정 의견표현으로 표시된 의견 문장에 대해 기계학습 알고리즘을 수행하여 특정의 의견표현모델을 생성하는 단계; 및
    (i") 상기 생성된 의견표현모델을 이용하여 입력되는 웹 문서 데이터의 평가 결과를 갖는 의견 문장에 대해 언어처리를 수행한 후, 긍정/부정 의견표현을 표시 및 구분하는 단계를 포함하는 웹 문서에서의 의견 추출 및 분석 방법.
PCT/KR2009/005408 2008-09-29 2009-09-23 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법 WO2010036013A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/121,644 US8731904B2 (en) 2008-09-29 2009-09-23 Apparatus and method for extracting and analyzing opinion in web document

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080095330A KR101005337B1 (ko) 2008-09-29 2008-09-29 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법
KR10-2008-0095330 2008-09-29

Publications (2)

Publication Number Publication Date
WO2010036013A2 true WO2010036013A2 (ko) 2010-04-01
WO2010036013A3 WO2010036013A3 (ko) 2010-07-22

Family

ID=42060262

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/005408 WO2010036013A2 (ko) 2008-09-29 2009-09-23 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법

Country Status (3)

Country Link
US (1) US8731904B2 (ko)
KR (1) KR101005337B1 (ko)
WO (1) WO2010036013A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111161890A (zh) * 2019-12-31 2020-05-15 嘉兴太美医疗科技有限公司 不良事件和合并用药的关联性判断方法及系统

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095905A (ja) * 2009-10-28 2011-05-12 Sony Corp 情報処理装置および方法、並びにプログラム
US9672555B1 (en) 2011-03-18 2017-06-06 Amazon Technologies, Inc. Extracting quotes from customer reviews
US8554701B1 (en) * 2011-03-18 2013-10-08 Amazon Technologies, Inc. Determining sentiment of sentences from customer reviews
US8352405B2 (en) * 2011-04-21 2013-01-08 Palo Alto Research Center Incorporated Incorporating lexicon knowledge into SVM learning to improve sentiment classification
US20150046371A1 (en) * 2011-04-29 2015-02-12 Cbs Interactive Inc. System and method for determining sentiment from text content
US9965470B1 (en) 2011-04-29 2018-05-08 Amazon Technologies, Inc. Extracting quotes from customer reviews of collections of items
US8700480B1 (en) 2011-06-20 2014-04-15 Amazon Technologies, Inc. Extracting quotes from customer reviews regarding collections of items
JP5530476B2 (ja) * 2012-03-30 2014-06-25 株式会社Ubic 文書分別システム及び文書分別方法並びに文書分別プログラム
CN104871151A (zh) * 2012-10-26 2015-08-26 惠普发展公司,有限责任合伙企业 用于概括文档的方法
US20150286628A1 (en) * 2012-10-26 2015-10-08 Nec Corporation Information extraction system, information extraction method, and information extraction program
CN103870973B (zh) * 2012-12-13 2017-12-19 阿里巴巴集团控股有限公司 基于电子信息的关键词提取的信息推送、搜索方法及装置
US20140244240A1 (en) * 2013-02-27 2014-08-28 Hewlett-Packard Development Company, L.P. Determining Explanatoriness of a Segment
CN103294893B (zh) * 2013-05-02 2017-08-25 广东工业大学 一种减少中医主观问卷不一性的机器学习方法
KR101532252B1 (ko) * 2013-08-23 2015-07-01 (주)타파크로스 소셜 네트워크 정보 수집 및 분석 시스템
CN103617212A (zh) * 2013-11-19 2014-03-05 北京京东尚科信息技术有限公司 一种处理舆情数据的方法和系统
KR101577890B1 (ko) * 2014-01-28 2015-12-16 포항공과대학교 산학협력단 자연어 대화 시스템을 위한 다중 도메인 식별 방법 및 장치
CN105159879A (zh) * 2015-08-26 2015-12-16 北京理工大学 一种网络个体或群体价值观自动判别方法
CN105224640B (zh) * 2015-09-25 2019-12-31 杭州朗和科技有限公司 一种提取观点的方法和设备
CN106557460A (zh) * 2015-09-29 2017-04-05 株式会社东芝 从单文档中提取关键词的装置及方法
KR101797234B1 (ko) * 2016-12-07 2017-11-13 서강대학교 산학협력단 온라인 커뮤니티에서 동일 사용자의 닉네임 목록을 추출하는 장치 및 방법
US10394959B2 (en) * 2017-12-21 2019-08-27 International Business Machines Corporation Unsupervised neural based hybrid model for sentiment analysis of web/mobile application using public data sources
KR102146152B1 (ko) * 2018-01-03 2020-08-28 세종대학교산학협력단 관능 평가 방법 및 그 장치
US10671812B2 (en) * 2018-03-22 2020-06-02 Equifax Inc. Text classification using automatically generated seed data
US10832001B2 (en) * 2018-04-26 2020-11-10 Google Llc Machine learning to identify opinions in documents
CN108647335A (zh) * 2018-05-12 2018-10-12 苏州华必讯信息科技有限公司 网络舆情分析方法和装置
KR102083017B1 (ko) * 2018-06-26 2020-04-23 삼육대학교산학협력단 플레이스의 소셜 리뷰 분석 방법 및 시스템
CN110059172B (zh) * 2019-04-19 2021-09-21 北京百度网讯科技有限公司 基于自然语言理解的推荐答案的方法和装置
US11625421B1 (en) * 2020-04-20 2023-04-11 GoLaw LLC Systems and methods for generating semantic normalized search results for legal content

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190229A (ja) * 2005-01-07 2006-07-20 Nec Corp 意見抽出用学習装置及び意見抽出用分類装置
JP2007172179A (ja) * 2005-12-20 2007-07-05 Nec Corp 意見抽出装置、意見抽出方法、および意見抽出プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4713870B2 (ja) * 2004-10-13 2011-06-29 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 文書分類装置、方法、プログラム
JP2007219880A (ja) 2006-02-17 2007-08-30 Fujitsu Ltd 評判情報処理プログラム、方法及び装置
US20080215571A1 (en) * 2007-03-01 2008-09-04 Microsoft Corporation Product review search
US8280885B2 (en) * 2007-10-29 2012-10-02 Cornell University System and method for automatically summarizing fine-grained opinions in digital text
US9201863B2 (en) * 2009-12-24 2015-12-01 Woodwire, Inc. Sentiment analysis from social media content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190229A (ja) * 2005-01-07 2006-07-20 Nec Corp 意見抽出用学習装置及び意見抽出用分類装置
JP2007172179A (ja) * 2005-12-20 2007-07-05 Nec Corp 意見抽出装置、意見抽出方法、および意見抽出プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111161890A (zh) * 2019-12-31 2020-05-15 嘉兴太美医疗科技有限公司 不良事件和合并用药的关联性判断方法及系统
CN111161890B (zh) * 2019-12-31 2021-02-12 上海亿锎智能科技有限公司 不良事件和合并用药的关联性判断方法及系统

Also Published As

Publication number Publication date
KR101005337B1 (ko) 2011-01-04
KR20100035940A (ko) 2010-04-07
US8731904B2 (en) 2014-05-20
US20110184729A1 (en) 2011-07-28
WO2010036013A3 (ko) 2010-07-22

Similar Documents

Publication Publication Date Title
WO2010036013A2 (ko) 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법
William et al. Natural Language processing implementation for sentiment analysis on tweets
Das et al. SentiWordNet for Indian languages
Wu et al. Automatic generation of personalized annotation tags for twitter users
US8200477B2 (en) Method and system for extracting opinions from text documents
WO2010036012A2 (ko) 인터넷을 이용한 의견 검색 시스템, 의견 검색 및 광고 서비스 시스템과 그 방법
Khandelwal et al. Humor detection in english-hindi code-mixed social media content: Corpus and baseline system
Padmaja et al. Evaluating sentiment analysis methods and identifying scope of negation in newspaper articles
WO2014115952A1 (ko) 유머 발화를 이용하는 음성 대화 시스템 및 그 방법
Das et al. Identifying emotional expressions, intensities and sentence level emotion tags using a supervised framework
John et al. Context deployed sentiment analysis using hybrid lexicon
Gupta et al. Designing and development of stemmer of Dogri using unsupervised learning
Pham et al. Information extraction for Vietnamese real estate advertisements
Hoek et al. Automatic coherence analysis of Dutch: Testing the subjectivity hypothesis on a larger scale
US20060161537A1 (en) Detecting content-rich text
Dehkharghani et al. Sentiment analysis in Turkish: Towards a complete framework
WO2023195769A1 (ko) 신경망 모델을 활용한 유사 특허 문헌 추출 방법 및 이를 제공하는 장치
Newell et al. Quote extraction and analysis for news
Alam et al. Multi-lingual author identification and linguistic feature extraction—A machine learning approach
WO2015088291A1 (ko) 장문 번역 서비스 장치 및 방법
Kaur et al. REVIEW ON STEMMING TECHNIQUES.
WO2024029966A1 (ko) 청구항 분석에 기초하여 문헌의 가치를 평가하는 방법 및 그 방법을 수행하는 서버
Manchala et al. Word and sentence level emotion analyzation in telugu blog and news
Gope et al. Knowledge Extraction from Bangla Documents: A Case Study
WO2020222515A1 (ko) 작명을 지원하는 전자 장치, 방법, 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09816406

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13121644

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 09816406

Country of ref document: EP

Kind code of ref document: A2