Не могли бы вы показать мне простой пример использования http://www.nltk.org/code для определения того, строку о счастливом или расстроенном настроении?
Могу ли я использовать NLTK, чтобы определить, является комментарий положительным или отрицательным?
Ответы (4)
NLTK не может работать сразу, но если вы ищете соответствующие исследования в этой области, взгляните на этот документ на Обнаружение ненормативной лексики. Те же методы могут быть адаптированы для обнаружения комментариев, которые не являются оскорбительными/неоскорбительными, а вместо этого радостными/недовольными. Основной программный пакет, используемый в этом проекте для классификации текстов, называется WEKA. и использует несколько классификаторов, обученных на предыдущих примерах, чтобы определить, является ли язык оскорбительным или нет (и в этом методе используется настраиваемый порог).
Pattern тоже заслуживает тест-драйва: вы можете увидеть сразу два эксперимента по сбору мнений на главной странице проекта.
http://www.clips.ua.ac.be/pages/pattern-examples-100days
http://www.clips.ua.ac.be/pages/pattern-examples-elections
Нет.
Это задача, выходящая далеко за рамки возможностей NLTK или любого известного грамматического синтаксического анализатора, который можно реально представить. Посмотрите книгу NLTK, чтобы узнать, какие задачи может достичь того, что далеко, далеко от заявленной вами цели.
Как дешевый пример:
Мне очень понравилось использовать вашу бумагу для обучения моей собаки.
Разберите это с помощью NLTK, и вы сможете получить
[('I', 'PRP'), ('really', 'RB'), ('enjoyed', 'VBD'),
('using', 'VBG'), ('your', 'PRP$'), ('paper', 'NN'),
('to', 'TO'), ('train', 'VB'), ('my', 'PRP$'), ('dog', 'NN')]
Где дерево синтаксического анализа подскажет мне, что «наслаждался» — это центральный (прошедшее время) глагол простого предложения. Наслаждаться чем-то хорошо. Тренировать что-то вообще хорошо. Герундии, существительные, сравнительные сравнения и тому подобное относительно нейтральны. Так что дайте этому хороший балл 0,90.
За исключением того, что я действительно имею в виду, что я либо ударил свою собаку вашей бумагой, либо позволил ей испражняться на бумагу, что вы, вероятно, сочли бы плохим поступком.
Наймите человека для этой задачи распознавания.
Добавлено для тех, кто считает, что даже обученные классификаторы приносят большую пользу:
Классифицируйте эту реальную запись из реального корпуса отзывов клиентов, используя любой классификатор, который вам нравится, обученный на любом наборе данных, который вам нравится:
Эта камера продолжает автофокусировку в автоматическом режиме с жужжащим звуком, который невозможно остановить. Было бы очень хорошо, если бы они дали возможность отключить автофокусировку. Если вы хотите иметь дату и время на изображении, это можно сделать только с помощью их программного обеспечения, которое считывает дату и время изображения из метаданных изображения. Так что если вы пользуетесь кард-ридером и копируете изображения - вам нужно еще раз открыть их через их программу, чтобы поставить дату и время. В этом тоже нет прямого способа добавить дату и время — вы должны сказать «печатать изображения» в другой каталог, в котором есть возможность указать дату и время. Даже малейшее сотрясение полностью искажает изображение. Изображения в помещении были не такими четкими. У вас должна быть включена вспышка, даже если ваша комната хорошо освещена. Крышка объектива очень раздражает. снятые видеоклипы всегда будут иметь некоторый «шум» - этого не избежать.
Классификация наихудшего настроения, которую я получил, была «полностью двусмысленной», но люди могут легко определить, что это совсем не комплиментарно. Это не было случайно выбранным данным, скорее, оно было выбрано из-за отрицательного смещения без «ненависти», «suxz» или чего-то подобного.
Вы ищете метод, который использует классификатор машинного обучения, чтобы определить, является ли фрагмент текста положительным или отрицательным. Несколько исследовательских групп предпринимали различные попытки сделать это (например, http://research.yahoo.com/pub/2387 и http://lingcog.iit.edu/doc/appraisal_sentiment_cikm.pdf), мы можем получить точность от 80% до 90% при определении того, является ли обзор продукта положительным или отрицательным.
Из-за краткости вашего вопроса для меня не очевидно, является ли определение того, является ли обзор продукта положительным или отрицательным, той же задачей, которую вы пытаетесь выполнить, или просто связанной задачей, но я бы предложил начать с простого. классификацию слов с помощью байесовского классификатора (с которым NLTK должен быть в состоянии справиться), а затем улучшайте свои методы оттуда в зависимости от того, насколько высока точность.
К сожалению, я никогда не использовал NLTK (или Python в этом отношении), поэтому я не могу привести вам пример кода, как использовать NLTK для этого.