A Multi-Perspective Architecture for Semantic Code Search