gensim LdaModel - How to reduce the number of words in each topic? I'm trying to get more sparse topics (Less overlaps between different topics). 
https://radimrehurek.com/gensim/models/ldamodel.html
I know it should be determined by the alpha parameter. 
I've tried different values of the alpha parameter: ['auto', 'symmetric', 'asymmetric', [0.01]*topic_num, [0.001]*topic_num, [0.00001]*topic_num, etc], also experiment with the 'eta' and 'decay' parameters:
(From the docs): 
alpha ({numpy.ndarray, str}, optional) –
Can be set to an 1D array of length equal to the number of expected topics that expresses our a-priori belief for the each topics’ probability. Alternatively default prior selecting strategies can be employed by supplying a string:

’asymmetric’: Uses a fixed normalized asymmetric prior of 1.0 / topicno.
’auto’: Learns an asymmetric prior from the corpus (not available if distributed==True).
eta ({float, np.array, str}, optional) –
A-priori belief on word probability, this can be:

scalar for a symmetric prior over topic/word probability,
vector of length num_words to denote an asymmetric user defined probability for each word,
matrix of shape (num_topics, num_words) to assign a probability for each word-topic combination,
the string ‘auto’ to learn the asymmetric prior from the data.
decay (float, optional) – A number between (0.5, 1] to weight what percentage of the previous lambda value is forgotten when each new document is examined. Corresponds to Kappa from Matthew D. Hoffman, David M. Blei, Francis Bach: “Online Learning for Latent Dirichlet Allocation NIPS‘10”.

None of these methods gave me sparser topics. 
What am I missing? 
How can I get topics with fewer words per topic?
Thanks
EDIT: Experiments with ETA don't work:
It's not changing anything. 
I've done a lot of experiments: 
Baseline: Without mentioning eta (Default) - Got 10 words for each topic, alpha='auto'. 
Experiments:
 1. eta=0.01, alpha='asymmetric'
 2. eta=0.00001, alpha='asymmetric'
 3. eta=0.0001, (Without mentioning alpha)
 4. eta=[0.01]*num_words, (Without mentioning alpha)
 5. eta=[0.0001]*num_words, (Without mentioning alpha)
 6. eta=[[0.001 for _ in range(6645)] for _ in range(20)], (Without mentioning alpha)
 7. eta=[[0.000001 for _ in range(6645)] for _ in range(20)] (Without mentioning alpha)
 8. eta=0.01, alpha='symmetric'
 9. eta=0.00001, alpha='symmetric'  
All give me 10 words per topic (20 topics)
 A: $\alpha$ is the hyper-parameter for the mixing proportions. The smaller the $\alpha$ the more focused your documents will be (they will strongly focus on small number of topics). Btw, it is generally better to allow for an asymmetric $\alpha$.
You want to reduce the other hyper-parameter, $\eta$. The same thing, the smaller the hyper-parameter, the more "focused" the topics will be (comes from the properties of the Dirichlet distribution).
Note however that a topic is not a set of words. It's a distribution over the whole vocabulary. Your topic will always be the same length as the size of your vocabulary, and by design all words will have non-zero probability (because of the prior). It's just that if you choose a small $\eta$ most of the probabilities will be extremely small, and most of the probability mass will be contained in relatively few words.
A: You should use print_topics(num_topics=20, num_words=10) to limit the number of topics displayed as well as the number of words. If you simply use model.print_topics() there will be always exactly 10 words printed per topic because it is the default value.
You can set model.print_topics(num_topics=-1) to print all topics ordered by the relevance of the learned topic. Furthermore, you can set model.print_topics(num_words=5) to show fewer words to describe the topic. However, this behavior is completely independent of the settings you tried out which were explained by @yassem.
