Извлечение интересов пользователей из социальных профилей

Это мой первый раз, когда я занимаюсь НЛП, поэтому, пожалуйста, извините мое невежество. Я ищу метод для извлечения интересов/лайков/хобби из социальных профилей пользователей. Вот пример, где все интересы/нравится/хобби выделены жирным шрифтом:

«Я считаю себя довольно разносторонним персонажем... Я профессиональный борец, но я готов принять пулю за Валл•И. Я тренируюсь как один- машина для геноцида людей в тренажерном зале, но я плакала под "Армагеддон". серьезно подумываю о том, чтобы сделать татуировку Legend of Zelda. Я дружу с 420. Мне нравится тусоваться с толпой братства однажды ночью, тусоваться с моим В следующий раз с друзьями на Burning Man, в следующий сыграйте в Halo и World of Warcraft, а в следующий раз играйте с друзьями, которым не меньше 40 лет. Мой младший другу 16, моему самому старшему другу 66. Я буду петь караоке в барах, и я коллективный психиатр/плечевой врач моих друзей».

Профили представляют собой обычный текст. С ним не связаны никакие метатеги или идентификаторы, это просто абзац текста.

Моя наивная идея состояла в том, чтобы взять каждое существительное и сопоставить его с Freebase, чтобы увидеть, относится ли оно к деятельности/исполнителю/фильму/ книга и т. д. Проблема в том, что, хотя большинство упоминаемых сущностей будут вещами, которые нравятся пользователю, он также будет упоминать вещи, которые ему не нравятся, и я не могу отличить 2.

У меня есть 2 вопроса:

  1. На какое подполе НЛП мне следует обратить внимание? Некоторые алгоритмы/методы/авторы, доступные для поиска в Google, будут очень признательны.
  2. Насколько сложна эта проблема?

Спасибо!


person stackOverlord    schedule 04.03.2012    source источник


Ответы (1)


Во-первых, если использование НЛП не является для вас конкретной целью, проверьте свою проблемную область, чтобы увидеть, можете ли вы полностью избежать этого.

Например:

  • есть ли у этих профилей теги (предоставляемые Сайтом или пользователем)?

  • что делает доступным API сайта (при условии, что именно так вы получаете доступ к этим данным; если вы очищаете их, то это, конечно, не применяется)? Хороший пример, Фейсбук. если вы читаете сообщения пользователя, вы увидите такие слова, как «борец», «караоке» и т. д., но если вы посмотрите, какие поля доступны через Graph API, вы увидите, что эти действия почти всегда имеют связанный FB Я БЫ.

Я не специалист в этой области, но могу порекомендовать пару ресурсов, направленных на НЛП и доступных неспециалисту или новичку. Первый — это API для обработки текста. Этот простой веб-сервис использует REST и JSON IO. Это бесплатно и, кажется, имеет довольно большой лимит скорости.

Этот API, по-видимому, в значительной степени зависит от превосходного набора инструментов для работы с естественным языком (NLTK), который является зрелой стабильной библиотекой на Python, который включает в себя модули, направленные на проблему в вашем вопросе, например, анализ тональности, тегирование и извлечение фрагментов и т. д.

Какой конкретный поддомен наиболее важен для решения вопроса в OP? Я не знаю, но я подозреваю, что где-то в NLTK есть модуль, который делает то, что вам нужно. Надеюсь, что найти этот модуль просто вопрос просмотра Документация по API (организованная по модулям); чтение раздела Начало работы, в котором содержится отличный обзор модулей NLTK, а также демонстрации всех модулей из них.

person doug    schedule 04.03.2012
comment
К сожалению, нет ни тегов, ни API. Это буквально абзацы текста. Спасибо за совет NLTK, я люблю python. Я пойду ковыряться. - person stackOverlord; 04.03.2012