gpt4 book ai didi

javascript - 从句子中删除停用词

转载 作者:行者123 更新时间:2023-12-03 03:42:28 25 4
gpt4 key购买 nike

我有一个句子,但这个句子被分割为每个空格。

我的数据输出是这样的

const escapeRE = new RegExp(/([/\?""])/g);
const myDatas = data.map(des => des.Sentence.toLowerCase().replace(escapeRE, '').split(' '));

[ [ 'yes',
'keep',
'go',
'apple',
'tabacco',
'javascript',
'no',
'uhh',
'omg',
'hi.' ],
['say',
'hello',
'me',
'allright',
'maybe',
'mi',
'say.'
....] ]

而且我有一个停用词 JSON 文件。

停用词JSON文件的内容

['yes',
'hi',
'so',
'say',
'me',
'uhh',
'omg',
'go',
'hello',
'hi'
...]

所以我想从数组句子中删除停用词。我想要纯粹的句子,没有停用词。停用词定义;

const stopwords = require('./stop_words.json');

那我该怎么办?我不知道。我尝试了 myDatas.replace('stopwords', '' ) 函数,但没用

最佳答案

您可以使用这样的数组原型(prototype):

Array.prototype.diff = function(stopwords) {
return this.filter(function(word) {
var punctuationlessWord = word.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, "");
return stopwords.indexOf(punctuationlessWord) < 0;
});
};

及用法:

myDatas.forEach(function(part, index, theArray) {
theArray[index] = theArray[index].diff( stopwords );
});

var myDatas = [ [ 'yes',
'keep',
'go',
'apple',
'tabacco',
'javascript',
'no',
'uhh',
'omg',
'hi.' ],
['say',
'hello',
'me',
'allright',
'maybe',
'mi',
'say.'] ];

var stopwords = ['yes',
'hi',
'so',
'say',
'me',
'uhh',
'omg',
'go',
'hello',
'hi'];

Array.prototype.diff = function(stopwords) {
return this.filter(function(word) {
var punctuationlessWord = word.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g,"");
return stopwords.indexOf(punctuationlessWord) < 0;
});
};

myDatas.forEach(function(part, index, theArray) {
theArray[index] = theArray[index].diff( stopwords );
});

console.log(myDatas);

关于javascript - 从句子中删除停用词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45560832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com