Compartilhar via


Considerações linguísticas e Unicode diversas

Este tópico descreve considerações de lematização para idiomas agglutinativos e pares alternativos Unicode e para usar pares alternativos para estender o conjunto de caracteres Unicode para acomodar diferentes conjuntos de caracteres. Este tópico também descreve como os separadores de palavras identificam frases no texto e lidam com espaços sem quebra e como separadores de palavras e lematizadores lidam com números e datas, palavras compostas, frases compostas, palavras e caracteres especiais, acrônimos e abreviações e maiúsculas.

Este tópico é organizado da seguinte maneira:

Identificação de frase

As frases são uma palavra ou um grupo de palavras que são modificadas por uma ou mais outras. As frases são difíceis de identificar consistentemente porque o mesmo modificador pode ser usado em mais de uma frase com o mesmo substantivo. Por exemplo, "nova casa", "Casa do Parlamento", "nova Casa do Parlamento".

O Windows Search usa frases com mais frequência no momento da consulta. As frases no texto da consulta recebem um peso maior do que as palavras individuais. Do exemplo anterior, um documento contendo "Câmara do Parlamento" é classificado acima de um contendo "Casa" e "Parlamento" em diferentes pontos do documento. Recomendamos que os separadores de palavras gerem uma frase no momento da consulta se a frase provavelmente corresponder a pelo menos um documento.

Idiomas agglutinativos

Linguagens agglutinativas formam palavras através da combinação de morfos menores para expressar ideias compostas. Cada um desses morphemes geralmente tem um significado ou função e mantém sua forma original e significado durante o processo de combinação. Para idiomas que têm morfologia aglutinativa, como turco, finlandês, húngaro ou coreano, é possível produzir milhares de formas para uma determinada palavra-raiz.

A tabela a seguir mostra uma lista de formulários inflexionados para a palavra finlandesa "talo" ("house").

Word Tradução
Talo Doméstica
Taloni Minha casa
Talossa Na casa
Talossani Em minha casa
Taloja Casas
Taloissa Nas casas

 

Idiomas inflexionados, como inglês, francês e latino, têm um número muito pequeno de formas de palavra possíveis para uma palavra raiz. Em linguagens inflexionadas, as transformações influenciam umas às outras ao associar. A maioria das alterações na inflexão está presente no final da haste ou da palavra. Ao contrário das linguagens agglutinativas, as linguagens inflexionadas tendem a ter funções diferentes para um único morpheme. Por exemplo, um morpheme pode determinar o número e o caso.

Lematizadores para linguagens agglutinativas devem pesar a compensação entre desempenho e precisão para gerar apenas um subconjunto do número de formas de palavras possíveis.

Números, Horas e Datas

Word separadores devem usar um formato comum para representar números, horas e datas para facilitar a consulta consistente.

Quando você cria um separador de palavras, recomendamos que o separador de palavras normalize números para uma representação canônica usando o padrão "NNddDcc", em que NN é a sequência literal "NN", dd é a parte inteira do número, D é o literal "D" e cc é a parte fracionária do número. Word separadores não restringem o número de dígitos para o inteiro ou a parte fracionária do número. Recomendamos que os separadores de palavras reconheçam padrões numéricos delimitados por pontos (.) e vírgulas (,). Por exemplo, o Windows Search representa "1.000.2" e "1.000,2" como "NN1000D2".

Escolha um formato para separador de palavras e lematizador. Numerais árabes de byte único são normalizados de modo que uma consulta que contém qualquer um desses formulários corresponda a documentos com as outras formas.

Quando você cria um separador de palavras, recomendamos que o separador de palavras apresente todas as vezes como uma representação de 24 horas usando o padrão "TThhmmss", em que TT é o prefixo literal "TT", hh são as horas, mm são os minutos e ss são os segundos. O Windows Search não corresponde a unidades de tempo adicionais, como milissegundos. A análise de padrões de A.M. e P.M. é opcional.

Quando você cria um separador de palavras, recomendamos que o separador de palavras gere datas no formato canônico de "DDyyyymmdd", em que DD é o literal "DD", aaaa são os anos, mm são os meses e dd são os dias. Também recomendamos que os separadores de palavras armazenem anos de dois dígitos em formatos do século XX e do século XXI. Por exemplo, separadores de palavras representam "2.2.99" como "DD19990202" e "DD20990202". No momento da consulta, o Windows Search deriva a data usando APIs (interfaces de programação de aplicativo) do Windows para determinar a data de crossover para o servidor exibir o formato correto, 19XX ou 20XX.

Palavras compostas

Em algumas línguas, como alemão, substantivos são compostos de substantivos mais simples. Esses substantivos compostos são muito específicos, o que significa um recall de consulta razoável. Por exemplo, sem decomposição, uma consulta para "Versicherung" ("seguro") não corresponde a "Lebensversicherungsgesellschaft" ("vendedor de seguro de vida"). Em casos como esse, recomendamos que os separadores de palavras dividam essas palavras compostas em componentes base durante a criação do índice e o tempo de consulta. O separador de palavras alemão quebra "Lebensversicherungsgesellschaft" nas palavras componentes "Leben", "Versicherung" e "Gesellschaft". Ele aplica a mesma decomposição no momento da consulta, juntamente com lematização opcional para cada um dos termos resultantes.

Frases compostas

Alguns idiomas, como coreano, contêm frases complexas que podem ser quebradas de várias maneiras diferentes. Uma frase coreana consiste em palavras de conteúdo, como substantivos, pronomes, verbos e adjetivos, seguidos por palavras funcionais. Palavras funcionais são encontradas em pós-posições e terminações. Post-positions indicam a função funcional do substantivo ou pronome em uma frase; terminações indicam a função funcional do verbo ou adjetivo.

Uma frase pode ter várias análises e cada análise pode consistir em várias palavras de conteúdo. O separador de palavras deve empregar heurística específica do idioma para determinar, a partir do contexto, quanto peso dar a diferentes análises. O separador de palavras pode determinar qual decomposição usar com base no número de palavras de componente resultantes. Alguns separadores de palavras podem favorecer sequências curtas de termos mais longos, enquanto outros separadores de palavras podem favorecer sequências longas de palavras menores.

Outra consideração é que, em coreano, substantivos e pronomes podem ser armazenados no índice sem suas palavras funcionais correspondentes. Coreano é uma linguagem agglutinativa e combina inúmeras terminações de palavras com verbos e adjetivos para formar inúmeras formas inflexionadas. Verbos e adjetivos identificados em frases são salvos com suas terminações no índice, mas o separador de palavras não gera novos formulários.

Caracteres e palavras especiais

Caracteres especiais são caracteres como "," "©" e "™". Esses caracteres raramente são usados em consultas. Word separadores devem remover caracteres especiais durante a criação do índice e no momento da consulta.

Recomendamos que os separadores de palavras reconheçam palavras especiais, como "C++", "C#", ".NET", notas e notação musical. Word disjuntores podem usar uma heurística de linguagem para identificar um padrão para palavras especiais. Word disjuntores também podem usar um dicionário personalizado que contém palavras especiais reconhecidas.

Acrônimos e abreviações

Acrônimos e abreviações devem ser considerados quando você implementa um separador de palavras. Em muitos idiomas, letras individuais de acrônimos são separadas por períodos. Ocasionalmente, palavras que não são acrônimos ou abreviações reconhecidas são abreviadas. Por exemplo, "Estados Unidos da América" pode ser abreviado como "EUA" ou "EUA". Word separadores incluídos no Windows Search geralmente identificam palavras de letra única como palavras de ruído e tratam essas palavras como espaços reservados durante o tempo de consulta. Durante o tempo de consulta, um separador de palavras que não está ciente de acrônimos comuns ou que não reconhece abreviações converte a abreviação "EUA" em "U", "S" e "A". Essa decomposição não fornece informações suficientes para corresponder palavras no índice de texto completo porque todos os termos da consulta são palavras de ruído. Ao criar um separador de palavras, recomendamos que o separador de palavras remova os períodos que separam as letras dos acrônimos. No exemplo, "EUA" é armazenado como "EUA" e um termo de consulta que contém "EUA" na verdade consulta "EUA". Se um separador de palavras processar uma abreviação, o período nessa abreviação não será tratado como uma quebra de EOS. Por isso, um separador de palavras pode não identificar corretamente uma quebra de EOS se a abreviação estiver no final da frase.

Uso de maiúsculas

No momento, o Windows Search não preserva a capitalização quando salva palavras no índice de texto completo. Word separadores e lematizadores não devem modificar o caso das palavras.

Espaços sem quebra

Quando você cria um separador de palavras, recomendamos que você garanta que o separador de palavras trate espaços sem quebra como separadores de palavras. Também é recomendável que o separador de palavras gere formas alternativas da palavra, com e sem espaços sem quebra. Alguns caracteres, como sublinhados, são caracteres especiais que são tratados como caracteres sem quebra devido às fontes do texto em que são encontrados. Por exemplo, o código-fonte ou os nomes de arquivo podem incluir sublinhados como caracteres sem quebra.

Pares alternativos

Pares alternativos são representações de caracteres no código-fonte que representam um único caractere que consiste em uma sequência de dois valores Unicode. Em um par codificado, o primeiro valor é um substituto alto e o segundo é um substituto baixo. Um substituto alto é um caractere no intervalo U+D800 a U+DBFF. Um substituto baixo é um caractere no intervalo U+DC00 a U+DFFF. Pares alternativos estendem o conjunto de caracteres além do caractere Unicode. Recomendamos que um separador de palavras use as seguintes regras ao manipular pares alternativos:

  • Um substituto alto deve preceder um substituto baixo.
  • Um substituto baixo deve seguir um substituto alto.
  • Um substituto alto ou baixo sem um valor correspondente para sua outra metade não tem significado.

Word separadores devem considerar quaisquer pares e gerar os pares como tal no índice. Para obter mais informações, consulte Substitutos e Caracteres Suplementares.