/**
* Analyzes the document and provides a full set of text annotations,
* including semantic, syntactic, and sentiment information.
*
* Example:
* ```
* // Annotate text with all features enabled.
* $annotation = $language->annotateText('Google Cloud Platform is a powerful tool.');
* $sentiment = $annotation->sentiment();
*
* echo $sentiment['magnitude'];
* ```
*
* ```
* // Annotate text with syntax and sentiment features enabled.
* $annotation = $language->annotateText('Google Cloud Platform is a powerful tool.', [
* 'features' => ['syntax', 'sentiment']
* ]);
*
* foreach ($annotation->tokens() as $token) {
* echo $token['text']['beginOffset'];
* }
* ```
*
* @codingStandardsIgnoreStart
* @see https://cloud.google.com/natural-language/reference/rest/v1beta1/documents/annotateText Annotate Text API documentation
* @codingStandardsIgnoreEnd
*
* @param string|StorageObject $content The content to annotate.
* @param array $options [optional] {
* Configuration options.
*
* @type array $features Features to apply to the request. Valid values
* are `syntax`, `sentiment`, and `entities`. If no features are
* provided the request will run with all three enabled.
* @type string $type The document type. Acceptable values are
* `PLAIN_TEXT` or `HTML`. **Defaults to** `"PLAIN_TEXT"`.
* @type string $language The language of the document. Both ISO
* (e.g., en, es) and BCP-47 (e.g., en-US, es-ES) language codes
* are accepted. If no value is provided, the language will be
* detected by the service.
* @type string $encodingType The text encoding type used by the API to
* calculate offsets. Acceptable values are `"NONE"`, `"UTF8"`,
* `"UTF16"` and `"UTF32"`. **Defaults to** `"UTF8"`.
* }
* @return Annotation
*/
public function annotateText($content, array $options = [])
{
$features = isset($options['features']) ? $options['features'] : array_values($this->featureShortNames);
$options['features'] = $this->normalizeFeatures($features);
return new Annotation($this->connection->annotateText($this->formatRequest($content, $options)));
}