Webcrawling clustering en espacio multidimensional basado en distancia y su uso en Opinion Mining

July 27, 2017 | Autor: D. López De Luise | Categoría: Computational Intelligence, Web Mining, Web Crawling
Share Embed


Descripción

1 

parte del concepto y qué no; esto a su vez depende de la

Webcrawling clustering en espacio multidimensional basado en distancia y su uso en Opinion Mining. Ezequiel Gorbatik, Hugo O. Barrera, Lic. Francisco Gindre, Phd. M. Daniela López De Luise. AIGROUP, Universidad de Palermo, Buenos Aires, Argentina. Abstract—A partir de la explosión de Internet nos encontramos en un entorno que abunda en información. En este contexto han tomado relevancia las herramientas que permiten obtener los sitios web de mayor importancia en base a palabras clave, siendo hoy un buscador la página más importante de Internet. Los buscadores son herramientas que se encargan de agrupar y clasificar páginas para que a la hora de buscar información sobre un tema específico se obtenga un listado priorizado de aquellas con la información buscada. Una importante tarea la llevan adelante los Crawlers, que se encargan de explorar la Web de forma automatizada para ir indexando nuevos sitios en base a diversas métricas, alimentando así la base de conocimiento del buscador. En este trabajo se exploran los componentes y la viabilidad de una forma de exploración basada en Clustering que toma en cuenta la distancia semántica transponiendo el “conocimiento” en un espacio multidimensional. Esta es la motivación principal del proyecto GDARIM. A su vez, GDARIM es la fuente de recursos de un sistema de Opinion Mining, también desarrollado por los autores. Index Terms— World Wide Web, Web mining, Text mining, Clustering, Data mining.

A

I.

INTRODUCCIÓN

han tomado una gran importancia la distintas formas de almacenar y organizar el conocimiento. Las distintas estrategias empleadas para almacenar eficientemente dicho conocimiento en repositorios, como por ejemplo Wikipedia, o para acelerar el acceso al mismo, como es el objetivo de Google. Detrás de estas soluciones se encuentra el procesamiento de la información, ya sea por la participación colaborativa como el procesamiento automatizado. No obstante la utilización de estas políticas; la organización del conocimiento obedece simplemente a una indexación plana. Esto es, se buscan “Keywords”, se indexan y se ordenan en base a un puntaje. Este puntaje basado en la reputación también depende en última instancia de la colaboración. En este sentido, creemos es necesario contar con un enfoque más robusto y riguroso. Este trabajo propone la búsqueda y organización sistematizada a partir de la síntesis y cuantificación de los significados y conceptos. CTUALMENTE



Considerando la síntesis de un concepto como la unión de otros términos y conceptos, el primer problema a resolver es cómo expresar esta relación, cómo medirla y qué propiedades tiene. En primera instancia se debe tener una distancia entre términos, luego se debe tener un espacio donde expresar estas distancias, en tercer lugar se debe delimitar qué se considera

retroalimentación de nueva información, el poder expresar nuevos documentos “aprendidos” en función de las distancias hacia los conceptos a buscar, para finalmente poder jerarquizar los vínculos en función de la información procesada. Actualmente en cuanto Webcrawling Inteligentei, se están explorando distintas alternativas siendo el PageRank de Google [24] el paradigma predominante. Otras alternativas son arquitecturas de agentes para multiprocesamiento paralelo [25], algoritmos avanzados de aproximación de cadenas [10] [26], estrategias de cálculo de distancia semántica [1], y procesamiento estadístico del lenguaje [19]. En el presente trabajo se presenta un nuevo enfoque surgido a partir de la combinación de estos conceptos con modelos de representación espacial y clustering difuso. Su objetivo es lograr una exploración inteligente que no obedezca simplemente a la aparición de keywords y frecuencias sino que esté basada en un análisis menos superficial de la información y las relaciones entre las palabras clave obtenidas a partir de esta en función de priorizar y/o descartar los nuevas páginas a explorar. II.

GDARIM

El Webcrawler Inteligente desarrollado en GDARIM consiste en cinco procesos: Extracción de Texto, Extracción de Links, Separación de oraciones, Proceso de Crawling Inteligente y su interfaz con el sistema de Opinion Minning. A. Extracción de texto El primer paso para un Crawling inteligente es la extracción de texto. La capacidad de extracción de contenidos en cuanto a calidad y cantidad establece las capacidades del sistema para determinar qué links poseen información relacionada con las palabras claves ingresadas en la búsqueda. Aquellos sitios que sean catalogados como relevantes respecto de la búsqueda, pasarán nuevamente por un proceso de extracción. GDARIM tiene la capacidad de analizar archivos HTML con el fin de extraer todo el texto presente en ellos. Se evaluaron distintas herramientas tales como Jericho Parser [16], HtmlParser [17] y BoilerPipe [14] para la extracción de texto, se analizaron los resultados con una muestra de 100 sitios webs y finalmente se opto por la última librería (BoilerPipe [14]), la principal ventaja de esta librería sobre las otras es que la extracción de texto y el procesamiento de HTML resultó más adaptable a nuestras necesidades, y con una funcionalidad adecuada. También ofrece distintos métodos de extracción que están contenidos en distintas clases.

2 B. Extracción de links Además de la extracción de texto, también debe articularse desde el sistema la extracción de links, para esto se utilizo la librería JSoup [15]. Otras librerías anteriormente mencionadas (Jericho Parser[16] y HtmlParser[17]) también ofrecen capacidades para la extracción de links. Pruebas preliminares arrojaron que JSoup presenta mayor versatilidad para reconocer HTML y XHTML; es capaz de extraer links en aquellas de hipertextos con tags inválidos o desbalanceados; finalmente brinda una facilidad de uso al permitir la exploración de DOM que las otras librerías no ofrecen. C. Separación de Oraciones Como se menciona al principio de este documento, el proyecto GDARIM debe preparar información de entrada para un sistema de Opinion Mining llamado JAZZ. De acuerdo a las especificaciones de este sistema, GDARIM debe preparar archivos de texto con oraciones separadas por un salto de carro. La exploración inteligente de webs (que abarca la extracción de links), la extracción de texto, la separación de oraciones y la preparación de los archivos de salida quedan bajo el alcance del proyecto GDARIM. Producir el formato requerido, no resulta trivial y es materia de estudio en distintas estrategias de procesamiento de lenguaje natural [19] [20] [21]. Por tanto se relevaron distintas librerías que tuvieran funciones para separar oraciones. Surgen de esta búsqueda una librería llamada GATE [22], y otra librería más sencilla en comparación ésta, llamada OpenNLP [23]. Ambas cumplen con lo requerido, sin embargo por razones de simplicidad se optó por la segunda. OpenNLP es un proyecto de la Fundación Apache [27]. Esta librería utiliza modelos (OpenNLP MaxEnt) que contienen reglas y constantes probabilísticas para hacer una función probabilidad para determinar si un símbolo o una combinación de ellos define una oración o no. Pese a que no hay modelos de separación de oraciones en español para el procesado, se probó con el modelo del idioma inglés con resultado óptimos; en una revisión posterior se obtuvo el código fuente del modelo utilizado y pudo verificarse que las reglas de separación de ambos idiomas son compatibles. En el idioma inglés no existen signos de apertura pero sí de cierre por lo tanto siempre que existan signos de cierre pueden separarse las oraciones y considerando que cualquier oración en español debe tener un signo de cierre obligatoriamente, este conjunto de reglas es compatible. En inglés no se utiliza la letra “ñ” ni las letras acentuadas pero si bien éstas pueden tener una incidencia a la hora de determinar significados siendo el modelo utilizado solamente para separar oraciones la incidencia de estos símbolos es mínima. Luego de realizar numerosas pruebas (en una muestra de 100 sitios webs), ajustando los parámetros del modelo se consiguieron resultados lo suficientemente precisos para ser procesados por el proyecto JAZZ.

D. Articulación con sistema de opinion mining La extracción de texto y segmentación de oraciones tiene como finalidad generar archivos de texto plano con la información textual contenida en los resultados de la búsqueda ingresada. Los sitios de están agrupados por dominio, utilizando una estructura de carpetas con nomenclatura de dominio reverso (ej: ar.com.aigroup) a fin de identificar a qué sitio pertenecen los archivos de texto. El proceso de extracción separa el cuerpo de texto encontrado en un sitio en oraciones. Estas oraciones son guardadas cada una en una línea diferente en el archivo de texto que representa ese archivo HTML. E. Proceso de Crawling Inteligente El proceso de Crawling se basa en una arquitectura de agentes y tiene 3 pasos básicos que corren en secuencia para una misma web pero en paralelo para el conjunto. Se parte de una lista inicial, se descarga el contenido y se extraen los links para agregarlos a la lista. Durante el proceso de crawling la lista de links crece de manera exponencial con cada exploración, lo cual representa un problema en términos de la dicha complejidad computacional. Para solventar esto debe hacerse una selección óptima de links de acuerdo a su relevancia; un filtrado y una priorización inteligente. Como se mencionó anteriormente, este trabajo propone la búsqueda y organización sistematizada a partir de la síntesis y cuantificación de los significados y conceptos para que a partir de la misma se pueda obtener una ponderación óptima para cada link. Considerando la síntesis de un concepto como la unión de otros términos y conceptos, el primer problema a resolver es como expresar esta relación, cómo medirla y qué propiedades tiene. Se debe tener una distancia entre términos, luego se debe tener un espacio multidimensional donde expresar estas distancias, también se debe delimitar que se considera parte del concepto y que no; esto a su vez dependerá de la retroalimentación de nueva información, el poder expresar nuevos documentos “aprendidos” en función de las distancias hacia los conceptos a buscar, para finalmente poder jerarquizar los vínculos en función de la información procesada. En las siguientes secciones serán tratados todos estos puntos. 1) Relaciones entre Términos Como se menciona en los párrafos anteriores el primer problema a resolver es cómo expresar la relación entre distintos términos para expresar un concepto. Durante el curso de la presente investigación se evaluaron las propiedades que tendría que tener esta relación. La característica principal es que debe expresar en una medida aproximadamente uniforme que precise cuán “cerca” está un término de un concepto. Esta aproximación no tiene que ser precisa (la distancia de un concepto a otro es “difusa”) sin embargo debe expresar un “orden” de cercanía. Un término debe estar más relacionado que otro en referencia a un concepto. Para continuar con la explicación se deben hacer las siguientes definiciones

3    

PALABRA: Unidad sintáctica mínima e indivisible con significado. FRASE: Dos o más palabras agrupadas cuyo significado es distinto del significado literal de las mismas. TÉRMINO: Palabra o frase que representa total o parcialmente un concepto. CONCEPTO: Entidad formada por un conjunto difuso de términos y relaciones que engloban toda la información relevante y conocida de la entidad.

2) Conjuntos y Funciones Partiendo de las definiciones anteriores se deben definir los conjuntos (Ver Tabla I) y funciones asociados (Ver Tabla II,III y IV). Cabe destacar que el espacio donde se expresarán los documentos es un espacio vectorial [3] en principio en 3 pero pueden haber tantas dimensiones como se necesiten. Los ejes de este espacio pueden tener distintas escalas, en los casos presentados en este documento una escala es logarítmica y continua mientras que la otra es lineal y discreta. TABLA I CONJUNTOS

P= {Conjunto de Palabras } x /x ∈ P : x es Palabra F={ Conjunto de Frases } x /x ∈ F : x=a ⊕b ⊕ ..⊕ n ; a , b , .. , n∈ P T ={ Conjunto de Términos } T =P∪ F S= { Relación de distancias entre Términos } s :T ×T → ( 0 ≤ s ≤ 1 ) ⊆ R S= { ( x , y , z ) : x , y ∈ T ⋀ z ∈ R/ s ( x , y )=z } s :T ×T → R ∕ s=Distancia Semántica entre x e y C={ Conjunto de Conceptos } C=T ∪ S Los conjuntos más relevantes son T, S y C TABLA II AXIOMAS DE LA FUNCIÓN S

s ( x , x )=0 s ( x , ´x )=∞ TABLA III LÍMITES DE FUNCIÓN S

lim s ( x , y )=0 y→x

lim s ( x , y )=∞ y → ´x

TABLA IV PROPIEDADES DE LA FUNCIÓN S Reflexividad

∀ x ∈T , s ( x , x )=0⇒ ∀ x ∃s (x , x ) La relación de un concepto consigo mismo es “0”.

Simetría

∀ x , y∈T ,s (x, y)≅s( y ,x) La relación del concepto “a” con el “b” será similar a la del b con a

Intransitiva No antisimétrica

La función “s” es intransitiva pero la transitividad se resuelve ponderando los saltos.

∀ x , y , z ∈T , s ( x , y )=s ( z , y ) ⇏ x=z La igualdad de la distancia entre conceptos no implica la igualdad de conceptos.

Las opciones para esta función surgidas de la investigación son las siguientes: LSA[1], PMI[2][7], VGEM[3], NGD (Distancia Google Normalizada) [4][5] y SimRank[6]. Por razones de espacio se explicará como ejemplo NGD. 3) Distancia Google Normalizada La distancia normalizada de Google (NGD) es una medida de similitud semántica obtenida a partir de los resultados del motor de búsqueda de Google para un conjunto determinado de Keywords.[4][5] Aquellos Keywords altamente relacionados tenderán a valores más cercanos entre sí que las que tienen significados distintos. La función de distancia semántica de NGD en está definida de la siguiente manera:

NGD ( x , y )=

max { log f ( x ) , log f ( y ) } – log f ( x , y ) (1) log M−min {log f ( x ) , log f ( y)}

Ecuación 1: Distancia Google Normalizada

Donde M es el número total de páginas indexadas en Google; f ( x ) y f ( y ) son el número de Hits de los términos “ x ” e “ y ”; f (x , y ) son el número de veces que ambos términos aparecen en simultáneo. [8] La ecuación cumple con las propiedades y los axiomas anteriormente mencionados, si dos términos no aparecen en simultáneo pero aparecen separados la medida tenderá a infinito, si ocurren siempre de manera simultánea la ecuación tenderá a cero. Nótese que es una escala logarítmica y que existen algunos sesgos que deben tomarse en cuenta tales como las palabras homónimas (que mezclarían nubes de puntos distintas) y sinónimos (que superpondrían varias nubes de puntos, con puntos cercanos a 0); también existen sesgos aleatorios de palabras que muestran conceptos no relacionados como si estuvieran altamente relacionados. Tales sesgos culturales de palabras que en una determinada cultura están altamente relacionados por una “excepción” cultural pero que conceptualmente no están relacionados (Ejemplo: en Argentina, “pumas” y “rugby”, “leonas” y “hockey”). Si bien se menciona como distancia Google porque refiere a los resultados de este buscador en particular lo correcto sería hablar de una medida en base a la distribución de frecuencias de las presencias de términos en textos conocidos. 4) Ejemplo de Cuantificación y Sintentización A continuación se da un ejemplo del sistema propuesto (Ver Tabla V, VI, VII, VIII). Se utilizarán los términos “Marsupial”, “Guerra”, “Paz”, “Armas” y “Violencia”. Claramente se puede intuir que “Marsupial” es distinto que los demás términos.

4 A continuación se demuestra cómo se cuantificará esta diferencia intuitiva ya que la exploración inteligente deberá hacer una interpretación de las páginas web exploradas a fin de poder ordenar tanto los links que las contienen como los links que las apuntan. El objetivo de ésta cuantificación será tener un conjunto de puntos en un plano que expresen las relaciones entre los términos y consecuentemente muestren una clara diferencia entre el término “Marsupial” y los otros términos. En principio se obtienen los Hits (Cantidad de resultados de Google) de los términos. Se obtienen los Hits individuales (en la tabla es la intersección de un término consigo mismo) y los Hits grupales (intersección con otros términos en la tabla). Los Hits grupales implican la presencia de ambos términos en una página Web en cualquier orden. TABLA V GOOGLE HITS Guerra Paz

Keyword Marsupial Armas Violencia /F(X) Marsupial 3.680 892 814 234 435 Guerra 892 419.000 88.800 56.200 174.000 Paz 814 88.800 507.000 54.900 64.200 Armas 234 56.200 54.900 121.000 36.300 Violencia 435 174.000 64.200 36.300 143.000 La unidad es miles de hits, las búsquedas se hicieron el día 21 de diciembre del 2011.

Centroide Marsupial 0,50

Distancia

Marsupial

0,40

Guerra

0,30

Paz Violencia

0,20

Armas

0,10 0,00 Gráfico 1: Distancias hacia el centroide Marsupial basado en NGD

Para poder analizar las distancias desde otro centroide se analiza a continuación el centroide “Paz”. TABLA VIII DISTANCIA GOOGLE NORMALIZADA AL CENTROIDE PAZ Paz Marsupial Guerra Paz Violencia Armas

0,4343 0,1073 0 0,0484 0,0491

Se puede observar que salvo el concepto “Marsupial” todos los conceptos se “acercan” a paz, lo cual es consistente con el cluster anterior.

Luego se procede con el cálculo de las distancias normalizadas con la ecuación antes mencionada. Centroide Paz

Keyword /NGD Marsupial Guerra Paz Armas Violencia

TABLA VI DISTANCIA GOOGLE NORMALIZADA Marsupial Guerra Paz Armas 0 0,4153 0,4343 0,4217 0,3912

0,4153 0 0,1073 0,0472 -0,0121

0,4343 0,1073 0 0,0484 0,0491

0,4217 0,0472 0,0484 0 0,0780

0,50 Violencia 0,3912 -0,0121 0,0491 0,0780 0

Como se desea ver el contraste entre las distancias desde y hacia el término “Marsupial”, se analizará la columna correspondiente siendo que ésta será utilizada para formar el centroide del clúster. TABLA VII DISTANCIA GOOGLE NORMALIZADA AL CENTROIDE MARSUPIAL Marsupial Marsupial 0 Guerra 0,4153 Paz 0,4343 Violencia 0,4217 Armas 0,3912

A continuación se presenta un gráfico, el eje X en realidad se usa para separar los conceptos, no tiene una medida y el eje Y contiene las distancias previamente calculadas. Debe considerarse que los puntos están en la misma línea vertical y que el eje Y tiene una escala logarítmica.

Distancia

Paz

0,40

Armas

0,30

Guerra

0,20

Violencia Marsupial

0,10 0,00 Gráfico 2: Distancias hacia el centroide Paz basado en NGD.

Estas distancias ilustran la relación entre conceptos. Por ejemplo, la guerra y la paz son antónimos, si bien los significados de estos conceptos son opuestos, está relación (como cualquier relación de antónimos) es una relación fuerte. Un concepto se define tanto por lo que es, como por lo que no es y estas relaciones están expresadas como se muestra en el ejemplo. Estas nubes de puntos forman áreas de mayor densidad de puntos que otras, analizando esas densidades en relación a un radio puede definirse el límite del clúster para buscar puntos de los cuales se tomarán los links. a)

Distancia Levenshtein

La distancia Levenshtein [9] es una distancia entre cadenas de caracteres y consiste en el número mínimo de operaciones para transformar una palabra en otra, con la distancia Levenshtein se puede obtener una medida de palabras

5 asociadas entre sí generadas o asociadas a partir de algoritmos de stemming[11][12][13]. Esta distancia es escalar, no implica un acercamiento conceptual (Por ejemplo Paz y Pez tienen una distancia de una unidad pero no son conceptos relacionados conceptualmente).

Concepto Paz

Distancia TABLA IX DISTANCIA LEVENSHTEIN A PALABRAS ASOCIADAS A “GUERRA” Levenshtein Guerra Guerras Guerrear Guerrero

0 1 2 4

TABLA X DISTANCIA LEVENSHTEIN A PALABRAS ASOCIADAS A “MARSUPIAL” Levenshtein Marsupial 0 Marsupiales 2 Marsopa 4

b)

Espacio

A partir de las distancias (NGD) obtenidas combinándolas a su vez con las distancias de cadenas (Levenshtein) anteriormente mencionadas en un espacio tridimensional podemos crear una serie de puntos asociados entre sí ya sea por significados, por distancia de cadena y/o por cualquier combinación de ellos. En principio este espacio es básicamente tridimensional, pero si tomamos en cuenta idioma, tipo de palabra, dominio y/o presentamos cada palabra como una superposición de planos estaríamos expresando los términos y conceptos en un espacio multidimensional, siendo la relación expresada en la distancia espacial pudiéndose obtener una distancia absoluta entre términos a partir del modulo de los vectores asociados.

Gráfico 4: Gráfico tridimensional formado a partir de distancias obtenidas con una proyección de la nube difusa abarcando los puntos cercanos.

d)

Jerarquización de Links

Considerando que los puntos estarán asociados a las URL de origen que los suscribieron, una vez definido el radio multidimensional difuso, puede usarse un algoritmo de consenso para la jerarquización de links. Suponiendo que se buscan páginas sobre la Paz, nuestro universo de términos está compuesto por “Marsupial”, “Guerra”, “Violencia”, “Armas” y “Paz”., Nuestro clúster de “Paz” dejó excluyó al término “Marsupial” pero incluyo al resto. El proceso es el siguiente: Se relevan n páginas, de esas páginas relevadas, hay una página que incluye solo “Paz”, otra página “Paz” y “Armas” y otra que incluye todos los términos de nuestro universo excepto “Marsupial”. Cada punto de nuestra nube de puntos tendrá un listado de links de páginas que los contienen. Al relevarse todos los puntos de un área densa habrán algunos sitios que estarán en más listados y en función de eso se infiere la relevancia, el orden y la prioridad para seguir explorando. III. CONCLUSIONES

Concepto Paz

Distancia

Gráfico 3: Gráfico tridimensional formado a partir de distancias obtenidas.

c)

Clustering Difuso

A partir de la información obtenida expresada en el espacio los conceptos estarán expresados como nubes de puntos en el espacio multidimensional, si consideramos a los términos buscados como los centroides de un clúster podemos definir una radio arbitrario para determinar qué puntos entran dentro del concepto y que puntos no, el radio dependerá del concepto a buscar, la densidad de la nube de puntos, el tipo de palabra del keyword, etc.

Este trabajo propone sustanciales avances en materia de Webcrawling. Incorpora la utilización de Clustering Difuso Multidimensional como herramienta para la cuantificación, clasificación y sintetización de keywords. Concluímos que estas técnicas permiten realizar una exploración más eficaz ya que posibilitan inferir estadísticamente sobre el texto contenido en distintas páginas y determinar fehacientemente la relevancia de cada uno de los vínculos en relación a las Keywords ingresadas. El producto de la aplicación de dichas herramientas es la creación de un Webcrawler Inteligente, capaz de realizar una exploración más profunda de los contenidos presentes en la World Wide Web. La extracción inteligente de contenido es imprescindible para su aprovechamiento en distintas áreas que requieran información relevante y acotada sobre un tópico dado. Este tipo de exploración puede utilizarse para la extracción de contenidos y pre-procesado para sistemas diversas aplicaciones que así lo requieran. Por ello el sistema GDARIM es utilizado como fuente de información por parte de un sistema de Opinion Mining que utiliza el texto extraído de los sitios considerados como relevantes para su posterior análisis.

6 De acuerdo a la evidencia presentada es factible la realización de un sistema para la sintetización y cuantificación de conceptos.Este sistema puede utilizarse para realizar crawling inteligente.La evidencia presentada demuestra que, para los casos analizados, es válida y óptima la cuantificación a partir de funciones ya probadas. Existen algunos sesgos que deben depurarse a partir de set de datos lo suficientemente grandes. A partir de la exploración inteligente se puede realizar una selección y priorización eficaz y manera eficiente a gran escala. Esta exploración inteligente puede utilizarse para la extracción de contenidos y pre-procesado para sistemas de opinion mining. En este sentido, los resultados encontrados, como se muestra en el caso de estudio, son prometedores.

[9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]

Referencias [1] [2] [3] [4] [5] [6] [7] [8]

Susan T. Dumais (2005). "Latent Semantic Analysis". Annual Review of Information Science and Technology Ke Hu y Wing Shing Wong, “A Probabilistic Model for Intelligent Web Crawlers” Vladislav D. Veksler, Ryan Z. Govostes y Wayne D. Gray ;“Defining the Dimensions of the Human Semantic Space” Rudi Cilibrasi y Paul Vitanyi, “The Google Similarity Distance”, 2004 The Google Similarity Distance, IEEE Trans. Knowledge and Data Engineering G. Jeh y J. Widom. SimRank: a measure of structural-context similarity. Gerlof Bouma, Normalized (Pointwise) Mutual Information in Collocation Extraction A. Evangelista and B. Kjos-Hanssen, Google Distance Between Words.

[22] [23] [24] [25]

[26] [27]

Levenshtein VI (1966). "Binary codes capable of correcting deletions, insertions, and reversals" Navarro G (2001). "A guided tour to approximate string matching" Lovins, J.B. “Development of a Stemming Algorithm”. Mechanical Translation and computation Linguistics. Andrews, K. “The Development of a Fast Conflation Algorithm for English”. Dissertation for the Diploma in Computer Science, Computer Laboratory, University of Cambridge, 1971 M.F.Porter, An algorithm for suffix stripping, 1980 http://code.google.com/p/boilerpipe/ http://jsoup.org/ http://jericho.htmlparser.net http://htmlparser.sourceforge.net/ Freddy Y. Y. Choi (2000). "Advances in domain independent linear text segmentation" Christopher D. Manning, Hinrich Schütze: Foundations of Statistical Natural Language Processing Kirill A. Sorudeykin A Model of Spatial Thinking for Computational Intelligence Mihaiela Lupea, Doina Tatar, Zsuzsana Marian “Learning Taxonomy for Text Segmentation by Formal Concept Analysis” http://gate.ac.uk/ http://incubator.apache.org/opennlp/ Sergey Brin and Lawrence Page, The Anatomy of a Large-Scale Hypertextual Web Search Engine. Debajyoti Mukhopadhyay, Sajal Mukherjee, Soumya Ghosh, Saheli Kar, Young-Chon Kim “Architecture of A Scalable Dynamic Parallel WebCrawler with High Speed Downloadable Capability for a Web Search Engine“ Dimitris Papamichail and Georgios Papamichail “Improved Algorithms for Approximate String Matching” Apache Software Foundation. http://www.apache.org

i Exporación sistematizada de sitios web a partir de algoritmos inteligentes.

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.