当前位置:首页 > JavaScript

js实现ngram

2026-01-31 14:02:58JavaScript

js实现ngram

js实现ngram

实现N-gram的JavaScript方法

N-gram是一种从文本中提取连续N个项目的序列的方法,常用于自然语言处理、文本挖掘等领域。以下是几种实现方式:

基于字符串的简单实现

function generateNgrams(text, n) {
  const ngrams = [];
  for (let i = 0; i <= text.length - n; i++) {
    ngrams.push(text.substring(i, i + n));
  }
  return ngrams;
}

处理单词级别的N-gram

function wordNgrams(text, n) {
  const words = text.split(/\s+/);
  const ngrams = [];

  for (let i = 0; i <= words.length - n; i++) {
    ngrams.push(words.slice(i, i + n).join(' '));
  }

  return ngrams;
}

支持多种N值的扩展实现

function multiNgram(text, minN = 1, maxN = 3) {
  const result = {};
  const tokens = text.split(/\s+/);

  for (let n = minN; n <= maxN; n++) {
    result[n] = [];
    for (let i = 0; i <= tokens.length - n; i++) {
      result[n].push(tokens.slice(i, i + n).join(' '));
    }
  }

  return result;
}

带频率统计的N-gram

function ngramWithFrequency(text, n) {
  const ngrams = {};
  const words = text.split(/\s+/);

  for (let i = 0; i <= words.length - n; i++) {
    const gram = words.slice(i, i + n).join(' ');
    ngrams[gram] = (ngrams[gram] || 0) + 1;
  }

  return ngrams;
}

处理标点符号和大小写的改进版

function cleanNgrams(text, n) {
  const cleaned = text.toLowerCase().replace(/[^\w\s]/g, '');
  const words = cleaned.split(/\s+/).filter(Boolean);
  const ngrams = [];

  for (let i = 0; i <= words.length - n; i++) {
    ngrams.push(words.slice(i, i + n).join(' '));
  }

  return ngrams;
}

这些实现可以根据具体需求进行调整,比如处理不同语言、添加停用词过滤或实现更复杂的文本预处理步骤。

标签: jsngram
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…