2014-11-14 3 views
3

Я создал классификатор для классного класса существительных, прилагательных, Именованных сущностей в данном предложении. Я использовал большой набор данных Википедии для классификации.Идентификация контекста слова в предложении

Как:

Где Авраам Линкольн родился?

Так Классификатор даст этот короткий результата - word - class

  • Где - вопрос
  • Авраам Линкольн - Человек, кино, книги (потому что классификатор найти Авраам Линкольн во всех там категориях)
  • родился - время

Когда был выпущен Titanic?

  • когда - вопрос
  • Титаник - песня, фильм, автомобиль, игры (Титаник классифицированы во всех этих категориях)

Есть ли способ, чтобы определить точный контекст слова?

Пожалуйста, см:

  1. Слово чувство неоднозначности не помогло бы здесь. Потому что не может быть рядом слово в предложении, которое может помочь
  2. Алгоритм Lesk с wordnet или sysnet также не помогает. Потому что, пусть слово Bank Lesk алго будет вести себя как этот

    ======== ТЕСТИРОВАНИЕ simple_lesk ===========

    ТЕСТИРОВАНИЯ simple_lesk() ...

    Контекст: я пошел в банк, чтобы внести свои деньги

    Sense: Synset («depository_financial_institution.n.01»)

    определения: финансовое учреждение, которое принимает вклады и каналы денег в деятельность кредитных

    ТЕСТИРОВАНИЕ simple_lesk() с POS ...

    Контекст: Банк реки был полон мертвых рыбы

    Sense: Synset ('bank.n.01')

    Определение: наклонная земля (особенно склон рядом с водоемом)

Здесь для слова bank он предложил в качестве financial institute и slopping land. Хотя в моем случае я уже получаю такое предсказание, как Titanic, тогда это может быть movie или game.

Я хочу знать, есть ли другой подход, кроме Lesk algo, baseline algo, traditional word sense disambiguation, который может помочь мне определить, какой класс подходит для определенного ключевого слова?

Титаник -

+0

Если в первом примере «рожденный» следует классифицировать как «время», почему «освобождение» во втором примере не получает никакой классификации? –

+0

@ChthonicProject: спасибо за ваш комментарий. Причиной этого является система классификации на основе признаков. Класс времени был обучен с использованием сущностей, которые конкретизируют время, например 'когда, сколько времени, продолжительности, рождаемости и т. Д. Недостаточно умного идентифицировать «выпущенный» как событие, основанное на времени. Полумесячная и неконтролируемая система обучения могла бы определить ее – user123

ответ

2

Спасибо за использование pywsdexamples. Что касается wsd, есть много других вариантов, и я сам их кодирую в свободное время. Так что если вы хотите, чтобы видеть это улучшение ли присоединиться ко мне в кодировании инструмента с открытым исходным кодом =)

Между тем, вы найдете следующие технологии более релевантные для вашей задачи, такие как: база

Вышеуказанные технологии, как правило, включает в себя несколько подзадач, таких как:

По существу вы просите инструмент, который является NP-полной системой AI для языка/обработки текста, так что я не очень думаю, что такой инструмент существует до сих пор. Возможно, это IBM Watson.

Если вы ищете поле для поиска, поле находится там, но если вы смотрите на инструменты, скорее всего, инструменты викификации ближе всего к тому, что вам может понадобиться. (http://nlp.cs.rpi.edu/paper/WikificationProposal.pdf))

Смежные вопросы