使用NLTK进行语义角色标记

  发布于 2023-02-10 13:51

我有一个句子列表,我想分析每个句子并确定该句子中的语义角色.我怎么做?

我在NLTK模块中遇到了PropBankCorpusReader,它将语义标签信息添加到Penn Treebank.此外,我对互联网的研究表明,该模块用于执行语义角色标记.

然而,我无法找到一个小HOWTO来帮助我理解我们如何利用PropBankCorpusReader在仲裁文本上执行SRL.

因此有人可以指出PropbankCorpusReader在仲裁句子上使用SRL的例子吗?

3 个回答
  • SRL根本不是一个微不足道的问题,并不是真正可以开箱即用的东西nltk.

    您可以将SRL的任务分解为3个单独的步骤:

      识别谓词.

      对谓词执行单词意义消歧,以确定它接受哪些语义参数.

      识别句子中的语义参数.

    目前针对该问题的大多数方法都使用有监督的机器学习,其中分类器将训练Propbank或FrameNet语句的子集,然后测试剩余的子集以测量其准确性.研究人员倾向于专注于调整功能和算法,以及修改上述步骤是按顺序还是同时完成,以及按什么顺序进行.

    您可能想要查看的一些文件是:

    Simmons(1973) - 经典的SRL纸.

    Gildea和Jurafsky(2002) - 提供了一组用于分类的简单特征.

    薛和帕尔默(2004) - 更深入地研究有用的功能

    Meza-Ruiz和Riedel(2009) - 一种使用Markov Logic的有趣方法.

    Markov Logic方法很有前景,但根据我自己的经验,它会遇到严重的可扩展性问题(我只使用Alchemy,尽管Alchemy Lite看起来很有趣).使用nltk Propbank数据实现某种分类器并不是一项繁重的工作,并且Python中已经存在一些现成的分类器.

    编辑: 这个来自爱丁堡大学的作业提供了一些如何解析Propbank数据的例子,以及我所做的学校项目的一部分实现了一个完整的Propbank特征解析器,尽管这些特征专门用于Markov Logic Networks的风格. Meza-Ruiz和Riedel(2009年).

    2023-02-10 13:53 回答
  • 看看这个新鲜的新python库(取决于NLTK)https://pypi.python.org/pypi/nlpnet/ ...它可以进行POS和SRL。

    2023-02-10 13:53 回答
  • 我建议PractNLPTools有很多不错的工具,包括语义角色标签

    我现在正在为一个工作项目审问它,看来它将完成工作。

    PractnlpTools:https ://pypi.python.org/pypi/practnlptools/1.0

    GitHub支持站点:https : //github.com/biplab-iitb/practNLPTools

    2023-02-10 13:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有