diff --git a/src/app/demo-models-page/errors-correction-page/errors-correction-page.component.scss b/src/app/demo-models-page/errors-correction-page/errors-correction-page.component.scss index 133764a..19a3793 100644 --- a/src/app/demo-models-page/errors-correction-page/errors-correction-page.component.scss +++ b/src/app/demo-models-page/errors-correction-page/errors-correction-page.component.scss @@ -4,7 +4,9 @@ background: linear-gradient(35deg, rgba(0, 0, 0, 1) 0%, rgba(10, 71, 9, 1) 50%, rgba(0, 0, 0, 1) 100%) !important; background-repeat: no-repeat; min-height: calc(100% - 60px); - height: fit-content + height: fit-content; + width:fit-content; + min-width: calc(100% - 400px) } diff --git a/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.html b/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.html index a8f4cf7..a747621 100644 --- a/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.html +++ b/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.html @@ -31,16 +31,27 @@
{{res.sentence}}
-
-
Negatywny
-
Pozytywny
-
Neutralny
+
+
+
Negatywny
+
Pozytywny
+
Neutralny
+
+
+
Brak ironii
+
Ironia
+
- + +
+
+
diff --git a/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.scss b/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.scss index 564c51d..9339dca 100644 --- a/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.scss +++ b/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.scss @@ -117,3 +117,27 @@ background-repeat: no-repeat; } } + +.analysis-res{ + display: flex; + justify-content: space-between; + column-gap: 15px; +} + +.irony-0{ + color: rgb(126, 126, 126); + min-width:75px; +} + +.irony-1{ + color: rgb(134, 2, 164); + font-weight:600; +} + +.irony-container{ + min-width: 76px; +} + +.sentiment-container{ + min-width: 80px +} diff --git a/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.ts b/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.ts index 911a50c..71017aa 100644 --- a/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.ts +++ b/src/app/demo-models-page/facebook-analysis/facebook-analysis.component.ts @@ -15,7 +15,7 @@ export class FacebookAnalysisComponent implements OnInit { comments!: string[]; - results: { label: number, score: number, sentence: string }[] = [] + results: { sentimentLabel: number, sentence: string, ironyLabel: string }[] = [] analysisStart = false; analysisLoading = false; commentStatus = true; @@ -23,7 +23,7 @@ export class FacebookAnalysisComponent implements OnInit { post!: string; public barChartLegend = true; public barChartPlugins = []; - public barChartOptions: ChartConfiguration<'bar'>['options'] = { + public sentimentBarChartOptions: ChartConfiguration<'bar'>['options'] = { responsive: false, scales: { yAxes: { @@ -31,8 +31,21 @@ export class FacebookAnalysisComponent implements OnInit { } } }; - public barChartData: ChartConfiguration<'bar'>['data'] = { - labels: ['Statystyki'], + public sentimentBarChartData: ChartConfiguration<'bar'>['data'] = { + labels: ['Statystyki sentymentu'], + datasets: [] + }; + + public ironyBarChartOptions: ChartConfiguration<'bar'>['options'] = { + responsive: false, + scales: { + yAxes: { + display: true, + } + } + }; + public ironyBarChartData: ChartConfiguration<'bar'>['data'] = { + labels: ['Statystyki ironii'], datasets: [] }; @@ -43,7 +56,7 @@ export class FacebookAnalysisComponent implements OnInit { constructor(private router: Router, private fb: FormBuilder, private http: HttpClient) { } linkForm: FormGroup = this.fb.group({ - link: ['', Validators.required] + link: ['https://www.facebook.com/photo/?fbid=793151395513422&set=a.266104484884785', Validators.required] }) ngOnInit(): void { @@ -57,28 +70,34 @@ export class FacebookAnalysisComponent implements OnInit { this.analysisStart = true this.analysisLoading = false let link = this.link.value - this.http.post(environment.facebook, { link: link }).pipe(concatMap((resp: any) => { - if (!resp.status) { + this.http.post(environment.facebook, { link: link }).pipe(concatMap((facebookResp: any) => { + if (!facebookResp.status) { this.commentStatus = false; - console.log(1) return of({}) } else { this.commentStatus = true; - this.post = resp.post - return this.http.post(environment.sentiment, { sentences: resp.sentences }).pipe(tap((resp: any) => { - console.log(resp) - this.results = resp.predictions - this.barChartData.datasets = [ + this.post = facebookResp.post + return this.http.post(environment.sentiment, { sentences: facebookResp.sentences }).pipe(concatMap((resp: any) => { + this.results = resp.predictions.map((elem: any) => { return { sentimentLabel: elem.label, sentence: elem.sentence } }) + this.sentimentBarChartData.datasets = [ { data: [resp.count_labels.negative], label: String(resp.count_labels.negative) + ' negatywny', backgroundColor: 'rgba(250, 66, 66, 1)', borderRadius: 15, }, { data: [resp.count_labels.positive], label: String(resp.count_labels.positive) + ' pozytywny', backgroundColor: 'rgba(124, 136, 248, 1)', borderRadius: 15, }, { data: [resp.count_labels.neutral], label: String(resp.count_labels.neutral) + ' neutralny', backgroundColor: 'rgba(211,211,211)', borderRadius: 15, } ] + return this.http.post(environment.irony, { sentences: facebookResp.sentences }).pipe(tap((ironyResp:any) => { + this.results.forEach((element,i) => { + element.ironyLabel = ironyResp.predictions[i].label + }); + this.ironyBarChartData.datasets = [ + { data: [ironyResp.count_labels.irony], label: String(ironyResp.count_labels.irony) + ' ironia', backgroundColor: 'rgba(126, 126, 126)', borderRadius: 15, }, + { data: [ironyResp.count_labels.non_irony], label: String(ironyResp.count_labels.non_irony) + ' brak ironii', backgroundColor: 'rgba(134, 2, 164)', borderRadius: 15, }, + ] + })) })) } })).subscribe({ next: () => { - console.log(2) this.analysisLoading = true }, error: () => { diff --git a/src/app/demo-models-page/irony-analysis/irony-analysis.component.html b/src/app/demo-models-page/irony-analysis/irony-analysis.component.html index 06bb10a..bb46bc5 100644 --- a/src/app/demo-models-page/irony-analysis/irony-analysis.component.html +++ b/src/app/demo-models-page/irony-analysis/irony-analysis.component.html @@ -29,15 +29,23 @@
-
-
-
{{res.sentence}}
-
-
Brak ironii
-
Ironia
+
+
+
+
{{res.sentence}}
+
+
Brak ironii
+
Ironia
+
+
+ + +
diff --git a/src/app/demo-models-page/irony-analysis/irony-analysis.component.scss b/src/app/demo-models-page/irony-analysis/irony-analysis.component.scss index d6e0562..fe6b5b5 100644 --- a/src/app/demo-models-page/irony-analysis/irony-analysis.component.scss +++ b/src/app/demo-models-page/irony-analysis/irony-analysis.component.scss @@ -4,7 +4,9 @@ background: linear-gradient(35deg, rgba(0, 0, 0, 1) 0%, rgba(71, 9, 65, 1) 50%, rgba(0, 0, 0, 1) 100%); background-repeat: no-repeat; min-height: calc(100% - 60px); - height: fit-content + height: fit-content; + width: fit-content; + min-width: calc(100% - 400px); } .title { @@ -61,7 +63,7 @@ .chart { - padding-top: 30px; + //padding-top: 30px; } .title-container { @@ -78,7 +80,9 @@ } .results-table { - width: 400px + display: flex; + justify-content: space-between; + column-gap: 40px; } .ready-examples-button { @@ -108,3 +112,7 @@ .error { color: white } + +.results-rows{ + width: 400px; +} diff --git a/src/app/demo-models-page/irony-analysis/irony-analysis.component.ts b/src/app/demo-models-page/irony-analysis/irony-analysis.component.ts index e62009a..e579162 100644 --- a/src/app/demo-models-page/irony-analysis/irony-analysis.component.ts +++ b/src/app/demo-models-page/irony-analysis/irony-analysis.component.ts @@ -11,13 +11,74 @@ import { environment } from 'src/environments/environment'; styleUrls: ['./irony-analysis.component.scss'] }) export class IronyAnalysisComponent implements OnInit { + public barChartLegend = true; + public barChartPlugins = []; + public ironyBarChartOptions: ChartConfiguration<'bar'>['options'] = { + responsive: false, + scales: { + yAxes: { + display: true, + } + } + }; + public ironyBarChartData: ChartConfiguration<'bar'>['data'] = { + labels: ['Statystyki ironii'], + datasets: [] + }; randomSampleList = [ - 'testowy przyklad', - 'testowy przyklad', - 'testowy przyklad', - 'testowy przyklad', - 'testowy przyklad', + "Super, jeszcze jedno zadanie do wykonania. Przecież nie mam nic innego do roboty.", + "Jasne, że jestem w pełni zainteresowany twoją prezentacją. Właśnie potrzebuję sobie uciąć drzemkę.", + "No pewnie, że jestem wniebowzięty kolejnym obiadkiem z mikrofalówki. Nic nie smakuje lepiej niż jedzenie pełne konserwantów.", + "No jasne, że jestem podekscytowany kolejną prezentacją PowerPoint. Czekam na to, jak monotonny może być przekaz.", + "Oczywiście, że jestem wniebowzięty kolejnym prezentem na Dzień Matki. Potrzebuję jeszcze więcej bibelotów do zbierania kurzu.", + "Super, jeszcze jedno szkolenie z zasad BHP. Czuję, że moja wiedza w tej dziedzinie nigdy nie jest wystarczająca.", + "No jasne, że jestem podekscytowany kolejnym spotkaniem przedstawicieli handlowych. Czego jeszcze potrzebuję? Jeszcze więcej gadających ludzi.", + "Super, jeszcze jeden błąd w kodzie. Moja umiejętność pisania programów jest niezwykła.", + "Oczywiście, że najbardziej lubię spędzać czas z irytującymi ludźmi. To jest moje ulubione hobby.", + "Oczywiście, że uwielbiam, kiedy ludzie przeklinają bez przerwy. To jest tak piękne i wzbogacające dla mojego słownictwa.", + "Jasne, że nie mam nic przeciwko spędzeniu całego dnia na zmywaniu góry naczyń. Przecież nie ma nic lepszego do roboty.", + "Oczywiście, że jestem wielkim fanem robienia zakupów impulsywnych. Moje konto bankowe uwielbia ten mój talent.", + "Jasne, że to jest najlepsza piosenka, jaką kiedykolwiek słyszałem. Zwłaszcza ten wspaniały refren, który brzmi jak zakłócenia radiowe.", + "Oczywiście, że najbardziej lubię, kiedy wszyscy mi przerywają. Moja mowa jest tak porywająca, że trudno się oprzeć.", + "Tak, pewnie, że jestem mistrzem organizacji. Mój pokój wygląda jak skansen starych gazet i zużytych opakowań po jedzeniu.", + "No tak, bo wszyscy uwielbiają, kiedy ktoś głośno przeżuwa obok nich.", + "Tak, pewnie, że nic nie smakuje lepiej niż zimna pizza z dostawy sprzed dwóch dni.", + "Tak, pewnie, że moje umiejętności taneczne są na poziomie gwiazdy. Przez to ściany się ze mnie śmieją.", + "Tak, pewnie, że kocham, kiedy mnie ktoś przeklina. To znak, że zrobiłem dobre wrażenie.", + "No jasne, że moje umiejętności sprzątania są legendarnie złe. Potrafię tylko robić większy bałagan.", + "Oczywiście, że uwielbiam, kiedy ktoś przerywa mi podczas oglądania ulubionego serialu. To jest tak ekscytujące.", + "Tak, pewnie, że zawsze od razu znajduję to, czego szukam. Moja intuicja jest niezawodna.", + "No pewnie, że jestem niezastąpiony w odbijaniu piłki. Zawsze trafia mi w twarz.", + "Jasne, że zawsze zwracam uwagę na szczegóły. Zwłaszcza, kiedy przeglądam telefon i idę prosto w słup.", + "Jasne, że jestem mistrzem w zakłócaniu ciszy. Mój talent w rozpraszaniu jest godny podziwu.", + "Oczywiście, że uwielbiam, kiedy ludzie ignorują moje wiadomości. To sprawia, że czuję się wyjątkowy.", + "Dzisiaj jest piękna pogoda.", + "Mam wiele do zrobienia, ale dam radę. Będę pracować skoncentrowanie i efektywnie.", + "Jestem ekspertem w tym temacie. Spędziłem dużo czasu na nauce i praktyce.", + "Zasługuję na podwyżkę. Moja praca jest dobrze wykonana i przynosi dobre wyniki.", + "Jestem zainteresowany twoją prezentacją. Chcę się czegoś nowego nauczyć.", + "Wykonam tę pracę szybko i starannie. Znam się na tym i mam doświadczenie.", + "To jest dobra aplikacja, która może mi pomóc w mojej codziennej pracy.", + "Zaproszenie na piwo o 23:00 brzmi interesująco. Cieszę się, że mogę spędzić czas z przyjaciółmi.", + "Masz rację. Twoja sugestia jest dobra i warto ją wziąć pod uwagę.", + "To zadanie jest łatwe. Potrafię je zrobić szybko i bez większych problemów.", + "Chętnie posłucham twojej historii z wakacji. Zawsze lubię słuchać ciekawych historii.", + "Pomogę ci z projektem. Razem możemy osiągnąć sukces.", + "Spotkanie będzie interesujące. Czekam na nowe informacje i możliwość współpracy z innymi.", + "Ta książka jest naprawdę dobra. Ciekawa fabuła i interesujące postacie.", + "Zamówię coś smacznego z menu. Dziś mam ochotę na coś wyjątkowego.", + "Jestem zaangażowany w ten projekt. Chcę wnieść swój wkład i osiągnąć wspólne cele.", + "Zgadzam się z twoją opinią. Masz rację w tym, co mówisz.", + "Chętnie wysłucham twojej historii o snach. Zawsze jestem ciekaw innych doświadczeń.", + "Jestem twoim fanem. Cieszę się, że mogę oglądać twoje sukcesy.", + "Nie przepadam za spotkaniami rodzinymi, ale ważne jest dla mnie, by być z bliskimi.", + "Chętnie odwiedzę twoją wystawę sztuki. Interesuję się sztuką i chcę zobaczyć twój talent.", + "Przeczytam twoją pracę magisterską. Ciekawi mnie temat, który wybrałeś.", + "Będę słuchać twojego wystąpienia na konferencji. Interesują mnie nowe pomysły i wiedza.", + "Dotrzymam umówionego terminu. Szanuję czas innych i jestem punktualny.", + "Czekam na to spotkanie. Liczę na ciekawe prezentacje i nowe informacje.", + "Zagram w twoim zespole na imprezie. To będzie świetna zabawa i okazja do poznania nowych ludzi.", ] analysisStart = false; @@ -67,6 +128,10 @@ export class IronyAnalysisComponent implements OnInit { console.log(resp) this.analysisLoading = true; this.analysisResults = resp.predictions; + this.ironyBarChartData.datasets = [ + { data: [resp.count_labels.irony], label: String(resp.count_labels.non_irony) + ' brak ironii', backgroundColor: 'rgba(126, 126, 126)', borderRadius: 15, }, + { data: [resp.count_labels.non_irony], label: String(resp.count_labels.irony) + ' ironia', backgroundColor: 'rgba(134, 2, 164)', borderRadius: 15, }, + ] }, error: () => { this.analysisLoading = true diff --git a/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.html b/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.html index dc7f280..5fbaa1f 100644 --- a/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.html +++ b/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.html @@ -29,13 +29,15 @@
-
-
-
{{res.sentence}}
-
-
Negatywny
-
Pozytywny
-
Neutralny
+
+
+
+
{{res.sentence}}
+
+
Negatywny
+
Pozytywny
+
Neutralny
+
@@ -44,6 +46,7 @@ [plugins]="barChartPlugins" [legend]="barChartLegend" [type]="'bar'">
+
diff --git a/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.scss b/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.scss index 9b7888b..ed0a5fc 100644 --- a/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.scss +++ b/src/app/demo-models-page/sentiment-analysis/sentiment-analysis.component.scss @@ -4,7 +4,9 @@ background: linear-gradient(35deg, rgba(0, 0, 0, 1) 0%, rgba(9, 64, 71, 1) 50%, rgba(0, 0, 0, 1) 100%); background-repeat: no-repeat; min-height: calc(100% - 60px); - height: fit-content + height: fit-content; + width: fit-content; + min-width: calc(100% - 400px); } .title { @@ -62,7 +64,7 @@ } .chart { - padding-top: 30px; + //padding-top: 30px; } .title-container { @@ -79,7 +81,9 @@ } .results-table { - width: 400px + display: flex; + justify-content: space-between; + column-gap: 40px; } .ready-examples-button { @@ -109,3 +113,7 @@ background-repeat: no-repeat; } } +.results-rows{ + width: 400px; + min-width: 200px; +} diff --git a/src/app/home-page/home-page/home-page.component.html b/src/app/home-page/home-page/home-page.component.html index 781750f..a6ad3c5 100644 --- a/src/app/home-page/home-page/home-page.component.html +++ b/src/app/home-page/home-page/home-page.component.html @@ -64,9 +64,9 @@
WYKRYWANIE IRONII
-
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum - has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a - galley of type and scrambled it to make a type specimen book.
+
Moduł ten służy do wykrywania ironii w zdaniach. Jest to pomocne narzędzie w + weryfikacji np. komentarzy w mediach społecznościowych. Wpływa on bezpośrednio na ocenę odbioru + treści zamieszczanych na różnych platofrmach społecznościowych