Nlp 提取给定句子、关键字或主题的相关文本

Nlp 提取给定句子、关键字或主题的相关文本,nlp,semantics,nltk,stanford-nlp,semantic-analysis,Nlp,Semantics,Nltk,Stanford Nlp,Semantic Analysis,是否有任何已知的方法(除了统计分析之外,但不一定排除它作为解决方案的一部分)使用自然语言处理将句子或概念彼此关联起来。到目前为止,我只与NLTK和斯坦福NLP合作来帮助我的项目,但我对其他开源解决方案持开放态度 以下面乔治·奥威尔的文章()为例。假设我给了申请者一个句子 "What are George Orwell's opinions on writers." 或许 "George Orwell believes writers enjoy writing to express thei

是否有任何已知的方法(除了统计分析之外,但不一定排除它作为解决方案的一部分)使用自然语言处理将句子或概念彼此关联起来。到目前为止,我只与NLTK和斯坦福NLP合作来帮助我的项目,但我对其他开源解决方案持开放态度

以下面乔治·奥威尔的文章()为例。假设我给了申请者一个句子

"What are George Orwell's opinions on writers." 
或许

"George Orwell believes writers enjoy writing to express their creativity, to make a point and for their egos."
可能会从这篇文章中产生像

"The aesthetic motive is very feeble in a lot of writers, but even a pamphleteer or writer of textbooks will have pet words and phrases which appeal to him for non-utilitarian reasons; or he may feel strongly about typography, width of margins, etc."


我知道这并不容易,也可能无法获得太多的准确度,但我希望了解已经存在的内容以及我可以尝试开始的内容,或者至少根据已知的内容获得可能的最佳结果。

最简单的方法可能是使用一些距离函数(如余弦相似性)在查询句子和句子池之间。这很容易实现。从文本集合创建词汇表,每个句子都表示为一个向量。您可以使用TF-IDF表示向量中的值,并计算句子之间的余弦相似度,获得与查询句子相关的得分最高的句子

或者你可以从你的语料库中建立索引,使用Lucene,让它为你做这项工作


你也可以考虑使用LSA(潜在语义分析)来获得句子之间的相似性。

从我对你的问题(以及你的评论)的理解中。你更感兴趣的是理解单个句子的意思,然后彼此接近。在我看来,统计方法更多的是为了“感受”句子,而不是理解它。在我看来,我建议采用深度解析方法

深入分析句子,了解单词在句子中扮演的角色,了解主语-动词-宾语模式(从左到右的分析和此类技术),然后掌握词汇表,帮助您对名词和动词进行分类

e、 g


解析这个句子,让你理解这个句子的主语是“严重的作家”(严重是一个形容词,作家基本上)。在动词形式中,它表示“是”(当前状态)和“感兴趣”。然后每个动词指向更多的词汇,包括形容词。如果你以正确的方式排列这个词汇(并不断构建它)我认为你应该解决你的问题。

我已经尝试过其中一些方法,但它们都是“空话”技巧。我想我更感兴趣的是,到目前为止,是否有任何已知的方法来尝试理解句子中的意思,而不仅仅是匹配词。我知道这是一个困难且深入研究的领域,我只是一直难以确定它在这一点上的位置。感谢您的回复!
"Serious writers, I should say, are on the whole more vain and self-centered than journalists, though less interested in money."
"Serious writers, I should say, are on the whole more vain and self-centered than journalists, though less interested in money."