- Distinguishing between literal and metaphorical language is a major challenge facing natural language processing. Heuristically, metaphors can be divided into three general types in which type III metaphors are those involving an adjective-noun relationship (e.g. “dark humor”). This paper describes our approach for automatic identification of type III metaphors. We propose a new algorithm, the Concrete-Category Overlap (CCO) algorithm, that distinguishes between literal and metaphorical use of adjective-noun relationships and evaluate it on two data sets of adjective-noun phrases. Our results point to the superiority of the CCO algorithm to past and contemporary approaches in determining the presence and conceptual significance of metaphors, and provide a better understanding of the conditions under which each algorithm should be applied.