R:KoNLP(한글 텍스트마이닝), wordcloud2(워드클라우드): 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
 
28번째 줄: 28번째 줄:


==== 단어추가 ====
==== 단어추가 ====
useNIADic() #단어사전을 가져온다.ff
useNIADic() #단어사전을 가져온다.


mergeUserDic(data.frame(c("단어") c("ncn"))) #단어를 추가한다. 한 단어에 한 줄씩 번거롭게 해주어야 할듯;; 하핫; 에러는 무시해도 된다.
mergeUserDic(data.frame(c("단어") c("ncn"))) #단어를 추가한다. 한 단어에 한 줄씩 번거롭게 해주어야 할듯;; 하핫; 에러는 무시해도 된다.

2023년 11월 10일 (금) 00:48 기준 최신판


R언어 공부를 위한 틀 틀:R

  1. R:개요
    1. R:코딩팁
    2. R:연산자
  2. R:객체
    1. R:자료형
    2. R:자료구조
  3. R:함수
    1. R:자주사용하는 함수
      1. R:aplly계열(반복문, 중복작업)
  4. R:제어문
    1. R:조건문
    2. R:반복문
  5. R:자료조작
    1. R:데이터프레임
    2. R:행렬
  6. R:데이터 저장과 불러오기
    1. R:데이터베이스
    2. R:특정조건 추출하기
  7. R:패키지
    1. R:magrittr(파이프연산자)
    2. R:dplyr(데이터프레임 조작)
    3. R:ggplot2(그래프그리기)
    4. R:KoNLP(한글 텍스트마이닝), wordcloud2(워드클라우드)
    5. R:ddply(데이터 집계, 조작)
    6. R:tidyverse(데이터를 정제하는 패키지들의 집합)
    7. R:jsonlite(JSON 파일 다루기)
    8. R:pbapply(apply계열에 진행바를 보여준다.)
  8. R:활용
    1. R:데이터 접근
    2. R:연관성분석
    3. R:분류분석
  9. R:팁
    1. R:연구용 팁

개요[편집 | 원본 편집]

KoNLP(Korean Natural Language Processing). 자바로 구성되어 있어서 자바를 먼저 설치해주어야 한다.


벡터에 문장을 넣는다. v = "어쩌구 저쩌구"

이름 기원 기능 사용법f
extractNoun() 문장에서 명사를 추출한다.

조사를 빼고 명사를 추출한다.

'한나눔 분석기'를 사용하기 때문에 정확한 처리를 위해선 전처리가 필요하다.

이름이나 신조어에 대한 등록은 따로 해주어야 한다.

extractNoun(명사를담은벡터)

extractNoun("어쩌구저쩌구문장")

전처리방법[편집 | 원본 편집]

엑셀에 메모장의 모든 텍스트를 옮긴다. 데이터>텍스트나누기에서 상황에 따라 나눈다. 하여, 바라는 것을 추출한 후에 새로운 메모장에 텍스트를 담는다. 단, 저장할 때, ANSI로 저장.

단어추가[편집 | 원본 편집]

useNIADic() #단어사전을 가져온다.

mergeUserDic(data.frame(c("단어") c("ncn"))) #단어를 추가한다. 한 단어에 한 줄씩 번거롭게 해주어야 할듯;; 하핫; 에러는 무시해도 된다.

text1 = readLines("경로.목표파일.txt") #한줄한줄 읽어 벡터로 가져온다.

text2 = extractNoun(text1) #리스트 형태로 명사를 추출한다.

워드클라우드[편집 | 원본 편집]

text3 = unlist(text2) #리스트를 풀어 벡터로 변환한다.

불용어처리[편집 | 원본 편집]

text4 = gsub("안쓸단어", "바꿔줄단어", text3) #불용어를 전처리한다. 이것도 한 단어에 하나씩 번거롭게 해주어야 할듯. 안쓸단어라면 바꿔줄단어에 아무것도 안넣고 ""로 마무리하면 된다.

text5 = text4[nchar(text4)<5] #텍스트길이가 5개 미만인 것만 담는다.

text5 = text5[nchar(text5)>1] #텍스트길이가 1개 초과인 것만 담는다.

text6 = sort(table(text5), decreasing = T) #table로 빈도수를 찾고, 내림차순으로 정렬한다.

text7 = head(text6, 300) #상위 300개를 가져온다.

패키지 사용[편집 | 원본 편집]

install.packages("wordcloud2")

library(wordcloud2)

wordcloud2(text7, size=1) #사이즈 숫자를 바꾸어 크기를 조절할 수 있다.