한글, 영어, 중국어 텍스트 데이터 파일을 입력받아 형태소 분석 후 R tm package에서 사용할 수 있도록 해주는 패키지 - 한글은 은전한닢 형태소 분석기를 사용 - 영어, 중국어는 Stanford core NLP 사용
R 4.0.0 버전에서 사용가능하도록 업데이트 되었습니다.
형태소 분석기 패키지 다운 받을 수 있는 링크
위에서 다운 받으신 파일을 가지고 패키지 인스톨을 하시면 됩니다. (rJava패키지 사전에 인스톨 해야함 / JRE 1.8 이상이 요구됨) 직접설치
install.packages("다운받은 패키지 파일 경로", repos = NULL)
# 예시) install.packages("C:/Users/user/Desktop/class/NLP4kec_1.2.0.zip" , repos=NULL)
#또는 Rstudio에서 제공하는 패키지 인스톨 기능을 사용하세요.
or git clone 후 설치
#git에서 clone 하신 다음 설치도 가능
library(devtools)
install_local("해당 repo를 clone한 경로")
엑셀 또는 CSV로 정리된 텍스트 데이터의 경로와 몇가지 옵션을 입력받아 형태소 분석을 처리함. 분석 대상 파일은 반드시 컬럼명이 id, content로 구성된 파일이어야함 (sample.xlsx 참조) - 파일(xlsx, csv)로 텍스트를 읽어서 형태소 분석 후 결과를 vector 형태로 가져오기
library(NLP4kec)
result = file_parser_r(path = "./sample.xlsx", language = "ko")
library(NLP4kec)
sample_sentence = "카레닌에게 잠에서 깨어나는 순간은 순수한 행복이었다."
r_parser_r(sample_sentence, language = "ko")
synonym_processing(parsedVector = parsedData, synonymDic = "동의어 사전 경로")
result = file_parser_file(path = "./sample.xlsx", language = "ko")
result = file_parser_r(path = "./sample.xlsx", language = "ko", korDicPath = "dictionary 파일 경로")
result = file_parser_r(path = "./sample.xlsx", language = "ko", useEn = T)
# 영어
result = file_parser_r(path = "./en_sample.xlsx", language = "en")
# 중국어
result = file_parser_r(path = "./zh_sample.xlsx", language = "zh")
library(tm)
library(NLP4kec)
#형태소 분석기 실행하기
parsedData = file_parser_r(path = "./sample.xlsx"
,language = "ko"
,korDicPath = "./dictionary.txt")
#단어간 스페이스 하나 더 추가하기
parsedData = gsub(" "," ",parsedData) #(윈도우에서 돌리는 경우에만 적용)
#Corpus 생성
corp = VCorpus(VectorSource(parsedData))
#특수문자 제거
corp = tm_map(corp, removePunctuation)
#Document Term Matrix 생성
dtm = DocumentTermMatrix(corp, control=list(removeNumbers=FALSE, wordLengths=c(2,Inf)))
#단어 양옆 스페이스 제거 및 한글자 단어 제외하기
colnames(dtmW) = trimws(colnames(dtmW)) #(윈도우에서 돌리는 경우에만 적용)
dtmW = dtmW[,nchar(colnames(dtmW)) > 1]
#연관 키워드 구하기
findAssocs(dtm, terms = "냉장고", corlimit = 0.2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.