如何考虑来自 http://www.ranks.nl/stopwords 的“Long Stopword List”?
Posted
技术标签:
【中文标题】如何考虑来自 http://www.ranks.nl/stopwords 的“Long Stopword List”?【英文标题】:How to consider "Long Stopword List" from http://www.ranks.nl/stopwords? 【发布时间】:2020-12-30 19:47:04 【问题描述】:我有兴趣使用 R
从我的文本中删除所有停用词。我想删除的停用词列表可以在“Long Stopword List”部分下的http://www.ranks.nl/stopwords 找到(一个非常长的列表版本)。我正在使用tm
包。有人可以帮帮我吗?天呐!
【问题讨论】:
这能回答你的问题吗? delete stop words in R 请看一下 R 文档:rdocumentation.org/packages/qdap/versions/0.2.5/topics/…。 可以使用tm_map(text, removeWords, stopwords("en"))
轻松删除默认的英文停用词。我的问题是考虑指定链接中的所有停用词列表。
您的问题是关于如何检索停用词列表或如何使用tm_map(text, removeWords, "any vector goes here" )
?
当然!我的问题是如何直接访问这些列表。这可能吗?
【参考方案1】:
您可以复制该列表(在您的浏览器中选择它之后),然后将其粘贴到 R 中的这个表达式中:
LONGSWS <- " <paste into this position> "
您可以将编辑器或 IDE 控制台设备的光标放在两个引号内。然后这样做:
sw.vec <- scan(text=LONGSWS, what="")
#Read 474 items
扫描函数需要通过what
参数的示例指定输入类型,为此,仅使用""
就足以处理字符类型。然后您应该能够应用您在评论中提供的代码:
tm_map(text, removeWords, sw.vec)
您尚未提供示例 text
对象。仅使用字符向量是不成功的:
tm_map("test of my text", removeWords, sw.vec )
#Error in UseMethod("tm_map", x) :
# no applicable method for 'tm_map' applied to an object of class "character"
因此,我们需要假设您有一个合适的类的合适对象放置在tm_map
的参数的第一个位置。所以使用?tm_map
帮助页面中的示例:
> res <- tm_map(crude, removeWords, sw.vec )
> str(res)
List of 20
$ 127:List of 2
..$ content: chr "Diamond Shamrock Corp said \neffective today cut contract prices crude oil \n1.50 dlrs barrel.\n The re"| __truncated__
..$ meta :List of 15
.. ..$ author : chr(0)
.. ..$ datetimestamp: POSIXlt[1:1], format: "1987-02-26 17:00:56"
.. ..$ description : chr ""
.. ..$ heading : chr "DIAMOND SHAMROCK (DIA) CUTS CRUDE PRICES"
.. ..$ id : chr "127"
.. ..$ language : chr "en"
.. ..$ origin : chr "Reuters-21578 XML"
.. ..$ topics : chr "YES"
.. ..$ lewissplit : chr "TRAIN"
.. ..$ cgisplit : chr "TRAINING-SET"
# ----------------snipped remainder of long output.
【讨论】:
以上是关于如何考虑来自 http://www.ranks.nl/stopwords 的“Long Stopword List”?的主要内容,如果未能解决你的问题,请参考以下文章
使 document.ready 考虑来自外部 iframe 的元素