比较自然语言处理中的不等文本部分

时间:2018-01-31 14:49:14

标签: python-3.x nlp

我有两个文本,一个是从DOCX文件读入的,另一个是从TXT文件读入的。 DOCX文件的布局如下:

  

{NAME}

     

{ADDRESS}

     

亲爱的Doe先生,

     

尽管您在我们的网站上申请,但我们很遗憾地通知您   你没有得到这份工作。

     

{END}

     

TheCompany

     

注册号码12345

TXT文件的布局是相同的,但是括号中的任何内容都被填入,这使得无法仅比较字符串一对一。它看起来像这样:

  

杰西

     

Hillington road 23

     

亲爱的Doe先生,

     

尽管您在我们的网站上申请,但我们很遗憾地通知您   你没有得到这份工作。

     

最诚挚的问候,

     

TheCompany

     

注册号码12345

我尝试拆分文本部分并将这些部分相互比较。这很简单:

' '.join(text1.split(split_after)[1:]).split(split_before)[0]

用于DOCX,对于text2(TXT)也是如此,然后进行比较。但是因为句子可以改变,所以它以

开头
  

尽管您在我们的网站上申请了(...)

然后打破所有代码。想象一下DOCX文件最多20页的这种情况。我需要更有用和可编程的东西。任何想法?

1 个答案:

答案 0 :(得分:0)

不清楚您的错误或问题是什么,但是我认为您正在描述的挑战的一般解决方案:

Tokenize,然后将表达式组合并比较匹配块的数量。

对于单个或几个单词的值,ngram块上的技术相同。