weixin_39900531
weixin_39900531
2021-01-12 16:28

关于回归测试和准确率测评

想和大家讨论一下软件质量改进的问题。我使用opencc转换一些书籍一段时间了,发现偶尔还是有错,原因应该在词库上。我觉得如果发现一个错误就来报错然后修正一个的效率很低。并且我担心修正了一个错误会引发另外一个错误。我觉得需要建立一个回归测试的机制去保证新引入的修改是确实增加了正确率。

另外,建立一个简繁转换测评的数据库可以加快发现转换不准确的地方,而不依赖人工一个一个地上报错误。这个数据库可能是找一些非机器转换的简繁版电子书来建立,也可以考虑借助转换准确率更高的Google翻译来发现一些问题(由于Google翻译也会错,当发现和opencc转换不一致的时候需要人工校对)。

由于我个人在维护一个语音合成软件,我希望这个回归测试和准确率测评的功能是一个独立的软件。除了可以测试简繁转换外,还能测试汉字转拼音,也许还能测试分词等NLP问题。

大家觉得这个想法怎样?有没有意义?是否可行?是否已经有更好的解决方案了?

该提问来源于开源项目:BYVoid/OpenCC

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • weixin_39900531 weixin_39900531 4月前

    我试过几次用户报opencc转换错误的情况,Google翻译都是正确的。例如: “大乘修行菩萨行门诸经要集卷上”,由于opencc存在“卷上”->"捲上"的词条,“卷”被错误转换成“捲”。 “第一出象腋经”中的“出”被错误转换成“齣”。

    使用Google翻译协助校对和依赖用户反馈是不一样的。如你所说,用户一般是不反馈的。而如果我们自己写程序不断自动找Google翻译校对,那么就能不断找出有可疑的地方。如果一段文本使用opencc和Google翻译转换得出完全一样的结果,我会对这个转换结果的信心大很多(虽然有可能都转错了)。

    点赞 评论 复制链接分享
  • weixin_39756895 weixin_39756895 4月前

    之前我是土法煉鋼, 發現opencc轉換有問題, 就自己改詞庫(STPhrases.txt), 改了詞庫之後, 一段時間就去轉換一些現有不同類型的電子書文字檔, 這些文字檔少則50萬字, 多的有一千萬個中文字. 然後將openncc 轉換過的檔案, 跟原始電子書人工逐一比對差異, 盡量消除新增詞庫造成的錯誤.

    如果能有個完整的測評數據庫, 對於簡繁轉換會很有幫助.

    至於Google翻譯, 日後等用戶反饋多了, 可能會更正確, 但短期內我覺得還是不可盡信. 例如: 洗涤脏被单于大庭广众 => 洗滌髒被單於大庭廣眾 麦子磨成面 => 麥子磨成麵 发霉的干饼 => 發霉的乾餅 姜人饼干 => 薑人餅乾 干者为阳 => 乾者為陽

    点赞 评论 复制链接分享
  • weixin_39900531 weixin_39900531 4月前

    我想到了一个更简便的办法:先用把繁体转成简体,再转换繁体,如果转换两次之后两个文件完全一致,那么就基本完美了。

    然而,我发现问题比想象中复杂很多。简体和繁体不是一一对应的映射关系,转换过程有可能会丢失信息,也有口语和书面语的区别(无所谓对错)。随便找一个文件测试了一下,有一半的行数都不一致。如果只是有几行不一致,还有心思去校对。太多了就有种“还是洗洗去睡吧”的感觉。

    点赞 评论 复制链接分享
  • weixin_39756895 weixin_39756895 4月前

    我就是這麼做的, 先用opencc把繁體電子書轉成簡體,再用opencc轉換成繁體, 再跟原始繁體電子書人工逐一比對差異, 盡量消除新增詞庫造成的錯誤.

    点赞 评论 复制链接分享
  • weixin_39881760 weixin_39881760 4月前

    我本身沒在用 opencc 因為某些字的轉換實在是不合個人喜好 以及目前看過有在用的人 (epub 小說 轉繁) 大多都會有很多在 里后 上的問題

    我的作法是 用 novel-segment 底下的 校對專用模組來修正字詞

    点赞 评论 复制链接分享
  • weixin_39674190 weixin_39674190 4月前

    小弟這邊的測試檔提供了一些繁簡繁轉換的測試實例。 https://github.com/kanasimi/Chinese_converter/tree/master/_test%20suite/articles 裡面也採用了 的繁化姬 - 字典測試。 https://gist.github.com/n6333373/f06a3aa27fcde0ba31c5955cfc33ca85 歡迎大家參考,並且提供更多測試例子。

    点赞 评论 复制链接分享
  • weixin_40008033 weixin_40008033 4月前

    我覺得回歸測試非常有用,詞庫的改動是很有可能造成 regression 的。

    如果這邊用得上的話,我在自己的繁簡化 project 中有些 自己/用戶反饋 的 test cases 。 https://gist.github.com/n6333373/f06a3aa27fcde0ba31c5955cfc33ca85

    非机器转换的简繁版电子书来建立 聽起來是個不錯的主意!

    至於 Google 翻譯的繁簡轉換,由於新的結果是否 "正確" 始終需要 "人工判斷" ,跟依賴用戶反饋我覺得是差不多的意思(我相信 "用戶反饋" 在絕大部分的情況下不會發生,用戶只會把錯誤自己修正了,並不會反饋,最終都是開發者自己搞)。

    另外就是, Google 的繁簡轉換正確率真的有比較高嗎?(單純好奇,我並不曉得實際情況。)

    点赞 评论 复制链接分享

相关推荐