text2vec

结果评测指标:spearman系数 

• shibing624/text2vec-base-chinese模型,是用CoSENT方法训练,基于hfl/chinese-macbert-base在中文STS-B数据训练得到,并在中文STS-B测试集评估达到较好效果,运行examples/training_sup_text_matching_model.py代码可训练模型,模型文件已经上传HF model hub,中文通用语义匹配任务推荐使用

• shibing624/text2vec-base-chinese-sentence模型,是用CoSENT方法训练,基于nghuyong/ernie-3.0-base-zh用人工挑选后的中文STS数据集shibing624/nli-zh-all/text2vec-base-chinese-sentence-dataset训练得到,并在中文各NLI测试集评估达到较好效果,运行examples/training_sup_text_matching_model_jsonl_data.py代码可训练模型,模型文件已经上传HF model hub,中文s2s(句子vs句子)语义匹配任务推荐使用

• shibing624/text2vec-base-chinese-paraphrase模型,是用CoSENT方法训练,基于nghuyong/ernie-3.0-base-zh用人工挑选后的中文STS数据集shibing624/nli-zh-all/text2vec-base-chinese-paraphrase-dataset,数据集相对于shibing624/nli-zh-all/text2vec-base-chinese-sentence-dataset加入了s2p(sentence to paraphrase)数据,强化了其长文本的表征能力,并在中文各NLI测试集评估达到SOTA,运行examples/training_sup_text_matching_model_jsonl_data.py代码可训练模型,模型文件已经上传HF model hub,中文s2p(句子vs段落)语义匹配任务推荐使用 • shibing624/text2vec-base-multilingual模型,是用CoSENT方法训练,基于sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2用人工挑选后的多语言STS数据集shibing624/nli-zh-all/text2vec-base-multilingual-dataset训练得到,并在中英文测试集评估相对于原模型效果有提升,运行examples/training_sup_text_matching_model_jsonl_data.py代码可训练模型,模型文件已经上传HF model hub,多语言语义匹配任务推荐使用

• shibing624/text2vec-bge-large-chinese模型,是用CoSENT方法训练,基于BAAI/bge-large-zh-noinstruct用人工挑选后的中文STS数据集shibing624/nli-zh-all/text2vec-base-chinese-paraphrase-dataset训练得到,并在中文测试集评估相对于原模型效果有提升,在短文本区分度上提升明显,运行examples/training_sup_text_matching_model_jsonl_data.py代码可训练模型,模型文件已经上传HF model hub,中文s2s(句子vs句子)语义匹配任务推荐使用 

• w2v-light-tencent-chinese是腾讯词向量的Word2Vec模型,CPU加载使用,适用于中文字面匹配任务和缺少数据的冷启动情况 • 各预训练模型均可以通过transformers调用,如MacBERT模型:--model_name hfl/chinese-macbert-base 或者roberta模型:--model_name uer/roberta-medium-wwm-chinese-cluecorpussmall • 为测评模型的鲁棒性,加入了未训练过的SOHU测试集,用于测试模型的泛化能力;为达到开箱即用的实用效果,使用了搜集到的各中文匹配数据集,数据集也上传到HF datasets链接见下方 • 中文匹配任务实验表明,pooling最优是EncoderType.FIRST_LAST_AVG和EncoderType.MEAN,两者预测效果差异很小 • 中文匹配评测结果复现,可以下载中文匹配数据集到examples/data,运行 tests/model_spearman.py 代码复现评测结果 • QPS的GPU测试环境是Tesla V100,显存32GB

### Java中的Text2Vec库及其实现 在Java生态系统中,`text2vec` 的概念通常通过词向量(word embeddings)、文档向量(document vectors)或其他自然语言处理技术来实现。以下是几种常见的Java库和工具,可以用于实现 `text2vec` 或类似的嵌入功能。 #### 1. **Deeplearning4j (DL4J)** Deeplearning4j 是一个基于Java的开源深度学习框架,支持多种NLP任务,其中包括 `Word2Vec` 和 `Doc2Vec` 实现。这些模型可以直接用来生成文本向量表示。具体来说: - DL4J 提供了一个名为 `org.deeplearning4j.text` 的包,其中包含了 `Tokenization`、`VocabularyProcessor` 等类[^1]。 - 使用 `Word2Vec.Builder()` 可以训练单词级别的向量表示。 - 对于文档级别向量,可以通过 `ParagraphVectors` 类实现 Doc2Vec 功能。 示例代码如下: ```java import org.deeplearning4j.text.sentenceiterator.BasicLineIterator; import org.deeplearning4j.text.tokenization.tokenizerfactory.DefaultTokenizerFactory; import org.deeplearning4j.models.word2vec.Word2Vector; public class Text2VecExample { public static void main(String[] args) throws Exception { String filePath = "path/to/corpus.txt"; BasicLineIterator iter = new BasicLineIterator(filePath); DefaultTokenizerFactory t = new DefaultTokenizerFactory(); Word2Vector vec = new Word2Vector.Builder() .minWordFrequency(5) .iterations(1) .layerSize(100) .windowSize(5) .iterate(iter) .tokenizerFactory(t) .build(); vec.fit(); // 训练模型 System.out.println(vec.getWords()); // 输出词汇表 } } ``` #### 2. **Apache OpenNLP** 虽然 Apache OpenNLP 主要专注于分词、句法分析等功能,但它也可以与其他机器学习库结合使用,从而间接实现 `text2vec`。例如,OpenNLP 能够提供高质量的预处理管道,而后续可以用其他工具完成向量化操作。 #### 3. **Stanford CoreNLP** 尽管 Stanford CoreNLP 更侧重于高级 NLP 特征提取,但其内部集成了 GloVe 向量作为默认选项之一。如果需要更复杂的自定义解决方案,则可能还需要额外集成外部资源。 #### 4. **Spark MLlib** 对于大规模分布式环境下的应用开发而言,Apache Spark 的 MLLib 库提供了强大的 API 支持,允许开发者轻松构建并行化的 word embedding 流程。它内置了一些基本算法如 TF-IDF ,同时也兼容第三方插件扩展更多可能性。 --- ### 总结 综上所述,在 Java 中有多个途径可达成类似于 Python 下面提到过的 PyTorch-based doc2vec 工具的效果;不过需要注意的是每种方式都有各自适用场景以及优缺点所在因此选择前务必充分考虑项目需求后再做决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值