Bolsa de palabras distancia euclidiana

El modelo de bolsa de palabras python es un modelo utilizado en el procesamiento del lenguaje natural (NLP) y la recuperación de información. Convierte un texto en un conjunto de palabras con sus frecuencias, de ahí el nombre de «bolsa de palabras python».

Si representamos documentos de texto como vectores de características utilizando el método de la bolsa de palabras, podemos calcular la distancia euclidiana entre ellos.

Los vectores siempre tienen una distancia entre ellos, considere los vectores (2,2) y (4,2). Podemos usar la distancia euclidiana para calcular automáticamente la distancia.

Leer: Datos de entrenamiento y prueba

Introducción bolsa de palabras python

bolsa de palabras python elblogpython.com

Cada texto se representa como un vector con la frecuencia de cada palabra. Por eso, si tienes dos textos, puedes comparar qué tan similares son comparando sus vectores de bolsa de palabras.

Querrá usar el modelo de bolsa de palabras porque para una gran cantidad de datos, la computadora es mucho más rápida en el procesamiento de vectores que un gran archivo de texto.

Un texto puede ser cualquier cosa, desde una sola cadena hasta un libro.

corpus = [
'All my cats in a row',
'When my cat sits down, she looks like a Furby toy!',
'The cat from outer space',
'Sunshine loves to sit like this for some reason.'
]

Debido a que representamos el texto como vectores, esto nos dice qué tan similares son los documentos de texto. Cada texto se convierte en un vector de características:

vectorizer = CountVectorizer()
features = vectorizer.fit_transform(corpus).todense()

Luego, puede comparar la distancia de otros vectores de características (imagine cada vector en una gráfica de n dimensiones) con la característica dada.

for f in features:
    print( euclidean_distances(features[0], f) )

Similitud de texto

Comenzamos con los corpus, luego calculamos los vectores de características del corpus y finalmente calculamos la distancia euclidiana. En este ejemplo comparamos todo con el primer documento.

  



from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import euclidean_distances

corpus = [
'All my cats in a row',
'When my cat sits down, she looks like a Furby toy!',
'The cat from outer space',
'Sunshine loves to sit like this for some reason.'
]

vectorizer = CountVectorizer()
features = vectorizer.fit_transform(corpus).todense() 
print( vectorizer.vocabulary_ )

for f in features:
    print( euclidean_distances(features[0], f) )

Esto luego genera la bolsa de palabras y la distancia al primer vector de texto. Por supuesto, la distancia a sí mismo es cero.


[[0.]]
[[3.60555128]]
[[3.16227766]]
[[3.74165739]]

También te puede interesar estos artículos sobre Machine Learning:

Empresas de transporte como UPS utilizan el aprendizaje automático para mejorar y optimizar su trabajo, específicamente para programar sus rutas ...
Python es un lenguaje de programación que puede utilizarse para crear una amplia gama de aplicaciones. Los desarrolladores la consideran ...
Quería comparar el rendimiento de una CPU y una GPU que se venden en el mercado. Para realizar esta comparación, ...
Con el advenimiento del machine learning y la inteligencia artificial, las máquinas se vuelven cada vez más avanzadas y sus ...
Europa tiene alrededor de 300.000 puestos de trabajo en ciberseguridad, según la Universidad de Internet. Y es que, a medida ...
El aprendizaje automático ya no es solo un subcampo de la informática, los gigantes tecnológicos lo han estado usando durante ...

¿ Te fue de valor esta entrada bolsa de palabras distancia euclidiana?
⬇️ Tu ayuda compartiendo es invaluable.⬇️