Is it a factory keyless entry or an alarm put on at the dealership?
If it has a seperate horn in the engine compartment it's more than likely a loose ground wire to the horn or water damage from water getting in the horn. Check the ground wire probably rusted and not making good contact or get a new horn.