int a[1000],c[1000],ara[10000],t,n,i,j;
cin>>n;
set<int>st;
for(i=0; i<n; i++)
{
cin>>a[i];
st.insert(a[i]);
}
int p = st.size();
int m;
for(i=0;i<p;i++)
m = st[i];
我正在尝试标记url中的数据,并且在运行时出现以下错误
ValueError:[E088]长度为5190319的文本超过了最大值1000000。v2.x解析器和NER模型每输入100,000个字符大约需要1GB的临时内存。这意味着长文本可能会导致内存分配错误。如果您不使用解析器或NER,则增加 import nltk
from urllib import request
from redditscore.tokenizer import CrazyTokenizer
tokenizer = CrazyTokenizer()
url = "http://www.site.uottawa.ca/~diana/csi5386/A1_2020/microblog2011.txt"
response = request.urlopen(url)
raw = response.read().decode('utf-8-sig')
tokenizer.tokenize(raw)
限制可能是安全的。限制为字符数,因此您可以通过检查nlp.max_length
来检查输入是否过长。
如何增加长度?
答案 0 :(得分:0)
CrazyTokenizer专为推文和在线评论而设计,因此真正的长篇文章不应该出现。我猜您的数据是每行一条推文,因此最好的方法是一次向您的令牌生成器提供一行:
from urllib import request
from redditscore.tokenizer import CrazyTokenizer
tokenizer = CrazyTokenizer()
url = "http://www.site.uottawa.ca/~diana/csi5386/A1_2020/microblog2011.txt"
for line in request.urlopen(url):
tokens = tokenizer.tokenize(line.decode('utf-8'))
print(tokens)