Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

recursion + keyerror issue with some wordnet synsets

Aperta
#208 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python

Direzione di ricerca

Riproduci le chiamate riportate con pattern.en.wordnet, in particolare s[4].hypernyms(recursive=True) per "deny" con pos="VB". Leggi pattern/text/en/wordnet/init.py intorno a Synset.hypernyms e pywordnet/wordnet.py intorno a getTarget, getSynset e _entityCache.get. Il lavoro è completato quando la ricorsione e il KeyError sono risolti per questa riproduzione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Ran into an odd recursion and keyerror errors with a wordnet synset of "deny". Note that I abbreviated the 990 iterations of a part of the output.

[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> from pattern.en import wordnet as wn
>>> from pattern import __version__ as pattver
>>> pattver
'2.6'
>>> s = wn.synsets("deny", pos="VB")
>>> print(s[4].hypernyms(recursive=True))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  **** CHUNK REPEATED 990 TIMES ****
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/__init__.py", line 244, in hypernyms
    [p.extend(s.hypernyms(True, depth)) for s in list(p)]
  **** CHUNK REPEATED 990 TIMES ****
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/__init__.py", line 236, in hypernyms
    p = [Synset(p.getTarget()) for p in self._synset.getPointers(wn.HYPERNYM)]
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 722, in getTarget
    synset = getSynset(self.pos, self.targetOffset)
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 1090, in getSynset
    return _dictionaryFor(pos).getSynset(offset)
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 827, in getSynset
    return _entityCache.get((pos, offset), loader)
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 1310, in get
    if value == None:
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 472, in __cmp__
    return _compareInstances(self, other, ('pos', 'offset'))
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 1108, in _compareInstances
    elif a.__class__ != b.__class__:
RuntimeError: maximum recursion depth exceeded in cmp
>>> print(s[4].hypernyms(recursive=True))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/__init__.py", line 244, in hypernyms
    [p.extend(s.hypernyms(True, depth)) for s in list(p)]
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/__init__.py", line 236, in hypernyms
    p = [Synset(p.getTarget()) for p in self._synset.getPointers(wn.HYPERNYM)]
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 722, in getTarget
    synset = getSynset(self.pos, self.targetOffset)
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 1090, in getSynset
    return _dictionaryFor(pos).getSynset(offset)
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 827, in getSynset
    return _entityCache.get((pos, offset), loader)
  File "[HOME_DIR]/anaconda/envs/snorkel/lib/python2.7/site-packages/pattern/text/en/wordnet/pywordnet/wordnet.py", line 1309, in get
    del this.history[timestamp]
KeyError: 1003 
Lingua principale
Python
Stelle
8.9k
Fork
1.6k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di clips/pattern

Tutte le issue di clips/pattern

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.