With our now 2 year old dog, we had a bit of a biting problem, he was biting us because he was playing, but he was biting hard, so when that happened, we just stand up and stopped playing with him, ignore him for a while.
He got really good quickly (even I was surprised) and now when we play and he bites just a bit hard we just withdraw our hand and "ouch"! he knows it was wrong and he starts giving kisses. Now, before he came to live with us he was socialized with kids already, so not sure if that is what made the difference.
Our new puppy on the other hand, doesn't bite us when he plays, and for the first 4-5 months he was with us I think I only heard him bark twice, now in the last few weeks for some unknown reason he has started barking and growling at everyone, so as soon as I see he starts growling I hold his mouth, I don't hurt him nor do it hard, just hold his mouth and make him look me in the eyes and with a calm voice just tell him to be good and be quiet. Yesterday we went out for a walk and there was people outside of a house, he walked right by them with no growl nor bark so I was very happy.... now I am not a trainer nor did I read this anywhere its just what I have been doing and so far seems to be working for me.
Maybe if you start teaching him to sit and be quiet (no growl-no bark) when a person comes in to your house, and he does, give him a little treat.
Dogs don't need to talk, their life is their message ~ unknown.
"The greatness of a nation and its moral progress can be judged by the way its animals are treated." ~ Mahatma Gandhi