Отображение настроения сообщения в веб приложении с использованием AWS Comprehend
Необходимо анализировать сообщение и выводить его настроение используя lambda function и js для отображения результата
Мой html код
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div class="container">
<label for="text">Your text</label>
<textarea id="text"></textarea>
<button onclick="SubmitText()">Submit text</button>
<div id="result" class="result"></div>
</div>
</body>
</html>```
Ответы (1 шт):
Автор решения: taykwn
→ Ссылка
import boto3
import json
comprehend = boto3.client('comprehend')
def lambda_handler(event, context):
try:
body = json.loads(event['body'])
text = body['review']
sentiment_response = comprehend.detect_sentiment(
Text=review_text,
LanguageCode='en'
)
response = {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json'
},
'body': json.dumps({
'Sentiment': sentiment_response['Sentiment']
})
}
return response
except Exception as e:
print("Error:", str(e))
return {
'statusCode': 500,
'body': json.dumps({
'message': 'Error processing your request',
'error': str(e)
})
}
async function SubmitText() {
const Text = document.getElementById('text').value;
try {
const response = await fetch('https://br3nuogj50.execute-api.eu-west-2.amazonaws.com/test/review', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({'text': Text})
});
const result = await response.json();
document.getElementById('result').textContent = 'Sentiment:' + result.Sentiment;
} catch {
document.getElementById('result').textContent = 'Error'
}
}