python:(请所有专家帮忙)我如何编写一个可以命令和执行 python 功能的聊天机器人?
python: (calling all experts out there to help) how do i write a chatbot which can commands and execute a python function?
我正在浏览 chatterbot、NLTK 库的文章,但我就是找不到一种方法来提供类似英语的命令,并且响应可以是 python 函数。
例如:我可以说“给我八月份在德里的所有销售数字”,它应该从中挑选单词并进行数据框查询以获取数据。和类似的智力。
总而言之,我会用英语说数据,它应该转换成相关的数据帧命令来获取数据。
有什么想法吗?
好吧,一个建议是使用 NLP 语言特征
为方便起见,我将使用 spacy
import spacy
nlp = spacy.load('en_core_web_md')
doc = nlp('Get me all sales numbers for August in the Delhi')
for token in doc:
print(token.text,token.dep_,token.pos_)
输出
| 'Word' | 'DEPENDENY' | 'POS' |
----------------------------------
|'Get' | 'ROOT' | 'AUX' |
|'me', | 'dative' | 'PRON' |
|'all' | 'det' | 'DET' |
|'sales' | 'compound' | 'NOUN' |
|'numbers'| 'dobj' | 'NOUN' |
|'for' | 'prep' | 'ADP' |
|'August' | 'pobj' | 'PROPN'|
|'in' | 'prep' | 'ADP' |
|'the' | 'det' | 'DET' |
|'Delhi' | 'pobj' | 'PROPN'|
在这里您可以使用提取的这些属性(例如 pos 标记和依赖性)来获得您想要的值,例如
df[DEPENDENY.compound].mean()
您可以设计更多 NLP 技术,例如实体识别,并在此基础上进一步创建查询。这可能需要 in-depth 思考逻辑公式,但您需要探索更多并编写一些规则。
我正在浏览 chatterbot、NLTK 库的文章,但我就是找不到一种方法来提供类似英语的命令,并且响应可以是 python 函数。
例如:我可以说“给我八月份在德里的所有销售数字”,它应该从中挑选单词并进行数据框查询以获取数据。和类似的智力。
总而言之,我会用英语说数据,它应该转换成相关的数据帧命令来获取数据。
有什么想法吗?
好吧,一个建议是使用 NLP 语言特征
为方便起见,我将使用 spacy
import spacy
nlp = spacy.load('en_core_web_md')
doc = nlp('Get me all sales numbers for August in the Delhi')
for token in doc:
print(token.text,token.dep_,token.pos_)
输出
| 'Word' | 'DEPENDENY' | 'POS' |
----------------------------------
|'Get' | 'ROOT' | 'AUX' |
|'me', | 'dative' | 'PRON' |
|'all' | 'det' | 'DET' |
|'sales' | 'compound' | 'NOUN' |
|'numbers'| 'dobj' | 'NOUN' |
|'for' | 'prep' | 'ADP' |
|'August' | 'pobj' | 'PROPN'|
|'in' | 'prep' | 'ADP' |
|'the' | 'det' | 'DET' |
|'Delhi' | 'pobj' | 'PROPN'|
在这里您可以使用提取的这些属性(例如 pos 标记和依赖性)来获得您想要的值,例如
df[DEPENDENY.compound].mean()
您可以设计更多 NLP 技术,例如实体识别,并在此基础上进一步创建查询。这可能需要 in-depth 思考逻辑公式,但您需要探索更多并编写一些规则。