string - 如何将三个句子的列表制作成一个字符串?
问题描述
我有一个目标词和左右上下文,我必须将它们连接在一起。我正在使用 pandas,我尝试将句子和目标词加入到一个列表中,然后我可以将其转换为一个字符串,以便它可以与我的矢量化器一起使用。基本上我只是想把三个句子的列表变成一个字符串。
这是我得到的错误:
AttributeError Traceback (most recent call last)
<ipython-input-195-ae09731d3572> in <module>()
3
4 vectorizer=CountVectorizer(max_features=100000,binary=True,ngram_range=(1,2))
----> 5 feature_matrix=vectorizer.fit_transform(trainTexts)
6 print("shape=",feature_matrix.shape)
3 frames
/usr/local/lib/python3.6/dist-packages/sklearn/feature_extraction/text.py in _preprocess(doc, accent_function, lower)
66 """
67 if lower:
---> 68 doc = doc.lower()
69 if accent_function is not None:
70 doc = accent_function(doc)
AttributeError: 'list' object has no attribute 'lower'
我试过使用.join
,.split
但它们不适合我,所以我做错了。
import sys
import csv
import random
csv.field_size_limit(sys.maxsize)
trainLabels = []
trainTexts = []
with open ("myTsvFile.tsv") as train:
trainData = [row for row in csv.reader(train, delimiter='\t')]
random.shuffle(trainData)
for example in trainData:
trainLabels.append(example[1])
trainTexts.append(example[3:6])
索引example[3:6]
意味着 3 是左上下文 4 是目标词和 5 右上下文。
print('Text:', trainTexts[3])
print('Label:', trainLabels[1])
编辑了代码中的几行打印:
['Visa electron käy aika monessa paikassa luottokortista . Mukaanlukien ', 'Paypal', ' , mikä avaa taas lisää ovia .']
['Nyt pistän pääni pölkyllä : ', 'WinForms', ' on ihan ok .']
解决方案
推荐阅读
- google-chrome-extension - 使用 Chrome 插件内容脚本获取自定义元素
- node.js - 在 Nest js 中导入 twilio 的 Authy 库
- java - Android Java - 如何将未来可能会改变的类写入文件
- flutter - Mbox 不刷新对象
- xamarin - Xamarin Forms - 不存在输入控件时,物理键盘会使页面变暗
- regex - 仅当字符串包含匹配项时才替换字符串周围的标签
- zurb-foundation-6 - 基础模态未扩展
- java - 在 WireMock 中将基于 JSON 路径的 JSON 请求正文与逻辑运算符匹配
- html - 将图标与文本响应对齐
- python - 在 Python 中的 For 循环内连接并附加到 DataFrame