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 思考逻辑公式,但您需要探索更多并编写一些规则。