Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit les considérations relatives à la recherche de limites pour les langages agglutinatifs et les paires de substitution Unicode et pour l’utilisation de paires de substitution pour étendre le jeu de caractères Unicode afin de prendre en charge différents jeux de caractères. Cette rubrique décrit également comment les analyseurs de mots identifient les expressions dans du texte et gèrent les espaces sans rupture, et comment les analyseurs de mots et les générateurs de formes dérivées gèrent les nombres et les dates, les mots composés, les expressions composées, les mots spéciaux et les caractères, les acronymes et les abréviations et la mise en majuscule.
Cette rubrique est organisée comme suit :
- d’identification des expressions
- langues agglutinatives
- nombres, heures et dates
- mots composés
- expressions composées
- caractères spéciaux et mots
- acronymes et abréviations
- mise en majuscules
- espaces non cassants
- paires de substitution
Identification des expressions
Les expressions sont un mot ou un groupe de mots modifiés par un ou plusieurs autres. Les expressions sont difficiles à identifier de manière cohérente, car le même modificateur peut être utilisé dans plusieurs expressions avec le même nom. Par exemple, « nouvelle maison », « Chambre du Parlement », « nouvelle Chambre du Parlement ».
Windows Search utilise des expressions le plus souvent au moment de la requête. Les expressions du texte de requête reçoivent un poids supérieur à celui des mots individuels. Dans l’exemple précédent, un document contenant « Chambre du Parlement » est classé supérieur à celui contenant « Chambre » et « Parlement » à différents points du document. Nous vous recommandons de générer une expression au moment de la requête si l’expression est susceptible de correspondre à au moins un document.
Langues agglutinatives
Les langages agglutinatifs forment des mots à travers la combinaison de morphèmes plus petits pour exprimer des idées composées. Chacun de ces morphèmes a généralement une signification ou une fonction et conserve sa forme d’origine et sa signification pendant le processus de combinaison. Pour les langues qui ont une morphologie agglutinative, comme le turc, le finnois, le hongrois ou le coréen, il est possible de produire des milliers de formes pour un mot racine donné.
Le tableau suivant présente une liste de formes inlectées pour le mot finnois « talo » (« maison »).
| Mot | Traduction |
|---|---|
| Talo | Maison |
| Taloni | Ma maison |
| Talossa | Dans la maison |
| Talossani | Dans ma maison |
| Taloja | Maisons |
| Taloissa | Dans les maisons |
Les langues inflexées, telles que l’anglais, le français et le latin, ont un très petit nombre de formes de mots possibles pour un mot racine. Dans les langages inflexés, les morphèmes influencent les uns les autres lors de la liaison. La plupart des changements dans l’inflexion sont présents dans la tige ou la fin de mot. Contrairement aux langues agglutinatives, les langues inlectées ont tendance à avoir des fonctions différentes pour un seul morphème. Par exemple, un morphème peut déterminer à la fois le nombre et la casse.
Les souches pour les langues agglutinatives doivent peser le compromis entre les performances et la précision pour générer uniquement un sous-ensemble du nombre de formes de mots possibles.
Nombres, heures et dates
Les analyseurs Word doivent utiliser un format commun pour représenter des nombres, des heures et des dates pour faciliter l’interrogation cohérente.
Lorsque vous créez un analyseur de mots, nous vous recommandons de normaliser les nombres en représentation canonique à l’aide du modèle « NNddDcc», où NN est la séquence littérale « NN », dd correspond à la partie entière du nombre, D est le littéral « D » et cc est la partie fractionnaire du nombre. Les analyseurs word ne limitent pas le nombre de chiffres pour l’entier ou la partie fraction du nombre. Nous vous recommandons de reconnaître les modèles numériques délimités par les points (.) et les virgules (,). Par exemple, Windows Search représente « 1 000.2 » et « 1.000,2 » comme « NN1000D2 ».
Choisissez un format pour l’analyseur de mots et le générateur de formes dérivées. Les chiffres arabes à octets uniques sont normalisés de sorte qu’une requête contenant l’un de ces formulaires correspond aux documents avec les autres formulaires.
Lorsque vous créez un analyseur de mots, nous vous recommandons de présenter tous les temps comme une représentation de 24 heures à l’aide du modèle « TThhmms», où TT est le préfixe littéral « TT », hh correspond aux heures, mm est les minutes et ss est les secondes. La recherche Windows ne correspond pas à des unités de temps supplémentaires, telles que des millisecondes. L’analyse des modèles A.M. et P.M. est facultative.
Lorsque vous créez un analyseur de mots, nous vous recommandons de générer des dates au format canonique « DDaaaammd», où DD est le littéral « DD », aaaa est les années, mm est les mois et dd est les jours. Nous recommandons également que les analyseurs de mots stockent des années à deux chiffres dans les deux formats du XXe siècle et du XXIe siècle. Par exemple, les analyseurs de mots représentent « 2.2.99 » comme « DD19990202 » et « DD20990202 ». Au moment de la requête, Windows Search dérive la date à l’aide d’interfaces de programmation d’applications Windows (API) pour déterminer la date de croisement du serveur pour afficher le format correct, 19XX ou 20XX.
Mots composés
Dans certaines langues, telles que l’allemand, les noms sont composés de noms plus simples. Ces noms composés sont trop spécifiques au sens d’un rappel de requête raisonnable. Par exemple, sans décomposition, une requête pour « Versicherung » (« assurance ») ne correspond pas à « Lebensversicherungsciones » (« vendeur d’assurance-vie »). Dans les cas suivants, nous vous recommandons de diviser ces mots composés en composants de base pendant la création d’index et l’heure de requête. Le disjoncteur allemand interrompt « Lebensversicherungs runtime » dans les mots de composant « Leben », « Versicherung » et « Tsch ». Il applique la même décomposition au moment de la requête, ainsi que la recherche facultative pour chacun des termes résultants.
Expressions composées
Certaines langues, telles que le coréen, contiennent des expressions complexes qui peuvent être rompues de plusieurs façons différentes. Une expression coréenne se compose d'mots de contenu, tels que les noms, les pronous, les verbes et les adjectifs, suivis de mots fonctionnels . Les mots fonctionnels sont trouvés dans les post-positions et les fins. Les positions postérieures indiquent le rôle fonctionnel du nom ou du pronoun dans une phrase ; les terminaisons indiquent le rôle fonctionnel du verbe ou de l’adjectif.
Une expression peut avoir plusieurs analyses, et chaque analyse peut se composer de plusieurs mots de contenu. L’analyseur de mots doit utiliser des heuristiques propres à la langue pour déterminer, à partir du contexte, le poids à donner à différentes analyses. L’analyseur de mots peut déterminer la décomposition à utiliser en fonction du nombre de mots de composant résultants. Certains analyseurs de mots peuvent favoriser des séquences courtes de termes plus longs, tandis que d’autres analyseurs de mots peuvent favoriser de longues séquences de mots plus petits.
Une autre considération est que, en coréen, les noms et les pronous peuvent être stockés dans l’index sans leurs mots fonctionnels correspondants. Le coréen est un langage agglutinatif et combine de nombreux mots se terminant par des verbes et des adjectifs pour former d’innombrables formes inlectées. Les verbes et les adjectifs identifiés dans les expressions sont enregistrés avec leurs terminaisons dans l’index, mais l’analyseur de mots ne génère pas de nouveaux formulaires.
Caractères spéciaux et mots
Les caractères spéciaux sont des caractères tels que « », « © » et « ™ ». Ces caractères sont rarement utilisés dans les requêtes. Les analyseurs word doivent supprimer des caractères spéciaux lors de la création d’index et au moment de la requête.
Nous recommandons aux analyseurs de mots de reconnaître des mots spéciaux, tels que « C++ », « C# », ». NET », des notes et de la notation musicale. Les analyseurs de mots peuvent utiliser une langue heuristique pour identifier un modèle pour des mots spéciaux. Les analyseurs word peuvent également utiliser un dictionnaire personnalisé qui contient des mots spéciaux reconnus.
Acronymes et abréviations
Les acronymes et les abréviations doivent être pris en compte lorsque vous implémentez un analyseur de mots. Dans de nombreuses langues, les lettres individuelles d’acronymes sont séparées par des périodes. Parfois, les mots qui ne sont pas reconnus ou abréviations sont abrégés. Par exemple, « États-Unis d’Amérique » peut être abrégé en tant que « États-Unis » ou « États-Unis ». Les analyseurs word inclus dans La Recherche Windows identifient généralement les mots à lettre unique comme des mots parasites et traitent ces mots comme des espaces réservés pendant l’heure de la requête. Pendant le temps de la requête, un analyseur de mots qui n’est pas conscient des acronymes courants, ou qui ne reconnaît pas les abréviations, convertit l’abréviation « U.S.A ». Cette décomposition ne fournit pas suffisamment d’informations pour faire correspondre les mots dans l’index de texte intégral, car tous les termes de requête sont des mots parasites. Lorsque vous créez un analyseur de mots, nous vous recommandons de supprimer les points qui séparent les lettres d’acronymes. Dans l’exemple, « U.S.A . » est stocké en tant que « Usa » et un terme de requête qui contient « U.S.A ». Si un analyseur de mots traite une abréviation, la période de cette abréviation n’est pas traitée comme un saut EOS. En raison de cela, un analyseur de mots peut ne pas identifier correctement un saut EOS si l’abréviation est à la fin de la phrase.
Capitalisation
La recherche Windows ne conserve actuellement pas la majuscule lorsqu’elle enregistre des mots dans l’index de recherche en texte intégral. Les analyseurs de mots et les générateurs de formes dérivées ne doivent pas modifier la casse des mots.
Espaces insécables
Lorsque vous créez un analyseur de mots, nous vous recommandons de vous assurer que l’analyseur de mots traite les espaces non dissociants comme séparateurs de mots. Il est également recommandé que l’analyseur de mots génère d’autres formes de mot, avec et sans espaces sans rupture. Certains caractères, tels que les traits de soulignement, sont des caractères spéciaux qui sont traités comme des caractères insécables en raison des sources du texte dans lequel ils sont trouvés. Par exemple, le code source ou les noms de fichiers peuvent inclure des traits de soulignement en tant que caractères non cassants.
Paires de substitution
Les paires de substitution sont des représentations de caractères dans le code source qui représentent un caractère unique qui se compose d’une séquence de deux valeurs Unicode. Dans une paire codée, la première valeur est une substitution élevée et la seconde est une substitution faible. Une substitution élevée est un caractère de la plage U+D800 à U+DBFF. Une substitution faible est un caractère de la plage U+DC00 à U+DFFF. Les paires de substitution étendent le jeu de caractères au-delà du caractère Unicode. Nous vous recommandons d’utiliser les règles suivantes pour gérer les paires de substitution :
- Un substitut élevé doit précéder un substitut faible.
- Un substitut faible doit suivre un substitut élevé.
- Une substitution élevée ou faible sans valeur correspondante pour son autre moitié n’a aucune signification.
Les analyseurs Word doivent prendre en compte toutes les paires et générer les paires comme telles dans l’index. Pour plus d’informations, consultez substitution et caractères supplémentaires.