标签: text-analysis

检查字符串是否是名称的缩写

我正在尝试开发一个python算法来检查字符串是否可以是另一个单词的缩写.例如

  • fck是匹配fc kopenhavn因为它匹配单词的第一个字符.fhk不匹配.
  • fco不应该匹配,fc kopenhavn因为没有人会将FC Kopenhavn缩写为FCO.
  • irl是匹配的in real life.
  • ifk是匹配的ifk goteborg.
  • aik是匹配的allmanna idrottskluben.
  • aid是匹配的allmanna idrottsklubben.这不是一个真正的团队名称缩写,但我想除非您应用有关如何形成瑞典语缩写的领域特定知识,否则很难将其排除.
  • manu是匹配的manchester united.

很难描述算法的确切规则,但我希望我的例子能说明我所追求的内容.

更新我在显示匹配字母大写的字符串时犯了一个错误.在实际场景中,所有字母都是小写的,因此它不像检查哪些字母是大写的那么容易.

python text-analysis abbreviation string-matching slug

11
推荐指数
1
解决办法
7923
查看次数

将稀疏矩阵(csc_matrix)转换为pandas数据帧

我想将此矩阵转换为pandas数据帧. csc_matrix

括号中的第一个数字应该是索引,第二个数字是,最后的数字数据.

我想这样做在文本分析中进行特征选择,第一个数字代表文档,第二个数字代表单词,最后一个数字代表TFIDF分数.

获取数据框有助于我将文本分析问题转换为数据分析.

python text-analysis dataframe pandas word-frequency

11
推荐指数
1
解决办法
1万
查看次数

在python中使用langdetect时出错:“文本中没有特征”

嘿,我有一个带有多语言文本的 csv。我想要的只是一个附加了检测到的语言的列。所以我编码如下,

from langdetect import detect 
import csv
with open('C:\\Users\\dell\\Downloads\\stdlang.csv') as csvinput:
with open('C:\\Users\\dell\\Downloads\\stdlang.csv') as csvoutput:
writer = csv.writer(csvoutput, lineterminator='\n')
reader = csv.reader(csvinput)

    all = []
    row = next(reader)
    row.append('Lang')
    all.append(row)

    for row in reader:
        row.append(detect(row[0]))
        all.append(row)

    writer.writerows(all)
Run Code Online (Sandbox Code Playgroud)

但我收到的错误是 LangDetectException: No features in text

回溯如下

runfile('C:/Users/dell/.spyder2-py3/temp.py', wdir='C:/Users/dell/.spyder2-py3')
Traceback (most recent call last):

  File "<ipython-input-25-5f98f4f8be50>", line 1, in <module>
    runfile('C:/Users/dell/.spyder2-py3/temp.py', wdir='C:/Users/dell/.spyder2-py3')

  File "C:\Users\dell\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 714, in runfile
    execfile(filename, namespace)

  File "C:\Users\dell\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 89, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/dell/.spyder2-py3/temp.py", …
Run Code Online (Sandbox Code Playgroud)

python text-analysis language-detection

11
推荐指数
3
解决办法
1万
查看次数

如何将TFIDF功能与其他功能结合使用

我有一个经典的NLP问题,我必须把新闻归类为假的或真实的.

我创建了两组功能:

A)Bigram术语频率 - 逆文档频率

B)使用pattern.en(https://www.clips.uantwerpen.be/pages/pattern-en)获得的大约20个与每个文档相关的特征作为文本的主观性,极性,#stopwords,#verbs,#subject,关系语法等...

哪种方法可以将TFIDF功能与其他功能结合起来进行单一预测?非常感谢大家.

nlp machine-learning text-analysis

10
推荐指数
1
解决办法
2952
查看次数

从乱码PDF中提取文本

我有一个PDF文件,其中包含有价值的文字信息.

问题是我无法提取文本,我得到的只是一堆乱码.如果我将PDF阅读器中的文本复制并粘贴到文本文件中,也会发生同样的情况.即使文件 - >在Acrobat Reader中另存为文本也会失败.

我已经使用了所有可以拿到的工具,结果是一样的.我相信这与字体嵌入有关,但我不知道到底是什么?

我的问题:

  • 这个奇怪的文字拼写的罪魁祸首什么
  • 如何从PDF中提取文本内容(以编程方式,使用工具,直接操作位等)?
  • 如何修复PDF不复制副本?

pdf file-format text-analysis

9
推荐指数
2
解决办法
4万
查看次数

使用brain.js神经网络进行文本分析

我正在尝试进行一些文本分析,以确定给定的字符串是否......谈论政治.我想我可以创建一个神经网络,其中输入是一个字符串或一个单词列表(排序可能很重要?),输出是字符串是否与政治有关.

但是,brain.js库只接受0到1之间的数字输入或0到1之间的数字数组.如何以可以完成任务的方式强制我的数据?

text-analysis neural-network brain.js

9
推荐指数
1
解决办法
5494
查看次数

将稀疏矩阵从Python传输到R

我正在用Python做一些文本分析工作.不幸的是,我需要切换到R才能使用特定的软件包(遗憾的是,软件包无法轻松地在Python中复制).

目前,文本被解析为二元组计数,缩减为大约11,000个双字母的词汇,然后存储为字典:

{id1: {'bigrams':[(bigram1, count), (bigram2, count), ...]},
id2: {'bigrams': ...} 
Run Code Online (Sandbox Code Playgroud)

我需要将它放入R中的dgCMatrix中,其中行是id1,id2,...并且列是不同的双字母组合,以便单元格表示该id-bigram的"计数".

有什么建议?我想把它扩展到一个巨大的CSV,但这似乎超级低效加上由于内存限制可能不可行.

python r text-analysis sparse-matrix

8
推荐指数
1
解决办法
1270
查看次数

在R中使用TM软件包的VCorpus时遇到错误

使用R处理TM软件包时遇到以下错误

library("tm")
Loading required package: NLP
Warning messages:
1: package ‘tm’ was built under R version 3.4.2 
2: package ‘NLP’ was built under R version 3.4.1 
Run Code Online (Sandbox Code Playgroud)

corpus <- VCorpus(DataframeSource(data))

错误:全部(!is.na(匹配(c("doc_id","text"),名称(x))))不是TRUE

已尝试过各种方法,如重新安装软件包,使用新版本的R进行更新,但错误仍然存​​在.对于相同的数据文件,相同的代码在具有相同版本的R的另一个系统上运行.

r text-analysis text-mining tm

8
推荐指数
1
解决办法
5963
查看次数

Wordcloud正在裁剪文字

我使用twitter API来产生情绪.我正在尝试根据推文生成一个词云.

这是我生成wordcloud的代码

wordcloud(clean.tweets, random.order=F,max.words=80, col=rainbow(50), scale=c(3.5,1))
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

我也试过这个:

pal <- brewer.pal(8,"Dark2")

wordcloud(clean.tweets,min.freq = 125,max.words = Inf,random.order  = TRUE,colors = pal)
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

我错过了什么吗?

这就是我收到和清理推文的方式:

#downloading tweets
tweets <- searchTwitter("#hanshtag",n = 5000, lang = "en",resultType = "recent")
# removing re tweets 
no_retweets <- strip_retweets(tweets , strip_manual = TRUE)

#converts to data frame
df <- do.call("rbind", lapply(no_retweets , as.data.frame))

#remove odd characters
df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII", sub="")) #remove emoticon
df$text = gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", df$text) #remove URL
sample <- df$text


    # …
Run Code Online (Sandbox Code Playgroud)

r text-analysis word-cloud sttwitterapi

8
推荐指数
1
解决办法
2454
查看次数

高效的Lemmatizer,避免字典查找

我想把像'吃'这样的字符串转换成'吃','吃'.我搜索并发现了词形还原作为解决方案,但我遇到的所有lemmatizer工具都使用wordlist或字典查找.是否存在避免字典查找并提供高效率的词形变换器,可能是基于规则的词形变换器.是的,我不是在寻找"干扰者".

java text-analysis relevance lemmatization

7
推荐指数
1
解决办法
856
查看次数