Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b2ef1e9

Browse files
committed
added AFINN
1 parent e97ef9f commit b2ef1e9

File tree

4 files changed

+61
-19
lines changed

4 files changed

+61
-19
lines changed

‎README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,9 @@ Download CoreNLP server (Java) here: https://stanfordnlp.github.io/CoreNLP/index
243243
```bash
244244
# Run the server using all jars in the current directory (e.g., the CoreNLP home directory)
245245
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
246+
247+
# To run server in as a background process
248+
nohup java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 &
246249
```
247250
More info about running the CoreNLP Server: https://stanfordnlp.github.io/CoreNLP/corenlp-server.html
248251

@@ -277,6 +280,7 @@ Array
277280
```
278281

279282
## Concept Graph
283+
WARNING: At the time of writing SSL certificate for concept.research.microsoft.com has expired and service might not work until they get that fixed.
280284
Microsoft Concept Graph For Short Text Understanding: https://concept.research.microsoft.com/
281285

282286
Find related concepts to provided keyword

‎src/NlpClient.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,20 @@ function __construct( $hosts, $debug = false )
3636
public function spacy_entities( $text, $lang = 'en' )
3737
{
3838
$data = $this->post_call('/spacy/entities', ['text' => $text, 'lang' => $lang ] );
39-
39+
4040
return ( !empty($data['entities']) ) ? $data['entities'] : null;
4141
}
4242

43+
/**
44+
* AFINN Sentiment Analysis
45+
*/
46+
public function afinn_sentiment( $text, $lang = 'en' )
47+
{
48+
$data = $this->post_call('/afinn', ['text' => $text, 'lang' => $lang ] );
49+
50+
return ( isset($data['afinn']) ) ? $data['afinn'] : null;
51+
}
52+
4353
/**
4454
* Summarize long text
4555
*/

‎tests/Unit/AfinnTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Tests\Unit;
4+
5+
use Tests\TestCase;
6+
7+
class AfinnTest extends TestCase
8+
{
9+
/** @test */
10+
public function get_neighbours()
11+
{
12+
$nlp = new \Web64\Nlp\NlpClient( $this->nlpserver_config['hosts'], $this->nlpserver_config['debug'] );
13+
14+
$text = "This is great fantastic stuff!";
15+
$score = $nlp->afinn_sentiment( $text, 'en');
16+
17+
$this->msg( "{$text}\nSCORE: {$score}" );
18+
$this->assertGreaterThan(0, $score, "Positive text not greater than zero");
19+
20+
21+
22+
$text = "This is horrible and aweful disgusting bad crap!";
23+
$score = $nlp->afinn_sentiment( $text, 'en');
24+
25+
$this->msg( "{$text}\nSCORE: {$score}" );
26+
$this->assertLessThan(0, $score, "Negative text not less than zero");
27+
}
28+
}

‎tests/Unit/ConceptTest.php

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,27 @@
66

77
class ConceptTest extends TestCase
88
{
9-
/** @test */
10-
public function get_concepts_for_words()
11-
{
12-
$concept = new \Web64\Nlp\MsConceptGraph;
13-
$res = $concept->get('php');
14-
$this->msg( $res );
15-
$this->assertNotEmpty( $res );
9+
// /** @test */
10+
// public function get_concepts_for_words()
11+
// {
12+
// $concept = new \Web64\Nlp\MsConceptGraph;
13+
// $res = $concept->get('php');
14+
// $this->msg( $res );
15+
// $this->assertNotEmpty( $res );
1616

17-
$this->assertEquals( 'language', key($res) );
17+
// $this->assertEquals( 'language', key($res) );
1818

19-
}
19+
// }
2020

21-
/** @test */
22-
public function score_by_npmi()
23-
{
24-
$concept = new \Web64\Nlp\MsConceptGraph;
25-
$res = $concept->limit(3)->scoreBy('ScoreByNPMI')->smooth(0.0001)->get('php');
21+
// /** @test */
22+
// public function score_by_npmi()
23+
// {
24+
// $concept = new \Web64\Nlp\MsConceptGraph;
25+
// $res = $concept->limit(3)->scoreBy('ScoreByNPMI')->smooth(0.0001)->get('php');
2626

27-
$this->assertNotEmpty( $res );
28-
$this->assertEquals( 3, count($res) );
27+
// $this->assertNotEmpty( $res );
28+
// $this->assertEquals( 3, count($res) );
2929

30-
$this->assertEquals( 'programming language', key($res) );
31-
}
30+
// $this->assertEquals( 'programming language', key($res) );
31+
// }
3232
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /