alchemyapi/php-sdk

PHP语言的AlchemyAPI软件开发包(SDK)

此软件包的官方存储库似乎已消失,因此该软件包已被冻结。

安装次数: 34,468

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 53

类型:应用程序

dev-master / 1.0.x-dev 2013-12-02 17:17 UTC

This package is auto-updated.

Last update: 2024-06-14 02:05:48 UTC


README

PHP语言的AlchemyAPI软件开发包(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识别您文本、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 -> 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 -> 识别实体歧义(例如,苹果公司 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

信息源

Feed检测API可以提取您HTML或URL内容中嵌入的RSS/ATOM订阅源。有关AlchemyAPI的Feed检测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