He instalado gensim (a través de pip) en Python. Una vez finalizada la instalación, aparece la siguiente advertencia:
C: \ Python27 \ lib \ site-packages \ gensim \ utils.py: 855: Advertencia del usuario: Windows detectado; aliasing chunkize to chunkize_serial warnings.warn (“Windows detectado; aliasing chunkize to chunkize_serial”)
- ¿Cuál es la forma más sencilla de obtener tfidf con el dataframe de pandas?
- ¿Por qué se crean múltiples archivos de modelo en word2vec gensim?
- Doc2vec: Cómo obtener vectores de documentos
- ¿Podemos usar un corpus hecho por nosotros mismos para entrenar para LDA usando gensim?
- ¿Cómo crear una nube de palabras a partir de un corpus en Python?
¿Cómo puedo rectificar esto?
No puedo importar word2vec desde gensim.models debido a esta advertencia.
Tengo las siguientes configuraciones: Python 2.7, gensim-0.13.4.1, numpy-1.11.3, scipy-0.18.1, pattern-2.6.
Puede suprimir el mensaje con este código antes de importar gensim:
import warnings warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim') import gensim
Creo que no es un gran problema. Gensim solo te hace saber que se modificará el alias para diferentes funciones porque usas un sistema operativo específico.
Echa un vistazo a este código de gensim.utils
if os.name == 'nt': logger.info("detected Windows; aliasing chunkize to chunkize_serial") def chunkize(corpus, chunksize, maxsize=0, as_numpy=False): for chunk in chunkize_serial(corpus, chunksize, as_numpy=as_numpy): yield chunk else: def chunkize(corpus, chunksize, maxsize=0, as_numpy=False): """ Split a stream of values into smaller chunks. Each chunk is of length `chunksize`, except the last one which may be smaller. A once-only input stream (`corpus` from a generator) is ok, chunking is done efficiently via itertools. If `maxsize > 1`, don't wait idly in between successive chunk `yields`, but rather keep filling a short queue (of size at most `maxsize`) with forthcoming chunks in advance. This is realized by starting a separate process, and is meant to reduce I/O delays, which can be significant when `corpus` comes from a slow medium (like harddisk). If `maxsize==0`, don't fool around with parallelism and simply yield the chunksize via `chunkize_serial()` (no I/O optimizations). >>> for chunk in chunkize(range(10), 4): print(chunk) [0, 1, 2, 3] [4, 5, 6, 7] [8, 9] """ assert chunksize > 0 if maxsize > 0: q = multiprocessing.Queue(maxsize=maxsize) worker = InputQueue(q, corpus, chunksize, maxsize=maxsize, as_numpy=as_numpy) worker.daemon = True worker.start() while True: chunk = [q.get(block=True)] if chunk[0] is None: break yield chunk.pop() else: for chunk in chunkize_serial(corpus, chunksize, as_numpy=as_numpy): yield chunk