Skip to content

Commit 381c8ea

Browse files
test(contextual-vectors-specs): complete test cases
1 parent 453f33e commit 381c8ea

File tree

2 files changed

+81
-7
lines changed

2 files changed

+81
-7
lines changed

src/doc-v2.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ var doc = function ( docData, addons ) {
470470
cv.l2NormIndex = docData.wordVectors.l2NormIndex;
471471
cv.wordIndex = docData.wordVectors.wordIndex;
472472
cv.dimensions = docData.wordVectors.dimensions;
473-
cv.unkVector = docData.wordVectors.unkVector;
473+
cv.unkVector = docData.wordVectors.unkVector.slice( 0 );
474474
// Following properties will be determined on the basis of the context.
475475
cv.size = 0;
476476
cv.words = [];
@@ -487,12 +487,12 @@ var doc = function ( docData, addons ) {
487487
.out( its.lemma )
488488
.map( ( t ) => t.toLowerCase() );
489489

490-
for ( let i = 0; i < docTokens.length; i += 1 ) cv.vectors[ docTokens[ i ] ] = awvs[ docTokens[ i ] ] || cv.unkVector;
491-
for ( let i = 0; i < docTokensLemma.length; i += 1 ) cv.vectors[ docTokensLemma[ i ] ] = awvs[ docTokensLemma[ i ] ] || cv.unkVector;
490+
for ( let i = 0; i < docTokens.length; i += 1 ) cv.vectors[ docTokens[ i ] ] = ( awvs[ docTokens[ i ] ] || cv.unkVector ).slice( 0 );
491+
for ( let i = 0; i < docTokensLemma.length; i += 1 ) cv.vectors[ docTokensLemma[ i ] ] = ( awvs[ docTokensLemma[ i ] ] || cv.unkVector ).slice( 0 );
492492
for ( let i = 0; i < specificWordVectors.length; i += 1 ) {
493-
const spWord = specificWordVectors[ i ].toString().trim();
493+
const spWord = ( specificWordVectors[ i ] ) ? specificWordVectors[ i ].toString().trim() : false;
494494
if ( spWord )
495-
cv.vectors[ specificWordVectors[ i ] ] = awvs[ specificWordVectors[ i ] ] || cv.unkVector;
495+
cv.vectors[ specificWordVectors[ i ] ] = ( awvs[ specificWordVectors[ i ] ] || cv.unkVector ).slice( 0 );
496496
}
497497

498498
if ( similarWordVectors ) {
@@ -532,7 +532,8 @@ var doc = function ( docData, addons ) {
532532
// Update contextual vectors using the list of similar words; also update their size.
533533
for ( let i = 0; i < similarWords.length; i += 1 ) {
534534
if ( cv.vectors[ similarWords[ i ] ] === undefined ) {
535-
cv.vectors[ similarWords[ i ] ] = awvs[ similarWords[ i ] ] || cv.unkVector;
535+
// Similar word must exist in `awvs`.
536+
cv.vectors[ similarWords[ i ] ] = awvs[ similarWords[ i ] ].slice( 0 );
536537
cv.size += 1;
537538
}
538539
}
@@ -543,7 +544,7 @@ var doc = function ( docData, addons ) {
543544
for ( let i = 0; cv.size < wordVectorsLimit; i += 1 ) {
544545
const word = docData.wordVectors.words[ i ];
545546
if ( !cv.vectors[ word ] ) {
546-
cv.vectors[ word ] = awvs[ word ];
547+
cv.vectors[ word ] = awvs[ word ].slice( 0 );
547548
cv.size += 1;
548549
}
549550
}
@@ -556,6 +557,7 @@ var doc = function ( docData, addons ) {
556557

557558
// Update the word index entry inside every vector.
558559
for ( let i = 0; i < cv.size; i += 1 ) cv.vectors[ cv.words[ i ] ][ cv.wordIndex ] = i;
560+
559561
return JSON.stringify( cv );
560562
}; // contextualVectors()
561563

0 commit comments

Comments
 (0)