KR20210044146A - Method, apparatus and system for determining similarity of patent documents - Google Patents
Method, apparatus and system for determining similarity of patent documents Download PDFInfo
- Publication number
- KR20210044146A KR20210044146A KR1020200021487A KR20200021487A KR20210044146A KR 20210044146 A KR20210044146 A KR 20210044146A KR 1020200021487 A KR1020200021487 A KR 1020200021487A KR 20200021487 A KR20200021487 A KR 20200021487A KR 20210044146 A KR20210044146 A KR 20210044146A
- Authority
- KR
- South Korea
- Prior art keywords
- patent document
- server
- word
- sentence
- words
- 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/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 특허문서의 유사도 판단 방법, 장치 및 시스템에 관한 것이다. The present invention relates to a method, apparatus, and system for determining similarity of patent documents.
4차 산업의 발전과 함께 지식재산권에 대한 가치가 높아지고 있다. 이에 따라 많은 사람들은 자신이 가진 기술을 보호하고, 기술에 대한 권리를 획득하려 노력하고 있으며, 기술에 대한 특허 출원에 대한 관심도가 높아지고 있다.With the development of the fourth industry, the value of intellectual property rights is increasing. Accordingly, many people are trying to protect their own technology and acquire rights to technology, and interest in patent applications for technology is increasing.
한편, 특허 출원을 위해서는 자신의 기술이 특허 받을 수 있을지를 판단하기 위해 선행 기술 조사를 수행하며, 과거 공개된 다양한 특허 문헌을 검색함으로써 선행 기술 조사를 수행할 수 있다.On the other hand, for a patent application, a prior art search is performed to determine whether the own technology can be patented, and a prior art search may be performed by searching various patent documents published in the past.
선행 기술 조사를 수행하는데 있어서 가장 중요한 것은, 대상특허문서의 진보성을 부정할 수 있을만한 유사특허문서가 존재하는지 여부를 판단하는 일이다.The most important thing in conducting a prior art investigation is to determine whether there is a similar patent document that can deny the inventive step of the target patent document.
그러나, 특허 문서의 양이 방대하고, 시간의 제약으로 인하여 과거 공개된 모든 특허 문서를 분석하는 것은 사실상 불가능에 가까운 일이며, 주어진 시간 내에서 최대한의 결과를 얻기 위하여 검색식 입력 등의 방법을 통해 유사특허문서를 획득하는 것이 현실이다.However, due to the vast amount of patent documents and time constraints, it is virtually impossible to analyze all patent documents published in the past. It is a reality to obtain similar patent documents.
그러나, 검색식 입력 등을 통한 유사특허문서 획득은 선행기술 조사를 수행하는 인력의 능력에 좌우되는 경우가 많아 선행 기술 조사에 대한 안정적인 결과에 대한 보장이 되지 않는 경우가 많다.However, acquisition of similar patent documents through search-type input or the like is often dependent on the ability of a person to conduct prior art investigations, and thus a stable result of prior art investigations is not guaranteed in many cases.
따라서, 적은 시간 투자로 안정적인 결과를 보장 받을 수 있는 선행 기술 조사 방법의 필요성이 대두되고 있다.Therefore, there is a need for a prior art research method that can guarantee stable results with a small time investment.
본 발명이 해결하고자 하는 과제는 특허문서의 유사도 판단 방법, 장치 및 시스템을 제공하는 것이다.The problem to be solved by the present invention is to provide a method, apparatus, and system for determining the similarity of patent documents.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems that are not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 특허문서의 유사도 판단 시스템의 제어 방법은, 서버가, 대상특허문서를 획득하는 단계; 상기 서버가, 상기 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하는 단계; 상기 서버가, 상기 획득된 적어도 하나의 단어의 중요도 스코어를 획득하는 단계; 상기 서버가, 상기 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하는 단계; 상기 서버가, 상기 대상특허문서에 포함된 복수의 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장을 획득하는 단계; 상기 서버가, 상기 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하는 단계; 상기 서버가, 상기 제1 문장 및 상기 제2 문장을 제2 인공지능 모델에 입력하여, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계; 및 상기 서버가, 상기 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성하는 단계를 포함한다.A control method of a system for determining the similarity of a patent document according to an aspect of the present invention for solving the above-described problem includes the steps of: obtaining, by a server, a target patent document; Obtaining, by the server, at least one word based on the target patent document; Obtaining, by the server, an importance score of the obtained at least one word; Obtaining, by the server, the target patent document into a first artificial intelligence model to obtain a similar patent document; Obtaining, by the server, a plurality of sentences included in the target patent document, and obtaining a plurality of sentences included in the similar patent document; Obtaining, by the server, a first sentence from among a plurality of sentences included in the target patent document, and obtaining a second sentence from among a plurality of sentences included in the similar patent document; Obtaining, by the server, the first sentence and the second sentence into a second artificial intelligence model to obtain evaluation results for the first sentence and the second sentence; And generating, by the server, a prior art search report for the target patent document based on the evaluation result.
이때, 상기 단어를 획득하는 단계는, 상기 서버가, 상기 대상특허문서를 바탕으로 형태소를 분석하여 복수개의 단어를 획득하는 단계; 상기 서버가, 상기 획득된 복수개의 단어 중 오류 단어를 판단하는 단계; 상기 서버가, 상기 오류 단어를 수정하는 단계; 및 상기 서버가, 상기 복수개의 단어간의 연관도를 바탕으로 적어도 하나의 복합 명사구 세트를 획득하는 단계를 포함한다.In this case, the step of obtaining the word may include: obtaining, by the server, a morpheme based on the target patent document to obtain a plurality of words; Determining, by the server, an error word among the plurality of acquired words; Correcting, by the server, the error word; And obtaining, by the server, at least one compound noun phrase set based on a degree of association between the plurality of words.
이때, 상기 중요도 스코어를 획득하는 단계는, 상기 서버가, 상기 대상특허문서로부터 중요도 스코어의 산출 대상이 되는 단어를 획득하는 단계; 상기 서버가, 전체 특허문서에서의 상기 단어의 제1 세부 중요도, 상기 대상특허문서의 기술분야정보에 대응되는 특허분류정보에서의 상기 단어의 제2 세부 중요도 및 상기 전체 특허문서 중 상기 단어가 포함된 검색특허문서의 제3 세부 중요도 중 하나 이상의 세부 중요도를 산출하는 단계; 및 상기 서버가, 상기 제1 세부 중요도, 상기 제2 세부 중요도 및 상기 제3 세부 중요도 중 하나 이상에 기초하여 상기 단어의 상기 중요도 스코어를 산출하는 단계를 포함한다.In this case, the step of obtaining the importance score may include: obtaining, by the server, a word to be calculated for the importance score from the target patent document; The server includes the first detailed importance of the word in the entire patent document, the second detailed importance of the word in the patent classification information corresponding to the technical field information of the target patent document, and the word in the entire patent document. Calculating one or more of the third detailed importance of the searched patent document; And calculating, by the server, the importance score of the word based on at least one of the first detailed importance, the second detailed importance, and the third detailed importance.
이때, 상기 제어 방법은, 상기 서버가, 유의어 사전의 기초가 되는 전체 특허문서를 획득하는 단계; 상기 서버가, 상기 전체 특허문서 각각에 대해 형태소를 분석하는 단계; 상기 형태소 분석 결과에 기초하여 상기 전체 특허문서 각각에 포함된 단어를 워드 벡터로 변환하는 단계; 상기 서버가, 상기 워드 벡터 간의 유사도를 산출하는 단계; 및 상기 서버가, 상기 유사도에 기초하여 상기 워드 벡터에 대응되는 단어를 유사어 그룹으로 그루핑하는 단계를 포함한다.In this case, the control method includes: obtaining, by the server, the entire patent document that is the basis of the thesaurus; Analyzing, by the server, a morpheme for each of the entire patent documents; Converting words included in each of the entire patent documents into word vectors based on the result of the morpheme analysis; Calculating, by the server, a degree of similarity between the word vectors; And grouping, by the server, a word corresponding to the word vector into a similar word group based on the similarity.
이때, 상기 오류 단어를 판단하는 단계는, 상기 획득된 복수개의 단어 각각에 대한 의미 정보를 매칭하는 단계; 상기 매칭된 의미 정보 및 상기 대상특허문서를 바탕으로, 상기 복수개의 단어 각각에 대한 정확도 점수를 획득하는 단계; 및 상기 정확도 점수가 기 설정된 값 이하인 단어를 오류 단어로 판단하는 단계를 포함하고, 상기 오류 단어를 수정하는 단계는, 상기 오류 단어에 대한 복수개의 의미 정보를 획득하는 단계; 상기 획득된 복수개의 의미 정보 각각에 대한 복수개의 가중치를 획득하는 단계; 상기 복수개의 가중치 중, 상기 대상특허문서와의 연관도가 가장 높은 가중치를 획득하는 단계; 및 상기 대상특허문서와의 연관도가 가장 높은 가중치에 대응되는 의미 정보를 상기 오류 단어에 매칭하는 단계를 포함하고, 상기 적어도 하나의 복합 명사구 세트를 획득하는 단계는, 상기 대상특허문서에 포함된 문장에 대한 복수개의 단어를 획득하는 단계; 상기 복수개의 단어의 조합으로 획득된 복수개의 복합 명사구 세트 후보를 획득하는 단계; 상기 획득된 복수개의 복합 명사구 세트 후보와 동일한 복합 명사구 세트가 상기 대상특허문서에 포함되는 빈도를 획득하는 단계; 및 상기 빈도가 기 설정된 빈도 이상인 복합 명사구 세트 후보를 복합 명사구 세트로 결정하는 단계; 를 포함하고, 상기 복합 명사구 세트 후보는 복합 명사구 세트 후보에 포함된 단어들의 순서 정보 및 이격 정보를 포함한다.In this case, the determining of the error word may include matching semantic information for each of the obtained plurality of words; Obtaining an accuracy score for each of the plurality of words based on the matched meaning information and the target patent document; And determining a word whose accuracy score is less than or equal to a preset value as an error word, wherein the step of correcting the error word comprises: acquiring a plurality of semantic information for the error word; Obtaining a plurality of weights for each of the obtained plurality of semantic information; Obtaining a weight having the highest correlation with the target patent document from among the plurality of weights; And matching semantic information corresponding to a weight having the highest correlation with the target patent document to the error word, and obtaining the at least one compound noun phrase set includes the target patent document. Acquiring a plurality of words for a sentence; Obtaining a plurality of compound noun phrase set candidates obtained by combining the plurality of words; Acquiring a frequency in which the target patent document includes the same compound noun phrase set as the obtained plurality of compound noun phrase set candidates; And determining a composite noun phrase set candidate whose frequency is equal to or greater than a preset frequency as a composite noun phrase set. And the compound noun phrase set candidate includes order information and spacing information of words included in the compound noun phrase set candidate.
이때, 상기 단어의 세부 중요도를 산출하는 단계는, 상기 전체 특허문서의 전체 단어수 대비 상기 전체 특허문서에서의 상기 단어의 출현횟수의 제1 출현비율 및 상기 전체 특허문서의 전체 문장수 대비 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수의 제2 출현비율에 기초하여 상기 제1 세부 중요도를 산출하는 단계; 상기 특허분류정보의 전체 단어수 대비 상기 특허분류정보에서의 상기 단어의 출현횟수의 제3 출현비율 및 상기 전체 특허문서의 전체 문장수 대비 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수의 제4 출현비율에 기초하여 상기 제2 세부 중요도를 산출하는 단계; 및 상기 검색특허문서 각각의 참조 정보에 기초하여 상기 검색특허문서 각각의 영향력 값을 산출하고, 상기 영향력 값을 이용하여 상기 검색특허문서의 제3 세부 중요도를 산출하는 단계를 포함하고, 상기 제1 세부 중요도를 산출하는 단계는, 하기의 수학식1을 이용하여 상기 제1 세부 중요도를 산출하고, 상기 제2 세부 중요도를 산출하는 단계는, 하기의 수학식을 이용하여 상기 제2 세부 중요도를 산출하는 단계를 포함한다.In this case, calculating the detailed importance of the word may include a first occurrence ratio of the number of occurrences of the word in the entire patent document to the total number of words in the entire patent document and the total number of sentences in the entire patent document. Calculating the first detailed importance based on a second occurrence ratio of the number of sentences in which the word appears among sentences of the patent document; The third occurrence ratio of the number of occurrences of the word in the patent classification information to the total number of words in the patent classification information and the number of sentences in which the word appears among the sentences of the entire patent document compared to the total number of sentences in the entire patent document. Calculating the second detailed importance based on the fourth appearance rate of; And calculating an influence value of each search patent document based on reference information of each search patent document, and calculating a third detailed importance of the search patent document using the influence value, wherein the first In the calculating of the detailed importance, the first detailed importance is calculated using Equation 1 below, and the second detailed importance is calculated using the following equation. It includes the step of.
<수학식 1><Equation 1>
<수학식 2><Equation 2>
여기서, 상기 W1은 제1 세부 중요도이고, 상기 wpw은 상기 전체 특허문서에서의 상기 단어의 출현횟수이고, 상기 WPW은 전체 특허문서의 전체 단어수이고, 상기 wps은 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수이고, 상기 WPS은 상기 전체 특허문서의 전체 문장수이고, 상기 a1은 상기 제2 출현비율의 조절 상수이고, 상기 W2은 제2 세부 중요도이고, 상기 ipcw은 상기 특허분류정보에서의 상기 단어의 출현횟수이고, 상기 IPCW은 특허분류정보의 전체 단어수이고, 상기 ipcs은 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수이고, 상기 IPCS은 상기 전체 특허문서의 전체 문장수이고, 상기 a2은 상기 제4 출현비율의 조절 상수이다.Here, W1 is the first detailed importance, wpw is the number of occurrences of the word in the entire patent document, WPW is the total number of words in the entire patent document, and wps is the number of words in the entire patent document. Is the number of sentences in which a word appears, the WPS is the total number of sentences in the entire patent document, a1 is an adjustment constant of the second appearance rate, W2 is the second detailed importance, and ipcw is the patent classification. The number of occurrences of the word in the information, the IPCW is the total number of words in the patent classification information, the ipcs is the number of sentences in which the word appears in the sentences of the entire patent document, and the IPCS is the number of sentences in the entire patent document. It is the total number of sentences, and a2 is an adjustment constant of the fourth appearance rate.
이때, 상기 유사특허문서를 획득하는 단계는, 상기 대상특허문서에 포함된 복수개의 단어를 획득하는 단계; 상기 획득된 복수개의 단어를 클러스터링하여 복수개의 대상특허 클러스터를 획득하는 단계; 상기 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 상기 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점 및 상기 대상특허 클러스터에 포함된 단어의 수를 바탕으로 상기 대상특허문서의 위치를 판단하는 단계; 특허문서에 포함된 복수개의 단어를 획득하고, 획득된 복수개의 단어를 클러스터링하여 복수의 특허 클러스터를 획득하는 단계; 상기 복수개의 특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 상기 복수개의 특허 클러스터 각각에 대한 복수개의 중점 및 상기 특허 클러스터에 포함된 단어의 수를 바탕으로 상기 특허문서의 위치를 판단하는 단계; 및 상기 대상특허문서의 위치 및 상기 특허문서의 위치가 기 설정된 거리 이내인 경우, 상기 특허문서를 상기 유사특허문서로 결정하는 단계를 포함하고, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계는, 상기 제1 문장 및 상기 제2 문장의 유사도 점수 및 비유사도 점수를 각각 획득하는 단계; 상기 비유사도 점수가 기 설정된 점수 이상인 경우, 상기 제1 문장과 상기 제2 문장은 관계없는 문장으로 판단하는 단계; 상기 유사도 점수가 기 설정된 점수 이상인 경우, 상기 제1 문장에 포함된 단어 중 상기 제2 문장에 포함되지 않은 적어도 하나의 단어를 획득하는 단계; 상기 제2 문장에 포함되지 않은 적어도 하나의 단어 각각에 대한 적어도 중요도 점수를 획득하고, 상기 획득된 적어도 하나의 중요도 점수 중 기 설정된 중요도 점수 이상인 단어가 존재하는지 여부를 판단하는 단계; 기 설정된 중요도 점수 이상인 단어가 존재하지 않는 경우, 상기 제1 문장 및 상기 제2 문장을 일치 문장으로 판단하는 단계; 및 상기 기 설정된 중요도 점수 이상인 단어가 존재하면, 상기 제1 문장 및 상기 제2 문장을 불일치 문장으로 판단하는 단계를 포함한다.In this case, the obtaining of the similar patent document may include obtaining a plurality of words included in the target patent document; Clustering the obtained words to obtain a plurality of target patent clusters; Acquire a plurality of focus points for each of the plurality of target patent clusters, and determine the location of the target patent document based on a plurality of focus points for each of the plurality of target patent clusters and the number of words included in the target patent cluster The step of doing; Obtaining a plurality of words included in the patent document and clustering the obtained words to obtain a plurality of patent clusters; Acquiring a plurality of focus points for each of the plurality of patent clusters, and determining a position of the patent document based on the plurality of focus points for each of the plurality of patent clusters and the number of words included in the patent cluster; And when the location of the target patent document and the location of the patent document are within a preset distance, determining the patent document as the similar patent document, and an evaluation result of the first sentence and the second sentence. The acquiring may include obtaining similarity scores and dissimilarity scores of the first sentence and the second sentence, respectively; Determining that the first sentence and the second sentence are unrelated sentences when the dissimilarity score is greater than or equal to a preset score; Obtaining at least one word not included in the second sentence among words included in the first sentence when the similarity score is equal to or greater than a preset score; Acquiring at least an importance score for each of at least one word not included in the second sentence, and determining whether a word having a predetermined importance score or higher among the acquired at least one importance score exists; Determining the first sentence and the second sentence as a match sentence when there are no words having a pre-set importance score or higher; And determining the first sentence and the second sentence as inconsistent sentences when there is a word that is equal to or greater than the preset importance score.
이때, 상기 워드 벡터로 변환하는 단계는 상기 특허문서를 기초하여 Word2Vec 학습을 통해 상기 단어를 워드 벡터로 변환하는 단계를 포함하고, 상기 유사도를 산출하는 단계는, 상기 워드 벡터 중 어느 두 워드 벡터 간의 거리를 산출하고 상기 산출된 거리를 유사도로 산출하는 단계를 포함하고, 상기 유사어 그룹으로 그루핑하는 단계는, 상기 워드 벡터 중 어느 두 워드 벡터 간의 상기 유사도가 미리 설정된 기준 유사도 미만인지 여부를 확인하고, 상기 워드 벡터 중 어느 두 워드 벡터 간의 상기 유사도가 미리 설정된 기준 유사도 미만이면 해당 두 워드 벡터에 대응되는 두 단어를 상기 유사어 그룹으로 그루핑하는 단계를 포함하고, 상기 전체 특허문서를 획득하는 단계는, 상기 획득된 전체 특허문서 중 어느 하나의 특허문서가 노이즈 문서 조건을 충족하는지 여부를 확인하고, 상기 노이즈 문서 조건을 충족하는 특허문서를 제거하는 단계를 포함한다.In this case, the step of converting the word vector includes converting the word into a word vector through Word2Vec learning based on the patent document, and calculating the similarity may include: Computing a distance and calculating the calculated distance as a degree of similarity, and the step of grouping into the similar word group includes checking whether the similarity between any two word vectors among the word vectors is less than a preset reference similarity, If the similarity between any two word vectors among the word vectors is less than a preset reference similarity, grouping two words corresponding to the two word vectors into the similar word group, and obtaining the entire patent document, the And checking whether any one of the obtained patent documents satisfies the noise document condition, and removing the patent document that satisfies the noise document condition.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the present invention are included in the detailed description and drawings.
상술한 본 발명의 실시예에 따라, 사용자는 적은 시간 투자로 안정적인 결과를 보장 받을 수 있는 선행 기술 조사 방법이 제공될 수 있다.According to the above-described embodiment of the present invention, a prior art research method can be provided in which a user can guarantee a stable result with a small investment of time.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 시스템도이다.
도 2는 본 발명의 일 실시예에 따른 선행기술조사보고서를 획득하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 단어를 획득하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 단어 획득방법을 구체적으로 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 구체적으로 설명하기 위한 흐름도이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 유사특허문서 획득 방법 및 유사 문장 판단 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 구체적인 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 제1 인공지능 모델 및 제2 인공지능 모델을 이용하여 평가 결과를 도출하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따른 장치의 구성도이다.1 is a system diagram according to an embodiment of the present invention.
2 is a flowchart illustrating a method of obtaining a prior art investigation report according to an embodiment of the present invention.
3 is a flowchart illustrating a method of acquiring a word according to an embodiment of the present invention.
4 is a flowchart illustrating a method of calculating an importance score according to an embodiment of the present invention.
5 is a flowchart illustrating a method of generating a thesaurus according to an embodiment of the present invention according to an embodiment of the present invention.
6A to 6C are flowcharts for specifically explaining a method of acquiring a word according to an embodiment of the present invention.
7 is a flowchart specifically illustrating a method of calculating an importance score according to an embodiment of the present invention.
8A and 8B are flowcharts illustrating a method of obtaining a similar patent document and a method of determining a similar sentence according to an embodiment of the present invention.
9 is a flowchart illustrating a specific method of generating a thesaurus according to an embodiment of the present invention.
10 is an exemplary diagram for explaining a process of deriving an evaluation result using a first artificial intelligence model and a second artificial intelligence model according to an embodiment of the present invention.
11 is a block diagram of an apparatus according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used herein, “comprises” and/or “comprising” do not exclude the presence or addition of one or more other elements other than the mentioned elements. Throughout the specification, the same reference numerals refer to the same elements, and "and/or" includes each and all combinations of one or more of the mentioned elements. Although "first", "second", and the like are used to describe various elements, it goes without saying that these elements are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used with meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "unit" or "module" used in the specification refers to a hardware component such as software, FPGA or ASIC, and the "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. The “unit” or “module” may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example, "sub" or "module" refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. Components and functions provided within "sub" or "modules" may be combined into a smaller number of components and "sub" or "modules" or into additional components and "sub" or "modules". Can be further separated.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe the correlation between a component and other components. Spatially relative terms should be understood as terms including different directions of components during use or operation in addition to the directions shown in the drawings. For example, if a component shown in a drawing is turned over, a component described as "below" or "beneath" of another component will be placed "above" the other component. I can. Accordingly, the exemplary term “below” may include both directions below and above. Components may be oriented in other directions, and thus spatially relative terms may be interpreted according to the orientation.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In the present specification, a computer means all kinds of hardware devices including at least one processor, and may be understood as encompassing a software configuration operating in the corresponding hardware device according to embodiments. For example, the computer may be understood as including all of a smartphone, a tablet PC, a desktop, a laptop, and a user client and application running on each device, and is not limited thereto.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each of the steps described herein is described as being performed by a computer, but the subject of each step is not limited thereto, and at least some of the steps may be performed by different devices according to embodiments.
도 1은 본 발명의 일 실시예에 따른 시스템도이다.1 is a system diagram according to an embodiment of the present invention.
본 발명에 따른 특허문서 유사도 판단 시스템은 서버(10) 및 전자 장치(20)를 포함한다.The patent document similarity determination system according to the present invention includes a
서버(10)는 대상특허문서를 획득하고, 획득된 대상특허문서로부터 유사특허문서를 획득하고, 대상특허문서의 문장과 유사특허문서의 문장의 유사도를 판단하기 위한 구성이다.The
일 실시예로, 서버(10)는 전자장치(20)로부터 대상특허문서를 입력 받거나, 외부 서버로부터 대상특허문서를 획득할 수 있다. In one embodiment, the
또 다른 실시예로, 서버(10)는 대상특허문서 또는 유사특허문서로부터 복수의 단어를 획득하고, 획득된 단어의 중요도 스코어를 획득할 수 있다. 또한, 서버(10)는 전체 특허문서로부터 유의어 사전을 획득하여 단어의 중요도 스코어 판단에 이용할 수 있다.In another embodiment, the
또 다른 실시예로, 서버(10)는 대상특허문서에 대한 유사특허문서를 획득하고, 유사한 문장을 획득하여 선행기술조사보고서를 생성할 수 있다. In another embodiment, the
본 명세서에서, 특허문서는 대상특허문서 및 유사특허문서를 포함하는 개념으로, 각국 특허청에 특허 등록을 받기 위해 출원인이 제출하는 기술 내용에 대한 문서일 수 있다. 다만, 이에 한정되는 것은 아니고, 특허문서는, 특허 출원을 위한 직무 발명서, 논문 등 기술 내용을 포함한 다양한 문서를 포함하는 개념으로 이해될 수 있다. 일 실시예에 따라, 대상특허문서는 특허 출원을 위한 직무 발명서, 논문 중 적어도 하나이고, 유사특허문서는 특허 출원을 위한 직무 발명서, 논문, 특허출원서 중 적어도 하나일 수 있다.In this specification, a patent document is a concept including a target patent document and a similar patent document, and may be a document on the technical content submitted by an applicant to obtain a patent registration at a national patent office. However, the present disclosure is not limited thereto, and a patent document may be understood as a concept including various documents including technical contents such as a job invention for a patent application, a thesis, and the like. According to an embodiment, the target patent document may be at least one of a job invention and a thesis for a patent application, and the similar patent document may be at least one of a job invention, a thesis, and a patent application for a patent application.
전자 장치(20)는 서버(10)로 특허문서를 제공하기 위한 구성이다. 본 발명에 따른 전자 장치(200)는 스마트폰으로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player) 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다.The
도 2는 본 발명의 일 실시예에 따른 선행기술조사보고서를 획득하는 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method of obtaining a prior art investigation report according to an embodiment of the present invention.
단계 S110에서, 서버(10)는, 대상특허문서를 획득할 수 있다.In step S110, the
단계 S120에서, 서버(10)는, 대상특허문서를 바탕으로 적어도 하나의 단어를 획득할 수 있다.In step S120, the
단계 S130에서, 서버(10)는, 획득된 적어도 하나의 단어의 중요도 스코어를 획득할 수 있다.In step S130, the
단계 S140에서, 서버(10)는, 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득할 수 있다.In step S140, the
구체적으로, 서버(10)는 대상특허문서 또는 유사특허문서로부터 복수의 단어를 획득하고, 획득된 단어의 중요도 스코어를 획득할 수 있다. 또한, 서버(10)는 전체 특허문서로부터 유의어 사전을 획득하여 단어의 중요도 스코어 판단에 이용할 수 있다.Specifically, the
일 실시예로, 서버(10)는, 제1 데이터베이스에 저장된 복수의 특허문서 각각에 대한 형태소 분석을 바탕으로, 복수의 특허문서 각각을 분석하고, 대상특허문서에 대한 형태소분석을 바탕으로 대상특허문서를 분석한 뒤, 대상특허문서와 연관도가 높은 유사특허문서를 획득할 수 있다.In one embodiment, the
단계 S150에서, 서버(10)는, 대상특허문서에 포함된 복수의 문장을 획득하고, 유사특허문서에 포함된 복수의 문장을 획득할 수 있다.In step S150, the
단계 S160에서, 서버(10)는, 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득할 수 있다.In step S160, the
단계 S170에서, 서버(10)는, 제1 문장 및 제2 문장을 제2 인공지능 모델에 입력하여, 제1 문장과 제2 문장에 대한 평가 결과를 획득할 수 있다.In step S170, the
단계 S180에서, 서버(10)는, 평가 결과를 바탕으로, 대상특허문서에 대한 선행기술조사보고서를 생성할 수 있다. 구체적으로, 대상특허문서에 대한 선행기술조사보고서는 제1 문장과 제2 문장에 대한 평가 결과를 바탕으로 생성될 수 있다. 일 실시예로, 제1 문장과 제2 문장에 대한 평가 결과가 점수의 형태로 획득되는 경우, 서버(10)는 제1 문장과 제2 문장에 대한 평가 결과 점수가 기 설정된 점수 이상인 제1 문장 및 제1 문장에 대응되는 제2 문장을 바탕으로 선행기술조사보고서를 생성할 수 있다.In step S180, the
한편, 제1 인공지능 모델은 복수의 특허문서를 학습데이터로 입력하여 학습된 합성곱 신경망(Convolutional deep Neural Networks, CNN) 기반의 인공지능 모델이고, 제2 인공지능 모델은 복수의 특허문서 및 상기 복수의 특허문서 중 두 개의 특허문서 및 상기 두 개의 특허문서에 대한 선행기술조사보고서를 바탕으로 학습된 Bi-LSTM 모델 기반의 인공지능 모델일 수 있다. 다만, 이에 한정되는 것은 아니며, 다양한 인공지능 모델이 본 발명에 적용될 수 있음은 물론이다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 인공지능 모델로서 사용될 수 있으나, 이에 한정되지 않는다.Meanwhile, the first artificial intelligence model is an artificial intelligence model based on convolutional deep neural networks (CNN) learned by inputting a plurality of patent documents as training data, and the second artificial intelligence model is a plurality of patent documents and the above. It may be an artificial intelligence model based on a Bi-LSTM model learned based on two patent documents among a plurality of patent documents and a prior art search report for the two patent documents. However, the present invention is not limited thereto, and of course, various artificial intelligence models may be applied to the present invention. For example, a model such as a deep neural network (DNN), a recurrent neural network (RNN), or a bidirectional recurrent deep neural network (BRDNN) may be used as an artificial intelligence model, but is not limited thereto.
이때, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다. 합성곱 신경망은 입력 영상에 대하여 합성곱과 서브샘플링을 번갈아 수행함으로써 입력 영상으로부터 특징을 추출한다.At this time, convolutional deep neural networks (CNN) are a type of multilayer perceptrons designed to use a minimum of preprocess. A convolutional neural network consists of one or several convolutional layers and a general artificial neural network layer on top of it, and additionally utilizes weights and pooling layers. Thanks to this structure, the convolutional neural network can fully utilize the input data of the two-dimensional structure. Also, convolutional neural networks can be trained through standard inverse forwarding. Convolutional neural networks are more easily trained than other feed-forward artificial neural networks and have the advantage of using fewer parameters. The convolutional neural network extracts features from the input image by alternately performing convolution and subsampling on the input image.
합성곱 신경망은 여러 개의 합성곱 계층(Convolution layer), 여러 개의 서브샘플링 계층(Subsampling layer, Lacal pooling layer, Max-Pooling layer), 완전 연결 층(Fully Connected layer)을 포함한다. 합성곱 계층은 입력 영상(Input Image)에 대해 합성곱을 수행하는 계층이다. 그리고 서브샘플링 계층은 입력 영상에 대해 지역적으로 최대값을 추출하여 2차원 영상으로 매핑하는 계층으로, 국소적인 영역을 더 크게 하고, 서브샘플링을 수행한다. A convolutional neural network includes several convolution layers, several subsampling layers (subsampling layers, lacal pooling layers, and Max-Pooling layers), and fully connected layers. The convolution layer is a layer that performs convolution on an input image. In addition, the subsampling layer is a layer that locally extracts a maximum value for an input image and maps it to a 2D image. The local area is enlarged and subsampling is performed.
합성곱 계층에서는 커널의 크기(kernel size), 사용할 커널의 개수(즉, 생성할 맵의 개수), 및 합성곱 연산 시에 적용할 가중치 테이블 등의 정보가 필요하다. 예를 들어, 입력 영상의 크기가 32×32이고, 커널의 크기가 5×5이고, 사용할 커널의 개수가 20개인 경우를 예로 들자. 이 경우, 32×32 크기의 입력 영상에 5×5 크기의 커널을 적용하면, 입력 영상의 위, 아래, 왼쪽, 오른쪽에서 각각 2개의 픽셀(pixel)에는 커널을 적용하는 것이 불가능하다. 입력 영상의 위에 커널을 배치한 후 합성곱을 수행하면, 그 결과 값인 '-8'은 커널에 포함된 입력 영상의 픽셀들 중에서 커널의 중심요소(center element)에 대응하는 픽셀의 값으로 결정되기 때문이다. 따라서, 32×32 크기의 입력 영상에 5×5 크기의 커널을 적용하여 합성곱을 수행하면 28×28 크기의 맵(map)이 생성된다. 앞서, 사용할 커널의 개수가 총 20개인 경우를 가정하였으므로, 첫 번째 합성곱 계층에서는 총 20개의 28×28 크기의 맵이 생성된다. In the convolutional layer, information such as a kernel size, the number of kernels to be used (ie, the number of maps to be generated), and a weight table to be applied during a convolution operation is required. For example, let's take a case where the size of the input image is 32×32, the size of the kernel is 5×5, and the number of kernels to be used is 20. In this case, if a 5×5 kernel is applied to an input image having a size of 32×32, it is impossible to apply a kernel to each of two pixels at the top, bottom, left, and right of the input image. This is because when convolution is performed after placing the kernel on the input image, the resulting value of'-8' is determined as the value of the pixel corresponding to the center element of the kernel among the pixels of the input image included in the kernel. to be. Accordingly, when convolution is performed by applying a kernel of a size of 5×5 to an input image of size of 32×32, a map of size of 28×28 is generated. Previously, since it was assumed that the number of kernels to be used is a total of 20, a total of 20 maps with a size of 28×28 are generated in the first convolutional layer.
서브샘플링 계층에서는 서브샘플링할 커널의 크기에 대한 정보, 커널 영역 내의 값들 중 최대값을 선택할 것인지 최소값을 선택할 것인지에 대한 정보가 필요하다.The subsampling layer needs information on the size of the kernel to be subsampled, and information on whether to select the maximum value or the minimum value among values in the kernel region.
또한, 심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.In addition, deep neural networks (DNNs) are artificial neural networks (ANNs) composed of a plurality of hidden layers between an input layer and an output layer.
이때, 심층 신경망의 구조는 퍼셉트론(perceptron)으로 구성될 수 있다. 퍼셉트론은 여러 개의 입력 값(input)과 하나의 프로세서(prosessor), 하나의 출력 값으로 구성된다. 프로세서는 여러 개의 입력 값에 각각 가중치를 곱한 후, 가중치가 곱해진 입력 값들을 모두 합한다. 그 다음 프로세서는 합해진 값을 활성화함수에 대입하여 하나의 출력 값을 출력한다. 만약 활성화함수의 출력 값으로 특정한 값이 나오기를 원하는 경우, 각 입력 값에 곱해지는 가중치를 수정하고, 수정된 가중치를 이용하여 출력 값을 다시 계산할 수 있다. 이때, 각각의 퍼셉트론은 서로 다른 활성화함수를 사용할 수 있다. 또한 각각의 퍼셉트론은 이전 계층에서 전달된 출력들을 입력으로 받아들인 다음, 활성화 함수를 이용해서 출력을 구한다. 구해진 출력은 다음 계층의 입력으로 전달된다. 상술한 바와 같은 과정을 거치면 최종적으로 몇 개의 출력 값을 얻을 수 있다. In this case, the structure of the deep neural network may be composed of a perceptron. Perceptron consists of several inputs, one processor, and one output value. The processor multiplies several input values by weights, and then sums all the input values multiplied by the weights. Then, the processor outputs one output value by substituting the summed value into the activation function. If a specific value is desired as the output value of the activation function, the weight multiplied by each input value can be modified, and the output value can be recalculated using the modified weight. At this time, each perceptron may use a different activation function. Also, each perceptron accepts the outputs from the previous layer as inputs, and then uses the activation function to get the outputs. The obtained output is passed to the input of the next layer. Through the above-described process, several output values can be finally obtained.
또한, 딥 러닝 기법에 대한 설명으로 다시 돌아가면, 순환 신경망(Reccurent Neural Network, RNN)은 인공신경망을 구성하는 유닛 사이의 연결이 Directed cycle을 구성하는 신경망을 말한다. 순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.In addition, returning to the description of the deep learning technique, a Reccurent Neural Network (RNN) refers to a neural network in which a connection between units constituting an artificial neural network constitutes a directed cycle. Unlike the preceding neural network, the recurrent neural network can utilize the memory inside the neural network to process arbitrary inputs.
심층 신뢰 신경망(Deep Belief Networks, DBN)이란 기계학습에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥 러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층 신경망을 의미한다. 계층 간에는 연결이 있지만 계층 내의 유닛 간에는 연결이 없다는 특징이 있다. Deep Belief Networks (DBN) is a generative graphical model used in machine learning, and in deep learning, it means a deep neural network consisting of multiple layers of latent variables. The characteristic is that there is a connection between the layers, but there is no connection between the units within the layer.
심층 신뢰 신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능케 한다. The deep trust neural network can be used for prior learning due to its generative model, and after learning initial weights through prior learning, it can fine-tune the weights through backpropagation or other discriminant algorithms. This characteristic is very useful when there is little training data, because the smaller the training data, the stronger the influence of the initial value of the weight on the resulting model. The pre-learned weight initial value is closer to the optimal weight compared to the arbitrarily set weight initial value, which makes it possible to improve the performance and speed of the fine-tuning step.
상술한 인공지능 및 그 학습방법에 관한 내용은 예시를 위하여 서술된 것이며, 이하에서 설명되는 실시 예들에서 이용되는 인공지능 및 그 학습방법은 제한되지 않는다. 예를 들어, 당 업계의 통상의 기술자가 동일한 과제해결을 위하여 적용할 수 있는 모든 종류의 인공지능 기술 및 그 학습방법이 개시된 실시 예에 따른 시스템을 구현하는 데 활용될 수 있다.The above-described artificial intelligence and its learning method are described for illustrative purposes, and the artificial intelligence and its learning method used in the embodiments described below are not limited. For example, all kinds of artificial intelligence technologies and learning methods thereof that can be applied by a person skilled in the art to solve the same problem may be used to implement the system according to the disclosed embodiment.
도 3은 본 발명의 일 실시예에 따른 단어를 획득하는 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method of acquiring a word according to an embodiment of the present invention.
단계 S210에서, 서버(10)는, 대상특허문서를 바탕으로 형태소를 분석하여 복수개의 단어를 획득할 수 있다.In step S210, the
일 실시예로, 서버(10)는 Mecab 형태소 분석기를 이용하여 대상특허문서의 형태소 분석을 수행할 수 있다. 다만, 이에 한정되는 것은 아니고, 경우에 따라 Okt, Komoran, Hannanum, Kkma 형태소 분석기 등 다양한 형태소 분석기가 이용될 수 있음은 물론이다. 나아가, 서버(10)는 분석하고자 하는 대상특허문서의 사용 언어에 따라 다양한 형태소 분석기를 사용할 수 있음은 물론이다. 한편, 본 발명에서는 대상특허문서의 형태소를 분석하는 방법을 설명하였으나, 서버(10)는, 대상특허문서뿐만 아니라 다양한 특허문서에 대한 형태소 분석을 수행할 수 있음은 물론이다.In one embodiment, the
단계 S220에서, 서버(10)는, 획득된 복수개의 단어 중 오류 단어를 판단할 수 있다.In step S220, the
일 실시예로, 서버(10)는 획득된 복수개의 단어가 기 설정된 조건을 만족하지 못하는 경우, 해당 단어를 오류 단어로 판단할 수 있다.In an embodiment, when a plurality of acquired words do not satisfy a preset condition, the
단계 S230에서, 서버(10)는, 오류 단어를 수정할 수 있다.In step S230, the
단계 S240에서, 서버(10)는, 복수개의 단어간의 연관도를 바탕으로 적어도 하나의 복합 명사구 세트를 획득할 수 있다.In step S240, the
도 4는 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method of calculating an importance score according to an embodiment of the present invention.
단계 S310에서, 서버(10)는, 대상특허문서로부터 중요도 스코어의 산출 대상이 되는 단어를 획득할 수 있다. In step S310, the
단계 S320에서, 서버(10)는, 전체 특허문서에서의 단어의 제1 세부 중요도, 대상특허문서의 기술분야정보에 대응되는 특허분류정보에서의 단어의 제2 세부 중요도 및 전체 특허문서 중 단어가 포함된 검색특허문서의 제3 세부 중요도 중 하나 이상의 세부 중요도를 산출할 수 있다.In step S320, the
단계 S330에서, 서버(10)는, 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 중 하나 이상에 기초하여 단어의 중요도 스코어를 산출할 수 있다.In step S330, the
구체적으로, 서버(10)는 대상특허문서에 대해 형태소 분석을 수행하여 명사만을 추출할 수 있다. 이때, 서버(10)는 대상특허문서로부터 명사를 추출하는 한 형태소 분석법의 종류는 한정되지 않음을 유의한다.Specifically, the
이어서, 서버(10)는 추출된 명사에 기초하여 대상특허문서의 기술분야정보를 결정할 수 있다. 이때, 서버(10)는 미리 저장된 기술분야정보별 단어 데이터와 추출된 명사를 비교하고, 비교 결과, 추출된 명사가 최다 포함된 기술분야정보를 대상특허문서의 기술분야정보로 결정할 수 있다.Subsequently, the
이후, 서버(10)는 대상특허문서에 포함된 단어 중 불용어로 설정된 단어를 중요도 스코어의 산출 대상이 되는 단어에서 제외시킬 수 있다. 구체적으로, 서버(10)는 대상특허문서의 기술분야정보에 대응되는 기술분야정보별 불용어 데이터를 독출하고, 대상특허문서에 포함되어 추출된 단어 중 독출된 기술분야정보별 불용어 데이터에 포함된 단어를 중요도 스코어의 산출 대상이 되는 단어에서 제외시킬 수 있다.Thereafter, the
여기서, 불용어는 해당 기술분야에서 빈번하게 사용되는 단어이지만 기술적 의미를 갖지 않는 단어를 의미할 수 있다. 예를 들어, IT 기술분야에서 컴퓨터는 빈번하게 사용되나 IT 기술과 관련한 기술적 의미를 갖지 않아 불용어로 정의될 수 있다.Here, the stop word is a word that is frequently used in the relevant technical field, but may mean a word that does not have a technical meaning. For example, in the field of IT technology, computers are frequently used, but because they do not have a technical meaning related to IT technology, they may be defined as stop words.
이에 따라, 서버(10)는 대상특허문서로부터 추출한 단어 중 불용어가 아닌 단어를 중요도 스코어의 산출 대상이 되는 단어로 획득할 수 있다.Accordingly, the
도 5는 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a method of generating a thesaurus according to an embodiment of the present invention according to an embodiment of the present invention.
단계 S410에서, 서버(10)는, 유의어 사전의 기초가 되는 전체 특허문서를 획득할 수 있다. 구체적으로, 서버(10)는 실시간으로 시간이 경과함에 따라 공개되는 특허문서를 획득하여 전체 특허문서를 획득할 수 있다. 이때, 서버(10)는 통신을 통해 외부 서버 또는 전자 장치(20)로부터 최신에 공개된 특허문서를 수신하여 메모리(104)에 저장할 수 있다.In step S410, the
일 실시예로, 서버(10)는 획득된 전체 특허문서 중 어느 하나의 특허문서가 노이즈 문서 조건을 충족하는지 여부를 확인할 수 있다. 구체적으로, 서버(10)는 노이즈 문서 조건을 충족하는 특허문서를 전체 특허문서로부터 제거할 수 있다. 여기서, 노이즈 문서 조건은 특허문서가 노이즈 문서 인지 여부를 확인하는 것으로써, 전체 특허문서 각각 내에 미리 설정된 기준 크기 이상의 공백을 갖는 경우, 미리 설정된 횟수 이상 동일한 문자가 반복되는 경우, 전체 특허문서 내에 텍스트와 이지미와의 비율이 미리 설정된 기준 비율 이상인 경우이다.In one embodiment, the
즉, 서버(10)는 전체 특허문서에 대해 노이즈 여부 인지 여부를 확인할 수 있다. 서버(10)는 노이즈 문서 조건을 만족하는 노이즈 문서를 제거할 수 있다. That is, the
단계 S420에서, 서버(10)는, 전체 특허문서 각각에 대해 형태소를 분석할 수 있다.In step S420, the
단계 S430에서, 서버(10)는, 형태소 분석 결과에 기초하여 전체 특허문서 각각에 포함된 단어를 워드 벡터로 변환할 수 있다.In step S430, the
이때, 서버(10)는 상술된 단어의 복수의 단어적 특성을 다차원의 실수 공간에 사영하여 벡터화하여 워드 벡터로 변환할 수 있다. 일 실시 예에서, 서버(10)는 단어를 Word2vec 학습을 이용하여 워드 벡터를 변환할 수 있다.In this case, the
또한, 서버(10)는 단어를 200~300차원 정도의 벡터 공간에 표현할 수 있으며, 학습을 위하여 주변 단어가 만드는 의미의 방향성을 기반으로 타겟 단어를 예측하는 CBOW(Continuous Bag of Words)와 한 단어를 기준으로 주변에 올 수 있는 단어를 예측하는 Skip-gram모델을 활용할 수 있다.In addition, the
이때, 두 워드 벡터 간의 거리는 두 워드 벡터 각각에 대응되는 단어 간의 유사성을 나타내고, 워드 벡터의 방향은 특허문서 내에서의 의미를 나타낼 수 있다. In this case, the distance between the two word vectors indicates similarity between words corresponding to each of the two word vectors, and the direction of the word vector may indicate meaning in the patent document.
단계 S440에서, 서버(10)는, 워드 벡터 간의 유사도를 산출할 수 있다.In step S440, the
구체적으로, 서버(10)는 두 워드 벡터 간의 코사인 유사도 산출하거나 코사인 유사도를 정규화하여 두 워드 벡터 간의 유사도로 산출할 수 있다.Specifically, the
예를 들어, 서버(10)는 실수 공간상의 두 워드 벡터 간 각도의 코사인 값을 이용하여 두 워드 벡터 간의 유사도로 산출할 수 있다. 또한, 서버(10)는 두 워드 벡터 간의 코사인 유사도 값을 0부터 1사이의 범위를 갖도록 정규화하여 두 워드 벡터 간의 유사도로 산출할 수 있다.For example, the
즉, 서버(10)는 전체 특허무선 내에 포함된 모든 단어들을 워드 벡터로 변환하고, 변환된 모든 워드 벡터 간의 거리를 코사인 유사도로 산출하며, 산출된 거리를 유사도로 산출할 수 있다.That is, the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 특허문서의 유의어 사전 생성 방법의 후처리 과정을 수행할 수 있다.Meanwhile, according to various embodiments of the present disclosure, the
구체적으로, 서버(10)는 유사도에 기초하여 워드 벡터에 대응되는 단어가 유사어 그룹에 포함되는지 여부를 확인할 수 있다. 구체적으로, 서버(10)는 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만인지 여부를 확인하고, 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이면 두 워드 벡터에 각각 대응하는 단어가 동일한 유사어 그룹에 포함되는 것으로 확인할 수 있다.Specifically, the
이후, 서버(10)는, 유사도에 기초하여 워드 벡터에 대응되는 단어를 유사어 그룹으로 그루핑할 수 있다.Thereafter, the
구체적으로, 서버(10)는 두 워드 벡터에 각각 대응하는 단어가 동일한 유사어 그룹에 포함되는 것으로 확인되면 해당 두 단어를 동일한 유사어 그룹에 포함시킬 수 있다. Specifically, when it is determined that words corresponding to two word vectors are included in the same similar word group, the
한편, 서버(10)는 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이더라도 유사어 그룹에 이전에 포함된 단어에 대응되는 워드 벡터 간의 유사도가 미리 설정된 최대 유사도를 초과하는 경우, 유사도가 미리 설정된 기준 유사도 미만인 두 워드 벡터에 대응되는 단어들을 해당 유사어 그룹에 포함시키지 않을 수 있다.On the other hand, even if the similarity between any two word vectors is less than the preset reference similarity, if the similarity between the word vectors corresponding to the words previously included in the similar word group exceeds the preset maximum similarity, the similarity is a preset criterion. Words corresponding to two word vectors less than the similarity may not be included in the corresponding similar word group.
이를 통해, 서버(10)는 유사어 그룹이 확장되어 어느 두 단어 간의 유사성이 감소되는 현상을 방지할 수 있다.Through this, the
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 단어 획득방법을 구체적으로 설명하기 위한 흐름도이다.6A to 6C are flowcharts for specifically explaining a method of acquiring a word according to an embodiment of the present invention.
구체적으로, 도 6a에 도시된 바와 같이, 단계 S505에서, 서버(10)는, 획득된 복수개의 단어 각각에 대한 의미 정보를 매칭할 수 있다.Specifically, as shown in FIG. 6A, in step S505, the
이때, 의미 정보란, 단어에 대한 인텐트를 의미할 수 있다. 서버(10)는 단어에 대한 의미 정보를 획득하기 위해 인공지능 모델을 이용한 자연어 처리를 수행할 수 있다.In this case, the semantic information may mean an intent for a word. The
구체적으로, 인공지능 모델은 자연어 이해부를 포함하고, 자연어 이해부는 문장 분석 결과를 바탕으로 엔티티(entity) 및 문장에 포함된 단어의 의도(intent)를 파악할 수 있으며, 나아가, 자연어 이해부는 문장의 구조 및 주요 성분 분석을 통해 문장을 해석하고 통계/분석 등을 이용하여 문장 분석을 수행할 수 있다.Specifically, the artificial intelligence model includes a natural language understanding unit, and the natural language understanding unit can grasp the entity and the intent of words included in the sentence based on the sentence analysis result, and further, the natural language understanding unit can understand the structure of the sentence. And it is possible to analyze the sentence through the analysis of the main components, and perform sentence analysis using statistics/analysis.
일 실시예로, 서버(10)는 '사과'가 포함된 문장을 분석하여 사과에 대한 의미 정보를 획득할 수 있다. 예를 들어, 문장 문석을 통해 획득된 단어가 "사과' 인 경우를 가정할 수 있다. 이때, 사과에 대한 의미 정보는 명사로서 과일의 한 종류를 나타내는 의미 정보일 수 있으나, 동사로서 다른 사람에게 잘못을 말하는 것을 나타내는 의미 정보일 수도 있다. 서버(10)는 '사과'에 대한 복수개의 의미 정보 중 문장과 적합하다고 판단되는 의미 정보를 '사과'와 매칭할 수 있다.In an embodiment, the
단계 S510에서, 서버(10)는, 매칭된 의미 정보 및 대상특허문서를 바탕으로, 복수개의 단어 각각에 대한 정확도 점수를 획득할 수 있다.In step S510, the
이 경우, 서버(10)는 하나의 문장을 통해 획득한 단어에 대한 의미 정보 획득하나, 이를 통해 획득한 의미 정보는 부정확할 가능성이 있다. 따라서, 서버(10)는 문장을 포함하는 특허문서 전체를 바탕으로 단어에 매칭된 의미 정보의 정확도 점수를 획득할 수 있다.In this case, the
따라서, 서버(10)는 문장 분석을 통해 획득된 단어의 의미 정보에 대한 정확도 점수를, 특허문서 전체에서 발견되는 동일한 단어에 대한 의미 정보를 바탕으로 획득할 수 있다.Accordingly, the
예를 들어, '사과'가 포함된 문장을 분석하여 획득한 '사과'에 대한 의미 정보가 과일을 나타내는 사과에 대한 정보이지만, 문장을 포함한 특허문서 전체에서 검색되는 '사과'의 의미 정보가 다른 사람에게 잘못을 말하는 것에 대한 정보인 경우, 서버(10)는 기 매칭된 의미 정보를 낮게 설정할 수 있다.For example, meaning information on'apple' obtained by analyzing a sentence containing'apple' is information about apple representing fruit, but semantic information of'apple' searched in the entire patent document including the sentence is different. In the case of information about telling a person a mistake, the
단계 S515에서, 서버(10)는, 정확도 점수가 기 설정된 값 이하인 단어를 오류 단어로 판단할 수 있다.In step S515, the
즉, 서버(10)는 정확도 점수가 기 설정된 값 이하인 경우, 해당 단어에 매칭된 의미 정보가 잘못 매칭된 것으로 판단하고, 단어를 오류 단어로 획득할 수 있다.That is, when the accuracy score is less than or equal to a preset value, the
한편, 도 6b에 도시된 바와 같이, 단계 S520에서, 서버(10)는, 오류 단어에 대한 복수개의 의미 정보를 획득할 수 있다. 구체적으로, 서버(10)는 오류 단어가 가지는 복수개의 의미 정보를 복수개의 특허문서로부터 획득할 수 있다.Meanwhile, as shown in FIG. 6B, in step S520, the
단계 S525에서, 서버(10)는, 획득된 복수개의 의미 정보 각각에 대한 복수개의 가중치를 획득할 수 있다.In step S525, the
일 실시예로, 서버(10)는 오류 단어를 포함하는 대상특허문서를 바탕으로 가중치를 획득할 수 있다. 구체적으로, 서버(10)는 전체 특허문서에서 오류 단어를 포함하는 적어도 하나의 문장을 획득하고, 획득된 적어도 하나의 문장에 포함된 오류 단어와 동일한 단어에 대한 의미 정보를 획득할 수 있다. 서버(10)는 오류단어와 동일한 적어도 하나의 단어에 대한 의미 정보를 바탕으로, 복수개의 의미 정보에 대한 가중치를 획득할 수 있다.In one embodiment, the
단계 S530에서, 서버(10)는, 복수개의 가중치 중, 대상특허문서와의 연관도가 가장 높은 가중치를 획득할 수 있다.In step S530, the
단계 S535에서, 서버(10)는, 대상특허문서와의 연관도가 가장 높은 가중치에 대응되는 의미 정보를 오류 단어에 매칭할 수 있다. 즉, 서버(10)는 오류 단어에 대한 복수개의 의미 정보 중 가중치가 가장 큰 의미 정보를 오류 단어에 대한 의미 정보로 결정하고, 오류 단어를 수정할 수 있다.In step S535, the
한편, 본 발명의 다양한 실시예에 따라, 오류 단어는 단어에 잘못된 의미 정보가 매칭된 경우뿐만 아니라 형태소 분석 과정에서의 오류로 잘못 파싱된 단어일 경우일 수 있음은 물론이다. 일 실시예로, 단어 획득을 위한 문장이 "머신 러닝을 이용한 자연어 처리를 한다" 인 경우, 서버(10)는 머신, 러닝, 이용, 자연어, 처리를 단어로 획득할 수 있다. On the other hand, according to various embodiments of the present invention, the error word may be not only a case where incorrect meaning information is matched to a word, but also a case that is incorrectly parsed as an error in a morpheme analysis process. In an embodiment, when the sentence for acquiring a word is "Natural language processing using machine learning is performed", the
이 경우, 형태소 분석의 오류로 인하여, 머신, 러닝, 을이용, 자연어, 처리와 같이 단어를 획득하는 경우가 발생할 수 있다. 이 경우, 서버(10)는 '을이용'을 오류 단어로 판단하고, 수정할 수 있다. In this case, due to an error in morpheme analysis, a case of acquiring words such as machine, learning, using, natural language, and processing may occur. In this case, the
구체적으로, 서버(10)는 획득된 단어 각각에 대한 의미 정보를 획득한 후, 의미 정보와 대상특허문서와의 연관도를 바탕으로 오류 단어인지 여부를 판단할 수 있다. 일 실시예에 따라, 서버(10)는 획득된 단어가 기 설정된 빈도 이상 단어를 포함하는 대상특허문서에서 발견되는 경우, 해당 단어는 오류가 없는 단어로 판단할 수 있다. 또 다른 실시예로, 서버(10)는 단어가 전체 특허문서에서 기 설정된 빈도 이상 발견되는 경우, 해당 단어는 일반적으로 사용되는 단어로 판단하여 오류 단어가 아닌 것으로 판단할 수 있다. 또 다른 실시예로, 서버(10)는 단어에 대한 의미 정보를 찾지 못한 경우, 해당 단어를 오류 단어로 판단할 수 있다. 또 다른 실시예로, 서버(10)는 단어에 매칭된 의미 정보가 단어를 포함하는 대상특허문서와 이질적인 경우, 해당 단어를 오류 단어로 판단할 수 있다.Specifically, after obtaining semantic information for each of the acquired words, the
구체적으로, 서버(10)는 대상특허문서 전체에 포함된 단어를 획득하고, 획득된 단어 각각에 대한 의미 정보를 매칭하여 저장할 수 있다. 서버(10)는 매칭된 단어 및 의미 정보를 클러스터링하여 연관성있는 의미 정보를 가지는 복수개의 단어의 클러스터를 획득할 수 있다. 서버(10)는 복수개의 단어 클러스터 중, 클러스터에 포함된 단어가 기 설정된 개수 이하인 단어 클러스터를 획득할 수 있다. 이때, 기 설정된 개수란, 대상특허문서에서 사용된 복수의 동일한 단어에 대한 개수를 의미하는 것이 아닌, 서로 다른 형태를 가지는 복수개의 단어에 대한 개수를 의미할 수 있다. 예를 들어, 대상특허문서에서 "을이용" 이라는 단어가 복수번 검색된 경우라고 하더라도, "을이용"은 동일한 단어이기 때문에, 하나의 단어로 판단할 수 있다. 서버(10)는 상기 단계에서 획득한 클러스터에 포함된 단어를 오류 단어로 판단할 수 있다. Specifically, the
다만, 이에 한정되는 것은 아니고, 서버(10)는 복수개의 단어 클러스터 중, 다른 클러스터와의 거리가 기 설정된 거리 이상인 클러스터에 포함된 단어를 오류 단어로 판단할 수 있음은 물론이다. 구체적으로, 서버(10)는 복수개의 클러스터의 중심점을 획득하고, 획득된 중심점을 바탕으로 클러스터간의 거리를 판단할 수 있다. 예를 들어, 획득된 단어 클러스터가 제1 단어 클러스터 내지 제4 단어 클러스터일 수 있다. 이 경우, 서버(10)는 제1 단어 클러스터와 제2 단어 클러스터와의 거리, 제1 단어 클러스터와 제3 단어 클러스터와의 거리, 제1 단어 클러스터와 제4 단어 클러스터와의 거리를 각각 획득하고, 획득된 3개의 거리 모두가 기 설정된 거리 이상인 경우, 제1 단어 클러스터를 오류 단어로 판단할 수 있다.However, the present invention is not limited thereto, and of course, the
한편, 도 6c에 도시된 바와 같이, 단계 S540에서, 서버(10)는, 대상특허문서에 포함된 문장에 대한 복수개의 단어를 획득할 수 있다.Meanwhile, as shown in FIG. 6C, in step S540, the
구체적으로, 단일 단어들의 결합으로 복합 명사구가 형성되는 경우, 그 의미가 달라지는 경우가 있다. 따라서, 서버(10)는 단일 단어로부터 복합 명사구 세트를 획득할 필요성이 존재한다. 따라서, 서버(10)는 복수개의 단어를 바탕으로 복합 명사구 세트를 획득할 수 있다Specifically, when a compound noun phrase is formed by combining single words, the meaning may change. Accordingly, there is a need for the
예를 들어, "머신러닝을 이용한 자연어 처리를 한다"라는 문장을 분석한 결과 서버(10)는 머신, 러닝, 이용, 자연어, 처리의 단어를 획득할 수 있다.For example, as a result of analyzing the sentence "Natural language processing using machine learning" is analyzed, the
단계 S545에서, 서버(10)는, 복수개의 단어의 조합으로 획득된 복수개의 복합 명사구 세트 후보를 획득할 수 있다.In step S545, the
예를 들어, 서버(10)는 획득된 단어의 조합으로부터 머신러닝, 러닝이용, 이용자언어, 자연어처리 등의 복합 명사구 세트 후보를 획득할 수 있다.For example, the
단계 S550에서, 서버(10)는, 획득된 복수개의 복합 명사구 세트 후보와 동일한 복합 명사구 세트가 대상특허문서에 포함되는 빈도를 획득할 수 있다.In step S550, the
단계 S555에서, 서버(10)는, 빈도가 기 설정된 빈도 이상인 복합 명사구 세트 후보를 복합 명사구 세트로 결정할 수 있다.In step S555, the
예를 들어, 서버(10)는 머신러닝은 총 301회, 러닝이용은 총 1회, 이용자 언어는 총 0회, 자연어처리는 총 58회 발견되는 것에 대한 정보를 획득하고, 출현 빈도가 기 설정된 빈도 이상인 복합 명사구 후보 세트를 복합 명사구 세트로 획득할 수 있다.For example, the
이때, 복합 명사구 세트 후보는 복합 명사구 세트 후보에 포함된 단어들의 순서 정보 및 이격 정보를 포함할 수 있다.In this case, the composite noun phrase set candidate may include order information and spacing information of words included in the composite noun phrase set candidate.
일 실시예로, 복합 명사구 세트는 둘 이상의 인접한 단어의 조합으로 결정되지만, 본 발명에서는 단어들이 이격된 단어의 조합 또한 복합 명사구 세트로 획득할 수 있다. 예를 들어, 서버(10)는 "복수개의 장치 중 제1 장치, 복수개의 장치 중 제2 장치, 복수개의 장치 중 제3 장치"가 포함된 문장에 서 복합 명사구 세트를 획득할 때, 복수개의 장치 중 제1 장치, 복수개의 장치 중 제2 장치 및 복수개의 장치 중 제3 장치를 독립된 복합 명사구 세트로 획득할 수 있으나, "복수개의 장치 중 (이격 단어 1) 장치"를 하나의 복합 명사구 세트로 획득할 수도 있음은 물론이다. 이때, 복합 명사구 세트는 이격 정보를 포함할 수 있다. 상술한 실시예에서 이격 정보란 단어 "중"과 단어 "장치" 사이에 1개의 단어가 포함되어 있다는 정보일 수 있다. 다양한 실시예에 따라, 단어와 단어 사이에 복수개의 단어가 포함될 수 있음은 물론이다.In one embodiment, the compound noun phrase set is determined as a combination of two or more adjacent words, but in the present invention, a combination of words in which words are spaced apart may also be obtained as a compound noun phrase set. For example, when the
또 다른 실시예로, 서버(10)는 복합 명사구 세트를 구성하는 단어의 최대 개수를 결정하고, 결정된 개수 내의 복합 명사구 세트를 획득할 수 있다. 구체적으로, 복합 명사구 세트 획득을 위한 문장에 포함된 단어가 n개이고, 단어간의 순서가 변경되지 않는 경우, 획득되는 복합 명사구 세트의 수는 개이고, 단어간의 순서가 변경되는 경우 획득되는 복합 명사구 세트의 수는 개이다. 따라서, 문장이 길어지면 길어질수록, 서버(10)는 복합 명사구 세트 검색을 위해 과도한 리소스를 투입하여야 한다. 따라서, 서버(10)는 복합 명사구 세트를 구성하는 단어의 최대 개수를 결정하고, 결정된 개수 내의 복합 명사구 세트를 획득할 수 있다. 이때, 서버(10)는, 단어 획득을 수행하는 대상특허문서와 동일한 기술 분야인 복수개의 특허문서를 획득하고, 획득된 특허문서에 포함된 복합 명사구 세트에 포함된 단어의 최대 개수를 복합 명사구 세트를 구성하는 단어의 최대 개수로 결정할 수 있다. In another embodiment, the
한편, 본 발명에 따른 복합 명사구 세트 획득 방법은 상술한 방법에 한정되는 것은 아니며, 다양한 방법에 의해 획득될 수 있음은 물론이다.On the other hand, the method for obtaining the complex noun phrase set according to the present invention is not limited to the above-described method, and can be obtained by various methods.
일 실시예로, 서버(10)는 복수개의 단어가 기 설정된 조건을 만족하는 경우, 복수개의 단어의 위치를 변경할 수 있다. In an embodiment, when a plurality of words satisfy a preset condition, the
일반적으로, 문장에서 복합 명사구를 획득하고자 할 때, 문장에 포함된 단어의 순서를 변경하는 작업은 불필요하다. 예를 들어, "머신러닝을 이용한~~"의 문장에서 서버(10)는 "머신러닝"이란 복합 명사구 세트를 획득할 필요성이 있으나, 단어의 순서를 바꾼 "러닝머신"이란 복합 명사구 세트를 획득할 필요는 없을 것이다. 오히려 "러닝머신"의 복합 명사구 세트를 획득하는 경우, 전혀 다른 의미의 복합 명사구 세트를 획득하게 되어 본 발명에서 이루고자 하는 성능을 떨어트릴 여지도 존재한다.In general, when trying to obtain a compound noun phrase from a sentence, it is unnecessary to change the order of words included in the sentence. For example, in the sentence of "~~ using machine learning", the
그러나 기설정된 조건을 만족하면, 서버(10)는 문장에 포함된 단어의 순서를 변경하여 복합 명사구 세트 후보를 획득할 수 있다. 이때, 기 설정된 조건은, 복수개의 단어가 인접한 조건, 인접한 복수개의 단어 사이에 기 설정된 부호가 포함될 조건, 인접한 복수개의 단어 중 오른쪽에 위치한 단어가 괄호를 포함하는 조건 및 복수개의 단어가 서로 다른 언어인 조건일 수 있다.However, if a predetermined condition is satisfied, the
예를 들어, 분석하고자 하는 문장이 "머신 러닝(Machine Learning)"을 포함하는 경우, 서버(10)는 머신, 러닝, Machine, Learning을 단어로 획득할 수 있다. 나아가, 서버(10)는 "머신 러닝 Machine Learning"을 복합 명사구 세트로 획득할 수 있다. 나아가, 서버(10)는 기 설정된 조건인 괄호 부호가 포함되어 있음을 판단하고, "Machine Learning 머신 러닝"을 복합 명사구 세트로 획득할 수 있다. 즉, 서버(10)는 "머신 러닝"이라는 복합 명사구(또는 단어) 및 복합 명사구(또는 단어)에 대한 다른 언어의 복합 명사구(Machine Learning)가 함께 존재하는 경우, 다른 언어로 표현되었으나, 동일한 의미를 가지는 두 복합 명사구(또는 단어)를 하나의 복합 명사구로 획득하고, 또한 두 복합 명사구의 순서를 변경하여 하나의 복합 명사구로 획득할 수 있다. 이는 각기 다른 언어로 작성된 특허문서를 비교하는 경우 비교의 효율성을 높일 수 있는 효과가 존재한다. 즉, 한글로 작성된 특허문서는 "머신 러닝(Machine Learning)"으로 표현되나, 영어로 작성된 특허문서는 "Machine Learning(머신 러닝)"으로 표현될 수 있으므로, 서버(10)는 두 가지 경우 모두 복합 명사구 세트로 획득하여 검색의 효율성을 높일 수 있다.For example, when the sentence to be analyzed includes "Machine Learning", the
한편, 상술한 실시예에서는 기 설정된 부호가 포함 조건이 괄호 부호가 포함될 조건에 대하여 설명하였으나, 이에 한정되는 것은 아니다. 다양한 실시예에 따라, 기 설정된 부호는 하이픈(-), 슬래시(/), 물결표(~), 따옴표(' 또는 ")등의 부호일 수 있음은 물론이다.Meanwhile, in the above-described embodiment, a condition in which the preset sign inclusion condition includes parentheses has been described, but the present invention is not limited thereto. According to various embodiments, the preset sign may be a sign such as a hyphen (-), a slash (/), a tilde (~), and a quotation mark ('or ").
이후, 서버(10)는 변경된 복수개의 단어를 복합 명사구 세트 후보로 결정할 수 있다.Thereafter, the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서에 포함된 문장이 기 설정된 구조를 가지는 경우, 문장에 포함된 단어 중 기 설정된 구조에 대응되는 단어를 제외한 적어도 하나의 단어를 획득할 수 있다.Meanwhile, according to various embodiments of the present invention, when a sentence included in a target patent document has a preset structure, the
예를 들어, 기 설정된 구조는 "~는 ~로 정의한다"와 같이 정형화된 구조일 수 있다. 구체적으로 대상특허문서에서 "~는 ~로 정의한다", "이하 ~는 ~라고 한다." "~는 ~로 이해될 수 있다." "~는 ~라고 서술한다" 등과 같은 구조의 문장은 기술 분야에서 일반적으로 사용되지 않는 용어를 정의하기 위해 사용될 수 있다. 따라서, 서버(10)는 기술 분야에서 일반적으로 사용되지 않은 용어를 정의하는 문장을 판단하고, 판단된 문장에서 정의된 단어를 획득할 수 있다.For example, the preset structure may be a standardized structure such as "~ is defined as ~". Specifically, in the target patent document, "~ is defined as ~" and "hereinafter, ~ is called ~." "~ can be understood as ~." Sentences with structures such as “to describe as” may be used to define terms that are not generally used in the technical field. Accordingly, the
예를 들어, 분석하고자 하는 문장이 "머신 러닝은 OOO로 서술한다(또는 정의한다)."라는 문장인 경우, 서버(10)는 해당 문장이 기 설정된 구조라고 판단하고, 머신, 러닝, OOO의 단어를 획득할 수 있다.For example, if the sentence to be analyzed is a sentence "Machine learning describes (or defines) as OOO.", the
이후, 서버(10)는 적어도 하나의 단어의 의미 정보를 획득할 수 있다.Thereafter, the
구체적으로, 획득된 OOO의 단어가 기술 분야에서 통용되는 의미 정보를 가진 경우, 서버(10)는 OOO에 대응되는 의미 정보를 OOO에 매칭할 수 있다. 그러나, OOO 용어가 사용자가 새롭게 정의한 용어여서 의미 정보가 불명확한 경우, 서버(10)는 머신 러닝에 대응되는 의미 정보를 OOO의 의미 정보로 매칭할 수 있다.Specifically, when the acquired word of OOO has semantic information commonly used in the technical field, the
이후, 서버(10)는 의미 정보에 대응되는 단어를 획득할 수 있다.Thereafter, the
다만, 이에 한정되는 것은 아니고, 서버(10)는 머신 러닝과 OOO의 연관도가 기 설정된 연관도 이상인 경우, OOO의 단어를 머신 러닝의 단어로 교체할 수 있음은 물론이다.However, the present invention is not limited thereto, and the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 특허 문서의 템플릿을 제외하고 단어를 획득할 수 있음은 물론이다.On the other hand, according to various embodiments of the present invention, it goes without saying that the
구체적으로, 특허문서는 정형화된 문서로서 발명의 핵심적인 내용과는 크게 상관이 없으나, 필요한 필수 구성 요소를 정형화된 방법으로 서술한 문단이 존재할 수 있다. 따라서 정형화된 문단을 제거하고 단서 세트를 획득하는 경우, 서버(10)의 계산량을 줄일 수 있는 효과가 존재한다.Specifically, a patent document is a standardized document, which is largely irrelevant to the core contents of the invention, but a paragraph describing necessary essential elements in a standardized manner may exist. Therefore, when the standardized paragraph is removed and a clue set is obtained, there is an effect of reducing the amount of computation of the
따라서, 서버(10)는 대상특허문서에 포함된 복수의 식별항목 정보 및 템플릿을 획득할 수 있다.Accordingly, the
일 실시예로, 템플릿은 특정 위치에 존재하는 문단으로 설정될 수 있다. 예를 들어, 템플릿은 대상특허문서에 포함된 [발명을 실시하기 위한 구체적인 내용] 식별항목 다음 줄에 포함된 문장부터, [발명을 실시하기 위한 구체적인 내용] 식별항목에서 최초로 '도 1'의 단어가 검색되는 문장 이전까지의 텍스트일 수 있다.In an embodiment, the template may be set to a paragraph existing at a specific location. For example, the template is the first word in'Fig. 1'in the identification item, starting from the sentence included in the line following the identification item, [specific details for carrying out the invention] included in the target patent document. May be text up to before the sentence in which is searched.
또 다른 실시예로, 템플릿은 분석하고자 하는 대상특허문서의 작성자가 작성한 다른 특허문서와 공통된 부분을 의미할 수 있다. 즉, 서버(10)는 대상특허문서의 작성자를 판단하고, 판단된 작성자의 또 다른 특허문서를 획득하고, 획득된 복수개의 특허문서를 비교하고, 비교 결과를 통해 기 설정된 비율 이상 유사하다고 판단되는 문단 또는 식별항목을 템플릿으로 획득할 수 있다. 동일 작성자에 의해 작성된 특허문서는 문장 구조가 비슷할 가능성이 크기 때문에 서버(10) 유사판단의 기준을 문장 단위가 아닌, 문단 또는 식별항목으로 설정할 수 있다.In another embodiment, the template may mean a part in common with other patent documents created by the creator of the target patent document to be analyzed. In other words, the
또 다른 실시예로, 서버(10)는 기 설정된 식별항목에 대응되는 텍스트를 템플릿으로 획득할 수 있다. 예를 들어, 서버(10)는 [도면의 간단한 설명], [부호의 설명] 등의 식별항목에 포함된 텍스트를 템플릿으로 획득할 수 있다. In another embodiment, the
상술한 실시예에서는 국내 출원을 위한 특허문서의 일반적인 식별항목에 대한 템플릿 획득 방법을 설명하였으나, 이에 한정되는 것은 아니다. 즉, 서버(10)는 PCT 출원을 위한 국문서식의 식별항목, PCT 출원을 위한 영문 서식의 식별항목, 나아가, 미국, 일본, 중국, 유럽 출원에 사용되는 서식의 식별항목 등 다양한 식별항목에 대한 템플릿을 획득할 수 있음은 물론이다.In the above-described embodiment, a method of obtaining a template for a general identification item of a patent document for a domestic application has been described, but is not limited thereto. In other words, the
이후, 서버(10)는 획득된 템플릿을 제외한 복수개의 문장을 획득할 수 있다.Thereafter, the
이후, 서버(10)는 복수의 식별항목 각각에 가중치를 부여할 수 있다.Thereafter, the
일 실시예로, 대상특허문서가 본 명세서와 동일한 서식 및 식별항목을 가지는 경우, 서버(10)는 발명의 명칭, 기술분야, 발명의 배경이 되는 기술, 해결하고자 하는 과제, 과제의 해결 수단, 발명의 효과, 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용, 부호의 설명, 청구범위, 요약, 대표도, 도면 식별항목 각각에 대한 가중치를 부여할 수 있다.In one embodiment, when the target patent document has the same format and identification items as in the present specification, the
이때, 가중치는 다양한 방법에 의해 부여될 수 있다. 일 실시예로, 서버(10)는 기술분야, 발명의 배경이 되는 기술, 청구범위, 발명의 효과, 발명을 실시하기 위한 구체적인 내용, 부호의 설명, 도면의 간단한 설명, 요약, 해결하고자 하는 과제, 과제의 해결수단, 대표도의 순서로 높은 가중치를 부여할 수 있다.In this case, the weight can be given by various methods. In one embodiment, the
또 다른 실시예로, 가중치는 대상특허문서에 포함된 단어(또는 복합 명사구 세트)각각의 중요도 스코어를 획득하고, 이를 바탕으로 식별항목별 중요도 스코어를 획득한 후 높은 중요도 스코어를 가지는 식별항목에 높은 가중치를 부여할 수 있다. 중요도 스코어란, 해당 단어(또는 복합 명사구 세트)가 특허문서에서 가지는 중요성을 나타내는 지표로, 중요도 스코어가 높은 단어(또는 복합 명사구 세트)일수록 해당 특허문서의 키워드일 수 있다.In another embodiment, the weight is high in the identification item having a high importance score after obtaining the importance score for each word (or compound noun phrase set) included in the target patent document, and obtaining the importance score for each identification item based on this. Can be weighted. The importance score is an index indicating the importance of a corresponding word (or compound noun phrase set) in a patent document, and the higher the importance score (or compound noun phrase set) is, the more it may be a keyword of the corresponding patent document.
한편, 식별항목별 중요도 스코어는 식별항목에 포함된 단어(또는 복합 명사구 세트)의 중요도 스코어를 합산한 후, 단어(또는 복합 명사구 세트)의 개수를 나눈 값을 의미할 수 있다. 이때, 식별항목별 중요도 스코어를 획득하는데 사용되는 단어(또는 복합 명사구 세트)는 식별항목에 포함된 모든 단어(또는 복합 명사구 세트)일 수 있으나 이에 한정되는 것은 아니다. 예를 들어, 식별항목별 중요도 스코어를 획득하는데 사용되는 단어(또는 복합 명사구 세트)는 해당 식별항목에 포함된 모든 단어(또는 복합 명사구 세트) 중, 템플릿으로 판단된 부분의 단어(또는 복합 명사구 세트)를 제외한 단어(또는 복합 명사구 세트)일 수 있음은 물론이다.Meanwhile, the importance score for each identification item may mean a value obtained by dividing the number of words (or compound noun phrase set) after summing the importance scores of words (or compound noun phrase set) included in the identification item. In this case, the words (or compound noun phrase set) used to obtain the importance score for each identification item may be all words (or compound noun phrase set) included in the identification item, but is not limited thereto. For example, a word (or a set of compound noun phrases) used to obtain an importance score for each identification item is a word (or a set of compound noun phrases) determined as a template among all words (or a set of compound noun phrases) included in the identification item. Of course, it may be a word (or a set of complex noun phrases) except for ).
이후, 서버(10)는 복수의 식별항목 정보 각각의 가중치를 바탕으로 형태소 분석을 수행할 식별항목의 우선순위를 결정할 수 있다.Thereafter, the
이후, 서버(10)는 결정된 우선순위에 따라 템플릿이 제외된 복수의 문장에 대한 단어를 획득할 수 있다.Thereafter, the
즉, 서버(10)는 키워드가 존재할 가능성이 높은 식별항목을 먼저 분석하고, 분석된 내용을 바탕으로 상대적으로 중요도가 낮은 식별항목을 분석함으로써, 계산량을 감소시킬 수 있다. 나아가, 동일한 단어에 대한 서로 다른 의미 정보가 매칭된 경우, 서버(10)는 우선순위가 높은 식별항목에서 획득된 의미 정보를 정확한 의미 정보로 판단할 수 있다.That is, the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서에 이미지가 포함된 경우에도 이미지로부터 단어를 획득할 수 있음은 물론이다.On the other hand, according to various embodiments of the present invention, it goes without saying that the
구체적으로, 서버(10)는 대상특허문서에 이미지가 포함된 경우, 이미지와 인접한 식별항목이 존재하는지 여부를 판단할 수 있다.Specifically, when an image is included in the target patent document, the
일 실시예로, 대상특허문서에 [수학식]의 식별항목이 존재하고, 식별항목 하단에 이미지가 존재하는 경우, 서버(10)는 이미지를 수학식에 대한 이미지로 판단할 수 있다. 수학식의 경우, 대상특허문서의 핵심적인 내용일 가능성이 높으므로, 서버(10)는 이미지에 포함된 수학식 텍스트를 획득할 수 있다. In one embodiment, when an identification item of [Equation] exists in the target patent document and an image exists below the identification item, the
또 다른 실시예로, 대상특허문서에 [화학식] 의 식별항목이 존재하고, 식별항목 하단에 이미지가 존재하는 경우, 서버(10)는 이미지를 화학식에 대한 이미지로 판단할 수 있다.In another embodiment, when an identification item of [Chemical Formula] exists in the target patent document and an image exists below the identification item, the
이후, 서버(10)는 식별항목이 이미지와 인접하는 경우, 이미지를 분석하여 이미지에 포함된 텍스트를 획득할 수 있다. 이때, 이미지 분석은 광학 문자 판독 방법(optical character recognition, OCR)에 의해 수행될 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 이미지가 화학식 이미지인 경우, 서버(10)는 화학식 구조를 분석하여 이미지에 대응되는 화학식을 획득할 수 있음은 물론이다. Thereafter, when the identification item is adjacent to the image, the
이후, 서버(10)는 획득된 텍스트를 바탕으로 단어를 획득할 수 있다.Thereafter, the
도 7은 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 구체적으로 설명하기 위한 흐름도이다.7 is a flowchart specifically illustrating a method of calculating an importance score according to an embodiment of the present invention.
단계 S610에서, 서버(10)는, 전체 특허문서의 전체 단어수 대비 전체 특허문서에서의 단어의 출현횟수의 제1 출현비율 및 전체 특허문서의 전체 문장수 대비 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수의 제2 출현비율에 기초하여 제1 세부 중요도를 산출할 수 있다.In step S610, the
구체적으로, 서버(10)는 전체 특허문서의 전체 단어수를 카운트하고, 전체 특허문서에서의 단어의 출현횟수를 카운트할 수 있다.Specifically, the
이후, 서버(10)는 전체 특허문서의 전체 단어수 대비 전체 특허문서에서의 단어의 출연횟수를 제1 출현비율로 산출할 수 있다.Thereafter, the
이어서, 서버(10)는 전체 특허문서의 전체 문장수를 카운트하고, 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수를 카운트할 수 있다.Subsequently, the
서버(10)는 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수 대비 전체 특허문서의 전체 문장수를 제2 출현비율로 산출할 수 있다.The
이를 위해, 서버(10)는 전체 특허문서로부터 단어를 검색하고, 단어가 포함된 문장을 검색할 수 있다. 또한, 서버(10)는 전체 특허문서의 문장 성분을 분석하여 전체 단어수와 전체 문장수를 카운트할 수 있다.To this end, the
최종적으로, 서버(10)는 제1 출현비율과 제2 출현비율에 기초하여 제1 세부 중요도를 산출할 수 있다.Finally, the
이때, 서버(10)는 하기의 수학식 1을 이용하여 제1 세부 중요도를 산출할 수 있다.In this case, the
<수학식 1> <Equation 1>
여기서, W1은 제1 세부 중요도이고, wpw은 전체 특허문서에서의 단어의 출현횟수이고, WPW은 전체 특허문서의 전체 단어수이고, wps은 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수이고, WPS은 전체 특허문서의 전체 문장수이고, a1은 제2 출현비율의 조절 상수이다.Here, W1 is the first detailed importance, wpw is the number of occurrences of words in the entire patent document, WPW is the total number of words in all patent documents, and wps is the number of sentences in which words appear in the entire patent document. , WPS is the total number of sentences in the entire patent document, and a1 is the adjustment constant of the second appearance rate.
수학식 1을 살펴보면, 서버(10)는 전체 특허문서에서의 단어의 출현횟수가 많고 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적을수록 제1 세부 중요도를 크게 산출할 수 있다.Referring to Equation 1, the
즉, 서버(10)는 전체 특허문서에서 하나의 문장에 단어가 중복하여 사용될수록 제1 세부 중요도를 크게 산출할 수 있다.That is, the
한편, 서버(10)는 제2 출현비율의 조절 상수를 증가시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적더라도 제2 출현비율을 증가시킬 있고, 제2 출현비율의 조절 상수를 감소시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 많더라도 제2 출현비율을 감소시킬 수 있다.On the other hand, the
일 실시 예에서, 서버(10)는 대상특허문서에서의 단어의 제1 세부 중요도를 산출하는한 세부 중요도 산출 방법의 종류는 제한되지 않음을 유의한다.Note that in one embodiment, as long as the
예를 들어, 서버(10)는 텍스트 분석법 중 하나로 출연 빈도에 기초하여 중요도를 산출하는 TF-IDF(Term Frequency-Inverse Document Frequency) 분석법을 이용하여 제1 세부 중요도를 산출할 수 있다.For example, the
단계 S620에서, 서버(10)는, 특허분류정보의 전체 단어수 대비 특허분류정보에서의 단어의 출현횟수의 제3 출현비율 및 전체 특허문서의 전체 문장수 대비 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수의 제4 출현비율에 기초하여 제2 세부 중요도를 산출할 수 있다.In step S620, the
구체적으로, 서버(10)는 특허분류정보의 전체 단어수를 카운트하고, 특허분류정보에서의 단어의 출현횟수를 카운트할 수 있다.Specifically, the
여기서, 특허분류정보는 기술분야에 따라 특허를 분류할 수 있는 코드로써, IPC(International Patent Classfication), CPC(Cooperative Patent Classification) 및 F-Term 중 어느 하나일 수 있다.Here, the patent classification information is a code capable of classifying a patent according to a technical field, and may be any one of IPC (International Patent Classfication), CPC (Cooperative Patent Classification), and F-Term.
이후, 서버(10)는 특허분류정보의 전체 단어수 대비 특허분류정보에서의 단어의 출연횟수를 제3 출현비율로 산출할 수 있다.Thereafter, the
이어서, 서버(10)는 특허분류정보의 전체 문장수를 카운트하고, 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수를 카운트할 수 있다.Subsequently, the
서버(10)는 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수 대비 전체 특허문서의 전체 문장수를 제4 출현비율로 산출할 수 있다.The
이를 위해, 서버(10)는 특허분류정보로부터 단어를 검색하고, 단어가 포함된 문장을 검색할 수 있다. 또한, 서버(10)는 특허분류정보의 문장 성분을 분석하여 전체 단어수와 전체 문장수를 카운트할 수 있다.To this end, the
최종적으로, 서버(10)는 제3 출현비율과 제4 출현비율에 기초하여 제2 세부 중요도를 산출할 수 있다.Finally, the
이때, 서버(10)는 하기의 수학식 2를 이용하여 제2 세부 중요도를 산출할 수 있다.In this case, the
<수학식2> <Equation 2>
여기서, W2은 제2 세부 중요도이고, ipcw은 특허분류정보에서의 단어의 출현횟수이고, IPCW은 특허분류정보의 전체 단어수이고, ipcs은 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수이고, IPCS은 전체 특허문서의 전체 문장수이고, a2은 제4 출현비율의 조절 상수이다.Here, W 2 is the second detailed importance, ipcw is the number of occurrences of words in the patent classification information, IPCW is the total number of words in the patent classification information, and ipcs is the number of sentences in which words appear in the entire patent document. , IPCS is the total number of sentences in the entire patent document, and a2 is the adjustment constant of the fourth appearance rate.
수학식 2를 살펴보면, 서버(10)는 특허분류정보에서의 단어의 출현횟수가 많고 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적을수록 제2 세부 중요도를 크게 산출할 수 있다.Referring to Equation 2, the
즉, 서버(10)는 특허분류정보에서 하나의 문장에 단어가 중복하여 사용될수록 제2 세부 중요도를 크게 산출할 수 있다.That is, the
한편, 서버(10)는 제4 출현비율의 조절 상수를 증가시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적더라도 제4 출현비율을 증가시킬 있고, 제4 출현비율의 조절 상수를 감소시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 많더라도 제4 출현비율을 감소시킬 수 있다.On the other hand, the
일 실시 예에서, 서버(10)는 특허문서에서의 단어의 제2 세부 중요도를 산출하는 한 세부 중요도 산출 방법의 종류는 제한되지 않음을 유의한다.Note that in one embodiment, as long as the
예를 들어, 서버(10)는 텍스트 분석법 중 하나로 출연 빈도에 기초하여 중요도를 산출하는 TF-IDF(Term Frequency-Inverse Document Frequency) 분석법을 이용하여 제2 세부 중요도를 산출할 수 있다.For example, the
단계 S630에서, 서버(10)는, 검색특허문서 각각의 참조 정보에 기초하여 검색특허문서 각각의 영향력 값을 산출하고, 영향력 값을 이용하여 검색특허문서의 제3 세부 중요도를 산출할 수 있다.In step S630, the
구체적으로, 서버(10)는 전체 특허문서 중에서 중요도 스코어의 산출 대상이 되는 단어를 포함하는 검색특허문서를 검색할 수 있다.Specifically, the
서버(10)는 검색특허문서 각각의 참조 정보에 기초하여 검색특허문서 각각의 영향력 값을 산출할 수 있다.The
구체적으로, 서버(10)는 검색특허문서의 참조 정보인 출원인, 발명자, 권리자 중 하나 이상이 다른 특허문서과 동일한 항목의 개수, 참조 정보인 인용 횟수 및 피인용 횟수에 기초하여 영향력 값을 산출할 수 있다.Specifically, the
즉, 서버(10)는 검색특허문서가 다른 특허문서와 관련된 정도를 영향력 값으로 산출할 수 있다. 예를 들어, 서버(10)는 검색특허문서는 여러 특허문서로부터 인용될 때, 해당 특허문서에 검색특허문서가 영향력을 끼친 것으로 판단하여 검색특허문서의 영향력 값으로 산출할 수 있다. That is, the
서버(10)는 검색특허문서 각각에 대해 산출된 영향력 값을 이용하여 검색특허문서의 제3 세부 중요도를 산출할 수 있다.The
구체적으로, 서버(10)는 검색특허문서 각각에 대해 산출된 영향력 값의 평균을 산출하고, 산출된 평균을 제3 세부 중요도로 산출할 수 있다.Specifically, the
이때, 서버(10)는 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 각각에 대응하여 설정된 최소 세부 중요도 값과 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 각각을 대소 비교하고, 최소 세부 중요도 값 미만이 세부 중요도에 대해 재산출 과정을 수행할 수 있다.At this time, the
이후, 서버(10)는 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도가 최소 세부 중요도 값 이상이면 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 중 복수를 합산하여 중요도 스코어로 산출할 수 있다.Thereafter, if the first detailed importance, the second detailed importance, and the third detailed importance are greater than or equal to the minimum detailed importance value, the
서버(10)는 산출된 중요도 스코어를 내부의 메모리 또는 프로세서로 출력하거나, 외부 서버로 송신할 수 있다.The
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 유사특허문서 획득 방법 및 유사 문장 판단 방법을 설명하기 위한 흐름도이다.8A and 8B are flowcharts illustrating a method of obtaining a similar patent document and a method of determining a similar sentence according to an embodiment of the present invention.
구체적으로, 도 8a에 도시된 바와 같이, 단계 S705에서, 서버(10)는, 대상특허문서에 포함된 복수개의 단어를 획득할 수 있다.Specifically, as shown in FIG. 8A, in step S705, the
단계 S710에서, 서버(10)는, 획득된 복수개의 단어를 클러스터링하여 복수개의 대상특허 클러스터를 획득할 수 있다.In step S710, the
이때, 본 발명에 따른 클러스터링은 다양한 클러스터링 기법이 적용될 수 있다. 일 실시예로, 서버(10)는 엘라스틱 서치(Elasticsearch clustering) 클러스터링 기법을 이용하여 복수개의 대상특허 클러스터를 획득할 수 있다. 또 다른 실시예로, 서버(10)는 K-means 클러스터링, DBSCAN((Density-based spatial clustering of applications with noise) 클러스터링, Hierarchical 클러스터링, 혼합 가우시안 클러스터링 기법 중 적어도 하나의 클러스터링 기법을 이용하여 복수개의 대상특허 클러스터를 획득할 수 있다.In this case, the clustering according to the present invention may be applied to various clustering techniques. In one embodiment, the
단계 S715에서, 서버(10)는, 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점 및 대상특허 클러스터에 포함된 단어의 수를 바탕으로 대상특허문서의 위치를 판단할 수 있다.In step S715, the
일 실시예로, 대상특허 클러스터의 중점은, 해당 클러스터에 포함된 복수의 단어의 위치를 바탕으로 획득될 수 있으며, 대상특허문서의 위치는 복수의 대상특허 클러스터의 중점들에 대한 무게중심일 수 있다.In one embodiment, the center point of the target patent cluster may be obtained based on the positions of a plurality of words included in the cluster, and the position of the target patent document may be the center of gravity of the center points of the plurality of target patent clusters. have.
단계 S720에서, 서버(10)는, 특허문서에 포함된 복수개의 단어를 획득하고, 획득된 복수개의 단어를 클러스터링하여 복수의 특허 클러스터를 획득할 수 있다.In step S720, the
단계 S725에서, 서버(10)는, 복수개의 특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 복수개의 특허 클러스터 각각에 대한 복수개의 중점 및 특허 클러스터에 포함된 단어의 수를 바탕으로 특허문서의 위치를 판단할 수 있다.In step S725, the
일 실시예로, 특허 클러스터의 중점은, 해당 클러스터에 포함된 복수의 단어의 위치를 바탕으로 획득될 수 있으며, 특허문서의 위치는 복수의 특허 클러스터의 중점들에 대한 무게중심일 수 있다.In one embodiment, the center point of the patent cluster may be obtained based on the positions of a plurality of words included in the cluster, and the position of the patent document may be a center of gravity of the center points of the plurality of patent clusters.
단계 S730에서, 서버(10)는, 대상특허문서의 위치 및 특허문서의 위치가 기 설정된 거리 이내인 경우, 특허문서를 유사특허문서로 결정할 수 있다.In step S730, when the location of the target patent document and the location of the patent document are within a preset distance, the
일 실시예로, 서버(10)는 대상특허문서의 위치로부터 기 설정된 거리 이내에 존재하는 복수개의 특허문서를 유사특허문서로 결정할 수 있으며, 대상특허문서와의 거리가 가까운 유사특허문서 순으로 결정된 복수의 유사특허문서를 정렬할 수 있다.In one embodiment, the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서 및 유사특허문서로부터 복수의 문장을 획득하여 중요도 순으로 정렬할 수 있다.Meanwhile, according to various embodiments of the present invention, the
구체적으로, 서버(10)는, 상기 대상특허문서 및 상기 유사특허문서에 포함된 복수의 문장 각각에 대한 복수개의 단어를 획득할 수 있다.Specifically, the
이후, 서버(10)는, 상기 획득된 복수개의 단어 각각에 대한 복수개의 중요도 스코어를 획득할 수 있다. 중요도 스코어를 획득하는 방법은 후술한다.Thereafter, the
이후, 서버(10)는, 상기 복수개의 중요도 스코어를 바탕으로 상기 대상특허문서에 포함된 문장의 중요도 스코어를 결정할 수 있다.Thereafter, the
일 실시예로, 서버(10)는 복수개의 단어와 대상특허문서와의 연관도를 획득하고, 획득된 연관도가 기 설정된 값 이상인 단어의 중요도 스코어의 총 합을 문장의 중요도 스코어로 결정할 수 있다. 이때, 연관도는 다양한 방법을 통해 획득될 수 있다. 예를 들어 단어와 대상특허문서간의 연관도는 대상특허문서에 대응되는 IPC 분야에 대응되는 복수의 특허문서를 바탕으로 획득될 수 있다. 구체적으로, 단어와 대상특허문서간의 연관도는, 해당 단어가 IPC 분야에 대응되는 복수의 특허문서에 출현한 횟수를 바탕으로 획득될 수 있다. 일 실시예로, 해당 단어가 IPC 분야에 대응되는 복수의 특허문서에 출현한 횟수가 높을수록, 단어와 대상특허문서간의 연관도가 높아질 수 있다.In an embodiment, the
이후, 서버(10)는, 상기 복수의 문장 각각의 중요도 스코어를 바탕으로 상기 복수의 문장을 중요도 순으로 정렬할 수 있다. Thereafter, the
나아가, 서버(10)는 복수의 문장을 n개의 그룹으로 그루핑할 수 있다. 이때, 복수의 문장을 그루핑하는 방법은 다양할 수 있다. 일 실시예로, n개의 그룹은 동일한 개수의 문장을 포함하도록 그루핑될 수 있다. 또 다른 실시예로, n개의 그룹은, 기 설정된 중요도 스코어에 따라 그루핑 될 수 있다. 설명의 편의를 위해, 이하에서는 제k 그룹에 포함된 문장의 중요도 스코어가 제k+1그룹에 포함된 문장의 중요도 스코어보다 큰 경우를 가정한다.Furthermore, the
서버(10)는 중요도 스코어를 바탕으로 대상특허문서의 제1 문장 및 유사특허문서의 제2 문장을 획득할 수 있다. 구체적으로, 서버(10)는, 상기 대상특허문서에 포함된 복수의 문장을 중요도 스코어를 바탕으로 기 설정된 n개의 그룹으로 분류할 수 있다.The
이후, 서버(10)는, 상기 유사특허문서에 포함된 복수의 문장을 중요도 스코어를 바탕으로 기 설정된 n개의 그룹으로 분류할 수 있다.Thereafter, the
이후, 서버(10)는, 상기 제1 문장이 상기 대상특허문서의 n개의 그룹 중 제1 그룹에 포함되는 경우, 상기 제2 문장을 상기 유사특허문서에 포함된 전체 문장으로 획득할 수 있다.Thereafter, when the first sentence is included in the first group among n groups of the target patent document, the
이후, 서버(10)는, 상기 제1 문장이 상기 대상특허문서의 n개의 그룹 중 제k 그룹에 포함되는 경우, 상기 제2 문장을 상기 유사특허문서의 n개의 그룹 중, 제1 그룹 내지 제 (n-k+1)그룹에 포함된 문장으로 획득할 수 있다. 이때, n은 1 이상의 자연수, k는 n이하의 자연수일 수 있다. Thereafter, when the first sentence is included in the k-th group among n groups of the target patent document, the
예를 들어, 대상특허문서 및 유사특허문서가 3개의 그룹으로 분류된 경우를 가정할 수 있다. 이때, 제1 문장이 제1 그룹에 포함되는 경우, 서버(10)는 제1 문장과 유사특허문헌의 제1그룹 내지 제3그룹(즉, 유사특허문서 전체)에 포함된 모든 문장을 비교하여 평가 결과를 획득할 수 있다. 또한, 제1 문장이 제2 그룹에 포함되는 경우, 서버(10)는 제1 문장과 유사특허문서의 제1그룹 및 제2그룹에 포함된 모든 문장을 비교하여 평가 결과를 획득할 수 있다. 또한, 제1 문장이 제3 그룹에 포함되는 경우, 서버(10)는 제1 문장과 유사특허문서의 제1그룹에 포함된 모든 문장을 비교하여 평가 결과를 획득할 수 있다.For example, it may be assumed that a target patent document and a similar patent document are classified into three groups. At this time, when the first sentence is included in the first group, the
즉, 서버(10)는 문장의 중요도에 따라 중요한 문장이라고 판단되는 문장들에 대하여만 평가 결과를 획득함으로써, 불필요하거나 덜 중요한 문장에 대한 평가 결과 획득 과정을 방지하여 계산량을 줄일 수 있다. 구체적으로, 대상특허문서의 제1 그룹은 중요도가 높은 문장이므로 유사특허문서 전체와 비교하고, 대상특허문서의 제3 그룹은 중요도가 낮은 문장이므로 유사특허문서 중 중요도가 높은 제1 그룹의 문장과 비교함으로써, 서버(10)는 (덜 중요한) 대상특허문서의 제3 그룹과 (덜 중요한) 유사특허문서의 제3 그룹간의 비교는 생략할 수 있다.That is, the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서 및 유사특허문서를 몇 개의 그룹으로 그루핑할 것인지 여부를 결정할 수 있다. 구체적으로, 서버(10)는 현재 서버(10)의 GPU 점유율 및 요구되는 정확도를 바탕으로 n의 값을 결정할 수 있다. GPU 점유율이 높거나 요구되는 정확도가 낮은 경우, 서버(10)는 n의 값을 증가시키고, GPU 점유율이 낮거나 요구되는 정확도가 높은 경우, 서버(10)는 n의 값을 감소시킬 수 있다. 예컨대 대상특허문서 및 유사특허문서가 6개의 문장으로 구성되고, n이 3인 경우 및 n이 6인 경우를 가정할 수 있다. n이 6인 경우, 서버(10)는 6+5+4+3+2+1=21개의 문장을 비교하고, n이 3인 경우 서버(10)는 6+6+4+4+2+2=24개의 문장을 비교하게 된다. 즉, n의 값이 클수록 대상특허문서와 유사특허문서에서 비교해야 되는 문장의 수가 적어지고, n의 값이 작을수록 대상특허문서와 유사특허문서에서 비교해야 되는 문장의 수가 많아지므로, 서버(10) 현재 자신이 처리할 수 있는 계산량(GPU 점유율)이 적거나 요구되는 정확도가 낮은 경우, 서버(10)는 n의 값을 증가시킬 수 있다.Meanwhile, according to various embodiments of the present invention, the
한편, 상술한 실시예에서는 대상특허문서 및 유사특허문서가 동일한 n개의 개수로 그루핑 되는 경우에 대해 설명하였으나, 이에 한정되는 것은 아니다. 예컨대, 대상특허문서와 유사특허문서를 서로 다른 개수로 그루핑될 수 있음은 물론이다. Meanwhile, in the above-described embodiment, a case in which the target patent document and the similar patent document are grouped by the same n number has been described, but the present invention is not limited thereto. For example, it goes without saying that a target patent document and a similar patent document may be grouped in different numbers.
한편, 도 8b에 도시된 바와 같이, 단계 S735에서, 서버(10)는, 제1 문장 및 제2 문장의 유사도 점수 및 비유사도 점수를 각각 획득할 수 있다.Meanwhile, as shown in FIG. 8B, in step S735, the
구체적으로, 유사도 점수는 제1 문장과 제2 문장이 관련된 문장인지 여부를 판단하기 위한 지표이며, 비유사도 점수는 제1 문장과 제2 문장이 관련성이 없는 문장인지 여부를 판단하기 위한 지표이다.Specifically, the similarity score is an index for determining whether the first sentence and the second sentence are related sentences, and the dissimilarity score is an index for determining whether the first sentence and the second sentence are unrelated sentences.
일 실시예로, 유사도 점수 및 비유사도 점수는, 제1 문장 및 제2 문장에 포함된 단어의 의미 정보를 획득하고, 획득된 의미 정보가 동일 주제에 대한 의미 정보인지 여부를 판단하여 획득될 수 있다. In one embodiment, the similarity score and dissimilarity score may be obtained by acquiring semantic information of words included in the first sentence and the second sentence, and determining whether the acquired semantic information is semantic information on the same subject. have.
또 다른 실시예로, 서버(10)는 제1 문장 및 제2 문장의 문장 구조를 판단하여 유사도 점수 및 비유사도 점수 계산에 활용할 수 있다. 예를 들어, 서버(10)는 제1 문장 및 제2 문장의 문장 구조가 유사한 경우, 유사도 점수를 높이고, 제1 문장 및 제2 문장의 문장 구조가 비유사한 경우, 비유사도 점수를 높일 수 있다.In another embodiment, the
단계 S740에서, 서버(10)는, 비유사도 점수가 기 설정된 점수 이상인 경우, 제1 문장과 제2 문장은 관계없는 문장으로 판단할 수 있다.In step S740, when the dissimilarity score is equal to or greater than a preset score, the
단계 S745에서, 서버(10)는, 유사도 점수가 기 설정된 점수 이상인 경우, 제1 문장에 포함된 단어 중 제2 문장에 포함되지 않은 적어도 하나의 단어를 획득할 수 있다.In step S745, when the similarity score is greater than or equal to a preset score, the
즉, 제1 문장과 제2 문장이 관련성이 있는 문장이라고 하더라도, 제1 문장과 제2 문장이 동일한 의미를 가지는 문장인 것은 아니다. 따라서, 서버(10)는 제1 문장과 제2 문장이 동일한 문장인지 또는 동일한 주제에 대한 문장이나 차이점이 존재하는 문장인지 여부를 판단할 수 있다.That is, even if the first sentence and the second sentence are related sentences, the first sentence and the second sentence are not sentences having the same meaning. Accordingly, the
일 실시예로, 서버(10)는 제1 문장과 제2 문장의 차이점을 판단하기 위하여 제1 문장에 포함된 단어 중 제2 문장에 포함되지 않은 적어도 하나의 단어를 판단할 수 있다.In an embodiment, the
또 다른 실시예로, 서버(10)는 제1 문장 및 제2 문장의 문장 구조를 판단할 수 있다.In another embodiment, the
단계 S750에서, 서버(10)는, 제2 문장에 포함되지 않은 적어도 하나의 단어 각각에 대한 적어도 중요도 점수를 획득하고, 획득된 적어도 하나의 중요도 점수 중 기 설정된 중요도 점수 이상인 단어가 존재하는지 여부를 판단할 수 있다.In step S750, the
단계 S755에서, 서버(10)는, 기 설정된 중요도 점수 이상인 단어가 존재하지 않는 경우, 제1 문장 및 제2 문장을 일치 문장으로 판단할 수 있다.In step S755, when there is no word having a pre-set importance score or higher, the
단계 S760에서, 서버(10)는, 기 설정된 중요도 점수 이상인 단어가 존재하면, 제1 문장 및 제2 문장을 불일치 문장으로 판단할 수 있다.In step S760, the
즉, 제1 문장의 적어도 하나의 단어가 제2 문장에 포함되어 있지 않은 경우라고 하더라도, 중요도 점수가 낮은 단어는 제1 문장과 제2 문장의 유사도와는 연관이 없는 경우가 존재할 수 있다. 따라서 서버(10)는, 제2 문장에 포함되지 않은 적어도 하나의 단어의 중요도 점수가 기 설정된 중요도 점수 이상인 경우의 단어를 획득하고, 획득된 단어를 바탕으로 제1 문장 및 제2 문장이 일치 문장인지 불일치 문장인지 여부를 판단할 수 있다.That is, even if at least one word of the first sentence is not included in the second sentence, a word with a low importance score may not be related to the similarity between the first sentence and the second sentence. Accordingly, the
이때, 서버(10)는 상술한 단계 S180에서, 제1 문장과 제2 문장이 관련성이 없는 문장인 경우에는, 제2 문장을 생성되는 선행기술조사보고서에 포함시키지 않을 수 있다. 서버(10)는 제1 문장과 동일한 제2 문장 또는 제1 문장과 유사한 제2 문장을 바탕으로 선행기술조사보고서를 생성할 수 있다.In this case, in step S180, when the first sentence and the second sentence are unrelated sentences, the
일 실시예에 따라, 서버(10)는 대상특허문서의 복수의 문장을 획득하여 중요도 순으로 정렬하고, 중요도가 높은 문장부터 유사특허문서에 유사한 문장이 있는지 여부를 판단할 수 있다. 예를 들어, 서버(10)는 대상특허문서를 중요도 순으로 정렬하여, 제1-1문장 내지 제1-n문장을 획득할 수 있다. According to an exemplary embodiment, the
서버(10)는 중요도가 가장 높은 제1-1 문장과 유사특허문서를 비교하여 제1-1 문장에 대한 유사특허문서의 제2 문장을 획득할 수 있다. 같은 방법으로, 서버(10)는 제1-2 문장과 유사특허문서를 비교하여 제1-2 문장에 대한 유사특허문서의 제2 문장을 획득하고, 제1-n 문장과 유사특허문서를 비교하여 제1-n 문장에 대한 유사특허문서의 제2 문장을 획득할 수 있다.The
서버(10)는, 획득된 복수의 제2 문장 중, 제1 문장과 관련있는 문장만을 선별할 수 있다. 다양한 실시예에 따라, 서버(10)는 대상특허문서의 모든 문장(즉, 제1-1 문장 내지 제1-n 문장)에 대한 제2 문장을 표시할 수 있으나, 이에 한정되는 것은 아니며, 대상특허문서의 모든 문장 중 기 설정된 상위 중요도 문장(예를 들어 중요도 순으로 정렬한 결과 상위 30%에 해당하는 문장)에 대한 제2 문장만을 표시할 수 있음은 물론이다.The
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서, 대상특허문서에 대한 적어도 하나의 유사특허문서의 청구범위, 대상특허문서 및 적어도 하나의 유사특허문서의 청구범위에 포함된 단어에 대한 대한 중요도 스코어를 바탕으로 대상특허문서의 특정문장이가 유사특허문서를 침해하는지 여부를 판단할 수 있다.On the other hand, according to various embodiments of the present invention, the
도 9는 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 구체적인 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a specific method of generating a thesaurus according to an embodiment of the present invention.
단계 S810에서, 서버(10)는, 특허문서를 기초하여 Word2Vec 학습을 통해 단어를 워드 벡터로 변환할 수 있다.In step S810, the
단계 S820에서, 서버(10)는, 워드 벡터 중 어느 두 워드 벡터 간의 거리를 산출하고 산출된 거리를 유사도로 산출할 수 있다.In step S820, the
단계 S830에서, 서버(10)는, 워드 벡터 중 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만인지 여부를 확인하고, 워드 벡터 중 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이면 해당 두 워드 벡터에 대응되는 두 단어를 유사어 그룹으로 그루핑할 수 있다.In step S830, the
단계 S840에서, 서버(10)는, 획득된 전체 특허문서 중 어느 하나의 특허문서가 노이즈 문서 조건을 충족하는지 여부를 확인하고, 노이즈 문서 조건을 충족하는 특허문서를 제거할 수 있다. In step S840, the
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 워드 벡터들 중에서 기준 워드 벡터를 선택할 수 있다.Meanwhile, according to various embodiments of the present disclosure, the
여기서, 기준 워드 벡터는 후술되는 유사어 그룹의 기준 단어에 대응되는 워드 벡터일 수 있다. 예를 들어, 기준 단어가 사과이면, 사과의 유사어에 포함되는 단어들이 유사어 그룹에 포함될 수 있다.Here, the reference word vector may be a word vector corresponding to a reference word of a similar word group to be described later. For example, if the reference word is an apple, words included in the similar word of the apple may be included in the similar word group.
이후, 서버(10)는 기준 워드 벡터와 다른 워드 벡터 간의 유사도를 산출할 수 있다. 이때, 서버(10)는 상술한 유사도 산출 방법과 동일한 방법으로 기준 워드 벡터와 다른 워드 벡터 간의 유사도를 산출할 수 있다.Thereafter, the
이어서, 서버(10)는 기준 워드 벡터와 다른 워드 벡터 간의 유사도에 기초하여 다른 워드 벡터에 대응하는 단어가 기준 워드 벡터에 대응되는 기준 단어를 기준으로 하는 유사도 그룹에 포함되는지 여부를 확인할 수 있다.Subsequently, the
구체적으로, 서버(10)는 기준 워드 벡터와 다른 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이면 다른 워드 벡터에 대응하는 단어가 기준 워드 벡터에 대응되는 기준 단어를 기준으로 하는 유사도 그룹에 포함되는 것으로 확인할 수 있다.Specifically, if the similarity between the reference word vector and another word vector is less than a preset reference similarity, the
이후, 서버(10)는 다른 워드 벡터에 대응하는 단어가 기준 워드 벡터에 대응되는 기준 단어를 기준으로 하는 유사도 그룹에 포함되는 것으로 확인되면 다른 워드 벡터에 대응하는 단어를 기준 단어를 기준으로 하는 유사도 그룹에 포함시킬 수 있다.Thereafter, when it is determined that a word corresponding to another word vector is included in the similarity group based on the reference word corresponding to the reference word vector, the
도 10은 본 발명의 일 실시예에 따른 제1 인공지능 모델 및 제2 인공지능 모델을 이용하여 평가 결과를 도출하는 과정을 설명하기 위한 예시도이다.10 is an exemplary diagram for explaining a process of deriving an evaluation result using a first artificial intelligence model and a second artificial intelligence model according to an embodiment of the present invention.
도 10에 도시된 바와 같이, 제1 인공지능 모델은 대상 특허문서를 입력값으로 입력받아, 대상 특허문서에 대한 유사 특허문서를 획득할 수 있다. 이때, 대상특허문서에 대한 유사 특허 문서는 복수개일 수 있음은 물론이고, 유사특허문서가 복수개인 경우, 서버(10)는 복수개의 유사특허문서를 대상특허문서와의 연관성을 바탕으로 정렬할 수 있음은 물론이다.As shown in FIG. 10, the first artificial intelligence model may receive a target patent document as an input value and obtain a similar patent document for the target patent document. At this time, not only may there be a plurality of similar patent documents for the target patent document, but if there are a plurality of similar patent documents, the
제1 데이터베이스는 전체 특허문서를 저장하기 위한 구성이다. 구체적으로, 제1 데이터베이스는, 전체 특허문서 각각에 대한 형태소 분석을 통해 전체 특허문서 각각의 단어를 획득하고, 획득된 단어에 대한 유의어 사전을 획득하고, 획득된 단어 각각에 대한 중요도 스코어를 획득하여, 획득된 중요도 스코어를 단어에 매칭하여 저장할 수 있다.The first database is a configuration for storing all patent documents. Specifically, the first database obtains a word of each of the entire patent documents through morpheme analysis of each of the entire patent documents, obtains a synonym dictionary for the obtained word, and obtains an importance score for each of the obtained words. , The obtained importance score may be matched to a word and stored.
제1 인공지능 모델은 제1 데이터베이스에 저장된 전체 특허문서 중 대상특허문서에 대응되는 유사특허문서를 획득할 수 있다.The first artificial intelligence model may obtain a similar patent document corresponding to the target patent document among all patent documents stored in the first database.
한편, 서버(10)는 제1 인공지능 모델을 통해 대상특허문서 및 유사특허문서가 획득되면, 대상특허문서 중 제1 문장을 추출하고, 유사특허문서 중 제2 문장을 추출할 수 있다. 제1 문장 및 제2 문장은 상술한 다양한 방법을 통해 획득될 수 있다.Meanwhile, when the target patent document and the similar patent document are obtained through the first artificial intelligence model, the
나아가, 제2 인공지능 모델은제1 문장 및 제2 문장을 입력값으로 입력하여 제1 문장과 제2 문장에 대한 평가 결과를 획득할 수 있다. 이때, 평가 결과란, 제1 문장과 제2 문장이 일치 문장인지, 불일치 문장인지, 관계없는 문장인지에 대한 결과일 수 있으며, 상술한 다양한 실시예에 따라 획득될 수 있다.Furthermore, the second artificial intelligence model may obtain evaluation results for the first sentence and the second sentence by inputting the first sentence and the second sentence as input values. In this case, the evaluation result may be a result of whether the first sentence and the second sentence are coincident sentences, inconsistent sentences, or irrelevant sentences, and may be obtained according to various embodiments described above.
제2 데이터베이스는, 특허문서 및 특허문서에 매칭된 선행조사보고서가 저장될 수 있다. 이때, 선행조사보고서는 특허문헌과 유사하다고 판단된 유사특허문서 및 특허문서의 특정 문장에 대응되는 유사특허문서의 특정 문장에 대한 정보를 포함할 수 있다.The second database may store a patent document and a prior search report matched with the patent document. In this case, the prior search report may include information on a specific sentence of a similar patent document that is determined to be similar to a patent document and a specific sentence of the similar patent document corresponding to the specific sentence of the patent document.
도 11은 본 발명의 일 실시예에 따른 장치의 구성도이다.11 is a block diagram of an apparatus according to an embodiment of the present invention.
프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.The
일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 9와 관련하여 설명된 방법을 수행한다.The
예를 들어, 프로세서(102)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하고, 획득된 적어도 하나의 단어의 중요도 스코어를 획득하고, 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하고, 대상특허문서에 포함된 복수의 문장을 획득하고, 유사특허문서에 포함된 복수의 문장을 획득하고, 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하고, 제1 문장 및 제2 문장을 제2 인공지능 모델에 입력하여, 제1 문장과 제2 문장에 대한 평가 결과를 획득하고, 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성할 수 있다.For example, the
한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. Meanwhile, the
메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다. 본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. Software modules include Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains. Components of the present invention may be implemented as a program (or application) and stored in a medium to be executed by being combined with a computer that is hardware. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments include various algorithms implemented with a combination of data structures, processes, routines or other programming elements, including C, C++. , Java, assembler, or the like may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features. You will be able to understand. Therefore, the embodiments described above are illustrative in all respects, and should be understood as non-limiting.
10 : 서버
20 : 사용자 단말10: server
20: user terminal
Claims (1)
서버가, 대상특허문서를 획득하는 단계;
상기 서버가, 상기 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하는 단계;
상기 서버가, 상기 획득된 적어도 하나의 단어의 중요도 스코어를 획득하는 단계;
상기 서버가, 상기 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하는 단계;
상기 서버가, 상기 대상특허문서에 포함된 복수의 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장을 획득하는 단계;
상기 서버가, 상기 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하는 단계;
상기 서버가, 상기 제1 문장 및 상기 제2 문장을 제2 인공지능 모델에 입력하여, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계; 및
상기 서버가, 상기 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성하는 단계를 포함하는 특허문서 유사도 판단 시스템의 제어 방법.
In the control method of the system for determining the similarity of patent documents,
Obtaining, by the server, a target patent document;
Obtaining, by the server, at least one word based on the target patent document;
Obtaining, by the server, an importance score of the obtained at least one word;
Obtaining, by the server, the target patent document into a first artificial intelligence model to obtain a similar patent document;
Obtaining, by the server, a plurality of sentences included in the target patent document, and obtaining a plurality of sentences included in the similar patent document;
Obtaining, by the server, a first sentence from among a plurality of sentences included in the target patent document, and obtaining a second sentence from among a plurality of sentences included in the similar patent document;
Obtaining, by the server, the first sentence and the second sentence into a second artificial intelligence model to obtain evaluation results for the first sentence and the second sentence; And
And generating, by the server, a prior art search report for the target patent document based on the evaluation result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200021487A KR20210044146A (en) | 2020-02-21 | 2020-02-21 | Method, apparatus and system for determining similarity of patent documents |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200021487A KR20210044146A (en) | 2020-02-21 | 2020-02-21 | Method, apparatus and system for determining similarity of patent documents |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190127327A Division KR102085217B1 (en) | 2019-10-14 | 2019-10-14 | Method, apparatus and system for determining similarity of patent documents |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210044146A true KR20210044146A (en) | 2021-04-22 |
Family
ID=75731224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200021487A KR20210044146A (en) | 2020-02-21 | 2020-02-21 | Method, apparatus and system for determining similarity of patent documents |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210044146A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230143533A (en) * | 2022-04-05 | 2023-10-12 | 주식회사 타날리시스 | Similar patent extraction methods using neural network model and device for the method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180110713A (en) | 2017-03-29 | 2018-10-11 | 중앙대학교 산학협력단 | Device and method for analyzing similarity of documents |
-
2020
- 2020-02-21 KR KR1020200021487A patent/KR20210044146A/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180110713A (en) | 2017-03-29 | 2018-10-11 | 중앙대학교 산학협력단 | Device and method for analyzing similarity of documents |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230143533A (en) * | 2022-04-05 | 2023-10-12 | 주식회사 타날리시스 | Similar patent extraction methods using neural network model and device for the method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102085217B1 (en) | Method, apparatus and system for determining similarity of patent documents | |
US20210224286A1 (en) | Search result processing method and apparatus, and storage medium | |
Reimers et al. | Classification and clustering of arguments with contextualized word embeddings | |
KR102095892B1 (en) | Method, apparatus and system for determining similarity of patent documents using artificial intelligence model | |
US10664719B2 (en) | Accurate tag relevance prediction for image search | |
JP5281156B2 (en) | Annotating images | |
CN111476294A (en) | Zero sample image identification method and system based on generation countermeasure network | |
US20200372025A1 (en) | Answer selection using a compare-aggregate model with language model and condensed similarity information from latent clustering | |
US11928875B2 (en) | Layout-aware, scalable recognition system | |
CN108491375B (en) | Entity identification and linking system and method based on CN-DBpedia | |
KR102383965B1 (en) | Method, apparatus and system for determining similarity of patent documents based on similarity score and dissimilarity score | |
KR102085214B1 (en) | Method and system for acquiring word set of patent document | |
KR20210044146A (en) | Method, apparatus and system for determining similarity of patent documents | |
CN112613451A (en) | Modeling method of cross-modal text picture retrieval model | |
CN112925912A (en) | Text processing method, and synonymous text recall method and device | |
KR102405867B1 (en) | Method, apparatus and system for determining importance of patent documents using artificial intelligence model | |
Huang et al. | Efficient image and sentence matching | |
KR20210039917A (en) | Method, apparatus and system for determining similarity of patent documents using artificial intelligence model | |
KR102300352B1 (en) | Method, apparatus and system for determining similarity of patent documents based on importance score | |
KR102315213B1 (en) | Method, apparatus and system for determining similarity of patent documents using clustering | |
KR102315214B1 (en) | Method, apparatus and system for determining similarity of patent documents using similarity scores and dissimilarity scores | |
KR102315215B1 (en) | A method for obtaining a word set of a patent document and a method for determining similarity of a patent document based on the obtained word set | |
KR102255962B1 (en) | Method and system for acquiring word set of patent document using template information | |
KR102255961B1 (en) | Method and system for acquiring word set of patent document by correcting error word | |
KR102263309B1 (en) | Method and system for acquiring word set of patent document using image information |