I was trying to come up with a system that would evaluate bylaws for an organization as to determine their underlying logic.

I think a first-order predicate system would work for representing the rules, which could be translated from the text via part-of-speech tagging and other NLP techniques.

Is there a systematic way to interpret the first-order logic rules as a whole, or some type of ML architecture that would work as a second layer to find similarities between the elements.

For example,

List of fun activities:

  • golf
  • coffee break
  • pizza


  1. On Friday, we play golf

  2. On Friday or Saturday, we take a quick coffee break, and if it's Saturday, we get pizza

Conclusion: our group has fun on weekends

It sounds far fetched, but I'm curious if it's possible. I also realize that perhaps more first-order logic would be a better fit for driving the conclusions of the second layer.


migrated from stats.stackexchange.com Jun 15 '12 at 15:22

This question came from our site for people interested in statistics, machine learning, data analysis, data mining, and data visualization.

  • 3
    $\begingroup$ PROLOG has its roots in first order logic. Articles on the theoretical underpinnings of the language might be useful. $\endgroup$ – Kramii Jun 15 '12 at 16:18
  • $\begingroup$ @Kramii Yes, that's been on my "todo" list for quite some time, great suggestion. $\endgroup$ – jonsca Jun 16 '12 at 12:16
  • $\begingroup$ Predicates are just one step. Do you mean we play golf coming Friday, or every Friday, or every Friday except on holidays, or every Friday except when we have something more important to do, or ... Who are we, the same set of people each time? What if someone is ill? Etc. etc. etc. $\endgroup$ – reinierpost Aug 15 '12 at 7:41
  • 1
    $\begingroup$ Some 20 years ago I heard a lecture from someone at Tilburg University who was working on this problem in a legal context. I think if you do a search for 'expert system' you'll find plenty of relevant literature. $\endgroup$ – reinierpost Aug 15 '12 at 7:48
  • $\begingroup$ @reinierpost I always thought of expert systems as a way to put domain-specific knowledge into a system like this. I think that's a start, but I'm also looking for a way to do this without a lot of input from the "outside", I think. $\endgroup$ – jonsca Sep 8 '12 at 7:52

The trick here is that this works well provided that your rules can be expressed in predicate form. Is golf still fun if it's raining, or if you play poorly?

If you need something more flexible, you might want to look at some statistical/Baysean tools. There, you'd say that golf had a high probability of being fun, not that it was always fun all the time ever.

  • $\begingroup$ Do you know of any specific statistical/Bayesian tools, offhand? $\endgroup$ – jonsca Aug 15 '12 at 4:07
  • $\begingroup$ I accepted the answer, but as in the above comment, any further info would be appreciated! $\endgroup$ – jonsca Sep 8 '12 at 7:49
  • $\begingroup$ I don't know too much detail about probabilistic reasoning, you probably want to do some reading on "Baysean Inference", but I don't know of packages offhand that provide that capability. $\endgroup$ – jmite Sep 9 '12 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.