I am working for a company which has an abundance of Word and Excel files festering away in the depths of their file server, probably like most other companies. The problem is that each of these files contains nuggets of information that at the very least would give some valuable insight into past performance. There is no 'offical' method available to the company to ever retrieve these files, never mind review them.
So, I'm preparing a report for the company which basically says, "You treat your files as information graveyards, and your folders like document coffins!" As you can imagine, I'm trying to find a more diplomatic way of saying so!
As an example, consider a traditional contract document between a company and its customer, written up in Word. It may contain a bunch of text, maybe some images. In short, it is mainly a brochure waffling on about how great the company is, and saying the same thing that the previous contract said, but the differences are the customer's details and the contract value. Ideally, we'd be able to interrogate such a document so that we can extract values such as these and use them in our aggregate financial reporting.
Now, you are probably thinking, "Just use a template file and populate it with the details that are different! Store your keys and their values in a database!" As software engineers, we intuitively know to suggest such things. What's not intuitive to the office staff is how to recognise that they are archiving these nuggets of information away for ever, and that an alternative exists.
- What do I call this problem?
- What methods or patterns exist to help decompose a natural language document (like the contract above) in order to determine which key-values are present - in other words, how to determine the scope of the application domain?