Skip to content

.NET Port of Language Identification Library for langid-java. 移植自langid-java的语言识别库。

License

Notifications You must be signed in to change notification settings

stratosblue/LanguageIdentification

Folders and files

NameName
Last commit message
Last commit date
Dec 5, 2021
Feb 22, 2022
Feb 22, 2022
Dec 5, 2021
Sep 26, 2021
Sep 26, 2021
Dec 5, 2021
Sep 26, 2021
Sep 29, 2021
Feb 22, 2022

Repository files navigation

LanguageIdentification

Intro

.NET Port of Language Identification Library for langid-java

移植自langid-java的语言识别库,技术细节参见langid-javalangid.py

  • 支持.netstandard2.0+;

如何使用

安装Nuget包

Install-Package LanguageIdentification

快速使用


  1. 通过手动创建实例使用
var langIdClassifier = new LanguageIdentificationClassifier();
langIdClassifier.Append("Hello");
var result = langIdClassifier.Classify();
Console.WriteLine(result);
  • 实例不是线程安全的;
  • 实例复用进行新的检测前,需要调用Reset()方法;

  1. 通过静态方法使用
var result = LanguageIdentificationClassifier.Classify("Hello");
Console.WriteLine(result);
  • 静态方法是线程安全的,内部使用了默认的LanguageIdentificationClassifier池 - LanguageIdentificationClassifierPool.Default 进行处理;

特殊用法


  1. 只加载部分语言支持
var classifier = new LanguageIdentificationClassifier("zh", "en");
langIdClassifier.Append("Hello");
var result = langIdClassifier.Classify();
Console.WriteLine(result);
  • 速度会更快;
  • 返回的语言只会是已加载语言的其中一个;

  1. 使用自己的模型数据
var model = new LanguageIdentificationModel(langClasses, nb_ptc, nb_pc, dsa, dsaOutput);
var classifier = new LanguageIdentificationClassifier(model);
  • 具体各个参数是什么意义。。不清楚。。自行研究源项目。。。