我使用Spacy进行自定义句子拆分,并且需要对custom_delimeter / word进行参数化以吐出句子,但是我没有找到如何通过的方法,因为这里有一个函数,
# Manual or Custom Based
def mycustom_boundary(docx):
for token in docx[:-1]:
if token.text == '...':
docx[token.i+1].is_sent_start = True
return docx
# Adding the rule before parsing
nlp.add_pipe(mycustom_boundary,before='parser')
请让我知道如何将基于自定义的拆分器作为参数发送为功能列表?
答案 0 :(得分:0)
您可以将您的组件变成可以使用分隔符列表初始化的类吗?例如:
class MyCustomBoundary(object):
def __init__(self, delimiters):
self.delimiters = delimiters
def __call__(self, doc): # this is applied when you call it on a Doc
for token in doc[:-1]:
if token.text in self.delimiters:
doc[token.i+1].is_sent_start = True
return doc
然后可以将其添加到您的管道中,如下所示:
mycustom_boundary = MyCustomBoundary(delimiters=['...', '---'])
nlp.add_pipe(mycustom_boundary, before='parser')