我从文档中提取了句子列表.我正在预处理这个句子列表,使其更加明智.我遇到了以下问题
我有句话如 "more recen t ly the develop ment, wh ich is a po ten t "
我想用查找词典来纠正这些句子?删除不需要的空格.
最终的输出应该是 "more recently the development, which is a potent "
我认为这是预处理文本的直接任务?我需要一些帮助来寻找这些方法.谢谢.
我是机器学习的新手,所以如果问题很简单,请放心.
我得到了一系列观察到的人物说,ABABBABBB .....(n个字符).我的目标是通过一些"学习"机制预测下一个角色.我的约束是观察到的字符(训练数据?)不是太多,即我说一个长度为6000的序列来学习基础模式
我很担心解决这个问题需要采取什么策略,我最初的赌注是:1)某种ngram模型?2)神经网络(LSTM等)?3)HMM
你能否指出解决这个问题的正确方法?
我有一个字符串"我是一个机器人,我被命名为456/m(4).忘了名字(它没有任何意义)"
现在我想从这个字符串中提取所有单词,我使用正则表达式:
/\b[\w\S]+\b/g
Run Code Online (Sandbox Code Playgroud)
它返回字符串中的所有单词,除了有一个单词"456 /(4"而不是"456 /(4)".我明白这是因为它是一个单词边界,但是在那里我可以说它不是一个合法的单词边界,因为没有"合法的"起始括号?
我需要使用python有效地匹配一个非常大的关键字列表(> 1000000).我发现一些非常好的库试图快速完成这个:
1)FlashText(https://github.com/vi3k6i5/flashtext)
2)Aho-Corasick算法等
但是我有一个特殊的要求:在我的上下文中,如果我的字符串是'XXXX是YYYY的非常好的指示',则关键字'XXXX YYYY'应该返回匹配.请注意,'XXXX YYYY'不是作为子字符串出现的,但字符串中存在XXXX和YYYY,这对我来说足够好了.
我知道如何天真地做到这一点.我正在寻找的是效率,为此更好的图书馆?
python string pattern-matching string-matching keyword-search
我有一组从文件中读取的字符串 say ['\x1\p1', '\x2\p2', '\x3\p3', ... etc.]。
当我将它们读入变量并打印它们时,字符串显示为 ['\\x1\\p1', '\\x2\\p2', '\\x3\\p3', ... etc.]. 我知道该变量在'\x1\p1', ... etc.内部表示,但是当它显示时它用双斜线显示。
但现在我想在句子中搜索和替换这个列表的元素,即说如果\x1\p1在句子中"How are you doing \x1\p1"然后'\x1\p1'用'Y'替换。但是在这种情况下替换方法不起作用!想知道为什么?
让我进一步解释一下:我的文本文件 ( codes.txt) 有条目\xs1\x32,\xs2\x54以新行分隔。所以当我使用它阅读它时
with open('codes') as codes:
code_list = codes.readlines()
Run Code Online (Sandbox Code Playgroud)
接下来,我确实可以说 code_list_element_1 = code_list[1].rstrip()
当我打印时code_list_element_1,它显示为'\\xs1\\x32'
接下来,让我的目标字符串是 target_string = 'Hi! my name is \xs1\x32'
现在我想用 say替换code_list_element_1应该\xs1\x32在 target_string 中的那个'Y'
所以,我试过了code_list_element_1 in target_string。我得到False
接下来,我没有从文本文件中读取代码,而是初始化了一个变量 find_me …
我有一个字符串
"我的名字是安德鲁,我非常棒".
让我们说我有一个列表,如
[['andrew','name','awesome'],['andrew','names','awesome']]
我需要我的解决方案才能回归
['andrew','name','awesome']
天真的解决方案是:
myString='My name is Andrew, I am pretty awesome'
keywords = [['andrew', 'name', 'awesome'], ['andrew', 'designation', 'awesome']]
results=[]
for i in keywords:
if all(substring in myString.lower() for substring in i):
results.append(i)
print results
Run Code Online (Sandbox Code Playgroud)
我的问题是,当列表关键字非常大(比如100000)时,存在性能瓶颈.我需要知道最有效的方法.
所以,我试图在一个句子中找到一个单词(一个完整的单词).让我们说这句话是
Str1 = "1. how are you doing"
Run Code Online (Sandbox Code Playgroud)
并且我有兴趣发现是否
Str2 = "1."
Run Code Online (Sandbox Code Playgroud)
在里面.如果我做,
re.search(r"%s\b" % Str2, Str1, re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)
应该说发现了一场比赛,不是吗?但是re.search这个查询失败了.为什么?
我的代码:
import urllib
import re
xml = urllib.urlopen('url').read()
Run Code Online (Sandbox Code Playgroud)
我有兴趣从 xml 文件中删除某些标签及其内容,因此,我尝试使用正则表达式。
例如:
re.findall(r'<fig(.*?)</fig>', xml, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
返回匹配项且非空。
然而,
re.sub(r'<fig(.*?)</fig>', ' ', xml, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
不执行任何操作,xml 字符串未更改。我很困惑为什么,请帮忙。
我正在使用 PDF.js 从 PDF 中提取文本内容,接下来我将使用它进行更多处理,为此,
var complete=0;
var full_text="";
var PDF_render = PDFJS.getDocument("x.pdf").then(function(pdf) {
var page_text = {};
for (i = 1; i <= pdf.numPages; i++){
pdf.getPage(i).then( function(page){
var n = page.pageNumber;
page.getTextContent().then( function(textContent){
var page_text_part = "";
textContent.items.forEach(function (textItem){
page_text_part += textItem.str;
page_text_part += " ";
});
page_text[n] = page_text_part + "\n\n";
++complete;
if (complete == pdf.numPages){
for( var j = 1; j <= pdf.numPages; j++)
full_text += page_text[j];
}
});
});
}
});
Run Code Online (Sandbox Code Playgroud)
问题是 PDF.js 返回 Promise 并且它们是异步执行的,但是我需要对返回的文本执行一些后处理。为此,我需要等待承诺完全执行,然后才能继续。如何实现这一目标?请帮忙。
python ×6
python-2.7 ×3
regex ×3
javascript ×2
string ×2
dictionary ×1
lstm ×1
n-gram ×1
nltk ×1
pdf.js ×1
promise ×1
search ×1
text ×1