如何为 R 中的文本分类自定义文本创建词映射?
How to create a word map for custom text for text classification in R?
我正在尝试在 R 中实现一个文本分类程序,将输入文本 (args) 分为 3 种不同的 类。通过将输入数据分为训练数据和测试数据,我已经成功地测试了示例程序。
我现在想构建一些允许我对自定义文本进行分类的东西。
我的输入数据具有以下结构:
因此,如果我输入自定义文本:"games studies time",我希望获得如下所示的矩阵:
请告诉我最好的方法是什么。
这听起来很像 "dictionary" 在文本标记化之后应用于文本。然而,作为问题的矩阵结果,您没有使用输入数据中的类别。
所以这里有两种解决方案:一种是生成您声明所需的矩阵,另一种是根据输入数据将文本映射到的类别的计数来生成对输入文本进行计数的矩阵.
这使用 R 中的 quanteda 包。
require(quanteda)
mymap <- dictionary(list(school = c("time", "games", "studies"),
college = c("time", "games"),
office = c("work")))
dfm("games studies time", verbose = FALSE)
## Document-feature matrix of: 1 document, 3 features.
## 1 x 3 sparse Matrix of class "dfmSparse"
## features
## docs games studies time
## text1 1 1 1
dfm("games studies time", dictionary = mymap, verbose = FALSE)
## Document-feature matrix of: 1 document, 3 features.
## 1 x 3 sparse Matrix of class "dfmSparse"
## features
## docs school college office
## text1 3 2 0
我正在尝试在 R 中实现一个文本分类程序,将输入文本 (args) 分为 3 种不同的 类。通过将输入数据分为训练数据和测试数据,我已经成功地测试了示例程序。
我现在想构建一些允许我对自定义文本进行分类的东西。 我的输入数据具有以下结构:
因此,如果我输入自定义文本:"games studies time",我希望获得如下所示的矩阵:
请告诉我最好的方法是什么。
这听起来很像 "dictionary" 在文本标记化之后应用于文本。然而,作为问题的矩阵结果,您没有使用输入数据中的类别。
所以这里有两种解决方案:一种是生成您声明所需的矩阵,另一种是根据输入数据将文本映射到的类别的计数来生成对输入文本进行计数的矩阵.
这使用 R 中的 quanteda 包。
require(quanteda)
mymap <- dictionary(list(school = c("time", "games", "studies"),
college = c("time", "games"),
office = c("work")))
dfm("games studies time", verbose = FALSE)
## Document-feature matrix of: 1 document, 3 features.
## 1 x 3 sparse Matrix of class "dfmSparse"
## features
## docs games studies time
## text1 1 1 1
dfm("games studies time", dictionary = mymap, verbose = FALSE)
## Document-feature matrix of: 1 document, 3 features.
## 1 x 3 sparse Matrix of class "dfmSparse"
## features
## docs school college office
## text1 3 2 0