Text this: Adaptive k-means clustering algorithm based on grid and domain centroid weight