Ответы на Ulearn

Практика «Частотность N-грамм»

100 руб.

Продолжайте работу в том же проекте.

N-грамма — это N соседних слов в одном предложении. 2-граммы называют биграммами. 3-граммы — триграммами.

Например, из текста: "She stood up. Then she left." можно выделить следующие биграммы "she stood", "stood up", "then she" и "she left", но не "up then". И две триграммы "she stood up" и "then she left", но не "stood up then".

По списку предложений, составленному в прошлой задаче, составьте словарь самых частотных продолжений биграмм и триграмм. Это словарь, ключами которого являются все возможные начала биграмм и триграмм, а значениями — их самые частотные продолжения. Если есть несколько продолжений с одинаковой частотой, используйте то, которое лексикографически меньше.

Для лексикографического сравнения используйте встроенный в .NET способ сравнения Ordinal, например, с помощью метода string.CompareOrdinal.

Такой словарь назовём N-граммной моделью текста.

Реализуйте этот алгоритм в классе FrequencyAnalysisTasks.

Все вопросы и детали уточняйте с помощью примера ниже и тестов.

Пример

По тексту a b c d. b c d. e b c a d. должен быть составлен такой словарь:

Обратите внимание:

  • из двух биграмм "a b" и "a d", встречающихся однократно, в словаре есть только пара "a": "b", как лексикографически меньшая.
  • из двух встречающихся в тексте биграмм "c d" и "c a" в словаре есть только более частотная пара "c": "d".
  • из двух триграмм "b c d" и "b c a" в словаре есть только более частотная "b c": "d".

Купить решение:

Ваш Email (на него будет отправлен ответ)

Продолжая, вы соглашаетесь с пользовательским соглашением

Возможны трудности с доставкой сообщений на Gmail