如何使用Python识别句子语言,解决langdetect、NLTK检测结果不符问题
短文本语言识别解决方案
langdetect、nltk词库对短文本、带特殊符号的文本识别准确率较低,推荐使用langid库,该库针对短文本场景做了专门优化,适配你当前的职位名称类短文本识别需求。
步骤1:安装依赖
执行命令安装需要的库:
pip install pandas langid
步骤2:运行检测代码
import pandas as pd import langid # 示例数据集 df = pd.DataFrame({'text': ['Auxiliar Director/a de Hotel', 'Jefe de Tienda', 'Data Analyst']}) # 配置语言代码到名称的映射,可按需扩展更多语言 lang_mapping = { 'en': 'english', 'es': 'spanish' } # 对text列逐行做语言检测 df['detected_language'] = df['text'].apply( lambda s: lang_mapping.get(langid.classify(s)[0], 'unknown') ) # 输出结果 print(df)
输出结果
运行代码后得到的输出和你预期的完全一致:
text detected_language 0 Auxiliar Director/a de Hotel spanish 1 Jefe de Tienda spanish 2 Data Analyst english
补充说明
langid默认支持55种语言的识别,你如果需要识别更多语言,只需要扩展lang_mapping的键值对即可,对应语言的ISO 639-1代码可以直接查标准对照表。
内容的提问来源于stack exchange,提问作者PRIN
相关产品推荐
相关产品推荐

