В настоящее время я работаю над проектом, простым анализатором чувств, так что в отдельных случаях будут 2 и 3 класса. Я использую corpus, который довольно богатый в средствах уникальных слов (около 200 000). Я использовал метод суммирования для выбора функции и для уменьшения количества уникальных функций, устранение выполняется из-за пороговое значение частоты появления. окончательный набор функций включает около 20 000 функций, что на самом деле составляет 90% уменьшение, но недостаточно для предполагаемой точности strong > тестового прогноза. Я использую LibSVM и SVM-light в свою очередь для обучения и прогнозирования (как linear, так и ядро RBF) и также Python и Bash.
максимальная точность составляет около 75%, а я - не менее 90%. Это относится к двоичной классификации. Для обучения нескольких классов точность падает до ~ 60%. я требуется как минимум 90% в обоих случаях и не может понять, как его увеличить: через оптимизировать параметры обучения или с помощью оптимизации выбора функций?
Я прочитал статьи о выборе функций в классификации текста, и я обнаружил, что используются три разных метода, которые на самом деле имеют четкую взаимосвязь между собой. Эти методы заключаются в следующем:
- Частотный подход мешков слов (BOW)
- Усиление информации (IG)
- X ^ 2 Статистика (CHI)
Первый метод - это тот, который я использую, но я использую его очень просто и нуждаюсь в руководстве для лучшего его использования, чтобы получить достаточно высокую точность. Мне также не хватает знаний о практических реализациях IG и CHI и ищет любую помощь, которая поможет мне таким образом.
Большое спасибо, и если вам нужна дополнительная информация для справки, просто дайте мне знать.
-
@larsmans: Порог частоты: Я ищу примеры уникальных слов в примерах, например, если слово встречается в разных примерах достаточно часто, оно включено в функцию установлен как уникальная функция.
-
@TheManWithNoName: Прежде всего, спасибо за ваши усилия в объяснении общих проблем классификации документов. Я изучил и экспериментировал все методы, которые вы выдвигали, и другие. Я нашел метод Пропорциональный разброс (PD) наилучшим для выбора функции, где функции являются униграммами и Срок присутствия (TP) для взвешивания (я не понял, почему вы отметили Term-Frequency-Inverse-Document-Frequency (TF-IDF) как метод индексирования, я скорее рассматриваю его как подход для взвешивания функций). Предварительная обработка также является важным аспектом для этой задачи, как вы упомянули. Я использовал определенные типы устранения строк для уточнения данных, а также морфологического разбора и stem. Также обратите внимание, что я работаю над турецким, который имеет разные характеристики по сравнению с английским. Наконец, мне удалось достичь ~ 88% точности (f-measure) для двоичной классификации и ~ 84% для мультикласса. Эти значения являются надежными доказательствами успеха модели, которую я использовал. Это то, что я сделал до сих пор. Теперь, работая над моделями кластеризации и сокращения, попробовали LDA и LSI и перешли на moVMF и, возможно, сферические модели (LDA + moVMF), который, похоже, работает лучше на корпусе, у которого есть объективный характер, например новостной корпус. Если у вас есть какая-либо информация и рекомендации по этим вопросам, я буду признателен. Мне особенно нужна информация о настройке интерфейса (ориентированного на питон, open-source) между методами уменьшения размера пространства (LDA, LSI, moVMF и т.д.) И методов кластеризации (k -средства, иерархические и т.д.).