summary refs log tree commit diff stats
path: root/docs/verb_frames.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/verb_frames.md')
-rw-r--r--docs/verb_frames.md100
1 files changed, 100 insertions, 0 deletions
diff --git a/docs/verb_frames.md b/docs/verb_frames.md new file mode 100644 index 0000000..64f3f7e --- /dev/null +++ b/docs/verb_frames.md
@@ -0,0 +1,100 @@
1# Verb frames
2
3Verbly's verb frame data comes from VerbNet, a database compiled by the University of Colorado Boulder Department of Linguistics. More information, including a download for v3.2, the version used in the canonical verbly datafile, can be found on [Martha Palmer's website](http://verbs.colorado.edu/~mpalmer/projects/verbnet.html).
4
5The downloadable data for VerbNet v3.2 has a lot of quirks and inadequacies that make it unsuitable for natural language generation. In particular, it makes no distinction between noun phrases and adjective phrases, so figuring out how to fill in that particular blank is in most cases impossible. In order to make the data more usable, I have gone through the data and sanitized it in a lot of places. A patch file, applicable to a clean VerbNet v3.2 download, [can be found in the repository](https://code.fourisland.com/verbly/tree/generator/vn-3.2.diff). This patch will likely continue to be updated as verbly is developed.
6
7## Syntactic Restrictions
8The data from VerbNet allows for a set of syntactic restrictions to follow either AND logic or OR logic; however, OR logic is never used, so we shall be ignoring it in our implementation. Additionally, syntactic restrictions are listed as being additive or subtractive; however, each distinct syntactic restriction always appears positively or always appears negatively. Therefore, we can remove the additive/subtractive modifier from our implementation, and change the meaning of the subtractive restrictions to mean the negation of what they "should" mean. These syntactic restrictions frequently indicate that the noun phrase is not actually a noun phrase and should be treated differently, so these are important to watch out for.
9
10**np_ppart**
11As far as I can tell, it has no purpose. It always appears before an ADJP or ADJ though.
12
13**be_sc_ing, ac_ing, sc_ing, np_omit_ing**
14Used for gerund phrases.
15
16**oc_ing**
17Used for gerund phrases. Always preceded by a noun or an objective pronoun; most of the time, the two are separated by a preposition, but not always.
18
19**poss_ing, possing, pos_ing**
20Used for a possessive (whether it be a noun with an apostrophe s or a possessive pronoun) followed by a gerund phrase.
21
22**acc_ing**
23Used for a noun (or an objective pronoun) followed by a participle phrase.
24
25**genitive**
26Used to indicate that the noun phrase should be possessive.
27
28**that_comp**
29Used for the word "that" followed by an independent clause in the simple past perfect tense.
30
31**tensed_that**
32Always appears negatively and alongside a that_comp. Use unknown.
33
34**wh_comp**
35Used for a phrase starting with the word "whether." The data using this restriction is a bit muddy, so this is not a perfect description. It will likely be cleaned up in a future release.
36
37**what_extract**
38Used for a phrase starting with the word "what." The data using this restriction is a bit muddy, so this is not a perfect description. It will likely be cleaned up in a future release.
39
40**how_extract**
41Used for a phrase starting with the word "how." The data using this restriction is a bit muddy, so this is not a perfect description. It will likely be cleaned up in a future release.
42
43**sc_to_inf, ac_to_inf, vc_to_inf, rs_to_inf**
44Used for infinitive phrases.
45
46**oc_to_inf**
47Used for infinitive phrases. Always immediately preceded by a noun or an objective pronoun.
48
49**oc_bare_inf**
50Used for infinitive phrases with bare infinitives. Always immediately preceded by a noun or an objective pronoun.
51
52**wh_inf**
53Used for the word "how" (or sometimes, "when" or "whether"), followed by an infinitive phrase. Which starting word is used is frame-dependent. The data using this restriction is a bit muddy, so this is not a perfect description. It will likely be cleaned up in a future release.
54
55**what_inf**
56Used for the word "what" followed by an infinitive phrase. One frame in empathize-88.2 erroneously uses it to indicate a phrase of the form "what they want." This will likely be cleaned up in a future release.
57
58**wheth_inf**
59Used for the word "whether" followed by an infinitive phrase.
60
61**for_comp**
62Used to indicate the following format: the word "for", followed by a noun or an objective pronoun, followed by an infinitive phrase.
63
64**quotation**
65Used to indicate a quotation.
66
67**plural**
68Used to indicate that the noun phrase should be plural.
69
70**definite**
71Always used negatively to indicate that a noun phrase should not be definite.
72
73**adv_loc**
74Used to indicate either the word "here" or "there." In one case (throw-17.1), the word "away" is acceptable too. This will likely be cleaned up in a future release.
75
76**refl**
77Used to indicate the usage of a reflexive pronoun.
78
79**adjp**
80Used to indicate an adjective.
81
82**sentential**
83Use unknown.
84
85## Selectional Restrictions
86Selectional restrictions are used to semantically filter nouns and prepositions. The namespaces for nouns and prepositions are separate.
87
88Selectional restrictions for nouns are usually found in the role descriptions for each verb group; however they can rarely also be found in a specific NP element. Usually, subgroups inherit their roles from their parents, and NP elements inherit their selectional restrictions from the role it is assigned. When an NP element defines selectional restriction despite the role the element is assigned already having restrictions, or when a role is given restrictions in a subgroup when it already has restrictions in the parent, the parent restrictions are ignored and the child's restrictions are used.
89
90In the original data, restrictions for nouns and roles can be defined using AND logic or OR logic. In a few rare cases, two AND clauses are ORed together. Additionally, restrictions can be either positive or negative. In our implementation, we have flattened the selectional restriction trees in order to make them easier to query and parse. Selectional restrictions are implemented as sets of positive restrictions ORed together. In order to do this, some changes had to be made to the VerbNet data. Specifically, 7 new restrictions were created to represent complex cases in the original data, which were either AND clauses or negative restrictions. The new restrictions are:
91
92- **concrete_inanimate**: concrete && !animate
93- **group**: concrete && plural
94- **inanimate**: !animate
95- **non_region_location**: location && !region
96- **non_solid_food**: comestible && !solid
97- **slinky**: nonrigid && elongated
98- **solid_food**: comestible && solid
99
100For prepositions, selectional restrictions are always positive. Usually at most one restriction is used, but in the rare event that more are present (6 cases out of 146), they are always applied using OR logic. The restrictions used for prepositions are the names of the preposition groups defined in [prepositions.txt](https://code.fourisland.com/verbly/tree/generator/prepositions.txt), which makes querying for applicable prepositions easy.