Short answer: Yes.
TL;DR
In the presence of good datasets this can be accomplished with a pipeline.
Long Answer
In reality an idiom is a series of words which is supposed to have a semantic meaning that is not denoted by the literal reading (source). This means that any system that is used must be capable of considering multiple words at a time. Additionally, some idioms are context dependent. Example:
- The fisherman broke the ice with his tool.
Are we to believe that this is a very suave fisherman?
So, it is possible to teach an AI to use idiomatic phrases to keep up with the culture of humans?
Observe that humans do not come linguistically "pre-loaded" with idioms. So we can safely assume that idiom usage is a learning task and that the only way for them to keep up is for them to keep learning. So if we solve the idiom learning task we just need to keep our agent online or periodically retrain it on nascent corpora.
One difficulty is that, in the absence of a label, a metaphor could be easily mistaken for an idiom and vice versa. So semantic outlier (sorry it's not free) approaches may suffer from precision issues. Example:
- She's a thorny wildflower (metaphor - could easily be an idiom)
- She's a diamond in the rough (idiom - could easily be a metaphor)
Though, idioms will most likely be repeated if a dataset is large whereas a "custom metaphor" is less likely to repeat.
Additionally, some idioms (eg bite the bullet or break a leg) do not have readily available "interpretable semantics" that allow us to extract their intended meaning. For example, if one did not know the idiom "cut me some slack" one could think:
"Slack implies loosening or to make less tight/taut. I was being very uptight. They probably want me to loosen up and not be so critical."
Of course the human understanding of it might happen in a flash and not follow such a delineated path. The idea is that some NLP pipeline might be constructible that satisfactorily handles idioms in some specific use cases (example of a pipeline). For example, one module might attempt to process outliers like "diamond in the rough" which have said interpretable semantics. Though, something like "bite the bullet" may have to be labelled with the correct semantics.
I've only scratched the surface of this. Natural language understanding is already a hard problem - and idioms are thus a tough task in a tough task. I hope that this motivates the reading of some more thorough articles. I have gathered some articles that can be used as a springboard into the literature.
Here's a source that uses a dictionary type approach to train the model to recognize idioms. Excerpt:
For identification, we assume data of the form ${(⟨p_i,d_i⟩,y_i) : i = 1...n}$ where $p_i$ is the phrase associated with definition $d_i$ and $y_i ∈ \{literal, idiomatic\}$.
This source provides pseudo-code for idiom extraction.
This source describes a dataset to help solve the idiom difficulties.