Informazioni sui componenti delle risorse del linguaggio

Le risorse del linguaggio sono costituite da word breaker e stemmer che estendono le funzionalità di compilazione e query degli indici a nuove lingue e impostazioni locali. Word i breaker vengono usati durante la creazione dell'indice e l'esecuzione di query. Gli stemmer vengono usati solo per l'esecuzione di query. Windows Search usa dll delle risorse del linguaggio per associare le implementazioni IWordBreaker e IStemmer per una lingua specifica.

Questo argomento è organizzato come segue:

Informazioni sulle risorse del linguaggio

Windows Search usa un filtro (un'implementazione dell'interfaccia IFilter) e ILoadFilter per accedere a un documento nel formato nativo. Il componente IFilter estrae contenuto di testo, proprietà e formattazione dal documento. IFilter identifica le impostazioni locali del documento che sta filtrando. Il componente di indicizzazione richiama il word breaker appropriato per le impostazioni locali. Se nessuno è disponibile, il componente di indicizzazione richiama il word breaker neutrale. Il word breaker riceve, da un IFilter, un flusso di input di caratteri Unicode che il word breaker analizza per produrre singole parole e frasi. Il word breaker normalizza anche i formati di data e ora. L'indicizzatore normalizza le parole prodotte dal word breaker convertendo le parole in tutte le lettere maiuscole. L'indicizzatore salva le parole maiuscole nell'indice full-text, ad eccezione delle parole di rumore identificate per le impostazioni locali.

Nella tabella seguente sono elencate le azioni e i risultati corrispondenti per la frase "Figura 1 illustra il ruolo delle risorse della lingua per Windows Search durante il processo di creazione dell'indice".

Azione Testo risultante
Testo originale La figura 1 illustra il ruolo delle risorse del linguaggio per Windows Search durante il processo di creazione dell'indice.
Filtro La figura 1 illustra il ruolo delle risorse del linguaggio per Windows Search durante il processo di creazione dell'indice.
Word'interruzione Figura, 1, illustra, il ruolo, di, lingua, risorse, per, Windows, Ricerca, durante, indice, creazione, processo, EOS
Normalization FIGURA, 1, ILLUSTRA, IL RUOLO, DI, LINGUA, RISORSE, WINDOWS, RICERCA, DURANTE, INDICE, CREAZIONE, PROCESSO
Rimozione delle parole di rumore FIGURA, ILLUSTRA, RUOLO, LINGUA, RISORSE, WINDOWS, RICERCA, DURANTE, INDICE, CREAZIONE, PROCESSO
Salva in indice full-text FIGURA, ILLUSTRA, RUOLO, LINGUA, RISORSE, WINDOWS, RICERCA, DURANTE, INDICE, CREAZIONE, PROCESSO

 

Word i breaker e gli stemmer vengono usati per espandere le query FREETEXT in fase di query. Le impostazioni locali della query sono le impostazioni locali predefinite a meno che non venga passato come parametro di query un identificatore di codice del linguaggio (LCID). Il componente di query richiama il word breaker appropriato nei termini di query elencati nella clausola WHERE della query. Ad esempio, se la clausola WHERE della query contiene "FREETEXT (mele, arancioni e pere), il word breaker riceve il testo "mele, arancioni e pere". Se la clausola QUERY WHERE usa il predicato full-text CONTAINS , l'output di testo dal word breaker viene normalizzato. In caso contrario, il componente di query passa ogni parola identificata dal word breaker al stemmer appropriato per tale lingua e impostazioni locali. Lo stemmer genera un elenco di forme alternative, o inflected, per tale parola. Il componente di query normalizza l'elenco espanso di termini di query e rimuove parole di rumore.

Nella tabella seguente sono elencate le azioni e i risultati corrispondenti per la query "mele, arancioni e pere".

Azione Testo risultante
Testo originale mele, arancioni e pere
Word'interruzione mele, arancioni e, pere, EOS
Stemming mela, mele, arancione, arancione, arancione, e, pera, pere
Normalization APPLE, MELE, ARANCIONI, ARANCIONI, ARANCIONI E, PERA, PERE
Rimozione delle parole di rumore APPLE, APPLES, ORANGE, ORANGEY, ORANGES, PEAR, PEARS
Elenco espanso dei termini di query APPLE, APPLES, ORANGE, ORANGEY, ORANGES, PEAR, PEARS

 

I termini di query espansi aumentano la probabilità che la query trovi documenti che corrispondono alla finalità della query originale. Il testo generato dal word breaker o stemmer in fase di query non viene archiviato su disco.

Word breaking

Word l'interruzione è la separazione del testo in singoli token di testo o parole. Molte lingue, soprattutto quelle con alfabeti romani, hanno una matrice di separatori di parole (ad esempio spazio vuoto) e punteggiatura usati per distinguere parole, frasi e frasi. Word i breaker devono basarsi sull'heuristica del linguaggio accurato per fornire risultati affidabili e accurati. Word'interruzione è più complessa per i sistemi basati su caratteri di scrittura o alfabeti basati su script, in cui il significato dei singoli caratteri viene determinato dal contesto. Per altre informazioni sulle considerazioni linguistiche che possono influire sull'implementazione del word breaker, vedere Considerazioni linguistiche e Unicode.

Stemming

Windows Search applica gli stemmer esclusivamente in fase di query per generare moduli di parole aggiuntivi per termini nelle query FREETEXT e proprietà. Gli stemmer eseguono l'analisi grammaticale e applicano regole grammaticali per generare un elenco di forme alternative, o inflected, per le parole. Le forme alternative spesso hanno la stessa forma di stem o base. Generando i moduli inflected per una parola, il servizio di indicizzazione restituisce i risultati delle query che sono statisticamente più rilevanti per una query. Ad esempio, una query full-text per "nuotare incontro" corrisponde ai documenti che contengono "nuotare, swam, swum" o "incontra, incontro" e combinazioni di questi termini.

Alcuni linguaggi richiedono che i termini inflected vengano generati sia in fase di indicizzazione che in tempo di query per le inflezioni standard e varianti. In questo caso, lo stemming si verifica nel componente word breaker, con un lavoro di stemming minimo nello stemmer effettivo. Ad esempio, il word breaker giapponese esegue lo stemming durante la creazione dell'indice e la query per consentire a una query di trovare forme diverse inflected dei termini di ricerca.

Normalization

I documenti di tutte le lingue vengono archiviati in un singolo indice. Anche se le parole e le regole linguistiche differiscono notevolmente, esistono alcune considerazioni, ad esempio numeri, date e ore, gestite in modo coerente in tutti i word breaker. Per altre informazioni sulle considerazioni sulla normalizzazione che possono influire sull'implementazione del word breaker, vedere Normalizzazione di Surface Form.

Parole di rumore

Parole di rumore, note anche come parole di arresto, sono parole che non sono indicatori significativi per il contenuto. Il servizio di indicizzazione rimuove le parole di rumore dai termini di query e dal contenuto incluso nell'indice full-text. Un offset è l'occorrenza di una parola in un documento o in un elenco di termini di query. L'offset delle parole di rumore in un documento o una query viene registrato come vuoto. La rimozione delle parole di rumore migliora le prestazioni delle query evitando la crescita di indici non necessari. Migliora anche la pertinenza dei risultati delle query. È possibile configurare Windows Search per usare elenchi di parole di rumore per lingue specifiche. Questi elenchi vengono usati quando viene richiamato un word breaker per tale lingua. Ad esempio, "the" nella lingua inglese si verifica così spesso che ha un valore minimo come chiave univoca. "The" si trova nell'elenco delle parole di rumore, non viene scritto nell'indice del contenuto e, se sottoposto a query, non restituisce risultati.

Le parole di rumore fungono da segnaposto nelle query di frasi. Un documento che contiene il testo "wag the dog" viene archiviato nell'indice con "wag" all'occorrenza 1 e "cane" all'occorrenza 3. La query di frase "wag dog" non corrisponde, ma la frase query "wag a dog" fa, perché le informazioni sull'occorrenza corrispondono. La frase "cane viola" non corrisponde perché "viola" non è trovato nell'indice all'occorrenza 2. Tuttavia, una query per "wag the dog" restituisce documenti che contengono "cane viola" perché non è possibile determinare in modo efficiente se il documento aveva una parola non rumore tra "wag" e "cane".

Estensione delle risorse del linguaggio

Implementazione di un Word breaker e stemmer

Considerazioni linguistiche e Unicode

Risoluzione dei problemi relativi alle risorse del linguaggio e alle procedure consigliate