我一直在尝试使用MaxentTagger实现迁移学习。到目前为止,我采取的基本方法是添加一个新的方法,该方法接受一个trainFile
(现有模型的配置)和新模型的输出路径。它将现有模型加载到具有readModelAndInit
的新MaxentTagger示例中,将model
字段更改为新的输出路径,并像trainAndSaveModel
一样开始训练。
期望这足够似乎越来越天真。早些时候,我可以输出并加载这样训练的模型,但在运行解析时遇到了异常。我已经进行了几次尝试,试图合并由加载现有模型和为输入数据集准备训练运行产生的tags
和dict
。如果这是正确的方法,我认为它需要以某种方式完成MaxentTagger.lambda
、TaggerFeatures
和TaggerExperiments
持有的数据以及其他一些事情。这可能需要访问当前标记为私有的一些相当多的字段。
你方对将此作为功能添加感兴趣吗?我甚至应该认为这是可能实现的吗?有任何一般建议吗?
1条答案
按热度按时间hwamh0ep1#
看起来你可能在尝试将新的训练方法编码到MaxentTagger中并重新编译。另一个选择是将这些方法作为包私有(默认私有级别)重新编译,然后继承MaxentTagger。无论如何,我想说的是,一般来说,我们会对你从现有标注器训练新标注器的方法感兴趣,约翰......
2019年7月13日星期六上午11:30,Alex Dixon ***@***.***>写道:我一直在尝试使用MaxentTagger实现迁移学习。到目前为止,我采取的基本方法是添加一个新方法,该方法接受一个trainFile、现有模型的配置和新模型的输出路径。它将现有模型加载到一个新的MaxentTagger示例中,使用readModelAndInit方法,将model字段更改为新的输出路径,并像trainAndSaveModel一样开始训练。期望这足够似乎越来越天真。早些时候,我可以输出并加载这样训练的模型,但在运行解析时遇到了异常。我已经进行了几轮尝试,试图合并通过加载现有模型并为输入数据集准备训练运行生成的标签和字典。如果这是正确的方法,我认为它需要以某种方式在MaxentTagger中实现。lambda,由TaggerFeatures和TaggerExperiments持有的数据,以及一些其他东西。这可能需要访问相当多当前标记为私有的字段。你对将此作为功能添加感兴趣吗?我是否应该认为这是可能做到的?任何一般建议?——你收到这个是因为你订阅了这个线程。直接回复此电子邮件,查看它在GitHub上 <#912?email_source=notifications&email_token=AA2AYWOMZO5FZPZD7K3NGLTP7INNBA5CNFSM4IDAOM7KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G7BK2BA> 或静音线程 < https://github.com/notifications/unsubscribe-auth/AA2AYWOFCGJOCNBBQ7FVHFTP7INNBANCNFSM4IDAOM7A > 。