The major_id field varies depending on the securable being referenced. Probably the easiest way to handle this is to use the OBJECT_NAME() function like I did here:
Auditing SQL Server User and Role Permissions for Databases
Otherwise you can join it to the sys.objects table's object_id like I did here:
Retrieving SQL Server Permissions for Disaster Recovery
K. Brian Kelley
@kbriankelley