文本向量化 java,文本的词条化和向量化

news/2024/7/7 19:12:24 标签: 文本向量化 java

/***

* @author YangXin

* @info 此代码展示了如何对文本中的所有单词进行编码, 然后产生每个单词编码的线性权重之和,

* 从而将文本编码为向量。这是用StaticWordValueEncoder实现的,并且还要有办法将文本分解

* 或分析称单词。Mahout提供了编辑器,Lucene提供了分析器。

*/

package unitFourteen;

import java.io.IOException;

import java.io.StringReader;

import org.apache.commons.collections.bag.SynchronizedSortedBag;

import org.apache.lucene.analysis.Analyzer;

import org.apache.lucene.analysis.TokenStream;

import org.apache.lucene.analysis.standard.StandardAnalyzer;

import org.apache.lucene.analysis.tokenattributes.TermAttribute;

import org.apache.lucene.util.Version;

import org.apache.mahout.math.RandomAccessSparseVector;

import org.apache.mahout.math.SequentialAccessSparseVector;

import org.apache.mahout.math.Vector;

import org.apache.mahout.vectorizer.encoders.FeatureVectorEncoder;

import org.apache.mahout.vectorizer.encoders.StaticWordValueEncoder;

public class TokenizingAndVectorizingText {

public static void main(String[] args) throws IOException {

FeatureVectorEncoder encoder = new StaticWordValueEncoder("text");

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_31);

StringReader in = new StringReader("text to magically vectorize");

TokenStream ts = analyzer.tokenStream("body", in);

TermAttribute termAtt = ts.addAttribute(TermAttribute.class);

Vector v1 = new RandomAccessSparseVector(100);

while (ts.incrementToken()) {

char[] termBuffer = termAtt.termBuffer();

int termLen = termAtt.termLength();

String w = new String(termBuffer, 0, termLen);

encoder.addToVector(w, 1, v1);

}

System.out.printf("%s

", new SequentialAccessSparseVector(v1));

}

}


http://www.niftyadmin.cn/n/1593018.html

相关文章

php用正则表达式获取网站的标题内容

已知网站的网址&#xff0c;用php获取网站的内容。编写正则表达式。用preg_match_all函数获取标题内容。1 $urlhttp://www.m-ivi.com;2 $contentfile_get_contents($url); 3 $match/<title>.*<\/title>/i; 4 $rupreg_match_all($m…

php 查找数组可以吗,PHP查找数组的所有(某种程度上)唯一组合

我整天都在看PHP数组排列/组合问题..仍然不知道&#xff1a;/如果我有一个像这样的数组&#xff1a;20 //key being 020 //key being 122 //key being 224 //key being 3我需要类似的组合&#xff1a;20, 20, 22 //keys being 0 1 220, 20, 24 //keys being 0 1 320, 22, 24 //…

php多文件上传遍历判断,php 文件上传与检测; 目录遍历2018-08-28

实例" method"POST" enctype"multipart/form-data">文件上传选择文件:上传//检测请求类型是否POST,如果不是应该提示用户类型不对if ($_SERVER[REQUEST_METHOD] POST) {//检测是否有文件被上传if (isset($_FILES[upload])) {//设置允许上传的文件…

decimalFormat(#,##0.00) java

importjava.text.DecimalFormat;    publicclassTestNumberFormat{      publicstaticvoidmain(String[]args){     doublepi3.1415927; //圆周率     //取一位整数     System.out.println(newDecimalFormat("0").format(pi));   //3 …

win10启用php_zip,win10右键没有压缩文件选项怎么办

win10右键没有压缩文件选项的解决办法&#xff1a;首先在桌面依次点击“开始/WinRar/Winrar”菜单项&#xff1b;然后点击“设置”菜单项&#xff0c;并在打开的设置窗口中点击“集成”选项卡&#xff1b;接着找到并点击“上下文菜单项目”按钮&#xff1b;最后勾选“添加到压缩…

使用nginx配置处理querystring中的一个空格

为什么80%的码农都做不了架构师&#xff1f;>>> Jetty-9 warning: badMessage: 400 Illegal character http://stackoverflow.com/questions/25625410/jetty-9-warning-badmessage-400-illegal-character 后来的后来我知道了这是jetty的一个bug。 先说问题&#xf…

win10运行linux组件,win10安装Linux子系统

开启开发者模式系统设置 -> 更新和安全 -> 针对开发人员 -> 选择开发人员模式image.png启动 Windows 10 的 Linux 子系统组件系统设置 -> 应用 -> 右侧的程序和功能 -> 启动或关闭windows功能 -> 勾选适用于 Linux 的 Windows 子系统确定后&#xff0c;重…

linux 进程运行动画,Linux管理进程及计划任务

一、概览1、程序和进程的关系1.1、程序●保存在硬盘、光盘等介质中的可执行代码和●静态保存的代码1.2、进程●在CPU及内存中运行的程序代码●动态执行的代码●父、子进程&#xff1a;每个程序可以创建一个或多 个进程2、crontab命令●按照预先设置的时间周期(分钟、小时、… 重…