【发布时间】:2025-11-24 10:20:03
【问题描述】:
我正在使用 fasttext (v=0.9.1) 来检测文本的语言(请参阅 this)。
使用此模型时,挪威语文本被检测为丹麦语。
!curl "https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin" > lid.bin
import fastText
language_detector=fastText.load_model('lid.bin')
language_detector.predict('Hei Jeg viser til hyggelig sam', k=3)
输出:
(('__label__da', '__label__no', '__label__hu'),
array([9.16624188e-01, 8.25065151e-02, 2.37607688e-04]))
有什么帮助吗?
【问题讨论】:
-
我通常没有看到 FastText 用于语言检测。 (例如,我还没有看到常见的 FT 实现包括任何 API 调用,这些调用在传递文本时会返回语言标识符。)因此,显示您用于达成此决定的实际代码有助于阐明您的对于某些文本或语言,过程可能会成功/失败。
-
fasttext.cc/blog/2017/10/02/blog-post.html - 可用于检测语言。
-
谢谢!如果这是您使用的特定多步技术,那么您在某些示例上的结果质量可能会受到您使用的训练数据的严重影响。您正在使用什么训练数据,您能否使用更大/更好的训练集来获得更好的结果? (甚至可能:每当您遇到已知错误时,包括正确标记的 NO 和 DA 版本的困难文本,并重新训练,以专门改进困难的情况?)
-
我对 15k 丹麦样本和 700 个挪威样本进行了测试,准确率分别为 95% 和 80%,使用快速文本正确识别它们,请参阅:npmjs.com/package/@smodin/fast-text-language-detection 研究数据
标签: fasttext language-detection