Partage de technologie

Extraction de connaissances de texte de domaine non structuré basée sur BERT

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Annuaire d'articles

sujet

Grands modèles de langage pour les tests alimentaires

Nom de l'image

Adresse papier : https://arxiv.org/abs/2103.00728

Résumé

Avec le développement de la technologie des graphes de connaissances et la vulgarisation des applications commerciales, il existe un besoin croissant d’extraire des entités de graphes de connaissances et des données relationnelles à partir de divers textes de domaine non structurés. Cela rend l’extraction automatisée des connaissances à partir du texte du domaine tout à fait significative. Cet article propose une méthode d'extraction de connaissances basée sur BERT, qui est utilisée pour extraire automatiquement des points de connaissances à partir de textes spécifiques à un domaine non structurés (tels que les clauses d'assurance dans le secteur de l'assurance) afin d'économiser de la main d'œuvre dans le processus de construction d'un graphe de connaissances. Différent des méthodes d'extraction de points de connaissance couramment utilisées basées sur des règles, des modèles ou des modèles d'extraction d'entités, cet article convertit les points de connaissance du texte du domaine en paires de questions et de réponses, en utilisant le texte avant et après la position de réponse comme contexte, et utilise BERT pour effectuer la compréhension en lecture basée sur les données SQuAD Affiner la tâche. Le modèle affiné a été utilisé pour extraire automatiquement des points de connaissance d'un plus grand nombre de clauses d'assurance et a obtenu de bons résultats.

méthode

Ces dernières années, avec l’approfondissement de la transformation numérique dans diverses industries, le nombre de textes électroniques associés a fortement augmenté. Dans le même temps, de plus en plus d'entreprises commencent à s'intéresser à l'analyse des données, à l'exploitation minière et au développement et à l'utilisation de ressources de données. Les systèmes d'application informatique tels que les cartes de connaissances et le dialogue intelligent sont devenus la base des services internes de diverses entreprises et institutions. et des prestations externes. De telles applications doivent souvent extraire les informations structurées contenues dans divers textes de domaines non structurés pour la construction de bases de connaissances numériques. Les données constituent le fondement des produits et services informatiques. La fourniture de données aux ordinateurs est devenue une nouvelle tâche pour le développement des entreprises et des institutions dans la nouvelle ère. Les divers documents commerciaux et commerciaux originaux des entreprises et des institutions contiennent une richesse de connaissances et d'informations, mais ils sont tous rédigés pour une lecture humaine. Par rapport aux besoins des programmes informatiques, il existe de nombreuses informations redondantes. À l'heure actuelle, l'application de ce type de données nécessite essentiellement d'investir beaucoup de main-d'œuvre pour extraire manuellement les informations requises en lisant des documents et en les exprimant sous une forme qu'un ordinateur peut lire (« comprendre »). Cela entraîne de nombreux coûts d’apprentissage et une consommation de ressources humaines supplémentaires. Comment utiliser des moyens automatisés pour découvrir des connaissances à partir de données textuelles non structurées et les utiliser comme ressource de données dont dépendent diverses applications intelligentes est un point chaud de la recherche dans le domaine de l'extraction de connaissances. Cet article prend comme objet de recherche un texte non structuré dans un domaine spécifique et propose une méthode d'extraction de connaissances à travers un modèle de compréhension du langage basé sur l'apprentissage profond. Cette méthode présente les points de connaissances à extraire sous forme de paires question-réponse, utilise des données annotées manuellement comme données d'entraînement, effectue un apprentissage par transfert sur la base du modèle pré-entraîné et obtient une extraction automatique à partir de textes du même domaine via mise au point du modèle de points de connaissance.

Pour les documents avec des spécifications structurelles unifiées, l'extraction des connaissances peut être effectuée par des règles de construction. La construction des règles s'effectue souvent par induction et résumé manuels, c'est-à-dire en lisant un grand nombre de textes dans le même domaine, en les sélectionnant et en résumant les règles d'extraction finales. Jyothi et al. ont utilisé une approche basée sur des règles pour extraire des informations efficaces d'un grand nombre de CV personnels et créer une base de données. JunJun et al. ont utilisé une méthode similaire pour extraire des connaissances conceptuelles académiques de la littérature académique. L'avantage de cette méthode est qu'elle ne nécessite pas de modèles de formation et qu'elle est simple et efficace ; l'inconvénient est également évident. Les règles que nous construisons ne sont applicables qu'aux textes ayant la même structure, et doivent avoir des spécifications de format strictes une fois la structure du texte établie. change légèrement, un travail manuel est requis. De nouvelles règles d’extraction de connaissances sont construites, la méthode n’est donc pas portable.

Une tâche d'extraction de connaissances est appelée extraction d'entités, qui consiste à extraire le contenu de balises prédéfinies du texte, tel que l'heure, le lieu, etc. Les balises spécifiques dépendent de l'application. L'extraction de connaissances la plus couramment utilisée est appelée reconnaissance d'entité nommée (entité nommée). reconnaissance). L'extraction d'entités elle-même peut être résolue directement sous la forme d'une tâche d'étiquetage de séquence, qui peut être traitée à l'aide de méthodes d'apprentissage statistique traditionnelles, telles que les modèles de Markov cachés (HMM) ou les champs aléatoires conditionnels (CRF). Ces dernières années, certains modèles d'apprentissage profond ont également été appliqués à ce type de problèmes. Par exemple, la méthode d'annotation de séquences combinant BiLSTM et CRF a obtenu de bons résultats. Lample et al. ont proposé une nouvelle structure de réseau, utilisant le LSTM empilé pour représenter une structure de pile, construisant directement la représentation de plusieurs mots, et l'ont comparée au modèle LSTM-CRF. Ma et al. ont proposé un modèle d'annotation de séquence de bout en bout basé sur BiLSTM-CNN-CRF. De plus, le modèle BERT affiné peut également obtenir de bons résultats sur les tâches d'étiquetage de séquences.

En plus d'extraire des entités du texte, la relation entre les entités est également au centre de l'extraction de connaissances. Les entités et leurs relations sont généralement formées en triplets.<E1, R, E2> , alors l'objectif de la tâche est d'extraire tous les triplets de relations d'entité possibles du texte, et leurs relations sont limitées au schéma prédéfini. Zeng et al. ont conçu CNN pour classer les relations, mais pas les triples. Makoto et al. ont réalisé une prédiction de bout en bout des relations entre entités en construisant un réseau de pile basé sur BiLSTM et Bi-TreeLSTM pour effectuer simultanément l'extraction d'entités et la détection de relations. Li et al. ont utilisé un LSTM double couche avec une architecture encodeur-décodeur pour créer un modèle d'extraction de connaissances qui ne se limite pas aux triples et peut prédire des connaissances structurées dans un format fixe. Zheng et al. ont converti la tâche d'extraction d'entités et de relations en une tâche d'étiquetage de séquence via une stratégie d'étiquetage, puis ont construit un modèle Bi-LSTM similaire au précédent pour la gérer. Luan et al. ont conçu un cadre d'apprentissage multitâche pour identifier les entités et les relations dans les documents scientifiques afin de créer des graphiques de connaissances scientifiques. Ce modèle a surpassé les modèles existants sans aucune connaissance préalable du domaine.

    除了以上提到的知识抽取模式,一个不同的角度是将知识点本身看作一个问题,将知识点的内容作为该问题的答案,将知识点所在的文本段作为这个问答对的上下文,这样知识抽取模型便可以用问答模型来构造。近年来,GPT和 BERT等预训练模型的出现使得这类问答阅读理解任务可以很好地作为其下游任务,仅需简单改造原有网络结构,并进行微调,即可得到很好的效果。Wang等人在原始BERT 的基础上使用多段落预测的方式改进了其在 SQuAD数据集上的效果。Alberti等人在BERT 与 SQuAD 的基础上改进后,将其应用在一个更困难的问答数据集 NQ上,𝐹1分数相对之前的基准线提升了 30%。这种问答形式的知识抽取可以更灵活地处理不同结构的知识——只需将其定义为不同的问题,而不需要根据知识的形式单独设计新的网络结构。

Les textes structurés dans différents secteurs ont des caractéristiques différentes en raison des caractéristiques de leur secteur. Certains documents spécifiques à un secteur (tels que les instructions médicales) ont non seulement une structure stricte, mais comportent également des exigences très strictes en matière de terminologie et de formulation, qui conviennent mieux à l'extraction de connaissances basée sur des règles. Il existe également certaines industries dont les textes ne diffèrent pas beaucoup des textes généraux (tels que les reportages, les interviews, etc.), pour lesquels la technologie générale d'extraction peut être directement appliquée. Il existe également des textes dans certains domaines, qui se situent entre les deux et présentent un certain degré de professionnalisme mais ne sont pas très stricts. La structure et la formulation de textes similaires provenant de différentes entreprises sont similaires mais différentes. L'utilisation et l'affichage de la terminologie au sein d'une même entreprise. . Relativement unifié. Les documents relatifs aux clauses d'assurance dans le secteur des assurances entrent dans cette troisième catégorie de textes. Les clauses d'assurance sont des dispositions concernant les droits et obligations des deux parties convenues d'un commun accord par les deux parties à un contrat d'assurance - l'assureur (compagnie d'assurance) et le preneur d'assurance. Une clause d’assurance se compose généralement de trois parties :

  1. Informations de base, c'est-à-dire les informations sur la clause elle-même, notamment : l'assureur, le nom de la clause, l'abréviation de la clause, le type de clause, le type de terme, la période d'hésitation, le délai de prescription, le numéro de dépôt et l'heure de dépôt, si elle peut être vendue comme assurance principale. , etc.;
  2. Conditions d'achat, c'est-à-dire les conditions objectives que l'assuré en vertu de la présente clause doit remplir, notamment : l'âge, le sexe, la profession/le type de travail de l'assuré, les exigences en matière d'examen physique, les exigences en matière de sécurité sociale, la situation personnelle qui doit être déclarée de manière véridique, etc.;
  3. Responsabilité d'assurance, c'est-à-dire l'étendue de la responsabilité et le contenu de l'indemnisation de cette clause ;

Bien que les clauses d'assurance aient un certain degré de vocabulaire professionnel, l'utilisation du vocabulaire professionnel n'est généralement pas standardisée dans le secteur (par exemple : le « délai d'hésitation » peut aussi être appelé « délai de réflexion », etc.), et le document de clause est un document remis à l'assuré pour lecture. La plupart des points de connaissance à extraire sont mélangés dans une expression en langage naturel, qui ne se prête pas à une extraction de texte basée sur des règles statiques. Bien que les points de connaissance extraits requis eux-mêmes puissent être obtenus par extraction d'entités, les valeurs correspondant aux points de connaissance sont souvent mélangées dans une expression en langage naturel et ne peuvent pas être extraites avec la description du point de connaissance. Par exemple : le délai de prescription pour une certaine clause est de 2 ans. Ce « 2 ans » peut apparaître dans la description suivante : « Le délai de prescription pour qu'un bénéficiaire nous demande des prestations d'assurance ou une exonération de prime d'assurance est de 2 ans, puisque le bénéficiaire sait ou Il faut savoir que le calcul commence à partir de la date de l'accident d'assurance. "Ainsi, lorsque nous devons extraire des informations de base, les conditions d'achat, la responsabilité de l'assurance et d'autres points de connaissance des conditions d'assurance, nous excluons directement la règle- méthodes d'extraction basées sur des entités et basées sur des entités. Si l'extraction de type schéma est utilisée pour convertir les points de connaissances en triples, l'ensemble de données de formation requis et la quantité d'étiquetage seront relativement importants. Pour notre objectif, le gain dépassera inévitablement la perte. Par conséquent, nous avons finalement choisi une méthode d’extraction de connaissances basée sur des questions-réponses.

Ces dernières années, la méthode d'apprentissage par réglage fin basée sur des modèles pré-entraînés a connu un grand succès dans le domaine du traitement du langage naturel (NLP), dont le modèle BERT est un représentant important. BERT est un modèle de représentation de codage bidirectionnel basé sur des transformateurs. Sa topologie est un réseau de transformateurs bidirectionnel multicouche. Le modèle BERT est une application typique basée sur l'apprentissage par réglage fin, ce qui signifie que sa construction comprend deux étapes : la pré-formation et le réglage fin. Premièrement, au cours de la phase de pré-formation, un grand nombre de données de corpus non étiquetées de différentes tâches de formation sont formées et les connaissances du corpus sont transférées dans l'intégration de texte (Embedding) du modèle de pré-formation. De cette façon, pendant la phase de réglage fin, il vous suffit d'ajouter une couche de sortie supplémentaire au réseau neuronal pour ajuster le modèle pré-entraîné. Plus précisément, le réglage fin consiste à initialiser le modèle BERT avec des paramètres pré-entraînés, puis à affiner le modèle à l'aide des données étiquetées des tâches en aval. En réponse à notre besoin d'extraire des points de connaissance des documents d'assurance, il nous suffit d'utiliser les données de clause d'assurance pour affiner la tâche de questions et réponses de BERT afin de répondre aux besoins d'extraction de connaissances sur les clauses d'assurance.

Nom de l'image

Le processus d'extraction des connaissances sur les clauses d'assurance produit d'abord des points de connaissances sur les clauses d'assurance étiquetés manuellement dans<question, answer> dans le formulaire, puis utilisez un programme d'analyse de texte pour analyser un document de conditions d'assurance dans une arborescence de documents, dans laquelle le titre principal est le nœud racine, et chaque titre suivant est un nœud enfant du niveau précédent, et chaque paragraphe de texte est lu. Prenez-le comme nœud feuille.Faites correspondre la réponse dans la paire question-réponse au nœud feuille où elle se trouve, et utilisez le texte correspondant à l'ensemble du nœud feuille comme contexte de la paire question-réponse, et enfin construisez un<question, answer, context> Enfin, cet ensemble de données est utilisé pour entraîner le modèle de pré-formation BERT selon la méthode de réglage fin des tâches de compréhension en lecture basée sur les données SQuAD, et le modèle final d'extraction de connaissances est obtenu. Comme le montre la figure ci-dessus, pour les tâches de questions et réponses, il vous suffit d'ajouter une couche supplémentaire entièrement connectée après le vecteur de codage généré par BERT pour prédire la position de la réponse dans le contexte.Lors des tests, pour les nouvelles clauses d'assurance, le contexte des différents points de connaissance doit être analysé de la même manière, puis le<question, context> En entrée du modèle, des réponses à chaque point de connaissance sont obtenues. La méthode ci-dessus permet de mieux gérer les clauses d'assurance de la même entreprise et du même type, car la structure des articles de clause d'assurance de la même entreprise est cohérente et le même programme peut être utilisé pour analyser le contexte. clauses de différentes sociétés et types, étant donné que la terminologie et la structure sont différentes, le programme d'analyse d'origine ne peut pas les gérer et il n'est pas possible de réécrire un programme d'analyse de texte pour chaque clause, le modèle doit donc être amélioré.

Afin de rendre le processus d'extraction de connaissances plus polyvalent, nous modifions d'abord le processus de prédiction : divisons le texte original de la nouvelle clause en segments en fonction du nombre de mots, chaque segment fait environ 300 mots (essayez de ne pas casser les phrases), puis divisez chaque segment de texte en En tant que contexte possible de tout point de connaissance, il sert d'entrée au modèle. Si la réponse de sortie est vide, cela signifie qu'il n'y a pas de point de connaissance correspondant dans ce paragraphe. Sinon, la sortie de chaque point de connaissance dans tous les paragraphes de texte est prise en compte de manière exhaustive et la réponse avec la probabilité la plus élevée est sélectionnée comme réponse à la question. point de connaissance. Cette nouvelle méthode de prédiction est polyvalente pour n’importe quelle clause et élimine le besoin d’une analyse de texte supplémentaire. Nous avons testé les termes de plusieurs sociétés différentes en utilisant cette méthode, et les résultats ont montré qu'elle ne fonctionnait pas bien sur l'ancien modèle et que la précision diminuait considérablement. La raison en est qu'avant l'amélioration, pendant la formation, le contexte de chaque point de connaissance était positionné avec précision en fonction de la structure du document. Il n'y avait pas beaucoup d'échantillons négatifs, le modèle ne pouvait donc faire des prédictions que sur la base du contexte précisément positionné. Une fois la structure de l'organisation du texte et le format du titre modifiés, le programme d'analyse du texte d'origine ne peut pas localiser avec précision le contexte du problème, générant ainsi de nombreuses données interférentes et affectant l'effet du modèle. Par conséquent, le processus de formation du modèle doit être modifié.Nous ajoutons des données textuelles segmentées, c'est-à-dire segmentons chaque clause de l'ensemble de formation de la même manière. Si le segment contient la réponse marquée par le point de connaissance, il est utilisé comme. un nouvel échantillon, sinon il est utilisé comme échantillon négatif (la réponse est vide). Dans les tests réels, si tous ces nouveaux échantillons sont ajoutés à l'ensemble d'apprentissage, trop de données d'apprentissage seront générées et le nombre d'échantillons négatifs dépassera de loin le nombre d'échantillons positifs. Afin d'équilibrer ce processus, nous avons en outre apporté les améliorations suivantes : Pour chaque question de point de connaissance, si la clause elle-même ne contient pas le point de connaissance (car le point de connaissance est défini uniformément pour toutes les clauses d'assurance, donc pour une clause spécifique, Non tous les points de connaissance peuvent y être inclus), alors chaque fragment est utilisé comme échantillon négatif du problème avec une probabilité de 10 % si la clause elle-même contient le point de connaissance, il existe deux situations : si le fragment de texte actuel contient le point de connaissance. point de connaissance cible, puis en tant qu'échantillon positif, sinon il est sélectionné comme échantillon négatif avec une probabilité de 50 %. De cette manière, un nouvel ensemble d'apprentissage est construit pour obtenir un nouveau modèle. L'idée est d'augmenter le nombre d'échantillons négatifs liés au point de connaissance si la clause le contient, afin que le modèle puisse mieux gérer l'interférence de fragments similaires et améliorer la précision de la réponse. Si la clause elle-même ne contient pas le point de connaissance, l'adéquation entre le fragment de texte et le point de connaissance devrait être médiocre, et la sélection d'un petit nombre d'échantillons négatifs suffit. Après test, le nouveau modèle a été considérablement amélioré par rapport à l'ancien modèle, est plus adapté à la nouvelle méthode de prédiction et peut être utilisé comme modèle d'extraction de connaissances sur les clauses d'assurance plus général.

expérience

    我们的数据集由某保险公司的保险条款组成,每个条款具有人工标注的知识点,如犹豫期,诉讼期,保险金额等。在实验过程中,训练集,测试集分别由 251 个条款和 98 个条款组成。经过统计,这些条款中所有可能的知识点问题数量为309 条,平均每个条款有 45 条知识点需要提取。测试过程中,我们将条款文本分段,尝试从所有段中提取知识点𝑘𝑖,并根据模型输出的概率,选择概率最高的文本作为该知识点的答案。如果最终得到的输出为空字符串,则代表条款不存在该知识点。由于每个条款提取的知识点只占 309条中的小部分,大多数知识点的输出应当是空的,因此我们在评估时忽略这部分空知识点,关注两个指标:模型输出的知识点正确率𝑃,即精准率(precision),以及应提取知识点中确实被正确提取的比率𝑅,即召回率(recall)。假设知识点𝑘𝑖标注为𝑦𝑖,模型的输出为𝑦̃𝑖,则𝑃和𝑅可定义为:

Nous utilisons le modèle de pré-formation chinois BERT open source de Google, BERT_chinese_L-12_H-768_A-12, et effectuons des tests ultérieurs sur cette base. En termes de paramétrage, le taux d'apprentissage initial est de 3E-5, la taille du lot est de 4, le nombre d'époques d'entraînement est de 4 et les autres paramètres adoptent la configuration par défaut du modèle. L'expérience dans cet article se compose de deux parties de tests. La première partie est le test du modèle de référence. Le processus de formation est le suivant : utilisez d'abord un programme d'analyse de texte pour analyser la structure des clauses d'assurance, extrayez le contexte où les connaissances correspondantes. les points sont localisés, puis les combinent dans un ensemble de formation pour BERT. Le modèle est affiné. La deuxième partie est le test du nouveau modèle. Le processus de formation consiste à ajouter de nouveaux échantillons basés sur l'ensemble de formation du modèle de référence. Les clauses d'assurance correspondantes sont divisées en paragraphes selon le nombre de mots. Chaque paragraphe de texte compte environ 300 mots. Pour chaque problème de point de connaissance, un ensemble de formation est construit pour former un nouveau modèle. Le résultat du test est la moyenne des statistiques de 98 clauses d'assurance de l'ensemble de test, comme indiqué dans le tableau suivant :

Nom de l'image

    可以看出,以前文所述的方法添加有限的负样本后训练的模型明显优于基准模型,其中𝑃提高了约 40%,𝑅提高了约 20%。𝑃的提升相当显著。基准模型的训练集中,仅通过文本解析程序精确定位知识点的上下文信息,导致模型只具备从正确的上下文中抽取对应的知识点的能力,而不具备辨别无效上下文的能力,因此基准模型存在很大比例的无效输出。而按比例添加负样本后,新模型的无效输出大幅度减少,输出的知识点中 60%以上是有效且正确的输出。而由于添加了相对于基准模型粒度更粗的上下文信息(文本段)组成的正样本,使得模型能够更好地从无规则截取的文本段中抽取出目标知识点,因此召回率𝑅也有大幅提升。最终𝐹1值提升了约30%。

Les résultats expérimentaux montrent que le nouveau modèle formé après avoir optimisé l'ensemble de formation est meilleur que le modèle de base d'origine dans la méthode de prédiction de segmentation de texte et peut être utilisé davantage dans des tâches plus générales d'extraction de connaissances sur les clauses d'assurance. Dans le même temps, le modèle actuel peut encore être amélioré.

  • En raison des limites des conditions réalistes (volume d'annotation des données), notre formation ne comprenait que 251 termes et toutes les données de formation provenaient de la même compagnie d'assurance. Après avoir élargi la taille de l'ensemble de données pour inclure davantage de données sur les conditions définies par les assureurs, l'effet du modèle devrait être encore optimisé.
  • Actuellement, notre annotation de données ne contient que le contenu des points de connaissance des clauses, et le contexte correspondant dans les données de formation est obtenu grâce à un programme d'analyse de texte auto-écrit. Le contexte ainsi obtenu contient un petit nombre d'erreurs. La stratégie d'annotation manuelle peut être optimisée et les points de connaissance et leurs contextes peuvent être annotés en même temps, afin que les données obtenues soient plus précises.