Necesito consejos o instrucciones sobre cómo escribir un algoritmo que encontrará palabras clave o frases clave en una cadena.Algoritmo para buscar palabras clave y frases clave en una cadena
La cadena contiene:
- Información técnica escritos en Inglés (GB)
- Palabras formas separado por espacios
- Un palabra clave no contiene un espacio pero puede contener un guión, apóstrofo, dos puntos,
- A frase clave puede contener un espacio, una coma u otro signo de puntuación
- Si aparecen dos o más palabras clave juntas, es probable que se trate de una frase clave, p. "unidad de inversor"
- El texto también contiene HTML, pero esto se puede eliminar de antemano si es necesario
- No palabras clave serían palabras como "y", "el", "nosotros", "ver", "buscar", etc.
- Las palabras clave no distinguen entre mayúsculas y minúsculas, por ej. "Inversor" y "inversor" son la misma palabra clave
El algoritmo tiene los siguientes requisitos:
- operar en un procesamiento por lotes escenario, por ejemplo, ejecutar una vez o dos veces al día
- cadenas de procesos que varían en longitud desde aproximadamente 200 a 7000 caracteres
- Proceso 1000 cadenas en menos de 1 hora
- ejecutará en un servidor con una buena potencia moderadamente
- escrito en una de las siguientes: C#, VB.NET, o T-SQL tal vez incluso F #, Python o Lua etc.
- no ¿se basan en una lista de palabras clave predefinidas o frases clave
- Pero ¿puede confiar en una lista de exclusiones de palabras clave, p. "y", "el", "ir", etc.
- Idealmente transferible a otros idiomas, por ejemplo. no se basa en funciones específicas del idioma, p. metaprogramming
- salida una lista de palabras clave (orden decreciente de frecuencia), seguido de una lista de palabras clave (en orden decreciente de frecuencia)
Sería genial adicional si se podría procesar hasta 8000 caracteres en cuestión de segundos, para que pueda ejecutarse en tiempo real, ¡pero ya estoy pidiendo lo suficiente!
Sólo en busca de consejos y direcciones:
- Si esto se considera como dos algoritmos separados?
- ¿Hay algún algoritmo establecido que pueda seguir?
- ¿Son mis requisitos factibles?
Muchas gracias.
P.S. Las cadenas se recuperarán de una base de datos SQL Server 2008 R2, por lo que idealmente el lenguaje tendría soporte para esto, de lo contrario, debe poder leer/escribir en STDOUT, un conducto, una secuencia o un archivo, etc.
es posible que desee buscar en la búsqueda de texto completo de MSSQL? - http://blog.sqlauthority.com/2008/09/05/sql-server-creating-full-text-catalog-and-index/ - http://msdn.microsoft.com/en-us/library/ ms142571.aspx: puede o no ser capaz de hacer exactamente lo que usted desea, pero me gustaría dedicarle algunas horas para ver – house9
. Para aclarar, ¿está el punto 8 en su lista hablando sobre los idiomas hablados o los lenguajes de programación? – 3Pi
Gracias por señalar esa ambigüedad, estoy hablando de lenguajes de programación. –