Chatscript添加外语

时间:2017-01-30 10:20:41

标签: bots chatbot chatscript

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

更具体地说,我在 / DICT / GREEK 文件夹中放置了一个dictionaty txt文件。另外,我在文件夹 / LIVEDATA / GREEK 中复制了文件 systemfacts.txt (我还没有更多的txts)。我是否需要更多材料才能支持新语言?如果是,我需要什么exaclty? 我知道最终还需要POS标签。我有一个带有API的客户POS标记器,但我不知道chatscript应该如何与它交互(此时应该进行调用以及预期会有什么样的响应)。

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

2 个答案:

答案 0 :(得分:0)

ChatScript(CS)与外语(非英语)的集成是可能的,但它需要工作待办事项:

  • 字典
  • ontologies(wordnet like)
  • 感叹词/等
  

我有一个带有API的客户POS标记器,但我不知道如何   chatscript应该与它交互(此时调用应该是   制作和预期会有什么样的反应。)

您可以通过对外部POS标记器的系统调用来执行此操作,请参阅示例:https://github.com/bwilcox-1234/ChatScript/tree/master/RAWDATA/GERMAN

顺便说一句,现在CS预见到与Treetagger的快速整合(需要许可证);但我认为希腊语并不可预见。

答案 1 :(得分:0)

为了明确使用该语言,您需要使用language=标志调用ChatScript:

./ChatScript local language=GREEK

为了在代码中使用条件块,只有在使用该语言标志运行CS时才会对其进行解析,请使用##<<GREEK##>>包围这些行。像这样:

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

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

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

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