test/tests/test_text_cleanup.py

62 lines
2.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# -*- coding: utf-8 -*-
import unittest
from app.core.text_cleanup import deduplicate_asr_text
class TextCleanupTest(unittest.TestCase):
def test_cleanup_repeated_meeting_words(self) -> None:
self.assertEqual(
deduplicate_asr_text("在在整个B C融合在在政街包邮上面"),
"在整个B C融合在政街包邮上面",
)
self.assertEqual(deduplicate_asr_text("需要需要去做的"), "需要去做的")
self.assertEqual(
deduplicate_asr_text("这个这个审核的一个流程意识"),
"这个审核的一个流程意识",
)
self.assertEqual(
deduplicate_asr_text("都是都是一个货开卷在"),
"都是一个货开卷在",
)
def test_cleanup_currency_artifacts_from_itn(self) -> None:
text = "都可以采取¥9000的,看采取¥9¥9000的手机档次还是¥5000的手机档次"
self.assertEqual(
deduplicate_asr_text(text),
"都可以采取9000元的,看采取9000元的手机档次还是5000元的手机档次",
)
def test_cleanup_household_count_glued_with_noise(self) -> None:
text = "已经收集到240247户的一个清单。我们测算的话大概有114户,要占他的大概百分之接近50。"
self.assertEqual(
deduplicate_asr_text(text),
"已经收集到247户的一个清单。我们测算的话大概有114户,要占他的大概百分之接近50。",
)
def test_cleanup_preserves_normal_numeric_contexts(self) -> None:
self.assertEqual(deduplicate_asr_text("目前已经完成了1115户"), "目前已经完成了1115户")
self.assertEqual(deduplicate_asr_text("合同金额有120000"), "合同金额有120000")
def test_cleanup_collapses_degenerate_numeric_clauses(self) -> None:
self.assertEqual(deduplicate_asr_text("192。192。192。192。192。"), "192。")
self.assertEqual(
deduplicate_asr_text("现在还行,有点儿。对。你还都能弄来。172021。你们都会用。192。192。192。192。幺九"),
"现在还行,有点儿。对。你还都能弄来。172021。你们都会用。192。幺九",
)
def test_cleanup_collapses_degenerate_short_sentence_clauses(self) -> None:
self.assertEqual(deduplicate_asr_text("对。对。"), "对。对。")
self.assertEqual(deduplicate_asr_text("对。对。对。对。"), "对。")
self.assertEqual(
deduplicate_asr_text("把这个ifi的驱动文件上传到服务器。对。对。对。对"),
"把这个ifi的驱动文件上传到服务器。对。",
)
if __name__ == "__main__":
unittest.main()