Traitement linguistique pour Db2 Text Search

Db2 Text Search fournit des packs de dictionnaires pour soutenir le traitement linguistique des documents et des requêtes. En outre, la segmentation en n-grammes est prise en charge pour des langues telles que le chinois, le japonais et le coréen. Comme alternative à la segmentation des mots basée sur les dictionnaires, le moteur de recherche propose une option permettant de sélectionner la segmentation en n-grammes pour des langues telles que le chinois, le japonais et le coréen.

Si un document textuel est rédigé dans l'une des langues prises en charge, le traitement linguistique est effectué au cours de l'étape de symbolisation, c'est-à-dire lorsque le texte est décomposé en mots individuels. Pour les langues non prises en charge, le document est analysé en utilisant les espaces blancs ou la segmentation en n-grammes. La lemmatisation (comme le stemming, qui consiste à trouver la forme normalisée d'un mot, mais qui analyse également la partie du discours du mot) n'est pas effectuée sur les langues non prises en charge.

Lorsque vous effectuez une recherche dans un index de recherche textuelle, une correspondance est indiquée si le document indexé contient les termes de la requête ou des variations linguistiques des termes de la requête. Les variantes du mot dépendent de la langue de la requête.

Traitement linguistique pour les documents en chinois, japonais et coréen

L'obtention de résultats pertinents avec un moteur de recherche dépend largement des techniques appliquées au traitement du texte. Une fois le texte extrait du document, la première étape de son traitement consiste à identifier de manière individuelle les mots contenus dans le texte. L'identification des mots individuels dans le texte est appelée segmentation. Pour plusieurs langues, les limites des mots peuvent être identifiées grâce aux espaces (blancs, fins de ligne et certains signes de ponctuation). En revanche, le chinois, le japonais et le coréen n'utilisent pas d'espace entre les caractères pour séparer les mots, aussi d'autres techniques sont nécessaires pour ces langues.

Db2 Text Search propose deux options de traitement pour le chinois, le japonais et le coréen : une option de segmentation morphologique, également appelée segmentation des mots basée sur le dictionnaire, et une option de segmentation en n-grammes (paramètre par défaut).

La segmentation morphologique utilise un dictionnaire spécifique de la langue pour identifier les mots dans la séquence de caractères du document. Cette technique fournit des résultats de recherche précis car les dictionnaires sont utilisés pour identifier les limites de mot.

La segmentation en N-grammes évite le problème de l'identification des frontières entre les mots et indexe plutôt les paires de caractères qui se chevauchent. Comme deux caractères sont utilisés, cette technique est également appelée segmentation bi-grammes. La segmentation en N-grammes renvoie toujours tous les documents correspondants qui contiennent les termes de la recherche. Toutefois, cette technique peut renvoyer des documents qui ne correspondent pas à la requête.

Exemple

Pour illustrer le fonctionnement de ces deux types de traitement linguistique, examinez le texte suivant dans un document : election for governor of Kanagawa prefecture. En japonais, ce texte contient huit caractères. Dans cet exemple, les huit caractères sont représentés par A B C D E F G H. Un exemple de requête que les utilisateurs pourraient saisir pourrait être l'élection du gouverneur, qui comporte quatre caractères et est représentée par E F G H. (Le texte du document et l'exemple de requête ont des caractères similaires)

  • Après l'indexation du document par segmentation morphologique, le moteur de recherche segmente le texte élection du gouverneur de la préfecture de Kanagawa dans les jeux de caractères suivants : ABC DEF GH.

    L'exemple de requête élection du gouverneur est segmenté dans les jeux de caractères suivants EF GH. Les caractères EF n'apparaissent pas dans les jetons du texte du document. Même si le document ne contient pas EF, il contient DEF.

    Étant donné que le texte du document contient DEF, mais que la requête ne contient que EF, le document a moins de chances d'être trouvé à l'aide de l'exemple de requête.

    Lorsque vous activez la segmentation morphologique, vous obtiendrez probablement des résultats plus précis, mais peut-être moins.

  • Après l'indexation du document à l'aide de la segmentation n-gram, le moteur de recherche segmente le texte élection du gouverneur de la préfecture de Kanagawa dans les jeux de caractères suivants : AB BC CD DE EF FG GH.

    L'exemple de requête élection du gouverneur est segmenté dans les jeux de caractères suivants : DE EF FG GH. Si vous effectuez une recherche avec l'exemple de requête election for governor, le document sera trouvé par la requête parce que les jetons du texte du document et de la requête apparaissent dans le même ordre.

    Lorsque vous activez la segmentation en n-grammes, vous obtiendrez probablement plus de résultats, mais peut-être des résultats moins précis. Par exemple, en japonais, si vous effectuez une recherche avec la requête Kyoto et qu'un document de votre index contient le texte City of Tokyo, la requête Kyoto renverra le document contenant le texte City of Tokyo. car City of Tokyo et Kyoto ont en commun deux caractères japonais identiques.