Git Product home page Git Product logo

scone's Introduction

Scone is a knowledge representation and reasoning system – a knowledge-base system or KBS – that has been developed by Scott Fahlman’s research group in the Language Technologies Institute of Carnegie Mellon University. Scone, by itself, is not a complete AI or decision-making system, and does not aspire to be; rather, it is a software component – a sort of smart active memory system – that is designed to be used in a wide range of software applications, both in AI and in other areas. Scone deals just with symbolic knowledge. Things like visualization, motor memory, and memory for sound sequences are also important for human-like intelligence, but we believe that those will have specialized representations of their own, linked in various ways to the symbolic memory.

Scone occupies a different part of the design space from other knowledge-base systems currently in use – particularly systems such as OWL that are based on First-Order Logic or Description Logic. Our goal in developing Scone has been to support common-sense reasoning and natural-language understanding, not theorem-proving and logic puzzles. Therefore, we place primary emphasis on Scone's expressiveness, ease of use, and scalability.

In addition to making Scone available to a larger community, and building up the necessary supporting machinery, our goals include adding more episodic representation and reasoning capabilities to Scone. By "episodic", we mean the ability to represent and reason about events, actions, sequences, plans, goals, time durations, processes and rates, and so on. In addition, we are working on knowledge-based natural language understanding based on Scone.

The Scone release includes the Scone engine, a large program written in Common Lisp; a set of "core" knowledge base files that are useful in most common-sense applications; and the Scone User's Guide, a programmer-level manual on Scone. Work on comprehensive tutorial book on Scone (primarily packaged as an electronic book with lots of cross references) is under way, but not yet available. Scone is under active development, and we anticipate that there will be a lot of changes to the system over the next few months.

The core capabilities of Scone have been running for several years, and have been used in a number of projects at CMU and by a few outside collaborators. It has always been our intention to release Scone as an open-source resource for the research community and other potential users. Our research group is very small at present, and we are all very busy on our ongoing research efforts on Scone and related applications (plus the never-ending quest to keep the project funded). So we welcome comments, queries, contributions, suggestions, and even requests for new functionality, but we cannot promise anything in the way of timely support for external users and potential contributors. So for now, Scone is for the adventurous and for those who can answer some of their own questions by looking at our code and assorted documents and papers.

For additional information about Scone, please see our Scone project home page. Additional information on our overall goals and approach, and some assorted other musings about AI, are on Scott Fahlman's Knowledge Nuggets blog.

scone's People

Contributors

sfahlman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scone's Issues

noun compounds

In the paper

A. Tribble and S. E. Fahlman, “Resolving Noun Compounds with Multi-Use Domain Knowledge.”

rules for fill roles of frames are mentined, are they in this repo? where?

scone becomes unresponsive with some new-complete-split commands from the manual, not with others

Hi! First of all, thanks for making scone available as open source, and for all the interesting articles, blog posts, etc, related to scone and KRR in general.

I think I may have run into a bug. I was typing command examples from the manual, when at some point scone became unresponsive and I had to do ctrl-c. I did it twice to confirm. The culprit is (new-complete-split {vertebrate} '({fish} {amphibian} {reptile} {bird} {mammal}) , but other new-complete-split examples work just fine. There's also some extra anomalous behavior: (type-node? {vetebrate}) gives NIL, but after doing (show-ontology) , it gives T

Below there's a summary of my interaction with scone , without the verbose output.

Thanks in advance!

$ cat ./Release-Notes.txt | grep version
This (1.0.0) is the first version released to external users via
GitHub.  Older versions are still available, but will be migrated to
version -- a cut-and-paste error, now fixed.

* $ sbcl --version
SBCL 2.0.1.debian

$ sbcl

* (load-kb "core")

*  (new-indv {Clyde} {elephant})  
{Clyde}
* (new-is-a {Clyde} {elephant})
{Is-A 0-2600}
* (new-indv {Ernie} {elephant})
{Ernie}
* (new-relation {hates} :a-inst-of {animal} :b-inst-of {animal})
{hates}
* (new-statement {Clyde} {hates} {Ernie})
{hates 0-2606}
* (new-split '({bird} {reptile} {mammal}))
{Split 0-2607}
* (new-complete-split {person} '({male} {female}))
{C-Split 0-2608}
* (new-complete-split {person} '({child} {adolescent} {adult}))
{adolescent} is unknown.  Defining it as a type under {undefined thing}.
{C-Split 0-2609}
* (new-complete-split {vertebrate} '({fish} {amphibian} {reptile} {bird} {mammal})
^C
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {1000560083}>:
  Interactive interrupt at #x7F90586F6AFF.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Return from SB-UNIX:SIGINT.
  1: [ABORT   ] Exit debugger, returning to top level.

("bogus stack frame")
0] 1
* (type-node? {vetebrate})
NIL
* (type-node? {fish})
T
* (node? {vertebrate})
T
* (show-ontology)

[...]

* (type-node? {vertebrate})
T
* (node? {vertebrate})
T
* (new-split '({bird} {reptile} {mammal}))
{Split 0-2611}
* (new-complete-split {person} '({child} {adolescent} {adult}))
{C-Split 0-2612}
* (new-complete-split {vertebrate} '({fish} {amphibian} {reptile} {bird} {mammal})
^C
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {1000560083}>:
  Interactive interrupt at #x7F90586F6AFF.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Return from SB-UNIX:SIGINT.
  1: [ABORT   ] Exit debugger, returning to top level.

("bogus stack frame")
0] 1
* 

(lookup-element ...) may return NIL?

  (let ((this-element (lookup-element iname)))
    (when (eq (parent-wire this-element) *undefined-thing*)

Can (LOOKUP-ELEMENT iname) return NIL? If yes, then the next test above will run into trouble: what would be (PARENT-WIRE NIL) ?

Appears several times in the file.

project status?

What is the current project status? What are the main future goals ?

:external-format :utf8

This is actually :utf-8 in other implementations. UTF-8 is also the usual name, not UTF8.

Plus: if one specifies :utf-8 as an external format, then one might need to specify the :element-type, because the default element-type might not be able to represent Unicode characters.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.