能否用Kusto函数检测文本语言并按语言过滤数据集?
可以使用Kusto函数检测文本语言吗?
是的,Azure Data Explorer(Kusto)提供内置的detect_language()函数,可检测文本字符串的语言。结合映射逻辑,能将检测出的语言代码转换为易读的语言名称,进而实现按语言过滤数据集的需求。
示例实现代码
以下是针对你提供的数据集的完整查询,可输出期望的结果:
datatable(text:string) ['Bonjour', 'Salam', 'Hallo', 'Neih hou'] | extend LanguageCode = detect_language(text) | extend Language = case( LanguageCode == "fr", "French", LanguageCode == "fa", "Persian", LanguageCode == "da", "Danish", LanguageCode == "yue", "Cantonese", "Unknown" ) | project Text = text, Language
代码说明
detect_language()函数:接收文本字符串输入,返回对应的ISO 639-1标准语言代码(如fr代表法语、fa代表波斯语)。case()函数:将语言代码映射为目标语言全称,未定义的语言代码将返回"Unknown"作为兜底。project子句:调整输出列的名称与顺序,匹配期望格式。
按语言过滤数据集
若需筛选特定语言的文本(例如仅保留英语内容),可添加where子句实现:
datatable(text:string) ['Hello', 'Bonjour', 'Hola'] | where detect_language(text) == "en"
内容的提问来源于stack exchange,提问作者PorgtheEaten
相关产品推荐
相关产品推荐

