• Aucun résultat trouvé

CM 1 : Introduction au TAL (I)

N/A
N/A
Protected

Academic year: 2022

Partager "CM 1 : Introduction au TAL (I)"

Copied!
30
0
0

Texte intégral

(1)

CM 1 : Introduction au TAL (I)

Introduction `a la programmation en Python

Jean-Baptiste Tanguy 27 aoˆut 2021

Sorbonne Universit´e

1

(2)

Plan de la pr´esentation

Organisation du cours Variables et affectation Types de donn´ees Op´erateurs Tests Boucles

2

(3)

Organisation du cours

(4)

Organisation du cous

• 4 x 3h en salle machine

• Supports : 1. CM 2. TD 3. Notebooks

• Evaluation :

1. Pr´esence : 20 % 2. Projet final : 80 %

3

(5)

Plan du cours

1. Introduction au TAL (I) - premiers scripts en Python (variables, types, op´erateurs)

2. Introduction au TAL (II) - statistiques de bases sur des textes (tokenisation, lemmatisation)

3. Spacy (I) - analyse syntaxique

4. Spacy (II) - extraction de termes, grammaires locales et reconnaissance d’entit´es nomm´ees

4

(6)

Objectifs

• Connaˆıtre les bases de la programmation Python

• Connaˆıtre les principaux aspects du domaine du TAL

• Automatiser des processus lourds de traitement de textes grˆace `a la programmation Python

−→Introduction au TAL et introduction `a la programmation Python

5

(7)

Variables et affectation

(8)

Variables et affectation

• Dans un programme informatique en g´en´eral et dans un algorithme en particulier, une variableest le nom donn´e `a une valeur(qui peut ˆetre de plusieurs types) stock´ees dans un espace m´emoiredonn´e.

• L’affectationest l’op´eration consistant `a charger une variable par unevaleur. Dans la grande majorit´e des langages de programmation, l’affectation est symbolis´ee par =.

• La valeur contenu dans une variable, comme son nom l’indique, peut varier par affectations successives.

• On peut mettre dans une variable le r´esultat d’une op´eration.

6

(9)

Variables et affectation

n : un entier

n = 1 # On charge n de la valeur 1 ECRIRE(n) # On affiche la valeur de n n = 6 # On charge n de la valeur 6 ECRIRE(n) # On affiche la valeur de n

7

(10)

Types de donn´ ees

(11)

Types de donn´ees

Une donn´ee, la valeur contenu dans une variable, peut ˆetre de plusieurstypes. Il s’agit de lanature des valeurs ainsi que les op´erateursqui peuvent lui ˆetre appliqu´es.

Principaux types de donn´ees en Python :

• Le typeint (entier)

• Le typefloat (flottant, r´eel)

• Le typestr (chaˆıne de caract`eres)

• Le typebool (bool´een, vrai ou faux, respectivement 1 ou 0)

• Le typelist (liste, ou tableau)

8

(12)

Exemples d’affectation

n = 3

print(type(n)) # int f = 3.1

print(type(f)) # float s = ’coucou’

print(type(s)) # str b = True

print(type(b)) # bool l = [1, 2, 3]

print(type(l)) # list

9

(13)

Transtypage

En Python, letypage d’une variable estimpliciteet non d´efinitif (sp´ecificit´e de ce langage, ce n’est pas vrai pour d’autres langages).

var = 3

print(type(var)) # int var = 3.0

print(type(var)) # float var = ’3.0’

print(type(var)) # str var = [’3.0’]

print(type(var)) # list

10

(14)

Transtypage

Il est possible detranstyper une variable, c’est-`a-dire de changer le type de la valeur d’une variable. Ceci se fait grˆace aux fonctions suivantes :int(),float(),str(),bool() et list(). Toutefois, tous les transtypages ne sont pas possibles.

var = 3

print(type(var)) # int var = float(var)

print(var) # 3.0 print(type(var)) # float var = ’coucou’

print(type(var)) # str var = int(var) # ERROR

11

(15)

Un type complexe : le dictionnaire

Un dictionnaire est constitu´e d’un ensemble decl´es uniques auquel est associ´e un ensemble devaleurs. Les cl´es et les valeurs peuvent ˆetre de n’importe quel type ; la seul contrainte ´etant qu’une cl´e doit ˆetre unique. On acc`ede `a une valeur en utilisant sa cl´e.

d = {0: ’Bonjour’, 1: ’,’,

2: ’je’, 3: ’suis’, 4: ’l`a’, 5: ’.’}

print(type(d)) # dict

print(d.keys()) # [0, 1, 2, 3, 4, 5]

print(d.values()) # [’Bonjour’, ’,’, ’je’, ...] 12

(16)

Op´ erateurs

(17)

Op´erateurs

Unop´erateur est un symbole indiquant une op´eration`a r´ealiser entre une, deux ou plusieurs valeurs (op´erateurs unaires, binaires, ternaires...). Ces op´erations peuvent ˆetre r´ealis´ees directement entre des valeurs mais aussi et plus souvent entre des variables.

Op´erateur d’affectation

=

• Affectation simple : n = 3

• Affectation multiple : x = y = z = 6

• Affectation parall`ele : x, y, z = 6, 6, 6 (plus typique en Python)

13

(18)

Op´erateurs

Op´erateurs bool´eens

• or : ou bool´een : X or Y

• and : et bool´een : X and Y

• not: non bool´een : not X avec X et Y des tests

14

(19)

Op´erateurs

Op´erateurs de comparaison

• <: strictement inf´erieur

• ≤: inf´erieur ou ´egal

• >: strictement sup´erieur

• ≥: sup´erieur ou ´egal

• == : ´egal

• != : diff´erent

• is : X is Y : X et Y repr´esentent le mˆeme objet

• is not : X is not Y : X et Y ne repr´esentent pas le mˆeme objet

15

(20)

Op´erateurs

Op´erateurs math´ematiques

• + : addition

• - : soustraction

• * : multiplication

• ** : puissance

• / : division

• // : division enti`ere

• % : modulo (reste de la division euclidienne) NB :

’a’ + ’b’ == ’ab’

3 * ’a’ == ’aaa’

16

(21)

Tests

(22)

Bloc d’instructions et indentation

Unbloc d’instructionsest d´efini par uneindentation obtenue en d´ecalant desinstructions vers la droite grˆace `a desespaces en d´ebut de ligne (g´en´eralement, quatre). Toutes les instruction d’un mˆeme bloc doivent ˆetre indent´ees exactement au mˆeme niveau.

Un bloc peut contenir une ou plusieurs instruction(s), et notamment des instructions compos´ees (tests, boucles).

17

(23)

Instruction if

if condition == True:

# bloc

# d’instructions

avec conditionune expression bool´eenne (valeur : vrai ou faux).

Si condition == True, le bloc d’instuctions situ´e sous l’instruction if est ex´ecut´e.

18

(24)

Instruction if... else

if condition == True:

# bloc

# d’instructions A else:

# bloc

# d’instructions B

avec conditionune expression bool´eenne (valeur : vrai ou faux).

Si condition == True, le bloc d’instuctions A est ex´ecut´e, sinon c’est le bloc d’instructions B qui est ex´ecut´e.

19

(25)

Instruction if... elif... else

if conditionA == True:

# bloc

# d’instructions A elif conditionB == True:

# bloc

# d’instructions B ...

else:

# bloc

# d’instruction n.

avec conditionA/B des

expressions bool´eennes (valeur : vrai ou faux). Si

conditionA == True, le bloc d’instuctions A est ex´ecut´e, sinon, si conditionB == True, le bloc d’instructions B est ex´ecut´e, sinon... sinon c’est le bloc

d’instructions n qui est ex´ecut´e.

20

(26)

Boucles

(27)

Boucle for et boucle while

Lesboucles s’utilisent pour r´ep´eter plusieurs fois l’´execution d’une partie du programme.

Il en existe deux principales :

• for : boucle born´ee (on sait combien de r´ep´etitions il y aura)

• while : boucle non born´ee (on ne connait pas en avance le nombre de r´ep´etitions qu’il y aura)

21

(28)

Boucle for (for compteur in liste)

Exemple d’utilisation :

for i in [0, 1, 2, 3]:

print(’i a pour valeur ’ + str(i)) Affichage apr`es ex´ecution :

i a pour valeur 0 i a pour valeur 1 i a pour valeur 2 i a pour valeur 3

22

(29)

Boucle while (while condition)

Exemple d’utilisation : x = 1

while x < 10:

print(’x a pour valeur ’ + str(x)) x = x * 2

print("Fin")

Affichage apr`es ex´ecution : x a pour valeur 1 x a pour valeur 2 x a pour valeur 4 x a pour valeur 8 Fin

23

(30)

24

Références

Documents relatifs

LE MAGAZINE PAPIER &amp; NUMÉRIQUE (pc et mac) Chaque mois, le magazine pour prendre du recul, améliorer votre expertise métier et votre vision des enjeux du secteur..

Soit (a, b, c) un triplet de r´ eels strictement positifs.. Soit ABC un triangle pseudo-rectangle en A, obtus en B et dont les longueurs des cˆ ot´ es sont des nombres rationnels ;

Il n’est donc pas obligatoire de traiter syst´ ematiquement les questions dans l’ordre de l’´ enonc´ e, ` a condition d’indiquer clairement la question trait´ ee en

Le but de cet exercice est d’´ etudier les intersections d’un cube avec des plans passant par son centre, et d’encadrer l’aire des sections planes ainsi obtenues..

les [] : indique que la variable est de type tableau Toutes les valeurs des cases du tableau sont donn´ ees en

Dans un second temps, nous nous efforce- rons de nous lib´ erer de la contrainte d’exploiter un mod` ele num´ erique d’´ el´ evation – sources disponibles gratuitement mais avec

Interrogeons nous maintenant sur la fa¸con dont sont construits ces tests multidimensionnels, autrement dit sur la fa¸con dont sont obtenues les matrices E pour les erreurs du

Les vecteurs x ∈ R d repr´esentent des conditions initiales que l’utilisateur peut plus ou moins contrˆoler et Ω est un espace de probabilit´es mod´elisant la mal connaissance