Получение смысловой основы для слов nltk semcor corpus

Я пробовал semcor corpus в nltk.

Я нашел здесь этот код :

      >>> list(map(str, semcor.tagged_chunks(tag='both')[:3])) 
['(DT The)', "(Lemma('group.n.01.group') (NE (NNP Fulton County Grand Jury)))", "(Lemma('state.v.01.say') (VB said))"]

Я пробовал то же самое на colab (проверьте последнюю ячейку в этой записной книжке):

      >>> list(map(str, semcor.tagged_chunks(tag='both')[:3]))
['(DT The)',
 '(group.n.01 (NE (NNP Fulton County Grand Jury)))',
 '(say.v.01 (VB said))']

Вот скриншот из colab:

Эта проблема

Обратите внимание, что на странице nltk для Fulton County Grand Jury вывод дается как Lemma('group.n.01.group'), но на колабе я получаю. Итак, я не понимаю лемму о смысле / синсете.

  • В
    • во-первых, это «основа для смыслового слова»
    • последний - "основа для ввода"
  • В
    • (первый и единственный) group "стержень для ввода"
    • не возвращается «основа для смыслового слова»

Странно то, что вчера он давал мне правильный результат. Этот блокнот развеет сомнения, поскольку он имеет одни и те же две строки, выполненные сегодня и вчера. Вчера (09.02.2021) я получал теги в формате group.n.01.group, но сегодня я получаю теги в group.n.01формат ( УВЕДОМЛЕНИЕ КРАСНЫЙ И СИНИЙ КОММЕНТАРИИ ):

Что мне здесь не хватает?

1 ответ

Я знал, что использует чувства для обозначения подмножества brownкорпус. Но я не знал, что API-интерфейсы могут работать как с предварительно загруженными, так и без них, и они будут выдавать теги в другом формате в этих разных сценариях. Я честно чувствую, по крайней мере semcor В документации по API следует упомянуть об этом.

Таким образом, без предзагрузки он не возвращает смысловые основы:

С участием wordnet предварительно загруженный, он действительно возвращает смысловые основы:

Другие вопросы по тегам