Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Nomad1488
0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 1
1

Составление словаря биграмм

17.10.2017, 12:40. Просмотров 579. Ответов 0
Метки нет (Все метки)

Нужно составить словарь, который для каждого слова W хранит вторую часть V, наиболее частотной биграммы (W, V), начинающейся с W.
Ключи этого словаря — это все слова, с которых начинается хотя бы одна биграмма исходного текста. В качестве значения должно быть второе слово самой частой биграммы, начинающейся с ключа.
Если есть несколько биграмм с одинаковой частотой, то использовать лексикографически первую (используйте способ сравнения Ordinal, например с помощью метода string.CompareOrdinal).
В качестве входных данных используется List<List<string>> где каждый List<string> это предложение текста, элементами которого являются слова. Прошу найти неточность в моём коде.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static Dictionary<string, string> GetMostFrequentNextWords(List<List<string>> text)
        {
            var dictionary = new Dictionary<string, string>();
            var max = 0;
            var list = new Dictionary<string, int>();
            foreach (var e in text)
                for (int i = 0; i < e.Count - 1; i++)
                {
                    if (!dictionary.ContainsKey(e[i]))
                    {
                        foreach (var k in text)
                            for (int j = 0; j < k.Count - 1; j++)
                            {
                                if (e[i] == k[j]) list[k[j + 1]] += 1;
                            }
                        foreach (var valu in list.Values)
                            if (valu > max) max = valu;
                        foreach (var key in list.Keys)
                            if (list[key] == max) dictionary.Add(e[i], key);
                        list.Clear();
                        max = 0;
                    }
                }
            return dictionary;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2017, 12:40
Ответы с готовыми решениями:

Подсчитать количество биграмм в строке
Здавствуйте ! В C# новичек , даже очень , и вот столкнулся с проблемой - нужно...

Частота появления биграмм в тексте
Доброго времени суток Искала по форуму похожую проблему -не нашла. Задание...

Как в индексаторе моей реализации "словаря" получить элемент словаря без перебора?
Пытался сдать лабу преподавателю, суть которой в открытом хешировании, создал...

Сортировка словаря по ключу
Как отсортировать Dictionary &lt;int, Vector3&gt; по ключу, по возрастанию? Метода...

Создание частотного словаря
Помогите, пожалуйста, с функцией. Она должна вывести отчёт о самом популярном...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2017, 12:40

случайные пары из словаря
Помогите пожалуйста. Есть словарь, в котором 200 пар, как случайным образом...

Создание полноценного словаря
Всем привет. Нужны советы. Посоветуйте чем можете, пожалуйста))) Думаю...

Заполнить дерево из словаря
Лет десять не писал на СИ , с деревьями вообще не работал , погуглил примеров...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru