You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 30, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+26-2Lines changed: 26 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
The Discovering Hot Topics Using Machine Learning solution helps you identify the most dominant topics associated with your products, policies, events, and brands. Implementing this solution helps you react quickly to new growth opportunities, address negative brand associations, and deliver higher levels of customer satisfaction.
4
4
5
-
The solution uses machine learning algorithms to automate digital asset (text and image) ingestion and perform near real-time topic modeling, sentiment analysis, and image detection. The solution then visualizes these large-scale customer analyses using an Amazon QuickSight dashboard. This guide provides step-by-step instructions to building a dashboard that provides you with the context and insights necessary to identify trends that help or harm you brand.
5
+
The solution automates digital asset (text and image) ingestion from twitter and RSS news feeds to provide near-real-time inferences using machine learning algorithms through Amazon Comprehend, Amazon Translate, and Amazon Rekognition to perform topic modeling, sentiment analysis, entity and key phrase detection, and detect any unsafe images. The solution then visualizes these large-scale customer analyses using an Amazon QuickSight dashboard. This guide provides step-by-step instructions for deploying this solution including a pre-built dashboard that provides you with the context and insights necessary to identify trends that help or harm your brand.
6
6
7
7
The solution performs the following key features:
8
8
@@ -11,6 +11,8 @@ The solution performs the following key features:
11
11
-**Determines if images associated with your brand contain unsafe content**: detects unsafe and negative imagery in content
12
12
-**Helps customers identify insights in near real-time**: you can use a visualization dashboard to better understand context, threats, and opportunities almost instantly
13
13
14
+
This solution deploys an AWS CloudFormation template that supports both Twitter and RSS feeds as data source options for ingestion, but the solution can be customized to aggregate other social media platforms and internal enterprise systems.
15
+
14
16
For a detailed solution deployment guide, refer to [Discovering Hot Topics using Machine Learning](https://aws.amazon.com/solutions/implementations/discovering-hot-topics-using-machine-learning)
15
17
16
18
## On this Page
@@ -52,6 +54,7 @@ After you deploy the solution, use the included Amazon QuickSight dashboard to v
52
54
- aws-lambda-dynamodb
53
55
- aws-lambda-s3
54
56
- aws-lambda-step-function
57
+
- aws-sqs-lambda
55
58
56
59
## Deployment
57
60
@@ -64,26 +67,37 @@ The solution is deployed using a CloudFormation template with a lambda backed cu
64
67
```
65
68
├── deployment [folder containing build scripts]
66
69
│ ├── cdk-solution-helper [A helper function to help deploy lambda function code through S3 buckets]
70
+
│ ├── build-s3-dist.sh [Build script to build the solution]
67
71
└── source [source code containing CDK App and lambda functions]
68
72
├── bin [entrypoint of the CDK application]
69
73
├── lambda [folder containing source code the lambda functions]
70
-
│├── firehose-text-proxy [lambda function to write text analysis output to Amazon Kinesis Firehose]
74
+
│├── capture_news_feed[lambda function to ingest news feeds]
71
75
│ ├── firehose_topic_proxy [lambda function to write topic analysis output to Amazon Kinesis Firehose]
76
+
│ ├── firehose-text-proxy [lambda function to write text analysis output to Amazon Kinesis Firehose]
72
77
│ ├── ingestion-consumer [lambda function that consumes messages from Amazon Kinesis Data Stream]
73
78
│ ├── ingestion-producer [lambda function that makes Twitter API call and pushes data to Amazon Kinesis Data Stream]
74
79
│ ├── integration [lambda function that publishes inference outputs to Amazon Events Bridge]
80
+
│ ├── layers [lambda layer function library]
81
+
│ │ ├── aws-nodesk-custom-config
82
+
│ ├── quicksight-custom-resources [lambda function to create Amazon QuickSight resources, example: data source, data sets, analysis and dashboards]
83
+
│ ├── shared [lambda layer function library (specific to python lambda runtimes)]
84
+
│ ├── solution_helper [lambda function that allows capturing metrics for this solution]
75
85
│ ├── storage-firehose-processor [lambda function that writes data to S3 buckets to build a relational model]
76
86
│ ├── wf-analyze-text [lambda function to detect sentiments, key phrases and entities using Amazon Comprehend]
77
87
│ ├── wf-check-topic-model [lambda function to check status of topic modeling jobs on Amazon Comprehend]
88
+
│ ├── wf-detect-language [lambda function to detect language of ingested text content using Amazon Comprehend]
78
89
│ ├── wf-detect-moderation-labels [lambda function to detect content moderation using Amazon Rekognition]
79
90
│ ├── wf-extract-text-in-image [lambda function to extract text content from images using Amazon Rekognition]
80
91
│ ├── wf-publish-text-inference [lambda function to publish Amazon Comprehend inferences]
81
92
│ ├── wf-submit-topic-model [lambda function to submit topic modeling job]
82
93
│ ├── wf-translate-text [lambda function to translate non-english text using Amazon Translate]
83
94
│ └── wf_publish_topic_model [lambda function to publish topic modeling inferences from Amazon Comprehend]
84
95
├── lib
96
+
│ ├── aspects [CDK Aspects definitions to inject attributes during the prepare phase]
97
+
│ ├── awsnodejs-lambda-layer [Lambda layer construct for lambda functions that run on Nodejs runtime]
85
98
│ ├── ingestion [CDK constructs for data ingestion]
86
99
│ ├── integration [CDK constructs for Amazon Events Bridge]
100
+
│ ├── quicksight-custom-resources [CDK construct that invokes custom resources to create Amazon QuickSight resources]
87
101
│ ├── storage [CDK constructs that define storage of the inference events]
88
102
│ ├── text-analysis-workflow [CDK constructs for text analysis of ingested data]
89
103
│ ├── topic-analysis-workflow [CDK constructs for topic visualization of ingested data]
@@ -136,13 +150,23 @@ $CF_TEMPLATE_BUCKET_NAME - The name of the S3 bucket where the CloudFormation te
136
150
$QS_TEMPLATE_ACCOUNT - The account from which the Amazon QuickSight templates should be sourced for Amazon QuickSight Analysis and Dashboard creation
137
151
```
138
152
153
+
- When creating and using buckets it is recommeded to:
154
+
155
+
- Use randomized names or uuid as part of your bucket naming strategy.
156
+
- Ensure buckets are not public.
157
+
- Verify bucket ownership prior to uploading templates or code artifacts.
158
+
139
159
- Deploy the distributable to an Amazon S3 bucket in your account. _Note:_ you must have the AWS Command Line Interface installed.
This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the [implementation guide](https://docs.aws.amazon.com/solutions/latest/discovering-hot-topics-using-machine-learning/operational-metrics.html).
169
+
146
170
---
147
171
148
172
Copyright 2020-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
0 commit comments