Отображения WordNet и prettyStrings в OpenCyc - получение информации от GAF

Мне просто интересно, как я могу получить сопоставления wordnet и prettyString из Java-API openCyc.

Например, для #$AdultFemaleHuman, Я хочу получить:

prettyString: "женщины", "взрослые женщины", "взрослые женщины", "взрослые женщины", "взрослые женщины", "дамы", "леди", "младенцы", "детка", "дамы", "дама"

отображение wordnet: "synset-woman-noun-1"

Но я не могу найти способ получить его из API Java. Буду очень признателен, если кто-нибудь сможет помочь. Или мне нужно перейти на ResearchCyc, чтобы сделать это?

1 ответ

API-интерфейсы одинаковы для всех платформ. Некоторые вызовы API могут возвращать разные значения в зависимости от содержимого базы знаний и типа Cyc (OpenCyc vs ResearchCyc).

В вашем случае OpenCyc имеет контент.

Скоро мы выпустим новый OpenCyc, который будет работать с нашими последними API Java. Сами API можно найти здесь: http://dev.cyc.com/ Поскольку у вас есть OpenCyc, работающий с более старой версией Java API, я приведу пример, использующий это, но, пожалуйста, обновите его до новых API, когда они будут доступны, так как мы не будем поддерживать старые API после выпуска OpenCyc.

CycAccess cyc = <SET YOUR="" CYC="" ACCESS="">;
CycConstant prettyStr = cyc.getLookupTool().find("prettyString");
CycConstant adultFem = cyc.getLookupTool().find("UnixOS");
List<Object> strings = cyc.getLookupTool().getArg2s(prettyStr, adultFem); 
System.out.println("Pretty strings: " + strings);

В новых API вы должны сделать следующее:

KBPredicate prettyStr = KBPredicateImpl.get("prettyString");
KBCollection col = KBCollectionImpl.get("UnixOS");
Collection<String> strs = col.<String>getValues(prettyStr, 1, 2, ContextImpl.get("EnglishMt"));
System.out.println("Strings: " + strs);

Строки: [операционная система UNIX]

Пожалуйста, не стесняйтесь использовать http://dev.cyc.com/ для размещения вопросов.

Другие вопросы по тегам