是否有一种方法可以编写基于规则的系统,以便从合同文本中捕获开始/结束日期等内容。以下是几个真实的例子。我是大胆的日期实体,我希望spacy自动检测。如果你有不同的想法,而不是斯佩奇,这也是可以的!
February 1, 2012 (“租赁生效日期”)起,至January 31, 2017 (“初始租赁期限”)届满。January 1, 2007 (“生效日期”)至December 31, 2007 (“终止日期”)开始一(1)年。January 1, 2014开始,在December 31, 2028上终止。发布于 2019-12-15 19:37:38
我认为你必须明确区分两种方法:
1)统计模型/机器学习。NER模型。当试图确定一个特定的令牌或多个连续的标记是日期时,这些内容将考虑到句子的上下文。spaCy有预先构建的NER模型,您可以下载这些模型来试用特定的数据。您将希望查找那些具有doc.ents的实体(在ent.label_ == DATE中)。一旦有了这些实体,就可以通过日期解析器运行它们,以了解实际日期是什么。有关更多信息,请参见这里。
2)基于规则的实体识别。在这里,您必须自己定义规则,指定您期望日期的样子,例如,XX/XX/XXXX和X是一个数字。然而,正如user1558604所指出的,如果要识别不同的日期表示,就必须编写多个不同的规则。您可以找到spaCy的基于规则的匹配方法这里的概述。
发布于 2019-12-15 13:39:43
您可以使用来自CoreNLP的CoreNLP来轻松地完成它:https://github.com/FraBle/python-sutime
https://stackoverflow.com/questions/59344316
复制相似问题