空间句子分割在引号上失败



我正在使用spaCy解析一些新闻数据,并注意到在有引号的情况下句子分割方面始终失败。 还有其他人解决了这个问题吗?

这是一个可重现的示例 - 请注意下面输出中的句子 4。 spaCy未能在引用的开头拆分,这在我正在处理的其他新闻文章中是一致的。

多谢。

例:

原始数据:

u'body': u' 伦敦 11 月 4 日一项学术研究周一显示,金融危机后,英国人因收入下降和食品价格上涨而减少水果和蔬菜,转而转向脂肪、含糖、加工食品。 而工资增长一直很低,失业率上升。净效应是,与经济衰退之前相比,英国人在家中购买食品的实际支出减少了8.5% - 养老金领取者和有小孩的家庭的趋势甚至更大。在英国保守党领导的政府受到反对党工党的压力,生活水平下降以及向最贫穷的英国人分发免费食品的食品银行需求急剧上升之际,这项研究可能在政治上敏感。 人们通过购买更少的食物来节省成本,以卡路里的数量来衡量,但也以质量来衡量,选择营养较少、饱和脂肪和糖含量较高的产品。在此期间,各种营养质量指标下降,养老金领取者家庭和有幼儿的家庭下降幅度更大,"经济研究机构财政研究所表示。肥胖 研究表明,有孩子的家庭倾向于改用含糖量更高的食物,而养老金领取者则喜欢饱和脂肪含量高的食物。这两个群体的收入往往较低。虽然经济在遭受自2008 - 09年经济衰退期间有记录以来对经济增长的最大打击后开始出现增长迹象,但家庭的可支配收入并不高于十年前。 然而,IFS表示,低质量的饮食并不是钱少的必然结果,一些家庭已经能够像以前一样健康地吃东西,同时花更少的钱。研究人员补充说,需要更多的研究来了解为什么其他家庭的情况并非如此。该研究调查了市场研究公司Kantar Worldpanel在2005年至2012年间收集的15,000多个家庭的购物习惯数据,这些数字不包括在外购买或提供的膳食,例如在餐馆或学校,在英国为贫困学生提供免费午餐。这项研究与IFS的一项长期研究一起发布,该研究显示,英国人现在消耗的卡路里比1980年少15-30%,尽管肥胖率较高可能是由于体力活动减少。这与美国的卡路里消耗和肥胖症形成鲜明对比。IFS表示正在进一步研究英国人在此期间的身体活动趋势。

要拆分的代码:

from __future__ import unicode_literals
import spacy
nlp = spacy.load('en')
doc1 = nlp(article_to_json['body'].decode('utf-8'), parse=True)
for number, sent in enumerate(doc1.sents):
print number, sent, "n"

输出:

0 伦敦 11 月 4 日 英国人因收入下降和食品上涨而受到伤害 金融危机后的价格削减了水果和 蔬菜,转而使用脂肪,含糖,加工食品,一个 周一的学术研究显示。

1 英国的食品价格上涨幅度远高于其他大多数国家 2005年至2012年间发达经济体,而工资增长 低,失业率上升。

2 净效应是英国人的支出减少了8.5% 与经济衰退前相比,在家购买的食物的实际价值 - 养老金领取者和有年轻人的家庭的趋势更大 孩子。

3 在以下时候,这项研究可能具有政治敏感性 英国保守党领导的政府受到来自 反对党工党,反对生活水平下降 食品银行的需求急剧上升,向 最贫穷的英国人。

4 人们通过减少购买食物来节省成本,以卡路里的数量来衡量,但也要根据其质量来衡量,选择较少的产品 营养丰富,饱和脂肪和糖含量更高。各种措施 在此期间,营养质量下降,降幅较大 对于养老金领取者家庭和有幼儿的家庭," 财政研究所,一个经济研究机构。

5 肥胖 有孩子的家庭 倾向于改用含糖量更高的食物,而养老金领取者则偏爱研究表明,饱和脂肪含量高的食物。

6 这两个群体的收入往往较低。

7 虽然经济开始显示出增长的迹象,但之后 遭受自有记录以来经济增长的最大打击 在2008-09年经济衰退期间,家庭的可支配收入没有 比十年前高。

8然而,IFS表示,低质量的饮食并非不可避免 钱少的后果,有些家庭 能够像以前一样健康饮食,同时花费更少。

9 需要更多的研究来了解为什么其他情况并非如此 研究人员补充说,家庭。

10该研究调查了超过15,000个家庭的购物数据 市场研究公司Kantar Worldpanel收集的习惯 2005年和2012年的数字不包括购买或提供的膳食 远离家乡,例如在餐馆或学校,其中 英格兰为贫困学生提供免费午餐。

11 该研究与一项长期研究一起发布。 IFS显示,英国人现在的消费量减少了15-30% 卡路里比1980年,尽管肥胖率更高可能是由于 减少体力活动。

12 这与卡路里消耗的美国形成鲜明对比 已经上升以及肥胖。

13 IFS表示正在进一步研究以下趋势: 英国人在此期间的身体活动。

我用谷歌搜索了原始新闻文章,试图弄清楚为什么你的数据看起来像这样(句子之间缺少空格,我在正式的新闻文章中不会期望它),看起来最初的问题是 HTML 段落之间没有插入空格。如果你能用如何从原始HTML中提取文章来解决这个问题(当你遇到

时插入空格),你就不会有这个问题使用空间或其他工具。

标准工具中可用的模型通常会在新闻数据上进行训练,并且有理由期望它们能够很好地处理此类数据,但它们希望句子之间有空格。除非您使用数据重新训练模型,包括句子之间缺少空格(或按照注释中的建议预处理数据),否则您将遇到此类问题。

最新更新