【发布时间】:2018-11-19 04:12:04
【问题描述】:
我们正在为学校开展一个文本挖掘项目,以了解魁北克国民议会中面向环境的演讲的比例。我们想提取多年来每位演讲者的发言清单。
我们的文档都是这样格式化的:
Mr. Smith : Blablabla
Mrs. Jones : Blablabla
我想做的是尽可能写出最简单的东西,让我能够提取这些干预。我的想法是这样的:
“每次您看到 [Mr. **** : ] 或 [Mrs. **** : ] 时,提取所有文本,直到您看到再次出现 [Mr. **** : ]或 [**** 夫人 : ]。理想情况下,将所有史密斯先生、琼斯夫人和威廉姆斯先生提取到单独的文件中,同时跟踪干预来自哪个文件。
我开始写一个非常基本的gsub 行,它允许我用@ 替换我想替换的事件,只是意识到我不想完全替换它们,而是可能只是添加一个@ front 这可能会使编写将 @s 分隔在不同文件中的内容变得更容易。
gsub("(Mr.|Mrs.)\\s\\w*\\s:\\s", "@", test)
我刚刚开始为这个项目自学 R,我需要一些关于下一步应该如何进行的见解。还是应该改用其他东西?
【问题讨论】:
-
可能先标记单词然后
cumsum(grepl(...)),就像这里的章节ID:tidytextmining.com/tidytext.html#tidyausten -
你能提供一个实际文档的链接吗?
-
“.”您在正则表达式中使用的实际上是元字符;作为元字符,它的意思不是“句号”而是“任何东西”。如果您确实想在正则表达式中包含句点作为句点,则必须将其转义:“\\.”
标签: r text-mining