Вы можете найти реализацию Span.sentiment
здесь . Вы можете видеть, что он действительно недоступен для записи, потому что он либо ищет значение в self.doc.user_span_hooks
, либо принимает среднее значение token.sentiment
для токенов в этом диапазоне.
[EDITED BELOW]
Чувство Token
не зависит от контекста. Он использует информацию, представленную в базовом Lexeme
. Это означает, что любое слово, такое как «любовь», будет иметь одинаковое значение в любом предложении / контексте.
Таким образом, вы можете сделать две вещи: либо написать в соответствии с лексемами, например, так:
vocab["love"].sentiment = 3.0
Или реализовать пользовательский хук, который позволяет вам определять любую функцию, которую вы хотите. Вы можете сделать это на уровне span (doc.user_span_hooks
) или token (doc.user_token_hooks
):
doc.user_span_hooks["sentiment"] = lambda span: 10.0