웹크롤링, 워드 클라우드, 텍스트 네트워크를 활용하여

 
 
 

들어가며

 

 최근 HR 분야의 연구는 빠르게 변화하고 발전하고 있습니다. 이는 조직 내에서 인적자원의 관리와 개발에 대한 중요성이 더욱 강조되고 있기 때문입니다. 인적자원관리(HRM), 인적자원개발(HRD) 모두 다양한 주제들이 연구되고 있으나 그중에서도 빠른 환경과 구성원 특성 변화에 맞춰 성과를 효과적으로 낼 수 있는 기법들에 대한 다양한 연구들이 수행되고 있습니다.

이런 HR 연구동향을 통해 인사실무자들이 도움을 받고 실무에 활용하기 위해서는 이와 관련된 데이터의 수집과 분석을 통한 인사이트 확보가 필수적입니다. 이때 텍스트 마이닝 기법을 활용하면 대량의 텍스트 데이터에서 유용한 정보를 효과적으로 추출할 수 있습니다. 텍스트 마이닝텍스트 데이터를 구조화된 정보로 변환하는 과정을 의미하며, 이를 통해 HR 연구동향을 직관적으로 파악할 수 있습니다.

텍스트 마이닝에서는 다양한 분석기법을 활용합니다. 그 중에서도 텍스트 네트워크단어 클라우드는 가장 많이 활용되는 대표적 기법입니다. 텍스트 네트워크는 단어들 간의 관계를 시각적으로 표현하는 방법으로, 연구 동향에서 어떤 주제들이 연결되어 있는지 파악할 수 있습니다. 단어 클라우드는 텍스트 데이터에서 빈도가 높은 단어들을 크기나 색상으로 표현하여 시각적으로 두드러지게 나타내는 방법입니다.

이와 같은 기법을 잘 활용하면 인사담당자는 HR 트렌드를 분석하는 데 있어 귀중한 인사이트를 얻을 수 있습니다. 이를 통해 인사담당자는 HR 분야의 최신동향과 핵심주제를 효과적으로 파악할 수 있고, 조직의 인사 정책과 전략을 업데이트하는 데 도움을 받을 수 있습니다. 또한, 텍스트 마이닝을 통해 연구동향의 변화를 추적하고 비교 분석함으로써 HR 연구의 진전과 방향성을 파악할 수 있습니다.

 

 


 

 

1. 웹 크롤링(Web Crawling)

 

웹 크롤링이란 인터넷에서 필요한 정보를 프로그램이 자동으로 수집하는 과정을 말합니다. HR 연구동향을 파악하기 위한 과정에서도 웹크롤링 기술을 활용하면 자료를 효과적으로 수집할 수 있습니다. 이러한 데이터 수집은 HR 연구 동향을 빠르게 이해하는 데에 중요한 출발점이 됩니다.

 이번 챕터에서는 연구 관련 여러 사이트 중에서도 학술연구정보서비스 사이트에 접속하여 2019년 이후 사회과학 분야에서 수행되어 온 HR 관련 연구정보를 크롤링해보겠습니다. 이를 위해 첫 번째로, 먼저 좌측 하단처럼 검색창에 HR 키워드를 넣고 검색을 합니다.





검색 창에 키워드 ‘HR’ 입력



검색결과 좁혀 보기 탭에서 검색 범위 축소





 HR키워드를 검색한 후에는 좌측에 위치한 ‘검색결과 좁혀 보기’ 탭에서 ‘사회과학’ 분야와 ‘2023’, ‘2022’, ‘2021’, ‘2020’, ‘2019’년도를 체크하여 검색 범위를 좁힐 수 있습니다. 이렇게 함으로써 최근 5년간 사회과학 분야에서의 HR 연구 동향에 초점을 맞출 수 있습니다.



 

‘개발자 도구’ 기능 실행

 

‘개발자 도구’의 HTML 요소 검사 기능 실행





 검색 후에는 브라우저의 ‘개발자 도구’ 기능을 활용하여 웹 페이지의 HTML을 분석하고, 원하는 정보를 추출해야 합니다. 상단 첫 번째 그림처럼 마우스 오른쪽 버튼을 클릭한 후 메뉴가 활성화되면 메뉴 내에 있는 ‘검사’ 버튼을 클릭하여 브라우저의 ‘개발자 도구’를 실행시킵니다. 개발자 도구의 HTML 요소 검사 기능(상단 두 번째 그림 파란색 표시)을 활성화하고, 논문 제목에 커서를 옮겨 좌측 버튼을 클릭하면, 제목에 대한 HTML 코드를 확인할 수 있습니다.





연구 제목 HTML 부문 확인



연구 제목 HTML 부문 Xpath 복사





 기능을 활성화한 후에는 브라우저 내 연구 제목에 커서를 올려놓고 좌측 버튼 클릭합니다. 제목을 클릭했을 때 ‘개발자 도구’ 창에 제목에 해당되는 HTML 부분을 ‘개발자 도구’ 창에 표시해 줍니다. 해당 창으로 커서를 옮겨서 ‘개발자 도구’ 창에 표시된 제목 부분 HTML 위에서 오른쪽 버튼을 클릭한후 [복사] – [Xpath 복사]를 실행합니다. 이와 같은 방식으로 여러 제목의 HTML을 추출해 냅니다. 복사된 제목 부분의 HTML은 프롬프트에 함께 포함시킬 예정입니다.




URL과 HTML 정보를 일부 떼어 Chat GPT에게 전달한 프롬프트
 
 
 
URL, HTML에서 규칙성을 찾아서 클롤링 R코드를 작성한 화면





 다음으로 R코드를 이용해 RISS에서 HR 관련 연구제목을 크롤링하고 그 텍스트를 Crawled_titles.txt라는 파일에 저장하는 방법에 대해서 알아보겠습니다. 상단 첫 번째 그림은 R코드를 받기 위해 Chat GPT에 넣어준 프롬프트입니다. 우선 1페이지와 2페이지의 URL 규칙을 알려주었고, 총 페이지 수는 25페이지라는 정보를 제공했습니다.

또한 HTML 구조에서 논문 제목의 위치를 파악하기 위해 1페이지의 각 제목들이 어떤 HTML 태그로 감싸져 있는지 예시를 제공하였습니다. Chat GPT는 이런 HTML 정보를 활용해 제목을 감싸고 있는 태그를 식별하고, 이 패턴을 이해하여 전체 HTML의 규칙성을 찾아낼 수 있습니다. 이 과정을 통해 Chat GPT는 크롤링에 필요한 R 코드를 작성해 줄 수 있습니다.

 

 

2. 텍스트 시각화(Text Visualization)

 

 수집된 HR 연구동향 크롤링 데이터를 텍스트 시각화 기법을 활용하여 분석해 보고자 합니다. 텍스트 시각화는 텍스트 데이터를 시각적으로 표현하여 직관적으로 표시하는 방법입니다. 텍스트 시각화를 위해서는 위에서 이미 시행한 웹 크롤링 이후에 크롤링된 데이터에 대하여 형태소 분석, 데이터 시각화 과정이 추가적으로 이루어져야 합니다.

두 번째 단계인 형태소 분석 단계에서 과거 가장 많이 쓰여온 패키지는 KoNLP입니다. 하지만 KoNLP는 2020.02.01 이후로 업데이트가 없고, 이유는 모르겠지만 CRAN에서 삭제되었습니다. 저의 경우 형태소 분석을 위해 KoNLP를 수동 설치하여 사용하였습니다. 하지만 KoNLP가 생각보다 잘 설치되지 않아서 중간에 애를 먹었습니다. 형태소 분석 단계 수행을 위해 KoNLP을 설치하실 경우 아래 블로그 내용들을 참고하시면 패키지 설치가 좀 더 수월해지거라 생각합니다. 저도 아래 블로그 내용에 많은 도움을 받았습니다.


 



 1) 단어 클라우드(Word Cloud)

 

첫 번째, 텍스트 시각화 방법은 단어클라우드 기법입니다. 단어 클라우드를 활용하여 HR 연구동향과 관련된 주요한 단어를 시각화하여 트렌드와 주제를 파악할 수 있습니다. 단어 클라우드는 단어의 빈도수에 따라 크기를 조절하여 시각화하는 방법입니다. 빈도가 높은 단어일수록 크게 표시되어 주목할 만한 키워드를 한눈에 파악할 수 있습니다.

이를 위해 하단 첫 번째 그림 프롬프트에서도 확인할 수 있듯이, RISS에서 크롤링 한 텍스트가 포함되어 있는 Crawled_titles.txt 파일을 지정하고 해당 파일에 대해서 단어클라우드를 만들어 달라고 요청하였습니다. Chat GPT는 이와 같은 명령을 통해 수집한 논문 제목을 전처리하여 불용어를 제거하고 단어의 빈도수를 계산합니다. 빈도수가 높은 순서대로 단어를 정렬한 후, 이를 기반으로 단어 클라우드를 생성합니다. 크기가 큰 단어일수록 빈도가 높은 단어를 나타내며, 이를 통해 HR 연구 동향과 관련된 주요한 키워드를 시각적으로 확인할 수 있습니다.

 

 

Chat GPT 단어클라우드 생성을 위한 프롬프트
 
 
 
단어클라우드 생성 화면





 2) 텍스트 네트워크 분석(Text Network Analysis)

 

두 번째, 텍스트 시각화 방법은 ‘텍스트 네트워크 분석‘입니다. 이는 텍스트 내에서 등장하는 단어들 간의 관계를 네트워크 형태로 표현하는 것으로, 어떤 단어들이 같이 등장하는지, 어떤 주제나 개념이 서로 연관되어 있는지를 시각적으로 나타내 줍니다. 이를 통해 연구 주제들 사이의 연결성을 파악하거나, 특정 주제에 대한 다양한 관점을 이해하는 데 도움을 줄 수 있습니다.

아래 하단 첫 번째 그림 프롬프트에서 볼 수 있는 바와 같이, 단어 클라우드 프롬프트 시와 동일하게 크롤링 한 텍스트가 포함되어 있는 Crawled_titles.txt 파일을 지정하고 해당 파일에 대해서 텍스트 네트워크 분석을 시행해 달라고 요청하였습니다.

그러나 제한 없이 텍스트 네트워크를 시각화했을 경우, 데이터의 양이 많아서 시각화가 제대로 안 되는 관계로 연결이 3회 이상 되는 네트워크만 표시되게 하는 R코드를 작성해 달라고 Chat GPT에게 요청하였습니다. 하단 두 번째 화면은 코드를 입력한 결과로 출력된 시각화 자료입니다. 영어 제목 논문과, 한글 제목 논문이 각 떨어져서 군집을 이루고 있으나 HR이라는 단어를 통해 이어져 있는 것을 살펴볼 수 있습니다.




Chat GPT 단어 네트워크 분석 실시를 위한 프롬프트

 

단어 네트워크 분석 결과 생성 화면

 

 


 


나가며

 

웹 크롤링은 HR 연구동향뿐만 아니라 웹 상의 다양한 정보를 효과적으로 수집하는 데에 굉장히 유용한 방법입니다. 이 기법을 활용해 최신 HR 연구동향과 관련된 정보를 효율적으로 확보할 수 있었습니다. 데이터 수집 이후에는 텍스트 시각화를 통해 데이터의 특성을 효과적으로 파악할 수 있었습니다. 단어 클라우드를 통해서는 어떤 주제가 주요 관심사인지를 거시적인 시각으로 파악할 수 있었으며 텍스트 네트워크를 통해서는 개별적인 연구 내용만으로는 파악하기 어려운 연구 간의 연결 고리와 연구 트렌드의 흐름을 거시적으로 살펴볼 수 있었습니다. 이와 같이 텍스트 수집과 시각화는 대량의 텍스트 데이터를 이해하고 분석하는 데 아주 유용한 도구입니다.

HR 연구동향 분석을 위한 데이터 수집과 텍스트 시각화는 여러 번 강조해도 지나치지 않습니다. 이러한 접근법은 HR 전략과 정책 개선에 기여하며, 조직의 인사관리에 필요한 귀중한 인사이트를 제공하는 데 효과적입니다. 이 방법은 HR 연구동향에만 국한되는 것이 아니라, 인사관리에 필요한 다양한 정보에도 적용할 수 있습니다. 특히 이번 글에서는 다루지 못한 부분이지만 ‘잡플래닛’, ‘블라인드’ 등을 통해 기업 리뷰 텍스트를 크롤링하고 그 데이터를 분석해 새로운 가치를 발견하는 기법은 HR Analytics의 대표적인 방법론입니다. 텍스트 마이닝을 활용한 HR Analytics는 이번 챕터로만 끝내는 것이 아니라 앞으로도 지속적으로 다루어 보도록 하겠습니다.

텍스트 마이닝을 기반으로 한 HR 콘텐츠 분석은 신속하게 변화하는 환경과 조직 내 인적 자원 관리의 현안을 이해하고 대응하는 데 중요한 역량입니다. 이를 기르는 것은 HR 담당자들이 지속적으로 관심을 가지고 노력해야 할 과제입니다. 이번 글이 HR 담당자들의 업무에 조금이나마 도움이 되시길 바라며, 다음 챕터에서 더 유익한 내용으로 찾아뵙겠습니다. 지속적인 관심과 열정으로 HR Analytics 역량을 키워 나가기를 기대합니다.



 * Chat GPT와 R를 활용하여 크롤링과 텍스트 마이닝을 하며 느낀점은 텍스트 마이닝은 Python으로 해야겠다였습니다. Chat GPT가 생성해 주는 R코드도 다른 분석 시에 비해 오류가 더 많이 발생했었고, Chat GPT도 종종 Python으로 대신 해보라고 추천까지 했습니다. 제가 Python은 써 본적이 없었는데, 이 기회로 슬슬 공부해 봐야 겠다는 생각을 갖게 되었습니다.

 

Reference

 
 

김창일 님이 브런치에 게재한 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다.