Si entiendo correctamente, tienes una tarea de clasificación binaria. Dada una palabra, desea clasificarlo como positivo si es el nombre de una empresa, más bien negativo. Estás utilizando las palabras de contexto como características.
Si solo necesita que funcione bien, puede usar NER (reconocimiento de entidad con nombre). Si su código está en Python (como parece), puede usar spaCy. En Java puedes usar Stanford NER.
Si tiene que desarrollarlo usted mismo, las características del contexto parecen un enfoque razonable. Luego puede representar cada palabra objetivo como un vector dimensional | V |, donde V es el vocabulario, y contar el número de apariciones de cada palabra en una ventana. Este es el enfoque de la bolsa de palabras, que es común. También puede descargar incrustaciones de palabras pre-entrenadas (por ejemplo, word2vec o GloVe), y representar cada palabra objetivo como el promedio de vectores de palabras de sus contextos (esto se llama CBOW – bolsa de palabras continua). Debería ser más eficiente.
Supongo que por modelo te refieres a qué algoritmo de aprendizaje automático será el mejor. No sé si hay un cierto algoritmo que se adapte específicamente a una determinada tarea. Debes probar varios clasificadores y ver cuál funciona mejor. Comience con los simples como Naive Bayes o Decision Tree. Con los árboles de decisión, sería fácil analizar los resultados. Si sigue usando la bolsa de palabras (en lugar de CBOW), podrá ver exactamente qué palabras de contexto convencen al modelo de que este es realmente un nombre de empresa. Si eso no funciona bien, puede probar SVM o regresión logística. Puede usar scikit-learn: aprendizaje automático en Python para todos estos algoritmos.
- Estoy alimentando un convertidor de impulso con una batería, ¿retorcer los cables entre la batería y el circuito disminuirá las emisiones del circuito?
- Vivo en la costa este de EE. UU. – Long Island. ¿Qué otros pescados y mariscos pueden recolectar en la playa o bucear cerca de la costa?
- Si creara un vacío sobre mí en relación con mi movimiento, ¿podría saltar a la órbita?
- Renuncié a mi trabajo después de tener más de 4 años de experiencia como desarrollador. ¿Que deberia hacer ahora? ¿Debo consultar a un consultor profesional?
- Tengo un puntaje GRE de 308. ¿Cuáles son las universidades en las que puedo ingresar para MS en cs?
¡Espero haber respondido tu pregunta!