我正在使用pysparkDataframe。
我有一个df,看起来像这样:
df.select('words').show(5, truncate = 130)
+----------------------------------------------------------------------------------------------------------------------------------+
| words |
+----------------------------------------------------------------------------------------------------------------------------------+
|[content, type, multipart, alternative, boundary, nextpart, da, df, nextpart, da, df, content, type, text, plain, charset, asci...|
|[receive, ameurht, eop, eur, prod, protection, outlook, com, cyprmb, namprd, prod, outlook, com, https, via, cyprca, namprd, pr...|
|[plus, every, photographer, need, mm, lens, digital, photography, school, email, newsletter, http, click, aweber, com, ct, l, m...|
|[content, type, multipart, alternative, boundary, nextpart, da, beb, nextpart, da, beb, content, type, text, plain, charset, as...|
|[original, message, customer, service, mailto, ilpjmwofnst, qssadxnvrvc, narrig, stepmotherr, eviews, com, send, thursday, dece...|
+----------------------------------------------------------------------------------------------------------------------------------+
only showing top 5 rows
我需要使用 LanguageDetectorDL
从spark nlp开始 words
列,它是 array<strings>
输入,这样它可以检测英语,只保留英语单词并删除其他单词。
我已经用过了 DocumentAssembler()
要将数据转换为注解格式,请执行以下操作:
documentassembler=documentassembler().setinputcol('words').setoutputcol('document')
但我不知道怎么用 LanguageDetectorDL
在专栏上去掉非英语单词?
1条答案
按热度按时间nwnhqdif1#
spark nlp的语言检测器工作在char级别。这意味着它不使用字典来匹配单词。如果你提供完整的句子,它肯定会工作得更好,但是如果你只是传递一个大串的连接标记,在你想要检测的语言中,它应该表现得很好,例如这个预先训练的模型,它可以检测21种不同的语言,
检查您要使用的语言是否属于模型支持的语言,
https://nlp.johnsnowlabs.com/2020/12/05/detect_language_21_xx.html
还要确保传递一个大约150个字符的字符串,以便模型有更多的机会返回一个好的答案。