Gensim je bezplatná knihovna Pythonu pro vytváření dokumentů a extrahování funkcí z textu, které se používají ke zpracování přirozeného jazyka a dolování textu. Vyvíjí a udržuje jej Radim Řehůřek a jeho tým v RaRe Technologies. Gensim je navržen tak, aby poskytoval spolehlivý, efektivní a rozšiřitelný rámec pro implementaci témat různých velikostí. Důraz klade na škálovatelnost, výkon a snadné nasazení.
Gensim je založen na myšlence „vzdálenosti“ nebo „podobnosti“ mezi dokumenty, která je postavena na korpusu textu nebo sbírce dokumentů. K reprezentaci dokumentů používá vektorové reprezentace, aby se usnadnilo měření vzdáleností mezi dokumenty. Gensim nabízí dva hlavní přístupy k porovnání dokumentů: tematické modely (LDA, LSI) a vkládání slov (word2vec, rukavice).
Tématické modely jsou založeny na předpokladu, že dokument může být reprezentován jako „pytel slov“ – nebo jako seznam slovních tokenů, bez jakékoli struktury. Každé slovo odpovídá tématu a model tématu přiřazuje každému tématu v dokumentu váhu. Tyto váhy nám pak umožňují porovnávat dokumenty a určit, která slova a témata jsou důležitější.
Vložení slov jsou sofistikovanější reprezentace, které berou v úvahu kontext a sémantické vztahy mezi slovy spíše než jen pytlík slov. Vkládání slov poskytuje mnohem přesnější výklad jazyka, a proto jsou oblíbené při zpracování přirozeného jazyka a dolování textu. Vložení slov se používá ke generování vektorů prvků ze slov, což umožňuje porovnání podobnosti mezi slovy a dokumenty.
Gensim také poskytuje nepřeberné množství užitečných nástrojů, jako jsou streamovací algoritmy a přístup k API. Díky snadnému použití je navíc oblíbený u vývojářů a datových vědců, kteří chtějí rychle a bezbolestně vytvářet výkonné modely dolování textu a zpracování přirozeného jazyka.