Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INSTITUTO TECNOLGICO
LENGUAJES Y AUTOMATAS 1
DOCENTE:
27/09/2012
A veces entra en tu site, rastrea una pgina, la almacena, se marcha por un link, y vuelve al cabo de unos das. El bot es lo que tiene va a su aire. Si no queremos que siga los links de nuestra pgina, o simplemente queremos que NO la aada al ndice, podemos usar los metatags: <meta name=robots content=noindex, nofollow />
Podemos controlar cmo GoogleBot rastrea nuestro site usando Google Webmaster Tools. Qu pasa si mi pgina no est enlazada desde ningn site? Entonces Google no sabe que tienes nuevo contenido si no se lo dices. Cuando hagas una pgina nueva en tu site, o crees un portal nuevo, el crawler la debe analizar para guardarla en el ndice. Puedes lograrlo de varias maneras:
Enlazando la pgina desde la home de tu site, y esperar. Enviar la URL a Google para que la indexe. Usar un sitemap.xml Usar el RSS de tu pgina/blog como sitemap.
Qu es el Sitemap? El sitemap es un ndice de los contenidos de nuestra pgina que enviamos al Spider de Google con todas nuestras URLs, para que no se deje ni una a la hora de rastrear. Como normalmente se genera de manera automtica, no tenemos que preocuparnos por hacer el submit cada vez que creamos una pgina nueva.
Indexacin
Una vez una pgina ha sido rastreada, toca que Google la someta a la famosa indexacin. La indexacin es un proceso ms complejo por el cual Google analiza la pgina y la ordena en el ndice segn su importancia respecto a una palabra clave. Para ello realiza varios pasos como la eliminacin de stopwords, palabras que no indexa como el, la de, los, en, etctera. Adems, utiliza un algoritmo lxico por el cual es capaz de analizar e indexar palabras con sufijos, prefijos, tiempos verbales, sinnimos, etctera.
Por eso Google es tan rpido, porque NO busca en internet. Busca en su ndice que est constantemente actualizado por el Spider. Aun as recibe del ndice un montn de pginas que contienen esas palabras clave. Ahora toca aplicar la frmula mgica y encontrar lo que realmente quiere el usuario. Llega la hora de Rankear, y para ello Google usa dos herramientas: el Page Rank y el Algoritmo.
El Algoritmo
Qu es el famoso algoritmo de Google? Es la formula por la que Google analiza en los resultados que obtiene del ndice si las palabras pato y vuela aparecen en la URL, si aparecen juntas, si estn en el ttulo, si estn destacadas en negrita, si son el texto de un enlace, si hay sinnimos de las mismas, si aparecen en la descripcin de la imgenes as hasta ms de 200 preguntas que, como puedes imaginar, son la madre del cordero del SEO. El algoritmo de Google es como la frmula de la Coca-Cola, slo lo conocen menos de una docena de personas, y los ingenieros de Google trabajan en una parte de l pero nunca ven la formula entera. El algoritmo de Google cambia unas 300 veces al ao, as que es algo en constante evolucin.
Digamos que, de los cientos de miles de pginas, el Algoritmo escoge unas 500. Cmo saber cules son las ms importantes o fiables y que mejor respuesta darn al usuario? Como es imposible saber esto de manera automtica, Google aplica su lgica y lo deja en manos de los internautas decidir qu es lo importante. Estamos hablando, del Page Rank.
El Page Rank
El Page Rank (en adelante PR) es el sistema que utiliza Google para saber si una pgina es relevante o no para el usuario. Es un valor de 0 a 10 que punta la importancia de una pgina. Y para puntuar una pgina, Google se fundamenta en esta suposicin: El contenido ms interesante y de mejor calidad, es el que tiene ms enlaces. Y an ms: El contenido enlazado desde pginas ms importantes, debe ser importante. Es decir, que si una pgina que contiene Patos vuelan tiene enlaces desde pginas como Wikipedia o La vanguardia debe ser ms importante que otra que no tiene muchos enlaces, o son enlaces desde sitios malos o sin PR.
El Page Rank se actualiza cada 3 meses aproximadamente, aunque se dice que Google trabaja con un Page Rank interno que se actualiza con ms frecuencia.
La pgina de Resultados
Es el momento de ponerlo todo junto, de Indexar. En el query processor se aplica el Algoritmo y el Page Rank a los resultados obtenidos del ndice por patos vuelan, y los ordena segn los resultados. Se enva la pgina al servidor, que la muestra al usuario y ya tenemos la lista de Resultados, todo en menos de un segundo.
PROGRAMA ANALIZADOR LXICO package analizadorlexico; public class Token { public final int etiqueta; public Token(int t) {etiqueta=t; } } :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: package analizadorlexico; public class Palabra extends Token{ public final String lexema; public Palabra(int t, String s) { super(t); lexema=new String (s); } } :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: package analizadorlexico; public class Num extends Token{ public final int valor; public Num(int v) {super(Etiqueta.NUM);valor=v; } } ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: package analizadorlexico; public class Etiqueta { public final static int NUM=256, ID=257, TRUE=258,FALSE=259; } :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: package analizadorlexico; import java.io.*; import java.util.*; import java.util.Stack; public class AnalizadorLexico { Stack peek = new Stack(); public int linea =1; private char vistazo=' '; private Hashtable palabras=new Hashtable(); void reservar (Palabra t){ palabras.put(t.lexema,t); } public AnalizadorLexico() {
reservar(new Palabra(Etiqueta.TRUE,"true")); reservar(new Palabra(Etiqueta.FALSE,"false")); } public Token explorar()throws IOException{ for( ; ; vistazo=(char)System.in.read()){ if(vistazo==' '||vistazo=='\t')continue; else if( vistazo =='\n') linea=linea + 1; else break; } if (Character.isDigit(vistazo)){ int v=0; do{ v=10*v+Character.digit(vistazo,10); vistazo=(char)System.in.read(); } while(Character.isDigit(vistazo)); return new Num(v); } if (Character.isLetter(vistazo)){ StringBuffer b= new StringBuffer (); do{ b.append(vistazo); System.out.println("esta es una prueba "+b); // peek=(char)System.in.read(); } while (Character.isLetterOrDigit(vistazo)); String s=b.toString(); Palabra w=(Palabra)palabras.get(s); if(w != null) return w; w=new Palabra(Etiqueta.ID, s); palabras.put(s,w); return w; } Token t =new Token(vistazo); vistazo =' '; return t; } public static void main(String ar[]){ AnalizadorLexico a=new AnalizadorLexico(); }
Este programa lo que hace es crea una tabla en la cual va almacenando las palabras que se van leyendo desde teclado y va comparando, si esa palabra o carcter no se ha repetido le asigna una etiqueta y lo almacena en la tabla y as sucesivamente.