certifiedwebninja / caroline
基于AFINN的情感分析
1.0.1
2014-09-18 05:33 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-23 13:36:57 UTC
README
基于AFINN-111词汇表的PHP情感分析工具。
安装
composer require certifiedwebninja/caroline:1.0.1
简单示例
use CertifiedWebNinja\Caroline\Analysis; $caroline = new Analysis; $result = $caroline->analyze('Hey you worthless scumbag'); echo 'Score: '.$result->getScore().PHP_EOL; echo 'Comparative: '.$result->getComparative().PHP_EOL;
数据集示例
默认情况下,如果没有传递数据集给构造函数,它将使用AFINN数据集。您可以创建自己的数据集,甚至修改默认数据集。
这里是如何使用另一个数据集的示例。
use CertifiedWebNinja\Caroline\Analysis; use CertifiedWebNinja\Caroline\DataSets\AFINN; $afinn = new AFINN; $caroline = new Analysis($afinn); $result = $caroline->analyze('Hey you worthless scumbag'); echo 'Score: '.$result->getScore().PHP_EOL; echo 'Comparative: '.$result->getComparative().PHP_EOL;
这将返回与上面简单示例相同的结果,但这个示例的巧妙之处在于,在分析类实例化AFINN数据集之前,您可以替换和扩展数据集,因为AFINN扩展了AbstractDataSet,这为数据集提供了一些辅助方法。
替换数据集词汇
$afinn->replace(['love' => 5]); $caroline = new Analysis($afinn); $result = $caroline->analyze('I love my cat.'); echo $result->getScore(); // 5
扩展数据集
$afinn->extend(['cat' => 3]); $caroline = new Analysis($afinn); $result = $caroline->analyze('I love my cat.'); echo $result->getScore(); // 6 because "love" and "cat" both have a score of 3 each.
您还可以通过扩展AbstractDataSet创建自己的数据集以供使用。
<?php namespace Acme; use CertifiedWebNinja\Caroline\DataSets\AbstractDataSet; class DataSet extends AbstractDataSet { protected $dataSet = [ 'anvil' => -4, 'catch' => 3 ]; }