Hace 5 años | Por fluffy
Publicado hace 5 años por fluffy
PasaPollo

#2 Interesante. Cuéntanos sobre el proceso, ¿cuánto te ha llevado el análisis? ¿Te dedicas a ello profesionalmente?

Res_cogitans

Excelente trabajo. ¿Puedes hacer un tutorial en el que muestres el uso de las librerías paso a paso con este ejemplo?

kaeldran

Muy impresionado, la cazada en el hilo original ya era digna de elogio. Pero vaya, cuando se ve pasar de las palabras a los hechos así... uno recupera un poco su fe en la humanidad.

pepel

¿No se puede utilizar OCR para la obtención de los datos? Hay que pensar en la máxima automatización posible.

oliver7

Que nos lo desvele el susodicho y asunto zanjado. lol

Dravot

#0 es una pasada lo que acabas de hacer. espero que@Malversan no se lo tome a mal... pero yo he flipado. lol

D

Yo que lo tenía en ignorados y va y se pone a sacar cuentas clones lol.

D

#10 Yo tengo ambas cuentas en ignorados. No es nada más que un troll que se ríe de su propia ignorancia.

Ze7eN

Resulta que tengo ignorados a los dos. ¿Coincidencia? No creo

ankra

Lo de cuesco lentejero me parece suficiente lol

D

Y por esto señorías, no me gusta tener perfiles con más de 1000 comentarios.

Eso si llegan, que normalmente me los hunden a strikes por "incitación al odio". Me gustaría ver a los admins actuales moderando el flame del Maidan

#FreeSacreew

D

Otro que ha visto Colombo.

¿Y cómo sabes sih4x0rh4x0r también ha visto Colombo y lo que pretende es hacerse pasar por@Malversan?

U221E__

#7 Hay técnicas mejores para obtener el texto de una página web. OCR sería más útil para texto impreso o manuscrito.

celyo

#0 Buen artículo.

Ya solo queda mi pregunta de rigor, aunque puede ser desde obvia hasta vaguería.

¿Donde se puede obtener documentación al respecto y sin morir en el intento?

De todas maneras ya resulta intersante la información que das.

ttestt

#2 es interesante.
pero ¿me puedes explicar por qué lo llamas ia, cuando supongo que te refieres a estadística o "machine learning" para los modernos?

delcarglo

#13 Intentar averiguar, dices... lol lol lol lol

D

Muy buen analisis.

AsVHEn

Esto es muy interesante. No tienen sentido los votos negativos que se ha llevado.

D

#4 TensorFlow? Compartes el código?

D

Yo, para saber quién es clon de quién analizo las faltas de ortografía.

manwy

#7 El OCR es para pasar manuscrito a caracteres de texto o de papel a digital. Si ya lo tiene en caracteres de texto digitales no veo en qué es necesario el OCR.

#13 Es una gilipollez del tamaño de Notre Dame.

D

#11 A mí me pasó lo mismo con el usuario@h4xor. Justo en esa noticia de la que hablan intentaba, junto con otro usuario, hacer ver que lo que llaman "inteligencia artificial" no es más que un algoritmo complejo, pero que no tiene nada que ver con la "inteligencia natural" y que solo sirve para resolver el problema concreto para el que lo hayas entrenado. Una inteligencia artificial nunca decide qué resolver ni cómo. Y no paró de insultarme. Lo reporté varias veces pero no sé si eso en realidad vale para algo.

Lo metí en ignorados, pero viendo esto, voy a meter al otro usuario también.

Dravot

#29 pobrecillos. que en serio se toman esto algunos... lol

f

#20 Pues por varios motivos. El primero porque IA es un conjunto de técnicas, dentro de ese conjunto hay un subconjunto que es el Machine Learning y dentro de Machine Learning hay un subconjubto que ew el Deep Learning. Con lo cual si es machine learning es IA dado que está contenido.
En este caso, tal y como explico en el artículo y en comentarios, es perceptrón multicapa con capas ocultas, es decir deep learning, con lo cual hay un optimizador (adam) haciendo el descenso del gradiente para calcular los pesos y los bias mediante backpropagation... que es más álgebra que estadística.

DORAP

"tengo mejores cosas que hacer que": Aparece 152 veces, 2 de Malversan y 1 de h4x0r

Creo que las otras 149 son mías.

Y no se qué coño hago perdiendo el tiempo, tengo mejores que hacer que andar explicandoos esto.

DORAP

#15 Si lo repites dos veces más tendrás el liderazgo en su uso en Menéame.

U221E__

#30 Tiene sentido que sea una IA, si ha aprendido su comportamiento de menéame es normal que insulte. lol

x

Pues mira, meneo por el curro. Pero me parece muy feo perseguir usuarios... Mira el comentario y no te fijes en quién lo hace. Salvo dos o tres usuarios que tienen fijación por mí y que probablmente sean el mismo tipo, la verdad es que apenas recuerdo motes... Lo que importa es el comentario actual, no lo que el tipo haya dicho ayer porque esto no deja de ser un juego para ratos muertos de oficina.

Por cierto, "cuesco lentejero" me parece una expresión maravillosa. Y como la acabo de usar, supongo que me convierto en sospechoso de clon de Malversan...

A

#4 Muy interesante!!!
¿podrías elaborar un poco más lo del data augmentation?

He entendido que la red N tiene como input el vector de n-gramas de una persona y como output la probabilidad de que tal vector pertenezca a x usuario. Durante el data augmentation entiendo que has substituido de forma aleatoria alguna de las entradas del input, pero aun se le asigna al usuario, algo así como generar ruido en la única observación que se tiene y calibrar el modelo con esos 200 "observaciones" por usuario.

Asi que el problema tiene un input de dimension x y un output de

¿Cómo afectan los criterios del data augmentation al problema? por ejemplo, porque 200?, cuantos "errores se meten por realización?

Muchas gracias por el post!

tusitala

#0 Bravo. Me ha encantado, la explicación del proceso ha sido muy clara. Esta es una de las cosas que me da envidia no saber hacer. Seguro que se pueden hacer más cosas, como saber si un usuario es usado por dos personas o si dos personas pertenecen a un mismo grupo fuera de meneame o hasta saber que alias tiene sacreew en este momento. Además habrá más análisis que confirmen que dos usuarios son la misma persona, como el uso de los signos de puntuación.

kaeldran

#31 Yo lo veo feten, es alguien que curra con estas cosas, a la que le apasiona su trabajo y que hace decide usar alguna de sus aficiones para ello.
Diseñar una red neuronal que pueda identificar características lingüísticas escritas le sirve para esta coña en meneame, pero no pinta que sea el objetivo.

A mi me da algo de envidia, y desde luego me parece admirable. Mucho mejor que el típico "pasar 4 horas al día comentando enfadado en meneame"

celyo

#39 Gracias.

Dravot

#40 sí, si lo digo por el de la doble (o vete a saber si más) cuenta.

No se quien es esa persona a la que llamas troll pero... para mi la definicion de troll es la de ese que se obseiona con un tema y trata de humillar publicamente a otros por internet usando datos y argumentos.

D

Pues Malversan por el karma que tiene (4,01) diria que tiene un strike en marcha.
Aunque no es de extrañar cosas asi, es un tema recurrente y antiguo en meneame.

kaeldran

#43 lol
Sí, eso tiene más aquel, pero bueno, a su manera, es otra manera de mostrar pasión... lol

D

El Zas mas epico que he visto en años clap

D

#0 ¡Fascinante! ¿Crees que estamos cerca de un escenario en el que usuarios o oscuras organizaciones llenen los foros con clones manejados por IAs (más o menos tontas) pero con aspecto de meneante normal?

D

#28 Menos mal que esta la chupupandi para aclararnos que esto que trata de uno de los suyos es una gilipollez lol

ttestt

#32 gracias! Tenía, entendido que la ia y el machine learning como disciplinas se separaron hace 30 años.

D

#44 Eso no es un troll. De toda la vida, un troll es un tocapelotas que no le importa el tema a debatir, solo busca que haya bronca para divertirse.

SOBANDO

Este envío es más inútil que un cuesco lentejero...oh mierda.

mr_x

#28 o un cuesco lentejero

mr_x

#34 a no ser que alguien empiece a decirlo sin más.

Atte: el Cuesco lentejero

#49 Ni una. No das ni una.

f

#25 Jejeje, por ahora no puedo porque la propieda intelectual no es mía, porque era un experimento que llevo haciendo para el trabajo desde que volví de vacaciones, para experimentar un poco sobre lenguaje natural aplicado a fraude. Pero en principio lo podré liberar en cuanto consiga la aprobación para hacer paper.

f

#37 Mmm... En principio empecemos con esto: Cómo entienden los bots el lenguaje
En chatbots interesa entrenar con frases cortas, y varias frases son las observaciones de un intent, así que es un problema fácil porque tienes vectores como este para los intents:
[1, 1, 1, 0, 0, 0, 0, 0, 0, 0,......... ]
[1, 0, 1, 1, 0, 0, 0, 0, 0, 0,........]

Pero comparar las características de escritura de alguien no es el mismo problema, y no funciona. Revisando papers encontré muy poco y casi todo estadístico basado en frecuencias, así que me lancé a hacer esto, y tenía que partir de hipótesis. Al principio lo hice con un único vector por persona, con lo cual te queda para cada persona un único vector... pero eso no representa la frecuencia de las palabras, alguien puede decir "zote" pero no por ello ser una característica de su habla. Además con una única observación por cada clase no tira muy bien.
Así que me planteé usar data augmentation, que es lo que uso en computer vision. Ejemplo: si tengo fotos de cosas y tengo pocas, lo que hago es que a cada foto le hago microcambios aleatorios: giro, desplazamiento en x, desplazamiento en y, crop, cambio de aspect ratio... De esa manera de cada foto puedo generar 100 (o las que yo quiera).

Para aplicar data augmentation en este caso, de nuevo me encontré con el obstáculo de que no hay nada, ni un sólo paper, que me diese indicaciones. Podría probar con poner ceros al azar donde hay unos... pero eso no tendría en cuenta las características del habla de la persona. Podría eliminar las menos frecuentes, pero entonces te encuentras con un problema: las palabras más frecuentes son lo que usualmente se llaman stopwords, palabras que no aportan gran significado, como conjunciones, artículos y preposiciones. Así que decidí eliminar en base a la frecuencia del uso en relación al resto de usuarios. ¿Qué quiere decir eso? Que si la palabra "zote" la usa muy poca gente, no se va a eliminar, en cambio cosas como "a", "el", "la", "un", "y" son propensas a desaparecer. Lo mismo para n-gramas combinados de ellas.

f

#48 Sería posible hacer un bot que emulase a nuestros trolls favoritos. A partir de los n-gramas puedes hacer la cadena de Markov, que es lo que genera texto similar al origen de los n-gramas. Con la cadena de markov y algún aprendizaje de a qué comentarios suele contestar y qué suele decir como respuesta, se puede hacer un bot que automáticamente busque molestar y comportándose igual que alguien. Pero no creo que a la administración le apasionase el tema...

themarquesito

#58 Lo estaba pensando como prueba de concepto, no como otra cosa. Si dispusiese de un corpus digital adecuado, te habría indicado también que comparases con Francisco de Enzinas y Juan de Jarava, que son realmente los más adecuados.

a

No considero probado que h4x0r y Malversan sean la misma persona, pero en las normas de uso de un foro en particular su propietario puede actuar como le venga en gana buscando maximizar tanto los beneficios como una buena experiencia de sus usuarios o lo que lo que le parezca oportuno.

Determinados indicios o sospechas que no tenían categoría de prueba se han usado en multitud de foros para banear cuentas de forma preventiva. Yo en un foro dedicado a comentar, tomaría en consideración este tipo de indicios aunque solo sea para hacer un estudio de cada caso particular antes de tomar una decisión dura.

En otro tipo de foros donde la gente comparte cosas más valiosas como código, vídeos con mucho trabajo detrás o contenidos de cierta calidad, el beneficio de la duda sería la norma para no provocar graves perjuicios a inocentes.

Tengo la sospecha de que Meneame y muchas otras redes sociales podrían estar plagadas de cuentas que comparten el mismo usuario o de grupos de usuarios que trabajan de forma conjunta introduciendo falacias con un tipo de toxicidad dirijida a un mismo objetivo.

Todo ello forma parte de una forma de hackeo de la democracia que aún no sabemos combatir.

D

#33 153 veces

Dravot

#45 eso si no se ha auto-dado un strike para escurrir el bulto unos días... roll

D

#59 yo sueño con que, en un futuro no muy lejano, vuelquen los miles de comentarios que tengo aquí en una IA y que, en base a ellos, responda con mis ideas, mis temas recurrentes y mis expresiones. Así tendríamos un@helisan eterno!

#51 Si, puede no importarle el tema a debatir pero una vez se pone en un bando lo defiende y se informa sobre ello creando confusion entre los aldeanos del lugar. Ademas no solo crean la bronca para divertirse y ganar reputacion, lo usan como una danza de cortejo. Se sabe que Forocoches es el Tinder de los trolls y la mayoria de biologos hacen su tesis ahi.
En este caso es una persona que busca informacion para humillar a alguien en concreto y usa programas y datos que ayuden a que los lectores cambien su opinion sobre ese tema/persona a tratar incitando asi a los detractores a un conflicto.

f

#64 Pues eso te lo puedo hacer, si no en bot de menéame porque dudo que los admins dejen tener bots, pero sí en bot de telegram o facebook messenger.... Es decir, no sería perfecto, pero para hacer la broma con los amigos sí

D

#66 😮 Oºoh hay que ver lo cerca que estamos de el futuro! bueno, pongamos que me da un patatus y me muero, no creo que@admin tuviera reparos en que funcionara en el foro la "copia de seguridad de@helisan" por decirlo de algún modo.

D

#48 Para creación de textos está la arquitectura de Redes Neuronales llamada LSTM. Lo más asombroso de todo es que muchas veces se genera el texto carácter a carácter en lugar de palabra a palabra que es lo que nos diría la intuición:

Puedes buscar "LSTM Text Generation" para ver varios ejemplos, aquí te coloco el primero que me sale en Google:
https://machinelearningmastery.com/text-generation-lstm-recurrent-neural-networks-python-keras/

barni

#7 Usar OCR cuando ya tienes el texto es igual de innecesario que imprimir un PDF para escanearlo y mandarlo por correo electrónico.

z

Uff, vaya cazada a un trollaco.

slainrub

#41 Oh dios mio! Ahí ya me esta empezando a dar pena de verdad.

Am_Shaegar

#60 Lo que yo no sé, es si las obras de esos autores nos han llegado traducidas a un castellano moderno por las editoriales.

Lo suyo sería entonces acceder a los textos originales sin adaptar para poder hacer correctamente ese estudio.

slainrub

#13 Pues se estaran mordiendo los dedos sin poder contestarte, por que ambos perfiles tienen 4.01 y 4.03 de Karma. Se pica así mismo a ver quien tiene menos. lol

themarquesito

#72 Lo que habría que tener es una estandarización de las grafías para tener resultados fiables. Ten en cuenta que en esa época, por ponerte un ejemplo, te encuentras indistintamente las formas havía, hauía, avía, auía, y había. Otro ejemplo puede ser offrecer, offrescer, offresçer, ofreçer, ofrecer, y ofrescer. Si no se estandarizan las grafías para el cotejo, los resultados pueden ser inadecuados.
Las editoriales, como mucho, adaptan las grafías a la forma moderna, y aun así no siempre lo hacen.

Am_Shaegar

#75 Si al menos supiéramos como lo escribió el autor original...

f

#75 Viendo el problema (nunca lo había visto antes... no sabía que hubiese diferentes variantes... pero se abre un mundo para mí), tengo varias cosas que decir:
1. Sobre "ofrecer/offrescer/offrecer", dado que un stemmer tiene reglas para calcular la raíz de la palabra, al final quedarían tanto los infinitivos como sus conjugaciones en "ofrec/offresc/offrec". Esto tiene una cosa positiva, y es que las reglas de conjugación son comunes y parece que no han cambiado en siglos, con lo cual el algoritmo de cálculo de raíces del castellano moderno debería en principio servir para castellano antiguo. Como parte negativa, al ser las raíces diferentes, no se identificarían como la misma palabra o significado con el método que he usado en este artículo
2. Por otro lado, con skipgramas se puede hacer word2vec y analizar el corpus. Esto lo que hace es calcular para cada palabra un vector en el que cada dimensión del vector es un "significado". En este caso, dado que las 3 variantes estarían en el mismo contexto y posición dentro del corpus, se puede suponer en principio que sus vectores serán los mismos. Esto significa que dadas dos palabras cuya representación escrita es diferente, se puede conocer si son sinónimas o equivalentes comparando los vectores. Como dato chulo, estos vectores te permiten jugar con el lenguaje, de manera que si tienes un vector para "rey" otro vector para "hombre" y otro vector para "mujer", si haces "rey" - "hombre" + "mujer" te da el vector de reina (al rey le has quitado la componente que significa hombre y le has añadido la que significa mujer).
3. Teniendo las variantes de un libro, como se espera que el contenido sea el mismo, se pueden aprender las palabras con mismo significado incluso sin IA... simplemente por la posición
4. Hay otra manera de aproximarse que sería realizando la transcripción fonética... lo digo porque "Baylauanle" no sé lo que significa pero suena a "Bailanle", que fonéticamente son muy similares.

Bueno, el tema me parece interesante

themarquesito

#78 Baylauanle sería "bailábanle" en castellano actual, aunque con el uso que tenemos de los pronombres hoy en día, la forma que se vería es "le bailaban". "Caxco" es una peculiar forma de "casco", y no es la única vez que el autor usa una x antes de /k/, pues escribe en algún lado "coxqueaba", que hoy se día "cojeaba".
Hay alguna otra variante llamativa, como el arcaísmo "turar" en vez de "durar", así como alguna conjugación que ha variado con los siglos. En el XVI no se decía "pondría", "tendría", "vendrá" o "tendrá" sino "pornía", "ternía", "verná", y "terná".

Macario_Polo

Muy interesante y muy didáctico.

D

Mi perceptron dice que@fluffy tiene más bigote que flequillo lol
Quizá tengo que añadirle alguna capa más!

Y muy interesante la investigación y el método.

f

#82 Barba completa, y la ultima vez que me afeité fue el 21 de diciembre... Sobre el flequillo, se me ve ya tanto el cartón que estoy ya planteándome raparme para ver si el pelo nece más fuerte

wondering

Muy interesante.

Am_Shaegar

#77 Muchas gracias por las explicaciones y por los ejemplos.

EspañoI

#0 enhorabuena por el currazo! has unido en un mismo post algo tremendamente interesante, y los dos personajes, o quiza uno, mas detestables de meneame.

Puedo preguntar si has publicado tu codigo, o podrias describir brevemente el mismo? he intentado unas cuantas veces aplicar markov y nlp a un tensor con resultados penosos. solamente textacy + stacy me han dado ciertos resultados, pero esta lejos de ser una instancia inteligente.

EspañoI

#59 no se que decirte, igual hasta les ahorrabas un par de sueldos...

Duke00

#11 El estado natural de@malversan es el insulto. Quien escribe en realidad es su bilis...

n

#11 tinfoil ¿Conspiración? tinfoil

D

Hay que tenerlos cuadrados para llamar inteligencia artificial a algo que imita a Malversan. lol lol lol lol lol

Overmind

#11 A mí también me estuvo insultando en una conversación en la que iba de listillo prepotente sin tener ni idea, pero pasé de reportarle porque sospechaba que no serviría para nada.
La solución que tomé fue mandarle al ignore. Para leer la bilis que vomita, mejor que ni me aparezca.

D

#48 "Meneante" y "normal" en la misma frase. hum...

ttestt

#32 La verdad es que sigo confuso, por esa regla de tres en un cifrado por sustitución un programa que realice un ataque estadístico dando peso a la frecuencia de las letras y posibles palabras es una inteligencia aritficial.
Aunque atendiendo a la definición que me das supongo que sí.
Tal vez ando falto de terminología, pero daba por hecho que la ia implicaba una resolución en base a muchos caminos recorridos no en base a estadísticas de datos.

vacuonauta

#78 digo yo que es Bailábanle, le bailaban.

f

#93 Lo que dices es estadística pero no machine learning, así como el machine learning no necesariamente es estadístico. Machine learning es todo aquello que conlleve un aprendizaje automático, bien sea supervisado o no supervisado, independientemente de las técnicas empleadas, si bien en data science muchas de las técnicas implican modelos probabilísticos.
De todas formas las definiciones no las doy yo, te aconsejo leerte Artificial Intelligence: A Modern Approach que es el libro obligatorio de casi todas las universidades de informática para el primer año de la asignatura de IA o de sistemas conexionistas.

U221E__

#80 Si, a mi también me ha pasado. Da la sensación de que haya mucho nazi entre el staff de menéame.

Conde_Lito

#13 No es ese@h4xor, bueno o tal vez también sea, el avatar es realmente parecido
En el artículo hablan deh4x0rh4x0r
Y tanto@Malversan comoh4x0rh4x0r no creo que te puedan contar mucho ya que andan con karma 4 y algo.

Conde_Lito

#48 Cuidadín que tu también estás en el punto mira, que tu nombre acaba tambien en -san lol

Jesuo

#0 #31 Dependiendo del tiempo que se tome el sistema en detectar clones, sería una herramienta muy interesante para encontrar por ejemplo opiniones interesadas o troles en foros, tiendas, competencia desleal que pueda ser demostrada ante un juez etc... el sistema parece interesante y puede que tenga una salida comercial. Incluso en un supercomputador sería interesante la posible capacidad de encontrar noticias falsas o fakes, o textos manipulados para crear confusión, y un largo etc...

Jesuo

# La cuestión es.... ¿tu sistema puede discernir si Malversan y h4x0r son en realidad personas y no producto de un bot avanzado? quiero decir..¿tu sistema podría encontrar una IA o conjunto de scripts conversacionales creados para opinar de manera troll con la única intención de sacar información de los que replican?, sería muy interesante que pudieras analizar a todo Meneame con tu sistema....¿tardaría mucho? ¿que potencia necesitarías para detectar clones y bots entre todos los usuarios de meneame o forocoches?

1 2 3