Skip to content
forked from madewild/tac

Course material for "Traitement automatique de corpus"

License

Notifications You must be signed in to change notification settings

SelimBenIsmail/tac

 
 

Repository files navigation

TAC

Course material for "Traitement automatique de corpus" (STIC-B545) taught at ULB

Caution: Python 3.6 or higher required to handle f-strings (3.7 or 3.8 is better)

It is recommended to run this code in a virtual environment:

git clone [email protected]:madewild/tac.git
cd tac
pip install virtualenv
virtualenv venv --python=python3
source venv/bin/activate
which pip

Then install Python dependencies with pip install -r requirements.txt

You can use either the scripts (*.py) or the Jypyter Notebooks (*.ipynb)

TP4

selec.py : sélectionne tous les fichiers dans lesquels se trouve une occurence de la chaine de caractères passée en paramètre et génère un fichier _files.sh Saint-Verhaegen_files.sh : copie tous les fichiers sélectionnés par le script selec.py dans un nouveau dossier et concatène leur contenu dans un nouveau fichier texte explore.py : générè un graphique de la dispersion des bulletins en fonction de l'année, basé sur le nom des fichiers catch_sentence.py : Capture les phrases mentionnant la Saint-Verhaegen et y effectue une analyse des sentiment avec TextBlob sentiment.py : Effectue une analyse des sentiments avec TextBlob sur une serie de phrases prédéfinies catch_block.py : Capture toutes les occurences de l'expression "Saint-Verhaegen" ainsi que les n caractères les précédant et les suivant. Concatène l'ensemble dans un nouveau fichier texte. "n" est défini par défaut comme 250, mais peut être changé en passant un nombre entier en paramètre kw.py : Effectue une extraction des mots-clés avec la librairie Yake sur un fichier texte. narapi.py : Extrait les 10 entités les plus présentes dans un corpus et recherche les pages wikipedia des ces dernières grâce à l'API mediawiki. Nécessite l'instalation de la librairie avec pip install pymediawiki

Module 1

s1_sql.py: querying a simple relational database

s2_sparql.py: querying the Wikidata SPARQL endpoint

s3_api.py: playing with OpenStreetMap and EUcountries APIs

s4_scrape.py: scraping the AVB to retrieve 2833 PDF bulletins

Module 2

s1_convert.sh: bash script to convert PDFs to TXTs, move them to dedicated folder and aggregate them in single big text file

s2_explore.py: playing with various categories (city, year, decade, type...)

s3_freq.py: basic frenquency analysis, hapaxes, long words...

Module 3

Keyword extraction

s1_keyword.py: using YAKE to extract French keywords in each text file

s2_wordcloud.sh: generating a wordcloud for a given year (calling filtering.py in the background)

Named-entity recognition

Install SpaCy from requirements then run this command to download French model: python -m spacy download fr_core_news_sm

s3_ner.py: perform NER with SpaCy FR model

Sentiment analysis

s4_sentiment.py: analyse positive/negative sentences with textblob

Module 4

classification.py: supervised classification of 20 newsgroups

clustering.py: unsupervised clustering with k-means

sentence_tokenizer.py: split big text into sentences

model_builder.py: train word2vec model on corpus

model_explorer.py: explore similarity between vectors

Module 5

language_detection: language identification with langid

anonymization.py: de-identification of data with Faker

Module 6

extraction.py: extract text from various file types

htr.sh: script for handwritten text recognition

About

Course material for "Traitement automatique de corpus"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.9%
  • Jupyter Notebook 8.3%
  • Other 0.8%