Практика «Частотность N-грамм»
Продолжайте работу в том же проекте.
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.
должен быть составлен такой словарь:
xxxxxxxxxx
"a": "b"
"b": "c"
"c": "d"
"e": "b"
"a b": "c"
"b c": "d"
"e b": "c"
"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
Практика, практика и еще раз практика!
Войдите или зарегистрируйтесь, чтобы отвечать на тесты и решать задачи.