【问题标题】:Tokenizing Japanese text in R: Only first line of the specified column is tokenized在 R 中标记日文文本:仅对指定列的第一行进行标记
【发布时间】:2018-07-31 07:51:26
【问题描述】:

我正在尝试使用日语标记器 RMeCab 标记一组推文,特别是函数 RMeCabDF(用于数据帧)。

文档说明了以下用法:

RMeCabDF

说明

RMeCabDF 将数据帧作为第一个参数,并分析 第二个参数指定的列。空白数据应该是 替换为 NA。如果将 1 指定为第三个参数,则返回 每个语素的基本形式。

用法

RMeCabDF(dataf, coln, mypref, dic = "", mecabrc = "", etc = "")

参数

dataf data.frame

coln 包含日语句子的列号或名称

mypref 默认为 0,返回文本中出现的相同词素形式。如果指定了 1,则它们的基本形式是相反的。

dic 指定用户字典,例如ishida.dic

mecabrc没有实现(指定mecab资源文件)

etc mecab 的其他选项

因此,在此之后,我使用以下代码标记数据框trump_ja 中的列号89

trump_ja_tokens <- RMeCabDF(trump_ja, coln = 89)

这导致List of 1 - 但正如您所见,数据框有 989 行。

我的其他行去哪儿了?

我必须逐行标记吗?如果是这样,有没有什么方法可以自动化这个过程以避免输入 1000 行代码(或使用 Excel 生成 1000 行代码)?

【问题讨论】:

  • 我不知道 RMecab,但也许来自quantedathis tutorial 可能会进一步帮助您。

标签: r dataframe tokenize tidytext mecab


【解决方案1】:

您可以像 this user 那样将 RMeCab 标记器与 tidytext 一起使用。你可以这样设置:

df %>%
    unnest_tokens(word, text, token = RMeCab::RMeCabC)

df 是您的数据框,word 是您要创建的新列,text 是您已有的旧列,其中包含要标记的文本。 unnest_tokens() 中的 token 参数可以将函数作为参数,对于这些情况。

【讨论】:

    猜你喜欢
    • 2021-11-28
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2021-08-15
    • 1970-01-01
    • 2020-01-01
    • 2019-03-13
    相关资源
    最近更新 更多