【问题标题】:Identifying the context of word in sentence识别句子中单词的上下文
【发布时间】:2015-01-12 00:14:33
【问题描述】:

我创建了分类器来分类给定句子中的名词、形容词、命名实体类。我使用大型维基百科数据集进行分类。

喜欢:

亚伯拉罕·林肯出生在哪里?

所以分类器会给出这个简短的结果 - word - class

  • 在哪里 - 问题
  • Abraham Lincoln - 人物、电影、书籍(因为分类器可以在所有类别中找到 Abraham Lincoln)
  • 出生-时间

泰坦尼克号什么时候上映?

  • 什么时候-问题
  • 泰坦尼克号 - 歌曲、电影、车辆、游戏(泰坦尼克号 分类在所有这些类别中)

有什么方法可以确定单词的确切上下文吗?

请看:

  1. 词义消歧在这里无济于事。因为句子中可能没有附近的单词可以提供帮助
  2. 使用 wordnet 或 sysnet 的 Lesk 算法也无济于事。因为它假设单词Bank lesk algo 的行为是这样的

    ======== 测试 simple_lesk ============

    测试 simple_lesk() ...

    背景:我去银行存钱

    感觉:Synset('depository_financial_institution.n.01')

    定义:接受存款并将资金用于借贷活动的金融机构

    使用 POS 测试 simple_lesk() ...

    背景:河岸上到处都是死鱼

    感觉:Synset('bank.n.01')

    释义:坡地(尤其是水边的斜坡)

这里的单词bank 建议为financial instituteslopping land。虽然就我而言,我已经得到了像Titanic 这样的预测,那么它可以是moviegame

我想知道除了Lesk algobaseline algotraditional word sense disambiguation 之外还有其他方法可以帮助我确定哪个类对于特定关键字是正确的吗?

泰坦尼克号 -

【问题讨论】:

  • 如果第一个例子中的“born”被归类为“time”,为什么第二个例子中的“release”没有得到任何分类?
  • @ChthonicProject:感谢您的评论。这背后的原因是基于特征的分类系统。时间类已经使用上下文表达时间的实体(如when , how long, duration, born 等)进行了训练。将released 识别为基于时间的事件还不够智能。半超级和非超级学习系统可能已经识别它

标签: nlp data-mining nltk semantics


【解决方案1】:

感谢您使用pywsd examples。关于 wsd,还有许多其他变体,我在空闲时间自己编写代码。因此,如果您想看到它有所改进,请加入我的开源工具代码 =)

同时,您会发现以下技术与您的任务更相关,例如:

上述技术通常包括几个子任务,例如:

本质上,您要求的是一种用于语言/文本处理的 NP 完全 AI 系统的工具,所以我认为目前还没有这样的工具。也许是 IBM Watson。

如果您正在寻找要调查的领域,该领域就在那里,但如果您正在寻找工具,很可能维基化工具最接近您可能需要的工具。 (http://nlp.cs.rpi.edu/paper/WikificationProposal.pdf)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    相关资源
    最近更新 更多