Learning generic semantic roles