【发布时间】:2015-01-12 00:14:33
【问题描述】:
我创建了分类器来分类给定句子中的名词、形容词、命名实体类。我使用大型维基百科数据集进行分类。
喜欢:
亚伯拉罕·林肯出生在哪里?
所以分类器会给出这个简短的结果 - word - class
- 在哪里 - 问题
- Abraham Lincoln - 人物、电影、书籍(因为分类器可以在所有类别中找到 Abraham Lincoln)
- 出生-时间
泰坦尼克号什么时候上映?
- 什么时候-问题
- 泰坦尼克号 - 歌曲、电影、车辆、游戏(泰坦尼克号 分类在所有这些类别中)
有什么方法可以确定单词的确切上下文吗?
请看:
- 词义消歧在这里无济于事。因为句子中可能没有附近的单词可以提供帮助
-
使用 wordnet 或 sysnet 的 Lesk 算法也无济于事。因为它假设单词
Banklesk algo 的行为是这样的======== 测试 simple_lesk ============
测试 simple_lesk() ...
背景:我去银行存钱
感觉:Synset('depository_financial_institution.n.01')
定义:接受存款并将资金用于借贷活动的金融机构
使用 POS 测试 simple_lesk() ...
背景:河岸上到处都是死鱼
感觉:Synset('bank.n.01')
释义:坡地(尤其是水边的斜坡)
这里的单词bank 建议为financial institute 和slopping land。虽然就我而言,我已经得到了像Titanic 这样的预测,那么它可以是movie 或game。
我想知道除了Lesk algo、baseline algo、traditional word sense disambiguation 之外还有其他方法可以帮助我确定哪个类对于特定关键字是正确的吗?
泰坦尼克号 -
【问题讨论】:
-
如果第一个例子中的“born”被归类为“time”,为什么第二个例子中的“release”没有得到任何分类?
-
@ChthonicProject:感谢您的评论。这背后的原因是基于特征的分类系统。时间类已经使用上下文表达时间的实体(如
when , how long, duration, born等)进行了训练。将released识别为基于时间的事件还不够智能。半超级和非超级学习系统可能已经识别它
标签: nlp data-mining nltk semantics