Разбить весь текст на предложения, а внутри на слова. Затем 2 цикла один по предложениям в этом вложенном словаре, другой - по списку уникальных слов. И для каждого уникального слова считать кол-во его вхождений в текущее предложение (через count).
Через list_comprehension будет выглядеть так
[[sentence.count(word) for word in unique_words] for sentence in sentences]
где unique_words - это собственно список уникальных слов
sentences - вложенный список слов по каждому предложению.
Разбить на предложения и слова наверное проще регулярными выражениями
# по предложениям
re.split(r'[\.!\?]', text)
# по словам
re.split(r'[\n \.,!\?]', text)
Удачи.