#c_sharp #алгоритм #строки
Собственно, нужно проверить, является ли комментарий содержательным, а не чем-то вида "спасибо спасибо спасибо". Например, функция, подсчитывающая максимальное количество последовательно идущих одинаковых подстрок минимальной длины, которая для - 'ааааа' вернет 5 (подстрока 'а' повторяется 5 раз) - 'aa aa aa' получается, вернет 2 (подстрока 'аа '. конечно лучше, чтоб вернула 3, но не понятно, как реализовать это) а также как можно задать для такой функции минимальную длину анализируемых подстрок например, если мин. длина равна 3, то - 'аааааа' вернет 2 (т.е. подстрока 'ааа' повторяется 2 раза) Как можно реализовать такую функцию? Или может есть другие идеи, как отсеять комментарии по содержательности?
Ответы
Ответ 1
На мой взгляд более полезным было бы сначала удалить из комментария слова не несущие информационной нагрузки (понадобится словарик из таких слов), а затем оценить что осталось после удаления и/или соотнести число оставшихся слов с числом удаленных. В любом случае задача эвристическая и фантазировать тут можно до бесконечности.Ответ 2
Текст сообщения можно разбить на N-граммы. Например, биграмма для "на дворе трава, на траве дрова" будет следующей: "на дворе", "дворе трава", "трава на", "на траве", "траве дрова". Из большого количества текстов с нормальными комментариями надо создать базу данных из разных N-грамм. После этого новые комментарии также разбиваете на N-граммы и смотрите сколько таких же есть в базе данных. Например: "В библиотеке маленький лист разжигают. Огонь… эээ… будет вырабатываться гораздо легче, чем учебник крепкий <...> Вот в магазине 22 она может расщепиться, экономика!" -- это шизофазия. Даже по двум биграммам "учебник крепкий" и "расщепиться экономика" понятно.Ответ 3
Можно попытаться использовать алгоритм классификации с использованием теоремы Байеса, когда подсчитывают вероятность того, является ли данное сообщение содержательным или нет. Собственно, так и работают многие анализаторы спам / не спам. Ссылка для примера.
Комментариев нет:
Отправить комментарий