You&#x27;ve got the data, so that&#x27;s actually the hard part done. Now just pick some method and don&#x27;t worry too much about the details. Go with the easiest route first, for example: each emoji is a word, no need to treat a smileyface differently in your model from a word like &quot;happy&quot;, _until you see how the representation actually matters_, only then will you know what the right way is. If you pick a complicated method first, you won&#x27;t know if it was worth it. If you pick a simple method first, you&#x27;ll know if it doesn&#x27;t work, but you won&#x27;t have wasted time.<p>Re:lemmatisation, either grab an existing machine-readable dictionary [1] if you just want all lemmas with their ambiguity, or just do simple PoS-tagging with something like <a href="https:&#x2F;&#x2F;honnibal.wordpress.com&#x2F;2013&#x2F;09&#x2F;11&#x2F;a-good-part-of-speechpos-tagger-in-about-200-lines-of-python&#x2F;" rel="nofollow">https:&#x2F;&#x2F;honnibal.wordpress.com&#x2F;2013&#x2F;09&#x2F;11&#x2F;a-good-part-of-spe...</a> (I love that post for its no-nonsense approach)<p>[1] <a href="http:&#x2F;&#x2F;wiki.apertium.org&#x2F;wiki&#x2F;Using_an_lttoolbox_dictionary" rel="nofollow">http:&#x2F;&#x2F;wiki.apertium.org&#x2F;wiki&#x2F;Using_an_lttoolbox_dictionary</a> has some (and will tokenise for while analysing).