Я прошел через PREDICATE и выражение LAMBDA в java, но я не понял, как связать логику DM Predicate с этим для формирования простого приложения Java java?как связать дискретную математику Predicate LOGIC с предикатом java java, чтобы сформировать простой ответ AI java Appln?
ответ
В логике предикатов дискретной математики мы можем создавать функции, которые могут обрабатывать естественный язык, делая его простым регулярным выражением. Я спрашиваю, как писать те же функции, используя java лямбда и предикат.
Пример - «Все друзья Джейн являются щедрыми» => Регулярное выражение «Для любого друга X: IF (X, jane) THEN щедрый (X)».
«» Джейн имеет по крайней мере один друг, который является щедрым '=> «Для некоторого X: друг (X, джейн) и щедрого (X)»
Я спрашиваю, как реализовать эти концепции в ЯВА?
Прежде всего, это не «регулярные выражения». Регулярное выражение нечто совсем иное:
Теперь можно выразить предикат в виде функции Java, оценивающей в true
или false
. И эти функции могут быть закодированы с использованием Java lambdas.
Однако то, что у вас здесь, в ваших примерах, - это скорее правила, чем простые предикаты. Для реализации правил и основанных на правилах вычетов (которые, как я полагаю, является вашей конечной целью) вам действительно нужен какой-то логический движок. Такая вещь может быть реализована на Java, но если вы используете такой язык, как Prolog, все это бесплатно.
Если вы ищете правила двигатели, реализованные в/для Java, вы могли бы начать с исходными двигателями открытыми перечисленных здесь:
Спасибо за ценную информацию. –
Вы должны быть более конкретными, чем это. Пожалуйста, объясните, что вы подразумеваете под «связыванием» и чего это должно достичь. Пожалуйста, объясните, что должно делать это (гипотетическое) приложение AI. –
Я новичок в этой теме, но я замечаю, что в логике предикатов дискретной математики мы можем создавать функции, которые могут обрабатывать естественный язык, делая его простым выражением. Я спрашиваю, как писать те же функции, используя java лямбда и предикат. Пример: «Все друзья Джейн являются щедрыми» => Регулярное выражение «Для любого друга X: IF (X, jane) THEN щедрый (X)», а в предложении «Джейн имеет хотя бы одного друга, который щедр '' может быть выражен следующим образом: Для некоторых X: друг (X, jane) И щедрый (X) я спрашиваю, как реализовать эту концепцию в JAVA? –