En primer lugar, el corpus en un vector (gensim)
Después del tratamiento del corpus básico (palabra, dejar de palabras), a veces es necesario ser cuantificada, para facilitar el trabajo posterior.
de gensim importación en Corpora, similitudes, modelos de importación jieba # Paso 1: Determinar el corpus corpus y la condena al juez: # . lista de palabras como Corpus, Corpus hay tres frases, el equivalente a tres artículos de la lista de palabras = [ ' me gusta la programación ' ' Quiero ser bella ' ' hoy para el almuerzo todavía ' ] sentenses = ' lo que me gusta ' # Paso 2: uso establecer el corpus del diccionario, que está marcado en el número de serie de cada palabra que se espera en la biblioteca, así: { 'I': 1 'como': 2 'programación': 3, ....} es la primera palabra china text = [[palabra de palabra en jieba.cut (palabras)] de las palabras en la lista de palabras] Diccionario =corpora.Dictionary (texto) Imprimir (el diccionario) # El tercer paso del corpus de cada estadísticas de frecuencia de palabras de textos, doc2bow cada palabra es una palabra estadísticas de frecuencia, se pasa en una lista # get Corpus es una de dos dimensiones array [[(0, 1), (1, 1), (2, 1)], [(3, 1), (4, 1)], [(5, 1), (6, 1), ( 7, 1), (8, 1), (9, 1)]], lo que significa que la palabra frecuencia del número de 0 a aparecer los horarios son 1, 2 números de frecuencia de palabras ocurrencia es 1 veces corpus = [dictionary.doc2bow (Word) para la palabra en el texto] Imprimir (Corpus) # recibe una matriz de dos dimensiones, los elementos más pequeños (número de identificación de palabras, la frecuencia de palabras)
resultados de código:
Utilizamos gensim.corpora.dictionary.Dictionary clase se le asigna un número entero único para cada palabra aparece en el corpus. Esta operación es una colección de recuento de palabras y otras estadísticas. Al final, vemos que hay 10 diferentes corpus de palabras, lo que sugiere que cada documento estará representada por 10 dígitos
función doc2bow se utiliza principalmente para hacer DIC en una bolsa de arco de palabras modelo, se contó el número de ocurrencias de cada palabras diferentes, y la palabra en sus números, y devuelve el resultado como un vector escasa. La palabra de código corpus es un corpus del modelo de bolsa, en el que cada sub-lista han expresado un artículo.
TFIDF dicho frente se puede utilizar para la extracción de palabras clave, ya que cree que cuanto mayor sea la palabra, el valor más TFIDF para reflejar su importancia para este artículo. Pero TF-IDF también se puede utilizar para encontrar artículos similares al artículo digerir extracción, selección de características (extracto de características importantes) de trabajo. Si el siguiente paso es sentenses de tres artículos y la comparación de similitud Corpus, el siguiente código:
# Paso cuatro: Uso de la formación corpus modelo TFIDF Modelo = models.TfidfModel (corpus) # Si quiere ver el valor de TFIDF, a continuación, se puede: TFIDF = Modelo [corpus] '' ' resultado es TFIDF corpus TFIDF valor de cada palabra [(0, ,5773502691896258), (1, ,5773502691896258), (2, ,5773502691896258)] [(3, ,7071067811865475), (4, ,7071067811865475)] [(5, ,4472135954999579), (6, ,4472135954999579), (7, ,4472135954999579) , (8, ,4472135954999579), (9, ,4472135954999579)] '' ' # paso cinco: la indexación de cada modelo frase TFIDF facilitar la consulta similitud, el valor entrante cuando corpus TFIDF similitud = similitudes. MatrixSimilarity (TFIDF) # la sexta etapa de proceso de comparar las frases, la primera palabra, recibió la siguiente frecuencia de la palabra, jieba única cadena de entrada SEN = [palabra de palabraen jieba.cut (sentenses)] SEN2 = dictionary.doc2bow (SEN) # entonces calcular su valor TFIDF sen_tfidf = Modelo [SEN2] # similitud obtenida con todas las frases, sim es una salida de matriz sim = similitud [sen_tfidf]
https://blog.csdn.net/Lau_Sen/article/details/80436819
código TFIDF y corpus sen_tfidf y los resultados se expresan TFIDF nuevas sentencias a la cuantificación. Muchos modelo se basa en TF-IDF hacer, tales como LSI, LDA y así sucesivamente.
Ahora cada frase se convierte [(número de identificación, el valor de la palabra IDF), (número de identificación de la palabra, el valor IDF) ....] una representación escasa tales.