Neo4j 提供大规模自然语言处理,使设备维修更高效

挑战

每当卡特彼勒机器被送来维修或保养时,技术人员都会创建一个保修单,记录投诉、问题分析和解决方案。

存在一个大型的技术文档存储库,从标签和计算语言学标准的角度来看,其中大部分都非常好。但是,有大量分散的数据需要连接。

该公司认识到,超过 2700 万份文档中包含有价值的数据,并着手创建 NLP 工具来发现这些未被发现的关联和趋势。

在过去十年中,他们一直在探索 NLP 用于车辆维护和供应链管理等目的。虽然很大一部分数据可以在某些领域正确映射,但这并不意味着他们可以以有意义的方式表示这些知识并加以利用。

“我们希望创建一个系统,允许用户提出任何类型的问题,只要它在领域范围内,”卡特彼勒首席数据科学家 Ryan Chandler 说。“这意味着创建一个对话系统来测试图的使用,演示能够回答问题的开放式用户界面,并开发创建口语人机界面的能力。”

解决方案

由于图是最低级别的结构并提供巨大的灵活性,因此图数据库非常适合语言处理和机器学习。

语言处理通常分解为依赖结构(查看动词并从动词绘制到相对于动词的其他词的关系的弧线),或分解为成分树。这两种结构都是图。

卡特彼勒使用 Neo4j 的图数据结构来创建知识的逻辑形式。这种 NoSQL 关系数据库的替代方案允许他们构建本体并执行演绎。

为了从自然语言获取图查询结果,团队创建了数据架构,通过开源 NLP 工具包摄取文本,该工具包使用 Python 将句子组合成字符串,校正边界并省略文本中的“垃圾”。数据也从 SAP ERP 系统以及非 SAP ERP 系统导入。

机器学习分类工具从已用术语(如原因或投诉)标记的数据部分学习,以应用于其余数据。

它使用 WordNet 作为词典来提供单词的定义,使用斯坦福依存句法分析器来分析文本,并使用 Neo4j 来查找模式和连接、构建层次结构并添加本体。

一旦所有这些都组合在一起,用户就可以使用简单的 Cypher 查询进行有意义的搜索。

下载案例研究