alchemyai/alchemyapi_php

此包已被废弃,不再维护。未建议替换包。

使用PHP的AlchemyAPI软件开发包(SDK)

安装数: 1,427

依赖者: 1

建议者: 0

安全性: 0

星标: 48

关注者: 10

分支: 56

类型:SDK

dev-master 2016-09-28 15:50 UTC

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