When a person walks into the house, tell them to completely ignore your dog, giving him any kind of attention will only escalate your problem. Have a friend you trust practice with you, have the friend walk into the house and completely ignore the dog, once he calms down and stops barking ( this may take awhile, could even be 20 minutes), pet him (only you though, the owner). Keeping your energy calm is very important, your dog can feel your energy and whenever a guest is about to walk into the house, he knows you are nervous before they even come in. This gives him even more of a reason to feel like he needs to take control and bite. You can probably put a leash on him when you practice so if he charges your friend, you pull him away and try to stay as calm and assertive as you can. Also talking to your dog, yelling, screaming no does absolutely nothing, he doesn't know english and only feels your hightend energy. Once you pull your dog away try to get him to sit not making eye contact with the guest. And do not put tension on the leash when your dog is calming down. Doing this consistently will seriously help your problem.