cu-clear / verbnet Goto Github PK
View Code? Open in Web Editor NEWUniversity of Colorado VerbNet
University of Colorado VerbNet
Hi,
In the VerbNet_Guidelines.pdf document, the VerbNet Hierarchy table (page 6) shows column "Verb Type", going up to class 109. Do you have Verb Types (names) for the newer classes?
I also notice that reciprocate-112 and respond-113 are included in the newer classes. But it seems there is a possibility that these belong under Communication (class 37). Can you clarify?
Thanks
Colin Goldberg
I am attempting to map from propbank roles to verbnet 3.4 roles using the mappings in the propbank frame files. This almost works; but one obstacle I've run up against is that, the propbank frame files contain role mappings to what I believe is verbnet 3.2; and since some class IDs have changed slightly (e.g. help-72 to help-72.1) these mappings break in a nontrivial number of cases.
My question: is there a role mapping I can compose with the role mappings found in the propbank frame files that will allow me to map from propbank roles to verbnet 3.4? And if so, is there any additional mapping I would need to do to use GL semantics rather than the standard verbnet 3.4—e.g. do any of the thematic roles differ for the standard 3.4 semantics and the GL variant?
To be clear, I recognize that I can construct this mapping at the roleset level using the grouping
information in verbnet. What I'm less sure about is the role-level mappings—specifically, whether there are cases where a thematic role may have changed names from 3.2 to 3.4 (and even if they haven't, whether there is actually a foolproof programmatic way of reconstructing mapping given the grouping information in verbnet).
I was hoping that this script might do this, but spot checking examples like the "help" case above, it does not appear to. I was also looking into using semlink2. But as far as I can tell, only the verbnet-framenet mappings are available there. In one of the tools, SemLink.py
, there is mention of a vn2pb.json
file, but that does not appear to be available in the repo.)
Inquire-37.1.2 includes a frame (8.1) with an example:
He asked him what to do.
https://github.com/cu-clear/verbnet/blob/master/vn-gl/inquire-37.1.2.xml#L330
Where He is the Agent and him is the Recipient.
However, the semantic predicates for this frame (and others within this class) appear to suggest that He is transferring information to him, instead of the other way around. That is, the person asking the question already knows the answer. I'm not sure what the proper fix is, so just bringing this up for discussion.
There's no attack class!!!!
Are we using the predicate statistics functionality? Can we remove it?
Hi,
I noticed that some classes in VerbNet have multiple selectional restrictions on a role with a logical AND, which I'm guessing means both restrictions are required for the role. However, some of these confusing to me. For example, withdraw-82
has Agent [ +animate & +organization ]
but I'm not sure how the agent can be both animate and an organization. Same goes for pay-68
, enforce-63
. Could you please clarify how to interpret these annotations?
Also, I'm wondering if the correct interpretation of a logical OR between restrictions is that of an XOR operation. That only one of them can be true for an instance?
Thanks!
Thanks for the great work!
It seems that the latest version of WordNet is using a 5-part sense id:
https://wordnet.princeton.edu/documentation/senseidx5wn
I found the key used in verbnet only contains 3 parts. Is it safe to just ignoring the last 2 parts to get the correct key mapping?
(verbnet) raphy@pc:~/ConceptNet/Verbnet/verbnet/api$ python
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import verbnet
>>> verbnet.VerbNetParser(version="3.4")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 57, in __init__
vc = VerbClass(parse.VNCLASS, version)
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 250, in __init__
self.subclasses = self._subclass()
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 337, in _subclass
return [VerbClass(sub_soup, self.version) for sub_soup in \
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 337, in <listcomp>
return [VerbClass(sub_soup, self.version) for sub_soup in \
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 250, in __init__
self.subclasses = self._subclass()
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 337, in _subclass
return [VerbClass(sub_soup, self.version) for sub_soup in \
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 337, in <listcomp>
return [VerbClass(sub_soup, self.version) for sub_soup in \
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 250, in __init__
self.subclasses = self._subclass()
File "/home/raphy/ConceptNet/Verbnet/verbnet/api/verbnet.py", line 335, in _subclass
if len(subclasses_soup[0].text) < 1:
IndexError: list index out of range
>>>
This is the config.txt
:
(verbnet) raphy@pc:~/ConceptNet/Verbnet/verbnet/api$ cat config.txt
//Set the path to where your VerbNet files live
VERBNET_PATH_3.4 = ../verbnet3.4
//VERBNET_PATH_3.3 = path/to/verbnet_version3.3
FRAMENET_MAPPING_PATH = ./verbnet3.4/
How to solve it?
Hi,
im very glad to see that there is an API for VerbNet in Python. Im not very familiar with VerbNet api. So I will very much appreciate to ask for some documentation to see what we can do without reverse engineering
Best
Amir
Not sure if this is by design with the new version, or accidental (since this omission means there are also more missing verbs, such as "arise", "dawn", and "erupt").
This is also reflected in the new UVI.
The VerbNet 3.4 release appears to contain several references (in the <MEMBER wn="...">
fields) to WordNet sense keys that do not seem to exist in WordNet 3.1. I may be missing something here, though, so someone should verify this if possible. I searched for these sense keys in the offline WordNet database and only found remnants in e.g. sentidx.verb
, but not in the actual database or index files. I also searched for some of them in the online WordNet database and came up empty. These keys may have been removed in an update of WordNet.
The VerbNet 3.4 file names and the missing WordNet 3.1 sense keys in question are:
act-114.xml: engage_in%2:41:06
amuse-31.1.xml: demolish%2:37:00
break_down-45.8.xml: fall_apart%2:30:00
comprehend-87.2.xml: undertand%2:31:02
distinguish-23.5.xml: distingiush%2:31:00
dress-41.1.1.xml: bathe%2:29:01, clothe%2:29:00::
focus-87.1.xml: concentrate%2:31:01
forbid-64.4.xml: keep%2:41:00, inhibit%2:30:00, restrain%2:37:00
inquire-37.1.2.xml: ask%2:32:00
limit-76.xml: restrain%2:30:00
prosecute-33.2.xml: wn%2:32:01
stop-55.4.xml: deactive%2:30:00
transfer_mesg-37.1.1.xml: justify%2:32:02, write%2:32:01
trifle-105.3.xml: toy%2:52:00
In the following document(see pages 12-16), the verb classes and their verb types are properly documented. The verb types are a vital element of top-level classes of VN. Unfortunately, in XML files, the verb types of verb classes are not considered:
https://verbs.colorado.edu/verb-index/VerbNet_Guidelines.pdf
Could someone clarify the use of antonyms, opposites or converses inside a member class, or a sub-class?
For example, psych-verbs-31.2
{admire, adore, ...} + {detest, distrust, ...}
Over the last few releases some new thematic roles have been added
In the VerbNet Guidelines it shows the thematic role hierarchy - but doesnt include these new roles.
How do these fit into the hierarchy?
Initial_State
Axis
Precondition
Reflexive
Context
Affector
Sometimes not having lxml installed causes the soup parser to break??
Hi,
As one who is fairly new to NLP, I have looked for, but have been unable to find a beginner's guide to VerbNet and its associated initiatives. Does anything like this exist? Even as I see that a lot (most?) of the Verbnet work was done in earlier years, I am encouraged that there is current work in evidence in this github repo. I would very much appreciate help in getting at least a basic understanding.
Can you help me?
Colin Goldberg
Update the VerbNet API so that we can automate moving, deleting, and inserting members, frames, etc into the XML.
class VerbClass:
def add_member(member object, or member_xml):
Validate that the member_xml is of a valid format, or that the member object has all necessary
attributes and then add it to the verbclass.members() this can later be pretty printed to the
respective file and saved
def remove_member(member object, or member_name):
Remove the member object, or member with a matching name in this class
so that the class XML can be pretty printed and no longer include that
Just wondering. The official website lists that class, but it is missing from both this repo and the official download.
Also missing: play-114
(The download is missing 51.9.1 and 51.9.2 as well, but you have them here.)
'ascertain' is listed twice in discover-84
'paste' is listed twice in tape-22.4
And for what it's worth, there are a lot of non-unique frames (that is, the same class may list two frames that involve the same POS, thematic role, and prepositions.)
Write a fancy 'contains' method that tells whether semantic frame contains predicates
Used to check if a frame contains the necessary predicates to match a new GL semantics - if it does, we can replace it automatically. If not, we have to look at it further.
class SemanticFrame:
def contains([predicate nodes]/SemanticFrame object):
..
if type(input) == list:
then its predicate nodes and check for all of them
elif type(input) == SemanticFrame:
iterate through it's predicate nodes and check all of them!
return True/False
https://uvi.colorado.edu/verbnet/conduct-111.1
Example
The White House held a state dinner for the Chinese president.
the parse tree is wrong, the PP was attached to dinner but the example is about the NP v NP PP
frame. The dependency trees are not in the XML right? Are they generated on the fly?
The online version uvi.colorado.edu has stopped working properly
1/ It seems a recent update to the UVI has stopped some features working.
When I go into a verb - and click on propbank - i can only display details of first roleset
When I click on the 2nd or 3rd role set it doesnt respond
2/ Also sometimes I the higher level menu to see framenet/propbank/ontonotes doesnt respond
3/ The contact us form returns an error!
(hence why I am posting here)
This is a very useful tool as a quick reference - please fix - and keep up the good work.
I receive the following error when attempting to load VerbNet 3.4 using verbnet.VerbNetParser(version="3.4")
.
328 """Get all the thematic roles for a verb class ans their selectional
329 restrictions."""
--> 330 return [ThematicRole(them_soup, self.version) for them_soup in self.soup.THEMROLES.find_all("THEMROLE")]
331
332 def _subclass(self):
AttributeError: 'NoneType' object has no attribute 'find_all'
Analogous errors do not arise when attempting to load v3.2 and v3.3 using verbnet.VerbNetParser(version="3.2")
and verbnet.VerbNetParser(version="3.3")
, respectively.
https://uvi.colorado.edu/verbnet/vehicle_path-51.4.3
The example for the second 'NP V NP' is "Sally sailed through the ocean". Which is obviously not NP V NP. In my fork, I've corrected this to "Sally sailed the seven seas", though this won't update the dependency parse (I'm not sure where that is in the XML, if anyway).
But it is the case that these verbs allow NP V PP, so perhaps that should be added.
Why is there is a lack of frames that sound like commands, i.e. Show me all the data
, or Create a new file
?
I am very much a novice in this space, so perhaps I am missing something.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.