У меня есть два файла, и я пытаюсь напечатать уникальные предложения между обоими файлами. Для этого я использую difflib в python.найти уникальные предложения в двух файлах
text ='Physics is one of the oldest academic disciplines. Perhaps the oldest through its inclusion of astronomy. Over the last two millennia. Physics was a part of natural philosophy along with chemistry.'
text1 ='Physics is one of the oldest academic disciplines. Physics was a part of natural philosophy along with chemistry. Quantum chemistry is a branch of chemistry.'
import difflib
differ = difflib.Differ()
diff = differ.compare(text,text1)
print '\n'.join(diff)
и не дает мне желаемого результата. Это дает мне это.
P
h
y
s
i
c
s
i
s
o
n
e
o
f
t
h
e
Мой желаемый результат - это уникальные предложения между обоими файлами.
текст = Возможно, самый старый из его включения в астрономию. За последние два тысячелетия.
text1 = Квантовая химия - это отрасль химии.
Также кажется, что difflib.Differ идет по строкам не по предложениям. Любое предложение пожалуйста. Как я могу это сделать?
Спасибо DYZ. Спасибо, что указали на мою ошибку. У меня есть еще один вопрос к вам. Скажем, у нас есть одна строка «Я мальчик», а другая - «Я, мальчик». Существует (,) после am. differ.compare говорит, что они оба уникальны не одинаково из-за (,). Как мы можем рассматривать этот случай здесь. Я связан с nltk. Но могу ли я справиться с этим делом здесь. – Raj
Я не знаком с пакетом difflib (но я рад узнать об этом!), Но вы также можете лишить любую пунктуацию вручную, прежде чем запускать текст через diff. Проверьте полосу() для своих строк перед расщеплением на период. – SummerEla
Я предлагаю вам использовать слово tokenizer из nltk для извлечения слов: '." .join (w для w в nltk.word_tokenize ('я, мальчик'), если w.isalpha()) '. Или вы можете использовать регулярные выражения для извлечения слов. – DyZ