【问题标题】:Artificial intelligence in Chatbots [closed]聊天机器人中的人工智能 [关闭]
【发布时间】:2016-11-21 08:13:01
【问题描述】:

我正在开发一个聊天机器人,该机器人将与客户互动。我想构建一个智能的、类似 AI 的机器人。

我已经做了一些,但我希望得到改进的建议。

如果客户进入:

A) I want to know the cost of XXX car.
B) Send me the price of car XXX.
C) What is the cost of XXX car?
D) Specifications of XXX car

我如何构建一个机器人,让它回复这些答案?如果我匹配一个完整的句子,那么它不会起作用。

我的客户可以写任何东西,可以问任何东西。请问,有人可以帮助确保机器人能够理解同一查询的不同措辞吗?

提前致谢。

【问题讨论】:

    标签: machine-learning nlp artificial-intelligence bots


    【解决方案1】:

    使用任何现有的 NLP 库(如 OpennlpStanfordNlp)对用户输入进行 POST 标记或情绪分析,以获取汽车名称(如您的示例中所述)或理解句子的任何部分。

    你可以找到很多基本的支持herehere

    【讨论】:

      【解决方案2】:

      这个问题需要语义解析,但我相信像Wit.ai 这样的服务可以解决您的问题,而无需进入更复杂的解决方案。

      【讨论】:

        【解决方案3】:

        Bot Framework 使回答和响应此类查询变得非常简单。你甚至可以集成认知服务来做 NLP:

        https://docs.botframework.com/en-us/bot-intelligence/language/#navtitle

        【讨论】:

          【解决方案4】:

          您可以使用 NLP 并尝试分析您的 A 到 D 示例并将它们与一些预定义的答案相匹配。

          例如:

          使用在短句中表现良好的模型 (https://gate.ac.uk/wiki/twitter-postagger.html),例如推文,并在句子内进行一些清理以消除不必要的噪音后,您会得到如下结果。汽车的型号标记为专有名词,汽车和成本标记为名词等。知道了这一点,您可以比以前更好地过滤/匹配问题与您的预定义答案。

          {'car': 'NN', 'cost': 'NN', 'know': 'VBP', 'want': 'VBP', 'XXX': 'NNP'}
          

          使用带有 nltk 库的自定义模型的示例是:

          from nltk.tag import pos_tag
          
          def pos_tag_sentence(sentence):
              """Takes a list of words and returns their matching part of speech"""
          
              default_tagger = nltk.data.load(nltk.tag._POS_TAGGER)
              train_model = g.train_model # the custom model as a dictionary
              tagger = nltk.tag.UnigramTagger(model=train_model, backoff=default_tagger)  # Unigram works best in short text
              return dict(tagger.tag(sentence))
          

          更进一步,如果您有一个由示例问题和匹配答案组成的数据集,您可以尝试使用监督学习算法,例如使用词性和单词作为特征(scikit-learn 是一个很棒的库)。

          简而言之,它需要时间和试验才能使其尽可能好,而且对于这类问题没有一个好的解决方案。

          希望这会有所帮助, 祝你好运!

          编辑:我刚刚注意到您没有提到特定的编程语言,但我的示例是用 Python 编写的。不过,任何语言都有很多很棒的库,所以只需搜索并尝试 :)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-10
            • 1970-01-01
            • 2012-09-08
            相关资源
            最近更新 更多