alchemyai / alchemyapi_php
使用PHP的AlchemyAPI软件开发包(SDK)
This package is not auto-updated.
Last update: 2020-01-20 08:49:51 UTC
README
A software development kit (sdk) for AlchemyAPI using PHP - 请注意,这个旧的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。您可以使用此演示更好地了解文本分析功能的工作方式,并运行一些您的样本数据以查看您可以期待什么样的结果。此演示调用与SDK相同的API功能。
使用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的文本分析功能。
图像关键词
图像关键词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 -> (仅适用于图像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 -> 识别实体(例如,苹果公司 vs. 苹果水果)。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 -> 正常(默认),严格
- 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 -> 识别实体(例如,苹果公司 vs. 苹果水果)。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
源
源检测API提取您HTML或URL内容中嵌入的RSS/ATOM源。有关AlchemyAPI源检测API的更多信息,请访问:http://www.alchemyapi.com/products/features/feed-detection。有关更多信息,请参阅文档:http://www.alchemyapi.com/api/feed-detection。
要检测源,请使用
<?php
$response = $alchemyapi->feeds(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的html或url内容,OPTIONS是包含用于修改调用行为的可选参数的数组。
选项
此调用没有可用选项。
解析
要解析结果,只需按照文档中详细说明的响应结构进行操作。例如,以下是如何打印源
<?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
微格式
微格式解析API提取您HTML或URL内容中嵌入的微格式。有关AlchemyAPI微格式解析API的更多信息,请访问:http://www.alchemyapi.com/products/features/microformats-parsing。有关更多信息,请参阅文档:http://www.alchemyapi.com/api/microformats-parsing。
要检测微格式,请使用
<?php
$response = $alchemyapi->microformats(FLAVOR, DATA, OPTIONS);
?>
其中FLAVOR可以是'html'或'url',DATA是您的html或url内容,OPTIONS是包含用于修改调用行为的可选参数的数组。
选项
此调用无可用选项。
解析
要解析结果,只需按照文档中详细说明的响应结构进行遍历。例如,以下是打印微格式的方法
<?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