Archive for January, 2008

Software should cite its sources

Monday, January 14th, 2008

The key idea: When a program gives some kind of result, it should be able to say how it came up with that answer - what rules did it apply, in what order, and why. If a reference was consulted, which one?

Basically, software should be held to the same standards we have for people, especially in the field of law. Here’s what that might look like. This is, again, the “development” interface… an end-user would see something much fancier:

>> Abbreviation.abbreviate 'Chief Justice'
=> "C.J."
>> Abbreviation.rule
=> "Appendix 3"

It’s a start.

As far as the technical implementation, I’ve been considering rule-based systems, prolog-based systems and object-oriented decomposition.

Creating intelligent legal writing applications

Saturday, January 12th, 2008

screen-717420.pngI’m intrigued by the idea of applying artificial intelligence to law and legal writing. The ALWD Citation Manual is an amazing document that makes a great starting point for developing interesting applications: it’s highly organized and presents the information in a structured taxonomy of “rules”.I began to wonder what it’d take to write tools that’d help create legal citations as well as validate them? And so I’ve started a Ruby on Rails app that handles just one small part of the puzzle: correctly abbreviating words in a citation. Here’s the simple web app managing the database of abbreviations. You might recognize this as the start of the table at Appendix 3(E).And I’ve created the programming for applying the rules of Appendix 3(E):

>> Abbreviation.abbreviate 'Advance'
=> "Adv."
>> Abbreviation.abbreviate 'Advanced'
=> "Adv."
>> Abbreviation.abbreviate 'Advancing'
=> "Advancing"

So, this has been pretty interesting. Now I need to handle plurals well. This, though, means I’ll have to be able to identify plurals… but I have a couple of good ideas about how to do this.