Я создал веб-приложение с использованием PHP, которое получает несколько постов, содержащих ключевое слово типа «пицца» из Instagram, и загружает их вместе с некоторыми другими данными в MongoDB.
Одним из модулей является NLTK в Python, и вот как я его вызываю (да, я переключаю языки как сумасшедшие [просто для их изучения]):
$foo = exec("python tokenize.py $bar");
Теперь строка выше полностью работает, но я ищу похожий способ позвонить моему SpamAssassin, чтобы проверить, является ли содержание поста в Instagram спамом или нет. Судя по документации SA, я знаю, что можно проверить некоторые текстовые файлы, так как они были почтой как здесь. Я новичок в SA, хотя.
Вероятно, этот вопрос довольно прост для продвинутых пользователей SA, но я не могу сказать никакой опции ввода-вывода в SA из cmd, как при вызове PHP-to-Python, как описано выше. При условии, что $string
содержание поста в Instagram, я ищу такой скрипт:
$score_of_SA = exec("spamassassin.exe $string")
Возможен ли такой сценарий в PHP? Если нет, что я должен сделать, чтобы проверить этот контент?
Предположим, что мой SA обновлен и обучен.
Сомнительно. Spamassassin не является общим средством проверки текста, он строит свои оценки по исходным электронным письмам, рассматривая различные известные факторы, связанные с электронной почтой, например, имеет ли отправляющий сервер допустимую запись MX или сообщения SPF или DKIM.
Ничто из этого не будет связано со структурами, не относящимися к электронной почте. Одним из ключевых компонентов в отношении анализа текста является реализация байесовского фильтра.
Однако есть надежда! И решение, которое намного более интегрировано в проект PHP. Как это происходит, в Packagist есть библиотека байпсовского фильтра спама php: Посмотреть здесь.
Вам нужно обучить спам-фильтр, и эта библиотека не является исключением.
Других решений пока нет …