Почему spacy не может сделать токен для конкретной кавычки? - PullRequest
0 голосов
/ 30 октября 2019

Я запускаю spacy для абзаца текста, и он не извлекает текст в кавычках одинаково для каждого, и я не понимаю, почему это

nlp = spacy.load("en_core_web_lg")

doc = nlp("""A seasoned TV exec, Greenblatt spent eight years as chairman of NBC Entertainment before WarnerMedia. He helped revive the broadcast network's primetime lineup with shows like "The Voice," "This Is Us," and "The Good Place," and pushed the channel to the top of the broadcast-rating ranks with 18-49-year-olds, Variety reported. He also drove Showtime's move into original programming, with series like "Dexter," "Weeds," and "Californication." And he was a key programming exec at Fox Broadcasting in the 1990s.""")

Вот весь вывод:

A
seasoned
TV
exec
,
Greenblatt
spent
eight years
as
chairman
of
NBC Entertainment
before
WarnerMedia
.
He
helped
revive
the
broadcast
network
's
primetime
lineup
with
shows
like
"
The Voice
,
"
"
This
Is
Us
,
"
and
"The Good Place
,
"
and
pushed
the
channel
to
the
top
of
the
broadcast
-
rating
ranks
with
18-49-year-olds
,
Variety
reported
.
He
also
drove
Showtime
's
move
into
original
programming
,
with
series
like
"
Dexter
,
"
"
Weeds
,
"
and
"
Californication
.
"
And
he
was
a
key
programming
exec
at
Fox Broadcasting
in
the 1990s
.

Больше всего меня беспокоит «Хорошее место», которое извлекается как "The Good Place. Поскольку цитата является частью токена, я не могу извлечь текст в цитате с помощью Token Matcher позже ... Есть идеи, что здесь происходит?

1 Ответ

1 голос
/ 30 октября 2019

Проблема не в токенизации (которая в этом случае всегда должна делиться на "), а в NER, который использует статистическую модель и не всегда дает 100% совершенные прогнозы.

Я не думаю, что вы показали весь свой код здесь, но из вывода я бы предположил, что вы объединили сущности, добавив merge_entities в конвейер. Это полученные токены после слияния сущностей, и если сущность не была правильно спрогнозирована, вы получите немного неправильные токены.

Я попробовал самый последний en_core_web_lg и не смог повторить эти результаты NER, но модели для каждой версии Spacy имеют немного разные результаты. Если вы этого не сделали, попробуйте v2.2, который использует некоторые методы увеличения данных для улучшения обработки кавычек.

...