morpho_mecab.Rd
Mecab 형태소 분석기 기반 형태소분석/품사 태깅을 통한 토큰화
morpho_mecab(
x,
type = c("noun", "noun2", "verb", "adj", "morpheme"),
indiv = TRUE,
user_dic = NULL,
as_list = FALSE
)
character. 형태소 분석에 사용할 document.
character. 형태소 분석의 결과 유형.모든 품사, 명사, 동사 및 형용사와 같은 토큰화 결과 유형을 지정. "morpheme", "noun", "noun2", "verb", "adj"중에서 선택. 기본값은 "noun"로 일반명사만 추출함.
logical. 복수개의 문서일 때 개별 문서를 리스트로 반환할 지를 선택함. TRUE이면 개별 리스트로 반환하고, FALSE이면 하나의 문자 벡터로 반환함. 기본값은 TRUE
mecab-ko 형태소 분석기의 사용자 정의 사전 파일. 기본값은 NULL로 사용자 사전파일을 지정하지 않음. 시스템 사전인 "/usr/local/lib/mecab/dic/mecab-ko-dic"(Linux, Mac)를 보완하여 사용됨. 사용자 사전 파일은 mecab-dict-index 명령어로 생성되며, 확장자가 "dic"임.
logical. 문서의 개수가 한 개일 때, 결과를 리스트로 반환할지의 여부를 선택함. TRUE일 경우에는 리스트 객체로, FALSE일 경우에는 문자 벡터로 결과를 반환함 tidytext 패키지와 함께 사용할 경우에는 TRUE를 사용하는 것이 좋음. 문서 개수가 1개인 경우, 즉 행(관측치)의 개수가 1개인 경우에 데이터프레임 연산에서의 오류를 방지하기 위한 목적의 인수임
Mecab 형태소 분석기 결과 구조의 character 벡터 혹은 character 벡터를 원소로 갖는 list 객체.
type 인수에 따라 토큰화되는 품사의 종류는 다음과 같다.:
"morpheme" : 모든 품사 토큰화
"noun" : 일반명사(NNG) 토큰화
"noun2" : 모든 명사 토큰화
"verb" : 동사 토큰화
"adj" : 형용사 토큰화
Mecab 형태소 분석기의 시스템 사전의 경로는 "/usr/local/lib/mecab/dic/mecab-ko-dic"이며, NIADic이 포팅되어 들어 있음. 그러나, "/usr/local/lib/mecab/dic/mecab-ko-dic2"에는 NIADic이 포함되어 있지 않음. 이것은 bitNLP 패키지에서는 참조하지 않음.
# \donttest{
## Mecab 형태소 분석
morpho_mecab("아버지가 방에 들어가신다.")
#> NNG NNG
#> "아버지" "방"
morpho_mecab("아버지가 방에 들어가신다.", type = "morpheme")
#> NNG JKS NNG JKB VV EP+EF SF
#> "아버지" "가" "방" "에" "들어가" "신다" "."
morpho_mecab("아버지가 방에 들어가신다.", type = "verb")
#> VV
#> "들어가"
dic_path <- system.file("dic", package = "bitNLP")
dic_file <- glue::glue("{dic_path}/buzz_dic.dic")
str <- "신혼부부나 주말부부는 놀이공원 자유이용권을 즐겨 구매합니다."
morpho_mecab(str)
#> NNG NNG NNG NNG NNG NNG NNG NNG NNG
#> "신혼" "부부" "주말" "부부" "놀이" "공원" "자유" "이용" "구매"
morpho_mecab(str, user_dic = dic_file)
#> NNG NNG NNG NNG NNG NNG
#> "신혼부부" "주말부부" "놀이" "공원" "자유이용권" "구매"
morpho_mecab(c("무궁화꽃이 피었습니다.", "나는 어제 올갱이국밥을 먹었다."))
#> [[1]]
#> NNG NNG
#> "무궁화" "꽃"
#>
#> [[2]]
#> NNG NNG
#> "올갱이" "국밥"
#>
morpho_mecab(c("무궁화꽃이 피었습니다.", "나는 어제 올갱이국밥을 먹었다."), indiv = FALSE)
#> NNG NNG NNG NNG
#> "무궁화" "꽃" "올갱이" "국밥"
# Using morpho_mecab with tidytext package
library(dplyr)
nho_noun_indiv <- president_speech %>%
filter(president %in% "노무현") %>%
filter(stringr::str_detect(category, "^외교")) %>%
tidytext::unnest_tokens(
out = "speech_noun",
input = "doc",
token = morpho_mecab
)
nho_noun_indiv
#> # A tibble: 44,316 × 7
#> id president category type title date speec…¹
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 우정
#> 2 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 해
#> 3 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 개막식
#> 4 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 축하
#> 5 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 행사
#> 6 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 축하
#> 7 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 참석
#> 8 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 모두
#> 9 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 환영
#> 10 DOC_0001 노무현 외교-통상 치사 "2005 한일 우정의 해 개막식… 2005… 감사
#> # … with 44,306 more rows, and abbreviated variable name ¹speech_noun
# }