Skip to content

aksloms/Azure-Twitter-Sentiment-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure-Twitter-Sentiment-Analysis

Board Status

Spis treści dokumentu

Cel projektu

Wykrywanie sentymentu wobec hashtagów w tweetach w języku polskim. Przypisywanie pozytywnego/neutralnego/negatywnego sentymentu do wypowiedzi dotyczących hashtagów w treści tweeta.

Skład zespołu

  • Szymon Męcina 299270 (Lider)
  • Asia Smolska 291100
  • Damian Smugorzewski 299263
  • Krzysiek Dąbrowski 293101
  • Radek Cieślik 299237
  • Szymon Wydziałkiewicz 299282

Realizacja projektu

Projekt zostanie oparty o usługi i aplikacje udostępnione poprzez platformę Azure. Poniższy diagram przedstawia sposób użycia usług wybranych do projektu.

architecture diagram

Projekt za pomocą triggera ustawionego w Functions uruchamia pobranie danych przez API Twittera, które przechowywane będą w Table Storage. Do przechowywania danych wrażliwych, takich jak token do API, zostanie użyty Key Vault. Pobrane dane będą poddane filtracji pozwalającej na konwersję tweetów o charakterze spamu na jeden element reprezentatywny oraz wybranie jedynie tych danych, które mogą uznać za wartościowe w kolejnych etapach analizy.

Aplikacja będzie udostępniona dla użytkowników za pomocą Azure Web App, gdzie zostanie przedstawiona analiza hashtagów, zaś użytkownik za pomocą interaktywnych filtrów będzie mieć możliwość wyboru analizy konkretnych hashtagów.

Przetwarzanie danych będzie realizowane w modelu z podwójnym przepływem, gdzie w jednej ścieżce analiza zostanie wykonana za pomocą Cognitive Services, zaś w drugim modelu zostanie użyty Azure DataBricks lub Machine Learning, gdzie będziemy mogli popisać się własną implementacją. Wyniku obu ścieżek będą porównywane (dokładność, skuteczność, możliwości).

Do zarządzania przepływem realizowanej pracy i zadań, zostanie wykorzystany Azure DevOps.

Funkcjonalność

Planowaną funkcjonalność aplikacji widzianą od strony użytkownika prezentuje poniższy diagram przypadków użycia.

diagram przypadków użycia aplikacji

Stos technologiczny

Wszystkie usługi chmurowe będą zrealizowane z użyciem platformy Azure. W usłudze Azure Web App po stronie frontendu zostanie użyty React.js wraz z Materials UI, zaś od strony backendu wykorzystany będzie Python 3 w oparciu o framework Flask.

Podział ról

Zadania Szymon Wydziałkiewicz Szymon Męcina Krzysztof Dąbrowski Radosław Cieślik Joanna Smolska Damian Smugorzewski
Budowa aplikacji Back-End X X X
Budowa aplikacji Front-End X X X X
Product Owner X
Scrum Master X
AI specialist X X
Koordynator pobierania danych X
Security specialist X
UI expert X
Data specialist X X X
Infrastructure Architect X
Quality assurance X X
DevOps expert X
Koordynator prezentacji multimedialnej X

Harmonogram

Indeks Kamień milowy Termin
KM1 Przygotowanie architektury usług oraz pobieranie danych z Twittera 10.12.2020
KM2 Przypisywanie sentymentu z Cognitive Services oraz projekt interfejsu aplikacji 07.01.2020
MK3 Podstawowa prezentacja danych 14.01.2020
KM4 Przypisywanie sentymentu z wykorzystaniem DataBricks 21.01.2020
KM5 Prezentacja finalnej wersji projektu 28.01.2020

Reprodukcja rozwiązania

Cała infrastuktura rozwiązania może być utworzona automatycznie uruchamiając skrypt Terraform. W tym celu wymagane jest zainstalowanie Azure CLI oraz narzędzia Terraform.

Skrypty terraform znajdują się w katalogu infrastructure.

W pliku terraform.tfvars znajdują się nazwy zasobów. Przed uruchomieniem może być konieczna zmiana tych wartości na unikalne nazwy jeśli podane są już zajęte.

W pliku secrets.auto.tfvars wartości tymczasowe muszą być zastąpione wymaganymi danymi logowania.

  1. Po uzupełnieniu zmiennych Terraform należy otworzyć terminal w katalogu infrastructure oraz wykonać komendę az login
  2. Następnie w celu utworzenia infastruktury należy wykonać komendę terraform apply
  3. Następnie należy wgrać funkcje do zasobów na Azure. W tym celu należy przejść do katalogu src/FetchTweetsAzureFunction i uruchomić komendę func azure functionapp publish fetchTweetsFA-PW --csharp
  4. Podobny krok należy wykonać dla drugiej funkcji w katalogu src/LabelTweetsAzureFunction przy pomocy komendy func azure functionapp publish processTweetsFA-PW --csharp
  5. Następnie należy wgrać aplikację webową oraz model w języku python do serwisu DataBricks

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5