Skip to main content

马来西亚语的自然语言工具包,由 Tensorflow 和 PyTorch 提供支持。

项目描述

马来亚是马来西亚语的自然语言工具包库,由 Tensorflow 和 PyTorch 提供支持。

文档

正确的文档可在https://malaya.readthedocs.io/获得

从 PyPI 安装

$ pip install malaya

它将自动安装除 Tensorflow 和 PyTorch 之外的所有依赖项。所以你可以选择自己的 Tensorflow CPU/GPU 版本和 PyTorch CPU/GPU 版本。

仅支持Python >= 3.6.0Tensorflow >= 1.15.0PyTorch >= 1.10

开发版本

分支安装,

$ pip install git+https://github.com/huseinzol05/malaya.git

我们建议使用virtualenv进行开发。

https://malaya.readthedocs.io/en/latest/上的文档

特征

  • 对齐,使用 Eflomal 和预训练的 Transformer 模型的翻译词对齐。

  • 增强,使用同义词词典、Wordvector 或 Transformer-Bahasa 增强任何文本。

  • 选区解析,使用微调的 Transformer-Bahasa 将文本分解为子短语。

  • Coreference Resolution,使用依赖解析模型查找在文本中引用同一实体的所有表达式。

  • 依赖解析,使用微调的 Transformer-Bahasa 提取句子的依赖解析。

  • 情绪分析,使用微调的 Transformer-Bahasa 检测和识别 6 种不同的文本情绪。

  • 实体识别,旨在使用微调的 Transformer-Bahasa 定位和分类文本中提到的命名实体。

  • 生成器,使用 T5-Bahasa、GPT2-Bahasa 或 Transformer-Bahasa 生成给定上下文的任何文本。

  • Jawi-to-Rumi,使用 Transformer 从 Jawi 转换为 Rumi。

  • KenLM,提供简单的界面来加载预训练的 KenLM 马来亚模型。

  • Keyword Extraction,提供 RAKE、TextRank 和 Attention Mechanism 与 Transformer-Bahasa 的混合。

  • 知识图,使用 T5-Bahasa 生成知识图或从依赖解析模型中解析。

  • 语言检测,使用快速文本和稀疏深度学习模型对马来语(正式和社交媒体)、印度尼西亚(正式和社交媒体)、Rojak 语言和 Manglish 进行分类。

  • Normalizer,使用本地马来西亚 NLP 研究与 Transformer-Bahasa 的混合来规范任何 bahasa 文本。

  • Num2Word,从数字转换为基数或序数表示。

  • 释义,使用 T5-Bahasa 和 Transformer-Bahasa 提供抽象释义。

  • Grapheme-to- Phoneme ,使用 LSTM Seq2Seq 将 Grapheme 转换为Phoneme DBP 或 IPA,并具有最先进的注意力。

  • 词性识别,语法标记是使用微调的 Transformer-Bahasa 在文本中标记单词的过程。

  • 问题答案,使用微调的 Transformer-Bahasa 进行阅读理解。

  • 相关性分析,使用微调的 Transformer-Bahasa 检测和识别文本的相关性。

  • Rumi-to-Jawi,使用 Transformer 将 Rumi 转换为 Jawi。

  • 情感分析,使用微调的 Transformer-Bahasa 检测和识别文本的极性。

  • 文本相似度,使用微调的 Transformer-Bahasa 为词汇相似度深度语义相似度提供接口。

  • Spelling Correction,使用马来西亚本地 NLP 研究混合 Transformer-Bahasa 以自动更正任何 bahasa 单词和使用 T5-Bahasa 的 NeuSpell。

  • Stemmer,使用 BPE LSTM Seq2Seq 和最先进的注意力来进行包括本地语言结构的 Bahasa 词干提取。

  • 主观性分析,使用微调的 Transformer-Bahasa 检测和识别文本的自我观点极性。

  • Kesalahan Tatabahasa,使用 TransformerTag-Bahasa 修复 kesalahan tatabahasa。

  • 总结,提供 Abstractive T5-Bahasa 和 Extractive 接口,使用 Transformer-Bahasa、skip-thought 和 Doc2Vec。

  • Tokenizer,提供单词、句子和音节的分词器。

  • 主题建模,提供 Transformer-Bahasa、LDA2Vec、LDA、NMF 和 LSA 接口,便于主题建模和主题可视化。

  • 毒性分析,使用微调的 Transformer-Bahasa 检测和识别 27 种不同的文本毒性模式。

  • Transformer,提供简单的界面来加载预训练语言马来亚模型。

  • 翻译,使用 Transformer 为 EN 到 MS 和 MS 到 EN 提供神经机器翻译。

  • Word2Num,从基数或序数表示转换为数字。

  • Word2Vec,提供预训练的 bahasa wikipedia 和 bahasa news Word2Vec,具有简单的界面和可视化。

  • Zero-shot 分类,提供 Zero-shot 分类接口,使用 Transformer-Bahasa 识别文本,无需任何标记的训练数据。

  • 混合 8 位量化,为所有模型提供混合 8 位量化,以减少高达 2 倍的推理时间和高达 4 倍的模型大小。

  • Longer Sequences Transformer,为更长的序列任务提供 BigBird、BigBird + Pegasus 和 Fastformer。

预训练模型

马来亚也发布了 Bahasa 预训练模型,只需查看Malaya/pretrained-model

参考

如果您使用我们的软件进行研究,请引用:

@misc{Malaya, Natural-Language-Toolkit library for bahasa Malaysia, powered by Deep Learning Tensorflow,
  author = {Husein, Zolkepli},
  title = {Malaya},
  year = {2018},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/huseinzol05/malaya}}
}

致谢

感谢KeyReply赞助私有云来训练马来亚模型,没有它,这个库将完全崩溃。

此外,感谢Tensorflow Research Cloud免费访问 TPU。

贡献

感谢您贡献这个库,真的很有帮助。请随时与我联系以向我提出任何建议或想贡献其他形式的表格,我们接受一切,而不仅仅是代码!

项目详情