Watson Knowledge Studio中的规则/正则表达式

时间:2017-07-10 13:21:41

标签: ibm-cloud ibm-watson

我需要在WKS中制定一套规则和正则表达式来识别歌曲标题和艺术家的句子,例如" Play Locomotive Breath"或者"播放Jethro Tull的歌曲“机车呼吸”#34; (我实际上是为德语做的,所以我不能在NLU中使用内置实体。)

我的问题是" by"部分是可选的。我已经为德语等同于#34; Play [the song]"设置了正则表达式。 (映射到类PLAY)和" by" (映射到类BY)并尝试添加两个规则,一个匹配 PLAY (any tokens) BY (any tokens)PLAY (any tokens)。 问题在于第二条规则也与第一条规则相匹配,因此在句子中#14;播放机车呼吸由Jethro Tull"标题被Jethro Tull认可为"机车呼吸"。

我尝试定义一个带有负前瞻的正则表达式,即(\w* (?!(by)))*以匹配" by"上的文本,但这似乎不适用于WKS。

我是如何使用WKS规则提取歌曲名称和艺术家的?

1 个答案:

答案 0 :(得分:1)

具有负前瞻的正则表达式应该在WKS中正常工作。

我不确定您的正则表达式(\w* (?!(by)))*是否表达了您的意图。它是否像WKS之外的预期一样工作?

也许你的意思是((?!(by))\w)*