{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "_UXAjutbMhoa" }, "source": [ "# Que peuvent faire les *transformers* ?" ] }, { "cell_type": "markdown", "metadata": { "id": "P3GIqRT-Mhoe" }, "source": [ "Installez la bibliothèque 🤗 *Transformers* pour exécuter ce *notebook*." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "KGUwAC1zMhoj" }, "outputs": [], "source": [ "!pip install transformers[sentencepiece]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ehB754vsO78P" }, "outputs": [], "source": [ "from transformers import pipeline" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "5VmlNOR-OdIU" }, "source": [ "### Analyse de sentiments" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ILYepD-3Mhom" }, "outputs": [], "source": [ "classifier = pipeline(\"sentiment-analysis\")\n", "classifier(\"I've been waiting for a HuggingFace course my whole life.\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "uYmC3B-ZMhoo" }, "outputs": [], "source": [ "classifier = pipeline(\"sentiment-analysis\", model=\"tblard/tf-allocine\")\n", "classifier(\"J'ai attendu un cours d'HuggingFace toute ma vie.\") " ] }, { "cell_type": "markdown", "metadata": { "id": "WSiD3eYEMhos" }, "source": [ "Intéressant ! On observe que le résultat est négatif là où pour la version en anglais le résultat est positif." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "6jo4BXTXMhou" }, "outputs": [], "source": [ "classifier(\n", " [\"J'ai attendu un cours d'HuggingFace toute ma vie.\", \n", " \"Je déteste tellement ça !\"]\n", ") # pour classifier plusieurs phrases" ] }, { "cell_type": "markdown", "metadata": { "id": "vpC8hlc_OBc8" }, "source": [ "La phrase \"J'ai attendu un cours d'HuggingFace toute ma vie.\" qui était précedemment négative devient à présent positive." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "8LQ52fFqOrQa" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "TgmwK2d6OlFE" }, "source": [ "### Zéro shot classification" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "agGiUvz5Mho1" }, "outputs": [], "source": [ "classifier = pipeline(\"zero-shot-classification\", model=\"BaptisteDoyen/camembert-base-xnli\")\n", "classifier(\n", " \"C'est un cours sur la bibliothèque Transformers\",\n", " candidate_labels=[\"éducation\", \"politique\", \"affaires\"],\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "X1WCoo63Mho4" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "kujBeTwDO9_3" }, "source": [ "### Génération de texte" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "66Sc0NpBMho6" }, "outputs": [], "source": [ "generator = pipeline(\"text-generation\", model=\"asi/gpt-fr-cased-small\")\n", "generator(\"# Dans ce cours, nous vous enseignerons comment\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "wb6QpQF6Mho8" }, "outputs": [], "source": [ "generator = pipeline(\"text-generation\", model=\"asi/gpt-fr-cased-small\")\n", "generator(\n", " \"# Dans ce cours, nous vous enseignerons comment\",\n", " max_length=30,\n", " num_return_sequences=1,\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "PvMBHts1Mho9" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "0kU4aFbAPZ5a" }, "source": [ "### Remplacement des mots masqués" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "6UV_20PfMho_" }, "outputs": [], "source": [ "unmasker = pipeline(\"fill-mask\", model=\"camembert-base\")\n", "unmasker(\" Ce cours vous apprendra tout sur les modèles .\", top_k=2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "cyZdM9VqMhpC" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "PvNljOY6Pao6" }, "source": [ "### Reconnaissance d'entités nommées" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "_k7zh7FYMhpD" }, "outputs": [], "source": [ "ner = pipeline(\"ner\", model=\"Jean-Baptiste/camembert-ner\", grouped_entities=True)\n", "ner(\"Je m'appelle Sylvain et je travaille à Hugging Face à Brooklyn.\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "XZdeSFqnMhpF" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "ZEIu6FbnQUTb" }, "source": [ "### Réponse à des questions" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ZTX2bUsgMhpG" }, "outputs": [], "source": [ "question_answerer = pipeline(\"question-answering\", model=\"etalab-ia/camembert-base-squadFR-fquad-piaf\")\n", "question_answerer(\n", " question=\"Où est-ce que je travaille ?\",\n", " context=\"Je m'appelle Sylvain et je travaille à Hugging Face à Brooklyn.\",\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Cz8QMHu8MhpI" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "XZQEgjAZQW7-" }, "source": [ "### Résumé" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "7m_mQN_jMhpJ" }, "outputs": [], "source": [ "summarizer = pipeline(\"summarization\", model=\"moussaKam/barthez-orangesum-abstract\")\n", "summarizer(\n", " \"\"\"\n", " L'Amérique a changé de façon spectaculaire au cours des dernières années. Non seulement le nombre de \n", " diplômés dans les disciplines traditionnelles de l'ingénierie telles que le génie mécanique, civil, \n", " l'électricité, la chimie et l'aéronautique a diminué, mais dans la plupart \n", " des grandes universités américaines, les programmes d'études d'ingénierie se concentrent désormais sur \n", " et encouragent largement l'étude des sciences de l'ingénieur. Par conséquent, il y a \n", " de moins en moins d'offres dans les sujets d'ingénierie traitant de l'infrastructure, \n", " l'environnement et les questions connexes, et une plus grande concentration sur les sujets de haute \n", " technologie, qui soutiennent en grande partie des développements scientifiques de plus en plus \n", " complexes. Si cette dernière est importante, elle ne doit pas se faire au détriment\n", " de l'ingénierie plus traditionnelle.\n", "\n", " Les économies en développement rapide telles que la Chine et l'Inde, ainsi que d'autres \n", " pays industrialisés d'Europe et d'Asie, continuent d'encourager et de promouvoir\n", " l'enseignement de l'ingénierie. La Chine et l'Inde, respectivement, diplôment \n", " six et huit fois plus d'ingénieurs traditionnels que les États-Unis. \n", " Les autres pays industriels maintiennent au minimum leur production, tandis que l'Amérique \n", " souffre d'une baisse de plus en plus importante du nombre de diplômés en ingénierie\n", " et un manque d'ingénieurs bien formés.\n", "\"\"\"\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "D6VvM9ZTMhpL" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "T9Ombhj_QrDc" }, "source": [ "### Traduction" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "VTIsplaDMhpM" }, "outputs": [], "source": [ "translator = pipeline(\"translation\", model=\"Helsinki-NLP/opus-mt-en-fr\")\n", "translator(\"This course is produced by Hugging Face.\")" ] } ], "metadata": { "colab": { "collapsed_sections": [], "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 1 }