Un graphe de connaissances est un vaste réseau d'informations où des éléments et des idées sont liés les uns aux autres pour montrer leurs relations dans le monde réel. Cela va au-delà d’une base de données qui stocke simplement des informations. Les graphiques de connaissances stockent également les liens entre les informations.
Un graphe de connaissances est un vaste réseau d'informations où des éléments et des idées sont liés les uns aux autres pour montrer leurs relations dans le monde réel. Cela va au-delà d’une base de données qui stocke simplement des informations. Les graphiques de connaissances stockent également les liens entre les informations.
Cela rend les graphiques de connaissances très utiles dans divers domaines. Voici quelques exemples :
1. Moteurs de recherche : les moteurs de recherche utilisent des graphiques de connaissances pour comprendre la relation entre les termes de recherche et les entités du monde réel. Grâce aux connexions incarnées dans le Knowledge Graph, une recherche sur « cuisine française » peut révéler non seulement des recettes mais également des informations sur les régions viticoles françaises ou sur des chefs français célèbres.
2. Assistants virtuels : Les assistants virtuels comme Siri ou Alexa s'appuient sur des graphiques de connaissances pour comprendre vos demandes et fournir des réponses utiles. Sachant que la « Tour Eiffel » est un monument et que « Paris » est une ville, l'assistant peut répondre à vos questions sur l'emplacement de la Tour Eiffel.
3. Applications d'apprentissage automatique : les algorithmes d'apprentissage automatique peuvent utiliser des graphiques de connaissances pour améliorer la compréhension du monde. Par exemple, un système de recommandation pourrait utiliser un graphique de connaissances pour relier les films aux acteurs, aux réalisateurs et aux genres. Cela permet de recommander des films similaires en fonction des préférences passées.
4. Grands modèles linguistiques (LLM) : les LLM peuvent bénéficier des graphiques de connaissances en accédant et en traitant toutes les informations et connexions qu'ils stockent. Cela aide le LL.M. à fournir des réponses plus complètes et informatives à nos questions.
5. Détection de fraude : les graphiques de connaissances peuvent être utilisés pour identifier les activités frauduleuses en analysant les connexions entre les entités. Par exemple, si une transaction implique un nouveau compte lié à une adresse IP frauduleuse connue, le graphique peut le signaler comme suspect.
Bases du Knowledge Graph
Dans une bibliothèque, les livres peuvent non seulement être rangés par catégorie, mais également faire l'objet de références croisées. Un livre sur Paris peut être aussi proche d'un livre d'histoire de France que de guides de voyage et d'ouvrages d'écrivains parisiens. Ce réseau de connexions est l’essence d’un graphe de connaissances. Les éléments de base du graphe de connaissances comprennent :
1 Nœuds : ce sont les entités de base du graphe. Il peut s'agir de tout ce que vous pouvez décrire : des objets physiques (comme la Tour Eiffel), des concepts abstraits (comme la démocratie), des événements (comme la Révolution française) ou même des personnes (comme Marie Curie).
2. Edges : Ce sont les connexions entre les nœuds. Ils montrent comment les entités interagissent les unes avec les autres. Les bords sont généralement étiquetés pour spécifier la nature de la connexion. Pour revenir à notre exemple parisien, la frontière entre « Paris » et « France » pourrait porter l'étiquette « Capitale ». D'autres étiquettes pourraient être « habitant » (entre Paris et Marie Curie) ou « influencé par » (entre la Révolution française et la démocratie).
3. Étiquettes : elles sont cruciales pour comprendre les bords. Ils fournissent un contexte et une signification aux connexions entre les nœuds.
4. Attributs : les nœuds et les arêtes peuvent avoir des attributs, qui sont des attributs supplémentaires ou des métadonnées qui leur sont associées. Par exemple, un nœud de personne peut avoir des attributs tels que « nom », « âge », « sexe », etc., tandis qu'un bord représentant la relation « marié » peut avoir des attributs tels que « date de début » et « date de fin ». ”
5. Ontologies : Ce sont les modèles du graphe de connaissances. Ils définissent les types d'entités autorisées dans le graphe, les relations possibles entre elles et les étiquettes utilisées pour ces relations. De même, dans une bibliothèque, il peut y en avoir. un système de classification de livres spécifique qui définit les parties, les sous-parties et la manière dont les différentes catégories de livres sont liées les unes aux autres. L'ontologie définit les règles sur la façon d'organiser les informations dans le graphe de connaissances
6. définit les entités autorisées dans le graphique. Types de relations et d'attributs. Il fournit une structure et une cohérence aux données, facilitant ainsi l'interrogation et l'analyse.
Le super pouvoir des graphes de connaissances
Ce réseau de relations libère un pouvoir unique : les machines. peut cartographier des données en fonction de celles-ci. Pour raisonner et déduire de nouvelles informations en fonction de ce que vous « savez ». Voici deux exemples
1 Raisonnement et inférence : Le « moment aha » de la machine
Supposons qu'un graphe de connaissances stocke « Paris est. la capitale de la France » et « La France est en Europe », etc. Bien que le graphique n'indique pas explicitement « Paris est en Europe », les connexions entre ces entités permettent à la machine de raisonner sur cette conclusion. Ce « moment aha » est L'essence du raisonnement par graphe de connaissances. Les machines peuvent analyser ces connexions et en déduire de nouvelles informations qui ne sont pas explicitement énoncées, élargissant ainsi leur compréhension du monde.
Exemple
Un système de recommandation de voyage utilise un graphe de connaissances pour connecter les villes aux attractions touristiques et. monuments à proximité si un utilisateur exprime son intérêt pour visiter la Tour Eiffel, le système peut utiliser le graphe de connaissances pour raisonner et recommander d'explorer Paris, même si l'utilisateur ne mentionne pas spécifiquement la ville
2.
Le graphe de connaissances n'est pas un îlot d'informations isolé. Ils peuvent être construits à l'aide d'un format standardisé qui permet à différents systèmes de comprendre et d'échanger les informations stockées dans leurs diagrammes, un peu comme le système de classement universel d'une bibliothèque. Chaque bibliothèque peut organiser ses propres collections (graphiques de connaissances spécifiques), mais elles peuvent toutes exploiter les informations d'autres bibliothèques car elles suivent les mêmes principes d'organisation (formats standardisés).
Exemple
Moteur de recommandation de produits dans une boutique en ligne utilisant un knowledge graph. Le diagramme peut relier le produit à ses caractéristiques, sa marque et des éléments similaires. Les magasins peuvent ensuite partager ce graphique de connaissances avec des entreprises partenaires qui fournissent des avis sur les produits. La société d'avis dispose de son propre graphique de connaissances pour l'analyse des sentiments des utilisateurs, et les avis peuvent ensuite être analysés dans le contexte des informations sur les produits sur le graphique de connaissances du magasin. Cela peut fournir aux clients des recommandations plus pertinentes.
Exemples de cas d'utilisation importants
Les graphiques de connaissances peuvent fournir un cadre puissant pour générer systématiquement des cas de test. Cela peut être accompli en tirant parti des représentations structurées des composants logiciels, de leurs interactions et des connaissances spécifiques au domaine. En analysant les diagrammes, les testeurs peuvent identifier les chemins critiques, gérer la complexité, intégrer des contraintes et automatiser le processus de construction pour améliorer la qualité et la couverture de leurs efforts de test. Explorons quelques cas d'utilisation importants.
Modélisation des composants logiciels et des interactions
Les graphiques de connaissances peuvent représenter les composants d'un système logiciel (tels que des modules, des classes, des fonctions ou des API) sous forme de nœuds dans le graphique. Les bords entre ces nœuds peuvent représenter des interactions ou des dépendances entre les composants. En analysant ces interactions, les testeurs peuvent identifier des scénarios de test potentiels et des chemins système.
Intégrer les connaissances du domaine
Les graphiques de connaissances peuvent intégrer des connaissances spécifiques à un domaine (telles que les normes industrielles, les meilleures pratiques ou les exigences réglementaires) dans le processus de génération de cas de test. En incorporant des nœuds et des bords spécifiques au domaine dans le graphique, les testeurs peuvent garantir que les cas de test sont cohérents avec les considérations et contraintes spécifiques au domaine.
Contrôle de version et gestion des changements
Knowledge Graph peut également prendre en charge le contrôle de version et la gestion des changements en suivant l'historique des exigences et des cas de test au fil du temps. Les testeurs peuvent visualiser l'évolution des exigences et les cas de test associés, notamment quand les modifications ont été apportées et par qui. Ce contexte historique est précieux pour comprendre les raisons des changements et assurer la traçabilité entre les différentes itérations du logiciel.
Dépendances croisées
Les exigences dépendent souvent les unes des autres, et les cas de test peuvent également dépendre de plusieurs exigences. Les graphiques de connaissances peuvent capturer ces dépendances sous forme de bords entre les nœuds, permettant aux testeurs de visualiser et de comprendre l'interconnexion des exigences et des cas de test. Cela peut aider à identifier les conflits potentiels ou les lacunes dans la couverture des tests.
Identifier les modèles et les tendances
Les graphiques de connaissances permettent aux testeurs d'identifier les modèles et les tendances dans les occurrences de défauts, tels que les problèmes récurrents, les scénarios de défaillance courants ou les corrélations entre des modifications de code spécifiques et des défauts. En analysant les graphiques, les testeurs peuvent mieux comprendre les causes profondes des défauts et hiérarchiser les efforts d'investigation en conséquence.
Graphique de connaissances Open Source
Certains graphiques de connaissances open source peuvent nous permettre de comprendre la structure et les fonctions de ces systèmes. Exemples :
Wikidata : une base de connaissances collaborative et modifiable gérée par la Fondation Wikimedia
DBpedia : un graphe de connaissances extrait de Wikipédia
YAGO : un graphe de connaissances de Wikipédia pour la recherche sur le Web
KBpedia : KBpedia est une connaissance open source graphique qui intègre sept bases de connaissances publiques de premier plan, notamment Wikipedia, Wikidata, schema.org, DBpedia, GeoNames, OpenCyc et les produits et services standard de l'UNSPSC. Il fournit une structure complète qui favorise l'interopérabilité des données et l'intelligence artificielle basée sur la connaissance (KBAI). L'ontologie supérieure (KKO) de KBpedia comprend plus de 58 000 concepts de référence, environ 40 millions de liens mappés vers des entités (principalement à partir de Wikidata) et 5 000 relations et attributs. Il s'agit d'un graphe de connaissances flexible et calculable adapté à diverses tâches d'apprentissage automatique.
Logseq : un outil de graphique de connaissances qui combine des fonctions de note, de plan et de wiki, il permet aux utilisateurs de créer des notes interdépendantes et d'organiser les informations dans une structure graphique ;
Athens : outil de graphique de connaissances qui s'intègre à d'autres applications de prise de notes comme Roam Research ; il permet aux utilisateurs de créer des notes liées et de créer des réseaux d'idées.
GraphGPT : bien qu'il ne s'agisse pas d'un graphe de connaissances autonome, GraphGPT est un modèle de langage affiné pour générer des réponses basées sur des graphiques. Il peut être utilisé pour créer du contenu pédagogique lié aux graphes de connaissances.
GitJournal : un outil de graphique de connaissances intégré aux référentiels Git ; il permet aux utilisateurs de créer et de gérer des notes à l'aide du contrôle de version Git.
RecBole : Une bibliothèque de recommandations qui utilise des graphiques de connaissances pour des recommandations personnalisées ; elle est très utile pour les scénarios pédagogiques liés aux systèmes de recommandation ;
DeepKE : boîte à outils d'intégration de connaissances qui peut être utilisée pour intégrer des entités et des relations dans des graphiques de connaissances dans des représentations vectorielles ; elle est utile à des fins éducatives liées à l'apprentissage automatique basé sur des graphiques.
Ces ressources fournissent une base d'apprentissage précieuse pour comprendre les bases des graphiques de connaissances et leurs applications potentielles.
Carte des connaissances de l'industrie
Il existe de nombreux cas dans l'industrie où les entreprises ont bénéficié de graphiques de connaissances. Le géant de la technologie Google utilise largement les graphiques de connaissances. Leur graphique de connaissances améliore les résultats de recherche en comprenant les relations entre les entités, fournissant ainsi aux utilisateurs des informations plus pertinentes.
Amazon exploite les graphiques de connaissances pour améliorer son système de recommandation. En analysant le comportement des utilisateurs et les attributs des produits, ils créent des recommandations personnalisées pour les clients.
Walmart utilise des graphiques de connaissances pour optimiser la gestion de la chaîne d'approvisionnement. En modélisant les relations entre les produits, les fournisseurs et la logistique, ils améliorent la gestion des stocks et la distribution.
La société de covoiturage Lyft utilise des graphiques de connaissances pour améliorer l'optimisation des itinéraires et améliorer la correspondance conducteur-passager. En comprenant les relations géographiques, ils peuvent optimiser les temps de trajet et réduire les temps d'attente.
Le graphique de connaissances d'Airbnb permet de mettre en relation les hôtes et les voyageurs en fonction de leurs préférences, de leur emplacement et de leur disponibilité. Il améliore l'expérience utilisateur en suggérant des listes associées.
Entrons dans les détails de deux cas spécifiques : Allianz et eBay.
Allianz : Simplifier les tests de régression avec des graphiques de connaissances
Le géant allemand de l'assurance Allianz a mis en œuvre un système de graphiques de connaissances pour simplifier les tests de régression de sa plate-forme d'assurance principale. Voici comment cela fonctionne :
Knowledge Graph Construction
Allianz a construit un graphe de connaissances qui capture des informations sur les fonctionnalités de la plateforme d'assurance, les rôles des utilisateurs, les entités de données (polices, réclamations, clients) et les relations entre eux.
Automatisation des cas de test
Utilisez le graphique de connaissances pour générer automatiquement des cas de test de régression de base. Le riche réseau d'informations du diagramme permet au système d'identifier différents scénarios de test et de créer des cas de test correspondants. Cela réduit considérablement la quantité d’efforts manuels requis pour les tests de régression.
Maintenance améliorée des tests
La capacité des graphiques de connaissances à représenter les modifications du système s'avère précieuse. Lorsque la plateforme d'assurance est mise à jour, le graphique des connaissances peut être facilement mis à jour pour refléter ces changements. Cela garantit que les tests de régression générés automatiquement restent pertinents et continuent de couvrir les dernières fonctionnalités.
Les résultats Allianz sont positifs. Ils ont signalé une réduction significative de la durée des tests de régression et une augmentation correspondante de la couverture des tests. Les graphiques de connaissances simplifient également la maintenance des tests, permettant aux testeurs de se concentrer sur des scénarios plus complexes.
eBay : Utiliser des graphiques de connaissances pour améliorer la conception des cas de test
Le géant du commerce électronique eBay tente d'utiliser des graphiques de connaissances pour améliorer la conception et la gestion des cas de test pour sa plateforme de marché. Voici une explication détaillée de leur approche :
Cartographie du parcours utilisateur
eBay utilise des graphiques de connaissances pour modéliser les parcours des utilisateurs sur la plateforme. Cela inclut des entités telles que les acheteurs, les vendeurs, les produits, les fonctionnalités de recherche et les processus de paiement. Les relations entre ces entités sont soigneusement cartographiées, offrant une vue globale des interactions des utilisateurs.
Identifier les lacunes dans la couverture des tests
En visualisant le parcours utilisateur dans un graphique de connaissances, eBay peut facilement identifier les domaines dans lesquels les cas de test existants font défaut. Par exemple, le graphique peut indiquer qu’il n’y a aucun test pour un type spécifique d’interaction utilisateur ou un scénario limite spécifique.
Optimiser la conception des suites de tests
Une fois ces lacunes identifiées, eBay peut concevoir de nouveaux cas de test pour garantir une couverture complète du parcours utilisateur. Les graphiques de connaissances facilitent une approche plus systématique de la conception des scénarios de test, garantissant ainsi que les fonctionnalités sont testées de manière approfondie.
Bien que les détails spécifiques sur les résultats soient limités, l'expérience d'eBay démontre le potentiel des graphiques de connaissances pour améliorer l'efficience et l'efficacité de la conception de scénarios de test pour des systèmes logiciels complexes.
Défis techniques
Il existe des problèmes en suspens dans la création et la maintenance de ces outils puissants. De la collecte et du nettoyage de grandes quantités de données à la garantie que le graphe de connaissances reste à jour, il existe des défis importants à relever. Explorons les exemples de défis en détail.
1. Collecte et nettoyage des données
Collecte de connaissances
Construire un graphe de connaissances complet nécessite de collecter des informations provenant de différentes sources. Cela peut s'avérer une tâche longue et gourmande en ressources, en particulier pour les domaines complexes.
Qualité des données
L'exactitude et la cohérence des informations saisies dans le graphe de connaissances sont cruciales. Nettoyer et filtrer les données pour éliminer les erreurs, les incohérences et les duplications peut constituer un défi de taille.
2. Construction et maintenance du graphe de connaissances
Conception de l'architecture
Définir la structure du graphe de connaissances, y compris les types d'entités, de relations et d'attributs, nécessite une planification minutieuse. Le schéma doit être suffisamment flexible pour accueillir de nouvelles informations tout en maintenant la cohérence.
Population du graphique des connaissances
Remplir le graphique avec des informations précises et à jour peut être un processus continu. À mesure que le monde évolue, les graphiques de connaissances doivent être mis à jour pour refléter ces changements.
3. Intégration et interopérabilité
Intégration des données
Les graphes de connaissances nécessitent souvent l'intégration d'informations provenant de différentes sources, qui peuvent avoir des formats et des structures différents. Concilier ces différences et garantir un flux de données fluide peut s’avérer difficile.
Interopérabilité
Pour que les graphes de connaissances libèrent véritablement leur potentiel, ils doivent être capables de communiquer et d'échanger des informations avec d'autres graphes de connaissances. Des formats et des protocoles standardisés sont nécessaires pour faciliter cette interopérabilité.
4. Raisonnement et raisonnement
Capacités de raisonnement
Bien que les graphiques de connaissances aient le potentiel de raisonner et de déduire de nouvelles informations basées sur des connexions existantes, le développement d'algorithmes de raisonnement puissants est un domaine de recherche en cours.
Explicabilité
Lorsqu’un graphe de connaissances effectue un raisonnement, il est crucial de comprendre le raisonnement qui le sous-tend. Assurer la transparence et l’explicabilité du processus de raisonnement est important pour renforcer la confiance dans le système.
5. Évolutivité et performances
Grands graphes de connaissances
À mesure que la taille et la complexité des graphes de connaissances continuent d'augmenter, la gestion de leur stockage, de leur traitement et de leurs interrogations peut devenir un défi. Des solutions évolutives sont nécessaires pour gérer efficacement de grandes quantités d’informations.
Performance des requêtes
Garantir que les informations sont récupérées rapidement et efficacement à partir des graphiques de connaissances est essentiel pour les applications du monde réel. L'optimisation de la technologie de traitement des requêtes est un défi permanent.
Concluez-le
Les graphiques de connaissances représentent un changement de paradigme dans l'ingénierie et les tests logiciels. En allant au-delà des méthodes traditionnelles de gestion des cas de test, les graphes de connaissances offrent une vue plus complète et interconnectée des systèmes logiciels. Cette représentation structurée des informations ouvre la possibilité d'automatisation, d'optimisation et d'un cycle de vie de développement logiciel plus puissant et plus efficace. À mesure que la technologie évolue et que les défis sont résolus, les graphes de connaissances devraient devenir la pierre angulaire des pratiques modernes d’ingénierie logicielle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!