There are a few issues with this. The overwhelming issue, that needs fixing before you can go any further, is that there is overlap in the UV map:
Here I've selected a UV island. You can see plenty of other geometry behind it, on the same part of the UV. When you bake any kind of texture to this UV map, Blender will be writing data from more than one part of the mesh onto the exact same pixel of the texture. Which part of the mesh gets drawn on top is a crapshoot. You need to fix this before doing anything further.
The next thing is, look at how much UV space you're using-- just a tiny little fraction of your square. This means that the functional resolution of any bake using this UV map is going to be a fraction of the image texture. This will lead to lower resolution on your ambient occlusion, that smears out the AO over larger parts of the mesh than you want.
That especially a problem because of how much internal geometry you have:
That beam stretches all the way through the house, even though there's only a bit of it visible at the ends. Other geometry is similar. When Blender calculates AO for this mesh, any internal geometry is going to be solid black AO, while anything else is not going to reach nearly that darkness. This is a problem because your AO (both during the bake, and when you look it up) is going to be an average of near bits of the mesh. You don't want to be averaging in completely occluded into visible, or you'll have ugly dark smears throughout your AO. I'd strongly recommend removing any internal geometry here.