Flutter禁用词过滤插件stopwordies的使用

发布于 1周前 作者 songsunli 来自 Flutter

Flutter禁用词过滤插件stopwordies的使用

Flutter Dart

A multilingual collection of stopwords (using ISO 639-1 language codes) for Dart/Flutter.

特性

Stopwordies支持多达57种语言,如下所示。带有对勾标记的语言是支持停用词的。

ISO 639-1 Code Language Included Here
aa Afar
ab Abkhazian
af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
an Aragonese
hy Armenian
as Assamese
av Avaric
ae Avestan
ay Aymara
az Azerbaijani
ba Bashkir
bm Bambara
eu Basque
be Belarusian
bn Bengali
bh Bihari languages
bi Bislama
bo Tibetan
bs Bosnian
br Breton
bg Bulgarian
my Burmese
ca Catalan; Valencian
cs Czech
ch Chamorro
ce Chechen
zh Chinese
cu Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic
cv Chuvash
kw Cornish
co Corsican
cr Cree
cy Welsh
da Danish
de German
dv Divehi; Dhivehi; Maldivian
nl Dutch; Flemish
dz Dzongkha
el Greek, Modern (1453-)
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
fa Persian
fj Fijian
fi Finnish
fr French
fy Western Frisian
ff Fulah
ka Georgian
gd Gaelic; Scottish Gaelic
ga Irish
gl Galician
gv Manx
gn Guarani
gu Gujarati
ht Haitian; Haitian Creole
ha Hausa
he Hebrew
hz Herero
hi Hindi
ho Hiri Motu
hr Croatian
hu Hungarian
ig Igbo
is Icelandic
io Ido
ii Sichuan Yi; Nuosu
iu Inuktitut
ie Interlingue; Occidental
ia Interlingua (International Auxiliary Language Association)
id Indonesian
ik Inupiaq
it Italian
jv Javanese
ja Japanese
kl Kalaallisut; Greenlandic
kn Kannada
ks Kashmiri
kr Kanuri
kk Kazakh
km Central Khmer
ki Kikuyu; Gikuyu
rw Kinyarwanda
ky Kirghiz; Kyrgyz
kv Komi
kg Kongo
ko Korean
kj Kuanyama; Kwanyama
ku Kurdish
lo Lao
la Latin
lv Latvian
li Limburgan; Limburger; Limburgish
ln Lingala
lt Lithuanian
lb Luxembourgish; Letzeburgesch
lu Luba-Katanga
lg Ganda
mk Macedonian
mh Marshallese
ml Malayalam
mi Maori
mr Marathi
ms Malay
mg Malagasy
mt Maltese
mn Mongolian
na Nauru
nv Navajo; Navaho
nr Ndebele, South; South Ndebele
nd Ndebele, North; North Ndebele
ng Ndonga
ne Nepali
nn Norwegian Nynorsk; Nynorsk, Norwegian
nb Bokmål, Norwegian; Norwegian Bokmål
no Norwegian
ny Chichewa; Chewa; Nyanja
oc Occitan (post 1500)
oj Ojibwa
or Oriya
om Oromo
os Ossetian; Ossetic
pa Panjabi; Punjabi
pi Pali
pl Polish
pt Portuguese
ps Pushto; Pashto
qu Quechua
rm Romansh
ro Romanian; Moldavian; Moldovan
rn Rundi
ru Russian
sg Sango
sa Sanskrit
si Sinhala; Sinhalese
sk Slovak
sl Slovenian
se Northern Sami
sm Samoan
sn Shona
sd Sindhi
so Somali
st Sotho, Southern
es Spanish; Castilian
sc Sardinian
sr Serbian
ss Swati
su Sundanese
sw Swahili
sv Swedish
ty Tahitian
ta Tamil
tt Tatar
te Telugu
tg Tajik
tl Tagalog
th Thai
ti Tigrinya
to Tonga (Tonga Islands)
tn Tswana
ts Tsonga
tk Turkmen
tr Turkish
tw Twi
ug Uighur; Uyghur
uk Ukrainian
ur Urdu
uz Uzbek
ve Venda
vi Vietnamese
vo Volapük
wa Walloon
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
za Zhuang; Chuang
zu Zulu

使用方法

使用起来非常简单。只需获取当前支持语言的停用词列表,如下面的示例所示:

final words = await StopWordies.getFor(locale: SWLocale.en);

更多关于Flutter禁用词过滤插件stopwordies的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter禁用词过滤插件stopwordies的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用stopwordies插件来进行禁用词过滤的示例代码。stopwordies插件通常用于文本处理,以移除不需要的停用词(stopwords),尽管它并非专门用于“禁用词”过滤(这通常涉及敏感词或不良词汇的过滤),但原理相似。如果你确实需要针对特定禁用词的过滤,可以在此基础上进行扩展。

首先,确保你已经在pubspec.yaml文件中添加了stopwordies依赖:

dependencies:
  flutter:
    sdk: flutter
  stopwordies: ^最新版本号 # 替换为当前最新版本号

然后运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中,你可以按照以下步骤使用stopwordies插件:

  1. 导入必要的包
import 'package:flutter/material.dart';
import 'package:stopwordies/stopwordies.dart';
  1. 创建并配置Stopwordies实例

由于stopwordies主要用于移除自然语言处理中的常见停用词(如“the”, “is”, “in”等),它自带了一些语言的停用词列表。如果你需要过滤特定的禁用词,你需要自定义这个列表。

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Stopwordies Demo'),
        ),
        body: Center(
          child: StopwordiesDemo(),
        ),
      ),
    );
  }
}

class StopwordiesDemo extends StatefulWidget {
  @override
  _StopwordiesDemoState createState() => _StopwordiesDemoState();
}

class _StopwordiesDemoState extends State<StopwordiesDemo> {
  String inputText = "This is a sample text with some stopwords.";
  String filteredText = "";

  @override
  void initState() {
    super.initState();
    // 初始化Stopwordies实例,并加载停用词列表(这里使用英语默认列表作为示例)
    final stopwordies = Stopwordies(languageCode: 'en');

    // 自定义停用词列表(如果需要过滤特定禁用词,可以在这里添加)
    final customStopwords = ["sample", "some"]; // 示例禁用词
    stopwordies.addStopwords(customStopwords);

    // 过滤文本
    filteredText = stopwordies.removeStopwords(inputText);

    // 注意:这里的过滤是同步进行的,如果文本很长或需要频繁更新,考虑使用异步处理
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        Text('Original Text:'),
        Text(inputText),
        SizedBox(height: 20),
        Text('Filtered Text:'),
        Text(filteredText),
      ],
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个文本字段显示原始文本和一个文本字段显示经过停用词过滤后的文本。我们使用了Stopwordies类的实例来加载默认的英语停用词列表,并添加了一些自定义的停用词(在这个例子中是“sample”和“some”)。然后,我们调用removeStopwords方法来过滤输入文本中的停用词。

请注意,stopwordies插件主要用于自然语言处理中的常见停用词过滤,如果你需要更复杂的禁用词过滤(比如基于正则表达式的敏感词过滤),你可能需要结合其他技术或自己实现一个过滤机制。

回到顶部