Nlp 除正则表达式以外的其他技术来发现';意图';用句子

Nlp 除正则表达式以外的其他技术来发现';意图';用句子,nlp,nltk,linguistics,stanford-nlp,Nlp,Nltk,Linguistics,Stanford Nlp,我正在为一个非营利组织开展一个项目,帮助处理和分类来自世界各地现场工人/承包商的每年1000份报告。我对NLP比较陌生,因此想寻求该小组对解决我们问题的方法的指导 我将重点介绍当前的流程和我们面临的挑战,并希望您能帮助我们找到解决问题的最佳方法 当前流程:现场官员以最佳实践的形式提交本地运行项目的报告。然后由全职策展人团队处理这些报告,策展人(i)确保他们遵守最佳实践模板,并(ii)编辑文档以改进语言/风格/语法 挑战:随着现场工作人员数量的增加,生成的报告量也在增加,我们的编辑现在正成为瓶颈

我正在为一个非营利组织开展一个项目,帮助处理和分类来自世界各地现场工人/承包商的每年1000份报告。我对NLP比较陌生,因此想寻求该小组对解决我们问题的方法的指导

我将重点介绍当前的流程和我们面临的挑战,并希望您能帮助我们找到解决问题的最佳方法

当前流程:现场官员以最佳实践的形式提交本地运行项目的报告。然后由全职策展人团队处理这些报告,策展人(i)确保他们遵守最佳实践模板,并(ii)编辑文档以改进语言/风格/语法

挑战:随着现场工作人员数量的增加,生成的报告量也在增加,我们的编辑现在正成为瓶颈

解决方案:我们希望自动化流程的第一步,即检查文档是否符合组织最佳实践模板

基本上,我们需要确保每个报告有3个组成部分,即: 1.说明其目的:此最佳实践解决了什么主题/问题? 2.确定观众:这是给谁的? 3.突出相关性:读者阅读后可以做什么

下面是一个好的报告提交示例

“本文件介绍了在发展中国家成功应用最佳做法的技术。这项研究旨在帮助低收入农民确定一套在没有价格透明度的地方为农产品定价的最佳做法。通过实施这些过程,农民将能够获得更好的农产品价格,并提高家庭收入。”

到目前为止,我们的方法是使用正则表达式并检查关键字。即,为了检查合规性,我们使用以下逻辑: 1检查“states purpose”=我们使用正则表达式来匹配“purpose”、“intent” 2要检查“标识受众”=我们使用正则表达式与“标识”、“is for”匹配 3检查“突出显示相关性”=我们使用正则表达式与“能够”、“允许”、“启用”匹配

当前的RegEx方法似乎非常原始和有限,所以我想问社区是否有更好的方法来解决这个问题,比如使用NLTK,CoreNLP


提前感谢。

有趣的问题,我相信这是一个彻底的研究问题!在自然语言处理中,很少有技术能够从文本中学习和提取模板,然后将其作为黄金注释来识别文档是否遵循模板结构。研究人员使用这种系统进行自动识别stion answering(从问题中提取模板,然后回答)。但在您的情况下,这更困难,因为您需要从报告中学习结构。根据自然语言处理,这更难解决您的问题(没有简单的NLP任务与您的问题定义相匹配),并且您可能不需要任何花哨的模型(复杂)来解决你的问题

您可以从简单的文档匹配和计算相似性分数开始。如果您有大量正面示例(格式良好且指定的报告),您可以基于tf idf权重构建一个字典。然后您可以检查字典标记的存在。您还可以将此问题视为一个二进制分类问题。有一些很好的机器学习分类器,如svm、logistic回归,它们对文本数据很有效。您可以使用python和scikit学习构建程序快速且易于使用。对于文本预处理,您可以使用NLTK


由于报告将由现场工作人员生成,并且报告将回答的问题很少(您提到了3个特定组件),我想简单的关键词匹配技术将是您研究的一个良好开端。您可以根据观察结果逐步转向不同的方向。

这似乎是一个将机器学习应用于您的过程的完美方案

首先,涉及到数据注释问题。这通常是最烦人的问题。谢天谢地,你可以依靠策展人。策展人可以标记具体的句子,具体说明:受众、相关性、目的

训练一些模型来识别这些类型的从句。如果某个文档的所有分类器都激活,这意味着该文档的格式正确


如果遇到错误,请确保使用特定示例重新培训模型。

如果您没有提供有关文档格式的提示,这是一个公开问题

你可以做的是,要求写报告的人遵循文档的某种格式,比如有3个部分,每个部分都有一个预定义的标题,就像这样

1.目的 在几个段落中解释了文件的目的

2.主题/问题 这解决了foobar问题,也称为lorem ipsum感觉文本

3.带走 读者读完后能做什么


例如,您可以从.doc格式解析此文档并提取这三部分。然后您可以通过拼写检查、语法和文本复杂性算法。最后您可以提取实例命名实体(参见命名实体识别)和低TF-IDF单词。

我一直在尝试做一些与临床试验非常相似的事情,其中大部分数据再次以自然语言编写

如果你不关心过去的数据,并且可以控制现场官员的写作,也许你可以让他们在他们的报告中提供这3个额外的字段,你就可以完成了

否则,我最熟悉的库CoreNLP和OpenNLP都有一些工具可以帮助您完成部分任务