Анализ текста с [закрытым] PHP

Я делаю проект для урока колледжа, который я посещаю.

Я использую PHP для создания простого веб-приложения, которые классифицируют твиты как "положительные" (или счастливый) и "отрицательный" (или печальный) на основе ряда словарей. Алгоритм, о котором я думаю прямо сейчас, является наивным классификатором Байеса или деревом решений.

Однако я не могу найти библиотеку PHP, которая помогает мне сделать некоторую серьезную обработку языка. Python имеет NLTK (http://www.nltk.org). Есть ли что-нибудь как этот для PHP?

Я планирую использовать WEKA в качестве бэкэнда веб-приложения (путем вызова Weka в командной строке из PHP), но не кажется что эффективным.

У Вас есть какая-либо идея, что я должен использовать для этого проекта? Или я должен просто переключиться на Python?

Спасибо

22
задан dmcer 7 May 2010 в 00:23
поделиться

2 ответа

Если вы собираетесь использовать классификатор Naive Bayes, вам не нужна целая тонна обработки NL. Все, что вам понадобится, - это алгоритм для упорядочивания слов в твитах и, если хотите, удаления стоп-слов.

Алгоритмов стебли существует множество, и их несложно написать. Удаление стоп-слов - это просто поиск по хэш-карте или чему-то подобному. Я не вижу оснований менять платформу разработки, чтобы приспособить NLTK, хотя это очень хороший инструмент.

9
ответ дан 29 November 2019 в 05:44
поделиться

Вы также можете использовать API uClassify, чтобы сделать что-то похожее на Naive Bayes. В основном вы обучаете классификатор, как и любой другой алгоритм (только здесь вы делаете это через веб-интерфейс или отправляя xml-документы в API). Затем каждый раз, когда вы получаете новый твит (или пакет твитов), вы вызываете API, чтобы он классифицировал их. Это быстро, и вам не нужно беспокоиться о его настройке. Конечно, это означает, что вы теряете гибкость, которую получаете, управляя классификатором самостоятельно, но это также означает меньше работы для вас, если это само по себе не является целью проекта класса.

2
ответ дан 29 November 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: