PHP Classes


Recommend this page to a friend!
  Classes of Seltzlab  >  Seltz analyzer  >  README  >  Download  
Role: Documentation
Content type: text/plain
Description: Readme file
Class: Seltz analyzer
Extract important words from HTML documents
Author: By
Last change: Updated rules list
Date: 7 years ago
Size: 3,866 bytes


Class file image Download
seltz_analyzer is a PHP class that try to find the most important words inside a well formed xhtml trunk.
Every word take a score based on the role on the xhtml structure. For example: a word between strong tag will take 5 points.
In addition, will look at some simple syntax rules. For example a word with first char uppercase will take 4 points.
Below the rules applied:
- weight_ucfirst = 4, first char uppercase and the first char before the word is not an interrpution char
- weight_ucfirst_multi = + weight_ucfirst, weight_ucfirst is satisfied and the previous words too
- weight_pspell = 3, if php pspell module is loaded and the syntax checker pspell does not recognize the word as a valid word
- weight_strong = 5, the word is inside a strong or b tag
- weight_em = 5, the word is inside a em or i tag
- weight_span = 4, the word is inside a span tag
- weight_p = 1, the word is inside a p tag
- weight_acronym = 2, the word is inside a acronym tag
- weight_cite = 1, the word is inside a cite tag

Header tags h1, h2, hn set a moltiplicator for the score of the following words which is in inverse proportion with the heading number (1/n)

Score is cumulative, so a word more is used more meaning will take.

This work is licensed under Creative Commons Attribution-Share Alike 3.0. or write to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

seltz_analyzer è una classe PHP che si occupa di parsare una documento
XHTML e trovare le parole semanticamente più importanti del testo.
Niente di trascendentale in realtà, niente intelligenza artificiale, nessuna magia.
Il parser analizza la struttura XHTML del documento e, in base all'utilizzo
di alcuni tag come strong o em dà un punteggio ad una parola o una frase.
Oltre a cercare l'importanza semantica dalla struttura del documento, assegna
anche punteggi sulla base di alcune regole legate alla sintassi del testo.
Di seguito i pesi applicati alle varie casistiche:
- weight_ucfirst = 4, la parola comincia con lettera maiuscola e non è preceduta da un carattere di interruzione
- weight_ucfirst_multi = + weight_ucfirst, se è soddisfatta weight_ucfirst ma anche la precendete parola soddisfaceva weight_ucfirst
- weight_pspell = 3, se il modulo php pspell è caricato e la parola non è riconosciuta dal syntax checker pspell
- weight_strong = 5, la parola è contenuta in un tag strong o b
- weight_em = 5, la parola è contenuta in un tag em o i
- weight_span = 4, la parola è contenuta in un tag span
- weight_p = 1, la parola è contenuta in un tag p
- weight_acronym = 4, la parola è contenuta in un tag acronym
- weight_cite = 1, la parola è contenuta in un tag cite

I tag header h1, h2, hn impostano un moltiplicatore inversamente proporzionale (1/n) per le parole che seguono

Il punteggio è comulativo, quindi più volte viene utilizzata una parola più significato prende.

Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Condividi allo stesso modo 3.0 Italia. Per leggere una copia della licenza visita il sito web o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.


// seltz_analyzer configuration params
$conf = array(
    'doclang' => 'en', // 2 chars document lang, default en
    'encoding' => 'utf-8' // document encoding, default iso-8859-1

// new seltz_analyzer object
// 1st param is a well formed XHTML trunk (must have a root element) or an URL to a web document
// 2nd param is the configuration array
$mydoc = new seltz_analyzer($html, $conf);
// the buildStruct method return an associative array with words as keys and scores as values
$words = $mydoc->buildStruct();