我有一个包含许多句子的文本语料库,其中一些命名实体已被标记。例如,这句话:
what is the best restaurant in wichita texas?
被标记为:
what is the best restaurant in <location>
?
我想通过取用或抽样语料库中已有的所有句子,并用相同类型的其他相似实体替换其中的命名实体来扩展这个语料库,例如用“new york”替换“wichita texas”,这样语料库将变得更大(更多句子)和更完整(包含更多实体)。我有一系列相似实体的列表,包括一些在语料库中未出现但我希望在替换时有一定概率插入的实体。
你能推荐一种方法或指引我到相关的论文吗?
回答:
关于你的具体问题:假设你有一个有组织的命名实体列表(例如,分别列出‘地点’、‘人物’等),这种工作通常包括手动删除可能有歧义的名称(例如,从你的地点列表中删除‘jersey’,以避免它指代服装的情况)。一旦你确信已经删除了最有歧义的名称,就为每一组术语选择一个合适的标签(例如“location”或“person”)。在包含这些词的每句话中,用标签替换该词。然后,你可以使用你选择的编程语言进行一些基本的扩展操作,使得每个包含‘location’的句子都与每个地点名称重复,每个包含‘person’的句子都与每个人物名称重复,等等。
关于使用词类进行聚类的总体概述,请查看Brown等人撰写的开创性论文:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.9919&rep=rep1&type=pdf