请教大家有关SnowNLP分词、词性标注、情感分析的问题

大家好,小弟目前在使用网路上常见的SnowNLP
然后我在网路上看到以下网址可供下载这工具:
github.com/isnowfy/snownlp

在这个工具我看到可以使用分别以下三个程式码执行,包括分词、词性标注、情感分析

以下是他们提供的分词程式码

from snownlp import seg
seg.train('data.txt')
seg.save('seg.marshal')

以下是他们提供的词性程式码

from snownlp import tag
tag.train('199801.txt')
tag.save('tag.marshal')

以下是他们提供的情感分析程式码

from snownlp import sentiment
sentiment.train('neg.txt', 'pos.txt')
sentiment.save('sentiment.marshal')

大家好,小弟目前在使用网路上常见的SnowNLP
然后我在网路上看到以下网址可供下载这工具:
github.com/isnowfy/snownlp

在这个工具我看到可以使用分别以下三个程式码执行,包括分词、词性标注、情感分析

以下是他们提供的分词程式码
from snownlp import seg
seg.train(‘data.txt’)
seg.save(‘seg.marshal’)
复制代码
以下是他们提供的词性程式码
from snownlp import tag
tag.train(‘199801.txt’)
tag.save(‘tag.marshal’)
复制代码
以下是他们提供的情感分析程式码
from snownlp import sentiment
sentiment.train(‘neg.txt’, ‘pos.txt’)
sentiment.save(‘sentiment.marshal’)
复制代码
以上三个程式可以分别在分词、词性标注、情感分析进行训练,可以自行添加更多分词数据和词性数据,但是我目前遇到一些问题未解决
我参加以下网址进行训练
www.itread01.com/content/154122241...

一开始的时候添加少量是可以顺利运行这个训练程式,但是当我多添加几万笔需要训练的资料时却遇到以下问题,所以我无法成功的训练成功,错误信息如下:
以下是词性标注的错误信息:

PS C:\ProgramData\Anaconda3\Lib\site-packages\snownlp\tag> python .\tag_execute_tools.py
Traceback (most recent call last):
  File ".\tag_execute_tools.py", line 8, in <module>
    tag.train('199801.txt')
  File "C:\ProgramData\Anaconda3\lib\site-packages\snownlp\tag\__init__.py", line 27, in train
    tagger.train(data)
  File "C:\ProgramData\Anaconda3\lib\site-packages\snownlp\utils\tnt.py", line 89, in train
    for word, tag in sentence:
ValueError: too many values to unpack (expected 2)
PS C:\ProgramData\Anaconda3\Lib\site-packages\snownlp\tag> 

以下是分词的错误信息:

PS C:\ProgramData\Anaconda3\Lib\site-packages\snownlp\seg> python .\seg_execute_tools.py
Traceback (most recent call last):
  File ".\seg_execute_tools.py", line 5, in <module>
    seg.train('data.txt')
  File "C:\ProgramData\Anaconda3\lib\site-packages\snownlp\seg\__init__.py", line 35, in train
    segger.train(fname)
  File "C:\ProgramData\Anaconda3\lib\site-packages\snownlp\seg\seg.py", line 35, in train
    self.segger.train(data)
  File "C:\ProgramData\Anaconda3\lib\site-packages\snownlp\seg\y09_2047.py", line 68, in train
    for word, tag in sentence:
ValueError: too many values to unpack (expected 2)
PS C:\ProgramData\Anaconda3\Lib\site-packages\snownlp\seg>

以上问题我不是很懂为什么会发生,我是使用他们现有的工具添加更多的数据训练,希望有使用过着套件的人可以帮帮我,或是你们按照程式所写的错误给我一些修改建议,谢谢你们

讨论数量: 1
Jason990420

检查一下你的 199801.txt (data.txt)

每一行的内容是不是都是以空格分隔, 再以 / 分隔两个字符串, 如

工作/vn 取得/v 了/u 重要/a 成果/n 。/w 通过/p

有没有以 / 分隔, 超过两个以上的字符串 ?? 如

工作/vn/v 取得/v//u/取得 重要/a 成果/n 。/w 通过/p
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!