Resolvimos las viejas cartas y encontramos un artículo escrito por Ilya Segalovich iseg para la revista "World of Internet" en 2002. En él, compara Internet y los motores de búsqueda con las maravillas del mundo, reflexiona sobre las tecnologías de búsqueda y recuerda su historia. A pesar de la carga de trabajo, Ilya escribió un artículo en tiempo récord e incluso proporcionó un glosario de términos suficientemente detallado, que es especialmente interesante de leer hoy. No pudimos encontrar una versión electrónica de la revista con el artículo, así que hoy la publicamos en nuestro blog, cuyo primer autor, por cierto, fue Ilya.
Se
han escrito cientos de
motores de
búsqueda en el mundo, y si cuenta las funciones de búsqueda implementadas en una variedad de programas, entonces necesita realizar un seguimiento de miles. Y no importa cómo se implemente el proceso de búsqueda, no importa en qué modelo matemático se base, las ideas y los programas que implementan la búsqueda son bastante simples. Aunque esta simplicidad, aparentemente, pertenece a la categoría de la que dicen "simple pero funciona". De una forma u otra, pero fueron los motores de búsqueda los que se convirtieron en una de las dos nuevas maravillas del mundo, dando al Homo Sapiens acceso ilimitado e instantáneo a la información. El primer milagro, obviamente, puede considerarse Internet como tal, con sus capacidades de comunicación universal.
Motores de búsqueda históricos
Existe una creencia generalizada de que cada nueva generación de programas es más perfecta que la anterior. Digamos, antes todo era imperfecto, pero ahora reina
inteligencia casi
artificial en todas partes. Otro punto de vista extremo es que "todo lo nuevo se olvida de lo viejo". Creo que con respecto a los motores de búsqueda, la verdad se encuentra en algún punto intermedio.
Pero, ¿qué ha cambiado realmente en los últimos años? No algoritmos o estructuras de datos, no modelos matemáticos. Aunque ellos también. El paradigma del uso de sistemas ha cambiado. En pocas palabras, una ama de casa que busca una plancha más barata y un graduado de un internado auxiliar con la esperanza de encontrar un mecánico de automóviles se enganchó en la pantalla con la línea de búsqueda. Además de la aparición de un factor imposible en la era previa a Internet, un factor de la demanda total de motores de búsqueda, se hicieron evidentes un par de cambios más. En primer lugar, quedó claro que las personas no solo "piensan con palabras", sino que también "buscan palabras". En la respuesta del sistema, esperan ver la palabra escrita en la cadena de consulta. Y el segundo: es difícil "volver a entrenar a un buscador" para "volver a entrenar para buscar", así como es difícil volver a entrenar para hablar o escribir. Los sueños de los años 60 y 80 sobre el refinamiento iterativo de las consultas, sobre la comprensión del lenguaje natural, sobre la búsqueda por significado, sobre la generación de una respuesta coherente a una pregunta difícilmente pueden resistir la cruel prueba de la realidad ahora.
Algoritmo + Estructura de datos = Motor de búsqueda
Como cualquier programa, el motor de búsqueda opera con estructuras de datos y ejecuta un algoritmo. La variedad de algoritmos no es muy grande, pero lo es. Además de las computadoras cuánticas, que nos prometen un avance mágico en la "complejidad algorítmica" de la búsqueda, y sobre las cuales el autor no sabe casi nada, existen cuatro clases de algoritmos de búsqueda. Tres de cada cuatro algoritmos requieren "indexación", preprocesamiento de documentos, lo que crea un archivo auxiliar, en otras palabras, un "índice", diseñado para simplificar y acelerar la búsqueda. Estos son algoritmos de
archivos invertidos, árboles de sufijos, firmas . En un caso degenerado, no hay un paso de indexación preliminar, y la búsqueda se realiza visualizando documentos secuencialmente. Tal búsqueda se llama
directa .
Búsqueda directa
Su versión más simple es familiar para muchos, y no hay programador que no escriba ese código al menos una vez en su vida:
A pesar de su aparente simplicidad, la búsqueda directa se ha desarrollado intensamente en los últimos 30 años. Se ha presentado una cantidad considerable de ideas que a veces reducen el tiempo de búsqueda. Estos algoritmos se describen en detalle en una variedad de literatura, existen sus resúmenes y comparaciones. Se pueden encontrar buenas revisiones de los métodos de búsqueda directa en libros de texto como
Sedgwick o
Cormen . Debe tenerse en cuenta que los nuevos algoritmos y sus opciones mejoradas aparecen constantemente.
Aunque mirar todos los textos directamente es una tarea bastante lenta, no debe pensar que los algoritmos de búsqueda directa no se usan en Internet. El motor de búsqueda noruego Fast (www.fastsearch.com) utilizó un
chip que implementa la lógica de búsqueda directa de expresiones regulares simplificadas, y colocó 256 de estos chips en un tablero. Esto permitió a Fast atender una cantidad bastante grande de solicitudes por unidad de tiempo.
Además, hay muchos programas que combinan la búsqueda de índice para encontrar un bloque de texto con una búsqueda directa adicional dentro del bloque. Por ejemplo,
vislumbrar es muy popular, incluso en Runet.
En general, los algoritmos directos tienen fundamentalmente características distintivas de ganar-ganar. Por ejemplo, posibilidades ilimitadas para búsqueda aproximada y difusa. De hecho, cualquier indexación siempre está asociada con la simplificación y normalización de los términos y, en consecuencia, con la pérdida de información. La búsqueda directa funciona directamente en los documentos originales sin ninguna distorsión.
Archivo invertido
Esta estructura de datos simple, a pesar de su misterioso nombre extranjero, es intuitivamente familiar para cualquier persona alfabetizada y cualquier programador de bases de datos que ni siquiera se haya ocupado de la búsqueda de texto completo. La primera categoría de personas sabe lo que es, de acuerdo con las "concordancias": listas exhaustivas ordenadas alfabéticamente de palabras de un texto o pertenecientes a un autor (por ejemplo, "Concordancia con versos de A. S. Pushkin", "Diccionario-Concordancia de periodismo por F. M. Dostoievski" ) Los últimos tratan con una forma u otra de la lista invertida cada vez que crean o usan el "índice de base de datos por campo clave".
Ilustraremos esta estructura con la ayuda de la maravillosa concordancia rusa:
"Sinfonía" , emitida por el Patriarcado de Moscú sobre el texto de la traducción sinodal de la Biblia.

Esta es una lista alfabética de palabras. Para cada palabra, se enumeran todas las "posiciones" en las que aparece esta palabra. El algoritmo de búsqueda consiste en encontrar la palabra correcta y cargar en la memoria una lista de posiciones ya expandida.
Para ahorrar espacio en el disco y acelerar la búsqueda, generalmente recurra a dos trucos. En primer lugar, puede guardar los detalles de la posición en sí. De hecho, cuanto más detallada sea dicha posición, por ejemplo, en el caso de "Symphony" es "libro + capítulo + verso", se necesitará más espacio para almacenar el archivo invertido.
En la versión más detallada, en el archivo invertido puede almacenar el número de palabra y el desplazamiento en bytes desde el comienzo del texto, y el color y el tamaño de la fuente, y mucho más. Más a menudo, simplemente indican solo el número del documento, digamos, un libro de la Biblia, y el número de usos de esta palabra en él. Es una estructura tan simplificada que se considera fundamental en la teoría clásica de recuperación de información: recuperación de información (IR).
El segundo método de compresión (no relacionado con el primero): organizar las posiciones para cada palabra en orden ascendente de direcciones y para que cada posición almacene no su dirección completa, sino la diferencia de la anterior. Así es como se verá esta lista para nuestra página bajo el supuesto de que recordamos la posición hasta el número del capítulo:
: [.1],[+11],[0],[+2],[+4],[+2],[+4],..
Además, se impone un método de empaque simple sobre el método de diferencia de almacenamiento de direcciones: por qué asignar un número "enorme" fijo de bytes a un entero pequeño, porque puede asignarle casi tantos bytes como se merece. Aquí es apropiado mencionar los códigos de Golomb o la función incorporada del popular lenguaje Perl:
pack(“w”)
.
En la literatura, también hay una artillería más pesada de algoritmos de empaquetado de la gama más amplia: aritmética, Huffman, LZW, etc. El progreso en esta área es continuo. En la práctica, rara vez se usan en los motores de búsqueda: la ganancia es pequeña y la potencia del procesador se gasta de manera ineficiente.
Como resultado de todos los trucos descritos, el tamaño del archivo invertido, como regla, es del 7 al 30 por ciento del tamaño del texto fuente, dependiendo de los detalles de direccionamiento.
Listado en el Libro Rojo
Se proponen repetidamente otros algoritmos de búsqueda invertidos y directos y estructuras de datos. En primer lugar, estos son árboles de sufijos (ver libros de
Manber y
Gonnet ), así como
firmas .
El primero de ellos funcionó en Internet, siendo un algoritmo patentado del sistema de búsqueda
OpenText . Me he encontrado con índices de sufijos en los motores de búsqueda nacionales.
El segundo, el método de firma, es una conversión de documentos para bloquear tablas de los
valores hash de sus palabras: la "firma" y la visualización secuencial de las "firmas" durante la búsqueda.
Ninguno de los métodos fue ampliamente adoptado y, por lo tanto, no merecía una discusión detallada en este breve artículo.
Modelos matemáticos
Aproximadamente 3 de cada 5 motores de búsqueda y módulos funcionan sin ningún modelo matemático. Más precisamente, sus desarrolladores no se asignan la tarea de implementar un modelo abstracto y / o desconocen su existencia. El principio aquí es simple: si solo el programa encuentra algo. Como sea Y luego el usuario lo resolverá.
Sin embargo, tan pronto como se trata de mejorar la calidad de la búsqueda, sobre una gran cantidad de información, sobre el flujo de consultas de los usuarios, además de los coeficientes fijados empíricamente, resulta útil operar con algún tipo de aparato teórico simple.
El modelo de búsqueda es una cierta simplificación de la realidad, sobre la base de la cual se obtiene una fórmula (que ya no es necesaria para nadie), que permite al programa tomar una decisión: qué documento debe considerarse encontrado y cómo clasificarlo. Después de la adopción del modelo, los coeficientes a menudo adquieren un significado físico y se vuelven más comprensibles para el propio desarrollador, y se vuelve más interesante seleccionarlos.
La variedad completa de modelos de recuperación de información tradicional (IR) generalmente se divide en tres tipos: conjunto-teórico (booleano, conjuntos difusos, extendido booleano),
algebraico (vector, vector generalizado, semántico latente, red neuronal) y probabilístico.
La familia booleana de modelos, de hecho, es la primera que viene a la mente de un programador que implementa la búsqueda de texto completo. Hay una palabra: un documento se considera encontrado, no, no encontrado. En realidad, el modelo booleano clásico es un puente que conecta la teoría de recuperación de información con la teoría de búsqueda y manipulación de datos.
La crítica al modelo booleano, bastante justa, consiste en su extrema rigidez e inadecuación para la clasificación. Por lo tanto, en 1957, Joyce y Needham (Joyce y Needham)
sugirieron tener en cuenta las características de frecuencia de las palabras para que "... la operación de comparación sería la relación de la distancia entre los vectores ...".
El modelo vectorial fue implementado con éxito en 1968 por el padre fundador de la ciencia de la recuperación de información Gerard Salton (Gerard Salton)
* en el motor de búsqueda SMART (Salton's Magical Automatic Retriever of Text). La clasificación en este modelo se basa en una observación estadística natural de que cuanto mayor es la frecuencia local de un término en un documento (TF) y más "raro" (es decir, la
aparición de retorno en los documentos ) de un término en una colección (IDF), mayor es el peso de este documento en relación con el término .
* Gerard Salton (Sahlman) 1927-1995. Él es Selton, él es Zalton e incluso Zalman, él es Gerard, Gerard, Gerard o incluso Gerald, dependiendo del gusto del traductor y los errores tipográficos realizados.
http://www.cs.cornell.edu/Info/Department/Annual95/Faculty/Salton.html
http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/s/Salton:Gerald.html
http://www.cs.virginia.edu/~clv2m/salton.txt
La designación IDF fue introducida por Karen Sparck-Jones (Karen Spark-Jones) en 1972 en un
artículo sobre el
término especificidad . De ahora en adelante, la designación TF * IDF se usa ampliamente como sinónimo del modelo vectorial.
Finalmente, en 1977, Robertson y Sparck-Jones (
Robertson y Spark-Jones) corroboraron e implementaron un
modelo probabilístico (
propuesto en 1960), que también sentó las bases para toda una familia.
La relevancia en este modelo se considera como la probabilidad de que este documento pueda ser de interés para el usuario. Esto implica la presencia de un conjunto inicial ya existente de documentos relevantes seleccionados por el usuario o recibidos automáticamente bajo un supuesto simplificado. La probabilidad de ser relevante para cada documento posterior se calcula en función de la relación entre la aparición de términos en el conjunto relevante y el resto de la parte "irrelevante" de la colección. Aunque los modelos probabilísticos tienen alguna ventaja teórica, porque organizan los documentos en orden descendente de "probabilidad de ser relevante", en la práctica no han recibido mucha distribución.
No voy a entrar en detalles y escribir fórmulas voluminosas para cada modelo. Su resumen, junto con la discusión, toma 35 páginas en forma comprimida en el libro
"Búsqueda de información moderna" . Solo es importante tener en cuenta que en cada una de las familias el modelo más simple parte de la suposición de las palabras independencia y tiene una condición de filtrado simple: nunca se encuentran documentos que no contengan palabras de consulta. Los modelos avanzados ("alternativos") de cada una de las familias no consideran la palabra de consulta como independiente, pero, además, le permiten encontrar documentos que no contienen una sola palabra de la consulta.
Buscar "por sentido"
La capacidad de encontrar y clasificar documentos que no contienen palabras de la consulta a menudo se considera un signo de inteligencia artificial o una búsqueda por significado y a priori se relacionan con las ventajas del modelo. La cuestión de si esto es así o no, lo dejaremos fuera del alcance de este artículo.
Por ejemplo, describiré solo uno, quizás el modelo más popular que funciona por significado. En la teoría de la recuperación de información, este modelo se llama
indexación semántica latente (en otras palabras, revela significados ocultos). Este modelo algebraico se basa en la descomposición singular de una matriz rectangular que asocia palabras con documentos. El elemento de la matriz es una respuesta de frecuencia, que refleja el grado de conexión de la palabra y el documento, por ejemplo, TF * IDF. En lugar de la matriz original de la millonésima dimensión, los autores del
método de Furnas y
Deerwester sugirieron utilizar
50-150 "significados ocultos" correspondientes a los primeros
componentes principales de su descomposición singular .
Una descomposición singular de una matriz real A de tamaños m * n se llama cualquier descomposición de la forma A = USV, donde U es la matriz ortogonal de tamaños m * m, V es la matriz ortogonal de tamaños n * n, S es la matriz diagonal de tamaños m * n, cuyos elementos s ij = 0 si i no es igual a j , y s ii = s i > = 0. Las cantidades si se llaman números singulares de la matriz y son iguales a los valores aritméticos de las raíces cuadradas de los valores propios correspondientes de la matriz AA T. En la literatura inglesa, la descomposición singular se denomina comúnmente descomposición SVD .
Se
demostró hace mucho tiempo que si dejamos en consideración los primeros k números singulares (igualamos el resto a cero), obtenemos la aproximación más cercana posible de la matriz inicial de rango k (en cierto sentido, su "interpretación semántica más cercana de rango k"). Al disminuir el rango, filtramos los detalles irrelevantes; aumentando, tratamos de reflejar todos los matices de la estructura de los datos reales.
Las operaciones de búsqueda o búsqueda de
documentos similares se simplifican enormemente, ya que cada palabra y cada documento está asociado con un vector relativamente corto de k significados (filas y columnas de las matrices correspondientes). Sin embargo, debido al bajo significado de los "significados", o
por alguna otra razón, el uso de LSI en la frente para la búsqueda no ha ganado distribución. Aunque para fines auxiliares (filtrado automático, clasificación, separación de colecciones, reducción preliminar de dimensiones para otros modelos), este método parece encontrar aplicación.
Evaluación de calidad
La verificación de consistencia ha demostrado que la superposición de documentos relevantes entre dos evaluadores es del orden del 40% en promedio ... recuperación y precisión del evaluador cruzado de alrededor del 65% ... Esto implica un límite superior práctico en el rendimiento del sistema de recuperación del 65% ...
Donna harman
Lo que hemos aprendido y no aprendido de TREC
Traducción"... un control de estabilidad mostró que la superposición de documentos relevantes entre dos evaluadores es aproximadamente del 40% en promedio ... la precisión y la integridad medida entre los evaluadores es de aproximadamente el 65% ... Esto impone un límite superior práctico en la calidad de la búsqueda en la región del 65% ..."
Cualquiera sea el modelo, el motor de búsqueda necesita "ajuste", una evaluación de la calidad de la búsqueda y ajuste de los parámetros. La evaluación de calidad es una idea fundamental para la teoría de búsqueda. Porque es gracias a la evaluación de calidad que podemos hablar sobre la aplicabilidad o inaplicabilidad de un modelo en particular e incluso discutir sus aspectos teóricos.
En particular, una de las limitaciones naturales de la calidad de búsqueda es la observación realizada en el epígrafe: ¡las opiniones de los dos "evaluadores" (expertos que emiten un veredicto sobre la relevancia) en promedio no coinciden entre sí en gran medida! Esto también implica el límite superior natural de la calidad de búsqueda, porque la calidad se mide en comparación con la opinión del asesor.
Por lo general, se miden dos parámetros para evaluar la calidad de una búsqueda:
- precisión: la proporción de material relevante en la respuesta de un motor de búsqueda
- integridad (retiro): la proporción de documentos relevantes encontrados en el número total de documentos de recopilación relevantes
Estos parámetros se usaron y se usan regularmente para seleccionar modelos y sus parámetros en el marco de la conferencia de evaluación de recuperación de texto (TREC)
* creada por el Instituto Americano de Estándares (NIST). A partir de 1992, un consorcio de 25 grupos, para el año 12 de su existencia, la conferencia ha acumulado material significativo en el que los motores de búsqueda todavía están perfeccionados. Para cada conferencia regular, se está preparando nuevo material (la llamada "pista") en cada una de las áreas de interés. La "pista" incluye una colección de documentos y solicitudes. Daré ejemplos:
- Seguimiento de solicitudes aleatorias (
ad hoc ): presente en todas las conferencias
- Búsqueda multilingüe
- Enrutamiento y filtrado
- Búsqueda de alta precisión (con una sola respuesta, realizada a tiempo)
- Interacción del usuario
- "Camino" en lenguaje natural
- Respuestas a "preguntas"
- Buscar en textos "sucios" (recién escaneados)
- Búsqueda por voz
- Buscar en un caso muy grande (20 GB, 100 GB, etc.)
- Cuerpo WEB (en conferencias recientes, está representado por una selección para el dominio .gov)
- Búsqueda distribuida y combinación de resultados de búsqueda de diferentes sistemas
* Los materiales de la conferencia están disponibles públicamente en trec.nist.gov/pubs.html .No solo busca
Como se puede ver en las "rutas" de TREC, una serie de tareas están estrechamente relacionadas con la búsqueda en sí, ya sea compartiendo una ideología común (clasificación, enrutamiento, filtrado, anotación) o siendo una parte integral del proceso de búsqueda (agrupación de resultados, expansión y reducción de consultas, comentarios, Anotación "dependiente de consulta", interfaz de búsqueda e idiomas de consulta). No hay un solo motor de búsqueda que no tenga que resolver en la práctica al menos una de estas tareas.
A menudo, la presencia de una u otra propiedad adicional es un argumento decisivo en la competencia de los motores de búsqueda. Por ejemplo, breves anotaciones que consisten en citas informativas de un documento con el que algunos motores de búsqueda acompañan los resultados de su trabajo les ayudan a mantenerse a medio paso de la competencia.
Es imposible contar sobre todas las tareas y cómo resolverlas. Por ejemplo, considere la "extensión de consulta", que generalmente se realiza mediante la búsqueda de términos asociados. La solución a este problema es posible en dos formas: local (dinámica) y global (estática). Los técnicos locales confían en el texto de la consulta y analizan solo los documentos encontrados en él. Las "extensiones" globales pueden operar con tesauros, tanto a priori (lingüísticos) como construidos automáticamente a lo largo de la colección de documentos. Según la opinión generalmente aceptada, las modificaciones de consultas globales a través de tesauros funcionan de manera ineficiente, reduciendo la precisión de la búsqueda. Un enfoque global más exitoso se basa en clasificaciones estáticas creadas manualmente, como los directorios WEB. Este enfoque es ampliamente utilizado en los motores de búsqueda de Internet en las operaciones de estrechamiento o expansión de consultas.
A menudo, la implementación de características adicionales se basa en los mismos principios o modelos, o muy similares, que la búsqueda misma. , , , ( – TF*IDF), .
(relevance feedback),
() , .
, ,
«Term Vector Database» , «» ( ).
, . . , (, , ), . , (,
) , . , , :
—
—
( ): ,
— (
- )
—
(,
):
«», ,
— () (, )
—
:
—
,
. - (LSI, ), - , .
“Things that work well on TREC often do not produce good results on the web… Some argue that on the web, users should specify more accurately what they want and add more words to their query. We disagree vehemently with this position. If a user issues a query like «Bill Clinton» they should get reasonable results since there is a enormous amount of high quality information available on this topic”
Sergei Brin, Larry Page
The Anatomy of a Large-Scale Hypertextual Web Search Engine
Traducción«, TREC, … , , , . . « », , ...»
«I was struck when a Google person told me at SIGIR that the most recent Google ranking algorithm completely ignores anything discovered at TREC, because all the good Ad Hoc ranking algorithms developed over the 10 years of TREC get trashed by spam»
Mark Sanderson
Traducción« , - Google , TREC, , « » ...»
, : ?
, , , - , ( , . .) .
(off-page) , ́ , . , , , , – .
C , -. , «» , .
, ,
, « » , , .
, , , , , . (
– ), . .
.
. , 1999-2000 . ( ) , .
( ) , . ,
. 1998 .
, , . 1998
PageRank – , , . , (, , 80- ), .
, PageRank, ( , ) –
HITS ,
- . , (. . ) , .
, , , . , , : , . . , : (,
www.teoma.com ), ..,
.
.
, . , Google Fast, . : «» , , 100 , 30% – . .
, , : , .. , , , « ».
. : ; – .
– , , , . . : , , , , . . , .
, , , : , , .
, , . - .
Udi Manber ( ) ( agrep) 1994
, Andrei Broder ( ) 1997-
«» ( shingles, «», «»). .

(
). , , , . (, , 9) , , , 25. , . , – , , , , ( ) : ! 25 !
, , .. : « » ! . ( ; , 0%; .)
,
,
- ,
. , (
), -.
. , . .
, , . , 1997 ( Inktomi) 32- (Linux, Solaris, FreeBSD, Win32) . AltaVista, «» 64- Alpha.
(, , c)
. . , , , , . Pruning ( . , ) , . pruning, , .
– , , . , .
, (, - )
. , , , , : , .
, , , . , , , . , , , 2-4 , , , , . .
(assesor, ) – , , .
(boolean, , , ) – , , .
– , , – .
– , .
(off-page, ) – , , .
(doorways, hallways) – , ( ). .
(tagging, part of speech disambiguation, ) – c ; « ».
(duplicates) – , , ; (near duplicates, -), , .
– , , .
(inverted file, , , ) – , , , .
(index, ) – . .
(citation index) – () , , , .
(indexing, ) – ( ) – , .
(Information Retrieval, IR) – , . , . , . « », , . , , (), , , .
(cloaking) – , ( ) , , .
– . .
- – , . .
(lemmatization, ) – , .
– . .
– , .
(inverted document frequency, IDF, , ) – ( ); «» , , .
– , , , , . – , .
– . .
– , () .
– , , .
(similar document search) – , , .
(search engine, SE, - , , , , «», «») – , , .
(query, ) – .
(polysemy, homography, , , ) — .
(recall, ) – , , .
- (near-duplicates, ) – . .
(pruning) – .
– , ( ).
- – . .
(term specificity, term discriminating power, , ) – . , . , .
(regualr expression, pattern, «», «», «») – , , , . . – , .
(relevance, relevancy) – .
(signature, ) – - . - .
(inflection) – , , (), . , . (declension), – (conjugation).
(derivation) – . , .
– . .
(spam, , ) – .
– . PageRank .
– .
- (stop-words) – , , / .
, (suffix trees, suffix arrays, PAT-arrays) – , , (trie). «», ( ) . , – , . , , .
(tokenization, lexical analysis, , ) – , , , , .
(precision) — .
- (hash-value) – - (hash-function), (, ) .
() (document frequency, , ) – , .
(term frequency, TF) – .
– (shingle) – - .
PageRank – () , — . .
TF*IDF – ; , – .
Modern Information Retrieval
Baezo-Yates R. and Ribeiro-Neto B.
ACM Press Addison Wesley, 1999
The Connectivity Server: fast access to linkage information on the Web
K. Bharat, A. Broder, M. Henzinger, P. Kumara, and S. Venkatasubramanian
WWW7, 1998
http://www7.scu.edu.au/programme/fullpapers/1938/com1938.htm
The Anatomy of a Large-Scale Hypertextual Web Search Engine
S.Brin and L. Page
WWW7, 1998
http://www7.scu.edu.au/programme/fullpapers/1921/com1921.htm
Syntactic Clustering of the Web
Andrei Z. Broder, Steven C. Glassman, Mark S. Manasse
WWW6, 1997
Indexing by Latent Semantic Analysis
S. Deerwester, ST Dumais, GW Furnas, TK Landauer, R. Harshman
JASIS, 1990
http://citeseer.nj.nec.com/deerwester90indexing.html
The approximation of one matrix by another of lower rank
C. Eckart, G. Young
Psychometrika, 1936
Description and performance analysis of signature file methods
C. Faloutsos, S. Christodoulakis
ACM TOIS 1987
FAST PMC — The Pattern Matching Chip
http://www.fast.no/product/fastpmc.html
www.idi.ntnu.no/grupper/KS-grp/microarray/slides/heggebo.pdf ( , web.archive.org – . .)
Information retrieval using a Singular Value Decomposition Model of Latent Semantic Structure
GW Furnas, S. Deerwester, ST Dumais, TK Landauer, RA Harshman, LA Streeter, and KE Lochbaum
ACM SIGIR, 1988
Glimpse, Webglimpse, Unix-based search software…
http://webglimpse.org
Examples of PAT applied to the Oxford English Dictionary
Gonnet G.
University of Waterloo, 1987
What we have learned, and not learned, from TREC
Donna Harman
http://irsg.eu.org/irsg2000online/papers/harman.htm
The Thesaurus Approach to Information Retrieval
T. Joyce and RM Needham
American Documentation, 1958
Authoritative Sources in a Hyperlinked Environment
Jon M. Kleinberg
JACM, 1998
http://citeseer.nj.nec.com/87928.html
An efficient method to detect duplicates of Web documents with the use of inverted index
S. Ilyinsky, M. Kuzmin, A. Melkov, I. Segalovich
WWW2002, 2002
Suffix Arrays: A New Method for On-line String Searches
U. Manber, G. Myers
1st ACM-SIAM Symposium on Discrete Algorithms, 1990
Finding similar files in a large file system
U. Manber
USENIX Conference, 1994
ME Maron and JL Kuhns
On relevance, probabilistic indexing and information retrieval
Journal of the ACM, 1960
Open Text Corporation
http://www.opentext.com
SE Robertson and Sparck Jones K.
Relevance Weighting of Search Terms
JASIS, 1976
Algorithms in C++, Robert Sedgewick
Addison-Wesley, 1992
A Statistical Interpretation of Term Specificity and Its Application in Retrieval
Karen Sparck Jones
Journal of Documentation, 1972
The Term Vector Database: fast access to indexing terms for Web pages
R. Stata, K. Bharat, F. Maghoul
WWW9, 2000
http://www9.org/w9cdrom/159/159.html
Natural Language Information Retrieval
Tomek Strzalkowski (ed.)
Kluwer Academic Publishers, 1999
: , . , . , .
, 2000
https://www.ozon.ru/context/detail/id/33769775/
- . .. , .., ..
- , 1995