szyku/ php-nltk-client
szyku/nltk-api 的 PHP 客户端实现
v1.1.2
2017-05-21 16:23 UTC
Requires
- php: ^5.6 || ^7.0
- beberlei/assert: ^2.7
- guzzlehttp/guzzle: ^6.2
- marc-mabe/php-enum: ^2.3
- symfony/serializer: ^3.2
Requires (Dev)
- phpunit/phpunit: ^5.0
This package is not auto-updated.
Last update: 2024-09-29 01:59:31 UTC
README
这是一个用于 szyku/nltk-api 的 PHP 客户端,它通过友好的 API 提供了 Python 的 NLTK 资源 和 WordNet 数据库。
此客户端的目的是提供一个舒适且直观的方式来与 NLTK API 交互。
安装
此包已在 PHP >= 5.6 上进行了测试。
Composer
composer require szyku/php-nltk-client
Git 克隆
git clone git@github.com:szyku/php-nltk-client.git
或下载 zip 文件
wget https://github.com/szyku/php-nltk-client/archive/master.zip
或 tarball 文件
wget https://github.com/szyku/php-nltk-client/archive/master.tar.gz
如何使用它
易于设置
require __DIR__ . '/vendor/autoload.php'; use GuzzleHttp\Psr7\Uri; use Szyku\NLTK\Client; use GuzzleHttp\Client as Guzzle; $uri = new Uri("https://:5000"); $guzzle = new Guzzle(['base_uri' => $uri]); // or just $guzzle = new Guzzle(['base_uri' => 'https://:5000']); $nltkClient = new Client($guzzle);
如何使用便捷的方法查询定义
use Szyku\NLTK\Request\Dictionary\DefinitionLookupRequest; use Szyku\NLTK\Request\Dictionary\SimilarLookupRequest; use Szyku\NLTK\Request\Lemma\LemmatizationRequestBuilder as Builder; use Szyku\NLTK\Request\Tagger\TaggingRequestBuilder as TaggerBuilder; $similarWordsToCastle = SimilarLookupRequest::noun('castle'); $definitionsForRA = DefinitionLookupRequest::noun('rheumatoid arthritis'); $sentenceTagging = TaggerBuilder::create() ->add('He is a cunning man.') ->addMany(['Before and after.', 'Ups and downs']) ->build(); $lemmatizeSentence = Builder::create() ->adjective('biggest') ->noun('dogs') ->verb('fought') ->adverb('loudly') ->findAllFor('at') ->build(); // results are hydrated to objects like WordLookupResponse or LemmatizationResponse $castleResult = $nltkClient->dictionary($similarWordsToCastle); $raResult = $nltkClient->dictionary($definitionsForRA); $lemmatizationResult = $nltkClient->lemmatization($lemmatizeSentence); $taggingResult = $nltkClient->tagging($sentenceTagging); // easy to consume echo "Time taken in seconds: " . $castleResult->lookupTime(); echo "Searched for: " . $castleResult->queriedPhrase(); foreach ($castleResult->results() as $result) { echo $result->phrase() . ": " . $result->definition(); } // prints "palace: A large and stately mansion"