n-gram 토큰화 및 n-gram 토큰화 집계.

get_ngrams(
  x,
  n = 2L,
  token = c("noun", "noun2", "word"),
  type = c("raw", "table"),
  user_dic = NULL
)

Arguments

x

character. n-gram 토큰화에 사용할 document.

n

integer. n-gram 토큰화에서의 n.

token

character. n-gram 토큰화에서 토큰의 종류. "noun", "noun2", "word" 에서 선택. 기본값은 "noun"로 일반명사, "noun2"는 명사, "word"는 단어를 의미함.

type

character. 반환하는 결과물의 종류. "raw"는 토큰화된 n-gram 자체를 반환하며, "table"은 토큰화된 n-gram 집계 정보를 반환.

user_dic

mecab-ko 형태소 분석기의 사용자 정의 사전 파일. 기본값은 NULL로 사용자 사전파일을 지정하지 않음.

Value

n-gram 토큰화된 character 벡터, 혹은 n-gram 집계 정보를 담은 데이터 프레임

n-gram 집계 정보

n-gram 집계 정보를 담은 데이터 프레임 변수는 다음과 같음.:

  • ngrams : n-gram 토큰. character.

  • freq : n-gram 토큰의 도수. integer.

  • prop : n-gram 토큰의 상대도수. numeric.

Examples

# \donttest{
str <- "신혼부부나 주말부부는 놀이공원 자유이용권을 즐겨 구매합니다."

# bi-gram
get_ngrams(str)
#> [1] "신혼 부부"     "부부 주말"     "주말 부부"     "부부 놀이공원"
#> [5] "놀이공원 자유" "자유 이용"     "이용 구매"    

# tri-gram
get_ngrams(str, n = 3)
#> [1] "신혼 부부 주말"     "부부 주말 부부"     "주말 부부 놀이공원"
#> [4] "부부 놀이공원 자유" "놀이공원 자유 이용" "자유 이용 구매"    

# 워드(띄어쓰기) 기반 토큰화
get_ngrams(str, token = "word")
#> Error: argument 'str' must be a non-empty vector of strings

# 집계정보
get_ngrams(str, type = "table")
#>           ngrams freq      prop
#> 1     신혼 부부     1 0.1428571
#> 2     주말 부부     1 0.1428571
#> 3     부부 주말     1 0.1428571
#> 4 놀이공원 자유     1 0.1428571
#> 5     이용 구매     1 0.1428571
#> 6 부부 놀이공원     1 0.1428571
#> 7     자유 이용     1 0.1428571

# 사용자 정의 사전 사용
dic_path <- system.file("dic", package = "bitTA")
dic_file <- glue::glue("{dic_path}/buzz_dic.dic")
get_ngrams(str, user_dic = dic_file)
#> [1] "신혼부부 주말부부"   "주말부부 놀이공원"   "놀이공원 자유이용권"
#> [4] "자유이용권 구매"    

# }