Python

    xiaoxiao2022-07-04  104

    SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己(不是本人)实现的,并且自带了一些训练好的字典。

    1.简单的文本分析尝试
    from snownlp import SnowNLP s = SnowNLP(u'这真的很好') print(s.words) # 词语 print(s.tags) # 词性 解开zip使用print(list(s.tags)) print(s.sentences) # 句子 print(s.sentiments) # 情感偏向 print(s.pinyin) # 转为拼音 print(s.han) # 转为汉体 print(s.keywords) # 提取关键词 print(s.summary) # 提取主题 print(s.tf) # 计算词频 使用时,需要导入SnowNLP库,安装路径为pip install snownlp这其中出现了zip格式: zip()函数将可迭代对象作为参数,并打包成元组,返回的是一个个zip对象,可以使用list或dict转换返回结果,使用*zip可以将打包的对象分解成列表相应的输出结果为 ['这', '真的', '很', '好'] <zip object at 0x00000217E1313CC8> ['这真的很好'] 0.8333900543572382 ['zhe', 'zhen', 'de', 'hen', 'hao'] 这真的很好 <bound method SnowNLP.keywords of <snownlp.SnowNLP object at 0x00000217CA47F2E8>> <bound method SnowNLP.summary of <snownlp.SnowNLP object at 0x00000217CA47F2E8>> [{'这': 1}, {'真': 1}, {'的': 1}, {'很': 1}, {'好': 1}] Process finished with exit code 0

    2.使用变量输入

    使用变量输入会使内容输入变得更为简单,同时可以为读写文件或者数据库做铺垫,如下代码,使用txt作为整个文本的引入,在SnowNLP函数内部只需要使用txt这一变量名即可完成相关功能的实现

    from snownlp import SnowNLP txt = u'''秦始皇(前259年农历十二月初三—前210年),嬴姓,赵氏,名政,又名赵正(政)、 秦政,或称祖龙,秦庄襄王之子。中国历史上著名的政治家、战略家、改革家,完成华 夏大一统的铁腕政治人物,也是中国第一个称皇帝的君主。''' s = SnowNLP(txt) print(s.words) # 词语 print(list(s.tags)) # 词性 print(s.sentiments) # 情感偏向 print(s.tf) # 计算词频

    虽然上面内容在一定程度上引入了变量,但我们还需改进,如果能够接收用户输入会使整个函数功能更加流畅,以input函数作为引入(后期会使用文件或者数据库功能进行输入)

    from snownlp import SnowNLP txt = input("Enter your message:") s = SnowNLP(txt) print(s.words) print(s.words) # 词语 print(list(s.tags)) # 词性 print(s.sentiments) # 情感偏向 print(s.tf) # 计算词频

    3.简易情感分析表

    在开始使用文件个数据库之前,可以进行简答的情感分析的制作,我们使用列表来进行

    from snownlp import SnowNLP txt_in = [] sentiments_out = [] for i in range(3): # 做三次循环 txt = input("Enter:") txt_in.append(txt) s = SnowNLP(txt) sentiments_out.append(s.sentiments) print(txt_in) print(sentiments_out)
    最新回复(0)