Skip to content

Add Pivot Normalization for gensim.models.TfidfModel. Fix #220#1780

Merged
menshikh-iv merged 62 commits into
piskvorky:developfrom
markroxor:pivot_norm
Mar 13, 2018
Merged

Add Pivot Normalization for gensim.models.TfidfModel. Fix #220#1780
menshikh-iv merged 62 commits into
piskvorky:developfrom
markroxor:pivot_norm

Conversation

@markroxor
Copy link
Copy Markdown
Contributor

@markroxor markroxor commented Dec 12, 2017

Pivoted normalization for tfidf model fix #220

  • Return a BOW (the test will fail until then).
  • Write a NB to compare this and old approach.
  • Write tests.

@markroxor markroxor changed the title Pivoted normalization for tfidf model fix #220 Pivoted normalization for tfidf model fix #220 [WIP] Dec 12, 2017
@markroxor
Copy link
Copy Markdown
Contributor Author

Waiting for #1791 to merge.

@menshikh-iv menshikh-iv added the incubator project PR is RaRe incubator project label Dec 19, 2017
Comment thread gensim/models/tfidfmodel.py Outdated
wlocal=utils.identity, wglobal=df2idf, normalize=True,
pivot_norm=False, slope=0.65, pivot=None):
"""
Compute tf-idf by multiplying a local component (term frequency) with a
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to update docstring according to new parameters (and in general, convert all docstrings to numpy-style here), useful links https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt, http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_numpy.html

norm_vector = self.normalize(vector)

# make sure there are no explicit zeroes in the vector (must be sparse)
vector = [(termid, weight) for termid, weight in vector if abs(weight) > eps]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we used 140 characters limit -> no need to split this line here

Comment thread gensim/models/tfidfmodel.py Outdated
]

n_samples = len(self.idfs)
piv_lis = [0]*n_samples
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PEP8: spaces around operator (here and everywhere)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, maybe create it as piv_lis = np.zeros(n_samples, dtype=int) (you convert it to numpy-array later), same for lis

Comment thread gensim/models/tfidfmodel.py Outdated
piv_lis[piv_lis==0]=1

diag_mat = sp.spdiags(1./piv_lis, diags=0, m=n_samples, n=n_samples, format='csr')
piv_norm_vector = diag_mat.dot(np.array(lis))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is sparse vector?

@markroxor markroxor force-pushed the pivot_norm branch 3 times, most recently from 253432a to d157bdb Compare March 6, 2018 11:26
Comment thread gensim/test/test_tfidfmodel.py Outdated
# Test if pivoted model is consistent
model = tfidfmodel.TfidfModel(self.corpus, slope=0.5, pivot_norm=True)
transformed_docs = model.pivoted_normalization([model[docs[0]], model[docs[1]]])
expected_docs = [[(8, 0.4682642467547897),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use hanging indents

Comment thread gensim/models/tfidfmodel.py Outdated
slope : float, optional
It is the parameter required by pivoted document length normalization which determines the slope to which
the `old normalization` can be tilted.
pivot : int/float, optional
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

float

Comment thread gensim/test/test_tfidfmodel.py Outdated
self.assertTrue(np.allclose(transformed_docs[0], expected_docs[0]))
self.assertTrue(np.allclose(transformed_docs[1], expected_docs[1]))

def testPivotedNormalization(self):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add test (load old model with new code, same as for SMART feature)

Comment thread gensim/models/tfidfmodel.py Outdated
logger.info("You need to explicitly call pivoted_normalization.")
return vector

def pivoted_normalization(self, tfidf_matrix):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ This is the most suspicious place, need to investigate, how this can be done in different way ⚠️

@menshikh-iv menshikh-iv changed the title Add Pivot Normalization for TfidfModel. Fix #220 Add Pivot Normalization for gensim.models.TfidfModel. Fix #220 Mar 9, 2018
Comment thread .pytest_cache/v/cache/lastfailed Outdated
@@ -0,0 +1,7 @@
{
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use git add * carefully, please remove this file

Comment thread gensim/matutils.py
Comment thread gensim/models/tfidfmodel.py
Comment thread gensim/models/tfidfmodel.py Outdated
def __init__(self, corpus=None, id2word=None, dictionary=None, wlocal=utils.identity,
wglobal=df2idf, normalize=True, smartirs=None):
wglobal=df2idf, normalize=True, smartirs=None,
pivot_norm=False, slope=0.65, pivot=100):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about default values here, we really can't reduce it to 2 values (join pivot_norm and pivot)?

Comment thread gensim/models/tfidfmodel.py Outdated
It is the parameter required by pivoted document length normalization which determines the slope to which
the `old normalization` can be tilted.
pivot : float, optional
Pivot is the point before which we consider a document to be short and after which the document is
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

too "broad" description, next question will be "what is retrieval and relevence curves" and "how to plot it"

Comment thread gensim/models/tfidfmodel.py Outdated
the `old normalization` can be tilted.
pivot : float, optional
Pivot is the point before which we consider a document to be short and after which the document is
considered long. It can be found by plotting the retrieval and relevence curves of a set of documents using
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also, you can add latex formula here using http://www.sphinx-doc.org/en/master/ext/math.html

Copy link
Copy Markdown
Contributor

@menshikh-iv menshikh-iv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last comments from my side

Comment thread gensim/models/tfidfmodel.py Outdated
It is the parameter required by pivoted document length normalization which determines the slope to which
the `old normalization` can be tilted.
pivot : float, optional
It is the point around which the traditional normalization curve is `tilted` to get the new pivoted
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need more detailed description (previous was better, but not complete, right now - this worse that was). Also, you can add link to original paper here too.

Also, what happens if pivot is None (or not None), this didn't mention here.


For more information visit [1]_.

slope : float, optional
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can confuse users, need to mention that works only if pivot set.

if not hasattr(model, 'pivot'):
logger.info('older version of %s loaded without pivot arg', cls.__name__)
logger.info('Setting pivot to None.')
model.pivot = None
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot, what's about slope?

{
"name": "stderr",
"output_type": "stream",
"text": [
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing introduction part:

  • what is it
  • related links
  • why this can be useful

},
"outputs": [],
"source": [
"newsgroups = fetch_20newsgroups(subset='train',\n",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably, you forgot about my comment about "test" subset. Please fix this.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"source": [
"# Sort the document scores by their scores and return a sorted list \n",
"# of document score and corresponding document lengths.\n",
"def sortLengthByScore(doc_scores, X_test):\n",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no camelCase (only lower-case + _)

}
],
"source": [
"print (len(X_train), len(X_test))"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need to add space between print and (, please check carefully PEP8 in your notebook.

{
"data": {
"image/png": "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\nbc1e/zfMN36DfOOcyMjfXz+63GPLT7u+aW1Vj+3LHv07br2GtzPJ8oPbHS6/3bxJ6tPm/p2mTpPW\nZ9JtHLv/OWZ70+yTaff/Tkx6jcyjjltpsy5dPPe7KglVldElp1p3K7GFcYU2bP552R+f9rNhfrHF\nuHEFbHw2TXc/a/d9dfH+OuvYoo0YYLM67jRemV9sMX5MPM97d5v7ayfr6sr+2E1txRajupDcApye\n5LQkJwAXAQeGynwUWGsqdQrwbOCrO62YJElaSsYWkiRpKtsmMKrqYeBS4EbgTuD6qroryeVJXtWU\nuRH4TpI7gE8Cv1ZV98+43pIkaQEZW0iSpGlt24Wk1Q3Z1FMNu5DYhWTrdduFZBbsQrKzddmFpJuM\nK7TBLiR2IWmrTnYhGZ9dSOxCMqnd6kIiSZIkSZI0dyYwJEmSJElS55nAkCRJkiRJnWcCQ5IkSZIk\ndZ4JDEmSJEmS1HkmMCRJkiRJUueZwJAkSZIkSZ1nAkOSJEmSJHWeCQxJkiRJktR5JjAkSZIkSVLn\nmcCQJEmSJEmdNzKBkWR/kruT3JPksm3KvSbJI0le0G4VJUnSMjG2kCRJ09g2gZHkOOBKYD9wJnBx\nkjM2KfdE4M3AZ2dRSUmStByMLSRJ0rRGtcA4BzhYVYeq6iHgOuDCTcq9DXg78HdA2q2iJElaIsYW\nkiRpKqMSGHuBwwOvjzTTHtU069xbVTc0k6q96kmSpCVjbCFJkqayZ8T8bQOGJD8A/EfgksHJW5Vf\nX19/dHxtbY21tbWRFZQkSbPV6/Xo9Xq7tbnWYgvjCkmSumlWsUWqto4jkpwLrFfV/ub1W4BHquqK\n5vWTgIPA95tFngp8F3hVVX1+aF213ba0OpLQj183/gKEUefH0eUeW37a9U1rq3psX/bo33HrNbyd\nSZYf3O5w+e3mTVKfNvfvNHWatD6TbuPY/c8x25tmn0y7/3di0mtkHnXcSpt16eK531VJqKqZdNto\nK7YwrtCGzT8v++PTfjbML7YYN66Ajc+m6e5n7b6vLt5fZx1btBEDbFbHncYr84stxo+J53nvbnN/\n7WRdXdkfu6mt2GJUF5JbgNOTnJbkBOAi4MDGzKp6sKp+uKqeVVXPov+grWOSF5IkSQ1jC0mSNJVt\nExhV9TBwKXAjcCdwfVXdleTyJK/ajQpKkqTlYWwhSZKmtW0XklY3ZFNPNexCYheSrddtF5JZsAvJ\nztZlF5JuMq7QBruQ2IWkrTrZhWR8diGxC8mkdqsLiSRJkiRJ0tyZwJAkSZIkSZ1nAkOSJEmSJHWe\nCQxJkiRJktR5JjAkSZIkSVLnmcCQJEmSJEmdZwJDkiRJkiR1ngkMSZIkSZLUeSYwJEmSJElS55nA\nkCRJkiRJnTdWAiPJ/iR3J7knyWWbzP+VJHck+WKSTyQ5tf2qSpKkZWBcIUmSpjEygZHkOOBKYD9w\nJnBxkjOGin0eeGFVPQ/4EPCOtisqSZIWn3GFJEma1jgtMM4BDlbVoap6CLgOuHCwQFX1qupvm5c3\nA89ot5qSJGlJGFdIkqSpjJPA2AscHnh9pJm2lTcAN+ykUpIkaWkZV0iSpKnsGaNMjbuyJK8DXgD8\n8mbz19fXHx1fW1tjbW1t3FVLkqQZ6fV69Hq93dqccYUkSUtuVrFFqraPI5KcC6xX1f7m9VuAR6rq\niqFyLwfeCby0qr69yXpq1La0GpLQj183/gKEMc7FTctPu75pbVWP7cse/TtuvYa3M8nyg9sdLr/d\nvEnq0+b+naZOk9Zn0m0cu/85ZnvT7JNp9/9OTHqNzKOOW2mzLl0897sqCVWV0SWnWrdxhVq1+edl\nf3zaz4b5xRbjxhWw8dk03f2s3ffVxfvrrGOLNmKAzeq403hlfrHF+DHxPO/dbe6vnayrK/tjN7UV\nW4zTheQW4PQkpyU5AbgIODBUmecD7wZetVmQIUmS1DCukCRJUxmZwKiqh4FLgRuBO4Hrq+quJJcn\n+amm2DuAE4EPJbk1yUdnVmNJkrSwjCskSdK0RnYhaW1DNvVUwy4kdiHZet12IZkFu5DsbF12Iekm\n4wptsAuJXUjaqpNdSMZnFxK7kExqN7uQSJIkSZIkzZUJDEmSJEmS1HkmMCRJkiRJUueZwJAkSZIk\nSZ1nAkOSJEmSJHWeCQxJkiRJktR5JjAkSZIkSVLnmcCQJEmSJEmdZwJDkiRJkiR1ngkMSZIkSZLU\neSYwJEmSJElS541MYCTZn+TuJPckuWyT+Y9Lcn0z/7NJnjmbqmpR9Hq9eVdBu8RjvVo83mqLsYUm\n5f1ndXisV4fHWtPYNoGR5DjgSmA/cCZwcZIzhoq9AfhOVZ0O/CfgillUVIvDm9Hq8FivFo+32mBs\noWl4/1kdHuvV4bHWNEa1wDgHOFhVh6rqIeA64MKhMq8G3teMfxh4WbtVlCRJS8TYQpIkTWVUAmMv\ncHjg9ZFm2qZlquph4MEkJ7dWQ0mStEyMLSRJ0lRSVVvPTF4D7K+qNzavXwe8qKp+aaAw/h8UAAAg\nAElEQVTM7cAFVfWN5vVB4Jyq+u7QurbekCRJ6pSqyizW21ZsYVwhSdJiaSO22DNi/r3AvoHX++h/\nUzJc5lTgG0n2AE8aTl7A7AIhSZK0UFqJLYwrJElaPaO6kNwCnJ7ktCQnABcBB4bKHAAuacb/KfCH\n7VZRkiQtEWMLSZI0lW1bYFTVw0kuBW4EjgOuqqq7klwO3FJVHwOuAt6f5B7gO8BrZ11pSZK0mIwt\nJEnStLZ9BoYkSZIkSVIXjOpCsmNJ9ie5O8k9SS6b9fY0e0kOJbktya1JPtdMOznJx5N8OclNSU4a\nKP/O5vh/Mcnz51dzjSPJ1Unuax6itzFt4uOb5JKm/JeTvH6334dG2+JYryc50lzftyZ5xcC8tzTH\n+u4k5w9M9z7fcUn2JflUkjuSfCnJm5rpC3lte84tH2OL5WVcsVqMLVbH3GKLqprZQL9p6EHgNOB4\n4AvAGbPcpsPsB+BrwMlD094B/Hozfhnw9mb8lcANzfiLgM/Ou/4OI4/vS4DnA7dPe3yBk4GvACc1\nw1eAk+b93hzGOtZvBX5lk7JnNvfw45t7+kEg3ucXYwCeCpzdjD8B+HPgjEW8tj3nlnMwtljewbhi\ntQZji9UZ5hVbzLoFxjnAwao6VFUPAdcBF854m9odw09/fzXwvmb8fcBPN+MXbkyvqpuBk5I8ZVdq\nqKlU1aeB+4cmT3J8nwpcANxUVQ9U1QPAx4H9s667JrPFsYZjr2/oH+trq+qhqjpEP7B4Ed7nF0JV\n/UVVfaEZ/z5wF7CXxby2PeeWl7HFEjKuWC3GFqtjXrHFrBMYe4HDA6+PNNO02Aq4KcktSd7YTHtK\nVd3XjN8HbAQST+fYc+AZu1NNtWiS47u3mX5kk+laDJc2TfuuGmj2t9Ux3eocUEclOY3+t2M3s5jX\ntrHFcjK2WC2LeO/RzhhbLLHdjC1mncDwCaHL6cVV9ULgFcAvJnnJ4MzqtwUaPPbDGVfPiwU2xvHV\nYnsX8CPA2cA3gd+ab3XUpiRPAD4MvLmqvjc4b4GubT9DlpOxxYpaoHuPpmdsscR2O7aYdQLjXmDf\nwOt9PDa7ogVUVd9s/v4l8BH6zbzua5oAkeRpwLea4sPnwDOaaVoskxzfI5tM99pfEFX1rWoAv0v/\n+gaP9cJLcjz9AOP9VfXRZvIiXttdqINaZmyxchbx3qMpGVssr3nEFrNOYNwCnJ7ktCQnABcBB2a8\nTc1QkscneWIzfiJwPnA7/eN6SVPsEmDjBD4AvL4pfy7wwECTIi2OSY/vTcD5SU5K8mTgJ4Ebd7fK\nmkbzQbPhZ+hf39A/1q9NckKSZwGnA5/D+/xCSBLgKuDOqvrtgVmLeG17zi0ZY4uVtIj3Hk3J2GI5\nzSu22NPquxhSVQ8nubSpwHHAVVV11yy3qZl7CvCR/vnKHuADVXVTkluADyZ5A3AI+FmAqrohySuT\nHAT+Gvj5+VRb40pyLXAecEqSw8BvAm9nguNbVd9N8jbgT5vVXt48lEcdssmxfiuwluRs+s39vgb8\nC4CqujPJB4E7gYeBf9l8k+J9fjG8GHgdcFuSW5tpb2EBr21ji6VkbLHEjCtWi7HFSplLbJHmp0sk\nSZIkSZI6a9ZdSCRJkiRJknbMBIYkSZIkSeo8ExiSJEmSJKnzTGBIkiRJkqTOM4EhSZIkSZI6zwSG\nJEmSJEnqPBMYkiRJkiSp80xgSJIkSZKkzjOBIUmSJEmSOs8EhiRJkiRJ6jwTGFp6SdaTvH/e9ZAk\nScvJWEOSdocJDK2CmncFJpHk7CR/luSvk9yS5HlblDshyVVJDiX5qyS3Jtk/VOZlSe5u1vXJJKcO\nzHtckquTPJjkm0l+2WV3d9kkxyf5UJKvJXkkyXlD631ckncn+Ysk30lyIMnTkSR1zVLGGk3ZS5sy\nf5vkmk3mL9Rn76otm+TcJB9v4ohvJflgkqcOH0dpUZjA0CrIvCswriQnAL8P/B5wEvA+4PeTHL9J\n8T3A14GXVtUPAf8G+GCSZzbrOgX4MPA/A08GbgGuH1h+HfhR4FTgJ4BfT3KBy+7eso0/Al4H/AXH\nBsBvBs4FzgKeDtwP/GckSV2zrLEGwL3A24CrN1nXwn32rtqy9I/xu4FnNsP3gGMSUdLCqCoHh6UY\ngMuAI8BfAXcD/7iZvg68f6Dcq4E76P8z+CngHw7MOwT8RjP/u/Q/rB83MP+ngC80y/4JcFbL7+F8\n4MjQtP8XuGDM5b8I/Ewz/gvAHw/MezzwN8Czm9f3Ai8fmP9vgWtddveWHTp2h+knowan/Q5wxcDr\n/x64e97XmoODg8OqDqxwrEE/iXHN0LSF++xdtWU3OY4vAP5q3teSg8O0gy0wtBSSPAf4ReC/qX5r\nhPPpBwjD5Z4N/FfgTcApwA3Ax5LsGSj2c83yPwo8m37LBpI8H7gKeCNwMvAe4EDzTcZmdbotyf1b\nDFdu8VZ+HLhtaNptzfRR++ApTX3vGFjXFzfmV9XfAF8BfjzJk4GnDc4f2o7L7s6yo1wFvDjJ05I8\nHvhn9M9ZSdIuM9bYtJXJIn72rtqyw14KfGmLeVLnmcDQsvh74HH0b+THV9XXq+qrm5S7CPi/quoP\nq+rvgf8A/APgHzXzC7iyqu6tqvuBfwdc3Mz7BeA9VfWn1fd7wN/Rb+J/jKp6blU9eYvh0i3exxOA\nB4emPQg8cbs33zT7/ADw3qr6cjP5RPrfEG22ricMvN5sO09w2V1ZdpSD9L/pu7dZ7jn0vwGTJO2+\nlY412Pw5H8Ya3V/2UUmeC/wvwP80PE9aFCYwtBSq6iDwr+g34bwvybVJnrZJ0afTf27ExnJFv+n+\n3oEyhwfGv94sA/1+g786+O0G8Az6We+2fA/4oaFpP8SxH1qPSvIDwPuBvwUGg5Xvb7Gu7zXzGJq/\nMW+7erhsu8uO8r8Bx9P/Fu5E4CPA/z3mspKkFq1yrNHYrAWGsUb3lwUgyY/Rbw30pqr6E6QFZQJD\nS6Oqrq2ql9D/8C/gik2K3dvMByBJgH3N9A2nDo1vzPs68O+Gvt14QlUNPkTpUUnuSPK9LYbf2eJt\n3AE8d2jacznaLWR4G6Hf1PSHgdc03/QMrut5A2VPpN9U9Y7mG59vAmcPlH8eR5sUuuzuLDvK8+i3\nqnmgqv4/4ErgnCQnj7m8JKlFqxhrDNisBcYifvau2rI0D3j/OPBvq+oDSIts3g/hcHBoY6Dff/Qf\n02/aeQL9B2Jd08xbp3mwFv0m+N9vyh4P/Br9Zvp7mvmH6Pch3Ev/W+8/Bv7XZt4L6QcW59D/FuJE\n+g9VfEKL7+P4pg5vat7LpcDXNuq3Sfl3A58BTtxk3inAA8A/AX6QfpD1/wzM//dAj/7Tqf8h8A3g\n/GbeD7vs7Jdt5j+uWe4w8JPADw7Muxr4EP1vUo4H/jVweN7Xm4ODg8MqDqxurHFc8zn17+n/csnj\ngOOaecYa3V92L/3nZfzqvK8hB4c2hrlXwMGhjYH+z0zeTL/543eAA8BTm3lvBX5voOxP089kP0D/\nyeBnDMz7Gv0njG88OfwaHvsP5QXA55p536D/E1atBRXNNs6m//NYf9P8fd7AvH8N3NCMPxN4pCn3\nvYHh4oHyLwPuasp8Ejh1YN4J9FtvPEj/Jzz/1VA9XHZ3lj3UHMe/H/h7ajPvZOC/APc159wf0X94\n3NyvOQcHB4dVG1jBWKN5vd58Pg0OvzkwfxE/e1dm2ebcfITHxor+ConDwg6p2qw12FFJrqaf+f1W\nVZ21yfwn0Q+w9wF7gP9QVe/ddqVSRyX5GvCGqvrkvOsiScvIuEKrzlhDkqY3zjMwrgH2bzP/F4Ev\nVdXZwBrwW0M/EyVJkrTBuEKSJE1lZAKjqj5NvwnbVh7h6FNvfwj4TlU93ELdJEnSkjGukCRJ02rj\nG40rgY8l+Qb93xv+2RbWKc1FVT1r3nWQpBVnXKGlZqwhSdNrI4GxH/h8Vf1Ekh8FPp7keVU1/NvD\n2z9sQ5IkdUZVZU6bNq6QJGkJtRFbtJHA+B/p/3QPVfWV5sFEz6H/ROPHGPXAUC2H9fV11tfX510N\n7QKP9WrxeK+OZF65C8C4Qpvw/rM6lvlY9++tBcT7F8t9rHWstmKLcR7iOcrXgZcDJHkK/SDjqy2s\nV5IkrR7jCkmStKmRLTCSXAucB5yS5DD93xI+HqCq3gO8DXhvktuAAL9eVd+dXZUlSdKiMq6QJEnT\nGpnAqKqLR8z/JnBBazXSwltbW5t3FbRLPNarxeOtNhhXaBref1aHx3p1eKw1jexW/6skZV8vSZK6\nL8k8H+I5FuMKSYvGZ2BolbUVW7TxDAxJkiRJkqSZMoEhSZIkSZI6zwSGJEmSJEnqPBMYkiRJkiSp\n80xgSJIkSZKkzjOBIUmSJEmSOs8EhiRJkiRJ6jwTGJIkSZIkqfNMYEiSJEmSpM4bmcBIcnWS+5Lc\nvk2ZtSS3JvlSkl6rNZQkSUvDuEKSJE0rVbV9geQlwPeB36uqszaZfxLwJ8AFVXUkySlV9e1NytWo\nbUmSpPlLQlVlRus2rpC0kpIABQTvX1o1bcUWI1tgVNWngfu3KfJzwIer6khT/pggQ5IWTZLHDJLa\nYVwhSZKm1cYzME4HTk7yqSS3JPkfWlinJHVANYOkXWRcIUmSNrWnhXUcD7wAeBnweOAzST5bVfcM\nF1xfX390fG1tjbW1tRY2L0mSdqLX69Hr9eZdjQ3GFZIkLbhZxRYjn4EBkOQ04GNb9FW9DPgHVbXe\nvP5d4A+q6kND5eyrKmlhHO2nCvZV1aqZ5TMwmvWfhnGFpBXjMzC0ynbtGRhj+H3gv0tyXJLHAy8C\n7mxhvZIkafUYV0iSpE2N7EKS5FrgPOCUJIeBt9Jv3klVvaeq7k7yB8BtwCPA/1FVBhqSJOkYxhWS\nJGlaY3UhaWVDNvWUtEDsQqJVNusuJG0wrpC0aOxColXWpS4kkiRJkiRJM2UCQ5IkSZIkdZ4JDEmS\nJEmS1HkmMCRJkiRJUueN/BUSSZIkSZJ0VP+hrEf5YNbdYQsMSZIkSZImVhz91TrtBltgSJJWwuA3\nJX5LIknS7vEzWG0xgSFJeozlDjIK2PFPkEuSpIn5GaydswuJJGkTy5a4kCRJ0qIzgSFJkiRJkjrP\nBIYkSZIkSeq8kQmMJFcnuS/J7SPK/bdJHk7yT9qrniRJWibGFZIkaVrjtMC4Bti/XYEkxwFXAH+A\nT2aRJElbM66QJElTGZnAqKpPA/ePKPZLwIeAv2yjUpIkaTkZV0iSpGnt+BkYSfYCFwLvaib56HpJ\nkjQV4wpJkrSVPS2s47eB36iqShK2aeq5vr7+6Pja2hpra2stbF6SJO1Er9ej1+vNuxobjCskSVpw\ns4otUjX6i40kpwEfq6qzNpn3VY4GF6cAfwO8saoODJWrcbYlSV3Q/79p454VVun+dfS9L9f7Xtb3\nNQtJqKqZPXvCuELSKlrlz6FlfO+rHCtOo63YYsctMKrqRzbGk1xDPyA5sM0ikiRJmzKukCRJWxmZ\nwEhyLXAecEqSw8BbgeMBquo9s62eJElaJsYVkiRpWmN1IWllQzb1lLRAVrlZ4DI284TlfV+zMOsu\nJG0wrpC0aFb5c2gZ3/sqx4rTaCu22PGvkEiSJEmSJM2aCQxJkiRJktR5JjAkSZIkSVLnmcCQJEmS\nJEmdZwJDkiRJkiR1ngkMSZIkSZLUeSYwJEmSJElS55nAkCRJkiRJnWcCQ5IkSZIkdZ4JDEmSJEmS\n1HkjExhJrk5yX5Lbt5j/z5J8McltSf4kyXPbr6YkSVoWxhaSFl2SxwySdsc4LTCuAfZvM/+rwEur\n6rnA24D/vY2KSVKbDDKkTjG2kLQEqhkk7ZaRCYyq+jRw/zbzP1NVDzYvbwae0VLdJKllBhlSFxhb\nSJKkabT9DIw3ADe0vE5JkrS6jC0kSRIAe9paUZKfAP458OKtyqyvrz86vra2xtraWlublyRJU+r1\nevR6vXlX4xijYgvjCkmSumlWsUWqRjepTnIa8LGqOmuL+c8F/k9gf1Ud3KJMjbMtSZqF/rMvCghj\n3vc42uVkvGWWxaT7alEs6/uahSRU1UwfGLPT2MK4QtI8TRMnrPLn0DK+91WOFafRVmyx4xYYSU6l\nH2C8bqvkhTRLgw9l9MYhSYvP2EKSJG1mZAIjybXAecApSQ4DbwWOB6iq9wC/CTwZeFfzj+RDVXXO\nzGosbaqf0ZUkdZ+xhSRJmsZYXUha2ZBNPTUjy9gkTe2zC8n4lvWaWtb3NQu70YVkp4wrJM2TXUgm\ns4zvfZVjxWm0FVu0/SskkiRJkiRJrWvtV0gkaTcNPvsEfP6JJEmStOxsgSFpgRVHm+5JkiRJWma2\nwJAkSZIG+Atnq8nWnVL32QJDkiRJOob/vK4mW3dKXWYLDGnF+K3SdPxWRpIkSZovW2BIK8l/vqfj\ntzKSJEnSvJjAkCRJkiRJnWcCQ5IkSZIkdZ7PwJAkSZKkXeZzyaTJmcCQJEmSNDX/Ed+JAjKylKS+\nkV1Iklyd5L4kt29T5p1J7knyxSTPb7eK0viSPDpIXeQ5qlVnXCEtKxMXkmZvnGdgXAPs32pmklcC\nP1ZVpwO/ALyrpbpJU/BXIrQIPEe10owrJEnSVEYmMKrq08D92xR5NfC+puzNwElJntJO9SRJ0jIx\nrpCk9gy27LR1p1ZBG79Cshc4PPD6CPCMFtYrSZJWj3GFJE3EFshaHW09xHM43bfpFbS+vv7o+Nra\nGmtray1tXpIkTavX69Hr9eZdjUHGFZIkLbBZxRYZ50nBSU4DPlZVZ20y791Ar6qua17fDZxXVfcN\nlSufSqxZ6DeX23iC88Y5Fp+CvYXB/bXI++jo+4Bx3suk73t4/X07P78WYf8vQh2nsazvaxaSUFUz\na4tsXKGue2xscZTn3OaW5f46SWwxaRzy2GX65dvYb9PUYx6W5RwZtCj7vivaii3a6EJyAHg9QJJz\ngQeGgwxJkqQxGVeoY2yeL0ldMbILSZJrgfOAU5IcBt4KHA9QVe+pqhuSvDLJQeCvgZ+fZYUlSdLi\nMq6QJEnTGqsLSSsbsqmnZsQuJJNZliZ8diGZnUWo4zSW9X3Nwqy7kLTBuEKzZGwxmWW5v9qFZHaW\n5RwZtCj7viu61IVEkiRJkiRpptr6FRJJWjnDv7du5l2SJEmaHVtgSNKO+HA3SZIkaTfYAkOSpG3Y\n0kaSJLVpMLYwrpiMCQxJkkYafqCrJEnt8x/bVbLxoGBNwi4kkiRJktQZJi6krZjAkCRJkiRJnWcC\nQ5IkSZIkdZ4JDEmSJEmS1HkmMCRJkiRJUueNTGAk2Z/k7iT3JLlsk/mnJvlUks8n+WKSV8ymqpKk\naSR5zCDNm7GFJEmaxrYJjCTHAVcC+4EzgYuTnDFU7N8A11XVC4DXAr8zi4pKknai8Knm6gJjC0mS\nNK1RLTDOAQ5W1aGqegi4DrhwqMwjwJOa8ZOAe9utoiRJWiLGFpK04GzZqXnZM2L+XuDwwOsjwIuG\nyqwDNyX5JeBE4GWt1U6SJC0bYwtJWgoFmMDQ7hrVAmOc9sY/B1xTVfuAVwL/Zce1kiRJy8rYQpIk\nTWVUC4x7gX0Dr/fR/6Zk0D8HLgCoqs8m+cEkp1TVt4dXtr6+/uj42toaa2trU1RZWj2DzfOqfI6B\npHb1ej16vd5uba612MK4QpKkbppVbJHt/hlKsgf4c/pNN78BfA64uKruGihzA3B9Vb2veQjXJ6pq\n7ybrKv/x0iz0/7nfaMK2cY5lqf7RH3yPO31f065ruI/jvPfv0fcB47yXSd/38Pr7Hru9SeswTT3a\nMOt9tSh2du4v571lK0moqpm0C24rtjCu0CytQmzRpmX53Jjkft9GDLDZfttpvLL7sUV3459Z28m+\nX8b9MUpbscW2XUiq6mHgUuBG4E76wcRdSS5P8qqm2K8Cb0zyBeC/ApfstFKSuspfspC0M8YWkiRp\nWtu2wGh1Q35Tokbb3SFW4VuS7rTA6M7+tQXG+GyB0bcs5/5umGULjLYYV2iWViG2aNOyfG7YAmN8\ntsCwBcak2ootRj0DQ5oRn1osSZI0D13pFtqVekhaHCYwpAn5YStJkhbfcCvDeelKPSQtglE/oypp\nUz4LQpIkSZJ2ky0wJEmStLBsGSnN18Y16LWn3WACQ3PV9gM9JW2nf70ZaEhaPovdDcF4SIvNZ9tp\n95jA0JwtdsChdhi47abFuuY8NyStDv8JlKRRTGBIM2bT1nEZuGkrnhuSJGnnjMsXnwkMaVcs1rfe\nkiRJi8wWfNqacfkiM4EhSZKkpeE/rjrKFnzSsjGBIUmSpCWy/N+umqSRtKpMYEgzdDTACEcDqkmX\nlSRJGmbrAkmr5wdGFUiyP8ndSe5JctkWZX42yR1JvpTkA+1XU+r/Qz84LI6dfDNSO1xekrrH2EKS\nJE1j2xYYSY4DrgReDtwL/GmSA1V110CZ04HfAP5RVT2Y5JRZVlirbvmbhUrSMjO2kKb32C9wjIUk\nrZ5RLTDOAQ5W1aGqegi4DrhwqMwbgSur6kGAqvp2+9WUJElLwthC2pHpW2cuXitWSXqsUQmMvcDh\ngddHmmmDTgeek+SPk3wmyQVtVlCSJC0VYwtpruyaKnVDP5loUnEyox7iOc4dbg/wY8B5wD7gj5Kc\ntfGtyaD19fVHx9fW1lhbWxu7opIkaTZ6vR69Xm+3NtdabGFcIUlaXMvdNX5WsUW2++mlJOcC61W1\nv3n9FuCRqrpioMy7gJur6r3N608Al1XVnw2tq/yZJ8FGlnHjydlHL9xR58fR5R5bftr1TWuremxf\n9ujfces1vJ1Jlx+nTpOsa5L3vRt1mrQ+k27j2P3PMdubZp9Mu/93YtJrZB513Eqbdeniud9VSaiq\nmURUbcUWxhXasPnnZX982nNkfrHFuHEFbHw2TXc/a/d9dfH+OuvYoo0YYLM67jRemV9sMX5MPM97\nd5v7ayfrMraY3qguJLcApyc5LckJwEXAgaEyHwXWmkqdAjwb+OpOKyZJkpaSsYUkSZrKtgmMqnoY\nuBS4EbgTuL6q7kpyeZJXNWVuBL6T5A7gk8CvVdX9M663JElaQMYWkiRpWtt2IWl1Qzb1VMMuJHYh\naaNOdiEZn11IdrYum3l2k3GFNtiFxC4kbdXJLiTjswuJXUgmtVtdSCRJkiRJkubOBIYkSZIkSeo8\nExiSJEmSJKnzTGBIkiRJkqTOM4EhSZIkSZI6zwSGJEmSJEnqPBMYkiRJkiSp80xgSJIkSZKkzjOB\nIUmSJEmSOs8EhiRJkiRJ6ryRCYwk+5PcneSeJJdtU+41SR5J8oJ2qyhJkpaJsYUkSZrGtgmMJMcB\nVwL7gTOBi5OcsUm5JwJvBj47i0pKkqTlYGwhSZKmNaoFxjnAwao6VFUPAdcBF25S7m3A24G/A9Ju\nFSVJ0hIxtpAkSVMZlcDYCxweeH2kmfaoplnn3qq6oZlU7VVPkiQtGWMLSZI0lT0j5m8bMCT5AeA/\nApcMTt5ppSRJ0tIytpAkSVMZlcC4F9g38Hof/W9KNjwR+HGglwTgqcCBJK+qqs8Pr2x9ff3R8bW1\nNdbW1qaqtCRJak+v16PX6+3W5lqLLYwrJEnqplnFFqna+ouQJHuAPwdeBnwD+BxwcVXdtUX5TwG/\nulnyIkltty2tjn5AWvS/UNs4J8Ko8+Poco8tP+36prVVPbYve/TvuPUa3s6ky49Tp0nWNcn73o06\nTVqfSbdx7P7nmO1Ns0+m3f87Mek1Mo86bqXNunTx3O+qJFTVTFo9tBVbGFdow+afl/3xac+R+cUW\n48YVsPHZNN39rN331cX766xjizZigM3quNN4ZX6xxfgx8Tzv3W3ur52sy9hiets+A6OqHgYuBW4E\n7gSur6q7klye5FU73bgkSVotxhaSJGla27bAaHVDflOihi0wbIHRRp1sgTE+W2DsbF1+S9JNxhXa\nYAsMW2C0VSdbYIzPFhi2wJjUrrTAkCRJkiRJ6gITGJIkSZIkqfNMYEiSJEmSpM4zgSFJkiRJkjrP\nBIYkSZIkSeo8ExiSJEmSJKnzTGBIkiRJkqTOM4EhSZIkSZI6zwSGJEmSJEnqPBMYkiRJkiSp80xg\nSJIkSZKkzhsrgZFkf5K7k9yT5LJN5v9KkjuSfDHJJ5Kc2n5VJUnSMjCukCRJ0xiZwEhyHHAlsB84\nE7g4yRlDxT4PvLCqngd8CHhH2xWVJEmLz7hCkiRNa5wWGOcAB6vqUFU9BFwHXDhYoKp6VfW3zcub\ngWe0W01JkrQkjCskSdJUxklg7AUOD7w+0kzbyhuAG3ZSKUmStLSMKyRJ0lT2jFGmxl1ZktcBLwB+\nebP56+vrj46vra2xtrY27qolSdKM9Ho9er3ebm3OuEKSpCU3q9giVdvHEUnOBdaran/z+i3AI1V1\nxVC5lwPvBF5aVd/eZD01altaDUnox68bfwHCGOfipuWnXd+0tqrH9mWP/h23XsPbmXT5ceo0ybom\ned+7UadJ6zPpNo7d/xyzvWn2ybT7fycmvUbmUcettFmXLp77XZWEqsroklOt27hCrdr887I/Pu05\nMr/YYty4AjY+m6a7n7X7vrp4f511bNFGDLBZHXcar8wvthg/Jp7nvbvN/bWTdRlbTG+cLiS3AKcn\nOS3JCcBFwIGhyjwfeDfwqs2CDEmSpIZxhSRJmsrIBEZVPQxcCtwI3AlcX1V3Jbk8yU81xd4BnAh8\nKMmtST46sxpLkqSFZVwhSZKmNbILSWsbsqmnGnYhsQtJG3WyC8n47EKys3XZzLObjCu0wS4kdiFp\nq052IRmfXUjsQjKp3exCIkmSJEmSNFcmMCRJkiRJUueZwJAkSZIkSZ1nAkOSJEmSJHWeCQxJkiRJ\nktR5JjAkSZIkSVLnmcCQJEmSJEmdZwJDkiRJkiR1ngkMSZIkSZLUeSYwJEmSJElS55nAkCRJkiRJ\nnTcygZFkf5K7k9yT5LJN5j8uyfXN/M8meeZsqqpF0ev15l0F7RKP9WrxeKstxuWBnvgAAAWeSURB\nVBaalPef1eGxXh0ea01j2wRGkuOAK4H9wJnAxUnOGCr2BuA7VXU68J+AK2ZRUS0Ob0arw2O9Wjze\naoOxhabh/Wd1eKxXh8da0xjVAuMc4GBVHaqqh4DrgAuHyrwaeF8z/mHgZe1WUZIkLRFjC0mSNJVR\nCYy9wOGB10eaaZuWqaqHgQeTnNxaDSVJ0jIxtpAkSVNJVW09M3kNsL+q3ti8fh3woqr6pYEytwMX\nVNU3mtcHgXOq6rtD69p6Q5IkqVOqKrNYb1uxhXGFJEmLpY3YYs+I+fcC+wZe76P/TclwmVOBbyTZ\nAzxpOHkBswuEJEnSQmkltjCukCRp9YzqQnILcHqS05KcAFwEHBgqcwC4pBn/p8AftltFSZK0RIwt\nJEnSVLZtgVFVDye5FLgROA64qqruSnI5cEtVfQy4Cnh/knuA7wCvnXWlJUnSYjK2kCRJ09r2GRiS\nJEmSJEldMKoLyY4l2Z/k7iT3JLls1tvT7CU5lOS2JLcm+Vwz7eQkH0/y5SQ3JTlpoPw7m+P/xSTP\nn1/NNY4kVye5r3mI3sa0iY9vkkua8l9O8vrdfh8abYtjvZ7kSHN935rkFQPz3tIc67uTnD8w3ft8\nxyXZl+RTSe5I8qUkb2qmL+S17Tm3fIwtlpdxxWoxtlgdc4stqmpmA/2moQeB04DjgS8AZ8xymw6z\nH4CvAScPTXsH8OvN+GXA25vxVwI3NOMvAj477/o7jDy+LwGeD9w+7fEFTga+ApzUDF8BTpr3e3MY\n61i/FfiVTcqe2dzDj2/u6QeBeJ9fjAF4KnB2M/4E4M+BMxbx2vacW87B2GJ5B+OK1RqMLVZnmFds\nMesWGOcAB6vqUFU9BFwHXDjjbWp3DD/9/dXA+5rx9wE/3YxfuDG9qm4GTkrylF2poaZSVZ8G7h+a\nPMnxfSpwAXBTVT1QVQ8AHwf2z7rumswWxxqOvb6hf6yvraqHquoQ/cDiRXifXwhV9RdV9YVm/PvA\nXcBeFvPa9pxbXsYWS8i4YrUYW6yOecUWs05g7AUOD7w+0kzTYivgpiS3JHljM+0pVXVfM34fsBFI\nPJ1jz4Fn7E411aJJju/eZvqRTaZrMVzaNO27aqDZ31bHdKtzQB2V5DT6347dzGJe28YWy8nYYrUs\n4r1HO2NsscR2M7aYdQLDJ4QupxdX1QuBVwC/mOQlgzOr3xZo8NgPZ1w9LxbYGMdXi+1dwI8AZwPf\nBH5rvtVRm5I8Afgw8Oaq+t7gvAW6tv0MWU7GFitqge49mp6xxRLb7dhi1gmMe4F9A6/38djsihZQ\nVX2z+fuXwEfoN/O6r2kCRJKnAd9qig+fA89opmmxTHJ8j2wy3Wt/QVTVt6oB/C796xs81gsvyfH0\nA4z3V9VHm8mLeG13oQ5qmbHFylnEe4+mZGyxvOYRW8w6gXELcHqS05KcAFwEHJjxNjVDSR6f5InN\n+InA+cDt9I/rJU2xS4CNE/gA8Pqm/LnAAwNNirQ4Jj2+NwHnJzkpyZOBnwRu3N0qaxrNB82Gn6F/\nfUP/WL82yQlJngWcDnwO7/MLIUmAq4A7q+q3B2Yt4rXtObdkjC1W0iLeezQlY4vlNK/YYk+r72JI\nVT2c5NKmAscBV1XVXbPcpmbuKcBH+ucre4APVNVNSW4BPpjkDcAh4GcBquqGJK9MchD4a+Dn51Nt\njSvJtcB5wClJDgO/CbydCY5vVX03yduAP21We3nzUB51yCbH+q3AWpKz6Tf3+xrwLwCq6s4kHwTu\nBB4G/mXzTYr3+cXwYuB1wG1Jbm2mvYUFvLaNLZaSscUSM65YLcYWK2UusUWany6RJEmSJEnqrFl3\nIZEkSZIkSdoxExiSJEmSJKnzTGBIkiRJkqTOM4EhSZIkSZI6zwSGJEmSJEnqPBMYkiRJkiSp80xg\nSJIkSZKkzvv/AYKZ2ev2+5CGAAAAAElFTkSuQmCC\n",
"text/plain": [
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely missing description for barplots + also missed my comment about reducing number of histograms

"py.tight_layout()\n",
"py.show()"
]
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missed conclusion section in notebooks

Copy link
Copy Markdown
Contributor

@menshikh-iv menshikh-iv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@markroxor good work! Looks like almost done work 👍

Comment thread gensim/models/tfidfmodel.py Outdated
pivot : float, optional
It is the point around which the regular normalization curve is `tilted` to get the new pivoted
normalization curve. In the paper[2] it is the point where the retrieval and relevance curves intersect.
This parameter along with slope is used for pivoted document length normalization[2].
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use Some text <http://...>_ references (instead of [123]_), for all references in this file. This will be needed for serious change in documentation building that happens very soon.

{
"cells": [
{
"cell_type": "markdown",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check PEP8 again please

Comment thread gensim/matutils.py Outdated
numpy.ndarray, scipy.sparse, list of (int, float)}
Normalized vector in same format as `vec`.
int
Normalizing factor.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A strange description, better vector length maybe (here and everywhere)?

@menshikh-iv
Copy link
Copy Markdown
Contributor

@markroxor horaaay 🔥 🔥 🌟, you did it! Congratz!

@menshikh-iv menshikh-iv merged commit 985d552 into piskvorky:develop Mar 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

incubator project PR is RaRe incubator project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pivoted normalization for tfidf model

2 participants