真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于DF的Tokenizer分詞是怎么樣的

這篇文章給大家介紹基于DF的Tokenizer分詞是怎么樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)成都定制網(wǎng)站方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及不銹鋼雕塑等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

Tokenizer分詞

進(jìn)行文本分析前,對(duì)文本中句子進(jìn)行分詞我們處理的第一步。大家都是Spark的機(jī)器學(xué)習(xí)庫(kù)分為基于RDD和基于DataFrame的庫(kù),由于基于RDD的庫(kù)在Spark2.0以后都處于維護(hù)狀態(tài),我們這里講的分詞就是基于Spark的Dataframe的。主要是講解兩個(gè)類Tokenizer和RegexTokenizer的使用。

1 首先準(zhǔn)備數(shù)據(jù)

導(dǎo)包

import org.apache.spark.ml.feature.{RegexTokenizer, Tokenizer}
import org.apache.spark.sql.functions._

準(zhǔn)數(shù)據(jù)

val sentenceDataFrame = spark.createDataFrame(Seq(
 (0, "Hi I heard about Spark"),
 (1, "I wish Java could use case classes"),
 (2, "Logistic,regression,models,are,neat")
)).toDF("id", "sentence")

2 Tokenizer

Tokenizer負(fù)責(zé)讀取文檔或者句子,將其分解為單詞。聲明一個(gè)變量

val tokenizer = new Tokenizer().setInputCol("sentence").setOutputCol("words")

自定義函數(shù)來(lái)獲取每列單詞數(shù)目

val countTokens = udf { (words: Seq[String]) => words.length }

調(diào)用轉(zhuǎn)換函數(shù)

val tokenized = tokenizer.transform(sentenceDataFrame)
tokenized.select("sentence", "words").withColumn("tokens", countTokens(col("words"))).show(false)

基于DF的Tokenizer分詞是怎么樣的

3 RegexTokenizer

RegexTokenizer允許基于正則的方式進(jìn)行文檔切分成單詞組。默認(rèn)情況下,使用參數(shù)“pattern”( regex, default: "\s+")作為分隔符來(lái)分割輸入文本。或者,用戶可以將參數(shù)“gaps”設(shè)置為false,指示正則表達(dá)式“pattern”表示“tokens”,而不是分割間隙,并查找所有匹配事件作為切分后的結(jié)果。

val regexTokenizer = new RegexTokenizer().setInputCol("sentence").setOutputCol("words").setPattern("\W")
// 也可換為 .setPattern("\w+").setGaps(false)

開(kāi)始轉(zhuǎn)換并查看執(zhí)行結(jié)果

val regexTokenized = regexTokenizer.transform(sentenceDataFrame)
regexTokenized.select("sentence", "words").withColumn("tokens", countTokens(col("words"))).show(false)

基于DF的Tokenizer分詞是怎么樣的

關(guān)于基于DF的Tokenizer分詞是怎么樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)站題目:基于DF的Tokenizer分詞是怎么樣的
當(dāng)前鏈接:http://weahome.cn/article/gjsioj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部