Spacy - номер леммы - PullRequest
       40

Spacy - номер леммы

0 голосов
/ 16 апреля 2020

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

import spacy
 str="basing based base"
 sp = spacy.load('en_core_web_sm')
 sentence=sp(str)
 for w in sentence:
    print(w.text,w.lemma)

В первом слое Neural сеть с keras, слой Embedded, я должен знать максимальное количество слов в таблице поиска, кто-то знает это число? Спасибо

1 Ответ

0 голосов
/ 16 апреля 2020

Индексы леммы на самом деле являются хешами, поэтому нет непрерывного ряда индексов от 0 до количества словарных статей. Даже sp.vocab.strings["randomnonwordstring#"] дает вам целое число.

Для записи "base" идентификатор равен 4715552063986449646 в sp.vocab (обратите внимание, что это общий словарь как для форм, так и для лемм). Вы бы никогда не поместили такое количество вложений в память.

Правильное решение - создать словарь, преобразующий слова в индексы на основе того, что у вас есть в ваших тренировочных данных.

...