如何处理从NLP中的文档中提取的文本,如W O R K E X P E R I E N C E?
我正在从简历中提取文本PDF,doc/Docx。我收到的文本每个字母之间都有空格。例如,工作经验即将到来 沃尔克 E X P E R I E N C E 我想把输出作为工作经验。可能有这样的词,我事先不知道。如何处理这种情况?如果您能给我指点方向,我将不胜感激如何处理从NLP中的文档中提取的文本,如W O R K E X P E R I E N C E?,nlp,data-science,Nlp,Data Science,我正在从简历中提取文本PDF,doc/Docx。我收到的文本每个字母之间都有空格。例如,工作经验即将到来 沃尔克 E X P E R I E N C E 我想把输出作为工作经验。可能有这样的词,我事先不知道。如何处理这种情况?如果您能给我指点方向,我将不胜感激 提前感谢。在下面的Python解决方案中,我假设W O K E X p E R I E N C E和类似序列是单独可用的,并且它们不是全部连接在一起的。如果它们连接在一起,下面的代码将提取一个单词序列 我还假设您可以创建您处理的特定于领域
提前感谢。在下面的Python解决方案中,我假设W O K E X p E R I E N C E和类似序列是单独可用的,并且它们不是全部连接在一起的。如果它们连接在一起,下面的代码将提取一个单词序列 我还假设您可以创建您处理的特定于领域的词汇列表。如果没有这样的词典,您可以使用nltk或enchanted英语词典
# Create an English lexicon
vocabulary = set()
# Populate the vocabulary. You can also use an enchanted or nltk dictionary.
# I only add two words here but in practice you have to do this in a loop over your lexicon.
vocabulary.add('work')
vocabulary.add('experience')
# Put the letters (W O R K E X P E R I E N C E) here
yourData = 'W O R K E X P E R I E N C E'
yourData = yourData.lower().split(' ')
# Output goes here
output = ""
buffer = ""
# For adding a space before the captured words (starting from the second word)
startOfSeq = True
for letter in yourData:
if letter != " ":
buffer += letter
# If the concatenated letters so far have a size greater than or equal to 2 and constitute a word
if len(buffer) >= 2 and buffer in vocabulary:
if startOfSeq:
output += buffer
startOfSeq = False
else:
output += " "
output += buffer
# Reset the buffer
buffer = ""
print(output)
你到底是什么意思?你想达到什么目的,你尝试了什么,确切的问题是什么?如果带空格的单词事先不知道怎么办?这些单词必须至少在英语词汇表中。或者在目标语言的词汇表中。您可以使用nltk或enchanted软件包导入英语词汇表。您的解决方案不适用于带空格字母的人名吗?不,不是此解决方案。专有名词名称的问题是,我们要么必须事先知道它们,要么它们必须具有诸如首字母大写之类的特征。