Leveraging social and semantic components in adaptive environments