Skip to content

Commit

Permalink
Add clarifications to Lab 09 assignment
Browse files Browse the repository at this point in the history
  • Loading branch information
100yo committed Dec 31, 2024
1 parent ba9f9d4 commit d1c7e40
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions 09-threads/lab/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ Sentiment analysis, или анализ на настроения, е техни
- sentiment lexicon - това са наредени двойки <дума, емоционална-оценка>, където "емоционална-оценка" е числова оценка от -5 (негативна) до 5 (позитивна) - тези са описани от enum-a `SentimentScore` даден по-долу.
- потоци за текстов анализ, който са комбинирани с някакъв идентификатор, за да може да разберем на текста от кой поток, коя оценка съответства.

Producer нишките ни ще имат брой `P`, равен на броя на потоците, които искаме да анализираме (`P=input.length`).
Consumer нишките ни ще имат фиксиран брой `N` и задачата им ще бъде:
- да вземат поток от опашката за обработка;
Producer нишките ни ще имат брой `P`, равен на броя на потоците, които искаме да анализираме (`P=input.length`). Всеки Producer изчита съдържанието на дадения поток, генерира "задача", която съдържа ID-то на потока и съдържанието му, и слага тази задача в опашка. В общия случай, входните потоци ще отговарят на големи текстови файлове, състоящи се от много редове и Producer-ът би генерирал задача за всеки прочетен ред. Ако искате да си опростите малко решението, може да приемете, че съдържанието на целия файл ще се събере в една задача.
Consumer нишките ни ще имат фиксиран брой `N` и работата им ще бъде:
- да вземат задача от опашката за обработка;
- да направят семантичен анализ;
- да запазят резултата в колекция, която после ще се върне като резултат;

Expand All @@ -37,7 +37,7 @@ Consumer нишките ни ще имат фиксиран брой `N` и за
2. Премахваме стоп думите от текста
3. Премахваме всякаква пунктуация, табулации и т.н., трябва да останат само думи, разделени с whitespace.
4. За всяка дума от текста извличаме "оценка" от лексикона, ако думата липсва - игнорираме.
5. Оценката се смята като сума на всички "оценки на думи".
5. Оценката се смята като усредним всички "оценки на думи" (става и само да ги сумираме, тестовете ни ще проверяват само дали оценката е положителна, неутрална или отрицателна).

Ако анализираме текста "I love programming but I hate bugs", използвайки лексикона AFINN:
"love" → +4
Expand Down

0 comments on commit d1c7e40

Please sign in to comment.