Neo4j+;NLP:句子的自动完成

Neo4j+;NLP:句子的自动完成,neo4j,nlp,cypher,Neo4j,Nlp,Cypher,我阅读了Neo4j中Michael关于在Neo4j中使用cypher查询实现NLP的文章。我想每个人都应该看一看,谢谢你有用的密码查询。阅读之后,我提出了一些新的问题和想法,在这些问题和想法中,我搜索了几天的算法、文章、代码库(包括Graphify),但没有找到一个清晰的想法。因此,我想听听Neo4j员工对这个问题的看法: 在这篇文章中,句子被分割成单个单词,并通过NEXT关系相互关联。本文介绍了一些根据您的需要处理数据的密码查询。所以我的问题是这样的: 想想看,我们已经在Neo4j中存储了数十

我阅读了Neo4j中Michael关于在Neo4j中使用cypher查询实现NLP的文章。我想每个人都应该看一看,谢谢你有用的密码查询。阅读之后,我提出了一些新的问题和想法,在这些问题和想法中,我搜索了几天的算法、文章、代码库(包括Graphify),但没有找到一个清晰的想法。因此,我想听听Neo4j员工对这个问题的看法:

在这篇文章中,句子被分割成单个单词,并通过
NEXT
关系相互关联。本文介绍了一些根据您的需要处理数据的密码查询。所以我的问题是这样的:

想想看,我们已经在Neo4j中存储了数十万个句子(或单词),其中包含
NEXT
关系。因此,每个单词都知道其前面/后面的前置词/后继词。让我们有一个应用程序,它使用这个数据库,用户键入句子的部分(让我们说一半),应用程序根据数据库中的数据建议几个可能的单词,这在语法上是方便的。例如:

Today I would like to play ........... (suggestions: guitar, football, etc...) 

这听起来像这样的机器学习算法应该发挥作用,因为在数据库中的单词将有监督学习和迭代。但是也可以用密码查询来完成吗?对不起,这个抽象的问题没有提供任何代码,只是想得到一些想法。谢谢。

是的,这将是可能的,你可以给关系一个力量

例如:

(我爱)-(强度:100]->(啤酒)或(我爱)-(强度:20]->(葡萄酒)

您可以编写一个查询,首先显示啤酒。订单限制。如果有人选择+1,也可以设置该关系,使强度变为101。这是一项建议。你可以考虑让它变得更复杂,比如

(i) -[力量:20]->(爱)-[力量:50]>(啤酒)

(i) -[浓度:101]->(啤酒)

所以你有一个第一个I和啤酒之间的关系,你计算总强度。你也可以给标签广告搜索一个模式