Косинус Сходство между двумя предложениями разной длины с помощью word2vec Google News Corpus в Java - PullRequest
0 голосов
/ 28 августа 2018

Я хочу найти косинусное сходство между двумя предложениями разной длины, используя word2vec Google news corpus. Этот метод позволяет мне найти косинусное сходство между двумя предложениями одинаковой длины, но выдает ошибку, когда длина отличается.

@RestController
public class word2vecsentence {
@Autowired
Word2VecModel wordVector;


 @RequestMapping(value="/sentsimilarity",method=RequestMethod.POST)
 public double cosineSimForSentence(@RequestParam("sent1") String sentence1,
 @RequestParam("sent2")String sentence2){
 Collection<String> label1 = Splitter.on(' ').splitToList(sentence1);
 Collection<String> label2 = Splitter.on(' ').splitToList(sentence2);

 WordVectors vector = wordVector.getModel();
 double consin = 0;
 try{
 INDArray array1 = vector.getWordVectorsMean(label1);
 System.out.println(array1);
 INDArray array2 = vector.getWordVectorsMean(label2);
 System.out.println(array2);
 consin = Transforms.cosineSim(array1, array2);
 return consin;
 }catch(Exception e){
 e.printStackTrace();
 return consin;
 }
 }}

Может кто-нибудь помочь мне с этим вопросом?

...