如何建立一个人工智能系统,从语料库中学习,并在用户询问任何与语料库相关的问题时回答他们

2024-03-29 09:28:45 发布

您现在位置:Python中文网/ 问答频道 /正文

计划建立一个人工智能系统,从语料库(文本文件)中学习,并需要回答像chatbot这样的用户是没有任何预定义数据的短chatbot的问题。你知道吗

到目前为止,我只是将一些数据以文本文件的形式存储,并使用TF-IDF(cosine similarity)方法使系统能够回答问题,但准确度只是中等水平

def response(user_response):
robo_response=''
sent_tokens.append(user_response)
TfidfVec = TfidfVectorizer(tokenizer=LemNormalize, stop_words='english')
tfidf = TfidfVec.fit_transform(sent_tokens)
vals = cosine_similarity(tfidf[-1], tfidf)
idx=vals.argsort()[0][-2]
flat = vals.flatten()
flat.sort()
req_tfidf = flat[-2]
if(req_tfidf==0):

    robo_response=robo_response+"cant understand"
    return robo_response
else:
    robo_response = robo_response+sent_tokens[idx]
    return robo_response

我使用的TD-IDF方法

有没有其他方法来建立一个系统来精确地完成这项工作?你知道吗


Tags: 方法response系统senttfidfchatbot文本文件tokens
1条回答
网友
1楼 · 发布于 2024-03-29 09:28:45

你想做的事情的PFA链接。你知道吗

https://demo.allennlp.org/reading-comprehensionhttps://towardsdatascience.com/elmo-contextual-language-embedding-335de2268604

它们是已经构建的系统,允许您这样做。你知道吗

如果您想从头开始构建类似的东西,那么在处理的文本上需要遵循很多过程。你知道吗

Tfidf是一种BoW(bag of words)算法,它可以帮助您识别意图,但不能识别这些意图之间的关系。从矢量化tfidf获得的矩阵以及标签将告诉机器,如果对于某些文本,获得了相似的矩阵,这就是标签。这在分类上很方便,但对于聊天机器人响应来说却不是。你知道吗

要从chatbot获取响应: -把课文分成句子。 -使用各种技术获取文本的上下文,目前XLNet提供的是最佳结果(https://medium.com/dair-ai/xlnet-outperforms-bert-on-several-nlp-tasks-9ec867bb563b)。这将有助于您对可以通过chatbot询问的查询做出响应。 以上是一些基本的步骤,一个实际的人工智能系统将涉及更多。你知道吗

相关问题 更多 >