Metals and semiconductors have two different band structures. Metals have electrons occupying a partially filled conduction band. That is why those electrons can move about easily, since they have "empty" states to move into (Pauli exclusion principle). When you raise the temperature, the crude picture I can give you is that the ions of the metal vibrates with a larger amplitude. So these conduction electrons have a higher probability of being bumped into them. This creates extra resistance. So the higher the temperature, the larger the resistance.
In a semiconductor (intrinsic), there is an energy gap separating the valence band, and the conduction band. At T=0, the valence band is completely full, while the conduction band is completely empty. Because the valence band is full, electrons can't move about, since there are no empty states for the electrons to go into. However, if you raise the temperature of the semiconductor, some of the electrons at the top of the valence band may now gain sufficient energy to jump across the energy gap and get into the conduction band. Since the conduction band has empty states, these electrons then can conduct. The higher the temperature, the more the number of electrons that can occupy the conduction band. Thus, the resistivity drops as temperature increases.
As with any material, these trends are valid only within a certain range of temperatures.