In response to your question, text-based content is the most important factor in determining ad-targeting. AdSense crawlers have trouble deriving meaning from images and dynamic content.
If you’d like Google ads on specific topics to appear on your site, we recommend including more text-based content on these subjects. Complete sentences and paragraphs are particularly important in helping our crawlers decide which ads to display.
it means it is hard to say .e.ge ads depend on contents 80% ,keywords 5%,file name 5%,some other factors 10% . Only recognised factor is contents. but what are affects of other factors some of that i mentioned above and some are still not in my mind ..