WO2018016673A1 - 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체 - Google Patents

대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체 Download PDF

Info

Publication number
WO2018016673A1
WO2018016673A1 PCT/KR2016/009515 KR2016009515W WO2018016673A1 WO 2018016673 A1 WO2018016673 A1 WO 2018016673A1 KR 2016009515 W KR2016009515 W KR 2016009515W WO 2018016673 A1 WO2018016673 A1 WO 2018016673A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
substitute
substitute word
words
similarity
Prior art date
Application number
PCT/KR2016/009515
Other languages
English (en)
French (fr)
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 숭실대학교산학협력단
Publication of WO2018016673A1 publication Critical patent/WO2018016673A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Definitions

  • the present invention relates to an automatic word extraction apparatus and method, and a recording medium for performing the same, and more particularly, to automatically extract a substitute word of a specific word using the Word2Vec model for efficient opinion mining And a recording medium for performing the same.
  • FIG. 1 is a diagram illustrating the variety of word representations. Referring to FIG. 1, examples of various word representations of a user online can be seen.
  • 'pretty' can be expressed as 'pretty', 'ip', 'cheap' as 'cheap', 'cheap', and 'mers' as 'MERS' and 'Middle East Respiratory Syndrome'. .
  • Various word expression methods may correspond to new words, abbreviations, and foreign words. Accordingly, there is a need for an alternative word extraction technique capable of recognizing words that are expressed in the same meaning but in different forms.
  • the present invention has been proposed to solve the above problems, an automatic word extraction apparatus and method for extracting a replacement word for solving the error of analysis due to the diversity of word expression, and a recording medium for performing the same
  • the purpose is to provide.
  • Another object of the present invention is to provide an apparatus and method for automatically extracting a substitute word capable of extracting substitute words usable in various domains without being limited to a specific domain, and a recording medium for performing the same.
  • an automatic word extraction apparatus comprises: a preprocessing unit configured to preprocess text data included in a document; A context information extracting unit which extracts context information from the preprocessed text data using a neural network language model; And a substitute word automatic extracting unit for extracting a substitute word candidate by calculating similarity between words in the extracted context information and extracting a substitute word for a target word by refining the extracted substitute word candidates.
  • the preprocessor includes: a morpheme analysis unit that separates sentences from text data included in a document and tags each morpheme; And a stopword remover that removes unnecessary terms from the collected online text data.
  • the substitute word automatic extracting unit may include: a substitute word candidate group extracting unit calculating a similarity between words in the extracted context information and extracting a predetermined number of upper words having a high similarity as a substitute word candidate; And a refiner configured to extract a final substitute word by performing a refinement operation on the words belonging to the extracted substitute word candidate group.
  • the substitute word candidate group extracting unit may calculate the similarity between words using a similarity measure.
  • the substitute word candidate group extracting unit may calculate the similarity between words using a similarity measure of any one of Euclidean distance, Cosine similarity, and Tanimoto coeffieient.
  • the refiner repeats the similarity calculation between the high word having high similarity among the substitute word candidate lists and the words learned by the Word2Vec algorithm, and selects a predetermined number of upper word candidate words for each substitute word candidate word of the candidate list. If there is no substitute word candidate word re-extracted and the extracted substitute word candidate word is not included in the substitute word candidate list, the substitute word candidate word may be removed from the substitute word candidate list of the first extracted substitute word extraction target word.
  • a method for automatically extracting a substitute word in a substitute word automatic extracting apparatus the pre-processing step of pre-processing the text data contained in the document;
  • a context information extraction step of extracting context information from the preprocessed text data using a neural network language model;
  • a substitute word automatic extraction step of extracting a substitute word candidate by calculating similarity between words in the extracted context information, and extracting a substitute word for a target word by refining the extracted substitute word candidates.
  • the preprocessing step may include: a morphological analysis step of separating sentences from text data included in a document and tagging them by morphemes; And a stop word removing step of removing unnecessary terms from the collected online text data.
  • the substitute word automatic extracting step may include: a substitute word candidate group extracting step of calculating a similarity between words in the extracted context information and extracting a predetermined number of upper words having a high similarity as a substitute word candidate; And a refinement step of extracting a final substitute word by performing a refinement operation on the words belonging to the extracted substitute word candidate group.
  • the similarity between words may be calculated using the similarity measure.
  • similarity between words may be calculated using a similarity measure of any one of Euclidean distance, Cosine similarity, and Tanimoto coeffieient.
  • the similarity calculation is repeatedly performed between the high word having high similarity among the substitute word candidate lists and the word learned by the Word2Vec algorithm, and the predetermined number of substitute word candidate words for each substitute word candidate word in the candidate list. If there is no substitute word candidate word re-extracted from the substitute word candidate list, the substitute word candidate word may be removed from the substitute word candidate list of the first extracted substitute word extraction target word.
  • a recording medium according to another aspect of the present invention for achieving the above object may be a computer readable recording medium having a computer program recorded thereon for performing an alternative word automatic extraction method.
  • FIG. 2 is a block diagram of a substitute word automatic extraction device according to an embodiment of the present invention
  • FIG. 3 is a functional block diagram of a preprocessor of FIG.
  • FIG. 4 is a functional block diagram of an automatic word extraction unit of FIG.
  • FIG. 5 is a flowchart illustrating a method of automatically extracting substitute words according to an embodiment of the present invention
  • FIG. 6 is a diagram illustrating an example of morphological analysis according to an embodiment of the present invention.
  • FIG. 7 is a view showing a Skip-garm model according to an embodiment of the present invention.
  • 8A and 8B illustrate examples of words learned using the Word2Vec algorithm according to an embodiment of the present invention
  • FIG. 9 is a diagram illustrating an example of a substitute word candidate for each similarity measure for a substitute word extraction target word 'MERS';
  • FIG. 10 is a diagram illustrating an example of a process of extracting a final substitute word for a substitute word extraction target word 'MERS';
  • 11 is a diagram illustrating an example of an extracted final substitute word.
  • FIG. 2 is a block diagram of an automatic word extraction apparatus according to an embodiment of the present invention
  • Figure 3 is a functional block diagram of the preprocessor of Figure 2
  • Figure 4 is a functional block diagram of the automatic replacement word extraction of FIG.
  • each component is described as operating independently, but the present invention is not limited thereto, and each component may operate under the control of a controller (not shown).
  • the alternative word automatic extracting apparatus 200 includes a preprocessor 210, a context information extractor 230, and an alternative word automatic extractor 250.
  • the preprocessor 210 preprocesses the text data included in the document. Since the data included in the document is text data, the document must be preprocessed to extract the substitute word. That is, the preprocessor 210 preprocesses the text data to extract the substitute word.
  • the text data may be online text data, and may be collected through a crawler.
  • the text data may be text data such as news, comments, reviews, and the like collected online.
  • a crawler may be software used by sites running search engines to automatically search and index various information on the web. Crawler may also be called terms such as spider, bot, intelligent agent, and the like. The crawler constantly finds and synthesizes new web pages according to the computer program's pre-input method, and uses the results to find and index new information.
  • the preprocessor 210 may include a morpheme analyzer 310 and a stopword remover 330.
  • the morpheme analysis unit 310 may separate a sentence from text data included in the document and tag it for each morpheme. That is, the morpheme analyzer 310 may mechanically tag the morphological structure of the words in the text data included in the document. At this time, the morpheme means the smallest word with the meaning. The morpheme analysis unit 310 may separate a sentence from the text data included in the document and tag the smallest word having a meaning, that is, morpheme.
  • the stopword remover 330 may remove stopwords from the collected online text data. That is, the stop word removing unit 330 may remove unnecessary terms from the collected online text data so that the data preprocessed by the context information extracting unit 230 to be described later is correctly learned. In this case, the stop word may be a meaningless word such as an unnecessary advertisement phrase or a number. Terminology may be previously defined and stored by the user in a database (not shown), which is a separate repository. The stopword remover 330 may remove stopwords from the collected online text data with reference to the database.
  • the context information extracting unit 230 extracts context information from the preprocessed text data.
  • the context information extractor 230 may extract context information of a sentence from the preprocessed data by using the Word2Vec algorithm.
  • the Word2Vec algorithm may include a neural network language model (NNLM).
  • the neural network language model is basically a neural network consisting of input layer, projection layer, hidden layer, and output layer.
  • the neural network language model is used to vectorize words. Since the neural network language model is a known technology, a detailed description thereof will be omitted.
  • the Word2vec algorithm is for text mining and determines the proximity based on the front and back relationships between words. Word2vec algorithm is an unsupervised learning algorithm.
  • the Word2vec algorithm may be a quantitative technique that expresses the meaning of a word in a vector form as the name indicates.
  • the Word2vec algorithm can represent each word as a vector in a space of about 200 dimensions. Using the Word2vec algorithm, a vector corresponding to a word can be found for each word.
  • the Word2vec algorithm can enable a significant improvement in natural language processing compared to other conventional algorithms. Word2vec can learn the meaning of words by using the relationship between words in adjacent sentences and words that you enter.
  • the Word2vec algorithm is based on artificial neural networks, starting from the premise that words with the same context have a near meaning.
  • the Word2vec algorithm progresses through text documents, and learns other words appearing near (about 5 to 10 words before and after) about a word in the artificial neural network as related words. Words with associated meanings are more likely to appear in the vicinity of the document, so that in the process of repeating learning, the two words may have closer vectors.
  • CBOW Continuous Bag Of Words
  • the CBOW approach predicts target words using the context created by surrounding words.
  • the skip-gram method predicts words that may come around based on a single word.
  • the skip-gram method is known to be more accurate for large datasets. Therefore, the embodiment of the present invention uses the Word2vec algorithm using the skip-gram method.
  • the context information extracting unit 230 may express a word as a vector value by learning a Word2Vec algorithm from a sentence separated in units of morphemes from the preprocessed data.
  • the vector value may mean context information.
  • the substitute word automatic extractor 250 may extract the substitute word based on the similarity between words in the extracted context information.
  • the substitute word automatic extractor 250 may extract a substitute word candidate group by calculating similarity from the extracted context information, and extract the final substitute word for the target word through a refinement process for the substitute word candidate words. In this case, the similarity calculation may be performed using the similarity measure.
  • the substitute word automatic extractor 250 may include a substitute word candidate group extractor 410 and a refiner 430.
  • the substitute word candidate group extractor 410 may calculate the similarity between words in the extracted context information, and extract a predetermined number of upper words having a high similarity as a substitute word candidate.
  • the substitute word candidate group extracting unit 410 may perform the similarity calculation using the similarity measure. For example, the substitute word candidate group extracting unit 410 calculates the similarity between the target word for extraction of the word and all the words using the extracted context information learned through the Word2Vec algorithm, and substitutes the top n words having the highest similarity candidates. Can be extracted with In this case, the number of upper substitute word candidates having the highest similarity may be arbitrarily set by the user. On the other hand, the similarity calculation results between words may vary depending on the scale used.
  • the similarity measure used for the similarity calculation may include Euclidean distance, cosine similarity, Tanimoto coeffieient, and the like.
  • the substitute word candidate group extracting unit 410 calculates the similarity using a measure having the highest performance among Euclidean distance, cosine similarity, and Tanimoto coeffieient, and calculates a substitute word candidate. Can be extracted.
  • Euclidean distance is a measure of the relative distance difference between two points in N-dimensional space. The smaller the Euclidean distance is, the higher the two-point pseudoliability can be. Euclidean distance can be calculated using Equation 1 below.
  • Cosine similarity is a measure of similarity between two vectors, and means the similarity between vectors measured using the angle between two vectors.
  • the calculated value of Cosine similarity can be a value between -1 and 1. The closer the similarity value is to 1, the higher the similarity between the two documents. In general, when the value is 0 or more, the two documents may be determined to have similarity.
  • Cosine similarity can be calculated using Equation 2 below.
  • Is the length of vector A Is the length of vector B, May be a dot product of vectors A and B.
  • Tanimoto coeffieient is an extension of the Jaccard Coefficient that takes into account both the angle and relative distance of two points. The closer the result of the Tanimoto coeffieient to 1, the higher the similarity between the two documents. Tanimoto coeffieient can be calculated using Equation 3 below.
  • Is the length of vector A Is the length of vector B, May be a dot product of vectors A and B.
  • the refiner 430 may extract the final substitute word by performing a refinement operation on the words belonging to the extracted substitute word candidate group.
  • the refiner 430 iteratively calculates the similarity between the high word having high similarity among the substitute word candidate lists and the words learned by the Word2Vec algorithm, and replaces a predetermined number of high candidate words for each substitute word candidate word in the candidate list. If there is no substitute word candidate word re-extracted from the substitute word candidate list, the substitute word candidate word may be removed from the substitute word candidate list of the first extracted substitute word extraction target word.
  • the refiner 430 iteratively calculates the similarity between the top n words of the substitute word candidate list of the substitute word extraction target word and all the words learned in the Word2Vec model, and for each substitute word candidate word of the candidate list.
  • the top n substitute word candidate words may be resampled.
  • the substitute word candidate word may be removed from the substitute word candidate list of the first extracted substitute word extraction target word.
  • FIG. 5 is a flowchart illustrating a method of automatically extracting a substitute word according to an embodiment of the present invention.
  • the method for automatically extracting a substitute word includes a preprocessing step, a context information extraction step, and an alternative word automatic extraction step.
  • the substitute word automatic extracting apparatus 200 preprocesses the text data included in the document (510).
  • the morphological analysis step in which the automatic word extraction apparatus 200 separates the sentences from the text data included in the document and tag them for each morpheme and the unnecessary word automatic extraction device 200 are unnecessary in the collected online text data. Terminology removal may be included to remove terms.
  • FIG. 6 is a diagram illustrating an example of morphological analysis according to an embodiment of the present invention. As shown in FIG. 6, it is possible to confirm that text data in sentence form is tagged before morphological analysis and morphologically tagged after morphological analysis.
  • the substitute word automatic extracting apparatus 200 extracts the context information from the pre-processed text data using the Word2Vec algorithm (530).
  • the Word2Vec algorithm is a method of efficiently estimating the meaning of a word by converting the word into a vector of tens or hundreds of dimensions, and can greatly improve precision in the field of natural language processing.
  • the Word2Vec algorithm is a non-supervised learning technique that calculates and expresses the meaning of words as vector values of a specific dimension in a manner based on an neural network.
  • the proposed Skip-gram model to implement Word2Vec algorithm is as follows.
  • FIG. 7 is a diagram illustrating a skip-garm model according to an embodiment of the present invention.
  • the Skip-garm model performs prediction on a predetermined number of other words before and after a window size specified based on the input word when w (t) is given as the input word.
  • the OUTPUT may be words w (t-2), w (t-1), w (t + 1), and w (t + 2) that may be surrounded by the input word w (t).
  • PROJECTION is a weighted value that is calculated to predict the surrounding words w (t-2), w (t-1), w (t + 1), w (t + 2) of the input word w (t) as a result of learning.
  • the weight values may be vector values representing w (t).
  • the window size can be set by the user.
  • the range of OUTPUT words can be set by the user.
  • Equation 4 calculates a conditional probability of an output word when an input word is given.
  • WI) is a conditional probability that the output word (Wo) is given when the input word (WI) is given. According to the above equation, in the Word2Vec algorithm, the closer the distribution of the surrounding words in the learning document is, the more similar the vector values are calculated, and the similar words may be considered similar.
  • 8A and 8B illustrate examples of words learned using the Word2Vec algorithm according to an embodiment of the present invention.
  • the substitute word automatic extracting apparatus 200 may express the word as a vector value by learning the Word2Vec algorithm.
  • the words learned in the Word2Vec algorithm may be represented by vector values.
  • the closer the distribution of the surrounding words in the document pretty and pretty in FIG. 8B
  • the more similar the vector values are calculated (indexes 3 and 4 in FIG. 8A). Accordingly, words with similar calculated vector values (pretty and pretty) can be regarded as similar.
  • the substitute word automatic extracting apparatus 200 extracts the substitute word based on the similarity between words in the extracted context information (550).
  • the alternative word candidate group extraction step for calculating the similarity between words in the context information extracted by the automatic word extraction apparatus 200, and extracts a predetermined number of the higher words having a high similarity as a substitute word candidate And a refinement step of extracting the final substitute word by performing the refining operation on the words belonging to the substitute word candidate group extracted by the substitute word automatic extracting apparatus 200.
  • the substitute word automatic extracting apparatus 200 may calculate the similarity between words using the similarity measure.
  • the similarity measure may include Euclidean distance, cosine similarity, Tanimoto coeffieient, and the like.
  • the substitute word automatic extraction device 200 calculates the similarity using the highest performing scale among Euclidean distance, cosine similarity, and Tanimoto coeffieient, and substitutes candidate candidates. Can be extracted.
  • FIG. 9 is a diagram illustrating an example of a substitute word candidate for each similarity measure for a substitute word extraction target word 'MERS'.
  • similarity values of the alternative word candidates eg, death, MERS, Middle East Respiratory Syndrome, etc.
  • MERS Middle East Respiratory Syndrome, etc.
  • cosine similarity since cosine similarity has the highest performance among the similarity measures, it may be used for extracting candidate candidates.
  • the substitute word automatic extracting apparatus 200 iteratively calculates the similarity between the high word having high similarity among the substitute word candidate list and the word learned by the Word2Vec algorithm, and applies the higher word for each substitute word candidate word of the candidate list.
  • the substitute word extraction apparatus may finally extract the substitute word.
  • the substitute word automatic extracting apparatus 200 iteratively calculates the similarity between the top n words of the substitute word candidate list of the substitute word extraction target word and all words learned in the Word2Vec model, and substitutes the candidate word of the candidate list.
  • the top n substitute word candidate words for each may be resampled.
  • the substitute word candidate word may be removed from the substitute word candidate list of the first extracted substitute word extraction target word. have. Accordingly, the substitute word automatic extracting apparatus 200 may finally extract the substitute word.
  • FIG. 10 is a diagram illustrating an example of a process of extracting a final substitute word for a substitute word 'object'
  • FIG. 11 is a diagram illustrating an example of an extracted final substitute word.
  • alternative word candidates (MERS, death, Middle East Respiratory Syndrome, etc.) for a substitute word extraction target word (MERS) are arranged in descending order based on the similarity value (1010).
  • the substitute word automatic extracting apparatus 200 repeatedly calculates the similarity between the high word having the high similarity among the substitute word candidate lists and the words learned by the Word2Vec algorithm, and the predetermined number of higher words for each substitute word candidate word in the candidate list.
  • Alternative word candidate words may be reextracted (1030) (1050).
  • the substitute word automatic extracting apparatus 200 maintains the substitute word candidate word (MERS) in the target word substitute word candidate list. .
  • the substitute word automatic extracting apparatus 200 selects the substitute word candidate word (death) from the target word substitute word candidate list. Delete it.
  • the substitute word automatic extracting apparatus 200 may repeatedly perform the above-described process repeatedly from the top of the number of words listed in the candidate list of the target word by a user arbitrarily defined. As a result, the substitute word automatic extracting apparatus 200 may extract the final substitute word list for the target word (MERS), as shown in FIG. 11.
  • MERS target word
  • Methods according to an embodiment of the present invention may be implemented in the form of program instructions that may be implemented as an application or executed through various computer components, and may be recorded on a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention, and may be known and available to those skilled in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체를 개시한다. 본 발명의 일 측면에 따른 대체어 자동 추출 장치는, 문서에 포함된 텍스트 데이터를 전처리하는 전처리부; 상기 전처리된 텍스트 데이터에서 신경망 언어 모델을 이용하여 문맥 정보를 추출하는 문맥 정보 추출부; 및 상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하여 대체어 후보를 추출하고, 상기 추출된 대체어 후보들에 대한 정제작업을 통해 대상 단어에 대한 대체어를 추출하는 대체어 자동 추출부;를 포함한다.

Description

대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체
본 발명은 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체에 관한 것으로, 더욱 상세하게는 효율적인 오피니언 마이닝을 위해 Word2Vec 모델을 이용하여 특정 단어의 대체어를 자동으로 추출하는 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체에 관한 것이다.
최근 텍스트 데이터 분석에 대한 산업체 수요가 급증함에 따라 텍스트 데이터 분석에 대한 중요성이 강조되고 있다. 텍스트 데이터 분석에서 오피니언 마이닝 기술은 주로 리뷰, 포럼, SNS(Social Network Services), 블로그 등 사용자 생성 텍스트를 분석하는 것이 목적이다. 사용자 생성 텍스트에서는 사용자마다 같은 의미의 단어를 표현하는 방식이 다양하므로 유용한 정보를 찾고 분석하는데 장애요인이 발생할 수 있다. 예를 들어, '학생'이라는 개념은 '제자', '학도' 등 다양하게 표현이 가능할 수 있다. 도 1은 단어 표현의 다양성을 예시한 도면이다. 도 1을 참조하면, 온라인 상에서의 사용자의 다양한 단어 표현의 예시를 볼 수 있다. 예컨대, '예뻐'는 '이뻐', '이뿌'로, '저렴'은 '싸게', '싸고'로 그리고, '메르스'는 'MERS', '중동호흡기증후군' 등으로 표현이 가능할 수 있다. 다양한 단어 표현 방식에는 신조어, 축약어, 외래어 등이 해당될 수 있다. 따라서, 같은 의미지만 다른 형태로 표현되는 단어를 인식할 수 있는 대체어 추출 기술이 필요한 실정이다.
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 단어 표현의 다양성으로 인한 분석의 오류를 해결하기 위한 대체어를 추출할 수 있는 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체를 제공하는데 그 목적이 있다.
또한, 특정 도메인에 한정적이지 않고 다양한 도메인에서 사용 가능한 대체어를 추출할 수 있는 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체를 제공하는데 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 일 실시 예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따른 대체어 자동 추출 장치는, 문서에 포함된 텍스트 데이터를 전처리하는 전처리부; 상기 전처리된 텍스트 데이터에서 신경망 언어 모델을 이용하여 문맥 정보를 추출하는 문맥 정보 추출부; 및 상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하여 대체어 후보를 추출하고, 상기 추출된 대체어 후보들에 대한 정제작업을 통해 대상 단어에 대한 대체어를 추출하는 대체어 자동 추출부;를 포함한다.
상기 전처리부는, 문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅하는 형태소 분석부; 및 수집된 온라인 텍스트 데이터에서 불필요한 용어들을 제거하는 불용어 제거부;를 포함할 수 있다.
상기 대체어 자동 추출부는, 상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하고, 유사도가 높은 상위 단어의 일정 개수를 대체어 후보로 추출하는 대체어 후보군 추출부; 및 상기 추출된 대체어 후보군에 속한 단어들에 대하여 정제 작업을 수행하여 최종 대체어를 추출하는 정제부;를 포함할 수 있다.
상기 대체어 후보군 추출부는, 유사도 척도를 이용하여 단어 간에 유사도를 계산할 수 있다.
상기 대체어 후보군 추출부는, 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 어느 하나의 유사도 척도를 이용하여 단어 간에 유사도를 계산할 수 있다.
상기 정제부는, 상기 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출하고, 상기 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거할 수 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 대체어 자동 추출 장치에서의 대체어 자동 추출 방법은, 문서에 포함된 텍스트 데이터를 전처리하는 전처리 단계; 상기 전처리된 텍스트 데이터에서 신경망 언어 모델을 이용하여 문맥 정보를 추출하는 문맥 정보 추출 단계; 및 상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하여 대체어 후보를 추출하고, 상기 추출된 대체어 후보들에 대한 정제작업을 통해 대상 단어에 대한 대체어를 추출하는 대체어 자동 추출 단계;를 포함한다.
상기 전처리 단계는, 문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅하는 형태소 분석 단계; 및 수집된 온라인 텍스트 데이터에서 불필요한 용어들을 제거하는 불용어 제거 단계;를 포함할 수 있다.
상기 대체어 자동 추출 단계는, 상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하고, 유사도가 높은 상위 단어의 일정 개수를 대체어 후보로 추출하는 대체어 후보군 추출 단계; 및 상기 추출된 대체어 후보군에 속한 단어들에 대하여 정제 작업을 수행하여 최종 대체어를 추출하는 정제 단계;를 포함할 수 있다.
상기 대체어 후보군 추출 단계에서는, 유사도 척도를 이용하여 단어 간에 유사도를 계산할 수 있다.
상기 대체어 후보군 추출 단계에서는, 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 어느 하나의 유사도 척도를 이용하여 단어 간에 유사도를 계산할 수 있다.
상기 정제 단계에서는, 상기 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출하고, 상기 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거할 수 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 기록 매체는, 대체어 자동 추출 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체일 수 있다.
본 발명의 일 측면에 따르면, 특정 단어에 대한 대체어를 자동 추출함으로써 텍스트 데이터 분석의 오류를 방지할 수 있는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시 예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용들과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 단어 표현의 다양성을 예시한 도면,
도 2는 본 발명의 일 실시 예에 따른 대체어 자동 추출 장치의 구성도,
도 3은 도 2의 전처리부의 기능 블록도,
도 4는 도 2의 대체어 자동 추출부의 기능 블록도,
도 5는 본 발명의 일 실시 예에 따른 대체어 자동 추출 방법의 흐름을 도시한 도면,
도 6은 본 발명의 일 실시 예에 따른 형태소 분석의 일 예를 나타낸 도면,
도 7은 본 발명의 일 실시 예에 따른 Skip-garm 모델을 도시한 도면,
도 8a 및 8b는 본 발명의 일 실시 예에 따른 Word2Vec 알고리즘을 이용하여 학습된 단어의 일 예를 도시한 도면,
도 9는 대체어 추출 대상 단어 '메르스'에 대한 유사도 척도별 대체어 후보의 일 예를 도시한 도면,
도 10은 대체어 추출 대상 단어 '메르스'에 대한 최종 대체어를 추출하는 과정의 일 예를 도시한 도면,
도 11은 추출된 최종 대체어의 일 예를 도시한 도면이다.
<부호의 설명>
200 : 대체어 자동 추출 장치
210 : 전처리부
230 : 문맥 정보 추출부
250 : 대체어 자동 추출부
310 : 형태소 분석부
330 : 불용어 제거부
410 : 대체어 후보군 추출부
430 : 정제부
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명하기로 한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 대체어 자동 추출 장치의 구성도, 도 3은 도 2의 전처리부의 기능 블록도, 도 4는 도 2의 대체어 자동 추출부의 기능 블록도이다.
본 실시 예를 설명함에 있어서, 각 구성요소들이 독립적으로 동작하는 것으로 설명하지만 이에 한하지 않으며, 제어부(미도시)의 제어에 의해 각 구성요소들이 동작할 수 있다.
도 2를 참조하면, 본 실시 예에 따른 대체어 자동 추출 장치(200)는, 전처리부(210), 문맥 정보 추출부(230) 및 대체어 자동 추출부(250)를 포함한다.
전처리부(210)는 문서에 포함된 텍스트 데이터를 전처리한다. 문서에 포함된 데이터는 텍스트 데이터이므로, 대체어를 추출하기 위해서는 문서의 전처리를 하여야 한다. 즉, 전처리부(210)는 대체어를 추출하기 위해 텍스트 데이터를 전처리한다. 이때, 텍스트 데이터는 온라인 상의 텍스트 데이터일 수 있으며, 크롤러(crawler)를 통해 수집될 수 있다. 예컨대, 텍스트 데이터는 온라인 상에서 수집된 뉴스, 댓글, 상품평 등과 같은 텍스트 데이터일 수 있다. 크롤러(crawler)는 웹상의 다양한 정보를 자동으로 검색하고 색인하기 위해 검색 엔진을 운영하는 사이트에서 사용하는 소프트웨어일 수 있다. 크롤러(crawler)는 스파이더(spider), 봇(bot), 지능 에이전트 등과 같은 용어로도 불릴 수 있다. 크롤러(crawler)는 컴퓨터 프로그램의 미리 입력된 방식에 따라 끊임없이 새로운 웹 페이지를 찾아 종합하고, 찾은 결과를 이용해 또 새로운 정보를 찾아 색인을 추가하는 작업을 반복 수행한다.
한편, 전처리부(210)는 도 3에 도시된 바와 같이, 형태소 분석부(310) 및 불용어 제거부(330)를 포함할 수 있다.
형태소 분석부(310)는, 문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅할 수 있다. 즉, 형태소 분석부(310)는, 문서에 포함된 텍스트 데이터에서 단어의 형태론적 구조를 기계적으로 태깅할 수 있다. 이때, 형태소란 뜻을 가진 가장 작은 말을 뜻한다. 형태소 분석부(310)는 문서에 포함된 텍스트 데이터에서 문장을 분리하여 뜻을 가진 가장 작은 말 즉, 형태소별로 태깅할 수 있다.
불용어 제거부(330)는, 수집된 온라인 텍스트 데이터에서 불용어를 제거할 수 있다. 즉, 불용어 제거부(330)는 후술할 문맥 정보 추출부(230)에서 전처리된 데이터가 올바르게 학습되도록 하기 위해 수집된 온라인 텍스트 데이터에서 불필요한 용어들을 제거할 수 있다. 이때, 불용어는 불필요한 광고 문구, 숫자 등과 같은 의미없는 단어일 수 있다. 불용어는 별도의 저장소인 데이터베이스(미도시)에 사용자에 의해 사전에 정의되어 저장될 수 있다. 불용어 제거부(330)는 데이터베이스를 참조하여 수집된 온라인 텍스트 데이터에서 불용어를 제거할 수 있다.
문맥 정보 추출부(230)는 전처리된 텍스트 데이터로부터 문맥 정보를 추출한다. 문맥 정보 추출부(230)는 전처리된 데이터로부터 Word2Vec 알고리즘을 이용하여 문장의 문맥 정보를 추출할 수 있다. 이때, Word2Vec 알고리즘은 신경망 언어 모델(NNLM : Neural Network Language Model)을 포함할 수 있다. 신경망 언어 모델은 기본적으로 Input Layer, Projection Layer, Hidden Layer, Output Layer로 이루어진 Neural Network이다. 신경망 언어 모델은 단어를 벡터화하는 방법에 사용되는 것이다. 신경망 언어 모델은 공지된 기술이므로 보다 자세한 설명은 생략하기로 한다. Word2vec 알고리즘은, 텍스트마이닝을 위한 것으로, 각 단어 간의 앞, 뒤 관계를 보고 근접도를 정하는 알고리즘이다. Word2vec 알고리즘은 비지도 학습 알고리즘이다. Word2vec 알고리즘은 이름이 나타내는 바와 같이 단어의 의미를 벡터형태로 표현하는 계량기법일 수 있다. Word2vec 알고리즘은 각 단어를 200차원 정도의 공간에서 백터로 표현할 수 있다. Word2vec 알고리즘을 이용하면, 각 단어마다 단어에 해당하는 벡터를 구할 수 있다. Word2vec 알고리즘은 종래의 다른 알고리즘에 비해 자연어 처리 분야에서 비약적인 정밀도 향상을 가능하게 할 수 있다. Word2vec은 입력한 말뭉치의 문장에 있는 단어와 인접 단어의 관계를 이용해 단어의 의미를 학습할 수 있다. Word2vec 알고리즘은 인공 신경망에 근거한 것으로, 같은 맥락을 지닌 단어는 가까운 의미를 지니고 있다는 전제에서 출발한다. Word2vec 알고리즘은 텍스트 문서를 통해 학습을 진행하며, 한 단어에 대해 근처(전후 5 내지 10 단어 정도)에 출현하는 다른 단어들을 관련 단어로서 인공 신경망에 학습시킨다. 연관된 의미의 단어들은 문서상에서 가까운 곳에 출현할 가능성이 높기 때문에 학습을 반복해 나가는 과정에서 두 단어는 점차 가까운 벡터를 지닐 수 있다. Word2vec 알고리즘의 학습 방법은 CBOW(Continous Bag Of Words) 방식과 skip-gram 방식이 있다. CBOW 방식은 주변 단어가 만드는 맥락을 이용해 타겟 단어를 예측하는 것이다. skip-gram 방식은 한 단어를 기준으로 주변에 올 수 있는 단어를 예측하는 것이다. 대규모 데이터셋에서는 skip-gram 방식이 더 정확한 것으로 알려져 있다. 따라서, 본 발명의 실시 예에서는 skip-gram 방식을 이용한 Word2vec 알고리즘을 사용한다. 예컨대, Word2vec 알고리즘을 통해 학습이 잘 완료되면, 고차원 공간에서 비슷한 단어는 근처에 위치할 수 있다. 상술한 바와 같은 Word2vec 알고리즘에 따르면 학습 문서 내 주위 단어의 분포가 가까운 단어일수록 산출되는 벡터값은 유사해질 수 있으며, 산출된 벡터값이 비슷한 단어는 유사한 것으로 간주할 수 있다. Word2vec 알고리즘은 공지된 기술이므로 벡터값 계산과 관련한 보다 상세한 설명은 생략하기로 한다.
문맥 정보 추출부(230)는 전처리된 데이터에서 형태소 단위로 분리된 문장을 Word2Vec 알고리즘에 학습시켜 단어를 벡터값으로 표현할 수 있다. 이때, 벡터값은 문맥 정보를 의미할 수 있다.
대체어 자동 추출부(250)는 추출된 문맥 정보에서 단어 간 유사도에 기초하여 대체어를 추출할 수 있다. 대체어 자동 추출부(250)는, 추출된 문맥 정보로부터 유사도를 계산하여 대체어 후보군을 추출하고, 대체어 후보 단어들에 대한 정제작업을 거쳐 대상 단어에 대한 최종 대체어를 추출할 수 있다. 이때, 유사도 계산은 유사도 척도를 이용하여 수행될 수 있다.
한편, 도 4에 도시된 바와 같이, 대체어 자동 추출부(250)는 대체어 후보군 추출부(410) 및 정제부(430)를 포함할 수 있다.
대체어 후보군 추출부(410)는 추출된 문맥 정보에서 단어 간의 유사도를 계산하고, 유사도가 높은 상위 단어의 일정 개수를 대체어 후보로 추출할 수 있다. 이때, 대체어 후보군 추출부(410)는 유사도 척도를 이용하여 유사도 계산을 수행할 수 있다. 예컨대, 대체어 후보군 추출부(410)는 Word2Vec 알고리즘을 통해 학습되어 추출된 문맥 정보를 이용하여 대체어 추출 대상 단어와 모든 단어 간에 유사도를 계산하고, 유사도가 가장 높은 상위 n개의 단어를 대체어 후보로 추출할 수 있다. 이때, 유사도가 가장 높은 상위 대체어 후보의 개수는 사용자에 의해 임의로 설정될 수 있다. 한편, 단어 간 유사도 계산 결과는 사용되는 척도에 따라 차이가 날수 있다. 이때, 유사도 계산에 이용되는 유사도 척도는 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 등이 있을 수 있다. 대체어 후보군 추출부(410)는 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 성능이 가장 높은 척도를 이용하여 유사도를 계산하고, 대체어 후보를 추출할 수 있다.
상술한 유사도 척도에 대해 설명하면 다음과 같다.
1) 유클리디안 거리(Euclidean distance)
: 유클리디안 거리(Euclidean distance)는 N차원의 공간에서 두 점 간의 상대적 거리 차를 측정하는 척도이다. 유클리디안 거리(Euclidean distance)의 값이 작을수록 두 점의 슈사성이 높은 것으로 판단할 수 있다. 유클리디안 거리(Euclidean distance)는 아래의 수학식 1을 이용하여 산출할 수 있다.
Figure PCTKR2016009515-appb-M000001
이때, i,j,k는 임의의 상수,
Figure PCTKR2016009515-appb-I000001
는 두 단어 간의 상대적 거리 차이일 수 있다. 한편, 유클리디안 거리(Euclidean distance)의 결과는 직관적이므로 해석이 쉽지만 방향성이 고려되지 않기 때문에 오류가 발생할 수 있다.
2) 코사인 유사도(Cosine similarity)
: 코사인 유사도(Cosine similarity)는 두 벡터 사이의 유사성을 측정하는 방법으로, 두 벡터 간 각도를 이용하여 측정된 벡터 간의 유사한 정도를 의미한다. 코사인 유사도(Cosine similarity)의 계산값은 -1 내지 1 사이의 값일 수 있다. 유사도 값이 1에 가까울수록 두 문서의 유사성이 높은 것으로 판단할 수 있으며, 일반적으로 0 이상인 경우 두 문서는 유사도가 있는 것으로 판단할 수 있다. 코사인 유사도(Cosine similarity)는 아래의 수학식 2를 이용하여 산출할 수 있다.
Figure PCTKR2016009515-appb-M000002
이때,
Figure PCTKR2016009515-appb-I000002
는 벡터 A의 길이,
Figure PCTKR2016009515-appb-I000003
는 벡터 B의 길이,
Figure PCTKR2016009515-appb-I000004
는 벡터 A와 B의 내적일 수 있다.
3) 타니모토 계수(Tanimoto coeffieient)
: 타니모토 계수(Tanimoto coeffieient)는 자카드 계수(Jaccard Coefficient)의 확장으로 두 점의 각도와 상대적인 거리를 모두 고려하는 척도이다. 타니모토 계수(Tanimoto coeffieient)의 결과 값이 1에 가까울수록 두 문서의 유사성이 높은 것으로 판단할 수 있다. 타니모토 계수(Tanimoto coeffieient)는 아래의 수학식 3을 이용하여 산출할 수 있다.
Figure PCTKR2016009515-appb-M000003
이때,
Figure PCTKR2016009515-appb-I000005
는 벡터 A의 길이,
Figure PCTKR2016009515-appb-I000006
는 벡터 B의 길이,
Figure PCTKR2016009515-appb-I000007
는 벡터 A와 B의 내적일 수 있다.
정제부(430)는 추출된 대체어 후보군에 속한 단어들에 대한 정제 작업을 수행하여 최종 대체어를 추출할 수 있다. 정제부(430)는 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출하고, 상기 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거할 수 있다. 예컨대, 정제부(430)는 대체어 추출 대상 단어의 대체어 후보 리스트 중 상위 n개의 단어들과 Word2Vec 모델에 학습된 모든 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 n개의 대체어 후보 단어들을 재추출할 수 있다. 이후, 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 대체어 자동 추출 방법의 흐름을 도시한 도면이다.
도 5를 참조하면, 본 실시 예에 따른 대체어 자동 추출 방법은 전처리 단계, 문맥 정보 추출 단계 및 대체어 자동 추출 단계를 포함한다.
전처리 단계에서는, 대체어 자동 추출 장치(200)가 문서에 포함된 텍스트 데이터를 전처리한다(510).
한편, 전처리 단계는, 대체어 자동 추출 장치(200)가 문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅하는 형태소 분석 단계 및 대체어 자동 추출 장치(200)가 수집된 온라인 텍스트 데이터에서 불필요한 용어들을 제거하는 불용어 제거 단계를 포함할 수 있다.
이때, 문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅된 일 예는 다음과 같다.
도 6은 본 발명의 일 실시 예에 따른 형태소 분석의 일 예를 나타낸 도면이다. 도 6에 도시된 바와 같이, 형태소 분석 전에는 문장 형태의 텍스트 데이터가, 형태소 분석 후에는 형태소별로 태깅되어 있는 것을 확인할 수 있다.
문맥 정보 추출 단계에서는, 대체어 자동 추출 장치(200)가 대체어 자동 추출 장치(200)가 전처리된 텍스트 데이터에서 Word2Vec 알고리즘을 이용하여 문맥 정보를 추출한다(530).
Word2Vec 알고리즘은 단어를 수십 내지 수백 차원의 벡터로 변환하여 단어의 의미를 효율적으로 추정하는 방법으로, 자연어 처리 분야에서 비약적인 정밀도 향상을 가능하게 할 수 있다. Word2Vec 알고리즘은 인공신경망(Neural network)을 기반으로 하는 방식으로 단어들의 의미를 특정 차원의 벡터값으로 계산하고 표현하는 비지도 학습 기법이다. Word2Vec 알고리즘을 구현하기 위해 제안한 Skip-gram 모델은 다음과 같다.
도 7은 본 발명의 일 실시 예에 따른 Skip-garm 모델을 도시한 도면이다.
도 7에 도시된 바와 같이, Skip-garm 모델은 w(t)가 입력 단어로 주어졌을 때, 입력 단어를 기준으로 지정된 윈도우 사이즈에 따라 앞, 뒤로 일정한 개수의 다른 단어에 대한 예측을 수행하는 것을 목표로 신경망을 훈련시킬 수 있다. OUTPUT은 입력 단어 w(t)를 기준으로 주변에 올 수 있는 단어 w(t-2), w(t-1), w(t+1), w(t+2)일 수 있다. PROJECTION은 학습의 결과로 입력 단어 w(t)의 주변 단어 w(t-2), w(t-1), w(t+1), w(t+2)를 예측하는데 계산되는 가중치 값으로써, 가중치 값들이 w(t)를 나타내는 벡터값이 될 수 있다. 윈도우 사이즈는 사용자에 의해 설정될 수 있다. OUTPUT 단어의 범위는 사용자에 의해 설정될 수 있다.
한편, Word2Vec 알고리즘은 입력 단어가 주어졌을 때, 출력 단어의 조건부 확률인 softmax function을 사용하여 결과값이 최대가 되도록 학습할 수 있다. 아래의 수학식 4는 입력 단어가 주어졌을 때의 출력 단어의 조건부 확률을 계산하는 식이다.
Figure PCTKR2016009515-appb-M000004
P(Wo|WI)는 입력단어(WI )가 주어졌을 때, 출력 단어(Wo)가 나올 조건부 확률이다. 상기 수학식에 따라 Word2Vec 알고리즘에서 학습 문서 내 주위 단어의 분포가 가까운 단어일수록 산출되는 벡터값은 유사해지며, 산출된 벡터값이 비슷한 단어는 유사한 것으로 간주할 수 있다.
도 8a 및 8b는 본 발명의 일 실시 예에 따른 Word2Vec 알고리즘을 이용하여 학습된 단어의 일 예를 도시한 도면이다.
대체어 자동 추출 장치(200)는 Word2Vec 알고리즘에 학습시켜 단어를 벡터값으로 표현할 수 있다.
도 8a 및 8b에 도시된 바와 같이, Word2Vec 알고리즘에 학습된 단어는 벡터값으로 표현될 수 있다. 이때, Word2Vec 알고리즘에서 학습 문서 내 주위 단어의 분포가 가까운 단어일수록 산출되는 벡터값은 유사해질 수 있다. 예컨대, 문서 내 주위 단어의 분포가 가까운 단어(도 8b에서 예뻐와 이뻐)일수록 산출되는 벡터값은 유사해짐을 알 수 있다(도 8a의 인덱스 3, 4). 이에 따라, 산출된 벡터값이 비슷한 단어(예뻐와 이뻐)는 유사한 것으로 간주할 수 있다.
대체어 자동 추출 단계에서는, 대체어 자동 추출 장치(200)가 추출된 문맥 정보에서 단어 간 유사도에 기초하여 대체어를 추출한다(550).
한편, 대체어 자동 추출 단계는, 대체어 자동 추출 장치(200)가 추출된 문맥 정보에서 단어 간에 유사도를 계산하고, 유사도가 높은 상위 단어의 일정 개수를 대체어 후보로 추출하는 대체어 후보군 추출 단계 및 대체어 자동 추출 장치(200)가 추출된 대체어 후보군에 속한 단어들에 대하여 정제 작업을 수행하여 최종 대체어를 추출하는 정제 단계를 포함한다.
대체어 후보군 추출 단계에서는, 대체어 자동 추출 장치(200)가 유사도 척도를 이용하여 단어 간에 유사도를 계산할 수 있다. 상기 유사도 척도는, 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 등이 있을 수 있다. 대체어 자동 추출 장치(200)는 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 성능이 가장 높은 척도를 이용하여 유사도를 계산하고, 대체어 후보를 추출할 수 있다.
도 9는 대체어 추출 대상 단어 ‘메르스’에 대한 유사도 척도별 대체어 후보의 일 예를 도시한 도면이다.
도 9를 참조하면, 대체어 추출 대상 단어 ‘메르스’에 대한 대체어 후보들(예컨대, 사망, MERS, 중동호흡기증후군 등)의 유사도 척도별 유사도 값을 확인할 수 있다. 이때, 본 실시 예에 따르면, 유사도 척도 중 코사인 유사도(Cosine similarity)가 성능이 가장 높으므로, 대체어 후보 추출에 이용할 수 있다.
정제 단계에서는, 대체어 자동 추출 장치(200)가 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출하고, 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거함으로써, 대체어 추출 장치가 최종적으로 대체어를 추출하도록 할 수 있다. 예컨대, 대체어 자동 추출 장치(200)는 대체어 추출 대상 단어의 대체어 후보 리스트 중 상위 n개의 단어들과 Word2Vec 모델에 학습된 모든 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 n개의 대체어 후보 단어들을 재추출할 수 있다. 이후, 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거할 수 있다. 이에 따라, 대체어 자동 추출 장치(200)는 최종적으로 대체어를 추출할 수 있다.
도 10은 대체어 추출 대상 단어 ‘메르스’에 대한 최종 대체어를 추출하는 과정의 일 예를 도시한 도면, 도 11은 추출된 최종 대체어의 일 예를 도시한 도면이다.
도 10을 참조하면, 대체어 추출 대상 단어(메르스)에 대한 대체어 후보들(MERS, 사망, 중동호흡기증후군 등)이 유사도 값을 기준으로 내림차순으로 정렬된 것을 확인할 수 있다(1010). 대체어 자동 추출 장치(200)는, 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출할 수 있다(1030)(1050).
이때, 대체어 자동 추출 장치(200)는, 재추출된 대체어 후보 리스트에 대상 단어(메르스)가 존재할 경우(1030), 대상 단어 대체어 후보 리스트에서 대체어 후보 단어(MERS)를 유지한다.
반면, 대체어 자동 추출 장치(200)는, 재추출된 대체어 후보 리스트에 대상 단어(메르스)가 존재하지 않을 경우(1050), 대상 단어 대체어 후보 리스트에서 대체어 후보 단어(사망)를 삭제한다.
대체어 자동 추출 장치(200)는, 대상 단어의 후보 리스트에 나열된 단어들을 사용자가 임의로 정의한 객수만큼 상위부터 반복적으로 상술한 과정을 반복 수행할 수 있다. 그 결과 대체어 자동 추출 장치(200)는, 도 11에 도시된 바와 같이 대상 단어(메르스)에 대한 최종 대체어 리스트를 추출할 수 있다.
상술한 바와 같은 본 발명의 실시 예에 따르면, 특정 단어에 대한 대체어를 자동 추출함으로써 텍스트 데이터 분석의 오류를 방지할 수 있는 효과가 있다.
본 발명의 실시예에 따른 방법들은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는, 본 발명을 위한 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시 예에서 설명된 특징들은 단일 실시 예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시 예에서 설명된 다양한 특징들은 개별적으로 다양한 실시 예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시 예에서 다양한 시스템 구성요소의 구분은 모든 실시 예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 앱 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것은 아니다.

Claims (13)

  1. 문서에 포함된 텍스트 데이터를 전처리하는 전처리부;
    상기 전처리된 텍스트 데이터에서 신경망 언어 모델을 이용하여 문맥 정보를 추출하는 문맥 정보 추출부; 및
    상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하여 대체어 후보를 추출하고, 상기 추출된 대체어 후보들에 대한 정제작업을 통해 대상 단어에 대한 대체어를 추출하는 대체어 자동 추출부;를 포함하는 대체어 자동 추출 장치.
  2. 제 1 항에 있어서,
    상기 전처리부는,
    문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅하는 형태소 분석부; 및
    수집된 온라인 텍스트 데이터에서 불필요한 용어들을 제거하는 불용어 제거부;를 포함하는 대체어 자동 추출 장치.
  3. 제 1 항에 있어서,
    상기 대체어 자동 추출부는,
    상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하고, 유사도가 높은 상위 단어의 일정 개수를 대체어 후보로 추출하는 대체어 후보군 추출부; 및
    상기 추출된 대체어 후보군에 속한 단어들에 대하여 정제 작업을 수행하여 최종 대체어를 추출하는 정제부;를 포함하는 대체어 자동 추출 장치.
  4. 제 3 항에 있어서,
    상기 대체어 후보군 추출부는,
    유사도 척도를 이용하여 단어 간에 유사도를 계산하는 대체어 자동 추출 장치.
  5. 제 4 항에 있어서,
    상기 대체어 후보군 추출부는,
    유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 어느 하나의 유사도 척도를 이용하여 단어 간에 유사도를 계산하는 대체어 자동 추출 장치.
  6. 제 3 항에 있어서,
    상기 정제부는,
    상기 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출하고, 상기 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거하는 대체어 자동 추출 장치.
  7. 대체어 자동 추출 장치에서의 대체어 자동 추출 방법에 있어서,
    문서에 포함된 텍스트 데이터를 전처리하는 전처리 단계;
    상기 전처리된 텍스트 데이터에서 신경망 언어 모델을 이용하여 문맥 정보를 추출하는 문맥 정보 추출 단계; 및
    상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하여 대체어 후보를 추출하고, 상기 추출된 대체어 후보들에 대한 정제작업을 통해 대상 단어에 대한 대체어를 추출하는 대체어 자동 추출 단계;를 포함하는 대체어 자동 추출 방법.
  8. 제 7 항에 있어서,
    상기 전처리 단계는,
    문서에 포함된 텍스트 데이터에서 문장을 분리하여 형태소별로 태깅하는 형태소 분석 단계; 및
    수집된 온라인 텍스트 데이터에서 불필요한 용어들을 제거하는 불용어 제거 단계;를 포함하는 대체어 자동 추출 방법.
  9. 제 7 항에 있어서,
    상기 대체어 자동 추출 단계는,
    상기 추출된 문맥 정보에서 단어 간에 유사도를 계산하고, 유사도가 높은 상위 단어의 일정 개수를 대체어 후보로 추출하는 대체어 후보군 추출 단계; 및
    상기 추출된 대체어 후보군에 속한 단어들에 대하여 정제 작업을 수행하여 최종 대체어를 추출하는 정제 단계;를 포함하는 대체어 자동 추출 방법.
  10. 제 9 항에 있어서,
    상기 대체어 후보군 추출 단계에서는,
    유사도 척도를 이용하여 단어 간에 유사도를 계산하는 대체어 자동 추출 방법.
  11. 제 10 항에 있어서,
    상기 대체어 후보군 추출 단계에서는,
    유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 어느 하나의 유사도 척도를 이용하여 단어 간에 유사도를 계산하는 대체어 자동 추출 방법.
  12. 제 19 항에 있어서,
    상기 정제 단계에서는,
    상기 대체어 후보 리스트 중 유사도가 높은 상위 단어와 Word2Vec 알고리즘에 의해 학습된 단어 간의 유사도 계산을 반복 수행하고, 후보 리스트의 대체어 후보 단어 각각에 대한 상위 일정 개수의 대체어 후보 단어들을 재추출하고, 상기 대체어 후보 리스트에 재추출된 대체어 후보 단어가 없을 경우, 상기 최초 추출된 대체어 추출 대상 단어의 대체어 후보 리스트에서 대체어 후보 단어를 제거하는 대체어 자동 추출 방법.
  13. 제 7 항 내지 제 12 항 중 어느 한 항에 따른 대체어 자동 추출 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
PCT/KR2016/009515 2016-07-21 2016-08-26 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체 WO2018016673A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0092579 2016-07-21
KR1020160092579A KR101806151B1 (ko) 2016-07-21 2016-07-21 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체

Publications (1)

Publication Number Publication Date
WO2018016673A1 true WO2018016673A1 (ko) 2018-01-25

Family

ID=60920449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/009515 WO2018016673A1 (ko) 2016-07-21 2016-08-26 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체

Country Status (2)

Country Link
KR (1) KR101806151B1 (ko)
WO (1) WO2018016673A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583072A (zh) * 2020-04-27 2020-08-25 北京北大软件工程股份有限公司 法条上下位关系判断方法及处理终端
CN114298058A (zh) * 2022-01-07 2022-04-08 北京思源智通科技有限责任公司 文章替换词推荐方法、系统、计算机可读介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962113B1 (ko) * 2017-03-28 2019-07-19 (주)아크릴 자연어 문장을 확장하는 장치와 상기 자연어 문장을 확장하는 방법
CN108280061B (zh) * 2018-01-17 2021-10-26 北京百度网讯科技有限公司 基于歧义实体词的文本处理方法和装置
KR102030551B1 (ko) * 2018-07-09 2019-10-10 주식회사 한글과컴퓨터 인스턴트 메신저 구동 장치 및 그 동작 방법
KR102147582B1 (ko) * 2018-11-27 2020-08-26 주식회사 와이즈넛 속성 지식 확장 시스템 및 속성 지식 확장 방법
KR102209262B1 (ko) * 2018-12-18 2021-01-29 (주)이노가드 공동주택의 공동구매 처리 장치
KR102181742B1 (ko) 2019-01-10 2020-11-24 주식회사 케이티 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램
KR102479677B1 (ko) * 2019-12-30 2022-12-22 주식회사 에비드넷 위계정보를 이용한 표준화된 용어 추천 방법 및 장치
KR102383043B1 (ko) * 2020-07-02 2022-04-05 주식회사 엔씨소프트 생략 복원 학습 방법과 인식 방법 및 이를 수행하기 위한 장치
KR102588366B1 (ko) * 2020-11-25 2023-10-12 가톨릭대학교 산학협력단 협동 조합 원칙 학습 게임 시스템 및 방법
KR102527937B1 (ko) * 2020-12-04 2023-05-03 (주)윕스 인공 지능 기반의 유사 특허 검색 방법 및 그 장치
KR102568274B1 (ko) * 2020-12-22 2023-08-17 연세대학교 원주산학협력단 공통 데이터 모델 단어를 추천하는 방법 및 이를 수행하는 전자 장치
KR102445098B1 (ko) * 2021-12-14 2022-09-20 (주)아이케어닥터 인공 지능 기반 의료 텍스트의 노이즈 데이터 필터링 방법, 장치 및 프로그램
KR102628304B1 (ko) * 2023-06-29 2024-01-24 주식회사 멜로우컴퍼니 자연어 처리 프로세서를 이용한 영상 원문 수정 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082657A1 (en) * 2008-09-23 2010-04-01 Microsoft Corporation Generating synonyms based on query log data
KR20110125966A (ko) * 2010-05-14 2011-11-22 주식회사 케이티 문장 분석을 이용한 유의어 그룹 생성 방법 및 시스템
US8504562B1 (en) * 2012-04-03 2013-08-06 Google Inc. Evaluation of substitute terms
KR101451108B1 (ko) * 2013-10-31 2014-10-16 숭실대학교산학협력단 대체어 추출 방법 및 장치
US20160092475A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Automated entity correlation and classification across heterogeneous datasets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082657A1 (en) * 2008-09-23 2010-04-01 Microsoft Corporation Generating synonyms based on query log data
KR20110125966A (ko) * 2010-05-14 2011-11-22 주식회사 케이티 문장 분석을 이용한 유의어 그룹 생성 방법 및 시스템
US8504562B1 (en) * 2012-04-03 2013-08-06 Google Inc. Evaluation of substitute terms
KR101451108B1 (ko) * 2013-10-31 2014-10-16 숭실대학교산학협력단 대체어 추출 방법 및 장치
US20160092475A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Automated entity correlation and classification across heterogeneous datasets

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583072A (zh) * 2020-04-27 2020-08-25 北京北大软件工程股份有限公司 法条上下位关系判断方法及处理终端
CN111583072B (zh) * 2020-04-27 2023-11-07 北京北大软件工程股份有限公司 法条上下位关系判断方法及处理终端
CN114298058A (zh) * 2022-01-07 2022-04-08 北京思源智通科技有限责任公司 文章替换词推荐方法、系统、计算机可读介质
CN114298058B (zh) * 2022-01-07 2022-09-13 北京思源智通科技有限责任公司 文章替换词推荐方法、系统、计算机可读介质

Also Published As

Publication number Publication date
KR101806151B1 (ko) 2017-12-07

Similar Documents

Publication Publication Date Title
WO2018016673A1 (ko) 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체
CN110110054B (zh) 一种基于深度学习的从非结构化文本中获取问答对的方法
CN109635288A (zh) 一种基于深度神经网络的简历抽取方法
Carbonell et al. Joint recognition of handwritten text and named entities with a neural end-to-end model
CN112434164B (zh) 一种兼顾话题发现和情感分析的网络舆情分析方法及系统
CN114626097A (zh) 脱敏方法、脱敏装置、电子设备及存储介质
CN109635275A (zh) 文献内容检索与识别方法及装置
Sivanaiah et al. Techssn at semeval-2020 task 12: Offensive language detection using bert embeddings
Gupta et al. Designing and development of stemmer of Dogri using unsupervised learning
CN112784601A (zh) 关键信息提取方法、装置、电子设备和存储介质
Ajees et al. A named entity recognition system for Malayalam using neural networks
Aejas et al. Named entity recognition for cultural heritage preservation
Khan et al. Urdu sentiment analysis
US20200250278A1 (en) Method for Fine-Grained Affective States Understanding and Prediction
Kopev et al. Tweety at semeval-2018 task 2: Predicting emojis using hierarchical attention neural networks and support vector machine
Bayazed et al. SDCT: multi-dialects corpus classification for Saudi Tweets
KR20180060871A (ko) 증권사 리포트 기반의 감성 사전 구축 장치 및 방법, 이를 이용한 주가 등락 예측 시스템
KR20210076871A (ko) 테이블 중심의 웹 문서를 위한 기계독해 시스템 및 방법
Alfred et al. Improving topical social media sentiment analysis by correcting unknown words automatically
CN113987114B (zh) 一种基于语义分析的地址匹配方法、装置和电子设备
Stork et al. Automated semantic annotation of species names in handwritten texts
Oshadi et al. AppGuider: Feature Comparison System using Neural Network with FastText and Aspect-based Sentiment Analysis on Play Store User Reviews
Kumar et al. Deep learning-based emotion classification of Hindi text from social media
Ferneda et al. Extracting definitions from Brazilian legal texts
Pham Sensitive keyword detection on textual product data: an approximate dictionary matching and context-score approach

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: 16909588

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16909588

Country of ref document: EP

Kind code of ref document: A1