【发布时间】:2018-02-06 18:18:24
【问题描述】:
假设我有一句话
'使用 Data.Frames 可以让您有效地处理数据'
使用spacy这个例子将分为两句话:
>> example = 'Using Data.Frames allows you to handle data efficiently'
>> doc = nlp(example)
>> list(doc.sents)
[Using Data., Frames allows you to handle data efficiently]
按照recommendation from this other question,我可以通过跨度合并部分解决这个问题,就像这样
>> doc[1:4].merge()
>> doc[1]
Data.Frame
但是这不会合并之前拆分的句子
>>> list(doc.sents)
[Using Data.Frames, allows you to handle data efficiently]
在应用了一组合并操作之后,重新处理句子标记化的最佳方法是什么?这对我来说很重要,因为之后我需要导航解析树。
附:在我的实际应用程序中,我需要使用正则表达式来识别这种特殊情况的缩写(大致为[A-Za-z0-9-:]+.[A-Z][a-z0-9A-Z]+)。因此我不能使用 spacy 的 add_special_case。也许我可以使用自定义标记器,但我不知道该怎么做。
- Python 版本: 2.7.12
- 平台: Linux-4.4.0-21-generic-x86_64-with-LinuxMint-18-sarah
- spaCy 版本: 2.0.5
【问题讨论】: