Entendrepreneur: Generating Humorous
Portmanteaus using Word-Embeddings

Jonathan A. Simon
Fin Exploration Company
jonathan@finxpc.com

Abstract
We present a novel algorithm for generating portmanteaus which utilizes wordembeddings to identify semantically related words for use in the portmanteau
construction. By simultaneously optimizing for phonetic closeness and phonetic
novelty, this algorithm significantly outperforms related techniques on a subjective
assessment of humor.

1

Introduction & Related WorkPun generation systems have long been a topic of research interest, with applications including
helping autistic children develop their language skills [1,2], generating names for companies [3],and simple entertainment [4,15]. Portmanteaus, a specific type of morphological pun, have received
a large amount of focus in particular [5,6,7]. In prior work much of the emphasis was placed on
constructing alignments between the pair of input strings. Deri and Knight (2015) use a multitape
FST to generate these alignments, and Gangal, et al. (2017) use an LSTM neural network. While
this works well in cases where there exists a natural alignment between two words (hungry/angry :hangry), for many words there exists no unambiguously good alignment (drunk/angry : drungry).
Especially when the portmanteau is intended to be humorous, these imperfect matches ruin the overall
effect. However a much larger set of portmanteaus can be constructed if we allow semantically related
words to be used (drunk/angry : beeritable). Smith, et al.’s Nehovah (2014) system performs synonym
lookups using WordNet [8], however in most cases synonym-matching is too constraining for thistask. To the author’s knowledge, the Entendrepreneur system (entendre/entrepreneur) is the firstpublished portmanteau generator to make use of word embeddings, with the resulting portmanteaus
being subjectively more humorous than those produced by other systems.

2Definitions

We define a graph to be a single English character, and a phone to be a single character from theARPABET phonetic alphabet [14]. We define a grapheme to be a string of graphs, and a phoneme
to be a string of phones. We define a word to be an aligned grapheme/phoneme pair. We define
a portmanteau (PM) to be set of two words, together with a composite phoneme portmanteau(PMphone ) and grapheme portmanteau (PMgraph ), constructed from the associated words’ phonemes
and graphemes respectively. See Supplementary Figure 1 for details.

3

Algorithm Overview

Given two input graphemes g 0 , h0 the Entendrepreneur algorithm performs the following steps:
1. Identify semantically-related graphemes {g 1 , . . . , g n }, {h1 , . . . , hm } by performing nearestneighbor lookups in the FastText word vector embedding space [9].
32nd Conference on Neural Information Processing Systems (NIPS 2018), Montréal, Canada.

Table 1: Survey results
Algorithm Name

Algorithm % SelectedAlgorithm 1

Algorithm 2

Algorithm 1

Algorithm 2

np-value

Quality

Entrendrepreneur
Entrendrepreneur

Charmanteau
Port Manteaux

38.2%
48.1%

61.8%
51.9%

55
54

0.10
0.45

Humor

Entrendrepreneur
Entrendrepreneur

Charmanteau
Port Manteaux

64.4%
63.8%

35.6%
36.2 %

7347

0.009
0.079

2. Remove irregular capitalizations and tenses, and deduplicate the results, yielding new00grapheme sets {g 1 , . . . , g n }, {h1 , . . . , hm }.
3. Map each grapheme g, h to its corresponding phoneme p, q using the CMU Pronouncing
Dictionary [13], and align the constituent graphs and phones using an EM-based alignment
algorithm [16].
4. For each pair of phonemes p, q align the tail of p with the head of q, finding the alignment
which minimizes the sum of the pairwise aligned phone distances.
5. Two different values of PMgraph are consistent with the phoneme alignment. We choose theone which maximizes the likelihood that the reader will be able to correctly reconstruct g, hgiven PMgraph .
6. The generated PMs are ordered according to the phonetic distance of the aligned phonemesd(poverlap , qoverlap ) as well as the novelty of these phonemes p(poverlap , qoverlap ).
Steps (3-5) are also performed on the reverse-ordered graphemes h0 , g 0 . See Supplementary Materialfor additional details.

4Assessing Portmanteau Humor and Quality

To assess the subjective quality and humor of the generated portmanteaus, questionnaires wereassembled comparing the portmanteaus produced by Entendrepreneur on random grapheme pairs tothose produced by two other algorithms, Charmanteau [7] and Port Manteaux [15] (SupplementaryTable 3). Twenty questionnaires containing a total of 200 different word pairs were generated, witheach questionnaire given to one of 33 volunteers. The portmanteaus produced by Entendrepreneur
were judged to be significantly funnier than those produced by Charmanteau (two-tailed binomial
p=0.009, n=73) and non-significantly funnier than those produced by Port Manteaux (two-tailedbinomial p=0.079, n=47). The quality of the portmanteaus was not found to differ significantly
between the algorithms (Table 1). See Supplementary Section 6.8 for details.

5Conclusions & Future Work

Using semantically related words in the construction of portmanteaus was found to produce significantly more humorous results. In particular, using cosine similarity in the FastText word vector
embedding space as a measure of semantic relatedness was found to outperform related portmanteau
generation methods in terms of humor, without any significant accompanying decrease in portmanteau
quality. Possible extensions of this work include employing a more sophisticated phoneme alignment
algorithm, and altering the result sorting criterion to include information related to the semanticdistance between the portmanteau graphemes and the input graphemes.

References[1] Manurung, R., Ritchie, G., Pain, H., Waller, A., O’Mara, D., & Black, R. (2008) The Construction of a Pun
Generator for Language Skills Development. Applied Artificial Intelligence 22:841-869.
[2] Shah, P.R., Shah, T.D., & Mali, §. (2017) Automated Pun Generator. International Journal of Computer
Applications 166(7).

2[3] Özbal, G. & Strapparava, C. (2012) A Computational Approach to the Automation of Creative Naming.
Proceedings of the Conference on International Language Resources and Evaluation.
[4] Benner, T. Pun Generator. https://pungenerator.org[5] Smith, M.R., Hintze, R.S. & Ventura, D. (2014) Nehovah: A Neologism Creator Nomen Ipsum. Proceedingsof the International Conference on Computational Creativity 173-181.
[6] Deri, A. & Knight, K. (2015) How to Make a Frenemy: Multitape FSTs for Portmanteau Generation.
Proceedings of the NAACL 206-210.
[7] Gangal, V., Jhamtani, H., Neubig, G., Hovy, E., & Nyberg, E. (2017) CharManteau: Character Embedding
Models For Portmanteau Creation. arXiv preprint arXiv:1707.01176.
[8] Miller, G.A. (1995). WordNet: A Lexical Database for English. Communications of the ACM 38(11):39-41.
[9] Mikolov, T., Grave, E., Bojanowski, P., Puhrsch, C., & Joulin, A. (2018) Advances in Pre-Training Distributed
Word Representations. Proceedings of the International Conference on Language Resources and Evaluation.
[10] Řehůřek, R. & Sojka, P. (2010) Software Framework for Topic Modelling with Large Corpora. Proceedingsof the LREC 2010 Workshop on New Challenges for NLP Frameworks 45-50.
[11] Rijsbergen, C.J., Robertson, S.E., & Porter, M.F. (1980) New models in probabilistic information retrieval.
London. British Library Research and Development Report 5587.
[12] Bird, S., Loper, E., & Klein, E. (2009) Natural Language Processing with Python.
[13] Carnegie Mellon University Pronouncing Dictionary. http://www.speech.cs.cmu.edu/cgi-bin/cmudict[14] ARPABET. https://en.wikipedia.org/wiki/ARPABET[15] Gerrish, S. & Beeferman, D. Port Manteaux. https://www.onelook.com/pm[16] Jiampojamarn, S., Kondrak, G., & Sherif, T. (2007) Applying Many-to-Many Alignments and Hidden
Markov Models to Letter-to-Phoneme Conversion. Proceedings of the Association for Computational Linguistics
372-379.
[17] Jiampojamarn, S. & Kondrak, G. (2010) Letter-Phoneme Alignment: An Exploration. Proceedings of theAssociation for Computational Linguistics 780-788.
[18] Treisman, A. (1985) Preattentive processing in vision. Computer Vision, Graphics, and Image Processing
31(2):156-177.

6

Supplementary Material

6.1

Algorithm Description

Given two input graphemes g 0 , h0 the Entrendrepreneur algorithm performs the following steps:(1) identify semantic neighbors, (2) lemmatization, stemming, and deduplication (3) grapheme-tophoneme mapping, (4) phoneme portmanteau construction, (5) grapheme portmanteau construction,(6) result ordering. Steps (3-5) are also performed on the reverse-ordered graphemes h0 , g 0 .
6.2

Identify Semantic Neighbors

Given two input graphemes g 0 , h0 we find two corresponding sets of semantically related graphemes{g 1 , . . . , g n }, {h1 , . . . , hm } by mapping each grapheme to its corresponding word vector in theFastText word vector embedding [9,10], and computing its cosine-distance to all other word-vectors
in the space. We then take their n = m = 100 nearest neighbors in this space to be their set ofsemantic neighbors.
6.3

Stemming, Lemmatization, and Deduplication

The set of semantic neighbor graphemes obtained from the FastText embedding often contain many
strings with irregular capitalizations and tenses. These graphemes are mapped to their canonical English representations by identifying lemmas using WordNet and identifying stems using
the Porter stemmer [11,12]. Any duplicate graphemes which are generated by these transformations are then removed from the neighbor set. This yields the new neighbor-grapheme sets00{g 1 , . . . , g n }, {h1 , . . . , hm }.
3b e e r
| \/ |
B IH1 Ri r r
itable|\/||||/ \ |
IH1 R AH0 T AH0 B AH0 L _(a)B IH1 R||IH1 R AH0 T AH0 B AH0 Lb ee r| |i rr i t a b l e

B IH1 R AH0 T AH0 B AH0 Lb ee(b)ri t a b l e(c)Figure 1: (a) grapheme-to-phoneme alignments for "beer" and "irritable", (b) phoneme-to-phonemealignment with the resulting PMphone , (c) grapheme-to-grapheme alignment with the resulting PMgraph .
6.4

Grapheme-to-Phoneme Mapping

The graphemes are then mapped to their corresponding phonemes using the CMU Pronouncing
Dictionary [13], which associates each English-language grapheme with a phoneme string comprisedof characters from the ARPABET character set [14]. In addition to the mappings of entire graphemes
to phonemes produced by the CMU Pronouncing Dictionary, we further obtain mappings of individualgraphs to phones using Jiampojamarn, et al.’s (2007) EM-based L2P alignment algorithm [16], which
was trained using the grapheme-phoneme pairs in the CMU Pronouncing Dictionary (Figure 1a). This
associates to each grapheme g an aligned phoneme p, and to each grapheme h an aligned phoneme q.
6.5

Phoneme Portmanteau Construction

For each word pair (g, p), (h, q) we perform a 1-to-1 alignment of the head of the first phoneme
string with the tail of the second phoneme string, finding the alignment which minimizes the sum ofdistances between the aligned phones (Figure 1b). The phone-level distance measure is defined as:
0 : phone1 = phone21 : Stressless(phone1 ) = Stressless(phone2 )d(phone1 , phone2 ) = 2 : (phone1 , phone2 ) ∈ NearMissConsonants3 : (phone1 , phone2 ) ∈ NearMissVowels∞ : otherwise
For the sets of near-miss consonants and vowels, see Table 2. Vowel mismatches are penalized
more heavily than consonant mismatches because it is the voiced vowel phone which primarily
characterizes a syllable.
In addition to minimizing the summed phone distance, this alignment is subject to the constraints
that at least 1 vowel phone and 1 consonant phone must be present in the phoneme overlap, and thenumber of phones in the overlap must be strictly less than min(len(p), len(q)).
For an alignment having k overlapping phonemes, the resulting PMphone with be one of either
p1 ...p−1 qk+1 ...q−1 or p1 ...p−k−1 q1 ...q−1 . Which one is chosen depends on the disambiguatedPMgraph , discussed below.
6.6Grapheme Portmanteau Construction

There can exist two different values of PMgraph for a given phoneme alignment. For example, inFigure 1c both "beeritable" and "birritable" are consistent with the alignment. In such cases we selectthe grapheme which maximizes the likelihood that the reader will correctly reconstruct g, h given
PMgraph . The two possible representations of PMgraph are of the form
(1)

gdisjoint goverlap hdisjoint(2)

gdisjoint hoverlap hdisjoint
4Table 2: Near-miss phones
ARPABETconsonantvowel

IPA

phone1phone2

phone1phone2

BDDDHFSHCHSAAAHEHPDHTTHVZH
JHZEHUHIHbdd
DfStSsA
2Ep
DtTv
ZdZzEUIIn the case of (1) the entire g string is present in PMgraph , and therefore it is assumed that the reader
will be able to uniquely identify g due to the perceptual "pop-out" effect [18]; the same holds for h in(2). Therefore the ease of reconstructibility is lower-bounded by p(h | ends with hdisjoint ) in (1) andby p(g | starts with gdisjoint ) in (2). Because the graphemes were generated through a form of loose
word-association, we consider p(·) to be uniform with support on all graphemes in the vocabulary.
Therefore these conditional probabilities can be computed as:(3)p(h | ends with hdisjoint ) = 1 / # {x ∈ GraphemeVocab | x ends with hdisjoint }(4)p(g | starts with gdisjoint ) = 1 / # {x ∈ GraphemeVocab | x starts with gdisjoint }If (3) > (4) then (1) is selected as PMgraph , otherwise (2) is selected.
6.7

Result Ordering

We consider the quality of a PM to be a function of how "unexpectedly" phonetically close poverlap
and qoverlap are. This is a function of the phonetic distance between poverlap and qoverlap , as wellas the commonality of the phonemes poverlap and qoverlap in the vocabulary. We measure thecommonality of a phoneme in the vocabulary asp(poverlap , qoverlap ) = p(poverlap ) × p(qoverlap )wherep(poverlap ) = # {y ∈ PhonemeVocab | y ends with poverlap } / # PhonemeVocabp(qoverlap ) = # {y ∈ PhonemeVocab | y starts with qoverlap } / # PhonemeVocabTake d∗ to be the distance between poverlap and qoverlap . Then we consider the best PM to be the one
which is lowest in the lexical ordering induced by (d∗ , p(poverlap , qoverlap )). The generated PMs
are then sorted from best to worst, with top results being returned.
6.8

Questionnaire Design

To assess the subjective quality and humor of the portmanteaus produced by Entendrepreneur
compared to those produced by Charmanteau [7] and Port Manteaux [15], 20 questionnaires werecreated. Each questionnaire was composed of 10 multiple-choice questions, the first five questionsasking participants to select the "best portmanteau" of the two provided words, and the last fivequestions asking participants to select the "funniest combination" of the two provided words.

5

Table 3: Algorithm Outputs
Input

Result

word1

word2

Entendrepreneur

Port ManteauxCharmanteau

angry
hebrew
literary
immuneprohibited
intellectualstar
sensorcage
orchestra
metallicblond

wrathleteyahwearable
shackademic
violinflammation
silverboten
tanalyticalfurioustar
israelitesensor
heavyweightranslation
orchestrasponse
prohibitallic
blontellectual

anstarhebrensor
litercage
immunestra
protallicintellond

The word pairs for each question were selected from among the 10k most common English words,
removing all words where any of the following hold:
1. does not appear in WordNet
2. is shorter than 4 letters
3. is the name of a person or place
4. is pluralized
The word pairs were then constructed by randomly sampling "[adjective], [noun]" pairs from among
the remaining valid words. For each question, 7 multiple choice options were provided in random
order: 3 options were the top-3 results produced by Entendrepreneur, 3 options were the top-3 results
produced by one of either Charmanteau or Port Manteaux, 1 option was "Other" which the participant
was instructed to select if they did not like any of the other 6 options. All questions which wereanswered with "Other" were removed from the results shown in Table 1. The participants completed
the questionnaires using the website TypeForm. A sample question is shown in Figure 2.

Figure 2: Sample question.

6