Commit 41c61330 authored by gijs's avatar gijs

Markbot chain installation

parent 42c89109
# Florian script for expo
markbot chain script for exhoibition
## note
*FDVW*, 02/03/2019:
- (1) J'aimerais qu'au moment où il affiche une partie du contenu du fichier data.txt, il print le fichier à l'envers, de manière à ce que la dernière phrase enregistrée dans le fichier soit print en premier.
- (2) J'ai aussi modifier le fait que les phrases générées soient en lowercase, mais j'aimerais que la première lettre soit à chaque fois en uppercase. (Le str.title() ne fonctionne pas).
*FZ*, 11/03/2019
- (1)
il me semble que ce dont tu parles se situes à la ligne 138:
```python
for i in range(0,70):
print(tronconnage(tabulation + linelist[i]))
time.sleep(0.1
```
de toute façon le principe est le même: pour afficher une liste "à l'envers", plutôt que de faire 0,1,2,3,4,etc, tu fais :
```python
l = ['ddfd','ddfd',...,'ddfd','ddfd','ddfd','ddfd']
for i in range( 0,50 ):
l[ len(l-1) - i ]
```
on part du dernier, *len(l)-1*, et on remonte en fonction de *i*, donc -0, -1, -2, -3, etc...
- (2)
si *.title()* ne suffit/marche pas, tu fais ce qu'il fait à la main, càd:
```python
s = 'sfvdgfgdfgdf'
s_cap = s[0].upper() + s[1:] #premier char en majuscule + reste de la chaîne, sans la première lettre
print(s_cap)
```
ça t'affichera:
```
Sfvdgfgdfgdf
```
```
if [ $(tty) == /dev/tty1 ]; then
bash /home/pi/Documents/mundaneum/exhibition/markbot_chain/markbot_chain.sh
fi
```
\ No newline at end of file
Il est Belge
Raymond Queneau et François Lelionnais
bien
Trois jours et tout mon pognon
Des principes moraux
Rien, quedal, nada
Je n'en sais absolument rien
Car elle fait peur
Du cosmos
La bible
C'est long comme question
Aucunes idées
clear
c'est vrai
Une qualité hors norme
Il était une fois un élève qui ne savait rien
Les livres, probablement
La discution, l'information de la presse, etc
Pour la pudeur
Pouvoir avoir une idée sur la production du livre et de l'image imprimée
Des hommes compétents
De chair et de peau
La recherche et le classement des données
Elles contiennent des informations importantes
LEs assurances
Bah j'en sais rien
Sur la base du cerveau
Plutôt mal
En observant la linguistique
Des conceptions un peu divinatoire
En s'organisant un maximum , planning, farde, classification, etc...
En rendant l'exercice plus facile
from pattern.fr import parsetree
# from pattern.en import parsetree
from collections import namedtuple
from colored import fg, bg, attr
import os
import random
import re
import time
import sys
# prevent sigint?
import signal
def handler(_, __):
pass
signal.signal(signal.SIGINT, handler)
#Largeur phrase + suffix (tronçonnage)
max_char = 75
suffix = "..."
def tronconnage(abcd):
abcd = abcd.replace('\n','')
abcd = abcd.replace('\r','')
if len(abcd) <= max_char:
return abcd
return abcd[:max_char] + suffix
def delay_print(a):
for c in a:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.04)
MarkovModel = namedtuple('MarkovModel', ['keys', 'data', 'history'])
def clear():
os.system('clr' if os.name == 'nt' else 'clear')
def as_key (str):
return str.lower()
def make_key (inp):
return tuple([as_key(w) for w in inp])
def make_markov_model (corpus, history=3):
model = MarkovModel(keys = [], history=history, data = {})
for i in range(history, len(corpus)):
key = make_key(corpus[(i-history):i])
if not key in model.keys:
model.keys.append(key)
model.data[key] = []
model.data[key].append(corpus[i])
return model
def generate (model, text_length = 50, seed = None):
if seed is None:
key = random.choice(model.keys)
else:
key = make_key(seed)
text = list(key)
while (len(text) < text_length):
if (key in model.keys):
text.append(random.choice(model.data[key]))
new_key = list(key[1:])
new_key.append(text[-1])
key = make_key(new_key)
else:
return text
return text
def get_model_statistics (model):
statistics = {
'size': len(model.data),
'alternatives': { '1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '5+': 0 }
}
for key, entries in model.data.items():
l = len(entries)
if l == 1:
statistics['alternatives']['1'] += 1
elif l == 2:
statistics['alternatives']['2'] += 1
elif l == 3:
statistics['alternatives']['3'] += 1
elif l == 4:
statistics['alternatives']['4'] += 1
elif l == 5:
statistics['alternatives']['5'] += 1
else:
statistics['alternatives']['5+'] += 1
return statistics
def make_text (words):
text = ''
first_word = True
captilize = True
for word in words:
if re.match(r'\W', word) is not None:
text += word
if re.match(r'[!?\.]+$', word) is not None:
captilize = True
if re.match(r'\n+$', word) is not None:
first_word = True
else:
if not first_word:
text += ' '
text += word.capitalize() if captilize else word
captilize = False
first_word = False
return text
while True:
f = open ('data.txt', 'a')
delay_print('\n%s%sStart\n%s' % (fg(118), bg(0), attr(1)))
time.sleep(0.5)
delay_print('\nChargement des fichiers...\n')
time.sleep(0.5)
delay_print('%s%sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%s' % (fg(113), bg(113), attr(0)))
delay_print('100%\n')
time.sleep(0.5)
delay_print('\n')
delay_print('%s%s|_ Sentence.txt\n%s' % (fg(226), bg(0), attr(0)))
time.sleep(0.5)
choicefile = open("sentence.txt","r")
tabulation = ('%s%s\t|_ %s' % (fg(226), bg(0), attr(0)))
numberOfLine = 0
linelist=[]
for phrase in choicefile:
linelist.append(phrase)
numberOfLine += 1
for i in range(0,70):
print(tronconnage(tabulation + linelist[i]))
time.sleep(0.1)
choice=random.choice(linelist)
print('\n',numberOfLine ,'%s%squestions chargées%s' % (fg(11), bg(0), attr(0)))
time.sleep(0.5)
delay_print('%s%s\n↓ Question sélectionnée ↓\n%s' % (fg(118), bg(0), attr(0)))
i = input(choice + '\n' + '%s%sVotre réponse: %s' % (fg(129), bg(0), attr(0)))
i = i.strip()
if len(i) > 0:
f.write(i+'\r\n')
f.flush()
delay_print('%s%s\nRéponse enregistrée dans le fichier data !\n%s' % (fg(118), bg(0), attr(1)))
time.sleep(1)
delay_print('%s%s\n|_ data.txt\n%s' % (fg(226), bg(0), attr(0)))
time.sleep(0.5)
datas = open("data.txt","r")
listdata=[]
dataNumber = 0
for data in datas:
listdata.append(data)
dataNumber += 1
for v in range(0,25):
print(reversed(tronconnage(tabulation + listdata[v])))
time.sleep(0.1)
time.sleep(3)
clear()
with open('data.txt','r') as h:
raw_text = h.read()
parsed_text = parsetree(raw_text)
# tokens = [[word.string for word in sentence.words] for sentence in parsed_text.sentences]
tokens = []
for sentence in parsed_text.sentences:
tokens.extend([word.string for word in sentence.words])
model = make_markov_model(tokens, history = 1)
delay_print("%s%s\nMarkov process%s" % (fg(14), bg(0), attr(0)))
time.sleep(1)
print("\n")
delay_print("%s%s*****\n%s" % (fg(226), bg(0), attr(0)))
delay_print("%s%sMaking model (monogram)%s" % (fg(226), bg(0), attr(0)))
print('\n')
model = make_markov_model(tokens, history = 1)
print(get_model_statistics(model))
print('\n')
print(model)
delay_print("%s%s\nFichier data.txt parsed mot par mot%s" % (fg(226), bg(0), attr(0)))
time.sleep(2)
clear()
delay_print("%s%s\nGenerating text of monogram model%s" % (fg(129), bg(0), attr(0)))
print('\n')
for i in range(5):
delay_print(str.lower(make_text(generate(model, 50))))
print('\n')
delay_print('%s%s\n______________________________________________________\n%s'% (fg(124), bg(0), attr(0)))
time.sleep(2)
delay_print("\n")
time.sleep(1)
clear()
delay_print("%s%s\n*****\n%s" % (fg(226), bg(0), attr(0)))
delay_print("%s%sMaking model (bigram)%s" % (fg(226), bg(0), attr(0)))
print('\n')
model = make_markov_model(tokens, history = 2)
print(get_model_statistics(model))
print('\n')
print(model)
delay_print("%s%s\nFichier data.txt parsed par groupe de deux mots%s" % (fg(226), bg(0), attr(0)))
time.sleep(2)
clear()
delay_print("%s%s\nGenerating text of bigram model%s" % (fg(129), bg(0), attr(0)))
print('\n')
for i in range(5):
delay_print(str.lower(make_text(generate(model, 50))))
print('\n')
delay_print('%s%s\n______________________________________________________\n%s'% (fg(124), bg(0), attr(0)))
time.sleep(2)
delay_print("\n")
time.sleep(1)
clear()
time.sleep(0.5)
delay_print('%s%s\nFin du processus, merci de votre participation\n%s' % (fg(118), bg(0), attr(0)))
time.sleep(0.5)
delay_print('%s%s\n Reboot dans ...\n%s' % (fg(124), bg(0), attr(0)))
time.sleep(0.5)
delay_print('%s%s3\n%s' % (fg(118), bg(0), attr(0)))
time.sleep(1)
delay_print('%s%s2\n%s' % (fg(226), bg(0), attr(0)))
time.sleep(1)
delay_print('%s%s1\n%s' % (fg(124), bg(0), attr(0)))
time.sleep(1)
clear()
#!/bin/bash
clear
while true
do
/usr/bin/python3 /home/pi/Documents/mundaneum/exhibition/markbot_chain/markbot_chain.py
done
\ No newline at end of file
pour le nom de la machine: Taoven@Markbot Chain v1
library:
pip install colored
pip install pattern
pip install collections
pip install parsetree
pip install namedtuple
pip install os
pip install random
pip install re
pip install time
pip install sys
\ No newline at end of file
Quel était le document présentant le plus de garantie au point de vue de l' authenticité et de la plénitude des imprimés à enregistrer ?
Quel a ete Ie sort des classiflcations sois-disant naturelles successivement pronées par Bacon , Ampere , Comte , Spencer , Wundt , de la Grasserie et vingt autres philosophes ?
Pourquoi faut-il donner la préference aux produits CRISTALLOS ? ?
Comment la classer ?
Pourquoi donc séparer toutes ces sciences de la science mère ?
Pourquoi donc ne pas leur demander une histoire générale des sciences , à l'élaboration de laquelle les hommes les plus compétents prendraient part ?
Quel est l'organisme chargé de cette fonction ?
Quelles sont les sanctions ?
Quelles sont ces conceptions ?
Quel est cet idéal ?
Comment inventorier les écrits ?
Quel temps et quel argent perdus ?
Et où en sommes nous à la fin du XIX siècle ?
Quelle naissance en effet lui chercherais-tu ?
D' où vient le vaste uni, d'après Edwin Hubble ?
Comment se présente à nous le son ?
D' où venons-nous ?
Quelles sont nos relations avec nos semblables ?
Quelle est l' ontologie de la personne morale ?
En quoi est-il intéressant ?
Quelle est la signification de tout cela ?
Pourquoi quelque chose existe-t-il au lieu de l'absolu néant ?
Quels principes ont présidé aux choix ?
Quelle est la valeur de cette classification ?
Quels sont ces principes ?
Comment sortir de semblable difficulté avec les seules règles posées ?
Quand on les aura employés , à quels artifices se propose-t-on d'avoir recours ?
Quelles difficultés ne naîtront pas de là ?
Qui n'a constaté que nonobstant l' apparition de livres nouveaux , renouvelant le sujet , apportant des textes inconnus , effaçant légendes et erreurs , de bons écrivains continuent à se servir , pour en nourrir leurs écrits , de livres vieillis et réfutés ?
Qui l' eût cru ?
Comment sont conservés les stocks ?
Qui les rédige ?
Comment sont-ils faits ?
Comment les publications officielles sont mises dans le commerce et que contiennent-elles ?
Comment en effet déterminer les papiers qu'utilisait un imprimeur , si ce n' est en réunissant les marques relevées dans tous les livres sortis de son officine ?
Sur quelles bases établir cette unification ?
Comment agissent les bisulfites dans les bains de developpement ?
Quand il y en aura partout, ce sera bien alors le musée photographique de la France , que vont en dire les societas de photographie pour lesquelles ce sera un incroyable element d'activité , les societés archeologiques qui vont voir leurs veux realisés , les syndicats d'initiative qui comprendront ce que leur apporteront de publicité ces concours OU les sites et les heautes naturelles ont leur place indiquée , et , enfin , les municipalites qui vont s'enrichir de collections infiniment curieuses ?
Pourquoi n'exiger la géographie que des candidates à la section des estampes ?
De quelle manière ?
Qui lira le travail pour le bibliographe de rechercher dans quelle province se trouvent ces fiches , qui les écrira , et qu'en fera le spécialiste ?
Quelles influences sont favorables ou contraires au développement de la production littéraire ?
Quel en est le role dans le mouvement monétaire ?
Pourquoi la redouter , ne pas l'accepter , la systematiser , alors que déjà elle existe , avec reticence , fragmentée , occultement ?
Comment découvrir la formule commune allemande , anglaise ou française ? Il faut le reconnaître que l'on ne possède que des législations d'une connaissance imparfaite ?
Quels sont les faits nouveaux acquis ?
Quelles sont les tendances actuelles de la science et de l' organisation en ces matières ?
Quelles influences sont favorables ou contraires du développement de la production littéraire ?
Quel est chez chaque peuple le graphique universel , ou quel est le nombre d'ouvrages qui ont été à l'étendue du besoin de lecture ?
Quels sont les périodiques spéciaux Lorsqu'un auteur a élaboré dans le silence du cabinet de travail qui donnent des analyses des ouvrages qui leur sont envoyés ?
Pourquoi la langue latine , plutôt qu'une autre ?
Quel est le but et quelle est l'utilité de la statistique des imprimés ?
Quelle est la meilleure méthode à suivre pour obtenir des données statistiques certaines, uniformes et comparables ?
Quelles institutions doivent être chargées de l'établissement de la statistique des imprimés ?
Quelles sont les sources de la statistique des imprimés ?
Quels éléments doivent être relevés dans la statistique des imprimés ?
Quels sont les procédés de la statistique des imprimés ?
Comment prétendre remplacer cette notion par un seul nombre ?
Quelle qualité puis-je fournir à ce prix aux clients ?
Quelle place doit occuper l'indice décimal à imprimer sur le livre même ?
Comment aplanir cette difficulté ?
En quoi une coopération est-elle désirable au triple point de vue des Associations officielles , des Associations libres et de l' œuvre federative , coordinatrice et centralisatrice de l' Union ?
Sur quelles bases , établir la distinction entre les Associations internationales officielles et les Associations libres , entre l' organisation de la vie internationale publique et celle de la vie internationale privée ?
Par quels moyens pratiques amener plusieurs Associations , ayant un objet semblable , à fusionner entre elles ou à établir un lien fédéral assurant la représentation unique des intérêts universels de la même catégorie ?
De quelle manière ?
Quelles conséquences juridiques tirer d' une telle conception ?
Quelle loi nationale est applicable aux locaux , bâtiments , collections et objets mobiliers , aux conventions de droit civil conclues par l' Association ?
Quelle loi règle la situation des délégués , agents et employés ?
Quels tribunaux sont compétents et quels recours sont possibles auprès de la Cour internationale d' arbitrage ?
Quelles différences sont suffisantes pour justifier la coexistence d' organismes distincts ( confession religieuse des membres , caractère officiel ou privé des membres , langues en usage dans les délibérations , adoption de principes différents ) ?
Quelle application particulière de ces concepts peut-on faire à votre Association ?
Quels autres voies et moyens entrevoyez - vous pour l' avenir ?
Lesquelles de ces mesures sont les plus efficaces ?
A qui incombe le soin de les obtenir ?
Quel est le rôle à cet égard de l' État où l' Association a son siège ?
Qui y contribue et en particulier comment est réglée la cotisation fédérale des Associations affiliées ?
Où et quand ?
Comment la corrélation pourrait-elle être établie ?
Sur quelle question ?
Pourquoi s'arrêter en si bonne voie et ne pas concentrer toutes les règles et toutes les ententes relatives à l' organisation du travail , dans un code unique divisé en autant de parties que de banches d' organisation ?
Quel est le but et quelle est l' utilité de la statistique des imprimés ?
Quelle est la meilleure méthode à suivre pour obtenir des données statistiques certaines , uniformes et comparables ?
Quelles institutions doivent être chargées de l' établissement de la statistique des imprimés ?
Quelles sont les sources de la statistique des imprimés ?
Quels sont les procédés de la statistique des imprimés ?
Comment les structures sociales se forment ?
Comment les structures sociales se conservent ?
Comment les structures sociales évoluent ?
Pourquoi personne ne songea-t-il à les faire revivre à la Session de Leipzig ?
Quel est l' organisme chargé de cette fonction ?
Quelles sont les sanctions ?
Quelles sont ces conceptions ?
Quel est cet idéal ?
De quelle valeur sociale serait un empirique d' une intelligence merveilleuse qui , par ces seuls moyens découvrirait de nos jours la gravitation universelle , la machine de Watt ou la dynamo de Gramme ?
Comment inventorier les écrits de manière à connaître tout ce qui a été publié ?
Quel temps et quel argent perdus ?
Quels sont les articles publiés dans de telle revue ?
Sur quelle oeuvre , en effet , fonder un choix qui soit ratifié par tous ?
Qui donc oserait nous en faire u n grief ?
Quand nous employons la numération décimale pour affirmer l' existence de nos 3 X 10 = 30, 2 ou 32 dents , comment ne vient-il pas alors à la pensée des détracteurs de la Classification décimale d' inventer de nouveaux chiffres jusqu' à concurrence de ce nombre , afin d' empêcher qu' à l' avenir on ne compte de dix en dix ?
Quelle est sa signification ?
Quel révelateur emploierons-nous ?
Pourquoi rechercher tant de perfection dans l' image , vous demanderez-vous ?
Sur quels sujets ?
Où pourraient être établis leurs sièges ?
Quel format faut-il adopter pour les publicatious périodiques ?
Qui niera cependant la nécessité moderne d' un enseignement encyclopédique ?
Quels sont les faits nouveaux acquis ?
Quelles sont les tendances actuelles de la science et de l' organisation en ces matières ?
Comment se rendre maître de cette masse considérable de papier ?
Comment faire pour s'en débarrasser quand momentanément ils ne sont plus utiles , pour les retrouver immédiatement lorsque quelque incident oblige à les consulter à nouveau ?
Comment ces sociétés font-elles pour vivre ?
Quelle que soit l'importance industrielle d'une nation, est-il possible , sans entente internationale , de fixer des règles et une standardisation qui puissent réunir l' assentiment de tous ?
Pourquoi cette préference accordee aux bains séparés ?
Comment s'appelle cette science ?
Comment se définit , se délimite et se divise son objet ?
Quels ouvrages de deux millions de volumes et dont l'accroissement annuel dépasse a publié tel auteur ?
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment