Watson Knowledge Studio 中的规则/正则表达式
Rules / Regexp in Watson Knowledge Studio
我需要在 WKS 中制定一套规则和正则表达式来识别像 "Play Locomotive Breath" 或 "Play the song Locomotive Breath by Jethro Tull" 这样的句子中的歌曲标题和艺术家(我实际上是为德语做的,所以我可以' t 在 NLU 中使用内置实体)。
我的问题是 "by " 部分是可选的。我已经为 "Play [the song]"(映射到 class PLAY)和 "by"(映射到 class BY)的德语等价物设置了正则表达式,并尝试添加两条规则, 一个匹配
PLAY (any tokens) BY (any tokens)
和 PLAY (any tokens)
。
问题是当第一个规则匹配时第二个规则也匹配,因此在句子 "Play Locomotive Breath by Jethro Tull" 中标题被识别为 "Locomotive Breath by Jethro Tull".
我试图定义一个具有负前瞻性的正则表达式,即 (\w* (?!(by)))*
来匹配 "by" 中的文本,但这在 WKS 中似乎不起作用。
关于如何使用 WKS 规则提取歌曲标题和艺术家的任何想法?
具有负前瞻性的正则表达式在 WKS 中应该可以正常工作。
我不确定您的正则表达式 (\w* (?!(by)))*
是否表达了您的意图。它在 WKS 之外是否如您预期的那样工作?
也许你的意思是 ((?!(by))\w)*
?
我需要在 WKS 中制定一套规则和正则表达式来识别像 "Play Locomotive Breath" 或 "Play the song Locomotive Breath by Jethro Tull" 这样的句子中的歌曲标题和艺术家(我实际上是为德语做的,所以我可以' t 在 NLU 中使用内置实体)。
我的问题是 "by " 部分是可选的。我已经为 "Play [the song]"(映射到 class PLAY)和 "by"(映射到 class BY)的德语等价物设置了正则表达式,并尝试添加两条规则, 一个匹配
PLAY (any tokens) BY (any tokens)
和 PLAY (any tokens)
。
问题是当第一个规则匹配时第二个规则也匹配,因此在句子 "Play Locomotive Breath by Jethro Tull" 中标题被识别为 "Locomotive Breath by Jethro Tull".
我试图定义一个具有负前瞻性的正则表达式,即 (\w* (?!(by)))*
来匹配 "by" 中的文本,但这在 WKS 中似乎不起作用。
关于如何使用 WKS 规则提取歌曲标题和艺术家的任何想法?
具有负前瞻性的正则表达式在 WKS 中应该可以正常工作。
我不确定您的正则表达式 (\w* (?!(by)))*
是否表达了您的意图。它在 WKS 之外是否如您预期的那样工作?
也许你的意思是 ((?!(by))\w)*
?