latest features
This commit is contained in:
commit
e35f6c2e71
Binary file not shown.
Binary file not shown.
|
|
@ -1,238 +0,0 @@
|
|||
import disable_sklearn_warnings
|
||||
import nltk
|
||||
import numpy as np
|
||||
import os
|
||||
from os.path import join
|
||||
from sklearn.feature_extraction.text import TfidfVectorizer
|
||||
from sklearn.feature_selection import SelectKBest
|
||||
from sklearn.feature_selection import chi2
|
||||
from sklearn.preprocessing import normalize
|
||||
from scipy.sparse import hstack, csr_matrix, issparse
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
function_words = ["et", "in", "de", "ad", "ut", "cum", "non", "per", "a", "que", "ex", "sed"]
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# document loading routine
|
||||
# ------------------------------------------------------------------------
|
||||
def _load_texts(path):
|
||||
# load the training data (all documents but Epistolas 1 and 2)
|
||||
documents = []
|
||||
authors = []
|
||||
ndocs=0
|
||||
for file in os.listdir(path):
|
||||
if file.startswith('EpistolaXIII_'): continue
|
||||
file_clean = file.replace('.txt','')
|
||||
author, textname = file_clean.split('_')[0],file_clean.split('_')[1]
|
||||
text = open(join(path,file), encoding= "utf8").read()
|
||||
|
||||
documents.append(text)
|
||||
authors.append(author)
|
||||
ndocs+=1
|
||||
|
||||
# load the test data (Epistolas 1 and 2)
|
||||
ep1_text = open(join(path, 'EpistolaXIII_1.txt'), encoding="utf8").read()
|
||||
ep2_text = open(join(path, 'EpistolaXIII_2.txt'), encoding="utf8").read()
|
||||
|
||||
return documents, authors, ep1_text, ep2_text
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# split policies
|
||||
# ------------------------------------------------------------------------
|
||||
# TODO: implement other split policies (e.g., overlapping ones, etc)
|
||||
def split_by_endline(text):
|
||||
return [t.strip() for t in text.split('\n') if t.strip()]
|
||||
|
||||
|
||||
def split_by_sentences(text):
|
||||
pass
|
||||
|
||||
|
||||
def splitter(documents, authors=None, split_policy=split_by_endline):
|
||||
fragments = []
|
||||
authors_fragments = []
|
||||
for i, text in enumerate(documents):
|
||||
text_fragments = split_policy(text)
|
||||
fragments.extend(text_fragments)
|
||||
if authors is not None:
|
||||
authors_fragments.extend([authors[i]] * len(text_fragments))
|
||||
|
||||
if authors is not None:
|
||||
return fragments, authors_fragments
|
||||
return fragments
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# feature extraction methods
|
||||
# ------------------------------------------------------------------------
|
||||
# TODO: implement other feature extraction methods
|
||||
def _features_function_words_freq(documents):
|
||||
"""
|
||||
Extract features as the frequency (x1000) of the functions used in the documents
|
||||
:param documents: a list where each element is the text (string) of a document
|
||||
:return: a np.array of shape (D,F) where D is len(documents) and F is len(function_words)
|
||||
"""
|
||||
features = []
|
||||
for text in documents:
|
||||
tokens = nltk.word_tokenize(text)
|
||||
author_tokens = ([token.lower() for token in tokens if any(char.isalpha() for char in token)])
|
||||
# author_tokens = ([token.lower() for token in tokens])
|
||||
freqs = nltk.FreqDist(author_tokens)
|
||||
|
||||
nwords = len(author_tokens)
|
||||
funct_words_freq = [1000. * freqs[function_word] / nwords for function_word in function_words]
|
||||
|
||||
features.append(funct_words_freq)
|
||||
|
||||
return np.array(features)
|
||||
|
||||
|
||||
def _features_tfidf(documents, tfidf_vectorizer=None):
|
||||
"""
|
||||
Extract features as tfidf matrix extracted from the documents
|
||||
:param documents: a list where each element is the text (string) of a document
|
||||
:return: a tuple M,V, where M is an np.array of shape (D,F), with D being the len(documents) and F the number of
|
||||
distinct words; and V is the TfidfVectorizer already fit
|
||||
"""
|
||||
if tfidf_vectorizer is None:
|
||||
tfidf_vectorizer = TfidfVectorizer(sublinear_tf=True)
|
||||
tfidf_vectorizer.fit(documents)
|
||||
|
||||
features = tfidf_vectorizer.transform(documents)
|
||||
|
||||
return features, tfidf_vectorizer
|
||||
|
||||
|
||||
def _feature_selection(X, y, EP1, EP2, tfidf_feat_selection_ratio):
|
||||
nF = X.shape[1]
|
||||
num_feats = int(tfidf_feat_selection_ratio * nF)
|
||||
feature_selector = SelectKBest(chi2, k=num_feats)
|
||||
X = feature_selector.fit_transform(X, y)
|
||||
EP1 = feature_selector.transform(EP1)
|
||||
EP2 = feature_selector.transform(EP2)
|
||||
return X,EP1,EP2
|
||||
|
||||
|
||||
def _features_mendel_hall(documents):
|
||||
raise NotImplementedError('not yet implemented')
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class LoadDocuments:
|
||||
def __init__(self,
|
||||
function_words_freq=True,
|
||||
tfidf=False,
|
||||
tfidf_feat_selection_ratio=1.,
|
||||
mendelhall=False,
|
||||
split_documents=False,
|
||||
split_policy = split_by_endline,
|
||||
normalize_features=True,
|
||||
verbose=True):
|
||||
"""
|
||||
Loads the documents contained in path applying a number of feature extraction policies. The directory is assumed to
|
||||
contain files named according to <author>_<text_name>.txt plus two special files EpistolaXIII_1.txt and
|
||||
EpistolaXIII_2.txt concerning the two documents whose authorship attribution is to be determined.
|
||||
:param path: the path containing the texts, each named as <author>_<text_name>.txt
|
||||
:param function_words_freq: add the frequency of function words as features
|
||||
:param tfidf: add the tfidf as features
|
||||
:param split_documents: whether to split text into smaller documents or not (currenty, the policy is to split by '\n').
|
||||
Currently, the fragments resulting from the split are added to the pool of documents (i.e., they do not replace the
|
||||
full documents, which are anyway retained).
|
||||
:param split_policy: a callable that implements the split to be applied (ignored if split_documents=False)
|
||||
:param verbose: show information by stdout or not
|
||||
:return: np.arrays or csr_matrix (depending on whether tfidf is activated or not) X, y, EP1, EP2, where X is the
|
||||
matrix of features for the training set and y are the labels (np.array);
|
||||
EP1 and EP2 are the matrix of features for the epistola 1 (first row) and fragments (from row 2nd to last) if
|
||||
split_documents=True) and 2 (similar)
|
||||
"""
|
||||
|
||||
self.normalize_features=normalize_features
|
||||
self.split_documents = split_documents
|
||||
self.split_policy = split_policy
|
||||
self.function_words_freq=function_words_freq
|
||||
self.mendelhall = mendelhall
|
||||
self.tfidf = tfidf
|
||||
self.tfidf_feat_selection_ratio = tfidf_feat_selection_ratio
|
||||
self.verbose = verbose
|
||||
|
||||
def load(self, path):
|
||||
documents, authors, ep1_text, ep2_text = _load_texts(path)
|
||||
ep1,ep2 = [ep1_text],[ep2_text]
|
||||
n_original_docs=len(documents)
|
||||
|
||||
if self.split_documents:
|
||||
doc_fragments, authors_fragments = splitter(documents, authors, split_policy=self.split_policy)
|
||||
documents.extend(doc_fragments)
|
||||
authors.extend(authors_fragments)
|
||||
|
||||
ep1.extend(splitter(ep1, split_policy=self.split_policy))
|
||||
ep2.extend(splitter(ep2, split_policy=self.split_policy))
|
||||
|
||||
# represent the target vector
|
||||
y = np.array([(1 if author == "Dante" else 0) for author in authors])
|
||||
|
||||
# initialize the document-by-feature vector
|
||||
X = np.empty((len(documents), 0))
|
||||
EP1 = np.empty((len(ep1), 0))
|
||||
EP2 = np.empty((len(ep2), 0))
|
||||
|
||||
# dense feature extraction functions
|
||||
if self.function_words_freq:
|
||||
X = self.addfeatures(X,_features_function_words_freq(documents))
|
||||
EP1 = self.addfeatures(EP1, _features_function_words_freq(ep1))
|
||||
EP2 = self.addfeatures(EP2, _features_function_words_freq(ep2))
|
||||
|
||||
if self.mendelhall:
|
||||
X = self.addfeatures(X, _features_mendel_hall(documents))
|
||||
EP1 = self.addfeatures(EP1, _features_mendel_hall(ep1))
|
||||
EP2 = self.addfeatures(EP2, _features_mendel_hall(ep2))
|
||||
|
||||
# sparse feature extraction functions
|
||||
if self.tfidf:
|
||||
X_features, vectorizer = _features_tfidf(documents)
|
||||
ep1_features, _ = _features_tfidf(ep1, vectorizer)
|
||||
ep2_features, _ = _features_tfidf(ep2, vectorizer)
|
||||
|
||||
if self.tfidf_feat_selection_ratio < 1.:
|
||||
if self.verbose: print('feature selection')
|
||||
X_features, ep1_features, ep2_features = \
|
||||
_feature_selection(X_features, y, ep1_features, ep2_features, self.tfidf_feat_selection_ratio)
|
||||
|
||||
# matrix is sparse now
|
||||
X = self.addfeatures(csr_matrix(X), X_features)
|
||||
EP1 = self.addfeatures(csr_matrix(EP1), ep1_features)
|
||||
EP2 = self.addfeatures(csr_matrix(EP2), ep2_features)
|
||||
|
||||
|
||||
# print summary
|
||||
if self.verbose:
|
||||
print('load_documents: function_words_freq={} tfidf={}, split_documents={}, split_policy={}'
|
||||
.format(self.function_words_freq, self.tfidf, self.split_documents, self.split_policy.__name__))
|
||||
print('number of training (full) documents: {}'.format(n_original_docs))
|
||||
print('X shape (#documents,#features): {}'.format(X.shape))
|
||||
print('y prevalence: {:.2f}%'.format(y.mean()*100))
|
||||
print('Epistola 1 shape:', EP1.shape)
|
||||
print('Epistola 2 shape:', EP2.shape)
|
||||
print()
|
||||
|
||||
return X, y, EP1, EP2
|
||||
|
||||
def addfeatures(self, X, F):
|
||||
# plt.matshow(F[:25])
|
||||
# plt.show()
|
||||
if self.normalize_features:
|
||||
normalize(F, axis=1, copy=False)
|
||||
|
||||
if issparse(F):
|
||||
return hstack((X, F)) # sparse
|
||||
else:
|
||||
return np.hstack((X, F)) # dense
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,33 +1,38 @@
|
|||
import disable_sklearn_warnings
|
||||
from sklearn.svm import *
|
||||
from sklearn.model_selection import cross_val_score, GridSearchCV
|
||||
from sklearn.metrics import f1_score, make_scorer
|
||||
from doc_representation import *
|
||||
from verification import *
|
||||
|
||||
# TODO: add function words
|
||||
# TODO: other split policies
|
||||
# TODO: understand normalization
|
||||
# TODO: mendel hall
|
||||
# TODO: wrap into an Estimator
|
||||
# TODO: check versions (numpy, scipy, sklearn)
|
||||
|
||||
probability=True
|
||||
|
||||
SVM = SVC
|
||||
# SVM = LinearSVC
|
||||
|
||||
nfolds = 3
|
||||
nfolds = 10
|
||||
params = {'C': [0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000], 'class_weight':['balanced',None]}
|
||||
if SVM is SVC:
|
||||
params['kernel']=['linear','rbf']
|
||||
probability = True
|
||||
else:
|
||||
probability = False
|
||||
|
||||
path = '../testi'
|
||||
|
||||
reader = LoadDocuments(split_documents=True, function_words_freq=True, tfidf=False, tfidf_feat_selection_ratio=0.1, split_policy=split_by_endline, normalize_features=True)
|
||||
Xtr,ytr,ep1,ep2 = reader.load(path)
|
||||
reader = DocumentLoader(function_words_freq=True, features_Mendenhall=True,
|
||||
tfidf=True, tfidf_feat_selection_ratio=0.1,
|
||||
ngrams=True, ns=[3,4,5],
|
||||
split_documents=True, split_policy=split_by_sentences, normalize_features=True, window_size=1, verbose=True)
|
||||
|
||||
Xtr,ytr,ep1,ep2 = reader.load_documents(path)
|
||||
|
||||
# learn a SVM
|
||||
|
||||
svm = SVM(probability=probability)
|
||||
# svm = SVM()
|
||||
#svm = SVM(probability=probability)
|
||||
svm = SVM()
|
||||
|
||||
positive_examples = ytr.sum()
|
||||
if positive_examples>nfolds:
|
||||
|
|
@ -41,7 +46,8 @@ if isinstance(svm, GridSearchCV):
|
|||
|
||||
# evaluation of results
|
||||
print('computing the cross-val score')
|
||||
f1scores = cross_val_score(svm, Xtr, ytr, cv=nfolds, n_jobs=-1, scoring=make_scorer(f1_score))
|
||||
# f1scores = cross_val_score(svm, Xtr, ytr, cv=nfolds, n_jobs=-1, scoring=make_scorer(f1_score))
|
||||
f1scores = svm.best_score_
|
||||
f1_mean, f1_std = f1scores.mean(), f1scores.std()
|
||||
print('F1-measure={:.3f} (+-{:.3f})\n'.format(f1_mean, f1_std))
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
skelearn >= 0.19.1
|
||||
scipy >= 1.0.0
|
||||
numpy >= 1.15.2
|
||||
|
|
@ -0,0 +1,339 @@
|
|||
import nltk
|
||||
import re
|
||||
import numpy as np
|
||||
import os
|
||||
from os.path import join
|
||||
from sklearn.base import BaseEstimator, ClassifierMixin
|
||||
from sklearn.feature_extraction.text import TfidfVectorizer
|
||||
from sklearn.feature_selection import SelectKBest
|
||||
from sklearn.feature_selection import chi2
|
||||
from sklearn.metrics import f1_score
|
||||
from sklearn.metrics import make_scorer
|
||||
from sklearn.model_selection import GridSearchCV
|
||||
from sklearn.model_selection import cross_val_score
|
||||
from sklearn.preprocessing import normalize
|
||||
from scipy.sparse import hstack, csr_matrix, issparse
|
||||
from collections import Counter
|
||||
|
||||
|
||||
function_words = ['et', 'in', 'de', 'ad', 'ut', 'cum', 'non', 'per', 'a', 'que', 'ex','sed',
|
||||
'quia', 'nam', 'sic', 'si', 'ab', 'etiam', 'idest', 'nec', 'vel', 'atque',
|
||||
'scilicet', 'sicut', 'hec', 'vero', 'tamen', 'dum', 'propter', 'pro', 'enim',
|
||||
'ita', 'autem', 'inter', 'unde', 'sub', 'tam', 'ibi', 'ideo', 'ergo', 'post',
|
||||
'iam', 'seu', 'inde', 'tantum', 'sive', 'quomodo', 'ubi', 'ac', 'ob', 'igitur',
|
||||
'tunc', 'nisi', 'quasi', 'quantum', 'aut', 'usque', 'bene', 'ne', 'ante',
|
||||
'nunc', 'magis', 'sine', 'circa', 'apud', 'contra', 'adhuc', 'satis', 'semper',
|
||||
'super', 'adeo', 'tandem', 'tanquam', 'quoniam', 'quin', 'quemadmodum', 'supra']
|
||||
|
||||
nfolds = 5
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# document loading routine
|
||||
# ------------------------------------------------------------------------
|
||||
def _load_texts(path):
|
||||
# load the training data (all documents but Epistolas 1 and 2)
|
||||
documents = []
|
||||
authors = []
|
||||
ndocs=0
|
||||
for file in os.listdir(path):
|
||||
if file.startswith('EpistolaXIII_'): continue
|
||||
file_clean = file.replace('.txt','')
|
||||
author, textname = file_clean.split('_')[0],file_clean.split('_')[1]
|
||||
text = open(join(path,file), encoding= "utf8").read()
|
||||
|
||||
documents.append(text)
|
||||
authors.append(author)
|
||||
ndocs+=1
|
||||
|
||||
# load the test data (Epistolas 1 and 2)
|
||||
ep1_text = open(join(path, 'EpistolaXIII_1.txt'), encoding="utf8").read()
|
||||
ep2_text = open(join(path, 'EpistolaXIII_2.txt'), encoding="utf8").read()
|
||||
|
||||
return documents, authors, ep1_text, ep2_text
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# split policies
|
||||
# ------------------------------------------------------------------------
|
||||
# TODO: implement other split policies (e.g., overlapping ones, etc)
|
||||
def split_by_endline(text):
|
||||
return [t.strip() for t in text.split('\n') if t.strip()]
|
||||
|
||||
|
||||
def split_by_sentences(text):
|
||||
sentences = [t.strip() for t in nltk.tokenize.sent_tokenize(text) if t.strip()]
|
||||
#sentences= [t.strip() for t in re.split(r"\.|\?|\!\;", text) if t.strip()]
|
||||
|
||||
for i,sentence in enumerate(sentences):
|
||||
unmod_tokens = nltk.tokenize.word_tokenize(sentence)
|
||||
mod_tokens = ([token for token in unmod_tokens if any(char.isalpha() for char in token)])
|
||||
if len(mod_tokens)<8:
|
||||
if i<len(sentences)-1:
|
||||
sentences[i+1] = sentences[i] + ' ' + sentences[i+1]
|
||||
else:
|
||||
sentences[i-1] = sentences[i-1] + ' ' + sentences[i]
|
||||
sentences.pop(i)
|
||||
|
||||
return sentences
|
||||
|
||||
def windows(text_fragments, window_size):
|
||||
new_fragments = []
|
||||
for i in range(len(text_fragments)-window_size+1):
|
||||
new_fragments.append(' '.join(text_fragments[i:i+window_size]))
|
||||
return new_fragments
|
||||
|
||||
def splitter(documents, authors=None, split_policy=split_by_sentences, window_size=1):
|
||||
fragments = []
|
||||
authors_fragments = []
|
||||
for i, text in enumerate(documents):
|
||||
text_fragments = split_policy(text)
|
||||
text_fragments = windows(text_fragments, window_size=window_size)
|
||||
fragments.extend(text_fragments)
|
||||
if authors is not None:
|
||||
authors_fragments.extend([authors[i]] * len(text_fragments))
|
||||
|
||||
if authors is not None:
|
||||
return fragments, authors_fragments
|
||||
|
||||
return fragments
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# feature extraction methods
|
||||
# ------------------------------------------------------------------------
|
||||
# TODO: implement other feature extraction methods
|
||||
def _features_function_words_freq(documents):
|
||||
"""
|
||||
Extract features as the frequency (x1000) of the function words used in the documents
|
||||
:param documents: a list where each element is the text (string) of a document
|
||||
:return: a np.array of shape (D,F) where D is len(documents) and F is len(function_words)
|
||||
"""
|
||||
features = []
|
||||
|
||||
for text in documents:
|
||||
unmod_tokens = nltk.word_tokenize(text)
|
||||
mod_tokens = ([token.lower() for token in unmod_tokens if any(char.isalpha() for char in token)])
|
||||
freqs = nltk.FreqDist(mod_tokens)
|
||||
|
||||
nwords = len(mod_tokens)
|
||||
funct_words_freq = [1000. * freqs[function_word] / nwords for function_word in function_words]
|
||||
features.append(funct_words_freq)
|
||||
|
||||
return np.array(features)
|
||||
|
||||
|
||||
def _features_Mendenhall(documents, upto=23):
|
||||
"""
|
||||
Extract features as the frequency (x1000) of the words' lengths used in the documents,
|
||||
following the idea behind Mendenhall's Characteristic Curve of Composition
|
||||
:param documents: a list where each element is the text (string) of a document
|
||||
:return: a np.array of shape (D,F) where D is len(documents) and F is len(range of lengths considered)
|
||||
"""
|
||||
|
||||
features = []
|
||||
|
||||
for text in documents:
|
||||
unmod_tokens = nltk.word_tokenize(text)
|
||||
mod_tokens = ([token.lower() for token in unmod_tokens if any(char.isalpha() for char in token)])
|
||||
nwords = len(mod_tokens)
|
||||
|
||||
tokens_len = [len(token) for token in mod_tokens]
|
||||
|
||||
count = Counter(tokens_len)
|
||||
features.append([1000.*count[i]/nwords for i in range(1,upto)])
|
||||
|
||||
return np.array(features)
|
||||
|
||||
|
||||
def _features_tfidf(documents, tfidf_vectorizer=None, min_df = 1):
|
||||
"""
|
||||
Extract features as tfidf matrix extracted from the documents
|
||||
:param documents: a list where each element is the text (string) of a document
|
||||
:return: a tuple M,V, where M is an np.array of shape (D,F), with D being the len(documents) and F the number of
|
||||
distinct words; and V is the TfidfVectorizer already fit
|
||||
"""
|
||||
if tfidf_vectorizer is None:
|
||||
tfidf_vectorizer = TfidfVectorizer(sublinear_tf=True, min_df=min_df)
|
||||
tfidf_vectorizer.fit(documents)
|
||||
|
||||
features = tfidf_vectorizer.transform(documents)
|
||||
|
||||
return features, tfidf_vectorizer
|
||||
|
||||
|
||||
def _features_ngrams(documents, ns=[4, 5], tfidf_vectorizer=None, min_df = 5):
|
||||
doc_ngrams = ngrams_extractor(documents, ns)
|
||||
return _features_tfidf(doc_ngrams, tfidf_vectorizer=tfidf_vectorizer, min_df = min_df)
|
||||
|
||||
|
||||
def ngrams_extractor(documents, ns=[4, 5]):
|
||||
if not isinstance(ns, list): ns=[ns]
|
||||
ns = sorted(np.unique(ns).tolist())
|
||||
|
||||
list_ngrams = []
|
||||
for doc in documents:
|
||||
doc = re.sub(r'[^\w\s]','', doc.strip())
|
||||
doc_ngrams = []
|
||||
for ni in ns:
|
||||
doc_ngrams.extend([doc[i:i + ni].replace(' ','_') for i in range(len(doc) - ni + 1)])
|
||||
|
||||
list_ngrams.append(' '.join(doc_ngrams))
|
||||
|
||||
return list_ngrams
|
||||
|
||||
|
||||
def _feature_selection(X, y, EP1, EP2, tfidf_feat_selection_ratio):
|
||||
nF = X.shape[1]
|
||||
num_feats = int(tfidf_feat_selection_ratio * nF)
|
||||
feature_selector = SelectKBest(chi2, k=num_feats)
|
||||
X = feature_selector.fit_transform(X, y)
|
||||
EP1 = feature_selector.transform(EP1)
|
||||
EP2 = feature_selector.transform(EP2)
|
||||
return X,EP1,EP2
|
||||
|
||||
|
||||
def _tocsr(X):
|
||||
return X if issparse(X) else csr_matrix(X)
|
||||
|
||||
class DocumentLoader:
|
||||
|
||||
def __init__(self,
|
||||
function_words_freq=True,
|
||||
features_Mendenhall=True,
|
||||
tfidf=False,
|
||||
tfidf_feat_selection_ratio=1.,
|
||||
ngrams=False,
|
||||
ns=[4, 5],
|
||||
split_documents=False,
|
||||
split_policy = split_by_endline,
|
||||
normalize_features=True,
|
||||
window_size = 5,
|
||||
verbose=True):
|
||||
"""
|
||||
Loads the documents contained in path applying a number of feature extraction policies. The directory is assumed to
|
||||
contain files named according to <author>_<text_name>.txt plus two special files EpistolaXIII_1.txt and
|
||||
EpistolaXIII_2.txt concerning the two documents whose authorship attribution is to be determined.
|
||||
:param path: the path containing the texts, each named as <author>_<text_name>.txt
|
||||
:param function_words_freq: add the frequency of function words as features
|
||||
:param features_Mendenhall: add the frequencies of the words' lengths as features
|
||||
:param tfidf: add the tfidf as features
|
||||
:param split_documents: whether to split text into smaller documents or not (currenty, the policy is to split by '\n').
|
||||
Currently, the fragments resulting from the split are added to the pool of documents (i.e., they do not replace the
|
||||
full documents, which are anyway retained).
|
||||
:param split_policy: a callable that implements the split to be applied (ignored if split_documents=False)
|
||||
:param window_size: the size of the window in case of sliding windows policy
|
||||
:param verbose: show information by stdout or not
|
||||
:return: np.arrays or csr_matrix (depending on whether tfidf is activated or not) X, y, EP1, EP2, where X is the
|
||||
matrix of features for the training set and y are the labels (np.array);
|
||||
EP1 and EP2 are the matrix of features for the epistola 1 (first row) and fragments (from row 2nd to last) if
|
||||
split_documents=True) and 2 (similar)
|
||||
"""
|
||||
self.function_words_freq = function_words_freq
|
||||
self.features_Mendenhall = features_Mendenhall
|
||||
self.tfidf = tfidf
|
||||
self.tfidf_feat_selection_ratio = tfidf_feat_selection_ratio
|
||||
self.ngrams = ngrams
|
||||
self.ns = ns
|
||||
self.split_documents = split_documents
|
||||
self.split_policy = split_policy
|
||||
self.normalize_features=normalize_features
|
||||
self.window_size = window_size
|
||||
self.verbose = verbose
|
||||
|
||||
|
||||
def load_documents(self, path):
|
||||
documents, authors, ep1_text, ep2_text = _load_texts(path)
|
||||
ep1,ep2 = [ep1_text],[ep2_text]
|
||||
n_original_docs=len(documents)
|
||||
|
||||
if self.split_documents:
|
||||
doc_fragments, authors_fragments = splitter(documents, authors, split_policy=self.split_policy, window_size=self.window_size)
|
||||
documents.extend(doc_fragments)
|
||||
authors.extend(authors_fragments)
|
||||
|
||||
ep1.extend(splitter(ep1, split_policy=self.split_policy))
|
||||
ep2.extend(splitter(ep2, split_policy=self.split_policy))
|
||||
self._print('splitting documents: {} documents'.format(len(doc_fragments)))
|
||||
|
||||
# represent the target vector
|
||||
y = np.array([(1 if author == "Dante" else 0) for author in authors])
|
||||
|
||||
# initialize the document-by-feature vector
|
||||
X = np.empty((len(documents), 0))
|
||||
EP1 = np.empty((len(ep1), 0))
|
||||
EP2 = np.empty((len(ep2), 0))
|
||||
|
||||
# dense feature extraction functions
|
||||
if self.function_words_freq:
|
||||
X = self._addfeatures(X, _features_function_words_freq(documents))
|
||||
EP1 = self._addfeatures(EP1, _features_function_words_freq(ep1))
|
||||
EP2 = self._addfeatures(EP2, _features_function_words_freq(ep2))
|
||||
self._print('adding function words features: {} features'.format(X.shape[1]))
|
||||
|
||||
if self.features_Mendenhall:
|
||||
X = self._addfeatures(X, _features_Mendenhall(documents))
|
||||
EP1 = self._addfeatures(EP1, _features_Mendenhall(ep1))
|
||||
EP2 = self._addfeatures(EP2, _features_Mendenhall(ep2))
|
||||
self._print('adding Mendenhall words features: {} features'.format(X.shape[1]))
|
||||
|
||||
|
||||
# sparse feature extraction functions
|
||||
if self.tfidf:
|
||||
X_features, vectorizer = _features_tfidf(documents)
|
||||
ep1_features, _ = _features_tfidf(ep1, vectorizer)
|
||||
ep2_features, _ = _features_tfidf(ep2, vectorizer)
|
||||
|
||||
if self.tfidf_feat_selection_ratio < 1.:
|
||||
if self.verbose: print('feature selection')
|
||||
X_features, ep1_features, ep2_features = \
|
||||
_feature_selection(X_features, y, ep1_features, ep2_features, self.tfidf_feat_selection_ratio)
|
||||
|
||||
X = self._addfeatures(_tocsr(X), X_features)
|
||||
EP1 = self._addfeatures(_tocsr(EP1), ep1_features)
|
||||
EP2 = self._addfeatures(_tocsr(EP2), ep2_features)
|
||||
self._print('adding tfidf words features: {} features'.format(X.shape[1]))
|
||||
|
||||
if self.ngrams:
|
||||
X_features, vectorizer = _features_ngrams(documents, self.ns, min_df=5*self.window_size)
|
||||
ep1_features, _ = _features_ngrams(ep1, self.ns, tfidf_vectorizer=vectorizer, min_df=5*self.window_size)
|
||||
ep2_features, _ = _features_ngrams(ep2, self.ns, tfidf_vectorizer=vectorizer, min_df=5*self.window_size)
|
||||
|
||||
if self.tfidf_feat_selection_ratio < 1.:
|
||||
if self.verbose: print('feature selection')
|
||||
X_features, ep1_features, ep2_features = \
|
||||
_feature_selection(X_features, y, ep1_features, ep2_features, self.tfidf_feat_selection_ratio)
|
||||
|
||||
X = self._addfeatures(_tocsr(X), X_features)
|
||||
EP1 = self._addfeatures(_tocsr(EP1), ep1_features)
|
||||
EP2 = self._addfeatures(_tocsr(EP2), ep2_features)
|
||||
self._print('adding ngrams words features: {} features'.format(X.shape[1]))
|
||||
|
||||
|
||||
# print summary
|
||||
if self.verbose:
|
||||
print('load_documents: function_words_freq={} features_Mendenhall={} tfidf={}, split_documents={}, split_policy={}'
|
||||
.format(self.function_words_freq, self.features_Mendenhall, self.tfidf, self.split_documents,
|
||||
self.split_policy.__name__))
|
||||
print('number of training (full) documents: {}'.format(n_original_docs))
|
||||
print('X shape (#documents,#features): {}'.format(X.shape))
|
||||
print('y prevalence: {:.2f}%'.format(y.mean()*100))
|
||||
print('Epistola 1 shape:', EP1.shape)
|
||||
print('Epistola 2 shape:', EP2.shape)
|
||||
print()
|
||||
|
||||
return X, y, EP1, EP2
|
||||
|
||||
def _addfeatures(self, X, F):
|
||||
# plt.matshow(F[:25])
|
||||
# plt.show()
|
||||
if self.normalize_features:
|
||||
normalize(F, axis=1, copy=False)
|
||||
|
||||
if issparse(F):
|
||||
return hstack((X, F)) # sparse
|
||||
else:
|
||||
return np.hstack((X, F)) # dense
|
||||
|
||||
def _print(self, msg):
|
||||
if self.verbose:
|
||||
print(msg)
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
Poscis, clarissime Marchio, memorandarum avidus rerum alta mente ut Valerii Maximi maximum breveque compendium exponendum adsumam, brevia dilatans, obscura declarans lucido cum sermone: arduum opus, fateor, per ora multorum volitans sed a pluribus ignoratum. Parebo tamen libens ut et tibi placeam et aliorum satisfaciam voto. Tu quidem vir ab ineunte etate pietate insignis et clementia, que peculiaris virtus principum hominem Deo similem facit, et iuxta tui allusionem nominis in omni opere gloriosus, gloriam siquidem promereri studuisti in edifitiorum opere ingenti. Sicut enim Augustus Cesar, quo nichil clarius sol sub se vidit, gloriatus est urbem quam invenerat lateritiam relinquere marmoream, ita tu, illustris princeps, terram quam inveneras asseritiam lateritiam fecisti; in cuius infima valle arcem extruxisti sublimem ad sidera inexpugnabili opera iuxta portam cui leo magnanimus incubat, ut cetera menia linquam, magnifico sumptu sed maiore anime mirifice fabricata more Agrippe. Quamquam pedibus eger, ut ille, acerbissime afflictatus, literarum gloriam perfectiori etate coluisti; nempe neglecta forma corporis, qua summe pollebas, libros avidissime semper legis hystcriarum, precipue Livium qui stilum habuit parem Romano gladio, illustrium Romanorum celebranda gesta recurrens, inter quos Iulium Cesarem tuo iure preponis. Verum ut veram gloriam cito actingam, que in sola virtute consistit, quis hac tempestate animi vigore prestantior signifer et pugilis Romanam Ecclesiam, velut naviculam Petri inter tot fluctuum turbines agitatam, solus intrepide iuvit, inter multorum dominorum et populorum rebelliones scaturientes magno tui cum discrimine? Quis sanctius inter proceres amicitias coluit? Quis costantius promissa servavit? Quis humanius benefitia erogavit? Tu, inquam, vir tante virtutis, cui nichil difficile videatur, preter cumulata maiorum multa quesisti. Nec quisquam regnantium in adversitate constantior, in infirmitate patientior, in periculo cautior, de quo dici potest illud quod de Cesare Cicero.
|
||||
|
||||
Commendaturus nobilissimum oratorem in cuius moralissimo opere velut in speculo relucent exempla virtutum et humana vita singulari quodam dogmate decoratur, ex verbis propositi thematis duo possum breviter elicere que excellentissimi auctoris laudem celebrant et extollunt; quorum primum est commoditas in se fructuosa, quod tangitur in auctoritate premissa cum dicitur Istorie antiquorum utiles sunt; secundum fructuositas in aliis luminosa, quod tangitur cum dicitur ad danda bona consilia civitati. Circa primum breviter advertendum quod Aristotiles et alii magni philosophy doctrinam moralem tradiderunt scientifice, subtiliter et theorice. Valerius autem, pluribus proficere cupiens, ipsam tradit pratice, exemplariter et positive. Illustrium nam antiquorum inclita gesta percurens ac perstringens plurima paucis mira contexuit brevitate. Secundum enim sententiam Varronis in suo libro Sententiarum elucentissimum docendi genus est studium exemplorum; quod elleganter declarat luculentus orator Tullius primo de Oratore sic inquiens. Sicut enim dyaletica est instrumentum scientiarum naturalium, ita rhetoricha moralium. Nichil ergo recte sine exemplo docetur aut discitur. Teste enim Seneca, breve est iter per exempla. Hoc brevissime de primo. Secundum quod tangitur in themate prelibato est fructuositas in aliis luminosa. Circa quod est advertendum quod numquam fuit regnum extra Romanum in quo rectores urbium et gubernatores rerum publicarum tam virtuosi quam pravi valeant agenda copiosius speculari. Secundum enim Augustinum, ubi de virtutibus loquimur nullus virtuosior populo Romano, ubi de vitiis nullus vitiosior. Quod considerans Valerius ipse Romanus alterutro calle procedens preclarissimas virtutes Romanorum et teterrima vitia duxit breviter colligenda. Quantum ad primum dicit Titus Livius libro primo, prohemiali capitulo. Unde Augustinus 5 de Civitate Dei loquens de ipsis Romanis dicit; et suddit, de qua materia ipse Valerius uberrime scribit. Due autem fuerunt arces super quibus fundatum est Romanum imperium, scilicet audatia in bello, equitas in pace, vel verius 3a fecerunt Romanos rerum dominos, scilicet sanum consilium in re publica, privata paupertas, et propositis pertinaciter adherere. Secundum Vegetium alia 3a fecerunt Romanos victores gentium, scilicet prudentia, exercitatio et fides. Aliam rationem assignat idem Augustinus in 5 dicens. Bene ergo Augustinus ibidem. Roma namque, ut ait Sidonius obscurus orator, est domicilium legum, gignasium litterarum, curia dignitatum, vertex mundi, patria libertatis. Deus autem qui fecerat Romam dominam temporalium voluit ipsam fieri clominam spiritualium. Unde novissimus poeta Petrarcha. Ieronimus etiam Romam laudat et ipsam laudatam ab Apostolo dicit; et post apostolos et evangelistas doctores 4or, quorum duo fuerunt Romani. Ex predictis itaque in summa concludere licet illud quod scribit Policratus secutus Quintilianum. Bene ergo licet dicere cum Iustiniano. Ideo clarissimus poeta Virgilius. Et hec breviter de virtutibus Romanorum, de vitiis autem paucissima. Est igitur sciendum quod, ut verbis ipsius Valerii utar, sicut Roma omni genere mirificorum exemplorum orbem terrarum implevit, ita et atrocissimorum viciorum omni contagione fedavit in pristinas sedes, proh dolor, revoluta. Unde satiricus Iuvenalis. Genus namque Romanum a vulturibus cepit augurium, que aves cede et sanguine delectantur, et conditores ipsius urbis a lupa lactati sunt, que ubique figuraliter avaritiam representat rapacitate insaciata. Ad quod Iuvenalis, idest ladro. Sed ut ceterorum autorum testimonia non amplectar, uno solo contentus finem facio. Quid plura? Virtutis igitur cultum et vitiorum fugam nobis concedere dignetur, ad cuius felicitatem omnis virtus principaliter ordinatur. Amen.
|
||||
Commendaturus nobilissimum oratorem in cuius moralissimo opere velut in speculo relucent exempla virtutum et humana vita singulari quodam dogmate decoratur, ex verbis propositi thematis duo possum breviter elicere que excellentissimi auctoris laudem celebrant et extollunt; quorum primum est commoditas in se fructuosa, quod tangitur in auctoritate premissa cum dicitur Istorie antiquorum utiles sunt; secundum fructuositas in aliis luminosa, quod tangitur cum dicitur ad danda bona consilia civitati. Circa primum breviter advertendum quod Aristotiles et alii magni philosophy doctrinam moralem tradiderunt scientifice, subtiliter et theorice. Valerius autem, pluribus proficere cupiens, ipsam tradit pratice, exemplariter et positive. Illustrium nam antiquorum inclita gesta percurens ac perstringens plurima paucis mira contexuit brevitate. Secundum enim sententiam Varronis in suo libro Sententiarum elucentissimum docendi genus est studium exemplorum; quod elleganter declarat luculentus orator Tullius primo de Oratore sic inquiens. Sicut enim dyaletica est instrumentum scientiarum naturalium, ita rhetoricha moralium. Nichil ergo recte sine exemplo docetur aut discitur. Teste enim Seneca, breve est iter per exempla. Hoc brevissime de primo. Secundum quod tangitur in themate prelibato est fructuositas in aliis luminosa. Circa quod est advertendum quod numquam fuit regnum extra Romanum in quo rectores urbium et gubernatores rerum publicarum tam virtuosi quam pravi valeant agenda copiosius speculari. Secundum enim Augustinum, ubi de virtutibus loquimur nullus virtuosior populo Romano, ubi de vitiis nullus vitiosior. Quod considerans Valerius ipse Romanus alterutro calle procedens preclarissimas virtutes Romanorum et teterrima vitia duxit breviter colligenda. Quantum ad primum dicit Titus Livius libro primo, prohemiali capitulo. Unde Augustinus 5 de Civitate Dei loquens de ipsis Romanis dicit; et suddit, de qua materia ipse Valerius uberrime scribit. Due autem fuerunt arces super quibus fundatum est Romanum imperium, scilicet audatia in bello, equitas in pace, vel verius 3a fecerunt Romanos rerum dominos, scilicet sanum consilium in re publica, privata paupertas, et propositis pertinaciter adherere. Secundum Vegetium alia 3a fecerunt Romanos victores gentium, scilicet prudentia, exercitatio et fides. Aliam rationem assignat idem Augustinus in 5 dicens. Bene ergo Augustinus ibidem. Roma namque, ut ait Sidonius obscurus orator, est domicilium legum, gignasium litterarum, curia dignitatum, vertex mundi, patria libertatis. Deus autem qui fecerat Romam dominam temporalium voluit ipsam fieri clominam spiritualium. Unde novissimus poeta Petrarcha. Ieronimus etiam Romam laudat et ipsam laudatam ab Apostolo dicit; et post apostolos et evangelistas doctores 4or, quorum duo fuerunt Romani. Ex predictis itaque in summa concludere licet illud quod scribit Policratus secutus Quintilianum. Bene ergo licet dicere cum Iustiniano. Ideo clarissimus poeta Virgilius. Et hec breviter de virtutibus Romanorum, de vitiis autem paucissima. Est igitur sciendum quod, ut verbis ipsius Valerii utar, sicut Roma omni genere mirificorum exemplorum orbem terrarum implevit, ita et atrocissimorum viciorum omni contagione fedavit in pristinas sedes, proh dolor, revoluta. Unde satiricus Iuvenalis. Genus namque Romanum a vulturibus cepit augurium, que aves cede et sanguine delectantur, et conditores ipsius urbis a lupa lactati sunt, que ubique figuraliter avaritiam representat rapacitate insaciata. Ad quod Iuvenalis, idest ladro. Sed ut ceterorum autorum testimonia non amplectar, uno solo contentus finem facio. Quid plura? Virtutis igitur cultum et vitiorum fugam nobis concedere dignetur, ad cuius felicitatem omnis virtus principaliter ordinatur. Amen.
|
||||
|
||||
Premissa commendatione multiplici materie quam exponendam assumpsi maximo cum labore, antequam descendam ad litere declarationem, premittam breviter quedam de more evidentialiter ad dicenda, scilicet quis autor, que materia, que intentio, que utilitas, cui parti philosophie supponatur hic liber, quis eius titulus. Ad primum dico quod autor huius operis fuit Valerius Maximus. Ad quod est notandum quod aliqui dicunt quod hic Valerius fuit de nobili et antiqua familia Valeriorum que postea dicta est Corvina, quod non credo, quia ipse aliquid expressisset in aliqua parte libri. Preterea Valerius non fuit vir militaris nec exercuit se studio armorum sed literarum: fuit enim cancellarius sive scriba cuiusdam Sesti Pompei in Asia qui et ipse fuit vir eloquentissimus, ut patet suo loco. Valerius etiam sepe defendit plebem Romanam contra nobiles. Sed quisquis fuerit, nomen eius est proprium: dicitur nam Valerius quasi valens virtute. Fuit civis Romanus, orator clarissimus. Valerius dictus est Maximus ad differentiam Valerii Ansiatis qui diu ante eum scripsit gesta Romana. Nec potuit istud cognomen assequi nisi propter aliquod singulare meritum, sicut et plures alii Valerii Maximi ante eum diversis temporibus, quorum unus fuit consul, alius censor, alter orator, sicut patet per Livium, Plinium et alios. Materia sunt exempla factorum et dictorum memorabilium ad omnem fere materiam de qua agitur et omnium proposita confirmanda applicabilia. Intentio est optima. Intendit nam autor tradere nobis doctrinam moralem exemplariter et plane. Est enim doctrina moralis tradenda faciliter teste Philosopho, scilicet rationibus persuasivis non demonstrativis, quoniam opus morale suscepimus non ut sciamus sed ut boni fiamus. Et virtus in operatione consistit. Utilitas est maxima, scilicet universalis cognitio virtutum et vitiorum et fere omnium actuum humanorum et agibilium mundi, ut visa exhortatione virtutum et detestatione viciorum lector fiat cautior ad agenda et dicenda imitatione aliorum. Hic liber supponitur philosophie morali per omnes partes, scilicet ethice, politice, yconomice, ut per se patet, quia scilicet est de instructione sui, familie et civitatis sive rei publice. Titulus libri debet esse talis: Valerii Maximi factorum ac dictorum memorabilium ad Tiberium Cesarem liber primus incipit et primo prologus. In quo titulo succinte tangitur causa efficiens, cum dicitur Valerii, causa materialis, cum dicitur factorum, tempus principis cui scribit. Non ergo scribit Augusto sicut quidam opinantur, quod est manifeste falsum, quia ipse autor expresse describit Tiberium, eius genus et imperium in multis libris et capitulis, licet videatur loqui de Augusto vivente; quod declarabo si et quando ad finem pervenero. Tangitur et causa formalis sive ordo, cum dicitur primus. Finis Valerii fuit ut acquirat principaliter gratiam principis, licet male meriti, favorem apud legentes, famam apud posteros. His breviter percursis, perstringatur brevis divisio. Liber totus generaliter dividitur in novem libros, unusquisque liber in capitula, unumquodque capitulum in paragraphos, et paragrafi singuli in particulas speciales; que patebunt vel declarabuntur discurrendo per singulas. In primo libro Valerius premictit prohemium in quo duo facit in generali. Nam proponit materiam quam scribere intendit et invocat auxilium Tiberii, cuius premium optabat et sperabat, et in hoc facit auditorem docilem, benivolum et actentum cum premittit humilitatem, brevitatem et magnitudinem. In prima parte prohemiali sententialiter vult dicere quod ipse intendit sub brevi volumine perstringere dicta et facta notanda antiquorum que priores scriptores prolixius et clarius descripserunt, ut unusquisque possit faciliter et cito sine lungo labore et magno tedio quod voluerit invenire.
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -4,7 +4,7 @@ An sacrarum Scripturarum secreta revelantes promereantur in conspectu Dei et hom
|
|||
|
||||
Cur poete gentiles sub mistico sensu eorum inventa tradiderunt, et quot sint sensus quibus locuti sunt. Viso bene et laudabiliter agere illos qui secreta Scripturarum manifestant, bene est videre quare poete eorum inventa, iuxta utramque phylosophiam, apologicis velaminibus operuerint. Et sane poetis gentilibus eorum studia et que multis laboribus et vigiliis invenissent, vilescere visa fuere si in promptu et quasi ad manum ignobili cuique ingenio haberentur; que vero ardenti studio cum difficultatibus vestigari oporteret, cara esse atque haberi gratie et honoris. Unde, ne per desidiam obsolescere preclara ingenia paterentur, sed ipsa tamquam ad chotem acuerent, sub integumentis et fabulosis fictionibus omnem ferme scientiam tradiderunt, vario multiplicique sensu velantes. Et, ut sic, cessat curiosa inquisitio querentium an sensus poetarum unicus sit, an polysemus, id est multiplex: nam multorum esse profitemur. Similiter et nostri theologi quatuor dumtaxat in sacris Licteris posuerunt theotoricos intellectus, videlicet hystoricum, allegoricum, moralem et anagogicum; quos, in expositione versus Prophete dicentis, exemplariter ostendunt. Nam, si simplicis ystorie veritatem velimus agnoscere, liberatio ebrayci populi de servitute Pharaonis facta per Moysem apparebit. Huic et persimilem licteralem poterimus applicare, qui nichil affert significati citra verborum sonum, de quo dicit Aurelius Augustinus. Si vero de licterali hystoricoque allegoriam velimus elicere, tropum intelligemus, quo aliquid nobis dicitur et aliud significatur; iuxta illud, hoc est Ecclesia producta est de latere Christi pendentis in cruce. Similiter in versu nostro figuratur nostra redemptio facta per Christum. Ceterum allegorie species secundum gramaticos septem sunt, videlicet: yronia, enigma, anthifrasis, carientismos, paroemia, sarchasmos et astismos. Sed horum vestigationem peritis gramatice derelinquo, cum non sit intentionis poete vulgariter docere gramaticam, sed moralem tradere phylosophiam. Audi Gregorium romanum pontificem de se dicentem dum Iob exponit. Ego intellectum potius considerans, quam exquisitam gramaticam, sicubi error inveniretur gramatice discipline in scripturis meis, si verborum intellectum verum capiant, oro pios lectores ne curent. Et, prosequendo, dico quod grecum nomen allegoria est, compositum ab allon, quod alienum seu diversum latine sonat, et gore, quod est intellectus. Et sub isto generali nomine omnes sensus, ab hystorico licteralique differentes, allegorici nuncupantur. Post allegoricum in specie sua subsequitur moralis, in quo in versu Prophete ostenditur anime converse ymago de luctu miseriaque peccati ad statum gratie. Verumtamen huic poterimus sotiare apologicum, hoc est fabulosum, qualem efferunt elegantes Esopi fabule, quo transumptive ad instructionem nostram, si rationabilium nature, collocutiones gestaque trasferuntur. Hiis duobus adicitur tropologicus, id est conversivus, in quo per illud quod factum est, quod fieri debet datur intelligi, et sic resolvitur in moralem. Nam dum invehit poeta in peccatores, ad instructionem nostram sermo convertitur. Post moralem, theologi anagogicum posuerunt, id est spiritualem, pro quo versus Prophete nobis significat exitum anime sancte exute corpore a corruptionis servitute ad eterne glorie libertatem. Super istos quatuor theotoricos intellectus principales, per prudentes versus editi sunt qui dicunt. Ex istis colligere possumus in hoc opere duplex fore subiectum, circa quod alterni sensus isti decurrunt. Nam, si spectemus ad licteram, erit pro materia et subiecto status animarum exutarum corpore simpliciter sumptus: nam circa ipsum totius operis processus versatur. Si vero ad allegoriam mentis oculos inflectamus, subiectum atque materia erit homo viator prout merendo vel demerendo per arbitrii libertatem iustitie premiandi et puniendi erit obnoxius.
|
||||
|
||||
Nunc ad inquisitionem causarum veniamus. Et utique prisco de more comenta dictantes, boni Dei auxilio invocato – quod et nos pia devotione humilique deprecatione exposcimus –, antequam ad lictere planationem pervenirent, de septem agebant circumstantiis, quas Greci ‘periochyas’ appellant, que locum, tempus, personam, rem, qualitatem, causam et facultatem continent. Amplius de libri titulo agebant, et in poeticis querebant quos fuisset auctor imitatus. Harum plerique tres solummodo considerabant, unde scilicet auctor ageret, et cur, et qualiter, ut inde sibi auditores benivolos, dociles et actentos compararent. Noster vero poeta, in quodam introductorio suo super cantu primo Paradisi ad dominum Canem de la Scala destinato, de sex agere videtur, que fatum, agentem, formam, finem, libri titulum et genus phylosophie comprendunt. Causas istas ferme omnes moderni ad quatuor redegerunt, querentes de efficiente, de materia, de forma et postremo de fine. Michi placet antiquorum diligentiam revocare in medium et novissima cum veteribus commiscere. Et primo de loco queramus ubi, spiritu Dei tactus, opus hoc poeta ceptitaverit, deinde ubi ipsum fuerit prosecutus, postremo ubi ipsum consummaverit. Et sane poeta in civitate Florentie divinum hoc opus feliciter inchoavit et, cum odam septimam prime partis implesset, indigne et sine causa coactus est exulare. Et utique primo ad Moruellum marchionem Malaspina defugiens, ubi cum compassione benignissime receptus est, cum extimaret inventum sive materiam, cum septem capitulis prefatis, furentium emulorum fatuitate et ignorantia deperisse, merens, operis reformationem, resumptionem et prosecutionem penitus desperaverat. Ceterum, ubi opera nobilis viri Dini domini Lambertuccii de Frescobaldis recolendique viri preter spem et ipsum materie inventum et odas septem recuperasset suum resumpsit opus dicens. A Moruello deinde honesta necessitate secedens, Casentinum applicuit, ubi aliquamdiu manens, multum operis edidit. Et inde recedens, Verone per quadriennium continuum operi studiose vacavit. Postremo a Guidone Novello Ravenne receptus est, ubi cum dierum suorum residuo residuum operis feliciter consummavit.
|
||||
Nunc ad inquisitionem causarum veniamus. Et utique prisco de more comenta dictantes, boni Dei auxilio invocato - quod et nos pia devotione humilique deprecatione exposcimus -, antequam ad lictere planationem pervenirent, de septem agebant circumstantiis, quas Greci ‘periochyas’ appellant, que locum, tempus, personam, rem, qualitatem, causam et facultatem continent. Amplius de libri titulo agebant, et in poeticis querebant quos fuisset auctor imitatus. Harum plerique tres solummodo considerabant, unde scilicet auctor ageret, et cur, et qualiter, ut inde sibi auditores benivolos, dociles et actentos compararent. Noster vero poeta, in quodam introductorio suo super cantu primo Paradisi ad dominum Canem de la Scala destinato, de sex agere videtur, que fatum, agentem, formam, finem, libri titulum et genus phylosophie comprendunt. Causas istas ferme omnes moderni ad quatuor redegerunt, querentes de efficiente, de materia, de forma et postremo de fine. Michi placet antiquorum diligentiam revocare in medium et novissima cum veteribus commiscere. Et primo de loco queramus ubi, spiritu Dei tactus, opus hoc poeta ceptitaverit, deinde ubi ipsum fuerit prosecutus, postremo ubi ipsum consummaverit. Et sane poeta in civitate Florentie divinum hoc opus feliciter inchoavit et, cum odam septimam prime partis implesset, indigne et sine causa coactus est exulare. Et utique primo ad Moruellum marchionem Malaspina defugiens, ubi cum compassione benignissime receptus est, cum extimaret inventum sive materiam, cum septem capitulis prefatis, furentium emulorum fatuitate et ignorantia deperisse, merens, operis reformationem, resumptionem et prosecutionem penitus desperaverat. Ceterum, ubi opera nobilis viri Dini domini Lambertuccii de Frescobaldis recolendique viri preter spem et ipsum materie inventum et odas septem recuperasset suum resumpsit opus dicens. A Moruello deinde honesta necessitate secedens, Casentinum applicuit, ubi aliquamdiu manens, multum operis edidit. Et inde recedens, Verone per quadriennium continuum operi studiose vacavit. Postremo a Guidone Novello Ravenne receptus est, ubi cum dierum suorum residuo residuum operis feliciter consummavit.
|
||||
|
||||
De tempore vero distinctio debet haberi: quo scilicet poeta excogitando materiam invenerit et, qua inventa, metrice modulando atque expoliendo ediderit. Ubi scire debemus, anno gratie millesimo ducentesimo sexagesimo quinto, exeunte maio, in hanc regionem caducorum venisse poetam, annoque vigesimo quinto etatis sue cepisse operam impendere in inventione et ordinatione materie, in cuius inquisitione et ordine decennium continuum erogavit, ut ipse testatur dicens. In millesimo vero trecentesimo, anno Iubilei, et in die Veneris Sancti, fingit poeta cepisse metro rithmico opus modulare, ipsumque annis uno et viginti complevit.
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -49,7 +49,7 @@ Duodecima transmutatio est de Phebo. Nam per Phebum intelligitur homo sapiens, q
|
|||
Tertia decima transmutatio est de Mercurio qui transmutavit Aglauros. Per Mercurium intelligo hominem bone fame docentem alios. Per dominam Ersem intelligo personam aptam ad doctrinam recipiendam. Sed per Aglauron intelligo invidos, qui semper derogant bonis. Sed per dominam Palladem intelligo sapientiam et virtutem boni hominis, qui vadit ad domum invidie et imponit in cordibus invidorum, ut magis fiant invidi.
|
||||
Sed per dominam Aglauron volentem excludere Mercurium intelligo invidos, qui volunt disputare cum sapientibus, ut accipiant sibi famam. Sed tandem succumbunt eis et sic mutantur in saxa.
|
||||
|
||||
Quarta decima transmutatio est de Iove in taurum. Nam verum fuit quod Iupiter erat rex Crete et incalescebat in filiam regis Agenoris et misit illuc lenonem. Et fecit pactum cum Europa, quod veniret ad mare et illic esset Iupiter in navi et exportaret eam. Et ita fuit. Sed forte navis habebat signum taurinum et ideo dicitur converti in taurum. Sed quantum ad mores notum est, sicut ipse Ovidius tangit cum dicit etc., quod per Iovem regem intelligo quemcumque rectorem qui, dum debet esse in maiestate, aliquando pro una meretrice induitur vestes servi et ibit de nocte, ut possit eam habere. Et tunc dicitur converti in taurum, quia subicit se mulieri.
|
||||
Quarta decima transmutatio est de Iove in taurum. Nam verum fuit quod Iupiter erat rex Crete et incalescebat in filiam regis Agenoris et misit illuc lenonem. Et fecit pactum cum Europa, quod veniret ad mare et illic esset Iupiter in navi et exportaret eam. Et ita fuit. Sed forte navis habebat signum taurinum et ideo dicitur converti in taurum. Sed quantum ad mores notum est, sicut ipse Ovidius tangit cum dicit etc, quod per Iovem regem intelligo quemcumque rectorem qui, dum debet esse in maiestate, aliquando pro una meretrice induitur vestes servi et ibit de nocte, ut possit eam habere. Et tunc dicitur converti in taurum, quia subicit se mulieri.
|
||||
|
||||
Prima transmutatio tertii libri est de Cadmo. Nam Cadmus fuit quidam maximus philosophus in Thebis, hoc fuit verum, qui suos discipulos misit Athenas, ut disputarent cum quodam alio doctore qui derogabat ei, quem intelligo per serpentem. Sed per hoc quod mortui sunt intelligo quod succubuerunt illi in disputatione. Quod sciens Cadmus ivit illuc et primo percussit eum saxo, quia fecit sibi grossam questionem, et ideo nichil fecit illi. Deinde percussit eum iaculo, idest quod fecit fortiorem questionem, que valde illum implicavit. Sed quodammodo se defendebat. Deinde percussit eum lancea et interfecit eum, idest quod fecit sibi fortissimam questionem, in qua eum vicit. Sed per homines armatos natos ex dentibus illius intelligo errores, quos ille seminavit per mundum propter ignorantiam suam, et per hoc quod ipsi interfecerunt se precepto Palladis intelligo quod per sapientiam ipsius Cadmi omnes errores remoti sunt. Sed per hoc quod quinque remanserunt pro sociis Cadmi intelligo quinque vocales, quas retinuit Cadmus ad edificandum Thebas, idest ad principium scientiarum.
|
||||
|
||||
|
|
@ -177,7 +177,7 @@ Quarta transmutatio est de Antigone mutata in ciconiam. Nam verum fuit quod Anti
|
|||
|
||||
Quinta transmutatio est de filiabus Cinare regis conversis in gradus templorum. Nam verum fuit quod Cinara habuit septem filias que, dum essent in prosperitate, contemnebant deum et ecclesias, ideo contemnabent et irridebant euntes ad ecclesias. Quapropter voluntate divina devenerunt ad tantam miseriam et paupertatem quod oportuit eas stare super ianuis ecclesiarum ut peterent elimosina, ideo dicuntur converse in gradus templorum, quia quasi homines ibant super ipsas tamquam super gradus templi.
|
||||
|
||||
Sexta transmutatio est de Iove in taurum. Nam fuit verum, ut dictum est alibi, quod Iupiter, qui fuit filius Saturni regis cretensis – quia de eo semper hic loquimur – rapuit Europam in ymaginem tauri et ipsam exportavit in navi, in qua erat signum tauri. Sed moraliter possumus intelligere per Iovem quemcumque potentem, qui cum subicit se mulieri dicitur converti in taurum, quia dimittit se equitari a muliere sicut taurus.
|
||||
Sexta transmutatio est de Iove in taurum. Nam fuit verum, ut dictum est alibi, quod Iupiter, qui fuit filius Saturni regis cretensis - quia de eo semper hic loquimur - rapuit Europam in ymaginem tauri et ipsam exportavit in navi, in qua erat signum tauri. Sed moraliter possumus intelligere per Iovem quemcumque potentem, qui cum subicit se mulieri dicitur converti in taurum, quia dimittit se equitari a muliere sicut taurus.
|
||||
|
||||
Septima transmutatio est de Iove converso in aquilam. Nam verum fuit quod Iupiter habebat aquilam in vexillis suis. Ideo quia, dum expulisset Saturnum de regno, et Titanus eius frater venit contra Iovem ut introduceret Saturnum, tunc Iupiter dicitur exivisse civitatem et apparuit sibi aquila et debellavit inimicos suos. Quapropter accepit aquilam in vexillis suis et ideo romani etiam portant aquilam, ut profiteantur se descendisse a Iove. Quapropter, dum esset captus amore cuiusdam scilicet Asteries, dicitur ivisse armata manu et cum vexillis apertis et eam rapuisse et pro tanto dicitur esse conversus in aquilam.
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,19 +1,17 @@
|
|||
Scribitur Danielis quinto capitulo quod, cum Baltassar Rex Babillonie sederet ad mensam, apparuit contra eum manus scribens in pariete. Ista manus est noster novus poeta Dantes, qui scripsit, id est composuit, istam altissimam et subtilissimam Comediam, que dividitur in tres partes: prima dicitur Infernus, secunda Purgatorium, tertia Paradisus. His tribus partibus correspondent illa tria que scripta sunt in pariete. Nam 'Mane' correspondet Inferno; interpretatur enim 'Mane' numerus, et iste poeta in prima parte sue Comedie numerat loca, penas et scelera damnatorum. 'Thechel' correspondet Purgatorio; interpretatur enim 'Thechel' appensio, sive ponderatio, et in secunda parte sue Comedie appendit et ponderat penitentias purgandorum. Phares autem correspondet Paradiso; interpretatur enim 'Phares' divisio, et iste poeta in tertia parte sue Comedie dividit, id est distinguit, ordines beatorum et angelicas ierarchias. Igitur manus, id est Dantes − nam per manum accipimus Dantem: manus enim dicitur a 'mano, manas' et Dantes dicitur a 'do, das', quia sicut a manu manat donum, ita a Dante datur nobis istud altissimum opus − scripsit, dico, in pariete, id est in aperto et publico, ad utilitatem omnium, 'Mane' (id est Infernum, cuius penas et loca numeravit), 'Thechel' (id est Purgatorium, cuius penitentias appendit et ponderavit), 'Phares', id est Paradisum, cuius situm ab infimis elevatum esse monstravit, et cuius beatitudines ordinate distinxit. Omnia enim ista, secundum quod scribitur in libro Sapientie VIIIIo, posuit iste egregius poetarum in numero, pondere et mensura. Posuit nanque iste poeta Infernum in numero, quia peccata et penas numerat; Purgatorium in pondere, quia penitentias ponderat et appendit; Paradisum in mensura, quia mensurat celos et distinguit ordines beatorum.
|
||||
Ad istum certe poetam et ad suam Comediam potest referri illa visio quam vidit Exechiel propheta, de qua visione sic scribit idem propheta: «ecce manus missa ad me, in qua erat liber scriptus intus et foris, et scripta erant in eo lamentationes, carmen et Ve». Ista manus est iste poeta; liber istius manus est sua altissima Comedia, que ideo scripta dicitur intus et foris quia continet non solum licteram sed etiam allegoriam. Scripta sunt autem in isto libro tria, scilicet lamentationes, carmen et 'Ve'. 'Ve', quod est interiectio dolentis et desperantis, refertur ad Infernum; 'Ve' enim in Sacra Scriptura eternam damnationem notat, ut dicunt Sancti super illo verbo; et est sensus. Lamentationes, que sunt note voluntarii et assumpti doloris, ad Purgatorium referuntur. Carmen vero, quod idem est quod laus et iubilatio, ad Paradisum refertur.
|
||||
Scribitur Danielis quinto capitulo quod, cum Baltassar Rex Babillonie sederet ad mensam, apparuit contra eum manus scribens in pariete. Ista manus est noster novus poeta Dantes, qui scripsit, id est composuit, istam altissimam et subtilissimam Comediam, que dividitur in tres partes: prima dicitur Infernus, secunda Purgatorium, tertia Paradisus. His tribus partibus correspondent illa tria que scripta sunt in pariete. Nam Mane correspondet Inferno; interpretatur enim Mane numerus, et iste poeta in prima parte sue Comedie numerat loca, penas et scelera damnatorum. Thechel correspondet Purgatorio; interpretatur enim Thechel appensio, sive ponderatio, et in secunda parte sue Comedie appendit et ponderat penitentias purgandorum. Phares autem correspondet Paradiso; interpretatur enim Phares divisio, et iste poeta in tertia parte sue Comedie dividit, id est distinguit, ordines beatorum et angelicas ierarchias. Igitur manus, id est Dantes − nam per manum accipimus Dantem: manus enim dicitur a mano, manas et Dantes dicitur a do, das, quia sicut a manu manat donum, ita a Dante datur nobis istud altissimum opus − scripsit, dico, in pariete, id est in aperto et publico, ad utilitatem omnium, Mane (id est Infernum, cuius penas et loca numeravit), Thechel (id est Purgatorium, cuius penitentias appendit et ponderavit), Phares, id est Paradisum, cuius situm ab infimis elevatum esse monstravit, et cuius beatitudines ordinate distinxit. Omnia enim ista, secundum quod scribitur in libro Sapientie VIIIIo, posuit iste egregius poetarum in numero, pondere et mensura. Posuit namque iste poeta Infernum in numero, quia peccata et penas numerat; Purgatorium in pondere, quia penitentias ponderat et appendit; Paradisum in mensura, quia mensurat celos et distinguit ordines beatorum.
|
||||
Ad istum certe poetam et ad suam Comediam potest referri illa visio quam vidit Exechiel propheta, de qua visione sic scribit idem propheta: «ecce manus missa ad me, in qua erat liber scriptus intus et foris, et scripta erant in eo lamentationes, carmen et Ve». Ista manus est iste poeta; liber istius manus est sua altissima Comedia, que ideo scripta dicitur intus et foris quia continet non solum licteram sed etiam allegoriam. Scripta sunt autem in isto libro tria, scilicet lamentationes, carmen et Ve. Ve, quod est interiectio dolentis et desperantis, refertur ad Infernum; Ve enim in Sacra Scriptura eternam damnationem notat, ut dicunt Sancti super illo verbo; et est sensus. Lamentationes, que sunt note voluntarii et assumpti doloris, ad Purgatorium referuntur. Carmen vero, quod idem est quod laus et iubilatio, ad Paradisum refertur.
|
||||
Ista, re vera, Comedia figurari potest etiam in archa Noe, que fuit tricamerata; in inferiori enim camera erant animalia silvestria et serpentes; in media erant animalia domestica atque mitia; in superiori vero erant homines et aves. Per primam cameram possumus accipere Infernum, in quo sunt animalia silvestria et immitia, id est homines damnati, et serpentes, id est demones. Per secundam cameram possumus accipere Purgatorium, in quo sunt animalia mitia, id est anime mites que patienter sustinent passiones. Per tertiam vero cameram possumus accipere Paradisum, in quo sunt homines et aves, id est sancti et angeli in gloria sublimati.
|
||||
His visis, sex in ista Comedia breviter indagemus: primo subiectum, id est causam materialem; secundo formam, id est causam formalem; tertio auctorem, id est causam agentem; quarto finem, id est causam finalem; quinto genus phylosophie, id est sub quo genere phylosophie ista comedia comprehendatur sive decurrat; sexto et ultimo libri titulum, id est quo titulo liber iste debeat intitulari. Circa primum nota quod subiectum huius operis est duplex: scilicet licterale et allegoricum. Si enim accipiatur licteraliter, dico quod subiectum huius operis est status animarum post mortem simpliciter sumptus; qui quidem status dividitur in tres partes, prout conditio animarum est triplex. Primus status sive conditio est illarum animarum que eternaliter sunt damnate, et que in penis habitant sine spe aliqua evadendi ex illis. Et ista pars appellatur Infernus. Secundus status sive conditio est illarum animarum que voluntarie stant in penis, ut Deo satisfaciant de commissis, et sunt in ipsis penis cum spe ad gloriam ascendendi; et ista pars Purgatorium appellatur. Tertius status sive conditio est illarum animarum que sunt in beata gloria ipsi summo et eterno bono eternaliter − hoc est sine fine − coniuncte; et ista pars appellatur Paradisus. Et sic patet quomodo subiectum huius operis est status animarum post mortem simpliciter sumptus. Nam de illo et circa illum totius huius operis versatur processus. Si vero subiectum accipiatur allegorice, dico quod subiectum sive materia est ipse homo prout merendo vel demerendo per arbitrii libertatem iustitie premiandi et puniendi obnoxius est, propter quod meritum sive culpam tribuitur ipsi homini gloria sive pena. Nam de pena sive gloria ipsi homini attributa nobis narranda sive manifestanda intentio versatur autoris. Et sic patet quod est subiectum in hoc opere, sive causa materialis.
|
||||
Circa secundum vero, id est circa causam formalem, nota quod causa formalis in hoc opere est duplex, scilicet forma tractatus et forma tractandi; forma tractatus est triplex, secundum triplicem divisionem quam recipit sive continet liber iste. Prima divisio est qua totum opus dividitur in canticas, et iste sunt tres; secunda, qua quelibet cantica dividitur in cantus, nam prima cantica dividitur in cantus XXXIIIIor, secunda in cantus XXXIII, et tertia in totidem. Et sic totum opus continet centum cantus. Tertia autem divisio est qua quilibet cantus dividitur in rithimos.
|
||||
Est autem rithimus quoddam genus versuum quorum fines ad invicem copulantur, et concordibus sillabis concorditer colligantur. Et iste est unus ex tribus dulcissimis sonis qui magis delectant et mulcent animum auditoris. Et oritur ex musica, cuius partes sunt tres: scilicet armonica, rithimica et metrica, sicut dicit beatus Ysidorus tertio Ethimologiarum libro. Tria sunt vero, quantum ad presentem Comediam, genera rithimorum; primum est illud cuius rithimus continet tantummodo decem sillabas, et iste est ille cuius ultima sillaba est longa et accentuata, ut ibi. Isti enim rithimi non recipiunt nisi decem sillabas. Tertium vero genus est cuius rithimus habet XI sillabas, et iste est ille cuius penultima sillaba est longa, ut communis usus demonstrat, sicut ibi. Adhuc nota, Lucane de Spinolis, cui istam expositionem ascribo, quod rithimi primi generis in una tantum debent silaba sive lictera concordare, hoc est in ultima; secundi vero debent concordare in tribus sillabis, id est in penultimis et ultimis; et tertii in duobus, hoc est in duobus ultimis, ut in lictera manifestissime demonstratur. Et sic patet que est forma tractatus.
|
||||
Forma vero sive modus tractandi est poeticus, fictivus, descriptivus, disgressivus et transumptivus, et cum hoc diffinitivus, divisivus, probativus, improbativus et exemplorum positivus. Et sic patet que est forma sive modus tractandi.
|
||||
Circa tertium vero, id est circa causam agentem, nota quod agens sive autor huius operis est Dantes. Fuit autem Dantes natione florentinus, nobili et antiquo sanguine natus, descendens de illis gloriosis Romanis qui civitatem Florentie, destructis Fesulis, fundaverunt; moribus insignitus et multis scientiis clare fultus, et maxime scientiis poetarum. Ipse enim mortuam poesiam de tenebris reduxit ad lucem. Et in hoc fuit imitatus Boetium, qui phylosophiam mortuam suo tempore suscitavit.
|
||||
Circa quartum, id est circa causam finalem, nota quod autor istud opus composuit ad hunc finem principaliter – licet et multi alii possint assignari fines – est autem principalis eius intentio removere viventes a statu miserie relinquendo peccata (et sic composuit Infernum), reducere ad virtutes (et sic composuit Purgatorium) ut sic eos perducat ad gloriam: et sic composuit Paradisum.
|
||||
Fines vero alii qui possunt assignari in hoc opere sunt tres: primus, ut discant homines polite et ornate loqui; nullus enim mortalis potest sibi in lingue gloria comparari. Re vera potest ipse dicere verbum prophete dicentis: «Deus dedit michi linguam eruditam», et illud: «lingua mea calamus scribe velociter scribentis». Ipse enim fuit calamus Spiritus Sancti, cum quo calamo ipse Spiritus Sanctus velociter scripsit nobis et penas damnatorum et gloriam beatorum. Ipse etiam Spiritus Sanctus per istum aperte redarguit scelera prelatorum et regum et principum orbis terre. Secundus finis est ut libros poetarum, qui erant totaliter derelicti et quasi oblivioni traditi, in quibus sunt multa utilia et ad bene vivendum necessaria, renovaret, quia sine ipsis ad cognitionem sue Comedie accedere non valemus. Tertius finis est ut vitam pessimam malorum hominum – et maxime prelatorum et principum – exemplariter condemnaret, bonorum autem et virtuosorum, per exempla que ponit, multipliciter commendaret; et sic patet que est causa finalis in hoc opere.
|
||||
Circa quintum − sub quo scilicet genere phylosophie ista comedia decurrat − nota quod istud genus est morale negotium, sive ethyca, quia non ad speculandum sed ad opus inventum et fictum est totum et pars. Nam, etsi in aliquo loco vel passu pertractatur ad modum speculativi negotii, hoc non est gratia speculativi negotii principaliter sed operis, quia – ut ait philosophus secundo Methaphysice. Et sic patet sub qua phylosophia comprehendatur ista altissima Comedia.
|
||||
Circa sextum vero et ultimum, hoc est circa titulum, nota quod libri titulus est iste; que quidem Comedia in tres canticas est divisa: prima dicitur Infernus, secunda Purgatorium et tertia Paradisus; profundissima dicitur quia tractat de inferis; altissima vero quia tractat de superis. Comedia autem ideo dicitur quia in principio est horribilis, sed in fine delectabilis. Ad cuius maiorem et clariorem evidentiam te volo scire, Lucane, quod IIIIor sunt genera poetarum, quorum quodlibet genus propriam habet scientiam. Quidam enim dicuntur poete lirici, qui in operibus suis omnes carminum varietates includunt. Et dicuntur lirici greco, id est a varietate carminum; unde et lira dicta, que habet varias cordas. Hoc genere carminum usus est David in componendo Psalterium. Unde Arator, sancte Romane Ecclesie cardinalis, super Actus Apostolorum ait. Quidam dicuntur satirici, eo quod pleni sunt omni facundia, sive a saturitate vel copia. De pluribus enim rebus simul loquuntur, et dicuntur satirici, sive satiri, a quadam scientia poetica, que dicitur satyra. Et sicut dicit quedam glosa super Persium: «satyra est lauta mensa multis generibus frugum repleta, que consuevit offerri Veneri in sacrificio»; et ista de causa istud secundum genus poetice narrationis dicitur satira, quia abundat reprehensione vitii et commendatione virtutis; vel satyra dicitur a Satyro deo silvarum. Satyri enim sunt quedam animalia ab umbilico supra formam hominis habentia; sed ab umbilico deorsum habent formam caprinam. In capite habent duo cornua et nasum uncinatum. Sunt autem isti satyri leves et saltatores, nudi et dicaces, et omnium subsannatores. Sic ista scientia poetarum est levis, quia cito saltat de vitio in virtutem et de virtute in vitium; nuda et dicax dicitur quia aperte vitia reprehendit; subsannatrix est quia deridet vitiosos. Quidam dicuntur tragedi, et eorum scientia dicitur tragedia. Est autem tragedia quedam poetica narratio que in principio est admirabilis et grata, in fine vero, sive exitu, est fetida et horribilis, et propter hoc dicitur a 'tragos', quod est 'hircus', et 'oda', quod est cantus, inde tragedia quasi cantus hircinus, id est fetidus ad modum hirci, ut patet per Senecam in suis Tragediis, vel ut dicit beatus Ysidorus octavo libro Ethymologiarum. Quidam vero dicuntur comici et eorum scientia comedia. Est autem comedia quedam narratio poetica que in principio habet asperitatem alicuius miserie, sed eius materia prospere terminatur, ut patet per Terrentium in suis comediis. Dicitur autem iste liber Comedia, quia in principio sue narrationis sive descriptionis, habet asperitatem et horribilitatem, quia tractat de penis Inferni; in fine vero continet iocunditatem et delectationem, quia tractat de gaudiis Paradisi. Inter poetas liricos Boetius et Symonides obtinent principatum; inter satyros Oratius et Persius; inter tragedos Homerus et Virgilius; inter comicos autem Plautus et Terrentius. Dantes autem potest dici non solum comicus propter suam Comediam, sed etiam poeta liricus, propter diversitatem rithimorum et propter dulcissimum et mellifluum quem reddunt sonum, et satiricus, propter reprehensionem vitiorum et commendationem virtutum quas facit, et tragedus propter magnalia gesta que narrat sublimium personarum. Et hoc demonstrant duo versus sui epytafii, quos ad suam memoriam fabricavi.
|
||||
Et sic patet libri titulus. Postquam manifestata sunt illa sex que in quolibet doctrinali opere sunt querenda, est sciendum quod ista comedia continet quatuor sensus, quemadmodum et scientia sacre theologie; currit enim in hoc poesia cum theologia, quia utraque scientia quadrupliciter potest exponi. Imo ab antiquis doctoribus ponitur poesia in numero theologie. Scribit enim beatus Augustinus VII libro De civitate Dei quod Marcus Varro tria genera theologie esse posuit: unum scilicet fabulosum, quo utuntur poete; alterum naturale, quo utuntur phylosophi; tertium vero civile, quo utuntur populi. Primus nanque intellectus sive sensus quem continet Comedia dicitur hystoricus, secundus allegoricus, tertius tropologicus, quartus vero et ultimus dicitur anagogicus.
|
||||
Circa quartum, id est circa causam finalem, nota quod autor istud opus composuit ad hunc finem principaliter - licet et multi alii possint assignari fines - est autem principalis eius intentio removere viventes a statu miserie relinquendo peccata (et sic composuit Infernum), reducere ad virtutes (et sic composuit Purgatorium) ut sic eos perducat ad gloriam: et sic composuit Paradisum.
|
||||
Fines vero alii qui possunt assignari in hoc opere sunt tres: primus, ut discant homines polite et ornate loqui; nullus enim mortalis potest sibi in lingue gloria comparari. Ipse enim fuit calamus Spiritus Sancti, cum quo calamo ipse Spiritus Sanctus velociter scripsit nobis et penas damnatorum et gloriam beatorum. Ipse etiam Spiritus Sanctus per istum aperte redarguit scelera prelatorum et regum et principum orbis terre. Secundus finis est ut libros poetarum, qui erant totaliter derelicti et quasi oblivioni traditi, in quibus sunt multa utilia et ad bene vivendum necessaria, renovaret, quia sine ipsis ad cognitionem sue Comedie accedere non valemus. Tertius finis est ut vitam pessimam malorum hominum - et maxime prelatorum et principum - exemplariter condemnaret, bonorum autem et virtuosorum, per exempla que ponit, multipliciter commendaret; et sic patet que est causa finalis in hoc opere.
|
||||
Circa quintum − sub quo scilicet genere phylosophie ista comedia decurrat − nota quod istud genus est morale negotium, sive ethyca, quia non ad speculandum sed ad opus inventum et fictum est totum et pars. Nam, etsi in aliquo loco vel passu pertractatur ad modum speculativi negotii, hoc non est gratia speculativi negotii principaliter sed operis, quia - ut ait philosophus secundo Methaphysice. Et sic patet sub qua phylosophia comprehendatur ista altissima Comedia.
|
||||
Circa sextum vero et ultimum, hoc est circa titulum, nota quod libri titulus est iste; que quidem Comedia in tres canticas est divisa: prima dicitur Infernus, secunda Purgatorium et tertia Paradisus; profundissima dicitur quia tractat de inferis; altissima vero quia tractat de superis. Comedia autem ideo dicitur quia in principio est horribilis, sed in fine delectabilis. Ad cuius maiorem et clariorem evidentiam te volo scire, Lucane, quod IIIIor sunt genera poetarum, quorum quodlibet genus propriam habet scientiam. Quidam enim dicuntur poete lirici, qui in operibus suis omnes carminum varietates includunt. Et dicuntur lirici greco, id est a varietate carminum; unde et lira dicta, que habet varias cordas. Hoc genere carminum usus est David in componendo Psalterium. Unde Arator, sancte Romane Ecclesie cardinalis, super Actus Apostolorum ait. Quidam dicuntur satirici, eo quod pleni sunt omni facundia, sive a saturitate vel copia. De pluribus enim rebus simul loquuntur, et dicuntur satirici, sive satiri, a quadam scientia poetica, que dicitur satyra. Et sicut dicit quedam glosa super Persium; et ista de causa istud secundum genus poetice narrationis dicitur satira, quia abundat reprehensione vitii et commendatione virtutis; vel satyra dicitur a Satyro deo silvarum. Satyri enim sunt quedam animalia ab umbilico supra formam hominis habentia; sed ab umbilico deorsum habent formam caprinam. In capite habent duo cornua et nasum uncinatum. Sunt autem isti satyri leves et saltatores, nudi et dicaces, et omnium subsannatores. Sic ista scientia poetarum est levis, quia cito saltat de vitio in virtutem et de virtute in vitium; nuda et dicax dicitur quia aperte vitia reprehendit; subsannatrix est quia deridet vitiosos. Quidam dicuntur tragedi, et eorum scientia dicitur tragedia. Est autem tragedia quedam poetica narratio que in principio est admirabilis et grata, in fine vero, sive exitu, est fetida et horribilis, et propter hoc dicitur a tragos, quod est hircus, et oda, quod est cantus, inde tragedia quasi cantus hircinus, id est fetidus ad modum hirci, ut patet per Senecam in suis Tragediis, vel ut dicit beatus Ysidorus octavo libro Ethymologiarum. Quidam vero dicuntur comici et eorum scientia comedia. Est autem comedia quedam narratio poetica que in principio habet asperitatem alicuius miserie, sed eius materia prospere terminatur, ut patet per Terrentium in suis comediis. Dicitur autem iste liber Comedia, quia in principio sue narrationis sive descriptionis, habet asperitatem et horribilitatem, quia tractat de penis Inferni; in fine vero continet iocunditatem et delectationem, quia tractat de gaudiis Paradisi. Inter poetas liricos Boetius et Symonides obtinent principatum; inter satyros Oratius et Persius; inter tragedos Homerus et Virgilius; inter comicos autem Plautus et Terrentius. Dantes autem potest dici non solum comicus propter suam Comediam, sed etiam poeta liricus, propter diversitatem rithimorum et propter dulcissimum et mellifluum quem reddunt sonum, et satiricus, propter reprehensionem vitiorum et commendationem virtutum quas facit, et tragedus propter magnalia gesta que narrat sublimium personarum. Et hoc demonstrant duo versus sui epytafii, quos ad suam memoriam fabricavi.
|
||||
Et sic patet libri titulus. Postquam manifestata sunt illa sex que in quolibet doctrinali opere sunt querenda, est sciendum quod ista comedia continet quatuor sensus, quemadmodum et scientia sacre theologie; currit enim in hoc poesia cum theologia, quia utraque scientia quadrupliciter potest exponi. Imo ab antiquis doctoribus ponitur poesia in numero theologie. Scribit enim beatus Augustinus VII libro De civitate Dei quod Marcus Varro tria genera theologie esse posuit: unum scilicet fabulosum, quo utuntur poete; alterum naturale, quo utuntur phylosophi; tertium vero civile, quo utuntur populi. Primus namque intellectus sive sensus quem continet Comedia dicitur hystoricus, secundus allegoricus, tertius tropologicus, quartus vero et ultimus dicitur anagogicus.
|
||||
Primus, dico, intellectus est hystoricus. Iste intellectus non se extendit nisi ad licteram, sicut quando accipimus Minoem iudicem et assessorem Inferni, qui diiudicat animas descendentes. Secundus intellectus est allegoricus, per quem intelligo quod lictera sive hystoria unum significat in cortice et aliud in medulla, et secundum istum intellectum allegoricum Minoes tenet figuram divine iustitie. Tertius intellectus est tropologicus sive moralis, per quem intelligo quomodo me ipsum debeo iudicare; et secundum istum intellectum Minos tenet figuram rationis humane, que debet regere totum hominem, sive remorsus conscientie, qui debet malefacta corrigere. Quartus vero et ultimus intellectus est anagogicus, per quem sperare debeo digna recipere pro commissis, et secundum istum intellectum Minos tenet figuram spei, qua mediante penam pro peccatis et gloriam pro virtutibus sperare debemus. De illis autem personis quas ibi ponit hoc accipe: quod non debemus credere eos ibi esse, sed exemplariter intelligere quod, cum ipse tractat de aliquo vitio, ut melius illud vitium intelligamus, aliquem hominem qui multum illo vitio plenus fuit in exemplum adducit.
|
||||
|
||||
|
||||
His omnibus visis, ad aliqualem expositionem lictere accedamus. Ista Comedia, ut dictum est, dividitur in tres canticas; prima dicitur Infernus; secunda Purgatorium, et tertia Paradisus. Sed primo de prima, cuius titulus talis est.
|
||||
In ista prima Cantica autor tractat de peccatoribus et peccatis, et in ea secundum rationem humanam penas peccatis adaptat. Continet autem ista prima cantica XXXIIII cantus; cuius primi cantus titulus talis est. In isto primo cantu autor prohemizat ad totam universaliter et generaliter Comediam; et ponit in hoc cantu principaliter duo: primo, quomodo ipse, volens ad montem virtutum ascendere, fuit a tribus vitiis impeditus, scilicet a luxuria, superbia et avaritia; que quidem vitia figurantur et designantur per tres feras, que sibi apparuerunt: scilicet per lonzam, leonem et lupam. Secundo, ponit quomodo Virgilius, maximus poetarum, in auxilium suum venit, qui tenet typum et figuram rationis humane, qua mediante promittit sibi ostendere Infernum et Purgatorium. Sed quia ad divina et celestia contemplanda humana ratio non potest attingere, ideo promittit ei non per se, sed per celestem ductorem sive ducem ostendere Paradisum. Viso titulo, licteram indagemus; sed nota quod non est mea intentio procedere in hoc opere in omni passu vel loco more sermocinalis, seu naturalis, seu moralis scientie, singulariter et multipliciter dividendo, sed insistere circa licteram, cuiuslibet scilicet cantus summam summarie declarando, et demonstrando per quemlibet cantum qualem viam autor descendendo vel ascendendo facit, quot historias, quot questiones ac etiam prophetias, cum occurrerint, et quot comparationes sive similitudines ac etiam notabilia ponit.
|
||||
|
||||
In ista prima Cantica autor tractat de peccatoribus et peccatis, et in ea secundum rationem humanam penas peccatis adaptat. Continet autem ista prima cantica XXXIIII cantus; cuius primi cantus titulus talis est. In isto primo cantu autor prohemizat ad totam universaliter et generaliter Comediam; et ponit in hoc cantu principaliter duo: primo, quomodo ipse, volens ad montem virtutum ascendere, fuit a tribus vitiis impeditus, scilicet a luxuria, superbia et avaritia; que quidem vitia figurantur et designantur per tres feras, que sibi apparuerunt: scilicet per lonzam, leonem et lupam. Secundo, ponit quomodo Virgilius, maximus poetarum, in auxilium suum venit, qui tenet typum et figuram rationis humane, qua mediante promittit sibi ostendere Infernum et Purgatorium. Sed quia ad divina et celestia contemplanda humana ratio non potest attingere, ideo promittit ei non per se, sed per celestem ductorem sive ducem ostendere Paradisum. Viso titulo, licteram indagemus; sed nota quod non est mea intentio procedere in hoc opere in omni passu vel loco more sermocinalis, seu naturalis, seu moralis scientie, singulariter et multipliciter dividendo, sed insistere circa licteram, cuiuslibet scilicet cantus summam summarie declarando, et demonstrando per quemlibet cantum qualem viam autor descendendo vel ascendendo facit, quot historias, quot questiones ac etiam prophetias, cum occurrerint, et quot comparationes sive similitudines ac etiam notabilia ponit.
|
||||
|
|
@ -46,7 +46,7 @@ Post hoc auctor, procedendo, fingit sibi apparuisse super hac turri dicte civita
|
|||
|
||||
Post hoc videamus quid auctor subsequenter vult sentire pro isto spiritu quem vocat numptium Dei, et quem ita fingit nunc venisse cum tanto impetu super aquam huius paludis Stigie sicut super terram aridam, removentem aerem grossam talis a vultu cum sinistra cum tanto labore, et cum sua virga aperiente hanc portam Ditis et improperantem demonibus qui illam ita serraverant contra ipsum auctorem et Virgilium, ut dicit textus. Post hec videamus quid secundario auctor allegorice in hoc tangere velit, ad quod enucleandum ita premictamus, scilicet quod, habita per ipsum auctorem hucusque notitia per investigationem contemplativam de septem vitiis supradictis, descendentibus ab incontinentia, et de vitiatis in eis in hoc mundo et de dampnatis in alio et de eorum penis ut de particularibus et specialibus vitiis et peccatis, mediante Virgilio, idest mediante ratione, volens inde procedere ad investigandum de aliis vitiis et vitiatis in universali dependentibus a malitia et fraude humana tanquam inexpertus eorum, fingit hoc se nequisse facere solum cum ipso Virgilio, idest cum ipsa ratione, scilicet ingredi dictam civitatem Ditis, quam pro statu malitiosorum et fraudulentorum in hoc mundo viventium accipit, ut dicit auctor infra in capitulo XI, sed opus sibi fuisse adminiculo Mercurii, scilicet intimatione nature, et effectus talis planete per quam aperitur nobis dicta civitas, idest status malitie et fraudis mundane ut plurimum existentium inter negotiatores malivolos huius mundi impressionatos ad hoc a dicto tali planeta. Nam, cum respicit se cum Iove vel cum aliqua bona constellatione et signo, tunc benivolus est et habet infundere activam virtutem in nobis circa licteraturam et alia famosa acquirenda, pro qua virtute tali accipitur dicta virga Mercurii, per quam aperitur nobis dicta porta Ditis, idest aperitur nobis cognitio malitiarum et fraudum, ut ab eis nobis precaveamus prudenti astutia Mercuriali quando vero est coniunctus dictus planeta cum malivolis stellis et signis, tunc ut malivolus imprimit que circa fraudes et malitias negotiantium dixi superius, et ex hoc promiscuus planeta dicitur. Nam cum bonis stellis bonus et cum malis malus est, inducendo auctor dictum Mercurium in proprietate dictis demonibus cur volunt recalcitrare voluntati divine cui non potest finis esse detruncatus, ut est in aliis voluntatibus hominum qui sepe aliquid agunt ad unum finem et alius diversus finis eis evenit, item cur volunt cum fatis pugnare, volentia auctorem ita ire per Infernum, ut ipse auctor dixit supra in V capitulo Minoi, in persona Virgilii dicentis ei ut non impediat fatale iter eius, et sic videtur auctor sentire fata esse et fatata penitus evenire, sed in hoc tangere vult quod antiqui poete et phylosophi scribunt. Alio modo potest considerari dicta ordinatio in quantum est in mediis causis ab ipso Deo ordinatis ad aliquos effectus producendos, et tunc habet rationem fati, et sic voluntas vel potestas Dei fatum vocari potest casualiter; essentialiter vero factum erit dispositio et ordo dictarum secundarum causarum, et sic errant illi qui omnia fortuita et casualia que in hiis inferioribus accidunt sive in rebus naturalibus, sive humanis, reducere volunt in superiorem causam, idest ad corpora celestia, secundum quos fatum nichil aliud esset quam dispositio siderum in qua quis conceptus sit vel natus. Ultimo fingit auctor se ingredi dictam civitatis Ditis, idest considerationem contemplativam status illorum qui in hoc mundo vivunt in malitia et fraude, verum quia in particulari heretici magis possunt dici excedere alios in hoc mundo in malitia. Ideo fingit se eos invenire primo intra dictam civitatem, sive eorum animas ita sepultas in dictis archis circumdatis flammis, ut dicit textus, pro quibus allegorice auctor accipit malitiosas eorum credulitates et doctrinas claudentes eos in locis absconsis, ad eorum perfidiam peragendam.
|
||||
|
||||
Continuato hoc decimo capitulo cum fine precedentis auctor fingit se invenire inter dictos hereticos mortuos in errore dicti Epicuri phylosophi discipuli Socratis, scilicet quod anima simul cum corpore moriatur, umbram domini Farinate de Ubertis de Florentia et umbram domini Cavalcantis de Cavalcantibus de dicta terra, patris Guidonis, viri acutissimi ingenii et comitis contemporanei huius auctoris qui, quamvis fuerit magnus rimator in materno stilo, nullatenus tamen delectabatur in poesia, sed potius in phylosophia, ut colligitur hic in textu in eo quod dicit sibi auctor quod dedignatus fuerat studere super Virgilio, inducendo inde auctor umbram domini Farinate ad prenuntiandum sibi quomodo ante quinquaginta menses exulabit de dicta civitate Florentie per illa verba quod facies domine regentis ibi quinquaginta vicibus non erit reaccensa etc., idest facies lune in quantum pro Proserpina poetice summitur. Post hec sciendum est quod, expulsis dictis Ubertis cum sua parte Ghibellina de Florentia, et morantibus in civitate Senarum anno domini MCCLVIIII Florentini cum Lucensibus cum valido exercitu, ingressi sunt comitatum Senarum et castramentati sunt apud Montem Apertum, iuxta quem currit quoddam flumen quod vocatur Arbia, et ibi breviter dictus exercitus Florentinorum positus est in conflictu per dictos Senenses mediante auxilio regis Manfredi, tunc regis Sicilie et Apulie, qui misit comitem Iordanum cum octingentis militibus ad id faciendum dictis Senensibus, hoc pacto interveniente quod, si dicta civitas Florentie caperetur per dictam partem Ghibellinorum, quod funditus destrueretur, ad quod omnes Ghibellini Florentini extrinseci consenserunt, excepto dicto domino Farinata dicente tunc se nolle mori quando non appellaretur civis civitatis Florentie. Et hoc vult tangere umbra dicti domini Farinate dicens hic quomodo fuit solus etc., et auctor dum dicit quomodo aqua dicti fluminis Arbie ex dicto conflictu colorata fuit de sanguine Florentinorum in rubeum; nam occisi fuerunt ibi ultra quam sex milia Florentinorum.
|
||||
Continuato hoc decimo capitulo cum fine precedentis auctor fingit se invenire inter dictos hereticos mortuos in errore dicti Epicuri phylosophi discipuli Socratis, scilicet quod anima simul cum corpore moriatur, umbram domini Farinate de Ubertis de Florentia et umbram domini Cavalcantis de Cavalcantibus de dicta terra, patris Guidonis, viri acutissimi ingenii et comitis contemporanei huius auctoris qui, quamvis fuerit magnus rimator in materno stilo, nullatenus tamen delectabatur in poesia, sed potius in phylosophia, ut colligitur hic in textu in eo quod dicit sibi auctor quod dedignatus fuerat studere super Virgilio, inducendo inde auctor umbram domini Farinate ad prenuntiandum sibi quomodo ante quinquaginta menses exulabit de dicta civitate Florentie per illa verba quod facies domine regentis ibi quinquaginta vicibus non erit reaccensa etc, idest facies lune in quantum pro Proserpina poetice summitur. Post hec sciendum est quod, expulsis dictis Ubertis cum sua parte Ghibellina de Florentia, et morantibus in civitate Senarum anno domini MCCLVIIII Florentini cum Lucensibus cum valido exercitu, ingressi sunt comitatum Senarum et castramentati sunt apud Montem Apertum, iuxta quem currit quoddam flumen quod vocatur Arbia, et ibi breviter dictus exercitus Florentinorum positus est in conflictu per dictos Senenses mediante auxilio regis Manfredi, tunc regis Sicilie et Apulie, qui misit comitem Iordanum cum octingentis militibus ad id faciendum dictis Senensibus, hoc pacto interveniente quod, si dicta civitas Florentie caperetur per dictam partem Ghibellinorum, quod funditus destrueretur, ad quod omnes Ghibellini Florentini extrinseci consenserunt, excepto dicto domino Farinata dicente tunc se nolle mori quando non appellaretur civis civitatis Florentie. Et hoc vult tangere umbra dicti domini Farinate dicens hic quomodo fuit solus etc, et auctor dum dicit quomodo aqua dicti fluminis Arbie ex dicto conflictu colorata fuit de sanguine Florentinorum in rubeum; nam occisi fuerunt ibi ultra quam sex milia Florentinorum.
|
||||
|
||||
Ad secundum articulum, scilicet dum dicta umbra dicit quod dicte anime separate et dampnate, licet ita presciant futura secundum quod supra dictum est, presentia tamen non, hoc est quod ignorant quicquid hic fit, secundum etiam auctoritatem sanctorum. Dicit enim Augustinus in libro De Cura Pro Mortuis Agenda quod dicte anime mortuorum Ibi sunt, vel que hic fiunt scire non possunt, et alibi, eodem libro, dicit quod Anime mortuorum rebus viventium non intersunt. Per que dicta et auctoritates debent patere satis verba auctore hic posita, hoc tamen adhuc addito ad maiorem indaginem, scilicet quod in eo quod auctor in persona dicte umbre domini Farinate dicit quod quando predicta futura ita prescita a dictis animabus proximant se ad esse sive sunt vel existunt, cum de iure paria sint aliqua esse vel de proximo fieri debere, tota eorum talis scientia evanescit, infert hoc tali respectu. Nam, ut iam dictum est, dicta talia futura presciuntur solum a dictis animabus ex quodam divino beneficio quod adhuc recipiunt ex quadam habitudine earum nature spiritualis et incorporee; modo cum dicta talia futura proximant se ad esse, vel eveniunt, non possunt amplius futura censeri et dici, cum sint statim ad modo presentia censeri, at presentia dicte anime scire non possunt tali divino predicto beneficio, sed alio singulari modo, ut iam supra dixi ergo etc. Nam non se habet equaliter ad omnia singularia sed ad quedam habet aliquam habitudinem quam non habet ad alia. Vidimus igitur quomodo dicte tales anime se habeant ad cognitionem futurorum et presentium: nunc videamus quid de preteritis utrum recordentur, seu scientiam habeant eorum, et dicit dictus Thomas quod Sciunt ea de quibus habuerunt notitiam in corporibus existentes; aliter si non recordarentur eorum que gesserunt in vita Periret in eis vermis conscientie qui non moritur, idest semper durat, ut dicit Ysaie ultimo capitulo.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue