【问题标题】:How can we use artificial neural networks to find similar documents?我们如何使用人工神经网络来查找相似的文档?
【发布时间】:2018-10-17 05:46:31
【问题描述】:

我们如何使用 ANN 找到一些类似的文档?我知道这是一个愚蠢的问题,但我是这个 NLP 领域的新手。 我使用 kNN 和词袋方法制作了一个模型来解决我的问题。使用它,我可以获得与输入有些相似的 n 个文档(以及它们的紧密度),但现在我想使用 ANN 实现相同的结果,但我不知道。

提前感谢您的任何帮助或建议。

【问题讨论】:

  • 为什么要使用ANN?您的数据大小是多少?出于教育目的,您想探索解决问题的多种方法?或者这是一个真正的专业问题?如果是后者,为什么要远离 kNN 而不是尝试提高 kNN 本身的准确性?
  • 我想用 ANN 做这个的主要原因是因为使用带有词袋的 kNN 不会考虑词序。通过使用 n-gram,我们可以以某种方式解决这个问题,但它不如带有 LSTM 的 RNN 有效。

标签: python machine-learning nlp artificial-intelligence word-embedding


【解决方案1】:

您可以使用“词嵌入” - 以密集向量表示形式呈现词的技术。要查找与向量相似的文档,您可以简单地使用cosine similarity

如何使用 TensorFlow 构建 word2vec 模型的示例。再举一个如何使用 Keras 中的embeddings layer 的示例。

【讨论】:

    【解决方案2】:

    为您的语言获取嵌入的方法是 training them yourself on your corpus of choice(足够大 - 例如维基百科)或下载经过训练的嵌入(对于 python,有大量的嵌入源可以使用 gensim 模块进行训练或加载 - 这是一个Python word2vec 的事实标准)。

    您还可以使用GloVe(使用glove-python)或FastText 词嵌入。

    如果您有兴趣,可以找到更多detailed descriptions of embeddings with code examples and source papers

    【讨论】:

      【解决方案3】:

      看看这篇文章https://arxiv.org/pdf/1805.10685.pdf,它会给你一个整体的想法。 查看此链接以获取更多参考资料https://github.com/Hironsan/awesome-embedding-models

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-19
        • 1970-01-01
        • 1970-01-01
        • 2017-08-29
        • 2011-01-22
        • 2011-07-13
        • 2017-10-10
        相关资源
        最近更新 更多