У меня есть более 30 000 статей на французском языке в файле JSON. Я хотел бы провести некоторый анализ текста как по отдельным статьям, так и по набору в целом. Прежде чем идти дальше, я начну с простых целей:
Шаги, которые я предпринял до сих пор:
Импорт данных в список Python:
import json
json_articles=open('файл_статьи.json')
список статей = json.load(json_articles)
Выбрали одну статью для тестирования и объединили основной текст в одну строку:
txt = ' '.join(data[10000]['body'])
Загрузил токенизатор предложений на французском языке и разделил строку на список предложений:
nltk.data.load('tokenizers/punkt/french.pickle')
tokens = [french_tokenizer.tokenize(s) для s в предложениях]
Попытка разбить предложения на слова с помощью WhiteSpaceTokenizer:
from nltk.tokenize import WhitespaceTokenizer
wst = WhitespaceTokenizer()
токены = [wst.tokenize(s) для s в предложениях]
Здесь я застрял по следующим причинам:
Для английского языка я мог бы пометить текст и разбить его на фрагменты следующим образом:
tagged = [nltk.pos_tag(token) for token in tokens]
chunks = nltk.batch_ne_chunk(tagged)
Мои основные варианты (в порядке текущих предпочтений):
Если бы я сделал (1), я полагаю, мне нужно было бы создать свой собственный тегированный корпус. Это правильно, или было бы возможно (и разрешено) использовать French Treebank?
Если формат корпуса French Treebank (пример здесь) не подходит для использования с nltk-trainer, возможно ли преобразовать его в такой формат?
Какие подходы используют франкоговорящие пользователи NLTK к PoS-тегу и фрагменту текста?