7

Soy nuevo en AI. Estoy trabajando en una aplicación que clasifica textos a través de aprendizaje automático. La aplicación necesita clasificar diferentes partes de un documento HTML. Por ejemplo, la mayoría de las páginas web tienen cabecera, menú, barra lateral, pie de página, contenido principal, etc. Quiero utilizar un clasificador de texto para clasificar estas partes de un documento HTML e identificar diferentes tipos de formularios en la página.Inteligencia artificial, clasificador de texto

  1. Sería muy útil si alguien pudiera proporcionar una guía detallada sobre este tema.
  2. Ejemplos de aplicaciones similares, también serían muy útiles.

Estoy buscando más sugerencias técnicas, relacionadas con el código & implementación.

puedo asignar etiquetas a html atributos de etiqueta, como clase o ID

<div class="menu-1"> 
<div id="entry"> 
<div id="content"> 
<div id="footer"> 
<div id="comment-12"> 
<div id="comment-title"> 

como para el primer artículo:

TrainClassifier (etiqueta: "Menú", valor: "menú-1" , atributo: "clase", posición-en-cadena: "21%", etiqueta: "div");

Entradas:

  1. "menú-1" (valor de atributo)
  2. elemento de la lista
  3. "clase" (nombre de atributo)
  4. (posición de la etiqueta "21" en la cadena de)
  5. "div" (nombre de la etiqueta)

salida

  1. "Menú" (clasificado como etiqueta)

¿Qué biblioteca de red neural, puede tomar las entradas anteriores, y clasificarlos en a las etiquetas (es decir, Menú).

Todos los usuarios no pueden crear regex o xpath, necesitan un enfoque más fácil, por lo que es importante que el software pueda resaltar la parte del documento html que necesita, utilizando el control del webbrowser, y capacitar al software. software hasta que pueda funcionar por sí mismo.

pero no sé cómo hacer que el tren de software utilizando AI,

la IA que busco es, como tiene que ser capaz de aceptar varias entradas, y clasificar sobre la base de que, como lo he hecho Ya dije algo nuevo para AI, no sé mucho al respecto.

Sería útil para mí si recibo una respuesta a la pregunta que he hecho, como qué biblioteca debo usar y cómo implementar, las respuestas que sugieren Xpath o Regex u otros métodos no responden, a menudo sucede que obtienes todas las sugerencias excepto la que necesitas.

+0

Creo que la unidad de datos en este problema de clasificación no está bien definida. Dijiste que es parte de un html, pero ¿cómo vas a decidir a qué parte pertenece cada texto del html? –

+0

Creo que tienes que hacer eso primero. De lo contrario, incluso con un método de clasificación como, ¿cómo los entrenarás? –

+0

No estoy obteniendo, lo que está tratando de decir, puede elaborar ... –

Respuesta

0

La clasificación podría ayudarlo, si tiene datos que debe asignar a las etiquetas. Este no es el caso.Será mejor que escriba manualmente las reglas de XPath para desmontar sus documentos.

2

Este es un tema muy amplio. Existen algunas bibliotecas de redes neuronales para C#, solo búscalas en Stack Overflow.

Deberá realizar una capacitación supervisada antes de poder realizar cualquier tipo de clasificación. Para que la ANN entienda lo que le está diciendo, tendrá que descubrir cómo analizará el HTML para obtener los resultados que está buscando.

Como ejemplo, la mayoría de los sitios web usarán CSS para mostrar contenido en un navegador. Otros sitios pueden usar tablas. Tendrá que entrenar para ambos.

Su problema no es fácil.

3

Le sugiero que primero busque algoritmos más simples que sean fáciles de entender, puedo darles consejos a algunos.

  1. Naive Bayes (encontrará muchas implementaciones, pero puede hacerlo usted mismo, el algoritmo es fácil de implementar pero bastante potente).
  2. Entropía máxima (por ejemplo, SharpMaxEnt - fuente abierta).
  3. SVM (por ejemplo, LibSVM para el puerto C#).

    Si desea obtener una muestra de cómo funcionan, descargar el kit de herramientas WEKA:

    http://sourceforge.net/projects/weka/ 
    

    El comúnmente siguieron los pasos suelen ser los siguientes:

    1. identificar tantos atributos/características que puedes obtener (y un conjunto de etiquetas).
    2. La colecta de datos que es un conjunto {Etiqueta, atributo1, A2, A3, ...}
    3. seleccionar un conjunto mínimo de atributos importantes utilizando algoritmos de selección de función (también disponible en el kit de herramientas WEKA)
    4. entrenar el clasificador utilizando el algoritmo estándar
    5. Pruebe el sistema, hasta que reciba la precisión deseada, recuperación u otros parámetros.

    ¡Buena suerte!

+0

+1 Weka. @Milan Aditya: también puede crear un flujo de trabajo de aprendizaje automático con Knime: http://www.knime.org/ o http://orange.biolab.si/. Estas herramientas tienen una GUI muy buena y la curva de aprendizaje es razonable.Creo que usar Knime o naranja es la mejor manera de probar tus vectores de características antes de realizar la implementación real. Vea ejemplos: http://www.knime.org/introduction/examples – Skarab

Cuestiones relacionadas