It's not obvious that the words are interactive - only that they can be deleted - which presumably means deleted from being an active part of the search rather than removed from the phrase. You could try using blue link-style text to the clickable words.
All the words are highlighted similarly which doesn't help indicate that the boolean logic has been detected. You could try highlighting terms in different colours and using colour to connect them to the boolean operator with the associated terms.
However, your example is very neatly worded. I think you are very quickly going to struggle to parse natural language input in an unambiguous way. Imagine the user types in something like:
Anyone with a car,van or truck and canoe or a yacht but not a
[Yay for the oxford comma!]
In all but the simplest cases, you run the risk of the user frequently having to inspect a structured form of the search in order to verify that their intent has been interpreted correctly. That might mean a lot of cognitive work somewhere on the spectrum between understanding your interpretation and rephrasing what they said originally, before then comparing the two. That might be too much work for the user to do often.
It's usually best to aim for clarity rather than require or attempt disambiguation - i.e. It's less confusing to get the user to enter their intent as a structured input in the first place - similar to Google Advanced search:
Having said all that, then depending on your scenario, perhaps there is a large amount of input that is not directly from the user, but coming in from a third party - in which case such an automated approach may well be useful with the option of a manual check. [An ambiguity score might be useful there.]
Note: We don't know much about the scenario in which this search is occurring so it's hard to be specific here.
See also: related question Natural language and autocompletion