/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/sagemaker/SageMaker_EXPORTS.h> #include <aws/sagemaker/model/ClarifyTextLanguage.h> #include <aws/sagemaker/model/ClarifyTextGranularity.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** * <p>A parameter used to configure the SageMaker Clarify explainer to treat text * features as text so that explanations are provided for individual units of text. * Required only for natural language processing (NLP) explainability. * </p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClarifyTextConfig">AWS * API Reference</a></p> */ class ClarifyTextConfig { public: AWS_SAGEMAKER_API ClarifyTextConfig(); AWS_SAGEMAKER_API ClarifyTextConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API ClarifyTextConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>Specifies the language of the text features in <a href=" * https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> or <a * href="https://en.wikipedia.org/wiki/ISO_639-3">ISO 639-3</a> code of a supported * language. </p> <p>For a mix of multiple languages, use code * <code>'xx'</code>.</p> */ inline const ClarifyTextLanguage& GetLanguage() const{ return m_language; } /** * <p>Specifies the language of the text features in <a href=" * https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> or <a * href="https://en.wikipedia.org/wiki/ISO_639-3">ISO 639-3</a> code of a supported * language. </p> <p>For a mix of multiple languages, use code * <code>'xx'</code>.</p> */ inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } /** * <p>Specifies the language of the text features in <a href=" * https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> or <a * href="https://en.wikipedia.org/wiki/ISO_639-3">ISO 639-3</a> code of a supported * language. </p> <p>For a mix of multiple languages, use code * <code>'xx'</code>.</p> */ inline void SetLanguage(const ClarifyTextLanguage& value) { m_languageHasBeenSet = true; m_language = value; } /** * <p>Specifies the language of the text features in <a href=" * https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> or <a * href="https://en.wikipedia.org/wiki/ISO_639-3">ISO 639-3</a> code of a supported * language. </p> <p>For a mix of multiple languages, use code * <code>'xx'</code>.</p> */ inline void SetLanguage(ClarifyTextLanguage&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } /** * <p>Specifies the language of the text features in <a href=" * https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> or <a * href="https://en.wikipedia.org/wiki/ISO_639-3">ISO 639-3</a> code of a supported * language. </p> <p>For a mix of multiple languages, use code * <code>'xx'</code>.</p> */ inline ClarifyTextConfig& WithLanguage(const ClarifyTextLanguage& value) { SetLanguage(value); return *this;} /** * <p>Specifies the language of the text features in <a href=" * https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> or <a * href="https://en.wikipedia.org/wiki/ISO_639-3">ISO 639-3</a> code of a supported * language. </p> <p>For a mix of multiple languages, use code * <code>'xx'</code>.</p> */ inline ClarifyTextConfig& WithLanguage(ClarifyTextLanguage&& value) { SetLanguage(std::move(value)); return *this;} /** * <p>The unit of granularity for the analysis of text features. For example, if * the unit is <code>'token'</code>, then each token (like a word in English) of * the text is treated as a feature. SHAP values are computed for each * unit/feature.</p> */ inline const ClarifyTextGranularity& GetGranularity() const{ return m_granularity; } /** * <p>The unit of granularity for the analysis of text features. For example, if * the unit is <code>'token'</code>, then each token (like a word in English) of * the text is treated as a feature. SHAP values are computed for each * unit/feature.</p> */ inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; } /** * <p>The unit of granularity for the analysis of text features. For example, if * the unit is <code>'token'</code>, then each token (like a word in English) of * the text is treated as a feature. SHAP values are computed for each * unit/feature.</p> */ inline void SetGranularity(const ClarifyTextGranularity& value) { m_granularityHasBeenSet = true; m_granularity = value; } /** * <p>The unit of granularity for the analysis of text features. For example, if * the unit is <code>'token'</code>, then each token (like a word in English) of * the text is treated as a feature. SHAP values are computed for each * unit/feature.</p> */ inline void SetGranularity(ClarifyTextGranularity&& value) { m_granularityHasBeenSet = true; m_granularity = std::move(value); } /** * <p>The unit of granularity for the analysis of text features. For example, if * the unit is <code>'token'</code>, then each token (like a word in English) of * the text is treated as a feature. SHAP values are computed for each * unit/feature.</p> */ inline ClarifyTextConfig& WithGranularity(const ClarifyTextGranularity& value) { SetGranularity(value); return *this;} /** * <p>The unit of granularity for the analysis of text features. For example, if * the unit is <code>'token'</code>, then each token (like a word in English) of * the text is treated as a feature. SHAP values are computed for each * unit/feature.</p> */ inline ClarifyTextConfig& WithGranularity(ClarifyTextGranularity&& value) { SetGranularity(std::move(value)); return *this;} private: ClarifyTextLanguage m_language; bool m_languageHasBeenSet = false; ClarifyTextGranularity m_granularity; bool m_granularityHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws