Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

语料分类训练准确率低,需要如何提高呢 #989

Closed
1 task done
gt-6 opened this issue Oct 8, 2018 · 2 comments
Closed
1 task done

语料分类训练准确率低,需要如何提高呢 #989

gt-6 opened this issue Oct 8, 2018 · 2 comments
Labels

Comments

@gt-6
Copy link

gt-6 commented Oct 8, 2018

注意事项

请确认下列注意事项:

  • 我已仔细阅读下列文档,都没有找到答案:
  • 我已经通过Googleissue区检索功能搜索了我的问题,也没有找到答案。
  • 我明白开源社区是出于兴趣爱好聚集起来的自由社区,不承担任何责任或义务。我会礼貌发言,向每一个帮助我的人表示感谢。
  • 我在此括号内输入x打钩,代表上述事项确认完毕。

版本号

当前最新版本号是:1.6.8
我使用的版本是:1.6.8

我的问题

我使用语料库 进行分割训练集和测试集的测试,为什么准确率这么低呢,是语料库的原因,
还是需要如何训练的问题呢。我该如何提高准确率

复现问题

步骤

耗时 7557 ms 加载了 9 个类目,共 1791 篇文档
P R F1 A
34.82 66.83 45.78 82.41 互联网
77.19 44.22 56.23 92.35 体育
51.61 24.12 32.88 89.06 健康
61.84 47.24 53.56 90.90 军事
64.02 76.88 69.86 92.63 招聘
59.52 12.56 20.75 89.34 教育
26.04 69.35 37.86 74.71 文化
47.06 12.06 19.20 88.72 旅游
53.72 50.75 52.20 89.67 财经
52.87 44.89 48.55 44.89 avg.
data size = 1791, speed = 36551.02 doc/s

触发代码

    public void testIssue1234() throws Exception
    {
        //CORPUS_FOLDER 是网上找的sogou分类库,不是mini版的
        DataSet trainingCorpus = new FileDataSet().                          // FileDataSet省内存,可加载大规模数据集
            setTokenizer(new HanLPTokenizer()).                               // 支持不同的ITokenizer,详见源码中的文档
            load(CORPUS_FOLDER, "UTF-8", 0.9);               // 前90%作为训练集
        IClassifier classifier = new NaiveBayesClassifier();
        classifier.train(trainingCorpus);
        IDataSet testingCorpus = new MemoryDataSet(classifier.getModel()).
            load(CORPUS_FOLDER, "UTF-8", -0.1);        // 后10%作为测试集
        // 计算准确率
        FMeasure result = Evaluator.evaluate(classifier, testingCorpus);
        System.out.println(result);
    }

期望输出

期望输出

实际输出

实际输出

其他信息

@hankcs
Copy link
Owner

hankcs commented Oct 8, 2018

  1. 原版搜狗语料库是
    GBK编码,不是UTF8
  2. 通常贝叶斯和支持向量机在该数据集上的准确率是80%左右,这就是为什么它们被称作基线模型。

@hankcs hankcs added the question label Oct 8, 2018
@hankcs
Copy link
Owner

hankcs commented Jan 1, 2020

感谢您对HanLP1.x的支持,我一直为没有时间回复所有issue感到抱歉,希望您提的问题已经解决。或者,您可以从《自然语言处理入门》中找到答案。

时光飞逝,HanLP1.x感谢您的一路相伴。我于东部标准时间2019年12月31日发布了HanLP1.x在上一个十年最后一个版本,代号为最后的武士。此后1.x分支将提供稳定性维护,但不是未来开发的焦点。

值此2020新年之际,我很高兴地宣布,HanLP2.0发布了。HanLP2.0的愿景是下一个十年的前沿NLP技术。为此,HanLP2.0采用TensorFlow2.0实现了最前沿的深度学习模型,通过精心设计的框架支撑下游NLP任务,在海量语料库上取得了最前沿的准确率。作为第一个alpha版本,HanLP 2.0.0a0支持分词、词性标注、命名实体识别、依存句法分析、语义依存分析以及文本分类。而且,这些功能并不仅限中文,而是面向全人类语种设计。HanLP2.0提供许多预训练模型,而终端用户仅需两行代码即可部署,深度学习落地不再困难。更多详情,欢迎观看HanLP2.0的介绍视频,或参与论坛讨论

展望未来,HanLP2.0将集成1.x时代继承下来的高效率务实风范,同时冲刺前沿研究,做工业界和学术界的两栖战舰,请诸君继续多多指教,谢谢。

@hankcs hankcs closed this as completed Jan 1, 2020
@hankcs hankcs added ignored and removed question labels Jan 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants