停用词消除和向量制作

Stopwords eliminating and vector making

在 text2vec 中,我能找到的关于停用词的唯一函数是“create_vocabulary”。但是在文本挖掘任务中,我们通常需要去除资源文档中的停用词,然后构建语料库或其他进一步的过程。我们如何使用“停用词”来处理使用 text2vec 构建语料库、dtm 和 tcm 中的文档?

我以前用tm做文本挖掘。它具有分析 PDF 文档的功能,但它将一篇论文读取为多个向量(一行,一个向量),而不是像我期望的那样将每个文档读取为一个向量。此外,tm 中的格式交换功能在中文中存在乱码问题。如果使用text2vec读取文档,它能把一篇论文读成一个向量吗?(又名。向量的体积是否足够大以发表在期刊上的一篇论文?)否则,text2vec内置的语料库和向量与tm内置的语料库和向量兼容吗?

有两种创建文档术语矩阵的方法:

  1. 使用特征哈希
  2. 使用词汇

详情见text-vectorization vignette

你有2个选择感兴趣。这意味着您应该构建词汇表 - words/ngrams 的集合,它将在所有下游任务中使用。 create_vocabulary 创建词汇表对象,只有来自该对象的术语才会在后续步骤中使用。因此,如果您将 stopwords 提供给 create_vocabulary,它会将它们从 corpus.As 中所有观察到的词集中删除,您可以看到您应该只提供一次停用词。所有的下游任务都将使用词汇。

回答第二个问题。

text2vec 不提供阅读 PDF 文档的高级功能。但是它允许用户提供自定义 reader 功能。您所需要的只是阅读具有某些功能的完整文章,并将它们重塑为字符向量,其中每个元素对应于所需的信息单元(完整文章、段落等)。例如,您可以使用 paste() 函数轻松地将行组合成单个元素。例如:

article = c("sentence 1.", "sentence 2")
full_article = paste(article, collapse = ' ')
#  "sentence 1. sentence 2"

希望对您有所帮助。