L'intelligenza artificiale per gli insegnanti: Un libro aperto

Parlare di IA: indicizzazione dei motori di ricerca

Un motore di ricerca cerca di capire di quali informazioni ha bisogno un utente. Lo fa partendo dalle poche parole chiave inserite nella casella di ricerca - la query di ricerca. Una volta ottenuta la domanda, cerca di trovare, tra i miliardi di documenti web, quelli che rispondono a questa esigenza. Quindi visualizza le informazioni in una forma facilmente accessibile, con la pagina più pertinente in cima. Per fare tutto questo, il motore di ricerca deve iniziare a trovare i documenti sul web e a etichettarli in modo che siano facilmente recuperabili. Vediamo a grandi linee le fasi dell'intero processo:

Fase 1: i Web crawler trovano e scaricano i documenti.

Dopo che l'utente inserisce una query di ricerca, è troppo tardi per andare a vedere tutti i contenuti disponibili su Internet.1 I documenti web vengono esaminati in anticipo e il loro contenuto viene suddiviso e memorizzato in diversi slot. Una volta che la query è disponibile, tutto ciò che occorre fare è abbinare ciò che è contenuto nella query con ciò che è presente negli slot.

I web crawler sono pezzi di codice che trovano e scaricano documenti dal web. Per cominciare, ricevono un insieme di indirizzi di siti web (URL) a cui accedere. Questo insieme è chiamato insieme di semi. Quando scaricano una pagina dal seed, guardano all'interno per vedere se ci sono collegamenti a nuove pagine web. In caso affermativo, aggiungono questi nuovi indirizzi all'elenco delle cose da fare. Quindi, scaricano e guardano all'interno delle nuove pagine per trovare altri collegamenti.

Se l'insieme di semi è sufficientemente vario, i crawler finiscono per visitare tutti i siti che consentono l'accesso. Poiché i documenti vengono aggiornati, un crawler deve anche tornare indietro e controllare quelli già visitati per verificare la presenza di aggiornamenti e nuovi link.

Fase 2: il documento viene trasformato in più parti

Il documento scaricato dal crawler può essere una pagina web chiaramente strutturata (scritta in un linguaggio chiamato html) con una propria descrizione di contenuto, autore, data ecc. Può anche essere un'immagine scansionata male di un vecchio libro della biblioteca. I motori di ricerca sono in grado di leggere un centinaio di tipi di documenti diversi.1 Le convertono in html o xml e le archiviano in tabelle (chiamate BigTable nel caso di Google).

Una tabella è composta da sezioni più piccole, chiamate tavolette. Ogni riga della tavoletta è dedicata a una pagina web, con l'indirizzo web che identifica univocamente la riga. Le righe sono disposte in un certo ordine che viene registrato insieme a un registro per gli aggiornamenti. Ogni colonna contiene informazioni specifiche relative alla pagina web che possono aiutare a far corrispondere il contenuto del documento a quello di una futura interrogazione:

- L'indirizzo del sito web. Non solo identifica la riga, ma l'indirizzo stesso può fornire una buona descrizione dei contenuti della pagina. Può anche identificare se si tratta di una home page, nel qual caso il contenuto sarà rappresentativo dell'intero sito.
- Titoli, intestazioni e parole in grassetto che descrivono i contenuti importanti.
- Metadati della pagina. Si tratta di informazioni sulla pagina che non fanno parte del contenuto principale, come il tipo di documento (ad esempio, e-mail o pagina web), la struttura del documento e altre caratteristiche come la lunghezza del documento. Le pagine Html hanno anche parole chiave nella descrizione che sono preziose. Gli articoli scientifici e di giornale hanno l'autore e la data di pubblicazione. Le immagini e i video hanno i loro metadati.
- Descrizione dei collegamenti da altre pagine a questa pagina. Quando altre pagine rimandano a una pagina web, di solito forniscono un testo descrittivo che viene sottolineato per indicare la presenza del collegamento ipertestuale. Questo testo, chiamato testo di ancoraggio, è una buona descrizione di ciò che l'autore ritiene sia l'argomento della pagina. Il testo di ancoraggio viene quindi classificato in colonne separate: più sono i link, più sono le colonne utilizzate. La presenza di link viene utilizzata anche per il ranking, per determinare la popolarità di una pagina web (date un occhiata al Google's Pagerank , un sistema di classificazione che utilizza i link da e verso una pagina per valutarne la qualità e la popolarità).
- Nomi di persone, nomi di aziende o organizzazioni, località, indirizzi, espressioni di data e ora, quantità e valori monetari, ecc. Gli algoritmi di apprendimento automatico possono essere addestrati per trovare queste entità in qualsiasi contenuto. In questo caso, i dati di addestramento saranno costituiti da testo annotato da un essere umano. La macchina impara a capire qual è la probabilità che la parola successiva sia un'entità.1
Una colonna della tabella, forse la più importante, contiene il contenuto principale del documento. Poiché una pagina web può contenere altre informazioni, come link esterni e pubblicità, è necessario identificare prima il contenuto principale. Una tecnica utilizza un modello di apprendimento automatico per "imparare" qual è il contenuto principale di una pagina web. Come il modello che ha appreso se una scheda appartiene al "Gruppo A" o al "Gruppo B" in Parlare di AI: apprendimento automatico e il modello che impara a distinguere tra una bicicletta e una motocicletta in Esperienza di apprendimento automatico, il modello qui impara quali contenuti sono importanti per la ricerca e quali no.

We can of course match exact words from the query to the words in a web document, like the Find button in any word processor. But this is not very effective as people use different words to talk about the same object. Just recording the seperate words will not help to capture how these words combine with each other to create meaning:  It is ultimately the thought behind the words that help us communicate and not the words themselves. Therefore, all search engines transform the text in a way that makes it easier to match with the meaning of the query text. Later, the query is processed similarly.
As word parts, the total number of different tokens that need to be stored is reduced. Current models store about 30,000 to 50,000 tokens.2 Misspelled words can be identified because parts of them still match with the stored tokens. Unknown words may turn up search results, since their parts might match with the stored tokens.

Here, the training set for machine learning is made of example texts. Starting from individual characters, space and punctuation, the model merges characters that occur frequently to form new tokens. If the number of tokens is not high enough, it continues the merging process to cover bigger or less frequent word parts. This way, most of the words, word endings and all prefices can be covered. Thus given a new text, the machine can easily split it into tokens and send it to storage.

Step 3 : An Index is built for easy reference


Once the data is tucked away in BigTables, an index is created. At the end of a textbook,the index lists important terms and the page numbers where they can be found. Search index has the tokens in a web document and their location. Search engines may also add statistics to the index - how many times a token occurs in a document, how important is it for the document etc. Position information may also be recorded: Is the token in the title or a heading? Is it concentrated in one part or is it found throughout the document? Does one token always follow another? Or, all this can be given as a single score which can be used for ranking.
Nowadays, many search engines use a combination of traditional indexing and language based models generated by deep neural networks. The latter encodes semantic details of the text and is responsable for better understanding of queries.3 They help the search engines go beyond the query to capture the information need that induced the query.

These 3 steps give a simplified account of what is called "Indexing" - finding, preparing and storing documents and creating the index. What comes next are the steps involved in "Ranking" - matching query to content and displaying the results according to relevance.


------------------------------------------------------------------------------------------------------
1 Croft, B., Metzler D., Strohman, T., Search Engines, Information Retrieval in Practice, W.B. Croft, D. Metzler, T. Strohman, 2015
2 Sennrich,R., Haddow, B., and Alexandra Birch, A., Neural Machine Translation of Rare Words with Subword Units, In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1715–1725, Berlin, Germany. Association for Computational Linguistics, 2016
3 Metzler, D., Tay, Y., Bahri, D., Najork, M., Rethinking Search: Making Domain Experts out of Dilettantes, SIGIR Forum 55, 1, Article 13, June 2021
 

This page has paths:

This page references: