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

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");
using var result = langIdClassifier.Classify();
Console.WriteLine(result);
  • 实例不是线程安全的;
  • 实例复用进行新的检测前,需要调用Reset()方法;

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

特殊用法


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

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