/** * add Parameter for ngram * * @param NaiveBayesianStorage $nbs * @param ngram's N $n * @return boolean */ function __construct($nbs, $n = 2) { parent::__construct($nbs); $this->N = $n; return true; }
function showArticleStats() { $article_id = (int) $_REQUEST["article_id"]; $result = $this->dbh->query("SELECT score, guid, title, content FROM ttrss_entries, ttrss_user_entries WHERE ref_id = id AND id = " . $article_id . " AND owner_uid = " . $_SESSION["uid"]); if ($this->dbh->num_rows($result) != 0) { $guid = $this->dbh->fetch_result($result, 0, "guid"); $title = $this->dbh->fetch_result($result, 0, "title"); $content = mb_substr(mb_strtolower($title . " " . strip_tags($this->dbh->fetch_result($result, 0, "content"))), 0, $this->max_document_length); print "<h2>" . $title . "</h2>"; $nbs = new NaiveBayesianStorage($_SESSION["uid"]); $nb = new NaiveBayesian($nbs); $categories = $nbs->getCategories(); $ref = $nbs->getReference($guid, false); $current_cat = isset($ref["category_id"]) ? $categories[$ref["category_id"]]["category"] : "N/A"; print "<p>" . T_sprintf("Currently stored as: %s", $current_cat) . "</p>"; $result = $nb->categorize($content); print "<h3>" . __("Classifier result") . "</h3>"; print "<table>"; print "<tr><th>Category</th><th>Probability</th></tr>"; foreach ($result as $k => $v) { print "<tr>"; print "<td>" . $categories[$k]["category"] . "</td>"; print "<td>" . $v . "</td>"; print "</tr>"; } print "</table>"; } else { print_error("Article not found"); } print "<div align='center'>"; print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('bayesShowDlg').hide()\">" . __('Close this window') . "</button>"; print "</div>"; }