Home Reference Source Test

packages/causality-representation/src/wordEmbeddingFunctor.mixins.js

const WordEmbeddingFunctorMixins = (BaseFunctionClass) => class extends BaseFunctionClass{
    /**
     *
     * @param { Array } tokens - list of tokens to find coresponding ids
     * @param { Function } mapper - 
     * @returns 
     */
    mapTokenToChunkIds(tokens, mapper){
        const R = this.R;
        const TokenChunkIdMapper = mapper;
        let tokenChunkMap = tokens.map( t => {
            let chunkId = TokenChunkIdMapper(t);
            return [[t, chunkId], chunkId]; 
        });
        let [tokenChunkIds, _chunkIds] = this.unzip(tokenChunkMap);
        let chunkIds = R.uniq(_chunkIds);
        console.log({chunkIds, tokenChunkIds});
        return {tokenChunkIds, chunkIds};
    }
    /**
     * return zero vector given the vec size
     * @param { Number } vecSize - positive integer indicates vector length
     * @returns { Array } zero vector
     */
    zeroVec(vecSize){
        return this.R.map(()=>0,this.R.range(0, vecSize));
    };
};
export default WordEmbeddingFunctorMixins;