Recognizers-Text node.js项目不支持EnglishOthers“ en- *”作为一种文化,但在Dot-Net项目中支持。因此,当我尝试检索不同于MM / DD的日期时间格式时,在用户说英语但他不是美国用户的情况下,它不起作用。
我一直使用luis直接返回的答案,然后我改变了方法并尝试了SDK提供的方法。但是我发现node.js方法“ Recognizers.recognizeDateTime”不支持EnglishOthers。
要复制
来自英国的用户:“预订时间为2019年6月10日至2019年6月12日”(从6月10日到6月12日为期2天)
const result= Recognizers.recognizeDateTime(
args.text,
Recognizers.Culture.EnglishOthers
);
结果
返回61天,结果是从10月06日到12月06日。
result[0].resolution.values[0] =
{
end: "2019-12-06",
start: "2019-10-06",
timex: "(2019-10-06,2019-12-06,P61D)",
type: "daterange"
}
预期的行为
Recognizers-Text node.js应该能够接受EnglishOthers并返回timex 2天的“ P2D”期间。
result[0].resolution.values[0] =
{
end: "2019-12-06",
start: "2019-10-06",
timex: "(2019-10-06,2019-12-06,P2D)",
type: "daterange"
}
其他上下文
文化网点列表: -https://github.com/Microsoft/Recognizers-Text/blob/master/.NET/Microsoft.Recognizers.Text/Culture.cs
Node.js文化列表: -https://github.com/microsoft/Recognizers-Text/blob/master/JavaScript/packages/recognizers-text/src/culture.ts