我想做一个从句子中提取两个单词的程序,我需要知道其中一个单词是离开,另一个单词是到达。
我尝试创建一个模式,并在自定义扩展属性中设置令牌类型,例如下面的句子:"I would like a London Paris train"。
我创建了这个模式:
pattern = [
{"POS": "PROPN", "_": {"TYPE": "ARRIVAL"}},
{"POS": "PROPN", "_": {"TYPE": "DEPARTURE"}}
]我还在python代码中创建了一个custom_extension属性:
Token.set_extension('TYPE', default="", force=True)我的问题是,如果我的模式中的TYPE与默认值不匹配,则不匹配任何内容。
我想知道是否有更好的解决方案使用模式匹配来识别匹配的令牌。
非常感谢预告
发布于 2021-09-26 05:25:45
你要做的是“语义角色标签”,这很难。你绝对不能仅仅使用模式匹配来做到这一点。
你可以做的最简单的事情可能会在你的例子中起作用,那就是使用spaCy的NER模型来获取所有的LOC或GPO实体,并假设第一个是离开,第二个是到达。不过那会很脆弱的。
https://stackoverflow.com/questions/69313218
复制相似问题