Как я могу сделать spacy не производить -PRON- лемму? - PullRequest
0 голосов
/ 10 июля 2019

Я использую spacy для того, чтобы лемматизировать большое количество твитов. Однако, когда я лемматизирую такие слова, как «я», создается знак -PRON-. Как я могу избежать этого?

1 Ответ

0 голосов
/ 11 июля 2019

-PRON- - это лемма по умолчанию для местоимений в spaCy (см. документы ):

О пользовательской лемме местоимения spaCy

В отличие от глаголов и общихСуществительные, нет четкой базовой формы личного местоимения.Должна ли лемма «я» быть «я», или мы должны также нормализовать человека, давая «это» - или, может быть, «он»?Решение spaCy состоит в том, чтобы ввести новый символ -PRON-, который используется в качестве леммы для всех личных местоимений.

Если вы не хотите этого, вы можете просто заменить его на что-то другое,например, слово в форме рассматриваемого токена (см. фрагмент кода ниже).Просто имейте в виду, что это может иметь неожиданные последствия для последующей обработки.spaCy использует как строковое, так и целочисленное представление атрибутов токена, поэтому вы можете изменить оба из них (если это возможно) или оставить исходное целочисленное значение для прослеживаемости.

if token.lemma_ == '-PRON-':
    token.lemma_ = token.orth_ # change the string representation
    token.lemma = token.orth # change the integer representation (I didn't test this part)
...