Cmd usa diccionario
Para el reemplazo de expresiones regulares, la complejidad temporal del algoritmo también debe considerar el número de palabras clave a reemplazar (m), por lo que la complejidad temporal es O (MxN).
En resumen, el reemplazo de cadenas basado en el algoritmo FlashText es más de m veces más rápido que el reemplazo de expresiones regulares, y este m es el número de palabras clave que se reemplazarán. Cuantas más palabras clave haya, más obvias serán las ventajas del algoritmo FlashText.
A continuación se explica cómo utilizar el algoritmo flashtext para buscar y reemplazar cadenas según el módulo FlashText en Python. Si cree que será útil para el equipo de su proyecto, recuerde enviárselo al autor.
1. Preparado
Antes de comenzar, debes asegurarte de que Python y pip se hayan instalado correctamente en tu computadora. Si no, puedes visitar este artículo: Guía de instalación de Python súper detallada para instalarlo.
(Opcional 1) Si el propósito de usar Python es el análisis de datos, puede instalar directamente Anaconda: una buena ayuda para el análisis y la minería de datos de Python: Anaconda, que tiene Python y pip integrados.
(Opcional 2) Además, se recomienda utilizar el editor VSCode, que tiene muchas ventajas: El mejor socio para la programación en Python: Guía detallada de VS Code.
Elija uno de los siguientes métodos para ingresar el comando para instalar dependencias:
Abrir Cmd (Inicio-Ejecutar-CMD) en 1. Entorno Windows.
2. Abrir terminal en entorno MAC OS (terminal de entrada de espacio de comando).
3. Si usa el editor VSCode o Pycharm, puede usar directamente la terminal en la parte inferior de la interfaz.
pip install flashtext
2. Usos básicos
Extraer palabras clave
Un ejemplo más básico de extracción de palabras clave es el siguiente:
p>
Importar procesador de palabras clave desde flashtext
# 1. Inicializar procesador de palabras clave
palabra clave _ procesador = procesador de palabras clave()
# 2. Agregar palabras clave
keyword_processor.add_keyword('Gran Manzana', 'Nueva York')
keyword_processor.add_keyword("Área de la Bahía")
# 3. Procesar el objetivo frase y extraiga las palabras clave correspondientes
palabras clave _ encontradas = palabra clave _ procesador extraiga _ palabras clave ("Me encanta la Gran Manzana y el Área de la Bahía").
# 4. Resultados <. /p>
Imprimir (keyword_found)
#["New York", "Bay Area"]
Entre ellos, add_keyword El primer parámetro representa la palabra clave que se buscará. y el segundo parámetro es darle un alias a la palabra clave. Si se encuentra la palabra clave, se mostrará como un alias.
Reemplazar palabras clave
Si desea reemplazar palabras clave, simplemente llame a la función replace_keywords del procesador:
Importar procesador de palabras clave desde flashtext
# 1. Inicializar el procesador de palabras clave
palabra clave _ procesador = procesador de palabras clave()
# 2. Agregar palabras clave
palabra clave _ procesador add_keyword('Nueva Delhi', 'Región NCR')
# 3. Reemplazar palabras clave
new_sentence = palabra clave_processor.replace_keywords("Me encanta la Gran Manzana y Nueva Delhi.")
# 4. Resultados
Imprimir (nueva oración)
#"Me encanta el estado de Nueva York y la región de NCR"
Las palabras clave distinguen entre mayúsculas y minúsculas
Si necesita extraer e identificar con precisión letras mayúsculas y minúsculas, puede establecer parámetros confidenciales durante la inicialización del procesador:
Importar procesador de palabras clave desde flashtext
# 1. Inicialice la palabra clave procesador, preste atención a establecer mayúsculas y minúsculas en TRUE.
keyword_processor = Procesador de palabras clave (distingue entre mayúsculas y minúsculas = Verdadero)
# 2. Agregar palabras clave
keyword_processor.add_keyword('gran Manzana', 'Nueva York')
keyword_processor.add_keyword("Bay Area")
# 3. Procese la oración de destino y extraiga las palabras clave correspondientes
palabras clave _ encontradas = palabra clave _ procesador. extraer _ palabras clave ("Me encanta la Gran Manzana y el Área de la Bahía")
# 4. Resultados
Imprimir (keywords_found)
p>
#【'Área de la Bahía'】
Marcar la posición de la palabra clave
Si necesita obtener la posición de la palabra clave en la oración, simplemente agregue el parámetro span_info=True para extraer _keywords:
Importar procesador de palabras clave desde flashtext
# 1. Inicializar procesador de palabras clave
palabra clave _ procesador = procesador de palabras clave()
p># 2. Agregue palabras clave
keyword_processor. add_keyword('Gran Manzana', 'Nueva York')
keyword_processor.add_keyword("Área de la Bahía")
# 3 Procese la oración de destino, extraiga las palabras clave correspondientes y marque las posiciones inicial y final de las palabras clave.
palabras clave _ encontradas = palabra clave _ procesador . extraer _ palabras clave (“Me encanta la Gran Manzana y el Área de la Bahía.
", span_info=True)
# 4. Resultados
Imprimir (keyword_found)
#[('Nueva York', 7, 16) , (' Bay Area', 21, 29)]
Obtener todas las palabras clave actuales
Si necesita obtener todas las palabras clave que se han agregado actualmente, simplemente llame a la función get_all_keywords del procesador: p>
Importar procesador de palabras clave desde flashtext
# 1. Inicializar procesador de palabras clave
palabra clave _ procesador = procesador de palabras clave()
# 2. Agregar palabras clave
keyword_processor.add_keyword('J2EE','Java')
keyword_processor.add_keyword('color' ,'color')
# 3. Obtener todo palabras clave
palabra clave _ procesador . obtener _ todas las palabras clave ()
# salida: {"color ": "color", "J2EE": "Java"}
Agregar palabras clave en lotes
Hay dos formas de agregar palabras clave en lotes, una es a través de un diccionario y la otra es a través de una matriz:
Importar procesador de palabras clave desde flashtext
# 1. Inicializar procesador de palabras clave
palabra clave _ procesador = procesador de palabras clave ()
p># 2. (1) Agregar palabras clave en lotes a través del diccionario
Diccionario_palabra clave = {
"java":["Java_2e","Programación Java"],
"Gestión de productos": ["Gerente de proyectos", "Product Manager"]
}
Procesador de palabras clave Agregar diccionario de origen de palabras clave (diccionario de palabras clave)
# 2. (2) Agregar palabras clave en lotes a través de matrices.
palabra clave _ procesador. Agregar _ palabras clave _ de _ lista (["Java", "python"])
# 3. El primer efecto de extracción es el siguiente
palabra clave _ procesador. extraer _ palabras clave ("Soy el gerente de producto de la plataforma java_2e")
#Output ['Gestión de productos', java]
Eliminar palabras clave individualmente o en lotes.
Eliminar palabras clave también es muy simple, similar a agregar:
Importar procesador de palabras clave desde flashtext
# 1. Inicializar procesador de palabras clave
keyword_processor = procesador de palabras clave()
# 2. Agregue palabras clave en lotes a través del diccionario
Keyword_dictionary = {
“java ": ["Java_2e", "Java Programación"],
"Gestión de Producto": ["Project Manager", "Product Manager"]
}
Procesador de palabras clave.
Agregue un diccionario de origen de palabras clave (diccionario de palabras clave)
# 3. El efecto de extracción es el siguiente
print (keyword_processor. extract_keywords ('Soy el gerente de producto de java_2e plataforma') )
#['Product Management', 'Java']
# 4. Eliminar una sola palabra clave
palabra clave _ procesador eliminar _ palabra clave. (Java_2e)
# 5. Eliminar palabras clave por lotes, también en forma de diccionario o matriz.
palabra clave _ procesador . eliminar _ palabras clave _ de _ dict ({"Product Management": ["PM"]})
palabra clave _ procesador . (["Programación Java"])
# 6. El efecto de eliminar la palabra clave de programación Java es el siguiente
palabra clave _ procesador extraer _ palabras clave ("Soy el gerente de producto. de la plataforma java_2e ")
#["Product Management"]
3. Uso avanzado
Información adicional de soporte
Como se mencionó arriba, agregue una palabra clave, el segundo parámetro es su alias. De hecho, no sólo puede especificar un alias, sino que también puede poner información adicional en el segundo parámetro:
Importar procesador de palabras clave desde flashtext
# 1. Inicializar procesador de palabras clave
kp = KeywordProcessor()
# 2. Agregue palabras clave con información adicional
KP add_keyword('Taj Mahal', ( 'Monumento', 'Taj Mahal')
KP . add _ palabra clave ('Delhi', ('Ubicación', 'Delhi'))
# 3. El efecto es el siguiente
kp. .extract_keywords("El Taj Mahal está en Delhi.")
#[('Monumento', 'Taj Mahal'), ('Lugar', 'Delhi')]
De esta manera, al extraer la palabra clave, también puede obtener información adicional que desea generar cuando obtenga la palabra clave.
Se admiten límites de palabras especiales
Los límites de palabras detectados. por Flashtext generalmente están limitados a cualquier carácter excepto w[A-Za-z0-9_], pero si desea agregar algunos caracteres especiales como parte de la palabra, esto también se puede lograr:
Importar palabra clave procesador de flashtext
# 1. Inicializar procesador de palabras clave
palabra clave _ procesador = procesador de palabras clave()
# 2. Agregar palabras clave
keyword_processor.add_keyword("Gran Manzana")
# 3. Efecto normal
print(keyword_processor.extract_keywords ('Me encanta la Gran Manzana/Área de la Bahía.
'))
#【"Gran Manzana"】
# 4. Utilice "/" como parte de la palabra
palabra clave _ procesador . _ palabra _ límite ("/")
# 5. Efecto de optimización
imprimir (palabra clave _ procesador . extraer _ palabras clave ('Me encanta la Gran Manzana/Área de la Bahía.') )
# []
Fin
Personalmente, creo que este módulo ha satisfecho nuestro uso básico. Si tiene algunos requisitos de uso más allá de las funciones proporcionadas por este módulo, puede proporcionar código para flashtext:
/vi3k6i5/flashtext
Tiempo dedicado a usar FlashText y regularización para consultar palabras clave. :
Relación de tiempo dedicado a reemplazar palabras clave con FlashText en comparación con la regularización:
Si este artículo le resulta útil, recuerde reenviarlo.