As a non-English speaker dabbling in Natural Language Processing, I'm trying to generate meaningful Yes/No-question based in hotel and restaurant reviews. This includes 2 types of "exists" questions: "Is/Are there ... at KFC?" and "Does KFC have ...?" I can see that in some case they cannot be used interchangeably. for example, here works both
- Are there parking lots at KFC?
- Does KFC have parking lots?
However, in the next example there sounds something off with the "Does ... have ..." question:
- Is there a good experience at KFC?
- Does KFC have a good experience?
That clearly has different meanings, and I understand that my 2 types of "exists" questions are semantically equal, in general.
Now I was trying to figure out how I can decide which type of question I can form depending on the "exits" noun (here, "parking lots", "experience"). Intuitively, I thought I can do this be check if the noun is an "abstract entity" or a "physical entity". WordNet gives me this information. Thus, with "experience" being an abstract entity, I can say that "Does KFC has a good experience?" does not work.
However, I now noticed that words like "queue" and "service" are also considered abstract entities, but to me the following questions sounds quite alright:
- Does KFC have a queue?
- Does KFC have a good service?
Do these question only sound correct or are they really correct (in the most picky sense). Because if so, simply looking whether the noun is an abstract or physical entity won't do. In this case, how else can I (programmatically) decide when "Is/Are there ...?" and "Do/Does ... have ...?" can be used interchangeably.