The next time it dies, try connecting to Google or some other well-known site by using an IP address instead of a domain name. For example, access Google at [126.96.36.199...]
If that still works, then the problem is that you cannot connect to the DNS system, so your machine cannot resolve domains to IP addresses, and therefore cannot connect to 'outside' Web sites. If you can always connect to your ISP, then they may have an 'inside' DNS server for their network, and an 'outside' or 'public' DNS server for everything outside their network.
So, you call them up and tell them that their public DNS server is unreachable. A specific error report may get them moving on the problem -- I have found that my ISPs all respond much more quickly if I nail down the problem and call them up and tell them something like, "Your edge router at 10.0.0.23, located in the Smallville colocation center, is dead. I can't even ping it. Please reboot it or replace it," rather than saying something general like "I can't connect to anything." Note: 10.0.0.23 is used above as an example IP only; It is a non-routable address.
You can also use your operating system's built-in ping and tracert (trace route) utilities, and if you're on Windows, look at ipconfig to get information about your IP setup. On NT-based OSes, you get to them using Start->Run->cmd->OK, to get to a DOS prompt, enter the utility name and required parameters, and hit Enter.
Often, intermittent connection problems are caused by misconfigured DHCP in the modem/router/LAN. But since you report that you can still connect to your ISP's services, that pretty much rules out DHCP issues and points to DNS issues as a more-likely candidate.