Creating statements from a raw text Background
I have a massive text block of poorly written statements, some facts, some opinions. It's all scraped from various public internet resources and all in english.
I am now using nltk in python to try to work out some basic statements from this massive text block.
My goal is not to capture all statements, false positives are not too bad either. I would simply like to get a few probably true and simple assertions from this text block.
Examples

Bob is married to Lisa since 1983.
Lisa's cat Snowball died two years ago.
Bob and Lisa has a 30 year old son named George.

From these simple sentences, I would like to parse out some simple facts, like:
&quot;Bob is married&quot;, &quot;Lisa is married&quot;, &quot;George is Lisa's son&quot;, &quot;George is Bobs son&quot;, &quot;Snowball is a cat&quot;
It does not need to be exactly this.
Actual question
What is this kind of processing called? (Except for that it is a subcategory of Natural Language Processing.)
What are the simpler and the harder approaches to this problem?
How well has this problem been solved by public and proprietary algorithms?
You may want to read about the task of Relation Extraction. The most common scenario is to extract triplets (entity1, relation, entity2). Usually entity1 and entity2 are given and the list of possible relations is known. Common methods use a classifier, others can be rule-based.

With your example from the sentence "Bob is married to Lisa since 1983." the system can extract (Bob, is_married, Lisa)

A variant is Open Information Extraction which tries to extract relations but with no information specified.

There exist multiple projects on the subject such as DeepDive, IEPY or openie-standalone.

This this presentation or this review give an overview of the task.