[국내논문]텍스트 마이닝 기법을 활용한 인공지능 기술개발 동향 분석 연구: 깃허브 상의 오픈 소스 소프트웨어 프로젝트를 대상으로 A Study on the Development Trend of Artificial Intelligence Using Text Mining Technique: Focused on Open Source Software Projects on Github원문보기
제4차 산업혁명을 이끄는 주요 원동력 중 하나인 인공지능 기술은 이미지와 음성 인식 등 여러 분야에서 사람과 유사하거나 더 뛰어난 능력을 보이며, 사회 전반에 미치게 될 다양한 영향력으로 인하여 높은 주목을 받고 있다. 특히, 인공지능 기술은 의료, 금융, 제조, 서비스, 교육 등 광범위한 분야에서 활용이 가능하기 때문에, 현재의 기술 동향을 파악하고 발전 방향을 분석하기 위한 노력들 또한 활발히 이루어지고 있다. 한편, 이러한 인공지능 기술의 급속한 발전 배경에는 학습, 추론, 인식 등의 복잡한 인공지능알고리즘을 개발할 수 있는 주요 플랫폼들이 오픈 소스로 공개되면서, 이를 활용한 기술과 서비스들의 개발이 비약적으로 증가하고 있는 것이 주요 요인 중 하나로 확인된다. 또한, 주요 글로벌 기업들이 개발한 자연어 인식, 음성 인식, 이미지 인식 기능 등의 인공지능 소프트웨어들이 오픈 소스 소프트웨어(OSS: Open Sources Software)로 무료로 공개되면서 기술확산에 크게 기여하고 있다. 이에 따라, 본 연구에서는 온라인상에서 다수의 협업을 통하여 개발이 이루어지고 있는 인공지능과 관련된 주요 오픈 소스 소프트웨어 프로젝트들을 분석하여, 인공지능 기술 개발 현황에 대한 보다 실질적인 동향을 파악하고자 한다. 이를 위하여 깃허브(Github) 상에서 2000년부터 2018년 7월까지 생성된 인공지능과 관련된 주요 프로젝트들의 목록을 검색 및 수집하였으며, 수집 된 프로젝트들의 특징과 기술 분야를 의미하는 토픽 정보들을 대상으로 텍스트 마이닝 기법을 적용하여 주요 기술들의 개발 동향을 연도별로 상세하게 확인하였다. 분석 결과, 인공지능과 관련된 오픈 소스 소프트웨어들은 2016년을 기준으로 급격하게 증가하는 추세이며, 토픽들의 관계 분석을 통하여 주요 기술 동향이 '알고리즘', '프로그래밍 언어', '응용분야', '개발 도구'의 범주로 구분하는 것이 가능함을 확인하였다. 이러한 분석 결과를 바탕으로, 향후 다양한 분야에서의 활용을 위해 개발되고 있는 인공지능 관련 기술들을 보다 상세하게 구분하여 확인하는 것이 가능할 것이며, 효과적인 발전 방향 모색과 변화 추이 분석에 활용이 가능할 것이다.
제4차 산업혁명을 이끄는 주요 원동력 중 하나인 인공지능 기술은 이미지와 음성 인식 등 여러 분야에서 사람과 유사하거나 더 뛰어난 능력을 보이며, 사회 전반에 미치게 될 다양한 영향력으로 인하여 높은 주목을 받고 있다. 특히, 인공지능 기술은 의료, 금융, 제조, 서비스, 교육 등 광범위한 분야에서 활용이 가능하기 때문에, 현재의 기술 동향을 파악하고 발전 방향을 분석하기 위한 노력들 또한 활발히 이루어지고 있다. 한편, 이러한 인공지능 기술의 급속한 발전 배경에는 학습, 추론, 인식 등의 복잡한 인공지능 알고리즘을 개발할 수 있는 주요 플랫폼들이 오픈 소스로 공개되면서, 이를 활용한 기술과 서비스들의 개발이 비약적으로 증가하고 있는 것이 주요 요인 중 하나로 확인된다. 또한, 주요 글로벌 기업들이 개발한 자연어 인식, 음성 인식, 이미지 인식 기능 등의 인공지능 소프트웨어들이 오픈 소스 소프트웨어(OSS: Open Sources Software)로 무료로 공개되면서 기술확산에 크게 기여하고 있다. 이에 따라, 본 연구에서는 온라인상에서 다수의 협업을 통하여 개발이 이루어지고 있는 인공지능과 관련된 주요 오픈 소스 소프트웨어 프로젝트들을 분석하여, 인공지능 기술 개발 현황에 대한 보다 실질적인 동향을 파악하고자 한다. 이를 위하여 깃허브(Github) 상에서 2000년부터 2018년 7월까지 생성된 인공지능과 관련된 주요 프로젝트들의 목록을 검색 및 수집하였으며, 수집 된 프로젝트들의 특징과 기술 분야를 의미하는 토픽 정보들을 대상으로 텍스트 마이닝 기법을 적용하여 주요 기술들의 개발 동향을 연도별로 상세하게 확인하였다. 분석 결과, 인공지능과 관련된 오픈 소스 소프트웨어들은 2016년을 기준으로 급격하게 증가하는 추세이며, 토픽들의 관계 분석을 통하여 주요 기술 동향이 '알고리즘', '프로그래밍 언어', '응용분야', '개발 도구'의 범주로 구분하는 것이 가능함을 확인하였다. 이러한 분석 결과를 바탕으로, 향후 다양한 분야에서의 활용을 위해 개발되고 있는 인공지능 관련 기술들을 보다 상세하게 구분하여 확인하는 것이 가능할 것이며, 효과적인 발전 방향 모색과 변화 추이 분석에 활용이 가능할 것이다.
Artificial intelligence (AI) is one of the main driving forces leading the Fourth Industrial Revolution. The technologies associated with AI have already shown superior abilities that are equal to or better than people in many fields including image and speech recognition. Particularly, many efforts...
Artificial intelligence (AI) is one of the main driving forces leading the Fourth Industrial Revolution. The technologies associated with AI have already shown superior abilities that are equal to or better than people in many fields including image and speech recognition. Particularly, many efforts have been actively given to identify the current technology trends and analyze development directions of it, because AI technologies can be utilized in a wide range of fields including medical, financial, manufacturing, service, and education fields. Major platforms that can develop complex AI algorithms for learning, reasoning, and recognition have been open to the public as open source projects. As a result, technologies and services that utilize them have increased rapidly. It has been confirmed as one of the major reasons for the fast development of AI technologies. Additionally, the spread of the technology is greatly in debt to open source software, developed by major global companies, supporting natural language recognition, speech recognition, and image recognition. Therefore, this study aimed to identify the practical trend of AI technology development by analyzing OSS projects associated with AI, which have been developed by the online collaboration of many parties. This study searched and collected a list of major projects related to AI, which were generated from 2000 to July 2018 on Github. This study confirmed the development trends of major technologies in detail by applying text mining technique targeting topic information, which indicates the characteristics of the collected projects and technical fields. The results of the analysis showed that the number of software development projects by year was less than 100 projects per year until 2013. However, it increased to 229 projects in 2014 and 597 projects in 2015. Particularly, the number of open source projects related to AI increased rapidly in 2016 (2,559 OSS projects). It was confirmed that the number of projects initiated in 2017 was 14,213, which is almost four-folds of the number of total projects generated from 2009 to 2016 (3,555 projects). The number of projects initiated from Jan to Jul 2018 was 8,737. The development trend of AI-related technologies was evaluated by dividing the study period into three phases. The appearance frequency of topics indicate the technology trends of AI-related OSS projects. The results showed that the natural language processing technology has continued to be at the top in all years. It implied that OSS had been developed continuously. Until 2015, Python, C ++, and Java, programming languages, were listed as the top ten frequently appeared topics. However, after 2016, programming languages other than Python disappeared from the top ten topics. Instead of them, platforms supporting the development of AI algorithms, such as TensorFlow and Keras, are showing high appearance frequency. Additionally, reinforcement learning algorithms and convolutional neural networks, which have been used in various fields, were frequently appeared topics. The results of topic network analysis showed that the most important topics of degree centrality were similar to those of appearance frequency. The main difference was that visualization and medical imaging topics were found at the top of the list, although they were not in the top of the list from 2009 to 2012. The results indicated that OSS was developed in the medical field in order to utilize the AI technology. Moreover, although the computer vision was in the top 10 of the appearance frequency list from 2013 to 2015, they were not in the top 10 of the degree centrality. The topics at the top of the degree centrality list were similar to those at the top of the appearance frequency list. It was found that the ranks of the composite neural network and reinforcement learning were changed slightly. The trend of technology development was examined using the appearance frequency of topics and degr
Artificial intelligence (AI) is one of the main driving forces leading the Fourth Industrial Revolution. The technologies associated with AI have already shown superior abilities that are equal to or better than people in many fields including image and speech recognition. Particularly, many efforts have been actively given to identify the current technology trends and analyze development directions of it, because AI technologies can be utilized in a wide range of fields including medical, financial, manufacturing, service, and education fields. Major platforms that can develop complex AI algorithms for learning, reasoning, and recognition have been open to the public as open source projects. As a result, technologies and services that utilize them have increased rapidly. It has been confirmed as one of the major reasons for the fast development of AI technologies. Additionally, the spread of the technology is greatly in debt to open source software, developed by major global companies, supporting natural language recognition, speech recognition, and image recognition. Therefore, this study aimed to identify the practical trend of AI technology development by analyzing OSS projects associated with AI, which have been developed by the online collaboration of many parties. This study searched and collected a list of major projects related to AI, which were generated from 2000 to July 2018 on Github. This study confirmed the development trends of major technologies in detail by applying text mining technique targeting topic information, which indicates the characteristics of the collected projects and technical fields. The results of the analysis showed that the number of software development projects by year was less than 100 projects per year until 2013. However, it increased to 229 projects in 2014 and 597 projects in 2015. Particularly, the number of open source projects related to AI increased rapidly in 2016 (2,559 OSS projects). It was confirmed that the number of projects initiated in 2017 was 14,213, which is almost four-folds of the number of total projects generated from 2009 to 2016 (3,555 projects). The number of projects initiated from Jan to Jul 2018 was 8,737. The development trend of AI-related technologies was evaluated by dividing the study period into three phases. The appearance frequency of topics indicate the technology trends of AI-related OSS projects. The results showed that the natural language processing technology has continued to be at the top in all years. It implied that OSS had been developed continuously. Until 2015, Python, C ++, and Java, programming languages, were listed as the top ten frequently appeared topics. However, after 2016, programming languages other than Python disappeared from the top ten topics. Instead of them, platforms supporting the development of AI algorithms, such as TensorFlow and Keras, are showing high appearance frequency. Additionally, reinforcement learning algorithms and convolutional neural networks, which have been used in various fields, were frequently appeared topics. The results of topic network analysis showed that the most important topics of degree centrality were similar to those of appearance frequency. The main difference was that visualization and medical imaging topics were found at the top of the list, although they were not in the top of the list from 2009 to 2012. The results indicated that OSS was developed in the medical field in order to utilize the AI technology. Moreover, although the computer vision was in the top 10 of the appearance frequency list from 2013 to 2015, they were not in the top 10 of the degree centrality. The topics at the top of the degree centrality list were similar to those at the top of the appearance frequency list. It was found that the ranks of the composite neural network and reinforcement learning were changed slightly. The trend of technology development was examined using the appearance frequency of topics and degr
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구에서는 오픈 소스 소프트웨어 개발 프로젝트들을 대상으로 인공지능과 관련된 주요기술들의 개발 동향을 분석하였다. 논문이나 특허 정보를 활용한 기존의 기술 동향 분석 연구들과는 다르게, 실제 개발이 이루어지고 있는 소프트웨어들을 분석 대상으로 하였으며, 특정분야를 제한하지 않은 기술 동향의 확인을 시도하였다.
본 연구에서는 인공지능 관련 기술의 동향을 연도별로 구분한 뒤, 기술 개발이 지속적으로 활발히 이루어지는 분야 또는 급격한 성장 추이를 보이는 분야 등의 변화 추이를 확인하기 위하여, 기존 기술 동향 분석과 관련된 연구에서의 분석방안을 참조하였다(Han et al., 2009; Kim andKim, 2014). 기존 선행 연구에서는 특정 기술 분야와 관련된 주요 용어들에 대하여, 용어의 출현빈도와 연결 중심성을 기준으로 해당 기술의 발전과 융합 정도를 확인하였다(Kim and Kim,2014).
이러한 배경에서, 본 연구는 깃허브(github) 상의 인공지능과 관련된 소프트웨어 개발 프로젝트들을 분석하고, 보다 실증적인 인공지능 기술개발의 동향 파악을 꾀하였다. 깃허브는 온라인상에서 다수의 개발자와 참여자들의 소스코드 기여를 통하여 소프트웨어 개발이 이루어지는 대표적인 소셜 코딩(social coding) 플랫폼이며, 구글, 페이스북, 마이크로소프트 등 다수의 글로벌 선도 기업들이 오픈 소스로 인공지능 관련 주요 기술들을 공개하고 있다.
이러한 추세에 따라, 본 연구에서는 온라인상에서 다수의 협업을 통하여 개발이 이루어지고있는 인공지능과 관련된 주요 오픈 소스 소프트웨어 프로젝트들을 수집 및 분석하여, 인공지능기술 개발 현황에 대한 보다 실질적 동향을 파악하고자 하였다. 이를 기반으로, 다양한 분야에서활용을 위해 개발되고 있는 인공지능 관련 기술들을 보다 상세하게 구분하여 확인하는 것이 가능하며, 효과적인 발전 방향 모색과 변화 추이분석에 활용하는 것이 가능할 것이다.
제안 방법
검색 키워드 확장은 ‘AI’와 ‘Artificial Intelligence’를 토픽으로 사용한 프로젝트들을 검색하고, 해당 프로젝트들이 사용한 토픽들을 재검토하여 대소문자 통일, 불필요한 기호 및 숫자 제거 등의 텍스트 정규화를 바탕으로 토픽들의 동시출현 행렬을 작성하였다.
국내외의 특허 데이터 중 ‘인공지능’ 키워드 검색으로 도출된 데이터를 기반으로 키워드 네트워크 분석 및 국제특허분류(IPC: International Patent Classification)를 기준으로 공백 기술 분석을 수행하여 인공지능 분야의 기술 동향을 파악하였다.
본 연구에서는 오픈 소스 소프트웨어 개발 프로젝트들을 대상으로 인공지능과 관련된 주요기술들의 개발 동향을 분석하였다. 논문이나 특허 정보를 활용한 기존의 기술 동향 분석 연구들과는 다르게, 실제 개발이 이루어지고 있는 소프트웨어들을 분석 대상으로 하였으며, 특정분야를 제한하지 않은 기술 동향의 확인을 시도하였다.
이에 따라, 2000년부터 2018년 7월까지 깃허브 상에서 생성된 프로젝트를 대상으로, 프로젝트의 주요 특징을 나타내는 토픽 정보들 중에서 인공지능과 관련한 주요 키워드들이 포함된 프로젝트들을 검색 및 수집하였다. 또한, 실제 소프트웨어 개발 프로젝트만을 분석 대상으로 수집하기 위하여, 다음과 같이 소프트웨어 개발을 위해 사용하는 프로그래밍 언어를 검색 기준으로 함께 활용하였다. 프로젝트 검색 키워드로 사용된 프로그래밍 언어는 ‘Python’, ‘JavaScript’,‘Java’, ‘C++’, ‘C#’, ‘Jupyter-Notebook’, ‘C’,‘Swift’, ‘Go’, ‘R’, ‘Perl’, ‘Matlab’, ‘Assembly’,‘Objective-C++’, ‘Cuda’ 로 총 15개이다.
또한, 인공지능 기술과 관련된 오픈 소스 소프트웨어 프로젝트의 토픽별 출현 빈도와 함께, 프로젝트에서 함께 언급되는 토픽 간의 관계에 대한 네트워크 분석 결과를 활용하여 주요 응용 기술들의 도출을 시도하였다. 이러한 분석 결과를 바탕으로, 현재 인공지능 기술과 관련하여 활발히 개발이 이루어지고 있는 분야들을 확인하는 것이 가능하며, 향후 융합 가능한 기술 동향 등에 대하여 보다 실증적인 분석을 위한 기초자료로 활용하는 것이 가능할 것이다.
본 연구에서 소프트웨어 개발 프로젝트의 검색은 개발 중인 소프트웨어의 특징을 나타내는 토픽 정보를 대상으로 하였으며, 인공지능을 의미하는 ‘AI’와 ‘Artificial Intelligence’ 외에 이와 높은 연관성을 띄는 토픽을 사용한 경우도 검색 및 수집하기 위해 검색 키워드의 확장을 진행하였다.
본 연구에서의 토픽 간 네트워크 구성은 인공지능 소프트웨어 개발 프로젝트들의 토픽 정보들을 바탕으로, 동일한 프로젝트 내에서 사용된 토픽들의 관계를 동시출현 행렬로 작성하였다. 즉, 인공지능 기술과 관련된 주요 토픽들이 사회 네트워크에서의 노드(node)이며, 특정 프로젝트의 토픽으로 함께 사용된 경우를 엣지(edge)로 나타내어 네트워크를 구성하였다.
이에 따라, 본 연구에서는 2000년부터 2018년 7월까지 깃허브에서 생성된 소프트웨어 개발 프로젝트들 중에서, 소프트웨어의 주요 특징과 기술 분야를 의미하는 토픽 정보를 활용하여 인공지능과 관련된 오픈 소스 소프트웨어 프로젝트들을 선별 및 주요 정보들을 수집하였다. 실제 기술 동향의 분석은 프로젝트들의 토픽 정보를 대상으로 텍스트 마이닝 기법을 활용하였으며, 소프트웨어 개발 프로젝트들에서 함께 사용되는 토픽들의 관계를 바탕으로 토픽 네트워크를 구성하였다. 기술과 관련된 용어들의 네트워크 관계 분석은 해당 기술과 관련된 주요 동향을 파악하고, 연도별로 네트워크를 구성함으로써 시간에 따른 기술의 발전 추이를 확인할 수 있다(Khoet al.
이에 따라, 본 연구에서는 주요 토픽의 빈도수와 연결중심성을 산출하였으며, 토픽별로 X축, Y축의 좌표 평면에 산출된 값을 나타내어 분석하였다. 이때, 연도별로 산출된 토픽들의 출현 빈도와 연결 중심성 값의 최댓값과 최솟값이 상이한 점을 고려하여, 다음과 같이 표준화하여 연도별 기술 동향 비교분석에 활용하였다([Formula 1- Formula 2] 참조).
이를 기반으로 ‘AI’ 및 ‘Artificial Intelligence’와 함께 사용되는 상위 토픽들을 인공지능 기술과 연관된 토픽 목록으로 정의하고 소프트웨어 개발 프로젝트들의 검색과 수집을 위한 최종 키워드로 활용하였다.
즉, 인공지능 기술과 관련된 주요 토픽들이 사회 네트워크에서의 노드(node)이며, 특정 프로젝트의 토픽으로 함께 사용된 경우를 엣지(edge)로 나타내어 네트워크를 구성하였다. 이를 기반으로 각각의 토픽에 대하여 사회 네트워크 분석의 연결 중심성(degree centrality) 척도를 산출하였다.
이에 따라, 본 연구에서는 주요 토픽의 빈도수와 연결중심성을 산출하였으며, 토픽별로 X축, Y축의 좌표 평면에 산출된 값을 나타내어 분석하였다. 이때, 연도별로 산출된 토픽들의 출현 빈도와 연결 중심성 값의 최댓값과 최솟값이 상이한 점을 고려하여, 다음과 같이 표준화하여 연도별 기술 동향 비교분석에 활용하였다([Formula 1- Formula 2] 참조).
인공지능 관련 주요 키워드들을 활용하여 수집된 공개 소프트웨어 개발 프로젝트들 중에서도 실제 개발이 진행되고 있는 프로젝트만을 선별하기 위하여, 프로젝트 소스 코드의 크기 정보를 참고하였다. 이에 따라, 프로젝트 소스 코드의 크기가 ‘0’인 2,455개의 프로젝트들은 잠정적으로 개발 활동이 없는 것으로 보고 분석에서 제외하였다.
인공지능 기술 토픽들의 기간별 출현 빈도와 연결 중심성 표준화 값을 바탕으로, 다음과 같이 좌표 평면 상에 주요 토픽들을 나타내어 연도별 기술 동향의 변화 추이를 확인하였다([Figure 4] 참조). 기계 학습의 경우 모든 연도에서 가장 높은 출현 빈도와 연결 중심성을 보이는 것으로 나타났다.
본 연구에서의 토픽 간 네트워크 구성은 인공지능 소프트웨어 개발 프로젝트들의 토픽 정보들을 바탕으로, 동일한 프로젝트 내에서 사용된 토픽들의 관계를 동시출현 행렬로 작성하였다. 즉, 인공지능 기술과 관련된 주요 토픽들이 사회 네트워크에서의 노드(node)이며, 특정 프로젝트의 토픽으로 함께 사용된 경우를 엣지(edge)로 나타내어 네트워크를 구성하였다. 이를 기반으로 각각의 토픽에 대하여 사회 네트워크 분석의 연결 중심성(degree centrality) 척도를 산출하였다.
확장된 인공지능 연관 키워드를 바탕으로 검색 및 수집된 공개 소프트웨어 개발 프로젝트들을 대상으로 실제 인공지능 연구 동향 분석을 위한 토픽들을 최종 추출하였다. 추출된 토픽들은 토픽 간의 네트워크 생성 시 동일한 토픽이나 대소문자 구분 또는 특수기호 등으로 인하여 다른 개체로 인식되는 문제를 해결하기 위하여 텍스트 전처리를 진행하였으며, 이를 바탕으로 주요 토픽들의 출현 빈도와 토픽 네트워크 구성을 연도별로 구분하여 분석하였다. 본 연구에서의 데이터 분석은 파이썬 프로그램 환경에서 수행되었으며, 텍스트 분석은 nltk3)를 활용하였고 네트워크 분석에는 networkx4) 패키지를 활용하였다.
확장된 인공지능 연관 키워드를 바탕으로 검색 및 수집된 공개 소프트웨어 개발 프로젝트들을 대상으로 실제 인공지능 연구 동향 분석을 위한 토픽들을 최종 추출하였다. 추출된 토픽들은 토픽 간의 네트워크 생성 시 동일한 토픽이나 대소문자 구분 또는 특수기호 등으로 인하여 다른 개체로 인식되는 문제를 해결하기 위하여 텍스트 전처리를 진행하였으며, 이를 바탕으로 주요 토픽들의 출현 빈도와 토픽 네트워크 구성을 연도별로 구분하여 분석하였다.
대상 데이터
깃허브API는 소프트웨어 개발 프로젝트의 소스 코드변경, 참여자 활동 내용, 기타 주요 변경 사항 등과 같이 프로젝트의 주요 기초 정보들에 대한 검색과 수집이 가능하다. 본 연구에서는 인공지능관련 기술들의 급속한 발전 동향을 고려하여, 연구 데이터의 검색 및 수집 시점을 2018년 8월 이전까지의 주요 데이터로 선정하였다.
본 연구의 분석 데이터는 깃허브에서 제공하는 API(Application Programming Interface)2)를 활용하여 인공지능 기술과 관련된 소프트웨어 개발 프로젝트들을 검색하여 수집하였다. 깃허브API는 소프트웨어 개발 프로젝트의 소스 코드변경, 참여자 활동 내용, 기타 주요 변경 사항 등과 같이 프로젝트의 주요 기초 정보들에 대한 검색과 수집이 가능하다.
수집된 주요 데이터 현황은 프로젝트 이름, 프로젝트 소유자(생성자), 소유자 구분(개인/조직), 프로젝트 생성일, 프로젝트의 소프트웨어 개발프로그래밍 언어, 프로젝트에 저장된 소스 코드의 파일 크기, 프로젝트의 기여자 수, 프로젝트의 인기도를 의미하는 스타(star) 수, 프로젝트의 소스 코드를 수정하거나 사용하기 위해 복사한 횟수를 의미하는 포크(fork) 수, 프로젝트의 주요변경 사항 확인과 알림을 받기 위해 사용자들이 즐겨 찾기로 등록한 횟수를 의미하는 왓치(watch) 수 등으로 구성되어 있다.
프로젝트 검색 키워드로 사용된 프로그래밍 언어는 ‘Python’, ‘JavaScript’,‘Java’, ‘C++’, ‘C#’, ‘Jupyter-Notebook’, ‘C’,‘Swift’, ‘Go’, ‘R’, ‘Perl’, ‘Matlab’, ‘Assembly’,‘Objective-C++’, ‘Cuda’ 로 총 15개이다. 이를 바탕으로 검색 및 수집된 프로젝트는 키워드별로 중복 검색된 프로젝트들을 제외한 뒤, 총 26,505개의 프로젝트 목록과 관련 데이터들이 수집되었다.
이에 따라, 2000년부터 2018년 7월까지 깃허브 상에서 생성된 프로젝트를 대상으로, 프로젝트의 주요 특징을 나타내는 토픽 정보들 중에서 인공지능과 관련한 주요 키워드들이 포함된 프로젝트들을 검색 및 수집하였다. 또한, 실제 소프트웨어 개발 프로젝트만을 분석 대상으로 수집하기 위하여, 다음과 같이 소프트웨어 개발을 위해 사용하는 프로그래밍 언어를 검색 기준으로 함께 활용하였다.
이에 따라, 본 연구에서는 2000년부터 2018년 7월까지 깃허브에서 생성된 소프트웨어 개발 프로젝트들 중에서, 소프트웨어의 주요 특징과 기술 분야를 의미하는 토픽 정보를 활용하여 인공지능과 관련된 오픈 소스 소프트웨어 프로젝트들을 선별 및 주요 정보들을 수집하였다. 실제 기술 동향의 분석은 프로젝트들의 토픽 정보를 대상으로 텍스트 마이닝 기법을 활용하였으며, 소프트웨어 개발 프로젝트들에서 함께 사용되는 토픽들의 관계를 바탕으로 토픽 네트워크를 구성하였다.
인공지능 관련 토픽들의 빈도 분석은 프로젝트가 최초 생성된 연도인 2009년을 기준으로 2009년~2012년, 2013년~2015년, 2016년~2018년 7월까지 3개의 기간으로 구분하였으며, 각각의 기간별 출현 빈도 상위 10개의 토픽은 다음과 같다([Table 2] 참조). 2009년부터 2012년까지 출현 빈도 상위의 토픽들은 기계 학습, 인공지능이 각각 57개, 26개이며, 소프트웨어 개발 프로그래밍 언어인 파이썬(python)이 16개로 상위 출현빈도 용어로 나타난다.
이에 따라, 프로젝트 소스 코드의 크기가 ‘0’인 2,455개의 프로젝트들은 잠정적으로 개발 활동이 없는 것으로 보고 분석에서 제외하였다. 최종적으로 24,050개의 프로젝트를 본 연구의 분석 대상 프로젝트로 선정하였으며, 이들 프로젝트들의 토픽 정보에서 추출된 15,752개의 용어들을 인공지능 기술 동향 분석에 활용하였다.
프로젝트 검색 키워드로 사용된 프로그래밍 언어는 ‘Python’, ‘JavaScript’,‘Java’, ‘C++’, ‘C#’, ‘Jupyter-Notebook’, ‘C’,‘Swift’, ‘Go’, ‘R’, ‘Perl’, ‘Matlab’, ‘Assembly’,‘Objective-C++’, ‘Cuda’ 로 총 15개이다.
데이터처리
추출된 토픽들은 토픽 간의 네트워크 생성 시 동일한 토픽이나 대소문자 구분 또는 특수기호 등으로 인하여 다른 개체로 인식되는 문제를 해결하기 위하여 텍스트 전처리를 진행하였으며, 이를 바탕으로 주요 토픽들의 출현 빈도와 토픽 네트워크 구성을 연도별로 구분하여 분석하였다. 본 연구에서의 데이터 분석은 파이썬 프로그램 환경에서 수행되었으며, 텍스트 분석은 nltk3)를 활용하였고 네트워크 분석에는 networkx4) 패키지를 활용하였다.
성능/효과
인공지능 관련 토픽 네트워크의 분석 결과, 각각의 기간별 연결 중심성 상위 10개의 토픽들은 다음과 같다([Table 3] 참조). 2009년부터 2012년까지 연결 중심성 상위 토픽은 기계 학습, 인공지능, 인공 신경망(neural network)이 각각 0.748, 0.276, 0.276으로 확인되었다. 전반적으로는, 출현 빈도 분석의 동일 기간과 유사한 것으로 확인되며, 출현 빈도 상위에서 확인되지 않은 토픽으로는 시각화(visualization)와 의학 화상(medical imaging) 토픽의 연결 중심성이 각각 0.
그 다음으로는 프로그래밍 언어인 파이썬이 다른 토픽들과 비교하여 상대적으로 높은 출현빈도와 연결 중심성을 보였으며, 2012년 이후 큰 증가 폭을 보였던 것으로 좌표 평면 상에서 확인이 가능하다. 2013년~2015년 기간에 처음 등장한 텐서플로우는 2016년~2018년에 출현 빈도와 연결 중심성이 급격히 증가하여, 딥 러닝 파이썬 다음으로 상위 영역에 위치하는 것을 확인할 수 있다. 이외, 컴퓨터 비전, 강화 학습 등은 급격한 증감을 보이지는 않으나, 앞서 언급한 토픽들과 비교하여 상대적으로 낮은 출현 빈도와 연결 중심성을 갖는 것을 확인할 수 있다.
2013년부터 2015년까지 연결 중심성 상위 토픽들은 이전 분석 기간과 유사하게, 기계 학습, 파이썬, 인공지능, 인공 신경망이 상위로 확인되었다. 이외, 딥 러닝, 데이터 과학(data science) 토픽의 연결 중심성이 각각 0.
2013년부터 2015년까지 출현 빈도 상위 토픽은 기계 학습, 파이썬, 인공지능이 각각 652개, 211개, 193개이며, 2009년부터 2012년 기간과 동일한 토픽이 상위인 것으로 나타난다. 딥 러닝이144개의 출현 빈도를 보이며, 이전 기간과 비교하여 급격하게 증가한 것을 확인할 수 있다.
2016년부터 2018년까지 연결 중심성 상위 토픽들은, 출현 빈도 상위 10개와 동일한 토픽들이 모두 확인되었다.
이외, 인공지능 응용 기술 분야를 의미하는 컴퓨터비전(computer vision) 토픽이 38개의 출현 빈도를 보이며, 자연어 처리와 함께 상위 10개의 토픽으로 포함된 것으로 나타난다. 2016년부터 2018년까지 출현 빈도 상위 토픽들은 이전 기간들과 비교하여 급격한 출현 빈도 수의 증가 추이를 보이며, 딥 러닝 토픽은 출현 빈도가 8,299개로 인공지능 토픽의 출현 빈도 2,555개 보다 높은 것으로 나타났다.
또한, 컴퓨터 비전이 2013년부터 2015년까지의 출현 빈도 상위 10개 내에서는 확인된 것과는 다르게, 연결 중심성 상위 10개에는 포함되지 않은 것으로 나타났다. 2016년부터 2018년까지의 연결 중심성 상위 토픽들은 출현 빈도 상위와 유사하였으며, 합성곱 신경망과 강화 학습의 순위가 근소한 차이로 바뀌었음을 확인할 수 있다.
이 외에도 인공 지능 기술 발전의 결정 요인을 명확히 하기 위해 미국, 일본, 중국, 유럽 및 특허 협력 조약(PCT: Patent Cooperation Treaty)의 특허 데이터를 활용하여 (1) 생물학적 기반 모델, (2) 지식 기반 모델, (3) 특정 수학적 모델, 그리고 (4) 기타 인공 지능 기술 모델 등 4가지 기술 유형에 대한 인공 지능 기술의 추세와 우선 순위 변화를 분해 프레임워크(decomposition framework)를 적용하여 분석한 연구가 있다. 그 결과로, 생물학과 지식 기반 모델에서 특정 수학적 모델과 기타 인공 지능 기술로 특허 발명의 우선 순위가 이동하고 있음을 확인하였으며, 인공지능 기술 특허의 특징은 국가별, 기업별로 다름을 발견하였다(Fujii and Managi, 2018). 같은 일환으로 문헌에 수록되어 있는 정보를 통해 인공지능 기술 동향을 파악한 연구도 다수 진행되었다.
그 다음으로는 프로그래밍 언어인 파이썬이 다른 토픽들과 비교하여 상대적으로 높은 출현빈도와 연결 중심성을 보였으며, 2012년 이후 큰 증가 폭을 보였던 것으로 좌표 평면 상에서 확인이 가능하다. 2013년~2015년 기간에 처음 등장한 텐서플로우는 2016년~2018년에 출현 빈도와 연결 중심성이 급격히 증가하여, 딥 러닝 파이썬 다음으로 상위 영역에 위치하는 것을 확인할 수 있다.
기계 학습의 경우 모든 연도에서 가장 높은 출현 빈도와 연결 중심성을 보이는 것으로 나타났다. 다음으로 딥 러닝 토픽의 성장 추이가 급격히 높은 것을 확인할 수 있으며, 2009년~2012년 기간에는 출현 빈도와 연결 중심성이 모두 낮은 영역에 위치하였으나, 2013년~2015년부터 급격히 증가하여 최근에는 출현 빈도와 연결 중심성 모두 높은 기술로 확인할 수 있다.
마지막으로 소프트웨어와 알고리즘 개발을 지원하는 ‘개발도구’ 유형에 해당하는 토픽들은 2015년 이후 기간에 처음으로 확인이 가능하다.
본 연구에서 도출된 주요 토픽들을 기반으로 그 특성에 따라 인공지능 관련 오픈소스 소프트웨어의 개발 동향은 ‘알고리즘’, ‘프로그래밍 언어’, ‘응용분야’, ‘개발 도구’의 4가지 유형으로 구분이 가능하다.
실무적 측면에서 본 연구가 갖는 주요 시사점으로는, 우선 인공지능 관련 오픈 소스 소프트웨어의 동향을 크게 ‘알고리즘’, ‘프로그래밍 언어’, ‘응용분야’, ‘개발 도구’의 4가지 유형으로 구분할 수 있는 것을 확인하였다.
2015년 까지 출현 빈도 상위 10개의 토픽에는 파이썬, C++, 자바와 같은 프로그래밍 언어도 포함되었으나, 2016년 이후에는 파이썬을 제외한 다른 프로그래밍 언어들은 상위 10개의 토픽에서 제외되었다. 이를 대신하여 텐서플로우, 케라스와 같이 인공지능 알고리즘의 구현을 보다 손쉽게 할 수 있도록 지원하는 플랫폼이 출현 빈도 상위인 것을 확인할 수 있다. 이 밖에도 강화 학습 알고리즘, 합성곱 신경망과 같이 최근 여러 분야에서 활용되고 있는 기법들도 출현 빈도 상위 토픽으로 나타났다.
2017). 이를 통해 이론적 연구가 하향세를 보이며, 기술적 연구가 상향세를 보인다는 것을 확인하였다. 또한 산업 간 융복합이 활발하게 이루어지고 있음을 확인하였다(Chung et al.
인공지능 관련 오픈 소스 소프트웨어 프로젝트들의 특징을 나타내는 토픽들의 출현 빈도 분석 결과, 자연어 처리 기술이 지속적으로 상위에 확인되며 관련 오픈 소스 소프트웨어 개발이 꾸준히 이루어진 것을 확인할 수 있다. 2015년 까지 출현 빈도 상위 10개의 토픽에는 파이썬, C++, 자바와 같은 프로그래밍 언어도 포함되었으나, 2016년 이후에는 파이썬을 제외한 다른 프로그래밍 언어들은 상위 10개의 토픽에서 제외되었다.
276으로 확인되었다. 전반적으로는, 출현 빈도 분석의 동일 기간과 유사한 것으로 확인되며, 출현 빈도 상위에서 확인되지 않은 토픽으로는 시각화(visualization)와 의학 화상(medical imaging) 토픽의 연결 중심성이 각각 0.110, 0.106으로 상위 10개의 토픽으로 포함되었다.
오픈 소스 소프트웨어 프로젝트에서 개발 중인 여러 토픽들 간의 관계에 기반한 네트워크 분석 결과, 연결 중심성 지표 상위의 토픽들은 출현 빈도 상위 토픽들과 유사한 것으로 나타난다. 주요 차이점으로는 2009년부터 2012년까지 출현빈도 상위에서는 확인되지 않았던 시각화와 의학 화상 토픽이 나타났으며, 의료 분야에서 인공지능 기술의 활용을 위한 오픈 소스 소프트웨어 개발이 이루어졌음을 확인할 수 있다. 또한, 컴퓨터 비전이 2013년부터 2015년까지의 출현 빈도 상위 10개 내에서는 확인된 것과는 다르게, 연결 중심성 상위 10개에는 포함되지 않은 것으로 나타났다.
후속연구
실무적 측면에서 본 연구가 갖는 주요 시사점으로는, 우선 인공지능 관련 오픈 소스 소프트웨어의 동향을 크게 ‘알고리즘’, ‘프로그래밍 언어’, ‘응용분야’, ‘개발 도구’의 4가지 유형으로 구분할 수 있는 것을 확인하였다. 이러한 거시적 측면에서의 유형 구분을 기준으로, 각각의 유형내 에서 어떠한 토픽들이 발생하는 지에 대하여 미시적인 측면에서 분석하고 지속적으로 변화추이를 확인한다면 기술 개발 동향에 대하여 보다 효과적으로 파악하는 것이 가능할 것이다.
또한, 인공지능 기술과 관련된 오픈 소스 소프트웨어 프로젝트의 토픽별 출현 빈도와 함께, 프로젝트에서 함께 언급되는 토픽 간의 관계에 대한 네트워크 분석 결과를 활용하여 주요 응용 기술들의 도출을 시도하였다. 이러한 분석 결과를 바탕으로, 현재 인공지능 기술과 관련하여 활발히 개발이 이루어지고 있는 분야들을 확인하는 것이 가능하며, 향후 융합 가능한 기술 동향 등에 대하여 보다 실증적인 분석을 위한 기초자료로 활용하는 것이 가능할 것이다.
이러한 추세에 따라, 본 연구에서는 온라인상에서 다수의 협업을 통하여 개발이 이루어지고있는 인공지능과 관련된 주요 오픈 소스 소프트웨어 프로젝트들을 수집 및 분석하여, 인공지능기술 개발 현황에 대한 보다 실질적 동향을 파악하고자 하였다. 이를 기반으로, 다양한 분야에서활용을 위해 개발되고 있는 인공지능 관련 기술들을 보다 상세하게 구분하여 확인하는 것이 가능하며, 효과적인 발전 방향 모색과 변화 추이분석에 활용하는 것이 가능할 것이다.
또한, 실제 소프트웨어 개발 프로젝트들을 대상으로 하기 위하여 분석 대상 프로젝트들의 검색 시 프로그래밍 언어를 검색 질의어로 함께 활용하였으나, 일부 프로젝트의 경우는 관련 연구 논문과 같이 문서화 된 자료들의 저장소로만 활용되는 경우도 존재하였다. 이에 따라, 향후 연구에서는 오픈 소스 소프트웨어 개발 시에 소스 코드를 기여하는 참여자 수를 기준으로 프로젝트의 활성화 정도를 측정하고, 프로젝트의 업데이트 내역, 소스 코드의 수정 및 업로드 기록 등을 확인하여 보다 정교한 데이터 선별 과정이 필요하다. 이와 함께, 인공지능 기술과 관련된 특허 및 연구 논문 동향에 대한 분석 결과를 반영하여, 소프트웨어 개발 동향과의 비교 분석 연구, 국내외 인공지능 기술 동향의 차이점을 확인하는 연구 등이 진행되어야 할 것이다.
이에 따라, 향후 연구에서는 오픈 소스 소프트웨어 개발 시에 소스 코드를 기여하는 참여자 수를 기준으로 프로젝트의 활성화 정도를 측정하고, 프로젝트의 업데이트 내역, 소스 코드의 수정 및 업로드 기록 등을 확인하여 보다 정교한 데이터 선별 과정이 필요하다. 이와 함께, 인공지능 기술과 관련된 특허 및 연구 논문 동향에 대한 분석 결과를 반영하여, 소프트웨어 개발 동향과의 비교 분석 연구, 국내외 인공지능 기술 동향의 차이점을 확인하는 연구 등이 진행되어야 할 것이다.
한편, 기술개발 동향에 대한 분석과 관련하여 고려해야 할 주요 사항 중 하나로는, 동향을 파악하고자 하는 기술의 특성을 고려한 적절한 분석 대상 데이터의 선정이 필요하다. 인공지능 관련 기술의 경우, 그 발전 속도가 빠르고 분야 또한 다양함에 따라, 외부에 공개되기까지는 시간적 지연이 다소 존재하는 논문이나 특허 정보를 활용하는 것 보다, 기술 개발의 계획부터 배포, 지속적 업데이트까지 확인이 가능한 오픈 소스소프트웨어 프로젝트를 분석하는 것이 보다 실증적인 분석 결과의 도출이 가능할 것이다. 또한, 인공지능 관련 기술의 특성상 다수의 기술들이 소프트웨어의 형태로 개발되고 있는 것도 본 연구에서 분석 대상 데이터의 선정 시 고려한 중요사항 중 하나이다.
질의응답
핵심어
질문
논문에서 추출한 답변
깃허브는 무엇인가?
이러한 배경에서, 본 연구는 깃허브(github) 상의 인공지능과 관련된 소프트웨어 개발 프로젝트들을 분석하고, 보다 실증적인 인공지능 기술개발의 동향 파악을 꾀하였다. 깃허브는 온라인상에서 다수의 개발자와 참여자들의 소스코드기여를 통하여 소프트웨어 개발이 이루어지는 대표적인 소셜 코딩(social coding) 플랫폼이며, 구글, 페이스북, 마이크로소프트 등 다수의 글로벌 선도 기업들이 오픈 소스로 인공지능 관련 주요 기술들을 공개하고 있다. 또한, 인공지능과 관련된 주요 연구 성과들도 논문 발표와 함께, 연구의 재현 및 후속 연구가 가능하도록 깃허브상에 공개하고 있는 추세이다.
오픈 소스 소프트웨어의 사용으로 인한 장점은?
이러한 오픈 소스 소프트웨어는 소스 코드 공개로 인해 신기술이나 핵심 기술을 보다 쉽게 접근 및 습득할 기회가 높아지며 다양한 개발에 참여하면서 개인 역량 향상의 기회가 제공되기도 한다. 이외에도 시스템 개발 기간 단측, 비용 절감, 관련 정보 획득 용이 등의 장점을 지닌다(Bonaccorsi and Rossi, 2003).
인공지능 기술의 급속한 발전이 일어나는 이유는?
특히, 인공지능 기술은 의료, 금융, 제조, 서비스, 교육 등 광범위한 분야에서 활용이 가능하기 때문에, 현재의 기술 동향을 파악하고 발전 방향을 분석하기 위한 노력들 또한 활발히 이루어지고 있다. 한편, 이러한 인공지능 기술의 급속한 발전 배경에는 학습, 추론, 인식 등의 복잡한 인공지능 알고리즘을 개발할 수 있는 주요 플랫폼들이 오픈 소스로 공개되면서, 이를 활용한 기술과 서비스들의 개발이 비약적으로 증가하고 있는 것이 주요 요인 중 하나로 확인된다. 또한, 주요 글로벌 기업들이 개발한 자연어 인식, 음성 인식, 이미지 인식 기능 등의 인공지능 소프트웨어들이 오픈 소스 소프트웨어(OSS: Open Sources Software)로 무료로 공개되면서 기술확산에 크게 기여하고 있다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.