🚀 阿拉伯语小型Nougat模型
阿拉伯语小型Nougat是一款专为阿拉伯语书籍设计的端到端结构化光学字符识别(OCR)系统,能够高效地将阿拉伯语书籍页面图像转换为结构化文本。
🚀 快速开始
在线演示
你可以通过以下链接体验模型的在线演示:Demo
本地使用
使用以下代码在本地启动模型:
from PIL import Image
import torch
from transformers import NougatProcessor, VisionEncoderDecoderModel
processor = NougatProcessor.from_pretrained("MohamedRashad/arabic-small-nougat")
model = VisionEncoderDecoderModel.from_pretrained("MohamedRashad/arabic-small-nougat")
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
context_length = 2048
def predict(img_path):
image = Image.open(img_path)
pixel_values = processor(image, return_tensors="pt").pixel_values
outputs = model.generate(
pixel_values.to(device),
min_length=1,
max_new_tokens=context_length,
bad_words_ids=[[processor.tokenizer.unk_token_id]],
)
page_sequence = processor.batch_decode(outputs, skip_special_tokens=True)[0]
page_sequence = processor.post_process_generation(page_sequence, fix_markdown=False)
return page_sequence
print(predict("path/to/page_image.jpg"))
✨ 主要特性
- 针对性优化:专门为阿拉伯语设计,能够更好地处理阿拉伯语的字符和语法结构。
- 端到端处理:直接将图像转换为结构化文本,无需复杂的预处理和后处理步骤。
- 多语言支持:支持阿拉伯语和英语两种语言。
📚 详细文档
模型描述
[**Github**](https://github.com/MohamedAliRashad/arabic-nougat) 🤗 [**Hugging Face**](https://huggingface.co/collections/MohamedRashad/arabic-nougat-673a3f540bd92904c9b92a8e) 📝 [**Paper**](https://arxiv.org/abs/2411.17835) 🗂️ [**Data**](https://huggingface.co/datasets/MohamedRashad/arabic-img2md) 📽️ [**Demo**](https://huggingface.co/spaces/MohamedRashad/Arabic-Nougat)
阿拉伯语小型Nougat OCR是一个专门为阿拉伯语设计的端到端结构化光学字符识别(OCR)系统。该模型基于facebook/nougat-small架构,并使用Khatt数据集以及为此目的创建的自定义数据集进行了微调。
模型使用场景
阿拉伯语小型Nougat OCR适用于将阿拉伯语书籍页面图像转换为结构化文本的任务,特别是需要Markdown格式的情况。它适用于阿拉伯文学数字化领域的应用,有助于从印刷材料中提取文本。
模型局限性
- 文本幻觉:由于OCR任务的固有复杂性,模型偶尔会生成重复或错误的文本。
- 错误的图像路径:模型有时会输出与输入无关的图像路径,表明存在偶尔的混淆。
- 上下文长度限制:模型的最大上下文长度为2048个标记,对于较长的书籍页面,可能会导致转录不完整。
伦理考虑
在使用模型时,特别是在需要准确OCR结果的情况下,必须意识到模型的局限性。建议用户验证和审查输出,特别是在精度至关重要的场景中。
🔧 技术细节
模型详情
属性 |
详情 |
开发者 |
Mohamed Rashad |
模型类型 |
VisionEncoderDecoderModel |
语言(NLP) |
阿拉伯语 & 英语 |
许可证 |
GPL 3.0 |
微调基础模型 |
nougat-small |
致谢
如果你使用或基于阿拉伯语小型Nougat OCR进行开发,请感谢模型开发者和开源社区的贡献。此外,在重新分发或修改模型的任何版本时,请务必包含GPL 3.0许可证的副本。
引用
如果你发现此模型有用,请考虑引用原始的facebook/nougat-small模型以及用于微调的数据集,包括Khatt数据集和自定义数据集的任何详细信息。
@misc{rashad2024arabicnougatfinetuningvisiontransformers,
title={Arabic-Nougat: Fine-Tuning Vision Transformers for Arabic OCR and Markdown Extraction},
author={Mohamed Rashad},
year={2024},
eprint={2411.17835},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2411.17835},
}
@misc {mohamed_rashad_2024,
author = { {Mohamed Rashad} },
title = { arabic-small-nougat (Revision 48741d4) },
year = 2024,
url = { https://huggingface.co/MohamedRashad/arabic-small-nougat },
doi = { 10.57967/hf/3534 },
publisher = { Hugging Face }
}
免责声明
阿拉伯语小型Nougat OCR是按“原样”提供的工具,开发者不保证其适用于特定任务。建议用户根据自己的特定用例和要求彻底评估模型的输出。