我创建了一个聊天机器人,告知用户我(扩展)家庭的成员以及他们住在哪里.我已经创建了一个包含MySQL的小型数据库,其中存储了这些数据,并且只要这是合适的,我就会使用PHP脚本来获取它们,具体取决于用户与聊天机器人的交互.
我的聊天机器人包含两个意图此外,对于Default Fallback Intent和到Default Welcome Intent:
NamesLocation_context第一个意图(Names)由诸如"谁是约翰史密斯?"之类的短语训练.并有一个输出上下文(调用context持续时间为10个问题).这个问题的一个可能答案是"约翰是我的叔叔." 第二个意图(Location_context)由诸如"他住在哪里?"之类的短语训练.并有一个输入上下文(从Names).对这个问题的一个可能的答案是"约翰住在纽约."
该Names意图包含两个参数:
这两个参数表示用户给出的全名.该Location_context意图不包含任何参数.
PHP脚本如下:
<?php
$dbServername = '******************';
$dbUsername = '******************';
$dbPassword = '******************';
$dbName = '******************';
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);
// error_reporting(E_ALL);
// ini_set('display_errors', 'on');
header('Content-Type: application/json');
$method = $_SERVER['REQUEST_METHOD'];
if($method == 'POST'){
$requestBody = file_get_contents('php://input');
$json = json_decode($requestBody);
$action = $json->result->action;
$first_name = $json->result->contexts[0]->parameters->{'given-name'};
$last_name …Run Code Online (Sandbox Code Playgroud) 我想用Dialogflow和Google智能助理以及Google Transactions API创建一个聊天机器人,以便用户订购一些商品.现在我的代理包含以下四个意图:
Default Welcome Intent (文字回复:你好,你想买一个巧克力盒吗?)Default Fallback IntentInt3 (培训短语:"是的,我想登录",履行:启用webhook)Int4(事件:actions_intent_SIGN_IN,履行:启用webhook)我使用Dialogflow Json而不是Node.js将我的代理与Transactions API连接起来.我实现了所有必要的步骤来设置Account Linking为Actions on Google以Auth0作为是在帖子中描述,如下面的:
https://productforums.google.com/forum/#!topic/dialogflow/omr_2iZXLxw;context-place=forum/dialogflow
https://www.jovo.tech/blog/google-action-account-linking-auth0/
因此,现在我在对话期间询问用户手机Google智能助理 "你想登录吗?" 然后用户回答"是的,我想登录"哪个触发器Int3.在这种情况下,从我的后端通过webhook我发送以下json:
{
"payload": {
"google": {
"expectUserResponse": true,
"isSsml": false,
"noInputPrompts": [],
"systemIntent": {
"data": {
"@type": "type.googleapis.com/google.actions.v2.SignInValueSpec",
"optContext": "To make the order easier"
},
"intent": "actions.intent.SIGN_IN"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,这会使以下窗口出现在用户的屏幕上:登录窗口
所以我正在按下LOG IN WITH GOOGLE并选择我的一个Gmail帐户.但是,我在Google智能助理上收到以下错误:Sorry, something went wrong. Please …
我正在阅读有关嵌套交叉验证的 SkLearn 文档,我在此SkLearn 页面上发现了以下嵌套交叉验证示例:
from sklearn.datasets import load_iris
from matplotlib import pyplot as plt
from sklearn.svm import SVC
from sklearn.model_selection import GridSearchCV, cross_val_score, KFold
import numpy as np
print(__doc__)
# Number of random trials
NUM_TRIALS = 30
# Load the dataset
iris = load_iris()
X_iris = iris.data
y_iris = iris.target
# Set up possible values of parameters to optimize over
p_grid = {"C": [1, 10, 100],
"gamma": [.01, .1]}
# We will use a Support Vector Classifier with …Run Code Online (Sandbox Code Playgroud) 我正在使用该googletrans包。
我今天一整天都使用它翻译了很多文本。
正如文档所暗示的那样,我已将文本拆分为少于 15k 个字符的标记,并且我Translator()在每种情况下都重新实例化了它们。
(实际上只是提一下,如果我没有遗漏某些内容,我必须将文本分割成小于 15k 字符的令牌,例如 2k,因为我认为即使使用 10k 字符令牌之类的东西,该包也会返回错误 - 我不知道为什么会发生这种情况)。
现在我执行以下操作:
from googletrans import Translator
translator = Translator()
response = translator.translate('Is this working?', dest='fr')
print(response.text)
Run Code Online (Sandbox Code Playgroud)
我直接得到以下错误:
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
是因为(不成文的 - 我没有在文档中看到)该软件包的每日使用限制还是我的 IP 被永久阻止?
我在这里看到了相关讨论:GoogleTrans API Error - Expecting value: line 1 column 1 (char 0)。
假设我有一个包含两列的数据框,其中pandas类似于以下一列:
text label
0 This restaurant was amazing Positive
1 The food was served cold Negative
2 The waiter was a bit rude Negative
3 I love the view from its balcony Positive
Run Code Online (Sandbox Code Playgroud)
然后我在这个数据集上使用TfidfVectorizerfrom sklearn。
找到每类 TF-IDF 得分词汇量前 n 名的最有效方法是什么?
显然,我的实际数据框包含比上面 4 行更多的数据行。
我的帖子的重点是找到适用于任何类似于上面的数据框的代码;4 行数据帧或 1M 行数据帧。
我认为我的帖子与以下帖子有很多相关性:
我编写了一个基本的 Python 脚本来调用和使用 GCP Vision API。我的目标是向它发送产品图像并检索(使用 OCR)写在这个盒子上的文字。我有一个预定义的品牌列表,因此我可以在从 API 返回的文本中搜索品牌并检测它是什么。
我的python脚本如下:
import io
from google.cloud import vision
from google.cloud.vision import types
import os
import cv2
import numpy as np
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "**************************"
def detect_text(file):
"""Detects text in the file."""
client = vision.ImageAnnotatorClient()
with io.open(file, 'rb') as image_file:
content = image_file.read()
image = types.Image(content=content)
response = client.text_detection(image=image)
texts = response.text_annotations
print('Texts:')
for text in texts:
print('\n"{}"'.format(text.description))
vertices = (['({},{})'.format(vertex.x, vertex.y)
for vertex in text.bounding_poly.vertices])
print('bounds: {}'.format(','.join(vertices)))
file_name = "Image.jpg"
img = cv2.imread(file_name) …Run Code Online (Sandbox Code Playgroud) 假设我有一个带有以下列名称的pandas数据框:
'age' (例如33、26、51等)'seniority' (例如“初级”,“高级”等)'gender' (例如“男”,“女”)'salary' (例如32000、40000、64000等)我想将seniority分类变量转换为一个热编码值。因此,我正在执行以下操作:
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
data['seniority'] = label_encoder.fit_transform(data['seniority'])
from sklearn.preprocessing import OneHotEncoder
one_hot_encoder = OneHotEncoder(categorical_features=[1])
data = one_hot_encoder.fit_transform(data.values)
Run Code Online (Sandbox Code Playgroud)
但是然后我得到这个错误
ValueError: could not convert string to float: 'gender'
Run Code Online (Sandbox Code Playgroud)
在线
data = one_hot_encoder.fit_transform(data.values)
Run Code Online (Sandbox Code Playgroud)
但是,我已经明确指定了,categorical_features=[1]因此seniority对于这一热编码,仅应考虑列1()。
如何解决此错误(例如,删除“性别”列除外)?
我pandas.get_dummies过去使用过,但没有这个问题。
我执行以下操作:
\n\nre.sub(r'[^ \\nA-Za-z0-9/]+', '', document)\nRun Code Online (Sandbox Code Playgroud)\n\n删除除字母数字、空格、换行符或正斜杠之外的所有字符。
\n\n所以我基本上想删除除换行符和正斜杠之外的所有特殊字符。
\n\n但是,我不想删除各种语言(例如法语、德语等)中的重音字母。
\n\n但是如果我运行上面的代码,那么例如这个词
\n\nMot\xc3\xb6rhead
变成
\n\nMotrhead
我不想这样做。
\n\n那么如何运行上面的代码而不删除重音字母呢?
\n\n更新:
\n\n下面的@MattM提出了一个解决方案,该解决方案适用于英语、法语、德语等语言,但它肯定不适用于波兰语等语言,因为波兰语中所有重音字母仍被删除。
\n何时以及为什么使用前者而不是后者,反之亦然?
尚不完全清楚为什么有些人使用前者而有些人使用后者。
我正在尝试这样做:
features = csr_matrix(features)
Run Code Online (Sandbox Code Playgroud)
这里features是一个<class 'numpy.ndarray'>看起来像如下:
[[51 1]
[49 2]
[47 2]
...
[2 6]
[20 2]
[16 1]]
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
TypeError: no supported conversion for types: (dtype('O'),)
Run Code Online (Sandbox Code Playgroud)
这个错误是关于什么的,我该如何解决?
python ×8
python-3.x ×3
scikit-learn ×3
api-ai ×1
auth0 ×1
diacritics ×1
json ×1
nlp ×1
numpy ×1
ocr ×1
php ×1
replace ×1
scipy ×1