NLP文本转换转换主题

NLP文本转换转换主题,nlp,Nlp,我是NLP的新手,但我想知道目前是否有任何简单的方法(使用服务或OSS等)可以使用NLP更改大量文本的主题,而原始主题是已知的(最好是这种方法是否有多种语言?)(相当于方法语句().toPastTense()详细信息/可在此处找到:) 假设原始文本是关于“你”的,你知道这一点,但你想自动生成文本的一个版本,该版本将更改为关于“你的兄弟” (非常荒谬)示例: “你应该沿着大厅走下去,到了拐角处你就完了。” 会变成 “你哥哥应该到大厅里去,因为他到了拐角处 完成。” 据我所知,这种类型的文本转换依赖

我是NLP的新手,但我想知道目前是否有任何简单的方法(使用服务或OSS等)可以使用NLP更改大量文本的主题,而原始主题是已知的(最好是这种方法是否有多种语言?)(相当于方法语句().toPastTense()详细信息/可在此处找到:)

假设原始文本是关于“你”的,你知道这一点,但你想自动生成文本的一个版本,该版本将更改为关于“你的兄弟”

(非常荒谬)示例:

“你应该沿着大厅走下去,到了拐角处你就完了。”

会变成

“你哥哥应该到大厅里去,因为他到了拐角处 完成。”


据我所知,这种类型的文本转换依赖于引理化(如本文所示),但由于我一直在研究文本转换方法,我还没有看到任何与句子主题相关的方法?

我不知道有什么现成的方法,但肯定可以做到。例如,使用您可以尝试使用词性来生成函数。显然,您需要的不仅仅是这个小片段,比如检查主语/动词一致性的函数,但这是一个方法的示例,希望能引起大家的思考

从textblob导入textblob
从textblob.taggers导入NLTKTagger
从textblob导入单词
def lil_subject_replacer(短语、输入主题、输入主题):
nltk_tagger=NLTKTagger()
blob=TextBlob(短语,pos_tagger=nltk_tagger)
主题=真
对于i,枚举中的keyval(blob.pos_标记):
key=keyval[0]
value=keyval[1]
如果(值=‘PRP’):
若主题为:
blob.words[i]=输入
主语=假
其他:
blob.words[i]=input\u prp
blob.words[i+1]=单词(blob.words[i+1])。lemmatize('v'))
返回“”。加入(blob.words)
我的短语='你应该走下大厅,当你到达拐角时,你就完成了。'
打印(我的短语)
打印(lil_subc_replacer(短语=my_短语,input_subc='Your brother',input_prp='he'))
原文:
当你到达拐角处时,你应该沿着大厅走。

没有柠檬化:
你的兄弟到达拐角时应该沿着走廊走,他已经走完了

柠檬化动词:
当你的兄弟到达拐角处时,他应该走下大厅

编辑:添加了lemmaz的示例,因为您提到了它