SlideShare a Scribd company logo
Analiza semantyczna
artykułów prasowych w 5
sprintów z użyciem AWS
Michał Mońka
Michał Mońka
● Node.js developer z 2,5 letnim doświadczeniem
komercyjnym, z tego prawie rok w chmurze
● Miłośnik sportu, na pierwszym miejscu wspinaczki
Agenda
● Zarys projektu
● Omówienie wymagań technicznych
● Wykorzystane narzędzia
● Ile to kosztuje
● Napotkane problemy
Słowem wstępu
Wymagania
● Mechanizm logowania + proste zarządzanie użytkownikami
● Analiza artykułów pod kątem płci osób występujących w
tekście
● Rozpoznawanie płci osób występujących na obrazkach
● Sumowanie słów nacechowanych uprzedzeniem wobec płci
● Zestawienie ogólnego wyniku analizy artykułów z danymi z
Google Analytics
Pomysł
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Wykorzystane narzędzia
Perigon API
● Artykuły potrafiły się zmieniać co request
● Dużo metryk, takich jak: słowa kluczowe, tematy, ocena
czytelników
● Możliwości parametryzowania zapytania
● Dobra dokumentacja
● Niskie rate limity w planie developer oraz bany na ip przy
zakładaniu nowych kont 🥶
● Stosunkowo drogi, ale w planie “biznes” cena ustalana
indywidualnie
Perigon API
Genderize API
● Wsparcie dla dużej ilości języków
● Darmowy dostęp, bez rejestracji (do 1000 imion/ dzień)
● Można zastąpić darmowymi bibliotekami/ api
Compromise
● Licencja MIT
● Ogromne możliwości
● Zdarzały się błędnie rozpoznane imiona, jako dwa różne
● Biblioteka do przetwarzania tekstu. Zawiera narzędzia do
analizy tekstu, takie jak rozpoznawanie części mowy,
rozpoznawanie nazw własnych, a także generowanie tekstu
Pora na głównego
bohatera- AWS
Serverless framework
● Jako TSH posiadamy duże doświadczenie
● Korzystamy z boilerplate, który umożliwia szybki
development
● Nie nadąża za zmianami w AWS
● Bardzo dobra dokumentacja
Jaką bazę wybraliśmy?
● RDS z Postgresem
● RDS Proxy do zarządzania pulą połączeń
● Typeorm
AWS Rekognition
● detectFaces() z aws-sdk
● Koszt: 1$ za 1000 requestów
● analiza trwała maksymalnie kilka sekund
Step functions
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Na czym polegało liczenie
“gender score”?
● Słowa nacechowane uprzedzeniem wobec płci
● Występowanie kobiet/ mężczyzn w tekście
● Występowanie kobiet/ mężczyzn na zdjęciach
● Płeć autora
● Zaimki
Kalkulacji podlegały:
Jak dostarczyliśmy dane z
Google Analytics?
Co zawierał raport?
● Tematy z najlepszymi opiniami
● Tematy z najlepszym wynikiem ogólnym
● Tematy z najgorszym wynikiem ogólnym
● Tematy popularne wsród kobiet
● Ilość wystąpień mężczyzn/ kobiet na zdjęciach
Raport
Co poszło nie tak?
Napotkane problemy
● Ogromne ilości analizowanych danych
● Limity step function (max liczba eventów 25000)
● Problem typeorm z rds-proxy (rds-proxy zamykał
połączenie, a typeorm widział je jako otwarte)
● Przy dużej ilości równoległych lambd, rds-proxy otwierał za
dużo połączeń i zapychał bazę
● Brak czasu na integrację z Google Analytics API
Ile to wszystko kosztuje?
● RDS - 35$
● RDS Proxy - 22$
● EC2 - 15$
● Secrets Manager- 1.5$
● CloudWatch - 0.60$
● S3 - 0.23$
● Lambda - 0.60$
● Reszta - <0.05$
Koszta
Pytania?
tsh.io
Dziękuję za uwagę!
Michał Mońka
Junior Node.js Developer

More Related Content

PDF
MongoDB 2011
PDF
IT od kuchni w Nokaut.pl
PDF
It od kuchni w nokaut.pl
PPTX
Kochetkov mykyta
PDF
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
PPTX
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
ODP
Aplikacje internetowe (2010)
PDF
DynamoDB – podstawy modelowania danych dla opornych
MongoDB 2011
IT od kuchni w Nokaut.pl
It od kuchni w nokaut.pl
Kochetkov mykyta
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
Aplikacje internetowe (2010)
DynamoDB – podstawy modelowania danych dla opornych

Similar to Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS (9)

PDF
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
PDF
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
PDF
Produkcja aplikacji internetowych
PDF
The story of GOG.com Cache
ODP
Elasticsearch nie tylko dla Wielkodanowców
PDF
Równoległy rozwój Aplikacji Webowych | Codesushi
ODP
Responsive Web Design - kto mało pyta, nie błądzi
PPT
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
PDF
multi-tier cache at gog.com - 4developers
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Produkcja aplikacji internetowych
The story of GOG.com Cache
Elasticsearch nie tylko dla Wielkodanowców
Równoległy rozwój Aplikacji Webowych | Codesushi
Responsive Web Design - kto mało pyta, nie błądzi
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
multi-tier cache at gog.com - 4developers
Ad

More from The Software House (20)

PDF
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
PDF
Uszanowanko Podsumowanko
PDF
Jak efektywnie podejść do certyfikacji w AWS?
PDF
O co chodzi z tą dostępnością cyfrową?
PDF
Chat tekstowy z użyciem Amazon Chime
PDF
Migracje danych serverless
PDF
Jak nie zwariować z architekturą Serverless?
PDF
Feature flags na ratunek projektu w JavaScript
PDF
Typowanie nominalne w TypeScript
PDF
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
PDF
Serverless Compose vs hurtownia danych
PDF
Testy API: połączenie z bazą danych czy implementacja w pamięci
PDF
Jak skutecznie read model. Case study
PDF
Firestore czyli ognista baza od giganta z Doliny Krzemowej
PDF
Jak utrzymać stado Lambd w ryzach
PDF
Jak poskromić AWS?
PDF
O łączeniu Storyblok i Next.js
PDF
Amazon Step Functions. Sposób na implementację procesów w chmurze
PDF
Od Figmy do gotowej aplikacji bez linijki kodu
PDF
Co QA może i czego nie powinien się bać?
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Uszanowanko Podsumowanko
Jak efektywnie podejść do certyfikacji w AWS?
O co chodzi z tą dostępnością cyfrową?
Chat tekstowy z użyciem Amazon Chime
Migracje danych serverless
Jak nie zwariować z architekturą Serverless?
Feature flags na ratunek projektu w JavaScript
Typowanie nominalne w TypeScript
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Serverless Compose vs hurtownia danych
Testy API: połączenie z bazą danych czy implementacja w pamięci
Jak skutecznie read model. Case study
Firestore czyli ognista baza od giganta z Doliny Krzemowej
Jak utrzymać stado Lambd w ryzach
Jak poskromić AWS?
O łączeniu Storyblok i Next.js
Amazon Step Functions. Sposób na implementację procesów w chmurze
Od Figmy do gotowej aplikacji bez linijki kodu
Co QA może i czego nie powinien się bać?
Ad

Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS

  • 1. Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS Michał Mońka
  • 2. Michał Mońka ● Node.js developer z 2,5 letnim doświadczeniem komercyjnym, z tego prawie rok w chmurze ● Miłośnik sportu, na pierwszym miejscu wspinaczki
  • 3. Agenda ● Zarys projektu ● Omówienie wymagań technicznych ● Wykorzystane narzędzia ● Ile to kosztuje ● Napotkane problemy
  • 5. Wymagania ● Mechanizm logowania + proste zarządzanie użytkownikami ● Analiza artykułów pod kątem płci osób występujących w tekście ● Rozpoznawanie płci osób występujących na obrazkach ● Sumowanie słów nacechowanych uprzedzeniem wobec płci ● Zestawienie ogólnego wyniku analizy artykułów z danymi z Google Analytics
  • 9. Perigon API ● Artykuły potrafiły się zmieniać co request ● Dużo metryk, takich jak: słowa kluczowe, tematy, ocena czytelników ● Możliwości parametryzowania zapytania ● Dobra dokumentacja ● Niskie rate limity w planie developer oraz bany na ip przy zakładaniu nowych kont 🥶 ● Stosunkowo drogi, ale w planie “biznes” cena ustalana indywidualnie
  • 11. Genderize API ● Wsparcie dla dużej ilości języków ● Darmowy dostęp, bez rejestracji (do 1000 imion/ dzień) ● Można zastąpić darmowymi bibliotekami/ api
  • 12. Compromise ● Licencja MIT ● Ogromne możliwości ● Zdarzały się błędnie rozpoznane imiona, jako dwa różne ● Biblioteka do przetwarzania tekstu. Zawiera narzędzia do analizy tekstu, takie jak rozpoznawanie części mowy, rozpoznawanie nazw własnych, a także generowanie tekstu
  • 14. Serverless framework ● Jako TSH posiadamy duże doświadczenie ● Korzystamy z boilerplate, który umożliwia szybki development ● Nie nadąża za zmianami w AWS ● Bardzo dobra dokumentacja
  • 16. ● RDS z Postgresem ● RDS Proxy do zarządzania pulą połączeń ● Typeorm
  • 17. AWS Rekognition ● detectFaces() z aws-sdk ● Koszt: 1$ za 1000 requestów ● analiza trwała maksymalnie kilka sekund
  • 21. Na czym polegało liczenie “gender score”?
  • 22. ● Słowa nacechowane uprzedzeniem wobec płci ● Występowanie kobiet/ mężczyzn w tekście ● Występowanie kobiet/ mężczyzn na zdjęciach ● Płeć autora ● Zaimki Kalkulacji podlegały:
  • 23. Jak dostarczyliśmy dane z Google Analytics?
  • 25. ● Tematy z najlepszymi opiniami ● Tematy z najlepszym wynikiem ogólnym ● Tematy z najgorszym wynikiem ogólnym ● Tematy popularne wsród kobiet ● Ilość wystąpień mężczyzn/ kobiet na zdjęciach Raport
  • 27. Napotkane problemy ● Ogromne ilości analizowanych danych ● Limity step function (max liczba eventów 25000) ● Problem typeorm z rds-proxy (rds-proxy zamykał połączenie, a typeorm widział je jako otwarte) ● Przy dużej ilości równoległych lambd, rds-proxy otwierał za dużo połączeń i zapychał bazę ● Brak czasu na integrację z Google Analytics API
  • 28. Ile to wszystko kosztuje?
  • 29. ● RDS - 35$ ● RDS Proxy - 22$ ● EC2 - 15$ ● Secrets Manager- 1.5$ ● CloudWatch - 0.60$ ● S3 - 0.23$ ● Lambda - 0.60$ ● Reszta - <0.05$ Koszta
  • 31. tsh.io Dziękuję za uwagę! Michał Mońka Junior Node.js Developer