1

我有数千封以纯文本或 HTML 格式存储的电子邮件。所有纯文本电子邮件的格式都几乎相同,因此仅提取实际电子邮件非常简单。

但是 HTML 电子邮件到处都是,我发现很难想出一个只提取正文消息的方法。电子邮件中还有很多我不想要的其他垃圾内容,例如“这封电子邮件是由...生成的”以及一堆其他非用户生成的文本,这些文本会随着电子邮件的变化而变化。

Python 有什么方法可以识别类似于正文或完整句子的内容吗?

我已经尝试过使用此处找到的正则表达式: a Regex for extracting sentence from a paragraph in python

但问题是我有很多这样的行:

头衔*:先生

正则表达式认为是一个句子,我不想提取。

我还尝试将该正则表达式与 NLTK 的 POS 标记器结合起来,仅打印出同时具有名词和动词的句子,但我似乎效果不佳,因为它只是内置的 POS 标记器,没有经过培训任何数据集。

所以我想我的问题是:我该如何解决我的问题?我错过了什么吗?

4

3 回答 3

0

参考NLTK 的分词nltk.tokenize.sent_tokenize(text)器包。请注意,您必须在目标文本上自己尝试一下。在将文本标记为句子时,总会有一些奇怪的情况,即一个句子标记器或另一个产生错误输出。

于 2013-06-26T04:47:13.173 回答
0

您可以使用BeautifulSoup解析电子邮件的 HTML 标签,然后使用正则表达式继续

于 2013-06-25T07:56:37.237 回答
0

我希望您在 html 段落中需要的所有句子都被<P></P>标签包围。您可以使用 re 先提取那些,然后再处理它们。

于 2013-06-25T07:46:09.480 回答