小编IVR*_*IVR的帖子

在R中搜索Youtube评论

我正在从一系列网站(如reddit.com)中提取用户评论,而Youtube也是我的另一个多汁信息来源.我现有的刮刀用R写的:

# x is the url
html = getURL(x)
doc  = htmlParse(html, asText=TRUE) 
txt  = xpathSApply(doc, 
   //body//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)]",xmlValue) 
Run Code Online (Sandbox Code Playgroud)

这不适用于Youtube数据,事实上,如果您查看此类 Youtube视频的来源,您会发现注释不会出现在源代码中.

有没有人对如何在这种情况下提取数据有任何建议?

非常感谢!

youtube xpath web-scraping

13
推荐指数
1
解决办法
5564
查看次数

使用R从TripAdvisor搜索数据

我想创建一个可以从Trip Advisor中抓取一些数据的爬虫.理想情况下,它将 (a)识别要爬行的所有地点的链接, (b)收集每个地点所有景点的链接, (c)收集所有评论的目的地名称,日期和评级.我现在想集中讨论(a)部分.

这是我开始的网站:http: //www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html

这里有问题:该链接提供了前10个目的地,如果您再点击"查看更多热门目的地",它将展开列表.它似乎使用javascript函数来实现这一点.不幸的是,我不熟悉javascript,但我认为下面的块可能会提供有关它如何工作的线索:

<div class="morePopularCities" onclick="ta.call('ta.servlet.Tourism.showNextChildPage', event, this)">
<img id='lazyload_2067453571_25' height='27' width='27' src='http://e2.tacdn.com/img2/x.gif'/>
See more popular destinations in New Zealand </div>
Run Code Online (Sandbox Code Playgroud)

我已经为R找到了一些有用的网页编写软件包,比如rvest,RSelenium,XML,RCurl,但是其中只有RSelenium似乎能够解决这个问题,尽管如此,我仍然无法使用它出.

这是一些相关的代码:

tu = "http://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html"
RSelenium::startServer()
remDr = RSelenium::remoteDriver(browserName = "internet explorer")
remDr$open()
remDr$navigate(tu)
# remDr$executeScript("JS_FUNCTION")
Run Code Online (Sandbox Code Playgroud)

最后一行应该在这里做,但我不确定我需要在这里调用什么函数.

一旦我设法扩展这个列表,我将能够以与解决(b)部分相同的方式获取每个目的地的链接,我想我已经解决了这个问题(对于那些感兴趣的人):

library(rvest)
tu = "http://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html"
tu = html_session(tu)
tu %>% html_nodes(xpath='//div[@class="popularCities"]/a') %>% html_attr("href")
 [1] "/Tourism-g255122-Queenstown_Otago_Region_South_Island-Vacations.html"                      
 [2] "/Tourism-g255106-Auckland_North_Island-Vacations.html"                                     
 [3] "/Tourism-g255117-Blenheim_Marlborough_Region_South_Island-Vacations.html"                  
 [4] "/Tourism-g255111-Rotorua_Rotorua_District_Bay_of_Plenty_Region_North_Island-Vacations.html"
 [5] "/Tourism-g255678-Nelson_Nelson_Tasman_Region_South_Island-Vacations.html"                  
 [6] "/Tourism-g255113-Taupo_Taupo_District_Waikato_Region_North_Island-Vacations.html"          
 [7] "/Tourism-g255109-Napier_Hawke_s_Bay_Region_North_Island-Vacations.html"                    
 [8] "/Tourism-g612500-Wanaka_Otago_Region_South_Island-Vacations.html"                          
 [9] "/Tourism-g255679-Russell_Bay_of_Islands_Northland_Region_North_Island-Vacations.html"      
[10] …
Run Code Online (Sandbox Code Playgroud)

xpath r rselenium

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

Python文本处理:NLTK和pandas

我正在寻找一种有效的方法来构建Python中的术语文档矩阵,可以与额外的数据一起使用.

我有一些带有一些其他属性的文本数据.我想对文本进行一些分析,我希望能够将从文本中提取的特征(例如单个字标记或LDA主题)与其他属性相关联.

我的计划是将数据加载为pandas数据框,然后每个响应都代表一个文档.不幸的是,我遇到了一个问题:

import pandas as pd
import nltk

pd.options.display.max_colwidth = 10000

txt_data = pd.read_csv("data_file.csv",sep="|")
txt = str(txt_data.comment)
len(txt)
Out[7]: 71581 

txt = nltk.word_tokenize(txt)
txt = nltk.Text(txt)
txt.count("the")
Out[10]: 45

txt_lines = []
f = open("txt_lines_only.txt")
for line in f:
    txt_lines.append(line)

txt = str(txt_lines)
len(txt)
Out[14]: 1668813

txt = nltk.word_tokenize(txt)
txt = nltk.Text(txt)
txt.count("the")
Out[17]: 10086
Run Code Online (Sandbox Code Playgroud)

请注意,在这两种情况下,文本的处理方式只有空格,字母和.?!被删除(为简单起见).

如您所见,转换为字符串的pandas字段返回的匹配项更少,字符串的长度也更短.

有没有办法改进上面的代码?

此外,str(x)在注释中[str(x) for x in txt_data.comment]创建一个大字符串,同时创建一个列表对象,该列表对象无法分解成一堆单词.生成nltk.Text保留文档索引的对象的最佳方法是什么?换句话说,我正在寻找一种方法来创建一个术语文档矩阵,R等同TermDocumentMatrix()tm包.

非常感谢.

python machine-learning nltk pandas

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

如何通过 GitHub Actions 向 CRAN 提交 R 包?

我创建了一个 R 包,每当我将更改合并到 master 分支时,我想通过 GitHub Actions 将其上传到 CRAN。我发现了很多R 操作的示例,我什至查找了一些最流行的软件包(如 dplyr)是如何做到这一点的,尽管我找到了一个devtools::release()辅助函数,但我仍然没有看到一个工作流程可以当您将更改合并到主分支时,将库提交到 CRAN。软件包开发人员是否手动执行此操作?有什么原因导致这没有自动化吗?

r continuous-deployment cran github-actions r-usethis

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

使用CRF进行多变量二进制序列预测

这个问题是的扩展这一个着重于LSTM相对于CRF.不幸的是,我对CRF没有任何经验,这就是我提出这些问题的原因.

问题:

我想预测多个非独立组的二进制信号序列.我的数据集中等很小(每组约1000条记录),所以我想在这里尝试一个CRF模型.

可用数据:

我有一个包含以下变量的数据集:

  1. 时间戳
  2. 表示活动的二进制信号

使用此数据集我想预测group_a_activity,group_b_activity哪些都是0或1.

请注意,这些组被认为是交叉相关的,并且可以从时间戳中提取其他功能 - 为简单起见,我们可以假设我们只从时间戳中提取了一个功能.

到目前为止我所拥有的:

以下是您可以在自己的计算机上重现的数据设置.

# libraries
import re
import numpy as np
import pandas as pd

data_length = 18  # how long our data series will be
shift_length = 3  # how long of a sequence do we want

df = (pd.DataFrame  # create a sample dataframe
    .from_records(np.random.randint(2, size=[data_length, 3]))
    .rename(columns={0:'a', 1:'b', 2:'extra'}))
df.head()  # check it out

# shift (assuming data is sorted …
Run Code Online (Sandbox Code Playgroud)

classification crf keras sequence-to-sequence crfsuite

6
推荐指数
0
解决办法
194
查看次数

Dash:如何通过 CSS 控制图形样式?

我有一个简单的 Dash 应用程序,我想通过 CSS 设置绘图的字体和颜色。这是我的app.py样子:

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objects as go

def generate_plot():
    fig = go.Figure()
    fig.add_trace(go.Scatter(x=[1, 2, 3], y=[1, 2, 3]))
    return fig

app = dash.Dash(__name__)
app.layout = html.Div(children=[
    html.H1(children="title", className="title"),
    dcc.Graph(figure=generate_plot(), class="plot")
])
Run Code Online (Sandbox Code Playgroud)

我还有一个文件assets/style.css ,我想用描述dcc.Graph对象外观的内容扩展这个文件。这可能吗?如果是,那我该怎么做?我希望能够设置字体、背景颜色、线条/标记颜色等。不幸的是,类似.plot { background-color: aqua; }CSS 的东西没有效果。此外,html, body {font-family: serif; }也没有任何影响。

css python plotly plotly-dash

6
推荐指数
1
解决办法
2798
查看次数

气流:DockerOperator 失败并显示权限被拒绝错误

我正在尝试通过 Airflow 运行 docker 容器,但Permission Denied出现错误。我看过一些相关的帖子,有些人似乎已经解决了这个sudo chmod 777 /var/run/docker.sock问题,这充其量是一个有问题的解决方案,但它仍然对我不起作用(即使在重新启动 docker 之后。如果有人设法解决了这个问题,请让我知道!

这是我的 DAG:

from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.docker_operator import DockerOperator

args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2020, 6, 21, 11, 45, 0),
    'retries': 1,
    'retry_delay': timedelta(minutes=1),
}

dag = DAG(
    "docker",
    default_args=args,
    max_active_runs=1,
    schedule_interval='* * * * *',
    catchup=False
)

hello_operator = DockerOperator(
    task_id="run_docker",
    image="alpine:latest",
    command="/bin/bash echo HI!",
    auto_remove=True,
    dag=dag
)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

[2020-06-21 14:01:36,620] {taskinstance.py:1145} ERROR - ('Connection …
Run Code Online (Sandbox Code Playgroud)

docker airflow

6
推荐指数
3
解决办法
2451
查看次数

在 DBT 管道中使用外部镶木地板表

我正在尝试设置一个简单的 DBT 管道,该管道使用存储在 Azure Data Lake Storage 上的镶木地板表,并创建另一个也将存储在同一位置的表。

在我的models/(定义为我的源路径)下,我有 2 个文件datalake.ymlorders.sql. datalake.yml看起来像这样:

version:2
sources:
   - name: datalake
     tables:
        - name: customers
          external:
             location: path/to/storage1 # I got this by from file properties in Azure
             file_format: parquet
          columns:
             - name: id
               data_type: int
               description: "ID"
             - name: ...
Run Code Online (Sandbox Code Playgroud)

我的orders.sql桌子看起来像这样:

{{config(materialized='table', file_format='parquet', location_root='path/to/storage2')}}
select name, age from {{ source('datalake', 'customers') }}
Run Code Online (Sandbox Code Playgroud)

我也在用这个dbt-external-tables包。另请注意,当我运行时dbt debug一切正常,我可以连接到我的数据库(恰好是 Databricks)。

我尝试运行dbt run-operation stage_external_sources它返回 …

hive apache-spark parquet dbt

6
推荐指数
1
解决办法
6792
查看次数

R中的Keras:在Python中寻找与plot_model等效的函数

在Python中,Keras具有便捷的功能plot_model,可以可视化模型的体系结构-包括以下示例。我正在R中寻找与该keras库一起使用的等效函数(不是kerasR)。如果您对如何在R中生成此类图像有任何建议,我很想听听您的意见。

提前谢谢了!

在此处输入图片说明

visualization r keras

5
推荐指数
1
解决办法
1256
查看次数

使用 LSTM 进行多元二元序列预测

我正在研究序列预测问题,并且在这方面没有太多经验,因此下面的一些问题可能很幼稚。

仅供参考:我在这里创建了一个重点关注 CRF 的后续问题

我有以下问题:

我想预测多个非独立变量的二元序列。

输入:

我有一个包含以下变量的数据集:

  1. 时间戳
  2. A组和B组
  3. 与特定时间戳的每个组相对应的二进制信号

此外,假设以下情况:

  1. 我们可以从时间戳(例如一天中的小时)中提取其他属性,这些属性可以用作外部预测器
  2. 我们认为 A 组和 B 组不是独立的,因此联合建模他们的行为可能是最佳选择

binary_signal_group_Abinary_signal_group_B是我想使用(1)它们过去的行为和(2)从每个时间戳提取的附加信息来预测的 2 个非独立变量。

到目前为止我所做的:

# required libraries
import re
import numpy as np
import pandas as pd
from keras import Sequential
from keras.layers import LSTM

data_length = 18  # how long our data series will be
shift_length = 3  # how long of a sequence do we want

df = (pd.DataFrame  # create a sample dataframe
    .from_records(np.random.randint(2, …
Run Code Online (Sandbox Code Playgroud)

time-series lstm keras tensorflow sequence-to-sequence

5
推荐指数
1
解决办法
2240
查看次数