Добрый день!
Есть задача:
Необходимо определить уровень покрытия словаря (имеется csv файл) с текстом (любая статья).
import pandas
import pymorphy2
import re
excel_data_df = pandas.read_excel('Частотный словарь и семант ядро.xlsx', sheet_name='Лист1')
# print whole sheet data
lemma = (excel_data_df['lemma'].tolist())
low_lemma = [ name.lower() for name in lemma ]
morph = pymorphy2.MorphAnalyzer()
with open('text1.txt', encoding='utf-8') as f:
ls = [
[morph.parse(word)[0].normal_form for word in re.findall(r'\w+', line)]
for line in f
]
text = []
for i in ls:
text += i
Сейчас на выходе я получаю два списка: словарь из scv и лемматизированный список из txt файла.
Мне нужно найти уникальные значения из текста, которые не входят в словарь.
Был близок к разгадке и использовал следующий код:
result=list(set(text) ^ set(lemma))
Но так не подходит. Т.к. в статье встречаются и другие слова, не входящие в словарь.
На выходе нужны только элементы списка с текстом, которых нет в словаре. Причем, что в словаре, что в тексте, могут быть одинаковые элементы. Вариант с множествами тоже не подошел. Подскажите, пожалуйста.