NER non supervisé avec BERT (avec code)

Auteur : Ajit Rajasekharan

Traduit par : Chen Zhiyan

Relecture : Wang Yutong

Cet article est à propos de 8700 mots, Lecture recommandée 10 minutes et plus.

Cet article présente une méthode de reconnaissance d'entités nommées (NER) non supervisée.

Figure 1. Exemples de phrases montrant le marquage NER non supervisé d'un BERT non ajusté (bert-large-cased).

L'image ci-dessus ne sélectionne que quelques types d'entités étiquetés avec cette approche (BERT). L'étiquetage de 500 phrases donne environ 1000 types d'entités uniques, dont certains correspondent à des étiquettes synthétiques, comme indiqué ci-dessus.

Le modèle BERT ne peut pas faire la distinction entre GENE et PROTEIN car les descripteurs de ces entités se situent dans la même région de queue que la distribution prédite des termes masqués (ils ne peuvent donc pas être distingués des mots du vocabulaire de base). La distinction de ces entités étroitement liées peut nécessiter un ajustement MLM sur un corpus spécifique à un domaine, ou une pré-formation avec un vocabulaire personnalisé dans scratch (expliqué plus loin).

TL;DR

Dans le traitement du langage naturel, afin d'identifier les entités d'intérêt (NER) dans les phrases, telles que les personnes, les lieux, les organisations, etc., nous devons tokeniser les phrases. où nous pouvons étiqueter chaque phrase manuellement, ou par une méthode automatique (généralement en utilisant une heuristique pour créer un ensemble de données bruyant/faiblement étiqueté). Ces phrases étiquetées sont ensuite utilisées pour former un modèle de reconnaissance d'entités, qui peut être considéré comme une tâche d'apprentissage supervisé.

Cet article décrit une méthode de NER non supervisée. Le NER est effectué sans supervision sans phrases étiquetées à l'aide du modèle BERT, et le modèle BERT n'est non supervisé que sur un corpus qui masque la cible du modèle de mot.

Le modèle a obtenu un score F1 de 97 % sur un petit ensemble de données de 25 types d'entités (corpus Wikitext) et un score F1 de 86 % sur le corpus CoNLL-2003 pour les personnes et les lieux. Pour la personne, le lieu et l'organisation du corpus CoNLL-2003, le score F1 est faible à seulement 76 %, principalement en raison de l'ambiguïté des entités dans les phrases (expliquée dans la section d'évaluation ci-dessous). Les deux tests ont été effectués sans aucun pré-entraînement/ajustement du modèle sur les données testées (contrairement au pré-entraînement/ajustement du modèle sur des données spécifiques à un domaine ou à l'aide de données étiquetées dans un entraînement supervisé).

Comment ça marche?

Si nous devions demander quel était le type d'entité d'un terme (terme faisant référence à des mots et des phrases dans un article), même si nous n'avions jamais vu le terme auparavant, nous pourrions à peu près deviner la prononciation ou la structure de la phrase du terme. est:

  • La structure des sous-mots d'un terme fournit des indices sur son type d'entité. Nonenbury est _____.

C'est un nom de ville apocryphe, mais le suffixe "bury" suggère qu'il pourrait s'agir d'un lieu. Même sans aucun contexte à ce stade, le suffixe du terme donne un indice du type d'entité.

  • La structure de la phrase fournit des indices sur le type d'entité d'un terme. Il a volé de _____ à Chester.

Le contexte de la phrase ici donne un indice du type d'entité, et le terme inconnu est un lieu. Même si vous ne l'avez jamais vu auparavant, vous pouvez deviner qu'un espace vide dans une phrase est un lieu (ex : Nonenbury).

Le frontal MLM de BERT (Masked Language Model head) (MLM - Figure 7) peut faire des prédictions sur les candidats masqués ci-dessus, comme mentionné précédemment : son objectif de formation est d'apprendre en prédisant des mots vides dans des phrases. Cette sortie apprise est ensuite utilisée lors de l'inférence pour faire des prédictions sur des termes masqués basés sur des distributions de probabilité sur le vocabulaire fixe de BERT. Cette distribution de sortie a une queue significativement courte (environ moins de 0,1 % du total) qui inclut des candidats pour le terme type d'entité contextuelle, et cette courte queue est l'identité du terme contextuel représenté par le vocabulaire BERT. Par exemple, les marqueurs contextuels pour les positions masquées dans une phrase sont les suivants :

Nonenbury est _____.

Prédictions de sensibilité au contexte : village (Village), ville (hameau, Hameau), village paroissial, ferme, ville (Town, town).

Le vocabulaire fixe BERT (28996 mots pour bert-large-cased) est un ensemble de descripteurs communs (ex : noms propres, noms communs, pronoms, etc.). Un sous-ensemble (éventuellement superposé) de cet ensemble de descripteurs est obtenu par le processus de regroupement suivant, caractérisé par un type d'entité indépendant des termes de contexte de phrase. Ces sous-ensembles sont des identificateurs de termes indépendants du contexte. Le processus d'obtention de types d'entités proches des identifiants contextuels dans le vocabulaire de BERT est le suivant :

Implémenter la fonction de correspondance la plus proche (basée sur la similarité cosinus des intégrations de mots) dans l'espace d'intégration du vocabulaire BERT, la fonction de correspondance entre les jetons/clusters contextuels et les jetons/clusters indépendants du contexte produit un jeton représentant l'étiquette NER du terme Un sous-ensemble d'identificateurs indépendants du contexte.

Plus précisément, m ensembles de termes {B1, B2, C3, . , ... {Cn1, Cn, Cn, ... Ckn} constituent des identifiants indépendants du contexte, et génèrent un sous-ensemble d'identifiants indépendants du contexte avec des balises NER (voir Figure 2 ci-dessous).

Figure 2. Marquage NER des phrases

  • Après un prétraitement minimal, les phrases avec des mots masqués sont introduites dans le modèle.
  • Obtenez les 10 premiers termes prédits des 28996 mots du vocabulaire BERT.
  • Les 10 termes sont réorganisés par une fonction dans l'espace d'intégration de mots de BERT.
  • Les k premiers termes après réorganisation et 6000 clusters (calcul hors ligne) sont entrés dans une fonction de correspondance de cluster qui génère des clusters correspondants.
  • Les libellés de ces clusters (qui peuvent être des libellés manuels uniques ou utilisés dans certains cas d'utilisation) sont ensuite agrégés pour générer des libellés NER. Les fonctions qui exécutent 3, 4 et 5 dans la figure utilisent toutes la similarité cosinus entre les vecteurs de mots dans l'espace d'intégration BERT, et la génération d'environ 6000 clusters hors ligne en même temps se fait également en calculant la similarité cosinus de l'espace d'intégration de mots BERT. . La taille impliquée par le modèle de base BERT dans la figure est de 768. L'exemple de grande casse BERT dans le texte a une taille implicite de 1024.

    Compte tenu du nombre de jetons indépendants du contexte, des milliers de jetons (6000 pour bert-large-case) peuvent être automatiquement obtenus à partir du vocabulaire de BERT. Avec cette approche, l'identification non supervisée d'un grand nombre de types d'entités à un niveau fin peut être réalisée sans étiqueter les données.

    Les méthodes NER non supervisées ci-dessus sont largement utilisées :

    • Avec d'autres mots dans le vocabulaire BERT, les intégrations de mots originales de BERT peuvent capturer des informations utiles et séparables de BERT (distinguées par moins de 0,1 % des queues d'histogramme de taille de vocabulaire), avec lesquelles plus de 6000 clusters peuvent être générés.
    • La sortie du modèle BERT avec la tête MLM est transformée et utilisée pour faire des prédictions sur des mots masqués. Ces prédictions ont également une queue distincte qui peut être utilisée pour sélectionner des étiquettes contextuelles pour les termes.

    Étapes pour effectuer un NER non supervisé

    1. Traitement hors ligne unique

    Un processus hors ligne unique crée une carte pour l'ensemble d'identités indépendant du contexte obtenu à partir du vocabulaire de BERT, en les mappant à un seul descripteur/étiquette.

    Étape 1 : filtrer les termes d'identification contextuels du vocabulaire du BERT

    Le vocabulaire BERT est un mélange de noms communs, de noms propres, de sous-mots et de symboles, et le filtrage minimal de cet ensemble consiste à supprimer la ponctuation, les caractères uniques et les jetons spéciaux de BERT. À son tour, un ensemble de 21418 termes - un mélange de noms communs et de noms propres - a été généré en tant que descripteurs décrivant les types d'entités.

    Étape 2 : générer des jetons indépendants du contexte à partir du vocabulaire de BERT

    Si vous créez simplement une identité indépendante du contexte pour chaque terme du vocabulaire BERT à partir de sa queue, même si vous choisissez un seuil de similarité cosinus élevé (pour le modèle bert-large, environ 1 % des termes se situent dans le seuil cosinus moyen plus de 0,5 queue), obtiennent également un assez grand nombre de clusters (environ 20000). Même avec un si grand nombre de clusters, la similitude entre ces identités ne peut pas être capturée. Nous voulons donc :

    • Itère sur tous les termes du vocabulaire BERT (les sous-mots et la plupart des caractères simples seront ignorés) et sélectionne des identités indépendantes du contexte avec un seuil de cosinus supérieur à 0,5 pour chaque terme. Traiter les termes à la fin du mot comme un graphique complet, où les valeurs d'arête sont des valeurs de similarité cosinus ;
    • Sélectionnez le nud avec la plus grande force de connexion à tous les autres nuds du graphique ;
    • Considérez le nud comme le pivot de l'identité indépendante du contexte des nuds qui sont les voisins les plus proches de tous les autres nuds de ce graphe.

    Figure 3. Recherche du nud pivot dans le graphe complet

    Dans le graphique complet ci-dessus, le nud "en douceur" a la plus grande force de connexion moyenne avec ses voisins. Donc "en douceur" est le nud pivot de ce graphe - le voisin le plus proche de tous les autres nuds de ce graphe.

    • Une fois qu'un terme est sélectionné dans le cadre de l'identité, il ne sera pas un pivot d'évaluation candidat (cependant, il peut devenir un pivot indirect si le nud pivot d'un autre terme est calculé). Essentiellement, un terme peut être un élément de plusieurs ensembles, pivotant ou pivotant indirectement.
    aéroport 0,60,1 aéroport aéroport aéroports terrain d'aviation aérodromecaresser 0,590,07 caresser caresser frotter frotter caresser

    Dans l'exemple de logo ci-dessus, les deux valeurs sont la moyenne et l'écart type des arêtes du sous-graphe, et la première colonne de termes est appelée terme pivot du logo. Ces termes agissent comme des proxys d'étiquette d'entité et peuvent être mappés manuellement (opération unique) dans des étiquettes définies par l'utilisateur.

    Les figures 4a et 4b montrent des exemples de mappage de ces groupes d'entités, en mappant simplement les ensembles qui représentent des types d'entités pertinents pour notre application particulière. Le reste de la collection peut être automatiquement mappé sur l'étiquette synthétique "other/misc". La section de référence de la figure décrit une méthode pour le mapper manuellement à des étiquettes définies par l'utilisateur en utilisant le modèle lui-même pour amorcer/accélérer les descripteurs.

    Étant donné qu'environ 30 % du vocabulaire BERT est composé de noms propres (noms de personnes, lieux, etc.), nous n'étiquetons également qu'un petit ensemble de termes (comme le montrent les figures 4 et 4b : il faut environ 5 heures de travail pour étiqueter manuellement 2 000 ou alors clusters ) sans tokeniser un grand nombre de phrases, ce qui ressemble un peu à de la triche. Le principal avantage de convertir le problème de la tokenisation des phrases en tokenisation des descripteurs contextuels est qu'il s'agit d'un processus unique.

    Par rapport aux méthodes de formation supervisées, cela crée inévitablement plus de données étiquetées, non seulement pour former le modèle, mais aussi pour recycler les phrases générées une fois la formation terminée (généralement en déploiement). Dans ce cas, cependant, le pire scénario est que le modèle BERT doit être recyclé/affiné pour une formation non supervisée sur ces nouvelles phrases - sans avoir besoin de faire plus de marquage.

    L'identification insensible au contexte ci-dessus générera environ 6000 ensembles avec une cardinalité moyenne d'environ 4/7 nuds. Ces 6000 ensembles ont une moyenne de force de cluster de 0,59 et un biais de 0,007 - ces clusters sont des clusters assez serrés, avec une moyenne de cluster bien supérieure au seuil obtenu à partir de la distribution (Fig. 4c). Il y a environ 5000 termes (17% du vocabulaire) qui sont des collections singleton et seront ignorés. Si vous modifiez le seuil, ces chiffres changeront également. Par exemple, si le seuil est choisi à 0,4, la masse totale de la queue augmentera à 0,2 % et la moyenne du cluster augmentera en conséquence (mais si les types d'entités sont mélangés, les clusters commencent à devenir bruyants).

    Figure 4. Ensemble de données d'identité indépendant du contexte BERT (bert-large-cased)

    La base moyenne est d'environ 4 et l'écart-type est de 7. La moyenne de la force des grappes pour ces 6110 ensembles de données est de 0,59 et le biais est de 0,007 - puisque la moyenne est bien au-dessus du seuil choisi à partir de la distribution, ces grappes sont des grappes très serrées. On peut voir que les termes sensibles au contexte ont tendance à être des clusters relativement faibles, avec environ 17% des mots BERT étant des ensembles singleton. Les sous-mots, les jetons spéciaux et la plupart des jetons à un seul caractère ne seront pas considérés comme des clusters.

    Figure 4a. Distribution des entités pour les clusters de vocabulaire BERT (bert-large-case)

    La plupart des entités sont des personnes, des lieux et des organisations (ORG). AMB fait référence à des clusters avec une terminologie ambiguë dans les clusters, par exemple, comme le montre la figure 4b ci-dessous, il y a 7 clusters avec une ambiguïté entre les personnes et les lieux, et d'autres clusters avec une ambiguïté dans les personnes, les choses, les sports/biographies, etc. L'utilisation d'un vocabulaire personnalisé est nécessaire lorsque vous essayez de découvrir quels types d'entités se trouvent dans un domaine spécifique. Ces types personnalisés peuvent désambiguïser Personne (PERSON), Emplacement (LOCATION) et Organisation (ORG).

    Figure 4b. Répartition des sous-classes d'entités pour le vocabulaire BERT (bert-large-case)

    Ce sont des sous-types d'entités à grain fin des types principaux de la figure 4a.

    Exemple de clusters indépendants du contexte tiré du vocabulaire BERT :

    Figure 4c. Exemples de clusters obtenus à partir du vocabulaire de BERT (bert-large-cased)

    Les clusters contextuels sont des clusters flous, étiquetés AMB. Considérez également le regroupement de sous-mots lors du regroupement de sous-mots (bien que les résultats de reconnaissance d'entité dans cet article aient filtré les résultats similaires).

    2. Prédire les entités pour chaque phrase d'entrée

    Effectuez les étapes ci-dessous pour baliser les phrases saisies avec des termes.

    Étape 3 : Minimiser le prétraitement des phrases d'entrée

    Avant d'étiqueter les entités pour une phrase d'entrée, une petite quantité de prétraitement est nécessaire sur l'entrée. L'un d'eux est la normalisation de la casse - toutes les phrases en majuscules (généralement les titres de documents) sont converties en minuscules et la première lettre de chaque mot reste dans son état d'origine. Cela permet d'améliorer la précision de la détection des durées de phrase à l'étape suivante.

    Il a volé de New York à SFO

    Changer en:

    Il a volé de New York à Sfo

    Étape 4 : Identifiez les étendues de phrases dans les phrases

    Marquez la phrase d'entrée avec une balise POS (idéalement, la formation traitera également toutes les phrases de mots en minuscules), ces balises sont utilisées pour identifier les phrases et capitaliser les noms.

    Il a volé de New York à Sfo

    Les termes marqués comme des noms ci-dessus sont indiqués en gras. La prédiction de mots masqués de BERT est très sensible aux majuscules, de sorte qu'une balise POS est utilisée pour baliser de manière fiable les noms, même si seules les minuscules sont la clé des performances de balisage. Par exemple, pour prédire le mot masqué de la phrase suivante, la signification de l'entité peut être modifiée en changeant la casse d'une lettre dans la phrase.

    Elon Musk est un ____CS Prédictions : politicien musicien écrivain fils étudiant homme d'affaires biologiste avocat peintre membre

    Prédiction CS : Homme politique, musicien, écrivain, fils, étudiant, homme d'affaires, biologiste, avocat, peintre, membre.

    Elon musc est un ____ (Note : musc signifie musc) CS Prédictions : marque Bière japonaise Allemand commun Turc populaire Français Russe Brésilien

    Prédiction CS : Marque, Japonaise, Bière, Allemande, Générique, Turque, Pop, Française, Russe, Brésilienne.

    De plus, la prédiction de mots masqués de BERT ne peut détecter de manière fiable que les types d'entités (les personnes dans le premier exemple ci-dessus) et ne peut pas faire de prédictions précises sur des faits, bien que BERT puisse parfois faire des prédictions précises sur des faits.

    Étape 5 : Utilisez la tête MLM de BERT pour prédire la position de chaque mot masqué

    Pour chaque terme nominal de la phrase, générez une phrase avec un masque pour ce terme. Tirez parti de la tête MLM de BERT pour prédire les marqueurs contextuels pour les emplacements de mots masqués.

    Il a volé de __ à SfoCS Prédictions : Rome là Athènes Paris Londres Italie Le Caire ici Naples Egypte

    Prédiction CS : Rome, Athènes, Paris, Londres, Italie, Le Caire, Naples, Egypte

    Il a volé de New York à ___CS Prédictions : Londres Paris Singapour Moscou Japon Tokyo Chicago Boston France Houston

    Prédiction CS : Londres, Paris, Singapour, Moscou, Japon, Tokyo, Chicago, Boston, France, Houston

    Trouvez la force entre chaque nud de l'ensemble et les autres nuds de la même manière que vous l'avez fait pour le nud pivot de la figure 2. Triez ensuite par taille de force pour obtenir une liste réorganisée des prédictions CS dans l'espace d'intégration de mots. Après la réorganisation, les termes ayant des significations d'entité similaires sont regroupés, en plus de la nécessité de réorganiser les mots indépendants du contexte dans l'espace d'intégration.

    Par exemple, dans le premier exemple ci-dessous, après réorganisation, les termes "là" et "ici" (prédictions contextuelles efficaces pour les espaces vides) sont poussés à la fin. Dans l'étape suivante, les k premiers nuds (k 1) de ces nuds réordonnés seront sélectionnés.

    Il a volé de __ à SfoCS Prédictions : Rome là Athènes Paris Londres Italie Le Caire ici Naples Egypte

    Prédiction CS : Rome, Athènes, Paris, Londres, Italie, Le Caire, Naples, ici, Egypte

    Ordre spatial CI des prédictions CS : Rome Paris Athènes Naples Italie Le Caire Égypte Londres ici ici

    Ordre spatial CI pour la prédiction CS : Rome, Paris, Athènes, Naples, Italie, Le Caire, Egypte, Londres, là-bas, ici

    Il a volé de New York à __CS Prédictions : Londres Paris Singapour Moscou Japon Tokyo Chicago Boston France Houston

    Prédiction CS : Londres, Paris, Singapour, Moscou, Japon, Tokyo, Chicago, Boston, France, Houston

    Classement spatial CI des prédictions CS : Paris Londres Tokyo Chicago Moscou Japon Boston France Houston Singapour

    Ordre spatial CI pour la prédiction CS : Paris, Londres, Tokyo, Chicago, Moscou, Japon, Boston, France, Houston, Singapour

    Étape 6 : Trouver une correspondance étroite entre les marqueurs contextuels et indépendants du contexte

    Des résultats raisonnables peuvent être générés à l'aide d'une simple fonction de correspondance étroite qui sélectionne un nud pivot pour un identifiant contextuel du terme précédent, en fait un produit scalaire avec tous les 6000 pivots dans l'ensemble d'identifiants indépendants du contexte, puis les trie pour obtenir des jetons d'entité candidats. Essentiellement, la fonction de correspondance étroite est la clé pour trouver le pivot de cluster insensible au contexte le plus proche du pivot de cluster sensible au contexte. Pour améliorer la confiance des étiquettes/prédictions (Fig. 5), nous choisissons les k pivots du haut au lieu de celui du haut.

    Figure 5. Correspondances étroites entre les jetons contextuels et indépendants du contexte dans l'espace d'incorporation de mots

    Le moyen le plus efficace et le plus simple d'obtenir une correspondance étroite est le produit scalaire entre le nud pivot de l'étiquette contextuelle et le pivot de l'ensemble dans l'étiquette indépendante du contexte. À ce stade, la fonction de correspondance étroite trouve essentiellement le pivot de cluster insensible au contexte le plus proche du pivot de cluster sensible au contexte.

    Une autre meilleure implémentation est : en fonction de la moyenne et de l'écart type des nuds dans l'identification contextuelle, décidez de sélectionner le nud pivot, puis sélectionnez le nombre de pivots à prendre en compte dans le graphe bipartite pour trouver le nombre de pivots. Le cluster pivot contextuel est le plus proche du cluster pivot contextuel.

    La situation illustrée à la figure b est : lorsque le nombre de mots contextuels est de 3 et qu'il n'y a qu'un seul nud de terme indépendant du contexte (afin de rompre la relation entre les deux, il peut être relativement préférable de choisir un nombre impair ici ; de même, il n'est pas nécessaire de sélectionner trois nuds dans l'ensemble contextuel, car ce sont des clusters serrés, comme mentionné précédemment, avec un écart moyen de 0,007).

    Il est peu probable que l'utilisation de nuds dans tous les identificateurs contextuels dans les calculs donne de bons résultats, car l'écart type moyen des nuds contextuels est beaucoup plus élevé. Étant donné que les identités contextuelles sont évaluées dans l'espace d'intégration, elles s'adaptent à une zone plus grande, même lors de la capture d'un seul type d'entité.

    La prédiction de jeton pour le pivot supérieur dans le jeton contextuel est illustrée ci-dessous. Les balises et les étiquettes d'utilisateur sont les suivantes :

    Il a volé de __ à l'espace SfoCI ordre des prédictions CS : Rome Paris Athènes Naples Italie Le Caire Égypte Londres ici ici

    Ordre spatial CI pour la prédiction CS : Rome, Paris, Athènes, Naples, Italie, Le Caire, Egypte, Londres, ici, là-bas

    Tags: Italie Venise Athènes Bologne Madrid Carthage Rome Sicile Turin Vatican

    marque: Italie, Venise, Athènes, Bologne, Madrid, Carthage, Rome, Sicile, Turin, Vatican

    Libellé de l'utilisateur - emplacement emplacement emplacement emplacement emplacement emplacement emplacement emplacement

    Onglet utilisateur - Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement

    Il s'est envolé de New York vers l'espace __CI Ordre des prédictions CS : Paris Londres Tokyo Chicago Moscou Japon Boston France Houston Singapour

    Ordre spatial CI pour la prédiction CS : Paris, Londres, Tokyo, Chicago, Moscou, Japon, Boston, France, Houston, Singapour

    Mots clés : Londres Madrid Genève Vienne Bordeaux Chicago Metz Athènes Cologne Istanbul

    marque: Londres, Madrid, Genève, Vienne, Bordeaux, Chicago, Metz, Athènes, Cologne, Istanbul

    Libellé de l'utilisateur - emplacement emplacement emplacement emplacement emplacement emplacement emplacement emplacement

    Onglet utilisateur - Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement Emplacement

    Résultats de l'évaluation

    Le modèle a été évalué sur deux jeux de données :

    • Ensemble de données standard CoNLL-2003 avec trois types d'entités (personne, lieu, organisation) ;
    • Jeu de données de texte Wiki avec environ 25 types d'entités.

    Dans l'ensemble CoNLL-2003, le score F1 moyen pour les trois types de données (PER-81,5 % ; LOC-73 % ; ORG - 66 % ; MISC-83,87 %) n'était que de 76 %. Cela est dû à deux raisons :

    • Une grande partie de la structure du texte CoNLL dans les données de test n'est pas constituée de phrases complètes, mais de rapports concis des scores de cricket, qui n'ont pas de structure de phrase régulière. Étant donné que le modèle n'est pas pré-formé ou affiné sur les phrases, il est difficile de prédire les mots masqués dans les phrases de ces distributions. En fait, cette situation peut être améliorée en préformant ou en affinant le modèle sur de nouvelles structures de phrases.
    • Les données de test ont signalé de nombreuses équipes d'une région spécifique comme une seule place. Le modèle les étiquette toujours comme un emplacement, pas comme un nom d'équipe (org). Ce problème ne peut pas être facilement résolu en utilisant cette méthode NER non supervisée. Il sélectionne toujours le descripteur d'entité qui correspond le mieux à la position masquée pour étiqueter les termes, plutôt que les termes étiquetés manuellement. Bien que ce soit un inconvénient dans un sens, c'est aussi un avantage clé du modèle - les descripteurs qu'il utilise pour étiqueter les emplacements masqués sont naturellement dérivés du corpus sur lequel il a été formé, et non d'humains étiquetés de l'extérieur. Mapper ces descripteurs sur des étiquettes définies par l'utilisateur peut être une solution, mais ce n'est peut-être pas une solution parfaite (comme dans le cas ci-dessus où les descripteurs d'emplacement sont traités comme des étiquettes ambiguës pour l'organisation et l'emplacement).

    Figure 5a. Résultats CoNLL-2003

    L'évaluation du modèle est basée sur une petite quantité de données de test, mais avec l'ensemble complet de phrases naturelles et environ 25 types d'étiquettes, le score F1 moyen est d'environ 97 %.

    Figure 5b. Résultats des données Wiki pour 25 types d'entités

    Figure 5c. Répartition des entités du jeu de données Wiki

    Sur cet ensemble de données, le score F1 moyen est de 97 %. La principale différence dans cette approche est que non seulement le modèle n'est pas formé sur des données étiquetées, mais le modèle n'est même pas pré-formé (le modèle est testé)

    Limites et défis de la méthode

    1. Biais Corpus

    Bien que les prédictions à entité unique démontrent la capacité des modèles à interpréter les types d'entités avec des informations de sous-mots, en pratique, elles ne peuvent être utilisées qu'avec des phrases avec plusieurs types d'entités. Les phrases à entité unique sans beaucoup de contexte sont très sensibles au biais de corpus, comme prévu pour Google et Facebook :

    Facebook est un __CS Prédictions : blague monstre tueur ami histoire personne échec de l'entreprise défaut du site Web

    Prédiction CS : blague, monstre, tueur, ami, récit, personnage, compagnie, échec, site internet, pépin

    Microsoft est un __CS Predictions : entreprise site Web concurrent personnes ami joueur Gagnant gagnant personne marque

    Prédiction CS : entreprise, site Internet, concurrent, ami, joueur, gagnant, personne, marque

    Google est un __CS Predictions : ami site Web entreprise monstre tueur personne homme histoire chien gagnant

    Prédiction CS : ami, site internet, monstre, compagnie, tueur, personnage, homme, récit, chien, gagnant

    2. L'ambiguïté de la prédiction d'entité

    Cette approche crée deux ambiguïtés :

    • Des ambiguïtés existent dans les types d'entité caractérisés par des descripteurs insensibles au contexte (exemple de la Fig. 4c). Un cluster contenant "banques, banque, Banques, banque" peut représenter une organisation ou un emplacement. Cependant, cette ambiguïté peut souvent être résolue, lorsque des identités sensibles au contexte sont étroitement associées à des identités insensibles au contexte par vote majoritaire des types d'entités, même certaines identités insensibles au contexte correspondantes sont ambiguës.
    • La deuxième ambiguïté décrite ci-dessous est difficile à résoudre.

    Il existe des phrases qui permettent de remplir un terme masqué avec différents types d'entités. Par exemple, lors de la prédiction du type d'entité New York dans la phrase suivante :

    Il a estimé que New York avait une chance de gagner le concours de cette année

    La prédiction d'entité du mot masqué peut être un mot qui suggère un caractère, et la phrase est également lisse, comme suit :

    Il a estimé qu'__il____ avait une chance de gagner le concours de cette année

    L'ambiguïté est causée par des mots masqués, et la plupart des cas peuvent être résolus en déterminant le type d'entité du terme masqué lui-même - New York.

    New York est un _____CS Prédictions : ville ville place Ville capitale réalité carré pays star de rêve

    Prédiction CS : ville, ville, ville, capitale, réalité, carré, village, rêve, étoile

    Cependant, dans certains cas, même les termes masqués sont ambigus, ce qui rend difficile la détermination de l'entité. Par exemple, si la phrase originale est :

    Il a estimé que les Dolphins avaient une chance de gagner la compétition de cette année.

    Les dauphins peuvent être un groupe musical ou une équipe sportive.

    Ces défis peuvent être améliorés de plusieurs façons :

    • Le réglage fin du modèle sur un corpus de termes propriétaires peut aider à réduire l'ambiguïté dans les types d'entités spécifiques à un domaine. Par exemple, BRA F (qui est un gène) dans la préformation BERT n'a aucune signification génétique dans ses caractéristiques, ce qui est présent dans un modèle affiné sur un corpus biomédical.
    BRAF est une prédiction _____CS : la nouvelle norme allemande britannique la version du nom de la variante World world

    Prédiction CS : Anglais, allemand, nouvelle norme, nom de variante, édition, monde

    Après mise au point sur un modèle de corpus biomédical :

    BRAF est une prédiction _____CS : protéine gène kinase réaction structurelle non familiale molécule réceptrice fonctionnelle

    Prédiction CS : gène de la protéine, structure de la kinase, réponse non familiale, fonction, récepteur, molécule

    • La pré-formation du modèle commence par un vocabulaire défini par l'utilisateur (lien : https://towardsdatascience.com/pre-training-bert-from-scratch-with-cloud-tpu-6e2f71028379), qui peut aider à résoudre les entités Le problème de ambiguïté, et plus important encore : cela peut également améliorer les performances de balisage des entités.

    Bien que le vocabulaire par défaut du BERT soit très riche, avec des mots complets et des sous-mots pour détecter des types d'entités tels que des personnes, des lieux, des organisations, etc. (Fig. 4a et b), il ne parvient pas à capturer tout ou partie des termes du domaine biomédical. Par exemple, les étiquettes de médicaments tels que l'imatinib, le nilotinib, le dasatinib, etc. ne tiennent pas compte du sous-mot commun "tinib". L'imatinib est étiqueté comme i##mat##ini#b et le dasatinib est étiqueté comme das##at i##ni##b. Si vous utilisez les modèles de phrases du corpus biomédical pour créer un vocabulaire personnalisé, vous obtiendrez im##a##tinib et d ##as ##a ##tinib, puis le suffixe couramment utilisé.

    De plus, le vocabulaire personnalisé contient des mots complets du domaine biomédical, qui peuvent mieux saisir les caractéristiques du domaine biomédical, telles que congénitale, cancer, cancérogène, cardiologue et autre vocabulaire spécialisé dans le domaine médical, qui sont pré-formés dans le BERT par défaut n'existe pas dans le modèle. La capture des personnes et des lieux dans le vocabulaire BERT par défaut sera remplacée par la capture des noms propres et des sous-mots comme les médicaments et les maladies dans les corpus biomédicaux.

    De plus, le vocabulaire personnalisé extrait du corpus biomédical contient environ 45 % de nouveaux mots entiers, dont seulement 25 % des mots entiers chevauchent le modèle pré-entraîné BERT accessible au public. Lors du réglage fin du modèle BERT pour ajouter 100 vocabulaires personnalisés, il existe une option pour cela, mais il n'y en a pas beaucoup, et comme mentionné précédemment, le vocabulaire BERT par défaut sera généré pour les types d'entités tels que les personnes, les lieux, les organisations, etc. Ambiguïté sévère, comme le montre la figure 4a.

    Jeton : imatinib dasatinibBERT (par défaut) : i ##mat ##ni ##b das ##ati ##nibCustom : im ##a ##tinib d ##as ##a ##tinib

    Quelques réflexions après l'article

    NER est la tâche de mappage d'une phrase d'entrée à un ensemble d'étiquettes correspondant aux termes de la phrase. Les approches traditionnelles effectuent cette cartographie en formant/affinant le modèle, en utilisant une tâche supervisée sur des données étiquetées. Contrairement aux modèles pré-entraînés comme BERT, ce modèle effectue un apprentissage non supervisé sur un corpus.

    Cet article décrit une méthode pour effectuer un NER non supervisé sur des cibles linguistiques masquées sans modifier le modèle BERT pré-entraîné/affiné. Ceci est réalisé en opérant de bout en bout sur la représentation distribuée apprise (vecteur), et l'étape finale du traitement vectoriel utilise des algorithmes traditionnels (clustering et voisins les plus proches) pour déterminer les étiquettes NER. De plus, contrairement à la plupart des cas où les vecteurs de niveau supérieur sont utilisés pour des tâches en aval, la sortie de BERT pour les phrases masquées n'est utilisée que comme information de symbole de départ, et l'incorporation de mots est implémentée à sa propre couche la plus basse pour obtenir l'étiquette NER de la phrase.

    Figure 6. Comparaison du NER supervisé traditionnel (panneau de gauche) et du NER non supervisé décrit dans cet article (panneau de droite).

    Le NER supervisé traditionnel est une tâche de cartographie d'étiquettes supervisée, qui est effectuée en entraînant/affinant le modèle (panneau de gauche). Au contraire, le NER non supervisé utilise un modèle de pré-formation/réglage fin pour former la cible du modèle de mot masqué non supervisé, et utilise la sortie du modèle comme information de départ pour effectuer des opérations algorithmiques sur la couche inférieure du modèle BERT - incorporation de mots , afin d'obtenir la balise NER de la phrase.

    En bref, toutes les informations nécessaires pour effectuer le NER sont une tâche d'apprentissage supervisé au sens traditionnel.Il existe également dans le modèle BERT non supervisé, et la partie clé de la couche inférieure est le mot incorporation.

    Travaux/Références associés

    Cet article publié en 2018 (https://homes.cs.washington.edu/~eunsol/open_entity.html) utilise la supervision à distance pour la reconnaissance des entités. Les étiquettes à grain fin sont externalisées pour les modèles de formation.

    Cet article (https://www.aclweb.org/anthology/N19-1084.pdf) s'appuie sur un modèle de classification supervisé multi-étiquettes pour le typage d'entités à grain fin pour plus de 10000 types d'entités.

    La reconnaissance d'entités nommées a été un problème largement étudié, avec environ 400 articles connexes sur arXiv à ce jour et environ 62000 résultats de recherche sur Google Scholar depuis 2016.

    Vérifiez l'intégration d'origine de BERT :

    https://towardsdatascience.com/examining-berts-raw-embeddings-fd905cb22df7

    Instructions supplémentaires

    1. Tête de Berts MLM - une brève revue

    La tête BERT MLM est essentiellement une couche de conversion unique au-dessus de BERT. La figure ci-dessous montre une phrase avec 9 jetons produits par BERT (après tokenisation), qui est une matrice 9x768 (la dimension du modèle de base BERT est 768). Il est ensuite transmis à la couche dense de la tête MLM pour effectuer un produit scalaire sur tous les 28996 vecteurs de mots sur la sortie 9x768 afin de déterminer quelle position dans la phrase la sortie vectorielle présente la plus grande similitude avec les vecteurs de 28996 mots. Pour le mot masqué à cette position, générez une étiquette prédite. En mode apprentissage/réglage fin, les erreurs de prédiction des mots masqués sont rétropropagées dans le modèle, jusqu'aux mots intégrés (poids du décodeur et poids de la couche d'intégration liés/équivalents). En mode inférence, le texte tokenisé est représenté par des incorporations et des journaux de sortie au-dessus de l'en-tête.

    Figure 7. Tête MLM de BERT - montre une entrée de logo à 9 caractères traversant le modèle et sa tête MLM

    Le décodeur utilise le même vecteur de la couche d'intégration (les poids sont liés dans le code - mais résident séparément dans le fichier pytorch.bin).

    2. Performances de la méthode

    Pour les phrases suivantes :

    Dans une approche supervisée typique avec BERT, en introduisant entièrement la phrase entière dans un modèle BERT affiné, nous pouvons obtenir les étiquettes de sortie NER (B_PER, I_PER, O...) comme indiqué ci-dessous.

    La méthode NER non supervisée décrite dans cet article nécessite que la phrase ci-dessus soit transmise quatre fois à la tête d'un MLM pour identifier quatre entités - John Doe, New York, RioDe Janiro et Miami (comme décrit précédemment, les emplacements de ces quatre entités sont identifiés par une balise POS en conjonction avec un chunker).

    Plus précisément, les 4 versions tokenisées suivantes de la phrase seront transmises au modèle MLM :

    Les caractéristiques contextuelles pour chaque position de mot masqué sont extraites puis mises en correspondance avec des caractéristiques non contextuelles pour générer des prédictions d'entité pour chaque position, comme illustré ci-dessous.

    Alors qu'en principe, il est possible de récupérer l'identité contextuelle MLM pour chaque jeton dans la phrase d'entrée en une seule fois, en pratique, les phrases avec des mots masqués doivent être envoyées au modèle MLM individuellement pour déterminer le type d'entité, car il n'est pas clair si la phrase peut être Ou des prédictions contextuelles de sous-mots sont combinées pour faire des prédictions (si la phrase originale n'a qu'une seule entité de mot, et que des versions symboliques de ces mots existent également dans le vocabulaire de BERT, l'identité sensible peut être déduite en un seul passer).

    Par exemple : des phrases comme New York et des sous-mots comme Imatinib I ##mat ##ini ##b, apparaissent dans le vocabulaire du BERT. Le problème est aggravé si un sous-mot a plusieurs significations par défaut, telles que : I dans Imatinib - I ##mat ##ini ##b, ce qui entraîne une signature sensible au contexte à variance élevée. Une recherche par faisceau de sous-mots peut générer de nouveaux jetons uniques plausibles, mais il peut ne pas faire partie du vocabulaire sous-jacent, ce qui entraîne de grands biais dans les jetons contextuels. SpanBERT peut être considéré comme une option pour augmenter la durée de prédiction, mais il ne prédit également que les jetons individuels des phrases masquées et ne donne pas de prédictions pour les phrases masquées.

    La prédiction de phrases avec plusieurs mots masqués peut être résolue en prédisant toutes les versions masquées de la phrase en parallèle. Dans l'exemple ci-dessus, les termes masqués représentaient 50 % du nombre total de termes dans la phrase, mais dans les projets réels, ils ont tendance à être inférieurs à cette moyenne. Si une phrase distincte est utilisée pour confirmer la prédiction d'entité de chaque terme de la phrase, telle qu'une phrase telle que "Le terme est un ___", (une phrase telle que "Nonenbury est un ___"), envoyez-la au modèle MLM pour Le nombre prévu de phrases sera le double du nombre de termes masqués dans la phrase.

    3. Cartographie des descripteurs d'étiquettes pour les guides d'étiquettes définis par l'utilisateur

    Si vous êtes intéressé par un ensemble spécifique d'entités de votre application, vous pouvez également tirer parti de tout corpus non étiqueté, où ces entités sont principalement obtenues par :

    • Alimentez ces phrases dans le modèle et laissez le modèle produire leurs descripteurs d'étiquettes ;
    • Triez les occurrences de ces descripteurs pour obtenir les descripteurs les plus intéressants ;
    • Analysez manuellement ces descripteurs et associez-les aux étiquettes d'entité sélectionnées ;
    • Si le corpus non étiqueté utilisé pour obtenir ces étiquettes représente des types d'entités réels, alors il couvrira la grande majorité des types d'entités.

    Cette approche non supervisée :

    • Le problème de l'étiquetage des phrases avec des entités d'intérêt dans un cas d'utilisation spécifique est transformé en descripteurs contextuels qui sont étiquetés pour représenter des étiquettes d'intérêt. Comme mentionné précédemment, cela réduit la quantité de recyclage du modèle avec des données plus étiquetées.
    • De plus, une étiquette POS est utilisée, avec laquelle toutes les phrases pour la formation supervisée sont étiquetées. Cependant, la partie essentielle de l'identification des identités et des descripteurs candidats est effectuée par le BERT, qui est formé/affiné sans supervision.

    4. Statistiques de clustering indépendantes du contexte sans filtrage des sous-mots

    Les sous-mots ne sont pas pris en compte pour créer des clusters indépendants du contexte en raison de la difficulté de trouver des étiquettes pour les sous-mots. Mais les clusters qui les prennent en compte peuvent capturer des informations potentiellement précieuses pour certaines applications. Le vocabulaire modèle de BERT compte 6477 sous-mots, dont 1399 constituent des pivots. Le reste est divisé en 59 pivots sans sous-mots (2872 sont des singletons).

    Groupes de sous-mots indépendants du contexte en tant que pivots et autres pivots non liés à des sous-mots qui incluent des sous-mots. La génération de clusters insensibles au contexte ne contient pas de sous-mots, qui sont présentés ici uniquement pour souligner que certains clusters capturent des informations interprétables intéressantes (d'autres points qui ne constituent pas des étiquettes d'entité).

    Autres applications de cette méthode

    Étant donné que la détermination du type d'entité est purement basée sur un ensemble de termes, la méthode peut être appliquée à une variété d'applications

    • Trouve si deux termes ou plus ont le même type d'entité. Saisissez les phrases contenant ces termes séparément, recherchez des identifiants contextuels et vérifiez si les étiquettes générées par le modèle sont identiques/similaires.
    • Obtenez plus de termes pour un type d'entité spécifique.
    • Lorsqu'elle n'est pas limitée à l'étiquetage des phrases nominales, la sortie de cette méthode peut être utilisée (éventuellement : avec les balises POS et l'analyseur de dépendance) pour générer des données étiquetées pour les tâches supervisées en aval telles que la classification, l'extraction de relations, etc. Dans certains cas, même sans remplacer la tâche supervisée elle-même, au moins une ligne de base peut être créée.

    Titre original:

    NER non supervisé utilisant BERT

    Lien d'origine :

    https://towardsdatascience.com/unsupervised-ner-using-bert-2d7af5f90b8a

    Editeur : Huang Jiyan

    Relecture : Lin Yilin

    Profil du traducteur

    Chen Zhiyan, Diplômé de l'Université Jiaotong de Pékin avec une spécialisation en ingénierie de la communication et du contrôle et a obtenu une maîtrise en ingénierie, il a été ingénieur chez Great Wall Computer Software and Systems Company, ingénieur chez Datang Microelectronics Company, et est actuellement un support technique de Beijing Wuyi Chaoqun Technology Co., Ltd. Actuellement engagé dans l'exploitation et la maintenance d'un système intelligent d'enseignement de la traduction, il a accumulé une certaine expérience dans l'apprentissage profond de l'intelligence artificielle et le traitement du langage naturel (TAL). Dans ses temps libres, il aime traduire et créer. Ses travaux de traduction incluent principalement : IEC-ISO 7816, Iraqi Petroleum Engineering Project, Declaration of New Fiscalism, etc. Parmi eux, l'ouvrage chinois-anglais "Declaration of New Fiscalism" a été officiellement publié dans GLOBAL TIMES. Je peux utiliser mon temps libre pour rejoindre le groupe de bénévoles traducteurs de la plateforme THU Data School, j'espère pouvoir communiquer et partager avec vous et progresser ensemble.

    -Finir-

    Suivez la plate-forme publique officielle WeChat de Tsinghua-Qingdao Data Science Research Institute" Tarte aux données IA "et soeurs" Data Pie JEU "Obtenez plus d'avantages pour les conférences et un contenu premium.

    Baidu lancement de free ride sans pilote de location, les gens Changsha prennent les adopteurs précoces de plomb
    Précédent
    Évolutive avec tensorflow prolongée, rapide et déploiement efficace des BERT!
    Prochain
    La base de l'apprentissage automatique et de l'apprentissage en profondeur a été posée, comment résoudre les problèmes d'algorithmes avec la vitesse la plus rapide
    L'apprentissage machine génère des avantages économiques, l'hiver prochain IA ne vient jamais
    Passer sous si facile, quantique AlphaZero informatique jeu de démarrage!
    Une demi-heure de formation cent millions connaissance de la cartographie à grande échelle, open source Amazon cadre de représentation des connaissances AI carte intégrée
    Stanford toilettes intelligent avec des veines anales peut connaître les gens, les selles et l'urine considèrent votre message « vendu »
    Sur la base de la compréhension sémantique de la technologie et de l'application de la carte des connaissances
    données d'image roman coronavirus ensemble de documents analytiques (avec liens)
    Watson Kennedy a parlé de la nouvelle infrastructure - l'industrie de l'Internet - valeur Cube (PPT télécharger)
    Google auto-développé borne puce AI exposé des progrès importants, Samsung unissent leurs forces pour ordinateur portable téléphones mobiles
    ère secrète 5G + AI du monde du robot! Sept technologie de base au changement la vie humaine
    GitHub ouvert à la fonctionnalité de base de 40 millions de développeurs libres du monde! AI vient de mettre un grand modèle
    l'intelligence artificielle et de la race de l'intelligence humaine: l'intelligence humaine contre le peigne ensemble