v1
This commit is contained in:
parent
a207c71687
commit
b452b1b253
5 changed files with 61 additions and 9 deletions
47
Exo.py
Normal file
47
Exo.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
document_1 = "le chat mange la souris"
|
||||
document_2 = "le chien regarde le canard"
|
||||
document_3 = "le canard regarde le chat"
|
||||
|
||||
corpus = (document_1, document_2, document_3)
|
||||
|
||||
# construction du dictionnaire
|
||||
vocabulary = []
|
||||
for d in corpus:
|
||||
for w in d.split(" "):
|
||||
if w not in vocabulary:
|
||||
vocabulary.append(w)
|
||||
|
||||
# calcul d'un histogramme simple sur le corpus
|
||||
|
||||
# initialisation de l'histogramme
|
||||
freq = dict()
|
||||
for v in vocabulary:
|
||||
freq[v] = 0
|
||||
|
||||
# comptage des occurrences
|
||||
for d in corpus:
|
||||
for w in d.split(" "):
|
||||
freq[w] += 1
|
||||
|
||||
print(freq)
|
||||
df = pd.DataFrame({'freq':freq.values()}, index=freq.keys())
|
||||
ax = df.plot.bar(rot=0)
|
||||
plt.show()
|
||||
|
||||
# calcul d'un histogramme par document
|
||||
import numpy as np
|
||||
|
||||
V = len(vocabulary)
|
||||
D = len(corpus)
|
||||
|
||||
tf_idf = np.zeros([D, V])
|
||||
|
||||
for i, d in enumerate(corpus):
|
||||
for w in d.split(" "):
|
||||
j = vocabulary.index(w)
|
||||
tf_idf[i,j] += 1
|
||||
|
||||
print(tf_idf)
|
BIN
Word_embedding.docx
Normal file
BIN
Word_embedding.docx
Normal file
Binary file not shown.
|
@ -2,16 +2,16 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0f3d617c",
|
||||
"id": "d8ffd3a0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# TP Word Embedding\n",
|
||||
"\n",
|
||||
"## Bag of Words\n",
|
||||
"Un sac de mots (ou *Bag of Words* en anglais, parfois abbrévié *BOW*) est un description d'un ensemble de mot sous forme d'un vecteur où l'ordre des mots ne rentre pas en compte.\n",
|
||||
"Un sac de mots (ou *Bag of Words* en anglais, parfois abbrévié *BOW*) est une description d'un ensemble de mots sous forme d'un vecteur où l'ordre des mots ne rentre pas en compte.\n",
|
||||
"\n",
|
||||
"### Term Frequency\n",
|
||||
"L'idée de Term Frequency est d'effectué un simple compte du nombre d'occurence (ou de la fréquence) du nombre de mots dans le corpus.\n",
|
||||
"L'idée de Term Frequency est d'effectuer un simple compte du nombre d'occurence (ou de la fréquence) de mots dans le corpus.\n",
|
||||
"\n",
|
||||
"Soit un vocabulaire $V$ dans un corps $C$ contenant $D$ documents.\n",
|
||||
"Soit $w$ un mot dans un document $d \\in C$.\n",
|
||||
|
@ -23,7 +23,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"execution_count": null,
|
||||
"id": "a1445527",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
|
@ -37,7 +37,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": null,
|
||||
"id": "6c989264",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
|
@ -85,7 +85,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": null,
|
||||
"id": "5fc408eb",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
|
@ -125,13 +125,13 @@
|
|||
"* résoud uniquement le premier problème cité précedement\n",
|
||||
"* devrait être une implémentation en matrice creuse (*sparse matrix*) car va en pratique contenir beaucoup de zéros pour un vocabulaire grand\n",
|
||||
"\n",
|
||||
"Heuresement des implémentations existantes comme dans `scikit learn` permettent de résoudre ces problèmes techniques."
|
||||
"Heureusement des implémentations existantes comme dans `scikit learn` permettent de résoudre ces problèmes techniques."
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"display_name": "Python 3.9.4 64-bit",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
|
@ -145,7 +145,12 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.7"
|
||||
"version": "3.9.4"
|
||||
},
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "2ef431f6525756fa8a44688585fa332ef3b2e5fcfe8fe75df35bbf7028a8b511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
BIN
freq.png
Normal file
BIN
freq.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
~$rd_embedding.docx
Normal file
BIN
~$rd_embedding.docx
Normal file
Binary file not shown.
Loading…
Reference in a new issue