Learn R Programming

RcppMeCab (version 0.0.1.7)

posParallel: parallel version of part-of-speech tagger

Description

posParallel returns part-of-speech (POS) tagged morpheme of the sentence.

Usage

posParallel(
  sentence,
  join = TRUE,
  format = c("list", "data.frame"),
  lang = NULL,
  sys_dic = "",
  user_dic = ""
)

Value

A string vector or a list of POS tagged morpheme will be returned in conjoined character vector form.

Arguments

sentence

A character vector of any length. For analyzing multiple sentences, put them in one character vector.

join

A bool to decide the output format. The default value is TRUE. If FALSE, the function will return morphemes only, and tags put in the attribute. if format="data.frame", then this will be ignored.

format

A data type for the result. The default value is "list". You can set this to "data.frame" to get a result as data frame format.

lang

Optional dictionary code ("ja", "ko", or "zh") selecting a dictionary installed via download_dic. This does not switch the MeCab engine. When specified, it overrides sys_dic.

sys_dic

A location of system MeCab dictionary. The default value is "".

user_dic

A location of user-specific MeCab dictionary. The default value is "".

Details

This is a parallelized version of MeCab part-of-speech tagger. The function gets a character vector of any length and runs a loop inside C++ with Intel TBB to provide faster processing.

Parallelizing over a character vector is not supported by RcppParallel. Thus, this function makes duplicates of the input and the output. Therefore, if your data volume is large, use pos or divide the vector to several sub-vectors.

You can add a user dictionary to user_dic. It should be compiled by mecab-dict-index. You can find an explanation about compiling a user dictionary in the https://github.com/junhewk/RcppMeCab.

You can also set a system dictionary especially if you are using multiple dictionaries (for example, using both IPA and Juman dictionary at the same time in Japanese) in sys_dic. Using options(mecabSysDic=), you can set your preferred system dictionary to the R terminal.

The lang argument selects a dictionary; it does not switch the MeCab engine chosen when RcppMeCab was installed. Japanese and Chinese dictionaries use standard MeCab. Supported Korean behavior, including mecab-ko whitespace handling, requires the mecab-ko engine. Dictionary feature layouts are language-specific, and the historical data-frame columns do not expose all mecab-jieba metadata.

If you want to get a morpheme only, use join = False to put tag names on the attribute. Basically, the function will return a list of character vectors with (morpheme)/(tag) elements.