聊天脚本添加外语



我正在使用Chatscript创建一个客户服务机器人。到目前为止,我已经使用德国预构建的机器人作为模板创建了一个自定义机器人,但问题是我无法理解如何添加外语(在我的案例中是希腊语)。我发现的最相关的链接是https://github.com/bwilcox-1234/ChatScript/blob/master/WIKI/ESOTERIC-CHATSCRIPT/ChatScript-Foreign-Languages.md,但这并没有多大帮助。

更具体地说,我在/DICT/GREEK文件夹中放置了一个dictionary txt文件。此外,我在文件夹/LIVEDATA/GEEK中复制了文件systemfacts.txt(我还没有更多的txt)。我还需要更多的材料来支持一门新语言吗?如果是,我需要什么检查?我知道最终也需要POS标记。我有一个带有API的客户POS标记器,但我不知道聊天脚本应该如何与它交互(在什么时候应该打电话,预期会有什么样的响应)。

最后,我如何明确告诉我的机器人使用新语言?我检查了德国机器人作为参考,但我没有发现任何这样的命令。

ChatScript(CS)与外语(而非英语)的集成是可能的,但需要完成以下工作:

  • 词典
  • 本体论(类wordnet)
  • 插话等

我有一个带有API的客户POS标记器,但我不知道如何聊天脚本应该与它交互(此时呼叫应该做出了什么样的响应以及预期的响应)。

您可以通过对外部POS标记器的系统调用来实现这一点,例如:https://github.com/bwilcox-1234/ChatScript/tree/master/RAWDATA/GERMAN

BTW,现在CS预见到与Treetagger的快速集成(需要许可证);但我认为希腊语是不可预见的。

为了显式使用该语言,您需要调用带有language=标志的ChatScript:

./ChatScript local language=GREEK

为了使代码中的条件块只有在使用该语言标志运行CS时才会被解析,请使用##<<GREEK##>>封装行。像这样:

##<<ENGLISH
Hello
##>>
##<<GREEK
Χαίρετε
##>>

您也可以将这些作为一行代码,有时也可以在模式中间进行,但这可能是非常有气质的,因此我会避免这样做,并尝试相对冗长。还要注意,当您切换语言时,必须使用:build 0:build botname重新构建所有内容

还要注意,条件语言块在构建时被编译到TOPICS中,而不是在运行时被解释。

乔治奥的回答解释了字典和本体论。目前,还有其他语言,如法语、西班牙语、德语,但没有希腊语。不幸的是,我无法帮助处理生成希腊本体文件的复杂性质。

最新更新