Github user MLnick commented on a diff in the pull request:

    https://github.com/apache/spark/pull/10152#discussion_r47429085
  
    --- Diff: 
mllib/src/main/scala/org/apache/spark/mllib/feature/Word2Vec.scala ---
    @@ -534,8 +577,15 @@ class Word2VecModel private[spark] (
         // Need not divide with the norm of the given vector since it is 
constant.
         val cosVec = cosineVec.map(_.toDouble)
         var ind = 0
    +    var vecNorm = 1f
    +    if (norm) {
    --- End diff --
    
    Cosine similarity is by definition normalized. I view the current 
implementation that doesn't normalize it correctly as a bug. Also, there is no 
real performance gain for not normalizing, since only `fVector` is currently 
not normalized so that is one additional operation. What is the use case for 
"non-normalized almost cosine similarity" similarity vs using standard cosine 
similarity?
    
    @jkbradley @srowen what are your thoughts on this? There is an outstanding 
JIRA [SPARK-7617](https://issues.apache.org/jira/browse/SPARK-7617) and PR 
#6245, addressing this issue.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to