Uruchamiam ten kod w en_core_web_sm 2.2.5

>>> import spacy
>>> nlp = spacy.load('en_core_web_sm', parser=False)
>>> print(nlp.vocal[u'fun'].similarity(nlp.vocal[u'humour']))

Traceback (ostatnie wywołanie ostatnie): Plik „”, wiersz 1, w AttributeError: obiekt „English” nie ma atrybutu „vocal”

-1
TeddyHoang 20 listopad 2019, 16:02
1
Wygląda na to, że npl jest obiektem „angielskim” i nie ma atrybutu vocal. Uruchom dir (nlp), aby sprawdzić dostępne atrybuty
 – 
Ramon Medeiros
20 listopad 2019, 16:06

1 odpowiedź

Przede wszystkim myślę, że miałeś na myśli vocab zamiast vocal.

Po drugie, próbujesz uzyskać dostęp do słowa-wektora, a vocab nie ma z tym nic wspólnego.

Wreszcie, używasz modelu en_core_web_sm, który nie obsługuje wektorów słów zgodnie z oficjalną dokumentacją spaCy tutaj .

Proponuję zamiast tego użyć en_core_web_md. Możesz go pobrać za pomocą następującego polecenia:

python -m spacy download en_core_web_md

Możesz zmienić swój kod na:

>>> import spacy

>>> nlp = spacy.load('en_core_web_md', parser=False)
>>> nlp.(u'fun').similarity(nlp(u'humour'))
0.43595678034197044
0
Anwarvic 21 listopad 2019, 08:33