• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (NTIS Center, Division of National S&T Data, Korea Institute of Science and Technology Information(KISTI), Korea.)
  2. (NTIS Center, Division of National S&T Data, Korea Institute of Science and Technology Information(KISTI), Korea.)



BERT, R&D data, Text similarity, Semantic similarity, Data verification

1. 서 론

정부는 연구개발을 통한 국가경쟁력 혁신과 성장잠재력 확충을 위해 과감한 투자를 시행하고 있다. 한국의 국가R&D 예산은 2012년 16조에서 2023년 31.1조로 연평균 약 6.2% 상승하였다. 기업체가 사용한 누적 연구개발비는 80조 8,076억 원으로 전체의 79.1%를 차지하고, 연구개발비 중 기업체가 사용한 연구개발비 비율은 주요국 중 가장 높은 수준이다(1,2). 또한 국가R&D 과제를 수행하는 기관도 2011년 6,655개에서 2020년 13,943개로 약 2배 증가함으로써 국가R&D가 국가 경제 전반에 끼치는 영향이 커지고 있다(3).

국가R&D 예산, 과제수행기관 및 참여연구원이 증가함에 따라 국가R&D 과제정보를 단순히 수집, 저장, 관리하는 것을 넘어 데이터를 가공 및 분석하여 연구자가 원하는 정보를 효과적으로 제공하는 것이 중요시되고 있다. 특히 국가R&D 과제 데이터를 바탕으로 기관의 R&D 성과, 보유기술의 우수성 등을 파악하고자 하는 필요성이 증가하고 있으며, 정부·부처에서는 연구수행 주체별, 지역별, 연구 분야별 R&D 현황 및 통계자료를 정책 입안 시 기초자료로 활용하고 있다.

국가연구개발사업 관련 정보를 연계·수집하여 통합 서비스하는 ‘국가과학기술지식정보서비스’(www.ntis.go.kr, 이하 NTIS)의 국가연구개발기관 서비스는 기관별 국가R&D 수행과제, 참여연구원, 특허, 논문 등의 R&D 정보를 제공한다(3). 즉, R&D과제 중심으로 구축된 국가R&D 데이터를 수행기관 중심으로 제공함으로써, 기업의 R&D 현황, 주요 연구 분야와 연구키워드 등 연구역량정보를 확인할 수 있다.

R&D 과제의 경우 과제관리시스템 또는 NTIS에 연구자가 수기로 과제정보를 입력하기 때문에, [김앤장법률 사무소, 김&장, 김앤장법률사무소], [한국과학기술정보연구원, KISTI]와 같이 동일 기관에 대하여 다른 명칭(이하 이형명)이 입력되기도 하며, 기관명과 사업자등록번호가 잘못 매칭된 채로 입력 및 수집되어 잘못된 데이터가 저장되기도 한다. 따라서 단순히 수기로 입력된 데이터를 기반으로 국가R&D 정보를 제공하는 것은 분석된 정보의 정확성을 담보할 수 없으므로 데이터에 대한 추가 검증 작업이 필요하다. 기존에는 사업자등록번호와 같은 식별코드를 기반으로 매핑을 하거나 기관명의 문자열 비교를 통하여 정확히 일치되는 여부를 기반으로 식별작업을 수행하였다. 그러나 기존 방법은 사용자의 오기 및 이형명을 고려하지 못하기 때문에 오기와 이형명을 가진 동일한 수행기관의 정보가 개별화되고 통합되지 않아 정보가 오분류될 수 있다. 그러므로, 본 논문에서는 이러한 문제점을 해결하기 위하여 BERT(4)를 활용한 의미론적 유사도와 최장 공통 부분 문자열(Longest Common Substring, LCS) 알고리즘 기반 문자열 유사도를 활용한 하이브리드 시스템인 SMART-ID를 제안한다. 이는 R&D 수행기관 식별정보 갱신 자동화 및 R&D과제 데이터의 기관명 검증, R&D과제 데이터 내 기관 식별코드 할당, 텍스트 기반 수행기관 검색을 수행한다.

2. 데이터

2.1 국가 R&D 데이터

NTIS는 18개 부처·청(17개 대표전문기관), 10대 연구개발성과 관리·유통 전담기관 등과 연계하여 국가연구개발사업 관련 정보를 수집, 공동활용하는 국가R&D 지식정보 포털이다(3). 국가연구개발혁신법과 동법 시행령에서 정의하는 연구개발정보의 수집·생산·관리 및 활용 등 연구개발정보의 처리에 관한 범위, 시기, 방법 등을 규정하는 ‘국가연구개발정보처리기준’(596개 항목) 중 NTIS 관리 항목은 Table 1과 같다. 국가연구개발 과제, 성과, 연구자, 연구시설장비 및 재료 등 총 437개 항목으로 구성된다.

본 논문에서는 국가R&D 데이터 중 R&D과제 데이터만 다룬다. R&D과제의 수행기관명이 제대로 입력되어 있는지 검증하고, 수행기관명 검색을 통하여 정확한 수행기관의 연구기관정보를 얻는 것을 목적으로 한다. 본 논문에서 사용하는 R&D과제 데이터는 연구과제 코드, 수행연도, 수행기관명, 연구책임자, 참여연구원 정보 등 14개의 컬럼으로 구성되며, 각 과제당 하나의 행(row)으로 구성된다.

표 1 국가연구개발정보표준 항목 구성(과학기술정보통신부고시 제2020-102호, 2020)

Table 1 National R&D information standard item composition (Ministry of Science and ICT Announcement No. 2020-102, 2020)

국가연구

개발과제

국가연구

개발성과

연구자

연구시설

장비 및 재료

총합

항목수

166

167

49

55

437

개방

항목수

133

164

12

48

357

2.2 R&D 수행기관 데이터

NTIS에서는 2020년부터 기관 중심의 R&D정보를 다양한 관점으로 보여주는 국가연구개발기관 서비스를 제공하여 R&D 역량을 보유한 기관 탐색을 지원하고 있다(3). 현재 2010년부터 국가연구개발 사업·과제를 수행한 기관과 기업에 대한 정보를 기반으로 R&D 현황정보를 제공하고 있으며, 데이터의 단계적 확대를 위해 수행기관 데이터 구축방안을 개선하고 있다. 2002년부터 2009년까지의 국가R&D 수행기관 정보는 기관명으로 식별 가능하며, 2010년부터 사업자등록번호를 추가적으로 수집하여 동일 기관명-다른 기관을 뜻하는 ‘이형명’에 대한 식별체계를 마련하였다. 수집한 기관정보는 대표전문기관의 정보 입력·관리정책과 정보 입력자의 성향에 따라 Table 2와 같이 다양하게 입력되어 있다. 연구자·회원정보의 소속기관, 특허, 논문 등의 소속기관 정보 등에 기관정보들이 포함되어 있으며 입력자에 따라 여러 이형명으로 입력되어 있다. 사용자 입력 오류(오타 등 포함), 잘못된 데이터 입력 등 데이터의 오류도 수집된 데이터에 포함되어 있다. 기관 중심의 R&D정보를 제공하기 위해서는 과제, 연구자, 성과 등 다양한 형태의 기관정보를 기관식별체계에 매핑할 수 있는 방안과 함께 입력 오류를 정제·검증하여 데이터의 품질을 높이는 지속적인 노력이 필요하다. 또한, 복수의 사업자등록번호를 보유하고 있는 기관의 경우 관련 사업자등록번호를 기관대표번호로 통합하여 제공할 수 있는 대표기관 구축방안도 필요하다.

3. 텍스트 유사도 분석

3.1 문자열 비교 유사도

문자열 유사도는 두 문장의 동일 문자 비율을 기반으로 유사도를 측정하는 방법이다. 대표적인 방법으로는 최장 공통 부분 문자열(Longest Common Substring, LCS) 알고리즘, 편집거리 알고리즘, N-gram 알고리즘이 있다. LCS 알고리즘은 수식(1)과 같이 두 문장 간의 공통된 가장 긴 문자열의 길이를 찾는 방식이다. 편집거리 알고리즘은 레벤슈타인 알고리즘이라고도 부르며, 수식(2)와 같이 두 문자열이 같아지기 위하여 필요한 삽입, 삭제, 변경 등 조작의 횟수를 구하는 방식이다. N-gram은 각 문자열을 N개의 연속된 단어 나열 리스트로 생성한 다음, 같은 단어 나열이 몇 개인지 확률로 나타낸 방법이다.

기관명은 짧은 텍스트를 구성되어 있으며 유사한 단어를 포함하는 경우가 많고 단어의 순서가 중요한 특성을 가진다. 예를 들어 ‘한국과학기술정보연구원’의 경우, ‘한국과학기술연구원’, ‘한국정보기술연구원’, ‘한국과학기술원’ 등과 ‘한국’, ‘과학’, ‘기술’, ‘정보’, ‘연구원’이라는 단어가 중복적으로 사용된다. ‘한국과학기술정보연구원’의 경우와 같이 유사한 기관명을 문자열 비교 기반으로 구분하기 위해서는 각 단어의 순서를 고려한 방법이 효과적이다. 이와 같은 특성으로 인하여 연속된 글자수를 기준으로 문자열 유사도를 측정하는 LCS 알고리즘이 기관명 간의 문자열 비교 유사도 계산 시 가장 우수한 성능을 보였다. 본 연구에서는 LCS 알고리즘을 기반으로 기관명 간의 문자열 매칭 유사도를 계산한 뒤 쿼리 기관명의 글자수로 나누어 정규화한 후 사용하였다.

표 2 국가R&D 수행기관 이형명 예시 (출처:Reprinted from 10.23089/jdca.2021.4.1.010)

Table 2 Examples of variant names for national R&D organizations (Source:Reprinted from 10.23089/jdca.2021.4.1.010)

국가R&D 정보

신용정보회사

사업자등록번호

NTIS에 입력된 수행기관명

기관명

209-82-03522

KIST, 한국과학기술연구원, 한국과학기술연구원(KIST)

한국과학기술연구원

314-82-01980

kaist, KAIST, 한구과학기술원, 한국 과학기술원, 한국4차산업혁명정책센터, 한국과학기술연구원, 한국과학기술원, 한국과학기술원 KAIST 바이오융합연구소, 한국과학기술원 과학영재교육연구원, 한국과학기술원 산업경영연구소, 한국과학기술원 응용과학연구소, 한국과학기술원 의과학연구센터, 한국과학기술원 자연과학연구소, 한국과학기술원 정보전자연구소, 한국과학기술원(KAIST), 한국과학기술원(서울)

한국과학기술원

205-82-05232

고등과학원, 고등과학원(한국과학기술원부설), 한국과학기술원 고등과학원, 한국과학기술원부설 고등과학원

고등과학원

220-82-00707

KOTITI 시험연구원, KOTITI시험연구원, 사단법인 KOTITI 시험연구원, 사단법인 KOTITI시험연구원, 코티티시험연구원

(사)코티티시험연구원

101-01-75441

김앤장법률사무소, 김&장법률사무소

김앤장법률사무소

(1)
$L[i,\:j]=\begin{cases} 0 &{if}i=0 or j=0\\ L[i-1,\:j-1]+ 1&{if}x_{i}= y_{i}\\ \max(L[i-1,\:k],\: L[i,\: j-1])&otherwise \end{cases}$

(2)
$L_{a,\:b}(i,\:j)=\begin{cases} \max(i,\:j)&{if}\min(i,\:j)=0\\ \min cases L_{a,\:b}(i-1,\: j)+1&\\L_{a,\:b}(i,\:j-1)+1&\\L_{a,\:b}(i-1,\:j-1)(a_{i}\ne b_{i})& & otherwise \end{cases}$

L[i,j]: Length of longest common substring between X and Y

3.2 의미론적 유사도

의미론적 유사도 방법은 학습모델을 통하여 생성된 단어 및 문장의 임베딩을 서로 비교하여 비슷한 임베딩을 가지면 의미론적으로 유사하다고 판단하는 방법론이다. 단어 임베딩은 단어를 고밀도 숫자 벡터로 나타내는 방법으로, 의미론적으로 유사한 단어는 비슷한 숫자 벡터를 갖도록 학습함으로써 임베딩 벡터가 단어의 의미를 포함하도록 학습하는 방법이다. 대표적인 단어 임베딩 방법으로 word2vec(5), Glove(6), fastText(7) 등이 있으며, 충분한 데이터가 있는 경우 모델에 타겟 데이터를 학습하여 사용하며, 타겟 데이터가 적을 경우는 공개된 사전학습된 모델을 활용한다.

최근에는 BERT와 같은 언어모델을 기반으로 의미론적 유사도를 계산하는 방법이 우수한 성능을 보이고 있다. 그러므로 본 연구에서는 BERT를 이용하여 단어 혹은 문장 임베딩을 구하고, 임베딩 간의 코사인 유사도를 구하는 방법을 사용한다. Fig. 1과 같이 임베딩을 구하는 단계와 임베딩 간의 유사도를 구하는 단계로 구분된 2단계를 샴 신경망(Siamese Neural Network) 구조로 통합하여 두 문장 간의 유사도를 구하는 방법으로 많은 연구가 진행되고 있으며, 우수한 성능을 보이고 있다(8,9).

그림 1 BERT를 사용한 샴 신경망 기반 의미적 유사도 계산

Fig. 1 Semantic Similarity Calculation based on Siamese Neural Networks with BERT

../../Resources/kiee/KIEE.2023.72.9.1097/fig1.png

4. 하이브리드 R&D수행기관 검증 시스템

본 연구에서 제안한 SMART-ID 시스템은 기관식별 데이터인 R&D수행기관 데이터를 정답으로 하여 R&D과제 데이터의 수행기관 정보와 텍스트 유사도를 계산하고, 유사도 결과를 바탕으로 데이터를 검증한다. 또한, 제안 시스템의 텍스트 유사도 계산 기능을 활용하여 수행기관 정보 검색 기능도 제공한다.

그림 2 SMART-ID의 아키텍처 및 절차

Fig. 2 Architecture and Procedure of SMART-ID

../../Resources/kiee/KIEE.2023.72.9.1097/fig2.png

Fig. 2는 이러한 하이브리드 검증 시스템의 작동 아키텍처를 단계별로 설명한다.

그림 3 제안된 R&D 데이터 검증 방법의 절차

Fig. 3 Procedure of Proposed R&D Data Verification method

../../Resources/kiee/KIEE.2023.72.9.1097/fig3.png

Fig. 2과 같이 SMART-ID 시스템은 크게 전처리 모듈, 의미론적 유사도 계산 모듈, 의사결정나무 기반 분류 모델, 재순위화 모듈로 구분할 수 있다. 전처리 모듈은 기관명에서 특수기호, 숫자 등 불용어 및 텍스트 유사도 계산 시 불필요한 반복적인 단어를 제거한다. 예를 들어, ㈜, 주식회사, (사), 사단법인 등 기업의 고유명칭과 관련이 적은 단어를 제거한다. 주식회사, 사단법인과 같은 기관의 종류 및 속성과 관련된 정보는 신규 컬럼을 만들어 속성정보를 별개로 저장한다. 의미론적 유사도 계산 모듈은 BERT 기반 유사도 계산 기능, 문자열 매칭 유사도 계산 기능, 규칙 기반 선별 기능을 제공한다. 해당 모듈로 계산된 변수 정보를 기반으로 의사결정나무 기반 분류 모델 혹은 재순위화 모듈을 거쳐 R&D수행기관 데이터 정제, 기관식별코드 할당, 텍스트 기반 수행기관 검색과 같이, 3가지 작업을 수행할 수 있다.

첫째, SMART-ID 시스템을 통하여 과거 R&D과제 데이터에서 수행기관명이 제대로 입력된 데이터를 선별하고, 그 데이터를 기준으로 기구축된 R&D수행기관 데이터의 기관 이형명 리스트를 확장한다. 또한, 기구축된 R&D수행기관 데이터에 없는 기관 데이터를 추가함으로써 R&D수행기관 데이터를 자동 갱신시킬 수 있다. 갱신된 R&D수행기관 데이터를 활용하여 R&D과제 중 수행기관명을 잘못 입력한 건을 검증할 수 있다. 둘째, 매년 새롭게 입력되는 신규 R&D과제 데이터에 수행기관 식별코드를 할당할 수 있다. 사업자등록번호와 신용정보회사 API에 추가적으로 본 논문에서 제안하는 텍스트 유사도 기반 모듈을 활용함으로써 식별코드 할당 재현율을 높였다. 셋째, 의미론적 유사도와 문자열 매칭 유사도 점수를 함께 사용하는 하이브리드 검색방법으로 사용자가 입력한 기관명의 수행기관 식별코드를 조회할 수 있도록 함으로써, 검색 기관의 R&D 현황 데이터를 제공한다.

4.1 R&D 수행기관 식별정보 정제 및 갱신 자동화

Fig. 3과 같이 대표기관 코드와 이형명 리스트를 포함하고 있는 R&D수행기관 데이터를 정답으로 하여 R&D과제 데이터의 수행기관명이 옳게 입력되었는지 검증한다. 이에 따라 검증하고자 하는 R&D과제 데이터와 R&D수행기관 데이터를 사업자등록번호를 기준으로 병합하여, {검증 기관명, 정답 기관 이형명 리스트} 형태로 데이터를 변형한다.

의미론적 유사도 변수를 생성하기 위하여, KorSTS 데이터(10)를 학습한 Pororo 패키지(11)의 BERT 모델을 사용하여 검증 기관명과 정답 기관 이형명 리스트간의 유사도를 구한다. 유사한 기관명일수록 1에 가까운 값을 가지며, 상이할수록 0에 가까운 값을 가진다. 이때, R&D 과제 데이터의 수행기관명과 매칭된 대표기관 코드의 이형명 리스트가 1:N 관계이기 때문에, N개의 이형명 데이터에 대하여 의미론적 유사도 비교를 각각 N 번 수행하고, 가장 높은 유사도 점수를 저장한다. 즉, R&D과제 데이터의 수행기관명이 이형명 리스트에 있는 기관명 중 하나라도 일치하면 동일한 기관이라고 간주하는 것이다. 검증 소요시간을 줄이기 위하여 N 번의 유사도 계산의 작업을 모두 수행하기 전에 의미론적 유사도가 1이 나오면 해당 건에 대한 나머지 계산을 생략하였다.

문자열 매칭 기반 유사도 변수를 만들기 위하여, 검증 기관명과 정답 기관 이형명간의 LCS 알고리즘 기반으로 서로 중복되는 문자열을 가지고 있는 비율을 유사도로 계산한다. 예를 들어, ‘한국과학기술정보연구원‘과 ‘한국과학기술원’은 ‘한국과학기술’이라는 여섯 글자를 가장 긴 공통 문자열로 가진다. 이에 따라, 두 기관명 간의 문자열 매칭 기반 유사도는 높은 점수를 가지게 된다. 의미론적 유사도 변수 계산 시와 같이, N번의 유사도 계산 작업 시에 이형명 리스트에 있는 기관명 중 하나라도 완벽히 일치하면 유사도 변수를 1로 확정하고 해당 건에 대한 나머지 계산은 생략하였다. 문자열 매칭 기법은 간단하지만, 기관명을 구분할 때 계산 속도가 빠르면서도 가장 효과적인 방법으로 평가된다. 그러나 단순 문자열 비교를 통한 유사도 판별은 문자열의 정확한 일치를 기반으로 하기 때문에 사용자 오타, 표기 방법, 기관명의 변동, 기관명과 부서명이 같이 입력된 경우, 실제로는 동일한 기관명이지만 다르다고 분류할 수 있다. 이러한 문자열 일치 기반 유사도의 단점을 극복하고자 전처리 모듈을 사용하여 문자열 매칭에 방해가 되는 단어, 특수기호, 공백을 제거하였으며, 문자열 간 유사도를 의미론적 유사도를 활용하여 보완하였다. 두 유사도 변수가 생성되면, 두 유사도의 합(Summation) 등 새로운 변수를 조합하여 예측 모델의 새로운 변수를 생성한다.

본 연구에서는 검증 모델의 재현율을 향상하기 위하여 단순히 의미론적 유사도 점수와 문자열 매칭 기반 유사도 점수의 임계치를 활용한 규칙 기반 검증 대신, 분류 모델을 사용하여 R&D과제 데이터의 이형명 케이스가 누락되는 것을 최소화하고자 한다. 무작위 샘플링한 데이터 중 정확하게 입력된 데이터 50건, 부정확하게 입력된 데이터 50건, 총 100건을 직접 라벨링을 수행하였다. 라벨링된 소수의 데이터만을 사용하여 분류 모델을 학습하기 때문에 단순한 기계학습 모델인 의사결정나무(Decision Tree) 모델을 사용한다. 의사결정 나무 모델의 경우, 학습 데이터가 적은 경우에도 효과적이지만 예측 결과에 대한 설명이 직관적이기 때문에 데이터 검증용 모델로 적합하다고 판단하였다. 또한, 적은 데이터로 인한 과적합(Overfitting) 문제를 방지하기 위하여 모델의 깊이를 2로 제한함으로써 노이즈(Noise)에 강건한 모델로 설계하였다. 의사결정나무 기반 분류 모델을 통하여 R&D과제 데이터에 정확하게 입력되었다고 판단되는 기관명은 R&D수행기관 데이터의 이형명 리스트에 추가되도록 하여 R&D수행기관 데이터가 자동으로 갱신되도록 시스템을 구축하였다.

4.2 신규 R&D 과제 데이터 대상 기관식별코드 할당

4.1절이 과거 R&D과제 데이터를 기반으로 R&D수행기관 식별정보 갱신을 자동화하고 R&D과제 데이터를 검증하는 작업이었다면, 본 섹션에서는 갱신된 R&D수행기관 식별정보를 바탕으로 새롭게 추가된 R&D과제 데이터에 수행기관 식별코드를 부여하는 작업이다. 따라서 R&D수행기관 데이터에 존재하지 않는 기관명 데이터가 존재한다.

Fig. 4의 3가지 단계로 수행기관 식별코드 할당작업을 수행한다. 우선 사업자등록번호를 기준으로 R&D과제 데이터와 R&D수행기관 데이터를 매칭한다. 외국연구기관 혹은 R&D과제에 처음 참여한 수행기관 외에도 사업자등록번호가 변경된 경우 혹은 오기가 있는 경우도 사업자등록번호로 매칭이 되지 않는다. 미매칭된 건에 대하여 4.3절의 텍스트 유사도 기반 검색 모듈을 적용하여 R&D과제 데이터의 수행기관명과 가장 유사한 건의 수행기관 식별코드를 할당한다. 텍스트 유사도 기반 검색 모듈을 통해서 식별코드를 할당하지 못한 수행기관의 대부분은 해당연도에 처음 R&D과제에 참여한 수행기관이다. 이에 따라 신용정보회사 API를 통하여 해당 기관의 정보를 수집하여 R&D수행기관 데이터에 추가하고 해당 건에 대해서도 수행기관 식별코드를 부여한다.

그림 4 R&D 프로젝트 데이터 대상 기업 식별 코드 부여 절차

Fig. 4 Procedure to Assign Company Identification Code to R&D Project Data

../../Resources/kiee/KIEE.2023.72.9.1097/fig4.png

4.3 텍스트 기반 수행기관 검색

본 연구에서 제안하는 시스템은 국가R&D 과제 데이터의 수행기관 데이터 검증 이외에도 기관명을 통한 기관 검색에도 적용 가능하다. R&D과제 데이터의 수행기관명 검증을 통하여 갱신된 R&D수행기관 식별정보와 기관명 검색 쿼리를 비교하여 검색 기관명 쿼리와 가장 유사한 기관의 식별코드 및 해당 기관의 R&D 과제, 논문, 특허 등 부가 정보를 제공할 수 있다.

Fig. 4와 같이 먼저 사용자가 검색하고자 하는 수행기관명을 입력하면, 문자열 유사도 기반 필터링, 의미론적 유사도 기반 필터링, 재순위화(Re-ranking), 총 3단계를 거쳐 일치하는 기관정보를 확인할 수 있다. 먼저 문자열 유사도 기반 필터링을 통하여 검색어와 문자열 유사도가 임계치(0.7) 이상으로 유사한 R&D수행기관 식별정보만 필터링한다. 문자열 유사도 기반으로 1차 필터링된 건에 대해서 BERT 기반으로 의미론적 유사도를 구하고 임계치(0.5) 기반으로 필터링을 수행한다. BERT 기반으로 의미론적 유사도를 계산하는 것이 문자열 매칭 기반 유사도를 계산하는 것에 비하여 상대적으로 많은 시간이 소요됨에 따라, 문자열 유사도 기반 필터링된 케이스 대상으로만 의미론적 유사도 계산을 수행하여 BERT 모델 추론 횟수를 줄였다. 두 번의 필터링을 통한 결과를 문자열 유사도와 의미론적 유사도의 합계 수치를 기준으로 재정렬하여 재순위화 작업을 수행한다. 재순위화 결과 가장 유사한 수행기관 식별정보와 관련 연구성과 정보를 조회할 수 있도록 한다. 본 방식은 특히 오타에 강건한 장점을 보였다.

5. 실험 및 결과

본 연구의 실험 등 대상이 되는 R&D과제 데이터는 2013년부터 2021년까지의 국가연구개발사업 조사·분석 확정 데이터이며 총 679,866건이다. R&D과제 정보는 연구과제 코드, 수행연도, 수행기관명, 연구책임자, 참여연구원 정보 등 29개의 조사·분석 항목으로 구성된다. 본 논문에서는 R&D과제 데이터의 수행기관 검증을 목표로 하기 때문에 R&D과제 수행기관명, 사업자등록번호, 과제명, 과제코드를 사용하였다. R&D과제 데이터의 기관명 검증 실험을 위하여 분류 모델 학습 데이터로 100개, 추가적인 데이터 100개를 검증 데이터로 사용하였다. 200개를 제외한 나머지 데이터를 모두 테스트 데이터로 사용하였다. 실제 어플리케이션의 금전적, 시간적 비용 문제를 고려하여 학습 데이터 및 검증 데이터의 수를 최소화하였다. 또한 성능 검증 측면에서도 금전적 제약을 고려하여 R&D과제 데이터의 기관명 검증 실험과 텍스트 기반 수행기관 검색 실험의 성능 측정 시 각각 무작위 샘플링한 1,000건으로 성능을 측정하였으며, R&D과제 데이터 기관식별코드 할당 실험의 경우는 사업자등록번호 기준으로 할당되지 않은 1,364건에 대해서 성능을 측정하였다.

5.1 탐색적 데이터 분석: 기관 이형명 수

R&D수행기관 데이터 중 각 기관별 이형명 리스트의 84%는 하나의 기관명만 가지고 있으며, 16%의 데이터는 2개 이상의 이형명을 가지고 있다. 많은 이형명을 가진 기관은 대체로 대학이며, R&D수행기관 데이터 상에서는 서울대학교가 Table 3과 같이 105개의 이형명으로 가장 많은 이형명을 가지고 있다. 서울대학교 산하의 여러 학과에서 R&D과제 수행 이력이 많기 때문에 R&D과제 데이터에서 추출한 기관 이형명의 수가 많은 것으로 분석된다. Fig. 5Fig. 6의 상자 그림(Box plot)과 히스토그램을 통하여 기관 이형명 수가 1에 편향되어 있음을 확인하였다.

그림 5 이형 이름 수에 대한 박스 플롯

Fig. 5 Box Plot of the Number of Variant Names

../../Resources/kiee/KIEE.2023.72.9.1097/fig5.png

그림 6 이형 이름 수에 대한 히스토그램

Fig. 6 Histogram of the Number of Variant Names

../../Resources/kiee/KIEE.2023.72.9.1097/fig6.png

표 3 R&D과제 입력 기관 이형명 예시(서울대학교)

Table 3 Example of an institutional variant name entered in an R&D project conducted by Seoul National University

'서울대학교 공학연구소',

'서울대학교 아시아태평양법연구소',

'서울대학교 미국학연구소',

'서울대학교 환경계획연구소',

'서울대학교 기초과학연구원',

'서울대학교의과대학',

'서울대학교 융합대학원',

'서울대학교 화학공학과 화학공학과 화학공학과',

'서울대학교 의과대학',

'서울대학교 수의과대학',

'서울대학교 교육연구소',

...

'서울대학교 자연과학대학',

'서울대학교 나노응용시스템연구센터',

'서울대학교 법학연구소 환경·에너지법정책센터',

'서울대학교 서양음악연구소',

'서울대학교농생명과학공동기기원',

'서울대학교 종교문제연구소',

'서울대학교 경제연구소',

'서울대학교 간호대학',

'서울대학교 그린바이오과학기술연구원'

5.2 탐색적 데이터 분석: 기관명 길이

표 4 오입력된 수행기관명 예시 및 유사도(R&D과제 데이터)

Table 4 Examples of incorrect names of organizations in R&D project data and their similarities

Institution Name

(in R&D Data)

True name list

Semantic Similarity

String Matching Similarity

국민건강보험공단

마케시안

0.10

0.00

레이그리프

인벤

0.11

0.00

알피

로보프린트

0.12

0.00

라파엘모빌리티

아이맥스

0.13

0.00

하이닉스반도체

네오에코즈

0.13

0.00

더원에너지

빈센

0.15

0.00

강원대학교

LINC사업단

광주대학교, 광주대학, 광주대학교산학협력단

0.34

0.36

울산대학교

산학협력단

아산의료원, 서울아산병원, 서울아산병원(울산대부설)

0.45

0.26

신흥정공

부경대학교, 부경대학, 부경대학교 공공정책연구소, 부경대학교 글로벌물류연구소, 부경대학교 기초과학연구소, 부경대학교 동남권안전품질지원센터 …

0.59

0.13

한국정보과학회

한국전자통신연구원, 구원_, ETRI

0.46

0.25

계원예술대학교산학협력단

전주대학교, 전주대학, 전주대학교 산학협력단, 전주대학교 인문과학종합연구소', 전주대학교건강과학종합연구소, ...

0.62

0.73

티맥스하이퍼컴퍼니

티맥스바아이

0.81

0.53

국민대학교

산학협력단

상지대학교, 상지대 산학협력단, 상지대학

0.62

0.80

R&D수행기관 데이터 중 기관명의 길이는 평균(Mean)은 6글자, 중위값(Median)은 5자로 구성된다. 최대 길이는 71글자로 '공주대학교 산학협력단(Kongju National University Industry Cooperation Foundation)'이며, 국문명과 영문명을 함께 입력한 경우이다. 본 논문에서는 국문명과 영문명을 병기하는 경우와 괄호 안에 부가적인 정보를 넣는 경우 유사도 비교 성능이 저하되는 것을 발견하고, 전처리 과정에서 영문명 및 괄호 안의 부가 정보를 삭제하고 유사도를 계산한다. 기관명 길이의 분포는 Fig. 7의 박스 플롯(Box plot)과 Fig. 8의 히스토그램을 통하여 확인 가능하며, 길이 5∼6 중심으로 분포되어 있다.

그림 7 이름 길이에 대한 박스 플롯

Fig. 7. Box plot of Length of Names

../../Resources/kiee/KIEE.2023.72.9.1097/fig7.png

그림 8 이름 길이의 히스토그램

Fig. 8 Histogram of Length of Names

../../Resources/kiee/KIEE.2023.72.9.1097/fig8.png

5.3 평가 지표

R&D과제 데이터의 기관명 검증은 잘못 입력된 경우가 제대로 입력된 경우에 비하여 현저히 적은 불균형한 데이터이기 때문에, 검증 분류 평가지표로 정밀도(Precision)와 재현율(Recall)을 사용한다. 텍스트 기반 수행기관 검색은 Recall@k를 평가지표로 사용하여 검색결과 수(k)에 따른 재현율을 측정한다.

5.4 실험결과

5.4.1 R&D과제 데이터의 기관명 검증

본 연구에서 제안한 모델은 2013년부터 2021년까지의 R&D과제 데이터, 총 679,866건의 R&D 과제 중 1,518건의 수행기관이 잘못 입력되었다고 분류하였다. 제안 모델이 잘못 입력되었다고 분류한 1,518건을 심층 분석한 결과, R&D과제 정보 등록 시 사업자등록번호 및 수행기관명에 오타가 발생한 경우, 주관기관의 사업자등록번호와 위탁/공동연구 참여기관명을 입력한 경우, 위탁/공동연구 참여기관의 사업자등록번호와 주관기관명을 입력한 경우 등이 주요원인으로 파악되었다. Table 4는 R&D과제 데이터 중 수행기관이 잘못 입력되었다고 제안 검증 모듈이 분류한 샘플 데이터이다.

Fig. 9는 LCS 알고리즘 기반 문자열 매칭 유사도와 BERT 기반 의미론적 유사도를 모두 사용하여 분류 모델을 사용한 SMART- ID(Hybrid)의 성능을 각각 문자열 매칭 유사도(Only String Matching Similarity)와 의미론적 유사도(Only Semantic Similarity)를 개별적으로 사용한 임계치 기반 규칙 방법론과 비교하였다. 단, 총 679,866건의 R&D 과제 중 무작위로 1,000건을 추출하여 정밀도와 재현율을 측정하였다. LCS 알고리즘 기반 문자열 유사도 방식만을 활용하여 R&D과제의 기관명을 검증하였을 때 정밀도는 0.999로 높았지만, 재현율이 0.959로 다소 낮았다. BERT를 활용한 의미론적 유사도를 계산하여 기관명을 검증한 경우, 정밀도는 0.998, 재현율은 0.997로 문자열 유사도 방식에 비하여 높은 재현율을 보였다. 두 유사도 방식을 모두 사용한 본 연구에서 제안한 하이브리드 방식의 경우, 정밀도는 1, 재현율은 0.999로 가장 높은 성능을 보였다.

실험 결과, 거짓 양성(False Positive)은 제안 방법으로 100%에 가깝게 해결하나, R&D수행기관 데이터의 이형명 리스트에서 포함하고 있지 않은 영어 약자로 된 기관명을 입력한 경우 거짓 음성(False Negative)이 발생하였다. 본 샘플링 기반 실험에서는 R&D과제의 수행기관명이 ‘KAIST’로 입력되었지만, R&D수행기관 데이터의 ‘한국과학기술원’의 이형명 리스트에는 영어 약자인 ‘KAIST’가 존재하지 않기 때문에 잘못 예측하였다. 해당 부분은 위키피디아 등 웹 데이터 크롤링 방식을 통하여 R&D수행기관 데이터의 이형명 리스트 확장을 통하여 점차 개선할 예정이다.

그림 9 실험 결과

Fig. 9 Experiment Results

../../Resources/kiee/KIEE.2023.72.9.1097/fig9.png

5.4.2 R&D과제 데이터 기관식별코드 할당

수행기관 식별코드 할당 작업을 수행할 데이터는 R&D수행기관 데이터 구축 시 사용되지 않은 데이터로, 총 12,267건이다. 사업자등록번호 기준으로 할당 작업(1단계)을 수행한 결과 10,427건이 매칭되고, 1,364건이 미할당되었다. 1단계에서 미할당된 1,364건에 대하여 SMART-ID의 기관식별코드 할당 모듈로 식별코드 할당작업(2단계)을 수행한 결과 150건을 추가적으로 할당하였다. 150건 대부분이 사업자등록번호가 잘못 입력되거나 누락된 경우였으며, SMART-ID의 기관식별 코드 할당 모듈은 입력된 기업명과 R&D수행기관 데이터의 이형명 데이터에 대하여 텍스트 기반 수행기관 검색을 수행하여 입력된 기관명과 가장 유사한 R&D수행기관 식별정보를 할당하였다. 미할당된 1,364건 중 이형명 텍스트 기반 수행기관 검색 시, 문자열 유사도 임계치 0.7과 의미론적 유사도 임계치 0.5를 모두 만족한 경우가 150건이었다. 150건에 대하여 두 유사도의 합을 기준으로 재순위화를 수행한 후 가장 큰 유사도의 합을 가진 기관명의 식별코드를 할당하였다. SMART-ID가 할당한 150건에 대해서는 자료입력원을 통하여 전수 검수한 결과 모두 정확하게 식별코드를 할당하였음을 확인하였다. 1,214건의 미할당 건 또한 자료입력원을 통하여 입력된 기업명을 확인 및 정정한 후 신용정보회사 API를 통하여 조회(3단계)한 뒤, 결과를 R&D수행기관 데이터에 추가하였다. 외부 데이터인 신용정보회사 API를 통한 식별코드 할당건을 제외하고, NTIS 내부 데이터만을 활용해서 전체 데이터 중 91%에 수행기관 식별코드를 할당하였다.

5.4.3 텍스트 기반 수행기관 검색

텍스트 기반 수행기관 검색 성능을 평가하기 위하여 Fig. 10과 같이 사용자가 NTIS에 입력한 수행기관명 중 1,000건을 무작위 추출하여 Recall@k를 기반으로 성능을 측정하였다. 검색 성능 테스트 데이터는 사용자가 과제정보 작성 및 검색 시 입력한 기관명 데이터로 오타 및 띄어쓰기를 포함하는 것이 특징이다. 오타 및 띄어쓰기 오류가 있음에도 불구하고 그림 10과 같이 가장 유사한 기관 1개를 추천했을 때 재현율이 0.928을 보였으며, 예측 결과 5개에 대해서는 재현율이 0.94까지 향상되었다. 본 연구의 검색 모델이 오예측한 경우를 분석한 결과, 대부분 ‘(주)광산’, ‘(주)부흥’, ‘(주)유레’, ‘(주)다스’, ‘상진’ 등 2∼3 글자로 구성된 짧은 기관명이었다. 긴 기관명의 경우는 오타 및 띄어쓰기 오류가 포함되더라도 모델이 제시한 상위 5개의 결과 중 실제 정답 기관명이 대부분 포함되어 있었지만, 짧은 기관명에 오타가 존재하는 경우는 검색 모델이 해당 기관을 정확하게 예측하지 못하였다. 향후 연구에서는 단어 단위 임베딩뿐만 아니라 문자 레벨(character-level) 컨볼루션 뉴럴 네트워크를 활용한 임베딩을 추가하여 오타가 포함된 짧은 기관명 텍스트에서도 강건한 모델로 개선할 예정이다.

6. 결 론

본 논문에서는 BERT를 활용한 의미론적 유사도와 LCS 알고리즘 기반 문자열 유사도를 활용한 하이브리드 시스템인 SMART-ID 시스템을 제안하였다. SMART-ID 시스템은 R&D수행기관 식별정보 정제 및 갱신 자동화, 신규 R&D과제 데이터 대상 기관 식별코드 할당, 텍스트 기반 수행기관 검색 작업을 수행할 수 있다.

기존에는 사업자등록번호와 같은 식별코드를 활용하거나 N-gram 기반의 문자열 매칭을 기반으로 식별작업을 수행하였다. 그러나 기존 방법은 사용자의 오기 및 이형명을 고려하지 못하는 문제점이 야기되었다. 이를 해결하기 위하여 BERT 기반의 의미론적 유사도와 LCS 기반의 문자열 유사도 활용한 R&D 수행기관정보 정제 방안을 제안하였다. 또한 두 가지 유사도 계산 모듈과 재순위화 모듈을 결합하여 신규 R&D과제에 대한 기관식별코드 할당과 텍스트 유사도 기반 기관 검색 기능을 제공한다.

그림 10 검색 실험 결과 (재현율@k)

Fig. 10 Recall@k of Search Experiment

../../Resources/kiee/KIEE.2023.72.9.1097/fig10.png

제안 모델로 2013년부터 2021년까지 총 679,866건의 R&D과제 데이터의 수행기관명 중 총 1,518건의 잘못 입력된 R&D과제를 검출하였다. R&D과제 데이터 679,866건 중 무작위 추출한 1,000건으로 정밀도와 재현율을 측정한 결과, 정밀도 1, 재현율 0.995로 우수한 성능을 보였다. 또한, 신규 R&D과제 12,267건에 대하여 사업자등록번호 기준으로 기관식별코드를 할당하지 못한 1,354건의 R&D과제 중 150건에 대하여 추가로 식별코드를 할당하였다. 텍스트 기반 수행기관 검색의 경우, Recall@5 기준 0.94로 우수한 성능을 보였다.

본 연구에서 제안한 SMART-ID를 2023년 12월에 NTIS의 챗봇(앤디) 내 기관명 인식 모듈로 활용하여 보다 정확한 기관별 통계 및 정보 검색을 제공할 예정이다. 챗봇 이외의 NTIS R&D 분석 서비스 등에서도 데이터 검증 및 수행기관 식별코드 할당 작업을 적용하여 더욱 정확한 R&D 현황 및 통계 정보, R&D 분야의 기계학습 데이터 제공을 할 예정이다.

Acknowledgements

This research was supported by Korea Institute of Science and Technology Information(KISTI).(No. (KISTI)K-23-L01-C05, (NTIS) 1711196501)

References

1 
KISTEP, 2022, 2022 Government R&D Project Online Joint Ministry Briefing Session, https://www.kistep.re.krGoogle Search
2 
Ministry of Science and ICT, KISTEP, 2021, 2021 Research and Development Activity Survey Report, https://www.msit.go.krGoogle Search
3 
Ministry of Science and ICT, KISTI, National Science and Technology Knowledge Information ServiceGoogle Search
4 
J. Devlin, M. Chang, K. Lee, K. Toutanova, 2018, Bert: Pre-training of deep bidirectional transformers for language understanding, arXiv preprint arXiv:1810.04805DOI
5 
T. Mikolov, K. Chen, G. Corrado, J. Dean, 2013, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781DOI
6 
J. Pennington, R. Socher, C. D. Manning, 2014, Glove: Global vectors for word representation, Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP)Google Search
7 
P. Bojanowski, E. Grave, A. Joulin, T. Mikolov, 2017, Enriching word vectors with subword information, Transactions of the Association for Computational Linguistics, pp. 135-146DOI
8 
R. Nils, I. Gurevych, 2019, Sentence-bert: Sentence embeddings using siamese bert-networks, arXiv preprint arXiv:1908.10084DOI
9 
X. Feifei, Z. Shuting, T. Yu, 2020, Bert-based Siamese Network for Semantic Similarity, Journal of Physics: Conference SeriesDOI
10 
J. Ham, Y. Choe, K. Park, Ilji Choi, H. Soh, 2020, Kornli and korsts: New Benchmark Datasets for Korean Natural Language Understanding, arXiv preprint arXiv:2004.03289DOI
11 
H. Heo, H. Ko, S. Kim, G. Han, J. Park, K. Park, 2023, (accessed 4 September 2023), PORORO: Platform Of neuRal mOdels for natuRal language prOcessing, https://github.com/kakaobrain/pororoGoogle Search

저자소개

장광선 (Gwangseon Jang)
../../Resources/kiee/KIEE.2023.72.9.1097/au1.png

Gwangseon Jang received M.S. degree in Department of Knowledge Service Engineering, from Korea Advanced Institute of Science and Technology (KAIST) in 2018.

He was in charge of developing cloud-based AI platforms and various deep learning models from 2018 to 2020 at Korea Electric Power Research Institute(KEPRI).

Currently, he works as a researcher at Korea Institute of Science and Technology Information(KISTI).

His current research focuses on large language model and information retrieval.

김윤정 (Yunjeong Kim)
../../Resources/kiee/KIEE.2023.72.9.1097/au2.png

Yunjeong Kim received M.S. degree in Department of Electronics and Computer Engineering, from Hongik University in 2005.

Since 2005, She works as a researcher at the Korea Institute of Science and Technology Information (KISTI) and has carried out planning and design task of services such as the National R&D Standard Information Management Service (SIMS), automatic classification service, and analysis service.

Her current research focuses on analyzing of national R&D information.

황명하 (Myeong-Ha Hwang)
../../Resources/kiee/KIEE.2023.72.9.1097/au3.png

Myeong-Ha Hwang received B.S. degree in Department of Information and Communication Engineering, from Chungnam National University (CNU), South Korea in 2015 and M.E. degree in Information and Communication Network Technology from the School of Electronics and Telecommunications Research Institute(ETRI), University of Science and Technology(UST), South Korea in 2018.

He is Ph.D. candidate in Bio and Brain Engineering from Korea Advanced Institute of Science and Technology(KAIST), South Korea and currently works as researcher at Korea Electric Power Research Institute(KEPRI).

His current research focuses on Deep Learning and Natural Language Processing(NLP).