我在Neo4j中阅读了Michael的article,用于在Neo4j中使用cypher查询进行NLP实现。我想每个人都应该看看,感谢有用的Cypher查询。在我阅读之后,它带来了新的问题和想法,我在几天内搜索了算法,文章,代码库(包括Graphify),但却找不到清晰的想法。所以我想听听Neo4j人们关于这个问题的想法:
在文章中,句子被分成单个单词,并以NEXT
关系相互关联。本文介绍了一些Cypher查询,可根据您的需求使用数据。所以我的问题场景是这样的:
想想我们已经在Neo4j中存储了数十万个句子(或单词),并且NEXT
关系。因此,每个单词都知道在其之前/之后出现的前任/后继单词。让我们有一个使用这个数据库的应用程序,用户键入句子的部分(比方说一半),应用程序建议几个可能的单词,这些单词根据数据库中的数据在语法上方便进行。例如:
Today I would like to play ........... (suggestions: guitar, football, etc...)
听起来这样的机器学习算法应该起作用,因为对db中的单词将进行监督学习和迭代。但它也可以通过密码查询来完成吗?很抱歉这个抽象的问题没有提供任何代码,只是想得到一些想法。感谢。
答案 0 :(得分:0)
是的,你可以为这种关系增添力量。
示例:
(我喜欢) - [力量:100] - >(啤酒)或(我喜欢) - [力量:20] - >(葡萄酒)
您可以编写一个首先显示啤酒的查询。按限制。你也可以设置关系,如果有人选择它+1,所以力量变成101.这是一个推荐。你可以考虑让它更复杂,如
(I) - [强度:20] - >(爱) - [抗剪强度:50]>(啤酒)
(i) - [strong:101] - >(啤酒)
所以你在第一个我和啤酒之间有一个关系,你计算总强度。此外,您可以为标签广告搜索模式。