Partilhar via


Noções básicas sobre componentes de recursos de linguagem

Os recursos de linguagem consistem em separadores de palavras e lematizadores que estendem os recursos de criação e consulta de índice para novos idiomas e localidades. Word disjuntores são usados durante a criação e a consulta de índice. Lematizadores são usados apenas para consulta. O Windows Search usa DLLs de recurso de linguagem para associar às implementações IWordBreaker e IStemmer para uma localidade de idioma específica.

Este tópico é organizado da seguinte maneira:

Sobre recursos de linguagem

O Windows Search usa um filtro (uma implementação da interface IFilter ) e ILoadFilter para acessar um documento em seu formato nativo. O componente IFilter extrai conteúdo de texto, propriedades e formatação do documento. O IFilter identifica a localidade do documento que está filtrando. O componente de indexação invoca o separador de palavras apropriado para essa localidade. Se nenhum estiver disponível, o componente de indexação invocará o separador de palavras neutro. O separador de palavras recebe, de um IFilter, um fluxo de entrada de caracteres Unicode que o separador de palavras analisa para produzir palavras e frases individuais. O separador de palavras também normaliza os formatos de data e hora. O indexador normaliza as palavras produzidas pelo separador de palavras convertendo as palavras em todas as letras maiúsculas. O indexador salva as palavras maiúsculas no índice de texto completo, com exceção das palavras de ruído identificadas para essa localidade.

A tabela a seguir lista as ações e os resultados correspondentes da frase "A Figura 1 ilustra a função dos recursos de linguagem para a Pesquisa do Windows durante o processo de criação do índice".

Ação Texto resultante
Texto original A Figura 1 ilustra a função dos recursos de linguagem para o Windows Search durante o processo de criação do índice.
Filtragem A Figura 1 ilustra a função dos recursos de linguagem para o Windows Search durante o processo de criação do índice.
Quebra de palavras Figura, 1, ilustra, a função, de, idioma, recursos, para, Windows, Pesquisa, durante, o, índice, criação, processo, EOS
Normalização FIGURE, 1, ILUSTRA, THE, ROLE, OF, LANGUAGE, RESOURCES, WINDOWS, SEARCH, DURING, THE, INDEX, CREATION, PROCESS
Remoção de palavra de ruído FIGURA, ILUSTRA, FUNÇÃO, LINGUAGEM, RECURSOS, WINDOWS, PESQUISA, DURANTE, ÍNDICE, CRIAÇÃO, PROCESSO
Salvar no índice de texto completo FIGURA, ILUSTRA, FUNÇÃO, LINGUAGEM, RECURSOS, WINDOWS, PESQUISA, DURANTE, ÍNDICE, CRIAÇÃO, PROCESSO

 

Word disjuntores e lematizadores são usados para expandir consultas FREETEXT no momento da consulta. A localidade da consulta é a localidade padrão, a menos que um LCID (identificador de código de idioma) seja passado como um parâmetro de consulta. O componente de consulta invoca o separador de palavras apropriado nos termos de consulta listados na cláusula WHERE da consulta. Por exemplo, se a cláusula WHERE da consulta contiver "FREETEXT (maçãs, laranjas e peras)", o separador de palavras receberá o texto "maçãs, laranjas e peras". Se a cláusula WHERE de consulta usar o predicado CONTAINS de texto completo, a saída de texto do separador de palavras será normalizada. Caso contrário, o componente de consulta passa cada palavra identificada pelo separador de palavras para o lematizador apropriado para esse idioma e localidade. O lematizador gera uma lista de formulários alternativos ou inflexionados para essa palavra. O componente de consulta normaliza a lista expandida de termos de consulta e remove palavras de ruído.

A tabela a seguir lista as ações e os resultados correspondentes para a consulta "maçãs, laranjas e peras".

Ação Texto resultante
Texto original maçãs, laranjas e peras
Quebra de palavras maçãs, laranjas e peras, EOS
Lematização maçã, maçãs, laranja, laranja, laranjas, e, pera, peras
Normalização MAÇÃ, MAÇÃS, LARANJA, LARANJA, LARANJAS, E, PERA, PERAS
Remoção de palavra de ruído MAÇÃ, MAÇÃS, LARANJA, LARANJA, LARANJA, PERA, PERAS
Lista expandida de termos de consulta MAÇÃ, MAÇÃS, LARANJA, LARANJA, LARANJA, PERA, PERAS

 

Os termos de consulta expandidos aumentam a probabilidade de a consulta encontrar documentos que correspondam à intenção da consulta original. O texto gerado pelo separador de palavras ou lematizador no momento da consulta não é armazenado no disco.

Quebra de palavras

Word quebra é a separação do texto em tokens de texto individuais ou palavras. Muitas línguas, especialmente aquelas com alfabetos romanos, têm uma matriz de separadores de palavras (como espaço em branco) e pontuação que são usadas para discernir palavras, frases e frases. Word separadores devem contar com heurística de linguagem precisa para fornecer resultados confiáveis e precisos. Word quebra é mais complexa para sistemas baseados em caracteres de escrita ou alfabetos baseados em script, em que o significado de caracteres individuais é determinado do contexto. Para obter mais informações sobre considerações linguísticas que podem afetar sua implementação de separação de palavras, consulte Considerações linguísticas e Unicode.

Lematização

O Windows Search aplica lematizadores exclusivamente no momento da consulta para gerar formulários de palavras adicionais para termos em CONSULTAS DE PROPRIEDADE e FREETEXT . Os lematizadores executam a análise morfológica e aplicam regras gramaticais para gerar uma lista de formulários alternativos ou inflexionados para palavras. As formas alternativas geralmente têm a mesma forma de haste ou base. Ao gerar os formulários inflexionados para uma palavra, o Serviço de Indexação retorna resultados de consulta que são estatisticamente mais relevantes para uma consulta. Por exemplo, uma consulta de texto completo para "encontro de natação" corresponde a documentos que contêm "natação, natação, natação, natação, natação, natação" ou "conhecer, reunir, reunir, atender, reunir", reunir, conhecer" e combinações desses termos.

Alguns idiomas exigem que os termos inflexionados sejam gerados no tempo de índice e no tempo de consulta para inflexões padrão e variante. Nesse caso, a lematização ocorre no componente de separação de palavras, com o mínimo de trabalho de lematização no lematizador real. Por exemplo, o separador de palavras japonês executa a lematização durante a criação do índice e a consulta para permitir que uma consulta encontre diferentes formas inflexionadas dos termos de pesquisa.

Normalização

Documentos de todos os idiomas são armazenados em um único índice. Embora as palavras e as regras linguísticas diferem drasticamente, há algumas considerações, como números, datas e horas, que são tratadas consistentemente em todos os separadores de palavras. Para obter mais informações sobre considerações de normalização que podem afetar a implementação do separador de palavras, consulte Normalização de Formulário do Surface.

Palavras de ruído

Palavras de ruído, também conhecidas como palavras irrelevantes, são palavras que não são indicadores significativos para o conteúdo. O Serviço de Indexação remove palavras de ruído dos termos de consulta e do conteúdo incluído no índice de texto completo. Um deslocamento é a ocorrência de uma palavra em um documento ou em uma lista de termos de consulta. O deslocamento de palavras de ruído em um documento ou consulta é registrado como em branco. A remoção de palavras de ruído melhora o desempenho da consulta evitando o crescimento desnecessário do índice. Ele também melhora a relevância dos resultados da consulta. Você pode configurar a Pesquisa do Windows para usar listas de palavras de ruído para idiomas específicos. Essas listas são usadas quando um separador de palavras é invocado para esse idioma. Por exemplo, "o" no idioma inglês ocorre com tanta frequência que tem pouco valor como uma chave exclusiva. "O" está na lista de palavras de ruído, não é gravado no índice de conteúdo e, se consultado, não retorna resultados.

Palavras de ruído atuam como espaços reservados em consultas de frase. Um documento que contém o texto "wag the dog" é armazenado no índice com "wag" na ocorrência 1 e "dog" na ocorrência 3. A frase consulta "wag dog" não corresponde, mas a consulta de frase "wag a dog" faz, porque as informações de ocorrência correspondem. A frase "wag purple dog" não corresponde porque "roxo" não é encontrado no índice na ocorrência 2. No entanto, uma consulta para "wag the dog" retorna documentos que contêm "cão roxo wag" porque não há como determinar com eficiência se o documento tinha uma palavra sem ruído entre "wag" e "dog".

Estendendo recursos de linguagem

Implementando um separador de Word e lematizador

Considerações linguísticas e Unicode

Solução de problemas de recursos de linguagem e práticas recomendadas