[go: up one dir, main page]

KR102192376B1 - Method and system for extracting foreign synonym using transliteration model - Google Patents

Method and system for extracting foreign synonym using transliteration model Download PDF

Info

Publication number
KR102192376B1
KR102192376B1 KR1020190018535A KR20190018535A KR102192376B1 KR 102192376 B1 KR102192376 B1 KR 102192376B1 KR 1020190018535 A KR1020190018535 A KR 1020190018535A KR 20190018535 A KR20190018535 A KR 20190018535A KR 102192376 B1 KR102192376 B1 KR 102192376B1
Authority
KR
South Korea
Prior art keywords
synonym
extracting
product
target keyword
list
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190018535A
Other languages
Korean (ko)
Other versions
KR20200100360A (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 KR1020190018535A priority Critical patent/KR102192376B1/en
Priority to JP2020018525A priority patent/JP7014830B2/en
Publication of KR20200100360A publication Critical patent/KR20200100360A/en
Application granted granted Critical
Publication of KR102192376B1 publication Critical patent/KR102192376B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Accounting & Taxation (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

음역 모델을 이용하여 외래 동의어를 자동 추출하는 방법 및 시스템이 개시된다. 동의어 추출 방법은, 대상 키워드에 대해 상기 대상 키워드와 관련된 키워드 리스트를 추출하는 단계; 및 음역 모델(transliteration model)을 이용하여 상기 키워드 리스트에서 상기 대상 키워드의 원어 표기에 해당되는 동의어를 추출하는 단계를 포함한다.Disclosed is a method and system for automatically extracting foreign synonyms using a transliteration model. The synonym extraction method includes: extracting a keyword list related to the target keyword for the target keyword; And extracting a synonym corresponding to the original language notation of the target keyword from the keyword list using a transliteration model.

Description

음역 모델을 이용하여 외래 동의어를 자동 추출하는 방법 및 시스템{METHOD AND SYSTEM FOR EXTRACTING FOREIGN SYNONYM USING TRANSLITERATION MODEL}Method and system for automatically extracting foreign synonyms using transliteration model {METHOD AND SYSTEM FOR EXTRACTING FOREIGN SYNONYM USING TRANSLITERATION MODEL}

아래의 설명은 동의어 추출 기술에 관한 것으로, 특히 외래어의 원어 표기를 추출하는 기술에 관한 것이다.The following description relates to a technology for extracting synonyms, and in particular, to a technology for extracting the original language notation of a foreign word.

일반적으로 인터넷을 통하여 사용자가 정보를 수집하고자 하는 경우에는 정보를 제공하는 서버에 접속하여 검색을 통하여 해당 정보를 얻는다.In general, when a user wants to collect information through the Internet, he accesses a server providing information and obtains the information through search.

특정 상품을 구매하고자 하는 경우에는 검색 사이트를 이용하여 가격이나 특성 등에 관한 정보를 얻게 되거나, 혹은 해당 상품을 판매하는 웹사이트를 찾아서 이동할 수도 있다.If you want to purchase a specific product, you can get information about prices or characteristics using a search site, or you can search for a website that sells the product.

상품 검색을 위해서는 상품 모델과 카테고리를 매칭하는 과정을 포함한 상품 등록 절차가 필요하다. 예컨대, 한국 등록특허공보 제10-0705410호(등록일 2007년 04월 03일)에는 상품 모델과 카테고리를 자동으로 매칭시켜 상품 정보를 등록하는 기술이 개시되어 있다.In order to search for a product, a product registration process including a process of matching product models and categories is required. For example, Korean Patent Publication No. 10-0705410 (registration date April 03, 2007) discloses a technology for registering product information by automatically matching product models and categories.

상품 정보에서 추출된 키워드에 대해 키워드 간의 관계를 나타내는 멀티 그래프 구조를 구축할 수 있고 외래어의 경우 동의어로서 원어 표기를 자동 추출하여 멀티 그래프에 추가할 수 있는 방법 및 시스템을 제공한다.Provides a method and system for constructing a multi-graph structure representing the relationship between keywords for keywords extracted from product information, and automatically extracting the original language notation as a synonym for foreign words and adding them to the multi-graph.

외래어에 대해 음역 모델(transliteration model)을 이용하여 상품명이나 상품 관련 질의에 출현하는 단어에서 해당 외래어의 원어 표기를 추출하여 동의어로 처리할 수 있는 방법 및 시스템을 제공한다.Provides a method and system for extracting the original language notation of the corresponding foreign word from words appearing in a product name or product-related query using a transliteration model for foreign words and processing them as synonyms.

컴퓨터 시스템에서 실행되는 동의어 추출 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 동의어 추출 방법은, 상기 적어도 하나의 프로세서에 의해, 대상 키워드에 대해 상기 대상 키워드와 관련된 키워드 리스트를 추출하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 음역 모델(transliteration model)을 이용하여 상기 키워드 리스트에서 상기 대상 키워드의 원어 표기에 해당되는 동의어를 추출하는 단계를 포함하는 동의어 추출 방법을 제공한다.A synonym extraction method executed in a computer system, wherein the computer system includes at least one processor configured to execute computer readable instructions contained in a memory, and the synonym extraction method comprises: by the at least one processor, an object Extracting a keyword list related to the target keyword for the keyword; And extracting, by the at least one processor, a synonym corresponding to the original language notation of the target keyword from the keyword list using a transliteration model.

일 측면에 따르면, 상기 키워드 리스트를 추출하는 단계는, 상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나를 추출할 수 있다.According to an aspect, the extracting of the keyword list includes: extracting at least one of a product name list clicked after entering the target keyword as a search query, another query list related to each click product, and a tag list related to each click product can do.

다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 발음의 최소 단위를 이용한 음역 모델을 이용하여 상기 동의어를 추출할 수 있다.According to another aspect, in the step of extracting the synonym, the synonym may be extracted using a transliteration model using a minimum unit of pronunciation.

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, LBG(linked bi-gramed)의 데이터 형식을 이용하여 상기 대상 키워드를 발음의 최소 단위로 분리하는 단계를 포함할 수 있다.According to another aspect, the extracting the synonym may include separating the target keyword into a minimum unit of pronunciation using a data format of LBG (linked bi-gramed).

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 상기 음역 모델을 통해 상기 키워드 리스트에서 추출된 단어 중 상기 대상 키워드와 매칭되는 단어를 상기 동의어로 추출하는 단계를 포함할 수 있다.According to another aspect, the extracting of the synonym may include extracting, as the synonym, a word matching the target keyword among words extracted from the keyword list through the transliteration model.

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 상기 대상 키워드에 대해 상기 매칭되는 단어를 치환하여 동의어 후보를 추출하는 단계를 더 포함할 수 있다.According to another aspect, the extracting of the synonym may further include extracting a synonym candidate by substituting the matched word for the target keyword.

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 상기 키워드 리스트에서 특정 언어의 단어를 추출하는 단계를 더 포함할 수 있다.According to another aspect, the extracting the synonym may further include extracting a word of a specific language from the keyword list.

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 상기 대상 키워드가 복합어로 이루어진 경우 단일어로 분리하는 단계를 더 포함할 수 있다.According to another aspect, the step of extracting the synonym may further include separating the target keyword into a single word when the target keyword is composed of a compound word.

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나를 이용하여 상기 동의어를 검증하는 단계를 더 포함할 수 있다.According to another aspect, in the step of extracting the synonym, at least one of a product name list clicked after entering the target keyword as a search query, another query list related to each click product, and a tag list related to each click product is used. It may further include the step of verifying the synonym.

또 다른 측면에 따르면, 상기 동의어를 추출하는 단계는, 상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나에 상기 대상 키워드와 매칭되는 단어의 출현 여부 또는 출현 빈도를 바탕으로 상기 동의어를 결정하는 단계를 더 포함할 수 있다.According to another aspect, the extracting of the synonym includes at least one of a product name list clicked after entering the target keyword as a search query, another query list related to each click product, and a tag list related to each click product. The method may further include determining the synonym based on whether or not a word matching the target keyword appears or the frequency of appearance.

또 다른 측면에 따르면, 상기 동의어 추출 방법은, 상기 적어도 하나의 프로세서에 의해, 상품 사전 상의 키워드 간의 관계를 나타내는 멀티 그래프를 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 동의어를 상기 멀티 그래프에 추가 등록하는 단계를 더 포함할 수 있다.According to another aspect, the method for extracting synonyms includes: generating, by the at least one processor, a multi-graph indicating a relationship between keywords in a product dictionary; And additionally registering the synonym in the multi-graph by the at least one processor.

또 다른 측면에 따르면, 상기 생성하는 단계는, 상기 상품 사전에 포함된 각 상품 별로 해당 상품에 매칭되는 상품 정보를 키워드로 변환하는 단계; 및 상기 상품 사전으로부터 상기 상품에 매칭되는 정보 간의 관계 데이터를 키워드 간의 관계 데이터로서 추출하는 단계를 포함할 수 있다.According to another aspect, the generating may include converting product information matching a corresponding product for each product included in the product dictionary into a keyword; And extracting relationship data between information matching the product from the product dictionary as relationship data between keywords.

또 다른 측면에 따르면, 상기 추가 등록하는 단계는, 상기 멀티 그래프 상에 상기 대상 키워드와 상기 동의어의 관계를 추가하거나, 혹은 상기 멀티 그래프 상의 키워드 중 상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나에 상기 동의어와 함께 출현하는 키워드와의 관계를 추가할 수 있다.According to another aspect, the step of registering additionally includes adding a relationship between the target keyword and the synonym on the multi-graph, or entering the target keyword among keywords on the multi-graph as a search query and clicking the product name A relationship with keywords appearing together with the synonym may be added to at least one of a list, another query list related to each click product, and a tag list related to each click product.

상기 동의어 추출 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체를 제공한다.A non-transitory computer-readable recording medium in which a program for executing the synonym extraction method is recorded on a computer is provided.

컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 대상 키워드에 대해 상기 대상 키워드와 관련된 키워드 리스트를 추출한 후, 음역 모델을 이용하여 상기 키워드 리스트에서 상기 대상 키워드의 원어 표기에 해당되는 동의어를 추출하는 동의어 추출부를 포함하는 컴퓨터 시스템을 제공한다.A computer system comprising: at least one processor configured to execute computer-readable instructions contained in a memory, wherein the at least one processor extracts a keyword list related to the target keyword for the target keyword, and then generates a transliteration model. A computer system including a synonym extractor for extracting synonyms corresponding to the original language representation of the target keyword from the keyword list is provided.

본 발명의 실시예들에 따르면, 상품 정보에서 추출된 키워드에 대해 키워드 간의 관계를 나타내는 멀티 그래프 구조를 구축할 수 있고 외래어의 경우 동의어로서 원어 표기를 자동 추출하여 멀티 그래프에 추가할 수 있다.According to embodiments of the present invention, it is possible to construct a multi-graph structure representing the relationship between keywords with respect to keywords extracted from product information, and in the case of foreign words, it is possible to automatically extract the original language notation as a synonym and add it to the multi-graph.

본 발명의 실시예들에 따르면, 외래어에 대해 음역 모델을 이용하여 상품명이나 상품 관련 질의에 출현하는 단어에서 해당 외래어의 원어 표기를 추출하여 동의어로 처리할 수 있다.According to embodiments of the present invention, the original language notation of the foreign word may be extracted from words appearing in a product name or product-related query using a transliteration model for the foreign word and processed as synonyms.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서 키워드 관리를 위한 상품 사전의 구성 예시를 도시한 것이다.
도 6은 본 발명의 일실시예에 있어서 상품 정보를 키워드로 변환하는 과정의 일례를 설명하기 위한 예시 도면이다.
도 7은 본 발명의 일실시예에 있어서 키워드 간의 관계를 나타내는 멀티 그래프를 구축하는 과정의 일례를 설명하기 위한 예시 도면이다.
도 8은 본 발명의 일실시예에 있어서 한글의 벡터 수치문자로 표현한 예시를 도시한 것이다.
도 9는 본 발명의 일실시예에 있어서 LBG 데이터 형식을 이용한 분리 방식을 설명하기 위한 예시 도면이다.
도 10은 본 발명의 일실시예에 있어서 MWS 단위의 데이터 셋을 추출하는 과정을 설명하기 위한 예시 도면이다.
도 11 내지 도 12는 본 발명의 일실시예에 있어서 음역 프로세싱 과정을 설명하기 위한 예시 도면이다.
도 13 내지 도 16은 본 발명의 일실시예에 있어서 음역 모델을 이용한 영문 동의어 추출 과정을 설명하기 위한 예시 도면이다.
도 17은 본 발명의 일실시예에 있어서 멀티 그래프에 원어 표기 동의어를 추가하는 과정을 설명하기 위한 예시 도면이다.
1 is a diagram showing an example of a network environment according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
3 is a block diagram illustrating an example of components that may be included in a processor of a server according to an embodiment of the present invention.
4 is a flowchart showing an example of a method that a server can perform according to an embodiment of the present invention.
5 shows an example of the configuration of a product dictionary for keyword management in an embodiment of the present invention.
6 is an exemplary diagram for explaining an example of a process of converting product information into keywords according to an embodiment of the present invention.
7 is an exemplary diagram for explaining an example of a process of constructing a multi-graph showing a relationship between keywords in an embodiment of the present invention.
8 shows an example expressed in Korean vector numeric characters in an embodiment of the present invention.
9 is an exemplary diagram for explaining a separation method using an LBG data format in an embodiment of the present invention.
10 is an exemplary diagram illustrating a process of extracting a data set in units of MWS according to an embodiment of the present invention.
11 to 12 are exemplary diagrams for explaining a sound range processing process according to an embodiment of the present invention.
13 to 16 are exemplary views for explaining an English synonym extraction process using a transliteration model in an embodiment of the present invention.
17 is an exemplary diagram for explaining a process of adding an original language notation synonym to a multi-graph according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 외래어의 원어 표기를 동의어로서 자동 추출하는 기술에 관한 것이다.Embodiments of the present invention relate to a technique for automatically extracting the original language notation of a foreign word as a synonym.

본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 외래어의 원어 표기를 자동 추출하여 동의어로 처리할 수 있고, 이를 통해 키워드 관리 자동화, 작업 리소스 감소, 서비스 품질 개선, 서비스 확대 등의 측면에 있어서 상당한 장점들을 달성할 수 있다.Embodiments including those specifically disclosed in this specification can automatically extract the original language notation of a foreign language and process it as a synonym, and through this, significant in terms of keyword management automation, work resource reduction, service quality improvement, service expansion, etc. Advantages can be achieved.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram showing an example of a network environment according to an embodiment of the present invention. The network environment of FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170. 1 is an example for explaining the present invention, and the number of electronic devices or servers is not limited as in FIG. 1.

복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 시스템으로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 시스템들 중 하나를 의미할 수 있다.The plurality of electronic devices 110, 120, 130, and 140 may be a fixed terminal implemented as a computer system or a mobile terminal. Examples of the plurality of electronic devices 110, 120, 130, 140 include smart phones, mobile phones, navigation systems, computers, notebook computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs). ), tablet PC, game console, wearable device, internet of things (IoT) device, virtual reality (VR) device, and augmented reality (AR) device. As an example, in FIG. 1, the shape of a smartphone is shown as an example of the electronic device 110, but in the embodiments of the present invention, the electronic device 110 is substantially different through the network 170 It may mean one of various physical computer systems capable of communicating with the electronic devices 120, 130, and 140 and/or the servers 150 and 160.

통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and not only a communication method using a communication network (for example, a mobile communication network, wired Internet, wireless Internet, broadcasting network, satellite network, etc.) that the network 170 may include, but also short-range wireless communication between devices is included. I can. For example, the network 170 includes a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). , Internet, and the like. In addition, the network 170 may include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, etc. Not limited.

서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제1 서비스를 제공하는 시스템일 수 있으며, 서버(160) 역시 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제2 서비스를 제공하는 시스템일 수 있다. 보다 구체적인 예로, 서버(150)는 복수의 전자 기기들(110, 120, 130, 140)에 설치되어 구동되는 컴퓨터 프로그램으로서의 어플리케이션을 통해, 해당 어플리케이션이 목적하는 서비스(일례로, 키워드 관리 서비스 등)를 제1 서비스로서 복수의 전자 기기들(110, 120, 130, 140)로 제공할 수 있다. 다른 예로, 서버(160)는 상술한 어플리케이션의 설치 및 구동을 위한 파일을 복수의 전자 기기들(110, 120, 130, 140)로 배포하는 서비스를 제2 서비스로서 제공할 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicates with a plurality of electronic devices 110, 120, 130, and 140 through a network 170 to provide commands, codes, files, contents, services, etc. It can be implemented with devices. For example, the server 150 may be a system that provides a first service to a plurality of electronic devices 110, 120, 130, 140 accessed through the network 170, and the server 160 is also a network ( It may be a system that provides a second service to a plurality of electronic devices 110, 120, 130, and 140 accessed through 170). As a more specific example, the server 150 is a service (for example, a keyword management service, etc.) targeted by the application through an application as a computer program installed and driven in a plurality of electronic devices 110, 120, 130, 140 May be provided to a plurality of electronic devices 110, 120, 130, and 140 as a first service. As another example, the server 160 may provide a service for distributing the above-described application installation and running file to the plurality of electronic devices 110, 120, 130, and 140 as the second service.

도 2는 본 발명의 일실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 전자 기기에 대한 예로서 전자 기기(110), 그리고 서버(150)의 내부 구성을 설명한다. 또한, 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 상술한 전자 기기(110) 또는 서버(150)와 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. In FIG. 2, internal configurations of the electronic device 110 and the server 150 are described as examples of the electronic device. In addition, other electronic devices 120, 130, 140 or server 160 may also have the same or similar internal configuration as the electronic device 110 or server 150 described above.

전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 비-일시적인 컴퓨터 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리(211, 221)와는 구분되는 별도의 영구 저장 장치로서 전자 기기(110)나 서버(150)에 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기(110)에 설치되어 구동되는 브라우저나 특정 서비스의 제공을 위해 전자 기기(110)에 설치된 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로, 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The electronic device 110 and the server 150 may include memories 211 and 221, processors 212 and 222, communication modules 213 and 223, and input/output interfaces 214 and 224. The memories 211 and 221 are non-transitory computer-readable recording media, such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, and the like. It may include a permanent mass storage device. Here, a non-destructive mass storage device such as a ROM, SSD, flash memory, or disk drive may be included in the electronic device 110 or the server 150 as a separate permanent storage device that is separate from the memories 211 and 221. In addition, the memories 211 and 221 include an operating system and at least one program code (for example, a browser installed and driven in the electronic device 110 or a code for an application installed in the electronic device 110 to provide a specific service). Can be saved. These software components may be loaded from a computer-readable recording medium separate from the memories 211 and 221. Such a separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, disk, tape, DVD/CD-ROM drive, and memory card. In another embodiment, software components may be loaded into the memories 211 and 221 through communication modules 213 and 223 other than a computer-readable recording medium. For example, at least one program is a computer program installed by files provided by a file distribution system (for example, the server 160 described above) that distributes the installation files of developers or applications through the network 170 It may be loaded into the memories 211 and 221 based on (for example, the above-described application).

프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. The instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223. For example, the processors 212 and 222 may be configured to execute a command received according to a program code stored in a recording device such as the memories 211 and 221.

통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 전자 기기(110) 및/또는 서버(150)가 다른 전자 기기(일례로 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기(110)의 통신 모듈(213)을 통해 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령, 컨텐츠, 파일 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기(110)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication modules 213 and 223 may provide a function for the electronic device 110 and the server 150 to communicate with each other through the network 170, and the electronic device 110 and/or the server 150 A function for communicating with an electronic device (for example, the electronic device 120) or another server (for example, the server 160) may be provided. As an example, a request generated by the processor 212 of the electronic device 110 according to a program code stored in a recording device such as the memory 211 is sent to the server 150 through the network 170 under the control of the communication module 213. ) Can be delivered. Conversely, control signals, commands, contents, files, etc. provided under the control of the processor 222 of the server 150 are transmitted via the communication module 223 and the network 170 to the communication module 213 of the electronic device 110. ) Through the electronic device 110. For example, control signals, commands, contents, files, etc. of the server 150 received through the communication module 213 may be transmitted to the processor 212 or the memory 211, and the contents or files may be transmitted to an electronic device ( 110) may be stored in a storage medium (permanent storage device described above) that may further include.

입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(215)는 전자 기기(110)와 하나의 장치로 구성될 수도 있다. 또한, 서버(150)의 입출력 인터페이스(224)는 서버(150)와 연결되거나 서버(150)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기(110)의 프로세서(212)가 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.The input/output interface 214 may be a means for an interface with the input/output device 215. For example, the input device may include a device such as a keyboard, a mouse, a microphone, and a camera, and the output device may include a device such as a display, a speaker, and a haptic feedback device. As another example, the input/output interface 214 may be a means for interfacing with a device in which input and output functions are integrated into one, such as a touch screen. The input/output device 215 may be configured with the electronic device 110 and one device. In addition, the input/output interface 224 of the server 150 may be a means for an interface with a device (not shown) for input or output that is connected to the server 150 or that the server 150 may include. As a more specific example, when the processor 212 of the electronic device 110 processes a command of a computer program loaded in the memory 211, a service configured by using data provided by the server 150 or the electronic device 120 A screen or content may be displayed on the display through the input/output interface 214.

또한, 다른 실시예들에서 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기(110)에 더 포함되도록 구현될 수 있다.In addition, in other embodiments, the electronic device 110 and the server 150 may include more components than those of FIG. 2. However, there is no need to clearly show most of the prior art components. For example, the electronic device 110 may be implemented to include at least some of the input/output devices 215 described above, or other components such as a transceiver, a global positioning system (GPS) module, a camera, various sensors, and a database. May include more. As a more specific example, when the electronic device 110 is a smartphone, an acceleration sensor or a gyro sensor, a camera module, various physical buttons, a button using a touch panel, an input/output port, a vibrator for vibration generally included in the smartphone Various components such as may be implemented to be further included in the electronic device 110.

이하에서는 음역 모델을 이용한 동의어 추출 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment of a synonym extraction method and system using a transliteration model will be described.

도 3은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 4는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.3 is a block diagram showing an example of components that may be included in a processor of a server according to an embodiment of the present invention, and FIG. 4 is an example of a method performed by a server according to an embodiment of the present invention. Is a flow chart showing.

본 실시예에 따른 서버(150)는 인터넷 상에서 사용되는 키워드를 관리하는 서비스를 제공하는 플랫폼 역할을 한다. 특히, 서버(150)는 상품 사전에 포함된 각 상품에 대해 관련 키워드 간의 관계를 나타내는 멀티 그래프 구조를 구축할 수 있고 상품 사전에 포함된 외래어의 경우 원어 표기를 자동 추출하여 멀티 그래프에 동의어로 추가할 수 있다.The server 150 according to the present embodiment serves as a platform that provides a service for managing keywords used on the Internet. In particular, the server 150 can build a multi-graph structure representing the relationship between related keywords for each product included in the product dictionary, and in the case of foreign words included in the product dictionary, the original language notation is automatically extracted and added as synonyms to the multi-graph. can do.

서버(150)의 프로세서(222)는 도 4에 따른 동의어 추출 방법을 수행하기 위한 구성요소로서 도 3에 도시된 바와 같이, 그래프 생성부(310), 동의어 추출부(320), 및 동의어 추가부(330)를 포함할 수 있다. 실시예에 따라 프로세서(222)의 구성요소들은 선택적으로 프로세서(222)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(222)의 구성요소들은 프로세서(222)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.The processor 222 of the server 150 is a component for performing the synonym extraction method according to FIG. 4, and as shown in FIG. 3, a graph generation unit 310, a synonym extraction unit 320, and a synonym addition unit It may include (330). Depending on the embodiment, components of the processor 222 may be selectively included or excluded from the processor 222. Further, according to an embodiment, components of the processor 222 may be separated or merged to express the function of the processor 222.

이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 4의 동의어 추출 방법이 포함하는 단계들(S410 내지 S430)을 수행하도록 서버(150)를 제어할 수 있다. 예를 들어, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.Components of the processor 222 and the processor 222 may control the server 150 to perform steps (S410 to S430) included in the synonym extraction method of FIG. 4. For example, the processor 222 and the components of the processor 222 may be implemented to execute an instruction according to the code of the operating system included in the memory 221 and the code of at least one program.

여기서, 프로세서(222)의 구성요소들은 서버(150)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 서버(150)가 키워드 간의 관계를 나타내는 멀티 그래프를 생성하도록 상술한 명령에 따라 서버(150)를 제어하는 프로세서(222)의 기능적 표현으로서 그래프 생성부(310)가 이용될 수 있다.Here, the components of the processor 222 may be expressions of different functions of the processor 222 performed by the processor 222 according to an instruction provided by the program code stored in the server 150. . For example, the graph generation unit 310 may be used as a functional expression of the processor 222 controlling the server 150 according to the above-described command so that the server 150 generates a multi-graph representing the relationship between keywords. .

프로세서(222)는 서버(150)의 제어와 관련된 명령이 로딩된 메모리(221)로부터 필요한 명령을 읽어들일 수 있다. 이 경우, 상기 읽어들인 명령은 프로세서(222)가 이후 설명될 단계들(S410 내지 S430)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.The processor 222 may read necessary commands from the memory 221 loaded with commands related to control of the server 150. In this case, the read command may include a command for controlling the processor 222 to execute steps S410 to S430 to be described later.

단계(S410)에서 그래프 생성부(310)는 상품 사전에 포함된 각 상품에 대하여 상품 정보에서 추출된 키워드 간의 관계를 나타내는 멀티 그래프를 생성할 수 있다. 상품 사전은 키워드를 관리하기 위한 데이터베이스 시스템으로, 키워드, 사전 유형, 동의어 집합으로 구성될 수 있다. 상품 사전에는 각 상품 별로 해당 상품에 매칭된 판매처, 브랜드, 카테고리, 속성 등의 상품 정보를 포함할 수 있다.In step S410, the graph generation unit 310 may generate a multi-graph indicating a relationship between keywords extracted from product information for each product included in the product dictionary. The product dictionary is a database system for managing keywords, and may be composed of keywords, dictionary types, and synonym sets. The product dictionary may include product information such as a seller, brand, category, attribute, etc., matched to the corresponding product for each product.

상기한 상품 사전은 상품 관리(상품 브랜드 자동 매칭, 상품 카테고리 자동 매칭, 상품 품질 체크 등), 쇼핑, 검색, 키워드 자동 완성, 태그 사전, 광고, 스토어, NLU(자연 언어 이해), AI(인공지능) 등 각종 서비스에서 적용 가능하다.The product dictionary described above is product management (automatic product brand matching, product category automatic matching, product quality check, etc.), shopping, search, keyword auto completion, tag dictionary, advertisement, store, NLU (natural language understanding), AI (artificial intelligence). ) Can be applied to various services.

예를 들어, 도 5를 참조하면, 상품 사전(500)이 판매처(510), 브랜드(520), 카테고리(530)로 구분되는 것으로 가정하면, 이러한 상품 사전(500)으로부터 판매처-브랜드, 브랜드-카테고리, 카테고리-판매처의 관계 데이터를 추출할 수 있다.For example, referring to FIG. 5, assuming that the product dictionary 500 is divided into a sales place 510, a brand 520, and a category 530, the sales place-brand, brand- It is possible to extract the relationship data of category, category-seller.

도 6에 도시한 바와 같이, 그래프 생성부(310)는 판매처ID가 S1이고, 브랜드ID가 B1이고, 카테고리ID가 C1인 상품A에 대하여, 해당 상품에 매칭된 판매자 명칭 'ABC', 브랜드 명칭 'DEF', 카테고리 명칭 'GHI'를 각각 키워드로 변환할 수 있다. 그래프 생성부(310)는 상품A에 대하여 상품A에 매칭되는 상품 정보를 키워드 'ABC', 'DEF', 'GHI'로 변환한 후 변환된 키워드 간의 관계를 나타내는 멀티 그래프를 만들 수 있다. 그래프 생성부(310)는 상품 사전으로부터 상품에 매칭되는 정보 간의 관계 데이터를 해당 정보에서 변환된 키워드 간의 관계 데이터로서 추출하여 멀티 그래프를 생성할 수 있다.As shown in FIG. 6, the graph generating unit 310 relates to a product A having a seller ID of S1, a brand ID of B1, and a category ID of C1, the seller name'ABC' and the brand name matched to the corresponding product. 'DEF' and category name'GHI' can be converted into keywords, respectively. The graph generation unit 310 may convert product information matching product A with respect to product A into keywords “ABC”, “DEF”, and “GHI”, and then create a multi-graph indicating a relationship between the converted keywords. The graph generator 310 may generate a multi-graph by extracting relationship data between information matching the product from the product dictionary as relationship data between keywords converted from the corresponding information.

도 7을 참조하면, 그래프 생성부(310)는 키워드 'ABC'와 'DEF' 사이에 판매처-브랜드라는 연결 관계, 키워드 'DEF'와 'GHI' 사이에 브랜드-카테고리라는 연결 관계, 키워드 'ABC'와 'GHI' 사이에 판매처-카테고리라는 연결 관계로 만들어진 멀티 그래프(700)를 구축할 수 있다.Referring to FIG. 7, the graph generating unit 310 includes a connection relationship of a vendor-brand between the keywords'ABC' and'DEF', a connection relationship of a brand-category between the keywords'DEF' and'GHI', and the keyword'ABC'. It is possible to build a multi-graph 700 between'and'GHI' through a connection relationship called a vendor-category.

멀티 그래프(700)는 키워드 간의 관계가 단일 뎁스의 트리 구조는 물론이고, 복수 개의 뎁스를 가진 트리 구조로 구축될 수 있다. 예를 들어, 동일 브랜드 내 여러 개의 시리즈, 즉 서브 브랜드가 존재하는 경우 브랜드-시리즈라는 연결 관계가 추가될 수 있다.The multi-graph 700 may be constructed as a tree structure having a single depth as well as a tree structure having a plurality of depths in relation between keywords. For example, when there are multiple series within the same brand, that is, sub-brands, a brand-series connection relationship may be added.

상기한 바와 같이, 그래프 생성부(310)는 키워드 간의 관계 데이터를 축적하여 데이터베이스를 생성할 수 있으며, 이를 키워드 간의 관계를 나타내는 멀티 그래프(700) 구조로 정의할 수 있다.As described above, the graph generation unit 310 may generate a database by accumulating relationship data between keywords, and this may be defined as a structure of the multi-graph 700 representing the relationship between keywords.

다시 도 4에서, 단계(S420)에서 동의어 추출부(320)는 상품 사전에 포함된 키워드 중 외래어에 대해 음역 모델을 이용하여 상품명이나 상품 관련 질의에서 해당 외래어의 원어 표기를 동의어로서 추출할 수 있다.In FIG. 4 again, in step S420, the synonym extracting unit 320 may extract the original word notation of the corresponding foreign word from the product name or product-related query as a synonym using the transliteration model for the foreign word included in the product dictionary. .

쇼핑 등에서 사용되는 일부 단어는 영어, 프랑스어, 이탈리아어, 독일어 등 다양한 외국어로부터 동화된 외래어가 포함되어 있다.Some words used in shopping, etc. contain foreign words assimilated from various foreign languages such as English, French, Italian, and German.

이러한 외래어의 경우 단어의 출처(즉, 국가)를 특정하기 어렵다는 문제가 있다. 예를 들어, "Chanel"의 경우 영어로 발음하면 '채널', '챠널' 등으로 음역되고, 프랑스어로 발음하면 '샤넬', '샤널', '샤늘' 등으로 음역될 수 있다.In the case of these foreign words, there is a problem that it is difficult to specify the source (ie, country) of the word. For example, in the case of “Chanel”, when pronounced in English, it may be transliterated into “channel” or “channel”, and when pronounced in French, it may be transliterated into “Chanel”, “Chanel”, and “Chanel”.

키워드 "Chanel"를 사용하기 위해서는 여러 국가의 발음을 모두 수용할 수 있는 음역 범위(transliteration coverage)가 필요하다.In order to use the keyword "Chanel", transliteration coverage that can accommodate all pronunciations of various countries is required.

딥 러닝(deep learning)으로 음역을 지원하는 학습 모델이 존재하기는 하나, 기존 학습 모델은 모델 자체가 무거울 뿐 아니라 다양한 나라의 발음을 한꺼번에 지원하지 못한다. 영어면 영어 학습 데이터가 필요하고 프랑스어면 프랑스어 학습 데이터가 필요하고 각 언어의 음역 프로세싱(processing)을 통과해야 하는 한계가 있다.Although there exist learning models that support transliteration through deep learning, the existing learning models are heavy and cannot support pronunciations of various countries at once. English language learning data is required, French language learning data is required, and there is a limit to passing transliteration processing of each language.

이에 반해, 본 실시예에서는 MWS(minimal word by sound) 단위의 음역 모델을 이용하여 외래어에 대한 동의어를 추출할 수 있다. MWS는 기존 학습 모델과 달리 학습 데이터를 최소로 할 수 있고, 다국어 발음까지 하나의 음역 프로세싱을 가능하게 할 수 있다.In contrast, in the present embodiment, synonyms for foreign words may be extracted using a transliteration model in the unit of MWS (minimal word by sound). Unlike existing learning models, MWS can minimize training data and enable single transliteration processing even for multilingual pronunciation.

MWS는 음절(syllable)과 다른 개념으로, 발음의 최소 단위를 의미할 수 있다. 표 1은 예시 단어 'happy'를 음절과 MWS로 나눈 것이다.MWS is a concept different from syllable, and may mean the smallest unit of pronunciation. Table 1 shows the example word'happy' divided into syllables and MWS.

happyhappy 음절Syllable MWSMWS [ha, ppy][ha, ppy] [h, a, ppy],[h, ap, py],
[ha, ppy],
[hap, py]
[h, a, ppy], [h, ap, py],
[ha, ppy],
[hap, py]

나라마다, 언어마다, 사람마다 같은 단어를 보고 다양한 발음을 최소 단위로 표현할 수 있다. 표 2는 예시 단어 'happy'의 MWS을 한글 표기로 나타낸 것이다.Each country, language, and person can see the same word and express various pronunciations in the smallest unit. Table 2 shows the MWS of the exemplary word'happy' in Korean notation.

happyhappy [ha, ppy] : 해피 or 하피 → MWS : [ha] = [하,해], [ppy] = [피]
[h, ap, py] : 에이치앱피, 에이치앱파이 → MWS : [h] = [에이치], [ap] = [앱], [py] = [피, 파이]
[hap, py] : 햅피, ?c파이 → MWS : [hap] = [햅,?c], [py] = [피,파이]
[ha, ppy]: Happy or happi → MWS: [ha] = [Ha, ha], [ppy] = [P]
[h, ap, py]: H.AP, H.AP → MWS: [h] = [H], [ap] = [app], [py] = [P, pie]
[hap, py]: happy, ?c pie → MWS: [hap] = [hap,?c], [py] = [pi, pie]

한글을 초성, 중성, 종성의 차원적인 구분으로 볼 때 벡터 수치문자로 표현할 수 있다. 예를 들어, 한글의 기본 수치정보는 도 8의 테이블과 같다.단어를 MWS로 쉽게 분리하기 위해서는 LBG(linked bi-gramed)의 데이터 형식을 이용할 수 있다.Hangul can be expressed as vector numeric characters when viewed as a dimensional division of the initial, neutral, and final. For example, basic numerical information in Korean is the same as the table in Fig. 8. In order to easily separate words into MWS, a data format of LBG (linked bi-gramed) can be used.

happyhappy ha-ap-pp-pyha-ap-pp-py 해피happy c18u1_u1o0_o0c17_c17u20_u20o0c18u1_u1o0_o0c17_c17u20_u20o0

한글 표기 '아틀란트'에 해당되는 영문 표기 'atlant'의 발음 최소 단위 중 하나인 [at, lant]에 대해 MWS가 [at] = [아틀], [lant] =[란트]라 할 때, [at] = [아틀]의 경우 "L" 또는 "R"이 없는데 "아틀"로 음역되고 있음을 알 수 있다. 이러한 문제는 도 9의 테이블과 같이 LBG 데이터 형식을 이용한 분리 방식을 통해 해결할 수 있다.When MWS is [at] = [Atlant], [lant] = [Lant] for [at, lant], which is one of the smallest pronunciation units of the English notation'atlant' corresponding to the Korean notation'Atlant', [at ] = In the case of [Attle], there is no "L" or "R", but you can see that it is transliterated as "Attle". This problem can be solved through a separation method using the LBG data format as shown in the table of FIG. 9.

일례로, 도 10에 도시한 바와 같이 상품 사전에서 영문 단어와 한글 발음 표기가 한 쌍으로 이루어진 학습 데이터 셋(1001)을 수집한 후 MWS 단위의 분리 학습을 통해 MWS 데이터 셋(1002)을 추출할 수 있다.For example, as shown in FIG. 10, after collecting a learning data set 1001 consisting of a pair of English words and Korean pronunciation in a product dictionary, the MWS data set 1002 is extracted through separate learning in MWS units. I can.

이하에서는 음역 프로세싱 과정을 설명하기로 한다. 도 11 내지 도 12는 영문 단어 'naver'에 대한 음역 프로세싱 과정을 나타내고 있다.Hereinafter, the process of processing the transliteration range will be described. 11 to 12 illustrate a transliteration processing process for the English word'naver'.

프로세서(222)는 영문 단어 'naver'를 MWS로 분리될 수 있는 모든 경우의 후보 군으로 분리할 수 있다(S1).The processor 222 may divide the English word'naver' into candidate groups in all cases that can be separated by MWS (S1).

프로세서(222)는 단계(S1)에서 분리된 후보 군에서 사전에 구축된 MWS 데이터 셋(1002)에 존재하는 MWS를 추출할 수 있다(S2).The processor 222 may extract the MWS existing in the MWS data set 1002 previously constructed from the candidate group separated in step S1 (S2).

프로세서(222)는 단계(S1)에서 분리된 각 후보 군에 단계(S2)에서 추출된 MWS를 맵핑할 수 있다(S3).The processor 222 may map the MWS extracted in step S2 to each candidate group separated in step S1 (S3).

프로세서(222)는 단계(S3)에서 맵핑한 MWS를 서로 연결하고 병합할 수 있다(S4). 이때, 후보 군 중 하나라도 MWS 데이터 셋(1002)에 존재하지 않는 경우는 해당 후보 군을 제외시킬 수 있다.The processor 222 may connect and merge the MWS mapped in step S3 with each other (S4). In this case, if even one of the candidate groups does not exist in the MWS data set 1002, the corresponding candidate group may be excluded.

프로세서(222)는 단계(S4)에서 병합된 MWS를 음역할 수 있다(S5). 다시 말해, 프로세서(222)는 병합된 MWS에 맵핑된 한글 벡터를 디코딩함으로써 영문 단어에 대한 음역을 획득할 수 있다. 도 12의 S5 과정의 결과에서 괄호 안 숫자는 해당 한글 단어가 도 10의 MWS 학습 데이터 셋으로부터 추출된 개수를 의미할 수 있고, 필요시 동의어를 다양하게 추출할 수 있는 기초로 활용할 수 있다.The processor 222 may transliterate the merged MWS in step S4 (S5). In other words, the processor 222 may obtain a transliteration for an English word by decoding a Korean vector mapped to the merged MWS. In the result of process S5 of FIG. 12, the number in parentheses may mean the number of corresponding Korean words extracted from the MWS learning data set of FIG. 10, and may be used as a basis for extracting various synonyms if necessary.

음역 프로세싱 결과의 일예는 아래와 같을 수 있으며, 이에 한정되는 것은 아니다.An example of the transliteration processing result may be as follows, but is not limited thereto.

- gajet 의 한글 동의어 : 가제트, 개제트, 게제트, 거제트, 겜제트, 감제트, 갬제트, 게이제트, 카제트, 갠제트-Korean synonyms for gajet: Gadget, Gajet, Gajet, Geojet, Gamjet, Gamjet, Gamjet, Gajet, Kazette, Ganjet

- maleficent 의 한글 동의어: 마레피센트, 마리피센트, 마린피센트, 마류피센트, 마라피센트, 마르피센트, 마런피센트, 마러피센트, 마레피샌트, 마리피샌트, 마린피샌트, 마류피샌트, 마라피샌트, 마르피샌트, 마런피샌트-Korean synonyms of maleficent: Marepicent, Maripicent, Marepicent, Marupicent, Maraficent, Marpicent, Marenpicent, Marepicent, Marepisant, Maripisant, Marinepisent, Maru Pi Sant, Mara Pi Sant, Mar Pi Sant, Maroon Pe Sant

영문 동의어를 예로 하는 일실시예로, 음역 모델을 통과하지 못한 한글 단어와 영문 동의어를 수집하여 기존 상품 사전에서 추출된 MWS 데이터 셋과 공통된 데이터 셋을 추출한 후 최종 MWS 데이터 셋과 병합하여 적용할 수도 있다.As an example of an English synonym, it is also possible to collect Korean words and English synonyms that did not pass the transliteration model, extract the data set in common with the MWS data set extracted from the existing product dictionary, and then merge and apply it with the final MWS data set. have.

동의어 추출부(320)는 상기한 음역 프로세싱을 통해 상품 사전에 포함된 외래어에 대해 원어 표기의 동의어를 추출할 수 있다.The synonym extractor 320 may extract synonyms of the original language notation for foreign words included in the product dictionary through the transliteration processing described above.

이하에서는 한글로 표기된 외래어의 영어 표기, 즉 영문 동의어를 예로 하여 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment will be described using English notation of foreign words written in Korean, that is, English synonyms.

동의어 추출부(320)는 상품 사전에 포함된 키워드 중 외래어를 대상 키워드로 하여 각 대상 키워드에 대해 대상 키워드를 검색 질의로 입력한 사용자들이 클릭한 상품명 리스트, 각 클릭 상품과 관련된 태그 리스트, 및 각 클릭 상품과 관련된 다른 질의 리스트(일례로, 동일 상품을 클릭한 다른 사용자들에 의해 입력된 질의, 동일 사용자가 동일 상품을 클릭하기 전에 입력한 다른 질의 등) 중 적어도 하나의 키워드 리스트를 추출할 수 있다. 본 명세서에서 클릭은 사용자에 의한 모든 유형의 선택 입력을 의미할 수 있다. 도 13은 대상 키워드 '에어리즘(keyword_seq = 102800453)'과 관련된 클릭 상품명 리스트(1311)과, '루프탑텐트(keyword_seq = 438121)'와 관련된 클릭 상품명 리스트(1321)를 예시적으로 나타내고 있다.The synonym extracting unit 320 includes a list of product names clicked by users who input a target keyword as a search query for each target keyword by using a foreign word as a target keyword among keywords included in the product dictionary, a tag list related to each click product, and At least one keyword list can be extracted from another query list related to the click product (for example, a query entered by other users who clicked on the same product, another query entered by the same user before clicking the same product, etc.) have. In this specification, a click may mean all types of selection input by a user. 13 exemplarily shows a list of click product names 1311 related to the target keyword'airism (keyword_seq = 102800453)' and a list of click product names 1321 related to'loop top tent (keyword_seq = 438121)'.

동의어 추출부(320)는 대상 키워드가 복합어로 이루어진 경우 단일어로 분리할 수 있다. 예를 들어, '루프탑텐트(keyword_seq = 438121)'의 경우 '루트탑텐트', '루프탑 텐트', '루프탑', '텐트'로 분리할 수 있다.The synonym extracting unit 320 may separate the target keyword into a single word when the target keyword is composed of a compound word. For example, in the case of'rooftop tent (keyword_seq = 438121)', it can be divided into'root top tent','rooftop tent','rooftop', and'tent'.

동의어 추출부(320)는 대상 키워드에 대해 추출된 클릭 상품명 리스트와 클릭 상품 관련 태그 리스트 및 질의 리스트 중 적어도 하나의 키워드 리스트에서 특정 언어의 단어, 즉 영문 단어를 추출할 수 있다.The synonym extracting unit 320 may extract a word of a specific language, that is, an English word, from at least one keyword list of a click product name list, a click product related tag list, and a query list extracted for the target keyword.

도 14는 대상 키워드 '에어리즘(keyword_seq = 102800453)'과 관련된 클릭 상품명 리스트(1311)에서 추출된 영문 단어 리스트(1411)와, '루프탑텐트(keyword_seq = 438121)'와 관련된 클릭 상품명 리스트(1321)에서 추출된 영문 단어 리스트(1421)를 예시적으로 나타내고 있다.14 is an English word list 1411 extracted from a click product name list 1311 related to the target keyword'airism (keyword_seq = 102800453)' and a click product name list 1321 related to'rooftop tent (keyword_seq = 438121)' An English word list 1421 extracted from) is shown as an example.

동의어 추출부(320)는 음역 모델을 실행하여 앞서 추출된 영문 단어 리스트 중에서 대상 키워드와 매칭되는 영문 단어를 추출할 수 있다.The synonym extracting unit 320 may extract an English word matching the target keyword from the previously extracted English word list by executing the transliteration model.

도 15는 대상 키워드 '에어리즘(keyword_seq = 102800453)'과 영문 단어 리스트(1411) 간의 매칭 결과(1511)와, 대상 키워드 '루프탑텐트(keyword_seq = 438121)'와 영문 단어 리스트(1421) 간의 매칭 결과(1521)를 예시적으로 나타내고 있다.15 is a matching result 1511 between a target keyword'airism (keyword_seq = 102800453)' and an English word list 1411, and a matching between a target keyword'loop top tent (keyword_seq = 438121)' and an English word list 1421 The result 1521 is shown as an example.

동의어 추출부(320)는 대상 키워드에 대해 매칭된 영문 단어를 치환하여 영문 동의어 후보를 추출할 수 있다.The synonym extractor 320 may extract an English synonym candidate by replacing an English word matched with the target keyword.

도 16은 대상 키워드 '에어리즘(keyword_seq = 102800453)'에 대한 영문 동의어 후보(1611)와, '루프탑텐트(keyword_seq = 438121)'에 대한 영문 동의어 후보(1621)를 나타내고 있다.16 shows an English synonym candidate 1611 for the target keyword'airism (keyword_seq = 102800453)' and an English synonym candidate 1621 for'loop top tent (keyword_seq = 438121)'.

동의어 추출부(320)는 대상 키워드와 관련된 클릭 상품명 리스트와 클릭 상품 관련 태그/질의 리스트에 영문 동의어 후보의 출현 여부 혹은 출현 빈도 등을 바탕으로 최종 영문 동의어를 결정할 수 있다. 동의어 추출부(320)는 영문 동의어 후보의 단어가 대상 키워드와 관련된 클릭 상품명 리스트와 클릭 상품 관련 태그/질의 리스트에 출현하는 패턴과 일치하는 경우 최종 영문 동의어로 결정하거나, 혹은 영문 동의어 후보가 여러 개일 때 대상 키워드와 관련된 클릭 상품명 리스트와 클릭 상품 관련 태그/질의 리스트에서 가장 많이 출현하는 패턴의 단어를 최종 영문 동의어로 결정할 수 있다. 다시 말해, 동의어 추출부(320)는 대상 키워드와 관련된 클릭 상품명 리스트와 클릭 상품 관련 태그/질의 리스트를 이용하여 대상 키워드의 원어 표기인 영문 동의어를 검증할 수 있다.The synonym extractor 320 may determine a final English synonym based on whether or not an English synonym candidate appears in a list of click product names related to a target keyword and a tag/query list related to a click product, or frequency of appearance. When the word of the English synonym candidate matches the pattern appearing in the click product name list related to the target keyword and the tag/query list related to the click product, the synonym extractor 320 determines the final English synonym, or there are several English synonym candidates. In this case, a word having a pattern that most often appears in the list of click product names related to the target keyword and the tag/query list related to the click product may be determined as the final English synonym. In other words, the synonym extracting unit 320 may verify an English synonym that is an original language notation of the target keyword by using the click product name list related to the target keyword and the click product related tag/query list.

다시 도 4에서, 단계(S430)에서 동의어 추가부(330)는 외래어의 원어 표기를 동의어로서 멀티 그래프 상에 추가 등록할 수 있으며, 이때 멀티 그래프 상의 기존 키워드와 동의어 간의 관계를 설정할 수 있다.In FIG. 4 again, in step S430, the synonym adding unit 330 may additionally register the original language representation of the foreign word as a synonym on the multi-graph, and at this time, set a relationship between the existing keyword and the synonym in the multi-graph.

도 17을 참조하면, 키워드 'ABC'와 'DEF' 사이에 판매처-브랜드라는 연결 관계, 키워드 'DEF'와 'GHI' 사이에 브랜드-카테고리라는 연결 관계, 키워드 'ABC'와 'GHI' 사이에 판매처-카테고리라는 연결 관계로 만들어진 멀티 그래프(700)에서, 판매자 명칭 'ABC'이 외래어에 해당되는 경우 멀티 그래프(700) 상에 외래어 'ABC'의 원어 표기 'XXX'를 동의어(1701)로 추가하여 키워드 'ABC'와 'XXX' 사이에 동의어 관계를 설정할 수 있다.Referring to FIG. 17, between the keywords'ABC' and'DEF', the linking relationship of vendor-brand, the linking relationship of brand-category between the keywords'DEF' and'GHI', and between the keywords'ABC' and'GHI' In the multi-graph 700 created by the connection relationship of vendor-category, if the seller's name'ABC' corresponds to a foreign word, add the original word notation'XXX' of the foreign word'ABC' on the multi-graph 700 as a synonym (1701) Thus, a synonym relationship can be established between the keywords'ABC' and'XXX'.

또한, 멀티 그래프(700) 상의 키워드 중 대상 키워드 'ABC'와 관련된 클릭 상품명 리스트와 클릭 상품 관련 태그/질의 리스트에 동의어(1701)와 함께 출현하는 키워드와의 관계를 추가 설정할 수 있다.In addition, among keywords on the multi-graph 700, a relationship between a click product name list related to the target keyword “ABC” and a keyword appearing together with the synonym 1701 in the click product related tag/query list may be additionally set.

따라서, 본 실시예에서는 상품 사전에 등록된 외래어에 대해 원어 표기의 동의어를 찾아 자동 등록할 수 있다.Therefore, in the present embodiment, it is possible to automatically register synonyms of the original language for foreign words registered in the product dictionary.

상기한 방식을 통해 상품 사전에 등록된 키워드에 대해 원어 표기의 키워드를 동의어로 추출하여 멀티 그래프 상에 추가 등록함으로써 키워드 간의 동의어 처리를 해결하면서 멀티 그래프를 자동으로 확장해 나갈 수 있다.Through the above-described method, keywords in the original language are extracted as synonyms for keywords registered in the product dictionary and registered on the multi-graph, thereby solving synonym processing between keywords and automatically expanding the multi-graph.

음역 모델을 이용하여 외래어의 원어 표기를 동의어로 자동 처리함으로써 키워드 관리 작업의 자동화를 실현하여 관련 작업 리소스를 획기적으로 감소시킬 수 있다.By using the transliteration model, the original language notation of foreign words is automatically processed as synonyms, thereby realizing the automation of keyword management tasks, which can significantly reduce related work resources.

상기에서는 음역 모델을 이용한 동의어 처리 과정이 멀티 그래프를 생성하는 과정 이후에 이루어지는 종속된 과정으로 설명하고 있으나, 이에 한정되는 것은 아니며, 실시예에 따라서는 멀티 그래프와 무관하게 별개의 독립된 과정으로 실행되는 것 또한 가능하다.In the above, the synonym processing process using the transliteration model is described as a subordinate process performed after the process of generating the multi-graph, but is not limited thereto, and depending on the embodiment, it is performed as a separate and independent process regardless of the multi-graph. It is also possible.

이처럼 본 발명의 실시예들에 따르면, 상품 정보에서 추출된 키워드에 대해 키워드 간의 관계를 나타내는 멀티 그래프 구조를 구축할 수 있고 외래어의 경우 동의어로서 원어 표기를 자동 추출하여 멀티 그래프에 추가할 수 있다. 본 발명의 실시예들에 따르면, 외래어에 대해 음역 모델을 이용하여 상품명이나 상품 관련 질의에 출현하는 단어에서 해당 외래어의 원어 표기를 추출하여 동의어로 처리할 수 있다.As described above, according to embodiments of the present invention, a multi-graph structure representing the relationship between keywords with respect to the keyword extracted from product information can be constructed, and in the case of foreign words, the original language notation as synonyms can be automatically extracted and added to the multi-graph. According to embodiments of the present invention, the original language notation of the foreign word may be extracted from words appearing in a product name or product-related query using a transliteration model for the foreign word and processed as synonyms.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, 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 apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable gate array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be embodyed in any type of machine, component, physical device, computer storage medium or device 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 on 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 in a computer-readable medium. In this case, the medium may be one that continuously stores a program executable by a computer, or temporarily stores a program for execution or download. In addition, the medium may be a variety of recording means or storage means in a form in which a single or several pieces of hardware are combined, but is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks, and And a ROM, RAM, flash memory, and the like, and may be configured to store program instructions. In addition, examples of other media include an app store that distributes applications, a site that supplies or distributes various software, and a recording medium or a storage medium managed by a server.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

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

Claims (20)

컴퓨터 시스템에서 실행되는 동의어 추출 방법에 있어서,
상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 동의어 추출 방법은,
상기 적어도 하나의 프로세서에 의해, 상품 사전 상의 키워드 간의 관계를 나타내는 멀티 그래프를 생성하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 상품 사전에 포함된 키워드 중 외래어에 해당되는 대상 키워드에 대해 상기 대상 키워드와 관련된 키워드 리스트를 추출하는 단계;
상기 적어도 하나의 프로세서에 의해, 음역 모델(transliteration model)을 이용하여 상기 키워드 리스트에서 상기 대상 키워드의 원어 표기 키워드를 상기 대상 키워드의 동의어로서 추출하는 단계; 및
상기 적어도 하나의 프로세서에 의해, 상기 동의어를 상기 멀티 그래프에 추가 등록하는 단계
를 포함하고,
상기 추가 등록하는 단계는,
상기 멀티 그래프 상에 상기 대상 키워드와 상기 동의어 간의 관계를 추가하는 것
을 특징으로 하는 동의어 추출 방법.
In the synonym extraction method executed in a computer system,
The computer system includes at least one processor configured to execute computer readable instructions contained in a memory,
The synonym extraction method,
Generating, by the at least one processor, a multi-graph indicating a relationship between keywords in a product dictionary;
Extracting, by the at least one processor, a keyword list related to the target keyword for a target keyword corresponding to a foreign word among keywords included in the product dictionary;
Extracting, by the at least one processor, an original language notation keyword of the target keyword from the keyword list as a synonym of the target keyword using a transliteration model; And
Adding the synonym to the multi-graph by the at least one processor
Including,
The step of additionally registering,
Adding a relationship between the target keyword and the synonym on the multi-graph
Synonym extraction method, characterized in that.
제1항에 있어서,
상기 키워드 리스트를 추출하는 단계는,
상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나를 추출하는 것
을 특징으로 하는 동의어 추출 방법.
The method of claim 1,
The step of extracting the keyword list,
After entering the target keyword as a search query, extracting at least one of a list of product names clicked, a list of other queries related to each click product, and a list of tags related to each click product
Synonym extraction method, characterized in that.
제1항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
발음의 최소 단위를 이용한 음역 모델을 이용하여 상기 동의어를 추출하는 것
을 특징으로 하는 동의어 추출 방법.
The method of claim 1,
The step of extracting as a synonym of the target keyword,
Extracting the synonym using a transliteration model using the minimum unit of pronunciation
Synonym extraction method, characterized in that.
제3항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
LBG(linked bi-gramed)의 데이터 형식을 이용하여 상기 대상 키워드를 발음의 최소 단위로 분리하는 단계
를 포함하는 동의어 추출 방법.
The method of claim 3,
The step of extracting as a synonym of the target keyword,
Separating the target keyword into a minimum unit of pronunciation using a data format of LBG (linked bi-gramed)
Synonym extraction method comprising a.
제1항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
상기 음역 모델을 통해 상기 키워드 리스트에서 추출된 단어 중 상기 대상 키워드와 매칭되는 단어를 상기 동의어로 추출하는 단계
를 포함하는 동의어 추출 방법.
The method of claim 1,
The step of extracting as a synonym of the target keyword,
Extracting, as the synonym, a word matching the target keyword among words extracted from the keyword list through the transliteration model
Synonym extraction method comprising a.
제5항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
상기 대상 키워드에 대해 상기 매칭되는 단어를 치환하여 동의어 후보를 추출하는 단계
를 더 포함하는 동의어 추출 방법.
The method of claim 5,
The step of extracting as a synonym of the target keyword,
Extracting a synonym candidate by substituting the matched word for the target keyword
Synonym extraction method further comprising a.
제5항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
상기 키워드 리스트에서 특정 언어의 단어를 추출하는 단계
를 더 포함하는 동의어 추출 방법.
The method of claim 5,
The step of extracting as a synonym of the target keyword,
Extracting a word of a specific language from the keyword list
Synonym extraction method further comprising a.
제5항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
상기 대상 키워드가 복합어로 이루어진 경우 단일어로 분리하는 단계
를 더 포함하는 동의어 추출 방법.
The method of claim 5,
The step of extracting as a synonym of the target keyword,
Separating the target keyword into a single word when it is composed of a compound word
Synonym extraction method further comprising a.
제5항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나를 이용하여 상기 동의어를 검증하는 단계
를 더 포함하는 동의어 추출 방법.
The method of claim 5,
The step of extracting as a synonym of the target keyword,
Entering the target keyword as a search query and verifying the synonym using at least one of a clicked product name list, another query list related to each click product, and a tag list related to each click product
Synonym extraction method further comprising a.
제5항에 있어서,
상기 대상 키워드의 동의어로서 추출하는 단계는,
상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나에 상기 대상 키워드와 매칭되는 단어의 출현 여부 또는 출현 빈도를 바탕으로 상기 동의어를 결정하는 단계
를 더 포함하는 동의어 추출 방법.
The method of claim 5,
The step of extracting as a synonym of the target keyword,
Based on the appearance or frequency of occurrence of a word matching the target keyword in at least one of a list of product names clicked after entering the target keyword as a search query, a list of other queries related to each click product, and a tag list related to each click product Determining the synonym with
Synonym extraction method further comprising a.
삭제delete 제1항에 있어서,
상기 생성하는 단계는,
상기 상품 사전에 포함된 각 상품 별로 해당 상품에 매칭되는 상품 정보를 키워드로 변환하는 단계; 및
상기 상품 사전으로부터 상기 상품에 매칭되는 정보 간의 관계 데이터를 키워드 간의 관계 데이터로서 추출하는 단계
를 포함하는 동의어 추출 방법.
The method of claim 1,
The generating step,
Converting product information matched with a corresponding product for each product included in the product dictionary into a keyword; And
Extracting relationship data between information matched with the product from the product dictionary as relationship data between keywords
Synonym extraction method comprising a.
제1항에 있어서,
상기 추가 등록하는 단계는,
상기 멀티 그래프 상의 키워드 중 상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나에 상기 동의어와 함께 출현하는 키워드와의 관계를 추가하는 것
을 특징으로 하는 동의어 추출 방법.
The method of claim 1,
The step of additionally registering,
The target keyword among the keywords on the multi-graph is inputted as a search query, and the keyword appears together with the synonym in at least one of a list of product names clicked, a list of other queries related to each click product, and a tag list related to each click product. Adding relationships
Synonym extraction method, characterized in that.
제1항 내지 제10항, 제12항, 제13항 중 어느 한 항의 동의어 추출 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체.A non-transitory computer-readable recording medium on which a program for executing the synonym extraction method of any one of claims 1 to 10, 12, and 13 is recorded on a computer. 컴퓨터 시스템에 있어서,
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상품 사전 상의 키워드 간의 관계를 나타내는 멀티 그래프를 생성하는 그래프 생성부;
상기 상품 사전에 포함된 키워드 중 외래어에 해당되는 대상 키워드에 대해 상기 대상 키워드와 관련된 키워드 리스트를 추출한 후, 음역 모델을 이용하여 상기 키워드 리스트에서 상기 대상 키워드의 원어 표기 키워드를 상기 대상 키워드의 동의어로서 추출하는 동의어 추출부; 및
상기 동의어를 상기 멀티 그래프에 추가 등록하는 동의어 추가부
를 포함하고,
상기 동의어 추가부는,
상기 멀티 그래프 상에 상기 대상 키워드와 상기 동의어 간의 관계를 추가하는 것
을 특징으로 하는 컴퓨터 시스템.
In a computer system,
At least one processor configured to execute computer readable instructions contained in memory
Including,
The at least one processor,
A graph generator for generating a multi-graph indicating a relationship between keywords in the product dictionary;
After extracting a keyword list related to the target keyword for a target keyword corresponding to a foreign word among the keywords included in the product dictionary, the original language notation keyword of the target keyword from the keyword list is used as a synonym of the target keyword using a transliteration model. A synonym extraction unit to extract; And
Synonym adding unit for additionally registering the synonym in the multi-graph
Including,
The synonym addition unit,
Adding a relationship between the target keyword and the synonym on the multi-graph
Computer system, characterized in that.
제15항에 있어서,
상기 동의어 추출부는,
상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나를 추출하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 15,
The synonym extracting unit,
After entering the target keyword as a search query, extracting at least one of a list of product names clicked, a list of other queries related to each click product, and a list of tags related to each click product
Computer system, characterized in that.
제15항에 있어서,
상기 동의어 추출부는,
발음의 최소 단위를 이용한 음역 모델을 이용하여 상기 동의어를 추출하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 15,
The synonym extracting unit,
Extracting the synonym using a transliteration model using the minimum unit of pronunciation
Computer system, characterized in that.
제17항에 있어서,
상기 동의어 추출부는,
LBG(linked bi-gramed)의 데이터 형식을 이용하여 상기 대상 키워드를 발음의 최소 단위로 분리하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 17,
The synonym extracting unit,
Separating the target keyword into the smallest unit of pronunciation using the data format of LBG (linked bi-gramed)
Computer system, characterized in that.
제15항에 있어서,
상기 동의어 추출부는,
상기 음역 모델을 통해 상기 키워드 리스트에서 추출된 단어 중 상기 대상 키워드와 매칭되는 단어를 상기 동의어로 추출하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 15,
The synonym extracting unit,
Extracting, as the synonym, a word matching the target keyword from among words extracted from the keyword list through the transliteration model
Computer system, characterized in that.
제19항에 있어서,
상기 동의어 추출부는,
상기 대상 키워드를 검색 질의로 입력한 후 클릭한 상품명 리스트, 각 클릭 상품과 관련된 다른 질의 리스트, 각 클릭 상품과 관련된 태그 리스트 중 적어도 하나를 이용하여 상기 동의어를 검증하는 것
을 특징으로 하는 컴퓨터 시스템.
The method of claim 19,
The synonym extracting unit,
After entering the target keyword as a search query, verifying the synonym using at least one of a product name list clicked, another query list related to each click product, and a tag list related to each click product
Computer system, characterized in that.
KR1020190018535A 2019-02-18 2019-02-18 Method and system for extracting foreign synonym using transliteration model Active KR102192376B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190018535A KR102192376B1 (en) 2019-02-18 2019-02-18 Method and system for extracting foreign synonym using transliteration model
JP2020018525A JP7014830B2 (en) 2019-02-18 2020-02-06 Methods and systems for automatically extracting foreign synonyms using a transliteration model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190018535A KR102192376B1 (en) 2019-02-18 2019-02-18 Method and system for extracting foreign synonym using transliteration model

Publications (2)

Publication Number Publication Date
KR20200100360A KR20200100360A (en) 2020-08-26
KR102192376B1 true KR102192376B1 (en) 2020-12-17

Family

ID=72242536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190018535A Active KR102192376B1 (en) 2019-02-18 2019-02-18 Method and system for extracting foreign synonym using transliteration model

Country Status (2)

Country Link
JP (1) JP7014830B2 (en)
KR (1) KR102192376B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102731307B1 (en) * 2023-06-15 2024-11-19 주식회사 지마켓 Method, apparatus and recording medium storing instructions of transformation of natural language by using neural network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130338996A1 (en) * 2008-07-18 2013-12-19 Google Inc. Transliteration For Query Expansion
KR101515416B1 (en) * 2014-05-28 2015-04-30 김수현 Differential display method and system for search result

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263429A (en) * 2002-03-07 2003-09-19 Nippon Hoso Kyokai <Nhk> Foreign language association device and its program
JP2004280467A (en) * 2003-03-14 2004-10-07 Nippon Hoso Kyokai <Nhk> TRANSLATION DEVICE, TRANSLATION METHOD, AND ITS PROGRAM
JP2004280353A (en) * 2003-03-14 2004-10-07 Patolis Corp Method for automatically extracting korean foreign word
KR100511247B1 (en) * 2003-06-13 2005-08-31 홍광석 Language Modeling Method of Speech Recognition System
JP5094486B2 (en) * 2008-03-14 2012-12-12 日本電信電話株式会社 Synonymity determination device, method, program, and recording medium
KR101116581B1 (en) * 2008-06-30 2012-03-15 주식회사 한글과컴퓨터 Apparatus for searching multi-language apparatus
KR101231438B1 (en) * 2011-05-25 2013-02-07 엔에이치엔(주) Search reasult providing system and method for providing loan word pronunciation search service
JP2016200978A (en) * 2015-04-10 2016-12-01 株式会社日立製作所 Teacher data generator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130338996A1 (en) * 2008-07-18 2013-12-19 Google Inc. Transliteration For Query Expansion
KR101515416B1 (en) * 2014-05-28 2015-04-30 김수현 Differential display method and system for search result

Also Published As

Publication number Publication date
KR20200100360A (en) 2020-08-26
JP7014830B2 (en) 2022-02-01
JP2020135877A (en) 2020-08-31

Similar Documents

Publication Publication Date Title
JP6714024B2 (en) Automatic generation of N-grams and conceptual relationships from language input data
KR102075505B1 (en) Method and system for extracting topic keyword
KR102090237B1 (en) Method, system and computer program for knowledge extension based on triple-semantic
KR20180044481A (en) Method and system for providing recommendation query using search context
JP2019008783A (en) Method and system for expansion to everyday language by using word vectorization technique based on social network content
KR102277240B1 (en) Method and system for extracting synonym by using keyword relation structure
KR102188564B1 (en) Method and system for machine translation capable of style transfer
JP2021179980A (en) Method for extracting category of item for shopping search
US20210149900A1 (en) Method, system and computer program for semantic triple-based knowledge extension
KR102195191B1 (en) Method and system for extracting new keyword by using keyword relation structure
CN105488096A (en) Dynamic summary generator
KR102415366B1 (en) Method and system for retrieving associative image through multimodality ranking model using different modal features
KR101747532B1 (en) Method and system for recommending course for travel related query
KR102192376B1 (en) Method and system for extracting foreign synonym using transliteration model
KR20200097949A (en) Method and system for extracting synonym by using keyword relation structure
KR102755555B1 (en) Method and apparatus for recommending app function shortcuts through app usage pattern and conversation analysis
KR20210006098A (en) Method and system for determining document consistence to improve document search quality
KR102240454B1 (en) Method and system for extracting synonym by using query analysis based on keyword relation structure
KR102227741B1 (en) Method and system for searching poi based on title matching score
CN112102820B (en) Interaction method, interaction device, electronic equipment and medium
KR20190000061A (en) Method and system for providing relevant keywords based on keyword attribute
KR102264481B1 (en) Method, system, and non-transitory computer readable record medium for grouping channels within social network services
KR102562379B1 (en) Method and system for retrieving local data using payment history information and non-temporary computer readable recording medium
KR102206289B1 (en) Method and system for integrating poi search coverage
KR102796133B1 (en) Method, system, and computer program to dynamically provide sub-item recommendation list for each item included in search results based on search query

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190218

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200518

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20201127

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20201211

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20201214

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20230925

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee