Description
This model determines if news articles in Urdu are real or fake.
Predicted Entities
real
, fake
Live Demo Open in Colab Download Copy S3 URI
How to use
document_assembler = DocumentAssembler() \
.setInputCol("news") \
.setOutputCol("document")
tokenizer = Tokenizer() \
.setInputCols(["document"]) \
.setOutputCol("token")
normalizer = Normalizer() \
.setInputCols(["token"]) \
.setOutputCol("normalized")
lemma = LemmatizerModel.pretrained("lemma", "ur") \
.setInputCols(["normalized"]) \
.setOutputCol("lemma")
embeddings = WordEmbeddingsModel.pretrained("urduvec_140M_300d", "ur") \
.setInputCols("document", "lemma") \
.setOutputCol("embeddings")
embeddingsSentence = SentenceEmbeddings() \
.setInputCols(["document", "embeddings"]) \
.setOutputCol("sentence_embeddings") \
.setPoolingStrategy("AVERAGE")
classifierdl = ClassifierDLModel.pretrained("classifierdl_urduvec_fakenews", "ur") \
.setInputCols(["document", "sentence_embeddings"]) \
.setOutputCol("class")
urdu_fake_pipeline = Pipeline(stages=[document_assembler, tokenizer, normalizer, lemma, embeddings, embeddingsSentence, classifierdl])
light_pipeline = LightPipeline(urdu_fake_pipeline.fit(spark.createDataFrame([['']]).toDF("news")))
result = light_pipeline.annotate("ایک امریکی تھنک ٹینک نے خبردار کیا ہے کہ جیسے جیسے چین مصنوعی ذہانت (آرٹیفیشل انٹیلی جنس) کے میدان میں ترقی کر رہا ہے، دنیا کا اقتصادی اور عسکری توازن تبدیل ہو سکتا ہے۔")
result["class"]
val document_assembler = DocumentAssembler()
.setInputCol("text")
.setOutputCol("document")
val tokenizer = Tokenizer()
.setInputCols(Array("document"))
.setOutputCol("token")
val normalizer = Normalizer()
.setInputCols(Array("token"))
.setOutputCol("normalized")
val lemma = LemmatizerModel.pretrained("lemma", "ur")
.setInputCols(Array("normalized"))
.setOutputCol("lemma")
val embeddings = WordEmbeddingsModel.pretrained("urduvec_140M_300d", "ur")
.setInputCols(Array("document", "lemma"))
.setOutputCol("embeddings")
val embeddingsSentence = SentenceEmbeddings()
.setInputCols(Array("document", "embeddings"))
.setOutputCol("sentence_embeddings")
.setPoolingStrategy("AVERAGE")
val classifier = ClassifierDLModel.pretrained("classifierdl_urduvec_fakenews", "ur")
.setInputCols(Array("document", "sentence_embeddings"))
.setOutputCol("class")
val urdu_fake_pipeline = new Pipeline().setStages(Array(document_assembler, tokenizer, normalizer, lemma, embeddings, embeddingsSentence, classifier))
val light_pipeline = LightPipeline(urdu_fake_pipeline.fit(spark.createDataFrame([['']]).toDF("text")))
val result = light_pipeline.annotate("ایک امریکی تھنک ٹینک نے خبردار کیا ہے کہ جیسے جیسے چین مصنوعی ذہانت (آرٹیفیشل انٹیلی جنس) کے میدان میں ترقی کر رہا ہے، دنیا کا اقتصادی اور عسکری توازن تبدیل ہو سکتا ہے۔")
import nlu
nlu.load("ur.classify.fakenews").predict("""ایک امریکی تھنک ٹینک نے خبردار کیا ہے کہ جیسے جیسے چین مصنوعی ذہانت (آرٹیفیشل انٹیلی جنس) کے میدان میں ترقی کر رہا ہے، دنیا کا اقتصادی اور عسکری توازن تبدیل ہو سکتا ہے۔""")
Results
['real']
Model Information
Model Name: | classifierdl_urduvec_fakenews |
Compatibility: | Spark NLP 3.3.1+ |
License: | Open Source |
Edition: | Official |
Input Labels: | [sentence_embeddings] |
Output Labels: | [class] |
Language: | ur |
Size: | 21.5 MB |
Data Source
Combination of multiple open source data sets.
Benchmarking
label precision recall f1-score support
fake 0.77 0.70 0.73 415
real 0.71 0.77 0.74 387
accuracy 0.73 802
macro-avg 0.74 0.74 0.73 802
weighted-avg 0.74 0.73 0.73 802