KR102383965B1 - 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 - Google Patents
유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 Download PDFInfo
- Publication number
- KR102383965B1 KR102383965B1 KR1020200021486A KR20200021486A KR102383965B1 KR 102383965 B1 KR102383965 B1 KR 102383965B1 KR 1020200021486 A KR1020200021486 A KR 1020200021486A KR 20200021486 A KR20200021486 A KR 20200021486A KR 102383965 B1 KR102383965 B1 KR 102383965B1
- Authority
- KR
- South Korea
- Prior art keywords
- patent document
- server
- sentence
- word
- 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
특허문서의 유사도 판단 방법, 장치 및 시스템이 제공된다. 상기 특허문서의 유사도 판단 시스템의 제어 방법은, 서버가, 대상특허문서를 획득하는 단계; 상기 서버가, 상기 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하는 단계; 상기 서버가, 상기 획득된 적어도 하나의 단어의 중요도 스코어를 획득하는 단계; 상기 서버가, 상기 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하는 단계; 상기 서버가, 상기 대상특허문서에 포함된 복수의 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장을 획득하는 단계; 상기 서버가, 상기 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하는 단계; 상기 서버가, 상기 제1 문장 및 상기 제2 문장을 제2 인공지능 모델에 입력하여, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계; 및 상기 서버가, 상기 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성하는 단계를 포함한다.
Description
본 발명은 특허문서의 유사도 판단 방법, 장치 및 시스템에 관한 것이다.
4차 산업의 발전과 함께 지식재산권에 대한 가치가 높아지고 있다. 이에 따라 많은 사람들은 자신이 가진 기술을 보호하고, 기술에 대한 권리를 획득하려 노력하고 있으며, 기술에 대한 특허 출원에 대한 관심도가 높아지고 있다.
한편, 특허 출원을 위해서는 자신의 기술이 특허 받을 수 있을지를 판단하기 위해 선행 기술 조사를 수행하며, 과거 공개된 다양한 특허 문헌을 검색함으로써 선행 기술 조사를 수행할 수 있다.
선행 기술 조사를 수행하는데 있어서 가장 중요한 것은, 대상특허문서의 진보성을 부정할 수 있을만한 유사특허문서가 존재하는지 여부를 판단하는 일이다.
그러나, 특허 문서의 양이 방대하고, 시간의 제약으로 인하여 과거 공개된 모든 특허 문서를 분석하는 것은 사실상 불가능에 가까운 일이며, 주어진 시간 내에서 최대한의 결과를 얻기 위하여 검색식 입력 등의 방법을 통해 유사특허문서를 획득하는 것이 현실이다.
그러나, 검색식 입력 등을 통한 유사특허문서 획득은 선행기술 조사를 수행하는 인력의 능력에 좌우되는 경우가 많아 선행 기술 조사에 대한 안정적인 결과에 대한 보장이 되지 않는 경우가 많다.
따라서, 적은 시간 투자로 안정적인 결과를 보장 받을 수 있는 선행 기술 조사 방법의 필요성이 대두되고 있다.
본 발명이 해결하고자 하는 과제는 특허문서의 유사도 판단 방법, 장치 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 특허문서의 유사도 판단 시스템의 제어 방법은, 서버가, 대상특허문서를 획득하는 단계; 상기 서버가, 상기 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하는 단계; 상기 서버가, 상기 획득된 적어도 하나의 단어의 중요도 스코어를 획득하는 단계; 상기 서버가, 상기 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하는 단계; 상기 서버가, 상기 대상특허문서에 포함된 복수의 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장을 획득하는 단계; 상기 서버가, 상기 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하는 단계; 상기 서버가, 상기 제1 문장 및 상기 제2 문장을 제2 인공지능 모델에 입력하여, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계; 및 상기 서버가, 상기 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성하는 단계를 포함한다.
이때, 상기 단어를 획득하는 단계는, 상기 서버가, 상기 대상특허문서를 바탕으로 형태소를 분석하여 복수개의 단어를 획득하는 단계; 상기 서버가, 상기 획득된 복수개의 단어 중 오류 단어를 판단하는 단계; 상기 서버가, 상기 오류 단어를 수정하는 단계; 및 상기 서버가, 상기 복수개의 단어간의 연관도를 바탕으로 적어도 하나의 복합 명사구 세트를 획득하는 단계를 포함한다.
이때, 상기 중요도 스코어를 획득하는 단계는, 상기 서버가, 상기 대상특허문서로부터 중요도 스코어의 산출 대상이 되는 단어를 획득하는 단계; 상기 서버가, 전체 특허문서에서의 상기 단어의 제1 세부 중요도, 상기 대상특허문서의 기술분야정보에 대응되는 특허분류정보에서의 상기 단어의 제2 세부 중요도 및 상기 전체 특허문서 중 상기 단어가 포함된 검색특허문서의 제3 세부 중요도 중 하나 이상의 세부 중요도를 산출하는 단계; 및 상기 서버가, 상기 제1 세부 중요도, 상기 제2 세부 중요도 및 상기 제3 세부 중요도 중 하나 이상에 기초하여 상기 단어의 상기 중요도 스코어를 산출하는 단계를 포함한다.
이때, 상기 제어 방법은, 상기 서버가, 유의어 사전의 기초가 되는 전체 특허문서를 획득하는 단계; 상기 서버가, 상기 전체 특허문서 각각에 대해 형태소를 분석하는 단계; 상기 형태소 분석 결과에 기초하여 상기 전체 특허문서 각각에 포함된 단어를 워드 벡터로 변환하는 단계; 상기 서버가, 상기 워드 벡터 간의 유사도를 산출하는 단계; 및 상기 서버가, 상기 유사도에 기초하여 상기 워드 벡터에 대응되는 단어를 유사어 그룹으로 그루핑하는 단계를 포함한다.
이때, 상기 오류 단어를 판단하는 단계는, 상기 획득된 복수개의 단어 각각에 대한 의미 정보를 매칭하는 단계; 상기 매칭된 의미 정보 및 상기 대상특허문서를 바탕으로, 상기 복수개의 단어 각각에 대한 정확도 점수를 획득하는 단계; 및 상기 정확도 점수가 기 설정된 값 이하인 단어를 오류 단어로 판단하는 단계를 포함하고, 상기 오류 단어를 수정하는 단계는, 상기 오류 단어에 대한 복수개의 의미 정보를 획득하는 단계; 상기 획득된 복수개의 의미 정보 각각에 대한 복수개의 가중치를 획득하는 단계; 상기 복수개의 가중치 중, 상기 대상특허문서와의 연관도가 가장 높은 가중치를 획득하는 단계; 및 상기 대상특허문서와의 연관도가 가장 높은 가중치에 대응되는 의미 정보를 상기 오류 단어에 매칭하는 단계를 포함하고, 상기 적어도 하나의 복합 명사구 세트를 획득하는 단계는, 상기 대상특허문서에 포함된 문장에 대한 복수개의 단어를 획득하는 단계; 상기 복수개의 단어의 조합으로 획득된 복수개의 복합 명사구 세트 후보를 획득하는 단계; 상기 획득된 복수개의 복합 명사구 세트 후보와 동일한 복합 명사구 세트가 상기 대상특허문서에 포함되는 빈도를 획득하는 단계; 및 상기 빈도가 기 설정된 빈도 이상인 복합 명사구 세트 후보를 복합 명사구 세트로 결정하는 단계; 를 포함하고, 상기 복합 명사구 세트 후보는 복합 명사구 세트 후보에 포함된 단어들의 순서 정보 및 이격 정보를 포함한다.
이때, 상기 단어의 세부 중요도를 산출하는 단계는, 상기 전체 특허문서의 전체 단어수 대비 상기 전체 특허문서에서의 상기 단어의 출현횟수의 제1 출현비율 및 상기 전체 특허문서의 전체 문장수 대비 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수의 제2 출현비율에 기초하여 상기 제1 세부 중요도를 산출하는 단계; 상기 특허분류정보의 전체 단어수 대비 상기 특허분류정보에서의 상기 단어의 출현횟수의 제3 출현비율 및 상기 전체 특허문서의 전체 문장수 대비 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수의 제4 출현비율에 기초하여 상기 제2 세부 중요도를 산출하는 단계; 및 상기 검색특허문서 각각의 참조 정보에 기초하여 상기 검색특허문서 각각의 영향력 값을 산출하고, 상기 영향력 값을 이용하여 상기 검색특허문서의 제3 세부 중요도를 산출하는 단계를 포함하고, 상기 제1 세부 중요도를 산출하는 단계는, 하기의 수학식1을 이용하여 상기 제1 세부 중요도를 산출하고, 상기 제2 세부 중요도를 산출하는 단계는, 하기의 수학식을 이용하여 상기 제2 세부 중요도를 산출하는 단계를 포함한다.
<수학식 1>
<수학식 2>
여기서, 상기 W1은 제1 세부 중요도이고, 상기 wpw은 상기 전체 특허문서에서의 상기 단어의 출현횟수이고, 상기 WPW은 전체 특허문서의 전체 단어수이고, 상기 wps은 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수이고, 상기 WPS은 상기 전체 특허문서의 전체 문장수이고, 상기 a1은 상기 제2 출현비율의 조절 상수이고, 상기 W2은 제2 세부 중요도이고, 상기 ipcw은 상기 특허분류정보에서의 상기 단어의 출현횟수이고, 상기 IPCW은 특허분류정보의 전체 단어수이고, 상기 ipcs은 상기 전체 특허문서의 문장 중에서 상기 단어가 출현된 출현 문장수이고, 상기 IPCS은 상기 전체 특허문서의 전체 문장수이고, 상기 a2은 상기 제4 출현비율의 조절 상수이다.
이때, 상기 유사특허문서를 획득하는 단계는, 상기 대상특허문서에 포함된 복수개의 단어를 획득하는 단계; 상기 획득된 복수개의 단어를 클러스터링하여 복수개의 대상특허 클러스터를 획득하는 단계; 상기 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 상기 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점 및 상기 대상특허 클러스터에 포함된 단어의 수를 바탕으로 상기 대상특허문서의 위치를 판단하는 단계; 특허문서에 포함된 복수개의 단어를 획득하고, 획득된 복수개의 단어를 클러스터링하여 복수의 특허 클러스터를 획득하는 단계; 상기 복수개의 특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 상기 복수개의 특허 클러스터 각각에 대한 복수개의 중점 및 상기 특허 클러스터에 포함된 단어의 수를 바탕으로 상기 특허문서의 위치를 판단하는 단계; 및 상기 대상특허문서의 위치 및 상기 특허문서의 위치가 기 설정된 거리 이내인 경우, 상기 특허문서를 상기 유사특허문서로 결정하는 단계를 포함하고, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계는, 상기 제1 문장 및 상기 제2 문장의 유사도 점수 및 비유사도 점수를 각각 획득하는 단계; 상기 비유사도 점수가 기 설정된 점수 이상인 경우, 상기 제1 문장과 상기 제2 문장은 관계없는 문장으로 판단하는 단계; 상기 유사도 점수가 기 설정된 점수 이상인 경우, 상기 제1 문장에 포함된 단어 중 상기 제2 문장에 포함되지 않은 적어도 하나의 단어를 획득하는 단계; 상기 제2 문장에 포함되지 않은 적어도 하나의 단어 각각에 대한 적어도 중요도 점수를 획득하고, 상기 획득된 적어도 하나의 중요도 점수 중 기 설정된 중요도 점수 이상인 단어가 존재하는지 여부를 판단하는 단계; 기 설정된 중요도 점수 이상인 단어가 존재하지 않는 경우, 상기 제1 문장 및 상기 제2 문장을 일치 문장으로 판단하는 단계; 및 상기 기 설정된 중요도 점수 이상인 단어가 존재하면, 상기 제1 문장 및 상기 제2 문장을 불일치 문장으로 판단하는 단계를 포함한다.
이때, 상기 워드 벡터로 변환하는 단계는 상기 특허문서를 기초하여 Word2Vec 학습을 통해 상기 단어를 워드 벡터로 변환하는 단계를 포함하고, 상기 유사도를 산출하는 단계는, 상기 워드 벡터 중 어느 두 워드 벡터 간의 거리를 산출하고 상기 산출된 거리를 유사도로 산출하는 단계를 포함하고, 상기 유사어 그룹으로 그루핑하는 단계는, 상기 워드 벡터 중 어느 두 워드 벡터 간의 상기 유사도가 미리 설정된 기준 유사도 미만인지 여부를 확인하고, 상기 워드 벡터 중 어느 두 워드 벡터 간의 상기 유사도가 미리 설정된 기준 유사도 미만이면 해당 두 워드 벡터에 대응되는 두 단어를 상기 유사어 그룹으로 그루핑하는 단계를 포함하고, 상기 전체 특허문서를 획득하는 단계는, 상기 획득된 전체 특허문서 중 어느 하나의 특허문서가 노이즈 문서 조건을 충족하는지 여부를 확인하고, 상기 노이즈 문서 조건을 충족하는 특허문서를 제거하는 단계를 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상술한 본 발명의 실시예에 따라, 사용자는 적은 시간 투자로 안정적인 결과를 보장 받을 수 있는 선행 기술 조사 방법이 제공될 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 시스템도이다.
도 2는 본 발명의 일 실시예에 따른 선행기술조사보고서를 획득하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 단어를 획득하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 단어 획득방법을 구체적으로 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 구체적으로 설명하기 위한 흐름도이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 유사특허문서 획득 방법 및 유사 문장 판단 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 구체적인 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 제1 인공지능 모델 및 제2 인공지능 모델을 이용하여 평가 결과를 도출하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따른 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 선행기술조사보고서를 획득하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 단어를 획득하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 단어 획득방법을 구체적으로 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 구체적으로 설명하기 위한 흐름도이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 유사특허문서 획득 방법 및 유사 문장 판단 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 구체적인 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 제1 인공지능 모델 및 제2 인공지능 모델을 이용하여 평가 결과를 도출하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따른 장치의 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 시스템도이다.
본 발명에 따른 특허문서 유사도 판단 시스템은 서버(10) 및 전자 장치(20)를 포함한다.
서버(10)는 대상특허문서를 획득하고, 획득된 대상특허문서로부터 유사특허문서를 획득하고, 대상특허문서의 문장과 유사특허문서의 문장의 유사도를 판단하기 위한 구성이다.
일 실시예로, 서버(10)는 전자장치(20)로부터 대상특허문서를 입력 받거나, 외부 서버로부터 대상특허문서를 획득할 수 있다.
또 다른 실시예로, 서버(10)는 대상특허문서 또는 유사특허문서로부터 복수의 단어를 획득하고, 획득된 단어의 중요도 스코어를 획득할 수 있다. 또한, 서버(10)는 전체 특허문서로부터 유의어 사전을 획득하여 단어의 중요도 스코어 판단에 이용할 수 있다.
또 다른 실시예로, 서버(10)는 대상특허문서에 대한 유사특허문서를 획득하고, 유사한 문장을 획득하여 선행기술조사보고서를 생성할 수 있다.
본 명세서에서, 특허문서는 대상특허문서 및 유사특허문서를 포함하는 개념으로, 각국 특허청에 특허 등록을 받기 위해 출원인이 제출하는 기술 내용에 대한 문서일 수 있다. 다만, 이에 한정되는 것은 아니고, 특허문서는, 특허 출원을 위한 직무 발명서, 논문 등 기술 내용을 포함한 다양한 문서를 포함하는 개념으로 이해될 수 있다. 일 실시예에 따라, 대상특허문서는 특허 출원을 위한 직무 발명서, 논문 중 적어도 하나이고, 유사특허문서는 특허 출원을 위한 직무 발명서, 논문, 특허출원서 중 적어도 하나일 수 있다.
전자 장치(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) 중 적어도 하나를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 선행기술조사보고서를 획득하는 방법을 설명하기 위한 흐름도이다.
단계 S110에서, 서버(10)는, 대상특허문서를 획득할 수 있다.
단계 S120에서, 서버(10)는, 대상특허문서를 바탕으로 적어도 하나의 단어를 획득할 수 있다.
단계 S130에서, 서버(10)는, 획득된 적어도 하나의 단어의 중요도 스코어를 획득할 수 있다.
단계 S140에서, 서버(10)는, 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득할 수 있다.
구체적으로, 서버(10)는 대상특허문서 또는 유사특허문서로부터 복수의 단어를 획득하고, 획득된 단어의 중요도 스코어를 획득할 수 있다. 또한, 서버(10)는 전체 특허문서로부터 유의어 사전을 획득하여 단어의 중요도 스코어 판단에 이용할 수 있다.
일 실시예로, 서버(10)는, 제1 데이터베이스에 저장된 복수의 특허문서 각각에 대한 형태소 분석을 바탕으로, 복수의 특허문서 각각을 분석하고, 대상특허문서에 대한 형태소분석을 바탕으로 대상특허문서를 분석한 뒤, 대상특허문서와 연관도가 높은 유사특허문서를 획득할 수 있다.
단계 S150에서, 서버(10)는, 대상특허문서에 포함된 복수의 문장을 획득하고, 유사특허문서에 포함된 복수의 문장을 획득할 수 있다.
단계 S160에서, 서버(10)는, 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득할 수 있다.
단계 S170에서, 서버(10)는, 제1 문장 및 제2 문장을 제2 인공지능 모델에 입력하여, 제1 문장과 제2 문장에 대한 평가 결과를 획득할 수 있다.
단계 S180에서, 서버(10)는, 평가 결과를 바탕으로, 대상특허문서에 대한 선행기술조사보고서를 생성할 수 있다. 구체적으로, 대상특허문서에 대한 선행기술조사보고서는 제1 문장과 제2 문장에 대한 평가 결과를 바탕으로 생성될 수 있다. 일 실시예로, 제1 문장과 제2 문장에 대한 평가 결과가 점수의 형태로 획득되는 경우, 서버(10)는 제1 문장과 제2 문장에 대한 평가 결과 점수가 기 설정된 점수 이상인 제1 문장 및 제1 문장에 대응되는 제2 문장을 바탕으로 선행기술조사보고서를 생성할 수 있다.
한편, 제1 인공지능 모델은 복수의 특허문서를 학습데이터로 입력하여 학습된 합성곱 신경망(Convolutional deep Neural Networks, CNN) 기반의 인공지능 모델이고, 제2 인공지능 모델은 복수의 특허문서 및 상기 복수의 특허문서 중 두 개의 특허문서 및 상기 두 개의 특허문서에 대한 선행기술조사보고서를 바탕으로 학습된 Bi-LSTM 모델 기반의 인공지능 모델일 수 있다. 다만, 이에 한정되는 것은 아니며, 다양한 인공지능 모델이 본 발명에 적용될 수 있음은 물론이다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 인공지능 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
이때, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다. 합성곱 신경망은 입력 영상에 대하여 합성곱과 서브샘플링을 번갈아 수행함으로써 입력 영상으로부터 특징을 추출한다.
합성곱 신경망은 여러 개의 합성곱 계층(Convolution layer), 여러 개의 서브샘플링 계층(Subsampling layer, Lacal pooling layer, Max-Pooling layer), 완전 연결 층(Fully Connected layer)을 포함한다. 합성곱 계층은 입력 영상(Input Image)에 대해 합성곱을 수행하는 계층이다. 그리고 서브샘플링 계층은 입력 영상에 대해 지역적으로 최대값을 추출하여 2차원 영상으로 매핑하는 계층으로, 국소적인 영역을 더 크게 하고, 서브샘플링을 수행한다.
합성곱 계층에서는 커널의 크기(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 크기의 맵이 생성된다.
서브샘플링 계층에서는 서브샘플링할 커널의 크기에 대한 정보, 커널 영역 내의 값들 중 최대값을 선택할 것인지 최소값을 선택할 것인지에 대한 정보가 필요하다.
또한, 심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.
이때, 심층 신경망의 구조는 퍼셉트론(perceptron)으로 구성될 수 있다. 퍼셉트론은 여러 개의 입력 값(input)과 하나의 프로세서(prosessor), 하나의 출력 값으로 구성된다. 프로세서는 여러 개의 입력 값에 각각 가중치를 곱한 후, 가중치가 곱해진 입력 값들을 모두 합한다. 그 다음 프로세서는 합해진 값을 활성화함수에 대입하여 하나의 출력 값을 출력한다. 만약 활성화함수의 출력 값으로 특정한 값이 나오기를 원하는 경우, 각 입력 값에 곱해지는 가중치를 수정하고, 수정된 가중치를 이용하여 출력 값을 다시 계산할 수 있다. 이때, 각각의 퍼셉트론은 서로 다른 활성화함수를 사용할 수 있다. 또한 각각의 퍼셉트론은 이전 계층에서 전달된 출력들을 입력으로 받아들인 다음, 활성화 함수를 이용해서 출력을 구한다. 구해진 출력은 다음 계층의 입력으로 전달된다. 상술한 바와 같은 과정을 거치면 최종적으로 몇 개의 출력 값을 얻을 수 있다.
또한, 딥 러닝 기법에 대한 설명으로 다시 돌아가면, 순환 신경망(Reccurent Neural Network, RNN)은 인공신경망을 구성하는 유닛 사이의 연결이 Directed cycle을 구성하는 신경망을 말한다. 순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.
심층 신뢰 신경망(Deep Belief Networks, DBN)이란 기계학습에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥 러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층 신경망을 의미한다. 계층 간에는 연결이 있지만 계층 내의 유닛 간에는 연결이 없다는 특징이 있다.
심층 신뢰 신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능케 한다.
상술한 인공지능 및 그 학습방법에 관한 내용은 예시를 위하여 서술된 것이며, 이하에서 설명되는 실시 예들에서 이용되는 인공지능 및 그 학습방법은 제한되지 않는다. 예를 들어, 당 업계의 통상의 기술자가 동일한 과제해결을 위하여 적용할 수 있는 모든 종류의 인공지능 기술 및 그 학습방법이 개시된 실시 예에 따른 시스템을 구현하는 데 활용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 단어를 획득하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 서버(10)는, 대상특허문서를 바탕으로 형태소를 분석하여 복수개의 단어를 획득할 수 있다.
일 실시예로, 서버(10)는 Mecab 형태소 분석기를 이용하여 대상특허문서의 형태소 분석을 수행할 수 있다. 다만, 이에 한정되는 것은 아니고, 경우에 따라 Okt, Komoran, Hannanum, Kkma 형태소 분석기 등 다양한 형태소 분석기가 이용될 수 있음은 물론이다. 나아가, 서버(10)는 분석하고자 하는 대상특허문서의 사용 언어에 따라 다양한 형태소 분석기를 사용할 수 있음은 물론이다. 한편, 본 발명에서는 대상특허문서의 형태소를 분석하는 방법을 설명하였으나, 서버(10)는, 대상특허문서뿐만 아니라 다양한 특허문서에 대한 형태소 분석을 수행할 수 있음은 물론이다.
단계 S220에서, 서버(10)는, 획득된 복수개의 단어 중 오류 단어를 판단할 수 있다.
일 실시예로, 서버(10)는 획득된 복수개의 단어가 기 설정된 조건을 만족하지 못하는 경우, 해당 단어를 오류 단어로 판단할 수 있다.
단계 S230에서, 서버(10)는, 오류 단어를 수정할 수 있다.
단계 S240에서, 서버(10)는, 복수개의 단어간의 연관도를 바탕으로 적어도 하나의 복합 명사구 세트를 획득할 수 있다.
도 4는 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 설명하기 위한 흐름도이다.
단계 S310에서, 서버(10)는, 대상특허문서로부터 중요도 스코어의 산출 대상이 되는 단어를 획득할 수 있다.
단계 S320에서, 서버(10)는, 전체 특허문서에서의 단어의 제1 세부 중요도, 대상특허문서의 기술분야정보에 대응되는 특허분류정보에서의 단어의 제2 세부 중요도 및 전체 특허문서 중 단어가 포함된 검색특허문서의 제3 세부 중요도 중 하나 이상의 세부 중요도를 산출할 수 있다.
단계 S330에서, 서버(10)는, 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 중 하나 이상에 기초하여 단어의 중요도 스코어를 산출할 수 있다.
구체적으로, 서버(10)는 대상특허문서에 대해 형태소 분석을 수행하여 명사만을 추출할 수 있다. 이때, 서버(10)는 대상특허문서로부터 명사를 추출하는 한 형태소 분석법의 종류는 한정되지 않음을 유의한다.
이어서, 서버(10)는 추출된 명사에 기초하여 대상특허문서의 기술분야정보를 결정할 수 있다. 이때, 서버(10)는 미리 저장된 기술분야정보별 단어 데이터와 추출된 명사를 비교하고, 비교 결과, 추출된 명사가 최다 포함된 기술분야정보를 대상특허문서의 기술분야정보로 결정할 수 있다.
이후, 서버(10)는 대상특허문서에 포함된 단어 중 불용어로 설정된 단어를 중요도 스코어의 산출 대상이 되는 단어에서 제외시킬 수 있다. 구체적으로, 서버(10)는 대상특허문서의 기술분야정보에 대응되는 기술분야정보별 불용어 데이터를 독출하고, 대상특허문서에 포함되어 추출된 단어 중 독출된 기술분야정보별 불용어 데이터에 포함된 단어를 중요도 스코어의 산출 대상이 되는 단어에서 제외시킬 수 있다.
여기서, 불용어는 해당 기술분야에서 빈번하게 사용되는 단어이지만 기술적 의미를 갖지 않는 단어를 의미할 수 있다. 예를 들어, IT 기술분야에서 컴퓨터는 빈번하게 사용되나 IT 기술과 관련한 기술적 의미를 갖지 않아 불용어로 정의될 수 있다.
이에 따라, 서버(10)는 대상특허문서로부터 추출한 단어 중 불용어가 아닌 단어를 중요도 스코어의 산출 대상이 되는 단어로 획득할 수 있다.
도 5는 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 서버(10)는, 유의어 사전의 기초가 되는 전체 특허문서를 획득할 수 있다. 구체적으로, 서버(10)는 실시간으로 시간이 경과함에 따라 공개되는 특허문서를 획득하여 전체 특허문서를 획득할 수 있다. 이때, 서버(10)는 통신을 통해 외부 서버 또는 전자 장치(20)로부터 최신에 공개된 특허문서를 수신하여 메모리(104)에 저장할 수 있다.
일 실시예로, 서버(10)는 획득된 전체 특허문서 중 어느 하나의 특허문서가 노이즈 문서 조건을 충족하는지 여부를 확인할 수 있다. 구체적으로, 서버(10)는 노이즈 문서 조건을 충족하는 특허문서를 전체 특허문서로부터 제거할 수 있다. 여기서, 노이즈 문서 조건은 특허문서가 노이즈 문서 인지 여부를 확인하는 것으로써, 전체 특허문서 각각 내에 미리 설정된 기준 크기 이상의 공백을 갖는 경우, 미리 설정된 횟수 이상 동일한 문자가 반복되는 경우, 전체 특허문서 내에 텍스트와 이지미와의 비율이 미리 설정된 기준 비율 이상인 경우이다.
즉, 서버(10)는 전체 특허문서에 대해 노이즈 여부 인지 여부를 확인할 수 있다. 서버(10)는 노이즈 문서 조건을 만족하는 노이즈 문서를 제거할 수 있다.
단계 S420에서, 서버(10)는, 전체 특허문서 각각에 대해 형태소를 분석할 수 있다.
단계 S430에서, 서버(10)는, 형태소 분석 결과에 기초하여 전체 특허문서 각각에 포함된 단어를 워드 벡터로 변환할 수 있다.
이때, 서버(10)는 상술된 단어의 복수의 단어적 특성을 다차원의 실수 공간에 사영하여 벡터화하여 워드 벡터로 변환할 수 있다. 일 실시 예에서, 서버(10)는 단어를 Word2vec 학습을 이용하여 워드 벡터를 변환할 수 있다.
또한, 서버(10)는 단어를 200~300차원 정도의 벡터 공간에 표현할 수 있으며, 학습을 위하여 주변 단어가 만드는 의미의 방향성을 기반으로 타겟 단어를 예측하는 CBOW(Continuous Bag of Words)와 한 단어를 기준으로 주변에 올 수 있는 단어를 예측하는 Skip-gram모델을 활용할 수 있다.
이때, 두 워드 벡터 간의 거리는 두 워드 벡터 각각에 대응되는 단어 간의 유사성을 나타내고, 워드 벡터의 방향은 특허문서 내에서의 의미를 나타낼 수 있다.
단계 S440에서, 서버(10)는, 워드 벡터 간의 유사도를 산출할 수 있다.
구체적으로, 서버(10)는 두 워드 벡터 간의 코사인 유사도 산출하거나 코사인 유사도를 정규화하여 두 워드 벡터 간의 유사도로 산출할 수 있다.
예를 들어, 서버(10)는 실수 공간상의 두 워드 벡터 간 각도의 코사인 값을 이용하여 두 워드 벡터 간의 유사도로 산출할 수 있다. 또한, 서버(10)는 두 워드 벡터 간의 코사인 유사도 값을 0부터 1사이의 범위를 갖도록 정규화하여 두 워드 벡터 간의 유사도로 산출할 수 있다.
즉, 서버(10)는 전체 특허무선 내에 포함된 모든 단어들을 워드 벡터로 변환하고, 변환된 모든 워드 벡터 간의 거리를 코사인 유사도로 산출하며, 산출된 거리를 유사도로 산출할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 특허문서의 유의어 사전 생성 방법의 후처리 과정을 수행할 수 있다.
구체적으로, 서버(10)는 유사도에 기초하여 워드 벡터에 대응되는 단어가 유사어 그룹에 포함되는지 여부를 확인할 수 있다. 구체적으로, 서버(10)는 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만인지 여부를 확인하고, 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이면 두 워드 벡터에 각각 대응하는 단어가 동일한 유사어 그룹에 포함되는 것으로 확인할 수 있다.
이후, 서버(10)는, 유사도에 기초하여 워드 벡터에 대응되는 단어를 유사어 그룹으로 그루핑할 수 있다.
구체적으로, 서버(10)는 두 워드 벡터에 각각 대응하는 단어가 동일한 유사어 그룹에 포함되는 것으로 확인되면 해당 두 단어를 동일한 유사어 그룹에 포함시킬 수 있다.
한편, 서버(10)는 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이더라도 유사어 그룹에 이전에 포함된 단어에 대응되는 워드 벡터 간의 유사도가 미리 설정된 최대 유사도를 초과하는 경우, 유사도가 미리 설정된 기준 유사도 미만인 두 워드 벡터에 대응되는 단어들을 해당 유사어 그룹에 포함시키지 않을 수 있다.
이를 통해, 서버(10)는 유사어 그룹이 확장되어 어느 두 단어 간의 유사성이 감소되는 현상을 방지할 수 있다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 단어 획득방법을 구체적으로 설명하기 위한 흐름도이다.
구체적으로, 도 6a에 도시된 바와 같이, 단계 S505에서, 서버(10)는, 획득된 복수개의 단어 각각에 대한 의미 정보를 매칭할 수 있다.
이때, 의미 정보란, 단어에 대한 인텐트를 의미할 수 있다. 서버(10)는 단어에 대한 의미 정보를 획득하기 위해 인공지능 모델을 이용한 자연어 처리를 수행할 수 있다.
구체적으로, 인공지능 모델은 자연어 이해부를 포함하고, 자연어 이해부는 문장 분석 결과를 바탕으로 엔티티(entity) 및 문장에 포함된 단어의 의도(intent)를 파악할 수 있으며, 나아가, 자연어 이해부는 문장의 구조 및 주요 성분 분석을 통해 문장을 해석하고 통계/분석 등을 이용하여 문장 분석을 수행할 수 있다.
일 실시예로, 서버(10)는 '사과'가 포함된 문장을 분석하여 사과에 대한 의미 정보를 획득할 수 있다. 예를 들어, 문장 문석을 통해 획득된 단어가 "사과' 인 경우를 가정할 수 있다. 이때, 사과에 대한 의미 정보는 명사로서 과일의 한 종류를 나타내는 의미 정보일 수 있으나, 동사로서 다른 사람에게 잘못을 말하는 것을 나타내는 의미 정보일 수도 있다. 서버(10)는 '사과'에 대한 복수개의 의미 정보 중 문장과 적합하다고 판단되는 의미 정보를 '사과'와 매칭할 수 있다.
단계 S510에서, 서버(10)는, 매칭된 의미 정보 및 대상특허문서를 바탕으로, 복수개의 단어 각각에 대한 정확도 점수를 획득할 수 있다.
이 경우, 서버(10)는 하나의 문장을 통해 획득한 단어에 대한 의미 정보 획득하나, 이를 통해 획득한 의미 정보는 부정확할 가능성이 있다. 따라서, 서버(10)는 문장을 포함하는 특허문서 전체를 바탕으로 단어에 매칭된 의미 정보의 정확도 점수를 획득할 수 있다.
따라서, 서버(10)는 문장 분석을 통해 획득된 단어의 의미 정보에 대한 정확도 점수를, 특허문서 전체에서 발견되는 동일한 단어에 대한 의미 정보를 바탕으로 획득할 수 있다.
예를 들어, '사과'가 포함된 문장을 분석하여 획득한 '사과'에 대한 의미 정보가 과일을 나타내는 사과에 대한 정보이지만, 문장을 포함한 특허문서 전체에서 검색되는 '사과'의 의미 정보가 다른 사람에게 잘못을 말하는 것에 대한 정보인 경우, 서버(10)는 기 매칭된 의미 정보를 낮게 설정할 수 있다.
단계 S515에서, 서버(10)는, 정확도 점수가 기 설정된 값 이하인 단어를 오류 단어로 판단할 수 있다.
즉, 서버(10)는 정확도 점수가 기 설정된 값 이하인 경우, 해당 단어에 매칭된 의미 정보가 잘못 매칭된 것으로 판단하고, 단어를 오류 단어로 획득할 수 있다.
한편, 도 6b에 도시된 바와 같이, 단계 S520에서, 서버(10)는, 오류 단어에 대한 복수개의 의미 정보를 획득할 수 있다. 구체적으로, 서버(10)는 오류 단어가 가지는 복수개의 의미 정보를 복수개의 특허문서로부터 획득할 수 있다.
단계 S525에서, 서버(10)는, 획득된 복수개의 의미 정보 각각에 대한 복수개의 가중치를 획득할 수 있다.
일 실시예로, 서버(10)는 오류 단어를 포함하는 대상특허문서를 바탕으로 가중치를 획득할 수 있다. 구체적으로, 서버(10)는 전체 특허문서에서 오류 단어를 포함하는 적어도 하나의 문장을 획득하고, 획득된 적어도 하나의 문장에 포함된 오류 단어와 동일한 단어에 대한 의미 정보를 획득할 수 있다. 서버(10)는 오류단어와 동일한 적어도 하나의 단어에 대한 의미 정보를 바탕으로, 복수개의 의미 정보에 대한 가중치를 획득할 수 있다.
단계 S530에서, 서버(10)는, 복수개의 가중치 중, 대상특허문서와의 연관도가 가장 높은 가중치를 획득할 수 있다.
단계 S535에서, 서버(10)는, 대상특허문서와의 연관도가 가장 높은 가중치에 대응되는 의미 정보를 오류 단어에 매칭할 수 있다. 즉, 서버(10)는 오류 단어에 대한 복수개의 의미 정보 중 가중치가 가장 큰 의미 정보를 오류 단어에 대한 의미 정보로 결정하고, 오류 단어를 수정할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 오류 단어는 단어에 잘못된 의미 정보가 매칭된 경우뿐만 아니라 형태소 분석 과정에서의 오류로 잘못 파싱된 단어일 경우일 수 있음은 물론이다. 일 실시예로, 단어 획득을 위한 문장이 "머신 러닝을 이용한 자연어 처리를 한다" 인 경우, 서버(10)는 머신, 러닝, 이용, 자연어, 처리를 단어로 획득할 수 있다.
이 경우, 형태소 분석의 오류로 인하여, 머신, 러닝, 을이용, 자연어, 처리와 같이 단어를 획득하는 경우가 발생할 수 있다. 이 경우, 서버(10)는 '을이용'을 오류 단어로 판단하고, 수정할 수 있다.
구체적으로, 서버(10)는 획득된 단어 각각에 대한 의미 정보를 획득한 후, 의미 정보와 대상특허문서와의 연관도를 바탕으로 오류 단어인지 여부를 판단할 수 있다. 일 실시예에 따라, 서버(10)는 획득된 단어가 기 설정된 빈도 이상 단어를 포함하는 대상특허문서에서 발견되는 경우, 해당 단어는 오류가 없는 단어로 판단할 수 있다. 또 다른 실시예로, 서버(10)는 단어가 전체 특허문서에서 기 설정된 빈도 이상 발견되는 경우, 해당 단어는 일반적으로 사용되는 단어로 판단하여 오류 단어가 아닌 것으로 판단할 수 있다. 또 다른 실시예로, 서버(10)는 단어에 대한 의미 정보를 찾지 못한 경우, 해당 단어를 오류 단어로 판단할 수 있다. 또 다른 실시예로, 서버(10)는 단어에 매칭된 의미 정보가 단어를 포함하는 대상특허문서와 이질적인 경우, 해당 단어를 오류 단어로 판단할 수 있다.
구체적으로, 서버(10)는 대상특허문서 전체에 포함된 단어를 획득하고, 획득된 단어 각각에 대한 의미 정보를 매칭하여 저장할 수 있다. 서버(10)는 매칭된 단어 및 의미 정보를 클러스터링하여 연관성있는 의미 정보를 가지는 복수개의 단어의 클러스터를 획득할 수 있다. 서버(10)는 복수개의 단어 클러스터 중, 클러스터에 포함된 단어가 기 설정된 개수 이하인 단어 클러스터를 획득할 수 있다. 이때, 기 설정된 개수란, 대상특허문서에서 사용된 복수의 동일한 단어에 대한 개수를 의미하는 것이 아닌, 서로 다른 형태를 가지는 복수개의 단어에 대한 개수를 의미할 수 있다. 예를 들어, 대상특허문서에서 "을이용" 이라는 단어가 복수번 검색된 경우라고 하더라도, "을이용"은 동일한 단어이기 때문에, 하나의 단어로 판단할 수 있다. 서버(10)는 상기 단계에서 획득한 클러스터에 포함된 단어를 오류 단어로 판단할 수 있다.
다만, 이에 한정되는 것은 아니고, 서버(10)는 복수개의 단어 클러스터 중, 다른 클러스터와의 거리가 기 설정된 거리 이상인 클러스터에 포함된 단어를 오류 단어로 판단할 수 있음은 물론이다. 구체적으로, 서버(10)는 복수개의 클러스터의 중심점을 획득하고, 획득된 중심점을 바탕으로 클러스터간의 거리를 판단할 수 있다. 예를 들어, 획득된 단어 클러스터가 제1 단어 클러스터 내지 제4 단어 클러스터일 수 있다. 이 경우, 서버(10)는 제1 단어 클러스터와 제2 단어 클러스터와의 거리, 제1 단어 클러스터와 제3 단어 클러스터와의 거리, 제1 단어 클러스터와 제4 단어 클러스터와의 거리를 각각 획득하고, 획득된 3개의 거리 모두가 기 설정된 거리 이상인 경우, 제1 단어 클러스터를 오류 단어로 판단할 수 있다.
한편, 도 6c에 도시된 바와 같이, 단계 S540에서, 서버(10)는, 대상특허문서에 포함된 문장에 대한 복수개의 단어를 획득할 수 있다.
구체적으로, 단일 단어들의 결합으로 복합 명사구가 형성되는 경우, 그 의미가 달라지는 경우가 있다. 따라서, 서버(10)는 단일 단어로부터 복합 명사구 세트를 획득할 필요성이 존재한다. 따라서, 서버(10)는 복수개의 단어를 바탕으로 복합 명사구 세트를 획득할 수 있다
예를 들어, "머신러닝을 이용한 자연어 처리를 한다"라는 문장을 분석한 결과 서버(10)는 머신, 러닝, 이용, 자연어, 처리의 단어를 획득할 수 있다.
단계 S545에서, 서버(10)는, 복수개의 단어의 조합으로 획득된 복수개의 복합 명사구 세트 후보를 획득할 수 있다.
예를 들어, 서버(10)는 획득된 단어의 조합으로부터 머신러닝, 러닝이용, 이용자언어, 자연어처리 등의 복합 명사구 세트 후보를 획득할 수 있다.
단계 S550에서, 서버(10)는, 획득된 복수개의 복합 명사구 세트 후보와 동일한 복합 명사구 세트가 대상특허문서에 포함되는 빈도를 획득할 수 있다.
단계 S555에서, 서버(10)는, 빈도가 기 설정된 빈도 이상인 복합 명사구 세트 후보를 복합 명사구 세트로 결정할 수 있다.
예를 들어, 서버(10)는 머신러닝은 총 301회, 러닝이용은 총 1회, 이용자 언어는 총 0회, 자연어처리는 총 58회 발견되는 것에 대한 정보를 획득하고, 출현 빈도가 기 설정된 빈도 이상인 복합 명사구 후보 세트를 복합 명사구 세트로 획득할 수 있다.
이때, 복합 명사구 세트 후보는 복합 명사구 세트 후보에 포함된 단어들의 순서 정보 및 이격 정보를 포함할 수 있다.
일 실시예로, 복합 명사구 세트는 둘 이상의 인접한 단어의 조합으로 결정되지만, 본 발명에서는 단어들이 이격된 단어의 조합 또한 복합 명사구 세트로 획득할 수 있다. 예를 들어, 서버(10)는 "복수개의 장치 중 제1 장치, 복수개의 장치 중 제2 장치, 복수개의 장치 중 제3 장치"가 포함된 문장에 서 복합 명사구 세트를 획득할 때, 복수개의 장치 중 제1 장치, 복수개의 장치 중 제2 장치 및 복수개의 장치 중 제3 장치를 독립된 복합 명사구 세트로 획득할 수 있으나, "복수개의 장치 중 (이격 단어 1) 장치"를 하나의 복합 명사구 세트로 획득할 수도 있음은 물론이다. 이때, 복합 명사구 세트는 이격 정보를 포함할 수 있다. 상술한 실시예에서 이격 정보란 단어 "중"과 단어 "장치" 사이에 1개의 단어가 포함되어 있다는 정보일 수 있다. 다양한 실시예에 따라, 단어와 단어 사이에 복수개의 단어가 포함될 수 있음은 물론이다.
또 다른 실시예로, 서버(10)는 복합 명사구 세트를 구성하는 단어의 최대 개수를 결정하고, 결정된 개수 내의 복합 명사구 세트를 획득할 수 있다. 구체적으로, 복합 명사구 세트 획득을 위한 문장에 포함된 단어가 n개이고, 단어간의 순서가 변경되지 않는 경우, 획득되는 복합 명사구 세트의 수는 개이고, 단어간의 순서가 변경되는 경우 획득되는 복합 명사구 세트의 수는 개이다. 따라서, 문장이 길어지면 길어질수록, 서버(10)는 복합 명사구 세트 검색을 위해 과도한 리소스를 투입하여야 한다. 따라서, 서버(10)는 복합 명사구 세트를 구성하는 단어의 최대 개수를 결정하고, 결정된 개수 내의 복합 명사구 세트를 획득할 수 있다. 이때, 서버(10)는, 단어 획득을 수행하는 대상특허문서와 동일한 기술 분야인 복수개의 특허문서를 획득하고, 획득된 특허문서에 포함된 복합 명사구 세트에 포함된 단어의 최대 개수를 복합 명사구 세트를 구성하는 단어의 최대 개수로 결정할 수 있다.
한편, 본 발명에 따른 복합 명사구 세트 획득 방법은 상술한 방법에 한정되는 것은 아니며, 다양한 방법에 의해 획득될 수 있음은 물론이다.
일 실시예로, 서버(10)는 복수개의 단어가 기 설정된 조건을 만족하는 경우, 복수개의 단어의 위치를 변경할 수 있다.
일반적으로, 문장에서 복합 명사구를 획득하고자 할 때, 문장에 포함된 단어의 순서를 변경하는 작업은 불필요하다. 예를 들어, "머신러닝을 이용한~~"의 문장에서 서버(10)는 "머신러닝"이란 복합 명사구 세트를 획득할 필요성이 있으나, 단어의 순서를 바꾼 "러닝머신"이란 복합 명사구 세트를 획득할 필요는 없을 것이다. 오히려 "러닝머신"의 복합 명사구 세트를 획득하는 경우, 전혀 다른 의미의 복합 명사구 세트를 획득하게 되어 본 발명에서 이루고자 하는 성능을 떨어트릴 여지도 존재한다.
그러나 기설정된 조건을 만족하면, 서버(10)는 문장에 포함된 단어의 순서를 변경하여 복합 명사구 세트 후보를 획득할 수 있다. 이때, 기 설정된 조건은, 복수개의 단어가 인접한 조건, 인접한 복수개의 단어 사이에 기 설정된 부호가 포함될 조건, 인접한 복수개의 단어 중 오른쪽에 위치한 단어가 괄호를 포함하는 조건 및 복수개의 단어가 서로 다른 언어인 조건일 수 있다.
예를 들어, 분석하고자 하는 문장이 "머신 러닝(Machine Learning)"을 포함하는 경우, 서버(10)는 머신, 러닝, Machine, Learning을 단어로 획득할 수 있다. 나아가, 서버(10)는 "머신 러닝 Machine Learning"을 복합 명사구 세트로 획득할 수 있다. 나아가, 서버(10)는 기 설정된 조건인 괄호 부호가 포함되어 있음을 판단하고, "Machine Learning 머신 러닝"을 복합 명사구 세트로 획득할 수 있다. 즉, 서버(10)는 "머신 러닝"이라는 복합 명사구(또는 단어) 및 복합 명사구(또는 단어)에 대한 다른 언어의 복합 명사구(Machine Learning)가 함께 존재하는 경우, 다른 언어로 표현되었으나, 동일한 의미를 가지는 두 복합 명사구(또는 단어)를 하나의 복합 명사구로 획득하고, 또한 두 복합 명사구의 순서를 변경하여 하나의 복합 명사구로 획득할 수 있다. 이는 각기 다른 언어로 작성된 특허문서를 비교하는 경우 비교의 효율성을 높일 수 있는 효과가 존재한다. 즉, 한글로 작성된 특허문서는 "머신 러닝(Machine Learning)"으로 표현되나, 영어로 작성된 특허문서는 "Machine Learning(머신 러닝)"으로 표현될 수 있으므로, 서버(10)는 두 가지 경우 모두 복합 명사구 세트로 획득하여 검색의 효율성을 높일 수 있다.
한편, 상술한 실시예에서는 기 설정된 부호가 포함 조건이 괄호 부호가 포함될 조건에 대하여 설명하였으나, 이에 한정되는 것은 아니다. 다양한 실시예에 따라, 기 설정된 부호는 하이픈(-), 슬래시(/), 물결표(~), 따옴표(' 또는 ")등의 부호일 수 있음은 물론이다.
이후, 서버(10)는 변경된 복수개의 단어를 복합 명사구 세트 후보로 결정할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서에 포함된 문장이 기 설정된 구조를 가지는 경우, 문장에 포함된 단어 중 기 설정된 구조에 대응되는 단어를 제외한 적어도 하나의 단어를 획득할 수 있다.
예를 들어, 기 설정된 구조는 "~는 ~로 정의한다"와 같이 정형화된 구조일 수 있다. 구체적으로 대상특허문서에서 "~는 ~로 정의한다", "이하 ~는 ~라고 한다." "~는 ~로 이해될 수 있다." "~는 ~라고 서술한다" 등과 같은 구조의 문장은 기술 분야에서 일반적으로 사용되지 않는 용어를 정의하기 위해 사용될 수 있다. 따라서, 서버(10)는 기술 분야에서 일반적으로 사용되지 않은 용어를 정의하는 문장을 판단하고, 판단된 문장에서 정의된 단어를 획득할 수 있다.
예를 들어, 분석하고자 하는 문장이 "머신 러닝은 OOO로 서술한다(또는 정의한다)."라는 문장인 경우, 서버(10)는 해당 문장이 기 설정된 구조라고 판단하고, 머신, 러닝, OOO의 단어를 획득할 수 있다.
이후, 서버(10)는 적어도 하나의 단어의 의미 정보를 획득할 수 있다.
구체적으로, 획득된 OOO의 단어가 기술 분야에서 통용되는 의미 정보를 가진 경우, 서버(10)는 OOO에 대응되는 의미 정보를 OOO에 매칭할 수 있다. 그러나, OOO 용어가 사용자가 새롭게 정의한 용어여서 의미 정보가 불명확한 경우, 서버(10)는 머신 러닝에 대응되는 의미 정보를 OOO의 의미 정보로 매칭할 수 있다.
이후, 서버(10)는 의미 정보에 대응되는 단어를 획득할 수 있다.
다만, 이에 한정되는 것은 아니고, 서버(10)는 머신 러닝과 OOO의 연관도가 기 설정된 연관도 이상인 경우, OOO의 단어를 머신 러닝의 단어로 교체할 수 있음은 물론이다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 특허 문서의 템플릿을 제외하고 단어를 획득할 수 있음은 물론이다.
구체적으로, 특허문서는 정형화된 문서로서 발명의 핵심적인 내용과는 크게 상관이 없으나, 필요한 필수 구성 요소를 정형화된 방법으로 서술한 문단이 존재할 수 있다. 따라서 정형화된 문단을 제거하고 단서 세트를 획득하는 경우, 서버(10)의 계산량을 줄일 수 있는 효과가 존재한다.
따라서, 서버(10)는 대상특허문서에 포함된 복수의 식별항목 정보 및 템플릿을 획득할 수 있다.
일 실시예로, 템플릿은 특정 위치에 존재하는 문단으로 설정될 수 있다. 예를 들어, 템플릿은 대상특허문서에 포함된 [발명을 실시하기 위한 구체적인 내용] 식별항목 다음 줄에 포함된 문장부터, [발명을 실시하기 위한 구체적인 내용] 식별항목에서 최초로 '도 1'의 단어가 검색되는 문장 이전까지의 텍스트일 수 있다.
또 다른 실시예로, 템플릿은 분석하고자 하는 대상특허문서의 작성자가 작성한 다른 특허문서와 공통된 부분을 의미할 수 있다. 즉, 서버(10)는 대상특허문서의 작성자를 판단하고, 판단된 작성자의 또 다른 특허문서를 획득하고, 획득된 복수개의 특허문서를 비교하고, 비교 결과를 통해 기 설정된 비율 이상 유사하다고 판단되는 문단 또는 식별항목을 템플릿으로 획득할 수 있다. 동일 작성자에 의해 작성된 특허문서는 문장 구조가 비슷할 가능성이 크기 때문에 서버(10) 유사판단의 기준을 문장 단위가 아닌, 문단 또는 식별항목으로 설정할 수 있다.
또 다른 실시예로, 서버(10)는 기 설정된 식별항목에 대응되는 텍스트를 템플릿으로 획득할 수 있다. 예를 들어, 서버(10)는 [도면의 간단한 설명], [부호의 설명] 등의 식별항목에 포함된 텍스트를 템플릿으로 획득할 수 있다.
상술한 실시예에서는 국내 출원을 위한 특허문서의 일반적인 식별항목에 대한 템플릿 획득 방법을 설명하였으나, 이에 한정되는 것은 아니다. 즉, 서버(10)는 PCT 출원을 위한 국문서식의 식별항목, PCT 출원을 위한 영문 서식의 식별항목, 나아가, 미국, 일본, 중국, 유럽 출원에 사용되는 서식의 식별항목 등 다양한 식별항목에 대한 템플릿을 획득할 수 있음은 물론이다.
이후, 서버(10)는 획득된 템플릿을 제외한 복수개의 문장을 획득할 수 있다.
이후, 서버(10)는 복수의 식별항목 각각에 가중치를 부여할 수 있다.
일 실시예로, 대상특허문서가 본 명세서와 동일한 서식 및 식별항목을 가지는 경우, 서버(10)는 발명의 명칭, 기술분야, 발명의 배경이 되는 기술, 해결하고자 하는 과제, 과제의 해결 수단, 발명의 효과, 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용, 부호의 설명, 청구범위, 요약, 대표도, 도면 식별항목 각각에 대한 가중치를 부여할 수 있다.
이때, 가중치는 다양한 방법에 의해 부여될 수 있다. 일 실시예로, 서버(10)는 기술분야, 발명의 배경이 되는 기술, 청구범위, 발명의 효과, 발명을 실시하기 위한 구체적인 내용, 부호의 설명, 도면의 간단한 설명, 요약, 해결하고자 하는 과제, 과제의 해결수단, 대표도의 순서로 높은 가중치를 부여할 수 있다.
또 다른 실시예로, 가중치는 대상특허문서에 포함된 단어(또는 복합 명사구 세트)각각의 중요도 스코어를 획득하고, 이를 바탕으로 식별항목별 중요도 스코어를 획득한 후 높은 중요도 스코어를 가지는 식별항목에 높은 가중치를 부여할 수 있다. 중요도 스코어란, 해당 단어(또는 복합 명사구 세트)가 특허문서에서 가지는 중요성을 나타내는 지표로, 중요도 스코어가 높은 단어(또는 복합 명사구 세트)일수록 해당 특허문서의 키워드일 수 있다.
한편, 식별항목별 중요도 스코어는 식별항목에 포함된 단어(또는 복합 명사구 세트)의 중요도 스코어를 합산한 후, 단어(또는 복합 명사구 세트)의 개수를 나눈 값을 의미할 수 있다. 이때, 식별항목별 중요도 스코어를 획득하는데 사용되는 단어(또는 복합 명사구 세트)는 식별항목에 포함된 모든 단어(또는 복합 명사구 세트)일 수 있으나 이에 한정되는 것은 아니다. 예를 들어, 식별항목별 중요도 스코어를 획득하는데 사용되는 단어(또는 복합 명사구 세트)는 해당 식별항목에 포함된 모든 단어(또는 복합 명사구 세트) 중, 템플릿으로 판단된 부분의 단어(또는 복합 명사구 세트)를 제외한 단어(또는 복합 명사구 세트)일 수 있음은 물론이다.
이후, 서버(10)는 복수의 식별항목 정보 각각의 가중치를 바탕으로 형태소 분석을 수행할 식별항목의 우선순위를 결정할 수 있다.
이후, 서버(10)는 결정된 우선순위에 따라 템플릿이 제외된 복수의 문장에 대한 단어를 획득할 수 있다.
즉, 서버(10)는 키워드가 존재할 가능성이 높은 식별항목을 먼저 분석하고, 분석된 내용을 바탕으로 상대적으로 중요도가 낮은 식별항목을 분석함으로써, 계산량을 감소시킬 수 있다. 나아가, 동일한 단어에 대한 서로 다른 의미 정보가 매칭된 경우, 서버(10)는 우선순위가 높은 식별항목에서 획득된 의미 정보를 정확한 의미 정보로 판단할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서에 이미지가 포함된 경우에도 이미지로부터 단어를 획득할 수 있음은 물론이다.
구체적으로, 서버(10)는 대상특허문서에 이미지가 포함된 경우, 이미지와 인접한 식별항목이 존재하는지 여부를 판단할 수 있다.
일 실시예로, 대상특허문서에 [수학식]의 식별항목이 존재하고, 식별항목 하단에 이미지가 존재하는 경우, 서버(10)는 이미지를 수학식에 대한 이미지로 판단할 수 있다. 수학식의 경우, 대상특허문서의 핵심적인 내용일 가능성이 높으므로, 서버(10)는 이미지에 포함된 수학식 텍스트를 획득할 수 있다.
또 다른 실시예로, 대상특허문서에 [화학식] 의 식별항목이 존재하고, 식별항목 하단에 이미지가 존재하는 경우, 서버(10)는 이미지를 화학식에 대한 이미지로 판단할 수 있다.
이후, 서버(10)는 식별항목이 이미지와 인접하는 경우, 이미지를 분석하여 이미지에 포함된 텍스트를 획득할 수 있다. 이때, 이미지 분석은 광학 문자 판독 방법(optical character recognition, OCR)에 의해 수행될 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 이미지가 화학식 이미지인 경우, 서버(10)는 화학식 구조를 분석하여 이미지에 대응되는 화학식을 획득할 수 있음은 물론이다.
이후, 서버(10)는 획득된 텍스트를 바탕으로 단어를 획득할 수 있다.
도 7은 본 발명의 일 실시예에 따른 중요도 스코어를 산출하는 방법을 구체적으로 설명하기 위한 흐름도이다.
단계 S610에서, 서버(10)는, 전체 특허문서의 전체 단어수 대비 전체 특허문서에서의 단어의 출현횟수의 제1 출현비율 및 전체 특허문서의 전체 문장수 대비 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수의 제2 출현비율에 기초하여 제1 세부 중요도를 산출할 수 있다.
구체적으로, 서버(10)는 전체 특허문서의 전체 단어수를 카운트하고, 전체 특허문서에서의 단어의 출현횟수를 카운트할 수 있다.
이후, 서버(10)는 전체 특허문서의 전체 단어수 대비 전체 특허문서에서의 단어의 출연횟수를 제1 출현비율로 산출할 수 있다.
이어서, 서버(10)는 전체 특허문서의 전체 문장수를 카운트하고, 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수를 카운트할 수 있다.
서버(10)는 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수 대비 전체 특허문서의 전체 문장수를 제2 출현비율로 산출할 수 있다.
이를 위해, 서버(10)는 전체 특허문서로부터 단어를 검색하고, 단어가 포함된 문장을 검색할 수 있다. 또한, 서버(10)는 전체 특허문서의 문장 성분을 분석하여 전체 단어수와 전체 문장수를 카운트할 수 있다.
최종적으로, 서버(10)는 제1 출현비율과 제2 출현비율에 기초하여 제1 세부 중요도를 산출할 수 있다.
이때, 서버(10)는 하기의 수학식 1을 이용하여 제1 세부 중요도를 산출할 수 있다.
<수학식 1>
여기서, W1은 제1 세부 중요도이고, wpw은 전체 특허문서에서의 단어의 출현횟수이고, WPW은 전체 특허문서의 전체 단어수이고, wps은 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수이고, WPS은 전체 특허문서의 전체 문장수이고, a1은 제2 출현비율의 조절 상수이다.
수학식 1을 살펴보면, 서버(10)는 전체 특허문서에서의 단어의 출현횟수가 많고 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적을수록 제1 세부 중요도를 크게 산출할 수 있다.
즉, 서버(10)는 전체 특허문서에서 하나의 문장에 단어가 중복하여 사용될수록 제1 세부 중요도를 크게 산출할 수 있다.
한편, 서버(10)는 제2 출현비율의 조절 상수를 증가시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적더라도 제2 출현비율을 증가시킬 있고, 제2 출현비율의 조절 상수를 감소시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 많더라도 제2 출현비율을 감소시킬 수 있다.
일 실시 예에서, 서버(10)는 대상특허문서에서의 단어의 제1 세부 중요도를 산출하는한 세부 중요도 산출 방법의 종류는 제한되지 않음을 유의한다.
예를 들어, 서버(10)는 텍스트 분석법 중 하나로 출연 빈도에 기초하여 중요도를 산출하는 TF-IDF(Term Frequency-Inverse Document Frequency) 분석법을 이용하여 제1 세부 중요도를 산출할 수 있다.
단계 S620에서, 서버(10)는, 특허분류정보의 전체 단어수 대비 특허분류정보에서의 단어의 출현횟수의 제3 출현비율 및 전체 특허문서의 전체 문장수 대비 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수의 제4 출현비율에 기초하여 제2 세부 중요도를 산출할 수 있다.
구체적으로, 서버(10)는 특허분류정보의 전체 단어수를 카운트하고, 특허분류정보에서의 단어의 출현횟수를 카운트할 수 있다.
여기서, 특허분류정보는 기술분야에 따라 특허를 분류할 수 있는 코드로써, IPC(International Patent Classfication), CPC(Cooperative Patent Classification) 및 F-Term 중 어느 하나일 수 있다.
이후, 서버(10)는 특허분류정보의 전체 단어수 대비 특허분류정보에서의 단어의 출연횟수를 제3 출현비율로 산출할 수 있다.
이어서, 서버(10)는 특허분류정보의 전체 문장수를 카운트하고, 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수를 카운트할 수 있다.
서버(10)는 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수 대비 전체 특허문서의 전체 문장수를 제4 출현비율로 산출할 수 있다.
이를 위해, 서버(10)는 특허분류정보로부터 단어를 검색하고, 단어가 포함된 문장을 검색할 수 있다. 또한, 서버(10)는 특허분류정보의 문장 성분을 분석하여 전체 단어수와 전체 문장수를 카운트할 수 있다.
최종적으로, 서버(10)는 제3 출현비율과 제4 출현비율에 기초하여 제2 세부 중요도를 산출할 수 있다.
이때, 서버(10)는 하기의 수학식 2를 이용하여 제2 세부 중요도를 산출할 수 있다.
<수학식2>
여기서, W2은 제2 세부 중요도이고, ipcw은 특허분류정보에서의 단어의 출현횟수이고, IPCW은 특허분류정보의 전체 단어수이고, ipcs은 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수이고, IPCS은 전체 특허문서의 전체 문장수이고, a2은 제4 출현비율의 조절 상수이다.
수학식 2를 살펴보면, 서버(10)는 특허분류정보에서의 단어의 출현횟수가 많고 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적을수록 제2 세부 중요도를 크게 산출할 수 있다.
즉, 서버(10)는 특허분류정보에서 하나의 문장에 단어가 중복하여 사용될수록 제2 세부 중요도를 크게 산출할 수 있다.
한편, 서버(10)는 제4 출현비율의 조절 상수를 증가시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 적더라도 제4 출현비율을 증가시킬 있고, 제4 출현비율의 조절 상수를 감소시켜 전체 특허문서의 문장 중에서 단어가 출현된 출현 문장수가 많더라도 제4 출현비율을 감소시킬 수 있다.
일 실시 예에서, 서버(10)는 특허문서에서의 단어의 제2 세부 중요도를 산출하는 한 세부 중요도 산출 방법의 종류는 제한되지 않음을 유의한다.
예를 들어, 서버(10)는 텍스트 분석법 중 하나로 출연 빈도에 기초하여 중요도를 산출하는 TF-IDF(Term Frequency-Inverse Document Frequency) 분석법을 이용하여 제2 세부 중요도를 산출할 수 있다.
단계 S630에서, 서버(10)는, 검색특허문서 각각의 참조 정보에 기초하여 검색특허문서 각각의 영향력 값을 산출하고, 영향력 값을 이용하여 검색특허문서의 제3 세부 중요도를 산출할 수 있다.
구체적으로, 서버(10)는 전체 특허문서 중에서 중요도 스코어의 산출 대상이 되는 단어를 포함하는 검색특허문서를 검색할 수 있다.
서버(10)는 검색특허문서 각각의 참조 정보에 기초하여 검색특허문서 각각의 영향력 값을 산출할 수 있다.
구체적으로, 서버(10)는 검색특허문서의 참조 정보인 출원인, 발명자, 권리자 중 하나 이상이 다른 특허문서과 동일한 항목의 개수, 참조 정보인 인용 횟수 및 피인용 횟수에 기초하여 영향력 값을 산출할 수 있다.
즉, 서버(10)는 검색특허문서가 다른 특허문서와 관련된 정도를 영향력 값으로 산출할 수 있다. 예를 들어, 서버(10)는 검색특허문서는 여러 특허문서로부터 인용될 때, 해당 특허문서에 검색특허문서가 영향력을 끼친 것으로 판단하여 검색특허문서의 영향력 값으로 산출할 수 있다.
서버(10)는 검색특허문서 각각에 대해 산출된 영향력 값을 이용하여 검색특허문서의 제3 세부 중요도를 산출할 수 있다.
구체적으로, 서버(10)는 검색특허문서 각각에 대해 산출된 영향력 값의 평균을 산출하고, 산출된 평균을 제3 세부 중요도로 산출할 수 있다.
이때, 서버(10)는 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 각각에 대응하여 설정된 최소 세부 중요도 값과 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 각각을 대소 비교하고, 최소 세부 중요도 값 미만이 세부 중요도에 대해 재산출 과정을 수행할 수 있다.
이후, 서버(10)는 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도가 최소 세부 중요도 값 이상이면 제1 세부 중요도, 제2 세부 중요도 및 제3 세부 중요도 중 복수를 합산하여 중요도 스코어로 산출할 수 있다.
서버(10)는 산출된 중요도 스코어를 내부의 메모리 또는 프로세서로 출력하거나, 외부 서버로 송신할 수 있다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 유사특허문서 획득 방법 및 유사 문장 판단 방법을 설명하기 위한 흐름도이다.
구체적으로, 도 8a에 도시된 바와 같이, 단계 S705에서, 서버(10)는, 대상특허문서에 포함된 복수개의 단어를 획득할 수 있다.
단계 S710에서, 서버(10)는, 획득된 복수개의 단어를 클러스터링하여 복수개의 대상특허 클러스터를 획득할 수 있다.
이때, 본 발명에 따른 클러스터링은 다양한 클러스터링 기법이 적용될 수 있다. 일 실시예로, 서버(10)는 엘라스틱 서치(Elasticsearch clustering) 클러스터링 기법을 이용하여 복수개의 대상특허 클러스터를 획득할 수 있다. 또 다른 실시예로, 서버(10)는 K-means 클러스터링, DBSCAN((Density-based spatial clustering of applications with noise) 클러스터링, Hierarchical 클러스터링, 혼합 가우시안 클러스터링 기법 중 적어도 하나의 클러스터링 기법을 이용하여 복수개의 대상특허 클러스터를 획득할 수 있다.
단계 S715에서, 서버(10)는, 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점 및 대상특허 클러스터에 포함된 단어의 수를 바탕으로 대상특허문서의 위치를 판단할 수 있다.
일 실시예로, 대상특허 클러스터의 중점은, 해당 클러스터에 포함된 복수의 단어의 위치를 바탕으로 획득될 수 있으며, 대상특허문서의 위치는 복수의 대상특허 클러스터의 중점들에 대한 무게중심일 수 있다.
단계 S720에서, 서버(10)는, 특허문서에 포함된 복수개의 단어를 획득하고, 획득된 복수개의 단어를 클러스터링하여 복수의 특허 클러스터를 획득할 수 있다.
단계 S725에서, 서버(10)는, 복수개의 특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 복수개의 특허 클러스터 각각에 대한 복수개의 중점 및 특허 클러스터에 포함된 단어의 수를 바탕으로 특허문서의 위치를 판단할 수 있다.
일 실시예로, 특허 클러스터의 중점은, 해당 클러스터에 포함된 복수의 단어의 위치를 바탕으로 획득될 수 있으며, 특허문서의 위치는 복수의 특허 클러스터의 중점들에 대한 무게중심일 수 있다.
단계 S730에서, 서버(10)는, 대상특허문서의 위치 및 특허문서의 위치가 기 설정된 거리 이내인 경우, 특허문서를 유사특허문서로 결정할 수 있다.
일 실시예로, 서버(10)는 대상특허문서의 위치로부터 기 설정된 거리 이내에 존재하는 복수개의 특허문서를 유사특허문서로 결정할 수 있으며, 대상특허문서와의 거리가 가까운 유사특허문서 순으로 결정된 복수의 유사특허문서를 정렬할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서 및 유사특허문서로부터 복수의 문장을 획득하여 중요도 순으로 정렬할 수 있다.
구체적으로, 서버(10)는, 상기 대상특허문서 및 상기 유사특허문서에 포함된 복수의 문장 각각에 대한 복수개의 단어를 획득할 수 있다.
이후, 서버(10)는, 상기 획득된 복수개의 단어 각각에 대한 복수개의 중요도 스코어를 획득할 수 있다. 중요도 스코어를 획득하는 방법은 후술한다.
이후, 서버(10)는, 상기 복수개의 중요도 스코어를 바탕으로 상기 대상특허문서에 포함된 문장의 중요도 스코어를 결정할 수 있다.
일 실시예로, 서버(10)는 복수개의 단어와 대상특허문서와의 연관도를 획득하고, 획득된 연관도가 기 설정된 값 이상인 단어의 중요도 스코어의 총 합을 문장의 중요도 스코어로 결정할 수 있다. 이때, 연관도는 다양한 방법을 통해 획득될 수 있다. 예를 들어 단어와 대상특허문서간의 연관도는 대상특허문서에 대응되는 IPC 분야에 대응되는 복수의 특허문서를 바탕으로 획득될 수 있다. 구체적으로, 단어와 대상특허문서간의 연관도는, 해당 단어가 IPC 분야에 대응되는 복수의 특허문서에 출현한 횟수를 바탕으로 획득될 수 있다. 일 실시예로, 해당 단어가 IPC 분야에 대응되는 복수의 특허문서에 출현한 횟수가 높을수록, 단어와 대상특허문서간의 연관도가 높아질 수 있다.
이후, 서버(10)는, 상기 복수의 문장 각각의 중요도 스코어를 바탕으로 상기 복수의 문장을 중요도 순으로 정렬할 수 있다.
나아가, 서버(10)는 복수의 문장을 n개의 그룹으로 그루핑할 수 있다. 이때, 복수의 문장을 그루핑하는 방법은 다양할 수 있다. 일 실시예로, n개의 그룹은 동일한 개수의 문장을 포함하도록 그루핑될 수 있다. 또 다른 실시예로, n개의 그룹은, 기 설정된 중요도 스코어에 따라 그루핑 될 수 있다. 설명의 편의를 위해, 이하에서는 제k 그룹에 포함된 문장의 중요도 스코어가 제k+1그룹에 포함된 문장의 중요도 스코어보다 큰 경우를 가정한다.
서버(10)는 중요도 스코어를 바탕으로 대상특허문서의 제1 문장 및 유사특허문서의 제2 문장을 획득할 수 있다. 구체적으로, 서버(10)는, 상기 대상특허문서에 포함된 복수의 문장을 중요도 스코어를 바탕으로 기 설정된 n개의 그룹으로 분류할 수 있다.
이후, 서버(10)는, 상기 유사특허문서에 포함된 복수의 문장을 중요도 스코어를 바탕으로 기 설정된 n개의 그룹으로 분류할 수 있다.
이후, 서버(10)는, 상기 제1 문장이 상기 대상특허문서의 n개의 그룹 중 제1 그룹에 포함되는 경우, 상기 제2 문장을 상기 유사특허문서에 포함된 전체 문장으로 획득할 수 있다.
이후, 서버(10)는, 상기 제1 문장이 상기 대상특허문서의 n개의 그룹 중 제k 그룹에 포함되는 경우, 상기 제2 문장을 상기 유사특허문서의 n개의 그룹 중, 제1 그룹 내지 제 (n-k+1)그룹에 포함된 문장으로 획득할 수 있다. 이때, n은 1 이상의 자연수, k는 n이하의 자연수일 수 있다.
예를 들어, 대상특허문서 및 유사특허문서가 3개의 그룹으로 분류된 경우를 가정할 수 있다. 이때, 제1 문장이 제1 그룹에 포함되는 경우, 서버(10)는 제1 문장과 유사특허문헌의 제1그룹 내지 제3그룹(즉, 유사특허문서 전체)에 포함된 모든 문장을 비교하여 평가 결과를 획득할 수 있다. 또한, 제1 문장이 제2 그룹에 포함되는 경우, 서버(10)는 제1 문장과 유사특허문서의 제1그룹 및 제2그룹에 포함된 모든 문장을 비교하여 평가 결과를 획득할 수 있다. 또한, 제1 문장이 제3 그룹에 포함되는 경우, 서버(10)는 제1 문장과 유사특허문서의 제1그룹에 포함된 모든 문장을 비교하여 평가 결과를 획득할 수 있다.
즉, 서버(10)는 문장의 중요도에 따라 중요한 문장이라고 판단되는 문장들에 대하여만 평가 결과를 획득함으로써, 불필요하거나 덜 중요한 문장에 대한 평가 결과 획득 과정을 방지하여 계산량을 줄일 수 있다. 구체적으로, 대상특허문서의 제1 그룹은 중요도가 높은 문장이므로 유사특허문서 전체와 비교하고, 대상특허문서의 제3 그룹은 중요도가 낮은 문장이므로 유사특허문서 중 중요도가 높은 제1 그룹의 문장과 비교함으로써, 서버(10)는 (덜 중요한) 대상특허문서의 제3 그룹과 (덜 중요한) 유사특허문서의 제3 그룹간의 비교는 생략할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(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의 값을 증가시킬 수 있다.
한편, 상술한 실시예에서는 대상특허문서 및 유사특허문서가 동일한 n개의 개수로 그루핑 되는 경우에 대해 설명하였으나, 이에 한정되는 것은 아니다. 예컨대, 대상특허문서와 유사특허문서를 서로 다른 개수로 그루핑될 수 있음은 물론이다.
한편, 도 8b에 도시된 바와 같이, 단계 S735에서, 서버(10)는, 제1 문장 및 제2 문장의 유사도 점수 및 비유사도 점수를 각각 획득할 수 있다.
구체적으로, 유사도 점수는 제1 문장과 제2 문장이 관련된 문장인지 여부를 판단하기 위한 지표이며, 비유사도 점수는 제1 문장과 제2 문장이 관련성이 없는 문장인지 여부를 판단하기 위한 지표이다.
일 실시예로, 유사도 점수 및 비유사도 점수는, 제1 문장 및 제2 문장에 포함된 단어의 의미 정보를 획득하고, 획득된 의미 정보가 동일 주제에 대한 의미 정보인지 여부를 판단하여 획득될 수 있다.
또 다른 실시예로, 서버(10)는 제1 문장 및 제2 문장의 문장 구조를 판단하여 유사도 점수 및 비유사도 점수 계산에 활용할 수 있다. 예를 들어, 서버(10)는 제1 문장 및 제2 문장의 문장 구조가 유사한 경우, 유사도 점수를 높이고, 제1 문장 및 제2 문장의 문장 구조가 비유사한 경우, 비유사도 점수를 높일 수 있다.
단계 S740에서, 서버(10)는, 비유사도 점수가 기 설정된 점수 이상인 경우, 제1 문장과 제2 문장은 관계없는 문장으로 판단할 수 있다.
단계 S745에서, 서버(10)는, 유사도 점수가 기 설정된 점수 이상인 경우, 제1 문장에 포함된 단어 중 제2 문장에 포함되지 않은 적어도 하나의 단어를 획득할 수 있다.
즉, 제1 문장과 제2 문장이 관련성이 있는 문장이라고 하더라도, 제1 문장과 제2 문장이 동일한 의미를 가지는 문장인 것은 아니다. 따라서, 서버(10)는 제1 문장과 제2 문장이 동일한 문장인지 또는 동일한 주제에 대한 문장이나 차이점이 존재하는 문장인지 여부를 판단할 수 있다.
일 실시예로, 서버(10)는 제1 문장과 제2 문장의 차이점을 판단하기 위하여 제1 문장에 포함된 단어 중 제2 문장에 포함되지 않은 적어도 하나의 단어를 판단할 수 있다.
또 다른 실시예로, 서버(10)는 제1 문장 및 제2 문장의 문장 구조를 판단할 수 있다.
단계 S750에서, 서버(10)는, 제2 문장에 포함되지 않은 적어도 하나의 단어 각각에 대한 적어도 중요도 점수를 획득하고, 획득된 적어도 하나의 중요도 점수 중 기 설정된 중요도 점수 이상인 단어가 존재하는지 여부를 판단할 수 있다.
단계 S755에서, 서버(10)는, 기 설정된 중요도 점수 이상인 단어가 존재하지 않는 경우, 제1 문장 및 제2 문장을 일치 문장으로 판단할 수 있다.
단계 S760에서, 서버(10)는, 기 설정된 중요도 점수 이상인 단어가 존재하면, 제1 문장 및 제2 문장을 불일치 문장으로 판단할 수 있다.
즉, 제1 문장의 적어도 하나의 단어가 제2 문장에 포함되어 있지 않은 경우라고 하더라도, 중요도 점수가 낮은 단어는 제1 문장과 제2 문장의 유사도와는 연관이 없는 경우가 존재할 수 있다. 따라서 서버(10)는, 제2 문장에 포함되지 않은 적어도 하나의 단어의 중요도 점수가 기 설정된 중요도 점수 이상인 경우의 단어를 획득하고, 획득된 단어를 바탕으로 제1 문장 및 제2 문장이 일치 문장인지 불일치 문장인지 여부를 판단할 수 있다.
이때, 서버(10)는 상술한 단계 S180에서, 제1 문장과 제2 문장이 관련성이 없는 문장인 경우에는, 제2 문장을 생성되는 선행기술조사보고서에 포함시키지 않을 수 있다. 서버(10)는 제1 문장과 동일한 제2 문장 또는 제1 문장과 유사한 제2 문장을 바탕으로 선행기술조사보고서를 생성할 수 있다.
일 실시예에 따라, 서버(10)는 대상특허문서의 복수의 문장을 획득하여 중요도 순으로 정렬하고, 중요도가 높은 문장부터 유사특허문서에 유사한 문장이 있는지 여부를 판단할 수 있다. 예를 들어, 서버(10)는 대상특허문서를 중요도 순으로 정렬하여, 제1-1문장 내지 제1-n문장을 획득할 수 있다.
서버(10)는 중요도가 가장 높은 제1-1 문장과 유사특허문서를 비교하여 제1-1 문장에 대한 유사특허문서의 제2 문장을 획득할 수 있다. 같은 방법으로, 서버(10)는 제1-2 문장과 유사특허문서를 비교하여 제1-2 문장에 대한 유사특허문서의 제2 문장을 획득하고, 제1-n 문장과 유사특허문서를 비교하여 제1-n 문장에 대한 유사특허문서의 제2 문장을 획득할 수 있다.
서버(10)는, 획득된 복수의 제2 문장 중, 제1 문장과 관련있는 문장만을 선별할 수 있다. 다양한 실시예에 따라, 서버(10)는 대상특허문서의 모든 문장(즉, 제1-1 문장 내지 제1-n 문장)에 대한 제2 문장을 표시할 수 있으나, 이에 한정되는 것은 아니며, 대상특허문서의 모든 문장 중 기 설정된 상위 중요도 문장(예를 들어 중요도 순으로 정렬한 결과 상위 30%에 해당하는 문장)에 대한 제2 문장만을 표시할 수 있음은 물론이다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 대상특허문서, 대상특허문서에 대한 적어도 하나의 유사특허문서의 청구범위, 대상특허문서 및 적어도 하나의 유사특허문서의 청구범위에 포함된 단어에 대한 대한 중요도 스코어를 바탕으로 대상특허문서의 특정문장이가 유사특허문서를 침해하는지 여부를 판단할 수 있다.
도 9는 본 발명의 일 실시예에 따른 유의어 사전을 생성하는 구체적인 방법을 설명하기 위한 흐름도이다.
단계 S810에서, 서버(10)는, 특허문서를 기초하여 Word2Vec 학습을 통해 단어를 워드 벡터로 변환할 수 있다.
단계 S820에서, 서버(10)는, 워드 벡터 중 어느 두 워드 벡터 간의 거리를 산출하고 산출된 거리를 유사도로 산출할 수 있다.
단계 S830에서, 서버(10)는, 워드 벡터 중 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만인지 여부를 확인하고, 워드 벡터 중 어느 두 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이면 해당 두 워드 벡터에 대응되는 두 단어를 유사어 그룹으로 그루핑할 수 있다.
단계 S840에서, 서버(10)는, 획득된 전체 특허문서 중 어느 하나의 특허문서가 노이즈 문서 조건을 충족하는지 여부를 확인하고, 노이즈 문서 조건을 충족하는 특허문서를 제거할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 워드 벡터들 중에서 기준 워드 벡터를 선택할 수 있다.
여기서, 기준 워드 벡터는 후술되는 유사어 그룹의 기준 단어에 대응되는 워드 벡터일 수 있다. 예를 들어, 기준 단어가 사과이면, 사과의 유사어에 포함되는 단어들이 유사어 그룹에 포함될 수 있다.
이후, 서버(10)는 기준 워드 벡터와 다른 워드 벡터 간의 유사도를 산출할 수 있다. 이때, 서버(10)는 상술한 유사도 산출 방법과 동일한 방법으로 기준 워드 벡터와 다른 워드 벡터 간의 유사도를 산출할 수 있다.
이어서, 서버(10)는 기준 워드 벡터와 다른 워드 벡터 간의 유사도에 기초하여 다른 워드 벡터에 대응하는 단어가 기준 워드 벡터에 대응되는 기준 단어를 기준으로 하는 유사도 그룹에 포함되는지 여부를 확인할 수 있다.
구체적으로, 서버(10)는 기준 워드 벡터와 다른 워드 벡터 간의 유사도가 미리 설정된 기준 유사도 미만이면 다른 워드 벡터에 대응하는 단어가 기준 워드 벡터에 대응되는 기준 단어를 기준으로 하는 유사도 그룹에 포함되는 것으로 확인할 수 있다.
이후, 서버(10)는 다른 워드 벡터에 대응하는 단어가 기준 워드 벡터에 대응되는 기준 단어를 기준으로 하는 유사도 그룹에 포함되는 것으로 확인되면 다른 워드 벡터에 대응하는 단어를 기준 단어를 기준으로 하는 유사도 그룹에 포함시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 제1 인공지능 모델 및 제2 인공지능 모델을 이용하여 평가 결과를 도출하는 과정을 설명하기 위한 예시도이다.
도 10에 도시된 바와 같이, 제1 인공지능 모델은 대상 특허문서를 입력값으로 입력받아, 대상 특허문서에 대한 유사 특허문서를 획득할 수 있다. 이때, 대상특허문서에 대한 유사 특허 문서는 복수개일 수 있음은 물론이고, 유사특허문서가 복수개인 경우, 서버(10)는 복수개의 유사특허문서를 대상특허문서와의 연관성을 바탕으로 정렬할 수 있음은 물론이다.
제1 데이터베이스는 전체 특허문서를 저장하기 위한 구성이다. 구체적으로, 제1 데이터베이스는, 전체 특허문서 각각에 대한 형태소 분석을 통해 전체 특허문서 각각의 단어를 획득하고, 획득된 단어에 대한 유의어 사전을 획득하고, 획득된 단어 각각에 대한 중요도 스코어를 획득하여, 획득된 중요도 스코어를 단어에 매칭하여 저장할 수 있다.
제1 인공지능 모델은 제1 데이터베이스에 저장된 전체 특허문서 중 대상특허문서에 대응되는 유사특허문서를 획득할 수 있다.
한편, 서버(10)는 제1 인공지능 모델을 통해 대상특허문서 및 유사특허문서가 획득되면, 대상특허문서 중 제1 문장을 추출하고, 유사특허문서 중 제2 문장을 추출할 수 있다. 제1 문장 및 제2 문장은 상술한 다양한 방법을 통해 획득될 수 있다.
나아가, 제2 인공지능 모델은제1 문장 및 제2 문장을 입력값으로 입력하여 제1 문장과 제2 문장에 대한 평가 결과를 획득할 수 있다. 이때, 평가 결과란, 제1 문장과 제2 문장이 일치 문장인지, 불일치 문장인지, 관계없는 문장인지에 대한 결과일 수 있으며, 상술한 다양한 실시예에 따라 획득될 수 있다.
제2 데이터베이스는, 특허문서 및 특허문서에 매칭된 선행조사보고서가 저장될 수 있다. 이때, 선행조사보고서는 특허문헌과 유사하다고 판단된 유사특허문서 및 특허문서의 특정 문장에 대응되는 유사특허문서의 특정 문장에 대한 정보를 포함할 수 있다.
도 11은 본 발명의 일 실시예에 따른 장치의 구성도이다.
프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 9와 관련하여 설명된 방법을 수행한다.
예를 들어, 프로세서(102)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하고, 획득된 적어도 하나의 단어의 중요도 스코어를 획득하고, 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하고, 대상특허문서에 포함된 복수의 문장을 획득하고, 유사특허문서에 포함된 복수의 문장을 획득하고, 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하고, 제1 문장 및 제2 문장을 제2 인공지능 모델에 입력하여, 제1 문장과 제2 문장에 대한 평가 결과를 획득하고, 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성할 수 있다.
한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 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) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10 : 서버
20 : 사용자 단말
20 : 사용자 단말
Claims (1)
- 특허문서의 유사도 판단 시스템의 제어 방법에 있어서,
서버가, 대상특허문서를 획득하는 단계;
상기 서버가, 상기 대상특허문서를 바탕으로 적어도 하나의 단어를 획득하는 단계;
상기 서버가, 상기 획득된 적어도 하나의 단어의 중요도 스코어를 획득하는 단계;
상기 서버가, 상기 대상특허문서를 제1 인공지능 모델에 입력하여 유사특허문서를 획득하는 단계;
상기 서버가, 상기 대상특허문서에 포함된 복수의 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장을 획득하는 단계;
상기 서버가, 상기 대상특허문서에 포함된 복수의 문장 중 제1 문장을 획득하고, 상기 유사특허문서에 포함된 복수의 문장 중 제2 문장을 획득하는 단계;
상기 서버가, 상기 제1 문장 및 상기 제2 문장을 제2 인공지능 모델에 입력하여, 상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계; 및
상기 서버가, 상기 평가 결과를 바탕으로, 상기 대상특허문서에 대한 선행기술조사보고서를 생성하는 단계를 포함하고,
상기 유사특허문서를 획득하는 단계는,
상기 대상특허문서에 포함된 복수개의 단어를 획득하는 단계;
상기 획득된 복수개의 단어를 클러스터링하여 복수개의 대상특허 클러스터를 획득하는 단계;
상기 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 상기 복수개의 대상특허 클러스터 각각에 대한 복수개의 중점 및 상기 대상특허 클러스터에 포함된 단어의 수를 바탕으로 상기 대상특허문서의 위치를 판단하는 단계;
특허문서에 포함된 복수개의 단어를 획득하고, 획득된 복수개의 단어를 클러스터링하여 복수의 특허 클러스터를 획득하는 단계;
상기 복수개의 특허 클러스터 각각에 대한 복수개의 중점을 획득하고, 상기 복수개의 특허 클러스터 각각에 대한 복수개의 중점 및 상기 특허 클러스터에 포함된 단어의 수를 바탕으로 상기 특허문서의 위치를 판단하는 단계; 및
상기 대상특허문서의 위치 및 상기 특허문서의 위치가 기 설정된 거리 이내인 경우, 상기 특허문서를 상기 유사특허문서로 결정하는 단계를 포함하고,
상기 제1 문장과 상기 제2 문장에 대한 평가 결과를 획득하는 단계는,
상기 제1 문장 및 상기 제2 문장의 유사도 점수 및 비유사도 점수를 각각 획득하는 단계;
상기 비유사도 점수가 기 설정된 점수 이상인 경우, 상기 제1 문장과 상기 제2 문장은 관계없는 문장으로 판단하는 단계;
상기 유사도 점수가 기 설정된 점수 이상인 경우, 상기 제1 문장에 포함된 단어 중 상기 제2 문장에 포함되지 않은 적어도 하나의 단어를 획득하는 단계;
상기 제2 문장에 포함되지 않은 적어도 하나의 단어 각각에 대한 적어도 중요도 점수를 획득하고, 상기 획득된 적어도 하나의 중요도 점수 중 기 설정된 중요도 점수 이상인 단어가 존재하는지 여부를 판단하는 단계;
기 설정된 중요도 점수 이상인 단어가 존재하지 않는 경우, 상기 제1 문장 및 상기 제2 문장을 일치 문장으로 판단하는 단계; 및
상기 기 설정된 중요도 점수 이상인 단어가 존재하면, 상기 제1 문장 및 상기 제2 문장을 불일치 문장으로 판단하는 단계를 포함하는 특허문서 유사도 판단 시스템의 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200021486A KR102383965B1 (ko) | 2019-10-14 | 2020-02-21 | 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190127327A KR102085217B1 (ko) | 2019-10-14 | 2019-10-14 | 특허문서의 유사도 판단 방법, 장치 및 시스템 |
KR1020200021486A KR102383965B1 (ko) | 2019-10-14 | 2020-02-21 | 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190127327A Division KR102085217B1 (ko) | 2019-10-14 | 2019-10-14 | 특허문서의 유사도 판단 방법, 장치 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210044145A KR20210044145A (ko) | 2021-04-22 |
KR102383965B1 true KR102383965B1 (ko) | 2022-05-11 |
Family
ID=81607242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200021486A KR102383965B1 (ko) | 2019-10-14 | 2020-02-21 | 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102383965B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102427136B1 (ko) * | 2021-10-29 | 2022-08-01 | (주)제이엘케이 | 유사한 문장을 검색하기 위한 방법 및 장치 |
KR102708215B1 (ko) * | 2023-11-21 | 2024-09-19 | 길준석 | 기술 정보를 연계, 가공 및 융합하여 기술 조합 정보를 제공하는 시스템 및 이의 제어 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101521862B1 (ko) | 2014-12-15 | 2015-05-21 | 한국과학기술정보연구원 | 특허문서 분류 시스템 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1156430A2 (en) * | 2000-05-17 | 2001-11-21 | Matsushita Electric Industrial Co., Ltd. | Information retrieval system |
KR20090088522A (ko) * | 2008-02-15 | 2009-08-20 | (주)한국아이피보호기술연구소 | 선행기술조사 시스템 및 방법 |
JP5448105B2 (ja) * | 2009-12-09 | 2014-03-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム |
KR101923146B1 (ko) * | 2016-11-24 | 2018-11-28 | 주식회사 솔트룩스 | 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법 |
KR102011667B1 (ko) * | 2016-11-29 | 2019-08-20 | (주)아크릴 | 딥러닝-기반 키워드에 연관된 단어를 도출하는 방법과 컴퓨터프로그램 |
KR102025805B1 (ko) | 2017-03-29 | 2019-11-12 | 중앙대학교 산학협력단 | 문서 유사도 분석 장치 및 방법 |
-
2020
- 2020-02-21 KR KR1020200021486A patent/KR102383965B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101521862B1 (ko) | 2014-12-15 | 2015-05-21 | 한국과학기술정보연구원 | 특허문서 분류 시스템 및 방법 |
Non-Patent Citations (1)
Title |
---|
곽재은, Non-stationary text data analysis with convolutional neural network and incremental clustering, 연세대학교 박사학위논문 (2018) |
Also Published As
Publication number | Publication date |
---|---|
KR20210044145A (ko) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102085217B1 (ko) | 특허문서의 유사도 판단 방법, 장치 및 시스템 | |
US11586637B2 (en) | Search result processing method and apparatus, and storage medium | |
KR102095892B1 (ko) | 인공지능 모델을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템 | |
US10664662B2 (en) | Multi-scale model for semantic matching | |
JP5825676B2 (ja) | ノン・ファクトイド型質問応答システム及びコンピュータプログラム | |
JP5281156B2 (ja) | 画像の注釈付け | |
CN110895559A (zh) | 模型训练、文本处理方法、装置以及设备 | |
KR102383965B1 (ko) | 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 | |
CN113220862A (zh) | 标准问识别方法、装置及计算机设备及存储介质 | |
KR102085214B1 (ko) | 특허문서의 단어 세트 획득 방법 및 시스템 | |
Talele et al. | Classification and prioritisation of software requirements using machine learning–a systematic review | |
CN108491375B (zh) | 基于CN-DBpedia的实体识别与链接系统和方法 | |
KR102315215B1 (ko) | 특허문서의 단어 세트 획득 방법 및 획득된 단어 세트를 바탕으로 특허문서의 유사도를 판단하기 위한 방법. | |
KR102405867B1 (ko) | 인공지능 모델을 이용한 특허문서의 중요도 판단 방법, 장치 및 시스템 | |
KR20210044146A (ko) | 특허문서의 유사도 판단 방법, 장치 및 시스템 | |
KR102300352B1 (ko) | 중요도 스코어를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템 | |
KR102263309B1 (ko) | 이미지 정보를 이용한 특허문서의 단어 세트 획득 방법 및 시스템 | |
KR20210039917A (ko) | 인공지능 모델을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템 | |
KR102472200B1 (ko) | 단어의 출현 비율을 이용한 중요도 스코어 산출 방법 | |
KR102315213B1 (ko) | 클러스터링을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템 | |
KR102315214B1 (ko) | 유사도 점수 및 비유사도 점수를 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템 | |
CN111708872B (zh) | 对话方法、装置及电子设备 | |
KR102297962B1 (ko) | 특허문서의 단어 세트 의미 정보 획득 방법 및 시스템 | |
KR102291930B1 (ko) | 복합 명사구를 포함하는 특허문서의 단어 세트 획득 방법 및 시스템 | |
KR102255962B1 (ko) | 템플릿 정보를 이용한 특허문서의 단어 세트 획득 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |