PHP Classes

PHP Stanford NLP Datastore: Analyse text with NLP and stores in a database

Recommend this page to a friend!
  Info   View files Example   Screenshots Screenshots   View files View files (19)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 133 All time: 9,259 This week: 196Up
Version License PHP version Categories
php-stanford-nlp-dat 1.0.3MIT/X Consortium ...5Databases, Text processing, Language, A...
Description 

Author

This package can analyse text with NLP and stores in a database.

It can perform text analysis using a local version of Stanford Natural Language processing .

The results are stored in a local SQLite database for further analysis.

Picture of Dennis de Swart
Name: Dennis de Swart <contact>
Classes: 3 packages by
Country: The Netherlands The Netherlands
Age: ???
All time rank: 302182 in The Netherlands The Netherlands
Week rank: 569 Up16 in The Netherlands The Netherlands Up
Innovation award
Innovation award
Nominee: 2x

Example

<?php

   
/**
     * Instantiate
     */
   
require_once __DIR__.'/bootstrap.php';
   
   
/**
     * Init template
     * Init CoreNLP Adapter
     */
   
$template = new Template();
   
$coreNLP = new CorenlpAdapter();
   
$datastore = new Datastore($db->conn);
   
   
/**
     * Init variables
     */
   
$text = '';
   
$search = '';
   
$enterButton = '';
   
$searchButton = '';
   
$helpButton = '';

   
/**
     * POST procedure
     */
   
if ($_SERVER["REQUEST_METHOD"] == "POST") {
       
       
// clean up the post array
       
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);

       
// check if "clear database" checkbox is set
       
if(array_key_exists("emptyDB", $_POST)){
           
$db->clearAllTables();
        }
       
       
// Analyze the text
       
if(!empty($_POST['text'])){
           
$text = $_POST['text'];
           
           
// runs the CoreNLP Adapter and saves result in "$coreNLP->serverMemory"
           
$coreNLP->getOutput($text);
           
           
// Save result to database
           
$datastore->storeNLP($coreNLP);
           
        } elseif(!empty(
$_POST['helpButton'])){
           
$helpButton = $_POST['helpButton'];
       
        } elseif(!empty(
$_POST['enterButton'])){
           
$enterButton = $_POST['enterButton'];
           
        } elseif(!empty(
$_POST['searchButton'])){
           
$searchButton = $_POST['searchButton'];
        } elseif(!empty(
$_POST['search'])){
           
$search = $_POST['search'];
        }
    }

   
// display the form
   
$template->getForm($text, $searchButton, $search);

    if(
$helpButton){
       
$template->getHelp();
        die;
    }
   
    if(!empty(
$text) || !empty($search) ||$searchButton == '1' || $enterButton == '1'){
     
       
?>
<!-- RESULTS -->
    <table>
    <th>
        <tr>
            <td>
                <?php
                    $oie
= new OpenIE($db->conn);
                   
                    if(
$search){
                       
$ieSearch = $oie->openieSearch($search);
                       
$searchWord = 'for text containing the word "'.$search.'"';
                    } else {
                       
$ieSearch = $oie->openieSearch();
                       
$searchWord = 'for all words';
                    }
                   
                   
$template->getTable($ieSearch, 'OpenIE', $searchWord);
               
?>
</td>
        </tr>
        <tr>
            <td>
                <?php
               
                    $ner
= new NER($db->conn);
               
                    if(
$search){
                       
$nerWords = $ner->searchEntities($search);
                       
$searchWord = 'for text containing the word "'.$search.'"';
                    } else {
                       
$nerWords = $ner->searchEntities();
                       
$searchWord = 'for all words';
                    }
               
                   
$template->getTable($nerWords, 'NER Entities', $searchWord);

                   
/**
                     * for the seperate tokens uncomment the two lines below:
                     */
                   
if($search){
                       
$nerTokens = $ner->searchTokens($search);
                       
$searchWord = 'for text containing the word "'.$search.'"';
                    } else {
                       
$nerTokens = $ner->searchTokens();
                       
$searchWord = 'for all words';
                    }
               
                   
$template->getTable($nerTokens, 'NER Tokens', $searchWord);
               
?>
</td>
        </tr>
        <tr>
            <td>
                <?php
                    $coref
= new Coreference($db->conn);
                   
                     if(
$search){
                       
$corefs = $coref->corefSearch($search);
                       
$searchWord = 'that refer to the word "'.$search.'"';
                    } else {
                       
$corefs = $coref->corefSearch();
                       
$searchWord = 'for all words';
                    }
                   
                   
$template->getTable($corefs, 'Corefs', $searchWord);
               
?>
</td>
        </tr>
    </table>
    <!-- END RESULTS -->
<?php
   
}
    echo
'</div></body></html>';


Screenshots  
  • datastore_result_a_small.png
  • datastore_result_b_small.png
  • datastore_result_search_small.png
  Files folder image Files  
File Role Description
Files folder imagesrc (11 files)
Accessible without login Plain text file bootstrap.php Aux. Bootstrap script
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Image file datastore_result_a.PNG Data Auxiliary data
Accessible without login Image file datastore_result_b.PNG Data Auxiliary data
Accessible without login Image file datastore_result_search.PNG Data Auxiliary data
Accessible without login Plain text file index.js Data Auxiliary data
Accessible without login Plain text file index.php Example Example script
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  src  
File Role Description
  Plain text file Coreference.php Class Class source
  Plain text file Database.php Class Class source
  Plain text file Datastore.php Class Class source
  Plain text file NER.php Class Class source
  Plain text file Object.php Class Class source
  Plain text file OpenIE.php Class Class source
  Plain text file Relation.php Class Class source
  Plain text file Sentence.php Class Class source
  Plain text file Subject.php Class Class source
  Plain text file Template.php Class Class source
  Plain text file Word.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 86%
Total:133
This week:0
All time:9,259
This week:196Up