Analogical Reasoning Tool Design, Easy Enough for Lawyers

My ABA Innovation Fellowship project, through the ABA Center for Innovation, is docassemble-openlcbr. It is an open source software package that extends the capabilities of docassemble, a leading open source legal expert system tool.*

(How leading? Of the top 20 web tools announced by the ABA this week, one is docassemble, and two more were built using docassemble. )

Docassemble-openlcbr allows docassemble interview developers to use another open source tool, OpenLCBR, to automate legal reasoning about subjective questions.

For a basic understanding of why that’s important, and a link to a live demo, check out this blog post.

One of the goals of my project was to make openlcbr something that lawyers could play with. I can talk until I’m blue in the face about how useful openlcbr might be, but until people can actually play with it, we will never know how useful it really is.

Draw the F*(%#$ Owl

As a part of the training for the ABA Innovation Fellowship, the fellows received an introduction to design thinking and improvement kata, both of which suggest prototyping early, and often. Clio, the Canadian cloud-based legal practice management software company that has generously sponsored my fellowship project, has a different name for the same idea: “draw the [expletive] owl.” Click here for the NSFW meme that idea comes from.

So part of the fellowship project is to get lawyers playing with OpenLCBR, so that people can start drawing some owls. But playing is supposed to be fun and easy, and building an OpenLCBR reasoner is… well, here, this is what one looks like.

Image for post
Image for post
What it looks like if you are building an OpenLCBR database in YAML.

Now don’t get me wrong. That looks like fun to me. But I’m weird.

The Goal: User-Friendly Analogical Reasoner Design Tool

So one of my objectives for this project was to create a user-friendly tool for lawyers and other non-technical users to generate a OpenLCBR reasoner that can be used with docassemble-openlcbr.

Before OpenLCBR can do its magic, an expert needs to set out the factors, issues, and cases relevant to the legal issue. For details on what those are, and how they are used, check out this deep-dive blog post about the IBP algorithm used by OpenLCBR.

So I built a reasoner-building tool in docassemble, and included it in the docassemble-openlcbr package. The reasoner-building tool treats the YAML file above as the document to be assembled and takes you through a user-friendly interview for generating that file. You can build a new reasoner from scratch, one question at a time, or you can edit an existing one.

Image for post
Image for post
An image of the screen in the reasoner builder for editing factors relevant to the legal issue being predicted.

The reasoner builder is effectively a small application, built entirely in docassemble. It uses a number of powerful features of docassemble, including review screens that allow the user to review a list of information they have provided, and make changes to that list later in the interview.

Image for post
Image for post

Can I Just Try It, Already?

Yes! I’m happy to say that this builder tool is now included in the docassemble-openlcbr package, and you can try a live demo of it here.

How Can I Try Building and Using a Reasoner?

I’m working on documentation and tutorials that will eventually be at the github page, but if you’re curious what it would take to get yourself drawing some owls, here are the broad strokes.

  1. Get a docassemble server. The easy way is to get a hosted docassemble server from Community.Lawyer for a very reasonable price. (Community.Lawyer was also recognized in the top 20!)
  2. Install docassemble-openlcbr package in docassemble’s package management by typing in the github address.
  3. Run the reasoner builder interview, and download your new reasoner file.
  4. Upload your reasoner file to the “sources” section of your docassemble server.
  5. Create an interview using the demo interview as a template that defines a test case and uses your new reasoner to predict the result.
Image for post
Image for post
The interface for editing an openlcbr issue tree.

Is it really that easy?

No. Not really. Between steps 2 and 3 is where all the “legal knowledge engineer” (h/t Richard Susskind) stuff happens. This tool gives you an easy way to write down the analogical tool you have designed. But it does not teach you the law, or how to design an analogical reasoner well.

But don’t worry. Help is on the way.

My plan for the remainder of the fellowship project is to expand the demonstration integration with Clio, build a new demonstration reasoner from scratch, build a demonstration interview that uses that reasoner, and generate some tutorials and instructions based off that experience.

Stay tuned.


Building this tool would have been absolutely impossible without the support of Jonathan Pyle and the docassemble community. Thanks, all.

To stay in touch, follow me here, or @RoundTableLaw on Twitter. And if you’d like to help build any of these materials, or if you need help using the tool, join the #analogyproject channel on the docassemble slack.

Written by

Lawyer, Round Table Law; 2018/2019 ABA Innovation Fellow; Sessional Instructor, University of Alberta; Computational Law (Symbolic AI) Researcher, CCLaw @ SMU

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store