- Tome todos sus textos y cree una lista de las palabras. Manera fácil: toma todas las palabras. Difícil: tome solo el relevante (es decir: en inglés, "the" nunca es una palabra pertinente, ya que se usa con demasiada frecuencia). Digamos que tienes V palabras en tu vocabulario.
- Para cada texto, construya una matriz de adyacencia A, cuyo tamaño es V * V. La fila A (i) indica qué tan cerca están las palabras en su vocabulario de la i-ésima palabra V (i). Por ejemplo, si V (i) = "esquí", entonces A (i, j) es qué tan cerca está la palabra V (j) de la palabra "esquí". ¡Prefiere un vocabulario pequeño!
Detalles técnicos: Para el vocabulario, tiene varias posibilidades para obtener un buen vocabulario. Lamentablemente, no puedo recordar los nombres. Uno de ellos consiste en eliminar palabras que están presentes a menudo y en todas partes. Por el contrario, debe mantener palabras raras que están presentes en algunos textos. Sin embargo, no sirve de nada conservar las palabras presentes exactamente en un texto.
Para la matriz de adyacencia, la adyacencia se mide contando qué tan lejos están las palabras que está considerando (indicando el número de palabras que las separan). Por ejemplo, vamos a utilizar el mismo texto =)
Un método de comparar el estilo es la búsqueda de frases similares. Si encuentro en un libro "pesca, esquí y senderismo" un par de veces y en otro libro "pesca, senderismo y esquí", la similitud apunta a un autor. También necesito poder encontrar "pesca e incluso esquí o senderismo". Idealmente, también encontraría "pesca con caña, senderismo y esquí", pero debido a que no son textos en inglés (Koine griego), los sinónimos son más difíciles de admitir y este aspecto no es vital.
Estos están hechos totalmente de valores:
A (método, la comparación) + = 1,0
A (método, similitud) + = 0,5
A (método, griego) + = 0.0
Usted necesita principalmente una "distancia típica". Por ejemplo, puede decir que después de 20 palabras de separación, las palabras ya no pueden considerarse adyacentes.
Después de un poco de normalización, simplemente haga una distancia L2 entre la matriz de adyacencia de dos textos para ver qué tan cerca están. Puedes hacer cosas más elegantes después, pero esto debería arrojar resultados aceptables. Ahora, si tiene sinónimos, puede actualizar la adyacencia de una manera agradable. Por ejemplo, si tiene en la entrada "hermosa doncella", entonces
A (hermoso, de soltera) + = 1,0
A (magnífica, de soltera) + = 0,9
A (justo, de soltera) + = 0,8
A (sublime, de soltera) + = 0,8
...