У більшості подібних програм вам доведеться розгортати більшу частину власного коду для завдання статистичної класифікації. Як припустила Лучка, NLTK є ідеальним інструментом для маніпулювання природною мовою в Python, якщо ваша мета не заважає некомерційному характеру її ліцензії. Однак я б запропонував інші програмні пакети для моделювання. Я не знайшов багато сильних вдосконалених моделей машинного навчання, доступних для Python, тому я пропоную кілька автономних двійкових файлів, які легко співпрацюють з ним.
Вас може зацікавити Набір інструментів для вдосконаленого дискримінаційного моделювання , який можна легко пов’язати з Python. Це було використано для класифікаційних завдань у різних сферах обробки природної мови. Ви також можете вибрати кілька різних моделей. Я б запропонував розпочати з класифікації "Максимальна ентропія", якщо ви вже знайомі з реалізацією класифікатора Naive Bayes. Якщо ні, можливо, ви захочете розглянути її та закодувати, щоб справді глибоко зрозуміти статистичну класифікацію як завдання машинного навчання.
Групи обчислювальної лінгвістики Техаського університету в Остіні проводили заняття, де більшість проектів, що виходили з них, використовували цей чудовий інструмент. Ви можете заглянути на сторінку курсу " Обчислювальна лінгвістика II", щоб отримати уявлення про те, як змусити її працювати та які попередні програми вона обслуговувала.
Ще одним чудовим інструментом, який працює в тому ж ключі, є молоток . Різниця між Mallet полягає в тому, що доступно трохи більше документації та кілька інших моделей, таких як дерева рішень, і це в Java, що, на мій погляд, робить це трохи повільнішим. Weka - це цілий набір різних моделей машинного навчання в одному великому пакеті, який включає кілька графічних матеріалів, але насправді він в основному призначений для педагогічних цілей, і насправді це не те, що я ввів у виробництво.
Удачі вам у виконанні завдання. Справжньою складною частиною, мабуть, буде обсяг інженерії знань, необхідний для того, щоб ви класифікували "набір насіння", з якого вивчить ваша модель. Він повинен бути досить значним, залежно від того, чи робите ви двійкові класифікації (щасливі проти сумні) або цілий спектр емоцій (що вимагатиме ще більше). Не забудьте витримати деякі з цих інженерних даних для тестування, або запустіть десять разів або видаліть один тест, щоб переконатися, що ви насправді добре виконуєте прогнозування, перш ніж викласти їх там. А найбільше - весело! На мою думку, це найкраща частина НЛП та ШІ.