KR102052823B1 - Topic model automation method and apparatus using latent dirichlet allocation - Google Patents

Topic model automation method and apparatus using latent dirichlet allocation Download PDF

Info

Publication number
KR102052823B1
KR102052823B1 KR1020180052080A KR20180052080A KR102052823B1 KR 102052823 B1 KR102052823 B1 KR 102052823B1 KR 1020180052080 A KR1020180052080 A KR 1020180052080A KR 20180052080 A KR20180052080 A KR 20180052080A KR 102052823 B1 KR102052823 B1 KR 102052823B1
Authority
KR
South Korea
Prior art keywords
topic
similarity
sentence
association
labeling
Prior art date
Application number
KR1020180052080A
Other languages
Korean (ko)
Other versions
KR20190127448A (en
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 KR1020180052080A priority Critical patent/KR102052823B1/en
Publication of KR20190127448A publication Critical patent/KR20190127448A/en
Application granted granted Critical
Publication of KR102052823B1 publication Critical patent/KR102052823B1/en

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/33Querying
    • G06F16/3331Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

잠재 디리클레 할당을 이용한 토픽 모델링 방법 및 장치가 개시된다. 일 실시예에 따른 토픽 모델링 방법은, 객체로부터 토픽을 추출하여 상기 토픽의 분포와 관련된 사전 확률을 최적화하는 단계와, 상기 사전 확률에 기초하여 추출된 상기 토픽을 분할 또는 합병함으로써 상기 토픽을 정제하는 단계와, 정제된 토픽을 대표하는 문장을 추출함으로써 상기 정제된 토픽을 자동으로 레이블링(labeling)하는 단계를 포함한다.Topic modeling methods and apparatus using latent Dirichlet allocation are disclosed. According to an embodiment, a topic modeling method may include: extracting a topic from an object to optimize a prior probability related to a distribution of the topic, and refining the topic by dividing or merging the extracted topic based on the prior probability And automatically labeling the refined topic by extracting a sentence representative of the refined topic.

Description

잠재 디리클레 할당을 이용한 토픽 모델 자동화 방법 및 장치{TOPIC MODEL AUTOMATION METHOD AND APPARATUS USING LATENT DIRICHLET ALLOCATION}TOPIC MODEL AUTOMATION METHOD AND APPARATUS USING LATENT DIRICHLET ALLOCATION

아래 실시예들은 잠재 디리클레 할당을 이용한 토픽 모델 자동화 방법 및 장치에 관한 것이다.The embodiments below relate to a method and apparatus for topic model automation using latent Dirichlet allocation.

능동 통계적인 토픽 모델링 기법 중 하나인 LDA(Latent Dirichlet Allocation)는 텍스트 마이닝에서 많이 쓰이는 기법 중 하나이다. LDA는 대용량 문서를 요약하고 클러스터링 하는데 많이 사용된다. 뿐만 아니라, LDA는 다양한 분야에서 유용하게 사용된다. 대표적으로 기술경영, 마케팅, 투자, 기술변화 등에 많이 쓰이고, 최근에는 바이오 분석에도 이용되고 있다.Late Dirichlet Allocation (LDA), one of the active statistical topic modeling techniques, is one of the popular techniques for text mining. LDA is often used to summarize and cluster large documents. In addition, LDA is useful in various fields. It is typically used for technology management, marketing, investment, technology change, and recently, it is also used for bio analysis.

하지만 이처럼 다양한 분야에 사용되는 LDA는 통계학자들이 이론적으로 만든 방법이기 때문에 일반 사용자가 사용하기 힘들다는 단점이 존재한다. 첫째, LDA는 베이지안(Bayesian) 통계 방법론에 기초하기 때문에 사전 확률인 α와 β의 초기 값이 미리 정해져야 된다.However, the LDA used in various fields has a disadvantage that it is difficult for the general user because it is a method that the statisticians theoretically made. First, since LDA is based on Bayesian statistical methodology, the initial values of α and β, which are prior probabilities, must be determined in advance.

기존에는 초기 값을 결정하기 위해 디폴트(default) 값을 사용하거나 도메인 전문가가 임의로 초기 값을 결정한다. 이러한 방법의 경우 대용량 문서에서 정확한 사전 확률을 찾기란 쉽지 않고, 도메인 전문가의 주관적 판단에 의해 결정된 사전 확률은 LDA의 결과에 부정적인 영향을 끼친다.Traditionally, the default value is used to determine the initial value or a domain expert arbitrarily determines the initial value. In this method, it is not easy to find accurate prior probabilities in large documents, and the prior probabilities determined by subjective judgments of domain experts have a negative effect on the results of LDA.

둘째, LDA는 통계적 방법에 의해 토픽이 추출되기 때문에 최적의 사전 확률을 사용한다 하더라도 토픽 결과가 부정확하거나 그 의미를 알 수 없는 경우가 많다. 그 이유는 정량적이고 확률적인 방법에 의해 생성된 토픽 결과 중 중복되거나 애매모호한 토픽들이 많이 발생하기 때문이다. 따라서 LDA의 결과를 자동으로 후처리(post-processing)하여 토픽 결과들을 정제(cleaning) 하는 것이 필요하다.Second, since LDA extracts topics by statistical methods, even if the optimal prior probability is used, the topic results are often inaccurate or unknown. This is because many of the topic results generated by the quantitative and probabilistic methods generate duplicate or ambiguous topics. Therefore, it is necessary to automatically post-process the results of the LDA to clean the topic results.

셋째, 입력으로 주어진 대용량 텍스트 문서 코퍼스(corpus) 에 대한 도메인 지식이 부족할 경우, 결과로 나온 각 토픽의 의미를 판단하는 것이 쉽지 않으며 추상적인 수준의 이해만 가능하다. 즉, 대용량 텍스트 문서에서는 LDA를 사용하여 일반적이거나 상식적인 내용만을 토픽을 통해 유추할 수 있다. 따라서 토픽의 의미를 자동으로 알려주는 토픽 레이블링(topic labeling) 방법이 필요하다.Third, if there is insufficient domain knowledge of the large text document corpus given as input, it is not easy to determine the meaning of each resulting topic, only an abstract level of understanding is possible. That is, in large text documents, LDA can be used to infer only general or common sense content through the topic. Therefore, there is a need for a topic labeling method that automatically indicates the meaning of the topic.

아래 실시예들은 잠재 디리클레 할당을 이용한 토픽 모델링을 자동화하는 기술을 제공할 수 있다.The embodiments below can provide techniques for automating topic modeling using latent Dirichlet allocation.

일 실시예에 따른 토픽 모델링 방법은, 객체로부터 토픽을 추출하여 상기 토픽의 분포와 관련된 사전 확률을 최적화하는 단계와, 상기 사전 확률에 기초하여 추출된 상기 토픽을 분할 또는 합병함으로써 상기 토픽을 정제하는 단계와, 정제된 토픽을 대표하는 문장을 추출함으로써 상기 정제된 토픽을 자동으로 레이블링(labeling)하는 단계를 포함한다.According to an embodiment, a topic modeling method may include: extracting a topic from an object to optimize a prior probability related to a distribution of the topic, and refining the topic by dividing or merging the extracted topic based on the prior probability And automatically labeling the refined topic by extracting a sentence representative of the refined topic.

상기 최적화하는 단계는, 상기 객체로부터 상기 토픽을 추출하는 단계와, 상기 토픽에 대하여 상기 사전 확률의 변화에 따른 평균 토픽 일관성(coherence)을 계산하는 단계와, 상기 평균 토픽 일관성에 기초하여 최적화된 사전 확률을 채택하는 단계를 포함할 수 있다.The optimizing may include extracting the topic from the object, calculating an average topic coherence according to the change of the prior probability for the topic, and optimizing the dictionary based on the average topic consistency. Employing a probability.

상기 계산하는 단계는, 하기 수학식에 기초하여 상기 평균 토픽 일관성을 계산하는 단계를 포함할 수 있다.The calculating may include calculating the average topic consistency based on the following equation.

[수학식][Equation]

Figure 112018044576975-pat00001
Figure 112018044576975-pat00001

여기서, TC는 토픽 일관성을 의미하고, sim(wl, wf) 토픽 내의 연관어 wl, wf의 의미 유사도(semantic similarity) 값을 의미함.Here, TC means topic consistency, and means semantic similarity values of the related words w l and w f in the sim (w l , w f ) topic.

상기 정제하는 단계는, 상기 토픽에 포함된 연관어들의 의미 유사도에 기초하여 상기 토픽을 분할하는 단계 또는 상기 연관어들로부터 계산한 토픽 간 유사도에 기초하여 상기 토픽을 합병하는 단계를 포함할 수 있다.The refining may include dividing the topic based on semantic similarity of the related words included in the topic or merging the topic based on the similarity between topics calculated from the related words. .

상기 분할하는 단계는, 상기 연관어들을 군집화하여 복수의 군집을 생성하는 단계와, 각각의 군집 내부의 연관어들 간의 의미 유사도를 평균하여 내부 유사도(within-cluster similarity) 를 계산하는 단계와, 상이한 군집의 연관어들 간의 의미 유사도를 평균하여 교차 유사도(cross-clusters similarity) 를 계산하는 단계와, 상기 내부 유사도와 상기 교차 유사도에 기초하여 복수의 군집을 상이한 토픽으로 분할하는 단계를 포함할 수 있다.The dividing may be performed by clustering the related words to generate a plurality of clusters, calculating mean similarity between related words within each cluster, and calculating a within-cluster similarity. Calculating cross-clusters similarity by averaging the semantic similarities between the association terms of the clusters, and dividing the plurality of clusters into different topics based on the internal similarity and the cross similarity. .

상기 합병하는 단계는, 상기 연관어들에 기초하여 상기 토픽과 상기 토픽에 대한 문장 간의 연관성을 계산하는 단계와, 상기 연관성에 기초하여 상기 연관어들을 상기 문장으로 대체하는 단계와, 상기 문장과 상이한 토픽에 포함된 문장 간의 코사인 유사도(cosine similarity)를 계산하여 이분 그래프(Bipartite Graph)를 생성하는 단계와, 상기 토픽과 상기 상이한 토픽 간의 토픽 유사도를 계산하는 단계와, 상기 토픽 유사도에 기초하여 상기 토픽과 상기 상이한 토픽을 합병하는 단계를 포함할 수 있다.The merging may include calculating an association between the topic and a sentence for the topic based on the association words, replacing the association words with the sentence based on the association, and different from the sentence. Calculating a bipartite graph by calculating cosine similarity between sentences included in the topic, calculating a topic similarity between the topic and the different topic, and based on the topic similarity And merging the different topics.

상기 레이블링하는 단계는, 상기 토픽과 연관성이 높은 문장을 후보 문장으로 채택하는 단계와, 상기 후보 문장에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽을 대표하는 문장을 추출하여 상기 토픽을 레이블링하는 단계를 포함할 수 있다.The labeling may include adopting a sentence highly related to the topic as a candidate sentence, and extracting a sentence representing the topic based on a probability distribution of related words included in the candidate sentence to label the topic. It may include a step.

상기 채택하는 단계는, 상기 토픽에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽으로부터 확률값이 작은 연관어들을 제거하는 단계와, 상기 토픽에 포함된 문장과 상기 토픽에 포함된 연관어의 쌍을 생성하는 단계와, 상기 쌍에 기초하여 각각의 연관어와 쌍을 이루는 문장의 개수를 계산하는 단계와, 상기 개수에 기초하여 상기 쌍을 제거하여 상기 후보 문장을 채택하는 단계를 포함할 수 있다.The adopting may include removing association words having a small probability value from the topic based on a probability distribution of the association words included in the topic, and comparing a sentence included in the topic and a pair of association words included in the topic. Generating the number of sentences paired with each associated word based on the pair; and removing the pair based on the number to adopt the candidate sentence.

상기 레이블링하는 단계는, 상기 후보 문장에 포함된 연관어들의 확률 분포 및 상기 쌍에 기초하여 상기 토픽과 상기 후보 문장 간의 레이블링 유사도를 계산하는 단계와, 상기 레이블링 유사도에 기초하여 상기 토픽에 대응하는 대표 문장을 추출하는 단계를 포함할 수 있다.The labeling may include calculating a labeling similarity between the topic and the candidate sentence based on the probability distribution of the related words included in the candidate sentence and the pair, and representing the topic corresponding to the topic based on the labeling similarity. And extracting the sentence.

상기 레이블링 유사도를 계산하는 단계는, 하기 수학식에 기초하여 상기 레이블링 유사도를 계산하는 단계를 포함할 수 있다.The calculating of the labeling similarity may include calculating the labeling similarity based on the following equation.

[수학식][Equation]

Figure 112018044576975-pat00002
Figure 112018044576975-pat00002

여기서, score는 상기 토픽 T와 상기 후보 문장 s의 상기 레이블링 유사도(similarity between T and s)를 의미하고, t는 상기 토픽 내의 단어를 의미하고, α는 각 항의 중요도를 나타내는 가중치를 의미하고, P(t)는 토픽 단어 t에 대한 확률 값을 의미하고, wordnet(w', T)는 s를 구성하는 단어 중 T에 없는 단어 w'와 토픽 T에 있는 각 단어 간의 워드넷 기반의 의미 유사도(semantic similarity based on WordNet)를 의미함.일 실시예에 따른 토픽 모델링 장치는, 객체를 수신하는 수신기와, 상기 객체로부터 토픽을 추출하고, 정제하여 상기 토픽을 자동으로 레이블링하는 컨트롤러를 포함하고, 상기 컨트롤러는, 상기 객체로부터 상기 토픽을 추출하여 상기 토픽의 분포와 관련된 사전 확률을 최적화하는 사전 확률 추출기와, 상기 사전 확률에 기초하여 추출된 상기 토픽을 분할 또는 합병함으로써 상기 토픽을 정제하는 토픽 정제기와, 정제된 토픽을 대표하는 문장을 추출함으로써 상기 정제된 토픽을 자동으로 레이블링(labeling)하는 레이블러(labeler)를 포함할 수 있다.Here, score means the labeling similarity between the topic T and the candidate sentence s (similarity between T and s), t means a word within the topic, and α means a weight indicating the importance of each term, P (t) denotes a probability value for the topic word t, and wordnet (w ', T) is a wordnet-based semantic similarity between the words constituting s that are not in T and each word in topic T ( semantic similarity based on WordNet) A topic modeling apparatus according to an embodiment includes a receiver for receiving an object, a controller for automatically extracting and refining a topic from the object, and automatically labeling the topic, The controller is configured to extract a topic from the object to optimize a prior probability associated with a distribution of the topic, and to divide or extract the topic extracted based on the prior probability. It may include a topic refiner for refining the topic by merging, and a labeler for automatically labeling the refined topic by extracting sentences representing the refined topic.

상기 사전 확률 추출기는, 상기 객체로부터 상기 토픽을 추출하고, 상기 토픽에 대하여 상기 사전 확률의 변화에 따른 평균 토픽 일관성(coherence)을 계산하고, 상기 평균 토픽 일관성에 기초하여 최적화된 사전 확률을 채택할 수 있다.The prior probability extractor extracts the topic from the object, calculates an average topic coherence for the topic according to the change of the prior probability, and adopts an optimized prior probability based on the average topic consistency. Can be.

상기 사전 확률 추출기는, 하기 수학식에 기초하여 상기 평균 토픽 일관성을 계산할 수 있다.The prior probability extractor may calculate the average topic consistency based on the following equation.

[수학식] [Equation]

Figure 112018044576975-pat00003
Figure 112018044576975-pat00003

여기서, TC는 토픽 일관성을 의미하고, sim(wl, wf) 토픽 내의 연관어 wl, wf의 의미 유사도(semantic similarity)값을 의미함.Here, TC means topic consistency and semantic similarity value of the related words w l and w f in the sim (w l , w f ) topic.

상기 토픽 정제기는, 상기 토픽 내에 포함된 연관어들의 의미 유사도에 기초하여 상기 토픽을 분할하거나 상기 연관어들에 기초한 상기 토픽 사이의 유사도에 기초하여 상기 토픽을 합병할 수 있다.The topic refiner may split the topic based on semantic similarity of related words included in the topic or merge the topics based on similarity between the topics based on the related words.

상기 토픽 정제기는, 상기 연관어들을 군집화하여 복수의 군집을 생성하고, 각각의 군집 내부의 연관어들 간의 의미 유사도를 평균하여 내부 유사도를 계산하고, 상이한 군집의 연관어들 간의 의미 유사도를 평균하여 교차 유사도를 계산하고, 상기 내부 유사도와 상기 교차 유사도에 기초하여 복수의 군집을 상이한 토픽으로 분할할 수 있다.The topic refiner clusters the related words to generate a plurality of clusters, calculates internal similarities by averaging semantic similarities between related words within each cluster, and averages similarity between related words of different clusters. Cross similarity may be calculated and a plurality of clusters may be divided into different topics based on the internal similarity and the cross similarity.

상기 토픽 정제기는, 상기 연관어들에 기초하여 상기 토픽과 상기 토픽에 대한 문장 간의 연관성을 계산하고, 상기 연관성에 기초하여 상기 연관어들을 상기 문장으로 대체하고, 상기 문장과 상이한 토픽에 포함된 문장 간의 코사인 유사도를 계산하여 이분 그래프(Bipartite Graph)를 생성하고, 상기 토픽과 상기 상이한 토픽 간의 토픽 유사도를 계산하고, 상기 토픽 유사도에 기초하여 상기 토픽과 상기 상이한 토픽을 합병할 수 있다.The topic refiner calculates an association between the topic and a sentence for the topic based on the association words, replaces the association words with the sentence based on the association, and includes sentences included in a topic different from the sentence. The cosine similarity of the liver may be calculated to generate a bipartite graph, the topic similarity between the topic and the different topic may be calculated, and the topic and the different topic may be merged based on the topic similarity.

상기 레이블러는, 상기 토픽과 연관성이 높은 문장을 후보 문장으로 채택하고, 상기 후보 문장에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽을 대표하는 문장을 추출하여 상기 토픽을 레이블링할 수 있다.The labeler may select a sentence highly related to the topic as a candidate sentence, and extract the sentence representing the topic based on a probability distribution of related words included in the candidate sentence to label the topic.

상기 레이블러는, 상기 토픽에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽으로부터 확률값이 작은 연관어들을 제거하고, 상기 토픽에 포함된 문장과 상기 토픽에 포함된 연관어의 쌍을 생성하고, 상기 쌍에 기초하여 각각의 연관어와 쌍을 이루는 문장의 개수를 계산하고, 상기 개수에 기초하여 상기 쌍을 제거하여 상기 후보 문장을 채택할 수 있다.The labeler removes association words having a small probability value from the topic based on a probability distribution of the association words included in the topic, generates a pair of sentences included in the topic and an association word included in the topic, The candidate sentence may be adopted by calculating the number of sentences paired with each related word based on the pair, and removing the pair based on the number.

상기 레이블러는, 상기 후보 문장에 포함된 연관어들의 확률 분포 및 상기 쌍에 기초하여 상기 토픽과 상기 후보 문장 간의 레이블링 유사도를 계산하고, 상기 레이블링 유사도에 기초하여 상기 토픽에 대응하는 대표 문장을 추출할 수 있다.The labeler calculates a labeling similarity between the topic and the candidate sentence based on a probability distribution of the related words included in the candidate sentence and the pair, and extracts a representative sentence corresponding to the topic based on the labeling similarity. can do.

상기 레이블러는, 하기 수학식에 기초하여 상기 레이블링 유사도를 계산할 수 있다.The labeler may calculate the labeling similarity based on the following equation.

[수학식] [Equation]

Figure 112018044576975-pat00004
Figure 112018044576975-pat00004

여기서, score는 상기 토픽 T와 상기 후보 문장 s의 상기 레이블링 유사도(similarity between T and s)를 의미하고, t는 상기 토픽 내의 단어를 의미하고, α는 각 항의 중요도를 나타내는 가중치를 의미하고, P(t)는 토픽 단어 t에 대한 확률 값을 의미하고, wordnet(w', T)는 s를 구성하는 단어 중 T에 없는 단어 w'와 토픽 T에 있는 각 단어 간의 워드넷 기반의 의미 유사도(semantic similarity based on WordNet)를 의미함.Here, score means the labeling similarity between the topic T and the candidate sentence s (similarity between T and s), t means a word within the topic, and α means a weight indicating the importance of each term, P (t) denotes a probability value for the topic word t, and wordnet (w ', T) is a wordnet-based semantic similarity between the words constituting s that are not in T and each word in topic T ( semantic similarity based on WordNet).

도 1은 토픽 모델링 장치의 개략적인 블록도를 나타낸다.
도 2는 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 3은 도 1에 도시된 토픽 모델링 장치의 전체 동작의 예를 나타낸다.
도 4는 도 2에 도시된 사전 확률 추출기의 동작의 예를 나타낸다.
도 5는 도 2에 도시된 사전 확률 추출기가 토픽 일관성을 계산하는 동작의 예를 나타낸다.
도 6은 도 2에 도시된 사전 확률 추출기가 최적화된 사전 확률을 채택하는 동작의 예를 나타낸다.
도 7은 도 2에 도시된 토픽 정제기가 토픽을 분할하는 동작의 예를 나타낸다.
도 8은 도 2에 도시된 토픽 정제기가 연관어들을 군집화하는 동작의 예를 나타낸다.
도 9는 도 2에 도시된 토픽 정제기가 내부 유사도 및 교차 유사도를 계산하는 동작의 예를 나타낸다.
도 10은 도 2에 도시된 토픽 정제기가 토픽을 합병하는 동작의 예를 나타낸다.
도 11a는 도 2에 도시된 토픽 정제기가 토픽과 문장의 연관성을 계산하는 동작의 일 예를 나타낸다
도 11b는 도 2에 도시된 토픽 정제기가 토픽과 문장의 연관성을 계산하는 동작의 다른 예를 나타낸다.
도 11c는 도 2에 도시된 토픽 정제기가 토픽과 문장의 연관성을 계산하는 동작의 또 다른 예를 나타낸다.
도 12는 도 2에 도시된 토픽 정제기가 문장 간의 코사인 유사도를 계산하는 동작의 예를 나타낸다.
도 13은 도 2에 도시된 토픽 정제기가 이분 그래프를 생성하는 동작의 예를 나타낸다.
도 14는 도 2에 도시된 토픽 정제기가 토픽 간의 유사도를 계산하는 동작의 예를 나타낸다.
도 15는 도 2에 도시된 토픽 정제기가 토픽 간의 유사를 군집화한 결과의 예를 나타낸다.
도 16은 도 2에 도시된 레이블러가 토픽을 자동으로 레이블링 하는 동작의 예를 나타낸다.
도 17은 도 2에 도시된 레이블러가 후보 문장을 채택하는 동작의 예를 나타낸다.
도 18은 도 2에 도시된 레이블러가 토픽을 대표하는 문장을 추출하는 동작의 예를 나타낸다.
도 19는 도 1에 도시된 토픽 모델링 장치의 동작의 순서도를 나타낸다.
1 shows a schematic block diagram of a topic modeling apparatus.
2 shows a schematic block diagram of the controller shown in FIG. 1.
3 shows an example of the overall operation of the topic modeling apparatus shown in FIG. 1.
4 shows an example of the operation of the prior probability extractor shown in FIG.
FIG. 5 shows an example of an operation in which the prior probability extractor shown in FIG. 2 calculates topic consistency.
FIG. 6 shows an example of an operation in which the prior probability extractor shown in FIG. 2 adopts the optimized prior probability.
FIG. 7 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 divides a topic.
FIG. 8 illustrates an example of an operation in which the topic refiner shown in FIG. 2 clusters association terms.
FIG. 9 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates internal similarity and cross similarity.
FIG. 10 shows an example of an operation in which the topic refiner illustrated in FIG. 2 merges a topic.
FIG. 11A illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates an association between a topic and a sentence.
FIG. 11B illustrates another example of an operation in which the topic refiner illustrated in FIG. 2 calculates an association between a topic and a sentence.
FIG. 11C illustrates another example in which the topic refiner illustrated in FIG. 2 calculates an association between a topic and a sentence.
FIG. 12 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates cosine similarity between sentences.
FIG. 13 shows an example of an operation in which the topic refiner illustrated in FIG. 2 generates a bipartite graph.
FIG. 14 shows an example of an operation in which the topic refiner illustrated in FIG. 2 calculates similarity between topics.
FIG. 15 shows an example of the results of the topic refiner shown in FIG. 2 clustering similarities between topics.
FIG. 16 illustrates an example of an operation in which the labeler illustrated in FIG. 2 automatically labels a topic.
FIG. 17 shows an example of an operation in which the labeler illustrated in FIG. 2 adopts a candidate sentence.
FIG. 18 illustrates an example of an operation in which the labeler illustrated in FIG. 2 extracts a sentence representing a topic.
19 is a flowchart of an operation of the topic modeling apparatus illustrated in FIG. 1.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, various changes may be made to the embodiments so that the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and substitutes for the embodiments are included in the scope of rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of description and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described on the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The terms are for the purpose of distinguishing one component from another component only, for example, without departing from the scope of the rights according to the concepts of the embodiment, the first component may be named a second component, and similarly The second component may also be referred to as the first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components regardless of reference numerals will be given the same reference numerals and duplicate description thereof will be omitted. In the following description of the embodiment, when it is determined that the detailed description of the related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

도 1은 토픽 모델링 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a topic modeling apparatus.

도 1을 참조하면, 토픽 모델링 장치(Topic Modeling Apparatus, 10)는 객체로부터 토픽을 추출하고, 정제할 수 있다. 토픽 모델링 장치(10)는 정제한 토픽의 대표 문장들을 추출함으로써 토픽을 자동으로 레이블링(labeling)할 수 있다. 토픽 모델링 장치(10)는 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)을 이용하여 토픽을 추출할 수 있다.Referring to FIG. 1, a topic modeling apparatus 10 may extract and refine a topic from an object. The topic modeling apparatus 10 may automatically label a topic by extracting representative sentences of the refined topic. The topic modeling apparatus 10 may extract a topic by using latent Dirichlet Allocation (LDA).

객체는 문자로 구성된 정보의 집합을 의미할 수 있다. 객체는 서적, 인터넷 상의 글 등의 문서를 포함할 수 있다. 객체는 복수의 문장을 포함할 수 있다. 토픽은 토론하거나 쓸 수 있는 특정한 대상을 의미할 수 있다. 토픽은 복수의 문장을 포함할 수 있다. 문장은 복수의 단어를 포함할 수 있다.An object may mean a collection of information consisting of letters. Objects can include documents such as books and articles on the Internet. The object may include a plurality of sentences. Topics can mean specific objects that can be discussed or written. Topics may include a plurality of sentences. The sentence may include a plurality of words.

토픽 모델링 장치(10)는 통계학적 지식이나 도메인 지식이 부족한 일반 사용자가 LDA를 쉽게 사용할 수 있는 방법을 제공할 수 있다. 토픽 모델링 장치(10)는 입력으로 주어지는 대용량 텍스트 문서 집합에 대한 최적의 사전 확률 초기 값을 구하고, 정제되어 있지 않은 토픽 집합들을 자동으로 정제하여 최적의 토픽의 집합으로 구성할 수 있다. 토픽 모델링 장치(10)는 추출된 토픽의 의미를 쉽게 알 수 있는 레이블링을 자동으로 수행할 수 있다.The topic modeling apparatus 10 may provide a method for easily using the LDA by a general user who lacks statistical knowledge or domain knowledge. The topic modeling apparatus 10 may obtain an optimal prior probability initial value for a large text document set given as an input, and automatically refine the unrefined topic sets to form an optimal set of topics. The topic modeling apparatus 10 may automatically perform labeling to easily know the meaning of the extracted topic.

토픽 모델링 장치(10)는 빅데이터 기술을 이용하여 표본이 아니라 모집단 전체를 대상으로 LDA를 빠른 시간 내에 실행하고 도메인 전문가가 아닌 일반 사용자도 쉽게 LDA를 실행할 수 있는 자동화된 토픽 모델링을 수행할 수 있다.The topic modeling apparatus 10 may perform automated topic modeling so that LDA can be quickly executed on the entire population rather than a sample by using big data technology, and an ordinary user who is not a domain expert can easily execute LDA. .

토픽 모델링 장치(10)는 수신기(100) 및 컨트롤러(200)를 포함한다.The topic modeling apparatus 10 includes a receiver 100 and a controller 200.

수신기(100)는 객체를 수신할 수 있다. 수신기(100)는 수신한 객체를 컨트롤러(200)로 출력할 수 있다.The receiver 100 may receive an object. The receiver 100 may output the received object to the controller 200.

컨트롤러(200)는 객체로부터 토픽을 추출하고, 정제하여 토픽을 자동으로 레이블링할 수 있다.The controller 200 may automatically extract the topic from the object and refine the label to automatically label the topic.

도 2는 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.2 shows a schematic block diagram of the controller shown in FIG. 1.

도 2를 참조하면, 컨트롤러(200)는 사전 확률 추출기(210), 토픽 정제기(230) 및 레이블러(250)를 포함할 수 있다.Referring to FIG. 2, the controller 200 may include a prior probability extractor 210, a topic refiner 230, and a labeler 250.

사전 확률 추출기(210)는 객체로부터 토픽을 추출하여 상기 토픽의 분포와 관련된 사전 확률을 최적화할 수 있다. 사전 확률 추출기(210)는 객체로부터 토픽을 추출하고, 토픽에 대하여 사전 확률의 변화에 따른 평균 토픽 일관성(coherence)을 계산할 수 있다.The prior probability extractor 210 may extract the topic from the object to optimize the prior probability associated with the distribution of the topic. The prior probability extractor 210 may extract a topic from the object and calculate an average topic coherence according to the change of the prior probability for the topic.

사전 확률 추출기(210)는 평균 토픽 일관성에 기초하여 최적화된 사전 확률을 채택(adopt)할 수 있다. 사전 확률 추출기(210)는 최적화된 사전 확률을 토픽 정제기(230)로 출력할 수 있다. 사전 확률 추출기(210)의 동작은 도 4 내지 도 6을 참조하여 자세하게 설명될 것이다.The prior probability extractor 210 can adapt the optimized prior probability based on the average topic consistency. The prior probability extractor 210 may output the optimized prior probability to the topic refiner 230. The operation of the prior probability extractor 210 will be described in detail with reference to FIGS. 4 to 6.

토픽 정제기(230)는 사전 확률에 기초하여 추출된 토픽을 분할(split) 또는 합병(merge)함으로써 토픽을 정제(refining)할 수 있다. 토픽 정제기(230)는 토픽 내에 포함된 연관어들의 의미 유사도에 기초하여 토픽을 분할하거나 연관어들에 기초한 토픽 사이의 유사도에 기초하여 토픽을 합병할 수 있다.The topic refiner 230 may refine the topic by splitting or merging the extracted topics based on prior probabilities. The topic refiner 230 may split a topic based on semantic similarity of the related words included in the topic or merge the topics based on the similarity between the topics based on the related words.

토픽 정제기(230)는 정제한 토픽을 레이블러(250)로 출력할 수 있다. 토픽 정제기(230)의 동작은 도 7 내지 도 15를 참조하여 자세하게 설명될 것이다.The topic refiner 230 may output the purified topic to the labeler 250. The operation of topic refiner 230 will be described in detail with reference to FIGS. 7-15.

레이블러(labeler, 250)는 정제된 토픽을 대표하는 문장을 추출함으로써 정제된 토픽을 자동으로 레이블링(labeling)할 수 있다. 레이블러(250)는 토픽과 연관성이 높은 문장을 후보 문장으로 채택하고, 후보 문장에 포함된 연관어들의 확률 분포에 기초하여 토픽을 대표하는 문장을 추출하여 토픽을 레이블링할 수 있다. 레이블러(250)의 동작은 도 16 내지 도 18을 참조하여 자세하게 설명될 것이다.The labeler 250 may automatically label the refined topic by extracting sentences representing the refined topic. The labeler 250 may select a sentence highly related to the topic as a candidate sentence, and extract a sentence representing the topic based on a probability distribution of related words included in the candidate sentence to label the topic. The operation of the labeler 250 will be described in detail with reference to FIGS. 16-18.

도 3은 도 1에 도시된 토픽 모델링 장치의 전체 동작의 예를 나타낸다.3 shows an example of the overall operation of the topic modeling apparatus shown in FIG. 1.

도 3을 참조하면, 사전 확률 추출기(210)는 객체로부터 LDA를 이용하여 토픽을 추출할 수 있다. 사전 확률 추출기(210)는 LDA를 이용하여 사전 확률을 변화시키면서 토픽을 추출할 수 있다. 사전 확률 추출기(210)는 평균 토픽 일관성을 계산하여 최적화된 사전 확률을 추출할 수 있다(구할 수 있다). 사전 확률 추출기(210)는 최적화된 사전 확률을 토픽 정제기(210) 또는 레이블러(270)로 출력할 수 있다.Referring to FIG. 3, the prior probability extractor 210 may extract a topic using an LDA from an object. The prior probability extractor 210 may extract a topic while changing the prior probability using the LDA. Prior probability extractor 210 may extract (and obtain) an optimized prior probability by calculating the average topic consistency. The prior probability extractor 210 may output the optimized prior probability to the topic refiner 210 or the labeler 270.

토픽 정제기(230)는 최적화된 사전 확률에 기초하여 토픽을 정제할 수 있다. 토픽 정제기(230)는 토픽을 분할 또는 합병함으로써 정제할 수 있다. 토픽 정제기(230)는 정제한 토픽을 레이블러(270)로 출력할 수 있다.Topic refiner 230 may refine the topic based on the optimized prior probabilities. Topic refiner 230 may refine by splitting or merging topics. The topic refiner 230 may output the purified topic to the labeler 270.

레이블러(270)는 정제된 토픽을 자동으로 레이블링할 수 있다. 레이블러(270)는 정제된 토픽으로부터 후보 문장을 채택하고, 후보 문장으로부터 대표 문장을 추출함으로써 토픽을 자동으로 레이블링할 수 있다.The labeler 270 may automatically label the refined topic. The labeler 270 may automatically label the topic by adopting the candidate sentence from the refined topic and extracting the representative sentence from the candidate sentence.

이하에서 도 4 내지 도 6을 참조하여 사전 확률 추출기의 동작을 자세하게 설명할 것이다.Hereinafter, the operation of the prior probability extractor will be described in detail with reference to FIGS. 4 to 6.

도 4는 도 2에 도시된 사전 확률 추출기의 동작의 예를 나타낸다.4 shows an example of the operation of the prior probability extractor shown in FIG.

도 4를 참조하면, 사전 확률 추출기(210)는 사전 확률을 변화시키면서 토픽을 추출하고, 토픽 일관성을 계산하여 최적화된 사전 확률을 추출할 수 있다(구할 수 있다).Referring to FIG. 4, the prior probability extractor 210 may extract (eg, obtain) an optimized prior probability by extracting a topic while changing prior probabilities, and calculating topic consistency.

사전 확률 추출기(210)는 LDA 방법을 사용하여 토픽에 연관된 단어들이 토픽에 각각 속할 확률을 계산함으로써 토픽을 추출할 수 있다. LDA는 베이지안(Bayesian) 확률 모델을 사용하기 때문에 사전 확률(Prior Probability)인 α와 β의 초기 값이 필요할 수 있다.The dictionary probability extractor 210 may extract the topic by calculating a probability that words associated with the topic belong to the topic, respectively, using the LDA method. Since LDA uses a Bayesian probability model, initial values of prior probability α and β may be required.

정확한 사전 확률 초기 값을 사용할 경우 토픽 모델링 장치(10)의 실행 시간이 단축되고 토픽 결과도 향상될 수 있다. α는 문서 내의 토픽 분포를 나타내고, β는 토픽 내의 단어가 어떤 확률로 분포되는지를 나타낼 수 있다.When the accurate prior probability initial value is used, the execution time of the topic modeling apparatus 10 may be shortened and the topic result may be improved. α may indicate a topic distribution in the document, and β may indicate how probable the words in the topic are distributed.

사전 확률 추출기(210)는 사전 확률인 α와 β를 최적으로 하는 값을 토픽 일관성(Topic Coherence)을 통해 실험적으로 찾아낼 수 있다. 사전 확률 추출기(210)는 사전 확률은 실험적으로 찾기 때문에 다양한 데이터에 대한 최적의 사전 확률을 구해 낼 수 있으며, 빅데이터 기술을 통하여 모집단을 바로 추정하여 정확한 결과를 도출할 수 있다.The prior probability extractor 210 may experimentally find a value optimizing the prior probabilities α and β through topical coherence. Since the prior probability extractor 210 finds the prior probability experimentally, it is possible to obtain an optimal prior probability for various data, and to accurately estimate the population through big data technology to derive an accurate result.

사전 확률 추출기(210)는 객체로부터 토픽을 추출할 수 있다. 도 4의 예시에서, 토픽은 성능(performance), 드라이빙(driving), 디지인(design) 및 서비스(service)를 포함할 수 있다.The prior probability extractor 210 may extract the topic from the object. In the example of FIG. 4, the topic may include performance, driving, design, and service.

사전 확률 추출기(210)는 추출한 토픽에 대하여 일정한 값으로 사전 확률을 변화시키면서 각 토픽에 대한 평균 토픽 일관성을 계산할 수 있다. 예를 들어, α 또는 β값을 0.05씩 변화시키면서 평균 토픽 일관성을 계산할 수 있다.The prior probability extractor 210 may calculate the average topic consistency for each topic while changing the prior probabilities to a predetermined value for the extracted topic. For example, the average topic consistency can be calculated by changing the α or β value by 0.05.

사전 확률 추출기(210)는 평균 토픽 일관성이 가장 높은 값을 나타내는 사전 확률을 최적화된 사전 확률로 채택할 수 있다.The prior probability extractor 210 may adopt a prior probability having the highest average topic consistency as the optimized prior probability.

사전 확률 추출기(210)는 소프트웨어 프레임워크를 사용하여 사전 확률을 최적화할 수 있다. 예를 들어, 사전 확률 추출기(210)는 맵리듀스(mapreduce) 프레임워크를 이용하여 사전 확률을 최적화할 수 있다.The prior probability extractor 210 may optimize the prior probabilities using a software framework. For example, the prior probability extractor 210 may optimize the prior probability using a map reduce framework.

맵리듀스 프레임워크는 페타바이트 이상의 대용량 데이터를 클러스터 환경에서 병렬 처리를 지원할 수 있다. 맵리듀스 프레임워크는 맵(Map)과 리듀스(Reduce)라는 함수 기반으로 구성될 수 있다.The MapReduce framework can support parallel processing of large data of more than petabytes in a cluster environment. The MapReduce framework can be configured based on a function called Map and Reduce.

맵과 리듀스 단계는 입력과 출력으로써 키-값(key-value) 쌍을 가지고 있고, 그 타입은 프로그래머에 의해 직접 선택될 수 있다. 또한 맵과 리듀스 함수도 프로그래머에 의해 직접 작성될 수 있다.The map and reduce steps have key-value pairs as inputs and outputs, and the type can be selected directly by the programmer. Map and reduce functions can also be written directly by the programmer.

맵 단계는 주로 흩어져 있는 데이터를 키-값 형태로 연관성 있는 데이터 분류로 묶는 작업이며, 리듀스 단계는 맵의 출력값 중 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업일 수 있다.The map step is a task of grouping scattered data into related data classifications in key-value form, and the reduce step may be a task of removing redundant data and extracting desired data from the output values of the map.

사전 확률 추출기(210)는 맵리듀스 프로그램이 실행하여, 입력된 데이터가 데이터 노드의 개수(매퍼의 개수)만큼 나누어져 동시에 처리함으로써, 실행 시간을 1/데이터 노드의 개수만큼 줄일 수 있다. 맵리듀스는 아파치 하둡(Apache Hadoop)에서 오픈 소스 소프트웨어로 사용되고, 자바(Java)와 C++, 그리고 기타 언어에서 적용이 가능하도록 작성될 수 있다. 예를 들어, 맵리듀스 프로그램은 자바 언어를 기반으로 구현될 수 있다.The prior probability extractor 210 executes the map reduce program, and simultaneously divides the input data by the number of data nodes (the number of mappers) and reduces the execution time by the number of 1 / data nodes. MapReduce is used as open source software in Apache Hadoop and can be written to be applicable to Java, C ++, and other languages. For example, the MapReduce program may be implemented based on the Java language.

도 5는 도 2에 도시된 사전 확률 추출기가 토픽 일관성을 계산하는 동작의 예를 나타낸다.FIG. 5 shows an example of an operation in which the prior probability extractor shown in FIG. 2 calculates topic consistency.

도 5를 참조하면, 사전 확률 추출기(210)는 토픽에 대하여 상이한 사전 확률을 적용시키면서 평균 토픽 일관성을 계산할 수 있다. 사전 확률 추출기(210)는 상이한 사전 확률에 대응되는 데이터 노드(data node)와 매퍼(mapper)들을 이용하여 평균 토픽 일관성을 계산할 수 있다.Referring to FIG. 5, the prior probability extractor 210 may calculate the average topic consistency while applying different prior probabilities to the topics. The prior probability extractor 210 may calculate average topic consistency using data nodes and mappers corresponding to different prior probabilities.

사전 확률 추출기(210)는 최적 사전 확률을 추출하기 위해 토픽 일관성을 고려할 수 있다. 토픽 일관성은 모델링 기법의 효용성을 평가하는데 사용되는 평가 척도를 의미할 수 있고, 토픽을 구성하는 연관어(단어)들이 얼마나 유사한 의미를 가지고 있는지를 나타낼 수 있다.The prior probability extractor 210 may consider topic consistency to extract the optimal prior probability. Topic consistency may refer to an evaluation measure used to evaluate the effectiveness of a modeling technique, and may indicate how similarly the related words (words) making up a topic have meaning.

사전 확률 추출기(210)는 수학식 1에 기초하여 평균 토픽 일관성을 계산할 수 있다.The prior probability extractor 210 may calculate the average topic consistency based on Equation 1.

Figure 112018044576975-pat00005
Figure 112018044576975-pat00005

여기서, TC는 토픽 일관성을 의미하고, sim(wl, wf) 토픽 내의 연관어 wl, wf의 의미 유사도(semantic similarity) 값을 의미할 수 있다. 예를 들어, 의미 유사도는 워드넷 의미 유사도(similarity based on WordNet)를 포함할 수 있다.Here, TC may mean topic consistency, and may mean semantic similarity value of the related words wl and wf in the sim (wl, wf) topic. For example, semantic similarity may include similarity based on WordNet.

수학식 1의 분자는 주어진 토픽 내 단어들의 각 쌍의 유사도 총합을 의미하고, 분모는 평균을 위한 값일 수 있다. 워드넷은 단어 간의 의미 관계를 파악하기 위한 데이터베이스를 의미할 수 있다.The numerator of Equation 1 refers to the total similarity of each pair of words in a given topic, and the denominator may be a value for the mean. WordNet may mean a database for identifying semantic relationships between words.

의미 유사도 값이 0에 가까울수록 두 단어의 의미는 관련이 없을 수 있다. 예를 들어, ‘calm’과 ‘peaceful’는 철자는 다르지만 비슷한 의미를 지니고 있는데, 워드넷을 사용한 ‘calm’과 ‘peaceful’의 의미 유사도는 1에 가깝게 나타날 수 있다.As the meaning similarity value approaches 0, the meanings of the two words may not be relevant. For example, "calm" and "peaceful" have different spellings, but they have similar meanings. The similarity between "calm" and "peaceful" using WordNet can be close to one.

즉, 토픽을 구성하는 단어들 간의 워드넷 의미 유사도가 높을수록 해당 토픽의 토픽 일관성이 높을 수 있다.That is, the higher the WordNet semantic similarity between the words constituting the topic, the higher the topic consistency of the corresponding topic.

도 5의 예시에서, 사전 확률 추출기(210)는 입력된 텍스트 문서를 바탕으로 사전확률 α=0, β=0부터 α=1, β=1까지 각각의 파라미터를 0.05씩 증가시키며, 증가된 사전확률의 케이스마다 맵리듀스 기반의 토픽 추출 알고리즘(Mahout LDA)를 실행할 수 있다. 도 5의 예시의 경우, 사전 확률의 경우의 수는 총 441개이다.In the example of FIG. 5, the prior probability extractor 210 increases each parameter by 0.05 from prior probability α = 0, β = 0 to α = 1, β = 1 based on the input text document, and increases the dictionary. In each case of probability, a MapReduce based topic extraction algorithm (Mahout LDA) may be executed. In the example of FIG. 5, the total number of cases of prior probabilities is 441 in total.

사전 확률 추출기(210)는 맵리듀스 기반의 토픽 추출 알고리즘이 실행하여 각 사전확률 케이스마다 100개의 토픽을 추출하게 되고, 추출된 토픽들은 각 토픽에 알맞은 연관어들과 이에 대한 확률 값을 가질 수 있다.The prior probability extractor 210 executes a MapReduce based topic extraction algorithm to extract 100 topics for each pre-probability case, and the extracted topics may have relevant words and probability values for each topic. .

사전 확률 추출기(210)는 각각의 사전 확률에 대하여 평균 토픽 일관성을 계산할 수 있다. 사전 확률 추출기(210)는 각 매퍼에서 단어들 간의 워드넷 의미 유사도를 이용하여 모든 토픽의 토픽 일관성을 계산할 수 있다. Prior probability extractor 210 may calculate the average topic consistency for each prior probability. The dictionary probability extractor 210 may calculate topic consistency of all topics by using WordNet semantic similarity between words in each mapper.

사전 확률 추출기(210)는 사전확률 1개 케이스에 해당하는 토픽 100개의 토픽 일관성 값이 확인되면, 확인된 100개의 토픽 일관성 값의 평균을 계산할 수 있다. 사전 확률 추출기(210)는 사전 확률 케이스와 함께 평균 토픽 일관성 값을 반환할 수 있다. The prior probability extractor 210 may calculate an average of the 100 identified topic consistency values when the 100 topic consistency values corresponding to one case of the prior probability are identified. The prior probability extractor 210 may return the average topic consistency value along with the prior probability case.

사전 확률 추출기(210)는 평균 토픽 일관성 값을 계산하는 매퍼들의 연산이 완료된 후에, 출력 결과들을 모두 취합되어 리듀서의 입력으로 사용할 수 있다.The prior probability extractor 210 may collect all the output results and use them as an input of the reducer after the operation of the mappers calculating the average topic consistency value is completed.

도 5의 예시에서, 사전 확률 추출기(210)는 전체 441개 사전확률 케이스의 평균 토픽 일관성 값을 계산할 때 매퍼의 개수만큼 나누어서 계산을 수행할 수 있다. 사전 확률 추출기(210)는 각 매퍼들의 연산은 병렬로 동시에 실행하기 때문에 단일 프로그램 기반의 사전확률 최적화 알고리즘에 비해 실행 속도는 더욱 빠를 수 있다.In the example of FIG. 5, the prior probability extractor 210 may perform the calculation by dividing by the number of mappers when calculating the average topic consistency value of all 441 prior probability cases. Since the prior probability extractor 210 executes the operations of the respective mappers simultaneously in parallel, the execution speed may be faster than that of the single program based prior probability optimization algorithm.

도 6은 도 2에 도시된 사전 확률 추출기가 최적화된 사전 확률을 채택하는 동작의 예를 나타낸다.FIG. 6 shows an example of an operation in which the prior probability extractor shown in FIG. 2 adopts the optimized prior probability.

도 6을 참조하면, 사전 확률 추출기(210)는 평균 토픽 일관성이 가장 높은 사전 확률을 최적화된 사전 확률로 채택할 수 있다.Referring to FIG. 6, the prior probability extractor 210 may adopt a prior probability having the highest average topic consistency as an optimized prior probability.

사전 확률 추출기(210)는 리듀서에서 전체 사전 확률 케이스의 평균 토픽 일관성 값을 모두 비교하여 가장 높은 평균 토픽 일관성 값을 갖는 사전 확률을 최적화된 사전 확률로 채택할 수 있다. 사전 확률 추출기(210)는 최적화된 사전 확률을 토픽 정제기(230)로 출력할 수 있다.The prior probability extractor 210 may compare all the average topic consistency values of all prior probability cases in the reducer and adopt the prior probability having the highest average topic consistency value as the optimized prior probability. The prior probability extractor 210 may output the optimized prior probability to the topic refiner 230.

이하에서, 도 7 내지 도 15를 참조하여 토픽 정제기(230)의 동작을 자세하게 설명할 것이다.Hereinafter, the operation of the topic refiner 230 will be described in detail with reference to FIGS. 7 to 15.

도 7은 도 2에 도시된 토픽 정제기가 토픽을 분할하는 동작의 예를 나타낸다.FIG. 7 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 divides a topic.

도 7을 참조하면, LDA의 사전 확률을 최적화 하고 토픽 모델링을 수행하면 대체적으로 우수한 결과를 보이지만, 기계적이고 통계적인 알고리즘에 의해 토픽을 추출하기 때문에 실제와 다른 의미의 결과를 출력하는 경우가 존재할 수 있다.Referring to FIG. 7, optimizing the prior probabilities of LDA and performing topic modeling generally show excellent results, but since the topic is extracted by a mechanical and statistical algorithm, there may be a case in which a result that is different from the actual one is output. have.

크게 2가지의 문제점이 존재하는데, 첫 번째는 하나의 토픽에 두 가지 이상의 다른 의미를 지닌 연관 단어 그룹들이 존재하는 것이고, 두 번째는 여러 토픽에서 유사한 의미를 지닌 연관어들을 포함하는 것일 수 있다.There are two main problems, the first being a group of related words having two or more different meanings in one topic, and the second being a group containing related words with similar meanings in several topics.

토픽 정제기(230)는 하나의 토픽에 둘 이상의 다른 의미를 가지는 연관어 그룹들이 존재하는 경우, 하나의 토픽을 둘 이상의 토픽으로 분할할 수 있다. 또한, 토픽 정제기(230)는 유사한 의미를 지니는 토픽들을 구성하는 연관어들의 집합을 합병할 수 있다.The topic refiner 230 may divide a topic into two or more topics when there are groups of related words having two or more different meanings in one topic. In addition, the topic refiner 230 may merge a set of related words constituting topics having similar meanings.

토픽 정제기(230)는 연관어들을 군집화(clustering)하여 복수의 군집(cluster)을 생성하고, 각각의 군집 내부의 연관어들 간의 의미 유사도를 평균하여 내부 유사도를 계산할 수 있다.The topic refiner 230 clusters the related words to generate a plurality of clusters, and calculates the internal similarity by averaging the semantic similarities between the related words in each cluster.

토픽 정제기(230)는 상이한 군집의 연관어들 간의 의미 유사도를 평균하여 교차 유사도를 계산하고, 내부 유사도와 교차 유사도에 기초하여 복수의 군집을 상이한 토픽으로 분할할 수 있다.The topic refiner 230 may calculate cross similarity by averaging semantic similarities between related words of different clusters, and divide the plurality of clusters into different topics based on the internal similarity and the cross similarity.

도 8은 도 2에 도시된 토픽 정제기가 연관어들을 군집화하는 동작의 예를 나타낸다.FIG. 8 illustrates an example of an operation in which the topic refiner shown in FIG. 2 clusters association terms.

도 8을 참조하면, 토픽 정제기(230)는 토픽 내에 있는 연관어들 간의 워드넷(WordNet)기반의 의미 유사도(semantic similarity)를 측정할 수 있다. 토픽 정제기(230)는 계층적 군집화(hierarchical clustering)를 통해 연관어들을 자동 컷오프(automatic cut-off)할 수 있다. 도 8의 예시는 계층적 군집에 따른 자동 컷오프의 예를 나타낼 수 있다.Referring to FIG. 8, the topic refiner 230 may measure semantic similarity based on WordNet between related words in a topic. The topic refiner 230 may automatically cut-off the associations through hierarchical clustering. The example of FIG. 8 may represent an example of automatic cutoff according to hierarchical clustering.

(1)의 경우에는 한 토픽에 두 가지 의미를 지니는 상이한 토픽들이 존재한다는 것을 의미할 수 있고, 이 경우 토픽 정제기(230)는 연관어들은 2개로 군집화할 수 있다. (2)의 경우에는 토픽 정제기(230)는 연관어들을 4개로 군집화할 수 있다.In the case of (1), it may mean that there are different topics having two meanings in a topic, and in this case, the topic refiner 230 may cluster the related words into two. In the case of (2), the topic refiner 230 may cluster the related words into four groups.

도 9는 도 2에 도시된 토픽 정제기가 내부 유사도 및 교차 유사도를 계산하는 동작의 예를 나타낸다.FIG. 9 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates internal similarity and cross similarity.

도 9를 참조하면, 토픽 정제기(230)는 자동 컷오프로 군집화를 수행하기 위해 내부 유사도 및 외부 유사도를 계산할 수 있다.Referring to FIG. 9, the topic purifier 230 may calculate an inner similarity and an outer similarity to perform clustering with automatic cutoff.

내부 유사도는 위드인 클러스터(within-cluster)의 의미 유사도의 평균을 의미할 수 있고, 교차 유사도는 크로스 클러스터(cross-clusters) 간의 의미 유사도의 평균을 의미할 수 있다.The internal similarity may mean an average of similarity similarities of a within-cluster, and the cross similarity may mean an average of similarity between cross-clusters.

즉, 토픽 정제기(230)는 각각의 군집 내부에 포함된 연관어들 간의 의미 유사도를 측정하고 이들의 평균을 계산함으로써 내부 유사도를 계산할 수 있다. 토픽 정제기(230) 서로 다른 군집에 포함된 연관어들 간의 의미 유사도를 측정하고 이들의 평균을 계산함으로써 교차 유사도를 계산할 수 있다.That is, the topic refiner 230 may calculate internal similarity by measuring semantic similarities between related words included in each cluster and calculating averages thereof. The topic refiner 230 may calculate cross similarity by measuring semantic similarities between related words included in different clusters and calculating their averages.

도 9의 예시에서, 토픽 정제기(230)는 클러스터 1과 클러스터 2의 내부 유사도를 계산하기 위해서, 클러스터 1에 포함된 w1과 w2의 의미 유사도를 측정하고, 클러스터 2에 포함된 w3와 w4의 의미 유사도를 측정하여 평균을 계산할 수 있다. 도 9에서 내부 유사도는 0.85일 수 있다.In the example of FIG. 9, the topic purifier 230 measures the semantic similarity of w1 and w2 included in cluster 1, and calculates the meaning of w3 and w4 included in cluster 2, in order to calculate the internal similarity between cluster 1 and cluster 2. The average can be calculated by measuring the similarity. In FIG. 9, the internal similarity may be 0.85.

토픽 정제기(230)는 클러스터 1에 포함된 w1과 클러스터 2에 포함된 w3의 의미 유사도를 측정하고, 동일한 방식으로 w1-w4, w2-w3 및 w2-w4의 의미 유사도를 측정하여 평균함으로써 교차 유사도를 계산할 수 있다. 도 9에서 교차 유사도는 0.25일 수 있다.The topic refiner 230 measures cross-similarity by measuring semantic similarities of w1 included in cluster 1 and w3 included in cluster 2, and measuring and averaging the semantic similarities of w1-w4, w2-w3 and w2-w4 in the same manner. Can be calculated. In FIG. 9, the cross similarity may be 0.25.

내부 유사도가 높고 교차 유사도가 낮을 수록 두 개의 클러스터는 잘 분할 되었음을 의미한다. 즉, 토픽 정제기(230)는 가장 좋은 자동 컷오프를 위해서 내부 유사도 값이 크고 교차 유사도 값이 작은 컷오프를 찾을 수 있다.The higher internal similarity and lower cross similarity means that the two clusters are well divided. That is, the topic purifier 230 may find a cutoff having a large internal similarity value and a small cross similarity value for the best automatic cutoff.

토픽 정제기(230)는 각 컷오프에 대한 확률 값을 표 1과 같이 계산할 수 있다.The topic refiner 230 may calculate probability values for each cutoff as shown in Table 1.

컷 오프Cut off 내부 유사도(A)Internal Similarity (A) 교차 유사도(B)Cross similarity (B)

Figure 112018044576975-pat00006
Figure 112018044576975-pat00006
Figure 112018044576975-pat00007
Figure 112018044576975-pat00007
(1)(One) 0.760.76 0.20.2 3.83.8 0.520.52 (2)(2) 0.880.88 0.250.25 3.523.52 0.480.48

토픽 정제기(230)는 컷 오프를 확률적으로 계산하기 위해 교차 유사도에 역수를 취하여 내부 유사도와 곱할 수 있다. 교차 유사도의 역수를 취하는 것은 교차 유사도의 값이 작을수록 토픽이 분할되어야 한다는 것을 의미하기 때문이다. 토픽 정제기(230)는 표 1의 가장 우측의 확률 값이 가장 큰 값을 갖도록 하는 컷 오프를 채택하여 토픽을 분할 할 수 있다.The topic refiner 230 can take the inverse of the cross similarity and multiply it by the internal similarity in order to probabilistically calculate the cut off. Taking the inverse of the cross similarity is because the smaller the value of the cross similarity, the more the topic should be divided. The topic refiner 230 may divide a topic by adopting a cutoff such that the rightmost probability value of Table 1 has the largest value.

도 10은 도 2에 도시된 토픽 정제기가 토픽을 합병하는 동작의 예를 나타낸다.FIG. 10 shows an example of an operation in which the topic refiner illustrated in FIG. 2 merges a topic.

도 10을 참조하면, 토픽 정제기(230)는 상이한 토픽들이 유사한 연관어들을 포함하고 있는 경우 복수의 토픽들을 하나의 토픽으로 합병할 수 있다. 도 10의 예시에서 Topic 0와 Topic 1은 유사한 의미를 지닌 토픽들이지만 별 개의 토픽으로 분할되어 있을 수 있다.Referring to FIG. 10, the topic refiner 230 may merge a plurality of topics into one topic when different topics include similar association words. In the example of FIG. 10, Topic 0 and Topic 1 are topics having similar meanings, but may be divided into separate topics.

토픽 정제기(230)는 토픽 합병 알고리즘을 통해 유사한 의미를 지닌 토픽들을 하나의 토픽으로 합병할 수 있다.The topic refiner 230 may merge topics having similar meanings into one topic through a topic merging algorithm.

토픽 정제기(230)는 연관어들에 기초하여 토픽과 토픽에 포함된 문장 간의 연관성을 계산할 수 있다. 토픽 정제기(230)는 연관성에 기초하여 연관어들을 토픽에 가장 연관된 문장으로 대체하고, 토픽에 연관된 문장과 상이한 토픽에 연관된 문장 간의 코사인 유사도(cosine similarity)를 계산하여 이분 그래프(Bipartite Graph)를 생성할 수 있다.The topic refiner 230 may calculate an association between a topic and a sentence included in the topic based on the related words. The topic refiner 230 replaces the relevant words with the sentences most relevant to the topic based on the associations, and calculates a cosine similarity between the sentences associated with the topic and the sentences associated with the different topics to generate a bipartite graph. can do.

토픽 정제기(230)는 토픽과 상기 상이한 토픽 간의 토픽 유사도를 계산하고, 토픽 유사도에 기초하여 토픽과 상이한 토픽을 합병할 수 있다.Topic refiner 230 may calculate topic similarity between the topic and the different topics, and merge topics and different topics based on topic similarity.

도 11a는 도 2에 도시된 토픽 정제기가 토픽과 문장의 연관성을 계산하는 동작의 일 예를 나타내고, 도 11b는 도 2에 도시된 토픽 정제기가 토픽과 문장의 연관성을 계산하는 동작의 다른 예를 나타내고, 도 11c는 도 2에 도시된 토픽 정제기가 토픽과 문장의 연관성을 계산하는 동작의 또 다른 예를 나타낸다.FIG. 11A illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates an association between a topic and a sentence, and FIG. 11B illustrates another example of an operation in which the topic refiner illustrated in FIG. 2 calculates an association between a topic and a sentence. 11C illustrates another example of an operation in which the topic refiner illustrated in FIG. 2 calculates an association between a topic and a sentence.

도 11a 내지 도 11c를 참조하면, 토픽 정제기(230)는 토픽을 추출하고 토픽에 사용된 각 문장들을 각 토픽의 연관어들을 통해 확률 값을 계산하여 상위 k 개의 문장을 추출할 수 있다.Referring to FIGS. 11A to 11C, the topic refiner 230 may extract the top k sentences by extracting a topic and calculating a probability value for each sentence used in the topic through the related words of each topic.

토픽 정제기(230)는 각각의 토픽에 대해서 토픽에 포함된 연관어 중에서 연관성을 분석하고자 하는 문장에 등장하는 연관어들의 확률을 더하고 토픽에 포함된 연관어의 개수로 나눌 수 있다.The topic refiner 230 may add probabilities of related words appearing in sentences to be analyzed for relevance among related words included in the topic for each topic, and divide them by the number of related words included in the topic.

예를 들어, 도 11a에서 토픽 0와 문장 S1의 연관성을 측정하기 위해서 토픽 정제기(230)는 토픽 0에 포함된 연관어 w1, w2 및 w3중에서 문장 S1에 포함된 연관어인 w1, w3의 확률 분포 값을 더하고 토픽 0의 연관어(또는 연관 단어)의 개수로 나눌 수 있다.For example, in order to measure the correlation between the topic 0 and the sentence S1 in FIG. 11A, the topic refiner 230 includes a probability distribution of the related words w1 and w3 included in the sentence S1 among the related words w1, w2, and w3 included in the topic 0. The value can be added and divided by the number of related words (or related words) of topic 0.

마찬가지로 토픽 정제기(230)는 토픽 0과 문장 S2, S3와의 연관성을 측정할 수 있다. 토픽 정제기(230)는 다른 토픽들에 대해서도 동일한 과정을 수행할 수 있다. 토픽 정제기(230)는 측정한 연관성에 기초하여 각 토픽을 대표하는 연관어들을 연관성이 높은 k 개의 문장으로 대체할 수 있다.Similarly, the topic refiner 230 may measure an association between topic 0 and sentences S2 and S3. The topic refiner 230 may perform the same process for other topics. The topic refiner 230 may replace the related words representing each topic with k highly related sentences based on the measured correlation.

도 12는 도 2에 도시된 토픽 정제기가 문장 간의 코사인 유사도를 계산하는 동작의 예를 나타내고, 도 13은 도 2에 도시된 토픽 정제기가 이분 그래프를 생성하는 동작의 예를 나타낸다.12 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates cosine similarity between sentences, and FIG. 13 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 generates a bipartite graph.

도 12 및 도 13을 참조하면, 토픽 정제기(230)는 서로 다른 토픽들의 대표문장 간의 코사인 유사도를 계산할 수 있다. 토픽 정제기(230)는 코사인 유사도에 기초하여 이분 그래프(bipartite graph)를 생성할 수 있다.12 and 13, the topic refiner 230 may calculate a cosine similarity between representative sentences of different topics. Topic purifier 230 may generate a bipartite graph based on cosine similarity.

도 12의 예시에서 토픽 정제기(230)는 토픽 0의 연관어와 대체된 문장 S1과 토픽 1의 연관어와 대체된 S2에 포함된 단어들을 합칠 수 있다. 토픽 정제기(230)는 합쳐진 연관어와 각 문장들을 비교하여 포함된 단어가 중복되면 1을 삽입하고, 중복되지 않으면 0을 삽입하는 방법으로 벡터화 시킨 후에 코사인 유사도를 계산할 수 있다.In the example of FIG. 12, the topic refiner 230 may combine the related word of topic 0 and the sentence S1 replaced with the related word of topic 1 and the word included in the replaced S2. The topic refiner 230 may calculate the cosine similarity after vectorizing the combined association word and each sentence by inserting 1 if the included words overlap and inserting 0 if not included.

토픽 정제기(230)는 계산한 코사인 유사도에 기초하여 비교하고자 하는 두 개의 토픽을 이분 그래프로 나타낼 수 있다. 토픽 정제기(230)는 추출된 모든 토픽들에 대하여 코사인 유사도를 계산하고 그 결과를 이분 그래프로 나타낼 수 있다.The topic refiner 230 may display two topics to be compared in a bipartite graph based on the calculated cosine similarity. The topic refiner 230 may calculate the cosine similarity for all extracted topics and display the results in a bipartite graph.

도 14는 도 2에 도시된 토픽 정제기가 토픽 간의 유사도를 계산하는 동작의 예를 나타내고, 도 15는 도 2에 도시된 토픽 정제기가 토픽 간의 유사를 군집화한 결과의 예를 나타낸다.FIG. 14 illustrates an example of an operation in which the topic refiner illustrated in FIG. 2 calculates similarity between topics, and FIG. 15 illustrates an example of a result of the topic refiner illustrated in FIG. 2 clustering similarities between topics.

토픽 정제기(230)는 상술한 이분 그래프에 기초하여 가장 높은 값을 할당하는 그래프 최적화 알고리즘인 MWBM(Maximum Weighted Bipartite Matching) 방법을 사용하여 모든 토픽 쌍의 토픽 유사도를 계산할 수 있다.The topic refiner 230 may calculate topic similarity of all topic pairs using the Maximum Weighted Bipartite Matching (MWWM) method, which is a graph optimization algorithm that allocates the highest value based on the bipartite graph described above.

토픽 정제기(230)는 각 토픽 쌍의 토픽 유사도 값들을 k-평균 방법으로 클러스터링 함으로써, 토픽 쌍의 합병 여부를 판단할 수 있다.The topic refiner 230 may determine whether a topic pair is merged by clustering topic similarity values of each topic pair by a k-average method.

도 15의 예시에서 토픽 정제기(230)는 이분 그래프에 MWBM를 적용 후에 모든 토픽 쌍의 토픽 유사도 값을 k-평균 군집화에 적용한 결과를 나타내고, 합병되는 토픽 쌍(Tx=Ty)과 합병되지 않는 토픽 쌍(Tx≠Ty)을 판단할 수 있다.In the example of FIG. 15, topic refiner 230 shows the result of applying topic similarity values of all topic pairs to k-mean clustering after applying MWBM to a bipartite graph, and not merging with topic pairs that are merged (Tx = Ty). The pair Tx ≠ Ty can be determined.

도 16은 도 2에 도시된 레이블러가 토픽을 자동으로 레이블링 하는 동작의 예를 나타낸다.FIG. 16 illustrates an example of an operation in which the labeler illustrated in FIG. 2 automatically labels a topic.

도 16을 참조하면, 레이블러(270)는 추출된 토픽을 구성하는 주요 연관어들의 의미를 판단하여 토픽에 명명함으로써 토픽을 레이블링할 수 있다.Referring to FIG. 16, the labeler 270 may label a topic by determining the meanings of main association terms constituting the extracted topic and naming the topic.

토픽 레이블링이 잘 수행되기 위해서는 연관어와 토픽에 대해 입력으로 주어지는 대용량 텍스트 문서 집합에 대한 충분한 도메인 지식이 요구될 수 있다. Topic labeling may require sufficient domain knowledge of large text document sets that are given as input to associations and topics.

그러나, 일반 사용자는 도메인에 대한 지식이 충분하지 않기 때문에, 토픽 레이블링을 수작업으로 하는 것이 어려울 수 있다. 레이블러(270)는 토픽 레이블링을 자동으로 수행함으로써, 빠르고 정확한 토픽 레이블링을 가능하게 할 수 있다.However, because end users do not have enough knowledge of the domain, it may be difficult to do topic labeling manually. The labeler 270 may perform topic labeling automatically, thereby enabling fast and accurate topic labeling.

레이블러(270)는 필터링(Filtering)과 블록킹(Blockinig) 방법을 통해 스코어(Score)를 계산하여 Top-K 개의 문장을 토픽 레이블로써 사용할 수 있다. 스코어는 레이블링 유사도를 의미할 수 있다.The labeler 270 may calculate a score through filtering and blocking methods, and use the Top-K sentences as a topic label. The score may mean labeling similarity.

토픽에 포함된 모든 연관어와 문장들에 대하여 레이블링을 수행할 경우에 레이블링 유사도를 계산하는데 상당한 시간이 소요될 수 있다. 예를 들어, 100개의 토픽과 각 토픽마다 500개의 연관어, 그리고 100,000,000개의 문장이 존재한다고 가정을 하면 스코어 계산 수행에 있어 5,000,000,000,000번의 계산이 수행되어야 하므로 상당한 시간이 소요될 수 있다.When labeling all the related words and sentences included in the topic, it may take considerable time to calculate the labeling similarity. For example, assuming 100 topics, 500 associative words, and 100,000,000 sentences exist for each topic, 5,000,000,000,000 calculations must be performed to perform a significant amount of time.

레이블러(270)는 소요 시간을 감소시키기 위해서 필터링을 통해 후보 문장을 채택하고, 블록킹을 통해 토픽을 대표하는 대표 문장을 추출함으로써 레이블링에 소요되는 시간을 감소시킬 수 있다.The labeler 270 may reduce the time required for labeling by adopting the candidate sentence through filtering to reduce the time required, and extracting the representative sentence representing the topic through blocking.

도 17은 도 2에 도시된 레이블러가 후보 문장을 채택하는 동작의 예를 나타낸다.FIG. 17 shows an example of an operation in which the labeler illustrated in FIG. 2 adopts a candidate sentence.

도 17을 참조하면, 레이블러(270)는 토픽에 포함된 연관어들의 확률 분포에 기초하여 토픽으로부터 확률값이 작은 연관어들을 제거하고, 토픽에 포함된 문장과 토픽에 포함된 연관어의 쌍을 생성할 수 있다.Referring to FIG. 17, the labeler 270 removes association words having a small probability value from a topic based on a probability distribution of association words included in a topic, and compares a sentence included in the topic and a pair of related words included in the topic. Can be generated.

레이블러(270)는 문장과 연관어의 쌍에 기초하여 각각의 연관어와 쌍을 이루는 문장의 개수를 계산하고, 문장의 개수에 기초하여 문장과 연관어의 쌍을 제거하여 후보 문장을 채택할 수 있다.The labeler 270 may calculate a number of sentences paired with each related word based on a pair of sentences and related words, and adopt a candidate sentence by removing a pair of sentences and related words based on the number of sentences. have.

레이블러(270)는 전체 문장에서 토픽과 관련성이 높은 문장들을 후보 문장으로 채택하여 제공해주는 필터링을 수행할 수 있다. 레이블러(270)는 필터링을 통해 불필요한 연산을 최소화할 수 있다.The labeler 270 may perform filtering that selects and provides sentences related to a topic in the entire sentence as candidate sentences. The labeler 270 may minimize unnecessary operations through filtering.

확률 분포가 낮은 연관어는 토픽과의 관련성이 낮기 때문 레이블러(270)는 토픽 내에서 확률 분포 값이 특정치 보다 낮은 연관어를 탈락시킬 수 있다.Since the association word having a low probability distribution is low in relation to the topic, the labeler 270 may drop an association word having a probability distribution value lower than a specific value in the topic.

레이블러(270)는 문장을 빠르게 스캔하고, 문장과 연관어의 쌍을 생성할 수 있다. 레이블러(270)는 문장과 단어의 쌍을 통해 각 연관어들의 역색인(Inverted Index)을 구축하며 개수를 카운트 할 수 있다. 이 때, 하나의 문장이 다수의 연관어에 중복하여 등장하면, 레이블러(270)는 상위 연관어의 역색인에만 구축하고, 카운트는 정상적으로 수행할 수 있다.The labeler 270 can quickly scan a sentence and generate a pair of sentences and associated words. The labeler 270 may build an inverted index of each related word through a pair of sentences and words, and count the number. At this time, if one sentence overlaps a plurality of related words, the labeler 270 may build only the inverse index of the upper related word, and count may be normally performed.

레이블러(270)는 카운트 횟수가 적은 연관어와 해당 문장들을 탈락(제거)시킬 수 있다. 레이블러(270)는 연관성이 낮은 문장들을 제거함으로써 토픽과 관련성이 높은 문장들을 선별할 수 있으며, 불필요한 연산을 최소화 할 수 있다.The labeler 270 may drop (remove) the related word and the sentence having a small number of counts. The labeler 270 may select sentences that are highly related to the topic by removing sentences that are not related, and minimize unnecessary operations.

후보 문장은 레이블러(270)가 탈락시킨 후에 토픽에 남은 문장을 의미할 수 있다.The candidate sentence may mean a sentence remaining in the topic after the labeler 270 is dropped.

도 18은 도 2에 도시된 레이블러가 토픽을 대표하는 문장을 추출하는 동작의 예를 나타낸다. 도 18을 참조하면, 레이블러(270)는 후보 문장에 포함된 연관어들의 확률 분포 및 문장과 연관어 쌍에 기초하여 토픽과 후보 문장 간의 레이블링 유사도를 계산할 수 있다.FIG. 18 illustrates an example of an operation in which the labeler illustrated in FIG. 2 extracts a sentence representing a topic. Referring to FIG. 18, the labeler 270 may calculate a labeling similarity between a topic and a candidate sentence based on a probability distribution of association words included in the candidate sentence and a pair of sentences and association words.

레이블러(270)는 레이블링 유사도에 기초하여 토픽에 대응하는 대표 문장을 추출할 수 있다.The labeler 270 may extract a representative sentence corresponding to the topic based on the labeling similarity.

레이블러(270)는 수학식 2에 기초하여 레이블링 유사도를 계산할 수 있다.The labeler 270 may calculate labeling similarity based on Equation 2.

Figure 112018044576975-pat00008
Figure 112018044576975-pat00008

여기서, score는 상기 토픽 T와 상기 후보 문장 s의 상기 레이블링 유사도(similarity between T and s)를 의미하고, t는 상기 토픽 내의 단어를 의미하고, α는 각 항의 중요도를 나타내는 가중치를 의미할 수 있다.Here, score may mean the similarity between T and s of the topic T and the candidate sentence s, t may mean a word within the topic, and α may mean a weight indicating the importance of each term. .

P(t)는 토픽 단어 t에 대한 확률 값을 의미하고, wordnet(w', T)는 s를 구성하는 단어 중 T에 없는 단어 w'와 토픽 T에 있는 각 단어 간의 워드넷 기반의 의미 유사도(semantic similarity based on WordNet)를 의미할 수 있다.P (t) is the probability value for the topic word t, and wordnet (w ', T) is the wordnet-based semantic similarity between the words w' that are not in T and the words in topic T that make up s. (semantic similarity based on WordNet).

레이블러(270)는 상술한 역색인의 레코드를 입력으로 하여 매퍼를 수행하여 맵리듀스 기반의 병렬 처리를 통해 레이블링 유사도를 계산할 수 있다.The labeler 270 may calculate the labeling similarity through map reduction based parallel processing by performing a mapper by inputting the record of the inverted index described above.

레이블러(270)는 레이블링 유사도를 계산하기 위해서 입력으로 각 역색인의 레코드들을 사용할 수 있다. 매퍼 n에서는 topic n에 대한 문장과 연관어에 기초하여 레이블링 유사도를 계산할 수 있다.The labeler 270 may use the records of each inverted index as input to calculate the labeling similarity. In mapper n, you can calculate labeling similarity based on sentences and associations for topic n.

그 후, 레이블러(270)는 셔플링(Shuffling)을 통해 각 문장들을 내림차순으로 정렬할 수 있다. 마지막으로, 레이블러(270)는 리듀서(Reducer)에서 각 토픽 n에 대한 Top-K의 문장을 출력할 수 있다. Top-K 문장은 토픽 n에 대한 대표 문장을 의미할 수 있다.Thereafter, the labeler 270 may sort the sentences in descending order through shuffling. Finally, the labeler 270 may output a sentence of Top-K for each topic n in the reducer. The Top-K sentence may mean a representative sentence for topic n.

레이블러(270)는 상술한 과정을 거쳐서 각 토픽에 대해 레이블링 유사도가 높은 Top-k개의 문장을 추출하고, 이 문장들을 토픽과 연관성이 높고 토픽을 대표하는 문장으로 추출할 수 있다. The labeler 270 may extract Top-k sentences having a high labeling similarity for each topic through the above-described process, and may extract the sentences as sentences representing a topic that is highly related to the topic.

레이블러(270)는 추출한 대표 문장을 사용하여 토픽 레이블링을 자동으로 수행하고, 토픽이 무엇을 의미하는지 한눈에 보기 쉽게 보여줄 수 있다.The labeler 270 automatically performs topic labeling using the extracted representative sentence, and can easily show at a glance what the topic means.

도 19는 도 1에 도시된 토픽 모델링 장치의 동작의 순서도를 나타낸다.19 is a flowchart of an operation of the topic modeling apparatus illustrated in FIG. 1.

도 19를 참조하면, 수신기(100)는 객체를 수신할 수 있다. 도 19의 예시에서 수신기(100)가 수신하는 객체는 웹사이트의 게시글을 포함할 수 있다. 도 19의 예시에서 수신기는 차(car)라는 도메인(domain)에 해당하는 웹사이트(예를 들어, 보배드림)의 게시글을 수신할 수 있다.Referring to FIG. 19, the receiver 100 may receive an object. In the example of FIG. 19, the object received by the receiver 100 may include a post of a website. In the example of FIG. 19, the receiver may receive a post of a website (for example, a baby dream) corresponding to a domain of a car.

사전 확률 추출기(210)는 객체를 수집하여 정제하고, 데이터베이스에 저장할 수 있다. 예를 들어, 사전 확률 추출기(210)는 보배드림이라는 웹사이트에서 대용량의 텍스트 문서를 수집하여 정제하고 데이터베이스에 저장할 수 있다.The prior probability extractor 210 may collect, refine, and store the object in a database. For example, the dictionary probability extractor 210 may collect, refine, and store a large amount of text documents on a website called baby dream.

사전 확률 추출기(210)는 객체로부터 토픽을 추출하여 사전 확률의 변화에 따른 토픽 일관성을 계산할 수 있다. 사전 확률 추출기(210)는 토픽 일관성에 기초하여 최적화된 사전 확률 α, β를 추출할 수 있다(구할 수 있다). α는 문서 내의 토픽 분포를 나타내고, β는 토픽 내의 단어가 어떤 확률로 분포되는지를 나타낼 수 있다.The prior probability extractor 210 may extract the topic from the object and calculate the topic consistency according to the change of the prior probability. The prior probability extractor 210 may extract (obtain) an optimized prior probability α, β based on topic consistency. α may indicate a topic distribution in the document, and β may indicate how probable the words in the topic are distributed.

토픽 정제기(250)는 의미가 중복되는 토픽들을 하나의 토픽으로 합병하고, 하나의 토픽에 의미가 상이한 연관어들을 복수의 토픽으로 분할함으로써 토픽을 정제할 수 있다.The topic refiner 250 may refine topics by merging topics with overlapping meanings into one topic and dividing related terms having different meanings into one topic into a plurality of topics.

레이블러(270)는 연관어들의 확률 분포 및 연관어와 문장 간의 유사도에 기초하여 후보 문장을 채택하고, 후보 문장으로부터 토픽을 대표하는 대표 문장을 추출할 수 있다. 레이블러(270)는 레이블링 유사도가 가장 높은 K개의 문장을 대표 문장으로 추출하여 자동으로 토픽 레이블링을 수행할 수 있다.The labeler 270 may adopt the candidate sentence based on the probability distribution of the related words and the similarity between the related word and the sentence, and extract the representative sentence representing the topic from the candidate sentence. The labeler 270 may automatically perform topic labeling by extracting K sentences having the highest labeling similarity as representative sentences.

이를 통해, 토픽 모델링 장치(10)를 통해 주어진 대용량 문서 집합에서 많이 다루어지는 토픽들과, 그 토픽들의 의미가 쉽게 파악될 수 있다.Through this, the topics that are frequently dealt with in a large document set given by the topic modeling apparatus 10 and the meanings of the topics may be easily grasped.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical 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 machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the accompanying drawings as described above, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the following claims.

Claims (20)

객체로부터 토픽을 추출하여 상기 토픽의 분포와 관련된 사전 확률을 최적화하는 단계;
상기 사전 확률에 기초하여 추출된 상기 토픽을 분할 또는 합병함으로써 상기 토픽을 정제하는 단계; 및
정제된 토픽을 대표하는 문장을 추출함으로써 상기 정제된 토픽을 자동으로 레이블링(labeling)하는 단계
를 포함하고,
상기 최적화하는 단계는,
상기 객체로부터 상기 토픽을 추출하는 단계;
상기 토픽에 대하여 상기 사전 확률의 변화에 따른 평균 토픽 일관성(coherence)을 계산하는 단계; 및
상기 평균 토픽 일관성에 기초하여 최적화된 사전 확률을 채택하는 단계
를 포함하는 토픽 모델링 방법.

Extracting a topic from an object to optimize prior probabilities associated with the distribution of the topic;
Refining the topic by dividing or merging the extracted topic based on the prior probability; And
Automatically labeling the refined topic by extracting a sentence representative of the refined topic
Including,
The optimizing step,
Extracting the topic from the object;
Calculating an average topic coherence for the topic according to a change in the prior probability; And
Adopting an optimized prior probability based on the average topic consistency
Topic modeling method comprising a.

삭제delete 제1항에 있어서,
상기 계산하는 단계는,
하기 수학식에 기초하여 상기 평균 토픽 일관성을 계산하는 단계
를 포함하는 토픽 모델링 방법.
[수학식]
Figure 112019075134992-pat00034

여기서, TC는 토픽 일관성을 의미하고, sim(wl, wf) 토픽 내의 연관어 wl, wf의 의미 유사도(semantic similarity) 값을 의미함.
The method of claim 1,
The calculating step,
Calculating the average topic consistency based on the following equation
Topic modeling method comprising a.
[Equation]
Figure 112019075134992-pat00034

Here, TC means topic consistency, and means semantic similarity values of the related words w l and w f in the sim (w l , w f ) topic.
제1항에 있어서,
상기 정제하는 단계는,
상기 토픽에 포함된 연관어들의 의미 유사도에 기초하여 상기 토픽을 분할하는 단계; 또는
상기 연관어들로부터 계산한 토픽 간 유사도에 기초하여 상기 토픽을 합병하는 단계
를 포함하는 토픽 모델링 방법.
The method of claim 1,
The purification step,
Dividing the topic based on semantic similarity of the related words included in the topic; or
Merging the topics based on the similarity between the topics calculated from the association terms
Topic modeling method comprising a.
제4항에 있어서,
상기 분할하는 단계는,
상기 연관어들을 군집화하여 복수의 군집을 생성하는 단계;
각각의 군집 내부의 연관어들 간의 의미 유사도를 평균하여 내부 유사도(within-cluster similarity)를 계산하는 단계;
상이한 군집의 연관어들 간의 의미 유사도를 평균하여 교차 유사도((cross-clusters similarity)를 계산하는 단계; 및
상기 내부 유사도와 상기 교차 유사도에 기초하여 복수의 군집을 상이한 토픽으로 분할하는 단계
를 포함하는 토픽 모델링 방법.
The method of claim 4, wherein
The dividing step,
Clustering the association words to generate a plurality of clusters;
Calculating a within-cluster similarity by averaging the semantic similarities between the related words in each cluster;
Calculating cross-clusters similarity by averaging semantic similarities between associations of different clusters; and
Dividing a plurality of clusters into different topics based on the internal similarity and the cross similarity
Topic modeling method comprising a.
제4항에 있어서,
상기 합병하는 단계는,
상기 연관어들에 기초하여 상기 토픽과 상기 토픽에 대한 문장 간의 연관성을 계산하는 단계;
상기 연관성에 기초하여 상기 연관어들을 상기 문장으로 대체하는 단계;
상기 문장과 상이한 토픽에 포함된 문장 간의 코사인 유사도(cosine similarity)를 계산하여 이분 그래프(Bipartite Graph)를 생성하는 단계;
상기 토픽과 상기 상이한 토픽 간의 토픽 유사도를 계산하는 단계; 및
상기 토픽 유사도에 기초하여 상기 토픽과 상기 상이한 토픽을 합병하는 단계
를 포함하는 토픽 모델링 방법.
The method of claim 4, wherein
Merging step,
Calculating an association between the topic and a sentence for the topic based on the association terms;
Replacing the association words with the sentence based on the association;
Generating a bipartite graph by calculating cosine similarity between the sentences and sentences included in different topics;
Calculating a topic similarity between the topic and the different topic; And
Merging the topic with the different topic based on the topic similarity
Topic modeling method comprising a.
제1항에 있어서,
상기 레이블링하는 단계는,
상기 토픽과 연관성이 높은 문장을 후보 문장으로 채택하는 단계; 및
상기 후보 문장에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽을 대표하는 문장을 추출하여 상기 토픽을 레이블링하는 단계
를 포함하는 토픽 모델링 방법.
The method of claim 1,
The labeling step,
Adopting a sentence highly related to the topic as a candidate sentence; And
Labeling the topic by extracting a sentence representative of the topic based on a probability distribution of related words included in the candidate sentence
Topic modeling method comprising a.
제7항에 있어서,
상기 채택하는 단계는,
상기 토픽에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽으로부터 확률값이 작은 연관어들을 제거하는 단계;
상기 토픽에 포함된 문장과 상기 토픽에 포함된 연관어의 쌍을 생성하는 단계;
상기 쌍에 기초하여 각각의 연관어와 쌍을 이루는 문장의 개수를 계산하는 단계; 및
상기 개수에 기초하여 상기 쌍을 제거하여 상기 후보 문장을 채택하는 단계
를 포함하는 토픽 모델링 방법.
The method of claim 7, wherein
The step of adopting,
Removing association words having a small probability value from the topic based on a probability distribution of the association words included in the topic;
Generating a pair of sentences included in the topic and a related word included in the topic;
Calculating the number of sentences paired with each association word based on the pair; And
Removing the pair based on the number to adopt the candidate sentence
Topic modeling method comprising a.
제8항에 있어서,
상기 레이블링하는 단계는,
상기 후보 문장에 포함된 연관어들의 확률 분포 및 상기 쌍에 기초하여 상기 토픽과 상기 후보 문장 간의 레이블링 유사도를 계산하는 단계;
상기 레이블링 유사도에 기초하여 상기 토픽에 대응하는 대표 문장을 추출하는 단계
를 포함하는 토픽 모델링 방법.
The method of claim 8,
The labeling step,
Calculating a labeling similarity between the topic and the candidate sentence based on a probability distribution of the related words included in the candidate sentence and the pair;
Extracting a representative sentence corresponding to the topic based on the labeling similarity
Topic modeling method comprising a.
제9항에 있어서,
상기 레이블링 유사도를 계산하는 단계는,
하기 수학식에 기초하여 상기 레이블링 유사도를 계산하는 단계
를 포함하는 토픽 모델링 방법.
[수학식]
Figure 112018044576975-pat00010

여기서, score는 상기 토픽 T와 상기 후보 문장 s의 상기 레이블링 유사도(similarity between T and s)를 의미하고, t는 상기 토픽 내의 단어를 의미하고, α는 각 항의 중요도를 나타내는 가중치를 의미하고, P(t)는 토픽 단어 t에 대한 확률 값을 의미하고, wordnet(w', T)는 s를 구성하는 단어 중 T에 없는 단어 w'와 토픽 T에 있는 각 단어 간의 워드넷 기반의 의미 유사도(semantic similarity based on WordNet)를 의미함.
The method of claim 9,
Computing the labeling similarity,
Calculating the labeling similarity based on the following equation
Topic modeling method comprising a.
[Equation]
Figure 112018044576975-pat00010

Here, score means the labeling similarity between the topic T and the candidate sentence s (similarity between T and s), t means a word within the topic, and α means a weight indicating the importance of each term, P (t) denotes a probability value for the topic word t, and wordnet (w ', T) is a wordnet-based semantic similarity between the words constituting s that are not in T and each word in topic T ( semantic similarity based on WordNet).
객체를 수신하는 수신기; 및
상기 객체로부터 토픽을 추출하고, 정제하여 상기 토픽을 자동으로 레이블링하는 컨트롤러;
를 포함하고,
상기 컨트롤러는,
상기 객체로부터 상기 토픽을 추출하여 상기 토픽의 분포와 관련된 사전 확률을 최적화하는 사전 확률 추출기;
상기 사전 확률에 기초하여 추출된 상기 토픽을 분할 또는 합병함으로써 상기 토픽을 정제하는 토픽 정제기; 및
정제된 토픽을 대표하는 문장을 추출함으로써 상기 정제된 토픽을 자동으로 레이블링(labeling)하는 레이블러(labeler)
를 포함하고,
상기 사전 확률 추출기는,
상기 객체로부터 상기 토픽을 추출하고, 상기 토픽에 대하여 상기 사전 확률의 변화에 따른 평균 토픽 일관성(coherence)을 계산하고, 상기 평균 토픽 일관성에 기초하여 최적화된 사전 확률을 채택하는
토픽 모델링 장치.

A receiver receiving the object; And
A controller that extracts and refines a topic from the object to automatically label the topic;
Including,
The controller,
A prior probability extractor for extracting the topic from the object to optimize a prior probability associated with the distribution of the topic;
A topic refiner for refining the topic by dividing or merging the extracted topic based on the prior probability; And
A labeler that automatically labels the refined topic by extracting sentences representing the refined topic
Including,
The prior probability extractor,
Extract the topic from the object, calculate an average topic coherence for the topic according to the change of the prior probability, and adopt an optimized prior probability based on the average topic consistency
Topic modeling device.

삭제delete 제11항에 있어서,
상기 사전 확률 추출기는,
하기 수학식에 기초하여 상기 평균 토픽 일관성을 계산하는
토픽 모델링 장치.
[수학식]
Figure 112019075134992-pat00035

여기서, TC는 토픽 일관성을 의미하고, sim(wl, wf) 토픽 내의 연관어 wl, wf의 의미 유사도(semantic similarity)값을 의미함.
The method of claim 11,
The prior probability extractor,
Computing the average topic consistency based on the following equation
Topic modeling device.
[Equation]
Figure 112019075134992-pat00035

Here, TC means topic consistency and semantic similarity value of the related words w l and w f in the sim (w l , w f ) topic.
제11항에 있어서,
상기 토픽 정제기는,
상기 토픽 내에 포함된 연관어들의 의미 유사도에 기초하여 상기 토픽을 분할하거나 상기 연관어들에 기초한 상기 토픽 사이의 유사도에 기초하여 상기 토픽을 합병하는
토픽 모델링 장치.
The method of claim 11,
The topic purifier,
Dividing the topic based on semantic similarity of association terms included in the topic or merging the topic based on similarity between the topics based on the association terms.
Topic modeling device.
제14항에 있어서,
상기 토픽 정제기는,
상기 연관어들을 군집화하여 복수의 군집을 생성하고, 각각의 군집 내부의 연관어들 간의 의미 유사도를 평균하여 내부 유사도를 계산하고, 상이한 군집의 연관어들 간의 의미 유사도를 평균하여 교차 유사도를 계산하고, 상기 내부 유사도와 상기 교차 유사도에 기초하여 복수의 군집을 상이한 토픽으로 분할하는
토픽 모델링 장치.
The method of claim 14,
The topic purifier,
Clustering the related words to generate a plurality of clusters, calculating the internal similarity by averaging the semantic similarities between the related words in each cluster, calculating the cross similarity by averaging the semantic similarities between the related words of the different clusters, Dividing the plurality of clusters into different topics based on the internal similarity and the cross similarity
Topic modeling device.
제14항에 있어서,
상기 토픽 정제기는,
상기 연관어들에 기초하여 상기 토픽과 상기 토픽에 대한 문장 간의 연관성을 계산하고, 상기 연관성에 기초하여 상기 연관어들을 상기 문장으로 대체하고, 상기 문장과 상이한 토픽에 포함된 문장 간의 코사인 유사도를 계산하여 이분 그래프(Bipartite Graph)를 생성하고, 상기 토픽과 상기 상이한 토픽 간의 토픽 유사도를 계산하고, 상기 토픽 유사도에 기초하여 상기 토픽과 상기 상이한 토픽을 합병하는
토픽 모델링 장치.
The method of claim 14,
The topic purifier,
Calculate an association between the topic and a sentence for the topic based on the association words, replace the association words with the sentence based on the association, and calculate cosine similarity between the sentence and sentences contained in a different topic Generate a Bipartite Graph, calculate topic similarity between the topic and the different topics, and merge the topic and the different topics based on the topic similarity.
Topic modeling device.
제11항에 있어서,
상기 레이블러는,
상기 토픽과 연관성이 높은 문장을 후보 문장으로 채택하고, 상기 후보 문장에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽을 대표하는 문장을 추출하여 상기 토픽을 레이블링하는
토픽 모델링 장치.
The method of claim 11,
The labeler is,
Labeling the topic by adopting a sentence highly related to the topic as a candidate sentence, extracting a sentence representing the topic based on a probability distribution of related words included in the candidate sentence
Topic modeling device.
제17항에 있어서,
상기 레이블러는,
상기 토픽에 포함된 연관어들의 확률 분포에 기초하여 상기 토픽으로부터 확률값이 작은 연관어들을 제거하고, 상기 토픽에 포함된 문장과 상기 토픽에 포함된 연관어의 쌍을 생성하고, 상기 쌍에 기초하여 각각의 연관어와 쌍을 이루는 문장의 개수를 계산하고, 상기 개수에 기초하여 상기 쌍을 제거하여 상기 후보 문장을 채택하는
토픽 모델링 장치.
The method of claim 17,
The labeler is,
Based on a probability distribution of related words included in the topic, removing related words having a small probability value from the topic, generating a sentence included in the topic and a pair of related words included in the topic, and based on the pair Calculating the number of sentences paired with each association word, and removing the pair based on the number to adopt the candidate sentence.
Topic modeling device.
제18항에 있어서,
상기 레이블러는,
상기 후보 문장에 포함된 연관어들의 확률 분포 및 상기 쌍에 기초하여 상기 토픽과 상기 후보 문장 간의 레이블링 유사도를 계산하고, 상기 레이블링 유사도에 기초하여 상기 토픽에 대응하는 대표 문장을 추출하는
토픽 모델링 장치.
The method of claim 18,
The labeler is,
Calculating a labeling similarity between the topic and the candidate sentence based on a probability distribution of the related words included in the candidate sentence and the pair, and extracting a representative sentence corresponding to the topic based on the labeling similarity;
Topic modeling device.
제19항에 있어서,
상기 레이블러는,
하기 수학식에 기초하여 상기 레이블링 유사도를 계산하는
토픽 모델링 장치.
[수학식]
Figure 112018044576975-pat00012

여기서, score는 상기 토픽 T와 상기 후보 문장 s의 상기 레이블링 유사도(similarity between T and s)를 의미하고, t는 상기 토픽 내의 단어를 의미하고, α는 각 항의 중요도를 나타내는 가중치를 의미하고, P(t)는 토픽 단어 t에 대한 확률 값을 의미하고, wordnet(w', T)는 s를 구성하는 단어 중 T에 없는 단어 w'와 토픽 T에 있는 각 단어 간의 워드넷 기반의 의미 유사도(semantic similarity based on WordNet)를 의미함.
The method of claim 19,
The labeler is,
Computing the labeling similarity based on the following equation
Topic modeling device.
[Equation]
Figure 112018044576975-pat00012

Here, score means the labeling similarity between the topic T and the candidate sentence s (similarity between T and s), t means a word within the topic, and α means a weight indicating the importance of each term, P (t) denotes a probability value for the topic word t, and wordnet (w ', T) is a wordnet-based semantic similarity between the words constituting s that are not in T and each word in topic T ( semantic similarity based on WordNet).
KR1020180052080A 2018-05-04 2018-05-04 Topic model automation method and apparatus using latent dirichlet allocation KR102052823B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180052080A KR102052823B1 (en) 2018-05-04 2018-05-04 Topic model automation method and apparatus using latent dirichlet allocation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180052080A KR102052823B1 (en) 2018-05-04 2018-05-04 Topic model automation method and apparatus using latent dirichlet allocation

Publications (2)

Publication Number Publication Date
KR20190127448A KR20190127448A (en) 2019-11-13
KR102052823B1 true KR102052823B1 (en) 2019-12-05

Family

ID=68535306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180052080A KR102052823B1 (en) 2018-05-04 2018-05-04 Topic model automation method and apparatus using latent dirichlet allocation

Country Status (1)

Country Link
KR (1) KR102052823B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102613227B1 (en) * 2022-10-21 2023-12-15 (주)공간인소프트 Electronic device for evaluating water supply reliability in agricultural reservoir based on big data and machine learning and controlling method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277409A (en) * 2009-05-29 2010-12-09 Toshiba Corp Representative sentence extracting device and program
JP2015503776A (en) * 2012-03-28 2015-02-02 三菱電機株式会社 How to process text and build a model of text
KR101671740B1 (en) * 2015-07-07 2016-11-16 숭실대학교산학협력단 Apparatus and method for extracting topics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277409A (en) * 2009-05-29 2010-12-09 Toshiba Corp Representative sentence extracting device and program
JP2015503776A (en) * 2012-03-28 2015-02-02 三菱電機株式会社 How to process text and build a model of text
KR101671740B1 (en) * 2015-07-07 2016-11-16 숭실대학교산학협력단 Apparatus and method for extracting topics

Also Published As

Publication number Publication date
KR20190127448A (en) 2019-11-13

Similar Documents

Publication Publication Date Title
US11573996B2 (en) System and method for hierarchically organizing documents based on document portions
CN103514183B (en) Information search method and system based on interactive document clustering
US8909615B2 (en) System and method of managing capacity of search index partitions
Jonnalagadda et al. A new iterative method to reduce workload in systematic review process
Olariu Efficient online summarization of microblogging streams
Bancken et al. Automatically detecting and rating product aspects from textual customer reviews
CN108108426B (en) Understanding method and device for natural language question and electronic equipment
WO2017092337A1 (en) Comment tag extraction method and apparatus
US20130159348A1 (en) Computer-Implemented Systems and Methods for Taxonomy Development
CN107688616B (en) Make the unique facts of the entity appear
Pervin et al. Fast, scalable, and context-sensitive detection of trending topics in microblog post streams
Yıldırım et al. Identifying topics in microblogs using Wikipedia
US11036818B2 (en) Method and system for detecting graph based event in social networks
Karkali et al. Using temporal IDF for efficient novelty detection in text streams
CN115146062A (en) Intelligent event analysis method and system fusing expert recommendation and text clustering
Maharjan et al. A straightforward author profiling approach in mapreduce
Çelik et al. Gender prediction from social media comments with artificial intelligence
KR102052823B1 (en) Topic model automation method and apparatus using latent dirichlet allocation
KR102007437B1 (en) Apparatus for classifying contents and method for using the same
Zhu et al. Research on summary sentences extraction oriented to live sports text
JP2016218512A (en) Information processing device and information processing program
KR102126911B1 (en) Key player detection method in social media using KeyplayerRank
Camelin et al. Frnewslink: a corpus linking tv broadcast news segments and press articles
Lee et al. Automatic stop word generation for mining software artifact using topic model with pointwise mutual information
WO2019132648A1 (en) System and method for identifying concern evolution within temporal and geospatial windows

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right