国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

這篇具有很好參考價值的文章主要介紹了【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需要源碼和數(shù)據(jù)集請點贊關(guān)注收藏后評論區(qū)留言私信~~~

一、問答智能客服簡介

QA問答是Question-and-Answer的縮寫,根據(jù)用戶提出的問題檢索答案,并用用戶可以理解的自然語言回答用戶,問答型客服注重一問一答處理,側(cè)重知識的推理。

從應(yīng)用領(lǐng)域視角,可將問答系統(tǒng)分為限定域問答系統(tǒng)和開放域問答系統(tǒng)。

根據(jù)支持問答系統(tǒng)產(chǎn)生答案的文檔庫、知識庫,以及實現(xiàn)的技術(shù)分類,可分為自然語言的數(shù)據(jù)庫問答系統(tǒng)、對話式問答系統(tǒng)、閱讀理解系統(tǒng)、基于常用問題集的問答系統(tǒng)、基于知識庫的問答系統(tǒng)等。

智能問答客服功能架構(gòu)

典型的問答系統(tǒng)包含問題輸入 問題理解 信息檢索 信息抽取 答案排序 答案生成和結(jié)果輸出等,首先由用戶提出問題,檢索操作通過在知識庫中查詢得到相關(guān)信息,并依據(jù)特定規(guī)則從提取到的信息中抽取相應(yīng)的候選答案特征向量,最后篩選候選答案結(jié)果輸出給用戶?

【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

?智能問答客服框架

1: 問題處理 問題處理流程識別問題中包含的信息,判斷問題的主題信息和主題范疇歸屬,比如是屬于一般類問題還是屬于特定主題類問題,然后提取與主題相關(guān)的關(guān)鍵信息,比如人物信息、地點信息和時間信息等。

2 :問題映射 根據(jù)用戶咨詢的問題,進行問題映射消除歧義。通過字符串相似度匹配和同義詞表等解決映射問題,根據(jù)需要執(zhí)行拆分和合并操作。

3 :查詢構(gòu)建 通過對輸入問題進行處理,將問題轉(zhuǎn)化為計算機可以理解的查詢語言,然后查詢知識圖譜或者數(shù)據(jù)庫,通過檢索獲得相應(yīng)備選答案。

4 :知識推理 根據(jù)問題屬性進行推理,問題基本屬性如果屬于知識圖譜或者數(shù)據(jù)庫中的已知定義信息,則可以從知識圖譜或者數(shù)據(jù)庫中查找,直接返回答案。如果問題屬性是未定義類問題,則需要通過機器算法推理生成答案。

5: 消岐排序 根據(jù)知識圖譜中查詢返回的一個或者多個備選答案,結(jié)合問題屬性進行消歧處理和優(yōu)先級排序,輸出最佳答案。

二、智能醫(yī)療客服問答實戰(zhàn)

定制性智能客服程序一般需要實現(xiàn)選擇語料庫,去除噪聲信息后 根據(jù)算法對預料進行訓練,最后提供人機接口問答對話,基于互聯(lián)網(wǎng)獲得的醫(yī)學語料庫,并通過余弦相似度基本原理,設(shè)計并開發(fā)以下問答型智能醫(yī)療客服應(yīng)用程序

項目結(jié)構(gòu)如下?

【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

效果展示?

下面是csv文件中定義的一些病例

【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

預先定義好的歡迎語句?

?【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

?【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

運行chatrobot文件? 彈出以下窗口 輸出問題后點擊提交咨詢即可??

?【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

對于語料庫中沒有的問題會自動推斷給出答案(通常不太準確)?

?【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

?【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)

?三、代碼

部分代碼如下 全部代碼和數(shù)據(jù)集請點贊關(guān)注收藏后評論區(qū)留言私信

# -*- coding:utf-8 -*-
from fuzzywuzzy import fuzz
import sys
import jieba
import csv
import pickle
print(sys.getdefaultencoding())

import logging
from fuzzywuzzy import fuzz
import math
from scipy import sparse
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from scipy.sparse import lil_matrix
from sklearn.naive_bayes import MultinomialNB
import warnings
from tkinter import *
import time
import difflib
from collections import Counter
import numpy as np


filename = 'label.csv'

def tokenization(filename):


    corpus = []
    label = []
    question = []
    answer = []
    with open(filename, 'r', encoding="utf-8") as f:
        data_corpus = csv.reader(f)
        next(data_corpus)
        for words in data_corpus:
            word = jieba.cut(words[1])
            tmp = ''
            for x in word:
                tmp += x
            corpus.append(tmp)
            question.append(words[1])
            label.append(words[0])
            answer.append(words[2])
    
    with open('corpus.h5','wb') as f:
        pickle.dump(corpus,f)
    with open('label.h5','wb') as f:
        pickle.dump(label,f)
    with open('question.h5', 'wb') as f:
        pickle.dump(question, f)
    with open('answer.h5', 'wb') as f:
        pickle.dump(answer, f)

    return corpus,label,question,answer



def train_model():

    with open('corpus.h5','rb') as f_corpus:
        corpus = pickle.load(f_corpus)

    with open('label.h5','rb') as f_label:
        label = pickle.load(f_label,encoding='bytes')


    vectorizer = CountVectorizer(min_df=1)
    transformer = TfidfTransformer()
    tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))
    words_frequency = vectorizer.fit_transform(corpus)
    word = vectorizer.get_feature_names()
    saved = tfidf_calculate(vectorizer.vocabulary_,sparse.csc_matrix(words_frequency),len(corpus))
    model = MultinomialNB()
    model.fit(tfidf,label)


    with open('model.h5','wb') as f_model:
        pickle.dump(model,f_model)

    with open('idf.h5','wb') as f_idf:
        pickle.dump(saved,f_idf)

    return model,tfidf,label
    
    
    
    
class tfidf_calculate(object):
    def __init__(self,feature_index,frequency,docs):
        self.feature_index = feature_index
        self.frequency = frequency
        self.docs = docs
        self.len = len(feature_index)

    def key_count(self,input_words):
        keys = jieba.cut(input_words)
        count = {}
        for key in keys:
            num = count.get(key, 0)
            count[key] = num + 1
        return count

    def getTfidf(self,input_words):
        count = self.key_count(input_words)
        result = lil_matrix((1, self.len))
        frequency = sparse.csc_matrix(self.frequency)
        for x in count:
            word = self.feature_index.get(x)
            if word != None and word>=0:
                word_frequency = frequency.getcol(word)
                feature_docs = word_frequency.sum()
                tfidf = count.get(x) * (math.log((self.docs+1) / (feature_docs+1))+1)
                result[0, word] = tfidf
        return result    

if __name__=="__main__":
    tokenization(filename)
    train_model()

創(chuàng)作不易 覺得有幫助請點贊關(guān)注收藏~~~文章來源地址http://www.zghlxwxcb.cn/news/detail-411184.html

到了這里,關(guān)于【Python自然語言處理+tkinter圖形化界面】實現(xiàn)智能醫(yī)療客服問答機器人實戰(zhàn)(附源碼、數(shù)據(jù)集、演示 超詳細)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 掌握NLTK:Python自然語言處理庫中級教程

    在之前的初級教程中,我們已經(jīng)了解了NLTK(Natural Language Toolkit)的基本用法,如進行文本分詞、詞性標注和停用詞移除等。在本篇中級教程中,我們將進一步探索NLTK的更多功能,包括詞干提取、詞形還原、n-gram模型以及詞云的繪制。 詞干提取是一種將詞語簡化為其基本形式

    2024年02月14日
    瀏覽(93)
  • Python 自然語言處理 文本分類 地鐵方面留言文本

    Python 自然語言處理 文本分類 地鐵方面留言文本

    將關(guān)于地鐵的留言文本進行自動分類。 不要著急,一步步來。 導入需要的庫。 定義函數(shù),加載用來分詞的自定義詞典。 定義函數(shù),生成自己的停用詞詞典,得到一個文件。 我找的4個停用詞詞典下載地址:https://gitcode.net/mirrors/goto456/stopwords/-/tree/master 后面我會把自己整合好

    2024年02月09日
    瀏覽(100)
  • 自然語言處理入門:使用Python和NLTK進行文本預處理

    文章標題:自然語言處理入門:使用Python和NLTK進行文本預處理 簡介 自然語言處理(NLP)是人工智能領(lǐng)域的一個重要分支,它致力于使計算機能夠理解、分析和生成人類語言。本文將介紹如何使用Python編程語言和NLTK(Natural Language Toolkit)庫進行文本預處理,為后續(xù)的文本分析

    2024年02月19日
    瀏覽(22)
  • 詞!自然語言處理之詞全解和Python實戰(zhàn)!

    詞!自然語言處理之詞全解和Python實戰(zhàn)!

    本文全面探討了詞在自然語言處理(NLP)中的多維角色。從詞的基礎(chǔ)概念、形態(tài)和詞性,到詞語處理技術(shù)如規(guī)范化、切分和詞性還原,文章深入解析了每一個環(huán)節(jié)的技術(shù)細節(jié)和應(yīng)用背景。特別關(guān)注了詞在多語言環(huán)境和具體NLP任務(wù),如文本分類和機器翻譯中的應(yīng)用。文章通過

    2024年02月05日
    瀏覽(89)
  • 自然語言處理2——輕松入門情感分析 - Python實戰(zhàn)指南

    自然語言處理2——輕松入門情感分析 - Python實戰(zhàn)指南

    情感分析是一項強大的數(shù)據(jù)分析工具,它能夠幫助我們深入理解文本背后的情感色彩。在企業(yè)和社交媒體中,情感分析被廣泛應(yīng)用,以洞察用戶的情感傾向,改善產(chǎn)品和服務(wù),提升用戶體驗。本篇博客將帶您輕松入門情感分析,使用Python中常見的情感分析庫進行實戰(zhàn)指南。

    2024年02月03日
    瀏覽(36)
  • 入門NLTK:Python自然語言處理庫初級教程

    NLTK(Natural Language Toolkit)是一個Python庫,用于實現(xiàn)自然語言處理(NLP)的許多任務(wù)。NLTK包括一些有用的工具和資源,如文本語料庫、詞性標注器、語法分析器等。在這篇初級教程中,我們將了解NLTK的基礎(chǔ)功能。 在開始使用NLTK之前,我們需要確保已經(jīng)正確安裝了它??梢允?/p>

    2024年02月14日
    瀏覽(33)
  • 【Python入門系列】第十八篇:Python自然語言處理和文本挖掘

    【Python入門系列】第十八篇:Python自然語言處理和文本挖掘

    Python自然語言處理(Natural Language Processing,簡稱NLP)和文本挖掘是一門涉及處理和分析人類語言的學科。它結(jié)合了計算機科學、人工智能和語言學的知識,旨在使計算機能夠理解、解釋和生成人類語言。 NLTK(Natural Language Toolkit):它是Python中最受歡迎的NLP庫之一,提供了豐

    2024年02月15日
    瀏覽(36)
  • 5.Python數(shù)據(jù)分析項目之文本分類-自然語言處理

    5.Python數(shù)據(jù)分析項目之文本分類-自然語言處理

    預測類數(shù)據(jù)分析項目 流程 具體操作 基本查看 查看缺失值(可以用直接查看方式isnull、圖像查看方式查看缺失值missingno)、查看數(shù)值類型特征與非數(shù)值類型特征、一次性繪制所有特征的分布圖像 預處理 缺失值處理(填充)拆分數(shù)據(jù)(獲取有需要的值) 、統(tǒng)一數(shù)據(jù)格式、特征

    2024年02月03日
    瀏覽(46)
  • 自然語言處理3——玩轉(zhuǎn)文本分類 - Python NLP高級應(yīng)用

    自然語言處理3——玩轉(zhuǎn)文本分類 - Python NLP高級應(yīng)用

    隨著信息時代的不斷發(fā)展,海量的文本數(shù)據(jù)成為我們獲取知識和信息的重要來源。如何高效地從這些文本中提取有用的信息,成為數(shù)據(jù)分析和數(shù)據(jù)挖掘領(lǐng)域的熱門問題之一。本文將介紹文本分類在自然語言處理(NLP)中的高級應(yīng)用,通過Python實現(xiàn),讓你輕松玩轉(zhuǎn)文本分類。

    2024年02月03日
    瀏覽(43)
  • 探索 Python:發(fā)現(xiàn)有趣的庫——第 3 章:玩轉(zhuǎn)自然語言處理

    代碼俠和算法仙正在一間充滿科技感的實驗室里探討自然語言處理(NLP)的奧秘。 代碼俠 : 嘿,算法仙,我最近在研究自然語言處理,但感覺有點復雜啊。 算法仙 : 呵呵,別擔心,我來帶你入門。首先,我們得安裝兩個強大的庫,NLTK 和 spaCy。 代碼俠 : 好的,我已經(jīng)安

    2024年01月21日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包