Flutter:理解人类语言
Flutter: Understanding human language
这可能是一个不寻常的问题。我已经在我的应用程序中实现了语音输入,我需要某种能够理解人类语言语义的机制。假设字符串 msg
包含用户说的句子。
例如,假设用户说“关闭设备”。
在这种情况下,我可以这样做:
if(msg.contains("Turn off")){
...
}
但是,这不包括其他情况,例如用户说“关闭设备电源”或其他语言。
所以我需要某种 library/package 可以完成这样的事情:
if(LanguageParser.stringHasMeaning(msg, "Turn off")){
...
}
有没有 library/package 可以在 Flutter 或一般情况下实现类似的东西。我知道检测不会 100% 准确。任何指导表示赞赏。谢谢^^
我最终听从了@paulsm4 的建议。我使用专用的 NLP(自然语言处理)后端来解析 msg
的含义。在我的例子中,我使用了 wit.ai,因为它是免费的,而且使用起来非常简单。
wit.ai 获取您的消息,您可以配置意图和实体以从消息中提取数据。
假设您的消息是“开启”:
- 您可以像这样将消息发送到 wit.ai 后端:https://api.wit.ai/message?q=turn%20on
- wit.ai returns 像这样:
{
"text": "turn on",
"intents": [
{
"id": "391529335929866",
"name": "turn_on",
"confidence": 0.9496
}
],
"entities": {},
"traits": {
"wit$on_off": [
{
"id": "53714d27-f6f6-43a0-ab93-1786e8cf6663",
"value": "on",
"confidence": 0.6317
}
]
}
}
- 您可以解析意向列表并根据收到的意向执行所需的操作。
- 请记住,您需要使用示例配置和训练 wit.ai 才能正常工作。然而,有一些内置的意图,如
turn_on
.
至于 Flutter,我使用标准 http
包来发出请求。您可能希望在发送请求之前进行一些本地字符串操作。
这可能是一个不寻常的问题。我已经在我的应用程序中实现了语音输入,我需要某种能够理解人类语言语义的机制。假设字符串 msg
包含用户说的句子。
例如,假设用户说“关闭设备”。 在这种情况下,我可以这样做:
if(msg.contains("Turn off")){
...
}
但是,这不包括其他情况,例如用户说“关闭设备电源”或其他语言。
所以我需要某种 library/package 可以完成这样的事情:
if(LanguageParser.stringHasMeaning(msg, "Turn off")){
...
}
有没有 library/package 可以在 Flutter 或一般情况下实现类似的东西。我知道检测不会 100% 准确。任何指导表示赞赏。谢谢^^
我最终听从了@paulsm4 的建议。我使用专用的 NLP(自然语言处理)后端来解析 msg
的含义。在我的例子中,我使用了 wit.ai,因为它是免费的,而且使用起来非常简单。
wit.ai 获取您的消息,您可以配置意图和实体以从消息中提取数据。
假设您的消息是“开启”:
- 您可以像这样将消息发送到 wit.ai 后端:https://api.wit.ai/message?q=turn%20on
- wit.ai returns 像这样:
{
"text": "turn on",
"intents": [
{
"id": "391529335929866",
"name": "turn_on",
"confidence": 0.9496
}
],
"entities": {},
"traits": {
"wit$on_off": [
{
"id": "53714d27-f6f6-43a0-ab93-1786e8cf6663",
"value": "on",
"confidence": 0.6317
}
]
}
}
- 您可以解析意向列表并根据收到的意向执行所需的操作。
- 请记住,您需要使用示例配置和训练 wit.ai 才能正常工作。然而,有一些内置的意图,如
turn_on
.
至于 Flutter,我使用标准 http
包来发出请求。您可能希望在发送请求之前进行一些本地字符串操作。