believe me if I say that I have read basically all the threads in this website regarding this subject. A lot of them have a similar title, but the problem is somehow different.
Small context: just started studying TensorFlow, and I am new to the machine learning world, too...so sorry for any stupid thing I will write in this post. I am studying the foundation of this subject, of course, but I would like to know if at the end I will be able to solve a specific scenario, and to obtain a good direction to follow.
Scenario: I have a lot of documents (paper documents converted to PDFs/images) that have the same structure...a template with few user-filled content. Let's give an example (variables in bold):
Police Department of New York [...] The driver John Doe, born on 2019-04-03, owner of a some_car_model_here
with the driver license XY123ZZ" etc...
So basically I need to extract the entities name, the birthdate, the car model, the driver license and so on. Additionally, there can be different names and different dates on the document, so the context is important. Example: I only need the name that comes after the words "The driver".
What I am doing now:
- Extract the content of the document (in blocks) with Google Vision
- Checking the first sentences of the document to understand which set of regex to apply (in this case, I should apply the "Police Department" of "New York" set of regexes)
- Apply the regexes order to extract entities from this document
What I want to do: I was hoping to have a smartest way that increases the chance to correctly extract what I need, if I periodically add tons of documents to a hypothetical training set. This is why I was thinking about "machine learning", and this is why I have identified TensorFlow as a possible library for it.
I have already seen that NLTK could be an option, but at the end (correct me if I am wrong) I should write my own rules, probably regex again, to extract some custom content. I have read also about NER, but hardly thinking how it can help.
So basically what I am asking is: can I perform this task with Tensorflow (or a "machine learning"-related library)? Is there a specific subject/branch to look for? Do you have any other suggestion (if I am on the wrong track)?