diff --git a/09-threads/lab/README.md b/09-threads/lab/README.md index f1e9dba5..3a51a198 100644 --- a/09-threads/lab/README.md +++ b/09-threads/lab/README.md @@ -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` и работата им ще бъде: +- да вземат задача от опашката за обработка; - да направят семантичен анализ; - да запазят резултата в колекция, която после ще се върне като резултат; @@ -37,7 +37,7 @@ Consumer нишките ни ще имат фиксиран брой `N` и за 2. Премахваме стоп думите от текста 3. Премахваме всякаква пунктуация, табулации и т.н., трябва да останат само думи, разделени с whitespace. 4. За всяка дума от текста извличаме "оценка" от лексикона, ако думата липсва - игнорираме. -5. Оценката се смята като сума на всички "оценки на думи". +5. Оценката се смята като усредним всички "оценки на думи" (става и само да ги сумираме, тестовете ни ще проверяват само дали оценката е положителна, неутрална или отрицателна). Ако анализираме текста "I love programming but I hate bugs", използвайки лексикона AFINN: "love" → +4