Я разрабатываю систему на основе LLM для заполнения медицинских записей, используя точно настроенную модель Llama-3-8B. На этапе оценки я использую библиотеку Hugging Face Assessment для расчета стандартных показателей NLP, таких как ROUGE и BLEU.
Стандартные реализации ROUGE и BLEU по умолчанию используют пространственную токенизацию, которая хорошо работает для английского языка, но не работает для китайского. Мой текущий обходной путь — разделить текст на отдельные символы:
# My current preprocessing (Character-level)
preds_zh = [" ".join(list(p)) for p in predictions]
refs_zh_rouge = [" ".join(list(r)) for r in references]
rouge = evaluate.load("rouge")
rouge_res = rouge.compute(predictions=preds_zh, references=refs_zh_rouge)
Однако в медицинской сфере разделение на уровне персонажей теряет критическую клиническую семантику. Например:
(Инфаркт миокарда) разделен на четыре отдельных токена.
Это приводит к завышенным оценкам, которые не обязательно отражают способность модели генерировать точную медицинскую терминологию. В недавней литературе (например, Large Language Models Reshaping the Future of Surgery, DOI: 10.12677/acm.2026.161080) подчеркивается важность точности в хирургической/сестринской документации.
Мои вопросы:
Пользовательская токенизация в Assessment: Существует ли стандартный способ внедрения пользовательского сегментатора китайских слов (например, jieba или pkuseg с медицинским словарем) в рабочий процесс Assessment.load("rouge") или bleu, чтобы n-граммы рассчитывались на основе значимых медицинских терминов, а не символов?
BERTScore против ROUGE: Для медицинских записей, в которых часто встречаются синонимы (например, «S/P» против «После операции»), считается ли BERTScore более надежным, чем ROUGE/BLEU? Если да, то какую предварительно обученную китайскую модель (например, bert-base-chinese или Medical-BERT) рекомендуется использовать для встраиваемой магистрали, чтобы получить наиболее точные оценки F1?
Обработка пунктуации: Записи медсестер часто содержат много символов (,, :, /). Следует ли их отфильтровывать перед расчетом показателей или они имеют достаточно структурное значение в клинических заметках, чтобы их можно было хранить в качестве токенов?
Что я пробовал:
Разделение на уровне символов (как показано выше), но оно не наказывает неправильные комбинации слов, в которых используются одни и те же символы.
Стандартная джиеба без словаря, который часто неправильно разделяет специализированные хирургические термины.
Я разрабатываю систему на основе LLM для [b]заполнения медицинских записей[/b], используя точно настроенную модель [b]Llama-3-8B[/b]. На этапе оценки я использую библиотеку Hugging Face Assessment для расчета стандартных показателей NLP, таких как ROUGE и BLEU. Стандартные реализации ROUGE и BLEU по умолчанию используют пространственную токенизацию, которая хорошо работает для английского языка, но не работает для китайского. Мой текущий обходной путь — разделить текст на отдельные символы: [code]# My current preprocessing (Character-level) preds_zh = [" ".join(list(p)) for p in predictions] refs_zh_rouge = [" ".join(list(r)) for r in references]
rouge = evaluate.load("rouge") rouge_res = rouge.compute(predictions=preds_zh, references=refs_zh_rouge) [/code] Однако в медицинской сфере разделение на уровне персонажей теряет критическую клиническую семантику. Например: [list] [*][code]"高血壓"[/code] (Гипертония) делится на «высокое», «кровяное», «давление».
[*][code]"心肌梗塞"[/code] (Инфаркт миокарда) разделен на четыре отдельных токена.
[/list] Это приводит к завышенным оценкам, которые не обязательно отражают способность модели генерировать точную медицинскую терминологию. В недавней литературе (например, Large Language Models Reshaping the Future of Surgery, DOI: 10.12677/acm.2026.161080) подчеркивается важность точности в хирургической/сестринской документации. [h4][b]Мои вопросы:[/b][/h4] [list] [*][b]Пользовательская токенизация в Assessment:[/b] Существует ли стандартный способ внедрения пользовательского сегментатора китайских слов (например, jieba или pkuseg с медицинским словарем) в рабочий процесс Assessment.load("rouge") или bleu, чтобы n-граммы рассчитывались на основе значимых медицинских терминов, а не символов?
[*][b]BERTScore против ROUGE:[/b] Для медицинских записей, в которых часто встречаются синонимы (например, «S/P» против «После операции»), считается ли BERTScore более надежным, чем ROUGE/BLEU? Если да, то какую предварительно обученную китайскую модель (например, bert-base-chinese или Medical-BERT) рекомендуется использовать для встраиваемой магистрали, чтобы получить наиболее точные оценки F1?
[*][b]Обработка пунктуации:[/b] Записи медсестер часто содержат много символов (,, :, /). Следует ли их отфильтровывать перед расчетом показателей или они имеют достаточно структурное значение в клинических заметках, чтобы их можно было хранить в качестве токенов?
[/list] [h4][b]Что я пробовал:[/b][/h4] [list] [*]Разделение на уровне символов (как показано выше), но оно не наказывает неправильные комбинации слов, в которых используются одни и те же символы.
[*]Стандартная джиеба без словаря, который часто неправильно разделяет специализированные хирургические термины.