KR102132142B1 - Method and apparatus for recommending vocabulary from data dictionary based on natural language processing technique - Google Patents
Method and apparatus for recommending vocabulary from data dictionary based on natural language processing technique Download PDFInfo
- Publication number
- KR102132142B1 KR102132142B1 KR1020200035512A KR20200035512A KR102132142B1 KR 102132142 B1 KR102132142 B1 KR 102132142B1 KR 1020200035512 A KR1020200035512 A KR 1020200035512A KR 20200035512 A KR20200035512 A KR 20200035512A KR 102132142 B1 KR102132142 B1 KR 102132142B1
- Authority
- KR
- South Korea
- Prior art keywords
- terms
- data
- term
- dictionary
- target word
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
Description
아래의 설명은 자연어 처리 기법에 기반하여 데이터 사전으로부터의 용어를 추천하는 방법 및 장치에 관한 것으로, 특히, 통계적 방법 또는 머신러닝 기반의 방법에 따라 데이터 사전으로부터 타겟 단어와 유사한 용어들을 순위화하여 추천하는 기술에 관한 것이다. The following description relates to a method and apparatus for recommending terms from a data dictionary based on a natural language processing technique, in particular, ranking and recommending terms similar to target words from a data dictionary according to a statistical method or a machine learning based method It is about technology.
4차 산업이 활성화되고 이에 대한 관심이 높아짐에 따라, IT, 금융, 경제, 의료 등 여러 업종들 및 분야들에서 다양한 종류의 데이터가 대규모로 생성되고 있으며, 이러한 데이터를 관리하기 위해 많은 자원이 소비되고 있다.As the 4th industry is activated and interest in it is growing, various kinds of data are being generated in large scale in various industries and sectors such as IT, finance, economy, and healthcare, and a lot of resources are consumed to manage this data. Is becoming.
데이터를 관리하기 위해, 비즈니스/데이터 사전이 사용되고 있다. 이러한 비즈니스/데이터 사전은 기업이 현장에서 사용하는 비즈니스 용어를 유지하고 관리하기 위한 도구이다. To manage data, business/data dictionary is used. These business/data dictionaries are tools for maintaining and managing business terminology used by companies in the field.
그러나, 비즈니스/데이터 사전에서는 중복된 단어가 생성되고 유지되는 문제가 있으며, 이러한 용어의 정리, 제거 및 유지에 추가적인 비용이 소요되는 경우가 많다. 또한, 예컨대, 기업의 인수 합병이 있는 경우나, 계열사들이 사용하는 용어 중 중복되는 용어(단어)를 삭제하고, 단축된 약어들을 통합하고자 하는 경우에는 여러 데이터 사전들을 통합하는 통합 사전을 재설계하여 구축할 필요가 있다. However, in the business/data dictionary, there is a problem in that duplicate words are generated and maintained, and additional costs are often required to organize, remove, and maintain these terms. Also, for example, in the case of a merger or acquisition of a company, or when overlapping terms (words) among terms used by affiliates are to be deleted, and shortened abbreviations are to be integrated, an integrated dictionary that incorporates multiple data dictionaries is redesigned. Need to build.
이와 같이, 데이터 사전들을 통합하는 데이터 통합 및 데이터 사전 표준화를 수행하기 위해서는, 데이터 사전들에 포함되어 있는 용어(단어)들로부터 유사한 용어(단어)를 판정해 내는 것이 중요하다.As such, in order to perform data integration and data dictionary standardization incorporating data dictionaries, it is important to determine similar terms (words) from terms (words) included in the data dictionaries.
한편, 한국공개특허 제10-2014-0133383호(공개일 2014년 11월 19일)에는 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 시스템으로서, 클라우드 환경 하에서 외부 저장 공간에 데이터와 키워드를 암호화하여 저장하고, 키워드들에 대한 검색 가능한 암호문을 생성하여, 검색하려는 키워드에 대한 토큰을 이용해 암호화된 키워드들로부터 해당 키워드를 포함하는 데이터의 검색 등을 가능하게 하는 기술에 관해 개시하고 있다. On the other hand, Korean Patent Publication No. 10-2014-0133383 (published on November 19, 2014) is a data management device, data management method, and data management system that encrypts and stores data and keywords in an external storage space under a cloud environment. And, it discloses a technique for generating a searchable ciphertext for keywords and enabling retrieval of data including the corresponding keyword from keywords encrypted using a token for the keyword to be searched.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.The information described above is for illustrative purposes only, may include content that does not form part of the prior art, and may not include what the prior art can present to those skilled in the art.
복수의 용어들을 데이터 항목들로서 포함하는 데이터 사전에 대해 전처리를 수행하고, 자연어 처리 기법에 기반하여, 전처리된 데이터 사전으로부터 타겟 단어와 관련되는 적어도 하나의 용어를 결정하여 추천 용어로서 제공하는, 데이터 사전으로부터의 용어를 추천하는 방법이 제공될 수 있다. A data dictionary that performs pre-processing on a data dictionary that includes a plurality of terms as data items and determines at least one term related to a target word from a pre-processed data dictionary based on a natural language processing technique and provides it as a recommended term A method of recommending terms from can be provided.
복수의 데이터 사전들로 구성된 다중 데이터 사전에 대해, 통계적 방법 또는 머신러닝 기반의 방법을 사용하여, 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 순위화하여 추천 용어들로서 출력하는 방법이 제공될 수 있다. For multiple data dictionaries composed of a plurality of data dictionaries, a method of ranking a plurality of terms with high similarity to a target word and outputting them as recommended terms using a statistical method or a machine learning based method may be provided. have.
일 측면에 있어서, 컴퓨터 시스템에 의해 수행되는, 데이터 사전으로부터의 용어를 추천하는 방법에 있어서, 복수의 용어들을 데이터 항목들로서 포함하는 적어도 하나의 데이터 사전에 대해 전처리를 수행하는 단계, 자연어 처리 기법에 기반하여, 타겟 단어에 대해, 상기 전처리된 데이터 사전으로부터 상기 타겟 단어와 관련되는 적어도 하나의 용어를 결정하는 단계 및 상기 타겟 단어에 대한 추천 용어로서, 상기 결정된 용어를 출력하는 단계를 포함하는, 용어를 추천하는 방법이 제공된다. In one aspect, a method for recommending a term from a data dictionary, performed by a computer system, comprising: preprocessing at least one data dictionary comprising a plurality of terms as data items, a natural language processing technique. Based on the target word, determining at least one term related to the target word from the pre-processed data dictionary and outputting the determined term as a recommended term for the target word How to recommend is provided.
데이터 사전은 복수의 데이터 사전들로 구성된 다중 데이터 사전이고, 상기 데이터 사전들이 데이터 항목들로서 포함하는 복수의 용어들의 각각은 약어이고, 상기 전처리를 수행하는 단계는, 상기 데이터 사전들의 각 데이터 사전에 대해, 소정의 언어에 해당하는 용어들을 추출하는 단계 및 상기 추출된 용어들 중 중복된 용어를 제거함으로써, 상기 추출된 용어들 중 중복된 용어가 제거된 전처리 용어들을 획득하는 단계를 포함하고, 상기 용어를 결정하는 단계는, 상기 복수의 용어들 중에서, 상기 타겟 단어에 대한 유사도가 상위인 용어들을 결정하고, 상기 출력하는 단계는, 상기 결정된 용어들을 순위화하여 출력할 수 있다. The data dictionary is a multiple data dictionary composed of a plurality of data dictionaries, each of a plurality of terms that the data dictionaries include as data items is an abbreviation, and the step of performing the preprocessing is for each data dictionary of the data dictionaries , Extracting terms corresponding to a predetermined language and removing duplicate terms among the extracted terms to obtain pre-processed terms in which the duplicate terms are removed from the extracted terms. In the determining, among the plurality of terms, the terms having a similarity with respect to the target word are determined, and the outputting step may rank and output the determined terms.
상기 자연어 처리 기법은 통계적 방법이고, 상기 용어를 결정하는 단계는, 상기 타겟 단어의 단어 벡터를 결정하는 단계, 상기 전처리 용어들의 각각의 단어 벡터와 상기 타겟 단어의 단어 벡터 간의 코사인 유사도를 계산하는 단계 및 상기 계산된 코사인 유사도가 상위인 적어도 2개의 용어들을 상기 유사도가 상위인 복수의 용어들로서 결정하는 단계를 포함할 수 있다.The natural language processing technique is a statistical method, and determining the term includes: determining a word vector of the target word, calculating cosine similarity between each word vector of the pre-processed terms and the word vector of the target word. And determining at least two terms having a higher cosine similarity as the plurality of terms having a higher similarity.
상기 자연어 처리 기법은 머신러닝 기반의 방법이고, 상기 용어를 결정하는 단계는, 상기 전처리 용어들 중에서, 상기 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정하도록 훈련된 머신러닝 기반의 모델을 사용하여, 상기 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정하고, 상기 머신러닝 기반의 모델은 손실(loss)이 수렴되도록, 학습 속도(learning rate), 에포크의 수(number of epochs), 은닉 레이어(hidden layers), 은닉 유닛(hidden units) 및 활성화 함수(activation functions) 중 적어도 하나의 하이퍼 파라미터가 조정되어 훈련될 수 있다. The natural language processing technique is a machine learning-based method, and the step of determining the term uses a machine learning-based model trained to determine a plurality of terms having high similarity to the target word among the pre-processed terms. Thus, a plurality of terms having high similarity to the target word are determined, and the machine learning-based model is configured such that the learning rate, the number of epochs, and the concealment are performed so that the loss converges. At least one hyper parameter among hidden layers, hidden units, and activation functions may be adjusted and trained.
상기 머신러닝 기반의 모델은 Word2Vec 기반의 모델일 수 있다. The machine learning based model may be a Word2Vec based model.
상기 용어를 결정하는 단계는, 상기 타겟 단어의 문맥을 결정하기 위해 사용되는 윈도우 크기(window size)는 5 이하로 설정되고, 상기 소정의 언어는 상기 타겟 단어와 동일한 언어일 수 있다. In determining the term, a window size used to determine the context of the target word is set to 5 or less, and the predetermined language may be the same language as the target word.
상기 용어를 추천하는 방법은, 상기 타겟 단어가 상기 복수의 용어들에 포함되어 있지 않은 경우, 상기 타겟 단어의 상기 데이터 사전에 대한 등록이 필요함을 나타내는 통지를 출력하는 단계를 더 포함할 수 있다. The method of recommending the term may further include outputting a notification indicating that registration of the target word to the data dictionary is necessary when the target word is not included in the plurality of terms.
상기 각 데이터 사전은 하나의 기업 또는 업종과 관련된 데이터에 기반하여 구축된 표준 사전이고, 상기 복수의 데이터 사전들에 대응하는 표준 사전들은, 상기 데이터 사전들과 연관된 기업들 또는 업종들과 관련된 데이터에 대한 데이터 저장소 시스템들을 관리하는 통합 데이터 저장소 관리 시스템에 의해, 통합 딕셔너리로서 구축되고, 상기 통합 딕셔너리는, 상기 복수의 용어들의 각각을, 상기 표준 사전들 중 어느 하나와만 연관되는 개별 표준 용어, 상기 표준 사전들 중 적어도 2개와 연관되되 전부와는 연관되지 않는 부문 표준 용어, 또는 상기 표준 사전들 모두와 연관되는 전사 표준 용어로 분류할 수 있다.Each data dictionary is a standard dictionary constructed based on data related to one company or industry, and standard dictionaries corresponding to the plurality of data dictionaries are associated with data related to companies or industries associated with the data dictionaries. Built by an integrated data storage management system that manages data storage systems for, as an integrated dictionary, the integrated dictionary, each of the plurality of terms, individual standard terms associated only with any one of the standard dictionaries, the It can be classified as a divisional standard term associated with at least two of the standard dictionaries, but not all, or a transcription standard term associated with all of the standard dictionaries.
상기 통합 딕셔너리를 통해 상기 타겟 단어로서 특정 용어가 조회될 때, 상기 특정 용어에 대한 유사도가 상위인 복수의 용어들과 함께, 상기 특정 용어가 상기 개별 용어, 상기 부문 용어 또는 상기 전사 용어에 해당하는지가 함께 조회될 수 있다. When a specific term is searched as the target word through the integrated dictionary, whether the specific term corresponds to the individual term, the division term, or the transcription term, along with a plurality of terms having similarity to the specific term end Can be queried together.
상기 머신러닝 기반의 모델은 강화 학습(Reinforcement Learning)에 기반하여 훈련된 모델이고, 상기 머신러닝 기반의 모델은 상기 타겟 단어에 대한 유사도가 상위인 복수의 용어들에 대한 결정에 기반하여 업데이트될 수 있다. The machine learning-based model is a trained model based on reinforcement learning, and the machine learning-based model can be updated based on a determination of a plurality of terms with high similarity to the target word. have.
실시예들을 통해서는, 단일한 데이터 사전 뿐만아니라, 복수의 데이터 사전들로 구성된 다중 데이터 사전에 대해서도, 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 추천 받을 수 있고, 이를 통해, 다중 데이터 사전을 표준화할 수 있다. Through the embodiments, not only a single data dictionary, but also multiple data dictionaries composed of a plurality of data dictionaries may be recommended a plurality of terms having high similarity to a target word, through which multiple data dictionaries Can be standardized.
자연어 처리 기법을 사용하여, 타겟 단어에 대한 추천 용어들을 제공하도록 함으로써, 영어 단어의 약어를 포함하는 데이터 사전에 대해서도, 타겟 단어에 대한 유사 용어들을 효과적으로 결정할 수 있다.By using natural language processing techniques to provide recommended terms for the target word, similar terms for the target word can be effectively determined even for a data dictionary containing abbreviations of English words.
여러 데이터 사전들을 통합하는 통합 사전에 대한 활용성과, 통합 사전을 통한 데이터 관리의 편의성을 극대화할 수 있다. It is possible to maximize the usability of the integrated dictionary that integrates multiple data dictionaries and the convenience of data management through the integrated dictionary.
도 1은 일 실시예에 따른, 데이터 사전으로부터의 용어를 추천하는 방법을 나타낸다.
도 2는 일 실시예에 따른, 데이터 사전으로부터의 용어를 추천하는 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른, 데이터 사전으로부터의 용어를 추천하는 방법을 나타내는 흐름도이다.
도 4는 일 예에 따른, 자연어 처리 기법으로서 통계적 방법을 사용하여, 타겟 단어에 대한 추천 용어들을 결정하는 방법을 나타낸다.
도 5는 일 예에 따른, 타겟 단어에 대한 추천 용어들을 결정하기 위해 사용되는 윈도우의 크기를 나타낸다.
도 6은 일 예에 따른, 자연어 처리 기법으로서 머신러닝 기반의 방법을 사용하는 경우에 있어서, 하이퍼 파라미터 튜닝에 따른 손실(loss)의 변화를 나타낸다.
도 7은 일 예에 따른, 타겟 단어에 대한 추천 용어들의 제공의 결과를 나타낸다.
도 8은 일 예에 따른, 단일한 데이터 사전으로부터의 타겟 단어에 대한 추천 용어들의 제공의 결과를 나타낸다.
도 9는 일 예에 따른, 복수의 데이터 사전들을 포함하는 다중 데이터 사전으로부터의 타겟 단어에 대한 추천 용어들의 제공의 결과를 나타낸다.
도 10은 일 예에 따른, 통합 데이터 저장소 관리 시스템을 구축하고, 구축된 통합 데이터 저장소 관리 시스템을 통해 데이터를 조회하는 방법을 나타낸다.
도 11은 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템을 사용하여 각 업종에 대한 데이터를 통합 및 연결하는 방법을 나타낸다.
도 12는 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템에서 정의되는 용어/도메인/표준의 분류 체계를 나타낸다.
도 13 및 도 14는 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템을 사용하여 개별/부문/전사 표준을 관리하는 방법을 나타낸다.
도 15는 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템을 사용하여 구현되는 통합 딕셔너리를 나타낸다. 1 illustrates a method for recommending terms from a data dictionary, according to one embodiment.
2 is a block diagram illustrating an example of an internal configuration of a computer system that recommends terms from a data dictionary, according to one embodiment.
3 is a flow diagram illustrating a method for recommending terms from a data dictionary, according to one embodiment.
4 illustrates a method of determining recommended terms for a target word using a statistical method as a natural language processing technique according to an example.
5 illustrates a size of a window used to determine recommended terms for a target word, according to an example.
6 shows a change in loss according to hyperparameter tuning in the case of using a machine learning-based method as a natural language processing technique according to an example.
7 shows a result of providing recommended terms for a target word according to an example.
8 shows the result of providing recommended terms for a target word from a single data dictionary, according to an example.
9 shows the result of providing recommended terms for a target word from a multiple data dictionary that includes a plurality of data dictionaries, according to an example.
10 illustrates a method of constructing an integrated data storage management system and querying data through the integrated integrated data storage management system, according to an example.
11 illustrates a method of integrating and linking data for each industry using an integrated data storage management system constructed according to an example.
12 illustrates a classification system of terms/domains/standards defined in an integrated integrated data storage management system according to an example.
13 and 14 illustrate a method for managing individual/sector/enterprise standards using an integrated integrated data storage management system, according to an example.
15 illustrates an integrated dictionary implemented using an integrated integrated data storage management system, according to an example.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른, 데이터 사전으로부터의 용어를 추천하는 방법을 나타낸다. 1 illustrates a method for recommending terms from a data dictionary, according to one embodiment.
도시된 것처럼, 실시예에서는, 자연어 처리 기법에 기반하여, 데이터 사전(10)(예컨대, 데이터 사전 1 내지 데이터 사전 N 중 적어도 하나)으로부터, 타겟 단어(예컨대, PRDT)에 대한 추천 용어들(100)(예컨대, PDNO, FNNC, PPUL, NMCO 및 FLCU)을 제공할 수 있다. 자연어 처리 기법은 예컨대, 통계적 기반의 방법(통계적 방법) 또는 머신러닝 기반의 방법일 수 있다. As shown, in an embodiment, based on the natural language processing technique, from the data dictionary 10 (eg, at least one of
통계적 기반의 방법은 통계적인 분석을 통해, 데이터 사전(10)으로부터 타겟 단어에 대한 추천 용어들(100)을 결정하는 기법일 수 있다.The statistical-based method may be a technique for determining recommended
머신러닝 기반의 방법은, 딥러닝 모델과 같은, 머신러닝 모델을 통해 데이터 사전(10)으로부터 타겟 단어에 대한 추천 용어들(100)을 결정하는 기법일 수 있다. 머신러닝 모델은, 예컨대, 데이터 사전(10)의 데이터 항목들로부터, 소정의 타겟 단어와 관련되는(예컨대, 유사도가 높은) 추천 용어들(100)을 결정(추론)하도록 훈련된 딥러닝 모델일 수 있다. 데이터 사전(10)과 타겟 단어에 대해 이러한 머신러닝 모델이 적용됨으로써, 데이터 사전(10)과 관련된 용어들이 추천 용어들(50)로서 제공되어 출력될 수 있다. The machine learning based method may be a technique of determining recommended
여기서, 데이터 사전(10)은 특정한 업종이나, 기업(기관) 또는 기업의 계열사에서 사용하는 용어나 단어를 데이터 항목으로서 포함하는 것일 수 있다. 한편, 하나의 용어는 복수의 단어들로 구성될 수 있다. 데이터 사전(10)의 데이터 항목은 메타데이터일 수 있다. Here, the
데이터 사전(10)에 포함되는 용어 또는 단어는 표준화된 것(즉, 표준화되어 등록된 것)으로서 표준 용어 또는 표준 단어일 수 있다. 이 때, 데이터 사전(10)은 표준 사전(즉, 표준 용어 사전)에 해당할 수 있다. The terms or words included in the
본 개시에서의 데이터 사전(10)은 비즈니스 (용어) 사전일 수 있고, 또는, 표준 용어 사전일 수 있다. 따라서, 데이터 사전(10)에 포함되는 용어는 비즈니스 용어 또는 표준 용어가 될 수 있다.The
'표준화'란 코드, 용어, 데이터 도메인 등의 표준을 수립하여 공공 데이터베이스(DB)에 일관되게 적용하는 일련의 활동을 의미할 수 있고, 표준 용어(단어)는 데이터를 사용하는 사용자 간의 명확한 의사소통을 지원하기 위해 각 기관에서 업무적으로 사용하고 있는 단어 및 단어의 조합으로 구성되는 용어의 표준을 정의한 것을 나타낼 수 있다. 표준 용어 사전은 이러한 표준 용어와 공통 표준 용어의 집합을 나타낼 수 있다. 각각의 기업(기관)과 기업의 계열사는 개별적인 표준 용어 사전을 가지고 있을 수 있다. 'Standardization' can mean a series of activities that establish standards such as codes, terms, and data domains and apply them consistently to a public database (DB), and standard terms (words) clearly communicate between users who use data. It can refer to the definition of a term consisting of a word and a combination of words that are used by each institution in order to support. The standard term dictionary can refer to a set of these standard terms and common standard terms. Each company (institution) and its affiliates may have separate standard term dictionaries.
실시예에서는, 자연어 처리 기법을 사용하여, 단일한 데이터 사전(10)에 대해서 뿐만아니라 복수의 데이터 사전들로 구성된 다중 데이터 사전(10)으로부터도, 소정의 타겟 단어와 관련된 추천 용어들(100)을 제공 받을 수 있다. In an embodiment, using natural language processing techniques,
이와 같이, 자연어 처리 기법을 사용하여, 데이터 사전(들)(10)로부터 추천 용어들(100)을 제공 받는 방법에 대해서는, 후술될 도 2 내지 도 15를 참조하여 더 자세하게 설명된다. As described above, a method of receiving the recommended
도 2는 일 실시예에 따른, 데이터 사전으로부터의 용어를 추천하는 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.2 is a block diagram illustrating an example of an internal configuration of a computer system that recommends terms from a data dictionary, according to one embodiment.
도 2에서 도시한 바와 같이, 컴퓨터 시스템(200)은 데이터 사전(들)(10)로부터 타겟 단어에 대한 추천 용어들(100)을 제공하기 위한 방법을 실행하기 위한 구성요소로서 프로세서(210), 메모리(220), 영구 저장 장치(230), 버스(240), 입출력 인터페이스(250) 및 네트워크 인터페이스(260)를 포함할 수 있다. 컴퓨터 시스템(200)은 도시된 것과는 달리 복수의 컴퓨터 시스템들로 구성될 수도 있다. 컴퓨터 시스템(200)은, 예컨대, 데이터 사전(10)(또는 이와 관련된 데이터)을 관리 및 활용하는 기업 또는 단체나 그 계열사 혹은 본사에서 사용하는 서버 또는 기타 컴퓨터일 수 있다. As shown in FIG. 2, the
프로세서(210)는 데이터 사전(들)(10)로부터 타겟 단어에 대한 추천 용어들(100)을 제공하기 위한 방법을 구현하기 위한 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(210)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(210)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼 등에 포함될 수 있다. 프로세서(210)는 버스(240)를 통해 메모리(220)에 접속될 수 있다.
메모리(220)는 컴퓨터 시스템(200)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(220)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 다이내믹 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(220)는 컴퓨터 시스템(200)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(220)는 예를 들어, 데이터 사전(들)(10)로부터 타겟 단어에 대한 추천 용어들(100)을 제공하기 위한 방법의 수행을 위한 명령어들을 포함하는 컴퓨터 시스템(200)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(200)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(210)를 포함할 수 있다.The
버스(240)는 컴퓨터 시스템(200)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(240)는 예를 들어, 컴퓨터 시스템(200)의 컴포넌트들 사이에서, 예를 들어, 프로세서(210)와 메모리(220) 사이에서 데이터를 운반할 수 있다. 버스(240)는 컴퓨터 시스템(200)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.The
영구 저장 장치(230)는 (예를 들어, 메모리(220)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(200)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(230)는 컴퓨터 시스템(200) 내의 프로세서(210)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(230)는 예를 들어, 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
전술된 머신러닝 기반의 방법에 따른 추천 용어들(100)의 제공을 위해 사용되는 머신러닝 모델은 메모리(220) 또는 영구 저장 장치(230) 내에서 구현되어 있을 수 있다. 또는, 이러한 머신러닝 모델은 컴퓨터 시스템(200)의 외부에 존재하는 다른 컴퓨터 시스템 상에서 구현되어 있을 수 있다. The machine learning model used to provide the recommended
입출력 인터페이스(250)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다.The input/
네트워크 인터페이스(260)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(260)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. The
또한, 다른 실시예들에서의 컴퓨터 시스템(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요는 없다. 예를 들어, 컴퓨터 시스템(200)은 상술한 입출력 인터페이스(250)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Also, the
이러한 컴퓨터 시스템(200)을 통해 구현되는 실시예들을 통해, 단일한 데이터 사전(10) 또는 복수의 데이터 사전들을 포함하는 다중 데이터 사전(10)으로부터 타겟 단어에 대한 추천 용어들(100)이 제공될 수 있다.Through embodiments implemented through such a
이상 도 1을 참조하여 전술된 기술적 특징들에 대한 설명은 도 2에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the above-described technical features with reference to FIG. 1 can be applied to FIG. 2 as it is, and duplicate description is omitted.
후술될 상세한 설명에서, 컴퓨터 시스템(200)의 구성(예컨대, 프로세서(210))에 의해 수행되는 동작은 설명의 편의상 컴퓨터 시스템(200)에 의해 수행되는 동작으로 설명될 수 있다. In the detailed description to be described later, an operation performed by a configuration (eg, processor 210) of the
또한, 본 개시에서 "사전"이라는 용어는 "딕셔너리"와 혼용하여 사용될 수 있고, 특별히 구분하고 있지 않은 한 양자는 서로 대체되어 사용될 수도 있다. Further, in the present disclosure, the term "dictionary" may be used interchangeably with "dictionary", and unless otherwise specified, both may be used interchangeably.
도 3은 일 실시예에 따른, 데이터 사전으로부터의 용어를 추천하는 방법을 나타내는 흐름도이다. 3 is a flow diagram illustrating a method for recommending terms from a data dictionary, according to one embodiment.
단계(310)에서, 컴퓨터 시스템(200)은 복수의 용어들을 데이터 항목들로서 포함하는 적어도 하나의 데이터 사전(10)에 대해 전처리를 수행할 수 있다. 이러한 전처리의 작업은 데이터 사전(10)을 후술될 자연어 처리 기법(예컨대, 통계적 방법 또는 머신러닝 기반의 방법)에의 적용에 적합하도록 가공하는 것일 수 있다.In
데이터 사전(10)은 특정한 업종이나, 기업(기관) 또는 기업의 계열사에서 사용하는 용어나 단어를 데이터 항목으로서 포함하는 것일 수 있다. 데이터 사전(10)의 데이터 항목은 메타데이터일 수 있다. 데이터 사전(10)에 포함되는 용어 또는 단어는 표준화된 것(즉, 표준화되어 등록된 것)으로서 표준 용어 또는 표준 단어일 수 있다. 이 때, 데이터 사전(10)은 표준 사전(즉, 표준 용어 사전)에 해당할 수 있다. The
데이터 사전(10)은 복수의 데이터 사전들로 구성된 다중 데이터 사전(10)일 수 있다. The
또한, 각 데이터 사전(10)이 데이터 항목들로서 포함하는 복수의 용어들의 각각은 약어일 수 있다. 상기 약어는 예컨대, 영문 용어를 축약한 약어일 수 있다. 일례로, "코드"라는 단어(용어)는 CD, CDE, CE 또는 CODE의 약어로 표현될 수 있다. 추천 용어들(100)을 결정하는 대상이 되는 타겟 단어 역시 이러한 약어일 수 있다. 제공되는 추천 용어들(100)의 각각 역시 이러한 약어일 수 있다. Also, each of the plurality of terms included in each
데이터 사전(10)은 복수의 데이터 사전들로 구성된 다중 데이터 사전(10)인 경우에 있어서, 단계(310)의 전처리 단계에서는, 컴퓨터 시스템(200)은 각 데이터 사전(10)에 대해 소정의 언어에 해당하는 용어들을 추출할 수 있다(단계(312)). 이 때, 소정의 언어는 한국어 또는 영어일 수 있다. 혹은, 소정의 언어는 기타의 언어일 수 있다. 이러한 소정의 언어는 타겟 단어와 동일한 언어일 수 있다. In the case where the
단계(312)에서, 용어가 한글인 경우, 띄어쓰기나 "_(underscore)"를 통해 구분된 단어들 각각이 용어로서 추출될 수 있다, 붙여서 쓰여진 용어에 대해서는, 형태소 분석에 기반하여 용어들의 각각이 추출될 수 있다. 용어가 영어인 경우나 영문 약어인 경우, 띄어쓰기나 "_"를 통해 구분된 단어들 각각이 용어로서 추출될 수 있다.In
단계(314)에서, 컴퓨터 시스템(200)은 단계(312)에서 각 데이터 사전(10)으로부터 추출된 용어들 중 중복된 용어를 제거할 수 있다. 이러한 제거에 따라, 컴퓨터 시스템(200)은 추출된 용어들 중 중복된 용어가 제거된 전처리 용어들을 획득할 수 있다. 예컨대, 컴퓨터 시스템(200)은 데이터 사전들 중에서 중복되는 용어들(즉, 중복되는 약어들)을 제거할 수 있다. 컴퓨터 시스템(200)은 데이터 사전들로부터 추출된 용어들 중 약어가 동일하며 약어에 대응하는 원래의 용어가 동일한 것들을 제거할 수 있다. 컴퓨터 시스템(200)은 데이터 사전들로부터 추출된 용어들 중 약어나 약어에 대응하는 원래의 용어 중 어느 하나만이 동일한 것은 제거하지 않을 수 있다.In
단계(314)에 의해 단계(314)에서 추출된 용어들 중 중복이 발생하는 것을 방지할 수 있다. Duplication of the terms extracted in
단계(320)에서, 컴퓨터 시스템(200)은 자연어 처리 기법에 기반하여, 타겟 단어에 대해, 단계(310)에 따라 전처리된 데이터 사전(10)으로부터 타겟 단어와 관련되는 적어도 하나의 용어를 결정할 수 있다. 타겟 단어는 사용자로부터 입력되거나 선택될 수 있다. 컴퓨터 시스템(200)은 데이터 사전(10)이 포함하는 복수의 용어들 중에서, 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정할 수 있다. In
컴퓨터 시스템(200)은, 데이터 사전(10)이 복수의 데이터 사전들로 구성된 다중 데이터 사전(10)인 경우, 이러한 다중 데이터 사전(10)에 포함된 복수의 용어들(즉, 복수의 데이터 사전들에 포함된 복수의 용어들) 중에서 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정할 수 있다.When the
결정된 복수의 용어들은 전술된 추천 용어들(100)에 대응할 수 있다.The determined plurality of terms may correspond to the recommended
단계(330)에서, 컴퓨터 시스템(200)은 타겟 단어에 대한 추천 용어(들)(100)로서, 결정된 용어를 출력할 수 있다. In
예컨대, 컴퓨터 시스템(200)은 타겟 단어에 대한 유사도가 상위인 것으로 결정된 복수의 용어들을 순위화하여 출력될 수 있다. 출력되는 용어들은 전술된 추천 용어들(100)에 대응할 수 있다. 컴퓨터 시스템(200)의 화면에는 타겟 단어와 유사도가 가장 높은 추천 용어가 가장 상위에 노출될 수 있다. 또한, 컴퓨터 시스템(200)의 화면에는 각 추천 용어가 해당 추천 용어의 타겟 단어와의 유사도와 함께 노출될 수 있다. 이에 따라, 사용자는 타겟 단어와 가정 관련성이 높은 추천 용어를 식별할 수 있고, 각 추천 용어가 타겟 단어와 관련된 정도(유사도)를 확인할 수 있다.For example, the
전술된 타겟 단어는 데이터 사전(10)이 포함하는 복수의 용어(단어)들에 포함되어 있는 것일 수 있다. 컴퓨터 시스템(200)은 타겟 단어가 데이터 사전(10)이 포함하는 복수의 용어들에 포함되어 있지 않은 경우, 해당 타겟 단어의 데이터 사전(10)에 대한 등록이 필요함을 나타내는 통지를 출력할 수 있다. 이에 따라, 사용자는 데이터 사전(10)에 타겟 단어를 먼저 등록할 수 있다. The target word described above may be included in a plurality of terms (words) included in the
말하자면, 타겟 단어에 대해 추천 용어들(100)을 결정하기 위해서는, 타겟 단어와 관련하여 표준화 작업이 선행되어야 할 수 있다. 타겟 단어가 데이터 사전(10)에 등록되어 있지 않은 경우에는 이와 유사한 용어를 검색할 수 없게될 수 있다. 타겟 단어의 등록이 완료된 후에는 이와 유사한 용어를 검색할 수 있다. In other words, in order to determine recommended
한편, 자연어 처리 기법을 사용하여, 타겟 단어와 관련되는 추천 용어들(100)을 결정하는 방법에 대해서는 후술될 도 4를 참조하여 더 자세하게 설명한다. Meanwhile, a method of determining the recommended
이상 도 1 및 도 2를 참조하여 전술된 기술적 특징들에 대한 설명은 도 3에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 and 2 can be applied to FIG. 3 as it is, and a duplicate description is omitted.
도 4는 일 예에 따른, 자연어 처리 기법으로서 통계적 방법을 사용하여, 타겟 단어에 대한 추천 용어들을 결정하는 방법을 나타낸다. 4 illustrates a method of determining recommended terms for a target word using a statistical method as a natural language processing technique according to an example.
단계(410)에서, 컴퓨터 시스템(200)은, 타겟 단어의 단어 벡터를 결정할 수 있다. 전술된 것처럼, 타겟 단어는 데이터 사전(10)이 포함하는 복수의 용어(단어)들에 포함되어 있는 것일 수 있다. 컴퓨터 시스템(200)은 타겟 단어를 파싱하여 거기에 대응하는 단어 벡터를 결정할 수 있다. In
단계(420)에서, 컴퓨터 시스템(200)은 (단계(314)에 따라 중복되는 용어가 제거된) 전처리 용어들의 각각의 단어 벡터와 타겟 단어의 단어 벡터 간의 코사인 유사도를 계산할 수 있다. 컴퓨터 시스템(200)은 전처리 용어들의 각각을 파싱하여 거기에 대응하는 단어 벡터를 결정할 수 있고, 이러한 전처리 용어의 단어 벡터와 를 타겟 단어의 단위 벡터 간의 코사인 유사도를 계산할 수 있다. In
단계(430)에서, 컴퓨터 시스템(200)은 계산된 코사인 유사도가 상위인 적어도 2개의 용어들을 타겟 단어에 대해 유사도가 상위인 복수의 용어들로서 결정할 수 있다. 결정된 용어들은 전술된 추천 용어들(100)에 대응할 수 있다. In
다른 예시로서, 컴퓨터 시스템(200)은 전처리 용어들의 각각의 단어 벡터와 타겟 단어의 단어 벡터 간의 유클리드 거리를 계산할 수 있고, 계산된 유클리드 거리에 기반하여 타겟 단어에 대해 유사도가 상위인 복수의 용어들로서 결정할 수도 있다. As another example, the
벡터 간의 코사인 유사도를 계산하는 방법은 아래의 수학식 1과 같이 표현될 수 있다. x 및 y는 각각의 단어 벡터를 나타낼 수 있다. A method of calculating the cosine similarity between vectors may be expressed as
[수학식 1][Equation 1]
전술된 단계들(410 내지 430)에 따라, 통계적 방법을 사용하여, 단일한 데이터 사전(10) 또는 복수의 데이터 사전들을 포함하는 다중 데이터 사전(10)으로부터 타겟 단어와 유사한 복수의 추천 용어들(100)이 결정되어 제공될 수 있다. According to the above-described
전술된 통계적 방법은 경우 "단어의 의미가 주변 단어에 의해 형성된다"는 분포가설(distributional hypothesis)에 기반하는 것일 수 있다. 예컨대, 타겟 단어의 주변에 어떤 단어가 몇 번이나 등장하는지를 계산함으로써 동시발생 행렬(co-occurrence matrix)이 구성될 수 있고, 이러한 동시발생 행렬의 각 행으로부터 단어의 벡터가 구성될 수 있다. 타겟 단어의 주변의 사이즈는 후술될 윈도우 크기에 의해 제한될 수 있다. 이에 따라 타겟 단어와 연관된 단어 벡터(들) 및 타겟 단어의 의미가 파악될 수 있다. The statistical method described above may be based on a distributional hypothesis that "the meaning of a word is formed by surrounding words." For example, a co-occurrence matrix may be constructed by calculating how many times a word appears around the target word, and a vector of words may be constructed from each row of the co-occurrence matrix. The size of the surroundings of the target word may be limited by the window size to be described later. Accordingly, the word vector(s) associated with the target word and the meaning of the target word can be grasped.
아래에서는, 자연어 처리 기법으로서 머신러닝 기반의 방법을 사용하여, 타겟 단어에 대한 추천 용어들을 결정하는 방법을 나타낸다. The following shows a method of determining recommended terms for a target word using a machine learning-based method as a natural language processing technique.
컴퓨터 시스템(200)은 단계(314)에 따라 중복되는 용어가 제거된) 전처리 용어들 중에서, 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정하도록 훈련된 머신러닝 기반의 모델을 사용하여, 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정할 수 있다. The
머신러닝 기반의 모델은, 딥러닝 모델로서, 예컨대, CNN 기반의 모델, RNN 기반의 모델 또는 강화 학습(Reinforcement Learning) 기반의 모델일 수 있다. The machine learning based model may be a deep learning model, for example, a CNN based model, an RNN based model, or a reinforcement learning based model.
CNN 기반의 모델은, 합성곱 신경망(Convolutional Neural Network, CNN)을 사용하는 것으로서, 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 일종일 수 있다. CNN 기반의 모델은 하나 또는 복수의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어질 수 있고, 가중치와 통합 계층(pooling layer)들을 추가로 더 활용할 수 있다. The CNN-based model, which uses a convolutional neural network (CNN), may be a kind of multilayer perceptrons designed to use minimal preprocessing. The CNN-based model may consist of one or more convolutional layers and general artificial neural network layers on top of it, and further utilize weights and pooling layers.
RNN 기반의 모델은, 순환 신경망을 이용하는 것으로서, 인공 신경망을 구성하는 유닛 사이의 연결이 directed cycle을 구성하는 신경망을 사용하는 모델일 수 있다. RNN 기반의 모델은 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.The RNN-based model uses a cyclic neural network, and a connection between units constituting an artificial neural network may be a model using a neural network constituting a directed cycle. The RNN-based model can utilize memory inside the neural network to process arbitrary input.
강화 학습 기반의 모델은, 에이전트(agent)가 환경(environment)로부터 액션(action)을 취하며, 이에 따라 에이전트에 보상(reward)과 State(상태)가 주어지게 되고, 보상이 가장 크게 되도록 에이전트를 훈련시키는 모델일 수 있다. 강화 학습 기반의 모델은, 에이전트가 사전 지식을 가지고 있는지 여부에 따라, 모델 베이스(model-based) 알고리즘을 사용하는 모델 또는 모델 프리(model-free) 알고리즘을 사용하는 모델로 구분될 수 있다.In the reinforcement learning-based model, the agent takes an action from the environment, and accordingly, the agent is given a reward and a state, and the agent is set to have the greatest reward. It can be a training model. Models based on reinforcement learning may be classified into models using a model-based algorithm or models using a model-free algorithm, depending on whether the agent has prior knowledge.
일례로, 실시예에서는, 머신러닝 기반의 모델로서 강화 학습 기반의 모델(즉, 강화 학습에 기반하여 훈련된 모델)이 사용될 수 있다. 강화 학습 기반의 모델은 사용자(즉, 관리자)의 개입 없이 학습에 따라 지속적으로(또는 주기적으로) 업데이트될 수 있다.For example, in an embodiment, a model based on reinforcement learning (ie, a model trained based on reinforcement learning) may be used as a model based on machine learning. The model based on reinforcement learning may be continuously (or periodically) updated according to learning without user (ie, administrator) intervention.
이에 따라, 컴퓨터 시스템(200)은 머신러닝 기반의 모델의 적용에 의한 추천 용어들(100)의 결정 후, 해당 결과에 기반하여, 머신러닝 기반의 모델을 업데이트할 수 있다. 예컨대, 컴퓨터 시스템(200)은 타겟 단어에 대해 결정된 추천 용어들(100)을 학습함으로써 업데이트될 수 있고, 추후의 추천 용어들(100)의 추론의 정확도를 보다 높이기 위해 업데이트될 수 있다. 말하자면, 머신러닝 기반의 모델은 타겟 단어에 대한 유사도가 상위인 복수의 용어들(즉, 추천 용어들(100))에 대한 결정에 기반하여 업데이트될 수 있다. Accordingly, the
실시예의 추천 용어들(100)의 결정(추론)을 위해 사용되는 머신러닝 기반의 모델은 손실(loss)이 수렴되도록, 학습 속도(learning rate), 배치의 크기, 에포크의 수(number of epochs), 은닉 레이어(hidden layers), 은닉 유닛(hidden units) 및 활성화 함수(activation functions) 중 적어도 하나의 하이퍼 파라미터가 조정되어 훈련/학습될 수 있다. 따라서, 머신러닝 기반의 모델은 하이퍼 파라미터가 조정되어 훈련된 후, 데이터 사전(10)으로부터 타겟 단어에 대한 추천 용어들을 결정할 수 있다.The machine learning based model used for the determination (inference) of the recommended
하이퍼 파라미터를 어떻게 조정하는지에 따라 추론의 결과가 달라질 수 있다. 이러한 하이퍼 파라미터의 조정은 시험 또는 경험적인 방법을 통해 이루어질 수 있다. 예컨대, 학습 속도를 너무 크게 할 경우에는, 과적화(overfitting)가 너무 빨리 일어나게 되며, 결과가 local minimum에 걸쳐지게 될 수 있고, 학습 속도가 너무 작게 되는 경우 역시 바람직하지 않을 수 있다. 에포크의 수는 훈련용 데이터 셋을 몇 번 반복할 것인지를 나타내는 것일 수 있고, 예컨대, 50-300으로 설정될 수 있다. Depending on how you adjust the hyperparameters, the results of the inference can vary. Adjustment of these hyperparameters can be done through test or empirical methods. For example, if the learning rate is too large, overfitting occurs too quickly, and the result may span the local minimum, and it may also be undesirable when the learning rate is too small. The number of epochs may indicate how many times to repeat the training data set, and may be set to 50-300, for example.
관련하여, 도 6은 일 예에 따른, 자연어 처리 기법으로서 머신러닝 기반의 방법을 사용하는 경우에 있어서, 하이퍼 파라미터 튜닝에 따른 손실(loss)의 변화를 나타낸다. In relation to this, FIG. 6 shows a change in loss due to hyperparameter tuning in the case of using a machine learning-based method as a natural language processing technique according to an example.
도 6의 (a)는 하이퍼 파라미터를 튜닝하지 않은 상태에서의 손실을 나타내고, 도 6의 (b)는 하이퍼 파라미터를 튜닝한 후의 상태에서의 손실을 나타낼 수 있다. 도 6의 (a)에서는 손실이 수렴하지 않음을 확인할 수 있다. 도 6에서의 손실은 cross entropy error를 나타낼 수 있고, iteration은 에포크(epoch)를 배치의 크기(batchsize)로 나눈 것일 수 있다. 실시예에서는, 도 6의 (b)와 같은 결과를 얻기 위해, 하이퍼 파라미터로서, 배치의 크기 및 은닉 레이어의 크기가 조절될 수 있다.FIG. 6(a) shows the loss in a state in which the hyper parameters are not tuned, and FIG. 6(b) may represent the loss in a state after tuning the hyper parameters. It can be seen from FIG. 6(a) that the loss does not converge. The loss in FIG. 6 may indicate a cross entropy error, and iteration may be an epoch divided by a batch size. In an embodiment, as a hyper parameter, the size of the batch and the size of the concealment layer may be adjusted to obtain a result as shown in FIG. 6B.
하이퍼 파라미터는 전술한 것처럼 학습 속도(learning rate), 에포크의 수(number of epochs), 은닉 레이어(hidden layers), 은닉 유닛(hidden units) 및 활성화 함수(activation functions) 중 적어도 하나를 포함할 수 있다. 이들 하이퍼 파라미터가 조정됨으로써 손실이 결정될 수 있다. 손실에 따라 모델의 훈련/학습 및 추론의 결과가 상이하게 될 수 있다. 하이퍼 파라미터의 튜닝은 경험적이거나 실험적인 방법에 의해 수행될 수 있다. 하이퍼 파라미터의 튜닝은 손실을 로컬 미니멈(local minimum)이 아닌 앱솔루트(absolute minimum)에 도달하도록 조정될 수 있다.Hyperparameters may include at least one of a learning rate, number of epochs, hidden layers, hidden units, and activation functions, as described above. . Loss can be determined by adjusting these hyper parameters. Depending on the loss, the results of training/learning and reasoning of the model may be different. Tuning of the hyperparameters can be performed by empirical or experimental methods. The tuning of the hyperparameters can be adjusted so that the loss reaches the absolute minimum rather than the local minimum.
머신러닝 기반의 모델은, 예컨대, Word2Vec 기반의 모델일 수 있다. 일례로, 머신러닝 기반의 모델은 Word2Vec 기반의 모델로서 CBOW 모델일 수 있다.The machine learning based model may be, for example, a Word2Vec based model. As an example, the machine learning based model may be a CBOW model as a Word2Vec based model.
전술한 것과 같은 머신러닝 기반의 방법을 사용하여, 단일한 데이터 사전(10) 또는 복수의 데이터 사전들을 포함하는 다중 데이터 사전(10)으로부터 타겟 단어와 유사한 복수의 추천 용어들(100)이 결정되어 제공될 수 있다. Using a machine learning based method as described above, a plurality of recommended
이상 도 1 내지 도 3을 참조하여 전술된 기술적 특징들에 대한 설명은 도 4 및 도 6에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 3 may be applied to FIGS. 4 and 6 as it is, and a duplicate description is omitted.
도 5는 일 예에 따른, 타겟 단어에 대한 추천 용어들을 결정하기 위해 사용되는 윈도우의 크기를 나타낸다.5 illustrates a size of a window used to determine recommended terms for a target word, according to an example.
실시예에서, 타겟 단어의 문맥을 결정하기 위해 사용되는 윈도우 크기(window size)는 5 이하로 설정될 수 있고, 또는, 이러한 윈도우 크기는 1로서 설정될 수 있다.In an embodiment, the window size used to determine the context of the target word can be set to 5 or less, or this window size can be set to 1.
도 5에서는 윈도우 크기가 1인 경우가 예시되었다. 도시된 것처럼, 실시예에서는, 타겟 단어의 문맥을 결정하기 위해서는 타겟 단어에 인접한 단어들만이 사용될 수 있다. 컴퓨터 시스템(20)은 사용자의 설정에 따라 윈도우의 크기를 변경할 수 있다. In FIG. 5, the case where the window size is 1 is illustrated. As shown, in an embodiment, only words adjacent to the target word may be used to determine the context of the target word. The computer system 20 may change the size of the window according to the user's setting.
이와 같이, 타겟 단어의 결정된 문맥(타겟 단어와 인접한 단어들이 나타내는 문맥)을 고려하여, 자연어 처리 기법을 사용하여, 타겟 단어와 유사한 용어들이 추천 용어들(100)로서 결정될 수 있다.As such, in consideration of the determined context (the context represented by words adjacent to the target word) of the target word, terms similar to the target word may be determined as recommended
윈도우 크기는 사용자의 니즈에 따라 다양하게 설정될 수 있다. 윈도우 크기가 커지게 되면, 타겟 단어의 주변의 의미를 더 많이 포함하게 될 수 있으나, 주변 단어가 너무 많이 포함되게 되므로 단어 간의 context의 차별성이 덜 나타나게 될 수 있다. 따라서, 타겟 단어의 정확한 의미의 파악이 곤란하게 될 수 있다. 한편, 윈도우 크기가 너무 작게 되면 타겟 단어가 너무 지엽적인 의미만을 내포하는 것으로 판정될 수 있으므로, 해당 타겟 단어의 실질적인 의미가 파악되지 않고 지엽적인 의미만이 파악되게 될 수 있다. The window size can be variously set according to the needs of the user. When the window size is increased, it may include more meaning around the target word, but because the surrounding words are included too much, the difference in context between words may be less. Therefore, it may be difficult to grasp the exact meaning of the target word. On the other hand, if the window size is too small, it can be determined that the target word contains only the meanings that are too local, so that the actual meanings of the target words are not grasped, but only the local meanings can be grasped.
실시예에서는, 윈도우 크기가 1 또는 5로 설정되었으나, 이는 필요에 따라 다양하게 설정될 수 있다.In the embodiment, the window size is set to 1 or 5, but it can be set variously as needed.
이상 도 1 내지 도 4 및 도 6을 참조하여 전술된 기술적 특징들에 대한 설명은 도 5에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 4 and 6 may be applied to FIG. 5 as it is, and a duplicate description is omitted.
아래에서는, 전술된 자연어 처리 기법(머신러닝 기반의 방법 또는 통계적 방법)을 사용하여 데이터 사전(10)으로부터 추천 용어(100)를 결정하여 제공하는 방법에 대해 보다 자세하게 설명한다. Hereinafter, a method of determining and providing the
전술한 것처럼, 기관 및 기업들은 각 업종의 데이터 관리를 개선하기 위한 비즈니스/데이터 사전을 사용하고 있고, 이를 관리하기 위해 상당한 자원을 소비하고 있다. 한편, 데이터 사전이 구현된 데이터베이스는 각 열에서 제한된 바이트를 가지므로 데이터베이스에 저장될 때 (영어) 용어는 약칭될 수 있다. 이러한 용어는 기업이나 기관에 따라 다르게 약칭될 수 있고, 기업 내의 업종이나 계열사에 따라서도 다르게 약칭될 수 있다.As mentioned above, institutions and companies are using business/data dictionaries to improve data management in each industry, and are consuming significant resources to manage them. Meanwhile, the database in which the data dictionary is implemented has a limited number of bytes in each column, so when stored in the database, the term (English) can be abbreviated. These terms may be abbreviated differently depending on the company or institution, and may be abbreviated differently depending on the industry or affiliate within the company.
따라서, 이와 같은 데이터를 유지하고 표준화하기 위해서는 상당한 자원이 소요된다. 또한, 기업들/기관들 간에 데이터/비즈니스 사전이 결합되는 경우에는 통합 사전이 재설계될 필요가 있다. Therefore, it takes considerable resources to maintain and standardize such data. In addition, when data/business dictionaries are combined between companies/institutions, the integrated dictionaries need to be redesigned.
실시예를 통해서는, 기업들/기관들이 데이터를 표준화함에 있어서 소요하는 비용을 줄이고, 데이터 관리의 효율성을 높일 수 있다. 또한, 실시예에서는, 자연어 처리 기법을 적용함으로써, 용어의 약어를 포함하는 비즈니스/데이터 사전의 활용성을 높일 수 있다. Through embodiments, it is possible to reduce the cost of companies/organizations in standardizing data and increase the efficiency of data management. In addition, in an embodiment, by applying a natural language processing technique, it is possible to increase the usability of a business/data dictionary including abbreviations of terms.
[표준화된 데이터 사전][Standardized Data Dictionary]
표준 용어는 데이터베이스 사용자와 통신할 수 있는 비즈니스 용어일 수 있다. 이다. 이러한 용어는 공공기관/정부기관(또는 기업)에서 정의하는 표준화된 단어에 의해 만들어질 수 있다. 표준화된 용어 사전은 표준화된 용어와 일반적인 표준화 용어의 집합을 나타낼 수 있다. 표준화된 용어 사전의 개념은 표준이 될 수 있으므로, 여러 기업들 및 업종에서 이를 따를 수 있다. Standard terms may be business terms that can communicate with database users. to be. These terms can be coined by standardized words defined by public/governmental organizations (or corporations). The standardized term dictionary may represent a set of standardized terms and general standardized terms. The concept of a standardized term dictionary can be a standard, so it can be followed by different companies and industries.
[자연어 처리(NLP)][Natural Language Processing (NLP)]
자연어 처리(NLP)는 인간의 언어를 이해하기 위해 컴퓨터를 훈련시키는 분야일 수 있다. 예컨대, 자연어 처리 기법은 시소러스를 활용한 기법, 통계적 기법 및 추론 기반 기법을 포함할 수 있고, 각각 다른 방식으로 컴퓨터 시스템을 훈련시킬 수 있다. 통계적 방법은 말뭉치(corpus)를 사용하여 자연어 처리를 하는 방법일 수 있다. 이러한 방법은 말뭉치로부터 중요한 정보를 추출하기 위해, 먼저, 용어를 말뭉치로부터 분할 수 있다. 그 후에, 용어는 ID 목록으로 유지되고, 이러한 용어들은 그것을 분포적 표현으로 제시하기 위해 벡터화될 수 있다. Natural language processing (NLP) can be a discipline that trains computers to understand human language. For example, the natural language processing technique may include a thesaurus-based technique, a statistical technique, and an inference-based technique, and the computer system may be trained in different ways. The statistical method may be a method of processing natural language using a corpus. In order to extract important information from the corpus, the method may first divide the term from the corpus. Thereafter, the term is kept in a list of IDs, and these terms can be vectorized to present it in a distributed representation.
NLP의 분야에서, 분포 가설은 다음과 같이 정의될 수 있다. 용어의 문맥이 주변 용어에서 나온다는 점에서, 용어의 의미는 주변의 용어로부터 비롯될 수 있다.In the field of NLP, the distribution hypothesis can be defined as In the sense that the context of a term comes from the surrounding term, the meaning of the term may come from the surrounding term.
말뭉치로부터 주변 용어를 추적하기 위해, 동시 발생 행렬이 생성될 수 있고, 타겟 용어를 둘러싸는 용어의 수를 제한하기 위해 윈도우 크기가 정의될 수 있다. 예컨대, 윈도우 크기가 1인 경우, 문맥은 타겟 단어 바로 가까이에 있는 단어로 제한되어야 함을 의미할 수 있다. 윈도우의 크기는 다양할 수 있지만, 보통 비즈니스 용어의 경우, 단어는 5 단어 이하로 구성되어 있다는 점에서 결정될 수 있다. To track surrounding terms from the corpus, a co-occurrence matrix can be generated, and a window size can be defined to limit the number of terms surrounding the target term. For example, when the window size is 1, it may mean that the context should be limited to words immediately adjacent to the target word. The size of the window can vary, but in the case of ordinary business terms, it can be determined in that the word consists of 5 words or less.
벡터 유사도를 평가하기 위한 방법으로서는, 예컨대, 유클리드 거리 유사도 및 코사인 유사도를 사용하는 것과 같은 방법이 있을 수 있다.As a method for evaluating vector similarity, there may be a method such as using Euclidean distance similarity and cosine similarity, for example.
벡터 간의 코사인 유사도를 계산하는 방법은 아래의 수학식 2와 같이 표현될 수 있다. x 및 y는 각각의 단어 벡터를 나타낼 수 있다. The method of calculating the cosine similarity between vectors may be expressed as
[수학식 2][Equation 2]
상호정보량(PMI: Pointwise Mutual Information)을 사용하여 통계적 접근 방식을 개선할 수 있다. 동시 발생 행렬을 사용할 경우, 단어의 빈도는 윈도우 크기와는 무관할 수 있다. 그러나 문장에 'a'와 같은 용어가 포함되어 있는 경우, 이러한 용어는 단어의 문맥을 찾는 데 다른 용어만큼 중요하지 않을 수 있다. PMI 지표는 문맥을 찾을 때 이러한 단어를 찾고, 이러한 구성 요소를 제거하는 데 도움이 될 수 있다.Statistical approaches can be improved using PMI (Pointwise Mutual Information). When using a co-occurrence matrix, the frequency of words can be independent of the window size. However, if the sentence contains a term such as'a', these terms may not be as important as other terms in finding the context of the word. PMI indicators can help you find these words when you find context, and eliminate these components.
한편, 머신러닝에 기반한 방법은 Word2Vec, GloVe와 같은 모델들을 사용하는 것일 수 있다. Word2Vec에 기반한 모델로는 CBOW(Continuous Bag of Words) 모델과 Skip-gram 모델이 있을 수 있다. CBOW 모델은 주변 단어를 사용하여 타겟 단어의 문맥을 예측하고, Skip-gram 모델은 타겟 단어를 사용하여 문맥 단어의 주변 윈도우를 예측할 수 있다. GloVe 모델은 통계 모델과 머신러닝 모델을 사용할 수 있다. Meanwhile, a method based on machine learning may be using models such as Word2Vec and GloVe. Models based on Word2Vec may include CBOW (Continuous Bag of Words) model and Skip-gram model. The CBOW model predicts the context of the target word using the surrounding words, and the Skip-gram model predicts the surrounding window of the context words using the target words. The GloVe model can use statistical and machine learning models.
[다중 데이터 표준 통합][Multiple data standard integration]
예컨대, 다국적 대기업이 사업을 확장하고자 할 때 개별 자회사들은 스스로 운영하며 정보와 데이터를 별도로 관리하고 로컬 표준을 만들 수 있다. 하지만 자회사에 대한 지배력을 행사하기 위해서는 글로벌 표준을 계속 추적하는 것이 중요하다. 인수합병(M&A)의 경우 모회사인 모기업은 모든 지역표준을 글로벌 스탠더드로 전환해 자회사를 장악하고 싶어할 수 있다. 기업간 글로벌 표준을 만드는 방법에는 일반적으로, 중앙 집중식 관리 및 분산식 관리가 있다.For example, when a large multinational company wants to expand its business, individual subsidiaries can operate on their own, manage information and data separately, and create local standards. However, it is important to keep track of global standards to exercise control over subsidiaries. In the case of mergers and acquisitions (M&A), the parent company, the parent company, may want to take over subsidiaries by converting all regional standards into global standards. There are generally methods to create global standards between enterprises, centralized management and decentralized management.
실시예에 이러한 서로 다른 표준에 자연어 처리를 적용함으로써, 표준을 통합하는 것과 관련된다. By applying natural language processing to these different standards in the examples, it relates to integrating the standards.
실시예에서는, 다중 데이터 사전을 표준화하기 위해 통계적인 방법과 머신러닝에 기반한 방법을 사용할 수 있다. 이러한 두 가지의 접근법을 사용함으로써, 서로 다른 사전의 유사한 용어를 나열할 수 있는 상위 5개 추천 시스템을 제안한다.In embodiments, statistical methods and machine learning-based methods may be used to standardize multiple data dictionaries. By using these two approaches, we propose a top five recommendation system that can list similar terms in different dictionaries.
데이터에 대해, 상기의 방법을 적용하기에 앞서, 데이터(즉, 데이터 사전(10)에 대해서는 상기 도 3을 참조하여 전술된 바와 같은 전처리가 수행되어야 한다. For data, prior to applying the above method, pre-processing as described above with reference to FIG. 3 should be performed for data (ie, data dictionary 10).
먼저, 상이한 데이터 사전들에서 (영어) 용어들이 추출될 수 있다. 영어 용어는 여러 용어들/단어들로 구성될 수 있다. 데이터베이스의 각 컬럼에 대해 저장되는 바이트 수에는 제한이 있기 때문에 이러한 사전은 축약어(약어)로 구성될 수 있다. 예를 들어, "코드"라는 단어는 CD, CDE, CE 또는 CODE로 약칭될 수 있다. 한국 정부 기관과 기업의 경우 영어 용어는 보충 자료가 되기 때문에, 용어는 "_" 로 나누어질 수 있고, 예를 들어, "Market English Name"이라는 비즈니스 용어는 "MRKT_ENG_NM"으로 약칭되어 사전에 저장될 수 있다. 컬럼에는 저장 용량이 제한되어 있기 때문에 일반적으로 이러한 약어가 사용될 수 있다. 이 때, 상이한 사업체들은 자신의 규칙에 따라 용어를 축약하는 경향이 있고, 같은 단어에 여러 개의 축약된 버전이 존재할 수 있다는 점에서, 이러한 유사 용어를 비즈니스 용어들로부터 추출하는 것은 매우 중요할 수 있다. 또한 다른 데이터베이스에서 동일한 약어가 발견될 수 있으므로, 중복된 용어를 삭제하는 작업 역시 필수적으로 요구될 수 있다. First, (English) terms can be extracted from different data dictionaries. An English term may consist of several terms/words. Because there is a limit to the number of bytes stored for each column in the database, these dictionaries can consist of abbreviations (abbreviations). For example, the word "code" can be abbreviated as CD, CDE, CE or CODE. For Korean government agencies and companies, the English term is supplementary, so the term can be divided into "_". For example, the business term "Market English Name" can be abbreviated as "MRKT_ENG_NM" and stored in the dictionary. Can be. These abbreviations can generally be used because the column has limited storage capacity. At this time, it may be very important to extract these similar terms from business terms in that different businesses tend to abbreviate terms according to their rules, and there may be multiple abbreviated versions of the same word. . In addition, since the same abbreviation can be found in other databases, it may be necessary to delete duplicate terms.
[데이터 사전에 자연어 처리 적용][Apply natural language processing to data dictionary]
데이터/비즈니스 사전은 영어(약어)로 구성되어 있으므로, 이러한 사전에 대해 자연어 처리 기법을 적용하여 용어들 간의 유사도가 결정될 수 있다. 따라서, 도 3 및 4를 참조하여 전술된 것처럼, 타겟 단어에 대한 유사 용어들로서 추천 용어들(100)이 결정되어 제공될 수 있다. Since the data/business dictionary is composed of English (abbreviation), similarity between terms can be determined by applying a natural language processing technique to such a dictionary. Therefore, as described above with reference to FIGS. 3 and 4, recommended
자연어 처리 기법으로는, 예컨대, 통계적 방법 및 머신러닝에 기반한 방법이 있고, 이를 통해, 상위 5개의 유사 용어를 추천 용어들로서 결정될 수 있다. Natural language processing techniques include, for example, statistical methods and machine learning-based methods, through which the top five similar terms can be determined as recommended terms.
데이터 셋으로는 예컨대, 3개 기업(X,Y,Z)의 사적 소유 데이터 셋이 사용되었다. 데이터 셋의 이질성을 배제하기 위해 은행, 카드사, 보험사 등의 금융 분야로 한정된 데이터 셋이 사용되었다. 이들 세 기업은 유사한 분야에 있으므로, 3개 기업(X,Y,Z)의 소유 데이터 셋들은 유사한 비즈니스 단어/용어를 가지고 있을 수 있다. As the data set, for example, privately owned data sets of three companies (X, Y, Z) were used. To exclude heterogeneity of the data set, a data set limited to financial sectors such as banks, credit card companies, and insurance companies was used. Since these three companies are in a similar field, the datasets owned by the three companies (X,Y,Z) may have similar business words/terms.
X사의 사전에는 28987개의 표준어가 수록되어 있으며, 3461개의 고유 단어가 수록되어 있고, Y사의 사전에는 2218개의 고유 단어와 14835개의 표준어가 수록되어 있고, Z사의 사전에는 4684개의 표준어와 2303개의 고유 단어가 수록되어 있다. The company's dictionary contains 28987 standard words, 3461 unique words are included, the company's dictionary contains 2218 unique words and 14835 standard words, and the company's dictionary contains 4684 standard words and 2303 unique words. Is included.
실시예에서는, 도 5를 참조하여 전술된 것처럼 윈도우 크기가 크기 1로 제한된다. 따라서, 타겟 단어 옆에 인접한 한 단어만이 문맥을 결정하기 위해 사용될 수 있다. 윈도우 크기는 사용자의 설정에 따라 변경될 수 있다. 상위 5개의 유사 용어를 제시하는 것 역시, 사용자에 의한 매개변수의 조정에 따라 변경될 수 있다.In an embodiment, the window size is limited to
[통계적 방법][Statistics method]
통계적 방법에 따른 추천 용어들(100)의 제공은 다음에 따라 수행될 수 있다. 먼저, 컴퓨터 시스템(200)은, 전처리 장치에서 검색된 단어 목록(예컨대, 전술된 전처리 용어)에서 타겟 단어 벡터를 찾을 수 있다. 다음으로, 컴퓨터 시스템(200)은 모든 단어 벡터와 타겟 단어 벡터의 모든 코사인 유사도를 계산할 수 있다. 마지막으로, 컴퓨터 시스템(200)은, 코사인 유사도 계산 결과를 기반으로 상위 5개 항목을 추천 용어들(100)로서 출력할 수 있다. Provision of recommended
코사인 유사도를 사용하는 통계적 방법으로는, 관련없는 단어의 중복과 특이값 분해를 감소시키는 상호 정보량 방법과, 모든 단어의 코사인 유사도를 계산할 때 벡터의 차원을 감소시키는 방법이 있을 수 있다. Statistical methods using cosine similarity may include a mutual information amount method for reducing unrelated word duplication and singular value decomposition, and a method for reducing a vector dimension when calculating cosine similarity for all words.
[머신러닝 기반의 방법][Machine learning-based method]
머신러닝 기반의 방법으로서는, Word2Vec에 기반한 모델을 사용할 수 있다.As a machine learning based method, a model based on Word2Vec can be used.
본 예시에서는, 세 가지 다른 모델, 즉, 기업 X의 데이터만 사용하는 Word2Vec, 기업 X와 Y 데이터를 사용하는 Word2Vec, 기업 X, Y, Z 데이터를 사용하는 Word2Vec을 훈련시켰다. 한편, 모델의 하이퍼 파라미터 튜닝을 수행하여 손실이 수렴되도록 할 수 있다. 손실이란 모델의 입력 및 출력 레이어에 대한 소프트맥스 레이어에 의한 스코어를 의미할 수 있고, 이러한 확률은 올바른 라벨과 함께 교차 엔트로피 오류에 적용될 수 있다. 모델의 임베딩 레이어는 밀도 높은 벡터 표현을 저장하여 메모리 사용량과 불필요한 계산을 줄일 수 있다. 또한 네거티브(negative) 샘플링은 훈련 시간을 줄이는 소프트맥스 레이어의 계산을 줄일 수 있다. 전술된 도 6에서는 하이퍼 파라미터에 대한 튜닝 전(a) 후(b)의 손실을 나타낸다. In this example, three different models were trained: Word2Vec using only corporate X data, Word2Vec using corporate X and Y data, and Word2Vec using corporate X, Y, and Z data. Meanwhile, the hyperparameter tuning of the model may be performed so that the loss converges. Loss can mean the score by the softmax layer for the input and output layers of the model, and this probability can be applied to the cross entropy error with the correct label. The model's embedding layer can store a dense vector representation, reducing memory usage and unnecessary computation. In addition, negative sampling can reduce the computation of the Softmax layer, which reduces training time. In FIG. 6 described above, the loss of before (a) and after (b) tuning for the hyperparameter is shown.
[결과][result]
전술한 예시에 따른 평가로서, 기업 X의 데이터를 사용한 통계적 방법(STAT1), 기업 X의 데이터로 훈련된 Word2Vec(INFER1) 모델, 기업 X 및 Y의 데이터를 사용한 통계적 방법(STAT2), 기업 X 및 Y의 데이터로 훈련된 Word2Vec 모델(INFER2)을 분석하였다.As an evaluation according to the above example, the statistical method using the data of the company X (STAT1), the Word2Vec (INFER1) model trained with the data of the company X, the statistical method using the data of the company X and Y (STAT2), the company X and The trained Word2Vec model (INFER2) with Y's data was analyzed.
그 결과는 도 7에서 도시되었다. 도 7은 일 예에 따른, 타겟 단어에 대한 추천 용어들의 제공의 결과를 나타낸다. The results are shown in FIG. 7. 7 shows a result of providing recommended terms for a target word according to an example.
도시된 예시에서, 타겟 단어는 YMD 가 사용되었고, 유사도가 상위인 5개의 용어들이 추천 용어들(100)로서 제공됨을 확인할 수 있다. 도시된 것처럼, 각 추천 용어와 거기에 연관된 유사도(확률)이 함께 출력될 수 있다. In the illustrated example, it can be confirmed that YMD was used as a target word, and that five terms with similarity are provided as recommended
[단일 데이터 사전 분석][Single data dictionary analysis]
도 8은 일 예에 따른, 단일한 데이터 사전으로부터의 타겟 단어에 대한 추천 용어들의 제공의 결과를 나타낸다. 8 shows the result of providing recommended terms for a target word from a single data dictionary, according to an example.
전술한 기업 X의 데이터 셋은 28987개의 표준화된 비즈니스 용어와 3461개의 고유 단어/용어가 수록되어 있다. 이 중 임의의 용어 10%를 선정하여, 타겟 단어에 대해 추천 용어들(100)을 결정한 결과가 도 8과 같이 도시되었다. The corporate X dataset described above contains 28987 standardized business terms and 3461 unique words/terms. The result of determining the recommended
도시된 것처럼, 머신러닝 기반의 방법을 적용하는 경우에 있어서, 단일한 데이터 사전에서 SELL/SNS와 NEW/NW와 같은 동일한 단어를 나타냄에도 상이한 약어를 갖는 용어들이 추천 용어로서 제공될 수 있다. As illustrated, in the case of applying a machine learning-based method, terms having different abbreviations may be provided as recommended terms although the same words such as SELL/SNS and NEW/NW are represented in a single data dictionary.
또한, 통계적 방법을 적용하는 경우에 있어서, 타겟 단어 YM과 유사한 단어로서 YMD이 추천 용어로 제공될 수 있다. In addition, in the case of applying a statistical method, YMD may be provided as a recommended term as a word similar to the target word YM.
[다중 데이터 사전 분석][Multiple data dictionary analysis]
도 9는 일 예에 따른, 복수의 데이터 사전들을 포함하는 다중 데이터 사전으로부터의 타겟 단어에 대한 추천 용어들의 제공의 결과를 나타낸다.9 shows the result of providing recommended terms for a target word from a multiple data dictionary that includes a plurality of data dictionaries, according to an example.
다중 데이터 사전으로부터의 타겟 단어에 대한 추천 용어들(100)을 제공하기 위해서는, 다중 데이터 사전에 대해 도 3을 참조하여 전술된 전처리가 수행되어야 할 수 있다.In order to provide recommended
도 9에서 도시된 예시에서, X사의 데이터는 28987개의 비즈니스 용어를 가지고 있고, 3461개의 고유 단어를 가지고 있고, Y사의 데이터는 14835개의 비즈니스 용어를 가지고 있고, 2218개의 고유 단어를 가지고 있을 수 있다. 총 고유 단어는 5679개로 산출될 수 있고, 이들 중 동일하게 사용하는 단어는 518개 였다. 중복되는 단어를 제거한 표준화된 단어들 중, 결과를 얻기 위해, 인의의 용어 10%를 선정하여 추천 용어의 결정을 수행하였다.In the example shown in FIG. 9, data of company X has 28987 business terms, 3461 unique words, data of company Y has 14835 business terms, and may have 2218 unique words. A total of 5679 unique words can be calculated, and among them, 518 words were used equally. Among the standardized words from which duplicate words were removed, 10% of personal terms were selected to determine results.
도 9는 통합 데이터 사전에 대해 서로 다른 시나리오가 존재함을 나타낼 수 있다. 도 9에서 볼 수 있는 것처럼, 동일한 사전에서 SELL/SNS가 식별될 수 있다. 또한, 다른 데이터 사전을 통해, 동일한 단어 "transfer"가 TRSF/TRSFL의 두 가지 다른 방식으로 약칭됨을 확인할 수 있다. 9 may indicate that different scenarios exist for the integrated data dictionary. As can be seen in Figure 9, SELL/SNS can be identified in the same dictionary. In addition, it can be seen that through different data dictionaries, the same word "transfer" is abbreviated in two different ways of TRSF/TRSFL.
한편, X사 데이터의 데이터 사전에서 PRDT는 제품(product)로 정의되어 있고, Y사 데이터의 데이터 사전에서 PRNO는 제품 번호(product number)로 정의되어 있다. 이는, 약어는 다르게 축약되거나 더 작은 약어로 세분될 수 있으므로, PRNO 대신에 PRDTNO와 같은 제품 번호의 다른 약어가 존재할 높은 가능성이 있다는 것을 의미할 수 있다. 실시예의 컴퓨터 시스템(200)은 이러한 가능성이 높음을 판정할 수 있다. Meanwhile, in the data dictionary of company X data, PRDT is defined as a product, and in the data dictionary of company Y data, PRNO is defined as a product number. This may mean that the abbreviations may be abbreviated differently or subdivided into smaller abbreviations, so that there is a high probability that other abbreviations of product numbers such as PRDTNO may exist instead of PRNO. The
또한, 코스닥(Korean Securities Dealer Automated Quotation)을 의미하는 KOSDAQ 에 대해서는, stock을 축약한 STCK와 domestic을 축약한 DMST가 유사 용어로 추천됨을 확인할 수 있다. In addition, for KOSDAQ, which stands for KOSDAQ (Korean Securities Dealer Automated Quotation), it can be seen that STCK for abbreviating stock and DMST for domestic abbreviation are recommended in similar terms.
이상 도 1 내지 도 4를 참조하여 전술된 기술적 특징들에 대한 설명은 도 5 내지 도 9 에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 4 may be applied to FIGS. 5 to 9 as it is, and redundant description will be omitted.
도 10은 일 예에 따른, 통합 데이터 저장소 관리 시스템을 구축하고, 구축된 통합 데이터 저장소 관리 시스템을 통해 데이터를 조회하는 방법을 나타낸다.10 illustrates a method of constructing an integrated data storage management system and querying data through the integrated integrated data storage management system, according to an example.
전술된 복수의 데이터 사전들의 각각은 도 10에서 도시된 각 시스템(즉, A 내지 C 시스템들의 각 시스템)에서 관리될 수 있다.Each of the plurality of data dictionaries described above can be managed in each system shown in FIG. 10 (ie, each system of A to C systems).
각 시스템은 각 데이터 사전의 데이터에 대한 데이터 저장소 시스템에 대응할 수 있다. 데이터 사전의 데이터는 메타데이터일 수 있고, 데이터 저장소 시스템은 통합 메타데이터 저장소(Meta Data Repository; MDR)일 수 있다. Each system may correspond to a data storage system for data in each data dictionary. The data in the data dictionary may be metadata, and the data storage system may be an integrated metadata repository (MDR).
통합 데이터 저장소 관리 시스템은 복수의 시스템들의 각각에 대한 데이터를 통합적으로 관리하는 시스템일 수 있다. 통합 데이터 저장소 관리 시스템은 복수의 시스템들의 데이터(즉, 복수의 데이터 사전)들의 데이터에 대해 MRM(Multi Repository Management)을 가능하게 할 수 있다. The integrated data storage management system may be a system that integrally manages data for each of a plurality of systems. The integrated data storage management system may enable multi-repository management (MRM) for data of multiple systems (ie, multiple data dictionaries).
말하자면, 도시된 A 시스템, B 시스템 및 C 시스템의 각각은 데이터 저장소 시스템으로서, 데이터 사전을 포함할 수 있다. That is, each of the illustrated A system, B system, and C system is a data storage system, and may include a data dictionary.
(각각의) 데이터 사전은 하나의 기업 또는 업종과 관련된 데이터에 기반하여 구축된 표준 사전일 수 있고, 이러한 데이터 사전은 상기 기업 또는 업종과 관련된 데이터를 저장 및 관리하는 시스템(도시된 A 시스템, B 시스템 또는 C 시스템)에 포함되거나, 그것과 연관될 수 있다.The (each) data dictionary may be a standard dictionary built on the basis of data related to one company or industry, and such data dictionary is a system for storing and managing data related to the company or industry (A system, B shown) System or C system).
복수의 데이터 사전들에 대응하는 표준 사전들은, 상기 데이터 사전들과 연관된 기업들 또는 업종들과 관련된 데이터에 대한 데이터 저장소 시스템들을 관리하는 통합 데이터 저장소 관리 시스템에 의해, 통합 딕셔너리로서 구축될 수 있다. 통합 딕셔너리는 도 10에서 도시된 통합 표준 사전에 대응할 수 있다.Standard dictionaries corresponding to a plurality of data dictionaries can be built as an integrated dictionary by an integrated data storage management system that manages data storage systems for data related to companies or industries associated with the data dictionaries. The integrated dictionary may correspond to the integrated standard dictionary shown in FIG. 10.
통합 딕셔너리는, (표준 사전들에 포함된) 용어들의 각각을, 표준 사전들 중 어느 하나와만 연관되는 개별 표준 용어, 표준 사전들 중 적어도 2개와 연관되되 전부와는 연관되지 않는 부문 표준 용어, 또는 표준 사전들 모두와 연관되는 전사 표준 용어로 분류할 수 있다.An integrated dictionary, each of the terms (included in the standard dictionaries), individual standard terms associated with only one of the standard dictionaries, sector standard terms associated with at least two of the standard dictionaries, but not all Or it can be classified as a transcription standard term that relates to all of the standard dictionaries.
도시된 예시를 참조하여 설명하면, A 시스템, B 시스템 및 C 시스템의 각각의 데이터의 데이터 항목들은 각각의 표준 사전에 매핑될 수 있다. 예컨대, 각 시스템의 데이터에 포함된 용어, 단어 및 도메인 중 적어도 하나는 표준 사전에 매핑되어 있을 수 있다. Referring to the illustrated example, data items of respective data of the A system, the B system, and the C system may be mapped to respective standard dictionaries. For example, at least one of terms, words, and domains included in data of each system may be mapped to a standard dictionary.
또한, 각 시스템과 연관된 표준 사전은 통합 표준 사전에 대해 매핑될 수 있다. 통합 표준 사전은 A 시스템, B 시스템 및 C 시스템을 관리하는 기업들/계열사들을 통합 관리하는 그룹의 표준 사전일 수 있다. 각 시스템과 연관된 표준 사전은, 해당 표준 사전에 포함된 용어, 단어 또는 도메인이 개별/부문/전사 표준(또는 용어)에 해당하는지가 결정됨으로써, 통합 표준 사전에 매핑될 수 있다.In addition, the standard dictionary associated with each system can be mapped to the integrated standard dictionary. The integrated standard dictionary may be a standard dictionary of a group that manages companies/affiliates that manage the A system, the B system, and the C system. Standard dictionaries associated with each system may be mapped to an integrated standard dictionary by determining whether terms, words, or domains included in the standard dictionary correspond to individual/department/company standards (or terms).
통합 표준 사전의 사용자는 통합 표준 사전을 조회함으로써 각 시스템과 연관된 표준 사전에 포함된 데이터를 조회할 수 있다.Users of the integrated standard dictionary can query the data included in the standard dictionary associated with each system by querying the integrated standard dictionary.
예컨대, 통합 표준 사전(통합 딕셔너리)을 통해 타겟 단어로서 특정 용어가 조회될 때, 특정 용어에 대한 유사도가 상위인 용어들(즉, 추천 용어들(100))과 함께, 특정 용어가 개별 용어, 부문 용어 또는 전사 용어에 해당하는지가 함께 조회될 수 있다. 또한, 추천 용어들(100)의 각각에 대해서도 각 추천 용어가 개별 용어, 부문 용어 또는 전사 용어에 해당하는지가 함께 조회될 수 있다. 이러한 조회의 결과는 컴퓨터 시스템(200)의 화면에서 출력될 수 있다. For example, when a specific term is searched as a target word through an integrated standard dictionary (integrated dictionary), a specific term is an individual term, along with terms with high similarity to a specific term (ie, recommended terms 100). Whether it corresponds to a divisional term or a company term Can be queried together. Also, for each of the recommended
이상 도 1 내지 도 9를 참조하여 전술된 기술적 특징들에 대한 설명은 도 10에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 9 may be applied to FIG. 10 as it is, and a duplicate description is omitted.
아래에서는 도 11 내지 도 15를 참조하여, 통합 데이터 저장소 관리 시스템과, 이러한 통합 데이터 저장소 관리 시스템을 사용하여 복수의 데이터 저장소 시스템들(MDR)의 데이터에 대한 MRM을 수행하는 방법에 대해 더 자세하게 설명된다. Hereinafter, with reference to FIGS. 11 to 15, an integrated data storage management system and a method of performing MRM on data of a plurality of data storage systems (MDR) using the integrated data storage management system will be described in more detail. do.
(복수의 업종들을 갖는) 기업은, 사업부문의 확장 또는 개별 법인의 신설 등이 있는 경우, 독립적인 사업 운영을 전제로 하는 바, 이에 따라 정보화 역시 개별적으로 추진되는 경우가 일반적이다.Firms (having multiple industries) are premised on independent business operations in the case of expansion of business divisions or the establishment of individual corporations, so it is common that informatization is also promoted individually.
또한, 조직 내에 다양한 업종들을 보유하고 있거나, 물리적으로 분리된 상태로 존재하는 데이터 저장소 시스템들 또는 그룹사와 계열사 간의 표준의 공유 및 데이터 공동 활용을 위해서는 각각의 분산된 메타 데이터 공유 대상에 대한 통합적인 관리가 필요하다. 또한, 업무의 특성상 발생하는 다중 표준과, 그룹사 및 계열사들 간의 표준 공유를 위하여 각 조직 별(또는 업종 별) 표준을 기준으로 분산되어 있는 메타데이터 관리 시스템 간의 데이터 호환성을 확보해야 할 필요가 있다.In addition, integrated management of each distributed metadata sharing target for data sharing systems that have various industries in the organization or exist in a physically separated state or for standard sharing and data sharing between group companies and affiliates Is needed. In addition, it is necessary to secure data compatibility between the distributed metadata management system based on the standards of each organization (or by industry) in order to share standards between multiple standards that occur due to the nature of the business and groups and affiliates.
관련하여, MRM(Multi Repository Management)은 그룹 산하의 개별 계열사들(또는 업종들) 간의 다중 표준을 토대로, 그룹사와 계열사간 데이터 공유를 위한 그룹사의 표준을 정의하고 그룹 표준(Global Standard)을 기준으로 각 개별 표준(Local Standard) 간의 매핑 또는 포함 관계를 관리하는 것을 의미할 수 있다. 다시 말해, MRM은 업종이 다른 업무의 특성에 따라 관리되는 기업 별 메타데이터를 하나의 통합 저장소로서 관리하고, 개별적인 메타 데이터 별 개별 표준을 작성하고 그룹 표준과 개별 표준간 구조적 관계를 지속적으로 관리하는 것을 의미할 수 있다. In relation to this, MRM (Multi Repository Management) defines the standards of group companies for data sharing between group companies and affiliates based on multiple standards between individual affiliates (or industries) under the group, and based on the group standards (Global Standard). It may mean managing a mapping or inclusion relationship between each local standard. In other words, MRM manages enterprise-specific metadata managed according to the characteristics of different industries as one unified storage, creates individual standards for individual metadata, and continuously manages the structural relationship between group standards and individual standards. Can mean
이를 해결하기 위해서는 통합 메타데이터 저장소(MDR: Meta Data Repository)를 기반으로, 각각의 메타데이터에 존재하는 표준 간에 상호 관계를 정하고, MRM을 통해, 표준이 서로 다른 시스템 간의 데이터 공유에 있어서, 상호 운용성을 확보해야 할 수 있다. To solve this, based on the integrated metadata repository (MDR: Meta Data Repository), mutual relations between standards existing in each metadata are defined, and through MRM, interoperability in data sharing between systems with different standards May need to be secured.
MRM을 제공하는 통합 데이터 저장소 관리 시스템의 주요 기능은 다중 메타 데이터를 하나의 통합 저장소에서 수집할 수 있도록 하는 기능과; 각 데이터 저장소 시스템 별 표준 사전 정의 및 개별 매핑 기능과; 개별 메타데이터 별 표준 사전(단어, 용어, 도메인)을 정의, 적재시키는 기능과; 다중 표준간 구조 및 관계 관리(전사/부문/개별 표준의 정의 및 관계 설정) 기능을 포함할 수 있다. The main functions of the integrated data storage management system that provides MRM include the ability to collect multiple metadata in one integrated storage; Standard predefined and individual mapping functions for each data storage system; The ability to define and load standard dictionaries (words, terms, domains) for each metadata; It can include structure and relationship management between multiple standards (definition and relationship establishment of company/sector/individual standards).
[MRM의 개념][Concept of MRM]
산업계는 업종별로 특성을 가질 수 있다. 예컨대, 제조업은 생산 라인별로, 금융은 지주사를 중심으로, 행정기관인 경우는 본청을 중심으로 지방청과 산하기관이 존재할 수 있다. 이들 각각에 대해서는 별개의 IT시스템이 적용될 수 있고, 이와 관련된 데이터(메타 데이터)는 각각 별개로 관리되는 경우가 많다. Industry can have characteristics by industry. For example, the manufacturing industry may exist for each production line, the finance centers on the holding company, and in the case of an administrative agency, the regional offices and affiliated organizations may be centered around the main office. A separate IT system can be applied to each of these, and data related to it (meta data) is often managed separately.
MRM은 이러한 업종별 메타데이터를 통합적으로 관리하는 것일 수 있다. MRM may be integrated management of metadata for each industry.
또한, MRM은, MDR에 대해, MDR들 간의 표준, 기준 정보 및 기타 메타데이터의 동기화를 수행할 수 있도록 하는 것일 수 있다.Further, the MRM may be to enable synchronization of standards, reference information, and other metadata between MDRs with respect to the MDR.
도 11은 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템을 사용하여 각 업종에 대한 데이터를 통합 및 연결하는 방법을 나타낸다. 11 illustrates a method of integrating and linking data for each industry using an integrated data storage management system constructed according to an example.
도 11에서는, 통합 데이터 저장소 관리 시스템(1100)이 도시되었고, MDR1 내지 3의 각각은 전술된 데이터 저장소 시스템에 대응할 수 있다. In FIG. 11, an integrated data
도시된 것처럼 데이터 저장소 시스템(즉, MDR1 내지 3)에 포함된 단어, 용어 및/또는 도메인(예컨대, 전술된 컴퓨터 시스템(200)에 의해 추천된 도메인)은, 통합 데이터 저장소 관리 시스템(1100)의 통합 MDR에서 전사 표준, 부분 표준 또는 개별 표준에 할당될 수 있다. 이에 따라, 통합 데이터 저장소 관리 시스템(1100)을 통해, MDR1 내지 3의 데이터에 대한 통합적인 조회 및 접근과, 표준 관리가 가능하게 될 수 있다. The words, terms, and/or domains (eg, domains recommended by
도 12는 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템에서 정의되는 용어/도메인/표준의 분류 체계를 나타낸다. 도시된 A사 내지 C사 메타데이터 시스템은 전술된 데이터 저장소 시스템에 대응할 수 있다. 12 illustrates a classification system of terms/domains/standards defined in an integrated integrated data storage management system according to an example. The illustrated companies A to C metadata systems may correspond to the data storage systems described above.
도 13 및 도 14는 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템을 사용하여 개별/부문/전사 표준을 관리하는 방법을 나타낸다. 13 and 14 illustrate a method for managing individual/sector/enterprise standards using an integrated integrated data storage management system, according to an example.
도시된 것처럼, 각 데이터 저장소 시스템에서 정의되어 있는 표준 용어와 표준 도메인은 통합 데이터 저장소 관리 시스템에 의해 전사 표준(용어), 부문 표준(용어) 또는 개별 표준(용어)에 할당될 수 있다. As illustrated, standard terms and standard domains defined in each data storage system may be assigned to an enterprise standard (term), a sector standard (term), or an individual standard (term) by an integrated data storage management system.
도 14에서 도시된 것처럼, MDR 1 내지 4의 표준 (한글) 단어 각각은 전사 표준(용어), 부문 표준(용어), 또는 개별 표준(용어)에 해당하는 것으로서 식별될 수 있다. 또한, 수집된 메타데이터 중 용어 기준으로 분할된 단어와 용어에 해당하는 도메인(타입, 자릿수) 역시 전사 표준, 부문 표준, 또는 개별 표준에 해당하는 것으로서 식별될 수 있다.As illustrated in FIG. 14, each of the standard (Korean) words of
도 15는 일 예에 따른, 구축된 통합 데이터 저장소 관리 시스템을 사용하여 구현되는 통합 딕셔너리를 나타낸다. 15 illustrates an integrated dictionary implemented using an integrated integrated data storage management system, according to an example.
도시된 것처럼, 구축된 통합 데이터 저장소 관리 시스템에는 통합 딕셔너리(1500)가 구축될 수 있다. 통합 딕셔너리에는, 개별적인 데이터 저장소 시스템에서 구현된 데이터 사전 또는 표준 사전이 매핑되어 있을 수 있다.As illustrated, the
통합 딕셔너리(1500)에는 용어, 단어 및 도메인이 정의되어 있을 수 있다. 또한, 각 용어에 대해 해당 용어가 전사 용어에 해당하는지, 부문 용어에 해당하는지, 개별 용어에 해당하는지가 정의되어 있을 수 있다. 또한, 통합 딕셔너리(1500)에는 (개별적인 데이터 저장소 시스템들과 연관된) 표준들 간의 구조 체계가 정의되어 있을 수 있다. 또한, 통합 딕셔너리(1500)에는 용어에 대한 체계 역시 정의되어 있을 수 있다. Terms, words, and domains may be defined in the
통합 데이터 저장소 관리 시스템은 각 기관(각 데이터 저장소 시스템)에서 수집한 데이터에 기반한 데이터 딕서너리와 각 기관의 표준 사전정보를 수집할 수 있다. 또한, 통합 데이터 저장소 관리 시스템은 상기 표준 사전과 메타 정보를 연결한 매핑 정보를 수집할 수 있다. 통합 데이터 저장소 관리 시스템은, 표준 사전이 존재하지 않는 경우 없는, 표준 사전을 신규로 작성하여 매핑을 수행할 수 있다. 이에 따라, 통합 데이터 저장소 관리 시스템은 통합 딕셔너리(1500)를 구축할 수 있다. The integrated data storage management system can collect data dictionary based on data collected from each institution (each data storage system) and standard dictionary information of each institution. In addition, the integrated data storage management system may collect mapping information linking the standard dictionary and meta information. The integrated data storage management system can perform mapping by creating a new standard dictionary without a standard dictionary. Accordingly, the integrated data storage management system can build the
통합 딕셔너리(1500)를 구성함에 있어서, 각 용어에 대하여 전사/부문/개별 표준(용어) 여부를 판정하여, 해당 용어에 적시해 둘 수 있다. In constructing the
이상 도 1 내지 도 10을 참조하여 전술된 기술적 특징들에 대한 설명은 도 11 내지 도 15에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 10 may be applied to FIGS. 11 to 15 as it is, and overlapping descriptions are omitted.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the devices and components described in the embodiments may include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor (micro signal processor), a microcomputer, a field programmable gate array (FPGA), and a programmable programmable logic array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit, microprocessor, or any other device capable of executing and responding to instructions. The processing device may perform an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be embodied in any type of machine, component, physical device, computer storage medium, or device in order to be interpreted by the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. In this case, the medium may continuously store a program executable on a computer or may be temporarily stored for execution or download. In addition, the medium may be various recording means or storage means in a form of a single or several hardware combinations, and is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. In addition, examples of other media may include an application store for distributing applications or a recording medium or storage medium managed by a site, server, or the like that supplies or distributes various software.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by a limited embodiment and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (10)
복수의 용어들을 데이터 항목들로서 포함하는 적어도 하나의 데이터 사전에 대해 전처리를 수행하는 단계;
자연어 처리 기법에 기반하여, 타겟 단어에 대해, 상기 전처리된 데이터 사전으로부터 상기 타겟 단어와 관련되는 적어도 하나의 용어를 결정하는 단계; 및
상기 타겟 단어에 대한 추천 용어로서, 상기 결정된 용어를 출력하는 단계
를 포함하고,
데이터 사전은 복수의 데이터 사전들로 구성된 다중 데이터 사전이고,
상기 데이터 사전들이 데이터 항목들로서 포함하는 복수의 용어들의 각각은 약어이고,
상기 전처리를 수행하는 단계는,
상기 데이터 사전들의 각 데이터 사전에 대해, 소정의 언어에 해당하는 용어들을 추출하는 단계; 및
상기 추출된 용어들 중 중복된 용어를 제거함으로써, 상기 추출된 용어들 중 중복된 용어가 제거된 전처리 용어들을 획득하는 단계
를 포함하고,
상기 용어를 결정하는 단계는,
상기 복수의 용어들 중에서, 상기 타겟 단어에 대한 유사도가 상위인 용어들을 결정하고,
상기 출력하는 단계는,
상기 결정된 용어들을 순위화하여 출력하고,
상기 각 데이터 사전은 하나의 기업 또는 업종과 관련된 데이터에 기반하여 구축된 표준 사전이고,
상기 복수의 데이터 사전들에 대응하는 표준 사전들은, 상기 데이터 사전들과 연관된 기업들 또는 업종들과 관련된 데이터에 대한 데이터 저장소 시스템들을 관리하는 통합 데이터 저장소 관리 시스템에 의해, 통합 딕셔너리로서 구축되고,
상기 통합 딕셔너리는,
상기 복수의 용어들의 각각을, 상기 표준 사전들 중 어느 하나와만 연관되는 개별 표준 용어, 상기 표준 사전들 중 적어도 2개와 연관되되 전부와는 연관되지 않는 부문 표준 용어, 또는 상기 표준 사전들 모두와 연관되는 전사 표준 용어로 분류하고,
상기 통합 딕셔너리를 통해 상기 타겟 단어로서 특정 용어가 조회될 때, 상기 특정 용어에 대한 유사도가 상위인 복수의 용어들과 함께, 상기 특정 용어가 상기 개별 표준 용어, 상기 부문 표준 용어 또는 상기 전사 표준 용어에 해당하는지가 함께 조회되는, 용어를 추천하는 방법. A method for recommending terms from a data dictionary, performed by a computer system, comprising:
Pre-processing at least one data dictionary including a plurality of terms as data items;
Based on a natural language processing technique, for a target word, determining at least one term associated with the target word from the preprocessed data dictionary; And
Outputting the determined term as a recommended term for the target word
Including,
A data dictionary is a multiple data dictionary composed of a plurality of data dictionaries,
Each of the plurality of terms that the data dictionaries include as data items is an abbreviation,
The step of performing the pre-treatment,
For each data dictionary of the data dictionaries, extracting terms corresponding to a predetermined language; And
Obtaining pre-processed terms in which duplicate terms are removed from the extracted terms by removing duplicate terms from the extracted terms
Including,
Determining the term,
Among the plurality of terms, the terms having similarity to the target word are determined,
The step of outputting,
Rank and output the determined terms,
Each data dictionary is a standard dictionary built based on data related to one company or industry,
Standard dictionaries corresponding to the plurality of data dictionaries are built as an integrated dictionary by an integrated data storage management system that manages data storage systems for data related to companies or industries associated with the data dictionaries,
The integrated dictionary,
Each of the plurality of terms, with an individual standard term associated with only one of the standard dictionaries, a sector standard term associated with at least two but not all of the standard dictionaries, or all of the standard dictionaries Classified by the relevant transcription standard terminology,
When a specific term is searched as the target word through the integrated dictionary, the specific term is the individual standard term, the sector standard term, or the transcription standard term, along with a plurality of terms having similarity to the specific term. Does it correspond to How to recommend terms that are queried together.
상기 자연어 처리 기법은 통계적 방법이고,
상기 용어를 결정하는 단계는,
상기 타겟 단어의 단어 벡터를 결정하는 단계;
상기 전처리 용어들의 각각의 단어 벡터와 상기 타겟 단어의 단어 벡터 간의 코사인 유사도를 계산하는 단계; 및
상기 계산된 코사인 유사도가 상위인 적어도 2개의 용어들을 상기 유사도가 상위인 복수의 용어들로서 결정하는 단계
를 포함하는, 용어를 추천하는 방법. According to claim 1,
The natural language processing technique is a statistical method,
Determining the term,
Determining a word vector of the target word;
Calculating a cosine similarity between each word vector of the preprocessing terms and the word vector of the target word; And
Determining at least two terms having a higher cosine similarity as the plurality of terms having a higher similarity.
How to recommend a term, including.
상기 자연어 처리 기법은 머신러닝 기반의 방법이고,
상기 용어를 결정하는 단계는,
상기 전처리 용어들 중에서, 상기 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정하도록 훈련된 머신러닝 기반의 모델을 사용하여, 상기 타겟 단어에 대한 유사도가 상위인 복수의 용어들을 결정하고,
상기 머신러닝 기반의 모델은 손실(loss)이 수렴되도록, 학습 속도(learning rate), 에포크의 수(number of epochs), 은닉 레이어(hidden layers), 은닉 유닛(hidden units) 및 활성화 함수(activation functions) 중 적어도 하나의 하이퍼 파라미터가 조정되어 훈련되는, 용어를 추천하는 방법. According to claim 1,
The natural language processing technique is a machine learning-based method,
Determining the term,
Among the pre-processed terms, a plurality of terms having high similarity to the target word are determined using a machine learning based model trained to determine a plurality of terms having high similarity to the target word,
The machine-learning-based model includes learning rate, number of epochs, hidden layers, hidden units, and activation functions so that the loss converges. ), wherein at least one hyper parameter is adjusted and trained.
상기 머신러닝 기반의 모델은 Word2Vec 기반의 모델인, 용어를 추천하는 방법. According to claim 4,
The machine learning-based model is a Word2Vec-based model, a method for recommending terms.
상기 용어를 결정하는 단계는,
상기 타겟 단어의 문맥을 결정하기 위해 사용되는 윈도우 크기(window size)는 5 이하로 설정되고,
상기 소정의 언어는 상기 타겟 단어와 동일한 언어인, 용어를 추천하는 방법.According to claim 1,
Determining the term,
The window size used to determine the context of the target word is set to 5 or less,
A method of recommending a term, wherein the predetermined language is the same language as the target word.
상기 타겟 단어가 상기 복수의 용어들에 포함되어 있지 않은 경우, 상기 타겟 단어의 상기 데이터 사전에 대한 등록이 필요함을 나타내는 통지를 출력하는 단계
를 더 포함하는, 용어를 추천하는 방법. According to claim 1,
If the target word is not included in the plurality of terms, outputting a notification indicating that the target word needs to be registered in the data dictionary
A method of recommending a term, further comprising a.
상기 머신러닝 기반의 모델은 강화 학습(Reinforcement Learning)에 기반하여 훈련된 모델이고,
상기 머신러닝 기반의 모델은 상기 타겟 단어에 대한 유사도가 상위인 복수의 용어들에 대한 결정에 기반하여 업데이트되는, 용어를 추천하는 방법. According to claim 4,
The machine learning based model is a model trained based on reinforcement learning,
The machine learning based model is a method for recommending a term, which is updated based on a determination of a plurality of terms with similarity to the target word.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035512A KR102132142B1 (en) | 2020-03-24 | 2020-03-24 | Method and apparatus for recommending vocabulary from data dictionary based on natural language processing technique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035512A KR102132142B1 (en) | 2020-03-24 | 2020-03-24 | Method and apparatus for recommending vocabulary from data dictionary based on natural language processing technique |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102132142B1 true KR102132142B1 (en) | 2020-07-09 |
Family
ID=71602327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200035512A KR102132142B1 (en) | 2020-03-24 | 2020-03-24 | Method and apparatus for recommending vocabulary from data dictionary based on natural language processing technique |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102132142B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705221A (en) * | 2021-08-27 | 2021-11-26 | 北京百度网讯科技有限公司 | Word pushing method and device, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101797365B1 (en) * | 2016-06-15 | 2017-11-15 | 울산대학교 산학협력단 | Apparatus and method for semantic word embedding using wordmap |
KR102046640B1 (en) * | 2019-07-22 | 2019-12-02 | (주)위세아이텍 | Automatic terminology recommendation device and method for big data standardization |
-
2020
- 2020-03-24 KR KR1020200035512A patent/KR102132142B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101797365B1 (en) * | 2016-06-15 | 2017-11-15 | 울산대학교 산학협력단 | Apparatus and method for semantic word embedding using wordmap |
KR102046640B1 (en) * | 2019-07-22 | 2019-12-02 | (주)위세아이텍 | Automatic terminology recommendation device and method for big data standardization |
Non-Patent Citations (6)
Title |
---|
J. Chung et al., Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling, www.arxiv.org (2014.12.11.) * |
Paul C. Hershey, "Data analytics implications" IEEE Potentials, (2018.08) * |
Philip W. Shin et al., Data Governance on Business/Data Dictionary using Machine Learning and Statistics, ICAIIC2020 (2020.2.19) * |
T. Mikolov et al., Efficient estimation of word representations in vector space, arXiv:1301.3781, (2013) * |
김도우, Doc2Vec을 활용한 CNN 기반 한국어 신문 기사 분류에 관한 연구, 서강대학교 석사학위 논문 (2017.01.05.) * |
김현주 외, 문장부호를 고려한 특수어절 분석 알고리즘, 한국정보처리학회 2015년도 추계학술발표대회 (2015.10.28), pp.1122-1125 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705221A (en) * | 2021-08-27 | 2021-11-26 | 北京百度网讯科技有限公司 | Word pushing method and device, electronic equipment and storage medium |
CN113705221B (en) * | 2021-08-27 | 2023-11-10 | 北京百度网讯科技有限公司 | Word pushing method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cerda et al. | Similarity encoding for learning with dirty categorical variables | |
Liu et al. | Shifu2: A network representation learning based model for advisor-advisee relationship mining | |
US10438133B2 (en) | Spend data enrichment and classification | |
CN112037920A (en) | Medical knowledge map construction method, device, equipment and storage medium | |
Rios et al. | Neural transfer learning for assigning diagnosis codes to EMRs | |
US20210374525A1 (en) | Method and system for processing data records | |
Zhu et al. | A novel multiple layers name disambiguation framework for digital libraries using dynamic clustering | |
Mirończuk | The BigGrams: the semi-supervised information extraction system from HTML: an improvement in the wrapper induction | |
US20220300831A1 (en) | Context-aware entity linking for knowledge graphs | |
Soylu et al. | Enhancing public procurement in the European Union through constructing and exploiting an integrated knowledge graph | |
Hong et al. | Event2vec: Learning representations of events on temporal sequences | |
US11847415B2 (en) | Automated detection of safety signals for pharmacovigilance | |
KR102132142B1 (en) | Method and apparatus for recommending vocabulary from data dictionary based on natural language processing technique | |
KR102153259B1 (en) | Data domain recommendation method and method for constructing integrated data repository management system using recommended domain | |
Azzam et al. | A question routing technique using deep neural network for communities of question answering | |
Talburt et al. | A practical guide to entity resolution with OYSTER | |
Bagirov et al. | An algorithm for minimizing clustering functions | |
WO2021186287A1 (en) | Vector embedding models for relational tables with null or equivalent values | |
Sakib et al. | A novel approach on machine learning based data warehousing for intelligent healthcare services | |
Shin et al. | Data governance on business/data dictionary using machine learning and statistics | |
Pietranik et al. | A method for ontology alignment based on semantics of attributes | |
Hu et al. | Deduplication Method for Ukrainian Last Names, Medicinal Names, and Toponyms Based on Metaphone Phonetic Algorithm | |
Chowdhury et al. | A new method for extractive text summarization using neural networks | |
Ashish et al. | GEM: the GAAIN entity mapper | |
Chen et al. | Hybrid data mining approaches for prevention of drug dispensing errors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |