mhan-ch / alchemyapi_php
使用 PHP 的 AlchemyAPI 软件开发工具包(SDK)
This package is not auto-updated.
Last update: 2024-09-23 13:53:50 UTC
README
使用 PHP 的 AlchemyAPI 软件开发工具包(SDK) - 请注意,这个旧的 AlchemyAPI SDK 已经不再由 IBM 支持。请使用 Watson SDKs https://github.com/watson-developer-cloud?utf8=✓&query=sdk
AlchemyAPI
AlchemyAPI 提供人工智能服务。我们教会计算机如何阅读和观察,并通过基于云的 API 将我们的技术应用于文本分析和图像识别。我们的客户使用 AlchemyAPI 将他们的非结构化内容,如博客文章、新闻文章、社交媒体帖子以及图像,转化为更有用的结构化数据。
AlchemyAPI 是位于科罗拉多州丹佛市中心的一个技术初创公司。作为世界上最受欢迎的文本分析服务,AlchemyAPI 为超过 35,000 名开发者提供每月超过 35 亿次 API 请求。为了使我们的服务得以实现,我们使用人工智能、机器学习、神经网络、自然语言处理和大规模网络爬虫。我们的技术被广泛应用于多个行业领域,包括社交媒体监控、商业智能、内容推荐、金融交易和定向广告。
更多信息请访问:http://www.alchemyapi.com
API 密钥
要使用 AlchemyAPI,您需要获取一个 API 密钥并将其附加到所有请求中。如果您还没有密钥,请访问:http://www.alchemyapi.com/api/register.html
演示
要使用我们的交互式网络演示,该演示包括对 AlchemyAPI 所有文本分析功能的访问,请访问:http://www.alchemyapi.com/products/demo。您可以使用演示来更好地了解文本分析功能的工作方式,并将一些示例数据运行通过它以查看您可以期望得到什么样的结果。该演示调用的 API 函数与 SDK 完全相同。
开始使用 PHP SDK
要开始并运行示例,只需
git clone https://github.com/AlchemyAPI/alchemyapi_php.git
cd alchemyapi_php
php alchemyapi.php YOUR_API_KEY
php example.php
只需将 YOUR_API_KEY 替换为您从 AlchemyAPI 获取的 40 位 API 密钥,然后您就可以开始了。
使用 PHP SDK
此 SDK 使您能够轻松地使用 PHP 访问 AlchemyAPI 的所有文本分析功能。以下是一个可用函数列表以及如何在您的应用程序中使用它们。有关这些函数的工作代码示例,请查看上面的“开始使用 PHP SDK”部分中的示例代码并按说明运行示例。
创建 AlchemyAPI 对象
要使用每个功能,您必须首先创建一个 AlchemyAPI 对象。最简单的方法是
<?php
require_once 'alchemyapi.php';
$alchemyapi = new AlchemyAPI();
?>
您现在可以使用此对象来访问 AlchemyAPI 的文本分析功能。
图像关键词
Image Keywords API 使用 URL 或通过 HTML 请求体中发布的数据识别图像。有关 AlchemyAPI 图像关键词 API 的更多信息,请访问:http://www.alchemyapi.com/products/features/image-tagging。有关更多信息,请参阅文档:http://www.alchemyapi.com/api/image-tagging。
要提取实体,使用
<?php
$response = $alchemyapi->image_keywords(FLAVOR, DATA, OPTIONS);
?>
FLAVOR可以是'url'或'image'时,DATA是你的URL或uri-argument编码的图像数据,OPTIONS是一个数组,包含用于修改调用行为的可选参数。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- imagePostMode -> (仅适用于image flavor)
-
not-raw : pass an unencoded image file with "image=URI_ENCODED_DATA"
-
raw : pass an unencoded image file using POST
- extractMode ->
-
always-infer : (more CPU intensive, more accurate)
-
trust-metadata : (less CPU intensive, less accurate) (default)
-
only-metadata : (even less CPU intensive, less accurate)
解析
要解析结果,只需按照文档中详细说明的响应结构逐步进行即可。例如,以下是打印每个标记图像的关键词和分数的方法
<?php
$response = $alchemyapi->image_keywords('url','http://www.lolcats.com/images/u/08/50/lolcatsdotcomur5dhkw464f8hb16.jpg', null);
foreach ($response['imageKeywords'] as $imagekeyword) {
echo 'keyword: ', $imagekeyword['text'], PHP_EOL;
echo 'score: ', $imagekeyword['score'], PHP_EOL;
}
?>
这将打印出
keyword: cat
score: 0.999697
keyword: kitten
score: 0.942676
实体
实体提取API识别您文本、HTML或URL内容中的专有名词。这些是命名的个人、公司、组织和地点。有关AlchemyAPI实体提取API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/entity-extraction。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/entity-extraction。
要提取实体,使用
<?php
$response = $alchemyapi->entities(FLAVOR, DATA, OPTIONS);
?>
当FLAVOR可以是'text'、'html'或'url'时,DATA是您的文本、HTML或URL内容,OPTIONS是一个数组,包含用于修改调用行为的可选参数。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- disambiguate -> 区分实体(例如,公司Apple与水果apple)。0:禁用,1:启用(默认)
- linkedData -> 在区分的实体中包含链接数据。0:禁用,1:启用(默认)
- coreference -> 解决指代问题(例如,与命名实体对应的代词)。0:禁用,1:启用(默认)
- quotations -> 通过实体提取引号。0:禁用(默认),1:启用。
- sentiment -> 分析每个实体的情感。0:禁用(默认),1:启用。如果启用,则需要1次额外的API事务。
- showSourceText -> 0:禁用(默认),1:启用
- maxRetrieve -> 要检索的实体最大数量(默认:50)
解析
要解析结果,只需按照文档中详细说明的响应结构逐步进行即可。例如,以下是打印每个提取实体的文本和类型的方法
<?php
$response = $alchemyapi->entities('text','I like Ford cars better than icecream.', null);
foreach ($response['entities'] as $entity) {
echo 'entity: ', $entity['text'], PHP_EOL;
echo 'type: ', $entity['type'], PHP_EOL;
}
?>
这将打印出
entity: Ford
type: Company
关键词
关键词提取API识别您文本、HTML或URL内容中的重要术语。这些术语有多个名称,但关键词、标签和术语是最常见的。有关AlchemyAPI关键词提取API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/keyword-extraction。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/keyword-extraction。
要提取关键词,使用
<?php
$response = $alchemyapi->keywords(FLAVOR, DATA, OPTIONS);
?>
当FLAVOR可以是'text'、'html'或'url'时,DATA是您的文本、HTML或URL内容,OPTIONS是一个数组,包含用于修改调用行为的可选参数。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- keywordExtractMode -> normal(默认),strict
- sentiment -> 分析每个关键词的情感。0:禁用(默认),1:启用。如果启用,则需要1次额外的API事务。
- showSourceText -> 0:禁用(默认),1:启用。
- maxRetrieve -> 返回的关键词最大数量(默认:50)
解析
要解析结果,只需按照文档中详细说明的响应结构逐步进行即可。例如,以下是打印每个提取关键词的文本和相关性方法
<?php
$response = $alchemyapi->keywords('text', 'Bunnies are nice but sometimes robots are evil', array('sentiment'=>1));
foreach ($response['keywords'] as $keyword) {
echo 'keyword: ', $keyword['text'], PHP_EOL;
echo 'relevance: ', $keyword['relevance'], PHP_EOL;
echo 'sentiment: ', $keyword['sentiment']['type'], PHP_EOL;
}
?>
这将打印出
keyword: Bunnies
relevance: 0.981751
sentiment: positive
keyword: robots
relevance: 0.832378
sentiment: negative
概念
概念标记API识别您文本、HTML或URL内容中的高级主题。与关键词不同,概念不必在内容中特别提及。有关AlchemyAPI概念标记API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/concept-tagging。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/concept-tagging。
要标记概念,使用
<?php
$response = $alchemyapi->concepts(FLAVOR, DATA, OPTIONS);
?>
当FLAVOR可以是'text'、'html'或'url'时,DATA是您的文本、HTML或URL内容,OPTIONS是一个数组,包含用于修改调用行为的可选参数。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- maxRetrieve -> 要检索的最大概念数量(默认:8)
- linkedData -> 包含链接数据,0:禁用,1:启用(默认)
- showSourceText -> 0:禁用(默认),1:启用
解析
要解析结果,只需按照文档中详细说明的响应结构逐层进行即可。例如,以下是如何打印每个概念的文字和相关性。
<?php
$response = $alchemyapi->concepts('text','Today for lunch I ate two apples and one strawberry.', null);
foreach ($response['concepts'] as $concept) {
echo 'concept: ', $concept['text'], PHP_EOL;
echo 'relevance: ', $concept['relevance'], PHP_EOL;
}
?>
这将打印出
concept: Fruit
relevance: 0.865419
情感分析
情感分析API计算您文本、HTML或URL内容的文档级情感。情感确定内容是正面还是负面,可以针对整个文档、用户指定的目标或关键词、实体或关系级别进行计算。此API调用仅用于文档情感。要获取关键词、实体或关系的情感,请将OPTION参数{'sentiment':1}设置在相应的调用中。针对目标的情感由另一个单独的调用处理。有关AlchemyAPI情感分析API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/sentiment-analysis。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/sentiment-analysis。
要计算文档级情感,请使用
<?php
$response = $alchemyapi->sentiment(FLAVOR, DATA, OPTIONS);
?>
当FLAVOR可以是'text'、'html'或'url'时,DATA是您的文本、HTML或URL内容,OPTIONS是一个数组,包含用于修改调用行为的可选参数。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- showSourceText -> 0:禁用(默认),1:启用
解析
要解析结果,只需按照文档中详细说明的响应结构逐层进行即可。例如,以下是如何打印文档情感的类型和分数。
<?php
$response = $alchemyapi->sentiment('text','I really like chocolate cake.', null);
echo 'sentiment: ', $response['docSentiment']['type'], PHP_EOL;
echo 'score: ', $response['docSentiment']['score'], PHP_EOL;
?>
这将打印出
sentiment: positive
score: 0.631595
注意:情感类型可以是正面、负面或中性。分数仅针对正面和负面情感返回,中性情感的响应结构中不包括分数。
目标情感
目标情感分析API计算您的文本、HTML或URL内容相对于指定目标的文档级情感。目标通常是品牌名称、产品名称、特定功能等。有关情感分析更多信息,请参阅上述情感分析部分。
要计算整个文档的目标情感,请使用
<?php
$response = $alchemyapi->sentiment_targeted(FLAVOR, DATA, TARGET, OPTIONS);
?>
其中FLAVOR可以是'text'、'html'或'url',DATA是您的文本、HTML或URL内容,TARGET是用户指定的目标,OPTIONS是包含修改调用行为的可选参数的数组。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- showSourceText -> 0: 禁用,1: 启用
解析
要解析结果,只需按照文档中详细说明的响应结构逐层进行即可。例如,以下是如何打印目标情感的类型和分数。
<?php
$response = $alchemyapi->sentiment_targeted('text','My new phones screen is awesome, but the battery life is really bad.','battery life', null);
echo 'sentiment: ', $response['docSentiment']['type'], PHP_EOL;
echo 'relevance: ', $response['docSentiment']['score'], PHP_EOL;
?>
这将打印出
sentiment: negative
relevance: -0.128125
注意:情感类型可以是正面、负面或中性。分数仅针对正面和负面情感返回,中性情感的响应结构中不包括分数。
文本
文本提取API从您的HTML或URL内容中提取重要内容,并留下不重要的内容,如导航和广告。有关AlchemyAPI文本提取API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/text-extraction。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/text-extraction。
要提取文本,请使用
<?php
$response = $alchemyapi->text(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的HTML或URL内容,OPTIONS是包含修改调用行为的可选参数的数组。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- useMetadata -> 利用元描述数据,0: 禁用,1: 启用(默认)
- extractLinks -> 包含链接,0: 禁用(默认),1: 启用。
解析
要解析结果,只需按照文档中详细说明的响应结构逐层进行即可。例如,以下是如何打印提取的文本。
<?php
$response = $alchemyapi->text('url','http://www.alchemyapi.com/products/features/text-extraction/',null);
echo 'text: ', $response['text'], PHP_EOL;
?>
这将打印出
text: ... the text from the text extraction webpage ...
上述提取的是“清洁”文本。如果您想获取原始文本,请使用
<?php
$response = $alchemyapi->text_raw(FLAVOR, DATA, OPTIONS);
?>
参数和解析与清洁文本调用相同。
作者
作者提取API识别您的HTML或URL内容的作者。有关AlchemyAPI作者提取API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/author-extraction。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/author-extraction。
要提取作者,请使用
<?php
$response = $alchemyapi->author(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的HTML或URL内容,OPTIONS是包含修改调用行为的可选参数的数组。
选项
此调用没有可用选项。
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,下面是如何打印作者的示例
<?php
$response = $alchemyapi->author('url','http://www.grantland.com/story/_/id/9566213/bill-barnwell-puts-2013-detroit-vikings-numbers-test',null);
echo 'author: ', $response['author'], PHP_EOL;
?>
这将打印出
author: Bill Barnwell
语言
语言检测API可以识别您的文本、HTML或URL内容的语言。它目前支持检测97种以上的语言。有关AlchemyAPI语言检测API的高级信息,请访问:http://www.alchemyapi.com/products/features/language-detection。有关更详细的技术信息,请参阅文档:http://www.alchemyapi.com/api/language-detection。
要检测语言,请使用
<?php
$response = $alchemyapi->language(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'text'、'html'或'url',DATA是您的文本、HTML或URL内容,OPTIONS是一个包含可选参数的数组,用于修改调用行为。
选项
此调用没有可用选项。
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,下面是如何打印语言和ISO-639-1代码的示例
<?php
$response = $alchemyapi->language('text','donde estas el bano?', null);
echo 'language: ', $response['language'], PHP_EOL;
echo 'iso-639-1: ', $response['iso-639-1'], PHP_EOL;
?>
这将打印出
language: spanish
iso-639-1: es
标题
标题提取API可以识别您的HTML或URL内容的标题。有关AlchemyAPI标题提取API的高级信息,请访问:http://www.alchemyapi.com/products/features/text-extraction。有关更详细的技术信息,请参阅文档:http://www.alchemyapi.com/api/text-extraction。
要提取标题,请使用
<?php
$response = $alchemyapi->title(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的HTML或URL内容,OPTIONS是包含修改调用行为的可选参数的数组。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- useMetadata -> 利用元数据中嵌入的标题信息,0: 禁用,1: 启用(默认)
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,下面是如何打印标题的示例
<?php
$response = $alchemyapi->title('url','http://www.bloomberg.com/news/2013-08-13/florida-to-sue-georgia-in-u-s-supreme-court-over-water.html', null);
echo 'title: ', $response['title'], PHP_EOL;
?>
这将打印出
title: Florida to Sue Georgia in U.S. Supreme Court Over Water - Bloomberg
关系
关系提取API可以识别您的文本、HTML或URL内容中的主语、动作和宾语关系。除了情感分析,此调用还有很多选项,所以请务必查看文档。有关AlchemyAPI关系提取API的高级信息,请访问:http://www.alchemyapi.com/products/features/relation-extraction。有关更详细的技术信息,请参阅文档:http://www.alchemyapi.com/api/relation-extraction。
要提取关系,请使用
<?php
$response = $alchemyapi->relations(FLAVOR, DATA, OPTIONS);
?>
当FLAVOR可以是'text'、'html'或'url'时,DATA是您的文本、HTML或URL内容,OPTIONS是一个数组,包含用于修改调用行为的可选参数。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- sentiment -> 0: 禁用(默认),1: 启用。启用时需要额外的一次API事务。
- keywords -> 从主语和宾语中提取关键词。0: 禁用(默认),1: 启用。启用时需要额外的一次API事务。
- entities -> 从主语和宾语中提取实体。0: 禁用(默认),1: 启用。启用时需要额外的一次API事务。
- requireEntities -> 仅提取包含实体的关系。0: 禁用(默认),1: 启用。
- sentimentExcludeEntities -> 在情感分析中排除完整实体名称。0: 禁用,1: 启用(默认)
- disambiguate -> 区分实体(例如,公司Apple与水果apple)。0:禁用,1:启用(默认)
- linkedData -> 包含与去歧义实体关联的链接数据。0: 禁用,1: 启用(默认)。
- coreference -> 解决实体指代。0: 禁用,1: 启用(默认)
- showSourceText -> 0:禁用(默认),1:启用。
- maxRetrieve -> 提取的最大关系数(默认:50,最大:100)
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,下面是如何打印每个提取关系的主题、动作和宾语的示例
<?php
$response = $alchemyapi->relations('text','Bob broke my heart.',null);
foreach ($response['relations'] as $relation) {
if (array_key_exists('subject', $relation)) {
echo 'Subject: ', $relation['subject']['text'], PHP_EOL;
}
if (array_key_exists('action', $relation)) {
echo 'Action: ', $relation['action']['text'], PHP_EOL;
}
if (array_key_exists('object', $relation)) {
echo 'Object: ', $relation['object']['text'], PHP_EOL;
}
echo PHP_EOL;
}
?>
这将打印出
Subject: Bob
Action: broke
Object: my heart
类别
文本分类API可以识别您文本内容的顶级类别,包括HTML或URL内容。类别包括艺术与娱乐、商业和体育等值。有关AlchemyAPI文本分类API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/text-categorization。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/text-categorization。
要检测类别,使用
<?php
$response = $alchemyapi->category(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'text'、'html'或'url',DATA是您的文本、HTML或URL内容,OPTIONS是一个包含可选参数的数组,用于修改调用行为。
选项
以下选项可用于此调用。要使用,请将所需的选项包含到一个数组中,并在调用中将它作为OPTIONS参数传递。
- showSourceText -> 0:禁用(默认),1:启用
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,这是如何打印类别的示例
<?php
$response = $alchemyapi->category('url','http://www.washingtonpost.com/blogs/capital-weather-gang/wp/2013/08/14/d-c-area-forecast-ultra-nice-weather-dominates-next-few-days/', null);
echo 'category: ', $response['category'], PHP_EOL;
?>
这将打印出
category: weather
Feeds
Feed检测API可以提取您HTML或URL内容中嵌入的RSS/ATOM源。有关AlchemyAPI Feed检测API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/feed-detection。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/feed-detection。
要检测Feeds,使用
<?php
$response = $alchemyapi->feeds(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的HTML或URL内容,OPTIONS是包含修改调用行为的可选参数的数组。
选项
此调用没有可用选项。
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,这是如何打印Feeds的示例
<?php
$response = $alchemyapi->feeds('url','http://cnn.com', null);
foreach ($response['feeds'] as $feed) {
echo 'feed: ', $feed['feed'], PHP_EOL;
}
?>
这将打印出
feed: http://rss.cnn.com/rss/cnn_topstories.rss
feed: http://rss.cnn.com/rss/cnn_latest.rss
Microformats
Microformat解析API可以提取您HTML或URL内容中嵌入的microformats。有关AlchemyAPI microformats解析API的更多高级信息,请访问:http://www.alchemyapi.com/products/features/microformats-parsing。有关更多技术信息,请参阅文档:http://www.alchemyapi.com/api/microformats-parsing。
要检测microformats,使用
<?php
$response = $alchemyapi->microformats(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的HTML或URL内容,OPTIONS是包含修改调用行为的可选参数的数组。
选项
此调用没有可用的选项。
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,这是如何打印microformats的示例
<?php
$response = $alchemyapi->microformats('url','http://semanticweb.com/semanticweb-com-%E2%80%9Cinnovation-spotlight%E2%80%9D-interview-with-elliot-turner-ceo-of-alchemyapi_b30913', null);
foreach ($response['microformats'] as $microformat) {
echo 'field: ', $microformat['field'], PHP_EOL;
echo 'data: ', $microformat['data'], PHP_EOL;
}
?>
这将打印出
field: RelTagLink
data: http://semanticweb.com/tag/alchemyapi
field: RelTag
data: alchemyapi