半结构化文本中的信息检索度量学习?

时间:2015-06-12 12:04:34

标签: parsing machine-learning information-retrieval information-extraction

我对解析半结构化文本很感兴趣。假设我的文字包含此类标签: @ManyToMany(cascade = CascadeType.ALL) @JoinTable(name = "collab_technos", joinColumns = {@JoinColumn(name = "co_id", nullable = false, updatable = false)}, inverseJoinColumns = @JoinColumn(name = "te_id") ) year_fieldyear_valueidentity_field,...,identity_valueaddress_field等等。

这些字段及其相关值可以在文本中的任何位置,但通常它们彼此接近,更常见的是组织在(非常)粗糙矩阵中的文本,但通常值恰好在关联之后最后一些非有趣的信息。

不同格式的数量可以达到几十个,并且不是那么严格(不要指望间距,而且可以添加和删除一些信息)。

我正在寻求机器学习技术来提取所有感兴趣的(领域,价值)。

我认为度量学习和/或条件随机字段(address_value)可能会有很大帮助,但我没有实际经验。

有没有人遇到过类似的问题?

有关此主题的任何建议或文献?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您的任务是从文本中提取所有预定义的实体。你在这里描述的正是named entity recognition

斯坦福有一个Stanford Named Entity Recognizer你可以下载和使用(python / java等)

关于您考虑的模型(例如CRF) - 这里的难点是获取训练数据 - 已经标记的实体的句子。这就是为什么你应该考虑获得一个训练有素的模型,或者使用别人的数据训练你的模型(同样,模型只能识别它在训练部分看到的实体)

在python中已经是火车模型的一个很好的选择是nltk' s Information Extraction module

希望这总结起来