Described simply, the layers that I believe need to be added between the authority records and the patron’s natural language are, first, to program a user interface to interpret the patron’s natural language. The other is an ontology.
The ontology layer is what should be between the LCSH authority records and natural language interface in the optimal OPAC design. An ontology defines classes, sets, attributes, and relations of the domain – in this case the LC Subject Headings. Also, it includes synonyms of the members of the domain. Michael K. Bergman has written an extremely informative article entitled An Executive Intro to Ontologies.
The user interface would need to be programmed more intelligently in order to do more than perform the brute queries that are typical of an OPAC. There has been a lot of research on natural language processing in the computer science field using a number of programming languages. For example, the Jena Semantic Web Framework for Java provides tools and libraries to allow a software developer to design a search engine that can take a topic and find titles in the catalog database to answer the patron’s query.
The patron, on the other hand, doesn’t need to know all of this. All he needs to know is the same thing he knows when he uses a modern search engine – what is the question being asked. With my proposed design, our software will provide much more accurate results than a keyword based search engine. This is what both the patron and the librarian wants.