Architecture 使用NLP API创建客户自助服务?

Architecture 使用NLP API创建客户自助服务?,architecture,full-text-search,nlp,Architecture,Full Text Search,Nlp,我想使用NLP(自然语言处理)创建一个客户自助服务。 用户只需输入“我如何支付周费?”这样的搜索语句,自助服务就会用最相关的常见问题解答及其答案回答用户 我将使用(NLPAPI)分析用户搜索语句 使用NLP API返回的关键字和实体在数据库中搜索(带标签的答案将保存在那里) 向用户显示结果 根据用户反馈(等级)更新答案标签 这就是我构建一个简单自助服务的逻辑,任何人都可以提出有效的方法来实现这一点,或者一个现有的API可以为我实现这一点 提前感谢对于我来说,您想要构建的东西看起来像是一个信息检索

我想使用NLP(自然语言处理)创建一个客户自助服务。 用户只需输入“我如何支付周费?”这样的搜索语句,自助服务就会用最相关的常见问题解答及其答案回答用户

  • 我将使用(NLPAPI)分析用户搜索语句
  • 使用NLP API返回的关键字和实体在数据库中搜索(带标签的答案将保存在那里)
  • 向用户显示结果
  • 根据用户反馈(等级)更新答案标签 这就是我构建一个简单自助服务的逻辑,任何人都可以提出有效的方法来实现这一点,或者一个现有的API可以为我实现这一点


    提前感谢

    对于我来说,您想要构建的东西看起来像是一个信息检索(搜索引擎)问题。假设数据库中有一组问题及其答案。您要做的是,当某人键入一个问题时,您在数据库中的问题中找到与他的问题匹配的答案,然后返回相应的答案

    执行方面。实际上应该有两个数据库。一个包含问题id、问题文本和答案文本的简单表格。另一个是您的搜索索引,您在其中使用问题文本及其id进行构建。我建议你用一个新的。您可以使用ApacheLucene、Solr或ElasticSearch来实现这一点。我更喜欢我自己

    另外,由于你是提出问题存储在数据库中的人,这些问题的唯一用途是与用户的问题匹配,即没有人真正看到它们。也许,然后,你可以让他们更详细,在更相关的关键字,并发挥他们的格式,使匹配更容易

    另外,通常你使用TF-IDF作为索引,余弦距离用于匹配文本相关性,但我记得有一次在类似的任务中,由于问题足够短,禁用TF-IDF会给我带来更好的结果。我想说的是,你应该尝试使用这些参数,看看什么对你最有利

    另外,与向量空间模型相反,其他模型是二进制独立模型和。检查一下。我在中实现了语言模型,但是当然,您可以找到更好的库。我喜欢语言模型,因为它需要更少的内存,并且有更好的方法来处理看不见的术语(单词)