【发布时间】:2017-08-28 19:33:20
【问题描述】:
我发现这个 Split Text into paragraphs NLTK - usage of nltk.tokenize.texttiling? 解释了如何将文本输入到 texttiling 中,但是我无法真正返回由段落/主题更改标记的文本,如 texttiling http://www.nltk.org/api/nltk.tokenize.html 下所示。
当我将文本输入 texttiling 时,我会返回相同的未标记文本,但作为一个列表,这对我没有用处。
tt = nltk.tokenize.texttiling.TextTilingTokenizer(w=20, k=10,similarity_method=0, stopwords=None, smoothing_method=[0], smoothing_width=2, smoothing_rounds=1, cutoff_policy=1, demo_mode=False)
tiles = tt.tokenize(text) # same text returned
我所拥有的是遵循这种基本结构的电子邮件
From: X
To: Y (LOGISTICS)
Date: 10/03/2017
Hello team, (INTRO)
Some text here representing
the body (BODY)
of the text.
Regards, (OUTRO)
X
*****DISCLAIMER***** (POST EMAIL DISCLAIMER)
THIS EMAIL IS CONFIDENTIAL
IF YOU ARE NOT THE INTENDED RECIPIENT PLEASE DELETE THIS EMAIL
如果我们将此电子邮件字符串称为 s,它看起来像
s = "From: X\nTo: Y\nDate: 10/03/2017 Hello team,\nSome text here representing the body of the text. Regards,\nX\n\n*****DISCLAIMER*****\nTHIS EMAIL IS CONFIDENTIAL\nIF YOU ARE NOT THE INTENDED RECIPIENT PLEASE DELETE THIS EMAIL"
我想要做的是返回字符串 s 的这 5 个部分/段落 - LOGISTICS、INTRO、BODY、OUTRO、POST EMAIL DISCLAIMER - 单独 这样我就可以删除除正文之外的所有内容.如何使用 nltk texttiling 分别返回这 5 个部分?
*** 并非所有电子邮件都遵循相同的结构或措辞,所以我不能使用正则表达式。
【问题讨论】:
-
我也在尝试从邮件中获取相关的正文段落部分。你能从 textTiling 做同样的事情吗??
-
考虑使用
nltk.tokenize::BlanklineTokenizer
标签: python nltk tokenize paragraph