Projet | Houggingface | arXiv | Zenodo
Incorporer des hiérarchies avec des modèles de langue.
Nouvelles (ChangeLog)?
sentence-transformers>=3.4.0.dev0 ( v0.1.0 ). sentence-transformers<3.0.0 ) et la correction de bogue. ( V0.0.3 ) Le transformateur de hiérarchie (HIT) est un cadre qui permet aux modèles de langue (LMS) basés sur le transformateur d'apprendre des structures hiérarchiques dans l'espace hyperbolique. L'idée principale est de construire une balle Poincaré qui circonscrit directement l'espace d'intégration de sortie de LMS, en tirant parti de l'expansion exponentielle de l'espace hyperbolique pour organiser les intégres entités hiérarchiquement. En plus de présenter ce cadre (voir code sur GitHub), nous nous engageons à entraîner et à publier des modèles à succès dans divers hiérachiies. Les modèles et ensembles de données seront accessibles sur HuggingFace.
Ce référentiel suit une disposition similaire à la bibliothèque sentence-transformers . Le modèle principal étend directement l'architecture du transformateur de phrase. Nous utilisons également deeponto pour extraire les hiérarchies des données source et la construction de ensembles de données à partir de hiérarchies, et geoopt pour l'arithmétique dans l'espace hyperbolique.
La version actuelle de
sentence-transformers=3.3.1contient des bogues pendant l'évaluation, qui ont été corrigées dans leur version GitHub Devsentence-transformers=3.4.0.dev0, veuillez mettre à jour la dépendance manuellement jusqu'à ce que le3.4.0officiel soit publié.
# requiring Python>=3.9
pip install hierarchy_transformerspip install git+https://github.com/KRR-Oxford/HierarchyTransformers.gitNos modèles et ensembles de données à succès sont publiés sur le hub Huggingface.
from hierarchy_transformers import HierarchyTransformer
# load the model
model = HierarchyTransformer . from_pretrained ( 'Hierarchy-Transformers/HiT-MiniLM-L12-WordNetNoun' )
# entity names to be encoded.
entity_names = [ "computer" , "personal computer" , "fruit" , "berry" ]
# get the entity embeddings
entity_embeddings = model . encode ( entity_names )Utilisez les intégres d'entités pour prédire les relations de subsomption entre eux.
# suppose we want to compare "personal computer" and "computer", "berry" and "fruit"
child_entity_embeddings = model . encode ([ "personal computer" , "berry" ], convert_to_tensor = True )
parent_entity_embeddings = model . encode ([ "computer" , "fruit" ], convert_to_tensor = True )
# compute the hyperbolic distances and norms of entity embeddings
dists = model . manifold . dist ( child_entity_embeddings , parent_entity_embeddings )
child_norms = model . manifold . dist0 ( child_entity_embeddings )
parent_norms = model . manifold . dist0 ( parent_entity_embeddings )
# use the empirical function for subsumption prediction proposed in the paper
# `centri_score_weight` and the overall threshold are determined on the validation set
subsumption_scores = - ( dists + centri_score_weight * ( parent_norms - child_norms ))Utilisez l'exemple de scripts dans notre référentiel pour reproduire les modèles existants et former / évaluer vos propres modèles.
Copyright 2023 Yuan He.
All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at *<http://www.apache.org/licenses/LICENSE-2.0>*
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Si vous trouvez ce référentiel ou les modèles publiés utiles, veuillez citer notre publication:
Yuan He, Zhangdie Yuan, Jiaoyan Chen, Ian Horrocks. Modèles linguistiques en tant que codeurs de hiérarchie. Pour apparaître chez les neirips 2024. / ArXiv / / nererips /
@article{he2024language,
title={Language Models as Hierarchy Encoders},
author={He, Yuan and Yuan, Zhangdie and Chen, Jiaoyan and Horrocks, Ian},
journal={arXiv preprint arXiv:2401.11374},
year={2024}
}