如何阅读R中的文本文档?

时间:2017-04-26 21:47:33

标签: r text-mining

我想根据以下条件阅读R中的文本文档 - 基于某些关键字,它将读取句子,每当它发现关键字和句子以句号(。)结束时,只将那些语句存储在列表中。

output-list仅包含那些具有特定关键字的语句。

我试过像这样的扫描功能 -

b<-scan("cbt14-Short Stories For Children.txt",what = "char",sep = '.', nlines = 50)

因为扫描功能有这么多参数,我现在无法理解。

我们可以使用扫描功能实现上述输出???

keyword =&#34; ship&#34;

输入 -

这篇文章你可以阅读www.google.com/ship"。 Subir Roy和Geeta Verma Man Overboard的插图 我站在S.S. Rajula的甲板上。当她慢慢走出马德拉斯海港时,我向我的祖父母挥手致意,直到我再也看不到他们了。我很高兴能登上一艘船。这对我来说是一次全新的体验。 &#34;你一个人旅行吗?&#34;那个站在我旁边的人问道。 &#34;是的,叔叔,我回到了我在新加坡的父母,&#34;我回答。 &#34;你的名字是什么?&#34;他问。 &#34; Vasantha,&#34;我回答。我花了一天时间探索这艘船。它看起来就像一个大房子。有家具的房间,游泳池,室内游戏室和图书馆。然而,周围有足够的空间到11111。第二天早上,乘客坐在餐厅里吃早餐。扬声器吵闹,然后船长的声音响亮而清晰。 &#34;朋友们,我们刚收到一条信息,说印度洋正在酝酿风暴。我要求你们所有人保持冷静。不要惊慌。那些倾向于海洋的人 - 3

输出列表 -

[1]这篇文章你可以阅读www.google.com/ship"。

[2]我很高兴能登上一艘船。

[3]我花了一天时间探索这艘船。

1 个答案:

答案 0 :(得分:2)

这个问题的难点在于正确地分开句子。在这种情况下,我使用句点后跟空格“。”来定义句子。在这个例子中,它确实产生了一个单词 - “Rajula”的句子,但根据你的最终申请,这可能是可以接受的。

#split the text into sentences using a ". "
sentences<-strsplit(b, "\\. ")
#find the sentences with the word ship in the answer
finallist<-sentences[[1]][grepl("ship", sentences[[1]] )]

上面的代码使用了基础R.查看stringi或stringr库,可能有一个函数可以更好地处理定义句子上的字符串拆分。