/ Модель

Характеристики

Контекст
512 токенов
Архитектура
encoder-decoder · dense

wenyanwen-ancient-translate-to-modern

ПереводТекст → текст3 профессии

Модель переводит классические китайские тексты с вэньяня на современный китайский, в том числе фрагменты без пунктуации.

265скачиваний за 30 дней36лайковвеса обновлены8 янв 2022

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель raynardj/wenyanwen-ancient-translate-to-modern переводит классический китайский язык (вэньянь) на современный китайский. Её разработал автор raynardj; это encoder-decoder-модель на базе EncoderDecoderModel в формате PyTorch, обученная на более чем 900 тысячах пар предложений. При подготовке данных в половине случаев из исходного текста удалялись знаки препинания.

Модель предназначена для перевода отдельных фрагментов классических текстов, в том числе без пунктуации, и может использоваться при чтении исторических книг. Для полного вывода автор рекомендует задавать eos_token_id=102, num_beams не меньше 3 и max_length=256. В карточке приведены примеры, а также отмечены ошибки на некоторых знакомых фразах. Лицензия в предоставленных данных не указана.

Сценарии применения

  • перевод вэньяня на современный китайский
  • понимание отдельных фрагментов классических китайских текстов
  • перевод текста без пунктуации
  • перевод отрывков исторических книг при чтении

Ограничения

На некоторых знакомых фразах модель допускает ошибки. Для полного перевода автор рекомендует задавать eos_token_id=102, num_beams не меньше 3 и max_length=256.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

From Classical(ancient) Chinese to Modern Chinese

This model translate Classical(ancient) Chinese to Modern Chinese, so I guess who's interested in the problemset can speak at least modern Chinese, hence... let me continue the documentation in Chinese

文言文(古文)到现代文的翻译器

这个模型已有做成应用, 【随无涯】是一个huggingface spaces + streamlit 的古文阅读应用(含海量书籍), 可以在阅读时翻译 输入文言文, 可以是断句 或者 未断句的文言文, 模型会预测现代文的表述。 其他模型:

从文言文到现代文的翻译器, 欢迎前往我的github文言诗词项目页面探讨、加⭐️

训练语料是就是九十多万句句对, 数据集链接📚。 训练时source序列(古文序列), 按照50%的概率整句去除所有标点符号。

推荐的inference 通道

注意

  • 你必须将generate函数的eos_token_id设置为102就可以翻译出完整的语句, 不然翻译完了会有残留的语句(因为做熵的时候用pad标签=-100导致)。 目前huggingface 页面上compute按钮会有这个问题, 推荐使用以下代码来得到翻译结果
  • 请设置generate的参数num_beams>=3, 以达到较好的翻译效果
  • 请设置generate的参数max_length256, 不然结果会吃掉句子
from transformers import (
  EncoderDecoderModel,
  AutoTokenizer
)
PRETRAINED = "raynardj/wenyanwen-ancient-translate-to-modern"
tokenizer = AutoTokenizer.from_pretrained(PRETRAINED)
model = EncoderDecoderModel.from_pretrained(PRETRAINED)
def inference(text):
    tk_kwargs = dict(
      truncation=True,
      max_length=128,
      padding="max_length",
      return_tensors='pt')
   
    inputs = tokenizer([text,],**tk_kwargs)
    with torch.no_grad():
        return tokenizer.batch_decode(
            model.generate(
            inputs.input_ids,
            attention_mask=inputs.attention_mask,
            num_beams=3,
            max_length=256,
            bos_token_id=101,
            eos_token_id=tokenizer.sep_token_id,
            pad_token_id=tokenizer.pad_token_id,
        ), skip_special_tokens=True)

目前版本的案例

当然, 拿比较熟知的语句过来, 通常会有些贻笑大方的失误, 大家如果有好玩的调戏案例, 也欢迎反馈

>>> inference('非我族类其心必异')
['不 是 我 们 的 族 类 , 他 们 的 心 思 必 然 不 同 。']
>>> inference('肉食者鄙未能远谋')
['吃 肉 的 人 鄙 陋 , 不 能 长 远 谋 划 。']
# 这里我好几批模型都翻不出这个**输**字(甚至有一个版本翻成了秦始皇和汉武帝), 可能并不是很古朴的用法, 
>>> inference('江山如此多娇引无数英雄竞折腰惜秦皇汉武略输文采唐宗宋祖稍逊风骚')
['江 山 如 此 多 , 招 引 无 数 的 英 雄 , 竞 相 折 腰 , 可 惜 秦 皇 、 汉 武 , 略 微 有 文 采 , 唐 宗 、 宋 祖 稍 稍 逊 出 风 雅 。']
>>> inference("清风徐来水波不兴")
['清 风 慢 慢 吹 来 , 水 波 不 兴 。']
>>> inference("无他唯手熟尔")
['没 有 别 的 事 , 只 是 手 熟 罢 了 。']
>>> inference("此诚危急存亡之秋也")
['这 实 在 是 危 急 存 亡 的 时 候 。']

其他文言诗词的资源

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
EncoderDecoderModel
Ревизия весов
164ab97

0 моделей