온라인 강의 사이트
국민안전역량의 향상에 초석이 되고자 합니다.
National Safery Competency Association

[토이플젝/Python] 유튜브 댓글분석 프로그램 개발AI감정분석, CSV, 워드클라우드, 형태소분석

Hestia 0 3

사회과학대 워드클라우드 학생의 글포스팅의 영역을 확장하면서 곰곰히 생각해보다가 작성하는 글입니다.보고서를 쓰고 각주를 달고 참조문헌을 달고 하다보면, 이게 맞나 하는 글의 빈약함, 그리고 사회의 추세에 대한 합리적 의심이 들었습니다.또 정부나 사회에서의 토론 내용들 등의 핵심 포인트들도 잡아서 넣고 싶은데 망설일때도 많았습니다.그럴때마다 꺼내든 R 프로그렘의 대한 글을 조심스럽게 작성해보려 합니다.R환경에 대한 글은 차후에 포스팅을 해보려 합니다.문재인 대통령은 25일 코로나19 확산세와 관련비수도권에서도 거리두기 단계를 3단계로 일괄 상향하는 등 강화된 방역조치를 시행하기로 했다고 밝혔다. 문 대통령은 이날 청와대 국가위기관리센터에서 열린 코로나19 중대본 회의를 주재한 자리에서 최근 가장 우려가 되는 것은 비수도권의 확산세다.수도권 거리두기 강화에 따른 풍선효과와 함께 휴가지 중심으로 이동량이korea.kr브리핑의 주요 키워드를 뽑아내보려 합니다.바로 상단의 정부 브리핑이자, 대통령 발표에 대한 글의 키워드를 뽑아내보려 합니다.최근 수도권 코로나 사회적 거리두기 4단계를 했지만 비수도권에서의 확산으로 비수도권 또한 격상되면서 발표한 내용의 전문입니다.1. 자료만들기자료 만들기는 매우 쉽습니다.메모장에 글의 전문을 워드클라우드 그대로 복사 붙여넣기 했습니다.다만 복사 붙여넣기 이후 메모장 상단 편집, 바꾸기를 통해 숫자와 특수기호를 미리 제거했습니다.사실 R에서 함수를 입력해서 수정하는 법이 있으나 그렇다 하더라도 미리 보이는 부분만 수정을 해놓고 저장을 했습니다.메모장 저장은 바탕화면에 저장하는 것을 추천드립니다. 작업환경이 매우 간단한 곳이 좋기 때문입니다.본격적인 작업에 앞서서 이용할 패키지를 불러오기R은 파이썬과 유사합니다.통계적으로 파이썬의 프로그래밍 방법과 동일하며 파이썬에서 쓰이는 if 문법도 동일하게 적용할 수 있습니다.다만 파이썬에서 X=처럼 변수를 설정했다면 R에서는 X <- 를 사용합니다.​일단 워드클라우드 이전에 메모장의 단어들을 서술어 형용사 처럼 국어의 품사별로 분리하기 위한 작업과 가장 많이 사용된 단어를 카운팅하는 등의 작업을 위한 패키지를 불러옵니다.주로 사용되는 패키지는 아래 슬라이드로 제작했습니다.패키지 설치 방법 및 R로 불러오는 법사실 KoNLP는 2부에서 따로 설치방법을 알려드릴까 합니다.그 외에 패키지들은 매우 간단하게 할 수 있습니다.install.packages() 를 통해 다운로드 후 적용을 할 수 있으며, 인터넷 환경이 필요합니다.​패키지 설치 워드클라우드 이전의 저의 R버전은 3.6.3버전입니다.KoNLP의 경우 4.0 버전 적용이 되지 않아 일부러 구버전을 지속적으로 사용하고 있습니다.국어 품사를 가려내기 위한 첫걸음KoNLP는 R에서의 프로그레밍 중의 한글을 인식 및 작업을 할수있는 가장 기본적인 패키지 입니다.품사별로 사전에 있는 단어별로 국어를 정리하기 위해 KoNLP내의 있는 사전또한 필요합니다.useSajongDic()을 통해 사전을 사용하는 것을 선언합니다.​R과 파이썬에서 명령어 입력의 기본이 같기 때문에 대학생의 경우 파이썬 기초 강의를 듣고 오신다면 좀 더 수월하실 듯 합니다.저처럼 노베이스에 책으로 읽으며 찾아가며 배우는 과정은 매우 힘들다고 생각됩니다.작업을 시작하기전 경로설정부터일단 R에서 메모장 파일을 읽어야 하고마지막으로 워드클라우드 추출물또한 받아야 하기 때문에 setwd 경로 설정을 해줍니다.​사실 번거롭기도 한 작업이기 때문에 가장 쉬운 위치인 바탕화면으로 잡고 설정을 해주면 됩니다.setwd(&quot)로 사용되며 바탕화면 폴더 위치를 복사 붙여넣기 해서 따옴표 안에 넣어주면 됩니다.\키가 보이는데 R에서는 대각선 슬레시로 인식합니다.​작업환경을 입력할때는 당연히 사용할 메모장파일이 있는 곳으로 설정해야하며, 메모장파일을 바탕화면에 두고 쓰시는 워드클라우드 것을 추천드립니다.R사용의 가장 기본은 변수 설정txt, a, x, y, z 등의 변수를 설정해야 합니다.예시로 x<-readlines(news.txt, warn 㷺LSE, encoding =UTF-8) 을 한글로 해석해보려 합니다.​x라는 작업은 news.txt 파일을 읽는 것이다. 경고를 생략하고 인코딩은 UTF-8로 되어 있는 파일로 불러와야 한다.즉 a라는 작업을 이렇게 한다 라는 개념입니다.그렇기 때문에 a <- 의 경우 a라는 작업은 으로 작업을 할때 변수를 지정하는 것으로 파이썬과 동일합니다.​작업의 해당되는 변수들을 설정하는 것으로 가장 쉽게 설정하는 것은 한글자 알파벳이지만, 차후에 명령어가 많아서 햇갈리기 시작하면 않되니 단어들을 이용해서 작업을 하시는 것도 추천드립니다.위 작업의 사용된 명령어들입니다.변수의 경우 한글로 변수가 아닌 직접 x나 a 또는 word나 txt 등등의 변수를 설정해주셔야하는 부분을 한글로 표시했습니다.국어의 품사들을 잘라내는 작업이 unlist 까지 이며작업할 단어보기라고 표시된 경우 그냥 위에 까지 해온 변수 그대로를 작업창에 입력해주시면 됩니다.예로 아래 작업을 txt<- 로 해왔다면, txt 만 입력하면 작업된 결과물이 표시됩니다.​조사나 워드클라우드 세글자 네글자 이상하게 꼬인 부분을 수정해야한다면gsub 작업을 해야합니다.​gsub는 제거라고들 하지만 치환하는 과정입니다.즉 사고한다 라는 내용을 사고로 바꾸는 것으로만약 word 변수에 사고한다 라는 단어를 사고로 바꾸신다면word<- gsub(사고한다,사고,word) 라고 입력하시면 됩니다.​만약 글자를 제거하고 싶으시다면 2번째 따옴표 부분을 비워놓으시면 됩니다.마지막으로 라고 남아있는 부분을 제거해야합니다. 제거하는 법은 위 명령어에 2개이상 단어만 사용하기 위해서의 표시된 명령어를 입력하는 것으로 2개 이상의 단어만 보이게 해주세요 라는 명령어 입니다.거의 다왔습니다.gsub와 filter를 통해 작업을 어느정도 시행했습니다.분명 조사등이 남아있기는 하지만 실제 과제용은 아니기 때문에 빠르게 끝내보았습니다.이제 카운팅을 해야합니다.동일한 단어들이 얼마나 사용되었으며 얼마나 보이는지 카운팅을 해야합니다.​새변수를 설정해줍니다.사유는 매우 간단하게도 만약 잘못입력해서 꼬여버리면 위에 gsub했던 변수가 통으로 날아갈수 있기 때문에저처럼 ad라는 이름으로 gsub작업을 했다면 cou라는 새변수를 설정해줍니다.( 예시 : cou<- ) 로 만들어주고 cou<-table(ad) 로 cou는 ad 입니다로 cou를 ad와 내용은 같지만 이름이 다르게 복사 붙여넣기 하듯 분리해준 후 작업을 워드클라우드 시도합니다.​카운팅의 경우 sort( 설정하신 변수명, decreasing =T ) 로해주시면 되는데 숫자 부분은 최대로 보이는 카운팅된 글자입니다.만약 카운팅 중에 한번만 카운트 된 단어를 제거하고 싶으시다면, sort(설정변수, decreasing =T ) [2:원하는 숫자]로 조정하셔서 하나만 잡힌 단어들을 제거하시면 됩니다. 또는 카운트된 단어가 너무 많아서 전반적으로 양을 줄이신다면, sort(설정변수, decreasing =T. 숫자 ) [2:숫자] 를 통해 카운트된 단어의 양을 조절하시면됩니다.​그리고 카운팅하신 변수 저는 cou로 했기 때문에 작업창에 cou 만 입력해주면 카운팅 된 단어가 보입니다.단어 아래 숫자가 빈도수 입니다.이제 워드클라우드, 단어구름을 만들시간워드클라우드 2를 이용합니다.명령어도 간단하면서 윈도우에 깔아놓은 폰트들도 이용할 수 있습니다.가장 기본적인 워드클라우드를 만들어보면,추출물을 위한 또다른 변수를 설정합니다.clo 라는 이름으로 변수를 만들어주면, clo<-wordcloud2(data=카운팅작업변수명, fontFamily =원하는 폰트명&quot) 을 입력해줍니다.다만 폰트는 풀네임으로 입력해주셔야 합니다.​이렇게 되면 clo라는 변수에 워드클라우드 작업이 되었습니다.clo 작업물을 눈으로 확인할 시간입니다.html 파일로 보기 위해서 위 상단에 html 패키지를 사용한 이유입니다.​savewight( clo , 워드클라우드 원하는 이름.html, selfcontained ϟ )를 입력해주면 바탕화면에 html 파일을 통해 확인할 수 있습니다.clo 부분은 제가 윗문단에 워드클라우드 작업 변수를 clo라고 이야기 했기때문에 clo 이고, 여러분들이 또다른 이름으로 작업을 하셨다면 작업하신 변수명의 이름을 사용하시면 됩니다.저장도 하고 색도 바뀝니다.html 파일에 경우 계속적으로 색이 바뀝니다.만약 마음에 들지 않은 색이다 하시면 명령어를 통해 바꿔도 되지만 귀찮으시다면 html 파일을 새로고침 해보시면 쉬울듯 합니다.​저장방법은 매우 간단합니다.html 파일을 마이크로엣지로 여신다음 흰색 여백에 우클릭하시고 이미지 저장을 하시면 저장이 됩니다.PPT 심심함도 줄이고 상황요약도 가능합니다.지금 노트북에 한쇼 만 있어서 사용법이 어렵지만 파워포인트로 누끼를 따서 배경을 투명화시킨다음에 표지나 상황요약부분에 탑제해주시는 것도 추천드립니다.​단순히 발표문 뿐만 아니라 기사 제목이나 학생 커뮤니티의 글들을 복붙해서 만들어서 위처럼 또한 만들 수 있습니다.다만 참조를 달아주셔야 하며, 저 같은 경우 R 3.6.3 텍스트 마이닝 문제인대통령 코로나 대응단계 격상 발표문, 대한민국 정책브리핑, 2021.07.25&quot등으로 참조를 다는 편입니다.<- 를 워드클라우드 사용하는 이유컴퓨터 명령어를 작업하는 기초는 작업변수를 선언하는 것이라고 생각합니다.R또한 어떠한 작업을 위해서는 그 작업의 이름을 잡아야 합니다.때문에 제목 <- 작업명령어 순으로 입력이 되어야 합니다.파이썬에서 제목 =작업명령어 의 개념과 동일합니다.​위 글이 매우 어려우실 수 있습니다.하지만 파이썬을 기초적으로 활용하실 수 있고 R이 거의 동일한 플렛폼이다 라고 아신다면 저의 글은 명령어 찾기에 불과할 것이라고 생각은 됩니다​<- 를 사용하여 작업의 제목을 다는 것 부터가 R에 기초가 됩니다. 그리고 패키지를 깔고 불러오고 사용하는 것이니 만큼 R에서의 <- 그리고 파이썬에서의 =의 기호의 활용을 먼저 배우시는 것을 추천드립니다.본글은 상경계에서도 어려운글이라고 생각됩니다. Spss의 경우 한글처럼 사용하면 되지만 R은 파이썬 처럼 코딩의 작업이 필요하기 때문에 잘 사용하지 않기 때문에 문과라면 어려운 작업은 맞다고도 생각되지만 어느정도 숙달되신다면 매우 편안하게 사용하실 수 있습니다.​마지막으로 위의 제작된 슬라이드 모두 제가 직접제작한 것으로 인용 및 퍼가기를 하신다면 출처를 꼭 남겨주셨으면 합니다.빠른 시간안에 워드클라우드 KoNLP 패키지 설치방법도 작성해보도록 하겠습니다.​

0 Comments