Because of the general arbitrariness of the association between a sign and its referent, and because inference depends on context, there is room for reinterpretation in communication, or the likelihood that what is said is understood in ways different (e.g. narrower, broader, etc.) than what is intended by the speaker. For example, the semantic relationship between German sterben '"to die" and English starve "to die of hunger" suggests a semantic narrowing in English, assuming that the German cognate preserved the older Germanic meaning. The change may have occurred when what was originally in the context but not in the lexical meaning got interpreted as part of the lexical meaning. But again, internal and external factors are sometimes hard to separate. It is possible that the narrowing may have occurred during a time when hunger was the main cause of death, which would increase the frequency of its use in that context, thus leading to semantic narrowing. A similar situation can be seen in Tier "animal" and deer, which are cognates whose meaning difference is one between 'general' and 'specific' or hypernym and hyponym. When someone points to a deer and refers to it as "Tier", there is nothing wrong with calling a deer an "animal", but if the listener sees the same animal and knows that it's a specific species -- deer, then they're likely to interpret it at the "basic level".
I guess external vs. integral is also a matter of degree/definition really. One may think of e.g. cases when a Chinese character changes meaning by being reinterpreted over time.
Because of the general arbitrariness of the association between a sign and its referent, and because inference depends on context, there is room for reinterpretation in communication, or the likelihood that what is said is understood in ways different (e.g. narrower, broader, etc.) than what is intended by the speaker. For example, the semantic relationship between German sterben '"to die" and English starve "to die of hunger" suggests a semantic narrowing in English, assuming that the German cognate preserved the older Germanic meaning. The change may have occurred when what was originally in the context but not in the lexical meaning got interpreted as part of the lexical meaning. But again, internal and external factors are sometimes hard to separate. It is possible that the narrowing may have occurred during a time when hunger was the main cause of death, which would increase the frequency of its use in that context, thus leading to semantic narrowing. A similar situation can be seen in Tier "animal" and deer, which are cognates whose meaning difference is one between 'general' and 'specific' or hypernym and hyponym. When someone points to a deer and refers to it as "Tier", there is nothing wrong with calling a deer an "animal", but if the listener sees the same animal and knows that it's a specific species -- deer, then they're likely to interpret it at the "basic level".
I am inclined to believe that there are at least two major internal factors:
1) as it was mentioned above: the association between a signified and a signifier is arbitrary, so there is a constant assymetry between a word form and its meaning
2) the evolution of paradigmatic relations of words also contributes to the meaning change - a word meaning always depends on how many and what kind of synonyms or homonyms this particular word has. The addition of a new one or the change of its meaning modifies all the system .
It is possible that this is based on the principle of linguistic economy, one Grece's pronciples. I know that Pessoa has struggled to keep up the verse in Spanish. In Polish there is no phonetic difference between "ch" and "h", but Lwowan can hear these differences and phonetically use them.
That meaning change could be observe in nazis and swastika. The nominee was not changed, but the designata.
Language changes in the course of time, and in the process of use, so even if some changes occur originating from the reinterpretation of the signifer-signified dichotomy , as what has been remarked above, this reinterpretation is impossible without the involvement of language users, under specific contexts, etc. In this sense, there exist only very loosely defined "internal" or "external" factors.
Internal factor, should be linguistic, but We got empirical prove, like change nominates of sfastika to designates,, by Drei Reich. Internat factors could be: nominate, perlocution, designate, renaming. Also designate cheng in time but nominate is the same, paradoxally when designates are changing, nomimates are changing to if is adequate, but this is magical preservation of identity, nominate grow up with us as designate.
Of course it depends on language theories you're referring. I'd first specify what you exactly mean by "internal" and I would not separate so distincltly "internal" and "external" when semantic change is involved. Separation would imply that you can prove that semantic shift, for example, semantic narrowing that was mentioned in the good example above between German "die" and English "starve", has nothing to do with social change or, better said, social and historical factors affecting different semantic shifts in different cultures. How can you prove that?
I think not! Because, apart from onomatopoeic words, there is no evidence of an internal link between signifier and signified. Semantic trends are conventional and external. Society decides what words means what. If there were any internal links, then meanings must have been universal and fixed, but as we know meaning-making is a varied and fluid phenomenon.