В чем разница между ключами «originalText» и «word» в токене? - PullRequest
0 голосов
/ 28 сентября 2018

При использовании CoreNLPParser из NLTK с CoreNLP Server , полученные токены содержат как ключ 'origintalText', так и ключ 'word'.

В чем разница между двумя?Есть ли какая-либо документация о них?

Я только нашел эту проблему , в которой упоминался ключ origintalText, но он не отвечает на мои вопросы.

from nltk.parse.corenlp import CoreNLPParser 

corenlp_parser = CoreNLPParser('http://localhost:9000', encoding='utf8')
text = u'我家没有电脑。'

result = corenlp_parser.api_call(text, {'annotators': 'tokenize,ssplit'})
print(result)

печатает

{'предложения': [{'index': 0, 'токены': [{'index': 1, 'word': '我 家', 'originalText ':' 我 家 ',' characterOffsetBegin ': 0,' characterOffsetEnd ': 2}, {' index ': 2,' word ':' 没有 ',' originalText ':' 没有 ',' characterOffsetBegin ': 2,'characterOffsetEnd ': 4}, {' index ': 3,' word ':' 电脑 ',' originalText ':' 电脑 ',' characterOffsetBegin ': 4,' characterOffsetEnd ': 6}, {' index ': 4,'word ':'。 ',' originalText ':'。 ',' characterOffsetBegin ': 6,' characterOffsetEnd ': 7}]}]}

Обновление:

КажетсяToken реализует HasWord и HasOriginalText

1 Ответ

0 голосов
/ 28 сентября 2018

A word немного преобразуется, чтобы его можно было напечатать, например, в S-выражении (то есть в дереве разбора).Таким образом, скобки и другие скобки становятся токенами, такими как -LRB- (левая круглая скобка).Кроме того, кавычки нормированы на обратные тики (``) и тики вперед ('') и некоторые другие мелочи.

originalText, напротив, является буквальным исходным текстом токена, который может бытьиспользуется для восстановления исходного предложения.

...