@Kapasim988

Как создать матрицу с количеством вхождений слова в предложение?

Всем привет, в общем я создал словарь, в котором ключом является цифра от 0 до 253, а его значением уникальное слово, которых 254, а всего слов в тексте 468. Как создать матрицу из словаря, чтобы ее элемент с индексом(i, j) был равен количеству вхождений j - го слова в i - ое предложение?

Вот задание, если что:
Составьте список всех слов, встречающихся в предложениях. Сопоставьте каждому слову индекс от нуля до (d - 1), где d — число различных слов в предложениях. Для этого удобно воспользоваться структурой dict.
Создайте матрицу размера n * d, где n — число предложений. Заполните ее: элемент с индексом (i, j) в этой матрице должен быть равен количеству вхождений j-го слова в i-е предложение. У вас должна получиться матрица размера 22 * 254.
  • Вопрос задан
  • 971 просмотр
Решения вопроса 1
@o5a
Разбить весь текст на предложения, а внутри на слова. Затем 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)

Удачи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы