我試圖從文本列中提取形容詞和名詞短語在火花數據幀的我寫的udf和應用清潔文本列。然而,我得到這個錯誤。
從pyspark.sql。功能導入udf
從pyspark.sql。類型進口ArrayType StringType
進口寬大的
#負載寬大的模型
nlp = spacy.load (“en_core_web_sm”)
#定義UDF來提取關鍵短語
def extract_adjective_noun_key_phrases(文本):
醫生= nlp(文本)
key_phrases = []
令牌的醫生:
如果令牌。pos_ = =“調節”和token.nbor ()。pos_ = =“名詞”)或(令牌。pos_ = =“名詞”和token.nbor ()。pos_ = =“的”):
key_phrases.append(令牌。文本+ " " + token.nbor ()。text)
返回key_phrases
extract_adjective_noun_key_phrases_udf = udf (extract_adjective_noun_key_phrases ArrayType (StringType ()))
# DataFrame UDF適用於文本列
pqms = pqms。withColumn (“adjective_noun_key_phrases extract_adjective_noun_key_phrases_udf (col (“cleaned_text”)))
#打印結果DataFrame
顯示器(pqms)
預期的輸出來提取短語和創建一個新的列相同的引發數據幀。任何幫助或建議,這將是一個偉大的幫助。
謝謝,