実現したいこと
Sudachiで係り受け解析をしたいです。
発生している問題・分からないこと
Exception: Tokenization error: Input is too long, it can't be more than 49149 bytes, was 123481
を解決できません。
該当のソースコード
Python
1import spacy 2 3nlp = spacy.load('ja_ginza') 4 5with open('pdf_j.txt','r',encoding='utf-8') as f: 6 text=f.read().strip() 7 8doc=nlp(text) 9for sent in doc.sents: 10 for token in sent: 11 print( 12 token.i, 13 token.lemma_, 14 token.tag_, 15 token.dep_, 16 token.head.i, 17 token.head.text, 18 token.rank 19 ) 20print('EOS')
Python
1import spacy 2 3nlp = spacy.load('ja_ginza') 4 5with open('pdf_j.txt','r',encoding='utf-8') as f: 6 text = f.read().strip() 7 8max_len = 4000 9segments = [] 10for i in range(0, len(text), max_len): 11 segment = text[i:i + max_len] 12 segments.append(segment) 13 14docs = [] 15for segment in segments: 16 doc = nlp(segment) 17 docs.append(doc) 18 19combined_doc = spacy.tokens.Doc(nlp.vocab) 20 21for sent in combined_doc.sents: 22 for token in sent: 23 print( 24 token.i, 25 token.lemma_, 26 token.tag_, 27 token.dep_, 28 token.head.i, 29 token.head.text, 30 token.rank 31 ) 32 33print('EOS')
Python
1import spacy 2 3nlp=spacy.load('ja_ginza') 4 5with open('pdf_j.txt','r',encoding='utf-8') as f: 6 text=f.read().strip() 7 8max_len=4000 9uni_seguments=[] 10 11segments=[] 12for i in range(0,len(text),max_len): 13 segment=text[i:i+max_len] 14 segments.append(segment) 15 16for segment in segments: 17 doc=nlp(segment) 18 uni_seguments.append(doc) 19 20all_doc=spacy.tokens.Doc.from_docs(uni_seguments) 21 22 23for sent in all_doc.sents: 24 for token in sent: 25 print(token.i, 26 token.lemma_, 27 token.tag_, 28 token.head.i, 29 token.head.text, 30 token.dep_ 31 ) 32print()
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
始めのコードでは
Exception: Tokenization error: Input is too long, it can't be more than 49149 bytes, was 123481
とエラーが出ました。
次のコードでは
EOS
のみ出力されました。
最後のコードではすべて出力されるのですが、
冒頭にUserWarning: [W102] Skipping unsupported user data 'sub_tokens:
が出力されます。
加えて、どのコードでも
"tokens" はモジュール "spacy" の既知のメンバーではありません
というメッセージが出ます。
補足
環境は
VSCode
Python 3.10.12
spacyのVersion 3.2.0
ginza-5.1.3 ja_ginza-5.1.3
です。
参照したコードは
https://zenn.dev/hyga2c/articles/ginza5_largetext
です。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。