[ Project ]
1. 프로젝트 개요
- 분류: 특허 분석 플랫폼
- 일시: 2021.03. ~ 2021.12.
- 스택: Mongo DB, Django, Ubuntu, AWS
- 주제: 개인 특허 출원자를 위한 특허 빅데이터 분석 플랫폼
2. 프로젝트 소개
21세기, 첨단산업의 발전과 급변하는 산업환경에 따라 특허 및 R&D 분야의 중요성은 점점 커지고 있습니다. 지식재산은 지속 가능한 경제성장을 위한 생산성 향상의 발판이자 국가 혁신역량 제고에 필수적인 요인으로 작용하며, 최근에는 ‘삼성-애플 특허소송’을 통해 그 중요성을 체감할 수 있었습니다.
이에 해마다 특허출원건수가 증가하고 있으며, 개인의 특허출원건수도 크게 늘고 있습니다. 대한민국은 GDP-인구 대비 특허출원율 1위이며, 개인출원건수도 2002년 대비 6배나 증가했습니다.
하지만 개인 출원자의 등록률은 13%로 상당히 낮습니다. 변리사 혹은 특허사무소에서 대행해서 특허를 출원했을 때의 등록률과 비교하면 무려 12배 차이입니다.
특허를 등록하기 위해서는 '100여 만원 이상의 막대한 비용'과 '1년 6개월의 긴 등록기간'이 필요합니다. 등록을 거부당할 경우 막대한 비용과 시간을 손해 보게 되며, 그 기간 동안 사업을 준비했다면 손실비용은 천정부지로 늘어납니다.
따라서, 개인은 막대한 비용을 지불해서라도 특허 사무소에 의뢰할 수밖에 없는 처지에 놓여 있습니다.
대부분의 개인출원자들은 '유사 특허'를 발견하지 못해 등록을 거부당합니다. 유사특허를 발견하기 위해서는 정확한 '선행기술조사'와 '특허분석'을 해야 합니다. 실제 특허사무소에서는 많은 인력과 시간을 들여, 특허 문서를 일일이 읽고 분류하고 분석합니다. 하지만 개인은 그러한 작업을 할 전문성, 시간, 노동력이 절대적으로 부족합니다.
결국, 미숙한 특허조사 때문에 유사특허를 발견하지 못하고 출원했다가 등록이 거부당하는 불상사가 생깁니다.
해당 프로젝트는 개인 특허 출원자가 막대한 비용을 들여 특허 대리인에게 의뢰하지 않고도 특허 분석을 할 수 있도록, 자연어 처리를 이용해 특허 분석을 실시했습니다.
● 프로젝트 배경
- 대한민국은 GDP-인구 대비 특허 출원율 1위이며, 2002년 대비 개인출원건수가 6배나 증가했음에도 등록률이 13%로 저조함
- 대부분의 개인 출원자는 '유사 특허'로 등록을 거부 당함. 이는 개인이 특허분석을 통해 유사 특허를 발견하지 못했기 때문에 발생 ( 특허조사에 필요한 전문성, 시간, 노동력 모두 부족 )
- 특허 등록은 막대한 비용을 지불해서 특허 대리인에게 의뢰해야만 하는 실정
● 프로젝트 목표
- 어려운 특허분석을 자연어 처리기법을 이용해서 쉽고 빠르게 해결
- Word2Vec, LDA 토픽 모델링 기법으로 유의한 검색식 도출
- LSA 기법을 통해 유의한 기술분류표 도출
- 특허분석 플랫폼 구축
3. 기능 및 구성
1) 자연어 처리기법을 이용한 특허 분석
본 프로젝트는 영문 특허문서를 전처리하고, 자연어 처리했던 위 프로젝트의 연장선에 있습니다. 특허문서를 전처리하는 상세한 과정은 위 링크에서 확인하실 수 있습니다.
영문은 Stanford NLP라이브러리를 이용하여 전처리 작업을 수행했으며, 빅데이터 분석에 유용한 분산분석 프레임워크인 Spark기반 scala언어를 사용했습니다.
<영문 전처리과정>
1. RDD변환: 데이터셋을 로드하고, Stanford NLP를 사용하기 위해 RDD(Resilient Distributed Dataset) 구조로 변환합니다.
2. 토큰화: 공백(띄어쓰기)을 기준으로 텍스트를 나누어, 단어 토큰으로 변환합니다.
3. 불용어 제거: be동사, 관사, 문장부호 등 의미 없는 단어들을 제거합니다.
국문은 한국어 자연어 처리 라이브러리인 KoNLPy를 이용하여 전처리하였으며, KoNLPy를 사용하기 위해, Python기반의 PySpark를 프레임워크로 사용했습니다. PySpark 역시, 빅데이터 분석에 유용한 분산분석 프레임워크를 제공합니다. (wapper를 통해 python환경 제공)
<국문 전처리과정>
1. DataFrame 변환: 데이터셋을 로드하고, Pandas의 DataFrame으로 변환합니다.
2. 명사 추출(Nouns): 한국어는 교착어로, 영어와 같이 띄어쓰기로 단어가 구분되지 않습니다. 따라서, KoNLPy의 Nouns() 함수를 통해서 명사만을 추출합니다. (조사 제거)
3. 불용어 제거: 조사, 감탄사, 문장부호 등 문장 구조를 위해 있지만, 의미가 없는 불용어들을 제거합니다.
- Word2Vec
Word2Vec은 말 그대로 Word를 Vec로 만드는 기법입니다. 토큰화 된 단어들을 벡터로 변환하고, 단어 간의 유사도를 측정하여 연관성 있는 단어들을 추정할 수 있습니다.
단어 간의 유사도는 코사인 유사도를 metric으로 사용하며, 높을수록 연관성이 깊습니다. 이러한 Word2Vec의 이론적 특징을 이용하여, 유효한 검색식을 추론할 수 있습니다.
먼저 Word2Vec분석을 통해 해당 특허 범위 키워드와 연관성이 높은(코사인 유사도가 높은) 단어들을 찾아냅니다. 키워드와 연관성이 높은 단어는, 같이 자주 쓰이는 단어들이며 함께 쓰인 문서의 빈도수가 높다고 추정할 수 있습니다. 따라서 키워드를 어떻게 이용하는지에 대한 중요 단어일 가능성이 높습니다.
예를 들어, ‘블록체인-전자투표’ 특허 범위에서 키워드인 ‘블록체인’을 Word2Vec 분석하여 유사도가 높은 단어를 추출합니다. 이렇게 추출된 단어는 ‘코인’, ‘네트워크’, ‘암호’ 등 해당 특허의 기술분야나 응용분야를 암시하는 단어일 가능성이 높습니다. 이렇게 검색된 단어 중에서 블록체인 및 전자투표와 관계없는 단어는 검색식에서 제거하고, 관계있는 단어는 추가함으로써 유효한 검색식을 추론할 수 있습니다.
- LDA(Latent Dirichlet Allocation)
LDA는 토픽 모델링 기법 중 하나로, 특정 문서들의 중요 토픽들과 관련된 키워드를 찾을 수 있습니다.
특허문서들은 여러 토픽들의 혼합으로 구성되어있으며, 토픽들은 확률 분포에 기반하여 단어를 생성한다고 가정합니다. LDA분석을 통해서 나온 주요 topic들의 키워드들을 통해 검색식 추출에 이용할 수 있습니다. 다만 LDA는 토픽을 추론하진 않습니다. 함께 많이 쓰인 단어들을 산출하며, 이러한 단어 집합을 통해 분석자가 토픽을 추론해야 합니다.
예를 들어, ‘블록체인-전자투표’ 특허 범위를 분석하면, 주요 토픽과 연관성이 높은 단어들이 산출됩니다. 만약 {블록체인, 네트워크, 관리자, 코인, 화폐}와 같은 단어 집합이 나오면 이는 ‘블록체인-코인’으로 토픽을 추론할 수 있고, 이는 전자투표와 관계없으므로 코인과 화폐를 검색식에서 제외할 수 있습니다.
gensim라이브러리를 사용하여 LdaModel을 학습하고, pyLDAvis를 통해 시각화했습니다. 왼쪽의 그래프는 현재 주요 토픽들 간의 관계를 나타내고 있으며, PCA(principal Component Analysis)를 이용하여 N개의 단어 벡터 차원을 2차원으로 축소하여 표현했습니다
오른쪽 막대그래프는 각 토픽 별로 주요 단어들을 출현 빈도가 높은 순서대로 보여주고 있습니다. relevance metric λ는 1이며, 해당 파라미터를 조정하여 토픽과 단어 간의 연관성 측정방식을 섬세히 조작할 수 있습니다.
[salience] P(w|t)는 해당 topic 중에 특정 w가 나올 확률입니다. 이는 조사나 문장부호 등과 같이 불용어들이 높게 측정되는 경향이 있습니다. 따라서, 해당 w가 나올 확률을 나누어준 [discriminative power] P(w|t)/P(w)을 통해 특정 문서에만 자주 나오는 단어를 찾아줄 수 있습니다. 마치 tf-idf와 비슷합니다.
즉, λ가 1에 가까울수록 Topic별로 가장 자주 등장하는 단어들을 우선적으로 키워드로 선정하고, λ가 0에 가까울수록 Topic 간의 차이가 많이 나는 단어를 키워드로 선정합니다.
- LSA(Latent Semantic Analysis)
LSA(Latent Semantic Analysis)는 truncated SVD(Singular Value Decomposition) 분해를 통해서 단어, 문서, 토픽 간의 스페이스를 구축하고 차원 축소를 통해 유의미한 정보를 이끌어낼 수 있습니다.
우선, SVD는 단어와 특허문서로 이루어진 A matrix를 U [단어(m) X 토픽(r)] * Σ[토픽(r) X 토픽(r)] * V [토픽(r) X 문서(n)] 행렬곱 형태로 분해합니다. 이렇게 공간을 분해하면, 이전에는 보이지 않았던 문서, 단어, 토픽 간의 관계를 이끌어낼 수 있습니다. 하지만, 이대로 SVD를 수행하면 계산비용이 클뿐더러, 상대적으로 중요하지 않은 토픽들도 포함하고 있습니다.
따라서 Truncated SVD를 사용하여, 꼭 필요한 중요 토픽만 구하여 계산비용도 줄이고, 필요 없는 노이즈 데이터도 제거합니다. Truncated SVD는 SVD에 차원 축소 개념이 추가된 방법입니다.
토픽의 개수(k)를 작게 설정해서 중요 토픽에 대한 문서와 단어의 공간으로 분해합니다. k는 hyper parameter로 분석자가 직접 설정할 수 있습니다. 보통 k=10으로 설정하는 경우가 많으며, 10가지의 토픽에 대한 중요 단어와 문서를 탐색할 수 있습니다.
이러한 LSA의 특성을 이용하면, Term-Topic space로부터 검색식 키워드도 찾을 수 있으며, Topic-Doc space로부터 기술분류도 탐색할 수 있습니다. 여기서 기술분류란, 특허 범위 내 핵심 기술분야들을 분류한 표를 말하며, 출원자가 해당 특허 범위를 이해하는 데에 중요한 지표가 되는 자료입니다.
2) 미들서버를 통한 특허 API 처리
사용자가 입력한 특허검색식에 대한 검색 결과를 받기 위해서 특허 API를 사용합니다. 미들 서버에서는 검색된 특허문서를 토대로 빅데이터 분석을 진행하고 결과를 메인서버로 전달합니다.
이에 대한 자세한 과정은 위와 같습니다. 키프리스에 청구항 데이터를 요청하고 전달받는 과정에서 어려움이 있어, 지인인 '박정현' 엔지니어의 도움을 받았습니다.
Go언어를 사용한 미들 서버로, 도움받은 코드는 위 링크에서 보실 수 있습니다.
Django 웹 프레임워크 기반의 메인서버는 AWS를 통해서 배포됩니다. 사용자는 배포된 서버를 통해서 특허분석 서비스를 이용할 수 있습니다. 메인서버에서는 사용자가 쉽게 이용할 수 있도록 각종 매뉴얼과 상세한 기능 설명을 제공하며, 특허 분석이 익숙하지 않은 초보자들도 이해하실 수 있습니다.
[ Patent Analyzer ]에서는 주요 3가지 분석 서비스 (Word2Vec, LDA, LSA분석)을 제공하며, 이를 통해서 유효한 검색식 추출 및 기술분류 분석을 할 수 있습니다. 위 자료는 이에 대한 간략한 인터랙션 과정을 설명하고 있습니다.
3) 특허 분석 플랫폼 서버 구성 및 배포
- 플랫폼 서버 구조
위 그림은 [ 개인 출원자를 위한 특허 빅데이터 분석 플랫폼 ] 서비스를 제공할 수 있도록 구축한 웹 서비스 구조도입니다. 위 구조도에서 각각의 요소들이 하는 일을 개괄적으로 살펴보면 다음과 같습니다.
Python 기반 웹 프레임워크인 Django를 사용하여 Main 서버를 구축하고 AWS를 통해 배포합니다. Main Server는 클라이언트와 직접 소통하며, 서비스를 제공하는 주요 서버로 아래와 같은 기능을 제공합니다.
- 클라이언트에게 웹 서비스 제공
- 클라이언트로부터 특허검색식 요청 받음
- 클라이언트에게 시각화된 특허 빅데이터 분석 결과를 출력
클라이언트는 메인서버로부터 특허분석 서비스에 대한 설명과 기능에 대한 자세한 소개, 서비스를 이용받을 수 있는 방법을 안내받습니다. 이후 클라이언트는 자신이 분석 중인 특허 범위를 포함하는 특허검색식을 통해서 특허 분석 서비스를 받을 수 있습니다.
사용자가 입력한 초기 특허 검색식은 메인 서버를 통해 미들 서버로 전송됩니다. 미들 서버에서는 전달받은 특허 검색식을 토대로 특허API에게 특허검색을 요청하고, 검색된 특허문서의 출원 번호를 응답받습니다. 미들서버는 해당 특허문서들이 Mongo DB에 있는지 확인하고, 없는 문서들의 출원명과 청구항을 특허 API에게 요청합니다. 이후, 검색된 특허문서들의 데이터를 확보한 미들서버에서 사용자가 요청한 특허 빅데이터 분석을 진행하고 메인서버로 분석 결과를 전송합니다.
- 검색된 특허문서 분석 [ W2V, LDA, LSA ]
- 자주 검색되는 특허문서 캐싱
- 영문 분석[Spark-Scala], 국문 분석[Pyspark-Python]
메인서버에서는 Json형식으로 온 특허 빅데이터 분석 결과를 해석하고, 클라이언트에게 시각화하여 출력합니다.
Open API 기반 특허검색 플랫폼인 KIPRIS Plus를 통해 특허검색 결과를 제공받습니다. 특허청에서 운용하는 Open API 플랫폼이지만, 무료로 운영하고 있지는 않습니다. 무료 API는 월 1000여 건만 검색할 수 있기 때문에, 사용이 매우 제한적입니다. (검색식 당 평균 검색 문건 수보다도 적은 숫자)
따라서 유료 API를 사용해야 제한 없이 이용할 수 있으며, 년 300만 원의 고액의 사용료를 지불해야 합니다. 현 프로젝트에서는 무료 API 기반으로, Mongo DB에서 캐싱되어있는 특허문서를 기반으로 제한된 검색어만 분석이 가능합니다.
- 특허검색 결과 실시간 제공 가능
- 국내/해외 특허 실용신안 공개 데이터 제공
- 무료 API [ 월 1000건 검색 가능 ]
- 상세 웹 페이지 UI/구조
메인서버로 구축한 사이트[Patent Analyzer]의 구성도입니다.
Home은 사이트의 대문으로 사용자가 가장 처음 방문하는 사이트입니다. Home에서는 사이트에 대한 간략한 소개와 함께, 서비스 기능을 소개하고 이용할 수 있도록 안내해줍니다.
Home 중단부에는 주요 서비스인 Word2Vec, LDA, LSA기법을 소개한 슬라이드쇼(Carousel)를 배치했습니다. 5초 간격으로 사진이 전환되며 해당 사진을 누르면 연결된 기능 페이지로 이동합니다.
Home 하단부에는 주요 서비스인 Word2Vec, LDA, LSA기법을 설명한 카드슬롯과 함께 공지게시판을 배치했습니다. More info버튼을 누르면, 해당 기법의 상세 설명 페이지로 이동합니다.
Analysis Description은 사이트에서 제공하는 특허 빅데이터 분석 서비스인 Word2Vec, LDA, 그리고 LSA의 자세한 기능 설명을 다루고 있습니다.
toggle 버튼을 이용해서 주요 서비스[Word2Vec, LDA, LSA]를 상세 설명합니다. (Accordion 방식)
Analysis Operation은 실제로 사용자에게 서비스를 제공하는 페이지입니다. 각 기능별로 별개의 페이지로 구분되어있습니다. 각 페이지에서는 유효한 특허 검색식 추출해주는 기능인 Word2Vec과 LDA 서비스를 제공하고, 특허 범위 내 핵심 기술분류를 추출해주는 LSA 서비스를 제공합니다.
특허검색식이 서툰 사용자를 위해 Modal형식으로 검색식 작성 도움말을 제공했습니다.
사용자가 입력한 특허 범위 내 특허문서를 Word2Vec 분석한 결과를 출력합니다.
*(AND), +(OR) 연산한 단어들을 중심으로 유사도 높은 키워드들을 추출합니다. 사용자는 출력된 키워드들을 통해 초기 검색식을 보완할 수 있습니다.
사용자가 입력한 특허 범위 내 특허문서를 LDA 토픽모델링한 결과를 출력합니다. 상위 10개의 토픽과 관련 있는 키워드와 중요도를 함께 출력했습니다. 사용자는 출력된 키워드들을 통해 초기 검색식을 보완할 수 있습니다.
사용자가 입력한 특허범위 내 특허문서를 LSA 분석한 결과를 출력합니다. 상위 10개의 테마와 관련 있는 키워드를 함께 출력했습니다. 사용자는 출력된 키워드들을 통해 핵심 기술을 추론하고 기술분류표를 예상해볼 수 있습니다.
Log in은 별도의 페이지 없이, Modal 창으로 구성했으며 어느 페이지에서든 내비게이션 바에 있는 Log-in 버튼을 통해서 로그인할 수 있습니다.
4. 프로젝트 결과
1) 프로젝트 성과 및 의의
- 개인 특허 출원자들도 쉽게 특허 조사 가능
빅데이터 분석기법을 이용해서, 특허분석(선행기술조사)에서 가장 어려운 부분인 검색식 추출 작업을 효과적으로 처리할 수 있습니다. 특허 범위 내에서 핵심 키워드들로 구성된 검색식을 추출하는 작업인 Word2Vec 기법과 LDA 토픽 모델링 기법을 통해서 비교적 굉장히 쉽게 수행할 수 있습니다.
- IP - R&D 특허분석도 손쉽게 가능
LSA 기법을 통해서 뽑아낸 핵심 테마와 그에 관련된 기술 키워드를 조합하여, 기술분류표를 추출할 수 있습니다. 기술분류표는 해당 특허 범위 내에 어떤 기술 분류가 있는지 알려주며, 해당 특허 범위를 이해하는 중요한 지표입니다.
- 값싸고 빠르게 특허조사가 가능한 분석도구
기존의 특허분석 프로세스는 '특허문서를 해석할 전문성'과 많은 '노동력', '시간'이 요구됩니다. 하지만 위 플랫폼을 이용하면 일일이 특허문서를 읽고 분류하고 분석할 필요 없이, 쉽고 빠르게 결과를 얻을 수 있습니다.
2) 프로젝트 기대효과
- 손쉬운 특허분석
해당 플랫폼은 특허분석을 잘 모르는 개인 특허 출원자도 쉽게 이용할 수 있습니다. 또한 전국의 초, 중, 고등학교에는 발명반이 있으며, 청소년은 1회 특허 등록이 무료이기 때문에 좋은 특허출원 기회를 가지고 있습니다. 하지만, 어려운 특허분석 때문에 선행기술조사조차 제대로 하지 못해 유사특허로 분류되는 경우가 대다수입니다. 이러한 청소년들에게 해당 프로젝트는 큰 도움이 될 수 있습니다.
또한 대학교 내 창업동아리나 발명동아리도 마찬가지입니다. 여태까지는 변리사에게 비싼 비용을 들여 특허출원 고문을 받을 수밖에 없었지만, 이 프로젝트가 또 다른 선택지가 생길 수 있습니다.
- 빠르고 꼼꼼한 특허분석도구
이 프로젝트는 좋은 특허분석 도구 또는, 보조 분석도구가 될 수 있습니다. 상세히 분석에 들어가기 전에 미리 특허 범위를 살펴보기에 좋으며, 상대적으로 굉장히 저렴하고 빠르게 분석 결과를 얻을 수 있습니다.
'Projects' 카테고리의 다른 글
[Project] STRC 러닝 데이터베이스: 러닝크루 기록 관리 (0) | 2022.06.05 |
---|---|
[Project] LoL_project: 리그 오브 레전드 승률 예측기 (3) | 2022.03.26 |
[Project] ST Fair Route: 모두가 공평한 네비게이션 앱 (0) | 2022.03.23 |
[Project] Cartpole: DQN, DDQN, Dueling DQN 강화학습 (0) | 2022.03.22 |
[Project] Patent Big Data Analysis: 자연어 처리를 이용한 특허문서 분석 (1) | 2022.03.17 |
댓글