2014-11-09 4 views
2

Я пытаюсь реализовать вероятностный ccg с функциями лямбда-исчисления.Представление Lambda-Calculus в NLTK CCG

В основном я хочу сделать следующий код:

>> lex = parseLexicon(r''' 
:- S,NP 
He => NP {sem=\x.he(x)} [1.0] 
Walks => S\NP {sem=\X. walk(X)} [1.0] 
There => S\S {sem=\x . there(x)} [1.0] 
''') 
>> parser = CCGChartParser(lex) 
>> all_parses = parser.nbest_parse(“He walks 
there”.split(),n=100) 
>> for parse in all_parses: 
printCCGDerivation(parse) 

но существующие реализации CCG в NLTK не поддерживает {семафор = \ x.he (х)} [1,0] виды смысловых частей в лексиконе.

Есть ли какие-либо другие реализации CCG, которые могут справиться с этим? Или я могу представить это внутри NLTK?

+1

Мне интересно, если вы когда-нибудь нашел решение на свой вопрос? – crackjack

+1

@crackjack нет, несчастливо. на этом была реализована реализация магистерского проекта, но она не завершена. Я связался с консультантом по тезису, он сказал, что проект больше не поддерживается. – ayyayyekokojambo

+1

Я тот парень. Недавно был реализован предикат семантики. Вероятностный анализ CCG находится на горизонте. См. Мой ответ ниже. – Tanin

ответ

1

NLTK CCG недавно поддерживает вычисление предиката семантики (вычисление Lambda-Calculus). Пожалуйста, смотрите тесты здесь: https://github.com/nltk/nltk/blob/develop/nltk/test/ccg_semantics.doctest

Вероятностный синтаксический для CCG на горизонте: https://github.com/nltk/nltk/issues/1356

+1

Я благодарю вас за все это время. Спасибо. – ayyayyekokojambo

3

К сожалению, этого еще нет. Я тоже смотрел на это пространство. Казалось бы, в работах, упомянутых здесь, на их вики - Семантический-Синтаксический

Если вы заинтересованы в других языков/рамок, загляните в Semantic Parsing with Execution, Stanford или The University of Washington Semantic Parsing Framework.

Если вы хотите что-то построить с нуля, вы можете захотеть получить CCGBank или восстановить C & C Tools.

Большая часть вышесказанного находится на Java, но я видел attempts to parse the C&C Marked file in Python.

Мне лично хотелось бы, чтобы CCG приходил в Node.js.

+0

Спасибо за информацию. Я проверил страницу, где я могу загрузить CCGBank (сайт консорциума лингвистических данных, https://catalog.ldc.upenn.edu/ldc2005t13), но, похоже, мне будет поручено получить. –