1

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

更具体地说,我在/DICT/GREEK文件夹中放置了一个字典 txt 文件。此外,我在文件夹/LIVEDATA/GREEK中复制了文件systemfacts.txt(我还没有更多的 txt)。为了支持新语言,我还需要更多材料吗?如果是,我需要什么?我知道最终也需要 POS 标记。我有一个带有 API 的客户 POS 标记器,但我不知道聊天脚本应该如何与之交互(此时应该进行调用以及期望什么样的响应)。

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

4

2 回答 2

0

ChatScript (CS) 与外语(不是英语)的集成是可能的,但它需要工作:

  • 字典
  • 本体(类似wordnet)
  • 感叹词/等

我有一个带有 API 的客户 POS 标记器,但我不知道聊天脚本应该如何与之交互(此时应该进行调用以及期望什么样的响应)。

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

顺便说一句,现在 CS 预见到与Treetagger的快速集成(需要许可证);但我公平的希腊语是没有预见到的。

于 2017-04-05T15:05:05.530 回答
0

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

./ChatScript local language=GREEK

为了在您的代码中包含仅在使用该语言标志运行 CS 时才被解析的条件块,请将这些行用##<<GREEK和括起来##>>。像这样:

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

你也可以将这些作为单行,有时在模式中间,但它可能非常喜怒无常,所以我会避免这样做并尝试相对冗长。另请注意,当您切换语言时,您必须使用:build 0:build botname

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

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

于 2018-01-22T09:04:50.640 回答