El uso de la máquina de aprendizaje para analizar valoraciones de comercio electrónico

El aprendizaje automático tendrá un impacto significativo en el comercio electrónico. El sentimiento es difícil de atrapar, porque los seres humanos utilizan las mismas palabras para expresar sentimientos, incluso opuestas. La expresión que transmitir es una cuestión de cómo se construye sus pensamientos en una frase, no simplemente las palabras utilizadas. A pesar de diccionarios de palabras positivas y negativas existen y son útiles, no son decisivos porque contexto palabra importa. Puede utilizar estos diccionarios como una manera de enriquecer las características textuales, pero hay que confiar más en el aprendizaje de la máquina si se quiere lograr buenos resultados.

Es una buena idea para ver cómo funcionan las palabras positivas y negativas diccionarios. los diccionario AFINN-111 contiene 2.477 palabras y frases positivas y negativas. Otra buena opción es la mayor léxico opinión de Hu y Liu. Ambos diccionarios contienen las palabras en inglés.

A través de ejemplos etiquetados que las frases asociadas a sentimientos pueden crear predictores más eficaces. En este ejemplo, se crea un modelo de aprendizaje automático basado en un conjunto de datos que contiene reseñas de Amazon, Yelp, y IMDB que se pueden encontrar en el UCI, el repositorio de aprendizaje automático.

Este conjunto de datos fue creada por el trabajo “de grupo en etiquetas individuales Uso de las funciones de profundidad”, por Kotzias et al., Por KDD 2015. El conjunto de datos contiene 3.000 opiniones etiquetados divididos por igual entre las tres fuentes, y los datos tiene una estructura simple. Algunos texto está separado por una pestaña de una etiqueta sentimiento binario donde 1 es un sentimiento positivo y 0 negativo. Puede descargar el conjunto de datos y colocarlo en el directorio de trabajo Python usando los siguientes comandos:

tratar:

urllib2 importación 2.7.x # Python

excepto:

importar urllib.request como urllib2 3.x # Python

las solicitudes de importación, io, sistema operativo, archivo zip

UCI_url = `https: //archive.ics.uci.edu/ml/

máquina de aprendizaje-bases de datos / 00331/20% sentimiento

etiquetada% 20sentences.zip`

respuesta = requests.get (UCI_url)

compressed_file = io.BytesIO (response.content)

z = zipfile.ZipFile (compressed_file)

print ( `La extracción en% s` % os.getcwd ())

para el nombre en z.namelist ():

nombre de archivo = name.split ( `/`) [- 1]

nameOK = ( `MACOSX` no de nombre y `.ds` no de nombre)

Si el nombre de archivo y nameOK:

newfile = os.path.join (os.getcwd (),

os.path.basename (filename))

con abierto (newfile, `wb`) como f:

f.write (z.read (nombre))

print ( ` tunzipping% s` % nuevofichero)

En caso de que el guión anterior no funciona, puede descargar los datos (En formato zip) y expandirla utilizando su unzipper favorito. Encontrará el imdb_labelled.txt presentar dentro del recién creado frases sentimiento etiquetado directorio. Después de descargar los archivos, puede subir el archivo a un IMDB trama de datos pandas mediante el uso de la read_csv función.

importar numpy como NP

pandas de importación como Pd

= Conjunto de datos `imdb_labelled.txt`

Video: Analizador Cuántico de Resonancia Magnética

datos = pd.read_csv (conjunto de datos, la cabecera = Ninguno, sep = r" t",

del motor = `pitón`)

data.columns = [ `opinión`, `sentimiento`]

La exploración de los datos de texto es muy interesante. Usted encontrará todas las frases cortas como “Wasted dos horas” o “Es muy interesante.” Algunos son claramente ambigua para un ordenador, tales como “pierda su dinero en este juego.” A pesar de que los residuos tiene un significado negativo, el imperativo hace que la frase suene positivo. Un algoritmo de aprendizaje automático puede aprender a descifrar frases ambiguas como estos sólo después de ver muchas variantes. El siguiente paso es construir el modelo mediante la división de los datos en conjuntos de entrenamiento y prueba.

de sklearn.cross_validation train_test_split importación

corpus, test_corpus, y, yt = train_test_split (

data.ix [:, 0], data.ix [:, 1],

test_size = 0,25, random_state = 101)

Después de dividir los datos, el código transforma el texto usando varias técnicas de PNL: recuento de fichas, unigrams y bigramas, parada eliminación palabras, la longitud del texto de la normalización, y la transformación TF-IDF.

sklearn.feature_extraction de importación de texto

Vectorizer = text.CountVectorizer (ngram_range = (1,2),

`Inglés`). ajuste stop_words = (corpus)

TFIDF = text.TfidfTransformer ()

X = TfidF.fit_transform (vectorizer.transform (corpus))

Xt = TfidF.transform (vectorizer.transform (test_corpus))

Después del texto, tanto para el entrenamiento y prueba está listo, el algoritmo puede aprender sentimiento usando una máquina de soporte vectorial lineal. Este tipo de máquinas de vectores soporte soporta L2 regularización, por lo que el código debe buscar el mejor parámetro C, utilizando el enfoque de red de búsqueda.

LinearSVC de importación sklearn.svm

GridSearchCV de importación sklearn.grid_search

param_grid = { `C`: [0,01, 0,1, 1,0, 10,0, 100,0]}

CLF = GridSearchCV (LinearSVC (pérdida = `bisagra`,

random_state = 101), param_grid)

CLF = clf.fit (x, y)

impresión ("Mejores parámetros:% s" % Clf.best_params_)

Las mejores parámetros: { `C`: 1.0}

Ahora que el código ha determinado la mejor parámetro hiper para el problema, puede probar el rendimiento en la prueba utilizando el medida de precisión, el porcentaje de veces que el código correcto puede adivinar el sentimiento correcto.

de sklearn.metrics accuracy_score importación

solución = clf.predict (Xt)

impresión("precisión alcanzada:% 0.3f" %

accuracy_score (yt, solución))

precisión alcanzada: 0,816

Los resultados indican una precisión de más alto que el 80 por ciento, pero la determinación de qué frases engañados en el algoritmo de hacer una predicción errónea es interesante. Puede imprimir los textos mal clasificados y considerar lo que el algoritmo de aprendizaje no se encuentra en términos de aprendizaje a partir del texto.

impresión (test_corpus [yt! = solución])

601 Simplemente no hay excusa para algo tan p ...

32 Este es el tipo de dinero que se desperdicia prope ...

Video: tutorial 5. Aprende a leer un esquema electrónico sencillo

887 En cualquier caso, esta película apesta, no es divertido, un ...

668 Hablando de la música, es insoportablemente Predic ...

408 Realmente crea una sensación única sin embargo.

413 La cámara le gusta mucho en esta película.

138 Vi "La máscara de cristal" última noche y fue un des ...

132 Esta fue una mala nueva versión de "Mis mejores amigos Mier ...

291Rating: 1 de 10.

904 Cuanto lo siento, pero realmente no puedo recomendar lo t ...

410 Un mundo mejor que el 95% de la basura en el ...

55 Pero recomiendo a la espera de su futuro effor ...

826 La película merece fuertes felicitaciones por tomar este ...

100 No creo que será decepcionado.

352 Es una vergüenza.

171 Esta película se une ahora a la venganza de los Boogeyman ...

814 Usted comparte exquisita alegría del general Loewenhielm ...

218 Se está este complacer a la audiencia que sabot ...

168 Sin embargo, me gusta esta película por su empowerME ...

479 Por supuesto, la actuación es bla.

31 pierda su dinero en este juego.

805 El lugar sólo es bueno para esta película está en el ga ...

127 mi único problema es que pensé el actor que interpreta ...

613Go verlo!

Video: Curso de como usar el mejor auto scanner OBD2

764 Esta película también es revelador.

107 I Love Lane, pero nunca la he visto en un movi ...

674 Tom Wilkinson rompió el corazón al final ... y ...

30 Hay niveles masivos, masiva c ... desbloqueable

667 No es bueno.

823 Me esfuerzo por encontrar nada malo que decir de i ...

739 Lo que en la tierra es Irons haciendo en esta película?

185 altamente unrecommended.

621 A, la escritura sutil madura que sugiere y oca ...

462 Considerando las relaciones fuera de la pantalla entre T ...

595 fácilmente, ninguna otra de dibujos animados me hizo reír en un ...

8 Un poco predecible.

446 Me gusta Armand Assante & de mi compañía de cable suma ...

449 Yo no voy a decir nada más - No me gustan los spoilers, ...

715 Im gran fan de los juegos de rol también, pero esta película, i ...

241 Este ni siquiera sería bueno como para TV f ...

Video: 31st Health Teaching Workshop 2015 05 19. Subtitles

471 En ningún momento del procedimiento qué parece re ...

481 y, por último, después de todo eso, se llega a su fin ...

104 Demasiado políticamente correcto.

522 Clasificación: 0/10 (Grado: Z) Nota: El espectáculo es tan B ...

174This película no tiene características bueno.

491 Esta película crea su propio universo, y es fa ...

Nombre: revisión, dtype: Objeto

Artículos Relacionados