I have read that 'shy' is a negative word and should not be used to label someone just because that person has a different outlook than the rest of the world. Everyone has some unique personality and has a right to be who one is. When we label someone as shy, we imply that it is bad and make that person more conscious about his or her behavior though our intent may not be so. It is important to make such person comfortable with who he or she is. Whe we accept ourselves as we are,we accept other too as they are.
Some people are more cautious, perceptive, and sensative than others and take their time to warm up. They want to be able to trust others to share their inner true-self. They are authentic, respectful, compassionate, insightful, and nurturing just as your daughter is. Please accept her as she is and tell her that she is perfect just the way she is. Please do not label her as shy in front of others or let others label her so. Just highlight her wonderful qualities and offer her genuine praise. She will open up when she is ready and if she wants to. You can be your daughter's best friend and may find some books for her and may be there are other kids in neighborhood or school that me just be like her and get them together.
I myself have been labelled as shy and picky (selective as I say) as I am not comfortable in social situations or big crowds. I prefer one to one interaction and like to have genuine conversation. The few friends I have are my true friends whom I can count on anytime. My son was labelled as shy too even at young age of 2. The well meaning people suggested putting him in day care and do more playgroups with kids of his age. I respected my son's feelings and did not push him out there. People are so quick to label before letting the other person a chance to know you. So when anyone told me, he is so shy, I would say - actually he is very friendly and engaging. He just needs time to warm up with you. Hope this helps.
-Rachna