Я думаю, что проблема связана со списком атрибутов, переданным glXChooseFBConfig (ваш pixmap_config []).
Я полагаю, что какой-то драйвер может заполнить обязательные поля значениями по умолчанию, а затем сравнить свои внутренние конфигурации с запрошенными.
Проблема в том, что EXT_texture_from_pixmap
работает только с растровыми изображениями, а не с окнами.
Итак, вы должны установить поле GLX_DRAWABLE_TYPE
с маской, содержащей GLX_PIXMAP_BIT
, а не по умолчанию GLX_WINDOW_BIT
.
Как насчет того, чтобы просто использовать некоторую существующую реализацию байесовского фильтра спама вместо того, чтобы реализовать Ваше собственное. У меня были хорошие результаты с DSpam
Если Вы только ожидаете (или забота о) английские комментарии, то, почему не просто считают количество допустимых слов (относительно некоторого словаря) в обратной связи загруженным. Если число передает некоторый порог, примите обратную связь. В противном случае повредите его. Эта простая эвристика могла быть расширена на другие языки путем добавления их словарей.
Немного отличающийся подход должен был бы настроить систему, чтобы послать сообщения обратной связи по электронной почте в учетную запись и использовать стандартную фильтрацию спама. Вы могли отправить их через Gmail и позволить их фильтрации взять выстрел в него. Не прекрасный, но не слишком много усилия реализовать также.
У меня была посылающая спам проблема в функции гостевой книги на одном из моих сайтов (довольно длинный) в то время как назад. мое решение состояло в том, чтобы просто добавить немного подобного капче поля Q&A, спросив пользователя, "Действительно ли Вы - посылающий спам робот?" Любой ответ, содержащий слово "нет" (принимающий "нет, я не", "нет" и "нисколько" также, только для забавы...), разрешил пользователю отправлять...
Причина я принял решение не использовать капчу, состояла просто в том, что мои пользователи хотели более "удобное" чувство на сайт, и капча чувствовала себя слишком формальной. Это было более персональным =)
Вы могли бы попробовать Байесовский алгоритм, используемый многими спам-фильтрами.
Самый простой метод должен был бы считать возникновение каждой буквы. E является наиболее распространенной буквой на английском языке, таким образом, это должно использоваться больше всего. Вы могли также проверить на частоту диграфа и слово. Взгляните здесь для получения списка наиболее часто используемого что-либо на английском языке
Ищите модели Claude Shannon и Маркова. Они приводят к статистическому методу для оценки вероятностей, что сочетания букв прибывают из указанного источника языка.
Вот некоторые соответствующие примечания курса из Принстонского университета.
Fidelis Assis и я адаптировали спам-фильтр OSBF-Lua так, чтобы он мог легко быть адаптирован к другим приложениям включая веб-приложения. Этот спам-фильтр выиграл конкурс спама TREC три года подряд. (Я не возражаю хвастать, потому что алгоритмом является Fidelis, не мой.)
Если Вы хотите испытать вещи, у нас есть "почти бета" код в
git clone http://www.cs.tufts.edu/~nr/osbf-lua-temp
Мы - все еще длинный путь от наличия опрятного выпуска, но код должен создать, если Вы устанавливаете, автоделают 1.9. Любой из нас был бы рад консультировать Вас по вопросам того, как использовать его, чтобы убрать Вашу базу данных и интегрировать его в Ваше приложение.
Предыдущие ответы о связывании некоторого спам-фильтра Байесовски вдохновленный classfier являются хорошей идеей. Для Вашего приложения, так как Вы, кажется, получаете много долгих слов ерунды, было бы лучше включить опцию в Вашем синтаксическом анализаторе для обучения на биграммах и триграммах; иначе многие слова ерунды будут просто рассматривать как "никогда не замечаемые прежде", который не является самым полезным синтаксическим анализом в Вашем случае.
Да, как люди указал, Вы могли посмотреть на спам-фильтры или Модели Маркова.
Что-то более простое должно было бы просто считать различные слова в каждом ответе и виде частотой. Если слова как следующее не наверху затем, это - вероятно, не действительный текст:
a, в, и, или...
Они - наиболее часто используемое слово в любом обычном английском тексте.
Просто комментарии хранилища в незаконченном состоянии, передайте их через Akismet или Defensio, и используйте ответ, чтобы отметить их как потенциальный спам или отметить их активный.
Я лично предпочитаю API Defensio, но их обоих работа фантастически хорошо.