RDF представление предложений
Мне нужно представлять предложения в формате RDF.
Другими словами, "Джон любит кокс" будет автоматически представлен как:
Subject : John
Predicate : Likes
Object : Coke
Кто-нибудь знает, с чего мне начать? Есть ли программы, которые могут сделать это автоматически, или мне нужно было бы делать все с нуля?
2 ответа
Похоже, вы хотите типизированные зависимости предложения, например, для John likes coke
:
nsubj(likes-2, John-1)
dobj(likes-2, coke-3)
Я не знаю ни одного парсера зависимостей, который напрямую создает RDF. Однако многие из них производят синтаксический анализ в стандартизированном представлении с ограничением табуляции, известном как CoNLL-X, и преобразование из CoNLL-X в RDF не должно быть слишком сложным.
Парсеры зависимостей с открытым исходным кодом
Для извлечения типизированных зависимостей есть несколько парсеров на выбор, включая следующие современные опции с открытым исходным кодом:
- Stanford Parser - посмотрите онлайн демо.
- MaltParser
- MSTParser
Stanford Parser включает предварительно обученную модель для разбора английского языка. Чтобы получить типизированные зависимости, вам нужно использовать флаг -outputFormat typedDependencies
,
Для MaltParser вы можете скачать английскую модель здесь.
MSTParser включает небольшой набор из 200 предложений английского языка, который вы можете использовать для создания своей собственной модели анализа английского языка. Однако обучение этим небольшим данным повредит точности полученного парсера. Так что, если вы решите использовать этот парсер, вам, вероятно, лучше использовать модель предварительной подготовки, доступную здесь.
Все вышеперечисленные модели, прошедшие предварительную подготовку, производят синтаксический анализ в соответствии с формализмом Стенфордской зависимости ( статья ACL и руководство).
Из этих трех Stanford Parser является наиболее точным. MaltParser является самым быстрым, с некоторыми конфигурациями этого пакета, способными анализировать 1800 предложений всего за 8 секунд.
Одним из вариантов является использование вывода Link Parser, доступного по лицензии, совместимой с GPL. При необходимости вы можете определить уровень перевода между этими выходами и вашими узлами RDF.
Посмотрите эту демонстрацию на своем примере "John Like Coke"!