SpaCy, применять расширения во время трубы - PullRequest
0 голосов
/ 25 августа 2018

В SpaCy вы можете установить расширения для документов следующим образом:

Doc.set_extension('chapter_id', default='')

doc = nlp('This is my text')
doc._.chapter_id = 'This is my ID'

Однако у меня есть тысячи текстовых файлов, которые должны обрабатываться НЛП.И SpaCy предлагает использовать pipe для этого:

docs = nlp.pipe(array_of_texts)

Как применять значения моего расширения во время pipe?

1 Ответ

0 голосов
/ 25 августа 2018

Возможно, вы захотите включить ключевое слово as_tuples в nlp.pipe, что позволит вам передать список из (text, context) кортежей и даст (doc, context) кортежей. Таким образом, вы можете сделать что-то вроде этого:

data = [('Some text', 1), ('Some other text', 2)]

def process_text(data):
    for doc, chapter_id in nlp.pipe(data, as_tuples=True):
        doc._.chapter_id = chapter_id
        yield doc
...