Seven troops, 23 militants killed in Pakistan clash: military